:root {
  --forest: #123d38;
  --forest-deep: #092b28;
  --forest-soft: #20554e;
  --red: #a72d3d;
  --red-deep: #801d2e;
  --gold: #d7ad61;
  --gold-light: #f3dca8;
  --cream: #f6f0e6;
  --paper: #fffaf2;
  --ink: #17302d;
  --muted: #63736d;
  --line: rgba(18, 61, 56, 0.18);
  --serif: "Noto Serif TC", Georgia, serif;
  --sans: "Noto Sans TC", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 16px; line-height: 1.7; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { display: block; width: 100%; }

.skip-link { position: fixed; top: -100px; left: 20px; z-index: 100; padding: 10px 16px; color: var(--forest); background: var(--gold-light); border-radius: 4px; }
.skip-link:focus { top: 16px; }

.site-header { position: absolute; z-index: 10; top: 0; left: 0; display: flex; align-items: center; justify-content: space-between; width: 100%; height: 93px; padding: 0 5.7vw; color: #fff; transition: background .3s ease, color .3s ease, box-shadow .3s ease; }
.site-header.is-stuck { position: fixed; height: 72px; color: var(--forest); background: rgba(255, 250, 242, .96); box-shadow: 0 4px 20px rgba(8, 40, 36, .1); backdrop-filter: blur(12px); }
.brand { display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; }
.brand-copy { display: flex; flex-direction: column; line-height: 1.15; letter-spacing: .02em; }
.brand-copy b { font-family: var(--serif); font-size: 18px; font-weight: 800; }
.brand-copy small { margin-top: 3px; font-family: Arial, sans-serif; font-size: 7px; letter-spacing: .18em; }
.brand-mark { position: relative; display: inline-block; width: 34px; height: 38px; transform: rotate(3deg); }
.brand-mark::after { position: absolute; bottom: 2px; left: 15px; width: 2px; height: 23px; background: currentColor; content: ""; transform: rotate(9deg); transform-origin: bottom; }
.brand-mark i { position: absolute; display: block; width: 13px; height: 17px; border: 1.5px solid currentColor; border-radius: 50% 50% 50% 50% / 65% 65% 35% 35%; }
.brand-mark i:nth-child(1) { top: 1px; left: 11px; } .brand-mark i:nth-child(2) { top: 8px; left: 0; transform: rotate(-42deg); } .brand-mark i:nth-child(3) { top: 8px; right: 0; transform: rotate(42deg); } .brand-mark i:nth-child(4) { bottom: 4px; left: 4px; transform: rotate(-63deg); } .brand-mark i:nth-child(5) { right: 5px; bottom: 4px; transform: rotate(63deg); }
.site-nav { display: flex; align-items: center; gap: 30px; font-size: 14px; font-weight: 600; }
.site-nav > a:not(.nav-cta) { position: relative; padding: 7px 0; }
.site-nav > a:not(.nav-cta)::after { position: absolute; right: 0; bottom: 0; left: 0; height: 1px; background: currentColor; content: ""; transform: scaleX(0); transition: transform .25s ease; }
.site-nav > a:not(.nav-cta):hover::after { transform: scaleX(1); }
.nav-cta { padding: 10px 17px; color: var(--forest); background: var(--gold-light); border-radius: 3px; transition: transform .2s ease, background .2s ease; }
.nav-cta:hover { background: #fff2cf; transform: translateY(-2px); }
.menu-toggle { display: none; padding: 10px 0 10px 10px; color: inherit; background: transparent; border: 0; }
.menu-toggle span { display: block; width: 25px; height: 1.5px; margin: 5px 0; background: currentColor; transition: transform .2s ease; }

.hero { position: relative; display: flex; min-height: 760px; height: min(100vh, 930px); overflow: hidden; color: #fff; background: var(--forest-deep); }
.hero-image-wrap { position: absolute; inset: 0; }
.hero-image-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.93) brightness(.75); }
.hero-image-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9, 43, 40, .96) 0%, rgba(9, 43, 40, .81) 31%, rgba(9, 43, 40, .27) 72%, rgba(9, 43, 40, .11) 100%), linear-gradient(0deg, rgba(8, 35, 32, .5), transparent 42%); }
.hero-content { position: relative; z-index: 1; align-self: center; width: min(700px, 61vw); margin: 75px 0 0 10.1vw; padding-bottom: 30px; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 18px; color: var(--red); font-family: Arial, sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .19em; }
.eyebrow span { display: inline-block; width: 27px; height: 1px; background: currentColor; }
.eyebrow.light { color: var(--gold-light); }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--serif); letter-spacing: -.045em; line-height: 1.22; }
h1 { max-width: 720px; margin-bottom: 24px; font-size: clamp(44px, 5.2vw, 83px); font-weight: 800; }
h1 em, h2 em { color: var(--gold-light); font-style: normal; }
.hero-lead { max-width: 464px; margin-bottom: 31px; color: rgba(255,255,255,.89); font-size: 17px; line-height: 1.85; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 27px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 27px; min-height: 51px; padding: 13px 19px 13px 22px; border: 1px solid transparent; border-radius: 3px; font-size: 14px; font-weight: 700; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0,0,0,.15); }
.button-gold { color: var(--forest-deep); background: var(--gold-light); }
.text-link { padding-bottom: 4px; border-bottom: 1px solid currentColor; font-size: 13px; font-weight: 700; }
.text-link span { margin-left: 6px; }
.hero-note { position: absolute; z-index: 1; right: 5.7vw; bottom: 35px; display: flex; align-items: flex-start; gap: 14px; max-width: 272px; padding: 18px 0 0 18px; border-top: 1px solid rgba(255,255,255,.54); }
.hero-note p { margin: 0; font-size: 12px; line-height: 1.7; }.hero-note strong { color: var(--gold-light); font-weight: 700; }.note-icon { color: var(--gold); font-size: 18px; }
.hero-scroll { position: absolute; bottom: 30px; left: 5.7vw; z-index: 1; display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.65); font-size: 8px; letter-spacing: .17em; }.hero-scroll span { display: inline-block; width: 53px; height: 1px; background: currentColor; }

.intro-band { display: flex; align-items: center; justify-content: center; gap: 26px; padding: 17px 5vw; color: var(--forest); background: var(--gold-light); font-family: var(--serif); font-size: 13px; font-weight: 700; }.intro-band p { margin: 0; }.intro-band-line { width: 40px; height: 1px; background: var(--forest); }
.section-pad { padding: clamp(77px, 10vw, 150px) 10.1vw; }
.oem-section { overflow: hidden; background: var(--paper); }.stagger-heading { display: grid; grid-template-columns: minmax(300px, .95fr) minmax(200px, .48fr); grid-template-rows: auto auto; column-gap: 13.5%; align-items: end; }.stagger-heading .eyebrow { grid-column: 1; }.stagger-heading h2 { grid-column: 1; margin: 0; font-size: clamp(37px, 4.2vw, 63px); }.heading-copy { grid-row: 2; grid-column: 2; margin: 0 0 7px; color: var(--muted); font-size: 15px; line-height: 1.95; }
.value-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 64px; background: var(--line); }.value-card { min-height: 360px; padding: 32px 31px 27px; background: var(--paper); }.value-card.accent-card { color: #fff; background: var(--forest); }.step-num { display: block; margin-bottom: 42px; color: var(--gold); font-family: Arial, sans-serif; font-size: 10px; font-weight: bold; letter-spacing: .15em; }.value-icon { position: relative; width: 44px; height: 36px; margin-bottom: 25px; color: var(--red); }.accent-card .value-icon { color: var(--gold-light); }.leaf-icon i { position: absolute; width: 14px; height: 19px; border: 1.5px solid currentColor; border-radius: 50% 50% 50% 50% / 67% 67% 35% 35%; }.leaf-icon i:nth-child(1){ left:15px; top:0; }.leaf-icon i:nth-child(2){ top:9px; left:1px; transform:rotate(-45deg); }.leaf-icon i:nth-child(3){ top:9px; right:1px; transform:rotate(45deg); }.ribbon-icon::before,.ribbon-icon::after { position:absolute; top:1px; width:17px; height:29px; border:1.5px solid currentColor; content:""; }.ribbon-icon::before { left:6px; border-radius:50% 50% 0 50%; transform:rotate(-37deg); }.ribbon-icon::after { right:6px; border-radius:50% 50% 50% 0; transform:rotate(37deg); }.heart-icon { font-size: 33px; line-height: 1; }
.value-card h3 { margin-bottom: 10px; font-family: var(--serif); font-size: 24px; }.value-card p { min-height: 82px; margin-bottom: 26px; color: var(--muted); font-size: 14px; line-height: 1.9; }.accent-card p { color: rgba(255,255,255,.73); }.value-card a { color: var(--red); font-size: 12px; font-weight: 800; }.accent-card a { color: var(--gold-light); }.value-card a span { margin-left: 7px; }

.product-feature { display: grid; grid-template-columns: 47.5% 52.5%; overflow: hidden; color: #fff; background: var(--red); }.product-visual { position: relative; min-height: 725px; padding: 8.5vw 5.2vw; background: #e1d1bc; }.image-frame { position: relative; z-index: 1; overflow: hidden; height: 100%; min-height: 530px; }.image-frame::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(41,21,17,.2)); content: ""; }.image-frame img { height: 100%; object-fit: cover; }.visual-stamp { position: absolute; z-index: 2; right: 22px; bottom: 67px; display: flex; align-items: center; justify-content: center; width: 143px; height: 143px; color: var(--forest); background: var(--gold-light); border-radius: 50%; box-shadow: 0 8px 15px rgba(70,38,28,.2); text-align: center; transform: rotate(-10deg); }.visual-stamp::before { position:absolute; inset:7px; border:1px dashed var(--forest); border-radius:50%; content:""; }.visual-stamp strong { position:relative; font-family:var(--serif); font-size:21px; line-height:1.15; }.visual-stamp span { position:absolute; font-family:Arial,sans-serif; font-size:6px; font-weight:bold; letter-spacing:.15em; }.visual-stamp span:first-child { top:25px; }.visual-stamp span:last-child { bottom:25px; }
.product-copy { align-self: center; max-width: 680px; padding: 80px 10vw 80px 7vw; }.product-copy .eyebrow { color: var(--gold-light); }.product-copy h2 { margin-bottom: 25px; font-size: clamp(35px, 3.5vw, 57px); }.product-copy > p:not(.product-note) { margin-bottom: 27px; color: rgba(255,255,255,.82); font-size: 15px; line-height: 1.95; }.product-list { border-top: 1px solid rgba(255,255,255,.32); }.product-list > div { display: grid; grid-template-columns: 38px 93px 1fr; gap: 4px; align-items: center; min-height: 67px; border-bottom: 1px solid rgba(255,255,255,.32); }.product-list span { color: var(--gold-light); font-family: Arial,sans-serif; font-size: 10px; letter-spacing:.1em; }.product-list b { font-size: 13px; }.product-list p { margin: 0; color: rgba(255,255,255,.7); font-size: 12px; line-height: 1.6; }.product-note { margin: 16px 0 0; color: rgba(255,255,255,.55); font-size: 10px; }

.impact-section { display: grid; grid-template-columns: 47% 53%; align-items: center; gap: 3.7vw; color: #fff; background: var(--forest); }.impact-copy { padding: 23px 0 23px 2.7vw; }.impact-copy h2 { margin-bottom: 28px; font-size: clamp(35px, 4vw, 61px); }.impact-copy h2 strong { color: var(--gold-light); font-weight: inherit; }.impact-copy > p:not(.eyebrow) { max-width: 500px; margin-bottom: 31px; color: rgba(255,255,255,.76); font-size: 15px; line-height: 2; }.button-outline { color: var(--gold-light); border-color: var(--gold-light); }.button-outline:hover { color: var(--forest); background: var(--gold-light); }.impact-photo { position: relative; min-height: 430px; }.impact-photo img { height: 100%; min-height: 430px; object-fit: cover; }.impact-stat { position:absolute; bottom:-18px; left:-34px; padding:22px 27px; color:var(--forest); background:var(--gold-light); }.impact-stat strong { display:block; font-family:var(--serif); font-size:43px; letter-spacing:-.08em; line-height:1; }.impact-stat strong span { font-size:23px; }.impact-stat p { margin:7px 0 0; font-size:10px; font-weight:700; line-height:1.55; }
.trust-strip { display:grid; grid-template-columns:repeat(4,1fr); background:var(--forest-deep); color:#fff; }.trust-strip div { display:flex; align-items:center; justify-content:center; min-height:100px; gap:11px; padding:16px 20px; border-right:1px solid rgba(255,255,255,.18); text-align:center; }.trust-strip div:last-child { border:0; }.trust-strip b { font-family:var(--serif); font-size:14px; font-weight:600; line-height:1.5; }.trust-dot { width:7px; height:7px; flex:none; background:var(--gold); border-radius:50%; }

.occasion-section { background:var(--cream); }.occasion-title { display:flex; align-items:end; justify-content:space-between; gap:30px; }.occasion-title h2 { max-width:800px; margin:0; font-size:clamp(36px,4.2vw,62px); }.occasion-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:61px; }.occasion-card { position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:316px; padding:28px; overflow:hidden; }.occasion-card::after { position:absolute; top:-30px; right:-30px; width:137px; height:137px; border:1px solid currentColor; border-radius:50%; content:""; opacity:.34; }.occasion-card span { position:absolute; top:25px; left:27px; font-family:Arial,sans-serif; font-size:11px; font-weight:bold; letter-spacing:.15em; }.occasion-card h3 { position:relative; margin-bottom:7px; font-family:var(--serif); font-size:24px; }.occasion-card p { position:relative; margin:0; font-size:13px; line-height:1.86; }.card-red { color:#fff; background:var(--red); }.card-green { color:#fff; background:var(--forest); }.card-gold { color:var(--forest); background:var(--gold-light); }.card-cream { color:var(--forest); background:#e2d8c5; }

.process-section { padding:clamp(77px,10vw,140px) 10.1vw; color:#fff; background:var(--red-deep); }.process-top { display:grid; grid-template-columns:1fr .53fr; gap:12%; align-items:end; padding-bottom:60px; }.process-top h2 { margin:0; font-size:clamp(37px,4.2vw,62px); }.process-intro { max-width:340px; margin:0 0 7px; color:rgba(255,255,255,.79); font-size:14px; line-height:1.9; }.process-list { display:grid; grid-template-columns:repeat(5,1fr); margin:0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.42); }.process-list li { min-height:209px; padding:23px 19px 15px 0; border-right:1px solid rgba(255,255,255,.42); }.process-list li:not(:first-child) { padding-left:20px; }.process-list li:last-child { border:0; }.process-list li > span { display:block; margin-bottom:35px; color:var(--gold-light); font-family:Arial,sans-serif; font-size:10px; font-weight:bold; letter-spacing:.15em; }.process-list h3 { margin-bottom:8px; font-family:var(--serif); font-size:21px; }.process-list p { margin:0; color:rgba(255,255,255,.69); font-size:12px; line-height:1.75; }

.case-section { background:var(--paper); }.case-heading { display:grid; grid-template-columns:1fr 1fr; column-gap:10%; align-items:end; }.case-heading .eyebrow { grid-column:1 / -1; }.case-heading h2 { margin:0; font-size:clamp(35px,4vw,59px); }.case-heading p:not(.eyebrow) { margin:0 0 8px; color:var(--muted); font-size:14px; line-height:1.9; }.case-layout { display:grid; grid-template-columns:2fr 1fr 1fr; gap:14px; margin-top:59px; }.case-main { display:flex; flex-direction:column; justify-content:flex-end; min-height:435px; padding:42px; color:#fff; background:linear-gradient(125deg,rgba(16,59,55,.94),rgba(33,85,78,.77)), url('/manus-storage/async-images/xgiC398OJCuhs8WyLc87P3/image-1.webp') center/cover; }.case-main > p { margin-bottom:12px; color:var(--gold-light); font-size:11px; font-weight:700; letter-spacing:.16em; }.case-main h3 { margin-bottom:23px; font-family:var(--serif); font-size:clamp(30px,3.1vw,47px); line-height:1.27; }.case-tags { display:flex; flex-wrap:wrap; gap:7px; }.case-tags span { padding:5px 8px; border:1px solid rgba(255,255,255,.5); font-size:10px; }.case-side { display:flex; flex-direction:column; justify-content:flex-end; min-height:435px; padding:26px; color:var(--forest); background:var(--gold-light); }.case-side.dark { color:#fff; background:var(--red); }.case-num { align-self:flex-end; margin-bottom:auto; font-family:var(--serif); font-size:46px; line-height:1; opacity:.7; }.case-side h3 { margin-bottom:8px; font-family:var(--serif); font-size:25px; }.case-side p { margin:0; font-size:13px; line-height:1.85; }

.faq-section { display:grid; grid-template-columns:.75fr 1.25fr; gap:11%; color:#fff; background:var(--forest); }.faq-title h2 { margin:0; font-size:clamp(35px,3.9vw,57px); }.faq-list { border-top:1px solid rgba(255,255,255,.36); }.faq-list details { border-bottom:1px solid rgba(255,255,255,.36); }.faq-list summary { position:relative; padding:20px 42px 20px 0; list-style:none; font-size:15px; font-weight:700; cursor:pointer; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary span { position:absolute; right:4px; top:20px; color:var(--gold-light); font-size:23px; font-weight:300; line-height:1; transition:transform .2s ease; }.faq-list details[open] summary span { transform:rotate(45deg); }.faq-list details p { max-width:610px; margin:0; padding:0 0 21px; color:rgba(255,255,255,.72); font-size:13px; line-height:1.9; }

.enquiry-section { display:grid; grid-template-columns:43% 57%; background:var(--gold-light); }.enquiry-aside { padding:clamp(72px,9vw,130px) 6vw 80px 10.1vw; color:#fff; background:var(--red); }.enquiry-aside .eyebrow { color:#f7dca4; }.enquiry-aside h2 { margin-bottom:27px; font-size:clamp(37px,4vw,61px); }.enquiry-aside h2 em { color:var(--gold-light); }.enquiry-aside > p:not(.eyebrow) { max-width:390px; margin-bottom:38px; color:rgba(255,255,255,.8); font-size:14px; line-height:1.9; }.contact-detail { display:flex; align-items:baseline; gap:13px; padding:12px 0; border-top:1px solid rgba(255,255,255,.4); }.contact-detail span { color:var(--gold-light); font-family:Arial,sans-serif; font-size:9px; font-weight:bold; letter-spacing:.16em; }.contact-detail a { font-size:13px; font-weight:700; }.enquiry-form { padding:clamp(68px,8vw,115px) 10.1vw 68px 7vw; }.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:23px 19px; }.form-grid label { display:flex; flex-direction:column; gap:8px; color:var(--forest); font-size:12px; font-weight:800; }.form-grid input,.form-grid select,.form-grid textarea { width:100%; padding:9px 0; color:var(--forest); outline:0; background:transparent; border:0; border-bottom:1px solid rgba(18,61,56,.5); border-radius:0; font-size:14px; font-weight:400; }.form-grid input::placeholder,.form-grid textarea::placeholder { color:rgba(18,61,56,.5); }.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus { border-bottom:2px solid var(--forest); }.form-grid select { cursor:pointer; }.full-width { grid-column:1/-1; }.form-submit { margin-top:33px; color:#fff; background:var(--forest); }.form-submit:hover { background:var(--forest-deep); }.form-footnote { max-width:490px; margin:14px 0 0; color:rgba(18,61,56,.72); font-size:10px; line-height:1.7; }

.site-footer { display:grid; grid-template-columns:1.4fr 2.3fr auto; gap:40px; align-items:center; padding:41px 10.1vw 26px; color:var(--forest); background:var(--paper); }.footer-brand { align-self:start; }.site-footer > p { max-width:375px; margin:0; font-family:var(--serif); font-size:14px; line-height:1.7; }.footer-top { justify-self:end; padding-bottom:3px; border-bottom:1px solid currentColor; font-family:Arial,sans-serif; font-size:9px; font-weight:bold; letter-spacing:.15em; }.footer-bottom { display:flex; grid-column:1/-1; justify-content:space-between; padding-top:28px; border-top:1px solid var(--line); color:var(--muted); font-family:Arial,sans-serif; font-size:9px; letter-spacing:.04em; }.footer-bottom a { color:var(--forest); font-weight:bold; }

.reveal { opacity:0; transform:translateY(20px); transition:opacity .72s ease, transform .72s ease; }.reveal.is-visible { opacity:1; transform:translateY(0); }

@media (max-width: 1020px) {
  .site-header { padding:0 4.5vw; }.section-pad,.process-section { padding-right:4.5vw; padding-left:4.5vw; }.hero-content { margin-left:7vw; }.value-card { padding:28px 23px; }.product-visual { padding:7vw 4.5vw; }.product-copy { padding:72px 5vw; }.impact-section { padding-right:4.5vw; padding-left:4.5vw; }.occasion-card { padding:22px; }.occasion-section { padding-right:4.5vw; padding-left:4.5vw; }.process-list li { padding-right:12px; }.process-list li:not(:first-child){padding-left:12px}.case-section { padding-right:4.5vw; padding-left:4.5vw; }.faq-section { padding-right:4.5vw; padding-left:4.5vw; }.enquiry-aside { padding-left:4.5vw; }.enquiry-form { padding-right:4.5vw; padding-left:5.5vw; }.site-footer { padding-right:4.5vw; padding-left:4.5vw; }
}

@media (max-width: 760px) {
  .site-header { height:72px; }.site-header.is-stuck{height:64px}.brand-copy b {font-size:16px}.brand-copy small{font-size:6px}.brand-mark{transform:scale(.87)}.menu-toggle{display:block}.site-nav{position:fixed; top:72px; right:0; bottom:0; left:0; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:26px; padding:44px 8vw; color:var(--forest); background:var(--paper); font-family:var(--serif); font-size:25px; opacity:0; pointer-events:none; transform:translateX(10px); transition:opacity .25s ease,transform .25s ease}.site-nav.is-open{opacity:1;pointer-events:auto;transform:translateX(0)}.site-nav > a:not(.nav-cta){padding:0}.nav-cta{margin-top:10px;font-family:var(--sans);font-size:14px}.site-header.is-stuck .site-nav{top:64px}
  .hero{min-height:720px;height:100svh}.hero-image-wrap img{object-position:67% center}.hero-image-shade{background:linear-gradient(90deg,rgba(9,43,40,.94),rgba(9,43,40,.64) 62%,rgba(9,43,40,.28)),linear-gradient(0deg,rgba(8,35,32,.54),transparent 48%)}.hero-content{align-self:center;width:auto;margin:65px 9vw 0}.hero-lead{font-size:15px}.hero-note{right:8vw;bottom:76px;left:9vw;max-width:none}.hero-scroll{display:none}.hero-actions{gap:18px}.button{min-height:48px;font-size:13px}
  .intro-band{gap:10px;padding:13px 4vw;font-size:10px;text-align:center}.intro-band-line{width:15px}.section-pad,.process-section{padding:73px 7vw}.stagger-heading{display:block}.stagger-heading h2{margin-bottom:22px}.heading-copy{font-size:14px}.value-steps{grid-template-columns:1fr;margin-top:40px}.value-card{min-height:0;padding:28px 23px}.step-num{margin-bottom:24px}.value-icon{margin-bottom:18px}.value-card p{min-height:0;margin-bottom:17px}
  .product-feature{grid-template-columns:1fr}.product-visual{min-height:410px;padding:40px 11vw}.image-frame{min-height:332px}.visual-stamp{right:6vw;bottom:26px;width:118px;height:118px}.visual-stamp strong{font-size:17px}.visual-stamp span:first-child{top:20px}.visual-stamp span:last-child{bottom:20px}.product-copy{padding:66px 7vw}.product-list>div{grid-template-columns:30px 83px 1fr}.product-list p{font-size:11px}
  .impact-section{grid-template-columns:1fr;padding:73px 7vw 87px;gap:34px}.impact-copy{padding:0}.impact-photo{min-height:310px}.impact-photo img{min-height:310px}.impact-stat{bottom:-38px;left:12px}.trust-strip{grid-template-columns:repeat(2,1fr)}.trust-strip div{min-height:88px;padding:15px 10px}.trust-strip div:nth-child(2){border-right:0}.trust-strip div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.18)}.trust-strip b{font-size:11px}
  .occasion-title{display:block}.occasion-title h2{margin-top:6px}.occasion-cards{grid-template-columns:1fr 1fr;gap:8px;margin-top:35px}.occasion-card{min-height:220px;padding:20px}.occasion-card h3{font-size:20px}.occasion-card p{font-size:11px}.occasion-card span{top:18px;left:20px}.occasion-card::after{width:95px;height:95px}.process-top{display:block;padding-bottom:38px}.process-intro{margin-top:20px}.process-list{display:block}.process-list li,.process-list li:not(:first-child){display:grid;grid-template-columns:37px 1fr;gap:15px;min-height:0;padding:20px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.42)}.process-list li > span{margin:4px 0 0}.process-list h3{font-size:18px}.case-heading{display:block}.case-heading h2{margin-bottom:18px}.case-layout{grid-template-columns:1fr 1fr;gap:8px;margin-top:35px}.case-main{grid-column:1/-1;min-height:300px;padding:28px}.case-main h3{font-size:33px}.case-side{min-height:264px;padding:19px}.case-num{font-size:35px}.case-side h3{font-size:20px}.case-side p{font-size:11px}.faq-section{grid-template-columns:1fr;gap:35px}.faq-list summary{font-size:14px}.enquiry-section{grid-template-columns:1fr}.enquiry-aside{padding:68px 7vw}.enquiry-form{padding:61px 7vw}.form-grid{grid-template-columns:1fr;gap:20px}.full-width{grid-column:auto}.site-footer{grid-template-columns:1fr;gap:23px;padding:38px 7vw 23px}.footer-top{justify-self:start}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px;padding-top:19px}
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; }.reveal{opacity:1;transform:none;transition:none}.site-nav,.button,.nav-cta{transition:none} }

.form-kicker { margin: 0 0 22px; color: var(--red-deep); font-family: Arial, sans-serif; font-size: 10px; font-weight: 800; letter-spacing: .18em; }

.official-logo { display: block; width: 138px; height: auto; object-fit: contain; box-shadow: 0 5px 14px rgba(0, 0, 0, .14); }
.footer-logo { width: 152px; box-shadow: none; }
.band-logo { width: 104px; height: 47px; object-fit: contain; box-shadow: 0 3px 7px rgba(18, 61, 56, .15); }
.impact-brand-endorsement { display: flex; align-items: center; gap: 13px; width: fit-content; margin: 0 0 26px; padding: 8px 12px 8px 8px; background: var(--gold-light); }
.impact-brand-endorsement img { width: 112px; height: auto; }
.impact-brand-endorsement span { color: var(--forest); font-family: Arial, sans-serif; font-size: 7px; font-weight: 800; letter-spacing: .14em; }
@media (max-width: 760px) {
  .official-logo { width: 111px; box-shadow: 0 3px 8px rgba(0, 0, 0, .13); }
  .footer-logo { width: 143px; box-shadow: none; }
  .band-logo { width: 79px; height: 36px; }
  .intro-band { gap: 7px; }
  .impact-brand-endorsement { gap: 9px; margin-bottom: 22px; padding: 6px 9px 6px 6px; }
  .impact-brand-endorsement img { width: 95px; }
  .impact-brand-endorsement span { font-size: 6px; }
}

.lang-switch { margin-left: -12px; padding: 5px 9px !important; border: 1px solid rgba(255, 255, 255, .65); border-radius: 2px; font-family: Arial, sans-serif; font-size: 10px; font-weight: 800; letter-spacing: .08em; line-height: 1.2; }
.site-header.is-stuck .lang-switch { border-color: rgba(18, 61, 56, .65); }
.site-nav .lang-switch::after { display: none; }
html[lang="en"] { --serif: "DM Serif Display", Georgia, serif; --sans: "Manrope", Arial, sans-serif; }
html[lang="en"] h1, html[lang="en"] h2 { letter-spacing: -.035em; }
html[lang="en"] .hero-lead { max-width: 510px; }
html[lang="en"] .value-card h3 { line-height: 1.28; }
html[lang="en"] .process-list h3 { line-height: 1.25; }
html[lang="en"] .case-side h3 { line-height: 1.22; }
@media (max-width: 760px) {
  .site-nav .lang-switch { margin: 2px 0 0; padding: 7px 11px !important; border-color: rgba(18, 61, 56, .65); font-family: var(--sans); font-size: 13px; }
  html[lang="en"] .hero-content { margin-top: 78px; }
  html[lang="en"] h1 { font-size: clamp(41px, 12vw, 55px); }
}

@media (max-width: 760px) {
  html[lang="en"] .hero { min-height: 940px; height: 940px; }
}

@media (max-width: 760px) {
  html[lang="en"] .hero { min-height: 1020px; height: 1020px; }
}

@media (max-width: 760px) {
  html[lang="zh-Hant"] .hero { min-height: 900px; height: 900px; }
}
