@font-face{font-family:"Montserrat";src:url("fonts/montserrat-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/inter-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{
  --g-950:#00251c; --g-900:#003d2d; --g-800:#004632; --g-700:#1b4d3e;
  --gold:#c58a32; --gold-2:#f3c46d; --gold-d:#9e641f;
  --ink:#202923; --muted:#5b6a62; --n-200:#e7f2ec;
  --display:"Montserrat",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --body:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --gold-grad:linear-gradient(100deg,#b57a26 0%,#dba644 28%,#fbd98a 52%,#d89f3b 76%,#b57a26 100%);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--g-950)}
body{margin:0;min-height:100svh;color:#fff;font-family:var(--body);font-size:17px;line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  background:linear-gradient(160deg,#004632 0%,#00362a 48%,#00251c 100%) fixed}
img,svg,canvas{display:block}
button{font:inherit;color:inherit}
a{color:inherit}
:focus-visible{outline:3px solid var(--gold-2);outline-offset:3px;border-radius:10px}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:var(--g-800);padding:10px 14px;border-radius:10px;z-index:100;font-weight:700}
.skip:focus{left:8px}

/* ---------- background: rich green glow, gold bloom, faint blueprint grid ---------- */
.bg{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;
  background:
    radial-gradient(900px 600px at 0% 105%,rgba(0,110,76,.55),transparent 62%),
    radial-gradient(700px 400px at 20% -10%,rgba(30,160,115,.22),transparent 70%)}
.bg i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5}
.bg .b1{display:none;width:44vmax;height:44vmax;right:-8vmax;top:-12vmax;background:radial-gradient(circle,rgba(243,196,109,.28),transparent 65%);animation:drift 22s ease-in-out infinite alternate}
.bg .b2{width:46vmax;height:46vmax;left:-16vmax;bottom:-22vmax;background:radial-gradient(circle,rgba(20,170,120,.40),transparent 65%);animation:drift 28s ease-in-out infinite alternate-reverse}
.bg .grid{inset:0;border-radius:0;filter:none;opacity:1;
  background-image:linear-gradient(rgba(243,196,109,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(243,196,109,.07) 1px,transparent 1px);
  background-size:64px 64px;-webkit-mask-image:radial-gradient(70% 70% at 72% 45%,#000,transparent 75%);mask-image:radial-gradient(70% 70% at 72% 45%,#000,transparent 75%)}
@keyframes drift{to{transform:translate3d(-6vmax,5vmax,0) scale(1.12)}}

/* ---------- blueprint art layer ---------- */
.art{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;color:#f6e7bd}
.art-svg{position:absolute;left:-14px;top:-14px;width:calc(100% + 28px);height:calc(100% + 28px);animation:artdrift 60s ease-in-out infinite alternate}
.art-m{display:none}
@keyframes artdrift{to{transform:translate3d(-12px,8px,0)}}
.lay{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.lay.far{opacity:.36;transform:translate3d(calc(var(--px,0)*-5px),calc(var(--py,0)*-3px),0)}
.lay.near{opacity:.32;transform:translate3d(calc(var(--px,0)*-13px),calc(var(--py,0)*-8px),0)}
.ln{fill:none;stroke:currentColor;stroke-dasharray:1;stroke-dashoffset:0;animation:draw var(--t,3s) cubic-bezier(.5,0,.2,1) var(--d,0s) backwards}
.w1{stroke-width:1.1}.w2{stroke-width:1.2}.w3{stroke-width:.75}
@keyframes draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.sway{animation:draw var(--t,3s) ease var(--d,0s) backwards,swing 7s ease-in-out 3s infinite alternate}
@keyframes swing{from{transform:rotate(-2.2deg)}to{transform:rotate(2.2deg)}}
.tx{fill:currentColor;stroke:none;font-family:var(--display);font-weight:600;letter-spacing:.1em;animation:fadein 1.4s ease 2.6s backwards}
.tx.tb{font-weight:800}
@keyframes fadein{from{opacity:0}}

/* ---------- page frame: one screen ---------- */
.page{position:relative;z-index:1;min-height:100svh;display:grid;grid-template-rows:auto 1fr auto;padding:clamp(18px,3.2vh,34px) clamp(20px,5vw,84px) clamp(14px,2.4vh,26px)}
.top{display:flex;align-items:center}
.brand{display:inline-block}
.brand img{height:clamp(34px,4.6vh,46px);width:auto}

.hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:center;gap:clamp(8px,3vw,48px);min-height:0}
.copy{grid-column:1;grid-row:1;max-width:760px;padding:clamp(8px,2vh,24px) 0}
.stage{grid-column:2;grid-row:1;position:relative;align-self:stretch;min-height:320px;margin:0 calc(-1 * clamp(20px,5vw,84px)) 0 -3vw}
#scene{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1s ease .1s}
.stage.ready #scene{opacity:1}
.static-art{display:none;position:absolute;inset:0;margin:auto;width:min(60%,300px);height:auto;filter:drop-shadow(0 30px 50px rgba(0,0,0,.45)) drop-shadow(0 0 60px rgba(243,196,109,.35))}
.no-webgl .static-art,.calm.no-webgl .static-art{display:block;animation:float 6s ease-in-out infinite}
.no-webgl #scene{display:none}

/* ---------- copy ---------- */
.kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 clamp(10px,2vh,22px);padding:7px 16px;border-radius:99px;font:700 .72rem/1 var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);background:rgba(243,196,109,.08);border:1px solid rgba(243,196,109,.32)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--gold-2);box-shadow:0 0 0 0 rgba(243,196,109,.7);animation:pulse 2.2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(243,196,109,0)}100%{box-shadow:0 0 0 0 rgba(243,196,109,0)}}
h1{margin:0;font-family:var(--display);font-weight:800;font-size:clamp(3.3rem,min(8.8vw,16.5vh),9rem);line-height:.95;letter-spacing:-.045em}
h1 span{display:block}
.l1{color:#fff;text-shadow:0 8px 40px rgba(0,0,0,.35)}
.l2{position:relative;width:max-content;max-width:100%;padding-bottom:.08em}
@keyframes shine{0%,100%{background-position:0 0}50%{background-position:100% 0}}
.tagline{text-wrap:balance;margin:clamp(12px,2.4vh,26px) 0 0;font-size:clamp(1.05rem,1.6vw,1.4rem);line-height:1.4;font-weight:500;color:rgba(255,255,255,.88);max-width:30em}

/* ---------- buttons ---------- */
.store-row{display:flex;flex-wrap:wrap;gap:clamp(8px,.9vw,12px);align-items:center;margin:clamp(18px,3.4vh,36px) 0 clamp(14px,2.6vh,26px)}
.web-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:0 clamp(18px,2vw,28px);border:0;border-radius:15px;cursor:pointer;
  font-family:var(--display);font-weight:800;font-size:1.05rem;letter-spacing:.005em;color:var(--g-950);
  background:linear-gradient(180deg,#fbd98a,#e3a845 62%,#c58a32);box-shadow:0 16px 36px -12px rgba(243,196,109,.65),0 0 0 1px rgba(255,235,190,.4) inset,inset 0 1px 0 rgba(255,255,255,.7);transition:transform .2s,box-shadow .25s}
.web-btn::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);animation:sweep 4.5s ease-in-out 1.6s infinite}
@keyframes sweep{0%{left:-60%}35%,100%{left:130%}}
.web-btn:hover{transform:translateY(-3px);box-shadow:0 22px 44px -12px rgba(243,196,109,.8),0 0 0 4px rgba(243,196,109,.2),inset 0 1px 0 rgba(255,255,255,.7)}
.web-btn:active{transform:scale(.98)}
.store-badge{position:relative;display:inline-flex;align-items:center;gap:12px;min-height:58px;padding:8px clamp(14px,1.5vw,22px) 8px clamp(12px,1.1vw,16px);border-radius:15px;cursor:pointer;text-align:left;color:#fff;
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.04));border:1px solid rgba(243,196,109,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-shadow:0 16px 30px -16px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.18);transition:transform .2s,box-shadow .25s,border-color .25s,background .25s}
.store-badge:hover{transform:translateY(-3px);border-color:var(--gold-2);background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.07));box-shadow:0 22px 38px -16px rgba(0,0,0,.75),0 0 0 4px rgba(243,196,109,.16),inset 0 1px 0 rgba(255,255,255,.22)}
.store-badge:active{transform:scale(.98)}
.sb-icon{flex:none}
.sb-text{display:flex;flex-direction:column;line-height:1.05}
.sb-text small{font-size:.6rem;letter-spacing:.09em;font-weight:600;color:var(--gold-2)}
.sb-text strong{white-space:nowrap;font-family:var(--display);font-size:clamp(1.02rem,1.45vw,1.2rem);font-weight:700;letter-spacing:-.01em;margin-top:3px}

/* ---------- notify ---------- */
.notify{max-width:480px}
.notify-row{display:flex;gap:8px;padding:6px;border-radius:16px;background:rgba(0,20,14,.42);border:1px solid rgba(243,196,109,.28);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);transition:border-color .2s,box-shadow .2s}
.notify-row:focus-within{border-color:var(--gold-2);box-shadow:0 0 0 4px rgba(243,196,109,.18)}
.notify input{flex:1;min-width:0;min-height:46px;border:0;border-radius:11px;background:transparent;color:#fff;padding:0 14px;font:500 1rem var(--body)}
.notify input::placeholder{color:rgba(255,255,255,.55)}
.notify input:focus{outline:none}
.notify input[aria-invalid="true"]{color:#ffb1b1}
.notify-btn{min-height:46px;padding:0 22px;border:0;border-radius:12px;cursor:pointer;font:800 .95rem var(--display);color:var(--g-800);background:linear-gradient(180deg,#fff,#dcebe3);box-shadow:0 8px 18px -8px rgba(0,0,0,.6);transition:transform .2s,box-shadow .2s}
.notify-btn:hover{transform:translateY(-2px)}
.notify-btn:active{transform:scale(.97)}
.notify-msg{min-height:1.5em;margin:10px 4px 0;font-size:.9rem;color:rgba(255,255,255,.7)}
.notify-msg.ok{color:var(--gold-2);font-weight:600}
.notify-msg.err{color:#ffb1b1}

.foot{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:.78rem;letter-spacing:.04em;color:rgba(255,255,255,.55)}
.foot a{text-decoration:none;font-weight:700;color:var(--gold-2);letter-spacing:.08em}
.foot a:hover{text-decoration:underline}

/* ---------- entrance (subtle) ---------- */
.kicker,.tagline,.store-row,.copy .notify,.brand,.foot{animation:rise .9s cubic-bezier(.2,.8,.2,1) both}
.brand{animation-delay:.05s}.kicker{animation-delay:.15s}.tagline{animation-delay:.55s}.store-row{animation-delay:.7s}.copy .notify{animation-delay:.85s}.foot{animation-delay:1s}
@keyframes rise{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:none}}
.stage{animation:stagein 1.4s cubic-bezier(.2,.8,.2,1) .1s both}
@keyframes stagein{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
@keyframes float{50%{transform:translateY(-12px)}}

/* ---------- Coming Soon modal ---------- */
.modal{border:0;padding:0;background:transparent;color:var(--ink);max-width:min(450px,calc(100vw - 28px));width:100%;margin:auto;overflow:visible}
.modal::backdrop{background:rgba(0,22,16,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.modal[open]{animation:pop .4s cubic-bezier(.2,1.2,.4,1)}
.modal[open]::backdrop{animation:fade .3s ease}
@keyframes pop{from{opacity:0;transform:translateY(24px) scale(.93)}}
@keyframes fade{from{opacity:0}}
.modal-card{position:relative;text-align:center;padding:40px 32px 26px;border-radius:28px;overflow:hidden;background:radial-gradient(400px 220px at 50% 0%,rgba(243,196,109,.34),transparent 70%),linear-gradient(180deg,#fffefa,var(--n-200));border:1px solid #fff;box-shadow:0 50px 100px -30px #000,0 0 0 1px rgba(197,138,50,.4)}
.modal-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--gold-grad)}
.modal-x{position:absolute;top:16px;right:14px;width:44px;height:44px;border-radius:12px;border:0;background:transparent;color:var(--g-700);cursor:pointer;display:grid;place-items:center}
.modal-x:hover{background:rgba(0,70,50,.08)}
.eyebrow{margin:0 0 6px;color:var(--gold-d);font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.18em;font-size:.74rem}
.modal-card h2{margin:0 0 12px;font-family:var(--display);font-weight:800;font-size:2.5rem;line-height:1.1;letter-spacing:-.03em;background:var(--gold-grad);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:shine 6s ease-in-out infinite}
#soon-desc{color:var(--muted);margin:0 0 22px;font-size:1rem}#soon-desc strong{color:var(--g-800)}
.uc{display:grid;place-items:center;margin:-6px 0 6px}
.uc svg{overflow:visible;max-width:100%;height:auto}
.uc-brick{opacity:0;animation:ucdrop 3.6s cubic-bezier(.3,1.4,.5,1) infinite}
.uc-brick.b1{animation-delay:.1s}.uc-brick.b2{animation-delay:.55s}.uc-brick.b3{animation-delay:1s}
@keyframes ucdrop{0%{opacity:0;transform:translateY(-70px) rotate(-8deg)}10%{opacity:1}16%{transform:translateY(0) rotate(0)}22%{transform:translateY(-4px)}26%{transform:translateY(0)}86%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px)}}
.uc-hat{animation:uchat 3.6s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}
@keyframes uchat{0%,26%{transform:translateY(-90px) rotate(-12deg);opacity:0}38%{opacity:1;transform:translateY(2px) rotate(2deg)}44%{transform:translateY(-3px)}50%{transform:translateY(0) rotate(0)}86%{opacity:1;transform:none}96%,100%{opacity:0}}
.uc-tape{animation:uctape 4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes uctape{50%{transform:rotate(-4deg) translateY(-2px)}}
.uc-bar{position:relative;margin:2px auto 20px;max-width:320px;text-align:left}
.uc-bar span{display:block;font-family:var(--display);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--g-700);margin-bottom:8px}
.uc-bar i{display:block;height:8px;border-radius:99px;background:rgba(0,70,50,.12);position:relative;overflow:hidden}
.uc-bar i::after{content:"";position:absolute;inset:0;width:0;border-radius:99px;background:repeating-linear-gradient(-45deg,#f3c46d 0 10px,#c58a32 10px 20px);background-size:28px 28px;animation:ucfill 4s ease-in-out infinite,hazmove 1s linear infinite}
@keyframes ucfill{0%{width:6%}70%,100%{width:87%}}
@keyframes hazmove{to{background-position:28px 0}}
.modal-notify{margin:0 auto 12px;max-width:none}
.modal-notify .notify-row{flex-direction:column;padding:8px;background:#fff;border:1px solid rgba(0,70,50,.16);box-shadow:0 10px 30px -18px rgba(0,37,28,.4)}
.modal-notify .notify-row:focus-within{border-color:var(--gold);box-shadow:0 0 0 4px rgba(197,138,50,.2)}
.modal-notify input{text-align:center;color:var(--ink)}
.modal-notify input::placeholder{color:#8a9a91}
.modal-notify input[aria-invalid="true"]{color:#a12727}
.modal-notify .notify-btn{color:#fff;background:linear-gradient(180deg,#0b5a42,var(--g-800) 55%,var(--g-900));box-shadow:0 12px 24px -10px rgba(0,70,50,.7),inset 0 1px 0 rgba(255,255,255,.18)}
.modal-notify .notify-msg{text-align:center;color:var(--muted)}
.modal-notify .notify-msg.ok{color:#0b6a4c}.modal-notify .notify-msg.err{color:#a12727}
.modal-ok{width:100%;min-height:48px;border-radius:14px;border:1px solid rgba(0,70,50,.16);background:rgba(0,70,50,.06);color:var(--g-800);font:700 1rem var(--display);cursor:pointer}
.modal-ok:hover{background:rgba(0,70,50,.1)}

/* ---------- laptop height squeeze ---------- */
@media (max-height:700px) and (min-width:821px){.kicker{display:none}.store-row{margin:16px 0 12px}}

/* ---------- tablet / mobile: stacked, 3D above headline ---------- */
@media (max-width:820px){
  .art-d{display:none}.art-m{display:block}
  .page{padding:14px 20px 12px;min-height:100svh}
  .brand img{height:32px}
  .hero{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(190px,1fr) auto;gap:0;align-items:stretch}
  .stage{grid-column:1;grid-row:1;min-height:190px;margin:0 -20px}
  .copy{grid-column:1;grid-row:2;text-align:center;padding:0;max-width:none;width:100%;min-width:0;margin:0}
  .kicker{display:none}
  h1{font-size:clamp(3rem,15.2vw,6.2rem);line-height:.92}
  .l2{margin-inline:auto}
  .tagline{margin:12px auto 0;font-size:1.02rem;max-width:22em}
  .store-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 14px}
  .web-btn{grid-column:1/-1;min-height:56px;width:100%}
  .store-badge{justify-content:center;min-height:56px;padding:8px 10px;gap:9px;width:100%}
  .sb-text strong{font-size:1.02rem}
  .notify{max-width:none}
  .notify-msg{text-align:center;margin-top:6px;min-height:1.3em;font-size:.85rem}
  .foot{justify-content:center;gap:14px;padding-top:2px}
}
@media (max-width:820px) and (max-height:760px){
  h1{font-size:clamp(2.7rem,13vw,4.6rem)}
  .tagline{font-size:.95rem;margin-top:8px}
  .store-row{margin:12px 0 10px}
  .web-btn,.store-badge{min-height:50px}
}
@media (max-width:400px){.notify input{font-size:.93rem;padding:0 10px}.notify-btn{padding:0 16px}.store-badge{padding:8px 8px}.sb-icon{width:24px;height:24px}}
@media (max-width:360px){.sb-text small{display:none}.sb-text strong{margin-top:0}}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .modal[open]{animation:none}
  .uc-brick,.uc-hat{opacity:1;transform:none}
  .uc-bar i::after{width:60%}
}

/* ---------- headline: solid gold 3D extruded text ---------- */
h1{animation:h1In 1.1s cubic-bezier(.2,.8,.2,1) .2s both;transform-origin:0 70%}
@keyframes h1In{from{opacity:0;transform:translateY(.35em) scale(.94)}to{opacity:1;transform:none}}
h1 .g3d{position:relative;letter-spacing:-.02em;width:max-content;max-width:none;white-space:nowrap;padding:0 .14em .16em 0;color:#b9802c;-webkit-text-fill-color:#b9802c;background:none;text-shadow:0.009em 0.009em 0 #8f5a1c,0.018em 0.018em 0 #87531a,0.027em 0.027em 0 #7f4d18,0.036em 0.036em 0 #774716,0.045em 0.045em 0 #6f4114,0.054em 0.054em 0 #673b12,0.063em 0.063em 0 #5f3610,0.072em 0.072em 0 #57300e,0.081em 0.081em 0 #4f2b0c,0.090em 0.090em 0 #47260a,0.099em 0.099em 0 #3f2108,.11em .13em .06em rgba(0,18,12,.6),.14em .24em .38em rgba(0,12,8,.5)}
h1 .g3d::before,h1 .g3d::after{content:attr(data-text);position:absolute;left:0;top:0;pointer-events:none;text-shadow:none;color:transparent;-webkit-text-fill-color:transparent}
h1 .g3d::before{background:linear-gradient(180deg,#FFF0C4 0%,#F7D489 18%,#F3C46D 38%,#EDBC64 50%,#D9A04A 64%,#C58A32 76%,#E6B25E 90%,#F3C46D 100%) 0 0/100% 100%;-webkit-background-clip:text;background-clip:text}
h1 .g3d::after{background:linear-gradient(105deg,transparent 38%,rgba(255,250,232,.85) 48%,rgba(255,255,255,.95) 50%,rgba(255,250,232,.85) 52%,transparent 62%) -160% 0/250% 100% no-repeat;-webkit-background-clip:text;background-clip:text;animation:glint 7s ease-in-out 2.2s infinite}
h1 .l2::after{animation-delay:2.45s}
@keyframes glint{0%{background-position:-160% 0}22%,100%{background-position:260% 0}}
@media (prefers-reduced-motion:reduce){h1{animation:none;opacity:1;transform:none}h1 .g3d::after{display:none}}

/* ---------- scroll cue, about, footer ---------- */
html{scroll-behavior:smooth}
.page{grid-template-rows:auto 1fr auto}
.scroll-cue{justify-self:center;display:inline-flex;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;color:rgba(255,255,255,.62);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border-radius:999px;animation:rise .9s cubic-bezier(.2,.8,.2,1) 1s both}
.scroll-cue svg{color:var(--gold-2,#F3C46D);animation:cue 2.2s ease-in-out 2s infinite}
.scroll-cue:hover,.scroll-cue:focus-visible{color:#fff}
@keyframes cue{0%,100%{transform:translateY(0);opacity:.7}50%{transform:translateY(5px);opacity:1}}
.about,.site-foot{position:relative;z-index:1}
.about{padding:clamp(64px,10vh,120px) clamp(20px,5vw,84px);background:linear-gradient(180deg,rgba(0,37,28,0),rgba(0,37,28,.82) 18%,rgba(0,37,28,.92))}
.about-in{max-width:1120px;margin:0 auto}
.ab-kicker{margin:0 0 12px;color:#F3C46D;font-family:var(--display);font-weight:700;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase}
.about h2{margin:0 0 18px;font-family:var(--display);font-weight:800;font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.1;letter-spacing:-.025em;color:#fff;max-width:22ch}
.about h2 em{font-style:normal;color:#F3C46D}
.ab-lead{margin:0 0 clamp(32px,5vh,52px);max-width:62ch;font-size:clamp(1rem,1.25vw,1.12rem);line-height:1.7;color:rgba(255,255,255,.78)}
.ab-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ab-list li{padding:22px 20px 20px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(243,196,109,.18);backdrop-filter:blur(6px)}
.ab-ic{display:block;margin-bottom:14px;color:#F3C46D}
.ab-list h3{margin:0 0 6px;font-family:var(--display);font-weight:700;font-size:1.02rem;color:#fff}
.ab-list p{margin:0;font-size:.92rem;line-height:1.55;color:rgba(255,255,255,.66)}
.site-foot{background:#00251C;border-top:1px solid rgba(243,196,109,.22);padding:40px clamp(20px,5vw,84px) 22px;color:rgba(255,255,255,.72)}
.sf-in{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:28px 56px;align-items:start}
.sf-contact{font-style:normal;display:grid;gap:12px;max-width:640px}
.sf-row{display:flex;gap:10px;align-items:flex-start;margin:0;font-size:.95rem;line-height:1.55}
.sf-row svg{flex:none;margin-top:3px;color:#F3C46D}
.sf-row a{color:#fff;text-decoration:underline;text-decoration-color:rgba(243,196,109,.55);text-underline-offset:3px}
.sf-row a:hover,.sf-row a:focus-visible{color:#F3C46D}
.sf-base{max-width:1120px;margin:30px auto 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:12px;font-size:.8rem;letter-spacing:.04em;color:rgba(255,255,255,.5)}
.sf-base a{color:#F3C46D;text-decoration:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:980px){.ab-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.about{text-align:left}.sf-in{grid-template-columns:1fr;gap:20px}.scroll-cue{padding:4px 10px 0}}
@media (max-width:520px){.ab-list{grid-template-columns:1fr;gap:12px}.ab-list li{display:grid;grid-template-columns:auto 1fr;column-gap:14px;padding:16px}.ab-ic{grid-row:span 2;margin:2px 0 0}.sf-base{flex-direction:column;align-items:center;text-align:center}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
