/* ============================================================
   SATIN LOGIC — Shared Design System
   Black / White / Off-white · Bebas Neue + Barlow + Barlow Condensed
   ============================================================ */
*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --w:#ffffff;
  --off:#f5f4f0;
  --b:#0a0a0a;
  --g:#888888;
  --l:#e8e6e0;
  --gap:36px;
}
html{scroll-behavior:smooth;}
body{background:var(--w);color:var(--b);font-family:'Barlow',sans-serif;overflow-x:hidden;}
@media(hover:hover) and (pointer:fine){body{cursor:none;}}
img{max-width:100%;display:block;}
a{color:inherit;}

/* ---------- Custom cursor ---------- */
.cursor{position:fixed;width:10px;height:10px;background:var(--b);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .3s,height .3s,background .3s;mix-blend-mode:difference;}
.cursor-ring{position:fixed;width:36px;height:36px;border:1px solid rgba(0,0,0,.3);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .3s,height .3s;}
@media(hover:none),(pointer:coarse){.cursor,.cursor-ring{display:none;}}

/* ---------- Language bar ---------- */
.lang-bar{position:fixed;top:0;left:0;right:0;z-index:200;background:var(--b);padding:7px 36px;display:flex;justify-content:flex-end;gap:4px;align-items:center;}
.lb{font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:.2em;font-weight:600;padding:3px 10px;background:transparent;border:none;cursor:pointer;color:rgba(255,255,255,.4);transition:color .2s;}
.lb.act{color:#fff;border-bottom:1px solid #fff;}
.lb:hover{color:#fff;}
.lsep{color:rgba(255,255,255,.2);font-size:10px;}

/* ---------- Navigation + Mega-menu ---------- */
nav:not(.crumb){position:fixed;top:28px;left:0;right:0;z-index:150;display:flex;align-items:center;justify-content:space-between;padding:16px 36px;background:rgba(255,255,255,.82);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border-bottom:.5px solid var(--l);}
.nl{display:flex;align-items:center;gap:20px;}
.nlogo{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:600;letter-spacing:.2em;text-decoration:none;color:var(--b);}
.nlogo small{display:block;font-size:8px;letter-spacing:.3em;color:var(--g);font-weight:400;margin-top:1px;}
.navlinks{display:flex;align-items:center;gap:2px;}
.navlinks > a, .navtrigger{font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--b);text-decoration:none;padding:8px 14px;background:none;border:none;cursor:pointer;transition:opacity .2s;position:relative;}
.navlinks > a:hover, .navtrigger:hover{opacity:.55;}
.navitem{position:relative;}
.navtrigger .car{display:inline-block;font-size:8px;margin-left:4px;transition:transform .25s;vertical-align:middle;}
.navitem:hover .navtrigger .car{transform:rotate(180deg);}
.ncta{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:600;letter-spacing:.15em;border:1px solid var(--b);padding:9px 18px;cursor:pointer;background:var(--b);color:#fff;transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;gap:7px;}
.ncta:hover{background:transparent;color:var(--b);}
.ncta.ghost{background:transparent;color:var(--b);}
.ncta.ghost:hover{background:var(--b);color:#fff;}
.nav-right{display:flex;align-items:center;gap:14px;}

.mega{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(8px);background:rgba(255,255,255,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:.5px solid var(--l);box-shadow:0 30px 70px -30px rgba(0,0,0,.25);padding:0;min-width:640px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,transform .25s,visibility .25s;z-index:160;}
.navitem:hover .mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.mega-grid{display:grid;grid-template-columns:1fr 1fr;}
.mega-col{padding:26px 30px;}
.mega-col:first-child{border-right:.5px solid var(--l);}
.mega-head{font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:.28em;color:var(--g);margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.mega-head .flag{font-size:13px;}
.mega-link{display:flex;align-items:baseline;justify-content:space-between;gap:14px;text-decoration:none;color:var(--b);padding:9px 0;border-bottom:.5px solid var(--l);transition:padding .2s;}
.mega-link:last-child{border-bottom:none;}
.mega-link:hover{padding-left:8px;}
.mega-link .ml-t{font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:600;letter-spacing:.02em;}
.mega-link .ml-d{font-size:11px;color:var(--g);font-weight:300;}
.mega-link .ml-a{font-size:13px;color:var(--g);}
.mega-foot{grid-column:1/-1;background:var(--b);padding:18px 30px;display:flex;align-items:center;justify-content:space-between;}
.mega-foot span{font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.2em;color:rgba(255,255,255,.6);}
.mega-foot a{font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.2em;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:2px;}

/* mobile nav */
.hbg{display:none;width:38px;height:38px;background:var(--b);flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;border:none;}
.hbg span{display:block;width:15px;height:1px;background:#fff;transition:transform .3s,opacity .3s;}
.mobile-menu{position:fixed;inset:0;background:var(--b);z-index:300;display:flex;flex-direction:column;padding:90px 28px 40px;transform:translateY(-100%);transition:transform .45s cubic-bezier(.7,0,.2,1);overflow-y:auto;}
.mobile-menu.open{transform:translateY(0);}
.mobile-menu a{font-family:'Bebas Neue',sans-serif;font-size:34px;letter-spacing:1px;color:#fff;text-decoration:none;padding:11px 0;border-bottom:.5px solid rgba(255,255,255,.12);}
.mobile-menu a.sub{font-family:'Barlow Condensed',sans-serif;font-size:15px;letter-spacing:.1em;color:rgba(255,255,255,.55);padding:8px 0 8px 16px;border-bottom:none;}
.mm-close{position:absolute;top:24px;right:24px;background:none;border:none;color:#fff;font-size:30px;cursor:pointer;line-height:1;}

/* ---------- Buttons ---------- */
.bf{background:var(--b);color:#fff;padding:14px 30px;font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:.2em;font-weight:600;border:1px solid var(--b);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:9px;transition:all .2s;}
.bf:hover{background:transparent;color:var(--b);}
.bl{background:transparent;color:var(--b);padding:14px 30px;font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:.2em;font-weight:600;border:1px solid var(--b);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:9px;transition:all .2s;}
.bl:hover{background:var(--b);color:#fff;}
.btns{display:flex;gap:12px;flex-wrap:wrap;}

/* ---------- Marquee ---------- */
.mq-wrap{background:var(--b);padding:15px 0;overflow:hidden;}
.mq-track{display:flex;white-space:nowrap;animation:mq 24s linear infinite;width:max-content;}
.mqi{font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:.2em;color:rgba(255,255,255,.4);padding:0 28px;flex-shrink:0;}
.mqi b{color:#fff;}
@keyframes mq{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- Section primitives ---------- */
.sec{padding:110px 60px;background:var(--w);}
.sec.off{background:var(--off);}
.sec.dark{background:var(--b);color:#fff;}
.slabel{font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:.3em;color:var(--g);margin-bottom:36px;display:flex;align-items:center;gap:14px;}
.slabel::after{content:'';flex:1;height:1px;background:var(--l);}
.sec.dark .slabel::after{background:rgba(255,255,255,.12);}
.h-display{font-family:'Bebas Neue',sans-serif;line-height:.9;letter-spacing:1px;}
.ol{-webkit-text-stroke:1.5px var(--b);color:transparent;}
.sec.dark .ol{-webkit-text-stroke:1.5px #fff;}

/* ---------- Breadcrumb ---------- */
.crumb{display:flex;gap:9px;align-items:center;font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.12em;color:var(--g);flex-wrap:wrap;}
.crumb a{color:var(--g);text-decoration:none;transition:color .2s;}
.crumb a:hover{color:var(--b);}
.crumb .sep{opacity:.5;}
.crumb .cur{color:var(--b);}

/* ---------- Rotating SVG centerpiece ---------- */
@keyframes spin3d{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.spin-svg{animation:spin3d 22s linear infinite;}

/* ---------- FAQ accordion ---------- */
.faq-list{border-top:1px solid var(--l);max-width:920px;}
.sec.dark .faq-list{border-top-color:rgba(255,255,255,.14);}
.faq-item{border-bottom:1px solid var(--l);}
.sec.dark .faq-item{border-bottom-color:rgba(255,255,255,.14);}
.faq-q{width:100%;background:none;border:none;text-align:left;cursor:pointer;padding:26px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;font-family:'Barlow Condensed',sans-serif;font-size:clamp(18px,2.2vw,24px);font-weight:600;letter-spacing:.01em;color:inherit;}
.faq-plus{flex-shrink:0;width:20px;height:20px;position:relative;}
.faq-plus::before,.faq-plus::after{content:'';position:absolute;background:currentColor;transition:transform .3s;}
.faq-plus::before{top:50%;left:0;width:100%;height:1.5px;transform:translateY(-50%);}
.faq-plus::after{left:50%;top:0;height:100%;width:1.5px;transform:translateX(-50%);}
.faq-item.open .faq-plus::after{transform:translateX(-50%) scaleY(0);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease;}
.faq-a-inner{padding:0 0 26px;font-size:15px;line-height:1.8;color:var(--g);font-weight:300;max-width:760px;}
.sec.dark .faq-a-inner{color:rgba(255,255,255,.6);}

/* ---------- Lead form (multi-step) ---------- */
.lead-sec{padding:110px 60px;background:var(--w);position:relative;overflow:hidden;}
.lead-sec.off{background:var(--off);}
.lbg{position:absolute;bottom:-30px;left:-10px;font-family:'Bebas Neue',sans-serif;font-size:clamp(70px,13vw,170px);color:var(--b);opacity:.03;letter-spacing:-4px;white-space:nowrap;pointer-events:none;}
.lin{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;max-width:1320px;margin:0 auto;}
.ll h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(44px,6.5vw,86px);line-height:.9;margin-bottom:20px;}
.ll p{font-size:14px;color:var(--g);line-height:1.9;font-weight:300;max-width:340px;margin-bottom:36px;}
.lci{display:flex;flex-direction:column;gap:18px;}
.lci-item label{font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:.25em;color:var(--g);display:block;margin-bottom:3px;}
.lci-item a,.lci-item p{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:600;color:var(--b);text-decoration:none;}
.lform{background:var(--w);border:1px solid var(--l);padding:40px 36px;}
.lead-sec.off .lform{background:var(--w);}
.lead-sec:not(.off) .lform{background:var(--off);border:none;}
.ftitle{font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.25em;color:var(--g);margin-bottom:8px;}
/* step progress */
.fsteps{display:flex;gap:6px;margin-bottom:26px;}
.fstep-bar{flex:1;height:2px;background:var(--l);position:relative;overflow:hidden;}
.fstep-bar i{position:absolute;inset:0;background:var(--b);transform:scaleX(0);transform-origin:left;transition:transform .4s;}
.fstep-bar.done i{transform:scaleX(1);}
.fstep-lbl{font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:.2em;color:var(--g);margin-bottom:20px;}
.fpanel{display:none;}
.fpanel.active{display:block;animation:fpfade .35s ease;}
@keyframes fpfade{from{opacity:0;transform:translateX(12px);}to{opacity:1;transform:translateX(0);}}
.fg{margin-bottom:18px;}
.fg label{font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:.2em;color:var(--g);display:block;margin-bottom:7px;}
.fg input,.fg select,.fg textarea{width:100%;background:var(--w);border:1px solid var(--l);padding:12px 14px;font-family:'Barlow',sans-serif;font-size:14px;color:var(--b);outline:none;font-weight:300;transition:border-color .2s;appearance:none;-webkit-appearance:none;}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--b);}
.fg input.err,.fg select.err,.fg textarea.err{border-color:#c0392b;}
.fg .ferr{font-size:10px;letter-spacing:.1em;color:#c0392b;font-family:'Barlow Condensed',sans-serif;margin-top:5px;display:none;text-transform:uppercase;}
.fg.show-err .ferr{display:block;}
.fg textarea{resize:vertical;min-height:90px;}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.fnav{display:flex;gap:12px;margin-top:8px;}
.fbtn{flex:1;padding:14px;font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:.22em;font-weight:600;border:1px solid var(--b);cursor:pointer;transition:all .2s;}
.fbtn.solid{background:var(--b);color:#fff;}
.fbtn.solid:hover{opacity:.82;}
.fbtn.ghost{background:transparent;color:var(--b);}
.fbtn.ghost:hover{background:var(--b);color:#fff;}
.fnote{font-size:11px;color:var(--g);margin-top:14px;font-weight:300;line-height:1.6;}
.fsucc{display:none;text-align:center;padding:50px 20px;}
.fsucc.show{display:block;animation:fpfade .4s ease;}
.fsucc .tick{width:54px;height:54px;border:1.5px solid var(--b);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 22px;font-size:24px;}
.fsucc h3{font-family:'Bebas Neue',sans-serif;font-size:38px;margin-bottom:10px;letter-spacing:1px;}
.fsucc p{font-size:14px;color:var(--g);font-weight:300;max-width:300px;margin:0 auto;line-height:1.7;}

/* ---------- Footer ---------- */
footer{background:var(--b);padding:60px 60px 40px;}
.ft-cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.1);}
.ft-brand .flogo{font-family:'Barlow Condensed',sans-serif;font-size:15px;letter-spacing:.25em;color:#fff;font-weight:600;margin-bottom:14px;}
.ft-brand p{font-size:13px;color:rgba(255,255,255,.45);line-height:1.8;font-weight:300;max-width:280px;}
.ft-col h4{font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:.28em;color:rgba(255,255,255,.4);margin-bottom:18px;}
.ft-col a{display:block;font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:.05em;color:rgba(255,255,255,.7);text-decoration:none;padding:6px 0;transition:color .2s,padding .2s;}
.ft-col a:hover{color:#fff;padding-left:5px;}
.ftbot{display:flex;justify-content:space-between;align-items:center;padding-top:24px;flex-wrap:wrap;gap:10px;}
.fcopy{font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.1em;color:rgba(255,255,255,.3);}

/* ---------- Internal link strip ---------- */
.ilink-sec{padding:80px 60px;background:var(--off);}
.ilink-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--l);border:1px solid var(--l);}
.ilink{background:var(--off);padding:32px 30px;text-decoration:none;color:var(--b);display:flex;flex-direction:column;gap:10px;transition:background .25s;}
.ilink:hover{background:var(--w);}
.ilink .il-k{font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:.25em;color:var(--g);}
.ilink .il-t{font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:600;letter-spacing:.02em;}
.ilink .il-d{font-size:13px;color:var(--g);font-weight:300;line-height:1.6;}
.ilink .il-a{margin-top:auto;font-size:15px;}

/* ---------- Image placeholder ---------- */
.ph-img{background:repeating-linear-gradient(45deg,var(--off),var(--off) 11px,#eceae4 11px,#eceae4 22px);border:1px solid var(--l);display:flex;align-items:center;justify-content:center;position:relative;color:var(--g);}
.ph-img span{font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.2em;background:var(--w);padding:6px 12px;border:1px solid var(--l);}
.sec.dark .ph-img{background:repeating-linear-gradient(45deg,#141414,#141414 11px,#1c1c1c 11px,#1c1c1c 22px);border-color:rgba(255,255,255,.12);}
.sec.dark .ph-img span{background:var(--b);border-color:rgba(255,255,255,.14);color:rgba(255,255,255,.5);}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
.reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;}}

/* ---------- Prose (blog / long-form) ---------- */
.prose{max-width:760px;}
.prose h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(30px,4vw,46px);letter-spacing:1px;line-height:1;margin:54px 0 20px;}
.prose h3{font-family:'Barlow Condensed',sans-serif;font-size:23px;font-weight:600;letter-spacing:.02em;margin:36px 0 14px;}
.prose p{font-size:16px;line-height:1.85;color:#2a2a2a;font-weight:300;margin-bottom:20px;}
.prose p a, .prose li a{color:var(--b);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.prose ul{list-style:none;margin:0 0 24px;display:flex;flex-direction:column;gap:11px;}
.prose ul li{font-size:16px;line-height:1.7;color:#2a2a2a;font-weight:300;padding-left:22px;position:relative;}
.prose ul li::before{content:'—';position:absolute;left:0;color:var(--b);}
.prose blockquote{border-left:2px solid var(--b);padding:6px 0 6px 26px;margin:34px 0;font-family:'Barlow Condensed',sans-serif;font-size:clamp(22px,3vw,30px);font-weight:300;line-height:1.3;}
.prose blockquote b{font-weight:700;}

/* ---------- Responsive ---------- */
@media(max-width:980px){
  .navlinks{display:none;}
  .hbg{display:flex;}
  .ft-cols{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  nav{padding:12px 18px;top:26px;}
  .sec,.lead-sec,.ilink-sec{padding:70px 20px;}
  .lin{grid-template-columns:1fr;gap:40px;}
  .frow{grid-template-columns:1fr;}
  .ilink-grid{grid-template-columns:1fr;}
  .ft-cols{grid-template-columns:1fr;gap:30px;}
  footer{padding:44px 20px 32px;}
  .ftbot{flex-direction:column;align-items:flex-start;}
  .lang-bar{padding:6px 18px;}
  .prose h2{margin-top:42px;}
}
