*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --paper:#F7F3EC; --paper-2:#FDFBF6; --ink:#16140F; --ink-soft:#5C564B;
  --cobalt:#2F4BFF; --cobalt-deep:#1E34D6; --coral:#FF5A2C; --mint:#0FB489;
  --line:rgba(22,20,15,.13); --line-2:rgba(22,20,15,.07);
  --maxw:1280px; --pad:46px;
}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{background:var(--paper);color:var(--ink);font-family:'Satoshi',system-ui,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--cobalt);color:#fff}
img,canvas{display:block;max-width:100%}a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:'Bricolage Grotesque',sans-serif;font-weight:600;line-height:1.0;letter-spacing:-.02em;text-wrap:balance}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--cobalt)}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--coral)}
em{font-style:normal;color:var(--cobalt)}
.coral{color:var(--coral)}
@media(hover:hover) and (pointer:fine){body.cur-on,body.cur-on a,body.cur-on button{cursor:none}}
.reveal-ready [data-reveal]{opacity:0;transform:translateY(28px);will-change:transform,opacity}

.btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:.92rem;padding:16px 28px;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:transform .3s cubic-bezier(.16,1,.3,1),background .25s,color .25s,border-color .25s}
.btn .arr{transition:transform .3s}.btn:hover .arr{transform:translateX(4px)}
.btn-cobalt{background:var(--cobalt);color:#fff}.btn-cobalt:hover{background:var(--cobalt-deep)}
.btn-ink{background:var(--ink);color:var(--paper)}.btn-ink:hover{background:#000}
.btn-outline{border-color:var(--ink);color:var(--ink)}.btn-outline:hover{background:var(--ink);color:var(--paper)}

/* ===== HEADER — matches the homepage (index.html) across the whole site ===== */
nav{position:fixed;top:0;left:0;right:0;z-index:600;display:flex;align-items:center;justify-content:space-between;padding:16px var(--pad);background:rgba(247,243,236,.78);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:background .3s,border-color .3s}
nav.scrolled{border-color:var(--line-2)}
.brand{display:inline-block;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:1.3rem;color:var(--ink);text-decoration:none}
.brand b{color:var(--coral);font-weight:800}
.nav-r{display:flex;align-items:center;gap:30px;font-weight:500;font-size:.96rem}
.nav-r a.lnk{position:relative;text-decoration:none;color:var(--ink);opacity:.8;transition:opacity .2s}
.nav-r a.lnk:hover,.nav-r a.lnk.act{opacity:1}
.nav-r a.lnk.act::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--coral)}
.nav-r .btn-p{background:var(--cobalt);color:#fff;border-radius:999px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;transition:box-shadow .25s}
.nav-r .btn-p:hover{box-shadow:0 18px 40px -16px rgba(47,75,255,.6)}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer;z-index:700}
.nav-toggle span{width:26px;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s,opacity .3s}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* HERO */
.hero{position:relative;padding:150px 0 60px;overflow:hidden}
.blob{position:absolute;border-radius:50%;filter:blur(50px);opacity:.5;pointer-events:none;z-index:0;will-change:transform}
.blob.b1{width:46vw;height:46vw;max-width:560px;max-height:560px;background:radial-gradient(circle,rgba(47,75,255,.42),transparent 68%);top:-12%;right:-6%}
.blob.b2{width:38vw;height:38vw;max-width:460px;max-height:460px;background:radial-gradient(circle,rgba(255,90,44,.36),transparent 68%);top:30%;left:-10%}
.hero .wrap{position:relative;z-index:2}
.hero-head{max-width:17ch}
.hero h1{font-size:clamp(2.7rem,6.6vw,5.6rem);font-weight:700;letter-spacing:-.035em;line-height:.98}
.hero h1 .w{display:inline-block}
.hero .lead{margin-top:22px;max-width:50ch;font-size:1.18rem;color:var(--ink-soft);line-height:1.55}
.hero-cta{margin-top:30px;display:flex;gap:13px;flex-wrap:wrap;align-items:center}

/* scroll-build */
.builder-bar{margin-top:40px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.bl-label{font-size:.82rem;font-weight:600;color:var(--ink-soft)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{font-size:.82rem;font-weight:600;color:var(--ink);background:var(--paper-2);border:1.5px solid var(--line);border-radius:999px;padding:9px 16px;cursor:pointer;transition:.2s}
.chip:hover{border-color:var(--cobalt)}
.chip.on{background:var(--cobalt);color:#fff;border-color:var(--cobalt)}
.stage{margin-top:24px;position:relative}
.device{position:relative;max-width:1060px;margin:0 auto;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 50px 120px -50px rgba(47,40,25,.4),0 4px 0 rgba(0,0,0,.02)}
.chrome{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#efeae1;border-bottom:1px solid var(--line-2)}
.chrome .dots{display:flex;gap:6px}.chrome .dots i{width:11px;height:11px;border-radius:50%}
.chrome .dots i:nth-child(1){background:#ff5f57}.chrome .dots i:nth-child(2){background:#febc2e}.chrome .dots i:nth-child(3){background:#28c840}
.chrome .url{margin-left:12px;font-size:.74rem;color:var(--ink-soft);background:#fff;border:1px solid var(--line-2);border-radius:6px;padding:6px 12px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chrome .bldr{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:.72rem;font-weight:700;color:var(--cobalt)}
.chrome .bldr .d{width:7px;height:7px;border-radius:50%;background:var(--cobalt);box-shadow:0 0 9px var(--cobalt)}
.scrline{height:3px;background:linear-gradient(90deg,var(--cobalt),var(--coral));width:0%}
.mock{position:relative;height:min(540px,60vh);overflow:hidden;background:var(--m-bg,#f7f4ee);color:#1a1a1a;display:flex;flex-direction:column}
.m-nav{display:flex;align-items:center;justify-content:space-between;padding:16px 26px;border-bottom:1px solid rgba(0,0,0,.06)}
.m-logo{font-family:'Bricolage Grotesque';font-weight:700;font-size:1.05rem;color:var(--m-ink,#16233e)}
.m-links{display:flex;gap:16px}.m-links span{font-size:.68rem;color:rgba(0,0,0,.5)}
.m-navcta{font-size:.66rem;font-weight:700;color:#fff;background:var(--m-acc,#16233e);padding:7px 12px;border-radius:999px}
.m-hero{flex:1;display:grid;grid-template-columns:1fr 1fr;min-height:0;position:relative;z-index:2}
.m-copy{padding:34px 30px;display:flex;flex-direction:column;justify-content:center}
.m-eyebrow{font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--m-acc,#16233e);margin-bottom:12px}
.m-hh{font-family:'Bricolage Grotesque';font-weight:600;font-size:clamp(1.4rem,3vw,2.4rem);line-height:1.02;color:var(--m-ink,#16233e);letter-spacing:-.02em}
.m-hh .ac{color:var(--m-acc,#b07a3c)}
.m-sub{margin-top:12px;font-size:.86rem;color:rgba(0,0,0,.58);max-width:32ch;line-height:1.5}
.m-cta{margin-top:18px;display:flex;gap:9px}
.m-b1{font-size:.72rem;font-weight:700;color:#fff;background:var(--m-acc,#16233e);padding:10px 16px;border-radius:999px}
.m-b2{font-size:.72rem;font-weight:700;color:var(--m-ink,#16233e);border:1px solid rgba(0,0,0,.15);padding:10px 16px;border-radius:999px}
.m-photo{position:relative;overflow:hidden}.m-photo img{width:100%;height:100%;object-fit:cover}
.m-skel{position:absolute;left:0;right:0;top:53px;bottom:0;z-index:1;display:grid;grid-template-columns:1fr 1fr;pointer-events:none;transition:opacity .3s}
.m-skel .sc{padding:34px 30px;display:flex;flex-direction:column;gap:13px;justify-content:center}
.m-skel .sb{height:15px;border-radius:6px;background:rgba(0,0,0,.06)}
.m-skel .sb.big{height:38px;width:70%;margin-bottom:6px}.m-skel .sb.s2{width:54%}
.m-skel .sb.btn{height:32px;width:118px;border-radius:999px;margin-top:10px;background:rgba(47,75,255,.14)}
.m-skel .sp{background:rgba(0,0,0,.05)}
@media(max-width:760px){.m-hero{grid-template-columns:1fr}.m-photo{display:none}.m-links{display:none}.m-skel{grid-template-columns:1fr}.m-skel .sp{display:none}}

/* sections + color blocks */
section.blk{padding:120px 0;position:relative}
.sec-cobalt{background:var(--cobalt);color:#fff}
.sec-coral{background:var(--coral);color:#fff}
.sec-paper2{background:#EAE2D2}
.sec-h{font-size:clamp(2rem,4.6vw,3.6rem);font-weight:700;letter-spacing:-.025em}
.sec-cobalt .eyebrow,.sec-coral .eyebrow{color:#fff}.sec-cobalt .eyebrow::before,.sec-coral .eyebrow::before{background:#fff}
.sec-cobalt em,.sec-coral em{color:#fff;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px}

/* marquee (alive) */
.marquee{background:var(--ink);color:var(--paper);overflow:hidden;padding:18px 0}
.mq{display:inline-flex;white-space:nowrap;will-change:transform}
.mq span{font-family:'Bricolage Grotesque';font-weight:600;font-size:1.4rem;margin:0 16px;display:inline-flex;align-items:center;gap:16px}
.mq span::after{content:"●";color:var(--coral);font-size:.7rem}

/* promise stats row */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:center}
.stats .n{font-family:'Bricolage Grotesque';font-size:clamp(2.6rem,6vw,4.4rem);font-weight:700;line-height:1}
.stats .c{margin-top:8px;font-size:.95rem;opacity:.85}

/* method rows */
.rows{margin-top:48px;border-top:2px solid var(--ink)}
.row{border-bottom:1.5px solid var(--line)}
.row-head{display:grid;grid-template-columns:80px 1fr auto;gap:24px;align-items:center;padding:28px 4px;cursor:pointer;transition:padding-left .3s}
.row.on .row-head,.row-head:hover{padding-left:14px}
.row .no{font-family:'Bricolage Grotesque';font-size:2rem;font-weight:700;color:var(--cobalt)}
.row h3{font-size:1.5rem;font-weight:600}
.row .pl{font-size:1.5rem;color:var(--ink-soft);transition:transform .3s}.row.on .pl{transform:rotate(45deg);color:var(--coral)}
.row-body{max-height:0;overflow:hidden;transition:max-height .5s ease}.row.on .row-body{max-height:200px}
.row-body div{padding:0 4px 30px 104px;color:var(--ink-soft);max-width:60ch;line-height:1.65}
@media(max-width:760px){.row-head{grid-template-columns:46px 1fr auto;gap:14px}.row-body div{padding-left:60px}}

/* flip cards */
.flip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:54px}
.flip{height:248px;perspective:1400px;cursor:pointer}
.flip-in{position:relative;width:100%;height:100%;transition:transform .7s cubic-bezier(.16,1,.3,1);transform-style:preserve-3d}
.flip.on .flip-in{transform:rotateY(180deg)}
.flip-face{position:absolute;inset:0;backface-visibility:hidden;border:1.5px solid var(--line);border-radius:18px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;background:var(--paper-2)}
.flip-back{transform:rotateY(180deg);background:var(--cobalt);border-color:var(--cobalt);color:#fff}
.flip-face .n{font-family:'Bricolage Grotesque';font-size:.9rem;color:var(--coral);font-weight:700}
.flip-back .n{color:#fff}
.flip-face h3{font-size:1.35rem;font-weight:600}
.flip-face .teaser{font-size:.9rem;color:var(--ink-soft);line-height:1.5;margin-top:8px}
.flip-back .teaser,.flip-back p{color:rgba(255,255,255,.92)}
.flip-face .hint{font-size:.72rem;color:var(--ink-soft);display:inline-flex;align-items:center;gap:7px}
.flip-back .hint{color:#fff}
.flip-face .hint::after{content:"↻"}
.flip-back p{font-size:.94rem;line-height:1.55;margin-top:8px}

/* founder */
.founder{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;align-items:center}
.founder .card{border:1.5px solid var(--line);border-radius:20px;padding:38px;background:var(--paper-2);text-align:center}
.founder .mk{width:84px;height:84px;border-radius:50%;margin:0 auto;display:grid;place-items:center;font-family:'Bricolage Grotesque';font-size:2.3rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--cobalt),var(--coral))}
.founder .nm{font-family:'Bricolage Grotesque';font-size:1.45rem;font-weight:700;margin-top:20px}
.founder .role{font-size:.78rem;color:var(--ink-soft);margin-top:6px}
.founder h2{font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:700;margin-bottom:18px}
.founder p{color:var(--ink-soft);font-size:1.04rem;line-height:1.7;margin-bottom:14px}.founder p b{color:var(--ink);font-weight:700}

/* pricing */
.pricing{text-align:center}
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:54px;text-align:left}
.pkg{background:var(--paper-2);border:1.5px solid var(--line);border-radius:20px;padding:34px 30px;display:flex;flex-direction:column;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s,border-color .3s}
.pkg:hover{transform:translateY(-8px);box-shadow:0 34px 70px -44px rgba(47,40,25,.4)}
.pkg.feat{border-color:var(--cobalt);background:#fff}
.pkg .tag{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);min-height:1em;margin-bottom:16px}
.pkg .price{font-family:'Bricolage Grotesque';font-size:2.9rem;font-weight:700;line-height:1}
.pkg .price sub{font-family:'Satoshi';font-size:.8rem;color:var(--ink-soft);font-weight:500;vertical-align:baseline}
.pkg .name{font-size:1rem;font-weight:700;margin:14px 0 8px}
.pkg .desc{color:var(--ink-soft);font-size:.9rem;line-height:1.5;margin-bottom:22px}
.pkg ul{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:26px;flex:1}
.pkg li{font-size:.9rem;color:var(--ink);padding-left:24px;position:relative}
.pkg li::before{content:"";position:absolute;left:0;top:.45em;width:12px;height:7px;border-left:2.5px solid var(--cobalt);border-bottom:2.5px solid var(--cobalt);transform:rotate(-45deg)}
.pkg .pcta{text-align:center;font-weight:700;font-size:.88rem;padding:14px;border-radius:999px;border:2px solid var(--ink);transition:.25s}
.pkg .pcta:hover{background:var(--ink);color:var(--paper)}
.pkg .pcta.solid{background:var(--cobalt);border-color:var(--cobalt);color:#fff}.pkg .pcta.solid:hover{background:var(--cobalt-deep)}

/* faq */
.faq details{border-top:1.5px solid var(--line)}.faq details:last-child{border-bottom:1.5px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:24px 0;display:flex;justify-content:space-between;gap:24px;font-weight:600;font-size:1.06rem}
.faq summary::-webkit-details-marker{display:none}.faq summary:hover{color:var(--cobalt)}
.faq summary .ic{color:var(--coral);transition:transform .3s;font-family:'Bricolage Grotesque'}
.faq details[open] summary .ic{transform:rotate(45deg)}
.faq .ans{color:var(--ink-soft);font-size:.96rem;line-height:1.7;padding:0 0 24px;max-width:62ch}

/* final */
.final{text-align:center;padding:150px 0}
.final h2{font-size:clamp(2.8rem,7.5vw,6rem);font-weight:700;letter-spacing:-.03em;line-height:.96}
.final p{margin:22px auto 36px;font-size:1.15rem;max-width:38ch;opacity:.92}

footer{background:var(--ink);color:var(--paper);padding:64px 0 34px}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:46px}
.f-tag{color:rgba(247,243,236,.6);font-size:.9rem;line-height:1.6;max-width:32ch;margin-top:14px}
.f-col h4{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(247,243,236,.45);margin-bottom:16px}
.f-col ul{list-style:none;display:flex;flex-direction:column;gap:11px}.f-col a{color:rgba(247,243,236,.8);font-size:.9rem}.f-col a:hover{color:var(--coral)}
.f-bot{border-top:1px solid rgba(247,243,236,.15);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.78rem;color:rgba(247,243,236,.55)}
footer .brand .wm{color:var(--paper)}

#cur-dot,#cur-ring{position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);display:none}
#cur-dot{width:7px;height:7px;background:var(--coral)}
#cur-ring{width:36px;height:36px;border:2px solid var(--cobalt);transition:width .25s,height .25s,background .25s}
#cur-ring.grow{width:64px;height:64px;background:rgba(47,75,255,.12)}

.mobile-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:550;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;background:var(--ink);color:var(--paper)}
.mobile-cta span{font-size:.74rem;color:rgba(247,243,236,.7)}.mobile-cta a{font-weight:700;font-size:.82rem;background:var(--coral);color:#fff;padding:11px 16px;border-radius:999px}

@media(max-width:980px){:root{--pad:24px}.flip-grid{grid-template-columns:1fr}.flip{height:auto;min-height:170px}.pkg-grid{grid-template-columns:1fr}.founder{grid-template-columns:1fr;gap:30px}.f-grid{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr;gap:24px}}
@media(max-width:760px){
  .brand,.nav-toggle{position:relative;z-index:3}
  .nav-r{display:none;position:fixed;inset:0;z-index:2;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;background:var(--paper);padding:0 var(--pad)}
  .nav-r.open{display:flex}.nav-r a.lnk{padding:18px 0;font-size:1.7rem;font-weight:600;opacity:1;width:100%}
  .nav-r a.lnk.act::after{display:none}.nav-r .btn-p{margin-top:14px;font-size:1.05rem;padding:14px 26px}
  .nav-toggle{display:flex}
  section.blk{padding:58px 0}.hero{padding:118px 0 40px}
  .page-top{padding:104px 0 34px}
  .f-grid{grid-template-columns:1fr}
  footer{padding-bottom:86px}
  #cur-dot,#cur-ring{display:none!important}.mobile-cta{display:flex}.final{padding-bottom:140px}
}
@media(prefers-reduced-motion:reduce){.blob{display:none}}

/* ===== SHARED SUB-PAGE UTILITIES (added for multi-page site) ===== */
.page-top{padding:160px 0 50px;position:relative;overflow:hidden}
.page-top .blobwrap .blob{opacity:.4}
.page-top .eyebrow{margin-bottom:16px}
.page-top h1{font-size:clamp(2.6rem,6.2vw,4.8rem);font-weight:700;letter-spacing:-.03em;max-width:18ch;line-height:.98}
.page-top .lead{margin-top:20px;max-width:56ch;font-size:1.18rem;color:var(--ink-soft);line-height:1.55}
.section-head{max-width:60ch;margin-bottom:10px}
.prose{max-width:72ch;color:var(--ink-soft);line-height:1.8;font-size:1.04rem}
.prose h2{font-family:'Bricolage Grotesque';font-weight:700;font-size:1.7rem;color:var(--ink);margin:42px 0 14px;letter-spacing:-.01em}
.prose h3{font-family:'Bricolage Grotesque';font-weight:600;font-size:1.2rem;color:var(--ink);margin:28px 0 10px}
.prose p{margin-bottom:16px}.prose ul{margin:0 0 18px 22px}.prose li{margin-bottom:9px}
.prose a{color:var(--cobalt);text-decoration:underline}
.prose strong{color:var(--ink)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{background:var(--paper-2);border:1.5px solid var(--line);border-radius:20px;padding:32px;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s,border-color .3s}
.card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -44px rgba(47,40,25,.4);border-color:var(--cobalt)}
.card .num{font-family:'Bricolage Grotesque';font-weight:700;color:var(--coral);font-size:.95rem;margin-bottom:14px}
.card h3{font-family:'Bricolage Grotesque';font-size:1.35rem;font-weight:600;margin-bottom:10px;letter-spacing:-.01em}
.card p{color:var(--ink-soft);line-height:1.6;font-size:.96rem}
.card ul{list-style:none;margin-top:14px;display:flex;flex-direction:column;gap:9px}
.card ul li{font-size:.92rem;color:var(--ink);padding-left:22px;position:relative}
.card ul li::before{content:"";position:absolute;left:0;top:.45em;width:11px;height:6px;border-left:2.5px solid var(--cobalt);border-bottom:2.5px solid var(--cobalt);transform:rotate(-45deg)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
.field label{font-size:.82rem;font-weight:700}
.field input,.field textarea,.field select{font-family:inherit;font-size:1rem;padding:14px 16px;border:1.5px solid var(--line);border-radius:12px;background:var(--paper-2);color:var(--ink);width:100%}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--cobalt)}
.field textarea{min-height:130px;resize:vertical}
.contact-info{display:flex;flex-direction:column;gap:18px}
.contact-info .row{display:flex;flex-direction:column;gap:3px;padding:18px 0;border-bottom:1px solid var(--line)}
.contact-info .row .k{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.contact-info .row .v{font-size:1.1rem;font-weight:600}
.contact-info .row .v a{color:var(--cobalt)}
.crumb{font-size:.82rem;color:var(--ink-soft);margin-bottom:22px}
.crumb a{color:var(--cobalt)}
@media(max-width:760px){.grid-2,.grid-3,.grid-4,.contact-grid{grid-template-columns:1fr}}

/* ===== IMAGE / MEDIA COMPONENTS (multi-page imagery) ===== */
.figure{border-radius:20px;overflow:hidden;border:1px solid var(--line);background:var(--paper-2)}
.figure img{width:100%;height:100%;object-fit:cover;display:block}
.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.split-media{border-radius:22px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3}
.split-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.split-media:hover img{transform:scale(1.04)}
.split.rev .split-media{order:2}
.band-img{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:21/9;border:1px solid var(--line);margin-top:30px}
.band-img img{width:100%;height:100%;object-fit:cover}
.band-img .cap{position:absolute;left:24px;bottom:20px;background:rgba(10,10,12,.6);backdrop-filter:blur(8px);color:#fff;padding:10px 16px;border-radius:999px;font-size:.82rem;font-weight:600}
.video-band{position:relative;border-radius:24px;overflow:hidden;border:1px solid var(--line);margin-top:36px;background:#000}
.video-band video{width:100%;display:block}
/* work / voorbeelden cards */
.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:50px}
.wcard{display:block;border-radius:18px;overflow:hidden;border:1.5px solid var(--line);background:var(--paper-2);transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s,border-color .3s}
.wcard:hover{transform:translateY(-8px);box-shadow:0 36px 70px -44px rgba(47,40,25,.4);border-color:var(--cobalt)}
.wcard .wchrome{display:flex;align-items:center;gap:7px;padding:11px 16px;background:#efeae1;border-bottom:1px solid var(--line-2)}
.wcard .wchrome i{width:9px;height:9px;border-radius:50%}.wcard .wchrome i:nth-child(1){background:#ff5f57}.wcard .wchrome i:nth-child(2){background:#febc2e}.wcard .wchrome i:nth-child(3){background:#28c840}
.wcard .wchrome .u{margin-left:8px;font-size:.7rem;color:var(--ink-soft)}
.wcard .thumb{aspect-ratio:16/10;overflow:hidden;background:#fff}
.wcard .thumb img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform 2s ease}
.wcard:hover .thumb img{transform:translateY(calc(-100% + 380px))}
.wcard .meta{display:flex;justify-content:space-between;align-items:center;padding:18px 22px}
.wcard .nm{font-family:'Bricolage Grotesque';font-size:1.25rem;font-weight:600}
.wcard .niche{font-size:.78rem;color:var(--ink-soft);margin-top:3px}
.wcard .go{font-size:.82rem;font-weight:700;color:var(--cobalt)}
@media(max-width:760px){.split{grid-template-columns:1fr;gap:26px}.split.rev .split-media{order:0}.work-grid{grid-template-columns:1fr}}

/* mobile-menu CTA (shown only inside the open hamburger overlay) */
.nav-links .nav-cta-m{display:none}
@media(max-width:760px){.nav-links .nav-cta-m{display:block;margin-top:26px;border-bottom:0!important}.nav-links .nav-cta-m a{display:inline-block;background:var(--cobalt);color:#fff;padding:14px 26px;border-radius:999px;font-size:1.05rem;font-weight:700;border-bottom:0}}

/* ===== "Hoe het werkt" — animated 3-step timeline ===== */
.steps3{position:relative;margin-top:58px;display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.steps3-line{position:absolute;top:26px;left:16%;right:16%;height:3px;background:var(--line);border-radius:3px;overflow:hidden;z-index:0}
.steps3-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,var(--cobalt),var(--coral));transition:width 1.5s cubic-bezier(.16,1,.3,1) .2s}
.step3{position:relative;z-index:1}
.s3-top{display:flex;align-items:center;gap:13px;margin-bottom:22px}
.s3-node{width:54px;height:54px;flex:none;border-radius:50%;background:var(--paper-2);border:2px solid var(--line);display:grid;place-items:center;font-family:'Bricolage Grotesque';font-weight:700;font-size:1.18rem;color:var(--ink-soft);transition:background .45s ease,color .45s ease,border-color .45s ease,transform .45s ease;transition-delay:var(--d,0s)}
.steps3.go .s3-node{background:var(--cobalt);border-color:var(--cobalt);color:#fff;transform:scale(1.07)}
.s3-day{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--coral)}
.s3-media{border-radius:16px;overflow:hidden;aspect-ratio:16/11;border:1px solid var(--line);margin-bottom:20px;background:var(--paper-2)}
.s3-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.step3:hover .s3-media img{transform:scale(1.05)}
.step3 h3{font-family:'Bricolage Grotesque';font-size:1.42rem;font-weight:600;margin-bottom:9px;letter-spacing:-.01em}
.step3 p{color:var(--ink-soft);line-height:1.6;font-size:.97rem}
@media(max-width:860px){.steps3{grid-template-columns:1fr;gap:0;margin-top:34px}.steps3-line{display:none}.step3{display:grid;grid-template-columns:54px 1fr;gap:20px;padding:24px 0;border-top:1px solid var(--line);align-items:start}.step3 .s3-top{margin:0;display:block}.step3 .s3-day{display:block;margin-top:9px;font-size:.6rem}.s3-media{display:none}}

/* ===== Hoe het werkt — auto-playing player (shared) ===== */
.how{position:relative;background:var(--cobalt);color:#fff;overflow:hidden}
.how-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:60px;align-items:center}
.how .eyebrow{color:#fff}.how .eyebrow::before{background:#fff}
.how h2{color:#fff;font-family:'Bricolage Grotesque';font-weight:700;font-size:clamp(2rem,4.6vw,3.5rem);letter-spacing:-.025em;margin-top:14px}
.how h2 em{color:#fff;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px}
.how-steps{margin-top:32px;display:flex;flex-direction:column;gap:8px}
.how-step{position:relative;overflow:hidden;width:100%;text-align:left;display:grid;grid-template-columns:50px 1fr;gap:18px;align-items:start;padding:18px 20px 20px;border-radius:16px;background:rgba(255,255,255,.04);border:0;color:inherit;font:inherit;cursor:pointer;opacity:.55;transition:opacity .4s,background .4s}
.how-step:hover{opacity:.85}
.how-step.on{opacity:1;background:rgba(255,255,255,.12)}
.how-step .hs-no{width:46px;height:46px;border-radius:50%;border:2px solid rgba(255,255,255,.5);display:grid;place-items:center;font-family:'Bricolage Grotesque';font-weight:700;font-size:1.1rem;transition:.4s}
.how-step.on .hs-no{background:#fff;color:var(--cobalt);border-color:#fff}
.how-step h3{font-family:'Bricolage Grotesque';font-size:1.3rem;font-weight:600;margin-bottom:5px}
.how-step p{font-size:.95rem;line-height:1.55;color:rgba(255,255,255,.85)}
.how-step .hs-day{font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#FFD9CB;margin-top:9px;display:block}
.hs-bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:rgba(255,255,255,.12)}
.hs-bar i{display:block;height:100%;width:0;background:#fff;border-radius:2px}
.how-step.on .hs-bar i{width:100%;transition:width var(--dur,4.2s) linear}
.how-hint{margin-top:18px;font-size:.76rem;color:rgba(255,255,255,.72);display:inline-flex;align-items:center;gap:8px}
.how-device{position:relative;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 50px 120px -40px rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.25)}
.how-chrome{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#efeae1;border-bottom:1px solid rgba(0,0,0,.06)}
.how-chrome .dots{display:flex;gap:6px}.how-chrome .dots i{width:11px;height:11px;border-radius:50%}.how-chrome .dots i:nth-child(1){background:#ff5f57}.how-chrome .dots i:nth-child(2){background:#febc2e}.how-chrome .dots i:nth-child(3){background:#28c840}
.how-chrome .url{margin-left:10px;font-size:.72rem;color:#6b675e;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:6px;padding:5px 12px}
.how-chrome .st{margin-left:auto;font-size:.7rem;font-weight:700;color:var(--cobalt)}
.how-screen{position:relative;height:min(460px,52vh);overflow:hidden;background:#f7f4ee}
.how-state{position:absolute;inset:0;opacity:0;transition:opacity .6s ease}
.how-state.show{opacity:1}
/* state 1 — the real site being painted in */
.s-build{background:#f3f0ea}
.s-build .build-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;clip-path:inset(0 0 100% 0)}
.s-build.show .build-img{animation:bldreveal 4s ease-out forwards}
@keyframes bldreveal{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
.s-build .scan{position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--cobalt),var(--coral));box-shadow:0 0 20px 2px rgba(47,75,255,.7);z-index:2;opacity:0}
.s-build.show .scan{animation:bldscan 4s ease-out forwards}
@keyframes bldscan{0%{top:0;opacity:1}94%{opacity:1}100%{top:100%;opacity:0}}
.bld{position:absolute;left:16px;right:16px;bottom:14px;z-index:3;display:flex;align-items:center;gap:11px}
.bld-bar{flex:1;height:6px;border-radius:3px;background:#ece8e0;overflow:hidden}.bld-bar i{display:block;height:100%;width:6%;background:linear-gradient(90deg,var(--cobalt),var(--coral))}
.s-build.show .bld-bar i{animation:bldbar 4s ease-out forwards}
@keyframes bldbar{from{width:6%}to{width:100%}}
.bld-txt{font-size:.72rem;font-weight:700;color:var(--cobalt);white-space:nowrap;background:rgba(255,255,255,.88);padding:3px 9px;border-radius:6px}
/* state 2 — live, on every device */
.s-live img{width:100%;height:100%;object-fit:cover;object-position:top center}
.live-badge{position:absolute;top:14px;left:14px;background:#16140F;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:7px 13px;border-radius:999px;z-index:2}
.live-badge b{color:#28c840}
.phone{position:absolute;right:18px;bottom:18px;width:92px;height:170px;border-radius:18px;border:5px solid #16140F;overflow:hidden;background:#fff;box-shadow:0 18px 42px rgba(0,0,0,.34);z-index:2}
.phone img{width:100%;height:100%;object-fit:cover;object-position:top}
/* state 3 — yours / the decision */
.s-yours .dim{width:100%;height:100%;object-fit:cover;object-position:top center;filter:brightness(.42) saturate(.92)}
.decide{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:26px;z-index:2}
.decide .dc-h{font-family:'Bricolage Grotesque';font-weight:700;font-size:clamp(1.1rem,2vw,1.5rem);color:#fff;max-width:20ch;line-height:1.12}
.decide .dc-keep{background:var(--coral);color:#fff;font-weight:700;padding:14px 24px;border-radius:999px;font-size:.95rem;box-shadow:0 14px 34px rgba(0,0,0,.3)}
.decide .dc-note{font-size:.78rem;color:rgba(255,255,255,.88)}
@media(max-width:860px){.how-grid{grid-template-columns:1fr;gap:34px}.how-screen{height:280px}}
@media(prefers-reduced-motion:reduce){.blob{display:none}.how-step.on .hs-bar i{transition:none;width:100%}}

/* ===== Hoe het werkt — clean alternating steps (shared) ===== */
.flow{margin-top:54px}
.flow-step{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center;padding:50px 0}
.flow-step+.flow-step{border-top:1px solid var(--line)}
.flow-step.rev .flow-media{order:2}
.flow-media{border-radius:22px;overflow:hidden;aspect-ratio:16/11;border:1px solid var(--line);box-shadow:0 34px 70px -50px rgba(47,40,25,.45)}
.flow-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.flow-step:hover .flow-media img{transform:scale(1.04)}
.flow-no{font-family:'Bricolage Grotesque';font-weight:700;font-size:clamp(3rem,6vw,5rem);line-height:.78;background:linear-gradient(120deg,var(--cobalt),var(--coral));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.flow-day{display:inline-block;margin-top:16px;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--coral)}
.flow-body h3{font-family:'Bricolage Grotesque';font-size:clamp(1.5rem,2.8vw,2.1rem);font-weight:600;margin:6px 0 12px;letter-spacing:-.02em}
.flow-body p{color:var(--ink-soft);font-size:1.06rem;line-height:1.65;max-width:42ch}
@media(max-width:760px){.flow-step{grid-template-columns:1fr;gap:24px;padding:36px 0}.flow-step.rev .flow-media{order:0}}

/* visible alternating band + flow spine (shared) */
.sec-alt{background:#EAE2D2}
.flow{position:relative}
.flow::before{content:"";position:absolute;left:50%;top:70px;bottom:70px;width:2px;background:linear-gradient(var(--cobalt),var(--coral));opacity:.22;transform:translateX(-1px)}
.flow-step::after{content:"";position:absolute;left:50%;top:50%;width:15px;height:15px;border-radius:50%;background:var(--cobalt);border:3px solid var(--paper);transform:translate(-50%,-50%);z-index:3}
.flow-day{border-left:2px solid var(--coral);padding-left:9px}
@media(max-width:760px){.flow::before,.flow-step::after{display:none}}

/* work gallery — Open live hover pill + context (shared) */
.wcard .thumb{position:relative}
.thumb-open{position:absolute;right:13px;bottom:13px;background:var(--cobalt);color:#fff;padding:9px 16px;border-radius:999px;font-size:.82rem;font-weight:700;opacity:0;transform:translateY(8px);transition:.32s cubic-bezier(.16,1,.3,1);z-index:2;pointer-events:none}
.wcard:hover .thumb-open{opacity:1;transform:none}
.wcard .ctx{font-size:.82rem;color:var(--ink-soft);margin-top:3px}

/* FAQ accordion on cobalt background — readable open state */
.sec-cobalt .faq details{border-color:rgba(255,255,255,.22)}
.sec-cobalt .faq summary{color:#fff}
.sec-cobalt .faq summary:hover{color:#fff;opacity:.82}
.sec-cobalt .faq summary .ic{color:#fff}
.sec-cobalt .faq .ans{color:rgba(255,255,255,.88)}

/* service cards — icon badge */
.card .svc-ic{width:50px;height:50px;border-radius:13px;background:rgba(47,75,255,.09);display:grid;place-items:center;color:var(--cobalt);margin-bottom:18px}
.card .svc-ic svg{width:25px;height:25px}

/* ===== Sub-page heroes — two-column (fills the empty right side) ===== */
.page-top.split{min-height:84vh;padding:140px 0 70px;display:flex;align-items:center}
.page-top.split .wrap{display:grid;grid-template-columns:1fr 1.04fr;gap:54px;align-items:center;width:100%}
.page-top.split h1{max-width:15ch}
.page-top.split .lead{max-width:46ch}
.hero-aside{width:100%}
.aside-card{background:var(--paper-2);border:1px solid var(--line);border-radius:22px;padding:34px 32px;box-shadow:0 44px 90px -56px rgba(47,40,25,.5)}
.aside-card .ac-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--coral);display:block;margin-bottom:18px}
.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px}
.checklist li{position:relative;padding-left:34px;font-size:1.02rem;font-weight:500;line-height:1.35}
.checklist li::before{content:"✓";position:absolute;left:0;top:-1px;width:23px;height:23px;border-radius:50%;background:rgba(47,75,255,.1);color:var(--cobalt);display:flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:800}
.ac-foot{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:.94rem;color:var(--ink-soft)}
.ac-foot b{color:var(--ink)}
.ac-link{display:inline-flex;align-items:center;gap:6px;margin-top:20px;font-weight:600;color:var(--cobalt);font-size:.95rem}
.steps-card .sc-row{display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center;padding:15px 0}
.steps-card .sc-row+.sc-row{border-top:1px solid var(--line)}
.sc-no{width:38px;height:38px;border-radius:50%;background:var(--cobalt);color:#fff;display:grid;place-items:center;font-family:'Bricolage Grotesque';font-weight:700;font-size:.92rem}
.steps-card h4{font-family:'Bricolage Grotesque';font-size:1.04rem;font-weight:600;line-height:1.2}
.price-card .pc-big{font-family:'Bricolage Grotesque';font-weight:700;font-size:3.1rem;color:var(--cobalt);line-height:.9;margin-bottom:4px}
.price-card .pc-big span{font-size:1rem;font-weight:600;color:var(--ink-soft)}
.qa-card .qa-q{font-family:'Bricolage Grotesque';font-size:1.25rem;font-weight:600;margin:0 0 12px;letter-spacing:-.01em}
.qa-card .qa-a{color:var(--ink-soft);font-size:1rem;line-height:1.6}
.aside-photo{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/5;border:1px solid var(--line);box-shadow:0 44px 90px -56px rgba(47,40,25,.5)}
.aside-photo img{width:100%;height:100%;object-fit:cover}
.aside-photo .cap{position:absolute;left:16px;bottom:16px;background:rgba(11,12,8,.62);color:#fff;font-size:.78rem;padding:7px 13px;border-radius:999px}
.trust-strip{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:28px}
.trust-strip span{display:inline-flex;align-items:center;gap:9px;font-size:.93rem;font-weight:600;color:var(--ink-soft)}
.trust-strip span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--coral)}
@media(max-width:880px){
  .page-top.split{min-height:0;padding:124px 0 52px;display:block}
  .page-top.split .wrap{grid-template-columns:1fr;gap:30px}
  .aside-photo{aspect-ratio:4/3}
}
