:root{
    --paper:#f7f6f3; --ink:#1d2140; --muted:#6a6f8a; --faint:#a9adc4;
    --sky:#86c3e4; --ocean:#1584ba; --royal:#2b53a8; --indigo:#4a4fa0; --violet:#7b56cb; --peri:#696eb2;
    --accent:#6f74b8; --deep:#1a2140;
    --serif:"Crimson Text",Georgia,serif; --sans:Inter,"Helvetica Neue",Arial,sans-serif;
  }
  html{background:var(--paper);scroll-behavior:auto}
  body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  a{color:inherit;text-decoration:none}
  h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;letter-spacing:-.01em}
  .grain{position:fixed;inset:0;z-index:30;pointer-events:none;opacity:.5;mix-blend-mode:multiply;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.6 0 0 0 0 0.6 0 0 0 0 0.62 0 0 0 .22 0'/></filter><rect width='180' height='180' filter='url(%23n)'/></svg>")}

  /* nav */
  .nav{position:fixed;z-index:20;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;padding:26px 48px;font-size:16px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
  .nav.on-dark{color:#f7f6f3}
  .brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:22px;text-transform:none;letter-spacing:0;transition:color .5s}
  .brand .dot{background:var(--accent)}
  .links{display:flex;align-items:center;gap:34px;color:inherit;opacity:.8}
  .links a:not(.pill):hover{opacity:.6}
  .pill{display:inline-flex;align-items:center;gap:12px;padding:12px 20px;border-radius:999px;background:#fff;color:var(--ink);opacity:1;font-size:16px;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 1px 0 rgba(29,33,64,.06),0 10px 30px rgba(29,33,64,.06);transition:transform .3s,background .3s,color .3s}
  .pill:hover{transform:translateY(-2px)}
  .pill.solid{background:var(--accent);color:#fff}
  .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 6px}

  main{position:relative}
  /* the line */
  .thread{position:absolute;left:0;width:100%;pointer-events:none;z-index:1;overflow:visible}
  .thread path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}
  .thread.hero-lines path{stroke:#fff}
  .thread.how-lines path{stroke:rgba(111,116,184,.4)}
  .thread.quote-lines path{stroke:rgba(255,255,255,.9)}
  .rings{position:absolute;inset:0;pointer-events:none;overflow:hidden}
  .rings svg{position:absolute;inset:0;width:100%;height:100%}
  .rings circle{fill:none;stroke:#fff;stroke-width:1.2;opacity:.2;vector-effect:non-scaling-stroke}

  /* hero */
  .hero{position:relative;min-height:100vh;box-sizing:border-box;padding:0 48px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
  .hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
  .hero-bg .wash{position:absolute;inset:-10%;background:
      radial-gradient(60% 60% at 62% 30%,rgba(134,195,228,.85),transparent 70%),
      radial-gradient(50% 55% at 30% 70%,rgba(123,86,203,.45),transparent 70%),
      radial-gradient(45% 45% at 80% 80%,rgba(21,132,186,.45),transparent 70%),
      linear-gradient(180deg,#eef2f8,#f7f6f3)}
  .hero-bg img{position:absolute;left:50%;top:6%;height:118%;transform:translateX(-32%);filter:blur(18px) saturate(.75) brightness(1.08);opacity:.85;mix-blend-mode:multiply}
  .hero-bg .fade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(247,246,243,0) 45%,rgba(236,239,247,.55) 80%,#e9edf6 100%)}
  .hero-inner{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:60px;padding-bottom:12vh}
  .hero h1{font-size:clamp(64px,9vw,136px);line-height:.98;max-width:9ch;color:var(--ink)}
  .hero h1 em{font-style:italic;color:var(--indigo)}
  .hero-side{display:flex;flex-direction:column;align-items:flex-start;gap:26px;max-width:38ch;padding-bottom:16px}
  .hero-side p{margin:0;color:var(--ink);opacity:.85}
  .textlink{display:inline-flex;align-items:center;gap:12px;font-size:16px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
  .textlink:hover .dot{transform:translateX(6px)} .textlink .dot{transition:transform .3s}

  /* switch */
  .switch{height:260vh;position:relative}
  .switch-stage{position:sticky;top:0;height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
  .fog{position:absolute;inset:-10%;background:
      radial-gradient(55% 60% at 40% 40%,rgba(134,195,228,.75),transparent 70%),
      radial-gradient(50% 50% at 70% 65%,rgba(123,86,203,.5),transparent 70%),
      radial-gradient(40% 40% at 60% 20%,rgba(105,110,178,.5),transparent 70%),
      linear-gradient(180deg,#e9edf6,#f0f0f5)}
  .fog img{position:absolute;left:50%;top:56%;width:70vw;max-width:900px;transform:translate(-50%,-50%);filter:blur(70px) saturate(.55);opacity:.42;mix-blend-mode:multiply}
  .fogtop{position:absolute;inset:0;background:linear-gradient(180deg,#e9edf6 0%,rgba(233,237,246,.7) 30%,rgba(233,237,246,0) 70%)}
  .switch-copy{position:relative;z-index:6;display:flex;flex-direction:column;align-items:center;gap:34px;padding:0 48px;max-width:980px}
  .switch-copy h2{font-family:var(--sans);font-weight:500;font-size:clamp(28px,3.2vw,46px);line-height:1.15;letter-spacing:-.02em;color:var(--ink)}
  .switch-copy .a,.switch-copy .b{position:absolute;left:0;right:0;top:0;padding:0 48px}
  .switch-copy .a h2{color:#fff}
  .switch-copy .b{opacity:0}
  .switch-copy .sub{color:rgba(255,255,255,.85)}
  .switch-copy .stack{position:relative;width:100%;min-height:250px}
  .switch-copy .sub{margin:0;color:var(--muted);font-size:17px;line-height:1.7}
  .knob{width:64px;height:34px;border-radius:999px;background:rgba(29,33,64,.12);position:relative;transition:background .4s}
  .knob::after{content:"";position:absolute;top:4px;left:4px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(29,33,64,.15);transition:transform .4s}
  .knob.on{background:var(--accent)} .knob.on::after{transform:translateX(30px)}
  .knobrow{position:relative;display:flex;align-items:center;justify-content:center;width:100%}
  .knob-label{position:absolute;right:calc(50% + 50px);white-space:nowrap;font-size:16px;letter-spacing:.12em;text-transform:uppercase;color:#fff;opacity:0;transition:opacity .5s}
  .knobrow.live .knob-label{opacity:.9}
  .knob.dot{background:transparent} .knob.dot::after{transform:translateX(15px) scale(1.25);box-shadow:none}
  .switch-copy{gap:28px}

  /* paths (tall cards) */
  .section{padding:16vh 48px}
  .eyebrow{display:flex;align-items:center;gap:12px;font-size:16px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 28px}
  .eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}
  .cards{display:flex;gap:16px}
  .card{position:relative;flex:1 1 0;min-width:0;aspect-ratio:3/4.4;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;box-sizing:border-box;color:#fff;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
  .card:hover{transform:translateY(-8px)}
  .card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
  .card:hover img{transform:scale(1.05)}
  .card .tint{position:absolute;inset:0;mix-blend-mode:multiply;opacity:.85}
  .card .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,33,64,0) 40%,rgba(26,33,64,.7) 100%)}
  .card .body{position:relative;display:flex;flex-direction:column;gap:12px}
  .card h3{font-size:clamp(28px,2.3vw,38px);line-height:1.05}
  .card p{margin:0;font-size:16px;line-height:1.55;color:rgba(255,255,255,.85);max-width:30ch}
  .card .textlink{color:#fff;margin-top:8px}
  .c1 img{filter:blur(6px) saturate(.7) brightness(1.1)} .c1 .tint{background:linear-gradient(180deg,#86c3e4,#1584ba)}
  .c2 img{filter:blur(10px) saturate(.6) brightness(1.05)} .c2 .tint{background:linear-gradient(180deg,#696eb2,#4a4fa0)}
  .c3 img{filter:blur(8px) saturate(.7) brightness(1.02)} .c3 .tint{background:linear-gradient(180deg,#7b56cb,#2b53a8)}

  /* philosophy */
  .philo{display:flex;justify-content:center;padding:18vh 48px}
  .philo h2{font-family:var(--sans);font-weight:500;font-size:clamp(34px,4.4vw,64px);line-height:1.12;letter-spacing:-.02em;max-width:22ch;text-align:center;color:var(--ink)}
  .philo h2 .w{display:inline-block;color:var(--faint)}
  .philo h2 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--accent)}

  /* studio collage */
  .studio{display:flex;align-items:center;gap:80px}
  .collage{position:relative;flex:0 0 46%;min-height:640px}
  .collage img{position:absolute;border-radius:6px;object-fit:cover;box-shadow:0 30px 80px rgba(29,33,64,.14)}
  .collage .p1{left:0;top:0;width:62%;aspect-ratio:3/4;filter:saturate(.8)}
  .collage .p2{right:0;bottom:0;width:55%;aspect-ratio:4/5;filter:blur(1.5px) saturate(.65) brightness(1.05);mix-blend-mode:multiply}
  .studio-copy{flex:1 1 0;display:flex;flex-direction:column;align-items:flex-start;gap:24px}
  .studio-copy h2{font-size:clamp(40px,4.6vw,72px);line-height:1.02}
  .studio-copy p{margin:0;color:var(--muted);max-width:48ch}

  /* how it works */
  .how{position:relative;height:380vh}
  .how-stage{position:sticky;top:0;height:100vh;box-sizing:border-box;padding:0 48px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
  .how-title{position:relative;z-index:2;font-size:clamp(56px,9vw,150px);line-height:.95;color:var(--ink);margin-bottom:6vh}
  .how-row{position:relative;z-index:2;display:flex;align-items:flex-start;gap:60px;min-height:34vh}
  .how-nums{position:relative;flex:0 0 32%;height:34vh}
  .num{position:absolute;left:0;top:0;font-family:var(--serif);font-size:clamp(140px,20vw,300px);line-height:.85;color:var(--accent);opacity:0;transform:translateY(40px)}
  .how-steps{position:relative;flex:1 1 0;height:34vh}
  .step{position:absolute;left:0;top:0;width:100%;opacity:0;transform:translateY(24px);display:flex;flex-direction:column;gap:16px}
  .step h3{font-size:clamp(34px,3.6vw,58px);line-height:1.05}
  .step p{margin:0;color:var(--muted);max-width:46ch;font-size:18px}

  /* pricing */
  .pricing-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px;margin-bottom:56px}
  .pricing-head h2{font-size:clamp(40px,4.6vw,72px);line-height:1.02;max-width:18ch}
  .pricing-head h2 .ring{position:relative;display:inline-block;padding:0 .1em}
  .pricing-head h2 .ring svg{position:absolute;left:-8%;top:-18%;width:116%;height:140%;overflow:visible}
  .pricing-head h2 .ring path{fill:none;stroke:var(--accent);stroke-width:1.6;vector-effect:non-scaling-stroke}
  .pricing-head p{margin:0;color:var(--muted);max-width:52ch}
  .regions{display:inline-flex;gap:6px;padding:6px;background:#fff;border-radius:999px;box-shadow:0 1px 0 rgba(29,33,64,.06),0 10px 30px rgba(29,33,64,.06)}
  .regions button{appearance:none;border:0;background:transparent;font:500 16px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 18px;border-radius:999px;cursor:pointer;transition:background .3s,color .3s}
  .regions button[aria-pressed="true"]{background:var(--ink);color:#fff}
  .plans{display:flex;gap:16px}
  .plan{flex:1 1 0;min-width:0;background:#fff;border-radius:10px;padding:36px 34px 38px;box-sizing:border-box;display:flex;flex-direction:column;gap:16px;box-shadow:0 1px 0 rgba(29,33,64,.05),0 20px 50px rgba(29,33,64,.06);transition:transform .5s}
  .plan:hover{transform:translateY(-6px)}
  .plan h3{font-size:34px;line-height:1.1}
  .plan .desc{margin:0;color:var(--muted);font-size:16px;min-height:52px}
  .plan .price{display:flex;align-items:baseline;gap:10px;margin:8px 0 6px}
  .plan .amount{font-family:var(--serif);font-size:clamp(40px,3.4vw,56px);line-height:1;color:var(--accent)}
  .plan .unit{font-size:16px;color:var(--muted)}
  .plan .was{font-size:16px;color:var(--faint);text-decoration:line-through}
  .plan ul{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:12px;color:var(--ink);font-size:16px}
  .plan li{display:flex;align-items:center;gap:12px}
  .plan li::before{content:"";width:16px;height:16px;border-radius:50%;border:1px solid var(--accent);flex:0 0 16px;background:radial-gradient(circle,var(--accent) 0 3px,transparent 3.5px)}
  .plan .pill{align-self:flex-start;margin-top:auto}

  /* quote band */
  .quote{position:relative;margin-top:10vh;padding:26vh 48px 24vh;color:#f7f6f3;overflow:hidden;border-radius:50% 50% 0 0 / 160px 160px 0 0}
  .quote .bg{position:absolute;inset:0;background:var(--deep)}
  .quote .bg img{position:absolute;inset:-5%;width:110%;height:110%;object-fit:cover;filter:blur(22px) saturate(.5) brightness(.55);opacity:.9}
  .quote .bg::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 60% 40%,rgba(134,195,228,.22),transparent 70%),linear-gradient(180deg,rgba(26,33,64,.3),rgba(26,33,64,.85))}
  .quote-inner{position:relative;z-index:6;display:flex;flex-direction:column;gap:30px;max-width:1100px}
  .quote h2{font-size:clamp(44px,6vw,96px);line-height:1.02}
  .quote h2 em{font-style:italic;color:var(--sky)}
  .quote p{margin:0;font-size:16px;letter-spacing:.08em;text-transform:uppercase;color:rgba(247,246,243,.6)}

  /* cta + footer */
  .cta{display:flex;flex-direction:column;align-items:center;text-align:center;gap:34px;padding:22vh 48px 16vh}
  .cta h2{font-size:clamp(48px,7vw,112px);line-height:1;max-width:14ch}
  .cta h2 em{font-style:italic;color:var(--accent)}
  .cta p{margin:0;color:var(--muted);max-width:44ch}
  footer{display:flex;justify-content:space-between;align-items:center;padding:36px 48px 40px;font-size:16px;color:var(--muted);border-top:1px solid rgba(29,33,64,.08)}
  footer .brand{font-size:20px;color:var(--ink)}

  @media (max-width:820px){
    .nav{padding:20px 22px}.links a:not(.pill){display:none}
    .hero{padding:0 22px}.hero-inner{flex-direction:column;align-items:flex-start;gap:30px;padding-bottom:10vh}.hero h1{font-size:clamp(52px,14vw,96px)}
    .hero-bg img{transform:translateX(-50%);top:0;height:100%}
    .section,.philo,.cta{padding-left:22px;padding-right:22px}
    .switch-copy,.switch-copy .a,.switch-copy .b{padding:0 22px}
    .cards{flex-direction:column}.card{flex:none;aspect-ratio:4/5}
    .studio{flex-direction:column;gap:40px}.collage{flex:none;width:100%;min-height:420px}.collage .p1{width:64%}.collage .p2{width:56%}
    .how-stage{padding:0 22px}.how-title{font-size:clamp(48px,13vw,96px)}.how-row{flex-direction:column;gap:20px;min-height:0}
    .how-nums{flex:none;height:26vw}.num{font-size:34vw}.how-steps{flex:none;width:100%;height:auto;min-height:260px}
    .plans{flex-direction:column}.regions{flex-wrap:wrap;justify-content:center}
    .quote{padding:18vh 22px 16vh;border-radius:50% 50% 0 0 / 80px 80px 0 0}
    footer{flex-direction:column;align-items:flex-start;gap:14px;padding:30px 22px}
  }
  @media (prefers-reduced-motion: reduce){
    .num,.step{opacity:1;transform:none;position:static}
    .philo h2 .w{color:var(--ink)} .switch-copy .a{display:none} .switch-copy .b{opacity:1}
    #thread{display:none}
  }
