:root{
  --f-display:"Fraunces","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --f-body:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;
  --max:1240px;--gut:clamp(20px,4vw,56px);--ease:cubic-bezier(.22,.7,.2,1);
  --bg:#FAFBF6;--bg-soft:#EDF2E6;--surface:#FFFFFF;--ink:#10281F;--ink-2:#3E5A50;--ink-3:#6B857A;
  --line:rgba(16,40,31,.12);--btn:#1F5C3E;--on-btn:#F8FCF7;--fern:#2F7D52;--fern-l:#DCEBDD;--citrus:#E59A25;--pome:#B4423B;
  --sky-a:#B9DDE2;--sky-b:#F1F0DE;--sun:#FFE7A3;--sun-glow:rgba(255,226,140,.55);--sun-glow2:rgba(255,236,170,.28);
  --cloud:rgba(255,255,255,.74);--star:0;--pollen:rgba(255,248,205,.95);
  --hill-far:#B7D3C5;--hill-mid:#8FBBA3;--row-a:#6FA687;--row-b:#A0CAB3;--tree:#4E8467;--glass:#DDEFF0;--wheat:#D5AA47;--wheat-d:#B48A32;
  --glow:rgba(255,255,255,.6);--tm:30%;--shadow:0 30px 60px -30px rgba(18,51,47,.38);
  --fs:82%;--fh1:72%;--fh2:64%;--fwall:93%;--froof:56%;--fglass:80%;--fground:66%;--fsun:94%;
  color-scheme:light;
  --hero-ink:#0F2A22;--hero-ink2:#3B564C;--hero-scrim:linear-gradient(90deg,rgba(250,251,246,.95) 0%,rgba(250,251,246,.82) 32%,rgba(250,251,246,.3) 62%,rgba(250,251,246,.04) 100%),linear-gradient(180deg,rgba(250,251,246,.6) 0%,rgba(250,251,246,0) 22%);
  --hero-glass:rgba(255,255,255,.66);--hero-glass-line:rgba(15,42,34,.14);--hero-btn-bg:var(--btn);--hero-btn-fg:var(--on-btn);--hero-ghost:rgba(15,42,34,.4);--hero-dot:rgba(15,42,34,.22);--hero-dotfill:#0F2A22;--pollen-c:rgba(236,178,52,.9);
  --hero-filter:saturate(1.08) brightness(1.05);--hero-fb:radial-gradient(70% 60% at 20% 25%,#CDE7D2,transparent 60%),radial-gradient(60% 55% at 85% 20%,#C9E2E6,transparent 62%),radial-gradient(80% 70% at 60% 100%,#F2E7BF,transparent 60%),linear-gradient(160deg,#F5F9EF,#E4EEDD);
  --glow-a:rgba(255,214,120,.22);--glow-b:rgba(120,190,150,.16);
  --chart-1:#2F7D52;--chart-2:#2C5FA8;--chart-3:#B4423B;--chart-4:#049185;--chart-5:#6B4FA0;--chart-other:#A8B3AC;
  box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --hero-ink:#fff;--hero-ink2:rgba(244,248,244,.86);--hero-scrim:linear-gradient(180deg,rgba(3,14,12,.66) 0%,rgba(3,14,12,.2) 30%,rgba(3,14,12,.3) 55%,rgba(3,14,12,.82) 100%);
    --hero-glass:rgba(255,255,255,.1);--hero-glass-line:rgba(255,255,255,.24);--hero-btn-bg:#F4F8F4;--hero-btn-fg:#0F3A2E;--hero-ghost:rgba(244,248,244,.55);--hero-dot:rgba(255,255,255,.3);--hero-dotfill:#fff;--pollen-c:rgba(255,240,190,.85);
    --hero-filter:brightness(.8) saturate(1.05);--hero-fb:radial-gradient(70% 60% at 20% 25%,#2F7A5B 0%,transparent 60%),radial-gradient(60% 55% at 85% 20%,#2A6F79 0%,transparent 62%),radial-gradient(80% 70% at 60% 100%,#8A7A3A 0%,transparent 60%),linear-gradient(160deg,#0F3B31,#0B2621);
    --glow-a:rgba(93,187,136,.10);--glow-b:rgba(60,140,170,.10);
    --bg:#050F0D;--bg-soft:#0B1B17;--surface:#102420;--ink:#EAF3EC;--ink-2:#A7C2B6;--ink-3:#769287;
    --line:rgba(234,243,236,.14);--btn:#6ACB98;--on-btn:#04160F;--fern:#5DBB88;--fern-l:#12312A;--citrus:#F0B551;--pome:#E4685F;
    --sky-a:#07171A;--sky-b:#1B4247;--sun:#E3EEE8;--sun-glow:rgba(190,224,232,.30);--sun-glow2:rgba(190,224,232,.12);
    --cloud:rgba(120,170,175,.14);--star:1;--pollen:rgba(200,240,220,.7);
    --hill-far:#143439;--hill-mid:#1A4A47;--row-a:#2C765B;--row-b:#22594A;--tree:#2B6A55;--glass:#1E4A50;--wheat:#9C8A45;--wheat-d:#7C6C34;
    --glow:rgba(255,255,255,.09);--tm:17%;--shadow:0 30px 60px -30px rgba(0,0,0,.65);
    --fs:16%;--fh1:22%;--fh2:28%;--fwall:30%;--froof:24%;--fglass:34%;--fground:20%;--fsun:86%;
    --chart-1:#3FA06D;--chart-2:#4A7FCB;--chart-3:#D45B52;--chart-4:#26A896;--chart-5:#8A73C9;--chart-other:#5B6A63;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --hero-ink:#fff;--hero-ink2:rgba(244,248,244,.86);--hero-scrim:linear-gradient(180deg,rgba(3,14,12,.66) 0%,rgba(3,14,12,.2) 30%,rgba(3,14,12,.3) 55%,rgba(3,14,12,.82) 100%);
  --hero-glass:rgba(255,255,255,.1);--hero-glass-line:rgba(255,255,255,.24);--hero-btn-bg:#F4F8F4;--hero-btn-fg:#0F3A2E;--hero-ghost:rgba(244,248,244,.55);--hero-dot:rgba(255,255,255,.3);--hero-dotfill:#fff;--pollen-c:rgba(255,240,190,.85);
  --hero-filter:brightness(.8) saturate(1.05);--hero-fb:radial-gradient(70% 60% at 20% 25%,#2F7A5B 0%,transparent 60%),radial-gradient(60% 55% at 85% 20%,#2A6F79 0%,transparent 62%),radial-gradient(80% 70% at 60% 100%,#8A7A3A 0%,transparent 60%),linear-gradient(160deg,#0F3B31,#0B2621);
  --glow-a:rgba(93,187,136,.10);--glow-b:rgba(60,140,170,.10);
  --bg:#050F0D;--bg-soft:#0B1B17;--surface:#102420;--ink:#EAF3EC;--ink-2:#A7C2B6;--ink-3:#769287;
  --line:rgba(234,243,236,.14);--btn:#6ACB98;--on-btn:#04160F;--fern:#5DBB88;--fern-l:#12312A;--citrus:#F0B551;--pome:#E4685F;
  --sky-a:#07171A;--sky-b:#1B4247;--sun:#E3EEE8;--sun-glow:rgba(190,224,232,.30);--sun-glow2:rgba(190,224,232,.12);
  --cloud:rgba(120,170,175,.14);--star:1;--pollen:rgba(200,240,220,.7);
  --hill-far:#143439;--hill-mid:#1A4A47;--row-a:#2C765B;--row-b:#22594A;--tree:#2B6A55;--glass:#1E4A50;--wheat:#9C8A45;--wheat-d:#7C6C34;
  --glow:rgba(255,255,255,.09);--tm:17%;--shadow:0 30px 60px -30px rgba(0,0,0,.65);
  --fs:16%;--fh1:22%;--fh2:28%;--fwall:30%;--froof:24%;--fglass:34%;--fground:20%;--fsun:86%;
  --chart-1:#3FA06D;--chart-2:#4A7FCB;--chart-3:#D45B52;--chart-4:#26A896;--chart-5:#8A73C9;--chart-other:#5B6A63;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 88px);-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html.lock,body.menu-open{overflow:hidden}
html.theming *,html.theming *::before,html.theming *::after{transition:background-color .55s,color .55s,border-color .55s,fill .55s,stroke .55s,box-shadow .55s!important}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.03rem/1.65 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:clip;min-height:100svh}
img,svg{max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:300;font-variation-settings:"SOFT" 100,"opsz" 96;letter-spacing:-.015em;line-height:1.08;margin:0;text-wrap:balance}
h1{font-size:clamp(2.5rem,5.8vw,5.1rem)}
h2{font-size:clamp(1.85rem,3.7vw,3.05rem)}
h3{font-size:1.32rem;font-weight:400}
p{margin:0;text-wrap:pretty}
ul{list-style:none;margin:0;padding:0}
:focus-visible{outline:2px solid var(--fern);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:-999px;top:8px;background:var(--btn);color:var(--on-btn);padding:.6em 1em;border-radius:10px;z-index:200}
.skip:focus{left:8px}
.wrap{width:100%;max-width:calc(var(--max) + var(--gut)*2);margin-inline:auto;padding-inline:var(--gut)}
.sec{padding-block:clamp(60px,8.5vw,120px)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(28px,4vw,52px);flex-wrap:wrap}
.lead{font-size:clamp(1.05rem,1.5vw,1.24rem);color:var(--ink-2);max-width:54ch}
.muted{color:var(--ink-3)}
.link{display:inline-flex;align-items:center;gap:.5em;font-weight:600;border-bottom:1.5px solid var(--fern);padding-bottom:2px;transition:gap .35s var(--ease),color .3s}
.link:hover{gap:.85em;color:var(--fern)}
.ico{width:1.25em;height:1.25em;flex:none}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;padding:.85em 1.6em;border-radius:999px;font-weight:600;font-size:.95rem;line-height:1;white-space:nowrap;transition:transform .35s var(--ease),background-color .3s,box-shadow .3s,color .3s}
.btn-primary{background:var(--btn);color:var(--on-btn);box-shadow:0 12px 26px -14px var(--btn)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 30px -14px var(--btn)}
.btn-ghost{box-shadow:inset 0 0 0 1.5px var(--line)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ink-3);transform:translateY(-2px)}
.btn-sm{padding:.62em 1.1em;font-size:.85rem}
.btn.danger:hover{color:var(--pome);box-shadow:inset 0 0 0 1.5px var(--pome)}
.btn .ico{width:1.1em;height:1.1em}

/* topbar + nav */
.topbar{background:var(--btn);color:var(--on-btn);font-size:.86rem;text-align:center;padding:.6em var(--gut);line-height:1.4}
.topbar[hidden]{display:none}
.topbar a{text-decoration:underline;text-underline-offset:3px;font-weight:600;margin-left:.5em}
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;transition:background-color .4s,box-shadow .4s}
.nav.scrolled{background:color-mix(in srgb,var(--bg) 80%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 1px 0 var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-mark{width:40px;height:40px;flex:none;border-radius:50%;overflow:hidden;display:block}
.brand-mark img{width:100%;height:100%;object-fit:cover}
.brand-t{display:grid;line-height:1.05;min-width:0}
.brand-t b{font-family:var(--f-display);font-weight:400;font-size:1.28rem;letter-spacing:-.01em;font-variation-settings:"SOFT" 100,"opsz" 40;white-space:nowrap}
.brand-t small{font-size:.66rem;color:var(--ink-3);letter-spacing:.2em;text-transform:uppercase;margin-top:3px}
.links{display:flex;gap:4px}
.links a{padding:.55em 1.05em;border-radius:999px;font-weight:500;font-size:.95rem;color:var(--ink-2);transition:color .3s,background-color .3s}
.links a:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 7%,transparent)}
.links a[aria-current]{color:var(--ink);background:color-mix(in srgb,var(--fern) 17%,transparent)}
.ctl{display:flex;align-items:center;gap:8px}
.icon-btn{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px var(--line);transition:transform .4s var(--ease),background-color .3s}
.icon-btn:hover{background:color-mix(in srgb,var(--ink) 7%,transparent)}
.icon-btn .ico{width:20px;height:20px}
.theme-btn .ico{grid-area:1/1;transition:transform .6s var(--ease),opacity .4s}
:root[data-theme="dark"] .theme-btn .i-sun{transform:rotate(90deg) scale(.4);opacity:0}
:root:not([data-theme="dark"]) .theme-btn .i-moon{transform:rotate(-90deg) scale(.4);opacity:0}
.burger{display:none}
.burger .ico{grid-area:1/1;transition:transform .5s var(--ease),opacity .3s}
.burger .i-x{opacity:0;transform:rotate(-90deg)}
body.menu-open .burger .i-m{opacity:0;transform:rotate(90deg)}
body.menu-open .burger .i-x{opacity:1;transform:none}
.mmenu{display:none}
@media (max-width:920px){
  .links{display:none}
  .burger{display:grid}
  .brand-t small{display:none}
  .ctl .theme-switch{display:none}
  .mmenu{display:flex;position:fixed;inset:0;z-index:55;flex-direction:column;justify-content:flex-start;gap:2px;padding:96px var(--gut) 40px;background:var(--bg);opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s .4s;overflow-y:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
  body.menu-open .mmenu{opacity:1;visibility:visible;transition-delay:0s}
  .mmenu a{font-family:var(--f-display);font-size:clamp(2rem,9vw,2.8rem);font-weight:300;padding:.2em 0;color:var(--ink-2);opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .6s var(--ease),color .3s}
  .mmenu a[aria-current]{color:var(--ink)}
  body.menu-open .mmenu a{opacity:1;transform:none;transition-delay:calc(.05s + var(--i)*.05s)}
  .mmenu .theme-switch{width:150px;height:46px;align-self:center;margin:4px 0 12px;opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .6s var(--ease)}
  body.menu-open .mmenu .theme-switch{opacity:1;transform:none;transition-delay:calc(.05s + var(--i)*.05s)}
  .mmenu .ts-knob{width:38px;height:38px}
  :root[data-theme="dark"] .mmenu .ts-knob{transform:translateX(104px)}
}

/* grain + photos */
.grain::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.16;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
.photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--ease)}
.ph{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(120% 90% at 50% 15%,color-mix(in srgb,var(--tint,#CFE3B5) 72%,#fff),color-mix(in srgb,var(--tint,#CFE3B5) 46%,var(--bg-soft)))}
.ph b{font-family:var(--f-display);font-weight:300;font-size:clamp(3.4rem,8vw,6.5rem);line-height:1;color:color-mix(in srgb,var(--ink) 20%,transparent);font-variation-settings:"SOFT" 100,"opsz" 144}
.fph{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,hsl(var(--h) 34% 30%),hsl(var(--h) 44% 15%));color:#fff;overflow:hidden}
.fph b{font-family:var(--f-display);font-weight:300;font-size:clamp(1.8rem,4vw,3rem);position:relative;z-index:1;opacity:.85}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:clip;isolation:isolate;margin-top:-76px;color:#F4F8F4;background:#0B2621}
.hero-bg{position:absolute;inset:0;z-index:-3;background:radial-gradient(70% 60% at 20% 25%,#2F7A5B 0%,transparent 60%),radial-gradient(60% 55% at 85% 20%,#2A6F79 0%,transparent 62%),radial-gradient(80% 70% at 60% 100%,#8A7A3A 0%,transparent 60%),linear-gradient(160deg,#0F3B31,#0B2621);background-size:140% 140%;animation:aurora 24s ease-in-out infinite alternate}
@keyframes aurora{to{background-position:100% 60%}}
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 2.4s ease}
.hero-slide.on{opacity:1}
.hero-slide img{width:100%;height:100%;object-fit:cover;animation:kb 24s ease-in-out var(--dl,0s) infinite alternate;transform-origin:50% 60%}
@keyframes kb{from{transform:scale(1.03)}to{transform:scale(1.16) translate(-1.2%,-1%)}}
.hero-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,22,19,.62) 0%,rgba(5,22,19,.18) 30%,rgba(5,22,19,.28) 55%,rgba(5,22,19,.78) 100%)}
.hero-fade{position:absolute;left:0;right:0;bottom:0;height:16%;z-index:0;background:linear-gradient(180deg,transparent,var(--bg));pointer-events:none}
.hero-copy{position:relative;z-index:4;padding-top:calc(76px + clamp(60px,12vh,140px));padding-bottom:clamp(170px,26vh,250px)}
.hero h1{max-width:12em;font-weight:300;color:#fff;text-shadow:0 2px 40px rgba(0,0,0,.25)}
.hero .lead{margin-top:clamp(18px,2.4vw,28px);max-width:48ch;color:rgba(244,248,244,.86)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(22px,3vw,36px)}
.hero .btn-primary{background:#F4F8F4;color:#0F3A2E;box-shadow:0 14px 30px -14px rgba(0,0,0,.5)}
.hero .btn-ghost{box-shadow:inset 0 0 0 1.5px rgba(244,248,244,.55);color:#F4F8F4}
.hero .btn-ghost:hover{box-shadow:inset 0 0 0 1.5px #fff;background:rgba(255,255,255,.1)}
.grow .w{display:inline-block;opacity:0;transform:translateY(.4em);filter:blur(10px);animation:grow 1.4s var(--ease) forwards;animation-delay:calc(.2s + var(--i)*.09s)}
@keyframes grow{to{opacity:1;transform:none;filter:none}}
.hero-in{opacity:0;transform:translateY(14px);animation:fade-up 1.1s var(--ease) forwards;animation-delay:calc(.2s + var(--i)*.09s)}
@keyframes fade-up{to{opacity:1;transform:none}}
.hero-scroll{position:absolute;right:var(--gut);bottom:clamp(30px,6vh,60px);z-index:5;width:2px;height:64px;background:rgba(255,255,255,.25);overflow:hidden;border-radius:2px}
.hero-scroll i{display:block;width:100%;height:40%;background:#fff;animation:scrollcue 2.4s ease-in-out infinite}
@keyframes scrollcue{0%{transform:translateY(-100%)}100%{transform:translateY(260%)}}
.pollen{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}
.pollen i{position:absolute;bottom:-10px;width:var(--s);height:var(--s);border-radius:50%;background:rgba(255,246,210,.9);box-shadow:0 0 12px 3px rgba(255,240,190,.6);opacity:0;animation:rise var(--t) linear var(--dl) infinite}
@keyframes rise{0%{transform:translate(0,0);opacity:0}12%{opacity:.8}100%{transform:translate(var(--dx),-70vh);opacity:0}}
:root[data-theme="dark"] body.on-hero:not(.menu-open) .nav:not(.scrolled) .brand-t b{color:#fff}
:root[data-theme="dark"] body.on-hero:not(.menu-open) .nav:not(.scrolled) .brand-t small{color:rgba(255,255,255,.7)}
:root[data-theme="dark"] body.on-hero:not(.menu-open) .nav:not(.scrolled) .links a{color:rgba(244,248,244,.86)}
:root[data-theme="dark"] body.on-hero:not(.menu-open) .nav:not(.scrolled) .links a:hover{background:rgba(255,255,255,.14);color:#fff}
:root[data-theme="dark"] body.on-hero:not(.menu-open) .nav:not(.scrolled) .links a[aria-current]{background:rgba(255,255,255,.2);color:#fff}
:root[data-theme="dark"] body.on-hero:not(.menu-open) .nav:not(.scrolled) .icon-btn{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.band{position:relative;min-height:clamp(380px,64vh,660px);display:grid;align-items:end;overflow:clip;isolation:isolate;color:#F4F8F4;background:linear-gradient(135deg,#123B32,#1D5E52 55%,#3F7F5A)}
.band>img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover;z-index:-2;transform:translateY(calc((var(--p,.5) - .5)*10%))}
.band::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,22,19,.05),rgba(5,22,19,.72))}
.band .wrap{position:relative;z-index:1;padding-block:clamp(36px,6vw,84px)}
.band h2{max-width:14em;color:#fff}
.band p{max-width:48ch;color:rgba(244,248,244,.86);margin-top:14px;font-size:1.08rem}


/* hero facts strip */
.hero-strip{position:absolute;left:0;right:0;bottom:clamp(20px,4.5vh,44px);z-index:5}
.hs-in{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.hero-facts{display:flex;border-radius:24px;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);box-shadow:inset 0 0 0 1px rgba(255,255,255,.24),0 20px 40px -20px rgba(0,0,0,.4);overflow:hidden}
.hero-facts li{padding:14px clamp(16px,2.4vw,30px);display:grid;line-height:1.15}
.hero-facts li+li{border-left:1px solid rgba(255,255,255,.2)}
.hero-facts b{font-family:var(--f-display);font-weight:300;font-size:clamp(1.4rem,2.4vw,2rem);font-variation-settings:"SOFT" 100,"opsz" 96}
.hero-facts span{font-size:.8rem;color:rgba(244,248,244,.78)}
.hero-dots{display:flex;gap:8px}
.hero-dots i{position:relative;width:36px;height:3px;border-radius:3px;background:rgba(255,255,255,.3);overflow:hidden}
.hero-dots i.on::after{content:'';position:absolute;inset:0;background:#fff;transform-origin:left;animation:dotfill 7s linear forwards}
@keyframes dotfill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (max-width:640px){.hero-dots{display:none}.hero-facts{width:100%}.hero-facts li{flex:1;padding:12px 8px;text-align:center}}
/* marquee */
.marquee{overflow:hidden;border-block:1px solid var(--line);padding:clamp(18px,2.6vw,30px) 0;background:var(--bg)}
.mq-track{display:flex;width:max-content;align-items:center;animation:mq 80s linear infinite}
.marquee:hover .mq-track{animation-play-state:paused}
.mq-track span{font-family:var(--f-display);font-style:italic;font-weight:300;font-size:clamp(1.6rem,3.4vw,2.8rem);white-space:nowrap;color:var(--ink-2);font-variation-settings:"SOFT" 100,"opsz" 96}
.mq-dot{width:11px;height:11px;border-radius:50% 0 50% 0;background:var(--fern);margin:0 clamp(22px,3.2vw,48px);flex:none;transform:rotate(-20deg)}
@keyframes mq{to{transform:translateX(-50%)}}
/* intro collage */
.seal .rot{position:absolute;inset:0;width:100%;height:100%;animation:spin 36s linear infinite}
.seal text{font-family:var(--f-body);font-size:8.6px;font-weight:600;letter-spacing:.9px;fill:var(--ink-2)}
.seal-c{display:grid;place-items:center;text-align:center;line-height:1}
.seal-c small{font-size:.66rem;color:var(--ink-3)}
.seal-c b{font-family:var(--f-display);font-weight:300;font-size:1.6rem;color:var(--fern)}
.seal-c svg{width:38px;height:38px}
@keyframes spin{to{transform:rotate(360deg)}}


/* ===== theme-aware hero ===== */
.hero{color:var(--hero-ink)}
.hero-bg{background:var(--hero-fb);background-size:140% 140%}
.hero-slide img{filter:var(--hero-filter)}
.hero-scrim{background:var(--hero-scrim)}
.hero h1{color:var(--hero-ink);text-shadow:none}
.hero .lead{color:var(--hero-ink2)}
.hero .btn-primary{background:var(--hero-btn-bg);color:var(--hero-btn-fg)}
.hero .btn-ghost{box-shadow:inset 0 0 0 1.5px var(--hero-ghost);color:var(--hero-ink)}
.hero .btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--hero-ink);background:var(--hero-glass)}
.hero-facts{background:var(--hero-glass);box-shadow:inset 0 0 0 1px var(--hero-glass-line),0 20px 40px -22px rgba(0,0,0,.35)}
.hero-facts li+li{border-left-color:var(--hero-glass-line)}
.hero-facts b{color:var(--hero-ink)}.hero-facts span{color:var(--hero-ink2)}
.hero-dots i{background:var(--hero-dot)}.hero-dots i.on::after{background:var(--hero-dotfill)}
.pollen i{background:var(--pollen-c);box-shadow:0 0 12px 3px var(--pollen-c)}
.hero-side{display:grid;justify-items:end;gap:14px}
.hero-cap{display:inline-flex;align-items:center;gap:8px;padding:.5em 1em;border-radius:999px;background:var(--hero-glass);box-shadow:inset 0 0 0 1px var(--hero-glass-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:.85rem;font-weight:500;color:var(--hero-ink)}
.hero-cap:empty{display:none}.hero-cap .ico{width:16px;height:16px}
@media (max-width:640px){.hero-side{display:none}}

/* ===== theme switch ===== */
.theme-switch{position:relative;width:78px;height:42px;border-radius:999px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:var(--bg-soft);box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink-3);flex:none}
.theme-switch .ico{position:relative;z-index:1;width:18px;height:18px;transition:color .4s}
.ts-knob{position:absolute;top:4px;left:4px;width:34px;height:34px;border-radius:50%;background:#fff;box-shadow:0 4px 12px -2px rgba(0,0,0,.35);transition:transform .6s var(--ease),background-color .4s}
:root[data-theme="dark"] .ts-knob{transform:translateX(36px);background:var(--btn)}
:root[data-theme="dark"] .theme-switch .i-moon{color:var(--on-btn)}
:root:not([data-theme="dark"]) .theme-switch .i-sun{color:#C98410}
:root[data-theme="dark"] body.on-hero:not(.menu-open) .nav:not(.scrolled) .theme-switch{background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35);color:#fff}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition-new(root){z-index:2}::view-transition-old(root){z-index:1}
/* ambient glows: one warm in light, one cool in dark */
body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(55% 40% at 88% 0%,var(--glow-a),transparent 70%),radial-gradient(50% 40% at 0% 100%,var(--glow-b),transparent 70%)}

/* ===== progress + back to top ===== */
.progress{position:fixed;left:0;top:0;right:0;height:3px;z-index:90;background:linear-gradient(90deg,var(--fern),var(--citrus));transform-origin:left;transform:scaleX(0)}
.totop{position:fixed;right:clamp(14px,2.4vw,28px);bottom:calc(clamp(14px,2.4vw,28px) + env(safe-area-inset-bottom,0px));z-index:80;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--btn);color:var(--on-btn);box-shadow:0 14px 30px -12px var(--btn);opacity:0;translate:0 14px;pointer-events:none;transition:opacity .4s,translate .5s var(--ease)}
.totop .ico{transform:rotate(-90deg)}
.totop.show{opacity:1;translate:0 0;pointer-events:auto}

/* ===== certs ===== */
.certs{margin:26px 0 4px;display:grid;gap:10px}
.certs>span{font-size:.85rem;color:var(--ink-3)}
.tag .ico{width:.95em;height:.95em;margin-right:.4em;vertical-align:-.1em}
/* ===== route network ===== */
/* ===== harvest calendar ===== */
/* ===== steps ===== */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,40px);position:relative}
.steps::before{content:'';position:absolute;top:36px;left:8%;right:8%;height:2px;background:linear-gradient(90deg,var(--fern),var(--line));z-index:0}
.steps li{position:relative;z-index:1}
.st-ico{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line),0 12px 24px -14px rgba(0,0,0,.3);color:var(--fern);margin-bottom:20px}
.st-ico .ico{width:30px;height:30px;stroke-width:1.4}
.steps h3{margin-bottom:8px}.steps p{color:var(--ink-2);font-size:.95rem}
@media (max-width:820px){.steps{grid-template-columns:1fr 1fr}.steps::before{display:none}}
@media (max-width:480px){.steps{grid-template-columns:1fr}}
/* ===== faq ===== */
.faqs{border-top:1px solid var(--line)}
.faq{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 4px;font-family:var(--f-display);font-size:1.25rem;font-weight:400;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.pm{position:relative;width:30px;height:30px;flex:none;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--line);transition:background-color .3s,transform .5s var(--ease)}
.pm::before,.pm::after{content:'';position:absolute;left:50%;top:50%;width:12px;height:1.6px;background:currentColor;translate:-50% -50%;transition:transform .4s var(--ease)}
.pm::after{transform:rotate(90deg)}
.faq[open] .pm{background:var(--btn);color:var(--on-btn);box-shadow:none}
.faq[open] .pm::after{transform:rotate(0)}
.faq>div{padding:0 4px 24px;color:var(--ink-2);max-width:60ch;animation:fade-up .5s var(--ease)}


/* ===== intro: editorial photo composition ===== */
.intro h2{font-size:clamp(2.4rem,5vw,4.3rem);line-height:1.02;margin-bottom:26px}
.intro .lead-l{font-family:var(--f-display);font-weight:300;font-size:clamp(1.35rem,2.2vw,1.85rem);line-height:1.4;color:var(--ink);max-width:26em;font-variation-settings:"SOFT" 100,"opsz" 72}
.orn{display:flex;align-items:center;gap:12px;margin:26px 0}
.orn i{flex:0 0 72px;height:1.5px;background:linear-gradient(90deg,var(--fern),transparent)}
.orn b{width:11px;height:11px;border-radius:50% 0 50% 0;background:var(--fern);transform:rotate(-20deg)}
.intro-art{position:relative;width:100%;max-width:560px;aspect-ratio:1/1.14;margin-inline:auto}
.intro-art .fr{position:absolute;translate:0 calc(var(--py,0)*var(--k,0)*1px)}
.intro-art .fr::before{content:'';position:absolute;inset:0;border:1.5px solid var(--fern);border-radius:inherit;translate:14px 14px;opacity:.5;transition:translate .9s var(--ease),opacity .6s}
.intro-art .fr:hover::before{translate:24px 24px;opacity:.95}
.intro-art .f1{left:0;top:5%;width:57%;aspect-ratio:4/6;border-radius:999px 999px 26px 26px}
.intro-art .f2{right:0;bottom:0;width:47%;aspect-ratio:1/1.1;border-radius:130px 22px 130px 22px}
.intro-art .f3{right:5%;top:0;width:29%;aspect-ratio:1;border-radius:50%}
.intro-art .f3::before{display:none}
.intro-art .ring{position:absolute;inset:-14px;border:1.5px dashed var(--fern);border-radius:50%;opacity:.7;animation:spin 46s linear infinite;pointer-events:none}
.intro-art .arch{position:absolute;inset:0;margin:0;overflow:hidden;border-radius:inherit;background:var(--bg-soft);box-shadow:var(--shadow);clip-path:inset(0);transition:clip-path 1.7s var(--ease) calc(var(--i)*.2s + .15s)}
.intro-art .arch::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;background:linear-gradient(160deg,rgba(255,214,130,.22),rgba(16,80,56,.26));mix-blend-mode:soft-light;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.intro-art .arch .photo{transition:transform 2.2s var(--ease) calc(var(--i)*.2s + .15s)}
.intro-art .fr:hover .photo{transform:scale(1.07);transition-delay:0s;transition-duration:1.2s}
.js .intro-art:not(.in) .arch{clip-path:inset(100% 0 0 0)}
.js .intro-art:not(.in) .arch .photo{transform:scale(1.4)}
:root[data-theme="dark"] .intro-art .photo{filter:brightness(.88) saturate(1.05)}
.vcap{position:absolute;left:-26px;top:24%;writing-mode:vertical-rl;transform:rotate(180deg);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}
.chip-g{position:absolute;left:-2%;bottom:11%;z-index:4;display:flex;align-items:center;gap:10px;padding:.65em 1.2em .65em .65em;border-radius:999px;background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 36px -16px rgba(0,0,0,.4),inset 0 0 0 1px var(--line);font-weight:600;font-size:.9rem;animation:bobY 6s ease-in-out infinite alternate}
.chip-g .ico{width:30px;height:30px;padding:7px;border-radius:50%;background:var(--btn);color:var(--on-btn)}
@keyframes bobY{to{transform:translateY(-9px)}}
.seal{position:absolute;left:55.5%;top:57%;width:clamp(100px,24%,140px);aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:var(--bg);box-shadow:var(--shadow);display:grid;place-items:center;z-index:3}
@media (max-width:700px){.vcap{display:none}.chip-g{left:0}}


/* ===== intro: expanding arch gallery ===== */
.acc-art{position:relative;width:100%;max-width:620px;margin-inline:auto}
.acc-wrap{display:flex;gap:16px;height:clamp(450px,58vw,650px);padding-top:24px;align-items:stretch}
.acc{--off:0px;position:relative;flex:1 1 0;min-width:0;margin-top:calc(var(--off) + 36px);overflow:hidden;isolation:isolate;border-radius:400px 400px 28px 28px;background:var(--bg-soft);box-shadow:0 26px 50px -30px rgba(0,0,0,.5);cursor:pointer;transition:flex-grow 1.1s var(--ease),margin-top 1.1s var(--ease),border-radius 1.1s var(--ease),box-shadow .9s,opacity 1.2s var(--ease) calc(var(--i)*.18s + .1s),translate 1.4s var(--ease) calc(var(--i)*.18s + .1s)}
.acc:nth-child(2){--off:28px;border-radius:130px 28px 130px 28px}
.acc:nth-child(3){--off:8px;border-radius:28px 130px 28px 130px}
.acc.on{flex-grow:4.4;margin-top:0;border-radius:400px 400px 34px 34px;box-shadow:0 54px 90px -34px rgba(0,0,0,.65)}
.acc .photo{transition:transform 2s var(--ease),translate .45s ease-out,filter .8s}
.acc:not(.on) .photo{transform:scale(1.18)}
.acc.on .photo{transform:scale(1.1);translate:calc(var(--mx,0)*-16px) calc(var(--my,0)*-16px)}
.acc::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(4,20,15,0) 40%,rgba(4,20,15,.82) 100%);pointer-events:none}
.acc::after{content:'';position:absolute;inset:0;z-index:3;border-radius:inherit;pointer-events:none;background:linear-gradient(160deg,rgba(255,214,130,.22),rgba(16,80,56,.26));mix-blend-mode:soft-light}
.acc-frame{position:absolute;z-index:4;inset:22px;border-radius:inherit;border:1px solid rgba(255,255,255,.55);pointer-events:none;opacity:0;scale:.94;transition:opacity .7s .25s,scale 1.2s var(--ease)}
.acc.on .acc-frame{opacity:1;scale:1}
.acc-vt{position:absolute;z-index:2;left:50%;bottom:26px;writing-mode:vertical-rl;transform:translateX(-50%) rotate(180deg);color:#fff;font-family:var(--f-display);font-size:1.25rem;font-weight:300;letter-spacing:.02em;white-space:nowrap;opacity:1;transition:opacity .5s .2s}
.acc.on .acc-vt{opacity:0;transition-delay:0s}
.acc-cap{position:absolute;z-index:5;left:18px;right:78px;bottom:18px;padding:14px 16px;border-radius:20px;background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);color:#fff;display:grid;gap:8px;opacity:0;transform:translateY(22px);transition:opacity .6s,transform .9s var(--ease)}
.acc.on .acc-cap{opacity:1;transform:none;transition-delay:.4s}
.acc-cap b{font-family:var(--f-display);font-weight:300;font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.12}
.acc-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:.84rem;color:rgba(255,255,255,.9)}
.acc-meta>span{display:inline-flex;align-items:center;gap:8px}
.acc-price{font-weight:700;color:#fff}
.acc-go{position:absolute;z-index:6;right:18px;bottom:24px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#0F3A2E;box-shadow:0 10px 24px -8px rgba(0,0,0,.5);opacity:0;scale:.6;transition:opacity .5s,scale .7s var(--ease)}
.acc.on .acc-go{opacity:1;scale:1;transition-delay:.45s}
.acc:hover .acc-go{transform:rotate(-45deg)}
.acc-go .ico{width:19px;height:19px}
.js .acc-art:not(.in) .acc{opacity:0;translate:0 70px}
:root[data-theme="dark"] .acc .photo{filter:brightness(.88) saturate(1.05)}
.acc-art .seal{left:auto;right:-10px;top:-14px;translate:none;width:clamp(92px,17%,122px)}
@media (max-width:820px){.acc-art .seal{right:0}.acc-cap{right:70px;padding:12px}}


/* ===== story: full-bleed banner with living wave edges ===== */
.story{position:relative;isolation:isolate;overflow:hidden;color:#fff;margin-block:clamp(30px,4vw,60px);background:linear-gradient(135deg,#123B32,#1D5E52 55%,#3F7F5A)}
.story::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,18,14,.8) 0%,rgba(4,18,14,.52) 46%,rgba(4,18,14,.12) 100%);pointer-events:none}
.story::after{content:'';position:absolute;top:-20%;bottom:-20%;left:-40%;width:34%;z-index:1;background:linear-gradient(100deg,transparent,rgba(255,255,255,.2),transparent);transform:skewX(-14deg);opacity:0;pointer-events:none}
.story.in::after{animation:shine 2.2s ease-in-out 1.5s 1 both}
@keyframes shine{0%{left:-40%;opacity:0}25%{opacity:1}100%{left:125%;opacity:0}}
.story-photo{position:absolute;inset:0;z-index:-2;overflow:hidden;transition:clip-path 1.7s var(--ease) .1s}
.story-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 2.6s var(--ease) .1s}
.story.in .story-photo img{animation:kbs 24s ease-in-out 2.8s infinite alternate}
@keyframes kbs{to{transform:scale(1.15) translate(-1.5%,1%)}}
.js .story:not(.in) .story-photo{clip-path:inset(0 100% 0 0)}
.js .story:not(.in) .story-photo img{transform:scale(1.35)}
.waves{position:absolute;left:0;right:0;height:clamp(22px,3vw,40px);z-index:1;pointer-events:none}
.waves.t{top:-1px}
.waves.b{bottom:-1px;transform:scaleY(-1)}
.waves svg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible}
.waves .wf{fill:var(--bg)}
.waves .wl{fill:none;stroke:color-mix(in srgb,var(--fern) 55%,#fff);stroke-opacity:.75;stroke-width:1.5;vector-effect:non-scaling-stroke;transform:translateY(7px)}
.story-in{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:clamp(20px,4vw,60px);padding-block:clamp(54px,6.4vw,86px)}
.story-copy{max-width:min(640px,100%)}
.st-h{font-size:clamp(2rem,4.5vw,3.7rem);line-height:1.05;margin-bottom:14px;color:#fff}
.st-line{display:block;height:2px;width:120px;background:linear-gradient(90deg,#fff,rgba(255,255,255,.15));margin:0 0 16px;transform-origin:left;transition:transform 1.4s var(--ease) 1s}
.js .story:not(.in) .st-line{transform:scaleX(0)}
.st-p{font-size:clamp(.98rem,1.3vw,1.12rem);color:rgba(255,255,255,.92);max-width:44ch}
.sw{display:inline-block;transition:opacity .9s var(--ease) calc(.5s + var(--k)*55ms),transform .9s var(--ease) calc(.5s + var(--k)*55ms),filter .9s var(--ease) calc(.5s + var(--k)*55ms)}
.js .story:not(.in) .sw{opacity:0;transform:translateY(.6em);filter:blur(8px)}
.lot{position:relative;flex:none;width:min(252px,31%);transform:rotate(4deg);transition:transform 1.4s cubic-bezier(.34,1.56,.64,1) 1.5s,opacity .7s 1.5s;perspective:800px}
.js .story:not(.in) .lot{opacity:0;transform:translateY(-70px) rotate(15deg)}
.story.in .lot{animation:sway 6.5s ease-in-out 3.2s infinite alternate}
.lot:hover{animation-play-state:paused}
@keyframes sway{from{transform:rotate(3deg)}to{transform:translateY(-6px) rotate(5.5deg)}}
.lot-card{position:relative;padding:20px 16px 14px;border-radius:18px;overflow:hidden;background:linear-gradient(165deg,#FFFDF5,#F6F0DF);color:#1B2A22;box-shadow:0 34px 60px -22px rgba(0,0,0,.72),inset 0 0 0 1px rgba(120,100,50,.18);transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s ease-out}
.lot-card::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(200px 200px at var(--gx,30%) var(--gy,0%),rgba(255,255,255,.7),transparent 62%);mix-blend-mode:soft-light}
.lot-card::before{z-index:0}
.lot-card>*{position:relative;z-index:1}
.lot-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.lot-h{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:#7A7A68}
.lot-holo{width:24px;height:24px;border-radius:50%;background:conic-gradient(from 0deg,#FF9ECB,#FFE27A,#8FF0C0,#7FD3FF,#C79BFF,#FF9ECB);animation:spin 6s linear infinite;-webkit-mask:radial-gradient(circle,transparent 5px,#000 6px);mask:radial-gradient(circle,transparent 5px,#000 6px);box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.lot-code{margin:6px 0 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700;font-size:.92rem;letter-spacing:.02em}
.lot-code span{display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:bottom;border-right:2px solid transparent}
.story.in .lot-code span{animation:type 1.5s steps(16) 2.4s both,caret .35s step-end 2.4s 5}
.js .story:not(.in) .lot-code span{width:0}
@keyframes type{from{width:0}to{width:16ch}}
@keyframes caret{50%{border-color:#1B2A22}}
.lot dl{display:grid;gap:8px;margin:0 0 14px}
.lot dl>div{padding-left:10px;border-left:2px solid rgba(47,125,82,.55);transition:opacity .6s,transform .7s var(--ease);transition-delay:calc(2.1s + var(--r)*.18s)}
.js .story:not(.in) .lot dl>div{opacity:0;transform:translateX(-12px)}
.lot dt{font-size:.6rem;color:#7A7A68;line-height:1.2}
.lot dd{margin:0;font-weight:600;font-size:.8rem;line-height:1.25}
.lot-trace{position:relative;display:flex;justify-content:space-between;font-size:.6rem;color:#7A7A68;padding-top:16px}
.lot-trace::before{content:'';position:absolute;left:3px;right:3px;top:5px;border-top:1.5px dashed #BDB496}
.lot-trace span{position:relative}
.lot-trace span::before{content:'';position:absolute;top:-15px;left:0;width:7px;height:7px;border-radius:50%;background:#2F7D52}
.lot-trace span:nth-child(2)::before{left:50%;translate:-50% 0}
.lot-trace span:nth-child(3)::before{left:auto;right:0}
.lot-trace i{position:absolute;top:2px;left:0;width:13px;height:13px;border-radius:50%;background:#3FCB84;box-shadow:0 0 0 5px rgba(63,203,132,.28);animation:travel 3.4s ease-in-out 3.2s infinite alternate}
@keyframes travel{from{left:-3px}to{left:calc(100% - 10px)}}
.lot-tear{margin:12px -16px 10px;border-top:1.5px dashed #CFC7AD}
.lot-bw{position:relative;overflow:hidden;border-radius:2px}
.lot-bars{height:26px;background:repeating-linear-gradient(90deg,#1B2A22 0 2px,transparent 2px 5px,#1B2A22 5px 8px,transparent 8px 10px);transition:clip-path 1.2s ease 2.6s}
.js .story:not(.in) .lot-bars{clip-path:inset(0 100% 0 0)}
.lot-scan{position:absolute;top:0;bottom:0;left:0;width:2px;background:#20C27A;box-shadow:0 0 10px 2px rgba(32,194,122,.7);opacity:0}
.story.in .lot-scan{animation:scanx 3s ease-in-out 3.8s infinite}
@keyframes scanx{0%{left:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:calc(100% - 2px);opacity:0}}
.lot-stamp{position:absolute;z-index:2;right:10px;bottom:14px;width:68px;height:68px;border-radius:50%;display:grid;place-items:center;align-content:center;gap:0;color:rgba(31,110,72,.92);border:2px solid currentColor;box-shadow:inset 0 0 0 3px #F8F2DF,inset 0 0 0 4px currentColor;font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;opacity:0;transform:rotate(-14deg) scale(2.3);mix-blend-mode:multiply}
.lot-stamp .ico{width:18px;height:18px;stroke-width:2.4}
.lot-stamp b{font-weight:800}
.story.in .lot-stamp{animation:stamp .55s cubic-bezier(.2,.9,.3,1.35) 3.3s forwards}
@keyframes stamp{0%{opacity:0;transform:rotate(-14deg) scale(2.3)}60%{opacity:.95}100%{opacity:.92;transform:rotate(-14deg) scale(1)}}
@media (max-width:760px){.lot{display:none}.story::before{background:linear-gradient(90deg,rgba(4,18,14,.78),rgba(4,18,14,.5))}}

/* ===== stage: compact card-deck showcase ===== */
@property --stint{syntax:'<color>';inherits:true;initial-value:#CFE3B5}
.stage{--stint:#CFE3B5;position:relative;isolation:isolate;overflow:clip;padding-block:clamp(44px,5.4vw,78px);transition:--stint 1.2s ease}
.stage-bg{position:absolute;inset:0;z-index:-2;background:radial-gradient(55% 60% at 74% 50%,color-mix(in srgb,var(--stint) 55%,transparent),transparent 72%),radial-gradient(40% 40% at 6% 100%,color-mix(in srgb,var(--stint) 30%,transparent),transparent 70%)}
:root[data-theme="dark"] .stage-bg{opacity:.5}
.stage-word{position:absolute;right:clamp(0px,3vw,48px);top:50%;translate:0 -52%;z-index:-1;font-family:var(--f-display);font-weight:300;font-size:clamp(5rem,15vw,13rem);line-height:1;letter-spacing:-.03em;white-space:nowrap;color:color-mix(in srgb,var(--ink) 6.5%,transparent);pointer-events:none;font-variation-settings:"SOFT" 100,"opsz" 144}
.stage-word.pop{animation:wordin 1s var(--ease)}
@keyframes wordin{from{opacity:0;transform:translateY(30px) scale(.97);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
.stage-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);grid-template-areas:"head deck" "info deck" "nav deck";column-gap:clamp(24px,5vw,72px);row-gap:16px;align-items:center}
.stage-head{grid-area:head;align-self:end}
.stage-head h2{font-size:clamp(1.7rem,3vw,2.5rem)}
.stage-infow{grid-area:info;align-self:start}
.stage-nav{grid-area:nav;display:flex;gap:12px;align-self:start}
.stage-deck{--cw:clamp(190px,22vw,300px);grid-area:deck;position:relative;height:calc(var(--cw)*1.28 + 64px);perspective:1200px;outline:none;touch-action:pan-y;user-select:none}
.stage-deck:focus-visible{outline:2px solid var(--fern);outline-offset:6px;border-radius:24px}
.sc{--p:0;position:absolute;left:50%;top:50%;width:var(--cw);transform:translate(-50%,-50%) translate(calc(var(--p)*32%),calc(var(--p)*-3.2%)) translateZ(calc(var(--p)*-100px)) rotate(calc(var(--p)*4.5deg)) scale(calc(1 - var(--p)*.1));opacity:calc(1 - var(--p)*.3);transition:transform 1s var(--ease),opacity .8s;cursor:pointer;-webkit-tap-highlight-color:transparent}
.sc.out,.sc.far{opacity:0;pointer-events:none}
.sc.jump{transition:none}
.sc-in{position:relative;display:block;aspect-ratio:4/5.1;border-radius:400px 400px 28px 28px;overflow:hidden;background:var(--bg-soft);box-shadow:0 26px 50px -28px rgba(0,0,0,.55);transition:box-shadow .8s}
.sc.on .sc-in{animation:floaty 5.5s ease-in-out infinite alternate;box-shadow:0 56px 90px -38px rgba(0,0,0,.7),0 0 0 1px color-mix(in srgb,var(--tint) 60%,transparent)}
@keyframes floaty{to{transform:translateY(-10px)}}
.sc-in .photo{transition:transform 1.6s var(--ease),filter .8s}
.sc:not(.on) .photo{filter:saturate(.82) brightness(.88)}
.sc.on:hover .photo{transform:scale(1.07)}
.sc-in::after{content:'';position:absolute;inset:0;z-index:2;border-radius:inherit;pointer-events:none;background:linear-gradient(160deg,rgba(255,214,130,.2),rgba(16,80,56,.24));mix-blend-mode:soft-light}
.sc-in::before{content:'';position:absolute;inset:12px;z-index:3;border-radius:inherit;border:1px solid rgba(255,255,255,.55);pointer-events:none;opacity:0;scale:.95;transition:opacity .7s .2s,scale 1.1s var(--ease)}
.sc.on .sc-in::before{opacity:1;scale:1}
.sc .badge{z-index:4}
.sc-cap{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:20px 22px 22px;background:linear-gradient(180deg,rgba(6,20,14,0) 0%,rgba(6,20,14,.72) 100%);color:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.sc-cap b{font-family:var(--f-display);font-weight:400;font-size:1.15rem}
.sc-cap span{font-size:.85rem;opacity:.9;white-space:nowrap}
.stage-info{display:grid;gap:12px;justify-items:start;min-height:186px;align-content:start}
.stage-info h3{font-size:clamp(1.9rem,3.4vw,2.9rem);font-weight:300;line-height:1.05}
.stage-info p{color:var(--ink-2);max-width:40ch}
.si-meta{display:flex;flex-wrap:wrap;gap:8px}
.si-meta>span{display:inline-flex;align-items:center;gap:8px;padding:.4em .9em;border-radius:999px;background:color-mix(in srgb,var(--surface) 82%,transparent);box-shadow:inset 0 0 0 1px var(--line);font-size:.85rem;font-weight:600}
.si-meta .ico{width:1em;height:1em;color:var(--fern)}
.si-meta small{font-weight:500;color:var(--ink-3)}
.stage-info.swap>*{animation:fade-up .8s var(--ease) both}
.stage-info.swap>*:nth-child(2){animation-delay:.07s}
.stage-info.swap>*:nth-child(3){animation-delay:.14s}
.stage-info.swap>*:nth-child(4){animation-delay:.21s}
.stage-ctl{display:flex;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}
.ring-btn{position:relative;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--surface);transition:transform .4s var(--ease)}
.ring-btn:hover{transform:scale(1.06)}
.ring-btn .rb{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.rb circle{fill:none;stroke-width:2}
.rb-track{stroke:var(--line)}
.rb-prog{stroke:var(--btn);stroke-linecap:round;stroke-dasharray:138.2;stroke-dashoffset:138.2}
.rb-prog.run{animation:ringp 5.6s linear forwards}
@keyframes ringp{to{stroke-dashoffset:0}}
.stage.paused .rb-prog{animation-play-state:paused}
.stage-ctl .link{margin-left:8px}
.stage-dots{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.sd{position:relative;width:36px;height:36px;border-radius:50%;overflow:hidden;opacity:.55;scale:.92;transition:opacity .4s,scale .5s var(--ease),box-shadow .4s}
.sd:hover{opacity:.9}
.sd.on{opacity:1;scale:1.12;box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--btn)}
.sd .ph b{font-size:1rem}
@media (max-width:900px){
  .stage-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "deck" "info" "nav";row-gap:8px}
  .stage-head{text-align:center}
  .stage-deck{--cw:clamp(170px,46vw,240px)}
  .stage-info{justify-items:center;text-align:center;min-height:0}
  .si-meta{justify-content:center}
  .stage-ctl,.stage-dots,.stage-nav{justify-content:center}
  .stage-word{right:auto;left:50%;translate:-50% -30%;font-size:clamp(4.5rem,24vw,9rem)}
}
@media (max-width:480px){.stage-deck{--cw:clamp(150px,58vw,190px)}}
@media (max-width:640px){.stage-deck{overflow:visible}.sc:not(.on){opacity:0!important;pointer-events:none}.sc.on{transform:translate(-50%,-50%) scale(1)!important}}

/* ===== route: holding network ===== */
.rt{position:relative}
.rt-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:clamp(14px,2vw,26px)}
.rt-hubrow{position:relative;z-index:1;display:grid;place-items:center;height:clamp(170px,17vw,210px)}
.hub{position:relative;width:clamp(92px,8vw,112px);aspect-ratio:1}
.hub-core{position:absolute;inset:0;border-radius:50%;display:grid;place-items:center;background:var(--surface);box-shadow:0 0 0 1px var(--line),0 24px 50px -16px color-mix(in srgb,var(--fern) 55%,transparent),0 0 70px -8px color-mix(in srgb,var(--fern) 38%,transparent)}
.hub-core svg,.hub-core img{width:56%;height:56%;object-fit:contain}
.hub-p{position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--fern);opacity:0;animation:hubp 3.6s ease-out infinite}
.hub-p.b{animation-delay:1.8s}
.rt.focus .hub-p{animation-duration:1.8s}
@keyframes hubp{0%{transform:scale(1);opacity:.55}100%{transform:scale(2.3);opacity:0}}
.rt-svg{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible}
.pg{transition:opacity .45s}
.rt-svg.has-focus .pg{opacity:.14}
.rt-svg.has-focus .pg.soft{opacity:.5}
.rt-svg.has-focus .pg.on{opacity:1}
.rl{fill:none;stroke-linecap:round}
.rl.base{stroke:var(--fern);stroke-opacity:.42;stroke-width:1.8;stroke-dasharray:1;transition:stroke-opacity .4s,stroke-width .4s}
.rt:not(.in) .rl.base{stroke-dashoffset:1}
.rt.in .rl.base{animation:drawl 1.8s var(--ease) var(--dl,0s) both}
@keyframes drawl{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.pg.on .rl.base{stroke-opacity:.95;stroke-width:2.8}
.rl.flow{stroke:color-mix(in srgb,var(--fern) 65%,#fff);stroke-width:1.6;stroke-dasharray:2 13;animation:flowd 7s linear infinite}
.rt:not(.in) .rl.flow{opacity:0}
@keyframes flowd{to{stroke-dashoffset:-150}}
.dot{fill:var(--citrus)}
.halo{fill:var(--citrus);opacity:.3}
.pin{fill:var(--surface);stroke:var(--fern);stroke-width:2}
.rn{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:28px 18px 22px;border-radius:28px;background:linear-gradient(180deg,color-mix(in srgb,hsl(var(--h) 60% 60%) 17%,var(--surface)),var(--surface) 64%);box-shadow:inset 0 0 0 1px var(--line),0 26px 50px -34px rgba(0,0,0,.4);transition:box-shadow .5s,opacity .9s var(--ease) calc(var(--n2,0)*90ms),filter .9s var(--ease) calc(var(--n2,0)*90ms);min-width:0;overflow:hidden}
.js .rt:not(.in) .rn{opacity:0;filter:blur(8px)}
.rn:hover,.rn:focus-visible{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--fern) 70%,transparent),0 36px 64px -30px color-mix(in srgb,var(--fern) 65%,transparent)}
.rn-tag{position:absolute;left:16px;top:14px;font-size:.72rem;font-weight:600;padding:.2em .75em;border-radius:999px;background:color-mix(in srgb,var(--fern) 14%,transparent);color:var(--fern)}
.rn-go{position:absolute;right:14px;top:12px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--btn);color:var(--on-btn);opacity:0;scale:.6;transition:opacity .4s,scale .5s var(--ease)}
.rn-go .ico{width:16px;height:16px}
.rn:hover .rn-go,.rn:focus-visible .rn-go{opacity:1;scale:1}
.rn-flag{margin-top:10px}
.rn-flag .flag{width:76px;height:51px;border-radius:9px;box-shadow:0 12px 26px -10px rgba(0,0,0,.5),0 0 0 1px rgba(0,0,0,.1);transition:transform .6s var(--ease)}
.rn:hover .flag{transform:scale(1.06) rotate(-2deg)}
.rn .alogo{width:76px;height:76px;border-radius:26px;font-size:1.8rem;margin-top:10px;transition:transform .6s var(--ease)}
.rn:hover .alogo{transform:scale(1.06) rotate(-2deg)}
.rn-t{width:100%;font-family:var(--f-display);font-weight:300;font-size:clamp(1.5rem,2.2vw,1.95rem);line-height:1.1;margin-top:8px;font-variation-settings:"SOFT" 100,"opsz" 72;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.rn-s{width:100%;color:var(--ink-3);font-size:.86rem;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rn-a{width:100%;font-size:.86rem;font-weight:600;color:var(--ink-2);line-height:1.35;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.rn-p{display:flex;align-items:center;justify-content:center;margin-top:10px}
.rn-p .mini{width:34px;height:34px;margin-right:-8px}
.rn-p .mini .ph b{font-size:1rem}
.rn-p em{font-style:normal;margin-left:18px;font-size:.82rem;color:var(--ink-2)}
@media (max-width:900px){.rt-row{grid-template-columns:repeat(2,minmax(0,1fr))}.rt-svg{display:none}.rt-hubrow{height:120px}.rn-tag{display:none}}

/* ===== route map (home) ===== */
.rmap{position:relative}
.rmap-svg{width:100%;height:auto;display:block}
.rmap-pts{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:22px}
.rpt{display:inline-flex;align-items:center;gap:8px;padding:.5em 1.1em;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-weight:600;font-size:.92rem;transition:box-shadow .3s,transform .3s var(--ease)}
.rpt:hover{box-shadow:inset 0 0 0 1.5px var(--fern);transform:translateY(-2px)}
.rmap-hub{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-weight:600;color:var(--fern)}

/* ===== harvest wheel ===== */
.hcal{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(24px,5vw,72px);align-items:center}
.hl-head{display:flex;align-items:center;gap:18px;margin-bottom:20px}
.hl-head b{font-family:var(--f-display);font-weight:300;font-size:clamp(3.2rem,6vw,5rem);line-height:1;color:var(--fern);font-variation-settings:"SOFT" 100,"opsz" 120}
.hl-head span{color:var(--ink-2);line-height:1.35}
.hl-head em{font-style:normal;font-family:var(--f-display);font-size:1.3rem;color:var(--ink)}
.hl{border-top:1px solid var(--line)}
.hl-row{--cc:var(--c);position:relative;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:12px 8px;border-bottom:1px solid var(--line);transition:background-color .35s,padding .45s var(--ease)}
:root[data-theme="dark"] .hl-row,:root[data-theme="dark"] .hwg{--cc:var(--cd)}
.hl-row:hover,.hl-row.on{background:color-mix(in srgb,var(--cc) 12%,transparent);padding-inline:16px}
.hl-dot{width:14px;height:14px;border-radius:50%;background:var(--cc);box-shadow:0 0 0 4px color-mix(in srgb,var(--cc) 22%,transparent);transition:transform .4s var(--ease)}
.hl-row:hover .hl-dot,.hl-row.on .hl-dot{transform:scale(1.25)}
.hl-n{font-weight:600}
.hl-m{color:var(--ink-3);font-size:.86rem;white-space:nowrap}
.hl-now{width:9px;height:9px;border-radius:50%;background:transparent}
.hl-now.on{background:#2FAE6B;box-shadow:0 0 0 0 rgba(47,174,107,.5);animation:nowp 2.2s ease-out infinite}
@keyframes nowp{0%{box-shadow:0 0 0 0 rgba(47,174,107,.55)}100%{box-shadow:0 0 0 10px rgba(47,174,107,0)}}
.hw{position:relative;width:min(100%,600px);aspect-ratio:1;margin-inline:auto;container-type:inline-size}
.hw::before{content:'';position:absolute;inset:4%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--fern) 14%,transparent),transparent 68%);z-index:-1}
.hw svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hwo{fill:none;stroke:var(--line);stroke-width:1}
.hwn{fill:color-mix(in srgb,var(--fern) 13%,transparent);stroke:color-mix(in srgb,var(--fern) 45%,transparent);stroke-width:1}
.hws{stroke:var(--line);stroke-width:1;opacity:.7}
.hwm{font:600 13px var(--f-body);fill:var(--ink-3)}
.hwm.now{fill:var(--fern);font-weight:800}
.hwg{--cc:var(--c);transition:opacity .4s}
.hwt{fill:none;stroke:var(--line);stroke-width:var(--th);opacity:.55}
.hwr{fill:none;stroke:var(--cc);stroke-width:var(--th);stroke-linecap:round;stroke-dasharray:1 1;transition:stroke-width .35s,filter .35s}
.hw.has-focus .hwg{opacity:.16}
.hw.has-focus .hwg.on{opacity:1}
.hwg.on .hwr{stroke-width:calc(var(--th)*1.35);filter:drop-shadow(0 0 6px var(--cc))}
.js .hw:not(.in) .hwr{stroke-dashoffset:1}
.hw.in .hwr{animation:hwdraw 1.5s var(--ease) var(--d,0s) both}
@keyframes hwdraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.needle{transform-origin:320px 320px;transform:rotate(var(--a))}
.needle line{stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;opacity:.75}
.needle .nd{fill:var(--citrus);stroke:var(--surface);stroke-width:2}
.needle .nh{fill:var(--citrus);opacity:.3;animation:nowp2 2.4s ease-out infinite}
@keyframes nowp2{0%{transform:scale(1);opacity:.4}100%{transform:scale(2.2);opacity:0}}
.needle .nh{transform-box:fill-box;transform-origin:center}
.hw.in .needle{animation:sweep 2.6s var(--ease) .5s both}
.js .hw:not(.in) .needle{opacity:0}
@keyframes sweep{from{transform:rotate(-50deg);opacity:0}25%{opacity:1}to{transform:rotate(var(--a));opacity:1}}
.hw-c{position:absolute;left:50%;top:50%;translate:-50% -50%;width:var(--hw);display:grid;justify-items:center;gap:4px;text-align:center;pointer-events:none}
.hw-c small{font-size:clamp(.62rem,2.4cqw,.8rem);color:var(--ink-3);font-weight:600}
.hw-c b{font-family:var(--f-display);font-weight:300;font-size:clamp(1.05rem,5cqw,2rem);line-height:1.1;font-variation-settings:"SOFT" 100,"opsz" 72}
.hw-c span{font-size:clamp(.66rem,2.5cqw,.86rem);color:var(--ink-2);line-height:1.3}
@media (max-width:900px){.hcal{grid-template-columns:minmax(0,1fr)}.hw{order:-1;width:min(100%,480px)}}


/* ===== journey: field to pallet ===== */
.jn{position:relative;isolation:isolate;overflow:hidden;padding-top:clamp(64px,7.2vw,100px);padding-bottom:clamp(44px,5vw,70px);margin-top:clamp(20px,3vw,40px);margin-bottom:0;color:#fff;background:#0C332A}
.jn-in{position:relative;z-index:2}
.jn-bg{position:absolute;inset:0;z-index:-2}
.jn-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6;transform:scale(1.06)}
.jn::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,rgba(6,28,22,.94),rgba(9,46,36,.82) 60%,rgba(12,58,44,.72))}
.jn-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,48px)}
.jn h2{color:#fff}
.jn .lead{color:rgba(255,255,255,.78)}
.jn-track{position:relative}
.jn-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.jn-col{display:flex;flex-direction:column;align-items:center;text-align:center;padding-inline:clamp(7px,1vw,13px);transition:opacity .9s var(--ease) calc(.4s + var(--k)*.15s),transform .9s var(--ease) calc(.4s + var(--k)*.15s)}
.js .jn:not(.in) .jn-col{opacity:0;transform:translateY(26px)}
.jn-node{position:relative;z-index:2;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35);animation:nodeglow 9s ease-in-out calc(var(--k)*2.6s) infinite}
.jn-node .ico{width:32px;height:32px;stroke-width:1.4}
@keyframes nodeglow{0%{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35);background:rgba(255,255,255,.1)}4%,14%{box-shadow:inset 0 0 0 2px var(--citrus),0 0 0 8px rgba(240,181,81,.2),0 0 40px 6px rgba(240,181,81,.45);background:rgba(240,181,81,.22)}24%,100%{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35);background:rgba(255,255,255,.1)}}
.jn-line{position:absolute;left:12.5%;right:12.5%;top:37px;height:2px;z-index:1;background:rgba(255,255,255,.2);transform-origin:left;transition:transform 1.8s var(--ease) .3s}
.jn-line::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--citrus) 50%,transparent 50%) 0 0/16px 2px repeat-x;opacity:.9;animation:lineflow 1.6s linear infinite}
@keyframes lineflow{to{background-position:16px 0}}
.js .jn:not(.in) .jn-line{transform:scaleX(0)}
.jn-dot{position:absolute;top:37px;left:12.5%;z-index:3;width:14px;height:14px;margin:-6px 0 0 -7px;border-radius:50%;background:var(--citrus);box-shadow:0 0 0 6px rgba(240,181,81,.25),0 0 26px 6px rgba(240,181,81,.65);animation:trip 9s ease-in-out infinite}
.js .jn:not(.in) .jn-dot{opacity:0;animation:none}
@keyframes trip{0%,6%{left:12.5%;opacity:1}28%,36%{left:37.5%}58%,66%{left:62.5%}88%,94%{left:87.5%;opacity:1}98%{left:87.5%;opacity:0}99%{left:12.5%;opacity:0}100%{left:12.5%;opacity:1}}
.jn-stem{width:2px;height:22px;background:linear-gradient(rgba(255,255,255,.5),rgba(255,255,255,.08))}
.jn-card{width:100%;flex:1;padding:20px 16px 18px;border-radius:24px;background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);display:grid;gap:8px;justify-items:center;align-content:start;transition:background-color .4s,transform .5s var(--ease)}
.jn-card:hover{background:rgba(255,255,255,.14);transform:translateY(-4px)}
.jn-card h3{color:#fff;font-size:1.35rem}
.jn-card p{color:rgba(255,255,255,.82);font-size:.92rem}
.jn-chip{margin-top:4px;padding:.3em .85em;border-radius:999px;font-size:.78rem;font-weight:600;background:rgba(240,181,81,.18);color:#FFD98A;box-shadow:inset 0 0 0 1px rgba(240,181,81,.4)}
@media (max-width:860px){.jn-row{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}.jn-line,.jn-dot,.jn-stem{display:none}.jn-node{margin-bottom:12px}}
@media (max-width:480px){.jn-row{grid-template-columns:minmax(0,1fr)}}

/* ===== factories: index + preview ===== */
.fx-sec{padding-block:clamp(30px,4.4vw,60px)}
.fx-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:clamp(24px,3.4vw,42px)}
.fx-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(18px,3vw,40px);align-items:stretch}
.fx-pv{position:relative;min-height:clamp(390px,40vw,480px);border-radius:36px;overflow:hidden;isolation:isolate;background:#0C332A;box-shadow:var(--shadow)}
.fx-p{position:absolute;inset:0;opacity:0;visibility:hidden;transform:scale(1.04);transition:opacity .9s,transform 1.6s var(--ease),visibility 0s .9s}
.fx-p.on{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.fx-p::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 60% at 82% 8%,hsl(var(--h) 65% 58%/.38),transparent 70%);animation:fxaur 12s ease-in-out infinite alternate}
@keyframes fxaur{to{transform:translate(-6%,8%) scale(1.15)}}
.fx-p .fph b{display:none}
.fx-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,18,14,.08) 18%,rgba(4,18,14,.84));z-index:1}
.fx-body{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:clamp(22px,3vw,36px);color:#fff;display:grid;gap:12px;justify-items:start}
.fx-flag .flag{width:84px;height:56px;border-radius:10px;box-shadow:0 14px 30px -10px rgba(0,0,0,.6)}
.fx-body h3{font-size:clamp(2.3rem,4.6vw,3.7rem);color:#fff;font-weight:300;line-height:1}
.fx-body p{color:rgba(255,255,255,.86)}
.fx-facts{display:flex;flex-wrap:wrap;gap:8px}
.fx-facts span{padding:.4em .9em;border-radius:999px;background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.26);font-size:.84rem}
.fx-facts b{font-weight:700}
.fx-prods{display:flex;align-items:center}
.fx-prods .mini{width:38px;height:38px;margin-right:-9px;box-shadow:0 0 0 3px rgba(4,18,14,.55)}
.fx-prods em{font-style:normal;margin-left:20px;font-size:.86rem;color:rgba(255,255,255,.85)}
.fx-body .btn-primary{background:#fff;color:#0F3A2E}
.fx-p.on .fx-body>*{animation:fade-up .9s var(--ease) both}
.fx-p.on .fx-body>*:nth-child(2){animation-delay:.08s}
.fx-p.on .fx-body>*:nth-child(3){animation-delay:.16s}
.fx-p.on .fx-body>*:nth-child(4){animation-delay:.24s}
.fx-p.on .fx-body>*:nth-child(5){animation-delay:.32s}
.fx-p.on .fx-body>*:nth-child(6){animation-delay:.4s}
.fx-list{display:grid;gap:10px;align-content:stretch}
.fx-row{position:relative;overflow:hidden;height:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:16px 20px;border-radius:24px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);transition:background-color .4s,box-shadow .4s,padding .5s var(--ease)}
.fx-row .flag{width:54px;height:36px;border-radius:6px}
.fx-row b{font-family:var(--f-display);font-weight:400;font-size:1.45rem;line-height:1.15;display:block}
.fx-row small{display:block;color:var(--ink-3);font-size:.86rem;line-height:1.35}
.fx-go{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px var(--line);transition:background-color .35s,color .35s,transform .5s var(--ease)}
.fx-row.on{background:color-mix(in srgb,var(--fern) 10%,var(--surface));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--fern) 60%,transparent);padding-left:28px}
.fx-row.on .fx-go{background:var(--btn);color:var(--on-btn);transform:translateX(2px)}
.fx-prog{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--fern);transform-origin:left;transform:scaleX(0)}
.fx-row.on .fx-prog{animation:fxp 6s linear forwards}
@keyframes fxp{to{transform:scaleX(1)}}
@media (max-width:860px){.fx-grid{grid-template-columns:minmax(0,1fr)}.fx-pv{min-height:400px}}


/* intro / stats */
.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(36px,7vw,110px);align-items:center}
.intro h2{margin-bottom:22px;max-width:15em}
.intro p+p{margin-top:14px}
.intro .link{margin-top:26px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:0}
.stats li{padding:26px 8px 26px 0;border-top:1px solid var(--line)}
.stats li:nth-child(2n){padding-left:24px;border-left:1px solid var(--line)}
.stats b{display:block;font-family:var(--f-display);font-weight:300;font-size:clamp(2.6rem,5vw,4rem);line-height:1;font-variation-settings:"SOFT" 100,"opsz" 120;color:var(--fern)}
.stats span{display:block;margin-top:8px;color:var(--ink-2);font-size:.95rem}
@media (max-width:820px){.intro{grid-template-columns:1fr}}

/* rail */
.rail-ctl{display:flex;gap:8px}
.rail{--pad:max(var(--gut),calc((100vw - var(--max))/2 + var(--gut)));display:grid;grid-auto-flow:column;grid-auto-columns:clamp(232px,24vw,300px);gap:clamp(16px,2vw,28px);overflow-x:auto;scroll-snap-type:x mandatory;padding:6px var(--pad) 18px;scroll-padding-inline:var(--pad);scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.rail::-webkit-scrollbar{display:none}
.rail>*{scroll-snap-align:start}

/* product card */
.pcard{display:block;cursor:pointer;-webkit-tap-highlight-color:transparent}
.parch{position:relative;aspect-ratio:4/4.9;border-radius:999px 999px 28px 28px;overflow:hidden;transition:box-shadow .6s}
.pcard:hover .pcard:hover .pcard:hover .parch{box-shadow:var(--shadow)}
.badge{position:absolute;left:50%;bottom:14px;translate:-50% 0;background:var(--pome);color:#fff;font-size:.78rem;font-weight:700;padding:.3em .8em;border-radius:999px;z-index:2;white-space:nowrap}
.pmeta{padding:16px 4px 0}
.pmeta h3{margin-bottom:4px}
.pshort{color:var(--ink-2);font-size:.92rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em}
.prow{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;font-size:.9rem}
.origin{display:inline-flex;align-items:center;gap:8px;color:var(--ink-2);min-width:0}
.price{font-weight:700;white-space:nowrap}
.price s{color:var(--ink-3);font-weight:400;margin-right:.35em;font-size:.86em}
.price small{font-weight:500;color:var(--ink-3)}
.flag{display:inline-block;width:24px;height:16px;border-radius:3px;overflow:hidden;flex:none;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.flag svg,.flag img{display:block;width:100%;height:100%;object-fit:cover}

/* products page */
.page-head{padding-top:clamp(40px,7vw,88px);padding-bottom:clamp(24px,4vw,44px)}
.page-head h1{margin-bottom:18px;max-width:14em}
.toolbar{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;justify-content:space-between;margin-bottom:34px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:.55em 1.1em;border-radius:999px;font-size:.9rem;font-weight:500;box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink-2);transition:background-color .3s,color .3s,box-shadow .3s}
.chip:hover{box-shadow:inset 0 0 0 1.5px var(--ink-3)}
.chip[aria-pressed="true"]{background:var(--btn);color:var(--on-btn);box-shadow:none}
.search,.pfield,.asearch{position:relative;min-width:min(100%,260px)}
.search input,.pfield input,.asearch input{width:100%;padding:.75em 1.1em .75em 2.7em}
.search .ico,.pfield .ico,.asearch .ico{position:absolute;left:1em;top:50%;translate:0 -50%;color:var(--ink-3);pointer-events:none}
.asearch{display:flex;align-items:center;margin-bottom:24px}
.asearch .acount{margin-left:auto;padding-left:16px;color:var(--ink-2);font-size:.9rem;white-space:nowrap}
.grid{display:grid;gap:clamp(28px,3.4vw,48px) clamp(18px,2.4vw,32px)}
.pgrid{display:grid;gap:clamp(28px,3.4vw,48px) clamp(18px,2.4vw,32px);grid-template-columns:repeat(auto-fill,minmax(232px,1fr))}
.empty,.empty-msg{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--ink-2)}
.empty h3{margin-bottom:8px;color:var(--ink)}
.pgrid-wrap{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(24px,3vw,48px);align-items:start}
.pfilters{display:flex;flex-direction:column;gap:22px;position:sticky;top:100px}
.pf-block h4{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);margin-bottom:10px;font-weight:600}
.check{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.94rem}
.check input{width:18px;height:18px;flex:none;accent-color:var(--fern)}
@media (max-width:900px){.pgrid-wrap{grid-template-columns:minmax(0,1fr)}.pfilters{position:static;flex-direction:row;flex-wrap:wrap;gap:24px}}

/* inputs */
input,select,textarea,.xselect-btn{font:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:.75em 1em;width:100%;transition:border-color .3s,box-shadow .3s}
input:focus,select:focus,textarea:focus,.xselect-btn:focus-visible{outline:none;border-color:var(--fern);box-shadow:0 0 0 4px color-mix(in srgb,var(--fern) 22%,transparent)}
input[type=color]{padding:4px;height:46px;cursor:pointer}
input[type=radio]{width:auto}
textarea{resize:vertical;line-height:1.55}
.search input{border-radius:999px}

/* factories on home */
.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,6vw,100px);align-items:start}
.split h2{margin-bottom:18px}
.split .link{margin-top:26px}
.frows{border-top:1px solid var(--line)}
.frow{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:clamp(12px,2vw,26px);padding:22px 6px;border-bottom:1px solid var(--line);transition:padding .45s var(--ease),background-color .4s}
.frow:hover{padding-inline:20px;background:color-mix(in srgb,var(--fern) 9%,transparent)}
.frow .flag{width:44px;height:29px;border-radius:5px}
.fr-main b{display:block;font-family:var(--f-display);font-weight:400;font-size:1.5rem;line-height:1.15}
.fr-main small{color:var(--ink-3);font-size:.9rem}
.fr-city{color:var(--ink-2);font-size:.92rem}
.fr-go{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px var(--line);transition:background-color .35s,color .35s,transform .45s var(--ease)}
.frow:hover .fr-go{background:var(--btn);color:var(--on-btn);transform:translateX(4px)}
@media (max-width:820px){.split{grid-template-columns:1fr}.fr-city{display:none}.frow{grid-template-columns:auto 1fr auto}}

/* values */
.values,.vals-grid{display:grid;grid-template-columns:repeat(3,1fr);background:var(--bg-soft);border-radius:36px;overflow:hidden}
.values>div,.vals-grid>div{padding:clamp(28px,4vw,52px)}
.values>div+div,.vals-grid>div+div{border-left:1px solid var(--line)}
.values .ico,.vals-grid .ico{width:38px;height:38px;color:var(--fern);margin-bottom:22px;stroke-width:1.5}
.values h3,.vals-grid h3{margin-bottom:10px}
.values p,.vals-grid p{color:var(--ink-2)}
@media (max-width:820px){.values,.vals-grid{grid-template-columns:1fr}.values>div+div,.vals-grid>div+div{border-left:0;border-top:1px solid var(--line)}}

/* offers */
.ogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:20px}
.ocard{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:auto 1fr;gap:20px;padding:24px;border-radius:26px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);transition:transform .5s var(--ease),box-shadow .5s}
.ocard::before{content:'';position:absolute;left:0;top:16px;bottom:16px;width:3px;border-radius:0 3px 3px 0;background:var(--fern);opacity:.75}
.ocard.t-offer::before{background:var(--pome)}
.ocard.t-notice::before{background:var(--citrus)}
.ocard:not(.expired):hover{transform:translateY(-5px);box-shadow:0 30px 50px -28px rgba(0,0,0,.35),inset 0 0 0 1px var(--line)}
.ocard.expired{opacity:.55}
.o-disc,.o-ico{position:relative}
.o-disc::after,.o-ico::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:1.5px dashed currentColor;opacity:.3;animation:spin 20s linear infinite}
.ocard:hover .o-disc::after,.ocard:hover .o-ico::after{animation-duration:5s;opacity:.55}
.o-disc{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:radial-gradient(120% 120% at 30% 22%,color-mix(in srgb,var(--pome) 70%,#fff 18%),var(--pome));color:#fff;text-align:center;line-height:1;box-shadow:0 14px 26px -12px color-mix(in srgb,var(--pome) 60%,transparent)}
.o-disc b{font-family:var(--f-display);font-weight:400;font-size:1.5rem}
.o-disc small{font-size:.72rem;margin-top:-10px}
.o-ico{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:radial-gradient(120% 120% at 30% 22%,color-mix(in srgb,var(--fern) 55%,#fff 20%),var(--fern-l));color:var(--fern)}
.o-ico .ico{width:30px;height:30px}
.o-type{display:inline-block;font-size:.78rem;font-weight:600;padding:.2em .75em;border-radius:999px;background:var(--fern-l);color:var(--fern);margin-bottom:8px}
.t-offer .o-type{background:color-mix(in srgb,var(--pome) 15%,transparent);color:var(--pome)}
.t-notice .o-type{background:color-mix(in srgb,var(--citrus) 22%,transparent);color:color-mix(in srgb,var(--citrus) 70%,var(--ink))}
.ocard h3{font-size:1.28rem;margin-bottom:6px;font-weight:400}
.ocard p{color:var(--ink-2);font-size:.95rem}
.o-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:14px;font-size:.86rem;color:var(--ink-3)}
.code{display:inline-flex;align-items:center;gap:8px;padding:.35em .8em;border-radius:10px;border:1.5px dashed var(--ink-3);font-weight:700;letter-spacing:.06em;color:var(--ink);font-size:.82rem;transition:border-color .3s,color .3s,background-color .3s}
.code:hover{border-color:var(--fern);color:var(--fern);background:color-mix(in srgb,var(--fern) 8%,transparent)}
.code:hover{border-color:var(--fern);color:var(--fern)}
.code .ico{width:15px;height:15px}
@media (max-width:480px){.ocard{grid-template-columns:1fr}}

/* cta band */
.cta{position:relative;overflow:hidden;border-radius:40px;padding:clamp(40px,7vw,96px);background:linear-gradient(135deg,#1F5A3F,#2C7C73);color:#F2FAF5;isolation:isolate}
.cta::before,.cta::after{content:'';position:absolute;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 66%);animation:float 14s ease-in-out infinite alternate}
.cta::before{width:520px;height:520px;right:-140px;top:-200px}
.cta::after{width:420px;height:420px;left:-120px;bottom:-220px;animation-delay:-6s}
@keyframes float{to{transform:translate(-30px,24px) scale(1.08)}}
.cta h2{max-width:14em;margin-bottom:16px}
.cta p{color:rgba(242,250,245,.82);max-width:48ch;margin-bottom:28px}
.cta .btn-primary{background:#F2FAF5;color:#17402F;box-shadow:none}
.cta .btn-ghost{box-shadow:inset 0 0 0 1.5px rgba(242,250,245,.5);color:#F2FAF5}

/* factory cards */
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:clamp(22px,3vw,36px)}
.fcard{display:block;border-radius:32px;background:var(--surface);overflow:hidden;box-shadow:inset 0 0 0 1px var(--line);transition:transform .6s var(--ease),box-shadow .6s}
.fcard:hover{transform:translateY(-6px);box-shadow:var(--shadow),inset 0 0 0 1px var(--line)}
.fart{position:relative;aspect-ratio:16/8;overflow:hidden}
.fcard:hover .fart .photo{transform:scale(1.06)}
.fflag{position:absolute;left:22px;bottom:-1px;translate:0 50%;z-index:2;padding:5px;border-radius:12px;background:var(--surface);box-shadow:0 8px 20px -8px rgba(0,0,0,.35)}
.fflag .flag{width:58px;height:39px;border-radius:7px;display:block;box-shadow:none}
.fbody{padding:38px 26px 26px}
.fbody h3{font-size:1.85rem;font-weight:300}
.fagency{color:var(--ink-2);margin-top:2px}
.fmeta{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:8px 30px;margin:20px 0}
.fmeta dt{font-size:.78rem;color:var(--ink-3)}
.fmeta dd{margin:0;font-weight:600;font-size:.95rem}
.fprods{display:flex;align-items:center;gap:0}
.mini{position:relative;width:44px;height:44px;border-radius:50%;margin-right:-10px;box-shadow:0 0 0 3px var(--surface);overflow:hidden}
.mini .ph b{font-size:1.1rem}
.fcount{margin-left:22px;color:var(--ink-2);font-size:.9rem}
/* factory detail */
.back{display:inline-flex;align-items:center;gap:.5em;color:var(--ink-2);font-weight:500;margin-bottom:22px;transition:color .3s,gap .3s}
.back:hover{color:var(--ink);gap:.8em}
.fhero{position:relative;border-radius:40px;overflow:hidden;aspect-ratio:16/6;min-height:240px}
.ftitle{display:flex;align-items:flex-end;gap:clamp(16px,3vw,32px);margin:-46px 0 0;padding-inline:clamp(18px,3vw,40px);position:relative;z-index:2;flex-wrap:wrap}
.ftitle .fflag{position:static;translate:none}
.ftitle .fflag .flag{width:96px;height:64px;border-radius:10px}
.ftitle h1{font-size:clamp(2.2rem,5vw,4.2rem)}
.ftitle p{color:var(--ink-2);margin-top:6px;font-size:1.1rem}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-top:44px;border-block:1px solid var(--line)}
.facts>div{padding:24px 20px 24px 0}
.facts>div+div{padding-left:24px;border-left:1px solid var(--line)}
.facts dt{font-size:.82rem;color:var(--ink-3)}
.facts dd{margin:4px 0 0;font-family:var(--f-display);font-size:1.5rem;font-weight:300;line-height:1.2}
.two{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(30px,6vw,90px);margin-top:clamp(40px,6vw,72px)}
.prose p+p{margin-top:16px}
.prose{color:var(--ink-2);font-size:1.06rem;max-width:62ch}
.person{display:flex;gap:16px;align-items:center;padding:22px;border-radius:26px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);margin-bottom:22px}
.avatar{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--fern-l);color:var(--fern);font-family:var(--f-display);font-size:1.5rem;overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover}
.person small{display:block;color:var(--ink-3);font-size:.82rem}
.person b{font-family:var(--f-display);font-weight:400;font-size:1.3rem}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{padding:.4em .95em;border-radius:999px;background:var(--fern-l);color:var(--fern);font-size:.86rem;font-weight:600}
.pager{display:flex;justify-content:space-between;gap:16px;margin-top:clamp(50px,7vw,90px);padding-top:28px;border-top:1px solid var(--line)}
.pager a{display:flex;align-items:center;gap:14px}
.pager small{display:block;color:var(--ink-3);font-size:.82rem}
.pager b{font-family:var(--f-display);font-weight:400;font-size:1.35rem}
.pager .next{text-align:right;margin-left:auto}
@media (max-width:820px){.two{grid-template-columns:1fr}.fhero{aspect-ratio:16/9}}

/* agents */
.agrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,370px),1fr));gap:clamp(20px,2.6vw,32px)}
.acard{display:flex;flex-direction:column;padding:28px;border-radius:32px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);transition:transform .6s var(--ease),box-shadow .6s}
.acard:hover{transform:translateY(-5px);box-shadow:var(--shadow),inset 0 0 0 1px var(--line)}
.ahead{display:flex;gap:16px;align-items:center;margin-bottom:18px}
.alogo{width:66px;height:66px;border-radius:22px;display:grid;place-items:center;flex:none;font-family:var(--f-display);font-size:1.6rem;font-weight:400;color:#fff;background:hsl(var(--h) 38% 38%);overflow:hidden}
.alogo img{width:100%;height:100%;object-fit:cover}
.ahead h3{font-size:1.3rem;line-height:1.2}
.aloc{display:flex;align-items:center;gap:8px;color:var(--ink-2);font-size:.9rem;margin-top:4px}
.arole{color:var(--ink-2);font-size:.95rem;margin-bottom:16px}
.arole b{color:var(--ink);font-weight:600}
.alist{display:grid;gap:4px;margin-bottom:22px}
.alist a,.alist div{display:flex;align-items:center;gap:12px;padding:.55em .7em;margin-inline:-.7em;border-radius:12px;font-size:.95rem;transition:background-color .3s}
.alist a:hover{background:color-mix(in srgb,var(--fern) 10%,transparent)}
.alist .ico{color:var(--fern);width:1.15em;height:1.15em}
.abtns{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}

/* about */
.about-hero .bigmark svg,.about-hero .bigmark img{width:58%;height:58%;object-fit:contain}
@keyframes float2{to{transform:translateY(-14px) rotate(2deg)}}
.about-hero h1{margin-bottom:22px}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(30px,6vw,90px);align-items:start}
.clist{display:grid;gap:6px;margin:28px 0}
.clist a,.clist div{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.clist .ico{width:26px;height:26px;color:var(--fern)}
.clist small{display:block;color:var(--ink-3);font-size:.82rem;line-height:1.2}
.clist b{font-weight:600}
.socials{display:flex;flex-wrap:wrap;gap:10px}
.social{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px var(--line);transition:transform .45s var(--ease),background-color .3s,color .3s}
.social:hover{transform:translateY(-4px) rotate(-6deg);background:var(--btn);color:var(--on-btn);box-shadow:none}
.social .ico{width:22px;height:22px}
.form{display:grid;gap:18px}
.formcard{padding:clamp(24px,4vw,44px);border-radius:36px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.formcard h2{font-size:1.9rem;margin-bottom:22px}
.field{display:grid;gap:7px;align-content:start}
.field label{font-size:.88rem;font-weight:600;color:var(--ink-2)}
.field label i{color:var(--pome);font-style:normal}
.field small{color:var(--ink-3);font-size:.8rem}
.frm2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field.wide{grid-column:1/-1}
.field.hidden{display:none}
.thanks{text-align:center;padding:30px 10px}
.thanks .o-ico{margin:0 auto 20px;width:84px;height:84px}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr}.frm2{grid-template-columns:1fr}}

/* footer */

/* overlay & sheets */
.overlay{position:fixed;inset:0;z-index:100;visibility:hidden;pointer-events:none;transition:visibility 0s .4s}
.overlay.open{visibility:visible;pointer-events:auto;transition-delay:0s}
.scrim{position:absolute;inset:0;background:rgba(5,22,22,.55);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);opacity:0;transition:opacity .4s}
.overlay.open .scrim{opacity:1}
.sheet{position:absolute;left:50%;top:50%;width:min(calc(100% - 32px),640px);max-height:min(90svh,880px);overflow:auto;overscroll-behavior:contain;border-radius:34px;background:var(--bg);box-shadow:0 40px 90px -30px rgba(0,0,0,.6);transform:translate(-50%,-46%) scale(.97);opacity:0;transition:transform .55s var(--ease),opacity .4s;outline:none}
.sheet.wide{width:min(calc(100% - 32px),1040px)}
.overlay.open .sheet{transform:translate(-50%,-50%);opacity:1}
.x{position:absolute;right:14px;top:14px;z-index:5;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--bg) 85%,transparent);box-shadow:inset 0 0 0 1.5px var(--line);transition:transform .4s var(--ease)}
.x:hover{transform:rotate(90deg)}
.pview{display:grid;grid-template-columns:.9fr 1.1fr}
.pview-art{position:relative;padding:clamp(20px,3vw,36px);display:grid;place-items:center;background:var(--bg-soft)}
.pview-art .parch{width:100%;max-width:400px}
.pview-body{padding:clamp(26px,4vw,48px)}
.pview-body .crumbs{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-bottom:14px;font-size:.9rem}
.pview-body h2{font-size:clamp(1.9rem,3.4vw,2.7rem);margin-bottom:14px}
.pprice{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.pprice b{font-family:var(--f-display);font-weight:400;font-size:2.2rem;line-height:1}
.pprice s{color:var(--ink-3)}
.pprice span{color:var(--ink-3);font-size:.92rem}
.pview-body>p{color:var(--ink-2);margin-bottom:20px}
.feat{display:grid;gap:8px;margin-bottom:22px}
.feat li{display:flex;gap:10px;align-items:flex-start;font-size:.96rem}
.feat .ico{color:var(--fern);margin-top:.22em;width:1.1em;height:1.1em}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line);margin-bottom:24px}
.specs div{padding:12px 10px 12px 0;border-bottom:1px solid var(--line)}
.specs div:nth-child(2n){padding-left:16px;border-left:1px solid var(--line)}
.specs dt{font-size:.78rem;color:var(--ink-3)}
.specs dd{margin:0;font-weight:600;font-size:.93rem}
.pview-cta{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:820px){
  .pview{grid-template-columns:1fr}
  .pview-art .parch{max-width:260px}
  .sheet,.sheet.wide{left:0;right:0;top:auto;bottom:0;width:100%;max-height:92svh;border-radius:30px 30px 0 0;transform:translateY(40px);padding-bottom:env(safe-area-inset-bottom,0px)}
  .overlay.open .sheet{transform:none}
}

/* toast */
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));translate:-50% 30px;z-index:300;background:var(--ink);color:var(--bg);padding:.8em 1.4em;border-radius:999px;font-size:.92rem;font-weight:500;opacity:0;pointer-events:none;transition:opacity .4s,translate .5s var(--ease);max-width:calc(100% - 32px);text-align:center}
.toast.show{opacity:1;translate:-50% 0}

/* dashboard */
.dash{display:grid;grid-template-columns:230px 1fr;gap:clamp(24px,4vw,56px);padding-block:clamp(28px,4vw,56px)}
.dside{position:sticky;top:calc(env(safe-area-inset-top,0px) + 96px);align-self:start}
.dside h1{font-size:2rem;margin-bottom:18px}
.dtabs{display:grid;gap:4px}
.dtabs a{padding:.7em 1em;border-radius:14px;font-weight:500;color:var(--ink-2);transition:background-color .3s,color .3s}
.dtabs a:hover{background:color-mix(in srgb,var(--ink) 7%,transparent)}
.dtabs a[aria-current]{background:var(--btn);color:var(--on-btn)}
.dnote{margin-top:20px;font-size:.84rem;color:var(--ink-3);line-height:1.5}
.dside-foot{display:grid;gap:14px}
.dlogout{justify-self:start}
.dlogout .ico{width:16px;height:16px}
.dhead{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:26px}
.dhead h2{font-size:2rem}
.dcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-bottom:34px}
.dcard{padding:24px;border-radius:26px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);display:block;transition:transform .5s var(--ease)}
.dcard:hover{transform:translateY(-4px)}
.dcard b{display:block;font-family:var(--f-display);font-weight:300;font-size:3rem;line-height:1;color:var(--fern)}
.dcard span{color:var(--ink-2);font-size:.92rem}
.dcards2{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.dcard2{padding:20px 22px}
.dcard-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;margin-bottom:14px;background:color-mix(in srgb,var(--fern) 13%,transparent);color:var(--fern)}
.dcard-ic .ico{width:20px;height:20px;stroke-width:1.6}
.dcard2 b{font-size:2.2rem}
.dgrid2{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px;align-items:stretch}
.dgrid2 .dpanel{margin-bottom:0}
.donut-wrap{display:flex;align-items:center;gap:clamp(20px,3vw,34px);flex-wrap:wrap}
.donut{position:relative;flex:none;width:150px;height:150px;border-radius:50%}
.donut-hole{position:absolute;inset:20%;border-radius:50%;background:var(--surface);display:grid;place-items:center;text-align:center;line-height:1.15}
.donut-hole b{font-family:var(--f-display);font-weight:300;font-size:1.9rem;color:var(--ink)}
.donut-hole span{font-size:.72rem;color:var(--ink-3)}
.donut-legend{display:grid;gap:9px;flex:1;min-width:150px}
.donut-legend li{display:flex;align-items:center;gap:10px;font-size:.9rem}
.donut-legend i{width:11px;height:11px;border-radius:3px;flex:none}
.donut-legend span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2)}
.donut-legend b{font-weight:700}
.hbar-list{display:grid;gap:13px}
.hbar-row{display:grid;grid-template-columns:auto minmax(90px,1.3fr) minmax(60px,1.7fr) auto;align-items:center;gap:10px;font-size:.88rem}
.hbar-flag{display:flex}
.hbar-flag .flag{width:26px;height:17px}
.hbar-lbl{color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hbar-track{height:9px;border-radius:99px;background:var(--bg-soft);overflow:hidden}
.hbar-fill{display:block;height:100%;border-radius:99px;background:var(--chart-2);transition:width .6s var(--ease)}
.hbar-val{font-weight:700;text-align:right;min-width:1.6em}
@media (max-width:760px){.dgrid2{grid-template-columns:1fr}}
@media (max-width:480px){.hbar-row{grid-template-columns:auto 1fr auto;grid-template-areas:"flag lbl val" "track track track";row-gap:6px}.hbar-flag{grid-area:flag}.hbar-lbl{grid-area:lbl;white-space:normal}.hbar-val{grid-area:val}.hbar-track{grid-area:track}}
.dlist{display:grid;gap:10px}
.drow{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:14px 16px;border-radius:22px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.dthumb{position:relative;width:54px;height:54px;border-radius:16px;overflow:hidden;display:grid;place-items:center;background:var(--bg-soft)}
.dthumb .ph b{font-size:1.4rem}
.dthumb .ico{width:24px;height:24px;color:var(--fern)}
.dthumb .flag{width:34px;height:23px}
.dinfo{min-width:0}
.dinfo b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dinfo span{color:var(--ink-3);font-size:.86rem;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dact{display:flex;gap:8px}
.dpanel{padding:clamp(20px,3vw,34px);border-radius:30px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);margin-bottom:22px}
.dpanel h3{margin-bottom:20px}
.fgrid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.savebar{position:sticky;bottom:calc(14px + env(safe-area-inset-bottom,0px));display:flex;justify-content:flex-end;gap:10px;padding:12px;border-radius:999px;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px var(--line);margin-top:10px}
.fpanel h2{font-size:1.7rem;padding:clamp(24px,3vw,34px) 70px 0 clamp(22px,3vw,34px)}
.fpanel .fbody2{padding:22px clamp(22px,3vw,34px);display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fpanel footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;padding:16px clamp(22px,3vw,34px);background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line)}
.imgpick{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.imgprev{position:relative;width:96px;height:72px;border-radius:14px;background:var(--bg-soft);display:grid;place-items:center;overflow:hidden;font-size:.76rem;color:var(--ink-3)}
.imgprev img,.imgprev video{width:100%;height:100%;object-fit:cover;transition:opacity .3s}
.imgpick.uploading .imgprev img,.imgpick.uploading .imgprev video{opacity:.35}
.imgpick.uploading .imgprev::after{content:'';position:absolute;top:50%;left:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;border:2.5px solid color-mix(in srgb,var(--ink) 15%,transparent);border-top-color:var(--fern);animation:spin .8s linear infinite}
.imgbtns{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.imgbtns label{cursor:pointer}
.img-status{font-size:.82rem;color:var(--ink-3);display:none;align-items:center;gap:6px}
.imgpick.uploading .img-status{display:flex}
.imgpick.uploading .imgbtns label,.imgpick.uploading .imgbtns button{pointer-events:none;opacity:.5}
.gpick{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.gprev{display:flex;flex-wrap:wrap;gap:10px}
.gth{position:relative;width:84px;height:84px;border-radius:14px;overflow:hidden;background:var(--bg-soft);box-shadow:inset 0 0 0 1px var(--line)}
.gth img{width:100%;height:100%;object-fit:cover}
.gdel{position:absolute;right:4px;top:4px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(4,18,14,.6);color:#fff;transition:background-color .3s}
.gdel:hover{background:var(--pome)}
.gdel .ico{width:13px;height:13px}
.g-empty{font-size:.82rem;color:var(--ink-3)}
.gpick .btn{cursor:pointer}
.xselect{position:relative}
.xselect select{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.xselect-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;cursor:pointer}
.xselect-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xselect-car{width:18px;height:18px;flex:none;color:var(--ink-3);transition:transform .3s var(--ease)}
.xselect.open .xselect-btn{border-color:var(--fern);box-shadow:0 0 0 4px color-mix(in srgb,var(--fern) 22%,transparent)}
.xselect.open .xselect-car{transform:rotate(180deg)}
.xselect-panel{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:20;background:var(--surface);border-radius:16px;box-shadow:0 24px 48px -18px rgba(0,0,0,.38),inset 0 0 0 1px var(--line);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transform-origin:top center;transition:opacity .22s var(--ease),transform .22s var(--ease),visibility 0s .22s;pointer-events:none}
.xselect.open .xselect-panel{opacity:1;visibility:visible;transform:none;transition:opacity .22s var(--ease),transform .22s var(--ease);pointer-events:auto}
.xselect-search{position:relative;padding:8px 8px 4px}
.xselect-search .ico{position:absolute;left:20px;top:50%;translate:0 -50%;width:16px;height:16px;color:var(--ink-3);pointer-events:none}
.xselect-search input{padding:.55em .8em .55em 2.3em;border-radius:10px;font-size:.9rem}
.xselect-list{list-style:none;margin:0;padding:6px;max-height:236px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ink) 22%,transparent) transparent}
.xselect-list::-webkit-scrollbar{width:8px}
.xselect-list::-webkit-scrollbar-track{background:transparent}
.xselect-list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink) 18%,transparent);border-radius:99px}
.xselect-list::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--ink) 32%,transparent)}
.xselect-list li{padding:.6em .85em;border-radius:10px;font-size:.94rem;cursor:pointer;transition:background-color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xselect-list li:hover{background:color-mix(in srgb,var(--fern) 14%,transparent)}
.xselect-list li.sel{background:var(--fern-l);color:var(--btn);font-weight:600}
.confirm{padding:clamp(26px,4vw,40px);text-align:center}
.confirm h2{font-size:1.6rem;margin-bottom:10px}
.confirm p{color:var(--ink-2);margin-bottom:24px}
.confirm .row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.confirm .btn.hot{background:var(--pome);color:#fff}
textarea.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;min-height:170px}
@media (max-width:920px){
  .dash{grid-template-columns:1fr}
  .dside{display:none}
  .mmenu .dlogout{align-self:center;margin-top:16px;opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .6s var(--ease)}
  body.menu-open .mmenu .dlogout{opacity:1;transform:none;transition-delay:calc(.05s + var(--i)*.05s)}
}
@media (max-width:620px){
  .fgrid2,.fpanel .fbody2{grid-template-columns:1fr}
  .drow{grid-template-columns:auto 1fr}
  .dact{grid-column:1/-1}
}

/* page transitions + reveal */
#main{transition:opacity .28s ease,transform .4s var(--ease);outline:none}
#main.is-out{opacity:0;transform:translateY(10px)}
.js [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity 1s var(--ease) var(--d,0ms),transform 1s var(--ease) var(--d,0ms)}
.js [data-reveal].in{opacity:1;transform:none}
.hide-foot .footer{display:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js [data-reveal]{opacity:1;transform:none}
  .grow .w,.hero-in{opacity:1;transform:none;filter:none}
}


/* ===== factories: immersive showcase ===== */
.fz{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#06211B;margin-top:0;margin-bottom:clamp(20px,3vw,40px);padding-top:clamp(48px,5.6vw,80px);padding-bottom:clamp(70px,8vw,116px)}
.fz-bgs{position:absolute;inset:0;z-index:-3}
.fz-bg{position:absolute;inset:0;overflow:hidden;opacity:0;transition:opacity 1.2s ease;background:linear-gradient(135deg,hsl(var(--h) 34% 22%),hsl(var(--h) 44% 10%))}
.fz-bg.on{opacity:1}
.fz-flag{position:absolute;left:-10%;top:-10%;width:120%;height:120%;object-fit:cover;filter:blur(46px) saturate(1.25);opacity:.62;animation:fzdrift 26s ease-in-out infinite alternate}
@keyframes fzdrift{from{transform:scale(1.15) translate(0,0)}to{transform:scale(1.3) translate(-4%,3%)}}
.fz-bg .photo{z-index:1}
.fz-aur{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(55% 60% at 85% 10%,hsl(var(--h) 70% 60%/.32),transparent 70%);animation:fxaur 12s ease-in-out infinite alternate}
.fz-scrim{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(3,16,12,.82) 0%,rgba(3,16,12,.55) 55%,rgba(3,16,12,.4) 100%),linear-gradient(180deg,rgba(3,16,12,.35),rgba(3,16,12,.7))}
.fz-in{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) clamp(260px,26vw,340px);grid-template-areas:"title tabs" "cont tabs";column-gap:clamp(24px,4vw,64px);row-gap:clamp(22px,3vw,40px);align-items:start}
.fz-title{grid-area:title;display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.fz-title h2{color:#fff;font-size:clamp(2rem,4vw,3.4rem);max-width:14em}
.fz-title .link{color:#fff;border-color:rgba(255,255,255,.6)}
.fz-title .link:hover{color:var(--citrus)}
.fz-cont{grid-area:cont;display:grid}
.fz-c{grid-area:1/1;display:grid;gap:14px;justify-items:start;align-content:start;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .8s,transform 1s var(--ease),visibility 0s .8s}
.fz-c.on{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.fz-fl .flag{width:92px;height:61px;border-radius:11px;box-shadow:0 16px 34px -10px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.2)}
.fz-country{font-size:clamp(3rem,8.4vw,7.4rem);line-height:.95;color:#fff;font-weight:300;letter-spacing:-.03em;font-variation-settings:"SOFT" 100,"opsz" 144;text-wrap:balance}
.fz-sub{color:rgba(255,255,255,.86);font-size:1.08rem}
.fz-facts,.fz-certs{display:flex;flex-wrap:wrap;gap:8px}
.fz-facts span{padding:.5em 1em;border-radius:999px;background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.26);font-size:.88rem;color:rgba(255,255,255,.85)}
.fz-facts b{color:#fff;font-weight:700;margin-left:.25em}
.fz-certs span{display:inline-flex;align-items:center;gap:6px;padding:.35em .85em;border-radius:999px;background:rgba(240,181,81,.16);box-shadow:inset 0 0 0 1px rgba(240,181,81,.42);color:#FFD98A;font-size:.8rem;font-weight:600}
.fz-certs .ico{width:.95em;height:.95em}
.fz-row2{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:6px}
.fz-prods{display:flex;align-items:center}
.fz-prods .mini{width:42px;height:42px;margin-right:-10px;box-shadow:0 0 0 3px rgba(4,18,14,.6)}
.fz-prods em{font-style:normal;margin-left:22px;color:rgba(255,255,255,.85);font-size:.9rem}
.fz .btn-primary{background:#fff;color:#0F3A2E}
.fz-c.on>*{animation:fade-up .9s var(--ease) both}
.fz-c.on>*:nth-child(2){animation-delay:.07s}
.fz-c.on>*:nth-child(3){animation-delay:.14s}
.fz-c.on>*:nth-child(4){animation-delay:.21s}
.fz-c.on>*:nth-child(5){animation-delay:.28s}
.fz-c.on>*:nth-child(6){animation-delay:.35s}
.fz-tabs{grid-area:tabs;display:grid;gap:12px;align-self:stretch;align-content:center}
.fz-tab{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px 20px;border-radius:24px;background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);color:#fff;transition:background-color .4s,box-shadow .4s,padding .5s var(--ease);height:100%;box-sizing:border-box}
.fz-tab .flag{width:52px;height:35px;border-radius:6px}
.fz-tab b{display:block;font-family:var(--f-display);font-weight:400;font-size:1.4rem;line-height:1.15}
.fz-tab small{display:block;color:rgba(255,255,255,.7);font-size:.84rem}
.fz-tab em{font-style:normal;min-width:30px;height:30px;padding:0 8px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.14);font-size:.82rem;font-weight:700}
.fz-tab:hover{background:rgba(255,255,255,.14)}
.fz-tab.on{background:rgba(255,255,255,.18);box-shadow:inset 0 0 0 1.5px rgba(255,217,138,.75),0 20px 40px -20px rgba(0,0,0,.5);padding-left:28px}
.fz-tab.on em{background:var(--citrus);color:#3A2400}
.fz-prog{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--citrus);transform-origin:left;transform:scaleX(0)}
.fz-tab.on .fz-prog{animation:fxp 6.5s linear forwards}
@media (max-width:860px){
  .fz-in{grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "cont" "tabs"}
  .fz-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .fz-country{font-size:clamp(2.8rem,15vw,5rem)}
}
@media (max-width:540px){
  .fz-tab{grid-template-columns:1fr;justify-items:start;gap:8px;padding:16px}
  .fz-tab.on{padding-left:16px}
  .fz-tab b{font-size:1.15rem}
  .fz-tab em{position:absolute;top:14px;right:14px}
}

/* ===== values: arch promise cards ===== */
.vals{padding-block:clamp(50px,6vw,88px)}
.vgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.6vw,36px);align-items:start}
.vc{position:relative;overflow:hidden;border-radius:999px 999px 32px 32px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line),0 30px 60px -38px rgba(0,0,0,.45);transition:transform .7s var(--ease),box-shadow .7s}
.vc:nth-child(2){margin-top:clamp(0px,3vw,44px)}
.vc:hover{transform:translateY(-8px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fern) 50%,transparent),0 44px 70px -36px color-mix(in srgb,var(--fern) 55%,transparent)}
.vc-img{position:relative;aspect-ratio:4/3.3;overflow:hidden;background:var(--bg-soft)}
.vc-img::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(160deg,rgba(255,214,130,.2),rgba(16,80,56,.24));mix-blend-mode:soft-light}
.vc:hover .vc-img .photo{transform:scale(1.08)}
.vc-body{position:relative;padding:0 clamp(20px,2.4vw,32px) clamp(24px,2.6vw,32px);text-align:center;display:grid;justify-items:center;gap:10px}
.vc-med{position:relative;z-index:3;width:76px;height:76px;margin-top:-38px;margin-bottom:6px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--fern);box-shadow:0 0 0 6px var(--surface),0 16px 30px -12px rgba(0,0,0,.4)}
.vc-med .ico{width:32px;height:32px;stroke-width:1.4}
.vc-ring{position:absolute;inset:-12px;border-radius:50%;border:1.5px dashed var(--fern);opacity:.7;animation:spin 24s linear infinite}
.vc:hover .vc-ring{animation-duration:6s}
.vc-body h3{font-size:1.6rem;line-height:1.15}
.vc-body p{color:var(--ink-2);max-width:32ch}
.vc-link{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-weight:600;color:var(--fern);padding:.5em 1.1em;border-radius:999px;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--fern) 40%,transparent);transition:gap .4s var(--ease),background-color .3s,color .3s}
.vc-link .ico{width:1.05em;height:1.05em}
.vc-link:hover{gap:14px;background:var(--btn);color:var(--on-btn)}
@media (max-width:900px){.vgrid{grid-template-columns:minmax(0,1fr);max-width:460px;margin-inline:auto}.vc:nth-child(2){margin-top:0}}

/* ===== faq: help card + smooth accordion ===== */
.faq-sec{padding-block:clamp(34px,4.2vw,64px)}
.faq-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:start}
.faq-aside{position:sticky;top:110px}
.faq-card{position:relative;overflow:hidden;isolation:isolate;padding:clamp(22px,2.8vw,36px);border-radius:32px;color:#fff;background:linear-gradient(150deg,#123B32,#1D5E52 70%,#2C7C73);box-shadow:var(--shadow)}
.faq-card::after{content:'';position:absolute;z-index:-1;right:-90px;top:-90px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 66%);animation:float 14s ease-in-out infinite alternate}
.faq-mark{position:absolute;z-index:-1;right:clamp(10px,3vw,34px);bottom:-60px;font-family:var(--f-display);font-weight:300;font-size:clamp(7rem,15vw,11rem);line-height:1;color:rgba(255,255,255,.09);animation:qbob 7s ease-in-out infinite alternate;font-variation-settings:"SOFT" 100,"opsz" 144}
@keyframes qbob{to{transform:translateY(-16px) rotate(4deg)}}
.faq-card h2{color:#fff;font-size:clamp(1.7rem,2.6vw,2.3rem);margin-bottom:10px}
.faq-card p{color:rgba(255,255,255,.84);max-width:38ch;margin-bottom:18px}
.faq-ctas{display:flex;flex-wrap:wrap;gap:10px}
.faq-card .btn-primary{background:#fff;color:#0F3A2E;box-shadow:none}
.faq-card .btn-ghost{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5);color:#fff}
.faq-card .btn-ghost:hover{background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1.5px #fff}
.faq-main .chips{margin-bottom:20px}
.fqs{display:grid;gap:14px;transition:opacity .3s var(--ease),transform .3s var(--ease)}
.fqs.swap{opacity:0;transform:translateY(6px)}
@media (prefers-reduced-motion:reduce){.fqs{transition:none}}
.fq{position:relative;isolation:isolate;overflow:hidden;border-radius:26px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .45s,background-color .45s,transform .45s var(--ease)}
.fq::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--fern),color-mix(in srgb,var(--fern) 40%,var(--citrus)));transform:scaleY(0);transform-origin:top;transition:transform .5s var(--ease)}
.fq.hide{display:none}
.fq:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fern) 45%,transparent);transform:translateY(-2px)}
.fq.open{background:color-mix(in srgb,var(--fern) 8%,var(--surface));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--fern) 55%,transparent),0 26px 50px -34px color-mix(in srgb,var(--fern) 60%,transparent)}
.fq.open::before{transform:scaleY(1)}
.fq-h{width:100%;display:flex;align-items:center;gap:18px;padding:22px 26px;text-align:left;font-family:var(--f-display);font-size:1.28rem;font-weight:400;line-height:1.3}
.fq-num{flex:none;font-family:var(--f-body);font-size:.78rem;font-weight:700;letter-spacing:.05em;color:var(--ink-3);opacity:.5;transition:color .4s,opacity .4s}
.fq.open .fq-num{color:var(--fern);opacity:1}
.fq-q{flex:1}
.fq-h .pm{flex:none}
.fq.open .pm{background:var(--btn);color:var(--on-btn);box-shadow:none}
.fq.open .pm::after{transform:rotate(0)}
.fq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.fq.open .fq-a{grid-template-rows:1fr}
.fq-a>div{overflow:hidden}
.fq-a p{padding:0 26px 24px 68px;color:var(--ink-2);max-width:58ch;opacity:0;transform:translateY(-6px);transition:opacity .5s .1s,transform .6s var(--ease) .1s}
.fq.open .fq-a p{opacity:1;transform:none}
@media (max-width:560px){.fq-h{padding:18px 20px;gap:12px}.fq-a p{padding-left:20px}}
@media (max-width:900px){.faq-grid{grid-template-columns:minmax(0,1fr)}.faq-aside{position:static}}

/* ===== offers: voucher tickets ===== */
.off-sec{position:relative;padding-block:clamp(50px,6vw,90px)}
.off-sec::before{content:'%';position:absolute;right:1%;top:-10px;z-index:-1;font-family:var(--f-display);font-weight:300;font-size:clamp(14rem,30vw,26rem);line-height:1;color:color-mix(in srgb,var(--citrus) 13%,transparent);pointer-events:none}
.live-badge{display:inline-flex;align-items:center;gap:9px;margin-bottom:14px;padding:.4em 1em;border-radius:999px;font-size:.84rem;font-weight:600;background:color-mix(in srgb,var(--pome) 12%,transparent);color:var(--pome)}
.live-badge i{width:8px;height:8px;border-radius:50%;background:currentColor;animation:nowp 2s ease-out infinite;box-shadow:0 0 0 0 currentColor}
.tk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.6vw,34px)}
.tk{position:relative;filter:drop-shadow(0 26px 26px rgba(20,40,30,.2));transition:transform .7s var(--ease)}
:root[data-theme="dark"] .tk{filter:drop-shadow(0 26px 26px rgba(0,0,0,.5))}
.tk:hover{transform:translateY(-8px) rotate(-.6deg)}
.tk-in{position:relative;display:grid;grid-template-columns:39% minmax(0,1fr);min-height:280px;border-radius:28px;overflow:hidden;background:var(--surface);-webkit-mask:radial-gradient(circle 14px at 39% 0,#0000 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 14px at 39% 100%,#0000 97%,#000) bottom/100% 51% no-repeat;mask:radial-gradient(circle 14px at 39% 0,#0000 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 14px at 39% 100%,#0000 97%,#000) bottom/100% 51% no-repeat}
.tk-in::after{content:'';position:absolute;top:0;bottom:0;left:-40%;width:28%;z-index:5;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-16deg);mix-blend-mode:soft-light;animation:tkshine 7s ease-in-out calc(var(--i)*1.8s) infinite}
@keyframes tkshine{0%,55%{left:-40%}100%{left:135%}}
.tk-stub{position:relative;overflow:hidden;background:linear-gradient(160deg,color-mix(in srgb,var(--tint) 88%,#fff),color-mix(in srgb,var(--tint) 62%,#1B2A22))}
.tk-stub .ph{background:transparent}
.tk-stub .ph b{display:none}
.tk-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(4,18,14,.32),rgba(4,18,14,.08) 45%,rgba(4,18,14,.6))}
.tk-disc{position:absolute;z-index:3;left:20px;top:18px;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.4)}
.tk-disc b{display:block;font-family:var(--f-display);font-weight:300;font-size:clamp(3.4rem,6vw,5.2rem);line-height:.9;font-variation-settings:"SOFT" 100,"opsz" 144}
.tk-disc b .ico{width:.8em;height:.8em}
.tk-disc sup{font-size:.48em;vertical-align:top;margin-left:2px}
.tk-disc small{display:block;margin-top:8px;font-size:.82rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase}
.tk-prod{position:absolute;z-index:3;left:14px;right:14px;bottom:14px;padding:.45em .9em;border-radius:999px;background:rgba(255,255,255,.18);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);color:#fff;font-size:.8rem;font-weight:600;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk-main{position:relative;padding:26px 26px 22px 30px;display:grid;align-content:center;justify-items:start;gap:10px}
.tk-main::before{content:'';position:absolute;left:0;top:18px;bottom:18px;border-left:2px dashed color-mix(in srgb,var(--ink-3) 55%,transparent)}
.tk-main h3{font-size:clamp(1.5rem,2.4vw,2.05rem);line-height:1.1}
.tk-main p{color:var(--ink-2);font-size:.96rem;max-width:36ch}
.tk-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:6px}
.tk-cd{display:flex;gap:6px}
.tk-cd span{display:grid;justify-items:center;min-width:50px;padding:7px 6px 6px;border-radius:14px;background:color-mix(in srgb,var(--fern) 11%,transparent)}
.tk-cd b{font-family:var(--f-display);font-weight:400;font-size:1.35rem;line-height:1.1;font-variant-numeric:tabular-nums}
.tk-cd i{font-style:normal;font-size:.64rem;color:var(--ink-3)}
.tk-open{font-size:.86rem;color:var(--ink-3)}
.nt-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:clamp(22px,3vw,34px)}
.nt{display:flex;gap:16px;align-items:flex-start;padding:20px 22px;border-radius:24px;background:color-mix(in srgb,var(--surface) 82%,transparent);box-shadow:inset 0 0 0 1px var(--line);transition:transform .5s var(--ease),box-shadow .4s}
.nt:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--citrus) 55%,transparent)}
.nt-ic{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--citrus) 20%,transparent);color:color-mix(in srgb,var(--citrus) 70%,var(--ink))}
.nt-ic .ico{width:22px;height:22px}
.nt b{font-family:var(--f-display);font-weight:400;font-size:1.15rem;display:block;line-height:1.25}
.nt p{color:var(--ink-2);font-size:.9rem;margin-top:3px}
@media (max-width:1000px){.tk-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.tk-in{grid-template-columns:minmax(0,1fr);grid-template-rows:170px auto;-webkit-mask:none;mask:none}.tk-main{padding:22px}.tk-main::before{display:none}}

/* ===== call to action: live agent deck ===== */

/* ===== tickets: richer image + notices ===== */
.tk-stub .photo{animation:kbs2 20s ease-in-out infinite alternate}
@keyframes kbs2{from{transform:scale(1.02)}to{transform:scale(1.14)}}
.tk-tone{position:absolute;inset:0;z-index:1;background:var(--tint);mix-blend-mode:multiply;opacity:.62}
.tk-frame{position:absolute;inset:12px;z-index:4;border:1px solid rgba(255,255,255,.5);border-radius:18px;pointer-events:none}
.tk-shade{background:linear-gradient(180deg,rgba(4,18,14,.4),rgba(4,18,14,.06) 42%,rgba(4,18,14,.66))}
.tk-cdw{display:grid;gap:6px}
.tk-lbl{font-size:.74rem;font-weight:600;color:var(--ink-3)}
.tk-cta{display:inline-flex;align-items:center;padding:.6em 1.2em;border-radius:999px;font-weight:600;font-size:.88rem;background:var(--btn);color:var(--on-btn);transition:transform .4s var(--ease),box-shadow .4s}
.tk-cta:hover{transform:translateY(-2px);box-shadow:0 14px 26px -12px var(--btn)}
.nc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(16px,2.2vw,26px);margin-top:clamp(24px,3vw,38px)}
.nc{--nc:var(--citrus);position:relative;overflow:hidden;isolation:isolate;display:flex;gap:22px;align-items:flex-start;padding:clamp(22px,2.6vw,32px);border-radius:30px;background:linear-gradient(135deg,color-mix(in srgb,var(--nc) 16%,var(--surface)),var(--surface) 62%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--nc) 35%,var(--line));transition:transform .6s var(--ease),box-shadow .5s}
.nc.t-note{--nc:var(--fern)}
.nc::before{content:'';position:absolute;z-index:-1;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--nc) 28%,transparent),transparent 68%);animation:float 12s ease-in-out infinite alternate}
.nc::after{content:'';position:absolute;left:0;top:26px;bottom:26px;width:4px;border-radius:0 4px 4px 0;background:var(--nc)}
.nc:hover{transform:translateY(-6px);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--nc) 60%,transparent),0 34px 60px -34px color-mix(in srgb,var(--nc) 60%,transparent)}
.nc-med{position:relative;flex:none;width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:color-mix(in srgb,var(--nc) 75%,var(--ink));box-shadow:0 14px 26px -12px rgba(0,0,0,.35)}
.nc-med .ico{width:30px;height:30px;stroke-width:1.4}
.nc-ring{position:absolute;inset:-9px;border-radius:50%;border:1.5px dashed var(--nc);opacity:.75;animation:spin 22s linear infinite}
.nc:hover .nc-ring{animation-duration:6s}
.nc-b{display:grid;gap:8px;justify-items:start;min-width:0}
.nc .o-type{margin:0;background:color-mix(in srgb,var(--nc) 18%,transparent);color:color-mix(in srgb,var(--nc) 78%,var(--ink))}
.nc-b h3{font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.15}
.nc-b p{color:var(--ink-2);max-width:44ch}
.nc-link{display:inline-flex;align-items:center;gap:8px;margin-top:4px;font-weight:600;color:color-mix(in srgb,var(--nc) 75%,var(--ink));transition:gap .4s var(--ease)}
.nc-link .ico{width:1.05em;height:1.05em}
.nc-link:hover{gap:14px}
@media (max-width:520px){.nc{flex-direction:column}}

/* ===== cta: full-bleed agent deck ===== */
.cta2{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#0C332A;padding-block:clamp(74px,8.4vw,120px)}
.cta2-bg{position:absolute;inset:0;z-index:-2}
.cta2-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;transform:scale(1.06)}
.cta2::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(120deg,rgba(6,28,22,.94) 0%,rgba(10,52,42,.84) 55%,rgba(30,110,100,.62) 100%)}
.cta2-in{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,72px);align-items:center}
.cta2 h2{color:#fff;max-width:12em;font-size:clamp(2.1rem,4.6vw,3.8rem);margin-bottom:16px}
.cta2-l>p{color:rgba(255,255,255,.84);max-width:44ch;margin-bottom:28px;font-size:1.06rem}
.cta2-btns{display:flex;flex-wrap:wrap;gap:12px}
.cta2 .btn-primary{background:#fff;color:#0F3A2E;box-shadow:none}
.cta2 .btn-ghost{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5);color:#fff}
.cta2 .btn-ghost:hover{background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1.5px #fff}
.cta2-avs{display:flex;align-items:center;gap:16px;margin-top:32px;font-size:.92rem;color:rgba(255,255,255,.86)}
.avs{display:flex;flex:none}
.avs .alogo{width:46px;height:46px;border-radius:50%;font-size:.88rem;letter-spacing:-.02em;margin-left:-12px;box-shadow:0 0 0 3px #12483D}
.avs .alogo:first-child{margin-left:0}
.cta2-r{position:relative;height:clamp(340px,33vw,400px);display:grid;align-items:end}
.cta2-ring{position:absolute;right:8%;top:46%;width:clamp(200px,24vw,300px);aspect-ratio:1;translate:0 -50%;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);opacity:0;animation:ringx 5.4s ease-out infinite;pointer-events:none}
.cta2-ring.r2{animation-delay:1.8s}
.cta2-ring.r3{animation-delay:3.6s}
@keyframes ringx{0%{transform:scale(.5);opacity:.55}100%{transform:scale(1.9);opacity:0}}
.cta2-deck{position:relative;height:clamp(300px,29vw,350px)}
.ac2{position:absolute;left:0;right:0;bottom:0;margin-inline:auto;width:min(100%,440px);padding:24px;border-radius:30px;background:linear-gradient(160deg,rgba(255,255,255,.2),rgba(255,255,255,.1));-webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3),0 36px 60px -28px rgba(0,0,0,.7);transform-origin:50% 0;transform:translateY(calc(var(--q,0)*-26px)) scale(calc(1 - var(--q,0)*.06));opacity:calc(1 - var(--q,0)*.3);transition:transform .9s var(--ease),opacity .7s;display:grid;gap:13px}
.ac2:not(.front)>*{opacity:0;transition:opacity .3s}
.ac2.front>*{opacity:1;transition:opacity .6s .35s}
.ac2.out{transform:translateY(70px) scale(1.03);opacity:0}
.ac2.back{opacity:0}
.ac2.jump{transition:none}
.ac2-h{display:flex;gap:14px;align-items:center}
.ac2-h .alogo{width:60px;height:60px;border-radius:20px;font-size:1.3rem;flex:none}
.ac2-h b{font-family:var(--f-display);font-weight:400;font-size:1.3rem;line-height:1.2;display:block}
.ac2-h small{display:flex;align-items:center;gap:8px;margin-top:5px;color:rgba(255,255,255,.82);font-size:.86rem}
.ac2 p{color:rgba(255,255,255,.84);font-size:.94rem}
.ac2-ph{display:flex;align-items:center;gap:12px;font-weight:700;font-size:1.1rem}
.ac2-ic{position:relative;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--citrus);color:#3A2400;flex:none}
.ac2-ic .ico{width:20px;height:20px}
.ac2-ic i{position:absolute;inset:0;border-radius:50%;border:2px solid var(--citrus);animation:hubp 2.4s ease-out infinite}
.ac2-b{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:900px){.cta2-in{grid-template-columns:minmax(0,1fr)}.cta2-r{height:clamp(330px,80vw,400px)}}

/* ===== footer: system green, slim ===== */
.footer{position:relative;margin-top:clamp(40px,5vw,70px);background:var(--fern-l);color:var(--ink);padding:0 0 calc(10px + env(safe-area-inset-bottom,0px));overflow:hidden;isolation:isolate;transition:background-color .5s,color .5s}
.footer::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:color-mix(in srgb,var(--fern) 45%,transparent)}
.ftl{position:absolute;top:0;left:-220px;width:220px;height:2px;background:linear-gradient(90deg,transparent,var(--fern),transparent);animation:ftl 9s ease-in-out infinite;z-index:2}
@keyframes ftl{0%{left:-220px}100%{left:100%}}
.fglow{position:absolute;z-index:-1;right:-140px;top:-200px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--fern) 24%,transparent),transparent 68%);animation:float 16s ease-in-out infinite alternate;pointer-events:none}
.ft-strip{background:color-mix(in srgb,var(--fern) 14%,transparent);border-bottom:1px solid color-mix(in srgb,var(--fern) 25%,transparent)}
.ft-season{display:flex;align-items:center;gap:16px;padding-block:9px;min-width:0}
.fs-l{display:inline-flex;align-items:center;gap:9px;flex:none;font-size:.8rem;font-weight:700;color:var(--fern)}
.fs-dot{width:8px;height:8px;border-radius:50%;background:var(--fern);animation:nowp 2.2s ease-out infinite}
.fs-m{flex:1;min-width:0;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.fs-t{display:inline-flex;align-items:center;white-space:nowrap;font-family:var(--f-display);font-size:1rem;color:var(--ink);animation:fst 44s linear infinite}
.ft-season:hover .fs-t{animation-play-state:paused}
@keyframes fst{to{transform:translateX(-50%)}}
.fs-sep{width:8px;height:8px;border-radius:50% 0 50% 0;background:var(--fern);margin:0 20px;flex:none;transform:rotate(-20deg)}
.ft{position:relative;z-index:1;display:grid;gap:0;padding-top:16px}
.ft-a{display:flex;align-items:center;gap:8px 22px;flex-wrap:wrap;padding-bottom:12px}
.ft-lock{display:inline-flex;align-items:center;gap:11px;min-width:0}
.ft-lock .brand-mark{width:34px;height:34px;transition:transform .9s var(--ease)}
.ft-lock:hover .brand-mark{transform:rotate(360deg)}
.ft-name{font-family:var(--f-display);font-weight:300;font-size:1.3rem;line-height:1.1;letter-spacing:-.01em;font-variation-settings:"SOFT" 100,"opsz" 60;white-space:nowrap}
.wl{display:inline-block;color:var(--ink);transition:opacity .9s var(--ease) calc(.2s + var(--i)*40ms),transform .9s var(--ease) calc(.2s + var(--i)*40ms),filter .9s var(--ease) calc(.2s + var(--i)*40ms),color .4s,font-variation-settings .45s;animation:wlwave 6s ease-in-out calc(2s + var(--i)*.15s) infinite}
.wl.sp{width:.26em}
.wl:hover{font-variation-settings:"SOFT" 100,"opsz" 60,"wght" 600;color:var(--fern);animation-play-state:paused}
@keyframes wlwave{0%,18%,100%{color:var(--ink)}9%{color:var(--fern)}}
.js .footer:not(.in) .wl{opacity:0;transform:translateY(.55em);filter:blur(5px)}
.ft-tag{flex:1;min-width:0;color:var(--ink-3);font-family:var(--f-display);font-style:italic;font-weight:300;font-size:.98rem;transition:opacity 1s ease 1.2s}
.js .footer:not(.in) .ft-tag{opacity:0}
.ft-soc{gap:7px;margin-left:auto}
.footer .social{width:34px;height:34px;color:var(--ink);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--fern) 35%,transparent)}
.footer .social .ico{width:16px;height:16px}
.footer .social:hover{background:var(--btn);color:var(--on-btn);box-shadow:none;transform:translateY(-3px) rotate(-8deg)}
.ft-b{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:14px 26px;padding-block:12px;border-block:1px solid color-mix(in srgb,var(--fern) 28%,transparent)}
.ft-b .ft-facs{justify-self:start}
.ft-b .ft-ct{justify-self:end}
@media (max-width:820px){.ft-b{grid-template-columns:1fr;justify-items:center;text-align:center}.ft-b .ft-facs,.ft-b .ft-ct{justify-self:center}}
.ft-nav{display:flex;flex-wrap:wrap;gap:0 2px}
.ft-nav a{position:relative;padding:.35em .65em;font-size:.88rem;color:var(--ink-2);transition:color .3s}
.ft-nav a::after{content:'';position:absolute;left:.65em;right:.65em;bottom:.1em;height:1.5px;background:var(--fern);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.ft-nav a:hover,.ft-nav a[aria-current]{color:var(--fern)}
.ft-nav a:hover::after,.ft-nav a[aria-current]::after{transform:scaleX(1)}
.ft-facs{display:flex;flex-wrap:wrap;gap:6px}
.fchip{display:inline-flex;align-items:center;gap:7px;padding:.28em .75em;border-radius:999px;font-size:.78rem;font-weight:600;color:var(--ink-2);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fern) 32%,transparent);transition:background-color .3s,color .3s,transform .4s var(--ease)}
.fchip .flag{width:19px;height:13px;transition:transform .5s var(--ease)}
.fchip:hover{background:var(--btn);color:var(--on-btn);transform:translateY(-2px)}
.fchip:hover .flag{transform:rotate(-8deg) scale(1.12)}
.ft-ct{display:flex;flex-wrap:wrap;gap:4px 18px}
.ft-ct a{display:inline-flex;align-items:center;gap:8px;font-size:.86rem;color:var(--ink-2);transition:color .3s}
.ft-ct a:hover{color:var(--fern)}
.ft-ct .ico{width:1.1em;height:1.1em;color:var(--fern)}
.ft-c{display:flex;align-items:center;justify-content:space-between;gap:6px 20px;flex-wrap:wrap;padding-top:10px;font-size:.78rem;color:var(--ink-3)}
.ft-r{display:inline-flex;align-items:center;gap:14px}
.ft-dash{color:var(--ink-3);transition:color .3s}
.ft-dash:hover{color:var(--fern)}
.ft-up{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:var(--ink);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--fern) 40%,transparent);transition:background-color .3s,color .3s,transform .4s var(--ease)}
.ft-up .ico{width:15px;height:15px;transform:rotate(-90deg)}
.ft-up:hover{background:var(--btn);color:var(--on-btn);transform:translateY(-3px)}
.ft-b,.ft-c{transition:opacity 1s var(--ease) 1.1s,transform 1s var(--ease) 1.1s}
.js .footer:not(.in) .ft-b,.js .footer:not(.in) .ft-c{opacity:0;transform:translateY(10px)}
@media (max-width:820px){.ft-a{justify-content:center}.ft-tag{display:none}.ft-soc{margin-left:0}.ft-b{justify-content:center}.ft-nav,.ft-facs,.ft-ct{justify-content:center}.ft-c{justify-content:center;text-align:center}}

/* ===== footer: deep green ===== */
.footer{--ink:#E8F5EC;--ink-2:rgba(232,245,236,.8);--ink-3:rgba(232,245,236,.56);--fern:#6FD6A0;--btn:#6FD6A0;--on-btn:#06241A;--line:rgba(232,245,236,.16);--fbg1:#0F3D2D;--fbg2:#082A1E}
:root[data-theme="dark"] .footer{--fbg1:#0A2E22;--fbg2:#04180F}
.footer{background:linear-gradient(180deg,var(--fbg1) 0%,var(--fbg2) 100%)}
.footer::after{content:'';position:absolute;z-index:-1;left:-140px;bottom:-220px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(240,195,107,.16),transparent 68%);pointer-events:none;animation:float 18s ease-in-out infinite alternate-reverse}
.footer::before{background:color-mix(in srgb,var(--fern) 35%,transparent)}
.ft-strip{background:rgba(111,214,160,.09);border-bottom-color:rgba(111,214,160,.2)}
.footer .social{box-shadow:inset 0 0 0 1.5px rgba(232,245,236,.28)}
.footer .ft-b{border-block-color:rgba(232,245,236,.14)}
.fchip{box-shadow:inset 0 0 0 1px rgba(232,245,236,.26)}
.ft-up{box-shadow:inset 0 0 0 1.5px rgba(232,245,236,.3)}

/* ===== footer: edge to edge ===== */
.footer{width:100%;margin-inline:0}
.footer .wrap{max-width:none;padding-inline:clamp(14px,2.2vw,32px)}

/* ===== products page ===== */
@property --cat{syntax:'<color>';inherits:true;initial-value:#CFE3B5}
.prd{--cat:#CFE3B5;transition:--cat 1s ease}
.prd-hero{position:relative;overflow:hidden;isolation:isolate;padding:clamp(46px,6.4vw,88px) 0 clamp(100px,11vw,150px);background:linear-gradient(180deg,color-mix(in srgb,var(--cat) 30%,var(--bg)),var(--bg))}
.prd-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 70% at 82% 32%,color-mix(in srgb,var(--cat) 60%,transparent),transparent 70%),radial-gradient(40% 60% at 6% 92%,color-mix(in srgb,var(--fern) 22%,transparent),transparent 70%)}
:root[data-theme="dark"] .prd-hero::before{opacity:.55}
.prd-hero-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);align-items:center}
.prd-t h1{font-size:clamp(3.1rem,7.4vw,6.4rem);line-height:.98;margin-bottom:22px}
.prd-t .lead{max-width:46ch}
.prd-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.prd-pills span{padding:.5em 1.15em;border-radius:999px;background:color-mix(in srgb,var(--surface) 72%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px var(--line);font-size:.92rem;color:var(--ink-2)}
.prd-pills b{font-family:var(--f-display);font-weight:400;font-size:1.3rem;color:var(--fern);margin-right:4px}
.prd-arches{position:relative;height:clamp(270px,29vw,380px)}
.pa{position:absolute;bottom:0;width:31%;overflow:hidden;border-radius:999px 999px 26px 26px;background:var(--bg-soft);box-shadow:var(--shadow);animation:pfloat 7s ease-in-out infinite alternate}
.pa::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;background:linear-gradient(160deg,rgba(255,214,130,.2),rgba(16,80,56,.24));mix-blend-mode:soft-light;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.pa0{left:2%;height:78%;animation-delay:-1s}
.pa1{left:34.5%;height:100%;animation-delay:-3s}
.pa2{left:67%;height:66%;animation-delay:-5s}
@keyframes pfloat{to{transform:translateY(-14px)}}
.prd-pw{position:relative;z-index:5;margin-top:calc(-1*clamp(58px,7vw,90px))}
.prd-panel{display:grid;gap:16px;padding:clamp(18px,2.4vw,28px);border-radius:34px;position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(155deg,color-mix(in srgb,var(--fern) 7%,var(--surface) 93%),color-mix(in srgb,var(--surface) 92%,transparent) 65%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow),inset 0 0 0 1px var(--line)}
.prd-panel::before{content:'';position:absolute;top:-60%;right:-8%;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--citrus) 20%,transparent),transparent 72%);z-index:-1;pointer-events:none}
.pf-row{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;min-width:0}
.pf-search{position:relative;flex:1 1 320px;min-width:0}
.pf-search .ico{position:absolute;left:1.1em;top:50%;translate:0 -50%;color:var(--ink-3);pointer-events:none;transition:color .3s}
.pf-search input{width:100%;padding:.95em 3.4em .95em 3em;border-radius:999px;background:var(--bg-soft);border-color:transparent;font-size:1rem;box-shadow:inset 0 0 0 1.5px transparent;transition:box-shadow .35s,background-color .35s}
.pf-search:focus-within input{box-shadow:inset 0 0 0 1.5px var(--fern),0 0 0 5px color-mix(in srgb,var(--fern) 14%,transparent);background:var(--surface)}
.pf-search:focus-within .ico{color:var(--fern)}
.pf-search kbd{position:absolute;right:1em;top:50%;translate:0 -50%;font:600 .75rem var(--f-body);padding:.15em .6em;border-radius:8px;color:var(--ink-3);box-shadow:inset 0 0 0 1.5px var(--line);pointer-events:none}
.pf-search:focus-within kbd{opacity:0}
.pf-sort{display:flex;align-items:center;gap:10px;font-size:.86rem;font-weight:600;color:var(--ink-3)}
.pf-sort select{width:auto;padding:.7em 2.4em .7em 1.1em;border-radius:999px;background:var(--bg-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23708B86' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 1em center;border-color:transparent;appearance:none;-webkit-appearance:none;font-weight:600;color:var(--ink);cursor:pointer;box-shadow:inset 0 0 0 1.5px transparent;transition:box-shadow .3s}
.pf-sort select:hover,.pf-sort select:focus{box-shadow:inset 0 0 0 1.5px var(--line)}
.vt{display:inline-flex;padding:4px;border-radius:999px;background:var(--bg-soft);box-shadow:inset 0 0 0 1.5px transparent;transition:box-shadow .3s}
.vt:hover{box-shadow:inset 0 0 0 1.5px var(--line)}
.vb{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--ink-3);transition:background-color .35s,color .35s}
.vb .ico{width:19px;height:19px}
.vb[aria-pressed="true"]{background:var(--btn);color:var(--on-btn)}
.seg{max-width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(90deg,#000 0,#000 100%);mask-image:linear-gradient(90deg,#000 0,#000 100%);transition:-webkit-mask-image .25s,mask-image .25s}
.seg::-webkit-scrollbar{display:none}
.seg.has-more-r{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 34px),transparent 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 34px),transparent 100%)}
.seg.has-more-l{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34px,#000 100%);mask-image:linear-gradient(90deg,transparent 0,#000 34px,#000 100%)}
.seg.has-more-l.has-more-r{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34px,#000 calc(100% - 34px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 34px,#000 calc(100% - 34px),transparent 100%)}
.seg-in{position:relative;display:inline-flex;gap:2px;padding:5px;border-radius:999px;background:var(--bg-soft);box-shadow:inset 0 0 0 1px var(--line)}
.seg-pill{position:absolute;top:5px;bottom:5px;left:0;width:var(--w,0);transform:translateX(var(--x,0));border-radius:999px;background:var(--btn);box-shadow:0 10px 22px -10px var(--btn);transition:transform .55s var(--ease),width .55s var(--ease)}
.sg{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;padding:.6em 1.15em;border-radius:999px;font-weight:600;font-size:.92rem;color:var(--ink-2);white-space:nowrap;transition:color .3s}
.sg .ico{width:1.05em;height:1.05em}
.sg em{font-style:normal;font-size:.74rem;padding:.05em .55em;border-radius:999px;background:color-mix(in srgb,var(--ink) 9%,transparent)}
.sg[aria-pressed="true"]{color:var(--on-btn)}
.sg[aria-pressed="true"] em{background:rgba(255,255,255,.22)}
.cd{width:11px;height:11px;border-radius:50%;flex:none;background:color-mix(in srgb,var(--tint) 75%,var(--fern));box-shadow:0 0 0 3px color-mix(in srgb,var(--tint) 35%,transparent)}
.pf-more-tog{display:inline-flex;align-items:center;gap:9px;padding:.6em 1.1em;border-radius:999px;font-weight:600;font-size:.88rem;color:var(--ink-2);background:var(--bg-soft);width:fit-content;box-shadow:inset 0 0 0 1.5px transparent;transition:color .3s,background-color .3s,box-shadow .3s,transform .4s var(--ease)}
.pf-more-tog:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1.5px var(--line)}
.pf-more-tog .ico{width:1.05em;height:1.05em}
.pf-more-tog em{font-style:normal;font-size:.72rem;padding:.05em .55em;border-radius:999px;background:color-mix(in srgb,var(--fern) 16%,transparent);color:var(--fern);font-weight:700}
.pf-more-ic{display:grid;place-items:center;transition:transform .35s var(--ease)}
.pf-more-ic .ico{width:16px;height:16px}
.pf-more-tog[aria-expanded="true"] .pf-more-ic{transform:rotate(180deg)}
.pf-more-tog[aria-expanded="true"]{color:var(--fern);background:color-mix(in srgb,var(--fern) 12%,transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--fern) 35%,transparent)}
.pf-more-tog[aria-expanded="true"] em{background:color-mix(in srgb,var(--fern) 28%,transparent)}
.pf-more{overflow:hidden;transition:max-height .4s var(--ease)}
.pf-more-in{display:grid;gap:16px;padding-top:16px}
.pf-grp{display:grid;gap:10px}
.pf-grp-l{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.ocs{display:flex;flex-wrap:wrap;gap:6px}
.oc{display:inline-flex;align-items:center;gap:8px;padding:.45em .95em .45em .6em;border-radius:999px;font-size:.85rem;font-weight:600;color:var(--ink-2);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);transition:background-color .3s,color .3s,box-shadow .3s,transform .4s var(--ease)}
.oc .flag{width:22px;height:15px;border-radius:4px;box-shadow:0 0 0 1px rgba(0,0,0,.14)}
.oc em{font-style:normal;font-size:.72rem;color:var(--ink-3)}
.oc:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1.5px var(--ink-3),0 10px 20px -14px rgba(0,0,0,.35)}
.oc[aria-pressed="true"]{background:color-mix(in srgb,var(--fern) 14%,transparent);color:var(--fern);box-shadow:inset 0 0 0 1.5px var(--fern),0 10px 22px -14px color-mix(in srgb,var(--fern) 55%,transparent)}
.oc[aria-pressed="true"] em{color:var(--fern)}
.pf-sw{display:flex;gap:8px;flex-wrap:wrap}
.sw2{display:inline-flex;align-items:center;gap:10px;padding:.3em 1em .3em .4em;border-radius:999px;font-weight:600;font-size:.86rem;color:var(--ink-2);box-shadow:inset 0 0 0 1.5px var(--line);transition:box-shadow .3s,color .3s}
.sw2 i{position:relative;width:38px;height:22px;border-radius:999px;background:var(--bg-soft);box-shadow:inset 0 0 0 1px var(--line);transition:background-color .35s}
.sw2 i::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--ink-3);transition:transform .45s var(--ease),background-color .3s}
.sw2[aria-pressed="true"]{color:var(--ink);background:color-mix(in srgb,var(--fern) 8%,transparent);box-shadow:inset 0 0 0 1.5px var(--fern)}
.sw2[aria-pressed="true"] i{background:var(--btn)}
.sw2[aria-pressed="true"] i::after{transform:translateX(16px);background:var(--on-btn)}
.prd-res{padding-top:clamp(24px,3vw,38px)}
.prd-meta{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin-bottom:clamp(22px,3vw,34px);min-height:38px}
#pcount{color:var(--ink-2);font-size:.95rem}
#pcount b{font-family:var(--f-display);font-weight:400;font-size:1.5rem;color:var(--fern);display:inline-block}
#pcount.pop b{animation:cntpop .6s var(--ease)}
@keyframes cntpop{from{transform:translateY(8px) scale(.7);opacity:0}to{transform:none;opacity:1}}
.pact{display:flex;flex-wrap:wrap;gap:8px}
.af{display:inline-flex;align-items:center;gap:8px;padding:.4em .6em .4em 1em;border-radius:999px;font-size:.84rem;font-weight:600;background:color-mix(in srgb,var(--fern) 13%,transparent);color:var(--fern);animation:pxin .5s var(--ease) both;transition:background-color .3s,color .3s}
.af .ico{width:16px;height:16px;padding:2px;border-radius:50%;background:color-mix(in srgb,var(--fern) 22%,transparent)}
.af:hover{background:var(--btn);color:var(--on-btn)}
.af-clear{background:transparent;box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink-2);padding:.4em 1em}
.px-grid{grid-template-columns:repeat(auto-fill,minmax(266px,1fr));gap:clamp(34px,3.8vw,54px) clamp(20px,2.6vw,34px)}
.px{position:relative;display:flex;flex-direction:column;isolation:isolate;animation:pxin .8s var(--ease) both;animation-delay:calc(min(var(--i),14)*55ms)}
@keyframes pxin{from{opacity:0;transform:translateY(26px) scale(.97);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.px::before{content:'';position:absolute;left:8%;right:8%;top:4%;height:58%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--tint) 46%,transparent),transparent 72%);filter:blur(22px);opacity:0;transform:scale(.85);transition:opacity .6s,transform .6s var(--ease)}
.px:hover::before{opacity:.85;transform:scale(1)}
.px-media{position:relative;aspect-ratio:1/1.22;border-radius:999px 999px 28px 28px;overflow:hidden;background:var(--bg-soft);box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 22px 44px -30px rgba(0,0,0,.45);transition:transform .55s var(--ease),box-shadow .6s;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.px:hover .px-media{box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 0 0 1.5px color-mix(in srgb,var(--tint) 65%,transparent),0 40px 62px -30px color-mix(in srgb,var(--tint) 55%,rgba(0,0,0,.5))}
.px-media .photo{transition:transform 1.4s var(--ease)}
.px:hover .px-media .photo{transform:scale(1.08)}
.px-media .ph{background:radial-gradient(120% 90% at 50% 12%,color-mix(in srgb,var(--tint) 60%,#fff),color-mix(in srgb,var(--tint) 38%,var(--bg-soft)))}
.px-media::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;background:linear-gradient(160deg,rgba(255,214,130,.18),rgba(16,80,56,.22));mix-blend-mode:soft-light;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
.px-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 55%,rgba(4,18,14,.55));pointer-events:none}
.tg{position:absolute;z-index:4;left:14px;top:14px;display:inline-flex;align-items:center;gap:7px;padding:.4em .9em;border-radius:999px;font-size:.76rem;font-weight:700;color:#fff;background:rgba(20,60,42,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.tg-now i{width:7px;height:7px;border-radius:50%;background:#3FE096;animation:nowp 2s ease-out infinite;box-shadow:0 0 6px 1px #3FE096}
.px-ribbon{position:absolute;z-index:5;right:14px;top:14px;display:inline-flex;align-items:baseline;gap:.3em;line-height:1;padding:.42em .8em;border-radius:999px;background:var(--pome);color:#fff;box-shadow:0 10px 20px -10px rgba(180,50,55,.6),inset 0 0 0 1px rgba(255,255,255,.32);transition:transform .4s var(--ease)}
.px:hover .px-ribbon{transform:scale(1.05)}
.px-ribbon b{font-family:var(--f-body);font-weight:800;font-size:.92rem}
.px-ribbon small{font-size:.64rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;opacity:.92}
.px-quick{position:absolute;z-index:5;left:12px;right:12px;bottom:12px;padding:13px 15px;border-radius:20px;background:rgba(5,24,18,.66);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);color:#fff;display:grid;gap:5px;font-size:.8rem;transform:translateY(115%);opacity:0;transition:transform .6s var(--ease),opacity .4s}
.px:hover .px-quick{transform:none;opacity:1}
.px-quick b{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.px-quick span{display:flex;justify-content:space-between;gap:10px}
.px-quick i{font-style:normal;opacity:.7}
.px-go{position:absolute;z-index:6;right:14px;top:18%;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#0F3A2E;opacity:0;scale:.6;box-shadow:0 10px 24px -8px rgba(0,0,0,.5);transition:opacity .4s,scale .5s var(--ease),transform .5s var(--ease)}
.px-go .ico{width:18px;height:18px}
.px:hover .px-go{opacity:1;scale:1;transform:rotate(-45deg)}
.px-body{padding:18px 4px 0;display:grid;gap:7px}
.px-kick{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:600;color:var(--ink-3)}
.px-kick i{width:8px;height:8px;border-radius:50% 0 50% 0;background:color-mix(in srgb,var(--tint) 65%,var(--fern));transform:rotate(-20deg)}
.px-body h3{font-size:1.32rem;line-height:1.18;font-weight:400}
.px-body p{color:var(--ink-2);font-size:.92rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.px-cal{display:flex;align-items:center;gap:3px;margin-top:4px}
.px-cal i{width:8px;height:14px;border-radius:3px;background:color-mix(in srgb,var(--ink) 10%,transparent)}
.px-cal i.on{background:color-mix(in srgb,var(--tint) 70%,var(--fern))}
.px-cal i.now{box-shadow:0 0 0 1.5px var(--ink)}
.px-cal em{font-style:normal;margin-left:8px;font-size:.76rem;color:var(--ink-3)}
.px-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:12px;border-top:1px solid var(--line);font-size:.9rem}
.px-or{display:inline-flex;align-items:center;gap:8px;color:var(--ink-2)}
.px-pr{font-weight:700;white-space:nowrap;font-size:1.05rem}
.px-pr s{color:var(--ink-3);font-weight:400;margin-right:.35em;font-size:.86em}
.px-pr small{font-weight:500;color:var(--ink-3)}
.px-grid.list{grid-template-columns:minmax(0,1fr);gap:16px}
.px-grid.list .px{display:grid;grid-template-columns:clamp(140px,19vw,230px) minmax(0,1fr);gap:clamp(16px,2.4vw,30px);align-items:center;padding:14px;border-radius:34px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .4s}
.px-grid.list .px:hover{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--fern) 55%,transparent)}
.px-grid.list .px::before{display:none}
.px-grid.list .px-media{aspect-ratio:4/3.3;border-radius:26px;transform:none!important}
.px-grid.list .px-quick,.px-grid.list .px-go{display:none}
.px-grid.list .px-body{padding:6px 10px 6px 0}
.px-grid.list .px-body h3{font-size:1.7rem}
.px-empty{padding:70px 20px;display:grid;justify-items:center;gap:12px}
.pe-ic{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--fern) 13%,transparent);color:var(--fern);animation:pfloat 3.2s ease-in-out infinite alternate}
.pe-ic .ico{width:38px;height:38px;stroke-width:1.4}
@media (max-width:900px){.prd-hero-in{grid-template-columns:minmax(0,1fr)}.prd-arches{height:250px;max-width:460px}}
@media (max-width:620px){.px-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}.px-body h3{font-size:1.15rem}.px-body p{display:none}.px-cal em{display:none}.px-grid.list .px{grid-template-columns:110px minmax(0,1fr)}.px-grid.list .px-body p{display:none}.pf-sort span{display:none}.px-ribbon{right:9px;top:9px;padding:.3em .55em;gap:.22em}.px-ribbon b{font-size:.76rem}.px-ribbon small{font-size:.55rem}.px-foot{flex-direction:column;align-items:flex-start;gap:4px}.px-or{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tg{left:9px;top:9px;padding:.26em .55em;gap:4px;font-size:.62rem}}

/* ===== factories index: world atlas ===== */
.fatlas{position:relative;isolation:isolate;overflow:hidden;color:#F4F8F4;background:linear-gradient(150deg,#0B2A22 0%,#123B32 55%,#1D5E52 100%);padding:clamp(56px,7.5vw,100px) 0 clamp(80px,9vw,130px)}
.fatlas-glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 60% at 85% 15%,rgba(240,181,81,.16),transparent 70%),radial-gradient(45% 60% at 8% 95%,rgba(127,214,208,.14),transparent 70%)}
.fatlas-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,70px);align-items:center}
.fatlas-kick{display:inline-flex;align-items:center;gap:9px;padding:.45em 1.1em;border-radius:999px;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.24);font-size:.86rem;font-weight:600;margin-bottom:20px}
.fatlas-kick .ico{width:16px;height:16px;color:var(--citrus)}
.fatlas h1{color:#fff;font-size:clamp(2.6rem,5.6vw,4.8rem);margin-bottom:18px}
.fatlas .lead{color:rgba(244,248,244,.84);max-width:46ch}
.fatlas-stats{display:flex;flex-wrap:wrap;gap:0;margin-top:30px}
.fatlas-stats li{padding:0 clamp(16px,2.4vw,30px);border-left:1px solid rgba(255,255,255,.18)}
.fatlas-stats li:first-child{padding-left:0;border:0}
.fatlas-stats b{display:block;font-family:var(--f-display);font-weight:300;font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1;color:var(--citrus);font-variation-settings:"SOFT" 100,"opsz" 120}
.fatlas-stats span{font-size:.82rem;color:rgba(244,248,244,.72)}
.fatlas-orbit{position:relative;height:clamp(280px,30vw,380px);display:grid;place-items:center}
.fatlas-core{width:clamp(84px,10vw,116px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3),0 0 60px -6px rgba(127,214,208,.5);color:var(--citrus);z-index:2}
.fatlas-core .ico{width:38px;height:38px;stroke-width:1.3}
.fatlas-ring{position:absolute;border-radius:50%;border:1px dashed rgba(255,255,255,.28)}
.fatlas-ring.r1{inset:14%;animation:spin 50s linear infinite}
.fatlas-ring.r2{inset:0;animation:spin 80s linear infinite reverse}
.fa-orb{position:absolute;left:50%;top:50%;width:56px;height:38px;margin:-19px 0 0 -28px;border-radius:8px;overflow:hidden;box-shadow:0 14px 26px -10px rgba(0,0,0,.55),0 0 0 2px rgba(255,255,255,.7);transform:rotate(calc(var(--i)/var(--n)*360deg)) translate(clamp(120px,15vw,168px)) rotate(calc(var(--i)/var(--n)*-360deg));animation:orbf 34s linear infinite;transform-origin:28px 19px}
@keyframes orbf{from{transform:rotate(calc(var(--i)/var(--n)*360deg + 0deg)) translate(clamp(112px,14vw,166px)) rotate(calc(var(--i)/var(--n)*-360deg + 0deg))}to{transform:rotate(calc(var(--i)/var(--n)*360deg + 360deg)) translate(clamp(112px,14vw,166px)) rotate(calc(var(--i)/var(--n)*-360deg - 360deg))}}
.fa-orb-flag{width:100%;height:100%;display:block;object-fit:cover}
@media (max-width:900px){.fatlas-in{grid-template-columns:minmax(0,1fr)}.fatlas-orbit{order:-1;height:220px}}

/* ===== factories index: ordered list strip ===== */
.fa-list{padding-block:clamp(46px,6vw,80px) clamp(20px,3vw,30px)}
.fa-rows{border-top:1px solid var(--line)}
.fa-row{position:relative;display:grid;grid-template-columns:52px 54px 1.2fr 1fr auto auto;align-items:center;gap:18px;padding:20px 10px;border-bottom:1px solid var(--line);transition:padding .5s var(--ease),background-color .4s}
.fa-row:hover{padding-inline:22px;background:color-mix(in srgb,var(--fern) 8%,transparent)}
.fa-idx{font-family:var(--f-display);font-weight:300;font-size:1.1rem;color:var(--ink-3)}
.fa-flag{display:inline-block;width:54px;height:36px;border-radius:7px;overflow:hidden;box-shadow:0 8px 18px -8px rgba(0,0,0,.4),0 0 0 1px var(--line);transition:transform .5s var(--ease)}
.fa-flag .flag{width:100%;height:100%;border-radius:0;box-shadow:none}
.fa-row:hover .fa-flag{transform:rotate(-4deg) scale(1.08)}
.fa-name{font-family:var(--f-display);font-weight:400;font-size:1.55rem;line-height:1.1}
.fa-city{color:var(--ink-2);font-size:.95rem}
.fa-since{color:var(--ink-3);font-size:.86rem;white-space:nowrap}
.fa-arrow{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px var(--line);transition:background-color .35s,color .35s,transform .5s var(--ease)}
.fa-row:hover .fa-arrow{background:var(--btn);color:var(--on-btn);transform:translateX(4px)}
@media (max-width:760px){.fa-row{grid-template-columns:36px 44px 1fr auto;gap:12px}.fa-city,.fa-since{display:none}}

/* ===== factories index: dossier cards ===== */
.fa-grid-sec{padding-top:clamp(40px,5.4vw,70px)}
.fx2-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:clamp(26px,3.2vw,42px)}
.fx2{display:block;border-radius:34px;overflow:hidden;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);transition:transform .6s var(--ease),box-shadow .6s}
.fx2:hover{transform:translateY(-8px);box-shadow:var(--shadow),inset 0 0 0 1px var(--line)}
.fx2-media{position:relative;aspect-ratio:16/11;overflow:hidden}
.fx2-media .photo{transition:transform 1.2s var(--ease)}
.fx2:hover .fx2-media .photo{transform:scale(1.07)}
.fx2-media .fph{background:linear-gradient(150deg,hsl(var(--h) 42% 30%),hsl(var(--h) 50% 14%))}
.fx2-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,18,14,.05) 45%,rgba(4,18,14,.72));pointer-events:none}
.fx2-flag{position:absolute;left:20px;bottom:16px;z-index:2;width:58px;height:39px;border-radius:8px;overflow:hidden;box-shadow:0 12px 24px -8px rgba(0,0,0,.55),0 0 0 2px rgba(255,255,255,.75);transition:transform .5s var(--ease)}
.fx2:hover .fx2-flag{transform:rotate(-6deg) scale(1.08)}
.fx2-flag .flag{width:100%;height:100%;border-radius:0;box-shadow:none}
.fx2-stamp{position:absolute;right:16px;top:16px;z-index:2;width:64px;height:64px;color:rgba(255,255,255,.9);opacity:0;transform:scale(.7) rotate(-10deg);transition:opacity .5s,transform .5s var(--ease)}
.fx2:hover .fx2-stamp{opacity:1;transform:none}
.fx2-stamp svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 20s linear infinite}
.fx2-stamp text{font-size:8.5px;font-weight:700;letter-spacing:.06em;fill:currentColor}
.fx2-stamp b{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-display);font-weight:400;font-size:1.05rem}
.fx2-go{position:absolute;right:16px;bottom:16px;z-index:2;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);opacity:0;translate:0 10px;transition:opacity .45s,translate .5s var(--ease),background-color .3s}
.fx2:hover .fx2-go{opacity:1;translate:0 0;background:var(--btn);color:var(--on-btn)}
.fx2-body{padding:22px 24px 24px}
.fx2-body h3{font-size:1.7rem;font-weight:400;line-height:1.15}
.fx2-body>p{color:var(--ink-3);font-size:.9rem;margin-top:2px}
.fx2-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fx2-facts>div{padding:12px 8px 12px 0}
.fx2-facts>div+div{padding-left:12px;border-left:1px solid var(--line)}
.fx2-facts dt{font-size:.7rem;color:var(--ink-3)}
.fx2-facts dd{margin:2px 0 0;font-weight:600;font-size:.88rem;line-height:1.25}
.fx2-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}
.fx2-prods{display:flex;align-items:center}
.fx2-prods .mini{width:36px;height:36px;margin-right:-9px;box-shadow:0 0 0 3px var(--surface)}
.fx2-prods em{font-style:normal;margin-left:18px;font-size:.82rem;color:var(--ink-2)}
.fx2-ag .alogo{width:36px;height:36px;border-radius:12px;font-size:.85rem;box-shadow:0 0 0 3px var(--surface)}

/* ===== factory detail: cinematic dossier ===== */
.fd{position:relative}
.fd-hero{position:relative;isolation:isolate;overflow:hidden;color:#F4F8F4;min-height:clamp(360px,46vw,560px);display:flex;align-items:flex-end;background:linear-gradient(150deg,hsl(var(--h) 40% 20%),hsl(var(--h) 46% 9%))}
.fd-media{position:absolute;inset:0;z-index:-2}
.fd-media .photo{width:100%;height:100%;object-fit:cover;opacity:.85}
.fd-wrap{position:relative}
.fd-wrap>.fd-media{position:relative;inset:auto;z-index:auto;height:clamp(190px,30vw,320px);border-radius:28px;overflow:hidden;margin-bottom:28px}
.pd-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease}
.pd-slide.on{opacity:1}
.pd-dots{position:absolute;left:50%;top:14px;translate:-50% 0;z-index:3;display:flex;gap:6px}
.pd-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 0 0 1px rgba(0,0,0,.15);transition:background-color .3s,transform .3s}
.pd-dots i.on{background:#fff;transform:scale(1.3)}
.fd-orb{position:absolute;z-index:-1;border-radius:50%;filter:blur(60px);opacity:.5;animation:float 15s ease-in-out infinite alternate}
.fd-orb.a{width:420px;height:420px;right:-100px;top:-140px;background:hsl(var(--h) 70% 55%)}
.fd-orb.b{width:340px;height:340px;left:-100px;bottom:-140px;background:var(--citrus);animation-delay:-6s}
.fd-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,14,10,.15) 0%,rgba(4,14,10,.28) 45%,rgba(4,14,10,.82) 100%)}
.fd-hero-in{position:relative;padding-block:clamp(70px,9vw,110px) clamp(46px,6vw,70px);z-index:2}
.fd-back{color:rgba(244,248,244,.85);margin-bottom:clamp(24px,4vw,52px)}
.fd-back:hover{color:#fff}
.fd-title{display:flex;align-items:flex-end;gap:clamp(16px,2.6vw,28px);flex-wrap:wrap}
.fd-flag .flag{width:clamp(70px,9vw,110px);height:calc(clamp(70px,9vw,110px)*2/3);border-radius:12px;box-shadow:0 20px 40px -14px rgba(0,0,0,.6),0 0 0 2px rgba(255,255,255,.28)}
.fd-kick{display:inline-flex;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--citrus);margin-bottom:8px}
.fd-title h1{color:#fff;font-size:clamp(2.6rem,6.4vw,5.4rem);line-height:.98}
.fd-title p{color:rgba(244,248,244,.82);font-size:1.08rem;margin-top:6px}
.fd-stamp{position:absolute;right:clamp(14px,3vw,40px);top:clamp(14px,3vw,40px);z-index:3;width:clamp(76px,8vw,104px);aspect-ratio:1;color:rgba(255,255,255,.92)}
.fd-stamp svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 26s linear infinite}
.fd-stamp text{font-size:8.5px;font-weight:700;letter-spacing:.05em;fill:currentColor}
.fd-stamp b{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-display);font-size:1.3rem;font-weight:400}
.fd-stripwrap{position:relative;z-index:4;margin-top:clamp(-56px,-6vw,-40px)}
.fd-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:6px;border-radius:28px;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow),inset 0 0 0 1px var(--line)}
.fd-strip>div{padding:18px 16px 16px;border-radius:22px;transition:background-color .35s}
.fd-strip>div:hover{background:color-mix(in srgb,var(--fern) 8%,transparent)}
.fd-strip>div+div{border-left:1px solid var(--line)}
.fd-strip dt{display:flex;align-items:center;gap:8px;font-size:.76rem;color:var(--ink-3);margin-bottom:6px}
.fd-strip dt .ico{width:15px;height:15px;color:var(--fern)}
.fd-strip dd{margin:0;font-family:var(--f-display);font-weight:400;font-size:1.3rem;line-height:1.2}
@media (max-width:760px){.fd-strip{grid-template-columns:repeat(2,1fr)}.fd-strip>div:nth-child(2n){border-left:1px solid var(--line)}.fd-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.fd-strip>div:nth-child(3),.fd-strip>div:nth-child(4){border-left:1px solid var(--line)}}
.fd-body{padding-top:clamp(46px,6vw,74px)}
.fd-two{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(30px,5vw,72px)}
.fd-prose{font-size:1.08rem}
.fd-prose p:first-child::first-letter{float:left;font-family:var(--f-display);font-weight:400;font-size:4.4rem;line-height:.78;padding:.05em .08em 0 0;color:var(--fern)}
.fd-aside{display:grid;gap:18px;align-content:start;container-type:inline-size}
.fd-card{padding:22px 24px;border-radius:26px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.fd-card h3{font-size:1.05rem;margin-bottom:14px}
.fd-person{display:flex;gap:16px;align-items:center;padding:18px 20px}
.fd-agent{display:flex;gap:16px;align-items:center}
.fd-certs .tag .ico{width:.95em;height:.95em;margin-right:.4em;vertical-align:-.1em}
.loc-card{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:0;border-radius:28px;background:linear-gradient(150deg,color-mix(in srgb,var(--fern) 8%,var(--surface)),var(--surface) 62%);box-shadow:var(--shadow),inset 0 0 0 1px var(--line)}
.loc-card-l{padding:clamp(24px,3.2vw,36px);display:flex;flex-direction:column;justify-content:center;gap:9px}
.loc-kick{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--fern)}
.loc-kick .ico{width:1.05em;height:1.05em}
.loc-card-l h3{font-size:clamp(1.35rem,2.2vw,1.8rem);font-weight:400;line-height:1.25}
.loc-card-l p{color:var(--ink-2);max-width:42ch;font-size:.94rem;line-height:1.55}
.loc-gmap{justify-self:start;margin-top:6px}
.loc-card-r{position:relative;min-height:240px}
.loc-map-frame{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.15) contrast(1.05)}
:root[data-theme="dark"] .loc-map-frame{filter:grayscale(.35) invert(.92) contrast(.92) hue-rotate(180deg)}
@media (max-width:760px){.loc-card{grid-template-columns:1fr}.loc-card-r{min-height:220px}}
@container (max-width:560px){.loc-card{grid-template-columns:1fr}.loc-card-l{padding:22px 22px 4px}.loc-card-r{min-height:200px}}
.fd-pass{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;gap:18px;padding:22px 24px;border-radius:26px;color:#fff;background:linear-gradient(140deg,hsl(var(--h) 40% 22%),hsl(var(--h) 46% 10%))}
.fd-pass .fd-stamp{position:static;color:rgba(255,255,255,.92);width:66px}
.fd-pass small{display:block;color:rgba(244,248,244,.7);font-size:.78rem}
.fd-pass b{font-family:var(--f-display);font-size:1.4rem;font-weight:400}
.fd-pass .flag{width:44px;height:29px;border-radius:8px;box-shadow:0 8px 16px -6px rgba(0,0,0,.5)}

/* ===== product sheet ===== */
.pd-media .photo{opacity:1}
.pd-media .badge{left:16px;right:auto;bottom:auto;top:16px;translate:none;box-shadow:0 10px 20px -8px rgba(180,50,55,.6)}
.pd-body{padding:26px clamp(22px,4.4vw,40px) clamp(30px,4.4vw,40px);display:grid;gap:14px}
.pd-body h2{font-size:clamp(1.7rem,3.2vw,2.3rem);font-weight:400;line-height:1.12}
.pd-body>.lead{color:var(--ink-2);font-size:1.04rem;margin-top:-6px}
.pd-price{font-family:var(--f-display);font-size:1.85rem;font-weight:400;color:var(--fern);display:flex;align-items:baseline;flex-wrap:wrap;gap:.4em}
.pd-price s{font-family:var(--f-body);font-weight:500;font-size:.56em;color:var(--ink-3)}
.pd-price small{font-family:var(--f-body);font-weight:600;font-size:.4em;letter-spacing:.02em;color:var(--ink-3)}
.pd-body>p{color:var(--ink-2);line-height:1.65;font-size:.98rem}
.pd-feat{display:grid;gap:10px}
.pd-feat li{display:flex;align-items:flex-start;gap:10px;font-size:.94rem}
.pd-feat li .ico{flex:none;width:17px;height:17px;margin-top:.2em;color:var(--fern)}
.pd-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 22px;padding:20px 22px;border-radius:20px;background:var(--bg-soft);box-shadow:inset 0 0 0 1px var(--line)}
.pd-specs>div{display:grid;gap:3px}
.pd-specs dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin:0}
.pd-specs dd{margin:0;font-weight:650;font-size:.95rem}
.pd-body>.btn{justify-self:start;margin-top:2px}
@media (max-width:480px){.pd-specs{grid-template-columns:1fr}}
@media (min-width:760px){
  .pd-wrap{display:grid;grid-template-columns:minmax(220px,36%) 1fr;align-items:start}
  .pd-wrap>.fd-media{height:auto;aspect-ratio:3/4;margin:28px 0 28px 28px;border-radius:24px}
  .pd-wrap .pd-body{padding:64px clamp(24px,3vw,40px) 28px 26px}
}
.fd-prod{padding-top:clamp(50px,6.4vw,80px)}
.fd-pager{display:flex;justify-content:space-between;gap:16px;margin-top:clamp(50px,6.4vw,80px);padding-top:clamp(24px,3vw,36px);border-top:1px solid var(--line)}
.fdp{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:22px;transition:background-color .35s}
.fdp:hover{background:color-mix(in srgb,var(--fern) 8%,transparent)}
.fdp-next{margin-left:auto;text-align:right;flex-direction:row-reverse}
.fdp-flag .flag{width:44px;height:29px;box-shadow:0 8px 16px -6px rgba(0,0,0,.4)}
.fdp-ic{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px var(--line);transition:transform .5s var(--ease)}
.fdp:hover .fdp-ic{transform:translateX(4px)}
.fdp-next:hover .fdp-ic{transform:translateX(-4px)}
.fdp small{display:block;color:var(--ink-3);font-size:.8rem}
.fdp b{font-family:var(--f-display);font-size:1.3rem;font-weight:400}
@media (max-width:820px){.fd-two{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.fd-pager{flex-direction:column}.fdp-next{margin-left:0;flex-direction:row;text-align:left}}

/* ===== agents hub: network hero ===== */
.ahub{position:relative;isolation:isolate;overflow:hidden;color:#F4F8F4;background:linear-gradient(150deg,#0B2A22 0%,#123B32 55%,#1D5E52 100%);padding:clamp(56px,7.5vw,100px) 0 clamp(74px,8.6vw,120px)}
.ahub-glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 60% at 12% 10%,rgba(240,181,81,.16),transparent 70%),radial-gradient(45% 60% at 92% 95%,rgba(127,214,208,.14),transparent 70%)}
.ahub-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,70px);align-items:center}
@media (max-width:900px){.ahub-in{grid-template-columns:minmax(0,1fr);text-align:center}.ahub-t{max-width:640px;margin-inline:auto}.ahub-t .lead{margin-inline:auto}.fatlas-stats,.ahub-jump{justify-content:center}}

/* ===== agents hub: big glowing waving flag (no card) ===== */
.ah-bigflag{position:relative;display:grid;place-items:center;height:clamp(260px,32vw,420px);perspective:900px}
.ah-bf-glow{position:absolute;inset:2%;z-index:-2;border-radius:50%;background:radial-gradient(circle,rgba(237,32,36,.3),rgba(39,142,67,.24) 55%,transparent 72%);filter:blur(38px);animation:bfpulse 5s ease-in-out infinite alternate}
@keyframes bfpulse{to{transform:scale(1.14);opacity:.9}}
.ah-bf-ring{position:absolute;inset:6%;z-index:-1;border-radius:50%;border:1px dashed rgba(251,209,22,.35)}
.ah-bf-ring{animation:spin 40s linear infinite}
.ah-bf-ring.r2{inset:14%;border-color:rgba(255,255,255,.22);animation:spin 30s linear infinite reverse}
.ah-bf-wrap{position:relative;width:min(100%,500px);transform-style:preserve-3d;animation:bfbob 6s ease-in-out infinite alternate}
@keyframes bfbob{to{transform:translateY(-16px) rotateZ(1deg) rotateX(3deg)}}
.ah-bf-pole{position:absolute;left:-3%;top:-8%;bottom:-6%;width:5px;border-radius:3px;background:linear-gradient(180deg,#E8C878,#9C7A2E);box-shadow:0 0 10px rgba(0,0,0,.3)}
.ah-bf-pole::before{content:'';position:absolute;left:50%;top:-9px;translate:-50% 0;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#FFEFAE,#C9971F);box-shadow:0 4px 8px rgba(0,0,0,.35)}
.ah-bf-svg{position:relative;z-index:1;width:100%;height:auto;aspect-ratio:60/40;object-fit:cover;transform-origin:0% 50%;filter:drop-shadow(0 24px 42px rgba(0,0,0,.45)) drop-shadow(0 0 32px rgba(251,209,22,.28));animation:bfwave 3.2s ease-in-out infinite}
@keyframes bfwave{0%,100%{transform:skewY(0deg) scaleY(1) rotateY(0deg)}25%{transform:skewY(-2.2deg) scaleY(1.015) rotateY(2deg)}50%{transform:skewY(0deg) scaleY(.985) rotateY(0deg)}75%{transform:skewY(2.2deg) scaleY(1.015) rotateY(-2deg)}}
.ah-bf-shine{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(75deg,transparent 30%,rgba(255,255,255,.55) 45%,transparent 60%);mix-blend-mode:overlay;background-size:260% 100%;animation:bfshine 4.5s ease-in-out infinite}
@keyframes bfshine{0%,60%,100%{background-position:140% 0}75%{background-position:-40% 0}}
.ah-bf-dust{position:absolute;inset:-10% -6%;z-index:3;pointer-events:none;overflow:visible}
.ah-bf-dust i{position:absolute;left:var(--x);bottom:6%;width:var(--s);height:var(--s);border-radius:50%;background:radial-gradient(circle,#FFF3C4,#F0C36B 70%);box-shadow:0 0 8px 2px rgba(240,195,107,.65);opacity:0;animation:bfdust var(--t) ease-in var(--dl) infinite}
@keyframes bfdust{0%{transform:translate(0,0);opacity:0}15%{opacity:.9}100%{transform:translate(calc((var(--i,0) - 6.5)*4px),-120%);opacity:0}}
@media (max-width:900px){.ah-bigflag{height:230px}.ah-bf-wrap{width:min(78%,340px)}.ah-bf-pole{display:none}}
@media (prefers-reduced-motion:reduce){.ah-bf-svg,.ah-bf-wrap,.ah-bf-glow,.ah-bf-shine,.ah-bf-dust i{animation:none}}
.ahub h1{color:#fff;font-size:clamp(2.5rem,5.4vw,4.6rem);margin-bottom:18px}
.ahub .lead{color:rgba(244,248,244,.84);max-width:48ch}
.ahub-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.ah-chip{display:inline-flex;align-items:center;gap:9px;padding:.45em 1em;border-radius:999px;background:rgba(255,255,255,.09);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);font-size:.84rem;color:rgba(244,248,244,.9);transition:background-color .3s,transform .4s var(--ease)}
.ah-chip:hover{background:rgba(255,255,255,.18);transform:translateY(-2px)}
.ah-chip .hl-dot{width:9px;height:9px;box-shadow:0 0 0 3px color-mix(in srgb,var(--cc) 30%,transparent)}
.ahub-orbit{position:relative;height:clamp(280px,30vw,380px);display:grid;place-items:center}
@keyframes sweep{to{transform:rotate(360deg)}}
@keyframes orbbob{to{transform:translateY(-9px)}}
@media (max-width:900px){.ahub-in{grid-template-columns:minmax(0,1fr)}.ahub-orbit{order:-1;height:220px}}

/* ===== agents: toolbar + cards ===== */
.ag-sec{padding-top:clamp(40px,5.4vw,64px)}
.ag-tool{display:flex;align-items:center;gap:16px;margin-bottom:clamp(26px,3.4vw,40px)}
.ag-search input{padding:.9em 1.1em .9em 3em;border-radius:999px;background:var(--bg-soft);border-color:transparent}
.ag-count{flex:none;font-size:.86rem;color:var(--ink-3);white-space:nowrap}
.ag2-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:clamp(26px,3.2vw,42px)}
.ag-empty{grid-column:1/-1;padding:70px 20px;display:grid;justify-items:center;gap:12px}
.ag3{display:block;border-radius:32px;overflow:hidden;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);transition:transform .6s var(--ease),box-shadow .6s;animation:pxin .8s var(--ease) both;animation-delay:calc(min(var(--i),8)*70ms)}
.ag3:hover{transform:translateY(-8px);box-shadow:var(--shadow),inset 0 0 0 1px var(--line)}
.ag3-media{position:relative;display:block;aspect-ratio:16/12;overflow:hidden;background:linear-gradient(150deg,hsl(var(--h) 42% 30%),hsl(var(--h) 50% 14%))}
.ag3-media .photo{transition:transform 1.2s var(--ease)}
.ag3:hover .ag3-media .photo{transform:scale(1.07)}
.ag3-media .fph{background:transparent}
.ag3-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,18,14,.05) 40%,rgba(4,18,14,.7));pointer-events:none}
.ag3-flag{position:absolute;left:16px;top:16px;z-index:2;width:44px;height:30px;border-radius:7px;overflow:hidden;box-shadow:0 10px 20px -8px rgba(0,0,0,.55),0 0 0 2px rgba(255,255,255,.75)}
.ag3-flag .flag{width:100%;height:100%;border-radius:0;box-shadow:none}
.ag3-live{position:absolute;right:16px;top:16px;z-index:2;display:inline-flex;align-items:center;gap:7px;padding:.4em .85em;border-radius:999px;background:rgba(4,18,14,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:.72rem;font-weight:600}
.ag3-dot{width:7px;height:7px;border-radius:50%;background:#3FE096;box-shadow:0 0 0 0 rgba(63,224,150,.6);animation:nowp 2.4s ease-out infinite}
.ag3-go{position:absolute;right:16px;bottom:16px;z-index:2;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);opacity:0;translate:0 10px;transition:opacity .45s,translate .5s var(--ease),background-color .3s}
.ag3:hover .ag3-go{opacity:1;translate:0 0;background:var(--btn);color:var(--on-btn)}
.ag3-body{position:relative;padding:0 24px 24px}
.ag3-med{display:block;width:60px;height:60px;margin-top:-30px;margin-bottom:12px;border-radius:18px;overflow:hidden;box-shadow:0 12px 24px -10px rgba(0,0,0,.4),0 0 0 4px var(--surface)}
.ag3-med .alogo{width:100%;height:100%;border-radius:0;font-size:1.25rem}
.ag3-name{display:block}
.ag3-name h3{font-size:1.3rem;line-height:1.2;font-weight:400}
.ag3-loc{display:flex;align-items:center;gap:7px;color:var(--ink-3);font-size:.86rem;margin-top:4px}
.ag3-loc .ico{width:.95em;height:.95em}
.ag3-mid{display:grid;gap:8px;padding:14px;margin:16px 0;border-radius:18px;background:var(--bg-soft)}
.ag3-person b{display:block;font-weight:700;font-size:.95rem}
.ag3-person small{color:var(--ink-3);font-size:.82rem}
.ag3-terr,.ag3-hours{display:flex;align-items:flex-start;gap:8px;font-size:.86rem;color:var(--ink-2)}
.ag3-terr .ico,.ag3-hours .ico{width:1em;height:1em;margin-top:.2em;color:var(--fern);flex:none}
.ag3-btns{display:flex;gap:8px;flex-wrap:wrap}
.ag3-btns .btn .ico{width:1em;height:1em}

/* ===== about: cinematic hero ===== */
.ab-hero{position:relative;isolation:isolate;overflow:hidden;color:#F4F8F4;min-height:min(84svh,720px);display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(150deg,#0B2A22 0%,#123B32 55%,#1D5E52 100%)}
.ab-hero-bg{position:absolute;inset:-6%;z-index:-2;transform:scale(var(--sc,1)) translateY(var(--py,0px))}
.ab-slide{position:absolute;inset:0;opacity:0;transition:opacity 2s ease}
.ab-slide.on{opacity:1}
.ab-slide img{width:100%;height:100%;object-fit:cover;opacity:.44;animation:abkb 22s ease-in-out var(--dl,0s) infinite alternate}
@keyframes abkb{to{transform:scale(1.14) translate(-1.5%,1%)}}
.ab-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 60% at 50% 30%,rgba(127,214,208,.14),transparent 70%),linear-gradient(180deg,rgba(4,18,14,.2),rgba(4,18,14,.86) 88%)}
.ab-hero-in{position:relative;padding-block:clamp(90px,12vh,150px) clamp(60px,8vh,100px);display:grid;justify-items:center}
.ab-mark{width:clamp(56px,6vw,76px);aspect-ratio:1;margin-bottom:26px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.28);animation:abmarkin 1s var(--ease) .1s both}
@keyframes abmarkin{from{opacity:0;transform:scale(.5) rotate(-30deg)}}
.ab-mark svg,.ab-mark img{width:56%;height:56%;object-fit:contain}
.ab-name{color:#fff;font-size:clamp(2.4rem,7vw,6rem);line-height:1.02;max-width:18ch}
.ab-l{display:inline-block;animation:able 1s var(--ease) both;animation-delay:calc(.15s + var(--i)*35ms)}
.ab-l.sp{width:.28em}
@keyframes able{from{opacity:0;transform:translateY(.5em);filter:blur(6px)}}
.ab-tag{color:rgba(244,248,244,.82);max-width:44ch;margin-top:18px;font-size:clamp(1.02rem,1.6vw,1.24rem);opacity:0;animation:fade-up .9s var(--ease) 1s both}
.ab-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:0;margin-top:clamp(30px,4vw,46px);opacity:0;animation:fade-up .9s var(--ease) 1.2s both}
.ab-stats li{padding:0 clamp(16px,2.6vw,32px);border-left:1px solid rgba(255,255,255,.18)}
.ab-stats li:first-child{padding-left:0;border:0}
.ab-stats b{display:block;font-family:var(--f-display);font-weight:300;font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1;color:var(--citrus);font-variation-settings:"SOFT" 100,"opsz" 120}
.ab-stats span{font-size:.82rem;color:rgba(244,248,244,.72)}

/* ===== about: story + pillars ===== */
.ab-story{padding-top:clamp(56px,7.4vw,96px);padding-bottom:clamp(30px,4vw,46px)}
.ab-story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(30px,5vw,74px);align-items:start}
.ab-drop-wrap{display:grid;gap:26px}
.ab-founded{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;padding:20px 28px;border-radius:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--fern) 14%,var(--surface)),var(--surface));box-shadow:inset 0 0 0 1px var(--line);width:fit-content;max-width:100%}
.ab-founded b{font-family:var(--f-display);font-weight:300;font-size:2.2rem;line-height:1;color:var(--fern);font-variation-settings:"SOFT" 100,"opsz" 96}
.ab-founded span{display:block;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}
.ab-founded i{font-style:normal;padding-left:20px;border-left:1px solid var(--line);color:var(--ink-2);font-size:.88rem;max-width:22ch;line-height:1.3}
.ab-drop{font-size:1.1rem}
.ab-drop p:first-child::first-letter{float:left;font-family:var(--f-display);font-weight:400;font-size:4.6rem;line-height:.76;padding:.06em .09em 0 0;color:var(--fern)}
.ab-pillars{display:grid;gap:18px}
.ab-pill{position:relative;isolation:isolate;overflow:hidden;display:flex;gap:20px;padding:26px 26px 26px 22px;border-radius:28px;background:linear-gradient(155deg,color-mix(in srgb,var(--fern) 7%,var(--surface)),var(--surface) 60%);box-shadow:inset 0 0 0 1px var(--line);transition:transform .5s var(--ease),box-shadow .5s}
.ab-pill::before{content:'';position:absolute;left:0;top:16px;bottom:16px;width:3px;border-radius:0 3px 3px 0;background:var(--fern);opacity:.7}
.ab-pill:hover{transform:translateX(8px) translateY(-2px);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--fern) 45%,transparent),0 24px 44px -30px color-mix(in srgb,var(--fern) 50%,transparent)}
.ab-pill-num{position:absolute;right:18px;top:10px;z-index:-1;font-family:var(--f-display);font-weight:300;font-size:3.4rem;color:color-mix(in srgb,var(--ink) 6%,transparent);line-height:1;font-variation-settings:"SOFT" 100,"opsz" 120}
.ab-pill-ic{flex:none;width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:color-mix(in srgb,var(--fern) 15%,transparent);color:var(--fern);transition:transform .5s var(--ease)}
.ab-pill:hover .ab-pill-ic{transform:rotate(-8deg) scale(1.08)}
.ab-pill-ic .ico{width:26px;height:26px;stroke-width:1.5}
.ab-pill-b{min-width:0}
.ab-pill h3{font-size:1.2rem;margin-bottom:5px}
.ab-pill p{color:var(--ink-2);font-size:.92rem;margin-bottom:12px}
.ab-pill-stat{display:inline-flex;align-items:baseline;gap:8px;padding:.35em .9em .35em .35em;border-radius:999px;background:var(--bg-soft);font-size:.8rem;color:var(--ink-2)}
.ab-pill-stat b{font-family:var(--f-display);font-weight:400;font-size:1.3rem;color:var(--fern);padding:.15em .5em;border-radius:999px;background:var(--surface)}
@media (max-width:860px){.ab-story-grid{grid-template-columns:minmax(0,1fr)}}

/* ===== about: timeline ===== */
.ab-time{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:linear-gradient(135deg,#0C332A,#123B32 60%,#1D5E52);padding-top:clamp(40px,5.4vw,64px);padding-bottom:clamp(60px,7.6vw,96px);margin-top:0;margin-bottom:clamp(30px,4vw,50px)}
.ab-time-bg{position:absolute;inset:0;z-index:-2}
.ab-time-bg img{width:100%;height:100%;object-fit:cover;opacity:.22}
.ab-time::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,18,14,.2),rgba(4,18,14,.82))}
.ab-time-yr{position:absolute;right:clamp(-10px,-1vw,10px);bottom:-6%;z-index:-1;font-family:var(--f-display);font-weight:300;font-size:clamp(7rem,16vw,13rem);line-height:1;color:rgba(255,255,255,.05);pointer-events:none;font-variation-settings:"SOFT" 100,"opsz" 144}
.ab-time-in{position:relative;z-index:1}
.ab-time h2{color:#fff}
.ab-tl{position:relative;overflow-x:auto;padding-bottom:8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ab-tl::-webkit-scrollbar{display:none}
.ab-tl-line{position:absolute;left:0;right:0;top:9px;height:2px;background:rgba(255,255,255,.2)}
.ab-tl-fill{position:absolute;left:0;top:9px;height:2px;width:0;background:linear-gradient(90deg,var(--fern),var(--citrus));box-shadow:0 0 10px 1px rgba(240,181,81,.6);transition:width 1.6s var(--ease) .3s}
.ab-tl.in .ab-tl-fill{width:100%}
.js .ab-tl:not(.in) .ab-tl-fill{width:0!important}
.ab-tl-row{display:flex;gap:0;list-style:none;margin:0;padding:0;min-width:max-content}
.ab-tl-item{position:relative;flex:0 0 clamp(190px,20vw,240px);padding-left:4px;padding-top:26px;transition:opacity .8s var(--ease) calc(var(--k)*.12s),transform .8s var(--ease) calc(var(--k)*.12s)}
.ab-tl.in .ab-tl-item{opacity:1;transform:none}
.js .ab-tl:not(.in) .ab-tl-item{opacity:0;transform:translateY(16px)}
.ab-tl-dot{position:absolute;left:4px;top:0;width:11px;height:11px;border-radius:50%;background:var(--citrus);box-shadow:0 0 0 4px rgba(240,181,81,.28);animation:tldot 2.4s ease-out calc(var(--k)*.12s + .4s) infinite}
@keyframes tldot{0%{box-shadow:0 0 0 4px rgba(240,181,81,.28)}70%,100%{box-shadow:0 0 0 4px rgba(240,181,81,.28),0 0 0 11px rgba(240,181,81,0)}}
.ab-tl-ic{position:absolute;left:-6px;top:-40px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);color:var(--citrus)}
.ab-tl-ic .ico{width:15px;height:15px;stroke-width:1.6}
.ab-tl-item{padding-top:60px}
.ab-tl-item b{display:block;font-family:var(--f-display);font-weight:300;font-size:1.9rem;color:#fff;margin-bottom:6px}
.ab-tl-item p{color:rgba(255,255,255,.82);font-size:.9rem;max-width:26ch;line-height:1.45}

.ab-photo{border-radius:32px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line);aspect-ratio:16/7}
.ab-photo img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:620px){.ab-photo{aspect-ratio:4/3;border-radius:24px}}

/* ===== about: authorised agent spotlight ===== */
.ab-agent-sec{padding-top:0}
.ab-agent{position:relative;isolation:isolate;overflow:hidden;border-radius:40px;padding:clamp(30px,4.6vw,56px);background:linear-gradient(160deg,color-mix(in srgb,var(--fern) 6%,var(--surface)),var(--surface) 55%);box-shadow:var(--shadow),inset 0 0 0 1px var(--line)}
.ab-ag-glow{position:absolute;z-index:-1;right:-120px;top:-140px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--fern) 20%,transparent),transparent 68%);animation:float 15s ease-in-out infinite alternate}
.ab-ag-top{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(18px,2.6vw,30px);align-items:center;margin-bottom:clamp(28px,3.6vw,44px)}
.ab-ag-top .alogo{width:88px;height:88px;border-radius:28px;font-size:2rem}
.ab-ag-kick{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--fern);margin-bottom:6px}
.ab-ag-top h2{font-size:clamp(1.8rem,3.2vw,2.6rem)}
.ab-ag-top>div>p{color:var(--ink-2);margin-top:4px}
.ab-ag-badge{position:relative;width:clamp(72px,7.6vw,96px);aspect-ratio:1;color:var(--fern);flex:none}
.ab-ag-badge svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 24s linear infinite}
.ab-ag-badge text{font-size:8.4px;font-weight:700;letter-spacing:.05em;fill:currentColor}
.ab-ag-badge b{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-display);font-size:.92rem;text-align:center;padding:0 8px;line-height:1.1;overflow:hidden;word-break:break-word}
.ab-ag-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(26px,4vw,50px);padding-bottom:clamp(24px,3vw,36px);border-bottom:1px solid var(--line);margin-bottom:clamp(24px,3vw,36px)}
.ab-ag-side{display:grid;gap:20px;align-content:start}
.ab-ag-kv{display:grid;gap:12px}
.ab-ag-kv>div{padding:14px 16px;border-radius:16px;background:var(--bg-soft)}
.ab-ag-kv dt{display:flex;align-items:center;gap:8px;font-size:.76rem;color:var(--ink-3);margin-bottom:4px}
.ab-ag-kv dt .ico{width:14px;height:14px;color:var(--fern)}
.ab-ag-kv dd{margin:0;font-weight:600;font-size:.95rem}
.ab-svc-head{font-family:var(--f-display);font-size:1.15rem;margin-bottom:16px}
.ab-svc{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:clamp(24px,3vw,36px)}
.ab-svc li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;transition:opacity .6s var(--ease),transform .6s var(--ease)}
.js .ab-svc li:not(.in){opacity:0;transform:translateY(10px)}
.ab-svc li.in{opacity:1;transform:none}
.ab-svc .ico{color:var(--fern);margin-top:.2em;flex:none;width:1.1em;height:1.1em}
.ab-ag-stats{display:flex;flex-wrap:wrap;gap:0}
.ab-ag-stats div{padding:0 clamp(16px,2.4vw,28px);border-left:1px solid var(--line)}
.ab-ag-stats div:first-child{padding-left:0;border:0}
.ab-ag-stats b{display:block;font-family:var(--f-display);font-weight:300;font-size:2.2rem;color:var(--fern);line-height:1}
.ab-ag-stats span{color:var(--ink-2);font-size:.86rem}
@media (max-width:820px){.ab-ag-top{grid-template-columns:auto 1fr}.ab-ag-badge{display:none}.ab-ag-body{grid-template-columns:minmax(0,1fr)}}

/* ===== about: photo gallery ===== */
.ab-gal-sec{padding-top:clamp(50px,6.4vw,86px);padding-bottom:0}
.ab-gal{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:0 clamp(-30px,-2.4vw,-10px);padding-inline:var(--gut);max-width:calc(var(--max) + var(--gut)*2);margin-inline:auto;padding-bottom:20px}
.ab-gph{position:relative;isolation:isolate;flex:0 0 auto;width:clamp(190px,15vw,230px);padding:10px 10px 46px;border-radius:6px;background:var(--surface);box-shadow:0 20px 40px -22px rgba(0,0,0,.35),0 1px 0 rgba(255,255,255,.5) inset;rotate:var(--rot);transition:opacity .8s var(--ease) calc(var(--i)*.12s),transform .8s var(--ease) calc(var(--i)*.12s),rotate .6s var(--ease),z-index 0s;transform:translateY(40px) scale(.92);cursor:default}
.js .ab-gal:not(.in) .ab-gph{opacity:0;transform:translateY(60px) scale(.9)}
.ab-gal.in .ab-gph{opacity:1;transform:translateY(0) scale(1)}
.ab-gph:nth-child(odd){margin-bottom:clamp(6px,1.2vw,18px)}
.ab-gph:nth-child(2n){margin-bottom:clamp(-8px,-.6vw,4px)}
.ab-gph:hover{rotate:0deg;z-index:5;transform:translateY(-14px) scale(1.07)!important;box-shadow:0 40px 64px -26px rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,.6) inset}
.ab-gph-ph{position:relative;display:block;overflow:hidden;border-radius:2px;aspect-ratio:3/4;background:var(--bg-soft)}
.ab-gph-ph img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) brightness(.97);transition:transform 1.2s var(--ease),filter .6s}
.ab-gph:hover .ab-gph-ph img{transform:scale(1.1);filter:saturate(1.08) brightness(1.02)}
.ab-gph-ph::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(160deg,rgba(255,214,130,.16),rgba(16,80,56,.2));mix-blend-mode:soft-light;opacity:.9;transition:opacity .5s}
.ab-gph:hover .ab-gph-ph::after{opacity:.35}
.ab-gph-num{position:absolute;left:16px;top:16px;z-index:2;font-family:var(--f-display);font-weight:400;font-size:.82rem;color:#fff;background:rgba(4,18,14,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:.15em .55em;border-radius:999px;opacity:0;transform:translateY(-6px);transition:opacity .4s,transform .4s var(--ease)}
.ab-gph:hover .ab-gph-num{opacity:1;transform:none}
.ab-gph figcaption{position:absolute;left:10px;right:10px;bottom:10px;height:34px;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--f-display);font-style:italic;font-weight:400;font-size:.86rem;color:var(--ink-2);line-height:1.15;padding:0 4px}
@media (max-width:900px){.ab-gal{gap:0}.ab-gph{width:clamp(150px,42vw,210px)}}
@media (max-width:480px){.ab-gph{width:clamp(130px,60vw,190px)}}

/* ===== about: pull quote ===== */
.ab-quote-sec{padding-top:clamp(20px,3vw,32px);padding-bottom:clamp(50px,6.4vw,86px)}
.ab-map-sec{padding-top:clamp(20px,3vw,32px);padding-bottom:clamp(40px,5.4vw,70px)}
.ab-map-sec .loc-card-r{min-height:340px}
.ab-quote{position:relative;isolation:isolate;overflow:hidden;max-width:900px;margin:0 auto clamp(-38px,-4.4vw,-26px);text-align:center;padding:clamp(50px,7vw,80px) clamp(24px,5vw,64px) clamp(40px,5.4vw,60px);border-radius:36px;background:linear-gradient(155deg,color-mix(in srgb,var(--fern) 9%,var(--surface)),var(--surface) 65%);box-shadow:var(--shadow),inset 0 0 0 1px var(--line);opacity:0;transform:translateY(20px) scale(.98);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.ab-quote.in{opacity:1;transform:none}
.js .ab-quote:not(.in){opacity:0;transform:translateY(20px) scale(.98)}
.ab-quote::before{content:'';position:absolute;z-index:-1;right:-70px;top:-90px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--fern) 22%,transparent),transparent 68%);animation:float 13s ease-in-out infinite alternate}
.ab-qmark{position:absolute;left:50%;top:clamp(6px,1vw,14px);translate:-50% 0;font-family:var(--f-display);font-weight:300;font-size:clamp(5rem,11vw,8.5rem);line-height:1;color:color-mix(in srgb,var(--fern) 22%,transparent)}
.ab-quote p{position:relative;font-family:var(--f-display);font-weight:300;font-style:italic;font-size:clamp(1.4rem,2.8vw,2.1rem);line-height:1.4;color:var(--ink)}
.ab-quote footer{position:relative;margin-top:22px;font-size:.86rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.ab-quote footer::before{content:'';display:inline-block;width:28px;height:1.5px;background:var(--fern);margin-right:12px;vertical-align:middle}

.ab-certs-sec{padding-block:clamp(40px,5.4vw,70px)}
.ab-certs{display:flex;flex-wrap:wrap;gap:clamp(26px,3.2vw,42px);justify-content:center}
.ab-cert{--cc:hsl(var(--h) 62% 46%);--cc2:hsl(var(--h) 70% 62%);position:relative;isolation:isolate;display:grid;justify-items:center;gap:12px;width:clamp(112px,11.4vw,138px);padding-top:10px;transition:opacity .6s var(--ease),transform .6s var(--ease);cursor:default}
.js .ab-cert:not(.in){opacity:0;transform:translateY(16px) scale(.9)}
.ab-cert.in{opacity:1;transform:none}
.ab-cert-ic{position:relative;width:clamp(70px,7.2vw,86px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(120% 120% at 32% 24%,var(--cc2),var(--cc) 62%);box-shadow:0 16px 30px -14px hsl(var(--h) 60% 40% / .55),inset 0 2px 3px rgba(255,255,255,.5),inset 0 -6px 10px rgba(0,0,0,.18);color:#fff;transition:transform .5s var(--ease),box-shadow .5s}
.ab-cert-ic::before{content:'';position:absolute;inset:3px;border-radius:50%;border:1.5px dashed rgba(255,255,255,.55)}
.ab-cert-ic .ico{width:26px;height:26px;stroke-width:2;position:relative;z-index:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}
.ab-cert-ring{position:absolute;inset:-10px;border-radius:50%;border:1.5px dashed color-mix(in srgb,var(--cc) 55%,transparent);opacity:.6;animation:spin 22s linear infinite}
.ab-cert:hover .ab-cert-ring{animation-duration:5s;opacity:1;inset:-13px}
.ab-cert:hover .ab-cert-ic{transform:translateY(-5px) scale(1.08) rotate(-4deg);box-shadow:0 26px 40px -16px hsl(var(--h) 60% 42% / .65),inset 0 2px 3px rgba(255,255,255,.6),inset 0 -6px 10px rgba(0,0,0,.2)}
.ab-cert::after{content:'';position:absolute;left:50%;top:clamp(46px,4.6vw,58px);translate:-50% 0;width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:16px solid var(--cc);opacity:.85;filter:brightness(.9);z-index:-1;transition:translate .5s var(--ease)}
.ab-cert:hover::after{translate:-50% 4px}
.ab-cert b{font-weight:700;font-size:.8rem;text-align:center;letter-spacing:.02em;line-height:1.3;color:var(--ink-2);transition:color .3s;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;max-width:100%}
.ab-cert:hover b{color:var(--ink)}

/* ===== contact: dark hero ===== */
.ct-hero{position:relative;isolation:isolate;overflow:hidden;color:#F4F8F4;padding:clamp(80px,10vh,130px) 0 clamp(66px,8vh,100px);text-align:center;background:linear-gradient(150deg,#0B2A22 0%,#123B32 55%,#1D5E52 100%)}
.ct-glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(55% 65% at 20% 15%,rgba(240,181,81,.16),transparent 70%),radial-gradient(50% 60% at 85% 90%,rgba(127,214,208,.14),transparent 70%)}
.ct-hero-in{display:grid;justify-items:center}
.ct-hero .fatlas-kick{margin-bottom:20px}
.ct-hero h1{color:#fff;font-size:clamp(2.6rem,5.6vw,4.6rem)}
.ct-hero .lead{color:rgba(244,248,244,.84);max-width:46ch;margin-top:16px}

/* ===== contact: body layout ===== */
.ct-body{padding-block:clamp(50px,6.4vw,84px)}
.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(26px,4.4vw,60px);align-items:start}
.ct-info{display:grid;gap:14px}
.ct-tile{position:relative;display:flex;align-items:center;gap:16px;padding:20px 22px;border-radius:26px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);transition:opacity .7s var(--ease),transform .7s var(--ease),box-shadow .4s,background-color .3s}
.js .ct-tile:not(.in){opacity:0;transform:translateY(16px)}
.ct-tile.in{opacity:1;transform:none}
a.ct-tile:hover{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--fern) 50%,transparent);background:color-mix(in srgb,var(--fern) 6%,var(--surface));transform:translateX(6px)!important}
.ct-tile-ic{flex:none;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--fern) 14%,transparent);color:var(--fern);transition:transform .5s var(--ease)}
a.ct-tile:hover .ct-tile-ic{transform:rotate(-8deg) scale(1.08)}
.ct-tile-ic .ico{width:22px;height:22px;stroke-width:1.6}
.ct-tile small{display:block;color:var(--ink-3);font-size:.78rem}
.ct-tile b{font-weight:700;font-size:1rem;word-break:break-word}
.ct-soc-tile{align-items:center}
.ct-soc{margin-top:8px;gap:8px}
.ct-soc .social{width:38px;height:38px}
.ct-soc .social .ico{width:17px;height:17px}

/* ===== contact: form card ===== */
.ct-body .formcard{position:relative;isolation:isolate;overflow:hidden}
.ct-form-glow{position:absolute;z-index:-1;right:-90px;top:-110px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--fern) 18%,transparent),transparent 68%);animation:float 13s ease-in-out infinite alternate}
.ct-form-ic{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:16px;background:color-mix(in srgb,var(--fern) 14%,transparent);color:var(--fern);margin-bottom:16px}
.ct-form-ic .ico{width:22px;height:22px;stroke-width:1.6}
@media (max-width:860px){.contact-grid{grid-template-columns:minmax(0,1fr)}}

/* ===== contact: head office map ===== */
.ct-loc-wrap{padding-top:clamp(30px,4vw,44px)}
.ct-loc-wrap .loc-card-r{min-height:320px}

/* ===== contact: offers/notices list wrapper ===== */
.ol-wrap{display:grid;gap:clamp(24px,3vw,38px)}
.ol-empty{padding:70px 20px;display:grid;justify-items:center;gap:12px}
/* ===== home: current-offers teaser grid ===== */
.off-grid{display:grid;gap:clamp(24px,3vw,38px);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}

/* ===== moments: hero ===== */
.mo-hero{position:relative;isolation:isolate;overflow:hidden;color:#F4F8F4;padding:clamp(80px,10vh,130px) 0 clamp(66px,8vh,100px);text-align:center;background:linear-gradient(150deg,#0B2A22 0%,#123B32 55%,#1D5E52 100%)}
.mo-glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(55% 65% at 18% 12%,rgba(240,181,81,.17),transparent 70%),radial-gradient(50% 60% at 86% 92%,rgba(127,214,208,.15),transparent 70%)}
.mo-hero-in{display:grid;justify-items:center}
.mo-hero .fatlas-kick{margin-bottom:20px}
.mo-hero h1{color:#fff;font-size:clamp(2.6rem,5.6vw,4.6rem)}
.mo-hero .lead{color:rgba(244,248,244,.84);max-width:48ch;margin-top:16px}

/* ===== moments: bento feed ===== */
.mo-sec{padding-block:clamp(46px,6.4vw,84px)}
.mo-grid{display:grid;grid-auto-flow:dense;grid-template-columns:1fr;grid-auto-rows:230px;gap:clamp(16px,2.2vw,26px)}
@media (min-width:640px){.mo-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-auto-rows:250px}}
@media (min-width:1000px){.mo-grid{grid-auto-rows:270px}}
.mo-card{position:relative}
.mo-card.mo-lg{grid-column:span 2;grid-row:span 2}
.mo-card.mo-wide{grid-column:span 2}
@media (max-width:639px){.mo-card.mo-wide,.mo-card.mo-lg{grid-column:span 1}}
.mo-media{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;margin:0;border:0;border-radius:26px;overflow:hidden;cursor:pointer;background:hsl(var(--h,140) 42% 90%);box-shadow:var(--shadow),inset 0 0 0 1px var(--line);isolation:isolate;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.mo-media:hover,.mo-media:focus-visible{transform:translateY(-6px);box-shadow:0 32px 54px -22px rgba(10,40,30,.4),inset 0 0 0 1px var(--line)}
.mo-media .ph{position:absolute;inset:0;display:grid;place-items:center;background:hsl(var(--h,140) 45% 86%);font-size:2.2rem;font-weight:700;color:#fff}
.mo-media .photo,.mo-media .mo-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.mo-media:hover .photo,.mo-media:hover .mo-ph{transform:scale(1.06)}
.mo-scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,20,15,.84) 0%,rgba(6,20,15,.22) 46%,transparent 70%);pointer-events:none}
.mo-badge{position:absolute;top:16px;right:16px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(6,20,15,.5);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.mo-badge .ico{width:17px;height:17px;margin-left:2px}
.mo-cap{position:absolute;left:0;right:0;bottom:0;padding:18px 20px;text-align:left;color:#fff;display:grid;gap:4px}
.mo-cap b{font-size:1.05rem;font-weight:600;line-height:1.32}
.mo-card.mo-lg .mo-cap b{font-size:1.3rem}
.mo-cap span{font-size:.82rem;color:rgba(255,255,255,.82);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (prefers-reduced-motion:reduce){.mo-media,.mo-media .photo,.mo-media .mo-ph{transition:none}}

/* ===== moments: lightbox sheet ===== */
.sheet.mo-open{padding:0;display:flex;flex-direction:column;background:var(--surface)}
.mo-sheet-media{position:relative;background:#0B2A22;display:grid;place-items:center}
.mo-sheet-media img,.mo-sheet-media video{width:100%;max-height:min(60vh,600px);object-fit:contain}
.mo-sheet-body{position:relative;padding:clamp(24px,3.6vw,36px);display:grid;gap:10px}
.mo-sheet-body .x{position:absolute;top:16px;right:16px}
.mo-sheet-kick{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--fern)}
.mo-sheet-kick .ico{width:1.05em;height:1.05em}
.mo-sheet-body h2{font-size:clamp(1.4rem,2.4vw,1.8rem);font-weight:400;line-height:1.25;max-width:60ch}
.mo-sheet-body p{color:var(--ink-2);line-height:1.6;white-space:pre-line;max-width:64ch}
@media (max-width:760px){.mo-sheet-media img,.mo-sheet-media video{max-height:46vh}}


/* ===== login ===== */
.login-shell{min-height:100svh;display:flex;position:relative;isolation:isolate;overflow:clip;background:linear-gradient(160deg,#0F3B31,#0B2621)}
.login-shell::before{content:'';position:absolute;inset:0;z-index:-2;background:radial-gradient(70% 60% at 18% 20%,rgba(111,166,135,.5),transparent 60%),radial-gradient(60% 55% at 88% 15%,rgba(90,150,190,.24),transparent 62%),radial-gradient(55% 55% at 50% 105%,rgba(200,155,60,.26),transparent 60%);background-size:160% 160%;animation:loginAurora 22s ease-in-out infinite alternate}
@keyframes loginAurora{to{background-position:100% 40%}}
.login-orb{position:absolute;border-radius:50%;filter:blur(70px);z-index:-1;pointer-events:none}
.login-orb.a{width:clamp(220px,32vw,420px);height:clamp(220px,32vw,420px);background:#2F7D52;opacity:.55;top:-10%;left:-8%;animation:loginOrb 17s ease-in-out infinite}
.login-orb.b{width:clamp(180px,26vw,360px);height:clamp(180px,26vw,360px);background:#C98410;opacity:.4;bottom:-12%;right:-6%;animation:loginOrb 21s ease-in-out infinite reverse}
@keyframes loginOrb{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(4%,-6%) scale(1.1)}}
.login-formwrap{flex:1;display:flex;align-items:center;justify-content:center;padding:24px var(--gut);position:relative;z-index:1}
.login-card{
  --ink:#F4F8F4;--ink-2:rgba(244,248,244,.82);--ink-3:rgba(244,248,244,.6);--line:rgba(255,255,255,.26);--fern:#8FE3B0;--btn:#F4F8F4;--on-btn:#0F3B31;--surface:rgba(255,255,255,.07);
  width:100%;max-width:380px;display:grid;gap:20px;color:var(--ink);
  background:var(--surface);-webkit-backdrop-filter:blur(24px) saturate(1.4);backdrop-filter:blur(24px) saturate(1.4);
  padding:clamp(30px,4.6vw,46px);border-radius:28px;box-shadow:0 44px 90px -28px rgba(0,0,0,.5),inset 0 0 0 1px var(--line);
  opacity:0;transform:translateY(14px) scale(.98);animation:loginCardIn .8s var(--ease,cubic-bezier(.22,.7,.2,1)) .15s forwards;
}
@keyframes loginCardIn{to{opacity:1;transform:none}}
.login-card.shake{animation:loginshake .5s}
@keyframes loginshake{20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}100%{transform:translateX(0)}}
.login-head{display:grid;gap:6px;justify-items:center;text-align:center}
.login-head .brand-mark{width:56px;height:56px;margin-bottom:8px;filter:drop-shadow(0 12px 22px rgba(0,0,0,.35))}
.login-head h1{font-size:clamp(1.5rem,2.4vw,1.8rem);color:var(--ink)}
@media (prefers-reduced-motion:reduce){.login-shell::before,.login-orb{animation:none}.login-card{opacity:1;transform:none;animation:none}}
#loginForm{display:grid;gap:20px}
.lf-field{display:grid;gap:8px;font-size:.85rem;font-weight:600;color:var(--ink-2)}
.lf-field input{width:100%;font:inherit;font-size:1rem;font-weight:400;color:var(--ink);padding:.85em 1.05em;border-radius:14px;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);transition:box-shadow .3s,background-color .3s}
.lf-field input::placeholder{color:rgba(244,248,244,.48)}
.lf-field input:focus-visible{outline:none;background:rgba(255,255,255,.11);box-shadow:inset 0 0 0 1.5px var(--fern),0 0 0 4px rgba(143,227,176,.18)}
.lf-passwrap{position:relative;display:flex}
.lf-passwrap input{flex:1;padding-right:2.6em}
.lf-eye{position:absolute;right:.55em;top:50%;translate:0 -50%;width:2.1em;height:2.1em;display:grid;place-items:center;color:var(--ink-3);border-radius:50%;transition:background-color .3s,color .3s}
.lf-eye:hover{background:rgba(255,255,255,.14);color:var(--ink)}
.lf-eye .ico{width:18px;height:18px}
.lf-submit{width:100%;padding:.95em 1.6em;margin-top:10px}
