/* ==========================================================================
   MORFIST DESIGN SYSTEM v3 — glass on meadow
   Loaded after styles.css + premium.css. Everything is scoped to body.v3.
   ========================================================================== */
@font-face{font-family:"Jakarta";src:url('assets/jakarta-var.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:"GeistMono";src:url('assets/geist-mono-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:"GeistMono";src:url('assets/geist-mono-500.woff2') format('woff2');font-weight:500;font-display:swap}

:root{
  /* — Colour: Morfist plate tuned to the plush meadow — */
  --ink:#1E1830; --ink-2:#4A4160; --ink-3:#7A7190;
  --plum:#4A3B66; --dusk:#8A7FA8; --haze:#C9BFD9; --mist:#EEE8F3; --cloud:#FBF9FC;
  --orchid:#D5A1BE; --violet:#A978E3; --indigo:#655DE8; --coral:#F49C8E;
  --t-create:#F49C8E; --t-commerce:#A978E3; --t-cognition:#655DE8; --t-command:#3A3192;
  --grad-brand:linear-gradient(135deg,#7B6CF0 0%,#A978E3 55%,#E59AB4 100%);

  /* — Glass — */
  --glass:rgba(255,255,255,.44);
  --glass-strong:rgba(255,255,255,.62);
  --glass-dark:rgba(38,28,62,.38);
  --glass-edge:rgba(255,255,255,.72);
  --glass-blur:blur(22px) saturate(165%);
  --glass-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 1px 2px rgba(48,30,80,.06),0 22px 50px -22px rgba(64,40,110,.38);

  /* — Type scale (1.25) — */
  --font:"Jakarta",system-ui,sans-serif; --mono:"GeistMono",ui-monospace,monospace;
  --fs-12:12px; --fs-14:14px; --fs-16:16px; --fs-18:18px; --fs-22:22px; --fs-28:28px;
  --fs-40:clamp(32px,3.2vw,40px); --fs-56:clamp(40px,4.6vw,60px); --fs-hero:clamp(52px,7.4vw,112px);

  /* — Spacing (4pt) — */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px; --s9:96px; --s10:128px;
  --gutter:clamp(16px,4vw,56px); --container:1240px;

  /* — Radius — */
  --r-sm:12px; --r-md:20px; --r-lg:28px; --r-xl:36px; --r-pill:999px;

  --ease:cubic-bezier(.22,1,.36,1);
}

/* ---------- Base ---------- */
body.v3{font-family:var(--font);color:var(--ink);font-size:var(--fs-16);line-height:1.6;letter-spacing:-.005em;-webkit-font-smoothing:antialiased}
.v3 h1,.v3 h2,.v3 h3{font-family:var(--font);font-weight:600;letter-spacing:-.035em;line-height:1.04;text-wrap:balance}
.v3 h2{font-size:var(--fs-56)}
.v3 h3{font-size:var(--fs-22);letter-spacing:-.02em;line-height:1.25}
.v3 p{font-size:var(--fs-16);line-height:1.65;color:var(--ink-2);letter-spacing:0;max-width:56ch}
.v3 .eyebrow,.v3 .mono,.v3 .label{font-family:var(--mono);font-weight:500;font-size:var(--fs-12);letter-spacing:.06em;text-transform:uppercase;line-height:1.4;margin:0}

/* ---------- World (meadow + ambient mesh after hero) ---------- */
.v3 .world-layer{background:
  radial-gradient(48% 42% at 12% 18%,rgba(213,161,190,.55),transparent 70%),
  radial-gradient(42% 46% at 88% 22%,rgba(169,120,227,.45),transparent 70%),
  radial-gradient(50% 50% at 78% 92%,rgba(244,156,142,.35),transparent 70%),
  radial-gradient(50% 55% at 10% 88%,rgba(101,93,232,.30),transparent 72%),
  #E7DFEE!important}
.v3 .environment-shade{background:linear-gradient(rgba(40,28,64,.34),transparent 52%)}

/* ---------- Primitives ---------- */
.v3 .glass{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);border-radius:var(--r-lg)}
.v3 .container{width:min(var(--container),100% - 2*var(--gutter));margin-inline:auto}

.v3 .pill{display:inline-flex;align-items:center;gap:var(--s2);height:32px;padding:0 var(--s3) 0 var(--s2);border-radius:var(--r-pill);background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);font-family:var(--mono);font-size:var(--fs-12);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.v3 .pill .dot{width:8px;height:8px;border-radius:50%;background:var(--indigo);box-shadow:0 0 0 3px rgba(101,93,232,.18)}
.v3 .pill.on-dark{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.35);color:#fff}

/* Buttons */
.v3 .button{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);height:52px;min-height:0;padding:0 var(--s5);border-radius:var(--r-pill);font-family:var(--font);font-size:var(--fs-16);font-weight:600;letter-spacing:-.01em;text-transform:none;line-height:1;border:1px solid transparent;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .25s}
.v3 .button span{font-size:var(--fs-18);line-height:1}
.v3 .button.primary,.v3 .button.ink{background:var(--grad-brand);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 14px 30px -12px rgba(101,93,232,.65)}
.v3 .button.primary:hover,.v3 .button.ink:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 20px 36px -12px rgba(101,93,232,.75)}
.v3 .button.outline,.v3 .button.ghost{background:var(--glass-strong);color:var(--ink);border-color:var(--glass-edge);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow)}
.v3 .button.outline:hover,.v3 .button.ghost:hover{transform:translateY(-2px);background:rgba(255,255,255,.8)}
.v3 .button.on-dark{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
.v3 .button.on-dark:hover{background:rgba(255,255,255,.26)}
.v3 .text-link{display:inline-flex;align-items:center;gap:var(--s2);font-family:var(--font);font-size:var(--fs-14);font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink)}
.v3 .text-link span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font-size:var(--fs-14);transition:transform .3s var(--ease)}
.v3 .text-link:hover span{transform:rotate(45deg)}

/* Chips / tags */
.v3 .tags{display:flex;flex-wrap:wrap;gap:var(--s2);font-family:var(--font);text-transform:none;letter-spacing:0}
.v3 .tags span{margin:0!important;padding:6px var(--s3)!important;border:1px solid rgba(255,255,255,.75)!important;border-radius:var(--r-pill)!important;background:rgba(255,255,255,.5);font-size:var(--fs-14);font-weight:500;color:var(--ink)}

/* Section header pattern */
.v3 .sec{position:relative;padding:var(--s10) 0}
.v3 .sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s6);margin-bottom:var(--s7)}
.v3 .sec-head h2{margin-top:var(--s4)}
.v3 .sec-head p{margin-top:var(--s3)}

/* ---------- Header: floating glass bar ---------- */
.v3 .site-header{position:fixed!important;top:var(--s4);left:50%;transform:translateX(-50%);width:min(var(--container),100% - 2*var(--gutter));height:64px;padding:0 var(--s2) 0 var(--s5);display:flex;align-items:center;justify-content:space-between;gap:var(--s5);border-radius:var(--r-pill);background:rgba(255,255,255,.28);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid rgba(255,255,255,.55);box-shadow:var(--glass-shadow);color:var(--ink)!important;z-index:50}
.v3 .site-header .wordmark{color:var(--ink)!important;font-family:var(--font);font-size:22px;font-weight:700;letter-spacing:-.05em;gap:var(--s2)}
.v3 .site-header .wordmark .brand-symbol{width:22px;color:var(--indigo)}
.v3 .site-header nav{display:flex;gap:var(--s1);font-size:var(--fs-14);font-weight:500}
.v3 .site-header nav a{padding:10px var(--s4);border-radius:var(--r-pill);transition:background .2s}
.v3 .site-header nav a:hover{background:rgba(255,255,255,.55)}
.v3 .site-header .nav-cta{height:48px;padding:0 var(--s5);font-size:var(--fs-14)}
.v3 .menu-toggle{display:none}

/* ---------- Hero ---------- */
.v3 .film-hero{display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}
.v3 .hero-inner{display:flex;flex-direction:column;align-items:center;gap:var(--s5);margin-top:-24vh;padding:0 var(--gutter)}
.v3 .hero-inner h1{font-size:var(--fs-hero);font-weight:600;letter-spacing:-.05em;line-height:.98;max-width:12ch;color:#fff;text-shadow:0 2px 30px rgba(40,25,70,.25)}
.v3 .hero-inner p{color:rgba(255,255,255,.88);font-size:var(--fs-18);max-width:44ch}
.v3 .hero-actions{display:flex;gap:var(--s3);flex-wrap:wrap;justify-content:center;margin-top:var(--s2)}
.v3 .hero-dock{position:absolute;left:50%;bottom:var(--s6);transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s2);padding:var(--s2);border-radius:var(--r-lg);background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.4);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);width:min(860px,100% - 2*var(--gutter));text-align:left}
.v3 .dock-item{display:flex;align-items:center;gap:var(--s3);padding:var(--s3);border-radius:var(--r-md);color:#fff;transition:background .25s}
.v3 .dock-item:hover{background:rgba(255,255,255,.18)}
.v3 .dock-item .chip-icon{flex:none;width:40px;height:40px;border-radius:var(--r-sm);display:grid;place-items:center;background:rgba(255,255,255,.22)}
.v3 .dock-item .chip-icon .brand-symbol{width:20px;color:#fff}
.v3 .dock-item b{display:block;font-size:var(--fs-14);font-weight:600}
.v3 .dock-item small{display:block;font-size:var(--fs-12);opacity:.78}

/* ---------- Manifesto ---------- */
.v3 .manifesto-sticky{padding:0 var(--gutter);display:flex;align-items:center;min-height:100svh}
.v3 .manifesto-copy{width:min(520px,100%);max-width:none;padding:var(--s7)}
.v3 .manifesto-copy h2{font-size:var(--fs-56);margin:var(--s4) 0 var(--s4)}
.v3 .manifesto-copy>p{font-size:var(--fs-18);margin:0;max-width:40ch}
.v3 .pieces{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);margin-top:var(--s6)}
.v3 .piece{display:flex;gap:var(--s3);align-items:center;padding:var(--s4);border-radius:var(--r-md);background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.8)}
.v3 .piece i{flex:none;width:12px;height:24px;border-radius:0 12px 12px 0;background:var(--c)}
.v3 .piece b{display:block;font-size:var(--fs-16);font-weight:600;line-height:1.2}
.v3 .piece small{display:block;font-size:var(--fs-12);color:var(--ink-3);font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
.v3 .chapter-note{display:none}

/* ---------- Services (sticky chapters) ---------- */
.v3 .services-topline{top:calc(var(--s4) + 64px + var(--s6))}
.v3 .services-topline>.mono{font-family:var(--mono)}
.v3 .service-chapter{width:min(500px,42vw);max-width:none;padding:var(--s7);background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);border-radius:var(--r-xl)}
.v3 .service-chapter>.eyebrow{display:inline-flex;align-items:center;gap:var(--s2);margin:0 0 var(--s5)}
.v3 .service-chapter>.eyebrow:before{content:'';width:10px;height:20px;border-radius:0 10px 10px 0;background:var(--c,var(--indigo))}
.v3 #pillar-create{--c:var(--t-create)} .v3 #pillar-commerce{--c:var(--t-commerce)} .v3 #pillar-cognition{--c:var(--t-cognition)} .v3 #pillar-command{--c:var(--t-command)}
.v3 .service-chapter h2{font-size:var(--fs-40);max-width:none}
.v3 .service-chapter>p{font-size:var(--fs-16);margin-top:var(--s4)}
.v3 .service-chapter .tags{margin-top:var(--s5);max-width:none}
.v3 .service-chapter>.text-link{margin-top:var(--s6)}
.v3 .chapter-nav{left:var(--gutter);right:auto;bottom:var(--s6);gap:var(--s1);padding:var(--s1);border-radius:var(--r-pill);background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow)}
.v3 .chapter-nav a{min-width:0;padding:10px var(--s4);gap:var(--s2);border-radius:var(--r-pill);font-size:var(--fs-14);font-weight:600;opacity:.6;overflow:hidden}
.v3 .chapter-nav a.active{opacity:1;background:#fff}
.v3 .chapter-nav a i{left:var(--s4);right:var(--s4);width:auto;bottom:4px;height:2px;background:transparent}
.v3 .chapter-nav a i:after{height:2px;border-radius:2px;background:var(--grad-brand)}
.v3 .chapter-nav .mono{font-size:11px}

/* ---------- Work (bento) ---------- */
.v3 .work{background:transparent!important;padding:var(--s10) 0!important}
.v3 .work-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:var(--s5)}
.v3 .work-card{display:flex;flex-direction:column;padding:var(--s3);border-radius:var(--r-xl);background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);transition:transform .5s var(--ease)}
.v3 .work-card:hover{transform:translateY(-6px)}
.v3 .work-art{height:420px;border-radius:var(--r-lg);overflow:hidden;position:relative}
.v3 .identity-art{background-color:#D9C8E6;background-size:72%;background-position:105% 10%}
.v3 .identity-art .art-word{font-family:var(--font);font-size:var(--fs-40);font-weight:600;letter-spacing:-.04em;color:var(--ink)}
.v3 .commerce-art{background:linear-gradient(150deg,#3B2F5E,#26203A)}
.v3 .art-meta,.v3 .work-view,.v3 .art-bottom{font-family:var(--mono);font-size:11px;letter-spacing:.06em}
.v3 .work-caption{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s4);margin:0;padding:var(--s5) var(--s4) var(--s2)}
.v3 .work-caption .eyebrow{color:var(--ink-3);margin-bottom:var(--s2)}
.v3 .work-caption h3{font-size:var(--fs-22)}
.v3 .work-caption>span{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;transition:transform .3s var(--ease)}
.v3 .work-card:hover .work-caption>span{transform:rotate(45deg)}
.v3 .work-card>p{padding:0 var(--s4) var(--s4);font-size:var(--fs-14);margin:0}

/* ---------- Process ---------- */
.v3 .process{background:transparent!important;color:var(--ink)!important;padding:var(--s9) 0!important}
.v3 .process h2{font-weight:600;color:var(--ink)}
.v3 .process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4);border:0;margin:0}
.v3 .process-grid article{padding:var(--s6) var(--s5);border:1px solid var(--glass-edge)!important;border-radius:var(--r-lg);background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow);min-height:0}
.v3 .process-grid .mono{display:inline-flex;height:28px;align-items:center;padding:0 var(--s3);border-radius:var(--r-pill);background:#fff;color:var(--ink);font-family:var(--mono);font-size:var(--fs-12)}
.v3 .process-mark{margin:var(--s6) 0 var(--s5);height:44px;color:var(--violet)}
.v3 .process-mark .brand-symbol{width:44px}
.v3 .process-grid h3{font-size:var(--fs-22);color:var(--ink)}
.v3 .process-grid p{font-size:var(--fs-14);color:var(--ink-2);margin-top:var(--s2)}

/* ---------- Pricing ---------- */
.v3 .pricing{background:transparent!important;padding:var(--s9) 0!important}
.v3 .pricing-controls{display:inline-flex;gap:var(--s1);padding:var(--s1);margin:0 0 var(--s6);border:1px solid var(--glass-edge)!important;border-radius:var(--r-pill)!important;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow)}
.v3 .pricing-controls button{height:44px;padding:0 var(--s5)!important;border:0!important;border-radius:var(--r-pill);font-family:var(--font);font-size:var(--fs-14);font-weight:600;color:var(--ink-2)!important;background:transparent!important;text-transform:none;letter-spacing:0}
.v3 .pricing-controls button.active{background:#fff!important;color:var(--ink)!important;box-shadow:0 4px 14px -6px rgba(64,40,110,.35)}
.v3 .price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
.v3 .price-card{display:flex;flex-direction:column;padding:var(--s6)!important;border:1px solid var(--glass-edge)!important;border-radius:var(--r-xl)!important;background:var(--glass)!important;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow)}
.v3 .price-card.featured{background:linear-gradient(160deg,rgba(101,93,232,.88),rgba(169,120,227,.82) 60%,rgba(229,154,180,.8))!important;color:#fff;border-color:rgba(255,255,255,.45)!important}
.v3 .price-card.featured p,.v3 .price-card.featured li,.v3 .price-card.featured .eyebrow,.v3 .price-card.featured strong{color:#fff}
.v3 .price-card.featured .price-symbol{color:#fff}
.v3 .price-card.featured .button{background:#fff;color:var(--ink);box-shadow:0 14px 30px -14px rgba(30,20,60,.5)}
.v3 .price-symbol{height:40px;margin-bottom:var(--s5);color:var(--indigo)}
.v3 .price-symbol .brand-symbol{width:40px}
.v3 .price-card .eyebrow{color:var(--ink-3);margin-bottom:var(--s2)}
.v3 .price-card h3{font-size:var(--fs-28)}
.v3 .price-card>p{font-size:var(--fs-14);margin-top:var(--s3)}
.v3 .price-card strong{display:block;margin:var(--s5) 0 var(--s4);padding:var(--s4) 0 0;border-top:1px solid rgba(30,24,48,.1);font-size:var(--fs-18);font-weight:600;letter-spacing:-.02em}
.v3 .price-card.featured strong{border-top-color:rgba(255,255,255,.3)}
.v3 .price-card ul{display:grid;gap:var(--s2);margin:0 0 var(--s6);flex:1}
.v3 .price-card li{font-size:var(--fs-14);color:var(--ink-2);padding-left:var(--s5);position:relative}
.v3 .price-card li:before{content:'';position:absolute;left:0;top:5px;width:7px;height:14px;border-radius:0 8px 8px 0;background:currentColor;opacity:.55}
.v3 .price-card .button{width:100%}
.v3 .pricing-note{margin-top:var(--s5);font-size:var(--fs-14);color:var(--ink-3)}

/* ---------- FAQ ---------- */
.v3 .faq{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:var(--s5);padding:var(--s9) 0!important;background:transparent!important;width:min(var(--container),100% - 2*var(--gutter));margin-inline:auto}
.v3 .faq-intro{padding:var(--s7);align-self:start;position:sticky;top:120px}
.v3 .faq-intro h2{font-size:var(--fs-40);margin:var(--s4) 0}
.v3 .faq-intro .button{margin-top:var(--s5)}
.v3 .faq-list{display:grid;gap:var(--s3);border:0}
.v3 .faq-list details{border:1px solid var(--glass-edge)!important;border-radius:var(--r-md);background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow);padding:0}
.v3 .faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:var(--s4);padding:var(--s5);font-size:var(--fs-18);font-weight:600;letter-spacing:-.015em;cursor:pointer;list-style:none}
.v3 .faq-list summary::-webkit-details-marker{display:none}
.v3 .faq-list details p{padding:0 var(--s5) var(--s5);font-size:var(--fs-16);margin:0}
.v3 .faq-icon i{background:var(--indigo)}

/* ---------- Final CTA ---------- */
.v3 .final-sticky{display:flex;align-items:center;padding:0 var(--gutter);min-height:100svh}
.v3 .final-copy{width:min(560px,100%);padding:var(--s8) var(--s7);display:flex;flex-direction:column;align-items:flex-start;gap:var(--s5)}
.v3 .final-copy h2{font-size:var(--fs-56);margin:0}
.v3 .final-copy .button{margin:0}
.v3 .final-copy .email-link{font-family:var(--mono);font-size:var(--fs-14);color:var(--ink-2)}
.v3 .final-note{display:none}

/* ---------- Footer ---------- */
.v3 footer{background:transparent!important;color:var(--ink)!important;padding:0 0 var(--s5)!important}
.v3 .footer-shell{width:min(var(--container),100% - 2*var(--gutter));margin-inline:auto;padding:var(--s7);border-radius:var(--r-xl);background:rgba(30,24,48,.82);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid rgba(255,255,255,.12);color:#EDE7F6;box-shadow:0 30px 70px -30px rgba(30,20,60,.6)}
.v3 .footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--s6);padding:0 0 var(--s7);border:0}
.v3 .footer-top p{color:rgba(237,231,246,.75);font-size:var(--fs-18)}
.v3 .footer-top div{display:grid;gap:var(--s3);align-content:start;font-size:var(--fs-14)}
.v3 .footer-top a:hover{color:#fff}
.v3 .footer-word{display:flex;align-items:center;justify-content:space-between;font-family:var(--font);font-size:clamp(64px,14vw,200px);font-weight:700;letter-spacing:-.07em;line-height:.85;color:#fff;padding:var(--s5) 0;border-top:1px solid rgba(255,255,255,.12)}
.v3 .footer-word>.brand-symbol{width:clamp(56px,10vw,150px);color:var(--orchid)}
.v3 .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--s4);padding-top:var(--s5);border-top:1px solid rgba(255,255,255,.12);font-family:var(--mono);font-size:var(--fs-12);letter-spacing:.06em;color:rgba(237,231,246,.6)}
.v3 #motion{height:36px;padding:0 var(--s4);border-radius:var(--r-pill);background:rgba(255,255,255,.1);color:#EDE7F6;font-family:var(--mono);font-size:var(--fs-12)}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .v3 .process-grid{grid-template-columns:1fr 1fr}
  .v3 .hero-dock{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .v3 .price-grid,.v3 .work-grid{grid-template-columns:1fr}
  .v3 .faq{grid-template-columns:1fr}
  .v3 .faq-intro{position:relative;top:auto}
  .v3 .footer-top{grid-template-columns:1fr 1fr}
  .v3 .footer-top>p{grid-column:1/-1}
}
@media (max-width:767px){
  :root{--s10:96px;--s9:72px}
  .v3 .site-header{height:56px;top:var(--s3);padding:0 var(--s1) 0 var(--s4)}
  .v3 .site-header nav{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;padding:var(--s2);border-radius:var(--r-lg);background:rgba(255,255,255,.85);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow)}
  .v3 .site-header nav.open{display:flex}
  .v3 .site-header nav a{padding:var(--s4)}
  .v3 .site-header .nav-cta{display:none}
  .v3 .menu-toggle{display:inline-flex;align-items:center;height:44px;padding:0 var(--s4);border-radius:var(--r-pill);background:var(--ink);color:#fff;font-size:var(--fs-14);font-weight:600}
  .v3 .hero-inner{margin-top:-22vh}
  .v3 .hero-dock{bottom:var(--s4);grid-template-columns:1fr 1fr;padding:var(--s1)}
  .v3 .dock-item{padding:var(--s2)}
  .v3 .dock-item small{display:none}
  .v3 .manifesto-copy,.v3 .final-copy{padding:var(--s6) var(--s5)}
  .v3 .manifesto-sticky{align-items:flex-start;padding-top:96px}
  .v3 .service-chapter{width:auto;left:var(--s4)!important;right:var(--s4);top:auto!important;bottom:96px;padding:var(--s5)}
  .v3 .service-chapter h2{font-size:30px}
  .v3 .service-chapter>p{display:none}
  .v3 .chapter-nav{left:var(--s4);right:var(--s4);bottom:var(--s4);justify-content:space-between}
  .v3 .chapter-nav a{padding:10px var(--s2);font-size:12px}
  .v3 .chapter-nav .mono{display:none}
  .v3 .process-grid{grid-template-columns:1fr}
  .v3 .work-art{height:300px}
  .v3 .sec-head{flex-direction:column;align-items:flex-start}
  .v3 .final-sticky{align-items:flex-end;padding-bottom:var(--s5)}
  .v3 .footer-shell{padding:var(--s6) var(--s5)}
  .v3 .footer-top{grid-template-columns:1fr}
  .v3 .footer-bottom{flex-wrap:wrap}
}
@media (prefers-reduced-transparency:reduce){
  .v3 .glass,.v3 .service-chapter,.v3 .price-card,.v3 .work-card,.v3 .process-grid article,.v3 .faq-list details{background:rgba(251,249,252,.94)!important;-webkit-backdrop-filter:none;backdrop-filter:none}
}

/* ---------- Fixes ---------- */
.v3 .site-header nav a{color:var(--ink)!important;opacity:1!important}
.v3 .identity-art{background-size:58%;background-position:92% 40%}
.v3 .identity-art .art-word{position:absolute;left:var(--s5);bottom:var(--s5);max-width:60%}
.v3 .art-meta{position:absolute;left:var(--s5);top:var(--s5)}
.v3 .hero-dock{background:rgba(40,28,64,.26)}
.v3 .button.on-dark{background:rgba(40,28,64,.28)}
@media (max-width:767px){
  .v3 .pricing-controls{display:flex;width:100%}
  .v3 .pricing-controls button{flex:1;padding:0 var(--s2)!important;font-size:13px}
  .v3 .identity-art .art-word{font-size:28px}
  .v3 .hero-inner p{font-size:var(--fs-16)}
}

/* ==========================================================================
   v4 — premium layer: clean nav, hero glass card, morph buttons, spotlight
   ========================================================================== */
@property --ang{syntax:'<angle>';inherits:false;initial-value:0deg}

/* Brand morph icon: two half-discs that turn 90° and part on hover */
.v3 .morph{display:inline-flex;align-items:center;justify-content:center;gap:0;flex:none;width:18px;height:18px;transition:transform .6s var(--ease),gap .6s var(--ease)}
.v3 .morph i{display:block;width:7px;height:14px;background:currentColor;transition:border-radius .6s var(--ease)}
.v3 .morph i:first-child{border-radius:0 14px 14px 0}
.v3 .morph i:last-child{border-radius:14px 0 0 14px}
.v3 a:hover>.morph,.v3 .work-card:hover .morph,.v3 .button:hover .morph{transform:rotate(90deg);gap:3px}

/* ---- Header ---- */
.v3 .site-header{height:60px;padding:0 6px 0 20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.32);box-shadow:inset 0 1px 0 rgba(255,255,255,.35);transition:background .4s var(--ease),box-shadow .4s var(--ease),border-color .4s}
.v3 .site-header.scrolled{background:rgba(250,248,253,.66);border-color:rgba(255,255,255,.8);box-shadow:var(--glass-shadow)}
.v3 .site-header .wordmark{font-size:20px}
.v3 .site-header nav{position:absolute;left:50%;transform:translateX(-50%);gap:var(--s5)}
.v3 .site-header nav a{position:relative;padding:8px 2px;background:none!important;font-size:var(--fs-14);font-weight:500;color:var(--ink)!important;opacity:.78!important;transition:opacity .25s}
.v3 .site-header nav a:after{content:'';position:absolute;left:50%;bottom:2px;width:4px;height:4px;border-radius:50%;background:currentColor;transform:translateX(-50%) scale(0);transition:transform .35s var(--ease)}
.v3 .site-header nav a:hover{opacity:1!important}
.v3 .site-header nav a:hover:after{transform:translateX(-50%) scale(1)}
.v3 .site-header .nav-cta{height:46px;padding:0 6px 0 20px;gap:12px;font-size:var(--fs-14)}

/* ---- Buttons ---- */
.v3 .button{position:relative;overflow:hidden;isolation:isolate;height:54px;padding:0 26px;gap:14px;font-size:15px;font-weight:600;letter-spacing:-.005em;transition:transform .5s var(--ease),box-shadow .5s var(--ease),background .4s,color .4s}
.v3 .button .label{position:relative;z-index:2}
.v3 .button:before{content:'';position:absolute;inset:0;z-index:1;border-radius:inherit;background:radial-gradient(140px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.28),transparent 65%);opacity:0;transition:opacity .4s;pointer-events:none}
.v3 .button:hover:before{opacity:1}
.v3 .button:hover{transform:none}
/* primary + nav: ink pill, gradient orb grows from the icon */
.v3 .button.primary,.v3 .button.ink,.v3 .button.nav-cta{background:linear-gradient(180deg,#2A2244,#17122A);color:#fff;border:1px solid rgba(255,255,255,.14);padding-right:6px;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 16px 34px -16px rgba(23,18,42,.7)}
.v3 .button.primary .morph,.v3 .button.ink .morph,.v3 .button.nav-cta .morph{position:relative;z-index:2;width:42px;height:42px;color:#fff}
.v3 .button.nav-cta .morph{width:34px;height:34px}
.v3 .button.primary:after,.v3 .button.ink:after,.v3 .button.nav-cta:after{content:'';position:absolute;z-index:0;right:6px;top:50%;width:42px;height:42px;border-radius:50%;background:var(--grad-brand);transform:translateY(-50%);transition:transform .7s var(--ease)}
.v3 .button.nav-cta:after{width:34px;height:34px}
.v3 .button.primary:hover:after,.v3 .button.ink:hover:after,.v3 .button.nav-cta:hover:after{transform:translateY(-50%) scale(9)}
.v3 .button.primary:hover,.v3 .button.ink:hover,.v3 .button.nav-cta:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 22px 44px -16px rgba(101,93,232,.75)}
/* ghost: clear glass */
.v3 .button.ghost,.v3 .button.outline{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
.v3 .button.ghost:hover,.v3 .button.outline:hover{background:rgba(255,255,255,.3)}
.v3 .sec .button.ghost,.v3 .faq .button.ghost,.v3 .price-card .button.outline{background:rgba(255,255,255,.62);color:var(--ink);border-color:rgba(255,255,255,.9);box-shadow:var(--glass-shadow)}
.v3 .price-card .button.outline:hover,.v3 .faq .button.ghost:hover{background:#fff}
.v3 .price-card .button{justify-content:space-between;padding-left:24px}
.v3 .price-card.featured .button.ink{background:#fff;color:var(--ink)}
.v3 .price-card.featured .button.ink .morph{color:#fff}
.v3 .button.magnetic{transition:transform .35s cubic-bezier(.2,.9,.3,1.2),box-shadow .5s var(--ease)}

/* text links */
.v3 .text-link{gap:12px}
.v3 .text-link .morph{display:inline-flex!important;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff}
.v3 .text-link .morph i{width:6px;height:12px}

/* ---- Spotlight cards ---- */
.v3 .card:not(.service-chapter){position:relative}
.v3 .card:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(460px circle at var(--mx,-999px) var(--my,-999px),rgba(255,255,255,.32),transparent 45%);opacity:0;transition:opacity .5s}
.v3 .card:before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;background:radial-gradient(320px circle at var(--mx,-999px) var(--my,-999px),rgba(169,120,227,.95),rgba(244,156,142,.6) 35%,transparent 65%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .5s}
.v3 .card:hover:after,.v3 .card:hover:before{opacity:1}
.v3 .card>*{position:relative;z-index:1}

/* ---- Hero ---- */
.v3 .film-hero{justify-content:flex-start;align-items:center;text-align:left;padding:0 var(--gutter)}
.v3 .hero-card{width:min(540px,100%);padding:var(--s7);border-radius:var(--r-xl);background:linear-gradient(160deg,rgba(40,30,70,.34),rgba(40,30,70,.18));-webkit-backdrop-filter:blur(26px) saturate(150%);backdrop-filter:blur(26px) saturate(150%);border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 40px 90px -40px rgba(30,20,60,.65);color:#fff;margin-top:4vh;display:flex;flex-direction:column;gap:var(--s5)}
.v3 .hero-card .pill{align-self:flex-start;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3);color:#fff}
.v3 .hero-card .pill .dot{background:var(--coral);box-shadow:0 0 0 3px rgba(244,156,142,.25)}
.v3 .hero-card h1{font-size:clamp(46px,5.4vw,80px);font-weight:600;letter-spacing:-.05em;line-height:.98;color:#fff;margin:0}
.v3 .hero-card>p{color:rgba(255,255,255,.82);font-size:var(--fs-16);max-width:38ch}
.v3 .hero-card .hero-actions{justify-content:flex-start;margin:0}
.v3 .hero-meta{display:flex;gap:var(--s5);padding-top:var(--s5);border-top:1px solid rgba(255,255,255,.18);font-family:var(--mono);font-size:var(--fs-12);letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.v3 .hero-meta span{display:inline-flex;align-items:center;gap:var(--s2)}
.v3 .hero-meta span:before{content:'';width:6px;height:12px;border-radius:0 6px 6px 0;background:rgba(255,255,255,.6)}
.v3 .hero-scroll{position:absolute;right:var(--gutter);bottom:var(--s6);display:flex;align-items:center;gap:var(--s3);font-family:var(--mono);font-size:var(--fs-12);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.v3 .hero-scroll span{position:relative;width:1px;height:40px;background:rgba(255,255,255,.3);overflow:hidden}
.v3 .hero-scroll span:after{content:'';position:absolute;left:0;top:-14px;width:1px;height:14px;background:#fff;animation:scroll-drip 2.2s var(--ease) infinite}
@keyframes scroll-drip{to{top:40px}}
.v3 .hero-dock{display:none}

/* grass moves even without WebGL */
html:not(.webgl-ready) body.v3 .environment-art{filter:url(#wind)}

/* ---- Manifesto pieces ---- */
.v3 .piece{transition:transform .5s var(--ease),background .4s}
.v3 .piece:hover{transform:translateY(-3px);background:rgba(255,255,255,.85)}

/* ---- Services ---- */
.v3 .services-topline{display:none}

/* ---- Work ---- */
.v3 .work-art{transition:transform .8s var(--ease)}
.v3 .work-card{overflow:hidden}
.v3 .work-card:hover{transform:translateY(-6px)}
.v3 .work-card:hover .identity-art{background-size:62%}
.v3 .morph.chip{width:42px;height:42px;border-radius:50%;background:var(--ink);color:#fff}
.v3 .work-caption>span:not(.morph){display:block;width:auto;height:auto;background:none;border-radius:0;color:inherit}

/* ---- Process ---- */
.v3 .process-grid article{overflow:hidden}
.v3 .step-no{position:absolute!important;top:14px;right:22px;font-size:72px;font-weight:700;letter-spacing:-.06em;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(101,93,232,.32)}
.v3 .process-grid .mono{background:rgba(255,255,255,.75)}

/* ---- Pricing ---- */
.v3 .price-card.featured{box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 40px 80px -36px rgba(101,93,232,.85)}
.v3 .price-card{transition:transform .5s var(--ease)}
.v3 .price-card:hover{transform:translateY(-6px)}

/* ---- Final CTA: living gradient border ---- */
.v3 .final-copy:before{opacity:1;padding:1.5px;background:conic-gradient(from var(--ang),transparent 0 55%,#A978E3 70%,#F49C8E 80%,#655DE8 90%,transparent 100%);animation:ring-spin 7s linear infinite}
@keyframes ring-spin{to{--ang:360deg}}
.v3 .final-copy .email-link{font-family:var(--mono);font-size:var(--fs-14);color:var(--ink-2);user-select:all}

@media (max-width:767px){
  .v3 .film-hero{align-items:flex-start;padding-top:88px}
  .v3 .hero-card{padding:var(--s5);gap:var(--s4);margin-top:0}
  .v3 .hero-card h1{font-size:44px}
  .v3 .hero-card .hero-actions .button{flex:1}
  .v3 .hero-meta,.v3 .hero-scroll{display:none}
  .v3 .site-header nav{position:absolute;left:0;transform:none}
  .v3 .step-no{font-size:56px}
}
@media (prefers-reduced-motion:reduce){
  .v3 .final-copy:before{animation:none}
  html:not(.webgl-ready) body.v3 .environment-art{filter:none}
  .v3 .hero-scroll span:after{animation:none}
}
.v3 .button .label{font-family:var(--font);font-size:15px;font-weight:600;text-transform:none;letter-spacing:-.005em;line-height:1;white-space:nowrap}
.v3 .button.nav-cta .label{font-size:var(--fs-14)}
.v3 .button .label{display:inline-block;width:auto;height:auto;border:0;border-radius:0;background:none}
.v3 .button .morph{border:0;background:none;border-radius:50%}
.v3 .button:hover .label{transform:none}

/* ==========================================================================
   v5 — compact hero, themed tabs, scroll choreography
   ========================================================================== */
/* Compact hero card */
.v3 .film-hero{perspective:1200px}
.v3 .hero-card{width:min(430px,100%);padding:var(--s6);gap:var(--s4);border-radius:var(--r-lg);margin-top:8vh;transform-origin:50% 0;will-change:transform,opacity,filter}
.v3 .hero-card h1{font-size:clamp(38px,3.9vw,58px);letter-spacing:-.045em}
.v3 .hero-card>p{font-size:15px;line-height:1.6}
.v3 .hero-card .button{height:48px;font-size:14px}
.v3 .hero-card .button .label{font-size:14px}
.v3 .hero-card .button.primary .morph{width:38px;height:38px}
.v3 .hero-card .button.primary:after{width:38px;height:38px;right:5px}
.v3 .hero-card .button.primary{padding-right:5px}
.v3 .hero-card .pill{height:28px;font-size:11px}

/* Scroll progress */
.v3 .scroll-progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:60;background:var(--grad-brand);transform:scaleX(0);transform-origin:0 50%;pointer-events:none}

/* Themed tabs: shared look for service chapters and pricing */
.v3 .chapter-nav,.v3 .pricing-controls{gap:2px;padding:5px;border-radius:var(--r-pill);background:rgba(255,255,255,.3);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid rgba(255,255,255,.6)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 18px 40px -22px rgba(64,40,110,.45)}
.v3 .chapter-nav a,.v3 .pricing-controls button{position:relative;display:inline-flex;align-items:center;gap:var(--s2);height:42px;padding:0 var(--s4)!important;border-radius:var(--r-pill);font-family:var(--font);font-size:14px;font-weight:600;letter-spacing:-.01em;text-transform:none;color:var(--ink-2)!important;opacity:1;background:transparent!important;transition:background .45s var(--ease),color .3s,box-shadow .45s var(--ease)}
.v3 .chapter-nav a:hover,.v3 .pricing-controls button:hover{color:var(--ink)!important;background:rgba(255,255,255,.45)!important}
.v3 .chapter-nav a.active,.v3 .pricing-controls button.active{background:linear-gradient(180deg,#2A2244,#17122A)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 10px 22px -10px rgba(23,18,42,.7)}
.v3 .chapter-nav .mono{display:none}
.v3 .chapter-nav a:before{content:'';flex:none;width:7px;height:14px;border-radius:0 8px 8px 0;background:var(--c);transition:transform .5s var(--ease)}
.v3 .chapter-nav a:nth-child(1){--c:var(--t-create)} .v3 .chapter-nav a:nth-child(2){--c:var(--t-commerce)} .v3 .chapter-nav a:nth-child(3){--c:var(--t-cognition)} .v3 .chapter-nav a:nth-child(4){--c:#8F86F2}
.v3 .chapter-nav a.active:before{transform:rotate(90deg)}
.v3 .chapter-nav a i{left:14px;right:14px;bottom:5px;height:2px;border-radius:2px;background:rgba(255,255,255,.14)}
.v3 .chapter-nav a:not(.active) i{opacity:0}
.v3 .chapter-nav a i:after{height:2px;border-radius:2px;background:var(--grad-brand)}

/* Service chapter card: depth while switching */
.v3 .service-chapter{transition:filter .2s linear}

/* Split heading words */
.js-reveal .v3 .split .w,.js-reveal body.v3 .split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.js-reveal body.v3 .split .w>span{display:inline-block;transform:translateY(105%) rotate(4deg);opacity:0;filter:blur(6px);transition:transform 1s var(--ease) var(--d),opacity .8s var(--ease) var(--d),filter .8s var(--ease) var(--d)}
.js-reveal body.v3 .split.in .w>span{transform:none;opacity:1;filter:none}

/* Reveal system */
.js-reveal body.v3 .rv{opacity:0;transform:translateY(48px) scale(.97);filter:blur(10px);transition:opacity 1s var(--ease) calc(var(--i,0)*110ms),transform 1.1s var(--ease) calc(var(--i,0)*110ms),filter 1s var(--ease) calc(var(--i,0)*110ms)}
.js-reveal body.v3 .rv.rv-tilt{transform:perspective(1000px) translateY(80px) rotateX(16deg) scale(.95);transform-origin:50% 100%}
.js-reveal body.v3 .rv.rv-side{transform:translateX(40px);filter:blur(6px)}
.js-reveal body.v3 .rv.in{opacity:1;transform:var(--tilt,none);filter:none}
.js-reveal body.v3 .rv.in.rv-tilt,.js-reveal body.v3 .rv.in{transition:opacity 1s var(--ease) calc(var(--i,0)*110ms),transform .6s var(--ease),filter 1s var(--ease) calc(var(--i,0)*110ms)}
.v3 .work-card:hover,.v3 .price-card:hover{transform:var(--tilt,none)}

/* Marquee band */
.v3 .marquee{position:relative;overflow:hidden;padding:var(--s7) 0;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.v3 .mq-track{display:flex;align-items:center;gap:var(--s6);width:max-content;will-change:transform}
.v3 .mq-word{font-size:clamp(56px,8vw,128px);font-weight:600;letter-spacing:-.05em;line-height:1;color:var(--ink);white-space:nowrap}
.v3 .mq-word.outline{color:transparent;-webkit-text-stroke:1.5px rgba(30,24,48,.5)}
.v3 .marquee .morph{width:56px;height:56px;color:var(--violet)}
.v3 .marquee .morph i{width:22px;height:44px}
.v3 .marquee .morph:nth-of-type(4n+2){color:var(--coral)} .v3 .marquee .morph:nth-of-type(4n+3){color:var(--indigo)}

@media (max-width:767px){
  .v3 .hero-card{margin-top:0;padding:var(--s5)}
  .v3 .chapter-nav a{padding:0 10px!important;font-size:12px;height:38px}
  .v3 .chapter-nav a:before{display:none}
  .v3 .marquee .morph{width:36px;height:36px}.v3 .marquee .morph i{width:14px;height:28px}
}

/* ==========================================================================
   v6 — type scale, section rhythm, soft buttons, blended nav
   ========================================================================== */
@font-face{font-family:"InstrumentSerif";src:url('assets/instrument-serif-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
:root{
  --serif:"InstrumentSerif",Georgia,serif;
  --accent-ink:#6E52D9;
  --section:clamp(96px,10vw,144px);
  --head-gap:56px;
  --card-pad:32px;
  --grad-soft:linear-gradient(135deg,#8C7CF5 0%,#A984EC 48%,#E7A3C4 100%);
}

/* ---- Typography ---- */
body.v3{font-size:17px}
.v3 h1,.v3 h2,.v3 h3{color:var(--ink);font-weight:600}
.v3 h2{font-size:clamp(36px,3.7vw,54px);line-height:1.04;letter-spacing:-.035em}
.v3 h3{font-size:22px;line-height:1.25;letter-spacing:-.02em}
.v3 p{font-size:17px;line-height:1.7;color:var(--ink-2)}
.v3 em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em;font-size:1.08em;line-height:.9;color:var(--accent-ink)}
.v3 em .w>span{font-family:inherit}
.v3 .hero-card h1{font-size:clamp(40px,4.1vw,60px);letter-spacing:-.045em;line-height:1}
.v3 .hero-card h1 em{color:#FBE9F6}
.v3 .hero-card>p{font-size:16px;color:rgba(255,255,255,.84)}
.v3 .service-chapter h2{font-size:clamp(30px,2.8vw,40px)}
.v3 .manifesto-copy h2,.v3 .final-copy h2{font-size:clamp(36px,3.6vw,52px)}
.v3 .faq-intro h2{font-size:clamp(32px,3vw,44px)}
.v3 .work-card>p,.v3 .process-grid p,.v3 .price-card>p,.v3 .price-card li,.v3 .faq-list details p{font-size:15px;line-height:1.65}
.v3 .price-card h3{font-size:26px}

/* Eyebrows: quiet label with a half-disc, no box, no numbers */
.v3 .pill{height:auto;padding:0;background:none!important;border:0!important;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.14em;color:var(--ink-3)}
.v3 .pill .dot{width:6px;height:12px;border-radius:0 6px 6px 0;background:var(--violet)!important;box-shadow:none!important}
.v3 .hero-card .pill{color:rgba(255,255,255,.78)}
.v3 .hero-card .pill .dot{background:var(--coral)!important}
.v3 .service-chapter>.eyebrow{font-size:11.5px;letter-spacing:.14em;color:var(--ink-3)}
.v3 .eyebrow{letter-spacing:.12em}

/* ---- Section rhythm ---- */
.v3 .work,.v3 .process,.v3 .pricing,.v3 .faq{padding-block:calc(var(--section)*.5)!important}
.v3 .work{padding-top:calc(var(--section)*.35)!important}
.v3 .marquee{padding-block:calc(var(--section)*.5) calc(var(--section)*.35)}
.v3 .sec-head{margin-bottom:var(--head-gap);gap:var(--s7)}
.v3 .sec-head h2{margin-top:var(--s4)}
.v3 .sec-head>p,.v3 .sec-head>div>p{max-width:38ch;margin:0}
.v3 .sec-head>div:last-child:not(:first-child){display:flex;flex-direction:column;gap:var(--s4);align-items:flex-start}
.v3 .manifesto-copy,.v3 .final-copy,.v3 .faq-intro{padding:var(--s7)}
.v3 .manifesto-copy h2,.v3 .final-copy h2{margin:var(--s4) 0}
.v3 .faq-intro h2{margin:var(--s4) 0 var(--s3)}
.v3 .service-chapter{padding:40px}
.v3 .service-chapter>p{margin-top:var(--s4)}
.v3 .service-chapter .tags{margin-top:var(--s5)}
.v3 .service-chapter>.text-link{margin-top:var(--s6)}
.v3 .work-grid,.v3 .price-grid{gap:var(--s5)}
.v3 .process-grid{gap:var(--s5)}
.v3 .process-grid article{padding:var(--card-pad)}
.v3 .process-mark{margin:0 0 var(--s6)}
.v3 .price-card{padding:var(--card-pad)!important}
.v3 .pricing-controls{margin-bottom:var(--s6)}
.v3 .pricing-note{margin-top:var(--s5)}
.v3 .work-art{height:380px}
.v3 .work-caption{padding:var(--s5) var(--s4) var(--s2)}
.v3 .faq{gap:var(--s5)}
.v3 .faq-list{gap:var(--s3)}
.v3 .faq-list summary{font-size:17px;padding:22px var(--s5)}
.v3 footer{padding-top:calc(var(--section)*.5)!important}

/* ---- Soft, joyful buttons ---- */
@keyframes btn-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes btn-breathe{0%,100%{box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -10px 18px rgba(110,82,217,.18),0 12px 28px -12px rgba(140,110,240,.55)}50%{box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -10px 18px rgba(110,82,217,.18),0 16px 36px -10px rgba(231,163,196,.7)}}
.v3 .button.primary,.v3 .button.ink,.v3 .button.nav-cta{background:var(--grad-soft);background-size:180% 180%;color:#fff;border:1px solid rgba(255,255,255,.4);text-shadow:0 1px 1px rgba(80,50,140,.25);animation:btn-breathe 4.5s ease-in-out infinite}
.v3 .button.primary:hover,.v3 .button.ink:hover,.v3 .button.nav-cta:hover{animation:btn-flow 3s ease infinite,btn-breathe 4.5s ease-in-out infinite}
.v3 .button.primary:after,.v3 .button.ink:after,.v3 .button.nav-cta:after{background:rgba(255,255,255,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.v3 .button.primary:hover:after,.v3 .button.ink:hover:after,.v3 .button.nav-cta:hover:after{transform:translateY(-50%) scale(9);background:rgba(255,255,255,.12)}
.v3 .button:active{transform:scale(.97)!important;transition-duration:.12s}
.v3 .button.ghost,.v3 .button.outline{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.5);color:#fff}
.v3 .sec .button.ghost,.v3 .faq .button.ghost,.v3 .price-card .button.outline{background:rgba(255,255,255,.7);color:var(--ink);border-color:#fff}
.v3 .price-card.featured .button.ink{background:#fff;color:var(--ink);text-shadow:none;animation:none}
.v3 .price-card.featured .button.ink:after{background:var(--grad-soft)}
.v3 .text-link .morph{background:var(--grad-soft)}

/* Tabs follow the button language */
.v3 .chapter-nav a.active,.v3 .pricing-controls button.active{background:var(--grad-soft)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 10px 22px -10px rgba(140,110,240,.7)}
.v3 .chapter-nav a.active:before{background:#fff}
.v3 .chapter-nav a i{background:rgba(255,255,255,.3)}
.v3 .chapter-nav a i:after{background:#fff}

/* ---- Nav that blends into the hero ---- */
.v3 .site-header{transition:background .5s var(--ease),border-color .5s,box-shadow .5s,-webkit-backdrop-filter .5s,backdrop-filter .5s,height .5s var(--ease)}
.v3 .site-header:not(.scrolled){background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;height:72px}
.v3 .site-header:not(.scrolled) .wordmark,.v3 .site-header:not(.scrolled) nav a{color:#fff!important;text-shadow:0 1px 12px rgba(40,25,70,.35)}
.v3 .site-header:not(.scrolled) .wordmark .brand-symbol{color:#fff}
.v3 .site-header:not(.scrolled) nav a{opacity:.86!important}
.v3 .site-header:not(.scrolled) .nav-cta{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.35);animation:none}
.v3 .site-header:not(.scrolled) .nav-cta:after{background:var(--grad-soft)}

@media (max-width:767px){
  .v3 .manifesto-copy,.v3 .final-copy,.v3 .faq-intro,.v3 .service-chapter{padding:var(--s5)}
  :root{--head-gap:40px;--card-pad:24px}
  .v3 .site-header:not(.scrolled) .menu-toggle{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.5)}
}
@media (prefers-reduced-motion:reduce){.v3 .button{animation:none!important}}

/* ==========================================================================
   v7 — Histora display, category colours, island nav, calm cards
   ========================================================================== */
@font-face{font-family:"Histora";src:url('assets/histora.ttf') format('truetype');font-weight:400;font-display:swap}
:root{
  --display:"Histora",Georgia,serif;
  --c-create:#F2A08F; --c-commerce:#B38AEA; --c-cognition:#8C86F2; --c-command:#5B50C8;
  --calm-card:linear-gradient(160deg,rgba(255,255,255,.66),rgba(255,255,255,.38));
  --calm-edge:rgba(255,255,255,.78);
  --calm-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 30px 60px -42px rgba(80,52,140,.42);
}

/* Display type: Histora for every title, Jakarta for reading */
.v3 h1,.v3 h2,.v3 h3,.v3 .mq-word,.v3 .footer-word,.v3 .art-word,.v3 .concept-flow{font-family:var(--display)!important;font-weight:400!important}
.v3 h1,.v3 h2{letter-spacing:-.02em;line-height:1.06}
.v3 h3{letter-spacing:-.01em;line-height:1.2}
.v3 .hero-card h1{font-size:clamp(42px,4.3vw,64px);letter-spacing:-.025em;line-height:1.02}
.v3 h2{font-size:clamp(38px,3.8vw,56px)}
.v3 .service-chapter h2{font-size:clamp(32px,3vw,44px)}
.v3 h3{font-size:24px}
.v3 .price-card h3{font-size:28px}
.v3 em{font-family:var(--display);font-style:normal;font-size:1em;line-height:inherit;letter-spacing:inherit;color:var(--accent-ink)}
.v3 .hero-card h1 em{color:#F8DDF0}
.v3 .footer-word{letter-spacing:-.03em;font-size:clamp(64px,13vw,190px)}
.v3 .mq-word{letter-spacing:-.02em}
.v3 .mq-word.outline{-webkit-text-stroke:1.2px rgba(30,24,48,.45)}
.v3 .piece b,.v3 .faq-list summary{font-family:var(--font);font-weight:600}

/* Category colour wiring */
.v3 #pillar-create,.v3 .chapter-nav a:nth-child(1){--c:var(--c-create)}
.v3 #pillar-commerce,.v3 .chapter-nav a:nth-child(2){--c:var(--c-commerce)}
.v3 #pillar-cognition,.v3 .chapter-nav a:nth-child(3){--c:var(--c-cognition)}
.v3 #pillar-command,.v3 .chapter-nav a:nth-child(4){--c:var(--c-command)}
.v3 .logo-tile[data-tile="0"]{filter:hue-rotate(-22deg) saturate(1.25) brightness(1.06)}
.v3 .logo-tile[data-tile="1"]{filter:hue-rotate(22deg) saturate(1.1)}
.v3 .logo-tile[data-tile="2"]{filter:hue-rotate(48deg) saturate(1.25)}
.v3 .logo-tile[data-tile="3"]{filter:hue-rotate(58deg) saturate(1.45) brightness(.76)}
.v3 .piece:nth-child(1){--c:var(--c-create)} .v3 .piece:nth-child(2){--c:var(--c-commerce)} .v3 .piece:nth-child(3){--c:var(--c-cognition)} .v3 .piece:nth-child(4){--c:var(--c-command)}

/* ---- Island nav: logo, links and action float as three glass pieces ---- */
.v3 .site-header,.v3 .site-header.scrolled,.v3 .site-header:not(.scrolled){background:transparent!important;border-color:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;height:60px;padding:0}
.v3 .site-header .wordmark,.v3 .site-header nav,.v3 .site-header .nav-cta{transition:background .5s var(--ease),color .4s,border-color .5s,box-shadow .5s}
.v3 .site-header .wordmark{height:48px;padding:0 18px 0 14px;border-radius:var(--r-pill);background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.4);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);color:#fff!important;text-shadow:none!important}
.v3 .site-header nav{gap:2px;padding:4px;border-radius:var(--r-pill);background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.4);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}
.v3 .site-header nav a{padding:9px 16px!important;border-radius:var(--r-pill);color:#fff!important;opacity:.9!important;text-shadow:none!important;transition:background .3s,color .3s}
.v3 .site-header nav a:after{display:none}
.v3 .site-header nav a:hover{background:rgba(255,255,255,.22)!important;opacity:1!important}
.v3 .site-header .wordmark .brand-symbol{color:#fff!important}
.v3 .site-header.scrolled .wordmark,.v3 .site-header.scrolled nav{background:rgba(255,255,255,.62);border-color:rgba(255,255,255,.9);box-shadow:var(--calm-shadow);color:var(--ink)!important}
.v3 .site-header.scrolled nav a{color:var(--ink-2)!important}
.v3 .site-header.scrolled nav a:hover{background:#fff!important;color:var(--ink)!important}
.v3 .site-header.scrolled .wordmark .brand-symbol{color:var(--indigo)!important}
.v3 .site-header .wordmark .brand-symbol i:nth-child(1){color:var(--c-create)} 
.v3 .site-header .nav-cta{height:48px}
.v3 .site-header:not(.scrolled) .nav-cta{background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.45)}

/* Coloured logo marks: each tile its category colour */
.v3 .brand-symbol i:nth-child(1){color:var(--c-create)} .v3 .brand-symbol i:nth-child(2){color:var(--c-commerce)}
.v3 .brand-symbol i:nth-child(3){color:var(--c-cognition)} .v3 .brand-symbol i:nth-child(4){color:var(--c-command)}
.v3 .brand-symbol b{background:currentColor}
.v3 .site-header:not(.scrolled) .brand-symbol i{color:#fff}

/* ---- Calm cards: one soft surface everywhere ---- */
.v3 .glass,.v3 .card,.v3 .service-chapter,.v3 .work-card,.v3 .price-card,.v3 .process-grid article,.v3 .faq-list details{background:var(--calm-card)!important;border:1px solid var(--calm-edge)!important;box-shadow:var(--calm-shadow)!important}
.v3 .hero-card{background:linear-gradient(160deg,rgba(40,30,70,.30),rgba(40,30,70,.14))!important;border-color:rgba(255,255,255,.28)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 40px 80px -40px rgba(30,20,60,.55)!important}
.v3 .card:before{display:none}
.v3 .card:after{background:radial-gradient(420px circle at var(--mx,-999px) var(--my,-999px),rgba(255,255,255,.22),transparent 50%)}
.v3 .service-chapter{background:radial-gradient(120% 70% at 0% 0%,color-mix(in srgb,var(--c) 20%,transparent),transparent 60%),var(--calm-card)!important}
.v3 .service-chapter>.eyebrow:before{background:var(--c)}
.v3 .service-chapter .tags span{background:rgba(255,255,255,.6);border-color:color-mix(in srgb,var(--c) 35%,#fff)!important}
.v3 .service-chapter .text-link .morph{background:var(--c)}
.v3 .piece{background:rgba(255,255,255,.6);border-color:rgba(255,255,255,.9)}

/* Work: both studies on light, quiet art */
.v3 .commerce-art{background:radial-gradient(90% 80% at 80% 20%,rgba(179,138,234,.35),transparent 60%),linear-gradient(160deg,#EFE6F8,#DCD0EE)!important;color:var(--ink)}
.v3 .commerce-art .concept-flow,.v3 .commerce-art .art-meta,.v3 .commerce-art .art-bottom,.v3 .commerce-art .concept-label{color:var(--ink)!important;border-color:rgba(30,24,48,.25)!important}
.v3 .commerce-art .concept-flow>div{border-color:rgba(30,24,48,.15)!important}
.v3 .commerce-art .concept-flow .brand-symbol{transform:rotate(8deg)}
.v3 .identity-art{background-color:#EADFF3!important}
.v3 .art-meta,.v3 .art-bottom{color:var(--ink-3)}
.v3 .morph.chip{background:#fff;color:var(--ink);box-shadow:0 6px 16px -8px rgba(60,40,110,.4)}

/* Process: quiet numbers */
.v3 .step-no{font-family:var(--display);font-size:56px;-webkit-text-stroke:0;color:rgba(110,82,217,.14);top:18px;right:24px}
.v3 .process-mark{color:var(--c-commerce)}

/* Pricing: featured is soft, not loud */
.v3 .price-card.featured{background:radial-gradient(120% 60% at 50% 0%,rgba(179,138,234,.32),transparent 70%),var(--calm-card)!important;border-color:rgba(179,138,234,.55)!important;color:var(--ink)}
.v3 .price-card.featured p,.v3 .price-card.featured li,.v3 .price-card.featured .eyebrow,.v3 .price-card.featured strong{color:inherit}
.v3 .price-card.featured p,.v3 .price-card.featured li{color:var(--ink-2)}
.v3 .price-card.featured .eyebrow{color:var(--accent-ink)}
.v3 .price-card.featured .price-symbol{color:var(--indigo)}
.v3 .price-card.featured strong{border-top-color:rgba(30,24,48,.1)}
.v3 .price-card.featured .button.ink{background:var(--grad-soft);color:#fff;animation:btn-breathe 4.5s ease-in-out infinite}
.v3 .price-card.featured .button.ink:after{background:rgba(255,255,255,.24)}
.v3 .price-symbol{color:var(--indigo)}

/* Tabs: calm white active with category indicator */
.v3 .chapter-nav,.v3 .pricing-controls{background:rgba(255,255,255,.42)}
.v3 .chapter-nav a.active,.v3 .pricing-controls button.active{background:#fff!important;color:var(--ink)!important;box-shadow:0 8px 20px -10px rgba(80,52,140,.45)!important}
.v3 .chapter-nav a.active:before{background:var(--c)}
.v3 .chapter-nav a i{background:rgba(30,24,48,.08)}
.v3 .chapter-nav a i:after{background:var(--c)}

/* Footer: deep plum, softer */
.v3 .footer-shell{background:linear-gradient(160deg,rgba(58,46,92,.9),rgba(38,30,62,.92))}
.v3 .footer-word>.brand-symbol i{opacity:.9}

@media (max-width:767px){
  .v3 .site-header nav{display:none}
  .v3 .site-header nav.open{display:flex;background:rgba(255,255,255,.92)!important}
  .v3 .site-header nav.open a{color:var(--ink)!important}
}
.v3 .logo-tile[data-tile="0"]{filter:hue-rotate(16deg) saturate(1.15) brightness(1.08)}
.v3 .logo-tile[data-tile="1"]{filter:hue-rotate(-28deg) saturate(1.05)}
.v3 .logo-tile[data-tile="2"]{filter:hue-rotate(-62deg) saturate(1.2)}
.v3 .logo-tile[data-tile="3"]{filter:hue-rotate(-70deg) saturate(1.5) brightness(.74)}

/* ==========================================================================
   v8 — consistent tile colours, roomier services, calmer motion, simpler cards
   ========================================================================== */
/* Services: more scroll room per chapter on every screen height */
.v3 .film-services{height:max(560svh,3600px)!important}

/* Work: brand study uses the same four coloured plush tiles */
.v3 .identity-art{background-image:none!important;background-color:#EADFF3!important}
.v3 .plush-mark{position:absolute;right:6%;top:50%;width:min(46%,300px);aspect-ratio:1;transform:translateY(-50%) rotate(-6deg);display:grid;grid-template-columns:1fr 1fr;transition:transform .9s var(--ease)}
.v3 .plush-mark i{background:url('assets/plush-logo.png') no-repeat;background-size:200% 200%}
.v3 .plush-mark i:nth-child(1){background-position:0 0;filter:hue-rotate(16deg) saturate(1.15) brightness(1.08)}
.v3 .plush-mark i:nth-child(2){background-position:100% 0;filter:hue-rotate(-28deg) saturate(1.05)}
.v3 .plush-mark i:nth-child(3){background-position:0 100%;filter:hue-rotate(-62deg) saturate(1.2)}
.v3 .plush-mark i:nth-child(4){background-position:100% 100%;filter:hue-rotate(-70deg) saturate(1.5) brightness(.74)}
.v3 .work-card:hover .plush-mark{transform:translateY(-50%) rotate(0deg) scale(1.04)}
.v3 .work-card .eyebrow{display:none}
.v3 .work-caption{align-items:center}

/* Calmer button motion */
.v3 .button.primary,.v3 .button.ink,.v3 .button.nav-cta{animation-duration:7s}
.v3 .button.primary:hover,.v3 .button.ink:hover,.v3 .button.nav-cta:hover{animation:btn-flow 9s ease infinite,btn-breathe 7s ease-in-out infinite}
.v3 .button:after{transition:transform 1s var(--ease),background .6s!important}
.v3 .button .morph{transition:transform .9s var(--ease),gap .9s var(--ease)}
.v3 .button.magnetic{transition:transform .6s var(--ease),box-shadow .6s var(--ease)}

/* Process: a simple timeline instead of boxes */
.v3 .process-grid{position:relative;gap:var(--s6)}
.v3 .process-grid:before{content:'';position:absolute;left:22px;right:22px;top:22px;height:1px;background:linear-gradient(90deg,var(--c-create),var(--c-commerce),var(--c-cognition),var(--c-command));opacity:.6}
.v3 .process-grid article{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;overflow:visible}
.v3 .process-grid article:after{display:none}
.v3 .process-mark{display:none}
.v3 .step-no{position:relative!important;top:auto!important;right:auto!important;display:grid;place-items:center;width:44px;height:44px;margin-bottom:var(--s5);border-radius:50%;background:#fff;box-shadow:0 0 0 6px rgba(255,255,255,.45),0 10px 24px -12px rgba(80,52,140,.5);font-family:var(--display);font-size:18px;color:var(--ink)!important;-webkit-text-stroke:0}
.v3 .process-grid article:nth-child(1) .step-no{color:#C9614E!important} .v3 .process-grid article:nth-child(2) .step-no{color:#8A5AD8!important}
.v3 .process-grid article:nth-child(3) .step-no{color:#5D57E0!important} .v3 .process-grid article:nth-child(4) .step-no{color:#4339B0!important}
.v3 .process-grid p{max-width:26ch}

/* Pricing: fewer parts per card */
.v3 .price-symbol,.v3 .price-card .eyebrow{display:none!important}
.v3 .price-card h3{margin-top:0}
.v3 .price-card.featured h3:after{content:'Most picked';margin-left:var(--s3);vertical-align:middle;display:inline-block;padding:4px 10px;border-radius:var(--r-pill);background:rgba(179,138,234,.18);font-family:var(--font);font-size:12px;font-weight:600;letter-spacing:0;color:var(--accent-ink)}
.v3 .price-card ul{gap:10px}

/* FAQ: one quiet panel with hairlines */
.v3 .faq-list{gap:0;padding:var(--s2) var(--s5);border-radius:var(--r-lg);background:var(--calm-card);border:1px solid var(--calm-edge);box-shadow:var(--calm-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
.v3 .faq-list details{background:none!important;border:0!important;box-shadow:none!important;border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none}
.v3 .faq-list details+details{border-top:1px solid rgba(30,24,48,.08)!important}
.v3 .faq-list summary{padding:22px 0}
.v3 .faq-list details p{padding:0 0 22px}

/* Services card: lighter tags */
.v3 .service-chapter .tags span{background:transparent;padding:5px 12px!important}

@media (max-width:1100px){.v3 .process-grid:before{display:none}}
@media (max-width:767px){.v3 .plush-mark{width:52%}}

/* v9 — plush image tiles always carry the logo (also over the 3D meadow) */
.v3 .sculpture-fallback,.webgl-ready .v3 .sculpture-fallback,.webgl-ready body.v3 .sculpture-fallback{visibility:visible!important;z-index:6}
.v3 .sculpture-shadow{z-index:5}
.v3 .environment-foreground{z-index:7}
.v3 .logo-tile{filter-transition:none}

/* ==========================================================================
   v10 — playful hero, single-pill nav, premium buttons, lighter glass,
         creative service cards, 3D portfolio, meadow footer
   ========================================================================== */
:root{
  --calm-card:linear-gradient(160deg,rgba(255,255,255,.42),rgba(255,255,255,.18));
  --calm-edge:rgba(255,255,255,.5);
  --calm-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 24px 50px -40px rgba(80,52,140,.38);
  --glass-blur:blur(10px) saturate(125%);
  --btn-ink:linear-gradient(180deg,#3A2E62 0%,#211A3B 100%);
}

/* ---- Hero: compact card, no buttons ---- */
.v3 .hero-card{width:min(380px,100%);padding:28px 28px 30px;gap:14px;margin-top:6vh;background:linear-gradient(160deg,rgba(40,30,70,.28),rgba(40,30,70,.12))!important;-webkit-backdrop-filter:blur(14px) saturate(130%)!important;backdrop-filter:blur(14px) saturate(130%)!important}
.v3 .hero-card h1{font-size:clamp(36px,3.5vw,52px)}
.v3 .hero-card>p{font-size:15px;max-width:32ch}
.v3 .hero-actions,.v3 .hero-scroll{display:none!important}

/* ---- Hero toy ---- */
.v3 .toy-hint{position:absolute;left:68%;bottom:5vh;transform:translateX(-50%);display:inline-flex;align-items:center;gap:10px;padding:9px 16px 9px 12px;border-radius:999px;background:rgba(30,22,52,.22);border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font:500 11.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;pointer-events:none;transition:opacity .6s var(--ease),transform .6s var(--ease);z-index:2}
.v3 .toy-dot{width:8px;height:8px;border-radius:50%;background:#fff;animation:toy-ping 2s ease-out infinite}
@keyframes toy-ping{0%{box-shadow:0 0 0 0 rgba(255,255,255,.65)}100%{box-shadow:0 0 0 12px rgba(255,255,255,0)}}
.v3 .hint-touch{display:none}
@media (hover:none){.v3 .hint-fine{display:none}.v3 .hint-touch{display:inline}}
html.toy-used body.v3 .toy-hint{opacity:0;transform:translateX(-50%) translateY(8px)}
html.toy-hover body.v3 .film-hero{cursor:grab}
html.toy-drag,html.toy-drag *{cursor:grabbing!important;user-select:none!important}
.toy-label{position:fixed;left:0;top:0;z-index:45;pointer-events:none;display:flex;align-items:center;gap:10px;padding:9px 14px 9px 10px;border-radius:14px;background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.95);box-shadow:0 14px 30px -16px rgba(40,25,80,.55);font-family:"Jakarta",system-ui,sans-serif;color:#1E1830;opacity:0;transform:translate(18px,18px) scale(.92);transform-origin:0 0;transition:opacity .25s,transform .35s cubic-bezier(.22,1,.36,1)}
.toy-label.on{opacity:1;transform:translate(18px,18px) scale(1)}
.toy-label b{flex:none;width:10px;height:20px;border-radius:0 10px 10px 0}
.toy-label span{font-size:14px;font-weight:600;letter-spacing:-.01em}
.toy-label small{font-family:"GeistMono",monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#7A7190}
.toy-bit{position:fixed;z-index:44;width:9px;height:18px;border-radius:0 9px 9px 0;pointer-events:none}

/* ---- Nav: one clean pill ---- */
.v3 .site-header.site-header.site-header{left:50%;right:auto;transform:translateX(-50%);width:auto;max-width:calc(100% - 2*var(--gutter));height:56px;padding:6px 6px 6px 20px;gap:4px;justify-content:flex-start;border-radius:999px;background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.3)!important;-webkit-backdrop-filter:blur(12px) saturate(140%)!important;backdrop-filter:blur(12px) saturate(140%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 12px 30px -20px rgba(30,20,60,.55)!important}
.v3 .site-header.site-header.scrolled{background:rgba(255,255,255,.64)!important;border-color:rgba(255,255,255,.9)!important;box-shadow:inset 0 1px 0 #fff,0 14px 34px -22px rgba(60,40,110,.5)!important}
.v3 .site-header.site-header.site-header .wordmark,.v3 .site-header.site-header.site-header nav{height:auto;padding:0;background:none!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.v3 .site-header.site-header.site-header .wordmark{margin-right:18px;font-size:19px}
.v3 .site-header.site-header.site-header nav{position:static!important;transform:none!important;display:flex;gap:2px}
.v3 .site-header.site-header.site-header nav a{padding:8px 14px!important;border-radius:999px;font-size:14px;font-weight:500}
.v3 .site-header.site-header.site-header nav a:hover{background:rgba(255,255,255,.18)!important}
.v3 .site-header.site-header.scrolled nav a:hover{background:rgba(30,24,48,.06)!important}
.v3 .site-header.site-header.site-header .nav-cta.nav-cta{margin-left:12px;height:44px;padding:0 5px 0 18px}

/* ---- Premium buttons: deep ink, iridescent hairline, soft orb ---- */
.v3 .button.primary,.v3 .button.ink,.v3 .site-header.site-header.site-header .nav-cta.nav-cta,.v3 .price-card.featured .button.ink{background:var(--btn-ink)!important;color:#fff!important;border:0!important;text-shadow:none!important;animation:none!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -1px 0 rgba(0,0,0,.3),0 0 0 1px rgba(26,19,48,.85),0 14px 30px -14px rgba(46,30,96,.75)!important;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.v3 .button.primary:before,.v3 .button.ink:before,.v3 .site-header.site-header.site-header .nav-cta.nav-cta:before{content:'';position:absolute;inset:-1px;z-index:1;border-radius:inherit;padding:1px;background:conic-gradient(from var(--ang),transparent 0 50%,#F2A08F 64%,#B38AEA 77%,#8C86F2 90%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.4;animation:ring-spin 5s linear infinite;transition:opacity .45s;pointer-events:none}
.v3 .button.primary:hover:before,.v3 .button.ink:hover:before,.v3 .site-header.site-header.site-header .nav-cta.nav-cta:hover:before{opacity:1}
.v3 .button.primary:after,.v3 .button.ink:after,.v3 .site-header.site-header.site-header .nav-cta.nav-cta:after{background:var(--grad-soft)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 4px 12px -4px rgba(140,110,240,.6)}
.v3 .button.primary:hover:after,.v3 .button.ink:hover:after,.v3 .site-header.site-header.site-header .nav-cta.nav-cta:hover:after{transform:translateY(-50%) scale(1.1)!important}
.v3 .button.primary:hover,.v3 .button.ink:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.3),0 0 0 1px rgba(26,19,48,.85),0 18px 36px -14px rgba(90,60,170,.7)!important}
.v3 .sec .button.ghost,.v3 .faq .button.ghost,.v3 .price-card .button.outline{background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.74))!important;color:var(--ink)!important;border:0!important;box-shadow:inset 0 1px 0 #fff,0 0 0 1px rgba(30,24,48,.08),0 10px 24px -14px rgba(46,30,96,.4)!important}
.v3 .sec .button.ghost:hover,.v3 .faq .button.ghost:hover,.v3 .price-card .button.outline:hover{background:#fff!important}

/* ---- Services: tabs above, compact creative card ---- */
.v3 .service-chapter{width:min(460px,40vw);padding:32px}
.v3 .svc-head{display:flex;align-items:center;gap:14px;margin-bottom:var(--s5)}
.v3 .svc-thumb{flex:none;width:52px;height:52px;border-radius:16px;background:url('assets/plush-logo.png') no-repeat;background-size:200% 200%;box-shadow:0 10px 22px -12px rgba(60,40,110,.55)}
.v3 #pillar-create .svc-thumb{background-position:0 0;filter:hue-rotate(16deg) saturate(1.15) brightness(1.08)}
.v3 #pillar-commerce .svc-thumb{background-position:100% 0;filter:hue-rotate(-28deg) saturate(1.05)}
.v3 #pillar-cognition .svc-thumb{background-position:0 100%;filter:hue-rotate(-62deg) saturate(1.2)}
.v3 #pillar-command .svc-thumb{background-position:100% 100%;filter:hue-rotate(-70deg) saturate(1.5) brightness(.74)}
.v3 .svc-name{display:flex;flex-direction:column;gap:3px}
.v3 .svc-name b{font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}
.v3 .svc-name small{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.v3 .service-chapter .tags{gap:8px 18px}
.v3 .service-chapter .tags span{display:inline-flex;align-items:center;gap:8px;padding:0!important;border:0!important;background:none!important;border-radius:0!important;font-size:14px;color:var(--ink-2)}
.v3 .service-chapter .tags span:before{content:'';width:5px;height:10px;border-radius:0 5px 5px 0;background:var(--c)}
@media (min-width:768px){
  .v3 .chapter-nav{top:88px!important;bottom:auto!important}
  .v3 .service-chapter{top:calc(50% + 46px)!important}
}
@media (min-width:768px) and (max-height:760px){
  .v3 .service-chapter{padding:24px 26px}
  .v3 .service-chapter>p{display:none}
  .v3 .service-chapter h2{font-size:30px}
  .v3 .svc-head{margin-bottom:14px}
  .v3 .service-chapter .tags{margin-top:14px}
  .v3 .service-chapter>.text-link{margin-top:18px}
}

/* ---- Portfolio: pinned, curved 3D gallery ---- */
.v3 .folio{--cw:clamp(250px,min(30vw,50svh),460px);--gap:28px;position:relative}
html.folio-on body.v3 .folio{height:calc(100svh + 4 * (var(--cw) + var(--gap)) * 1.25)}
html.folio-on body.v3 .folio-sticky{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:clamp(16px,3svh,36px);padding-top:76px}
.v3 .folio-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;width:min(var(--container),100% - 2*var(--gutter));margin-inline:auto}
.v3 .folio-head h2{margin-top:12px;font-size:clamp(32px,3.2vw,48px)}
.v3 .folio-meta{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--ink-3)}
.v3 .folio-count{color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}
.v3 .folio-bar{position:relative;width:120px;height:2px;border-radius:2px;background:rgba(30,24,48,.12);overflow:hidden}
.v3 .folio-bar i{position:absolute;inset:0;background:linear-gradient(90deg,var(--c-create),var(--c-commerce),var(--c-cognition),var(--c-command));transform-origin:0 50%;transform:scaleX(0)}
.v3 .folio-track{position:relative;display:flex;gap:var(--gap);width:max-content;padding-inline:calc(50vw - var(--cw)/2);will-change:transform}
.v3 .folio-card{flex:none;width:var(--cw);padding:10px;border-radius:26px;background:rgba(255,255,255,.34);border:1px solid rgba(255,255,255,.55);box-shadow:0 30px 60px -40px rgba(60,40,110,.55);transform-style:preserve-3d;will-change:transform,opacity}
.v3 .folio-media{position:relative;aspect-ratio:10/9;border-radius:18px;overflow:hidden;background:#E3D6EE}
.v3 .folio-media img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.14);will-change:transform}
.v3 .folio-info{padding:16px 10px 8px}
.v3 .folio-tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.v3 .folio-tag:before{content:'';width:6px;height:12px;border-radius:0 6px 6px 0;background:var(--c)}
.v3 .folio-info h3{margin-top:8px;font-size:24px}
.v3 .folio-info p{margin-top:6px;font-size:14px;line-height:1.55;opacity:0;transform:translateY(6px);transition:opacity .45s,transform .55s var(--ease)}
.v3 .folio-card.is-active .folio-info p{opacity:1;transform:none}
.v3 .folio-concept{display:grid;place-items:center;background:radial-gradient(80% 70% at 75% 20%,rgba(179,138,234,.35),transparent 60%),linear-gradient(160deg,#F1E8F9,#DCD0EE)}
.v3 .folio-concept .fc-mark .brand-symbol{width:min(40%,150px);transform:rotate(8deg)}
.v3 .folio-concept .fc-mark{display:grid;place-items:center;width:100%}
.v3 .folio-concept .fc-a,.v3 .folio-concept .fc-b{position:absolute;font-family:var(--display);font-size:clamp(20px,2vw,28px);color:var(--ink)}
.v3 .folio-concept .fc-a{left:9%;top:11%}
.v3 .folio-concept .fc-b{right:9%;bottom:11%}
html:not(.folio-on) body.v3 .folio{padding-block:72px}
html:not(.folio-on) body.v3 .folio-track{width:auto;overflow-x:auto;padding-inline:var(--gutter);scroll-snap-type:x mandatory}
html:not(.folio-on) body.v3 .folio-card{scroll-snap-align:center}
html:not(.folio-on) body.v3 .folio-info p{opacity:1;transform:none}

/* ---- Footer: glass panel, giant wordmark, ends on the meadow ---- */
.v3 footer.foot{position:relative;isolation:isolate;overflow:hidden;margin-top:calc(var(--section)*.5);padding:0!important;background:none!important;color:var(--ink)!important}
.v3 .foot-scene{position:absolute;left:0;right:0;bottom:0;height:74%;z-index:-1;background:url('assets/plush-landscape.png') center 62%/cover no-repeat;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 40%);mask-image:linear-gradient(to bottom,transparent,#000 40%)}
.v3 .foot-panel{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;width:min(var(--container),100% - 2*var(--gutter));margin:0 auto;padding:36px;border-radius:28px;background:rgba(255,255,255,.42);border:1px solid rgba(255,255,255,.65);-webkit-backdrop-filter:blur(10px) saturate(130%);backdrop-filter:blur(10px) saturate(130%);box-shadow:0 30px 60px -44px rgba(60,40,110,.5)}
.v3 .foot-brand .wordmark{display:inline-flex;align-items:center;gap:8px;font-family:var(--font);font-size:22px;font-weight:700;letter-spacing:-.05em;color:var(--ink)!important}
.v3 .foot-brand .wordmark .brand-symbol{width:22px}
.v3 .foot-brand p{margin:14px 0 22px;font-size:15px;max-width:34ch}
.v3 .foot-brand .button{height:50px}
.v3 .foot-col{display:flex;flex-direction:column;gap:10px;font-size:15px;color:var(--ink-2)}
.v3 .foot-col a{width:fit-content;display:inline-flex;align-items:center;transition:color .2s}
.v3 .foot-col a:hover{color:var(--ink)}
.v3 .foot-col a[style]:before{content:'';width:5px;height:10px;margin-right:9px;border-radius:0 5px 5px 0;background:var(--c)}
.v3 .foot-h{margin-bottom:4px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.v3 .foot-time{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.v3 .foot-word{margin-top:clamp(40px,7vw,110px);font-family:var(--display);font-size:clamp(110px,24vw,380px);line-height:.78;letter-spacing:-.045em;text-align:center;color:rgba(255,255,255,.92);text-shadow:0 20px 60px rgba(60,30,90,.25);user-select:none;pointer-events:none}
.v3 .foot-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;width:min(var(--container),100% - 2*var(--gutter));margin:clamp(12px,2vw,24px) auto 16px;padding:8px 8px 8px 22px;border-radius:999px;background:rgba(30,22,52,.32);border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:rgba(255,255,255,.9);font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}
.v3 .foot-actions{display:flex;gap:8px}
.v3 .foot-bar #motion,.v3 .foot-bar a{display:inline-flex;align-items:center;height:34px;padding:0 14px;border:0;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font:inherit;letter-spacing:inherit}
.v3 .foot-bar a:hover,.v3 .foot-bar #motion:hover{background:rgba(255,255,255,.24)}

@media (max-width:900px){
  .v3 .foot-panel{grid-template-columns:1fr 1fr}
  .v3 .foot-brand{grid-column:1/-1}
}
@media (max-width:767px){
  .v3 .site-header.site-header.site-header{width:calc(100% - 32px);justify-content:space-between}
  .v3 .site-header.site-header.site-header nav{display:none}
  .v3 .site-header.site-header.site-header nav.open{display:flex;position:absolute!important;top:62px;left:0;right:0;flex-direction:column;padding:8px;border-radius:20px;background:rgba(255,255,255,.94)!important;box-shadow:0 20px 40px -20px rgba(40,25,80,.5)!important}
  .v3 .site-header.site-header.site-header nav.open a{padding:14px!important;color:var(--ink)!important}
  .v3 .site-header.site-header.site-header .nav-cta.nav-cta{display:none}
  .v3 .toy-hint{left:50%;bottom:3vh}
  .v3 .folio{--cw:76vw;--gap:16px}
  .v3 .folio-head{flex-direction:column;align-items:flex-start}
  .v3 .foot-panel{grid-template-columns:1fr;padding:24px}
  .v3 .foot-bar{flex-wrap:wrap;justify-content:center;border-radius:20px;padding:12px}
  .v3 .foot-motto{display:none}
}
