/* =========================================================================
   VARIVO — jeden plik CSS (port 1:1 z makiety index.html + produkt.html).
   Sekcje strony produktu mają unikalne klasy, więc nie kolidują ze stroną
   główną; nadpisywane są tylko selektory współdzielone (.btn, nav→.pnav,
   footer→.pfoot, ::selection, :root --pc).
   ========================================================================= */

:root{
  --paper:#FFFFFF;
  --paper2:#F5F2EB;
  --ink:#1B1813;
  --char:#15130F;
  --accent:#E8641B;   /* kamizelka — jedyny sygnał */
  --balance:#2E6E6B;  /* jezioro — STEP 1 */
  --care:#7A4E9E;     /* wrzos — CARE */
  --stone:#A29A8C;
  --line:#CFC7B6;
  --mode:#E8641B;
  --pc:var(--accent); /* domyślny kolor produktu (nadpisywany per karta/strona) */
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{font-family:'Bricolage Grotesque',sans-serif;background:var(--paper);color:var(--ink);line-height:1.55;overflow-x:clip;max-width:100%}
::selection{background:var(--accent);color:var(--paper)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-weight:800;letter-spacing:-.025em;line-height:.98}
.mono{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.wrap{max-width:1440px;margin:0 auto;padding:0 5vw}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:8px;top:8px;z-index:300;background:var(--ink);color:var(--paper);padding:10px 16px;font-family:'IBM Plex Mono',monospace;font-size:.72rem}

/* grain */
body::after{content:'';position:fixed;inset:0;z-index:99;pointer-events:none;opacity:.05;mix-blend-mode:multiply;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'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}

/* reveals */
.rv{opacity:0;transform:translateY(42px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.on{opacity:1;transform:none}
[data-stagger]>*{opacity:0;transform:translateY(30px);transition:all .7s cubic-bezier(.2,.7,.2,1)}
[data-stagger].on>*{opacity:1;transform:none}

/* ===== NAV ===== */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;height:64px;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);transition:transform .4s}
nav .logo{display:flex;align-items:center;font-weight:800;font-size:1.55rem;letter-spacing:-.03em;text-transform:uppercase;color:var(--char);text-decoration:none;line-height:1}
nav .logo img{height:30px;width:auto;display:block}
.nav-links{display:flex;gap:26px;align-items:center}
.nav-links a{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);opacity:.75;transition:.25s}
.nav-links a:hover{opacity:1;color:var(--accent)}
.mode-pill{display:flex;border:1px solid var(--ink);font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}
.mode-pill button{padding:7px 12px;background:none;border:none;font:inherit;cursor:pointer;color:var(--ink);transition:.25s}
.mode-pill button.sel{background:var(--ink);color:var(--paper)}
.mode-pill button.sel .dotx{color:var(--mode)}
.burger{display:none;background:none;border:1px solid var(--ink);font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:8px 12px;cursor:pointer}
.mmenu{position:fixed;inset:0;background:var(--char);color:var(--paper);z-index:120;display:flex;flex-direction:column;justify-content:center;padding:0 8vw;gap:4px;transform:translateY(-100%);transition:transform .5s cubic-bezier(.7,0,.2,1)}
.mmenu.open{transform:none}
.mmenu a{font-size:clamp(2rem,8vw,3.4rem);font-weight:800;letter-spacing:-.02em;border-bottom:1px solid #2c2820;padding:12px 0}
.mmenu .close{position:absolute;top:18px;right:5vw;background:none;border:1px solid var(--paper);color:var(--paper);font-family:'IBM Plex Mono',monospace;font-size:.62rem;padding:8px 12px;letter-spacing:.1em;cursor:pointer}
@media(max-width:960px){.nav-links{display:none}.burger{display:block}}

/* ===== HERO ===== */
.hero{min-height:100svh;display:grid;grid-template-columns:1.15fr .85fr;position:relative;background:var(--paper)}
.hero-l{display:flex;flex-direction:column;justify-content:center;padding:84px 0 44px 5vw;position:relative;z-index:2}
.hero h1{font-size:clamp(3rem,7.4vw,7.2rem);text-transform:uppercase;color:transparent;-webkit-text-stroke:2.5px var(--ink)}
.hero h1 .row{display:block;overflow:hidden}
.hero h1 .row>span{display:inline-block;transform:translateY(110%);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.hero.go h1 .row>span{transform:none}
.hero h1 .row:nth-child(2)>span{transition-delay:.08s}
.hero h1 .row:nth-child(3)>span{transition-delay:.16s}
.hero h1 .row:nth-child(4)>span{transition-delay:.24s}
.hero h1 .nad{position:relative;color:var(--accent);-webkit-text-stroke:2.5px var(--accent);padding:0 .06em}
.hero h1 em{font-style:normal}
.hero h1 .wb-full{color:var(--balance);-webkit-text-stroke:2.5px var(--balance)}
.hero h1 .wb-line{-webkit-text-stroke:2.5px var(--balance)}
.hero h1 .wa-line{-webkit-text-stroke:2.5px var(--accent)}
.hero h1 .nad svg{position:absolute;left:0;right:0;bottom:-.08em;width:100%;height:.22em;overflow:visible}
.hero h1 .nad path{fill:none;stroke:var(--accent);stroke-width:7;stroke-linecap:round;stroke-dasharray:820;stroke-dashoffset:820;transition:stroke-dashoffset 1s .8s cubic-bezier(.4,0,.2,1)}
.hero.go h1 .nad path{stroke-dashoffset:0}
.hero-meta{margin:34px 0 30px;color:var(--stone);display:flex;flex-wrap:wrap;gap:8px 26px;border-top:1px solid var(--line);padding-top:16px;max-width:640px}
.hero-meta b{color:var(--ink);font-weight:500}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}
.btn{display:inline-flex;align-items:center;gap:12px;font-family:'IBM Plex Mono',monospace;font-size:.86rem;letter-spacing:.1em;text-transform:uppercase;padding:22px 38px;border:1px solid var(--ink);cursor:pointer;transition:.3s;background:none;color:var(--ink)}
.btn-solid{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-solid:hover{background:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.hero-r{position:relative;overflow:hidden;clip-path:inset(0 0 100% 0);transition:clip-path 1.1s cubic-bezier(.6,0,.2,1)}
.hero.go .hero-r{clip-path:inset(0 0 0 0)}
.hero-r .hs{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%;opacity:0;transition:opacity 1.2s ease;will-change:transform;transform:scale(1.14)}
.hero-r .hs.act{opacity:1}
.hero-r .tag{position:absolute;left:18px;bottom:18px;background:var(--char);color:var(--paper);font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:8px 12px;z-index:2}
.hero-r .tag i{font-style:normal;color:var(--accent)}
/* ambient — delikatny, dryfujący gradient teal/pomarańcz za tekstem hero (klasa .vv-grad) */
.hero.vv-grad .hero-l{isolation:isolate}
.hero.vv-grad .hero-l::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(52% 64% at 20% 24%, rgba(46,110,107,.38), rgba(46,110,107,.10) 46%, transparent 66%),
    radial-gradient(56% 58% at 80% 52%, rgba(232,100,27,.34), rgba(232,100,27,.09) 48%, transparent 66%),
    radial-gradient(50% 56% at 44% 92%, rgba(95,179,174,.30), transparent 64%);
  background-size:175% 175%;background-repeat:no-repeat;
  animation:vvHeroGrad 20s ease-in-out infinite alternate;will-change:background-position}
@keyframes vvHeroGrad{0%{background-position:0% 18%}50%{background-position:100% 56%}100%{background-position:22% 100%}}
@media(max-width:960px){
  .hero{grid-template-columns:1fr;grid-template-rows:auto 52vh}
  .hero-l{padding:100px 5vw 34px}
}

/* ===== MARQUEE BAND ===== */
.marq{position:relative;background:var(--char);color:var(--paper);overflow:hidden;font-size:clamp(110px,12.5vw,155px);height:1.34em;display:flex;align-items:center}
.marq-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;opacity:0;transition:opacity 1.3s ease;will-change:transform}
.marq-bg img.act{opacity:1;animation:mkb 9s linear forwards}
@keyframes mkb{from{transform:scale(1)}to{transform:scale(1.12)}}
.marq::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,13,9,.5),rgba(15,13,9,.2) 45%,rgba(15,13,9,.62));z-index:1}
.marq-track{position:relative;z-index:2;display:flex;width:max-content;white-space:nowrap;font-size:1em;animation:mtrack 34s linear infinite;will-change:transform}
.mt-unit{font-weight:800;text-transform:uppercase;letter-spacing:-.02em;line-height:1;color:transparent;-webkit-text-stroke:2px var(--paper)}
.mt-unit b{color:var(--accent);-webkit-text-stroke:2px var(--accent)}
.mt-unit b.tb{color:#5FB3AE;-webkit-text-stroke:2px #5FB3AE}
.mt-unit i{font-style:normal;font-family:'IBM Plex Mono',monospace;font-size:14px;font-weight:400;letter-spacing:.1em;color:var(--accent);-webkit-text-stroke:0;vertical-align:5.6em;margin:0 .55em 0 1.15em}
@keyframes mtrack{to{transform:translateX(-50%)}}
.marq .mcap{font-size:.72rem}
.marq .mcap{position:absolute;right:5vw;top:10px;z-index:2;color:rgba(245,242,235,.75)}

/* ===== MANIFEST ===== */
.manif{background:var(--char);color:var(--paper);padding:76px 0;min-height:100svh;display:flex;align-items:center;overflow-x:clip}
.manif>.wrap{width:100%}
.manif-grid{display:grid;grid-template-columns:.68fr 1.32fr;gap:44px;align-items:center}
.kb{position:relative;overflow:hidden;border:1px solid #37322a;min-height:560px}
.kb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s ease;will-change:transform}
.kb img.act{opacity:1;animation:kbzoom 7.5s linear forwards}
.kb img:nth-child(1){transform-origin:30% 40%}
.kb img:nth-child(2){transform-origin:70% 30%}
.kb img:nth-child(3){transform-origin:50% 70%}
@keyframes kbzoom{from{transform:scale(1)}to{transform:scale(1.16)}}
.kb .cap{position:absolute;left:12px;bottom:12px;z-index:3;background:var(--paper);color:var(--ink);padding:7px 11px}
.kb .cap i{font-style:normal;color:var(--accent)}
.kb .dots{position:absolute;right:14px;bottom:16px;z-index:3;display:flex;gap:6px}
.kb .dots i{width:18px;height:3px;background:#57503f;transition:background .4s}
.kb .dots i.on{background:var(--accent)}
@media(max-width:960px){.manif-grid{grid-template-columns:1fr}.kb{min-height:380px}}
/* yin-yang BALANCE/ACTIVE */
.yy-wrap{display:flex;flex-direction:column;gap:22px;justify-content:center}
.yy{position:relative;width:min(960px,100vh,92vw);margin:0 auto}
.yy svg{width:100%;height:auto;display:block;overflow:visible;position:relative;z-index:1}
.yy .burst{position:absolute;top:50%;width:125%;aspect-ratio:1;pointer-events:none;opacity:0;transition:opacity .55s ease,transform .75s cubic-bezier(.19,1,.22,1);z-index:0}
.yy .burst-b{right:52%;transform:translate(8%,-50%) scale(.55);background:radial-gradient(closest-side,rgba(95,179,174,.55),rgba(95,179,174,.22) 42%,transparent 72%)}
.yy .burst-a{left:52%;transform:translate(-8%,-50%) scale(.55);background:radial-gradient(closest-side,rgba(232,100,27,.6),rgba(232,100,27,.25) 42%,transparent 72%)}
.yy:has(.yylink.lk-b:hover) .burst-b{opacity:1;transform:translate(0,-50%) scale(1.12);animation:bpulse 2.4s ease-in-out .8s infinite alternate}
.yy:has(.yylink.lk-a:hover) .burst-a{opacity:1;transform:translate(0,-50%) scale(1.12);animation:bpulse 2.4s ease-in-out .8s infinite alternate}
@keyframes bpulse{from{transform:translate(0,-50%) scale(1.12);opacity:1}to{transform:translate(0,-50%) scale(1.26);opacity:.7}}
.drift{transform-box:fill-box;transform-origin:center}
.d1{animation:dr1 16s ease-in-out infinite alternate}
.d2{animation:dr2 13s ease-in-out infinite alternate}
.d3{animation:dr3 9s ease-in-out infinite alternate}
.d4{animation:dr4 11s ease-in-out infinite alternate}
@keyframes dr1{0%{transform:translate(0,0)}38%{transform:translate(7px,-9px)}72%{transform:translate(-6px,5px)}100%{transform:translate(5px,9px)}}
@keyframes dr2{0%{transform:translate(0,0)}30%{transform:translate(-8px,7px)}65%{transform:translate(6px,-6px)}100%{transform:translate(-4px,-9px)}}
/* kontr-dryf: foty zakotwiczone, maska pływa po nich */
.ad1{animation:adr1 16s ease-in-out infinite alternate}
.ad2{animation:adr2 13s ease-in-out infinite alternate}
@keyframes adr1{0%{transform:translate(0,0)}38%{transform:translate(-7px,9px)}72%{transform:translate(6px,-5px)}100%{transform:translate(-5px,-9px)}}
@keyframes adr2{0%{transform:translate(0,0)}30%{transform:translate(8px,-7px)}65%{transform:translate(-6px,6px)}100%{transform:translate(4px,9px)}}
@keyframes dr3{0%{transform:translate(0,0)}45%{transform:translate(9px,6px)}100%{transform:translate(-7px,-8px)}}
@keyframes dr4{0%{transform:translate(0,0)}55%{transform:translate(-9px,-5px)}100%{transform:translate(8px,7px)}}
.yy .word{position:absolute;font-weight:800;letter-spacing:-.02em;text-transform:uppercase;font-size:clamp(2.2rem,4.4vw,4.8rem);line-height:1;text-shadow:0 2px 22px rgba(0,0,0,.65);pointer-events:none}
.yy .word small{display:block;font-family:'IBM Plex Mono',monospace;font-size:.6rem;font-weight:400;letter-spacing:.14em;margin-top:6px;text-shadow:0 1px 8px rgba(0,0,0,.8)}
.yy .word-b{left:0;top:2%;color:#5FB3AE}
.yy .word-a{right:-24%;bottom:18%;color:var(--accent);text-align:right}
.dashline{animation:dashmove 26s linear infinite;transition:stroke-width .3s,opacity .3s}
@keyframes dashmove{to{stroke-dashoffset:-400}}
.yylink{cursor:pointer;outline:none}
.zoomw{transform-box:fill-box;transform-origin:center;transition:transform 1.4s cubic-bezier(.2,.8,.2,1)}
.yylink:hover .zoomw{transform:scale(1.055)}
.yylink image,.yylink circle{transition:filter .35s}
.yylink:hover image,.yylink:hover circle{filter:brightness(1.12)}
.yylink:hover .dashline{stroke-width:4;opacity:1}
.yy-specs{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:min(960px,100vh,92vw);margin:0 auto}
.yy-wrap{gap:14px}
.yspec{border:1px solid #37322a;border-left:4px solid;padding:16px 18px;font-size:.88rem;font-weight:500;letter-spacing:.01em;text-transform:uppercase;line-height:1.9;color:#a99f8c}
.yspec b{color:var(--paper);font-weight:800}
.yspec.b{border-left-color:#5FB3AE}
.yspec.b .hd{color:#5FB3AE}
.yspec.a{border-left-color:var(--accent)}
.yspec.a .hd{color:var(--accent)}
.yspec .hd{display:block;font-weight:800;margin-bottom:4px}
@media(max-width:560px){.yy-specs{grid-template-columns:1fr}.yy .word-b{left:0;top:8%}.yy .word-a{right:0;bottom:6%}}
.manif .mono{color:var(--stone);margin-bottom:26px;display:block}
.manif p.big{font-size:clamp(1.4rem,2.9vw,2.5rem);font-weight:800;letter-spacing:-.02em;line-height:1.12;text-transform:uppercase;max-width:22ch}
.manif p.big+.big{margin-top:18px}
.manif .dim{color:#57503f}
.manif .hl-b{color:#5FB3AE}
.manif .hl-a{color:var(--accent)}
.manif .hl-r{color:#E03A2F}
.manif .foot{margin-top:30px;color:var(--stone);max-width:46ch;font-weight:400;font-size:.92rem;letter-spacing:0;text-transform:none;font-family:'Bricolage Grotesque',sans-serif;line-height:1.55}

/* ===== MODE CORE ===== */
.modecore{padding:110px 0;background:var(--paper);border-bottom:1px solid var(--line)}
.mc-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:78px}
.mc-head h2{font-size:clamp(2.4rem,5.6vw,4.6rem);text-transform:uppercase;max-width:14ch}
.mc-head h2 em{font-style:normal;color:var(--mode);transition:color .5s}
.mode-toggle{display:flex;border:1px solid var(--ink)}
.mode-toggle button{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:16px 26px;background:none;border:none;cursor:pointer;color:var(--ink);transition:.3s}
.mode-toggle button.sel{background:var(--ink);color:var(--paper)}
.mode-toggle button.sel b{color:var(--mode);transition:color .5s}
.mc-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:0;border:1px solid var(--ink);position:relative}
.mc-photo{position:relative;min-height:560px;overflow:hidden;border-left:1px solid var(--ink);margin-right:-5vw}
.mc-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .7s cubic-bezier(.4,0,.2,1)}
.mc-photo .ph-a{opacity:0}
body.mode-active .mc-photo .ph-a{opacity:1}
.mc-photo .cap{position:absolute;left:14px;bottom:14px;background:var(--char);color:var(--paper);padding:7px 11px;z-index:2}
.mc-photo .cap i{font-style:normal;color:var(--mode)}
.mc-photo .pcorn{position:absolute;top:14px;left:14px;width:64px;height:64px;z-index:2}
.mc-photo .pcorn path{fill:none;stroke:var(--mode);stroke-width:3;stroke-dasharray:4 6;transition:stroke .5s}
.mc-data{position:relative;padding:64px 52px 40px;background:var(--paper)}
.mc-wm{position:absolute;top:-.28em;left:.04em;z-index:0;font-weight:800;font-size:clamp(7rem,11vw,11rem);letter-spacing:-.04em;line-height:1;text-transform:uppercase;white-space:nowrap;color:transparent;-webkit-text-stroke:2px color-mix(in srgb,var(--ink) 16%,transparent);pointer-events:none;user-select:none}
.mc-wm .wmroll{display:inline-block;overflow:hidden;vertical-align:bottom}
.mc-wm b{font-weight:800;display:inline-block;-webkit-text-stroke:2px var(--mode);transition:-webkit-text-stroke .5s}
@keyframes wmroll{from{transform:translateY(104%)}to{transform:translateY(0)}}
.mc-dial{position:relative;z-index:1;display:flex;align-items:center;gap:38px;padding:36px 0 8px;flex-wrap:wrap}
.dialbox{position:relative;width:min(280px,36vw);aspect-ratio:1;flex-shrink:0}
.dialbox svg{width:100%;height:100%;display:block;overflow:visible}
.dial-ring{fill:none;stroke:var(--mode);stroke-width:2;stroke-dasharray:3 10;animation:dashmove 26s linear infinite;transition:stroke .5s}
.dial-arc{fill:none;stroke:var(--mode);stroke-width:7;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--pct,62));transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset .9s cubic-bezier(.2,.8,.2,1),stroke .5s}
.dial-in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.09em;text-transform:uppercase;color:var(--stone)}
.dial-in b{font-weight:400;color:var(--mode);max-width:72%;transition:color .5s}
.dial-burst{position:absolute;inset:-42%;background:radial-gradient(closest-side,color-mix(in srgb,var(--mode) 45%,transparent),transparent 70%);opacity:0;pointer-events:none}
.dial-burst.pulse{animation:dburst .65s ease-out}
@keyframes dburst{0%{opacity:0;transform:scale(.6)}40%{opacity:.6}100%{opacity:0;transform:scale(1.15)}}
.dial-num{display:flex;flex-direction:column;gap:16px;min-width:0}
.dial-num .num{font-size:clamp(4.4rem,8.5vw,7.4rem);font-weight:800;letter-spacing:-.04em;line-height:.9;font-variant-numeric:tabular-nums;color:var(--mode);transition:color .5s}
.chip{font-family:'IBM Plex Mono',monospace;border:1px dashed var(--mode);padding:8px 12px;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);width:max-content;max-width:100%;transition:border-color .5s}
.chip.in{animation:chipin .45s cubic-bezier(.2,.8,.2,1)}
@keyframes chipin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.mc-ticks{margin:26px 0 4px;position:relative;z-index:1}
.mtr{display:grid;grid-template-columns:92px 1fr auto;gap:18px;align-items:center;padding:13px 0;border-bottom:1px dashed var(--line)}
.mtr .lbl{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stone)}
.ticks{display:flex;gap:4px}
.ticks i{width:3px;height:26px;background:var(--line);transition:background .2s;transition-delay:calc(var(--i)*14ms)}
.ticks i.on{background:var(--mode)}
.mtr .tval{font-weight:800;font-size:1.7rem;letter-spacing:-.02em;color:var(--mode);font-variant-numeric:tabular-nums;transition:color .5s;text-align:right}
.mc-copy{position:relative;z-index:1;margin-top:26px;font-size:1.02rem;line-height:1.6;max-width:42ch;min-height:76px;transition:opacity .25s}
.mc-claim{grid-column:1/-1;display:flex;align-items:center;gap:24px;padding:20px 30px;background:var(--char);color:var(--paper);border-top:1px solid var(--ink);flex-wrap:wrap}
.mc-claim .mono{color:#A99F8C}
.mc-claim .dash{flex:1;min-width:60px;border-top:1px dashed #57503F}
.mc-claim .big{font-weight:800;font-size:1.3rem;text-transform:uppercase;letter-spacing:-.01em}
.mc-claim .big i{font-style:normal;color:var(--mode);transition:color .5s}
@media(max-width:960px){.mc-grid{grid-template-columns:1fr}.mc-photo{order:-1;min-height:340px;border-left:none;border-bottom:1px solid var(--ink);margin-right:0}.mc-data{padding:44px 22px 30px}.mc-wm{font-size:5.5rem;top:-.3em}.dialbox{width:200px}.ticks{gap:3px}.ticks i{width:2px}.mc-dial{gap:24px}}

/* ===== TELEMETRY ===== */
.tele{padding:110px 0;background:var(--paper)}
.tele-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.tele h2{font-size:clamp(2.2rem,5vw,4rem);text-transform:uppercase;margin-bottom:14px}
.tele .lead{color:#5c5545;max-width:52ch;margin-bottom:46px}
.trow{border-top:1px solid var(--ink);padding:18px 0 22px}
.trow .head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.trow .head .mono b{color:var(--accent)}
.tbar{display:grid;grid-template-columns:150px 1fr 58px;gap:12px;align-items:center;margin:7px 0;font-variant-numeric:tabular-nums}
.tbar .trk{height:10px;background:var(--paper2)}
.tbar .trk i{display:block;height:100%;width:0;transition:width 1s cubic-bezier(.2,.8,.2,1)}
.tbar.c1 .trk i{background:var(--care)}
.tbar.c2 .trk i{background:var(--balance)}
.tbar.c3 .trk i{background:var(--accent)}
.tbar .v{text-align:right}
.tele-note{margin-top:20px;color:var(--stone)}
.tele-photo{position:sticky;top:90px;border:1px solid var(--ink);margin-right:-5vw}
.tele-photo img{width:100%;height:auto;display:block;background:#fff}
.tele-photo .cap{display:flex;justify-content:space-between;padding:10px 12px;border-top:1px solid var(--ink)}
.tele-photo .cap i{font-style:normal;color:var(--accent)}
@media(max-width:960px){.tele-grid{grid-template-columns:1fr}.tele-photo{position:static;max-width:520px;margin-right:0}}

/* ===== PRODUCTS (lineup) ===== */
.prods{padding:110px 0;background:var(--paper);border-top:1px solid var(--line)}
.prods-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:50px}
.prods-head h2{font-size:clamp(2.4rem,5.6vw,4.6rem);text-transform:uppercase}
.prods-head .mono{color:var(--stone);max-width:38ch;line-height:1.7}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.pcard{background:var(--paper);display:flex;flex-direction:column;position:relative;border:1px solid var(--ink);transition:background .35s}
.pcard:hover{background:var(--paper2)}
.pidx{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-bottom:1px dashed var(--line);font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}
.pidx b{font-weight:400;color:var(--pc)}
.pstrip{height:360px;overflow:hidden;position:relative;border-bottom:1px solid var(--ink);background:#0C0B09}
.pstrip img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.pcard:hover .pstrip img{transform:scale(1.06)}
.pstrip::after{content:'';position:absolute;inset:-15%;background:radial-gradient(closest-side,color-mix(in srgb,var(--pc) 40%,transparent),transparent 70%);opacity:0;pointer-events:none}
.pcard:hover .pstrip::after{animation:dburst .65s ease-out}
.pstrip .pcorn{position:absolute;top:12px;left:12px;width:56px;height:56px;z-index:2}
.pstrip .pcorn path{fill:none;stroke:var(--pc);stroke-width:3;stroke-dasharray:4 6;transition:stroke-width .3s}
.pcard:hover .pstrip .pcorn path{stroke-width:4}
.pvar-outline{font-weight:800;text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(2.4rem,3.4vw,3.2rem);line-height:.95;color:transparent;-webkit-text-stroke:2px var(--pc);transition:color .35s;margin:2px 0 4px}
.pcard:hover .pvar-outline{color:var(--pc)}
.pvar-sub{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--stone);margin-bottom:14px}
.pticks{display:flex;gap:4px;margin:10px 0 6px}
.pticks i{width:3px;height:18px;background:var(--line)}
.pticks i.on{background:var(--pc)}
.pbody{padding:22px 26px;display:flex;flex-direction:column;flex:1}
.pcard.pb{--pc:var(--balance)}
.pcard.pa{--pc:var(--accent)}
.pcard.pcx{--pc:var(--care)}
.pbody .name{font-size:.9rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;line-height:1}
.pbody .who{font-size:.94rem;color:#57503f;line-height:1.55;min-height:66px}
.pnum{display:flex;align-items:baseline;gap:10px;margin:18px 0 2px}
.pnum b{font-size:clamp(3rem,5vw,4.2rem);font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--pc);font-variant-numeric:tabular-nums}
.pnum .mono{color:var(--stone)}
.pkcal{display:flex;justify-content:space-between;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:10px 0;margin:14px 0;font-variant-numeric:tabular-nums}
.pings{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.04em;line-height:1.8;color:#57503f;text-transform:none}
.pgo{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;border-top:1px dashed var(--ink);padding:16px 0 0;color:var(--ink);transition:.3s}
.pgo .arr{display:inline-block;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.pcard:hover .pgo{color:var(--pc);border-top-color:var(--pc)}
.pcard:hover .pgo .arr{transform:translateX(10px)}
.pgo::before{content:'';position:absolute;inset:0}
.prods-head .kidx{display:block;font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
@media(max-width:1020px){.pgrid{grid-template-columns:1fr;max-width:520px}}

/* ===== PASTES ===== */
.pastes{background:var(--char);color:var(--paper);padding:110px 0}
.pastes .prods-head .mono{color:var(--stone)}
.pastes .kidx{color:var(--paper)}
.pastes h2 em{font-style:normal}
.pastes h2 .ewb{color:#5FB3AE}
.pastes h2 .ewa{color:var(--accent)}
.pastecard .pgo{border-top-color:#37322a;color:var(--paper);margin-top:auto}
.pastecard:hover .pgo{color:var(--pc);border-top-color:var(--pc)}
.psysmap{display:block;margin-top:34px;color:var(--stone)}
.psysmap i{font-style:normal}
.psysmap .sa{color:var(--accent)}
.psysmap .sb{color:#5FB3AE}
.pastes-grid2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.pastecard{border:1px solid #37322a;display:flex;flex-direction:column;position:relative;transition:border-color .35s}
.pastecard.pcR{--pc:#5FB3AE}
.pastecard.pcB{--pc:var(--accent)}
.pastecard:hover{border-color:var(--pc)}
.pastecard .pidx{border-bottom-color:#37322a;color:#a99f8c}
.ph-slot{position:relative;height:300px;border-bottom:1px solid #37322a;overflow:hidden}
.ph-slot::after{content:'';position:absolute;inset:-15%;background:radial-gradient(closest-side,color-mix(in srgb,var(--pc) 35%,transparent),transparent 70%);opacity:0;pointer-events:none}
.pastecard:hover .ph-slot::after{animation:dburst .65s ease-out}
.ph-ring{position:absolute;left:50%;top:50%;width:200px;height:200px;transform:translate(-50%,-50%);overflow:visible}
.ph-ring circle{fill:none;stroke:var(--pc);stroke-width:2;stroke-dasharray:3 10;animation:dashmove 26s linear infinite}
.ph-mono{position:absolute;left:50%;top:50%;transform:translate(-50%,-54%);font-weight:800;font-size:5.2rem;line-height:1;color:transparent;-webkit-text-stroke:2px var(--pc)}
.ph-stamp{position:absolute;bottom:14px;right:14px;border:1px dashed #37322a;padding:8px 12px;font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--stone);text-align:right;line-height:1.7}
.ph-slot .pcorn{position:absolute;top:12px;left:12px;width:56px;height:56px}
.ph-slot .pcorn path{fill:none;stroke:var(--pc);stroke-width:3;stroke-dasharray:4 6}
.pbody2{padding:24px 26px 28px;display:flex;flex-direction:column;gap:14px;flex:1}
.pbody2 .pvar-outline{margin:0}
.pastecard:hover .pvar-outline{color:var(--pc)}
.pbody2 .chip{border-color:var(--pc);color:var(--paper);width:max-content}
.pbody2 p{color:#a99f8c;font-size:.96rem;line-height:1.6}
.pastes .disclaimer{margin-top:30px;color:var(--stone)}
@media(max-width:960px){.pastes-grid2{grid-template-columns:1fr}}

/* ===== CARE ===== */
.caresec{background:var(--paper);padding:110px 0;border-bottom:1px solid var(--line)}
.caresec h2{font-size:clamp(2.4rem,5.4vw,4.4rem);text-transform:uppercase;margin-bottom:78px}
.caresec h2 em{font-style:normal;color:var(--care)}
.care-frame{display:grid;grid-template-columns:.95fr 1.05fr;border:1px solid var(--ink);position:relative}
.care-photo{position:relative;min-height:600px;overflow:hidden;border-right:1px solid var(--ink);margin-left:-5vw}
.care-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.care-photo .cap{position:absolute;left:14px;bottom:14px;background:var(--char);color:var(--paper);padding:7px 11px;display:flex;gap:20px;z-index:2}
.care-photo .cap i{font-style:normal;color:var(--care)}
.care-photo .pcorn{position:absolute;top:14px;right:14px;width:64px;height:64px;z-index:2}
.care-photo .pcorn path{fill:none;stroke:var(--care);stroke-width:3;stroke-dasharray:4 6}
.care-data{position:relative;padding:64px 52px 44px}
.care-wm{position:absolute;top:-.28em;left:.04em;z-index:0;font-weight:800;font-size:clamp(7rem,11vw,11rem);letter-spacing:-.04em;line-height:1;text-transform:uppercase;white-space:nowrap;color:transparent;-webkit-text-stroke:2px color-mix(in srgb,var(--ink) 16%,transparent);pointer-events:none;user-select:none}
.care-wm b{font-weight:800;-webkit-text-stroke:2px var(--care)}
.care-data .lead{position:relative;z-index:1;margin:64px 0 32px;color:#57503f;max-width:46ch;font-size:1.02rem;line-height:1.65}
.care-dial{position:relative;z-index:1;display:flex;align-items:center;gap:34px;flex-wrap:wrap}
.care-dialbox{width:190px}
.caresec .dial-ring,.caresec .dial-arc{stroke:var(--care)}
.caresec .dial-in b{color:var(--care)}
.caresec .dial-num .num{color:var(--care)}
.caresec .chip{border-color:var(--care)}
.caresec .chip.inv{background:var(--char);color:var(--care)}
.care-sc{display:block;margin-top:30px;color:var(--stone);position:relative;z-index:1}
.care-ticks .ticks i.on{background:var(--care)}
.care-ticks .tval.ct-on{color:var(--care)}
.care-ticks .tval.ct-off{color:var(--stone);font-size:1.15rem}
.care-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;position:relative;z-index:1}
.care-claim{grid-column:1/-1;display:flex;align-items:center;gap:24px;padding:20px 30px;background:var(--char);color:var(--paper);border-top:1px solid var(--ink);flex-wrap:wrap}
.care-claim .mono{color:#A99F8C}
.care-claim .dash{flex:1;min-width:60px;border-top:1px dashed #57503F}
.care-claim .big{font-weight:800;font-size:1.3rem;text-transform:uppercase;letter-spacing:-.01em}
.care-claim .big i{font-style:normal;color:var(--care)}
@media(max-width:960px){.care-frame{grid-template-columns:1fr}.care-photo{order:-1;min-height:340px;margin-left:0;border-right:none;border-bottom:1px solid var(--ink)}.care-data{padding:44px 22px 30px}.care-wm{font-size:5.5rem}.care-dialbox{width:150px}}

/* ===== WEEK ===== */
.wk-claim{display:flex;align-items:center;gap:24px;padding:20px 30px;background:var(--char);color:var(--paper);margin-top:90px;flex-wrap:wrap}
.wk-claim .mono{color:#A99F8C}
.wk-claim .dash{flex:1;min-width:60px;border-top:1px dashed #57503F}
.wk-claim .big{font-weight:800;font-size:1.3rem;text-transform:uppercase;letter-spacing:-.01em}
.wk-claim .big i{font-style:normal;color:var(--accent)}
.week-grid{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--ink);border-top:none;background:var(--ink);gap:1px}
.day{background:var(--paper);padding:14px 14px 14px;min-height:172px;display:flex;flex-direction:column;gap:8px;position:relative;opacity:.25;transform:translateY(12px);transition:all .5s cubic-bezier(.2,.8,.2,1)}
.day.b{box-shadow:inset 0 3px 0 var(--balance)}
.day.a{box-shadow:inset 0 3px 0 var(--accent)}
.week-grid.on .day{opacity:1;transform:none}
.day .dn{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.1em;color:var(--stone);text-transform:uppercase;margin-top:4px}
.day .lbl{font-weight:600;font-size:.86rem;line-height:1.25}
.day .sub{font-family:'IBM Plex Mono',monospace;font-size:.6rem;color:var(--stone);letter-spacing:.06em;text-transform:uppercase}
.dticks{display:flex;gap:4px;margin-top:auto}
.dticks i{width:3px;height:18px;background:var(--line);transition:transform .3s}
.day.b .dticks i.on{background:var(--balance)}
.day.a .dticks i.on{background:var(--accent)}
.day:hover .dticks i.on{transform:scaleY(1.2)}
.dchip{font-family:'IBM Plex Mono',monospace;font-size:.54rem;letter-spacing:.08em;text-transform:uppercase;border:1px dashed;padding:4px 7px;width:max-content}
.day.a .dchip{color:var(--accent);border-color:var(--accent)}
.day.b .dchip{color:var(--balance);border-color:var(--balance)}
.wk-leg{margin-top:16px;color:var(--stone);display:block}
@media(max-width:960px){.week-grid{grid-template-columns:repeat(2,1fr)}.day{min-height:130px}}

/* ===== FIELD (gallery) ===== */
.field{background:var(--char);color:var(--paper);padding:110px 0 80px;position:relative;overflow:hidden}
.field-wm{position:absolute;top:-.14em;left:2vw;font-weight:800;font-size:clamp(7rem,12vw,12rem);line-height:1;text-transform:uppercase;color:transparent;-webkit-text-stroke:2px color-mix(in srgb,var(--paper) 13%,transparent);pointer-events:none;user-select:none}
.field-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:18px;margin-bottom:44px;position:relative;z-index:1}
.field h2{font-size:clamp(2.4rem,5.6vw,4.6rem);text-transform:uppercase;max-width:16ch}
.field h2 em{font-style:normal;color:var(--accent)}
.field .mono{color:var(--stone)}
.field .drag-chip{border:1px dashed var(--accent);color:var(--accent);padding:9px 13px;font-size:.62rem;letter-spacing:.1em}
.fstrip{display:flex;gap:14px;overflow-x:auto;padding:4px 5vw 26px;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;position:relative;z-index:1}
.fstrip::-webkit-scrollbar{display:none}
.fitem{flex:0 0 auto;width:min(340px,72vw);scroll-snap-align:start;border:1px solid #37322a;background:var(--char);position:relative;transition:border-color .3s}
.fitem:hover{border-color:var(--paper)}
.fitem.wide{width:min(500px,86vw)}
.fitem img{width:100%;aspect-ratio:3/3.8;object-fit:cover;filter:saturate(.95);transition:filter .3s}
.fitem:hover img{filter:saturate(1.05)}
.fitem.wide img{aspect-ratio:4/2.9}
.fitem .cap{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;border-top:1px solid #37322a;color:#a99f8c}
.fitem .cap i{font-style:normal;color:var(--accent)}
.fitem .cap i.cb{color:#5FB3AE}
.fitem .cap i.cc{color:#B58BD9}
.fitem .fcorn{position:absolute;top:10px;left:10px;width:48px;height:48px}
.fitem .fcorn path{fill:none;stroke-width:3;stroke-dasharray:4 6}

/* ===== QUIZ ===== */
.quiz{background:var(--char);color:var(--paper);padding:30px 0 120px}
.quiz-box{border:1px solid #37322a;position:relative}
.quiz-inner .qstep,.quiz-inner .qres{max-width:960px}
.qbar{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px dashed #37322a;font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:#a99f8c}
.qprog{display:flex;gap:5px}
.qprog i{width:24px;height:3px;background:#37322a;transition:background .3s}
.qprog i.on{background:var(--accent)}
.quiz-inner{padding:34px 42px 40px;position:relative}
.q-wm{position:absolute;top:-.1em;right:20px;font-weight:800;font-size:6.5rem;line-height:1;color:transparent;-webkit-text-stroke:2px rgba(245,242,235,.12);pointer-events:none;user-select:none}
.qstep{display:none}
.qstep.cur{display:block;animation:qin .45s cubic-bezier(.2,.8,.2,1)}
@keyframes qin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.qstep h3{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;text-transform:uppercase;letter-spacing:-.02em;margin:0 0 24px;max-width:16ch}
.qopt{display:block;width:100%;text-align:left;background:none;border:1px solid #37322a;color:var(--paper);padding:16px 18px;font-family:'IBM Plex Mono',monospace;font-size:.78rem;letter-spacing:.05em;margin-bottom:10px;cursor:pointer;transition:.25s}
.qopt .arr{display:inline-block;color:var(--accent);margin-right:10px;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.qopt:hover{border-color:var(--accent)}
.qopt:hover .arr{transform:translateX(6px)}
.qres{display:none}
.qres.show{display:block;animation:qin .5s}
.qres.rb{--pc:#5FB3AE}.qres.ra{--pc:var(--accent)}.qres.rc{--pc:#B58BD9}
.qres .pidx{border-bottom:1px dashed #37322a;color:#a99f8c;margin:0 -42px 24px;padding:14px 20px}
.qres .rname{margin:0 0 14px}
.qres .chip{border-color:var(--pc);color:var(--paper);width:max-content;margin-bottom:16px;display:inline-block}
.qres p{color:#a99f8c;max-width:56ch;margin-bottom:26px}
.qres .pgo{border-top-color:#37322a;color:var(--paper)}
.qres .pgo:hover{color:var(--pc);border-top-color:var(--pc)}
.qres .pgo::before{content:none}
.qreset{background:none;border:none;color:var(--stone);font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;margin-top:20px;text-decoration:underline;text-underline-offset:4px}
.qreset:hover{color:var(--paper)}

/* ===== CONTACT ===== */
.contact{background:var(--paper);padding:110px 0 0}
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px}
.contact .sidx{display:block;font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--stone);margin-bottom:14px}
.contact h2{font-size:clamp(2.6rem,6.4vw,5.4rem);text-transform:uppercase;line-height:.96}
.contact h2 em{font-style:normal;color:var(--accent)}
.contact .lead{margin:22px 0 10px;color:#57503f;max-width:46ch}
.pgo-xl{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px dashed var(--ink);padding:20px 0 0;margin-top:30px;font-family:'IBM Plex Mono',monospace;font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);transition:.3s}
.pgo-xl .arr{display:inline-block;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.pgo-xl:hover{color:var(--accent);border-top-color:var(--accent)}
.pgo-xl:hover .arr{transform:translateX(12px)}
.nl{position:relative;padding:0;background:var(--paper2)}
.nl .nlrect{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.nl .nlrect rect{fill:none;stroke:var(--ink);stroke-width:2;stroke-dasharray:5 9;animation:dashmove 30s linear infinite}
.nl .pidx{padding:13px 20px}
.nl .pidx b{color:var(--accent)}
.nl-body{padding:26px 32px 32px}
.nl h3{font-size:1.5rem;font-weight:800;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:8px}
.nl p{color:#57503f;font-size:.95rem;margin-bottom:22px;max-width:40ch}
.nl form{display:flex;border:1px solid var(--ink);background:var(--paper)}
.nl input{flex:1;border:none;background:none;padding:15px 16px;font-family:'IBM Plex Mono',monospace;font-size:.78rem;outline:none;color:var(--ink)}
.nl .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.nl button{border:none;background:var(--accent);color:#fff;font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:0 22px;cursor:pointer;transition:.25s}
.nl button:hover{background:var(--ink)}
.contact-claim{display:flex;align-items:center;gap:24px;padding:20px 5vw;background:var(--char);color:var(--paper);margin-top:90px;flex-wrap:wrap}
.contact-claim .mono{color:#A99F8C}
.contact-claim .dash{flex:1;min-width:60px;border-top:1px dashed #57503F}
.contact-claim .big{font-weight:800;font-size:1.3rem;text-transform:uppercase;letter-spacing:-.01em}
.contact-claim .big i{font-style:normal;color:var(--accent)}
@media(max-width:960px){.contact-grid{grid-template-columns:1fr}}

/* ===== FOOTER (home) ===== */
footer{background:var(--char);color:var(--stone);padding:56px 0 34px;overflow:hidden}
footer .top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:26px;align-items:flex-start;padding-bottom:34px;border-bottom:1px solid #2c2820}
footer .flogo{font-weight:800;font-size:1.5rem;letter-spacing:-.02em;text-transform:uppercase;color:var(--paper);display:block;margin-bottom:14px}
footer .flogo img{height:28px;width:auto}
footer .cols{display:flex;gap:56px;flex-wrap:wrap}
footer .col a{display:block;font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;padding:5px 0;color:var(--stone);transition:.2s}
footer .col a:hover{color:var(--paper)}
footer .col a b{color:var(--accent);font-weight:400;display:inline-block;width:3ch}
.f-wm{font-weight:800;font-size:clamp(6rem,14vw,15rem);line-height:.8;text-transform:uppercase;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:2px #2c2820;margin:36px 0 -.14em;user-select:none;transition:-webkit-text-stroke .5s}
.f-wm:hover{-webkit-text-stroke:2px #57503F}
footer .bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:22px;border-top:1px solid #2c2820}

.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);opacity:0;visibility:hidden;pointer-events:none;max-width:calc(100vw - 32px);background:var(--ink);color:var(--paper);font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.06em;padding:16px 26px;z-index:200;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .45s ease,visibility .45s}
.toast.show{transform:translate(-50%,0);opacity:1;visibility:visible;pointer-events:auto}

body.mode-active{--mode:var(--accent)}
body.mode-balance{--mode:var(--balance)}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* =========================================================================
   STRONA PRODUKTU (single-produkt) — klasy unikalne; nadpisujemy tylko
   selektory współdzielone: .pnav (nav), .pfoot (footer), .btn, ::selection.
   Kolor --pc ustawiany inline: body.single-produkt{--pc:...}
   ========================================================================= */
.single-produkt ::selection{background:var(--pc);color:#fff}
.pnav .logo{color:var(--ink)}
.pnav .back{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--ink);padding:9px 14px;transition:.25s}
.pnav .back:hover{background:var(--ink);color:var(--paper)}

.crumbs{padding:96px 0 0;color:var(--stone)}
.crumbs b{color:var(--pc)}

.phero{padding:28px 0 70px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.art{border:1px solid var(--ink);position:relative;overflow:hidden}
.pph{position:absolute;inset:0;background:#0C0B09}
.pph svg{position:absolute;left:50%;top:50%;width:240px;height:240px;transform:translate(-50%,-50%);overflow:visible}
.pph circle{fill:none;stroke:var(--pc);stroke-width:2;stroke-dasharray:3 10;animation:dashmove 26s linear infinite}
.pph .pm{position:absolute;left:50%;top:50%;transform:translate(-50%,-54%);font-weight:800;font-size:6.5rem;line-height:1;color:transparent;-webkit-text-stroke:2.5px var(--pc)}
.pph .pstamp{position:absolute;bottom:14px;right:14px;border:1px dashed #37322a;color:#a99f8c;font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;padding:8px 12px;text-align:right;line-height:1.7}
.art .main{aspect-ratio:1/1;position:relative;overflow:hidden;background:#0C0B09}
.art .main img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.art .cap{display:flex;justify-content:space-between;padding:10px 12px;border-top:1px solid var(--ink);font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:#57503f}
.art .cap i{font-style:normal;color:var(--pc)}
.stepchip{position:absolute;top:12px;left:12px;background:var(--char);color:#F5F2EB;font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:7px 10px;z-index:2}
.pinfo h1{font-size:clamp(2.8rem,6.4vw,5.2rem);text-transform:uppercase}
.pinfo .variant{font-family:'IBM Plex Mono',monospace;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pc);margin:10px 0 22px;display:block}
.pinfo .who{font-size:1.05rem;color:#57503f;max-width:52ch;margin-bottom:30px;line-height:1.65}
.bignums{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--ink)}
.bn{padding:20px 22px;border:0 solid var(--ink)}
.bn:nth-child(1){border-right-width:1px;border-bottom-width:1px}
.bn:nth-child(2){border-bottom-width:1px}
.bn:nth-child(3){border-right-width:1px}
.bn b{font-size:clamp(2rem,3.6vw,3rem);font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--pc);font-variant-numeric:tabular-nums;display:block}
.bn span{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stone)}
.pinfo .ctas{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.single-produkt .btn{display:inline-flex;align-items:center;gap:10px;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:15px 24px;border:1px solid var(--ink);cursor:pointer;transition:.3s;background:none;color:var(--ink)}
.single-produkt .btn-solid{background:var(--pc);border-color:var(--pc);color:#fff}
.single-produkt .btn-solid:hover{background:var(--ink);border-color:var(--ink)}
.single-produkt .btn:hover{background:var(--ink);color:var(--paper)}
@media(max-width:960px){.phero{grid-template-columns:1fr}}

.switcher{display:flex;gap:0;border:1px solid var(--ink);margin:0 0 40px;max-width:640px;flex-wrap:wrap}
.switcher a{flex:1;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;padding:13px 8px;border-right:1px solid var(--ink);transition:.25s}
.switcher a:last-child{border-right:none}
.switcher a.cur{background:var(--ink);color:var(--paper)}
.switcher a:not(.cur):hover{background:var(--paper2)}

.details{background:var(--paper2);border-top:1px solid var(--line);padding:80px 0}
.dgrid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:start}
.dcol h2{font-size:clamp(1.7rem,3.4vw,2.6rem);text-transform:uppercase;margin-bottom:22px}
.ing{border-top:1px solid var(--ink)}
.ing li{list-style:none;display:flex;justify-content:space-between;gap:16px;padding:12px 2px;border-bottom:1px dashed var(--line);font-size:.98rem}
.ing li b{font-variant-numeric:tabular-nums;font-weight:600;color:var(--pc)}
.antable{width:100%;border-collapse:collapse;font-family:'IBM Plex Mono',monospace;font-size:.74rem;background:var(--paper);border:1px solid var(--ink)}
.antable td{padding:11px 14px;border-bottom:1px solid var(--line)}
.antable tr:last-child td{border-bottom:none}
.antable td:last-child{text-align:right;font-weight:500}
.note{margin-top:18px;font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--stone);line-height:1.8}
@media(max-width:960px){.dgrid{grid-template-columns:1fr}}

.photos{padding:80px 0 10px}
.photos h2{font-size:clamp(1.7rem,3.4vw,2.6rem);text-transform:uppercase;margin-bottom:30px}
.ph-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.phx{border:1px solid var(--ink);background:var(--paper)}
.phx .im{aspect-ratio:3/3.4;overflow:hidden;position:relative}
.phx img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.phx:hover img{transform:scale(1.06)}
.phx .cap{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;border-top:1px solid var(--ink);font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:#57503f}
.phx .cap i{font-style:normal;color:var(--pc)}
@media(max-width:860px){.ph-grid{grid-template-columns:1fr}}
.when{padding:80px 0}
.when h2{font-size:clamp(1.7rem,3.4vw,2.6rem);text-transform:uppercase;margin-bottom:30px}
.weeksec{padding:6px 0 64px}
.weeksec h2{font-size:clamp(1.7rem,3.4vw,2.6rem);text-transform:uppercase;margin-bottom:26px}
.pweek{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--ink);border:1px solid var(--ink);margin-bottom:16px}
.pday{background:var(--paper);padding:16px 12px 12px;min-height:150px;display:flex;flex-direction:column;gap:7px;transition:opacity .3s}
.pday.off{background:var(--paper2)}
.pday.off .lbl,.pday.off .dn,.pday.off .sub{color:#C4BCAA}
.pday .dn{font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stone)}
.pday .lbl{font-weight:600;font-size:.84rem;line-height:1.25}
.pday .sub{font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.06em;text-transform:uppercase;color:var(--stone)}
.pday .bar{height:6px;margin-top:auto;background:var(--pc)}
.pday.off .bar{background:var(--line)}
.pweek-legend{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);margin-bottom:44px}
.pweek-legend i{font-style:normal;color:var(--pc)}
@media(max-width:960px){.pweek{grid-template-columns:repeat(2,1fr)}.pday{min-height:110px}}
.when-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.wcard{border:1px solid var(--ink);padding:22px 24px}
.wcard .n{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.1em;color:var(--pc);display:block;margin-bottom:10px}
.wcard b{font-weight:600;display:block;margin-bottom:6px}
.wcard p{font-size:.92rem;color:#57503f}
@media(max-width:860px){.when-grid{grid-template-columns:1fr}}

.pairbox{background:var(--char);color:#F5F2EB;padding:60px 0}
.pairbox .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.pairbox h3{font-size:clamp(1.5rem,3vw,2.2rem);text-transform:uppercase}
.pairbox h3 i{font-style:normal;color:var(--pc)}
.pairbox p{color:#a99f8c;max-width:52ch}

.pfoot{background:var(--char);color:var(--stone);padding:40px 0;font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.pfoot .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.pfoot a{color:#F5F2EB}

/* ===== strony ogólne / 404 / blog (fallback) ===== */
.vv-page{padding:130px 0 90px;min-height:60vh}
.vv-page .ptitle{font-size:clamp(2rem,5vw,3.4rem);text-transform:uppercase;margin-bottom:28px;max-width:22ch}
.vv-page .entry{max-width:72ch;font-size:1.05rem;line-height:1.7}
.vv-page .entry p{margin:0 0 1em}
.vv-page .entry a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.vv-page article+article{margin-top:48px;border-top:1px solid var(--line);padding-top:32px}
.vv-page .rmore{display:inline-flex;gap:10px;margin-top:10px;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border-bottom:1px dashed var(--ink);padding-bottom:4px}
.vv-page .back-home{display:inline-flex;gap:10px;margin-top:24px;font-family:'IBM Plex Mono',monospace;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--ink);padding:15px 24px}
.vv-page .back-home:hover{background:var(--ink);color:var(--paper)}

/* ===== mobile fix: etykiety BALANCE/ACTIVE nad i pod yin-yangiem (bez nachodzenia/przycięcia) ===== */
@media(max-width:640px){
  .yy{padding:2.9em 0 3.1em}
  .yy .word{font-size:1.6rem;line-height:1;text-shadow:0 1px 12px rgba(0,0,0,.6)}
  .yy .word small{font-size:.54rem;margin-top:3px;letter-spacing:.12em}
  .yy .word-b{left:2px;top:0;right:auto;bottom:auto}
  .yy .word-a{right:2px;bottom:0;left:auto;top:auto;text-align:right}
}

/* ===== mobile polish (mniejsze odstępy, marquee, watermarki) ===== */
@media(max-width:640px){
  /* ciaśniejsze sekcje na telefonie */
  .modecore,.tele,.prods,.pastes,.caresec{padding:66px 0}
  .field{padding:66px 0 60px}
  .manif{padding:58px 0}
  .contact{padding:66px 0 0}
  .mc-head{margin-bottom:44px}
  .caresec h2{margin-bottom:44px}
  /* marquee — mniejszy pas, mono-indeksy z powrotem w linii */
  .marq{font-size:60px;height:1.55em}
  .mt-unit i{vertical-align:2.1em;font-size:10px;margin:0 .35em 0 .6em}
  /* watermarki nie wychodzą poza ekran */
  .mc-wm{font-size:4rem;top:-.26em}
  .care-wm{font-size:4rem}
  .field-wm{font-size:clamp(4.5rem,20vw,7rem)}
  .q-wm{font-size:4.5rem}
  /* dial + liczby ciaśniej */
  .mc-dial,.care-dial{gap:16px}
  .mc-data,.care-data{padding:40px 18px 26px}
  /* quiz mniej bocznego paddingu */
  .quiz-inner{padding:26px 20px 32px}
  .qres .pidx{margin:0 -20px 22px;padding:14px 20px}
  /* claim-bary ciaśniej */
  .mc-claim,.care-claim,.wk-claim,.contact-claim{padding:18px 18px;gap:14px}
  .mc-claim .big,.care-claim .big,.wk-claim .big,.contact-claim .big{font-size:1.12rem}
  /* newsletter: input + przycisk pod sobą, żeby się nie ściskały */
  .nl form{flex-direction:column}
  .nl button{padding:14px 22px}
  /* equalizery: wartości nie wychodzą poza ekran (węższe kreski + ciaśniejszy grid) */
  .mtr{grid-template-columns:58px 1fr auto;gap:8px}
  .mtr .lbl{font-size:.6rem;letter-spacing:.06em}
  .ticks{gap:2px}
  .ticks i{width:2px;height:20px}
  .mtr .tval{font-size:1.35rem}
  .care-ticks .tval.ct-off{font-size:1rem}
  .care-ticks .tval.ct-on{font-size:1.35rem}
}

/* =========================================================================
   BLOG — dziennik VARIVO (lista + pojedynczy wpis). Styl 1:1 z systemem MODE.
   ========================================================================= */
.blog{padding:132px 0 96px;background:var(--paper);min-height:70svh}
.blog-head{max-width:1000px;margin:0 0 54px}
.blog-kick{display:inline-block;color:var(--accent);border:1px solid var(--line);padding:7px 12px;margin-bottom:22px}
.blog-h{font-size:clamp(3rem,8vw,6.4rem);text-transform:uppercase;letter-spacing:-.03em;line-height:.9;color:var(--char)}
.blog-h em{font-style:normal;color:transparent;-webkit-text-stroke:2px var(--accent)}
.blog-lead{margin-top:22px;max-width:60ch;font-size:1.12rem;color:#4a453d}

.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media(max-width:960px){.blog-grid{grid-template-columns:repeat(2,1fr);gap:22px}}
@media(max-width:640px){.blog-grid{grid-template-columns:1fr}}

.bcard{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);background:var(--paper);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
.bcard:hover{transform:translateY(-4px);border-color:var(--bc,var(--accent));box-shadow:14px 14px 0 -2px color-mix(in srgb,var(--bc,var(--accent)) 16%,transparent)}
.bcard-media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--char)}
.bcard-media .bthumb{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.bcard:hover .bcard-media .bthumb{transform:scale(1.06)}
.bph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 120% at 20% 0%,color-mix(in srgb,var(--bc,var(--accent)) 30%,var(--char)),var(--char) 60%)}
.bph span{font-family:'IBM Plex Mono',monospace;font-size:2rem;letter-spacing:.1em;color:var(--paper);opacity:.85}
.bidx{position:absolute;left:12px;top:12px;background:var(--char);color:var(--paper);padding:6px 10px;font-size:.6rem}
.bidx::before{content:'';display:inline-block;width:7px;height:7px;background:var(--bc,var(--accent));margin-right:7px;vertical-align:1px}
.bcard-b{display:flex;flex-direction:column;gap:12px;padding:22px 22px 24px;flex:1}
.bcat{color:var(--bc,var(--accent));font-size:.62rem}
.btitle{font-size:1.42rem;line-height:1.06;letter-spacing:-.02em;color:var(--char)}
.btitle a{transition:color .25s}
.bcard:hover .btitle a{color:var(--bc,var(--accent))}
.bexc{color:#5c564c;font-size:.98rem;line-height:1.5;flex:1}
.bfoot{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:14px;margin-top:4px}
.bmeta{color:var(--stone);font-size:.6rem}
.bgo{color:var(--char);font-size:.64rem;white-space:nowrap;transition:color .25s}
.bgo:hover{color:var(--bc,var(--accent))}
.bgo span{display:inline-block;transition:transform .25s}
.bgo:hover span{transform:translateX(4px)}

.blog-pager{margin-top:56px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.blog-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--line);color:var(--ink);font-size:.7rem;transition:.25s}
.blog-pager .page-numbers.current{background:var(--char);color:var(--paper);border-color:var(--char)}
.blog-pager a.page-numbers:hover{border-color:var(--accent);color:var(--accent)}
.blog-empty{color:var(--stone);padding:40px 0}

/* ---- pojedynczy wpis ---- */
.bpost{padding:120px 0 90px;background:var(--paper)}
.bpost-head{max-width:760px;margin:0 auto 6px}
.bcrumbs{display:flex;flex-wrap:wrap;gap:8px;color:var(--stone);margin-bottom:22px}
.bcrumbs a{color:var(--stone);transition:.25s}
.bcrumbs a:hover{color:var(--accent)}
.bpost .bcat{display:inline-block;color:var(--accent);border:1px solid var(--line);padding:6px 10px;margin-bottom:18px}
.bpost-title{font-size:clamp(2.1rem,5vw,3.5rem);line-height:1.03;letter-spacing:-.025em;color:var(--char);text-transform:none;-webkit-text-stroke:0}
.bpost-meta{margin-top:20px;color:var(--stone)}
.bpost-hero{margin:40px auto 8px;max-width:1040px;border:1px solid var(--line);overflow:hidden;aspect-ratio:16/9}
.bpost-hero img{width:100%;height:100%;object-fit:cover}
.bpost-body{max-width:720px;margin:44px auto 0;font-size:1.12rem;line-height:1.72;color:#2c2822}
.bpost-body>*+*{margin-top:1.35em}
.bpost-body h2{font-size:1.9rem;line-height:1.1;letter-spacing:-.02em;color:var(--char);margin-top:1.8em}
.bpost-body h3{font-size:1.32rem;line-height:1.16;letter-spacing:-.01em;color:var(--char);margin-top:1.6em}
.bpost-body p>a,.bpost-body li>a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:.2s}
.bpost-body a:hover{color:var(--char)}
.bpost-body ul,.bpost-body ol{padding-left:1.3em}
.bpost-body li{margin-top:.5em}
.bpost-body ul li::marker{color:var(--accent)}
.bpost-body blockquote{border-left:3px solid var(--accent);padding:4px 0 4px 22px;margin-left:0;font-size:1.28rem;line-height:1.4;color:var(--char)}
.bpost-body figure{margin-top:1.6em}
.bpost-body img{border:1px solid var(--line)}
.bpost-body figure img{width:100%}
.bpost-body figcaption{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--stone);margin-top:8px}
.bpost-body strong{font-weight:800}
.vv-prodcta{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px;justify-content:space-between;border:1px solid var(--char);background:var(--paper2);padding:22px 24px}
.vv-prodcta .l{display:flex;flex-direction:column;gap:5px}
.vv-prodcta .k{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.vv-prodcta .t{font-weight:800;font-size:1.2rem;letter-spacing:-.01em;color:var(--char);line-height:1.1}
.vv-prodcta a.btn{padding:16px 26px;font-size:.72rem;background:var(--accent);border-color:var(--accent);color:#fff}
.vv-prodcta a.btn:hover{background:var(--char);border-color:var(--char)}
.bpost-foot{max-width:720px;margin:52px auto 0;border-top:1px solid var(--line);padding-top:22px}
.bback{color:var(--char);transition:.25s}
.bback:hover{color:var(--accent)}
@media(max-width:640px){
  .blog{padding:104px 0 70px}
  .bpost{padding:96px 0 64px}
  .bpost-body{font-size:1.06rem}
  .vv-prodcta a.btn{width:100%;justify-content:center}
}
