/* GENERATED FILE — do not edit.
   Source: hero.html <style>. Regenerate with: node build-css.js
   Generated from a 755647-byte hero.html
*/

/* ============================================================
     ACCENT THEME
     Every colour on the page that was purple now resolves through the
     raw tokens below. Flip the whole site by setting data-accent on
     <html> — "violet" (default) or "white". The script's ACCENT
     constant sets it on load and also repaints the black hole's disc,
     which is JS rather than CSS.
     ============================================================ */
  :root {
    /* --- VIOLET (default) --- */
    --g-base:   #04030A;   --g-lift:   #0B0817;   --g-rgb:  4,3,10;
    --t-base:   #F4F1FA;   --t-dim:    #9E96B4;   --t-faint: #635C78;

    --a:        #C8A8FF;   --a-dim:    #8E7BC4;
    --a-tint:   #C4B6DE;   --a-btn:    #DAD2E8;   --a-btn2: #DED6EC;

    --a-rgb:        200,168,255;
    --a-hot-rgb:    172,92,255;
    --a-mid-rgb:    124,110,255;
    --a-core-rgb:   161,58,229;
    --a-core2-rgb:  138,58,185;
    --a-ind-rgb:    110,100,240;
    --a-ind2-rgb:   79,70,229;
    --a-vio-rgb:    168,85,247;
    --a-deep-rgb:   90,60,200;
    --a-glow-rgb:   120,92,255;
    --a-glow2-rgb:  140,100,255;

    --s-ink:   #0A0710;  --s-card:  #0B0A14;  --s-deep:   #0C0818;
    --s-raise: #1A1330;  --s-raise2:#100B20;  --s-chip:   #171C2C;
    --s-chip2: #121624;  --s-thumb: #1A1030;  --s-fig:    #1B1233;
    --nav-rgb: 10,8,20;  --pill-rgb: 14,11,26;

    --ground:      var(--g-base);
    --ground-lift: var(--g-lift);
    --accent:      var(--a);
    --accent-dim:  var(--a-dim);
    --text:        var(--t-base);
    --text-dim:    var(--t-dim);
    --text-faint:  var(--t-faint);
    --hairline:    rgba(var(--a-rgb), 0.15);
    --glass:       rgba(var(--a-rgb), 0.06);
    --glass-hi:    rgba(var(--a-rgb), 0.13);

    --sans:  'Inter', 'Segoe UI Variable Display', 'Segoe UI', system-ui, -apple-system, 'Helvetica Neue', sans-serif;
    --serif: 'Playfair Display', 'Didot', 'Bodoni MT', Georgia, 'Times New Roman', serif;

    /* Reference gutter: 79 / 1849 = 4.3vw */
    --gutter: clamp(22px, 4.3vw, 80px);
    /* Reference nav pill top edge sits 47px down; pill is 50px tall. */
    --bar-pad: clamp(20px, 4.9vh, 47px);
  }

  /* --- NEON WHITE ---
     Same ramp, hue pulled out. The saturated mid-tones become bright
     cool whites and the deep tones become slate, so the glows read as
     light rather than as grey. Client accents on the project cards are
     deliberately untouched — those are the clients' own brand colours. */
  :root[data-accent="white"] {
    --g-base:   #050506;   --g-lift:   #0C0E12;   --g-rgb:  5,5,6;
    --t-base:   #F7F9FC;   --t-dim:    #A2AAB8;   --t-faint: #656D7A;

    --a:        #EAF2FF;   --a-dim:    #8E98A8;
    --a-tint:   #D8E4F5;   --a-btn:    #DCE6F5;   --a-btn2: #E0E9F7;

    --a-rgb:        234,242,255;
    --a-hot-rgb:    255,255,255;
    --a-mid-rgb:    205,225,255;
    --a-core-rgb:   235,245,255;
    --a-core2-rgb:  190,210,235;
    --a-ind-rgb:    200,220,250;
    --a-ind2-rgb:   150,175,210;
    --a-vio-rgb:    245,250,255;
    --a-deep-rgb:   120,145,180;
    --a-glow-rgb:   220,235,255;
    --a-glow2-rgb:  255,255,255;

    --s-ink:   #08090C;  --s-card:  #0A0B0E;  --s-deep:   #0A0C10;
    --s-raise: #14181F;  --s-raise2:#0D1014;  --s-chip:   #191D24;
    --s-chip2: #14171D;  --s-thumb: #12161C;  --s-fig:    #1A1F27;
    --nav-rgb: 8,10,14;  --pill-rgb: 12,14,18;
  }

  * { box-sizing: border-box; }

  body {
    margin: 0;
    background: var(--ground);
    color: var(--text);
    font-family: var(--sans);
    -webkit-font-smoothing: antialiased;
  }

  /* Commits to one dark world by design — the shader ground is the piece. */

  a { color: inherit; text-decoration: none; }

  :focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
    border-radius: 4px;
  }

  /* ================= shell =================
     Four rows. The stage takes all slack, so the headline block stays
     optically centred between the bar and the band — which only holds if
     the band stays short. That is the whole trick of the reference layout. */

  .hero {
    position: relative;
    min-height: 100svh;
    display: grid;
    grid-template-rows: auto 1fr auto;
    overflow: hidden;
    isolation: isolate;
  }

  #shader {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    display: block;
  }

  /* Scrim. The radial stays clear through the middle 30% so the hole and its
     disc read at full contrast, then darkens toward the left and right where
     the headline and rail sit. The linear protects the nav and the bottom
     band. The shader's own vignette runs underneath this. */
  .hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
      radial-gradient(115% 80% at 50% 42%, transparent 30%, rgba(var(--g-rgb),0.45) 78%, rgba(var(--g-rgb),0.72) 100%),
      linear-gradient(to bottom, rgba(var(--g-rgb),0.80) 0%, rgba(var(--g-rgb),0.15) 18%, rgba(var(--g-rgb),0.10) 52%, rgba(var(--g-rgb),0.82) 84%, rgba(var(--g-rgb),0.96) 100%);
  }

  .hero > *:not(#shader) { position: relative; z-index: 2; }

  /* ================= bar ================= */

  .bar {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 24px;
    padding: var(--bar-pad) var(--gutter) 0;
  }

  /* The wordmark is the supplied logo, inverted to white on transparency.
     Height-driven so it stays crisp at any density; 3.41:1 sets the width. */
  .wordmark {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .logo {
    display: block;
    height: 48px;   /* 40 -> 48, +20% */
    width: auto;
    transition: opacity .25s ease;
  }
  .wordmark:hover .logo { opacity: .82; }

  .nav {
    display: none;
    justify-self: center;
    gap: 2px;
    padding: 5px;
    border-radius: 100px;
    background: rgba(var(--nav-rgb), 0.5);
    border: 1px solid var(--hairline);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
  }
  .nav a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 20px;
    border-radius: 100px;
    font-size: 14.5px;
    color: var(--text-dim);
    transition: color .25s ease, background-color .25s ease;
  }
  .nav a:hover { color: var(--text); background: var(--glass-hi); }

  .bar-end { justify-self: end; display: flex; align-items: center; gap: 12px; }

  .cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 50px;
    padding: 0 24px;
    border-radius: 100px;
    background: linear-gradient(180deg, #FFFFFF 0%, var(--a-btn) 100%);
    color: var(--s-ink);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.01em;
    white-space: nowrap;
    transition: transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s ease;
  }
  .cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 36px -12px rgba(var(--a-rgb),0.7);
  }
  .cta svg { transition: transform .3s cubic-bezier(.2,.7,.3,1); }
  .cta:hover svg { transform: translateX(4px); }

  .menu-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 100px;
    border: 1px solid var(--hairline);
    background: var(--glass);
    color: var(--text);
    cursor: pointer;
    z-index: 60;
  }

  /* ---- mobile menu ----
     The burger previously did nothing, which left every phone visitor with no
     way to navigate at all. Full-screen sheet, closes on link/backdrop/Escape,
     and locks the page behind it. */
  .m-sheet {
    position: fixed;
    inset: 0;
    z-index: 50;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding: 96px var(--gutter) 40px;
    background: rgba(4, 3, 10, 0.94);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    opacity: 0;
    visibility: hidden;
    /* visibility flips instantly on open and is only delayed on close, so the
       sheet is never mid-transition-invisible while it is meant to be usable.
       Transitioning visibility itself makes the panel's presence depend on an
       animation completing, which is the wrong thing to gamble on. */
    transition: opacity .28s ease, visibility 0s linear .28s;
  }
  .m-sheet[data-open="true"] {
    opacity: 1;
    visibility: visible;
    transition: opacity .28s ease, visibility 0s;
  }

  .m-sheet a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 60px;
    padding: 0 4px;
    border-bottom: 1px solid rgba(var(--a-rgb), 0.12);
    font-size: 25px;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--text);
    opacity: 0;
    transform: translateY(12px);
  }
  .m-sheet[data-open="true"] a {
    animation: m-in .42s cubic-bezier(.2,.7,.3,1) forwards;
    animation-delay: var(--d, 0ms);
  }
  @keyframes m-in { to { opacity: 1; transform: none; } }
  .m-sheet a span { color: var(--text-faint); font-size: 13px; font-weight: 400; }

  .m-sheet .m-cta {
    justify-content: center;
    margin-top: 26px;
    min-height: 54px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(180deg, #FFFFFF 0%, var(--a-btn) 100%);
    color: var(--s-ink);
    font-size: 16px;
    font-weight: 600;
  }

  body[data-menu="open"] { overflow: hidden; }

  @media (min-width: 1100px) { .m-sheet { display: none; } }

  @media (prefers-reduced-motion: reduce) {
    .m-sheet { transition: none; }
    .m-sheet a { opacity: 1; transform: none; }
    .m-sheet[data-open="true"] a { animation: none; }
  }

  /* ================= stage ================= */

  .stage {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    gap: clamp(30px, 4vw, 56px);
    padding: clamp(24px, 4vh, 48px) var(--gutter);
  }

  h1 {
    margin: 0;
    font-weight: 500;
    letter-spacing: -0.045em;
    line-height: 0.9;
    font-size: clamp(54px, 11vw, 132px);
  }
  h1 .l1 { display: block; }
  h1 .l2 {
    display: block;
    font-family: var(--serif);
    font-style: italic;
    font-weight: 400;
    letter-spacing: -0.03em;
    font-size: 1.06em;
    line-height: 0.88;
    margin-top: -0.08em;
    padding-left: 0.05em;
    background: linear-gradient(180deg, #FFFFFF 0%, var(--a-tint) 84%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }

  .rail { display: flex; flex-direction: column; gap: 20px; max-width: 44ch; }

  /* Reference sets this at 24px/600 — it reads as a statement, not body copy. */
  .statement {
    margin: 0;
    font-size: clamp(18px, 1.35vw, 23px);
    font-weight: 500;
    line-height: 1.34;
    letter-spacing: -0.018em;
  }
  .statement em { font-family: var(--serif); font-style: italic; color: var(--accent); }
  .statement .dim { color: var(--text-dim); font-weight: 400; }

  .rail-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--hairline);
  }
  .rail-foot .label { font-size: 14px; font-weight: 500; }

  .socials { display: flex; gap: 8px; }
  .socials a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 100px;
    border: 1px solid var(--hairline);
    color: var(--text-dim);
    transition: color .25s ease, border-color .25s ease, background-color .25s ease;
  }
  .socials a:hover { color: var(--text); border-color: rgba(var(--a-rgb),0.45); background: var(--glass); }

  /* ================= band =================
     Three columns, all bottom-aligned — in the reference the client strip,
     the scroll cue and the card's lower edge share one baseline at ~87%. */

  .band {
    display: grid;
    grid-template-columns: 1fr;
    align-items: end;
    gap: 30px;
    /* The reference leaves ~111px (11.6vh) of empty ground below the band.
       That trailing space is what puts the band at 65% instead of 78%. */
    padding: 0 var(--gutter) clamp(26px, 10vh, 100px);
  }

  .eyebrow {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--text-dim);
    margin: 0 0 14px;
  }
  .rule { height: 1px; background: var(--hairline); margin: 0 0 16px; }

  /* Two rows of two, slash-separated — compact by design. A vertical list
     of four is what was inflating this band and crushing the headline. */
  .services { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px 0; max-width: 32ch; }
  .services li { display: flex; align-items: center; width: 50%; }
  .services li + li::before {
    content: "/";
    color: var(--text-faint);
    margin: 0 12px 0 0;
    font-size: 14px;
  }
  .services li:nth-child(odd) + li::before { margin-left: 0; }
  .services li:nth-child(odd)::before { content: none; }
  .services a {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    font-size: 15px;
    color: var(--text-dim);
    transition: color .25s ease;
  }
  .services a:hover { color: var(--text); }

  /* Cut short so the names run out well before the scroll cue instead of
     stretching the full column width. */
  .clients {
    margin-top: clamp(20px, 3.6vh, 40px);
    max-width: 340px;
    overflow: hidden;
    mask-image: linear-gradient(to right, #000 0, #000 58%, transparent 100%);
    -webkit-mask-image: linear-gradient(to right, #000 0, #000 58%, transparent 100%);
  }
  .track { display: flex; gap: 42px; width: max-content; animation: slide 34s linear infinite; }
  .clients:hover .track { animation-play-state: paused; }
  @keyframes slide { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  .track span {
    font-family: var(--serif);
    font-style: italic;
    font-size: 19px;
    color: var(--text-faint);
    white-space: nowrap;
  }

  .scroll-cue {
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    justify-self: center;
    color: var(--text-dim);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    background: none;
    border: 0;
    cursor: pointer;
    padding: 6px;
  }
  .scroll-cue .ring {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 100px;
    border: 1px solid var(--hairline);
    background: rgba(var(--nav-rgb), 0.4);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: border-color .25s ease, background-color .25s ease;
  }
  .scroll-cue:hover .ring { border-color: rgba(var(--a-rgb),0.5); }
  .scroll-cue .ring svg { animation: nudge 2.4s ease-in-out infinite; }
  @keyframes nudge {
    0%, 100% { transform: translateY(-2px); opacity: .6; }
    50%      { transform: translateY(3px);  opacity: 1; }
  }

  /* Reference card: ~275x175 thumbnail with the label row above it. */
  .featured { justify-self: start; width: 100%; max-width: 288px; }
  .featured-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
  .featured-head .count { font-size: 12px; color: var(--text-dim); font-variant-numeric: tabular-nums; }
  .card {
    display: block;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid var(--hairline);
    background: var(--ground-lift);
    transition: transform .4s cubic-bezier(.2,.7,.3,1), border-color .3s ease;
  }
  .card:hover { transform: translateY(-4px); border-color: rgba(var(--a-rgb),0.4); }
  /* Falline cover — the real mockup, inlined as a data URI because a published
     artifact cannot fetch an external image. 760px wide covers the card at 2x.
     Source is 16:9 and the card is 16:10, so `cover` trims a little top and
     bottom; the laptop is centred, so it survives the crop. */
  .card .thumb {
    display: block;
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background-color: var(--s-thumb);
    background-image: url(data:image/jpeg;base64,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);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform .5s cubic-bezier(.2,.7,.3,1);
  }
  .card:hover .thumb { transform: scale(1.03); }
  .card .meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 15px; }
  .card .title { font-size: 13.5px; letter-spacing: -0.01em; }
  .card .tag { font-size: 10px; text-transform: uppercase; letter-spacing: 0.16em; color: var(--text-faint); }

  /* ================= entrance ================= */

  .js .reveal { opacity: 0; transform: translateY(16px); }
  .lit .reveal { animation: rise .9s cubic-bezier(.2,.7,.3,1) forwards; animation-delay: var(--d, 0ms); }
  @keyframes rise { to { opacity: 1; transform: none; } }

  /* ================= breakpoints ================= */

  @media (max-width: 559px) { .cta { display: none; } }

  /* ---- touch sizing ----
     WCAG 2.5.8 wants 24px minimum; 44px is the practical target on a phone.
     Capped at 1023px rather than 759px: a 768px tablet is still a touch
     device, and the desktop nav does not appear until 1100 anyway. */
  @media (max-width: 1023px) {
    .socials a, .ab-socials a { width: 44px; height: 44px; }
    .services a { min-height: 44px; }
    .rail-foot .label { min-height: 44px; display: inline-flex; align-items: center; }
    .ft-nav { gap: 4px 20px; }
    .ft-nav a { min-height: 44px; display: inline-flex; align-items: center; }
    .fq-q { padding: 20px 0; }
    .bl-link { min-height: 44px; }
  }

  @media (min-width: 760px) {
    .band { grid-template-columns: 1fr auto; }
    .scroll-cue { display: flex; grid-column: 1 / -1; order: 3; }
  }

  /* Desktop composition from 1100px, not 1440px. */
  @media (min-width: 1100px) {
    .nav { display: flex; }
    .menu-btn { display: none; }
    .stage {
      grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
      align-items: center;
    }
    .band { grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); }
    .scroll-cue { display: flex; grid-column: auto; order: 0; }
    .featured { justify-self: end; }
    /* Sit the rail on the right gutter, in line with the card below it —
       left-aligned in its cell it floated mid-page with dead space beside it. */
    .rail { justify-self: end; }
    h1 { font-size: clamp(88px, 7.6vw, 132px); }
  }

  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
      animation-duration: .001ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: .001ms !important;
    }
    .js .reveal { opacity: 1; transform: none; }
    .track, .scroll-cue .ring svg { animation: none; }
  }

  /* ============================================================
     SERVICES
     Header follows the reference: pill, then an oversized title on
     the left with the lede set against it on the right. Cards below
     are the 21st.dev Gradient Card, re-proportioned from its native
     360x450 to the reference's 4-up row.
     ============================================================ */

  /* NB: `.services` is already taken by the hero band's service list, which
     sets display:flex, flex-wrap:wrap and max-width:32ch. Reusing the name
     here inherited all three and squeezed this section into a 320px column.
     Hence the svc- prefix — do not rename it back. */
  .svc-section {
    position: relative;
    background: var(--ground);
    padding: clamp(72px, 11vh, 140px) var(--gutter) clamp(80px, 12vh, 160px);
  }

  .pill {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 42px;
    padding: 0 18px 0 15px;
    border-radius: 100px;
    border: 1px solid var(--hairline);
    background: rgba(var(--pill-rgb), 0.7);
    font-size: 14px;
    color: var(--text);
  }
  .pill svg { color: var(--accent); flex: none; }

  .services-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
    align-items: end;
    margin-bottom: clamp(40px, 6vh, 72px);
  }

  .section-title {
    margin: 0;
    font-weight: 500;
    font-size: clamp(40px, 4.4vw, 64px);
    line-height: 1.02;
    letter-spacing: -0.035em;
  }
  .section-title em {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 400;
    letter-spacing: -0.02em;
    padding-right: 0.08em;
  }
  /* The reference fades the last word out rather than colouring it. */
  .section-title .fade {
    background: linear-gradient(96deg, var(--text) 0%, var(--text-faint) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }

  .section-lede {
    margin: 0;
    max-width: 46ch;
    font-size: clamp(15px, 1.05vw, 17px);
    line-height: 1.55;
    color: var(--text-dim);
  }

  .cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
  }

  /* ---- Gradient Card ----
     Ported from 21st.dev @jatin-yadav05/gradient-card. Its layer stack is
     kept intact — glass sheen, noise, twin corner glows, a central bloom and
     the lit bottom edge — rebuilt in CSS because framer-motion cannot load
     here. Two changes: the aspect is the reference's, not the component's
     fixed 360x450; and its cyan second glow is pulled to indigo so it does
     not fight the violet the rest of the page now runs on. */

  .gcard {
    position: relative;
    display: block;
    isolation: isolate;
    overflow: hidden;
    min-height: clamp(400px, 34vw, 480px);
    border-radius: 28px;
    background: var(--s-card);
    box-shadow:
      0 -10px 100px 10px rgba(var(--a-glow-rgb), 0.16),
      0 0 10px 0 rgba(0, 0, 0, 0.5);
    transform-style: preserve-3d;
    transition: transform .45s cubic-bezier(.2,.7,.3,1), box-shadow .45s ease;
  }
  .gcard:hover {
    box-shadow:
      0 -10px 110px 12px rgba(var(--a-glow2-rgb), 0.26),
      0 0 10px 0 rgba(0, 0, 0, 0.5);
  }

  /* base wash */
  .gcard::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(180deg, #000 0%, #000 70%);
  }
  /* glass sheen */
  .gcard::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 5;
    pointer-events: none;
    opacity: .5;
    background: linear-gradient(135deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0) 40%, rgba(255,255,255,0) 80%, rgba(255,255,255,0.05) 100%);
    transition: opacity .4s ease;
  }
  .gcard:hover::after { opacity: .7; }

  .gc-noise {
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: .30;
    mix-blend-mode: overlay;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  }

  /* twin corner glows + central bloom, blurred exactly as the source does */
  .gc-glow {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 66%;
    z-index: 2;
    pointer-events: none;
    opacity: .8;
    filter: blur(40px);
    background:
      radial-gradient(ellipse at bottom right, rgba(var(--a-hot-rgb), 0.70) -10%, rgba(var(--a-ind2-rgb), 0) 70%),
      radial-gradient(ellipse at bottom left,  rgba(var(--a-mid-rgb), 0.62) -10%, rgba(var(--a-ind2-rgb), 0) 70%);
    transition: opacity .4s ease;
  }
  .gcard:hover .gc-glow { opacity: .95; }

  .gc-core {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 66%;
    z-index: 3;
    pointer-events: none;
    opacity: .75;
    filter: blur(45px);
    transform: translateY(10%);
    background: radial-gradient(circle at bottom center, rgba(var(--a-core-rgb), 0.70) -20%, rgba(var(--a-ind2-rgb), 0) 60%);
    transition: opacity .4s ease;
  }
  .gcard:hover .gc-core { opacity: .9; }

  /* the lit bottom edge and its two corner risers */
  .gc-edge {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 2px;
    z-index: 4;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.7) 50%, rgba(255,255,255,0.05) 100%);
    box-shadow:
      0 0 15px 3px rgba(var(--a-hot-rgb), 0.55),
      0 0 25px 5px rgba(var(--a-core2-rgb), 0.40),
      0 0 35px 7px rgba(var(--a-ind-rgb), 0.28);
    transition: box-shadow .4s ease;
  }
  .gcard:hover .gc-edge {
    box-shadow:
      0 0 20px 4px rgba(var(--a-hot-rgb), 0.75),
      0 0 30px 6px rgba(var(--a-core2-rgb), 0.55),
      0 0 40px 8px rgba(var(--a-ind-rgb), 0.38);
  }
  .gc-edge::before,
  .gc-edge::after {
    content: "";
    position: absolute;
    bottom: 0;
    width: 1px;
    height: 108px;
    border-radius: 100px;
    background: linear-gradient(to top, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0.3) 40%, rgba(255,255,255,0) 80%);
  }
  .gc-edge::before { left: 0; }
  .gc-edge::after  { right: 0; }

  .gc-body {
    position: relative;
    z-index: 6;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: inherit;
    padding: clamp(24px, 2vw, 34px);
  }

  /* Icon plate. Same inset-lit treatment as the component's icon circle,
     scaled up and squared off to carry the reference's larger glyphs. */
  .gc-icon {
    position: relative;
    display: grid;
    place-items: center;
    width: 76px;
    height: 76px;
    margin-bottom: auto;
    border-radius: 22px;
    color: var(--text);
    background: linear-gradient(225deg, var(--s-chip) 0%, var(--s-chip2) 100%);
    box-shadow:
      0 6px 12px -2px rgba(0,0,0,0.25),
      0 3px 6px -1px rgba(0,0,0,0.15),
      inset 1px 1px 3px rgba(255,255,255,0.12),
      inset -2px -2px 4px rgba(0,0,0,0.5);
    transition: transform .4s ease, box-shadow .4s ease;
  }
  .gcard:hover .gc-icon {
    transform: translateY(-2px);
    box-shadow:
      0 8px 16px -2px rgba(0,0,0,0.3),
      0 4px 8px -1px rgba(0,0,0,0.2),
      inset 2px 2px 5px rgba(255,255,255,0.15),
      inset -2px -2px 5px rgba(0,0,0,0.7);
  }
  .gc-icon::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 66%; height: 66%;
    opacity: .4;
    filter: blur(10px);
    background: radial-gradient(circle at top left, rgba(255,255,255,0.5), transparent 80%);
  }
  .gc-icon svg { position: relative; }

  .gc-idx {
    display: block;
    margin-top: 28px;
    font-size: 13px;
    color: var(--text-dim);
    font-variant-numeric: tabular-nums;
  }
  .gc-body h3 {
    margin: 10px 0 0;
    font-size: clamp(20px, 1.5vw, 23px);
    font-weight: 600;
    letter-spacing: -0.02em;
  }
  .gc-body p {
    margin: 12px 0 0;
    font-size: 15px;
    line-height: 1.5;
    color: var(--text-dim);
  }

  @media (min-width: 620px)  { .cards { grid-template-columns: repeat(2, 1fr); } }
  @media (min-width: 1100px) {
    .cards { grid-template-columns: repeat(4, 1fr); }
    .services-head { grid-template-columns: 1fr auto; }
    .services-head .pill { grid-column: 1 / -1; }
    .section-lede { justify-self: end; text-align: left; }
  }

  @media (prefers-reduced-motion: reduce) {
    .gcard { transition: none; }
  }

  /* ============================================================
     ABOUT
     From 21st.dev @uilayout.contact/about-section. Its layout is kept:
     label and socials floated over a clip-path'd figure, stats straddling
     its lower edge, then a 2/3 + 1/3 split of narrative against a signature
     block. Re-themed from its #f9f9f9 ground and red accent to this page's
     dark violet. All ab- prefixed — `.services` taught me that lesson.
     ============================================================ */

  .ab-section {
    position: relative;
    background: var(--ground);
    padding: clamp(24px, 4vh, 56px) var(--gutter) clamp(80px, 12vh, 150px);
  }
  .ab-inner { max-width: 1240px; margin: 0 auto; }
  .ab-stage { position: relative; }

  /* label + socials, floated over the top of the figure */
  .ab-topbar {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
  }
  .ab-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--text-dim);
  }
  .ab-star {
    color: var(--accent);
    font-size: 17px;
    line-height: 1;
    animation: ab-spin 9s linear infinite;
  }
  @keyframes ab-spin { to { transform: rotate(360deg); } }

  .ab-socials { display: flex; gap: 10px; }
  .ab-socials a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: 1px solid var(--hairline);
    background: rgba(var(--a-rgb), 0.05);
    color: var(--text-dim);
    transition: color .25s ease, border-color .25s ease, background-color .25s ease;
  }
  .ab-socials a:hover {
    color: var(--text);
    border-color: rgba(var(--a-rgb), 0.42);
    background: rgba(var(--a-rgb), 0.11);
  }

  /* The notched frame. Path is the component's, verbatim, in
     objectBoundingBox units — so it scales with whatever it clips. */
  /* min-height must NOT be combined with aspect-ratio here: on a narrow
     viewport the min-height wins and the ratio then inflates the WIDTH
     (240 x 2.5 = 600px), pushing the whole document sideways. Width is
     capped and the ratio gets a taller mobile value instead. */
  .ab-figure {
    position: relative;
    aspect-ratio: 4 / 3;
    max-width: 100%;
    clip-path: url(#ab-notch);
    -webkit-clip-path: url(#ab-notch);
    overflow: hidden;
    background:
      radial-gradient(70% 120% at 22% 12%, rgba(var(--a-vio-rgb), 0.42) 0%, transparent 58%),
      radial-gradient(60% 110% at 84% 88%, rgba(var(--a-deep-rgb), 0.45) 0%, transparent 62%),
      linear-gradient(140deg, var(--s-fig) 0%, var(--s-deep) 52%, #050409 100%);
  }
  .ab-figure::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .26;
    mix-blend-mode: overlay;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  /* The notch eats the bottom-left corner: the shape's lower band only spans
     x 0.073 -> 0.776. Anything flush to the edge gets sliced, so this sits
     inside those bounds rather than at a fixed pixel inset. */
  .ab-figure-note {
    position: absolute;
    left: 11%;
    right: 26%;
    bottom: 9%;
    z-index: 2;
    max-width: 34ch;
    font-family: var(--serif);
    font-style: italic;
    font-size: clamp(19px, 2vw, 30px);
    line-height: 1.25;
    color: rgba(255, 255, 255, 0.9);
  }

  /* stats straddling the figure's lower edge */
  .ab-stats {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px 28px;
    padding: 18px 0 0;
    font-size: 15px;
  }
  .ab-run { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
  .ab-run b { color: var(--accent); font-weight: 600; }
  .ab-run span { color: var(--text-dim); }
  .ab-run i { color: var(--text-faint); font-style: normal; }

  .ab-headline { display: flex; flex-direction: column; gap: 4px; }
  .ab-headline .ab-big {
    display: flex;
    align-items: baseline;
    gap: 10px;
    font-size: clamp(28px, 3.2vw, 42px);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1;
  }
  .ab-headline .ab-big b { color: var(--accent); font-weight: 600; }
  .ab-headline .ab-big span { color: var(--text-dim); text-transform: uppercase; font-weight: 500; }

  /* narrative + signature block */
  .ab-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(32px, 4vw, 56px);
    margin-top: clamp(44px, 6vh, 76px);
  }
  .ab-title {
    margin: 0 0 clamp(22px, 3vh, 34px);
    font-size: clamp(28px, 3.4vw, 46px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.03em;
    text-wrap: balance;
  }
  .ab-title em {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 400;
  }
  .ab-cols { display: grid; grid-template-columns: 1fr; gap: 24px; }
  .ab-cols p {
    margin: 0;
    font-size: 15.5px;
    line-height: 1.62;
    color: var(--text-dim);
  }

  .ab-side { display: flex; flex-direction: column; align-items: flex-start; }
  .ab-logo { height: 46px; }
  .ab-role {
    margin-top: 8px;
    font-size: 13px;
    letter-spacing: 0.06em;
    color: var(--text-dim);
  }
  .ab-ask {
    margin: clamp(22px, 3vh, 34px) 0 18px;
    font-size: 16.5px;
    font-weight: 500;
    line-height: 1.45;
    color: var(--text);
  }
  .ab-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 50px;
    padding: 0 22px;
    border-radius: 12px;
    background: linear-gradient(180deg, var(--s-raise) 0%, var(--s-raise2) 100%);
    border: 1px solid rgba(var(--a-rgb), 0.28);
    box-shadow: 0 10px 30px -12px rgba(var(--a-vio-rgb), 0.6);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--text);
    transition: gap .3s ease, border-color .3s ease, box-shadow .3s ease;
  }
  .ab-cta:hover {
    gap: 16px;
    border-color: rgba(var(--a-rgb), 0.55);
    box-shadow: 0 14px 38px -12px rgba(var(--a-vio-rgb), 0.85);
  }

  @media (min-width: 760px) {
    .ab-cols { grid-template-columns: 1fr 1fr; }
    /* Wide letterbox only once there is room for it. */
    .ab-figure { aspect-ratio: 100 / 40; min-height: 240px; }
  }
  @media (min-width: 1100px) {
    .ab-grid { grid-template-columns: 2fr 1fr; }
    .ab-side { align-items: flex-end; text-align: right; }
    /* the source hangs this block off the figure's lower right */
    .ab-headline { position: absolute; right: 0; bottom: 100%; margin-bottom: 26px; align-items: flex-end; }
    .ab-stats { padding-top: 22px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .ab-star { animation: none; }
  }

  /* ============================================================
     SELECTED PROJECTS — sticky stack
     Every card is `position: sticky; top: 0` inside its own 100svh slot,
     so N slots give exactly N screens of travel and the next card rises
     over the pinned one. Height, z-index and scroll ranges all derive from
     the PROJECTS array length — append an object, nothing else changes.
     ============================================================ */

  .pj-section {
    position: relative;
    background: var(--ground);
    padding-top: clamp(40px, 6vh, 90px);
  }

  .pj-head {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 var(--gutter) clamp(40px, 7vh, 84px);
  }
  .pj-label {
    margin: 0 0 18px;
    font-size: 11px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.4);
  }
  .pj-title {
    margin: 0;
    font-size: clamp(34px, 4.6vw, 66px);
    font-weight: 600;
    line-height: 1.02;
    letter-spacing: -0.03em;
    text-wrap: balance;
  }
  .pj-dim { color: rgba(255, 255, 255, 0.4); }
  .pj-sub {
    margin: 20px 0 0;
    max-width: 52ch;
    font-size: 16px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.6);
  }

  .pj-stack { position: relative; }

  .pj-slot {
    position: sticky;
    top: 0;
    height: 100svh;
    display: flex;
    align-items: center;
    padding: 0 12px;
  }

  .pj-card {
    position: relative;
    display: block;
    width: 100%;
    height: calc(100svh - 24px);
    border-radius: 28px;
    overflow: hidden;
    background: #0B0B0B;
    box-shadow: 0 40px 120px -30px rgba(0, 0, 0, 0.9), 0 0 0 1px rgba(255,255,255,0.06);
    transform-origin: 50% 0%;
    color: #fff;
  }
  .pj-card:focus-visible {
    outline: none;
    box-shadow:
      0 0 0 4px #050505,
      0 0 0 6px rgba(255, 255, 255, 0.8),
      0 40px 120px -30px rgba(0, 0, 0, 0.9);
  }

  /* media + its accent glow, both parallaxed together */
  .pj-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    transform: scale(1.08);   /* headroom so the parallax never exposes an edge */
    background-size: cover;
    background-position: center;
  }
  .pj-ph {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background:
      radial-gradient(70% 90% at 50% 6%, var(--pj-accent) 0%, transparent 58%),
      linear-gradient(165deg, #14131A 0%, #0A0A0E 55%, #050506 100%);
  }
  .pj-ph span {
    font-family: var(--serif);
    font-style: italic;
    font-size: clamp(38px, 7vw, 104px);
    letter-spacing: -0.03em;
    color: rgba(255, 255, 255, 0.07);
    text-align: center;
    padding: 0 6vw;
  }
  .pj-glow {
    position: absolute;
    left: 50%;
    top: -18%;
    width: 92%;
    height: 78%;
    transform: translateX(-50%);
    z-index: 1;
    opacity: .18;
    filter: blur(80px);
    background: radial-gradient(closest-side, var(--pj-accent) 0%, transparent 100%);
    pointer-events: none;
  }
  .pj-scrim {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(to top, rgba(0,0,0,0.70) 0%, rgba(0,0,0,0.20) 34%, transparent 62%);
  }

  .pj-inner {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto 1fr auto;
    height: 100%;
    padding: 32px;
    gap: 20px;
  }

  .pj-tags { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
  .pj-tags span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.10);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    font-size: 13px;
    font-weight: 500;
  }

  .pj-awards {
    justify-self: end;
    width: 280px;
    max-width: 100%;
    text-align: right;
  }
  .pj-award {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 0;
  }
  .pj-award + .pj-award { border-top: 1px solid rgba(255, 255, 255, 0.10); }
  .pj-mark {
    flex: none;
    width: 46px;
    font-size: 27px;
    font-weight: 700;
    letter-spacing: -0.03em;
    text-align: left;
  }
  .pj-award-text { flex: 1; text-align: left; }
  .pj-award-text b { display: block; font-size: 14px; font-weight: 600; }
  .pj-award-text i {
    display: block;
    margin-top: 3px;
    font-style: normal;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.45);
  }

  .pj-foot { grid-column: 1 / -1; grid-row: 3; align-self: end; }
  .pj-eyebrow {
    margin: 0 0 14px;
    font-size: 15px;
    color: rgba(255, 255, 255, 0.6);
  }
  .pj-name {
    margin: 0;
    font-size: clamp(46px, 8.4vw, 116px);
    font-weight: 600;
    letter-spacing: -0.035em;
    line-height: 0.95;
    text-wrap: balance;
  }
  .pj-name i { font-style: normal; color: rgba(255, 255, 255, 0.4); }

  .pj-btn {
    position: absolute;
    right: 32px;
    bottom: 32px;
    z-index: 4;
    display: grid;
    place-items: center;
    width: 68px;
    height: 68px;
    border-radius: 999px;
    background: #fff;
    color: #000;
    transition: transform .35s cubic-bezier(.2,.7,.3,1);
  }
  .pj-btn svg { transition: transform .35s cubic-bezier(.2,.7,.3,1); }
  .pj-card:hover .pj-btn { transform: scale(1.1); }
  .pj-card:hover .pj-btn svg { transform: translate(2px, -2px); }

  /* reveal — runs once the card becomes the active one */
  .pj-rise { opacity: 0; transform: translateY(24px); }
  .pj-card.seen .pj-rise {
    animation: pj-rise .6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    animation-delay: var(--pj-d, 0ms);
  }
  @keyframes pj-rise { to { opacity: 1; transform: none; } }

  /* --- 768-1023: awards drop under the tags, smaller title and button --- */
  @media (max-width: 1023px) {
    .pj-inner { grid-template-columns: 1fr; grid-template-rows: auto auto 1fr auto; }
    .pj-awards { justify-self: start; text-align: left; width: 100%; }
    .pj-name { font-size: clamp(42px, 7vw, 60px); }
    .pj-btn { width: 56px; height: 56px; right: 24px; bottom: 24px; }
    .pj-foot { grid-row: 4; }
  }

  /* --- <768: no sticky stack. Mobile Safari's dynamic toolbar makes it
         unreliable, so the cards simply flow and fade in on entry. --- */
  @media (max-width: 767px) {
    .pj-slot {
      position: relative;
      top: auto;
      height: auto;
      padding: 0 12px 12px;
    }
    .pj-card {
      height: auto;
      min-height: 78svh;
      transform: none !important;
    }
    .pj-media { transform: scale(1.02) !important; }
    .pj-inner { padding: 22px; }
  }

  @media (min-width: 1024px) {
    .pj-slot { padding: 0 24px; }
    .pj-card { height: calc(100svh - 48px); }
    .pj-inner { padding: 56px; }
    .pj-btn { right: 56px; bottom: 56px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .pj-card, .pj-media { transform: none !important; opacity: 1 !important; }
    .pj-rise { opacity: 1; transform: none; }
    .pj-card.seen .pj-rise { animation: none; }
    .pj-btn, .pj-btn svg { transition: none; }
  }

  /* ============================================================
     PROCESS
     Deliberately borrows the What We Do furniture rather than
     re-styling it: .pill, .svc-head, .section-title, .section-lede,
     .cards and the whole .gcard stack are reused as-is. Only the card
     body differs — index and copy on top, icon riding an arc below.
     ============================================================ */

  .pr-section {
    position: relative;
    background: var(--ground);
    padding: clamp(72px, 11vh, 140px) var(--gutter) clamp(80px, 12vh, 150px);
  }

  /* Shorter than the services cards — this content is a step, not a pitch. */
  .gcard--pr { min-height: clamp(320px, 25vw, 372px); }

  .pr-body {
    position: relative;
    z-index: 6;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: inherit;
    padding: clamp(24px, 2vw, 32px) clamp(24px, 2vw, 32px) 0;
  }
  .pr-idx {
    font-size: 13px;
    color: var(--text-dim);
    font-variant-numeric: tabular-nums;
  }
  .pr-body h3 {
    margin: 12px 0 0;
    font-size: clamp(20px, 1.5vw, 23px);
    font-weight: 600;
    letter-spacing: -0.02em;
  }
  .pr-body p {
    margin: 14px 0 0;
    font-size: 15px;
    line-height: 1.5;
    color: var(--text-dim);
  }

  /* The arc: an oversized circle clipped by the card's own overflow, with
     the icon sitting on its apex. */
  .pr-arc {
    position: relative;
    margin-top: auto;
    height: clamp(92px, 9vw, 118px);
  }
  .pr-arc::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 30px;
    width: 200%;
    aspect-ratio: 1 / 1;
    transform: translateX(-50%);
    border-radius: 50%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0.01) 34%, transparent 62%);
    border-top: 1px solid rgba(var(--a-rgb), 0.20);
  }
  .pr-icon {
    position: absolute;
    left: 50%;
    top: 6px;
    transform: translateX(-50%);
    z-index: 2;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 999px;
    background: linear-gradient(180deg, #FFFFFF 0%, var(--a-btn2) 100%);
    color: var(--s-ink);
    box-shadow: 0 8px 22px -8px rgba(var(--a-rgb), 0.75);
    transition: transform .4s cubic-bezier(.2,.7,.3,1);
  }
  .gcard:hover .pr-icon { transform: translateX(-50%) translateY(-4px); }

  @media (prefers-reduced-motion: reduce) {
    .pr-icon { transition: none; }
  }

  /* ============================================================
     TEAM
     Centred header, then three portrait plates. Each card is a dark
     shell holding an inset frame, so the photo reads as mounted rather
     than bled to the card edge — that inset is what the reference is
     doing and it is the whole character of the block.
     ============================================================ */

  .tm-section {
    position: relative;
    background: var(--ground);
    padding: clamp(70px, 10vh, 130px) var(--gutter) clamp(80px, 12vh, 150px);
  }

  .tm-head { text-align: center; margin-bottom: clamp(38px, 6vh, 70px); }
  .tm-title {
    margin: 22px 0 0;
    font-size: clamp(32px, 4.4vw, 62px);
    font-weight: 600;
    line-height: 1.04;
    letter-spacing: -0.03em;
    text-wrap: balance;
  }
  .tm-title em {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 400;
    letter-spacing: -0.02em;
  }
  .tm-title .fade {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 400;
  }

  .tm-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(16px, 1.6vw, 24px);
    max-width: 1240px;
    margin: 0 auto;
  }

  .tm-card {
    padding: clamp(14px, 1.4vw, 22px);
    border-radius: 26px;
    background: linear-gradient(180deg, rgba(var(--a-rgb), 0.045) 0%, rgba(var(--a-rgb), 0.012) 100%);
    border: 1px solid rgba(var(--a-rgb), 0.10);
    transition: border-color .35s ease, transform .45s cubic-bezier(.2,.7,.3,1);
  }
  .tm-card:hover {
    border-color: rgba(var(--a-rgb), 0.28);
    transform: translateY(-4px);
  }

  .tm-frame {
    position: relative;
    aspect-ratio: 4 / 5;
    border-radius: 16px;
    overflow: hidden;
    background: var(--s-card);
  }

  /* Placeholder plate. Reads as a mounted portrait until a real photo
     lands — --tm-a tints it so the three cards are not identical. */
  .tm-photo {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background:
      radial-gradient(72% 56% at 50% 12%, rgba(var(--tm-a), 0.30) 0%, transparent 62%),
      linear-gradient(180deg, #1C1B26 0%, #131219 46%, #0A0A0E 100%);
  }
  .tm-photo span {
    font-family: var(--serif);
    font-style: italic;
    font-size: clamp(56px, 6vw, 92px);
    letter-spacing: -0.02em;
    color: rgba(255, 255, 255, 0.09);
    transform: translateY(-8%);
  }

  /* Real photo, when one is dropped in. Monochrome so three different
     shoots still read as one set; colour returns on hover. */
  .tm-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 18%;
    filter: grayscale(1) contrast(1.06);
    transition: filter .45s ease, transform .6s cubic-bezier(.2,.7,.3,1);
  }
  .tm-card:hover .tm-img { filter: grayscale(0.35) contrast(1.02); transform: scale(1.03); }

  .tm-tag {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 15px;
    border-radius: 999px;
    background: rgba(12, 11, 18, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    font-size: 13px;
    font-weight: 500;
    color: var(--text);
  }

  .tm-meta {
    position: absolute;
    inset: auto 0 0 0;
    z-index: 3;
    padding: 26px 22px 20px;
    background: linear-gradient(to top, rgba(6,5,10,0.92) 0%, rgba(6,5,10,0.62) 46%, transparent 100%);
  }
  .tm-meta h3 {
    margin: 0;
    font-size: clamp(21px, 1.7vw, 27px);
    font-weight: 600;
    letter-spacing: -0.02em;
  }
  .tm-meta p {
    margin: 5px 0 0;
    font-size: 14.5px;
    color: var(--text-dim);
  }

  @media (min-width: 700px)  { .tm-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (min-width: 1024px) { .tm-grid { grid-template-columns: repeat(3, 1fr); } }

  @media (prefers-reduced-motion: reduce) {
    .tm-card, .tm-img { transition: none; }
    .tm-card:hover { transform: none; }
    .tm-card:hover .tm-img { transform: none; }
  }

  /* ============================================================
     FAQ
     Real buttons with aria-expanded driving a region, so it works on
     a keyboard and reads correctly to a screen reader. Height animates
     via grid-template-rows 0fr -> 1fr, which eases to auto height
     without measuring anything in JS.
     ============================================================ */

  .fq-section {
    position: relative;
    background: var(--ground);
    padding: clamp(70px, 10vh, 130px) var(--gutter) clamp(90px, 14vh, 170px);
  }

  .fq-head { text-align: center; margin-bottom: clamp(34px, 5vh, 60px); }
  .fq-title {
    margin: 22px 0 0;
    font-size: clamp(38px, 5.4vw, 74px);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.035em;
  }

  .fq-list { max-width: 880px; margin: 0 auto; }

  .fq-item { border-bottom: 1px solid rgba(var(--a-rgb), 0.12); }
  .fq-item h3 { margin: 0; font-size: inherit; font-weight: inherit; }

  .fq-q {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 26px 0;
    background: none;
    border: 0;
    text-align: left;
    cursor: pointer;
    color: var(--text);
    font-family: inherit;
    font-size: clamp(16.5px, 1.25vw, 19px);
    font-weight: 600;
    letter-spacing: -0.015em;
    line-height: 1.35;
    transition: color .25s ease;
  }
  .fq-q:hover { color: var(--accent); }
  .fq-q:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 8px; }

  /* Plus that becomes a minus: the vertical stroke rotates out. */
  .fq-icon {
    position: relative;
    flex: none;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    border: 1px solid rgba(var(--a-rgb), 0.18);
    background: rgba(var(--a-rgb), 0.06);
    transition: background-color .3s ease, border-color .3s ease;
  }
  .fq-icon::before,
  .fq-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 14px;
    height: 1.6px;
    border-radius: 2px;
    background: var(--text);
    transform: translate(-50%, -50%);
    transition: transform .35s cubic-bezier(.2,.7,.3,1), background-color .3s ease;
  }
  .fq-icon::after { transform: translate(-50%, -50%) rotate(90deg); }

  .fq-item.open .fq-icon {
    background: #fff;
    border-color: #fff;
  }
  .fq-item.open .fq-icon::before,
  .fq-item.open .fq-icon::after { background: #0A0710; }
  .fq-item.open .fq-icon::after { transform: translate(-50%, -50%) rotate(0deg); }

  .fq-a {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .42s cubic-bezier(.2,.7,.3,1);
  }
  .fq-item.open .fq-a { grid-template-rows: 1fr; }
  .fq-a-inner { overflow: hidden; }
  .fq-a p {
    margin: 0;
    padding: 0 60px 28px 0;
    max-width: 68ch;
    font-size: 15.5px;
    line-height: 1.62;
    color: var(--text-dim);
  }

  @media (prefers-reduced-motion: reduce) {
    .fq-a, .fq-icon, .fq-icon::before, .fq-icon::after, .fq-q { transition: none; }
  }

  /* ============================================================
     CONTACT + FOOTER
     Details on the left, form on the right. Every field has a real
     <label> rather than placeholder-as-label — placeholders vanish the
     moment you type, which is exactly when people need the prompt.
     ============================================================ */

  .ct-section {
    position: relative;
    background: var(--ground);
    padding: clamp(70px, 10vh, 130px) var(--gutter) clamp(60px, 9vh, 110px);
    overflow: hidden;
  }
  .ct-section::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -30%;
    width: 120%;
    height: 90%;
    transform: translateX(-50%);
    pointer-events: none;
    opacity: .5;
    background: radial-gradient(closest-side, rgba(var(--a-vio-rgb), 0.22) 0%, transparent 100%);
    filter: blur(60px);
  }
  /* The glow otherwise runs right up to the section's top edge and leaves a
     seam against the black behind the nav. This holds the ground colour at
     the top and releases it, so the gradient fades in instead of starting. */
  .ct-section::after {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 46%;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      var(--ground) 0%,
      rgba(var(--g-rgb), 0.86) 26%,
      rgba(var(--g-rgb), 0.45) 58%,
      transparent 100%
    );
  }
  .ct-inner { position: relative; z-index: 1; max-width: 1240px; margin: 0 auto; }

  /* Same header shape as Services and Process: pill on its own row, then
     title left with the lede set against it — otherwise a single long
     headline runs the full width and leaves a hole beside the lede. */
  .ct-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    align-items: end;
    margin-bottom: clamp(34px, 5vh, 58px);
  }
  .ct-head .pill { justify-self: start; }
  .ct-title {
    margin: 0;
    max-width: 19ch;          /* breaks to two lines instead of one long run */
    font-size: clamp(34px, 4.4vw, 62px);
    font-weight: 600;
    line-height: 1.03;
    letter-spacing: -0.035em;
    text-wrap: balance;
  }
  .ct-title em { font-family: var(--serif); font-style: italic; font-weight: 400; }
  .ct-lede {
    margin: 0;
    max-width: 44ch;
    font-size: clamp(15.5px, 1.1vw, 17px);
    line-height: 1.55;
    color: var(--text-dim);
  }

  .ct-grid { display: grid; grid-template-columns: 1fr; gap: clamp(30px, 3.4vw, 56px); }

  .ct-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--text-faint);
    margin: 0 0 14px;
  }
  .ct-line { display: block; margin: 0 0 20px; }
  .ct-line a, .ct-line span {
    display: block;
    font-size: clamp(16.5px, 1.25vw, 19px);
    letter-spacing: -0.015em;
    color: var(--text);
    transition: color .25s ease;
  }
  .ct-line a:hover { color: var(--accent); }
  .ct-line small {
    display: block;
    margin-top: 3px;
    font-size: 13.5px;
    color: var(--text-dim);
  }
  .ct-label + .socials { margin-top: 0; }
  .ct-elsewhere { margin-top: 30px; }

  .ct-form { display: grid; gap: 16px; }
  .ct-row { display: grid; grid-template-columns: 1fr; gap: 16px; }
  .ct-field { display: flex; flex-direction: column; gap: 7px; }
  .ct-field label {
    font-size: 13px;
    letter-spacing: 0.01em;
    color: var(--text-dim);
  }
  .ct-field label .req { color: var(--accent); }
  .ct-field input,
  .ct-field select,
  .ct-field textarea {
    width: 100%;
    padding: 12px 15px;
    border-radius: 11px;
    background: rgba(var(--a-rgb), 0.045);
    border: 1px solid rgba(var(--a-rgb), 0.16);
    color: var(--text);
    font-family: inherit;
    /* 16px is a floor, not a preference: iOS and iPadOS Safari zoom the page
       when a focused field is smaller, and never zoom back out. */
    font-size: 16px;
    line-height: 1.45;
    transition: border-color .25s ease, background-color .25s ease;
  }
  .ct-field textarea { min-height: 112px; resize: vertical; }
  .ct-field input::placeholder,
  .ct-field textarea::placeholder { color: var(--text-faint); }
  .ct-field input:focus,
  .ct-field select:focus,
  .ct-field textarea:focus {
    outline: none;
    border-color: rgba(var(--a-rgb), 0.55);
    background: rgba(var(--a-rgb), 0.075);
  }
  .ct-field select { appearance: none; cursor: pointer; }
  .ct-field select option { background: var(--s-raise); color: var(--text); }

  .ct-send {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    padding: 0 26px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(180deg, #FFFFFF 0%, var(--a-btn) 100%);
    color: var(--s-ink);
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.01em;
    cursor: pointer;
    transition: transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s ease;
  }
  .ct-send:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 34px -12px rgba(var(--a-rgb), 0.8);
  }
  .ct-send svg { transition: transform .3s cubic-bezier(.2,.7,.3,1); }
  .ct-send:hover svg { transform: translateX(4px); }

  .ct-note {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--text-faint);
  }
  .ct-note[data-state="error"] { color: #FF9BA6; }

  /* Result panel. A mailto handoff silently does nothing on a machine with
     no default mail client, so the composed enquiry is always shown here
     with a copy button — the visitor is never left with a dead button. */
  .ct-result {
    display: none;
    border: 1px solid rgba(var(--a-rgb), 0.28);
    border-radius: 14px;
    background: rgba(var(--a-rgb), 0.05);
    padding: 20px;
  }
  .ct-result[data-open="true"] { display: block; }
  .ct-result h4 {
    margin: 0 0 6px;
    font-size: 15.5px;
    font-weight: 600;
    color: var(--accent);
  }
  .ct-result p {
    margin: 0 0 14px;
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--text-dim);
  }
  .ct-result pre {
    margin: 0 0 14px;
    padding: 14px;
    max-height: 190px;
    overflow: auto;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.35);
    border: 1px solid rgba(var(--a-rgb), 0.12);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 12.5px;
    line-height: 1.6;
    color: var(--text-dim);
    white-space: pre-wrap;
    word-break: break-word;
  }
  .ct-actions { display: flex; flex-wrap: wrap; gap: 10px; }
  .ct-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid rgba(var(--a-rgb), 0.3);
    background: rgba(var(--a-rgb), 0.07);
    color: var(--text);
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color .25s ease, border-color .25s ease;
  }
  .ct-btn:hover { background: rgba(var(--a-rgb), 0.14); border-color: rgba(var(--a-rgb), 0.5); }

  /* ---- footer ---- */
  .ft {
    position: relative;
    background: var(--ground);
    border-top: 1px solid rgba(var(--a-rgb), 0.12);
    padding: clamp(34px, 5vh, 54px) var(--gutter);
  }
  .ft-inner {
    max-width: 1240px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
  }
  .ft-logo { height: 34px; width: auto; display: block; }
  .ft-nav { display: flex; flex-wrap: wrap; gap: 8px 22px; }
  .ft-nav a {
    font-size: 14px;
    color: var(--text-dim);
    transition: color .25s ease;
  }
  .ft-nav a:hover { color: var(--text); }
  .ft-copy { font-size: 13px; color: var(--text-faint); }

  @media (max-width: 759px) {
    .ct-field input,
    .ct-field select,
    .ct-field textarea { padding: 13px 15px; }
    .ct-line a, .ct-line span { min-height: 44px; display: flex; flex-direction: column; justify-content: center; }
    .ct-send { width: 100%; justify-content: center; }
  }

  @media (min-width: 760px) {
    .ct-row { grid-template-columns: 1fr 1fr; }
  }
  @media (min-width: 1024px) {
    .ct-grid { grid-template-columns: 0.8fr 1.2fr; }
    .ct-head { grid-template-columns: 1fr auto; }
    .ct-head .pill { grid-column: 1 / -1; }
    .ct-lede { justify-self: end; padding-bottom: 6px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .ct-send, .ct-send svg, .ct-field input, .ct-field textarea { transition: none; }
    .ct-send:hover { transform: none; }
  }

  /* ============================================================
     TOUCH SIZING — must be last
     Section blocks further up the sheet (.ab-socials, .ft-*) set their own
     sizes at equal specificity, so an earlier touch override loses on source
     order. Keeping this at the very end is what makes it stick.
     ============================================================ */
  @media (max-width: 1023px) {
    .socials a, .ab-socials a { width: 44px; height: 44px; }
    .services a { min-height: 44px; }
    .rail-foot .label { min-height: 44px; display: inline-flex; align-items: center; }
    .ct-line a, .ct-line span {
      min-height: 44px; display: flex; flex-direction: column; justify-content: center;
    }
    .fq-q { padding: 20px 0; }
    .ft-logo { height: 30px; }
    .ft-inner > a { min-height: 44px; display: inline-flex; align-items: center; }
    .ft-nav a { min-height: 44px; padding: 0 6px; display: inline-flex; align-items: center; }
    .ct-note a { display: inline-block; padding: 6px 0; }
    .bl-link { min-height: 44px; }
    /* Stops the double-tap flash on controls that are tapped, not read. */
    .fq-q, .menu-btn, .m-sheet a, .ct-send, .ct-btn { -webkit-tap-highlight-color: transparent; }
  }
