/* ==========================================================================
   Nexus Consult — design system v2.1 "Nexus"
   Cinematic dark (brand navy + aurora orange→amber→teal) alternating with warm
   editorial paper. Instrument Serif (display) + Instrument Sans (UI).
   ========================================================================== */
@import url("fonts.css");

:root{
  --bg0:#070D18; --bg1:#0B1727; --bg2:#10213A; --bg3:#16304F;
  --fg:#F3F0E8; --fg2:#C7D0DB; --fg3:#8E9FB3; --dline:rgba(243,240,232,.12); --dline2:rgba(243,240,232,.22);
  --paper:#F4F1EA; --paper2:#EAE5DA; --ink:#0B1524; --ink2:#2A3646; --mute:#5F6B79; --mute2:#8E97A3; --line:#D9D2C4; --line2:#C4BCAB;
  --o:#FF5E00; --o2:#D84D00; --amber:#FFB020; --amber2:#FFD23F; --teal:#15E6C4; --teal2:#0E9E8C; --wa:#25D366; --wa2:#1EBE5B;
  --grad:linear-gradient(90deg,#FF5E00 0%,#FFB020 38%,#FFD23F 58%,#15E6C4 100%);
  --grad-soft:linear-gradient(90deg,#FF8A3D,#FFD23F 55%,#5EF0D8);
  --r:14px; --r2:22px; --r3:32px;
  --ui:"Instrument Sans",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --serif:"Instrument Serif","Iowan Old Style","Times New Roman",Georgia,serif;
  --wrap:1240px; --gut:clamp(20px,4.5vw,56px);
  --ease:cubic-bezier(.16,1,.3,1); --ease2:cubic-bezier(.65,0,.35,1);
  --hdr:76px;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 12px);-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--ui);font-size:17px;line-height:1.6;color:var(--ink);background:var(--bg0);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img,svg,canvas{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;}
h1,h2,h3,h4{margin:0;font-weight:400;line-height:1;}
p{margin:0;}
ul,ol{margin:0;padding:0;}
:focus-visible{outline:2px solid var(--amber);outline-offset:4px;border-radius:4px;}
::selection{background:var(--amber2);color:var(--ink);}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}}

/* ---------- layout ---------- */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);}
.wrap-n{max-width:880px;margin:0 auto;padding:0 var(--gut);}
section{padding:clamp(44px,5.5vw,84px) 0 clamp(44px,5.5vw,76px);}
section.tight{padding:clamp(40px,6vw,80px) 0;}
.dark{background:var(--bg0);color:var(--fg);}
.dark2{background:var(--bg1);color:var(--fg);}
.light{background:var(--paper);color:var(--ink);}
.light2{background:var(--paper2);color:var(--ink);}
.grain{position:relative;isolation:isolate;}
.grain::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.055;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.grain>*{position:relative;z-index:2;}
.skip{position:absolute;left:-9999px;top:10px;background:var(--amber);color:var(--ink);padding:10px 16px;z-index:200;border-radius:8px;font-weight:700;}
.skip:focus{left:10px;}
.split>*,.grid-2>*,.grid-3>*,.grid-4>*,.hero-grid>*,.phero .grid>*,.console>*,.kpis>*,.kpis4>*,.compare>*,.sim .frow>*,.form-card .row>*,footer .cols>*,.story>*{min-width:0;}
h1,h2,h3,p,li{overflow-wrap:break-word;}

/* ---------- type ---------- */
.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.02em;}
.serif em,.serif i{font-style:italic;font-weight:400;}
.gt{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.h-hero{font-family:var(--serif);font-size:clamp(2.8rem,min(8.2vw,11svh),8rem);line-height:.94;letter-spacing:-.025em;}
.h-xl{font-family:var(--serif);font-size:clamp(2.5rem,6vw,5.6rem);line-height:.98;letter-spacing:-.02em;}
.h-l{font-family:var(--serif);font-size:clamp(2.1rem,4.4vw,3.9rem);line-height:1.02;letter-spacing:-.02em;}
.h-m{font-family:var(--serif);font-size:clamp(1.55rem,2.6vw,2.3rem);line-height:1.08;letter-spacing:-.015em;}
.h-s{font-family:var(--serif);font-size:clamp(1.3rem,1.9vw,1.6rem);line-height:1.15;letter-spacing:-.01em;}
.eyebrow{display:inline-flex;align-items:flex-start;gap:10px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);line-height:1.5;}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--grad);flex:none;margin-top:.35em;}
.dark .eyebrow,.dark2 .eyebrow{color:var(--fg3);}
.lead{font-size:clamp(1.08rem,1.45vw,1.28rem);line-height:1.5;color:var(--ink2);max-width:58ch;}
.dark .lead,.dark2 .lead{color:var(--fg2);}
.muted{color:var(--mute);} .dark .muted,.dark2 .muted{color:var(--fg3);}
.small{font-size:13.5px;}
.center{text-align:center;} .center .eyebrow{justify-content:center;}
b,strong{font-weight:600;}
.sec-head{max-width:860px;margin-bottom:clamp(36px,5vw,64px);}
.sec-head .eyebrow{margin-bottom:22px;}
.sec-head .lead{margin-top:22px;}
.sec-head.row{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;max-width:none;}
@media(max-width:760px){.sec-head.row{grid-template-columns:1fr;}}
.prose p{margin:0 0 16px;color:var(--ink2);}
.prose p:last-child{margin-bottom:0;}
.prose ul{padding-left:20px;color:var(--ink2);} .prose li{margin:6px 0;}
.prose a{color:var(--o2);font-weight:600;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;}
.prose h2{font-family:var(--serif);font-size:1.9rem;margin:40px 0 12px;letter-spacing:-.01em;}
.prose table{width:100%;border-collapse:collapse;font-size:15px;margin:10px 0;}
.prose th,.prose td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top;}
.prose th{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--mute);font-weight:600;}
.prose code{font-family:ui-monospace,Menlo,monospace;font-size:.9em;background:var(--paper2);padding:1px 6px;border-radius:4px;}
.link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:inherit;position:relative;}
.link svg{width:16px;height:16px;transition:transform .35s var(--ease);}
.link:hover svg{transform:translateX(4px);}
.link.u{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;}
.dark .link,.dark2 .link{color:var(--amber2);}
.light .link,.light2 .link{color:var(--o2);}
.ico{width:22px;height:22px;flex:none;}
.tile{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(255,176,32,.12);color:var(--o2);flex:none;}
.tile svg{width:22px;height:22px;}
.tile.teal{background:rgba(21,230,196,.14);color:var(--teal2);}
.tile.navy{background:rgba(11,21,36,.08);color:var(--ink);}
.tile.green{background:rgba(37,211,102,.14);color:#15803D;}
.dark .tile,.dark2 .tile{background:rgba(255,255,255,.07);color:var(--amber2);}
.dark .tile.teal,.dark2 .tile.teal{color:var(--teal);}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 26px;border-radius:999px;border:1px solid transparent;font-weight:600;font-size:15.5px;line-height:1;cursor:pointer;white-space:nowrap;text-align:center;background:var(--amber);color:var(--ink);transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .25s,color .25s,border-color .25s;will-change:transform;}
.btn svg{width:18px;height:18px;flex:none;transition:transform .35s var(--ease);}
.btn:hover{background:var(--amber2);box-shadow:0 14px 40px -14px rgba(255,176,32,.7);}
.btn:hover svg.arr{transform:translateX(4px);}
.btn:active{transform:scale(.98);}
.btn:disabled{background:#3A4657;color:#8E9FB3;cursor:not-allowed;box-shadow:none;transform:none;}
.light .btn:disabled,.light2 .btn:disabled{background:#C9CFD6;color:#fff;}
.btn-ghost{background:transparent;border-color:var(--dline2);color:inherit;}
.btn-ghost:hover{background:rgba(255,255,255,.08);border-color:currentColor;box-shadow:none;}
.light .btn-ghost,.light2 .btn-ghost{border-color:var(--line2);}
.light .btn-ghost:hover,.light2 .btn-ghost:hover{background:#fff;}
.btn-ink{background:var(--ink);color:var(--fg);}
.btn-ink:hover{background:var(--bg2);box-shadow:0 14px 40px -14px rgba(11,21,36,.6);}
.btn-wa{background:var(--wa);color:#06240F;}
.btn-wa:hover{background:#3BE07A;box-shadow:0 14px 40px -14px rgba(37,211,102,.7);}
.btn-white{background:var(--paper);color:var(--ink);}
.btn-white:hover{background:#fff;box-shadow:0 14px 40px -14px rgba(0,0,0,.5);}
.btn-lg{padding:19px 32px;font-size:16.5px;}
.btn-sm{padding:11px 18px;font-size:14px;}
.btn-block{width:100%;}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.txtbtn{background:none;border:none;padding:6px 0;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;font-size:14px;display:inline-flex;align-items:center;gap:6px;color:inherit;}
.txtbtn svg{width:15px;height:15px;}

/* ---------- header ---------- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:40;color:var(--fg);transition:background .4s,border-color .4s;border-bottom:1px solid transparent;}
.hdr.scrolled{background:rgba(7,13,24,.72);backdrop-filter:saturate(1.3) blur(16px);-webkit-backdrop-filter:saturate(1.3) blur(16px);border-bottom-color:var(--dline);}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--hdr);}
.brand{display:flex;align-items:center;gap:12px;font-weight:600;font-size:17px;letter-spacing:.14em;text-transform:uppercase;color:inherit;}
.brand img{width:36px;height:36px;border-radius:10px;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 8px 24px -10px rgba(255,94,0,.6);}
.brand small{font-weight:400;font-size:13px;letter-spacing:.14em;color:var(--amber2);}
.menu{display:flex;align-items:center;gap:2px;}
.menu a{padding:10px 14px;border-radius:999px;font-weight:500;font-size:14.5px;color:var(--fg2);transition:color .2s,background .2s;position:relative;}
.menu a:hover{color:var(--fg);background:rgba(255,255,255,.06);}
.menu a[aria-current="page"]{color:var(--fg);}
.menu a[aria-current="page"]::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:1px;background:var(--grad);}
.nav-cta{display:flex;align-items:center;gap:8px;}
.icon-btn{width:44px;height:44px;border-radius:999px;display:grid;place-items:center;border:1px solid var(--dline2);background:transparent;color:inherit;cursor:pointer;transition:background .2s,border-color .2s,transform .3s var(--ease);}
.icon-btn svg{width:20px;height:20px;}
.icon-btn:hover{background:rgba(255,255,255,.08);border-color:var(--fg);}
.burger{display:none;}
.sheet{display:none;}
@media(max-width:940px){
  .menu,.nav-cta .btn{display:none;}
  .burger{display:grid;}
  .sheet{display:block;position:fixed;inset:0;z-index:60;background:var(--bg0);color:var(--fg);padding:0 var(--gut) 40px;overflow:auto;opacity:0;pointer-events:none;transition:opacity .35s var(--ease);}
  .sheet.open{opacity:1;pointer-events:auto;}
  .sheet .top{display:flex;align-items:center;justify-content:space-between;height:var(--hdr);}
  .sheet nav{display:grid;margin-top:16px;}
  .sheet nav a{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--dline);font-family:var(--serif);font-size:2.1rem;letter-spacing:-.02em;transform:translateY(12px);opacity:0;transition:transform .5s var(--ease),opacity .5s var(--ease);}
  .sheet.open nav a{transform:none;opacity:1;}
  .sheet nav a:nth-child(2){transition-delay:.04s} .sheet nav a:nth-child(3){transition-delay:.08s} .sheet nav a:nth-child(4){transition-delay:.12s} .sheet nav a:nth-child(5){transition-delay:.16s} .sheet nav a:nth-child(6){transition-delay:.2s}
  .sheet nav a svg{width:22px;height:22px;color:var(--amber2);}
  .sheet .grp{margin-top:30px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--fg3);}
  .sheet .sub a{font-family:var(--ui);font-size:1.15rem;font-weight:500;padding:15px 0;letter-spacing:0;}
  .sheet .cta-row{margin-top:30px;} .sheet .cta-row .btn{flex:1;}
}
body.no-scroll{overflow:hidden;}

/* ---------- hero ---------- */
.hero{position:relative;color:var(--fg);min-height:calc(100svh - 64px);display:flex;flex-direction:column;padding:calc(var(--hdr) + 24px) 0 0;overflow:hidden;}
.hero>.wrap{flex:1;display:flex;flex-direction:column;justify-content:center;}
.aurora{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.95;}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(70% 60% at 50% 100%,rgba(7,13,24,.85),transparent 70%),linear-gradient(180deg,rgba(7,13,24,.35),rgba(7,13,24,0) 30%,rgba(7,13,24,.2) 100%);pointer-events:none;}
.hero .wrap{position:relative;z-index:2;}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,64px);align-items:center;padding:12px 0 24px;}
@media(max-width:1080px){.hero-grid{grid-template-columns:1fr;gap:12px;} .hero{min-height:0;padding-top:calc(var(--hdr) + 28px);} .hero h1{font-size:clamp(2.8rem,9vw,5.6rem);max-width:14ch;} .ring-col{display:flex;flex-direction:column;align-items:center;padding-top:16px;} .ring-col .ring-hint{order:-1;margin:0 0 6px;} .stats{margin-top:36px;}}
@media(max-height:800px) and (min-width:1081px){.hero .eyebrow{margin-bottom:16px;} .hero .lead{font-size:1.05rem;margin-top:18px;max-width:46ch;} .hero .cta-row{margin-top:22px;} .hero .reply{display:none;} .stats .it{padding:16px 20px 18px;} .stats .n{font-size:clamp(1.6rem,2.6vw,2.4rem);} .ring-wrap{width:min(100%,460px,58svh);} .ring-hint{margin-top:4px;}}
.hero .eyebrow{margin-bottom:26px;color:var(--fg3);}
.hero h1{max-width:11ch;}
.hero h1 em{color:transparent;background:var(--grad-soft);-webkit-background-clip:text;background-clip:text;}
.hero .lead{margin-top:28px;max-width:52ch;color:var(--fg2);}
.hero .cta-row{margin-top:34px;}
.hero .reply{margin-top:22px;font-size:13.5px;color:var(--fg3);display:flex;gap:8px;align-items:center;}
.hero .reply svg{width:16px;height:16px;color:var(--teal);}
.stats{position:relative;z-index:2;margin-top:auto;border-top:1px solid var(--dline);}
.stats .row{display:grid;grid-template-columns:repeat(4,1fr);}
.stats .it{padding:26px 24px 30px 24px;border-left:1px solid var(--dline);}
.stats .it:first-child{border-left:none;padding-left:0;}
.stats .n{font-family:var(--serif);font-size:clamp(2rem,3.4vw,3.2rem);line-height:1;letter-spacing:-.02em;color:var(--fg);}
.stats .n small{font-family:var(--ui);font-size:14px;letter-spacing:0;color:var(--fg3);margin-left:6px;}
.stats .l{margin-top:8px;font-size:13.5px;color:var(--fg3);}
@media(max-width:940px){.stats .row{grid-template-columns:1fr 1fr;} .stats .it{padding:18px 16px 20px 16px;} .stats .it:nth-child(odd){border-left:none;padding-left:0;}}
.scroll-cue{position:absolute;right:var(--gut);bottom:26px;z-index:3;display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg3);}
.scroll-cue i{width:1px;height:44px;background:linear-gradient(180deg,var(--fg3),transparent);display:block;animation:cue 2.2s var(--ease2) infinite;transform-origin:top;}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(0);transform-origin:bottom}}
@media(max-width:940px){.scroll-cue{display:none;}}

/* ring (nexus) */
.ring-wrap{position:relative;aspect-ratio:1;width:min(100%,520px,56svh);margin:0 auto;}
.ring{width:100%;height:100%;overflow:visible;}
.ring .orbit{transform-origin:300px 300px;animation:spin 140s linear infinite;}
.ring .arc{fill:none;stroke:rgba(243,240,232,.14);stroke-width:1;}
.ring .arc.a2{stroke-dasharray:2 7;stroke:rgba(243,240,232,.22);}
.ring .arc.glow{stroke:url(#ringGrad);stroke-width:1.5;stroke-dasharray:1200;stroke-dashoffset:1200;animation:draw 2.6s var(--ease) .3s forwards;opacity:.9;}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spinrev{to{transform:rotate(-360deg)}}
.ring .up{transform-box:view-box;animation:spinrev 140s linear infinite;}
.ring .spoke{stroke:rgba(243,240,232,.10);stroke-width:1;}
.ring .core{fill:url(#coreGrad);}
.ring .core-ring{fill:none;stroke:rgba(255,210,63,.55);stroke-width:1.2;}
.ring .core-t{font-family:var(--serif);font-size:30px;fill:#0B1524;letter-spacing:-.02em;}
.ring .core-s{font-family:var(--ui);font-size:11px;letter-spacing:.16em;fill:#0B1524;opacity:.7;}
.ring .node{cursor:pointer;opacity:0;animation:nodein .8s var(--ease) forwards;transform-box:fill-box;transform-origin:center;}
.ring .node:nth-child(1){animation-delay:.6s}.ring .node:nth-child(2){animation-delay:.75s}.ring .node:nth-child(3){animation-delay:.9s}.ring .node:nth-child(4){animation-delay:1.05s}.ring .node:nth-child(5){animation-delay:1.2s}.ring .node:nth-child(6){animation-delay:1.35s}
@keyframes nodein{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
.ring .node circle.bg{fill:#0B1727;stroke:rgba(243,240,232,.22);stroke-width:1;transition:stroke .3s,fill .3s;}
.ring .node:hover circle.bg,.ring .node:focus-visible circle.bg{fill:#16304F;stroke:var(--amber2);}
.ring .node .ic{color:var(--amber2);}
.ring .node text{font-family:var(--ui);font-size:17px;font-weight:500;fill:var(--fg2);letter-spacing:.01em;transition:fill .3s,font-size .3s var(--ease);paint-order:stroke;stroke:rgba(7,13,24,.55);stroke-width:4px;stroke-linejoin:round;}
.ring .node:hover text,.ring .node:focus-visible text{fill:var(--fg);font-size:21px;}
.ring .node circle.bg{transition:r .3s var(--ease),stroke .3s,fill .3s;}
.ring .node:hover circle.bg,.ring .node:focus-visible circle.bg{r:35;}
.ring .node .ic{transform-box:view-box;transition:transform .3s var(--ease);}
.ring .node:hover .ic,.ring .node:focus-visible .ic{transform:scale(1.18);}
.ring .halo{fill:none;stroke:var(--teal);stroke-opacity:.35;stroke-width:1;transform-box:fill-box;transform-origin:center;animation:halo 5s var(--ease2) infinite;}
@keyframes halo{0%{transform:scale(.6);opacity:0}30%{opacity:.8}100%{transform:scale(1.5);opacity:0}}
@media(prefers-reduced-motion:reduce){.ring .orbit,.ring .halo,.ring .up{animation:none;} .ring .node{opacity:1;animation:none;} .ring .arc.glow{stroke-dashoffset:0;animation:none;}}
.ring-hint{text-align:center;margin-top:10px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg3);}
@media(max-width:1080px){.ring-wrap{width:min(100%,440px);margin-top:0;}}

/* ---------- ticker ---------- */
.ticker{border-top:1px solid var(--dline);border-bottom:1px solid var(--dline);overflow:hidden;padding:18px 0;white-space:nowrap;position:relative;}
.ticker .track{display:inline-flex;gap:0;animation:tick 48s linear infinite;will-change:transform;}
.ticker:hover .track{animation-play-state:paused;}
.ticker .item{display:inline-flex;align-items:center;gap:26px;padding:0 26px;font-family:var(--serif);font-size:clamp(1.3rem,2.2vw,1.9rem);letter-spacing:-.01em;color:var(--fg2);}
.ticker .item i{width:8px;height:8px;border-radius:50%;background:var(--grad);display:inline-block;}
@keyframes tick{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker .track{animation:none;}}

/* ---------- manifesto / principles ---------- */
.manifest{font-family:var(--serif);font-size:clamp(1.9rem,4.6vw,4.2rem);line-height:1.08;letter-spacing:-.02em;max-width:22ch;}
.manifest .w{display:inline-block;opacity:.12;transform:translateY(.15em);transition:opacity .6s var(--ease),transform .6s var(--ease);}
.manifest.in .w{opacity:1;transform:none;}
.manifest em{color:var(--o2);}
.principles{margin-top:clamp(48px,6vw,80px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);}
.principles .it{padding:30px 28px 34px 28px;border-right:1px solid var(--line);}
.principles .it:first-child{padding-left:0;} .principles .it:last-child{border-right:none;}
.principles .n{font-family:var(--serif);font-size:1.1rem;color:var(--o2);letter-spacing:.04em;}
.principles h3{font-family:var(--serif);font-size:1.7rem;margin:14px 0 10px;letter-spacing:-.015em;}
.principles p{color:var(--mute);font-size:15px;line-height:1.55;}
@media(max-width:940px){.principles{grid-template-columns:1fr 1fr;} .principles .it:nth-child(2){border-right:none;} .principles .it:nth-child(3){padding-left:0;border-top:1px solid var(--line);} .principles .it:nth-child(4){border-top:1px solid var(--line);}}
@media(max-width:560px){.principles{grid-template-columns:1fr;} .principles .it{padding:22px 0;border-right:none;border-top:1px solid var(--line);} .principles .it:first-child{border-top:none;}}

/* ---------- services rail ---------- */
.rail-wrap{position:relative;}
.rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px var(--gut) 24px;margin:0 calc(var(--gut) * -1);scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab;}
.rail::-webkit-scrollbar{display:none;}
.rail.dragging{cursor:grabbing;scroll-snap-type:none;}
.rcard{flex:0 0 min(78vw,400px);scroll-snap-align:start;display:flex;flex-direction:column;justify-content:space-between;min-height:400px;padding:28px 28px 26px;border:1px solid var(--line);border-radius:var(--r2);background:#fff;position:relative;overflow:hidden;transition:transform .5s var(--ease),border-color .3s,box-shadow .5s var(--ease);}
.rcard::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);}
.rcard::after{content:"";position:absolute;width:260px;height:260px;right:-120px;bottom:-140px;border-radius:50%;background:radial-gradient(circle,rgba(255,176,32,.28),transparent 62%);opacity:0;transition:opacity .5s;pointer-events:none;}
.rcard:hover{transform:translateY(-6px);border-color:var(--line2);box-shadow:0 30px 60px -30px rgba(11,21,36,.35);}
.rcard:hover::before{transform:scaleX(1);} .rcard:hover::after{opacity:1;}
.rcard .idx{font-family:var(--serif);font-size:1.05rem;letter-spacing:.06em;color:var(--o2);}
.rcard .top{display:flex;justify-content:space-between;align-items:flex-start;}
.rcard h3{font-family:var(--serif);font-size:clamp(1.7rem,2.4vw,2.2rem);letter-spacing:-.02em;margin-top:56px;line-height:1.02;max-width:12ch;}
.rcard p{color:var(--mute);margin-top:14px;font-size:15.5px;line-height:1.55;}
.rcard .link{margin-top:26px;}
.rcard.teal::after{background:radial-gradient(circle,rgba(21,230,196,.3),transparent 62%);}
.rail-nav{display:flex;gap:8px;align-items:center;}
.rail-nav .icon-btn{border-color:var(--line2);color:var(--ink);}
.rail-nav .icon-btn:hover{background:#fff;border-color:var(--ink);}
.rail-prog{height:1px;background:var(--line);margin-top:6px;position:relative;overflow:hidden;}
.rail-prog i{position:absolute;left:0;top:0;height:100%;width:20%;background:var(--ink);transition:transform .2s linear;}

/* ---------- calculator console ---------- */
.console{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(20px,3vw,44px);align-items:start;}
@media(max-width:1000px){.console{grid-template-columns:1fr;} .gauge-wrap{position:static;} .gauge{max-width:300px;}}
.wiz{border:1px solid var(--dline);border-radius:var(--r3);background:rgba(11,23,39,.65);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow:hidden;}
.wiz-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 28px;border-bottom:1px solid var(--dline);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg3);}
.wiz-head b{color:var(--fg);font-weight:600;}
.wiz-prog{height:2px;background:rgba(255,255,255,.08);}
.wiz-prog i{display:block;height:100%;width:0;background:var(--grad);transition:width .6s var(--ease);}
.wiz-body{padding:clamp(24px,3.5vw,40px) clamp(20px,3.5vw,36px);min-height:420px;}
.q{display:none;animation:qin .5s var(--ease);}
.q.on{display:block;}
@keyframes qin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.q-n{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--amber2);}
.q-t{font-family:var(--serif);font-size:clamp(1.8rem,3.2vw,2.6rem);letter-spacing:-.02em;margin:12px 0 8px;line-height:1.04;}
.q-h{color:var(--fg3);font-size:15px;margin-bottom:24px;max-width:60ch;}
.opts{display:flex;flex-wrap:wrap;gap:10px;}
.opts.col{display:grid;grid-template-columns:1fr 1fr;}
@media(max-width:560px){.opts.col{grid-template-columns:1fr;}}
.opt{appearance:none;background:rgba(255,255,255,.04);border:1px solid var(--dline2);border-radius:14px;padding:15px 18px;font-size:15.5px;font-weight:500;color:var(--fg);cursor:pointer;text-align:left;display:inline-flex;align-items:center;gap:12px;position:relative;transition:border-color .25s,background .25s,transform .35s var(--ease),box-shadow .35s;}
.opt:hover{border-color:var(--fg);background:rgba(255,255,255,.07);transform:translateY(-1px);}
.opt[aria-pressed="true"]{border-color:var(--amber);background:rgba(255,176,32,.14);box-shadow:0 0 0 1px var(--amber) inset,0 12px 30px -16px rgba(255,176,32,.8);}
.opt kbd{font-family:var(--ui);font-size:11px;font-weight:600;color:var(--fg3);border:1px solid var(--dline2);border-radius:5px;padding:2px 6px;min-width:22px;text-align:center;flex:none;}
.opt[aria-pressed="true"] kbd{border-color:var(--amber);color:var(--amber2);}
.opt .rank{display:none;width:22px;height:22px;border-radius:50%;background:var(--amber);color:var(--ink);font-size:12px;font-weight:700;place-items:center;flex:none;}
.opt[data-rank] .rank{display:grid;} .opt[data-rank] kbd{display:none;}
.opt .bl{font-size:12.5px;color:var(--fg3);margin-left:auto;padding-left:8px;white-space:nowrap;font-weight:500;}
.opt[aria-pressed="true"] .bl{color:var(--amber2);}
.inl{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px;font-size:14px;color:var(--fg3);}
.inl input{width:96px;padding:11px 12px;border:1px solid var(--dline2);border-radius:10px;font:inherit;font-size:15px;font-weight:600;color:var(--fg);background:rgba(255,255,255,.04);}
.inl input:focus{border-color:var(--amber);outline:none;box-shadow:0 0 0 3px rgba(255,176,32,.2);}
.wiz-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:30px;padding-top:20px;border-top:1px solid var(--dline);}
.wiz-nav .hintl{font-size:13px;color:var(--fg3);text-align:center;}
@media(max-width:560px){.wiz-nav .hintl{display:none;}}
.verify{display:grid;gap:14px;}
.verify #ts{min-height:65px;}
.err{color:#FF8A70;font-size:14px;font-weight:500;display:none;}
/* gauge */
.gauge-wrap{position:sticky;top:calc(var(--hdr) + 20px);}
.gauge{position:relative;aspect-ratio:1;width:100%;max-width:380px;margin:0 auto;}
.gauge svg{width:100%;height:100%;transform:rotate(-90deg);}
.gauge .track{fill:none;stroke:rgba(255,255,255,.08);stroke-width:2;}
.gauge .seg{fill:none;stroke:url(#gaugeGrad);stroke-width:2;stroke-linecap:round;stroke-dasharray:var(--c);stroke-dashoffset:var(--c);transition:stroke-dashoffset 1s var(--ease);}
.gauge .seg.on{stroke-dashoffset:0;}
.gauge .center{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:44px;}
.gauge .center .k{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg3);}
.gauge .center .v{font-family:var(--serif);font-size:clamp(2.6rem,4.4vw,3.6rem);letter-spacing:-.03em;line-height:1;margin-top:8px;color:var(--fg);}
.gauge .center .s{font-size:13.5px;color:var(--fg3);margin-top:8px;max-width:22ch;}
.answers{margin-top:18px;border-top:1px solid var(--dline);list-style:none;}
.answers li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--dline);font-size:13.5px;}
.answers li .k{color:var(--fg3);width:96px;flex:none;font-size:11px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;}
.answers li .v{font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg);}
.answers li.todo .v{color:var(--fg3);font-weight:400;}
.answers li.cur .k{color:var(--amber2);}
.answers li button{background:none;border:none;color:var(--amber2);font-size:12.5px;font-weight:600;cursor:pointer;padding:2px 4px;}
.answers li button:hover{text-decoration:underline;}
.side-note{margin-top:16px;font-size:13px;color:var(--fg3);display:flex;gap:10px;align-items:flex-start;}
.side-note svg{width:16px;height:16px;flex:none;margin-top:3px;color:var(--teal);}
/* result */
.res{display:none;animation:qin .6s var(--ease);}
.res.on{display:block;}
.res-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;}
.chip{font-size:12.5px;font-weight:500;background:rgba(255,255,255,.06);border:1px solid var(--dline);border-radius:999px;padding:6px 12px;color:var(--fg2);cursor:pointer;transition:border-color .2s,color .2s;}
.chip:hover{border-color:var(--amber);color:var(--amber2);}
.kpis{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px;}
@media(max-width:560px){.kpis{grid-template-columns:1fr;}}
.kpi{position:relative;overflow:hidden;border:1px solid var(--dline);border-radius:var(--r2);padding:24px 26px;background:rgba(255,255,255,.03);}
.kpi::after{content:"";position:absolute;width:220px;height:220px;right:-90px;bottom:-140px;border-radius:50%;background:radial-gradient(circle,rgba(255,176,32,.35),transparent 62%);pointer-events:none;}
.kpi.t::after{background:radial-gradient(circle,rgba(21,230,196,.3),transparent 62%);}
.kpi .l{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg3);}
.kpi .v{font-family:var(--serif);font-size:clamp(2.2rem,3.6vw,3rem);letter-spacing:-.03em;line-height:1;margin-top:10px;}
.kpi .s{font-size:13.5px;color:var(--fg3);margin-top:8px;}
.plan{margin-top:16px;border:1px solid rgba(255,176,32,.35);background:rgba(255,176,32,.08);border-radius:var(--r2);padding:22px 24px;}
.plan .t{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber2);}
.plan .n{font-family:var(--serif);font-size:clamp(1.6rem,2.4vw,2rem);letter-spacing:-.02em;margin:8px 0 6px;line-height:1.1;}
.plan p{color:var(--fg2);font-size:14.5px;}
.riders{margin-top:18px;}
.riders b{font-size:14px;color:var(--fg);}
.riders ul{list-style:none;margin-top:10px;display:grid;gap:8px;}
.riders li{position:relative;padding-left:24px;font-size:14.5px;color:var(--fg2);}
.riders li::before{content:"";position:absolute;left:0;top:9px;width:10px;height:10px;border-radius:50%;background:var(--grad);}
table.def{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px;}
table.def td{padding:10px 6px;border-bottom:1px solid var(--dline);vertical-align:top;color:var(--fg2);}
table.def td.su{color:var(--fg3);font-size:13px;white-space:nowrap;}
table.def td.c{text-align:right;font-weight:600;white-space:nowrap;color:var(--fg);}
table.def tr.base td{color:var(--fg);}
table.def tr.tot td{font-weight:600;font-size:15.5px;border-bottom:none;padding-top:14px;color:var(--fg);}
table.def tr.tot td.c{color:var(--amber2);}
.badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--amber);color:var(--ink);border-radius:999px;padding:2px 8px;margin-left:6px;vertical-align:middle;}
.note{border-left:2px solid var(--amber);padding:10px 14px;font-size:13.5px;color:var(--fg2);margin:12px 0;background:rgba(255,255,255,.03);}
.note.ok{border-left-color:var(--teal);} .note.warn{border-left-color:var(--o);}
.res-cta{margin-top:26px;border-top:1px solid var(--dline);padding-top:26px;text-align:center;}
.res-cta h3{font-family:var(--serif);font-size:clamp(1.6rem,2.4vw,2rem);letter-spacing:-.02em;}
.res-cta p{color:var(--fg3);max-width:52ch;margin:10px auto 20px;font-size:15px;}
.res-cta .cta-row{justify-content:center;}
.res-cta .cta-row .btn{min-width:210px;}
.disc-calc{font-size:12.5px;color:var(--fg3);margin-top:18px;text-align:center;line-height:1.5;}

/* ---------- forms ---------- */
.field{display:grid;gap:7px;}
.field label{font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--ink2);}
.field label .opt-l{font-weight:400;color:var(--mute);}
.field input,.field textarea,.field select{width:100%;padding:14px 15px;border:1px solid var(--line2);border-radius:12px;font:inherit;font-size:15.5px;color:var(--ink);background:#fff;transition:border-color .2s,box-shadow .2s;}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--o);outline:none;box-shadow:0 0 0 3px rgba(255,94,0,.15);}
.field .hint{font-size:12.5px;color:var(--mute);}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--mute);line-height:1.5;}
.consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--o);flex:none;}
.consent a{text-decoration:underline;text-underline-offset:3px;}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:28px;display:grid;gap:16px;color:var(--ink);}
.form-card .row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:560px){.form-card .row{grid-template-columns:1fr;}}
.light .err{color:#B42318;}
.checklist{list-style:none;display:grid;gap:12px;margin-top:22px;}
.checklist li{display:flex;gap:12px;align-items:flex-start;font-size:16px;color:var(--ink2);}
.checklist svg{width:20px;height:20px;flex:none;color:var(--teal2);margin-top:3px;}

/* sticky story (steps / review) */
.story{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,80px);align-items:start;}
.story .left{position:sticky;top:calc(var(--hdr) + 32px);}
@media(max-width:900px){.story{grid-template-columns:1fr;} .story .left{position:static;}}
.steps{display:grid;}
.step{display:grid;grid-template-columns:72px 1fr;gap:18px;padding:30px 0;border-top:1px solid var(--line);}
.step:last-child{border-bottom:1px solid var(--line);}
.step .n{font-family:var(--serif);font-size:2.6rem;line-height:.9;letter-spacing:-.03em;color:var(--o2);}
.step b{display:block;font-family:var(--serif);font-size:1.5rem;font-weight:400;letter-spacing:-.015em;margin-bottom:8px;}
.step p{color:var(--mute);font-size:15.5px;}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:22px 0;font-family:var(--serif);font-size:clamp(1.15rem,1.7vw,1.45rem);letter-spacing:-.01em;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .i{font-family:var(--ui);font-size:12px;letter-spacing:.14em;color:var(--mute);flex:none;width:32px;}
.faq summary .pm{width:34px;height:34px;border-radius:50%;border:1px solid var(--line2);display:grid;place-items:center;flex:none;margin-left:auto;transition:transform .4s var(--ease),background .3s,border-color .3s;}
.faq summary .pm svg{width:14px;height:14px;}
.faq details[open] summary .pm{transform:rotate(45deg);background:var(--ink);color:var(--fg);border-color:var(--ink);}
.faq .a{padding:0 0 26px 0;color:var(--ink2);font-size:15.5px;line-height:1.6;max-width:70ch;}
.faq.num .a{padding-left:48px;}
@media(max-width:560px){.faq summary .i{display:none;} .faq.num .a{padding-left:0;}}

/* ---------- contact (big) ---------- */
.biglinks{border-top:1px solid var(--dline);margin-top:clamp(30px,4vw,48px);}
.biglinks a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:clamp(18px,2.6vw,30px) 0;border-bottom:1px solid var(--dline);transition:padding .4s var(--ease);}
.biglinks a:hover{padding-left:12px;}
.biglinks .t{font-family:var(--serif);font-size:clamp(1.8rem,4.2vw,3.6rem);letter-spacing:-.025em;line-height:1;}
.biglinks .t small{display:block;font-family:var(--ui);font-size:13.5px;letter-spacing:.02em;color:var(--fg3);margin-top:10px;}
.biglinks svg{width:clamp(26px,3vw,40px);height:clamp(26px,3vw,40px);color:var(--amber2);transition:transform .4s var(--ease);}
.biglinks a:hover svg{transform:translate(6px,-6px);}
.addr{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px 30px;font-size:14px;color:var(--fg3);}
.addr span{display:inline-flex;gap:8px;align-items:center;}
.addr svg{width:16px;height:16px;color:var(--teal);}

/* ---------- floating WhatsApp ---------- */
.fab{position:fixed;right:18px;bottom:18px;z-index:45;display:inline-flex;align-items:center;gap:10px;background:var(--wa);color:#06240F;padding:13px 18px 13px 14px;border-radius:999px;font-weight:600;font-size:14.5px;box-shadow:0 16px 40px -12px rgba(37,211,102,.6);transition:transform .35s var(--ease),box-shadow .35s;}
.fab svg{width:22px;height:22px;}
.fab:hover{transform:translateY(-3px);}
@media(max-width:640px){.fab{padding:15px;} .fab span{display:none;} .fab svg{width:26px;height:26px;}}

/* ---------- footer ---------- */
footer{background:var(--bg0);color:var(--fg3);padding:clamp(44px,6vw,80px) 0 34px;font-size:14px;border-top:1px solid var(--dline);}
footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:32px;}
@media(max-width:800px){footer .cols{grid-template-columns:1fr 1fr;} footer .cols>div:first-child{grid-column:1/-1;}}
@media(max-width:480px){footer .cols{grid-template-columns:1fr;}}
footer .brand{color:var(--fg);}
footer p{margin-top:14px;max-width:380px;line-height:1.6;}
footer h4{color:var(--fg);font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px;font-weight:600;}
footer ul{list-style:none;display:grid;gap:10px;}
footer a{color:var(--fg2);} footer a:hover{color:var(--fg);text-decoration:underline;text-underline-offset:4px;}
footer .legal{margin-top:40px;padding-top:22px;border-top:1px solid var(--dline);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;}
footer .madeby{display:inline-flex;align-items:center;gap:8px;color:var(--fg2);font-size:13px;padding:6px 12px;border:1px solid var(--dline);border-radius:999px;transition:border-color .25s,color .25s;}
footer .madeby b{color:var(--amber2);font-weight:600;letter-spacing:.04em;}
footer .madeby svg{width:14px;height:14px;color:var(--amber2);transition:transform .3s var(--ease);}
footer .madeby:hover{border-color:var(--amber2);color:var(--fg);text-decoration:none;}
footer .madeby:hover svg{transform:translate(2px,-2px);}
footer .disc{margin-top:16px;font-size:12px;line-height:1.6;color:#66768A;max-width:1000px;}

/* ---------- subpages ---------- */
.crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--fg3);flex-wrap:wrap;}
.crumbs a:hover{color:var(--fg);text-decoration:underline;text-underline-offset:3px;}
.crumbs svg{width:14px;height:14px;opacity:.6;}
.phero{position:relative;overflow:hidden;padding:calc(var(--hdr) + 28px) 0 clamp(44px,6vw,72px);background:var(--bg0);color:var(--fg);min-height:min(78svh,760px);display:flex;flex-direction:column;justify-content:center;}
.phero .aurora{opacity:.7;}
.phero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(7,13,24,.2),rgba(7,13,24,.65) 100%);pointer-events:none;}
.phero .wrap{position:relative;z-index:2;}
.phero .grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,5vw,72px);align-items:center;margin-top:clamp(28px,4vw,52px);}
@media(max-width:900px){.phero .grid{grid-template-columns:1fr;}}
.phero h1{margin-top:18px;max-width:13ch;}
.phero h1 em{color:transparent;background:var(--grad-soft);-webkit-background-clip:text;background-clip:text;}
.phero .lead{margin-top:22px;color:var(--fg2);}
.phero .eyebrow{color:var(--fg3);}
.phero .cta-row{margin-top:30px;}
.phero .reply{margin-top:16px;font-size:13.5px;color:var(--fg3);display:flex;align-items:center;gap:8px;}
.phero .reply svg{width:16px;height:16px;color:var(--teal);}
.facts{border:1px solid var(--dline2);border-radius:var(--r2);padding:8px 26px;background:rgba(11,23,39,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.facts h3{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg3);font-weight:600;padding:18px 0 6px;}
.facts ul{list-style:none;}
.facts li{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--dline);}
.facts .tile{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.06);color:var(--amber2);}
.facts .tile svg{width:20px;height:20px;}
.facts b{display:block;font-size:15.5px;color:var(--fg);}
.facts span{font-size:13.5px;color:var(--fg3);}
.facts .link{color:var(--amber2);}
/* editorial feature list (replaces cards) */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);}
.grid-2{display:grid;grid-template-columns:1fr 1fr;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);}
.grid-2,.grid-3,.grid-4{gap:0;border-top:1px solid var(--line);}
@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.grid-3,.grid-2,.grid-4{grid-template-columns:1fr;}}
.card{padding:28px 28px 30px 28px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);position:relative;transition:background .3s;}
.grid-3 .card:nth-child(3n+1),.grid-4 .card:nth-child(4n+1),.grid-2 .card:nth-child(2n+1){padding-left:0;}
.grid-3 .card:nth-child(3n),.grid-4 .card:nth-child(4n),.grid-2 .card:nth-child(2n){border-right:none;}
@media(max-width:900px){.grid-3 .card,.grid-4 .card{padding-left:28px;border-right:1px solid var(--line);} .grid-3 .card:nth-child(2n+1),.grid-4 .card:nth-child(2n+1){padding-left:0;} .grid-3 .card:nth-child(2n),.grid-4 .card:nth-child(2n){border-right:none;}}
@media(max-width:600px){.card,.grid-3 .card,.grid-4 .card,.grid-2 .card{padding-left:0!important;padding-right:0!important;border-right:none!important;}}
.card h3{font-family:var(--serif);font-size:1.55rem;letter-spacing:-.015em;margin:18px 0 8px;line-height:1.1;}
.card p{color:var(--mute);font-size:15px;line-height:1.55;}
.card .link{margin-top:14px;font-size:14.5px;}
.feature{display:flex;gap:16px;align-items:flex-start;}
.feature b{display:block;font-family:var(--serif);font-size:1.35rem;font-weight:400;letter-spacing:-.01em;margin-bottom:6px;}
.feature p{color:var(--mute);font-size:14.5px;line-height:1.55;}
.card.feature{flex-direction:column;gap:14px;}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,80px);align-items:center;}
@media(max-width:900px){.split{grid-template-columns:1fr;}}
.panel{position:relative;overflow:hidden;background:var(--bg1);color:var(--fg);border-radius:var(--r3);padding:clamp(30px,5vw,64px);border:1px solid var(--dline);}
.panel::before{content:"";position:absolute;inset:-40% -20% auto;height:120%;background:radial-gradient(45% 60% at 80% 30%,rgba(255,94,0,.35),transparent 65%),radial-gradient(35% 50% at 15% 90%,rgba(21,230,196,.25),transparent 60%);pointer-events:none;}
.panel>*{position:relative;}
.panel .eyebrow{color:var(--fg3);}
.panel .lead{color:var(--fg2);}
.panel p{color:var(--fg2);}
.panel .btn-ghost{border-color:var(--dline2);color:var(--fg);}
.panel .link{color:var(--amber2);}
.ctabox{text-align:center;}
.ctabox h2{max-width:18ch;margin:18px auto 0;}
.ctabox .lead{max-width:56ch;margin:18px auto 0;}
.ctabox .cta-row{justify-content:center;margin-top:30px;}
.callout{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);border-left:2px solid var(--teal2);padding:18px 20px;font-size:15px;color:var(--ink2);margin-top:24px;background:#fff;border-radius:0 var(--r) var(--r) 0;}
.callout svg{width:20px;height:20px;flex:none;color:var(--teal2);margin-top:3px;}
.callout.orange{border-left-color:var(--o);} .callout.orange svg{color:var(--o2);}
.callout.teal{border-left-color:var(--teal2);}
.callout a{color:var(--o2);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.keyfacts{border-top:1px solid var(--line);padding-top:22px;}
.keyfacts ul{list-style:none;display:grid;gap:14px;margin-top:16px;}
.keyfacts li{position:relative;padding-left:22px;font-size:15.5px;color:var(--ink2);}
.keyfacts li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:8px;border-radius:50%;background:var(--grad);}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:700px){.compare{grid-template-columns:1fr;}}
.compare .box{border-radius:var(--r2);padding:28px;border:1px solid var(--line);background:#fff;}
.compare .box h3{font-family:var(--serif);font-size:1.6rem;letter-spacing:-.015em;margin-bottom:12px;display:flex;align-items:center;gap:12px;}
.compare .box p{color:var(--ink2);font-size:15px;}
.compare .box.hi{background:var(--bg1);color:var(--fg);border-color:var(--bg1);}
.compare .box.hi p{color:var(--fg2);}
.compare .tag{font-family:var(--ui);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--paper2);color:var(--mute);}
.compare .hi .tag{background:rgba(255,255,255,.1);color:var(--amber2);}
.related{border-top:1px solid var(--line);margin-top:14px;}
.related a{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:1.35rem;letter-spacing:-.01em;transition:padding .35s var(--ease);}
.related a:hover{padding-left:10px;}
.related a .tile{width:38px;height:38px;border-radius:10px;} .related a .tile svg{width:18px;height:18px;}
.related a .arr{margin-left:auto;width:18px;height:18px;color:var(--mute2);}

/* ---------- simulators (locuinta / grup) ---------- */
.sim{border:1px solid var(--line);border-radius:var(--r3);padding:clamp(22px,3vw,36px);background:#fff;}
.sim .frow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.sim .frow.two{grid-template-columns:1fr 1fr;}
@media(max-width:720px){.sim .frow,.sim .frow.two{grid-template-columns:1fr;}}
.sim .opts{gap:8px;}
.sim .opt{background:var(--paper);border-color:var(--line2);color:var(--ink);}
.sim .opt:hover{background:#fff;border-color:var(--ink);}
.sim .opt[aria-pressed="true"]{border-color:var(--o);background:rgba(255,94,0,.08);box-shadow:0 0 0 1px var(--o) inset;}
.sim .opt .rank{background:var(--o);color:#fff;}
.sim .hint{font-size:12.5px;color:var(--mute);}
.checks{display:grid;gap:8px;margin-top:8px;}
.chk{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;border:1px solid var(--line2);border-radius:12px;cursor:pointer;font-size:14.5px;background:var(--paper);transition:border-color .2s,background .2s;}
.chk:has(input:checked){border-color:var(--o);background:rgba(255,94,0,.06);}
.chk input{width:18px;height:18px;margin-top:2px;accent-color:var(--o);flex:none;}
.chk span{color:var(--ink2);} .chk b{color:var(--ink);}
.result{margin-top:24px;background:var(--bg1);color:var(--fg);border-radius:var(--r2);padding:26px 28px;position:relative;overflow:hidden;border:1px solid var(--dline);}
.result::after{content:"";position:absolute;width:260px;height:260px;right:-100px;top:-140px;border-radius:50%;background:radial-gradient(circle,rgba(255,94,0,.45),transparent 65%);}
.result>*{position:relative;}
.result .big{font-family:var(--serif);font-size:clamp(2.4rem,4.6vw,3.6rem);letter-spacing:-.03em;line-height:1;}
.result .big small{font-family:var(--ui);font-size:14px;color:var(--fg3);letter-spacing:0;margin-left:8px;}
.result .sub{margin-top:10px;color:var(--fg2);font-size:14px;}
.result .perday{margin-top:14px;display:inline-block;border:1px solid var(--dline2);border-radius:999px;padding:6px 14px;font-size:13.5px;color:var(--fg2);}
table.bd{width:100%;border-collapse:collapse;margin-top:18px;font-size:14.5px;}
table.bd td{padding:11px 6px;border-bottom:1px solid var(--line);color:var(--ink2);}
table.bd td.v{text-align:right;font-weight:600;white-space:nowrap;color:var(--ink);}
table.bd tr.tot td{font-weight:600;border-bottom:none;font-size:15.5px;padding-top:14px;color:var(--ink);}
table.bd tr.tot td.v{color:var(--o2);}
table.bd i{color:var(--mute);font-style:normal;font-size:12.5px;}
.simnote{margin-top:16px;font-size:12.5px;color:var(--mute);line-height:1.55;}
.kpis4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px;}
@media(max-width:900px){.kpis4{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.kpis4{grid-template-columns:1fr;}}
.kp{border-radius:var(--r);padding:18px;background:var(--paper);border:1px solid var(--line);}
.kp .l{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);font-weight:600;}
.kp .v{font-family:var(--serif);font-size:1.9rem;letter-spacing:-.025em;margin-top:8px;line-height:1;}
.kp .s{font-size:12.5px;color:var(--mute);margin-top:6px;}
.kp.good{background:rgba(21,230,196,.12);border-color:rgba(14,158,140,.3);} .kp.good .v{color:var(--teal2);}
.kp.bad{background:#F1EEE7;} .kp.bad .v{color:var(--mute);}
.kp.warn{background:rgba(255,176,32,.14);border-color:rgba(255,176,32,.4);} .kp.warn .v{color:var(--o2);}
.headline{margin-top:22px;display:flex;gap:22px;align-items:center;flex-wrap:wrap;}
.headline .big{font-family:var(--serif);font-size:clamp(3rem,7vw,5rem);letter-spacing:-.03em;line-height:1;color:var(--teal2);}
.headline p{font-size:16px;color:var(--ink2);max-width:420px;}
.bar{display:flex;gap:6px;height:40px;margin-top:8px;font-size:12.5px;font-weight:600;color:#fff;}
.bar>div{display:flex;align-items:center;padding:0 12px;border-radius:8px;white-space:nowrap;overflow:hidden;transition:flex .5s var(--ease);}
.bar .ben{background:var(--teal2);} .bar .sal{background:#9AA4B0;}
.ssbtn{background:var(--paper);border:1px solid var(--line2);border-radius:999px;padding:10px 16px;font-size:13.5px;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s;}
.ssbtn:hover{border-color:var(--ink);background:#fff;}
.ssbtn.on{border-color:var(--o);background:rgba(255,94,0,.08);color:var(--o2);}
.ssbtn:disabled{opacity:.5;cursor:not-allowed;}
input[type=range]{width:100%;accent-color:var(--o);}
.band{margin-top:12px;border-radius:12px;padding:12px 14px;font-weight:600;font-size:14px;}
.band .s{font-weight:400;font-size:13px;color:var(--ink2);margin-top:2px;}
.band.r{background:#FDECEA;} .band.o{background:#FFF3DD;} .band.g{background:rgba(21,230,196,.14);}
.fx{border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.fx summary{list-style:none;cursor:pointer;padding:24px 0;font-family:var(--serif);font-size:1.5rem;letter-spacing:-.015em;display:flex;justify-content:space-between;align-items:center;gap:14px;}
.fx summary::-webkit-details-marker{display:none;}
.fx summary .pm{width:34px;height:34px;border-radius:50%;border:1px solid var(--line2);display:grid;place-items:center;flex:none;transition:transform .4s var(--ease);}
.fx summary .pm svg{width:14px;height:14px;}
.fx[open] summary .pm{transform:rotate(45deg);background:var(--ink);color:var(--fg);}
.fxbody{padding:0 0 28px;color:var(--ink2);font-size:15.5px;max-width:80ch;}
.fxbody h3{font-family:var(--serif);font-size:1.35rem;margin:26px 0 8px;color:var(--ink);letter-spacing:-.01em;}
.fxbody p{margin:0 0 10px;} .fxbody ul{padding-left:20px;} .fxbody li{margin:5px 0;}
table.fxtab{width:100%;border-collapse:collapse;margin:10px 0 16px;font-size:14.5px;}
table.fxtab th,table.fxtab td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;}
table.fxtab th{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);font-weight:600;}
table.fxtab td.v{text-align:right;font-weight:600;white-space:nowrap;}
.light .note,.light2 .note{color:var(--ink2);background:#fff;border-left-color:var(--o);}
.light .note.ok,.light2 .note.ok{border-left-color:var(--teal2);} .light .note.warn,.light2 .note.warn{border-left-color:var(--o);}
.light .res-cta,.light2 .res-cta{border-top-color:var(--line);} .light .res-cta p,.light2 .res-cta p{color:var(--mute);}
.simnote.center{text-align:center;}

/* ---------- utility pages ---------- */
body.util{background:var(--bg0);color:var(--fg);}
.util main{min-height:100vh;display:grid;place-items:center;padding:40px var(--gut);position:relative;}
.util .box{position:relative;z-index:2;max-width:600px;width:100%;border:1px solid var(--dline2);border-radius:var(--r3);padding:clamp(32px,5vw,56px);text-align:center;background:rgba(11,23,39,.6);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.util .mark{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;margin:22px auto;background:rgba(21,230,196,.15);color:var(--teal);}
.util .mark svg{width:34px;height:34px;}
.util .code{font-family:var(--serif);font-size:6rem;line-height:1;margin:14px 0 8px;color:transparent;background:var(--grad-soft);-webkit-background-clip:text;background-clip:text;}
.util h1{font-family:var(--serif);font-size:clamp(1.9rem,4vw,2.6rem);letter-spacing:-.02em;}
.util p{color:var(--fg2);margin:14px auto 26px;max-width:440px;}
.util .cta-row{justify-content:center;}
.util .home{display:inline-block;margin-top:22px;color:var(--fg3);font-size:14px;text-decoration:underline;text-underline-offset:4px;}
.util .brand{justify-content:center;}

/* ---------- zone frame (consistent section framing + scroll affordance) ---------- */
.zhead{display:flex;align-items:center;gap:18px;padding-top:18px;border-top:1px solid var(--line);margin-bottom:clamp(28px,4.5vw,52px);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);}
.zhead .zi{font-family:var(--serif);font-size:1.25rem;letter-spacing:0;color:var(--o2);text-transform:none;line-height:1;}
.zhead .zi::after{content:"";display:inline-block;width:28px;height:1px;background:currentColor;margin:0 0 .3em 12px;opacity:.5;}
.dark .zhead,.dark2 .zhead{border-top-color:var(--dline);color:var(--fg3);}
.dark .zhead .zi,.dark2 .zhead .zi{color:var(--amber2);}
.znext-wrap{display:flex;justify-content:flex-end;margin-top:clamp(40px,6vw,72px);}
.znext{display:inline-flex;align-items:center;gap:14px;padding-top:14px;border-top:1px solid var(--line2);font-size:13px;color:var(--mute);transition:gap .35s var(--ease);}
.znext:hover{gap:20px;}
.znext .zn{letter-spacing:.16em;text-transform:uppercase;font-weight:600;font-size:11.5px;}
.znext .zl{font-family:var(--serif);font-size:1.3rem;color:var(--ink);letter-spacing:-.01em;}
.znext svg{width:20px;height:20px;color:var(--o2);animation:nudge 1.8s var(--ease2) infinite;}
@keyframes nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
.dark .znext,.dark2 .znext{border-top-color:var(--dline2);color:var(--fg3);}
.dark .znext .zl,.dark2 .znext .zl{color:var(--fg);}
.dark .znext svg,.dark2 .znext svg{color:var(--amber2);}
.sec-head{margin-bottom:clamp(30px,4.5vw,52px);}
@media(max-width:560px){.znext-wrap{justify-content:flex-start;} .znext .zl{font-size:1.1rem;}}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.rv.in{opacity:1;transform:none;}
.rv.d1{transition-delay:.08s;} .rv.d2{transition-delay:.16s;} .rv.d3{transition-delay:.24s;} .rv.d4{transition-delay:.32s;} .rv.d5{transition-delay:.4s;}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;}}

/* ---------- print ---------- */
@media print{.hdr,.fab,.sheet,footer .cols,.wiz-nav,.aurora,.scroll-cue{display:none!important;} body{background:#fff;color:#000;} .rv{opacity:1;transform:none;}}
