/* ---- from <style> ---- */
/* ===== colors.css ===== */
/* Apart Works colour system.
   Sourced by sampling the LIVE SITE (full-page capture, 1 Sep 2026) pixel by pixel.
   Where the brand-guidelines PDF disagrees, the live site wins — its palette page
   was never finished (lorem + "FINISH" placeholder stickies). */
:root{
  /* ---- Ink (near-black family) ---- */
  --aw-ink:#14130f;          /* THE dark surface + primary text. <meta theme-color>, sampled everywhere */
  --aw-ink-logo:#242526;     /* the logo artwork's own fill, from the vector files */
  --aw-ink-raised:#1f1e1a;   /* partner rows, cookie card, inputs on ink */
  --aw-ink-soft:#31312b;     /* hairline-adjacent fills on ink */

  /* ---- Cream / paper (primary surface family) ---- */
  --aw-cream:#f4f1e8;        /* THE page colour — header, hero, every light section */
  --aw-cream-warm:#faf8f1;   /* the launch band; a half-step lighter and warmer */
  --aw-cream-edge:#e4e1d8;   /* hairline / divider on cream */
  --aw-white:#ffffff;

  /* ---- Neutrals ---- */
  --aw-grey-100:#f5f5f5;
  --aw-grey-200:#e9e9e9;
  --aw-grey-300:#d9d9d9;
  --aw-grey-400:#b8b8b8;
  --aw-grey-500:#999999;
  --aw-grey-600:#7b7970;     /* body-copy grey on cream, sampled from practice cards */
  --aw-grey-700:#606060;

  /* ---- THE action colour ---- */
  --aw-green:#45ce68;        /* every CTA pill, chip, kicker, progress bar, link accent.
                                This is the brand's signature accent — not red. */
  --aw-green-deep:#30713c;   /* pressed / text-on-green-adjacent */

  /* ---- The four silos, each with its own accent (sampled from the section) ---- */
  --aw-silo-1:#ec5531;       /* 01 Branding — red-orange */
  --aw-silo-2:#f0872d;       /* 02 Marketing — amber */
  --aw-silo-3:#6ebb49;       /* 03 Web Optimization — leaf */
  --aw-silo-4:#21838f;       /* 04 Innovation — teal */

  /* ---- Secondary accents (brand deck + sticker artwork) ---- */
  --aw-red:#e1300c;
  --aw-orange:#fe6438;
  --aw-blue:#0077fc;
  --aw-lime:#ddec55;
  --aw-amber:#ecad2f;
  --aw-violet:#8888e8;
  --aw-coral:#f87670;

  /* ---- The Apart gradient — sampled across the hero video card ---- */
  --aw-gradient-spectrum:linear-gradient(105deg,#f87670 0%,#c17fc4 22%,#aa91ed 38%,#7950d1 52%,#6f98ba 68%,#689e82 82%,#3d783a 100%); /* @kind other */
  --aw-gradient-orb:linear-gradient(135deg,#f87670 0%,#8888e8 45%,#6f98ba 70%,#689e82 100%); /* @kind other */
  --aw-gradient-progress:linear-gradient(90deg,#45ce68 0%,rgba(69,206,104,.15) 100%); /* @kind other */

  /* ---- Semantic aliases (use these in components) ---- */
  --aw-surface-page:var(--aw-cream);
  --aw-surface-page-alt:var(--aw-cream-warm);
  --aw-surface-card:var(--aw-cream-warm);
  --aw-surface-inverse:var(--aw-ink);
  --aw-surface-inverse-alt:var(--aw-ink-raised);
  --aw-surface-sunken:var(--aw-grey-100);

  --aw-text-primary:var(--aw-ink);
  --aw-text-secondary:var(--aw-grey-600);
  --aw-text-muted:var(--aw-grey-500);
  --aw-text-on-inverse:var(--aw-cream);
  --aw-text-on-inverse-muted:#9d9b93;
  --aw-text-accent:var(--aw-green);
  --aw-link:var(--aw-ink);
  --aw-link-hover:var(--aw-green-deep);

  --aw-border:var(--aw-cream-edge);
  --aw-border-strong:var(--aw-ink);
  --aw-border-on-inverse:rgba(244,241,232,.16);

  --aw-accent-primary:var(--aw-green);
  --aw-accent-secondary:var(--aw-silo-4);
  --aw-accent-highlight:var(--aw-green);

  --aw-focus-ring:var(--aw-green);
}

/* ===== elevation.css ===== */
:root{
  /* Elevation is nearly absent in the brand's own documents — flat colour
     blocks and hairlines do the work. Keep shadows quiet. */
  --aw-shadow-none:none;
  --aw-shadow-sm:0 1px 2px rgba(21,20,20,.06);
  --aw-shadow-card:0 2px 10px rgba(21,20,20,.07);
  --aw-shadow-raised:0 12px 32px rgba(21,20,20,.12);
  --aw-shadow-inset-hairline:inset 0 0 0 1px var(--aw-border);
  --aw-shadow-inset-ink:inset 0 0 0 1.5px var(--aw-ink);

  /* Protection gradient for type over photography */
  --aw-scrim-bottom:linear-gradient(to top,rgba(21,20,20,.72) 0%,rgba(21,20,20,0) 60%); /* @kind other */
  --aw-scrim-full:linear-gradient(to right,rgba(21,20,20,.78) 0%,rgba(21,20,20,.15) 100%); /* @kind other */
  --aw-blur-panel:saturate(140%) blur(14px); /* @kind other */
}

/* ===== fonts.css ===== */
/* Apart Works webfonts — both brand families are now real, licensed files.
   The guidelines specify two cuts each and nothing in between:
     Garet                 headers   | regular, extra bold
     Helvetica Now Display body text | regular, bold
   Do not synthesise or load other weights. Files live in assets/fonts/. */

@font-face{font-family:"Garet";src:url("../assets/fonts/Garet-Book.woff2?v=5ed2fd6b") format("woff2"),url("../assets/fonts/Garet-Book.woff?v=0d2dd0bc") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Garet";src:url("../assets/fonts/Garet-Heavy.woff2?v=7b973401") format("woff2"),url("../assets/fonts/Garet-Heavy.woff?v=f4fe98c1") format("woff");font-weight:700 800;font-style:normal;font-display:swap}

@font-face{font-family:"Helvetica Now Display";src:url("../assets/fonts/HelveticaNowDisplay-Regular.woff2?v=9359d55c") format("woff2"),url("../assets/fonts/HelveticaNowDisplay-Regular.woff?v=7dee7048") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Now Display";src:url("../assets/fonts/HelveticaNowDisplay-RegIta.woff2?v=329fb961") format("woff2"),url("../assets/fonts/HelveticaNowDisplay-RegIta.woff?v=f4cebced") format("woff");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Helvetica Now Display";src:url("../assets/fonts/HelveticaNowDisplay-Bold.woff2?v=881c8fe5") format("woff2"),url("../assets/fonts/HelveticaNowDisplay-Bold.woff?v=f3553c96") format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Now Display";src:url("../assets/fonts/HelveticaNowDisplay-BoldIta.woff2?v=14582eba") format("woff2"),url("../assets/fonts/HelveticaNowDisplay-BoldIta.woff?v=d2999efc") format("woff");font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:"Helvetica Now Display";src:url("../assets/fonts/HelveticaNowDisplay-ExtraBold.woff2?v=9c45a275") format("woff2"),url("../assets/fonts/HelveticaNowDisplay-ExtraBold.woff?v=7452a2a8") format("woff");font-weight:800;font-style:normal;font-display:swap}

:root{
  --aw-font-display:"Garet",system-ui,sans-serif;
  --aw-font-body:"Helvetica Now Display","Helvetica Neue",Helvetica,Arial,sans-serif;
  --aw-font-mono:ui-monospace,"SFMono-Regular",Menlo,monospace;
}

/* ===== motion.css ===== */
:root{
  --aw-duration-fast:120ms; /* @kind other */
  --aw-duration-base:220ms; /* @kind other */
  --aw-duration-slow:420ms; /* @kind other */
  --aw-duration-reveal:700ms; /* @kind other */

  /* Confident, no bounce. Things snap into alignment. */
  --aw-ease-standard:cubic-bezier(.22,.61,.36,1); /* @kind other */
  --aw-ease-out:cubic-bezier(.16,1,.3,1); /* @kind other */
  --aw-ease-in:cubic-bezier(.55,0,1,.45); /* @kind other */

  --aw-hover-lift:-2px; /* @kind other */
  --aw-press-scale:.98; /* @kind other */
}

/* ===== radii.css ===== */
:root{
  /* The LIVE SITE is soft, not square. Buttons are full pills; cards and media
     carry a generous radius. (The 2026 guidelines PDF implied square corners —
     the shipped site does not.) */
  --aw-radius-none:0px;
  --aw-radius-xs:4px;
  --aw-radius-sm:8px;      /* partner rows, small chips */
  --aw-radius-md:12px;     /* inputs, cookie card */
  --aw-radius-card:16px;   /* case-study cards, practice-card containers */
  --aw-radius-lg:20px;
  --aw-radius-media:28px;  /* the hero video card */
  --aw-radius-pill:999px;  /* every button, tag and chip */
}

/* ===== spacing.css ===== */
:root{
  --aw-space-1:4px;
  --aw-space-2:8px;
  --aw-space-3:12px;
  --aw-space-4:16px;
  --aw-space-5:24px;
  --aw-space-6:32px;
  --aw-space-7:48px;
  --aw-space-8:64px;
  --aw-space-9:96px;
  --aw-space-10:128px;
  --aw-space-11:160px;

  /* Layout */
  --aw-container:1280px;
  --aw-container-narrow:820px;
  --aw-gutter:clamp(20px,5vw,72px); /* @kind spacing */
  --aw-section-y:clamp(72px,10vw,160px); /* @kind spacing */
  --aw-grid-gap:24px;
}

/* ===== typography.css ===== */
:root{
  /* Weights actually used by the brand: Garet regular + extra bold,
     Helvetica Now Display regular + bold. Nothing in between. */
  --aw-weight-regular:400;
  --aw-weight-bold:700;
  --aw-weight-extrabold:800;

  /* Display scale — Garet, always uppercase, always tight */
  --aw-text-hero:clamp(4rem,9.2vw,9.5rem);
  --aw-text-display-1:clamp(2.75rem,5vw,4.5rem);
  --aw-text-display-2:clamp(2.25rem,3.6vw,3.25rem);
  --aw-text-display-3:1.75rem;
  --aw-text-heading:1.25rem;

  /* Body scale — Helvetica Now Display */
  --aw-text-lead:1.25rem;
  --aw-text-body:1rem;
  --aw-text-body-sm:.875rem;
  --aw-text-caption:.75rem;
  --aw-text-overline:.75rem;

  /* Line heights */
  --aw-leading-hero:.86; /* @kind other */
  --aw-leading-display:.94; /* @kind other */
  --aw-leading-heading:1.1; /* @kind other */
  --aw-leading-body:1.55; /* @kind other */
  --aw-leading-tight:1.3; /* @kind other */

  /* CASING RULE (from the live site): display headings and small
     labels/kickers/chips are UPPERCASE. Navigation, buttons, links and body copy
     are SENTENCE CASE. Do not uppercase a button. */

  /* Tracking — display tightens, overlines open right up */
  --aw-tracking-hero:-.025em; /* @kind other */
  --aw-tracking-display:-.02em; /* @kind other */
  --aw-tracking-normal:0; /* @kind other */
  --aw-tracking-overline:.18em; /* @kind other */
  --aw-tracking-button:0; /* @kind other */ /* buttons are sentence case; no tracking */
}

/* ===== base.css ===== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--aw-surface-page);color:var(--aw-text-primary);font-family:var(--aw-font-body);font-size:var(--aw-text-body);line-height:var(--aw-leading-body);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--aw-font-display);font-weight:var(--aw-weight-extrabold);text-transform:uppercase;line-height:var(--aw-leading-display);letter-spacing:var(--aw-tracking-display);margin:0}
h1{font-size:var(--aw-text-display-1)}
/* Outlined emphasis. The stroke colour must be explicit: currentColor would resolve
   against color:transparent and vanish. Override --aw-outline-ink on dark sections. */
.aw-outline{color:transparent;-webkit-text-stroke:2px var(--aw-outline-ink,var(--aw-ink))}
.aw-outline-inverse{color:transparent;-webkit-text-stroke:2px var(--aw-cream)}
h2{font-size:var(--aw-text-display-2)}
h3{font-size:var(--aw-text-display-3)}
h4{font-size:var(--aw-text-heading)}
p{margin:0}
a{color:var(--aw-link);text-decoration:none;border-bottom:1px solid currentColor;transition:color var(--aw-duration-fast) var(--aw-ease-standard)}
a:hover{color:var(--aw-link-hover)}
a.aw-plain{border-bottom:none}
a.aw-plain:hover{color:var(--aw-green)}
img{max-width:100%;display:block}
::selection{background:var(--aw-green);color:var(--aw-ink)}
:focus-visible{outline:2px solid var(--aw-focus-ring);outline-offset:2px}
.aw-overline{font-family:var(--aw-font-body);font-weight:var(--aw-weight-bold);font-size:var(--aw-text-overline);letter-spacing:var(--aw-tracking-overline);text-transform:uppercase;color:var(--aw-text-secondary)}
.aw-lead{font-size:var(--aw-text-lead);line-height:var(--aw-leading-tight)}


/* ===== Legacy variable names used below, aliased onto the Apart Works tokens ===== */
:root{
  --ink:var(--aw-ink); --ink-soft:var(--aw-text-secondary); --ink-mute:var(--aw-text-muted);
  --cream:var(--aw-cream); --cream-2:var(--aw-cream-warm); --cream-3:var(--aw-grey-100);
  --paper:var(--aw-cream-warm); --line:var(--aw-cream-edge); --line-strong:var(--aw-grey-400);
  --accent:var(--aw-green); --accent-ink:var(--aw-ink);
  --sig:var(--aw-lime); --sig-bg:rgba(221,236,85,.14);
  --org:var(--aw-orange); --org-bg:rgba(254,100,56,.12);
  --cor:var(--aw-blue); --cor-bg:rgba(0,119,252,.10);
  --maxw:var(--aw-container); --gutter:var(--aw-gutter);
  --r-sm:var(--aw-radius-sm); --r-md:var(--aw-radius-md); --r-lg:var(--aw-radius-lg);
  --ease:var(--aw-ease-standard);
  --display:var(--aw-font-display); --body:var(--aw-font-body);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--aw-cream);font-family:var(--body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}
.band{padding-block:clamp(72px,10vw,138px)}
.band--cream{background:var(--cream)}
.band--paper{background:var(--paper)}
.band--ink{background:var(--ink);color:var(--cream)}
.band--ink .eyebrow{color:var(--accent)}
.band--ink .lede{color:#cfcabb}

h1,h2,h3,h4{font-family:var(--display);font-weight:var(--aw-weight-extrabold);line-height:var(--aw-leading-display);letter-spacing:var(--aw-tracking-display);margin:0}
h1{font-size:var(--aw-text-hero);line-height:var(--aw-leading-hero);letter-spacing:var(--aw-tracking-hero)}
h2{font-size:clamp(31px,4.4vw,64px)}
h3{font-size:clamp(20px,1.9vw,27px);line-height:1.16;letter-spacing:-.014em}
h4{font-size:15px;font-stretch:110%;letter-spacing:.02em}
p{margin:0 0 1.1em}
.eyebrow{font-family:var(--display);font-size:var(--aw-text-overline);font-weight:var(--aw-weight-bold);letter-spacing:var(--aw-tracking-overline);text-transform:uppercase;color:var(--aw-green);margin:0 0 20px}
.lede{font-size:clamp(18px,1.55vw,21px);color:var(--ink-soft);max-width:62ch}
.small{font-size:15.5px;color:var(--ink-soft)}

.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:10px;font-family:var(--body);font-weight:var(--aw-weight-bold);text-transform:uppercase;letter-spacing:var(--aw-tracking-button);font-size:15px;padding:16px 26px;border-radius:var(--aw-radius-pill);text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform var(--aw-duration-base) var(--ease),background var(--aw-duration-base) var(--ease),color var(--aw-duration-base) var(--ease)}
.btn:hover{transform:translateY(var(--aw-hover-lift))}
.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.75) 50%,transparent 65%);transform:translateX(-140%);transition:transform var(--aw-duration-slow) var(--aw-ease-out)}
.btn:hover:before{transform:translateX(140%)}
.btn--go{background:var(--aw-lime);color:var(--aw-ink)}
.btn--go:hover{color:var(--aw-ink)}
.btn--go:after{content:"→";display:inline-block;transition:transform var(--aw-duration-base) var(--ease)}
.btn--go:hover:after{transform:translateX(3px)}
.nav-in .btn--go:after{content:none}
.btn--line{border-color:currentColor;background:transparent}
.btn--line:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.band--ink .btn--line:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.btn--sm{padding:11px 18px;font-size:13.5px}

.nav-right .btn--go.nav-book{transition:background var(--aw-duration-base) var(--ease),color var(--aw-duration-base) var(--ease),transform var(--aw-duration-base) var(--ease)}
.nav-right .btn--go.nav-book:after{content:"";display:block;position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:var(--aw-gradient-spectrum);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:0;transition:opacity var(--aw-duration-base) var(--ease)}
.nav-right .btn--go.nav-book:hover{background:transparent;color:#fff}
.nav-right .btn--go.nav-book:hover:after{opacity:1}

nav{position:sticky;top:0;z-index:50;background:rgba(20,19,15,.88);backdrop-filter:blur(14px)}
.nav-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--line);overflow:hidden}
.nav-progress-fill{width:0%;height:100%;background:var(--aw-gradient-spectrum);background-size:100vw 100%;background-position:left center;background-repeat:no-repeat;will-change:width}

.nav-in{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:15px}
.mark{display:inline-flex;align-items:center;text-decoration:none;border-bottom:none;cursor:pointer}
.mark-stage{position:relative;display:inline-flex;align-items:center;height:26px}
.mark-icon{display:block;height:26px;width:auto;flex:none;fill:var(--aw-cream)}
.mark-reveal{display:inline-flex;align-items:center;width:0;overflow-x:hidden;overflow-y:visible;white-space:nowrap;flex:none;font-family:var(--aw-font-display);font-weight:var(--aw-weight-extrabold);text-transform:uppercase;letter-spacing:var(--aw-tracking-display);color:var(--aw-cream);font-size:35px;line-height:26px}

.mark-stage.mark-anim .mark-reveal-part{animation:revealPart 1.5s var(--aw-ease-standard) both}
.mark-stage.mark-anim .mark-reveal-orks{animation:revealOrks 1.5s var(--aw-ease-standard) both}

@keyframes revealPart{0%,8%{width:0}28%,72%{width:92px}92%,100%{width:0}}
@keyframes revealOrks{0%,20%{width:0}40%,72%{width:100px}92%,100%{width:0}}
.nav-right{display:flex;align-items:center;gap:28px}
.nav-links{display:flex;gap:24px;font-size:15px;font-family:var(--display);font-weight:var(--aw-weight-bold);text-transform:lowercase}
.nav-links a{text-decoration:none;border-bottom:none;color:var(--cream);transition:color .2s}
.nav-links a:hover{background:var(--aw-gradient-spectrum);-webkit-background-clip:text;background-clip:text;color:transparent}

.nav-burger{display:none;flex:none;width:36px;height:36px;border:none;background:none;padding:0;margin:0;cursor:pointer;position:relative}
.nav-burger span{position:absolute;left:5px;right:5px;height:2px;background:var(--aw-cream);border-radius:2px;transition:transform .3s var(--ease),opacity .2s var(--ease),top .3s var(--ease)}
.nav-burger span:nth-child(1){top:12px}
.nav-burger span:nth-child(2){top:18px}
.nav-burger span:nth-child(3){top:24px}
.nav-burger[aria-expanded="true"] span:nth-child(1){top:18px;transform:rotate(45deg)}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-burger[aria-expanded="true"] span:nth-child(3){top:18px;transform:rotate(-45deg)}

.nav-mobile{display:none;flex-direction:column;max-height:0;overflow:hidden;background:rgba(20,19,15,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid rgba(244,241,232,.1);transition:max-height .35s var(--ease)}
.nav-mobile a{display:block;padding:16px var(--gutter);font-family:var(--display);font-weight:var(--aw-weight-bold);font-size:17px;text-transform:lowercase;color:var(--cream);text-decoration:none;border-bottom:1px solid rgba(244,241,232,.08);transition:color .2s}
.nav-mobile a:hover{color:var(--sig)}
.nav-mobile .btn{width:calc(100% - 2 * var(--gutter));margin:16px var(--gutter) 22px;justify-content:center;border-bottom:none}
.nav-mobile a.btn--go,.nav-mobile a.btn--go:hover,.nav-mobile a.btn--go:focus{color:var(--aw-ink)}
nav.nav-open .nav-mobile{max-height:520px}

@media(max-width:1040px){
  .nav-links{display:none}
  .nav-burger{display:block}
  .nav-mobile{display:flex}
}

.hero{padding-block:clamp(60px,8vw,120px) clamp(88px,10vw,150px);background:var(--ink);position:relative;isolation:isolate;min-height:calc(100vh - 170px);min-height:calc(100svh - 170px);box-sizing:border-box}
.hero h1{max-width:15ch}
.hero-h1{text-transform:none;font-family:var(--body);font-weight:var(--aw-weight-regular);letter-spacing:var(--aw-tracking-normal)}
.hero-h1 .hero-strong{font-family:var(--display);font-weight:var(--aw-weight-extrabold);text-transform:uppercase;letter-spacing:var(--aw-tracking-hero)}
.hero-strong-outline{display:inline-block}
.apart-outline{height:.78em;width:auto;display:inline-block;vertical-align:-0.06em}
.grad{background:var(--aw-gradient-spectrum);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{margin-top:32px;max-width:58ch;font-size:clamp(18px,1.6vw,22px);color:var(--aw-cream)}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px;align-items:center}
.scandef{margin-top:26px;max-width:60ch;border-left:3px solid var(--sig);background:var(--sig-bg);padding:18px 22px;border-radius:0 var(--r-sm) var(--r-sm) 0}
.scandef p{margin:0;font-size:15.5px;color:#20402c}
.scandef b{font-family:var(--display);font-stretch:115%;letter-spacing:-.01em}

.reveal{margin-top:22px;max-width:58ch}
.reveal summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:7px;font-size:15px;font-weight:600;color:var(--ink-soft);border-bottom:1.5px solid var(--line-strong);padding-bottom:2px;transition:color .2s,border-color .2s}
.reveal summary::-webkit-details-marker{display:none}
.reveal summary:hover{color:var(--ink);border-color:var(--sig)}
.reveal summary:after{content:"+";font-size:17px;font-weight:400;color:var(--ink-mute);transition:transform .25s var(--ease)}
.reveal[open] summary:after{transform:rotate(45deg)}
.reveal-body{margin-top:16px;border-left:3px solid var(--sig);background:var(--sig-bg);padding:18px 22px;border-radius:0 var(--r-sm) var(--r-sm) 0;animation:slideIn .32s var(--ease)}
.reveal-body p{margin:0;font-size:15.5px;color:#20402c}
.band--ink .reveal summary{color:rgba(244,241,232,.75);border-color:rgba(244,241,232,.35)}
.band--ink .reveal summary:hover{color:var(--aw-cream);border-color:transparent;border-image:var(--aw-gradient-spectrum) 1}
.band--ink .reveal summary:after{color:rgba(244,241,232,.5)}
.band--ink .reveal-body{background:rgba(255,255,255,.08);border-left-color:var(--sig)}
.cs-caption{position:relative;z-index:1;color:var(--aw-cream)}
.cs-caption-link{color:var(--aw-cream);font-weight:600;border-bottom:1.5px solid rgba(244,241,232,.55);padding-bottom:1px;transition:color .2s,border-color .2s}
.cs-caption-link:hover{color:var(--sig);border-color:var(--sig)}
@keyframes slideIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.markfilm{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(22px,3.5vw,48px);align-items:center;margin-top:44px;padding:clamp(26px,3.5vw,40px);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--cream-2)}
@media(max-width:820px){.markfilm{grid-template-columns:1fr}}
.markfilm-copy .small{font-size:16px;color:var(--ink-soft);line-height:1.6}
.markfilm-frame{position:relative;aspect-ratio:16/9;border-radius:var(--r-md);overflow:hidden;background:var(--ink);display:grid;place-items:center}
.markfilm-frame .play{width:66px;height:66px;border-radius:50%;background:var(--accent);display:grid;place-items:center}
.markfilm-frame .play:after{content:"";border-left:18px solid var(--accent-ink);border-block:11px solid transparent;margin-left:4px}
.reelgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
@media(max-width:820px){.markfilm{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(22px,3.5vw,48px);align-items:center;margin-top:44px;padding:clamp(26px,3.5vw,40px);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--cream-2)}
@media(max-width:820px){.markfilm{grid-template-columns:1fr}}
.markfilm-copy .small{font-size:16px;color:var(--ink-soft);line-height:1.6}
.markfilm-frame{position:relative;aspect-ratio:16/9;border-radius:var(--r-md);overflow:hidden;background:var(--ink);display:grid;place-items:center}
.markfilm-frame .play{width:66px;height:66px;border-radius:50%;background:var(--accent);display:grid;place-items:center}
.markfilm-frame .play:after{content:"";border-left:18px solid var(--accent-ink);border-block:11px solid transparent;margin-left:4px}
.reelgrid{grid-template-columns:1fr}}
.reel{aspect-ratio:16/9;border-radius:var(--r-md);border:1px solid var(--line);background:var(--cream-2);display:grid;place-items:center;position:relative;overflow:hidden}
.reel span{position:absolute;left:16px;bottom:13px;font-size:13px;color:var(--ink-mute)}
.reel .dot{width:48px;height:48px;border-radius:50%;background:var(--ink);display:grid;place-items:center}
.reel .dot:after{content:"";border-left:13px solid var(--cream);border-block:8px solid transparent;margin-left:4px}
.brandreel{position:relative;width:100%;min-height:min(80vh,660px);background:var(--aw-ink);overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(28px,4vw,48px)}
.brandreel-bg{position:absolute;inset:0;opacity:0}
.brandreel-bg-teal{background:radial-gradient(circle at 50% 42%,var(--aw-silo-4),var(--aw-ink) 70%);animation:brandreelTeal 9s ease-in-out infinite}
.brandreel-bg-bright{background:var(--aw-gradient-spectrum);animation:brandreelBright 9s ease-in-out infinite}
.brandreel-vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(120% 120% at 50% 42%,rgba(0,0,0,0) 40%,rgba(0,0,0,.62) 100%)}
.brandreel-grain{position:absolute;inset:-10%;z-index:3;pointer-events:none;opacity:.4;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='2.4' intercept='-0.6'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");background-size:130px 130px}
.brandreel-mark{position:absolute;top:clamp(20px,3vw,40px);right:clamp(20px,3vw,44px);z-index:4;width:clamp(46px,5vw,74px)}
.brandreel-mark svg{width:100%;height:auto;fill:var(--aw-cream);opacity:.92}
.brandreel-badge{position:relative;z-index:3;width:clamp(220px,30vmin,400px);height:clamp(220px,30vmin,400px);display:flex;align-items:center;justify-content:center}
.brandreel-glow{position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle at 34% 30%,var(--aw-silo-4),transparent 62%),radial-gradient(circle at 68% 72%,var(--aw-blue),transparent 62%);filter:blur(36px);opacity:.85;animation:brandreelGlow 9s ease-in-out infinite}
.brandreel-pulse{position:absolute;inset:14%;border-radius:50%;border:1px solid var(--aw-lime);opacity:0}
.brandreel-pulse-1{animation:brandreelPulse 9s ease-out infinite}
.brandreel-pulse-2{animation:brandreelPulse 9s ease-out infinite;animation-delay:.6s}
.brandreel-ring{position:absolute;inset:0;width:100%;height:100%;animation:brandreelSpin 32s linear infinite}
.brandreel-ring text{fill:var(--aw-cream);font-family:var(--display);font-weight:var(--aw-weight-extrabold);font-size:11px;letter-spacing:.14em}
.brandreel-aw{position:relative;width:36%;height:auto;fill:var(--aw-cream);z-index:1}
@keyframes brandreelSpin{to{transform:rotate(360deg)}}
@keyframes brandreelTeal{0%,55%{opacity:1}70%{opacity:0}97%{opacity:0}100%{opacity:1}}
@keyframes brandreelBright{0%,58%{opacity:0}72%{opacity:1}90%{opacity:1}100%{opacity:0}}
@keyframes brandreelGlow{0%,55%{opacity:.85}70%{opacity:.35}90%{opacity:.35}100%{opacity:.85}}
@keyframes brandreelPulse{0%{opacity:0;transform:scale(.7)}62%{opacity:0}70%{opacity:.9;transform:scale(.85)}88%{opacity:0;transform:scale(1.25)}100%{opacity:0;transform:scale(.7)}}
.aboutstrip{background:var(--ink);border-block:1px solid var(--aw-border-on-inverse);overflow:hidden}
.aboutstrip-wrap{padding-block:clamp(56px,7vw,96px);display:grid;grid-template-columns:1fr 3fr;gap:clamp(24px,4vw,48px);align-items:center}
@media(max-width:760px){.aboutstrip-wrap{grid-template-columns:1fr}}
.aboutstrip-strip{overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%)}
.aboutstrip-track{display:flex;gap:16px;width:max-content;animation:aboutstripScroll 22s linear infinite}
.aboutstrip-strip:hover .aboutstrip-track{animation-play-state:paused}
@keyframes aboutstripScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.aboutstrip-item{flex:0 0 clamp(220px,26vw,340px)}
.aboutstrip-card{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--r-card);overflow:hidden;background-size:cover;background-position:center}
.aboutstrip-cap{display:flex;align-items:center;justify-content:space-between;margin-top:10px;font-family:var(--display)}
.aboutstrip-cap--single{justify-content:flex-start}
.aboutstrip-city{font-weight:800;font-size:15px;color:var(--aw-cream)}
.aboutstrip-country{font-weight:600;font-size:13px;color:rgba(244,241,232,.55)}
@media(prefers-reduced-motion:reduce){.aboutstrip-track{animation:none}}
.team-carousel{min-width:0;position:relative}
.team-track{list-style:none;margin:0;padding:0 0 4px;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 60px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 60px),transparent);display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab}
.team-track::-webkit-scrollbar{display:none}
.team-track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.team-track:focus-visible{outline:2px solid var(--aw-lime);outline-offset:4px}
.team-card{flex:0 0 clamp(200px,20vw,260px);scroll-snap-align:start;margin:0}
.team-photo{display:block;width:100%;height:auto;aspect-ratio:716/1058;object-fit:cover;border-radius:var(--r-md);user-select:none;-webkit-user-drag:none}
.team-media{position:relative;border-radius:var(--r-md);overflow:hidden}
.team-media .team-photo{border-radius:0}
.team-photo--hover{position:absolute;inset:0;height:100%;opacity:0;transition:opacity .45s var(--ease)}
.team-card:hover .team-photo--hover,.team-card:focus-within .team-photo--hover{opacity:1}
.team-title{margin:14px 0 2px;font-family:var(--display);font-weight:var(--aw-weight-extrabold);text-transform:uppercase;font-size:15px;letter-spacing:.01em;color:var(--aw-cream);line-height:1.2}
.team-name{margin:0;font-size:13.5px;color:rgba(244,241,232,.65);line-height:1.4}
.team-nav{display:flex;gap:10px;margin-top:22px}
.team-arrow{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(244,241,232,.5);background:transparent;color:var(--aw-cream);display:grid;place-items:center;cursor:pointer;transition:background var(--aw-duration-base) var(--ease),color var(--aw-duration-base) var(--ease),border-color var(--aw-duration-base) var(--ease),opacity var(--aw-duration-base) var(--ease)}
.team-arrow svg{width:16px;height:16px}
.team-arrow:hover:not(:disabled){background:var(--aw-cream);color:var(--aw-ink);border-color:var(--aw-cream)}
.team-arrow:disabled{opacity:.3;cursor:default}


.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(30px,6vw,84px);align-items:start}
@media(max-width:900px){.split{grid-template-columns:1fr}}

.cards{display:grid;gap:22px;margin-top:52px}
.cards--2{grid-template-columns:repeat(2,1fr)}
.cards--3{grid-template-columns:repeat(3,1fr)}
.cards--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.cards--3,.cards--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.cards--2,.cards--3,.cards--4{grid-template-columns:1fr}}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:30px 28px 32px}
.band--ink .card{background:#1c1a14;border-color:#302c22}
.card h3{margin-bottom:12px}
.card p{font-size:15.5px;color:var(--ink-soft);margin-bottom:0}
.band--ink .card p{color:#b9b4a5}

.testbox{margin-top:44px;border:1px solid var(--line-strong);background:var(--cream-2);border-radius:var(--r-md);padding:30px 32px}
.testbox p{margin:0;font-size:clamp(18px,1.7vw,23px);font-family:var(--display);font-stretch:115%;font-weight:700;letter-spacing:-.016em;line-height:1.25}
.testbox span{display:block;margin-top:14px;font-family:var(--body);font-weight:400;font-size:16px;letter-spacing:0;color:var(--ink-soft);line-height:1.6}

.figbox{margin-top:48px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);padding:30px 26px 18px}
.howproc-wrap{position:relative;margin-top:clamp(48px,6vw,90px);padding-top:clamp(10px,2vw,20px)}
.howproc-svg{position:absolute;left:0;top:0;width:100%;height:100%;z-index:1;pointer-events:none}
.howproc-line{fill:none;stroke:rgba(244,241,232,.32);stroke-width:2;stroke-dasharray:1600;stroke-dashoffset:1600;transition:stroke-dashoffset 2.4s cubic-bezier(.65,0,.35,1)}
.howproc-wrap.in .howproc-line{stroke-dashoffset:0}
.howproc-return{fill:none;stroke:rgba(244,241,232,.18);stroke-width:1.5;stroke-dasharray:6 10;opacity:0;transition:opacity .8s ease 1.6s}
.howproc-wrap.in .howproc-return{opacity:1}
.howproc-dot{opacity:0;filter:drop-shadow(0 0 6px rgba(244,241,232,.6))}
.howproc-wrap.in .howproc-dot{opacity:1;transition:opacity .2s ease}
.howproc-row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,3vw,40px);align-items:start;text-align:center}
.howproc-circle{position:relative;z-index:2;width:clamp(56px,8vw,96px);height:clamp(56px,8vw,96px);border-radius:50%;margin:0 auto clamp(16px,2vw,26px);opacity:0;transform:scale(.6);transition:opacity .55s ease,transform .6s cubic-bezier(.34,1.56,.64,1)}
.howproc-node:nth-child(2) .howproc-circle{z-index:0}
.howproc-wrap.in .howproc-circle{opacity:1;transform:scale(1)}
.howproc-node:nth-child(1) .howproc-circle{transition-delay:.05s}
.howproc-node:nth-child(2) .howproc-circle{transition-delay:.85s}
.howproc-node:nth-child(3) .howproc-circle{transition-delay:1.7s}
.howproc-info{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.howproc-wrap.in .howproc-info{opacity:1;transform:none}
.howproc-node:nth-child(1) .howproc-info{transition-delay:.25s}
.howproc-node:nth-child(2) .howproc-info{transition-delay:1.05s}
.howproc-node:nth-child(3) .howproc-info{transition-delay:1.9s}
.howproc-num{font-family:var(--display);font-weight:var(--aw-weight-extrabold);font-size:12px;letter-spacing:.12em;color:rgba(244,241,232,.4);margin:0 0 4px}
.howproc-name{font-family:var(--body);font-weight:var(--aw-weight-regular);text-transform:lowercase;letter-spacing:var(--aw-tracking-normal);font-size:clamp(19px,1.9vw,25px);margin:0 0 4px;color:var(--aw-cream)}
.howproc-desc{font-family:var(--body);font-size:13px;color:rgba(244,241,232,.6);margin:0}
@media(prefers-reduced-motion:reduce){.howproc-line,.howproc-circle,.howproc-info,.step{transition:none!important;opacity:1!important;transform:none!important;stroke-dashoffset:0!important}}
.band--ink .figbox{background:#1c1a14;border-color:#302c22}
.figcap{font-size:14px;color:var(--ink-mute);text-align:center;margin:8px 0 0}
.band--ink .figcap{color:#9d9b93}
/* ===== How it works: scroll-driven SIGNAL → ORIGIN → CORE ===== */
.flow{position:relative;background:var(--aw-ink);color:#fff}
.flow-track{position:relative;height:720vh}
.flow-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.flow-layer{position:absolute;inset:0;pointer-events:none}
.flow-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;display:flex;flex-direction:column;align-items:center;text-align:center;width:min(90vw,420px)}
.flow-dot{width:clamp(84px,10vw,128px);aspect-ratio:1;border-radius:50%;background:var(--aw-lime);box-shadow:0 0 60px rgba(0,0,0,.6);will-change:transform,background}
.flow-copy{position:absolute;top:calc(100% + 14px);left:0;right:0;opacity:0;transform:translateY(10px);transition:opacity .2s var(--ease),transform .2s var(--ease)}
.flow-copy.is-active{transition-delay:.18s;transition-duration:.4s}
.flow-center{padding-bottom:0}
.flow-copy.is-active{opacity:1;transform:none}
.flow-copy-wrap{position:relative}
.flow-kick{font-family:var(--display);font-size:var(--aw-text-overline);font-weight:var(--aw-weight-bold);letter-spacing:var(--aw-tracking-overline);text-transform:uppercase;color:#fff;margin:18px 0 6px}
.flow-name{font-family:var(--body);font-weight:var(--aw-weight-regular);text-transform:lowercase;letter-spacing:0;font-size:clamp(30px,3.4vw,48px);line-height:1;margin:0 0 8px;color:#fff}
.flow-desc{font-size:15px;color:#fff;margin:0}
.flow-copy .flow-kick,.flow-copy .flow-name,.flow-copy .flow-desc{text-shadow:0 2px 18px rgba(0,0,0,.85)}
.flow-scrim{background:radial-gradient(ellipse 34vmax 30vmax at 50% 54%,rgba(20,19,15,.92) 0%,rgba(20,19,15,.75) 45%,rgba(20,19,15,0) 75%);opacity:0;z-index:4}
.flow-dot{position:relative;display:grid;place-items:center}
.flow-dot-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 10px;font-family:var(--display);font-size:10px;font-weight:var(--aw-weight-bold);letter-spacing:var(--aw-tracking-overline);text-transform:uppercase;line-height:1.2;color:var(--aw-ink);text-align:center;transition:opacity .3s var(--ease)}
.flow-dot-label[data-step="1"],.flow-dot-label[data-step="2"]{opacity:0}
.flow-dot-label--light{color:#fff}
.flow-copy--num{display:grid;grid-template-columns:auto auto;justify-content:center;align-items:baseline;column-gap:14px;row-gap:2px;text-align:left}
.flow-num{font-family:var(--display);font-weight:var(--aw-weight-extrabold);font-size:clamp(34px,3.6vw,52px);line-height:1;letter-spacing:-.01em;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.85)}
.flow-num-text{display:flex;flex-direction:column;align-items:flex-start}
.flow-copy--num{padding-top:18px}
.flow-copy--num .flow-name{margin:0}
.flow-num-lbl{justify-self:center;font-family:var(--display);font-size:var(--aw-text-overline);font-weight:var(--aw-weight-bold);letter-spacing:var(--aw-tracking-overline);text-transform:uppercase;color:#fff;padding-left:.18em;text-shadow:0 2px 18px rgba(0,0,0,.85)}
.flow-copy--num .flow-desc{margin:0}
.flow-copy--num .flow-num{font-family:var(--body);font-weight:var(--aw-weight-regular);font-size:clamp(30px,3.4vw,48px);letter-spacing:0;line-height:1}
.form-disclaimer{margin:12px 0 0;font-size:12px;line-height:1.5;color:inherit;opacity:.6;max-width:56ch}
/* signal rings */
.flow-rings i{position:absolute;left:50%;top:50%;width:clamp(84px,10vw,128px);aspect-ratio:1;margin:0;border-radius:50%;border:1.5px solid var(--aw-lime);transform:translate(-50%,-50%) scale(1);opacity:0;will-change:transform,opacity;vector-effect:non-scaling-stroke}
/* signal logos */
.flow-logo{position:absolute;left:50%;top:50%;padding:11px 18px;border-radius:999px;border:1px solid rgba(221,236,85,.35);background:#1a1914;font-family:var(--display);font-weight:var(--aw-weight-extrabold);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.85);white-space:nowrap;opacity:0;transform:translate(-50%,-50%) rotate(var(--a)) translateX(var(--rad,34vmin)) rotate(calc(-1 * var(--a))) scale(.8);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.flow-logo.is-in{opacity:1;transform:translate(-50%,-50%) rotate(var(--a)) translateX(var(--rad,34vmin)) rotate(calc(-1 * var(--a))) scale(1)}
.flow-logo img{display:block;height:var(--h,24px);width:auto;max-width:none}
.flow-logo{line-height:0}
/* origin marquee */
.flow-marquee{display:flex;flex-direction:column;justify-content:center;gap:clamp(16px,2.2vw,28px);padding-top:60px;opacity:0}
.flow-row{display:flex;gap:clamp(16px,2vw,24px);width:max-content;will-change:transform}
.fcard{flex:none;width:clamp(280px,31vw,480px);aspect-ratio:3/2;border-radius:var(--r-md);background:#1f1e1a;border:1px solid rgba(255,255,255,.12);padding:clamp(18px,1.8vw,28px);display:flex;flex-direction:column;gap:12px;color:#fff;position:relative;overflow:hidden}
.fcard--img{padding:0;background:#1f1e1a;border:2px solid var(--aw-orange)}
.fcard--img img{display:block;width:100%;height:100%;object-fit:cover}
.fcard p{margin:auto 0 0;font-size:14px;color:rgba(255,255,255,.7)}
.fcard-k,.ft-k{font-family:var(--display);font-size:11.5px;font-weight:var(--aw-weight-bold);letter-spacing:.14em;text-transform:uppercase;color:var(--aw-orange)}
.fcard-quad{position:relative;flex:1;display:grid;grid-template-columns:1fr 1fr;gap:3px}
.fcard-quad i{border:1px dashed rgba(255,255,255,.18);border-radius:4px}
.fcard-quad b{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--aw-orange);box-shadow:0 0 0 6px rgba(254,100,56,.2)}
.fcard-score{font-family:var(--display);font-weight:var(--aw-weight-extrabold);font-size:clamp(40px,3.6vw,58px);line-height:1}
.fcard-score small{font-size:14px;color:rgba(255,255,255,.5);margin-left:4px}
.fcard-bars{display:flex;flex-direction:column;gap:6px}
.fcard-bars i{height:7px;border-radius:4px;background:linear-gradient(90deg,var(--aw-orange),rgba(254,100,56,.3))}
.fcard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;flex:1}
.fcard-grid i{border-radius:4px;background:rgba(255,255,255,.08)}
.fcard-grid i.hl{background:rgba(254,100,56,.45)}
.fcard-n{position:absolute;top:clamp(18px,1.8vw,28px);right:clamp(18px,1.8vw,28px);font-family:var(--display);font-weight:var(--aw-weight-extrabold);font-size:12px;letter-spacing:.08em;color:rgba(255,255,255,.35)}
/* core collage */
.flow-collage{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(4,1fr);gap:14px;padding:92px 24px 24px}
.flow-tile{min-width:0;min-height:0;transform:scale(.88);opacity:0;transition:opacity .45s var(--ease),transform .55s cubic-bezier(.34,1.4,.64,1)}
.flow-tile.is-in{opacity:1;transform:scale(1)}
.t12{grid-area:2/5/4/9}
.ft--feature{padding:0;background:#fff}
.ft-feature-img{flex:1;margin:0 12px;border-radius:10px;background:radial-gradient(circle at 30% 30%,#f87670,transparent 55%),radial-gradient(circle at 75% 70%,#0077fc,transparent 55%),linear-gradient(135deg,#7950d1,#21838f)}
.ft--feature .ft-k{padding:10px 14px 12px}
.flow-scrim{transition:opacity .35s var(--ease)}
.flow-scrim.is-core{background:radial-gradient(ellipse 34vmax 30vmax at 50% 54%,rgba(20,19,15,.5) 0%,rgba(20,19,15,.4) 45%,rgba(20,19,15,0) 75%)}

.flow-tile>.ft.ft--img{padding:0;background:#1f1e1a}
.ft--img img{display:block;width:100%;height:100%;object-fit:cover}
.ft-label{position:absolute;left:12px;bottom:10px;z-index:2;max-width:calc(100% - 24px);font-family:var(--display);font-size:9.5px;font-weight:var(--aw-weight-bold);letter-spacing:var(--aw-tracking-overline);text-transform:uppercase;line-height:1.25;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.9),0 0 10px rgba(0,0,0,.7);pointer-events:none}
.ft--img::after{content:"";position:absolute;left:0;right:0;bottom:0;height:42px;z-index:1;background:linear-gradient(to top,rgba(10,10,8,.6),rgba(10,10,8,0));pointer-events:none}
.t12 .ft--img::after{top:0;bottom:auto;background:linear-gradient(to bottom,rgba(10,10,8,.6),rgba(10,10,8,0))}
.t12 .ft-label{top:10px;bottom:auto;left:12px}
.t5 .ft-label,.t8 .ft-label{letter-spacing:.12em;left:8px;font-size:8.5px}
@media(max-width:700px){.ft-label{left:6px;bottom:6px;font-size:7px;letter-spacing:.08em}.t12 .ft-label{top:6px;bottom:auto}.ft--img::after{height:30px}}
.flow-tile>.ft{height:100%;aspect-ratio:auto;border:2px solid var(--aw-blue)}
.t1{grid-area:1/1/3/4}.t2{grid-area:1/4/2/9}.t3{grid-area:1/9/3/11}.t4{grid-area:1/11/2/13}
.t5{grid-area:2/4/4/5}.t6{grid-area:2/11/4/13}.t7{grid-area:3/1/5/3}.t8{grid-area:3/3/4/4}
.t9{grid-area:3/9/4/11}.t10{grid-area:4/3/5/9}.t11{grid-area:4/9/5/13}
.ft{position:relative;border-radius:14px;overflow:hidden;background:#f4f1e8;color:#14130f;box-shadow:0 12px 30px rgba(0,0,0,.35);padding:14px;display:flex;flex-direction:column;gap:8px}
.ft .ft-k{color:#14130f;opacity:.6;font-size:9px}
.ft--guide{aspect-ratio:4/5;justify-content:space-between}
.ft-aa{font-family:var(--display);font-weight:var(--aw-weight-extrabold);font-size:clamp(34px,5vw,84px);line-height:1}
.ft-sw{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.ft-sw i{aspect-ratio:1;border-radius:4px}
.ft--social{aspect-ratio:4/5;padding:0;background:#fff}
.ft--social .ft-img{flex:1;background:var(--aw-gradient-spectrum)}
.ft--social .ft-meta{display:flex;gap:6px;padding:0 10px}.ft--social .ft-meta i{width:10px;height:10px;border-radius:50%;background:#d9d9d9}
.ft--social .ft-k{padding:0 10px 10px}
.ft--web{aspect-ratio:16/11;padding:0;background:#fff}
.ft-bar{display:flex;gap:4px;padding:8px 10px;background:#e9e9e9}.ft-bar i{width:7px;height:7px;border-radius:50%;background:#b8b8b8}
.ft--web .ft-hero{flex:1;min-height:30%;margin:0 10px;border-radius:6px;background:linear-gradient(120deg,#21838f,#0077fc)}
.ft-lines{display:flex;flex-direction:column;gap:5px;padding:0 10px}.ft-lines i{height:6px;border-radius:3px;background:#e4e1d8}.ft-lines i:nth-child(2){width:70%}.ft-lines i:nth-child(3){width:50%}
.ft--web .ft-k{padding:0 10px 10px;margin-top:auto}
.ft--email{aspect-ratio:3/4}
.ft--email .ft-hero{flex:1;min-height:25%;border-radius:6px;background:linear-gradient(135deg,#f87670,#8888e8)}
.ft-btn{height:16px;width:55%;border-radius:999px;background:#14130f;margin-top:auto}
.ft--ad{aspect-ratio:1;background:var(--aw-blue);color:#fff}
.ft--ad .ft-k{color:#fff}
.ft-big{font-family:var(--display);font-weight:var(--aw-weight-extrabold);text-transform:uppercase;font-size:clamp(16px,1.8vw,30px);line-height:.95}
.ft--ad .ft-btn{background:var(--aw-lime)}
/* progress */
.flow-progress{position:absolute;right:clamp(16px,3vw,40px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:6}
.flow-progress i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.25);transition:background .3s,transform .3s}
.flow-progress i.is-on:nth-child(1){background:var(--aw-lime)}.flow-progress i.is-on:nth-child(2){background:var(--aw-orange)}.flow-progress i.is-on:nth-child(3){background:var(--aw-blue)}
.flow-progress i.is-on{transform:scale(1.3)}
@media(max-width:700px){
  .flow-track{height:640vh}
  .flow-logo{padding:8px 12px}
  .flow-logo[style*="--am"]{--a:var(--am)!important}
  .flow-logo img{height:calc(var(--h,24px) * .68)}
  .flow-collage{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(6,1fr);gap:10px;padding:84px 14px 14px}
  .t1{grid-area:1/1/3/3}.t2{grid-area:1/3/2/5}.t3{grid-area:2/3/3/4}.t4{grid-area:2/4/3/5}
  .t5{grid-area:5/1/7/2}.t6{grid-area:5/2/6/5}.t7{grid-area:6/2/7/3}.t9{grid-area:6/3/7/4}.t11{grid-area:6/4/7/5}
  .t8,.t10{display:none}
  .t12{grid-area:3/1/5/5}
  .ft{padding:10px;border-radius:10px}.ft-aa{font-size:30px}.ft-big{font-size:14px}
  .flow-progress{display:none}
}

#how .lede,#how .step-bottom p,#how .step-bottom ul,#how .step-bottom li,#how .howproc-desc,#how .figcap{color:#fff}


.step{background:transparent;border:none;border-radius:0;padding:0;display:flex;flex-direction:column;gap:26px;opacity:0;transform:translateY(34px);transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.16,.84,.24,1)}
.step.in{opacity:1;transform:none}
.stepscroll{position:relative;height:320vh}
.stepscroll-sticky{position:sticky;top:0;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding-top:clamp(64px,9vh,110px);padding-bottom:40px}
.stepscroll-sticky .cards--3{width:100%;margin-top:clamp(28px,4vw,48px)}
.step-top{position:relative;padding-top:22px;z-index:1}
.step-tag{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;font-family:var(--display);font-stretch:110%;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:0;background:none;border-radius:0;margin-bottom:10px;color:var(--aw-cream)}
.step-word{font-family:var(--body);font-weight:var(--aw-weight-regular);text-transform:lowercase;line-height:.95;letter-spacing:var(--aw-tracking-normal);font-size:clamp(2.4rem,4vw,3.4rem);margin:0 0 18px;color:var(--aw-cream)}
.step .what{font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-family:var(--body);font-weight:var(--aw-weight-bold);margin-bottom:0}
.step--1 .what{color:var(--sig)}
.step--2 .what{color:var(--org)}
.step--3 .what{color:var(--cor)}
.step-bottom{position:relative;border-radius:var(--r-lg);padding:28px 26px 30px;background:transparent;flex:1 1 auto}
.step-bottom:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(244,241,232,.5) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.step-bottom p{font-size:15.5px;color:rgba(244,241,232,.82);margin-bottom:0}
.step-bottom ul{margin:14px 0 0;padding:0;list-style:none;font-size:14.5px;color:rgba(244,241,232,.78)}
.step-bottom li{padding:7px 0 7px 20px;position:relative;border-top:1px solid rgba(244,241,232,.14)}
.step-bottom li:before{content:"";position:absolute;left:0;top:15px;width:7px;height:7px;border-radius:50%}
.step--1 .step-bottom li:before{background:var(--sig)}
.step--2 .step-bottom li:before{background:var(--org)}
.step--3 .step-bottom li:before{background:var(--cor)}
.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.chip{font-size:12.5px;padding:5px 11px;border-radius:100px;background:transparent;border:1px solid rgba(244,241,232,.7);color:var(--aw-cream);transition:border-color var(--aw-duration-base) var(--ease),color var(--aw-duration-base) var(--ease)}
.chip:hover{border-color:var(--cor);color:var(--cor)}

.mathbox{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:48px}
@media(max-width:840px){.mathbox{grid-template-columns:1fr}}
.mb{border:1px solid var(--line);border-radius:var(--r-md);padding:30px 28px;background:var(--paper)}
.mb--hl{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.mb h3{margin-bottom:8px}
.mb .num{font-family:var(--display);font-stretch:125%;font-weight:800;font-size:clamp(26px,3vw,40px);letter-spacing:-.03em;line-height:1;margin-bottom:14px}
.mb ul{margin:14px 0 0;padding:0;list-style:none;font-size:15px}
.mb li{padding:8px 0 8px 22px;position:relative;border-top:1px solid var(--line);color:var(--ink-soft)}
.mb--hl li{border-color:#302c22;color:#c3beaf}
.mb li:before{content:"";position:absolute;left:0;top:16px;width:8px;height:1.5px;background:var(--ink-mute)}

.cs-photobg{position:absolute;left:0;right:0;top:32%;bottom:0;z-index:0;filter:blur(7px);transform:scale(1.08);background-image:url(assets/cs-photobg.webp?v=df9f00f1);background-size:cover;background-position:center center;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.55) 12%,#000 26%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.55) 12%,#000 26%);opacity:.9;pointer-events:none}
.cs-photobg:after{content:"";position:absolute;inset:0;background:rgba(20,19,16,.28)}
.cs{position:relative;border:1px solid rgba(255,255,255,.5);border-radius:var(--r-lg);overflow:hidden;background:rgba(255,255,255,.22);backdrop-filter:blur(28px) saturate(190%);-webkit-backdrop-filter:blur(28px) saturate(190%);box-shadow:0 20px 50px rgba(20,19,16,.14),inset 0 1.5px 0 rgba(255,255,255,.85),inset 0 -1px 0 rgba(20,19,16,.06);margin-top:24px;padding-block:14px}
.band--ink .cs{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:0 8px 32px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.08)}
.cs-sheen{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.06) 30%,rgba(255,255,255,0) 55%);mix-blend-mode:overlay}
.cs-top,.cs-loop{position:relative;z-index:1}
.cs-top{padding:30px 32px 26px;border-bottom:1px solid rgba(255,255,255,.4)}
.band--ink .cs-top{border-color:#302c22}
.cs-kick{font-family:var(--display);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#fff;margin:0 0 10px}
.cs-top p{margin:12px 0 0;font-size:16px;color:#fff;max-width:70ch}
.band--ink .cs-top p{color:#fff}
.cs-loop{display:grid;grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.cs-loop{grid-template-columns:1fr}}
.cl{padding:26px 26px 28px;border-right:1px solid rgba(255,255,255,.4)}
.band--ink .cl{border-color:#302c22}
.cl:last-child{border-right:0}
@media(max-width:900px){.cl{border-right:0;border-bottom:1px solid var(--line)}}
.cl h4{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;color:#fff}
.cl--s h4{color:#fff;display:inline-block;padding-bottom:6px;border-bottom:2px solid var(--sig)}
.cl--o h4{color:#fff;display:inline-block;padding-bottom:6px;border-bottom:2px solid var(--org)}
.cl--c h4{color:#fff;display:inline-block;padding-bottom:6px;border-bottom:2px solid var(--cor)}
.cl--r h4{color:#fff;text-shadow:0 1px 4px rgba(20,19,16,.45);display:inline-block;padding-bottom:6px;border-bottom:2px solid var(--aw-green)}
.cl p{margin:0;font-size:15px;color:#fff;line-height:1.6}
.band--ink .cl p{color:#fff}
.cl b{display:block;font-family:var(--display);font-stretch:120%;font-size:20px;letter-spacing:-.02em;margin-bottom:6px}
.band--ink .cl b{color:var(--cream)}

/* ===== Proof: centered header + tabbed case study ===== */
.proof-head{text-align:center;max-width:820px;margin:0 auto}
.proof-sub{margin:24px auto 0;max-width:58ch}
.proof-h2{max-width:none}
@media(max-width:700px){.proof-br{display:none}}
.pf{margin-top:clamp(48px,6vw,80px)}
.pf-brands{position:relative;z-index:2;display:flex;align-items:flex-start;padding-left:clamp(24px,4vw,48px);height:57px;margin-bottom:-1px;overflow:hidden}
.pf-brand{position:relative;flex:none;width:84px;height:84px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:#6b6a66;color:#1f1e1a;display:flex;justify-content:center;align-items:flex-start;padding-top:10px;margin-right:-14px;cursor:pointer;font:inherit;transition:background var(--aw-duration-base) var(--ease),color var(--aw-duration-base) var(--ease),transform var(--aw-duration-base) var(--ease)}

.pf-brand:nth-child(1){z-index:4}.pf-brand:nth-child(2){z-index:3}.pf-brand:nth-child(3){z-index:2}.pf-brand:nth-child(4){z-index:1}
.pf-brand:not(.is-active){background:#0e0d0a;border-color:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}


.pf-brand.is-active{z-index:6;height:57px;border-radius:42px 42px 0 0;border-bottom:0;background:#1a1914;border-color:rgba(255,255,255,.28);box-shadow:none;cursor:default;color:#fff}
.pf-brand.is-active{--fil:14px;--fil-top:42px}
.pf-brand.is-active:before,.pf-brand.is-active:after{content:"";position:absolute;top:var(--fil-top);width:var(--fil);height:var(--fil);pointer-events:none}
.pf-brand.is-active:before{left:calc(-1 * var(--fil));background:radial-gradient(circle at 0 0,transparent calc(var(--fil) - 1px),rgba(255,255,255,.28) calc(var(--fil) - 1px),rgba(255,255,255,.28) var(--fil),#1a1914 calc(var(--fil) + .5px))}
.pf-brand.is-active:after{right:calc(-1 * var(--fil));background:radial-gradient(circle at 100% 0,transparent calc(var(--fil) - 1px),rgba(255,255,255,.28) calc(var(--fil) - 1px),rgba(255,255,255,.28) var(--fil),#1a1914 calc(var(--fil) + .5px))}
.pf-logo{display:block;width:auto;max-width:none;pointer-events:none;filter:drop-shadow(0 0 0 rgba(255,255,255,0));transition:opacity var(--aw-duration-base) var(--ease),filter var(--aw-duration-base) var(--ease)}
.pf-logo--aca,.pf-logo--b2,.pf-logo--b3,.pf-logo--b4{width:40px;height:40px;margin-top:0}
.pf-brand:not(.is-active) .pf-logo{opacity:.5}
.pf-brand:not(.is-active):hover .pf-logo,.pf-brand:not(.is-active):focus-visible .pf-logo{opacity:1;filter:drop-shadow(0 0 6px rgba(255,255,255,.35))}
@media(max-width:520px){.pf-logo--aca,.pf-logo--b2,.pf-logo--b3,.pf-logo--b4{width:30px;height:30px}}
.pf-brand-mark{display:block;width:28px;height:20px;font-family:var(--display);font-weight:var(--aw-weight-extrabold);font-size:20px;line-height:20px;text-align:center}
.pf-brand-mark--aca{width:auto;font-size:13px;letter-spacing:.04em;background:linear-gradient(135deg,#e1300c 0 50%,#2a3d9c 50% 100%);color:#fff;border-radius:5px;padding:0 5px}
.pf-brand-mark--sm{width:auto;font-size:12px;font-style:italic;letter-spacing:.02em}
.pf-card.cs{margin-top:0;padding-block:0;background:#1a1914;border-color:rgba(255,255,255,.28);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);box-shadow:0 24px 60px rgba(0,0,0,.45),inset 0 -1px 0 rgba(255,255,255,.06),inset 1px 0 0 rgba(255,255,255,.08)}
.pf-glare{position:absolute;pointer-events:none;z-index:0}
.pf-glare--edge{top:0;left:42%;right:8%;height:1px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.75) 35%,rgba(255,255,255,.2) 70%,rgba(255,255,255,0))}
.pf-glare--streak{top:-20%;left:auto;right:18%;width:22%;height:70%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.07) 45%,rgba(255,255,255,.1) 50%,rgba(255,255,255,.07) 55%,rgba(255,255,255,0));transform:rotate(28deg);filter:blur(2px)}
.pf-glare--streak2{top:-24%;left:auto;right:10%;width:5%;height:62%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.08),rgba(255,255,255,0));transform:rotate(28deg)}
.pf-glare--glint{top:-40px;right:30%;width:180px;height:80px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.18),rgba(255,255,255,0));filter:blur(6px)}
.pf-card:after{content:"";position:absolute;right:0;bottom:0;width:40%;height:1px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.35) 70%,rgba(255,255,255,0));pointer-events:none}
.pf-inner.is-swapping .pf-top,.pf-inner.is-swapping .pf-panels{opacity:0;transform:translateY(6px)}
.pf-top,.pf-panels{transition:opacity .25s var(--ease),transform .25s var(--ease)}
.pf-inner{position:relative;z-index:1;padding:clamp(28px,4.5vw,64px) clamp(22px,5vw,72px)}
.pf-top{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(20px,4vw,56px);align-items:start}
.pf-title{text-transform:uppercase;color:#fff}
.pf-desc{margin:0;font-size:16px;line-height:1.6;color:#fff}
.pf-media{position:relative;margin-top:clamp(28px,3.6vw,44px);aspect-ratio:1342/606;overflow:hidden;border-radius:var(--r-md);background:#1f1e1a}
.pf-shot{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;pointer-events:none;transition:opacity var(--aw-duration-slow) var(--ease)}
.pf-media.has-shot .pf-shot{opacity:1}
/* the still sets the frame shape so the whole image shows, at every width */
.pf-media.has-shot{aspect-ratio:1980/849}
.pf-media.has-shot .pf-shot{object-fit:contain}
.pf-body{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:clamp(24px,6vw,96px);margin-top:clamp(36px,5vw,64px);align-items:start}
.pf-illo{position:relative;aspect-ratio:306/262}
.pf-illo-svg{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity var(--aw-duration-slow) var(--ease)}
.pf-illo-svg.is-active{opacity:1}
.pf-tabs{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.pf-tab{position:relative;background:none;border:0;padding:0 0 22px;font-family:var(--display);font-weight:var(--aw-weight-extrabold);text-transform:uppercase;font-size:clamp(20px,2.1vw,28px);letter-spacing:.005em;color:rgba(244,241,232,.45);cursor:pointer;transition:color var(--aw-duration-base) var(--ease)}
.pf-tab:hover{color:rgba(255,255,255,.75)}
.pf-tab.is-active{color:#fff}
.pf-tab:after{content:"";position:absolute;left:50%;bottom:2px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--aw-lime);transform:scale(0);transition:transform var(--aw-duration-base) var(--ease)}
.pf-tab.is-active:after{transform:scale(1)}
.pf-tab[data-step="signal"]:after{background:var(--aw-lime)}
.pf-tab[data-step="origin"]:after{background:var(--aw-orange)}
.pf-tab[data-step="core"]:after{background:var(--aw-blue)}
.pf-tab[data-step="result"]:after{background:var(--aw-green)}
.pf-panels{margin-top:22px;min-height:120px}
.pf-panel{display:none}
.pf-panel.is-active{display:block;animation:slideIn .32s var(--ease)}
.pf-panel h4{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 14px}
.pf-panel p{margin:0;font-size:15.5px;line-height:1.6;color:rgba(244,241,232,.82);max-width:64ch}
.pf-copy p+p{margin-top:1.1em}
.pf-stats{display:flex;flex-wrap:wrap;align-items:stretch;margin-top:22px}
.pf-stat{display:flex;flex-direction:column;gap:4px;padding:2px 26px;border-left:1.5px solid rgba(244,241,232,.35)}
.pf-stat:first-child{padding-left:0;border-left:0}
.pf-stat-num{font-family:var(--display);font-weight:var(--aw-weight-extrabold);font-size:clamp(26px,2.6vw,36px);line-height:1;letter-spacing:-.01em;color:#fff;white-space:nowrap}
.pf-stat-acc{color:var(--aw-lime);margin-left:.08em}
.pf-stat-arrow{font-family:var(--body);font-weight:400;margin:0 .1em}
.pf-stat-lbl{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:rgba(244,241,232,.8)}
@media(max-width:520px){.pf-stat{padding:2px 14px}.pf-stat-num{font-size:22px}}
.pf-cta.btn{margin-top:clamp(28px,4vw,48px);color:var(--aw-cream);border:1.5px solid currentColor}
@media(max-width:860px){
  .pf-top{grid-template-columns:1fr}
  .pf-body{grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);gap:28px}
  .pf-tab{font-size:clamp(15px,2.3vw,19px)}
  .pf-tabs{flex-wrap:nowrap;gap:10px}
}
@media(max-width:700px){
  .pf-body{grid-template-columns:1fr}
  .pf-illo{display:none}
}
@media(max-width:520px){
  .pf-brand{width:64px;height:64px;padding-top:8px;margin-right:-12px}
  .pf-brands{height:45px;padding-left:32px}
  .pf-brand.is-active{--fil:12px;--fil-top:32px;height:45px;border-radius:32px 32px 0 0}
  .pf-tab{font-size:17px}
}

.side{padding:0;display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(32px,5vw,64px);align-items:stretch}
@media(max-width:860px){.side{grid-template-columns:1fr}}
.cta-smiley-wrap{position:relative;display:inline-block}
.smiley-roll{position:absolute;top:0;left:0;height:100%;width:auto;aspect-ratio:1;color:var(--aw-lime);z-index:5;filter:drop-shadow(0 5px 8px rgba(20,19,16,.22));pointer-events:none;transform:translateX(0) rotate(0deg);transition:transform 1.3s cubic-bezier(.4,0,.2,1)}
.smiley-roll.in{transform:translateX(var(--roll-distance,160px)) rotate(400deg)}
@media(prefers-reduced-motion:reduce){.smiley-roll{transition:none;transform:translateX(var(--roll-distance,160px)) rotate(0deg)}}
.side-media{position:relative;height:100%;min-height:360px;border-radius:var(--r-lg);overflow:hidden;background:var(--aw-ink)}
.side-media-img{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .6s var(--ease)}
.side-media-img.active{opacity:1}
@media(max-width:860px){.side-media{order:-1;min-height:220px}}

.svc-list{margin-top:32px;display:flex;flex-direction:column;gap:12px}
.svc-item{position:relative;border:1.5px solid rgba(255,255,255,.75);border-radius:var(--r-lg);overflow:hidden;background:var(--aw-cream);backdrop-filter:blur(6px) saturate(150%);-webkit-backdrop-filter:blur(6px) saturate(150%);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.9),inset 0 0 0 1px rgba(255,255,255,.25);transition:box-shadow .3s var(--ease),background .3s var(--ease)}
.svc-item.is-open{background:var(--aw-cream);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.9),inset 0 0 0 1px rgba(255,255,255,.3)}
.svc-head{width:100%;background:none;border:none;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px;font-family:var(--display);font-weight:var(--aw-weight-extrabold);font-size:clamp(15px,1.6vw,18px);text-transform:lowercase;letter-spacing:.01em;color:var(--ink);text-align:left}
.svc-arrow{width:15px;height:15px;flex:none;color:var(--ink-mute);transition:transform .35s var(--ease),color .3s var(--ease)}
.svc-head:hover .svc-arrow{transform:rotate(180deg);color:var(--sig)}
.svc-item.is-open .svc-head .svc-arrow{transform:rotate(180deg);color:var(--sig)}
.svc-panel{max-height:0;overflow:hidden;transition:max-height .45s var(--ease)}
.svc-sub{list-style:none;margin:0;padding:0 22px 24px;display:flex;flex-wrap:wrap;gap:9px}
.svc-sub li{font-size:12.5px;padding:5px 12px;border-radius:100px;background:transparent;border:1px solid rgba(20,19,16,.35);color:var(--ink);transition:border-color var(--aw-duration-base) var(--ease),color var(--aw-duration-base) var(--ease),background var(--aw-duration-base) var(--ease)}
@media(max-width:600px){.svc-sub{grid-template-columns:1fr}}

.fit{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}
@media(max-width:800px){.fit{grid-template-columns:1fr}}
.fitbox{border-radius:var(--r-md);padding:32px 30px;border:1px solid var(--line)}
.fitbox--yes{background:#eef8f1;border-color:#c9e6d3}
.fitbox--no{background:var(--cream-2);border-color:var(--line-strong)}
.fitbox h3{font-size:20px;margin-bottom:14px}
.fitbox ul{margin:0;padding:0;list-style:none;font-size:15.5px;color:var(--ink-soft)}
.fitbox li{padding:9px 0 9px 24px;position:relative}
.fitbox li:before{position:absolute;left:0;top:9px;font-weight:700}
.fitbox--yes li:before{content:"+";color:var(--aw-green-deep)}
.fitbox--no li:before{content:"–";color:var(--ink-mute)}
.fitnote{margin-top:22px;font-size:15px;color:var(--ink-mute);max-width:70ch}

.film{border-radius:var(--r-lg);overflow:hidden;border:1px solid #302c22;background:#1c1a14;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;position:relative}
.film .play{width:74px;height:74px;border-radius:50%;background:var(--accent);display:grid;place-items:center}
.film .play:after{content:"";border-left:20px solid var(--accent-ink);border-block:12px solid transparent;margin-left:5px}
.film-note{position:absolute;left:22px;bottom:18px;font-size:13px;color:#9d9b93}

.faqscroll{position:relative}
.faqscroll-sticky{position:sticky;top:0;padding-top:clamp(120px,18vh,220px);padding-bottom:clamp(24px,4vw,40px)}
.qa-viewport{position:relative;height:clamp(300px,40vh,340px);overflow:hidden;perspective:1200px}
.qa-viewport .qa{position:static}
.qa-viewport .qa details{position:absolute;top:0;left:0;right:0;background:transparent;border-top:1px solid rgba(244,241,232,.22);border-bottom:1px solid rgba(244,241,232,.22);transform-origin:top center;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.qa{border-top:1px solid var(--line);margin-top:0}
.qa details{border-bottom:1px solid var(--line)}
.qa summary{cursor:pointer;list-style:none;padding:23px 40px 23px 0;position:relative;font-family:var(--display);font-stretch:115%;font-weight:700;font-size:clamp(17px,1.5vw,21px);letter-spacing:-.012em}
.qa summary::-webkit-details-marker{display:none}
.qa summary:after{content:"+";position:absolute;right:6px;top:21px;font-size:24px;font-weight:400;color:rgba(244,241,232,.5);transition:transform .25s var(--ease),color .25s var(--ease)}
.qa summary:hover:after{color:var(--sig)}
.qa details[open] summary:after{transform:rotate(45deg);color:var(--sig)}
.qa .a{padding:0 0 26px;max-width:76ch}
.qa .a p{font-size:16px;color:#b9b4a5;margin-bottom:.8em}
.qa .a p:last-child{margin-bottom:0}

.cta{background:var(--aw-ink-raised);color:var(--cream);border-radius:var(--r-lg);padding:clamp(44px,6vw,76px);text-align:center;border:1px solid transparent;position:relative}.cta:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:var(--aw-gradient-spectrum);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.cta h2{max-width:18ch;margin-inline:auto}
.cta p{color:#fff;max-width:58ch;margin:22px auto 32px;font-size:17.5px}.cta .btn--go{background:transparent;color:#fff;border-color:#fff;transition:border-color .3s var(--ease),color .3s var(--ease)}.cta .btn--go:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:var(--aw-gradient-spectrum);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transform:none;transition:opacity .3s var(--ease);pointer-events:none}.cta .btn--go:hover,.cta .btn--go:focus-visible,.cta .btn--go:active{color:#fff;border-color:transparent}.cta .btn--go:hover:before,.cta .btn--go:focus-visible:before,.cta .btn--go:active:before{opacity:1;transform:none}

.form{display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-top:38px}
.form .full{grid-column:1/-1}
.contact-bullets{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;align-items:center}
.contact-bullets li{border-bottom:none}
.contact-bullets li + li{border-left:1px solid var(--line-strong);margin-left:20px;padding-left:20px}
.contact-bullets a{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:15px;color:var(--ink);border-bottom:none;transition:color .2s var(--ease)}
.contact-bullets a:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sig);flex:none}
.contact-bullets a b{font-weight:700}
.contact-bullets a .svc-arrow{margin-left:4px;color:var(--ink-mute)}
.contact-bullets a:hover .svc-arrow{transform:rotate(180deg);color:var(--sig)}
.contact-bullets--center{justify-content:center}
.contact-bullets--center a .svc-arrow{margin-left:4px}
.modal-overlay{position:fixed;inset:0;z-index:200;display:none;align-items:flex-start;justify-content:center;background:rgba(20,19,16,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:56px 20px;overflow-y:auto}
.modal-overlay.open{display:flex}
/* launch / close: the backdrop fades, the card grows out of the button that opened it */
.modal-overlay{opacity:0;transition:opacity .36s cubic-bezier(.22,1,.36,1)}
.modal-overlay .modal-card{opacity:0;transform:translate3d(0,26px,0) scale(.94);transition:opacity .42s cubic-bezier(.22,1,.36,1),transform .52s cubic-bezier(.22,1,.36,1);will-change:transform,opacity}
.modal-overlay.is-visible{opacity:1}
.modal-overlay.is-visible .modal-card{opacity:1;transform:none}
.modal-overlay.is-closing{transition:opacity .3s ease .04s}
.modal-overlay.is-closing .modal-card{opacity:0;transform:translate3d(0,16px,0) scale(.96);transition:opacity .26s ease,transform .32s cubic-bezier(.4,0,.2,1)}
@media (prefers-reduced-motion:reduce){.modal-overlay .modal-card,.modal-overlay.is-closing .modal-card{transform:none!important}.modal-overlay,.modal-overlay .modal-card{transition-duration:.15s!important}}
.modal-card{position:relative;background:var(--aw-cream);border-radius:var(--r-lg);padding:clamp(28px,4vw,48px);max-width:720px;width:100%;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.modal-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-strong);background:none;font-size:20px;line-height:1;cursor:pointer;color:var(--ink);transition:border-color .2s,color .2s}
.modal-close:hover{border-color:var(--sig);color:var(--sig)}
body.modal-open{overflow:hidden}
.modal-theme-toggle{position:absolute;top:16px;left:16px;display:flex;gap:2px;background:rgba(255,255,255,.08);border-radius:100px;padding:3px}
.modal-card > .eyebrow{margin-top:38px}
.modal-card.theme-light .modal-theme-toggle{background:rgba(20,19,16,.06)}
.theme-btn{border:none;background:none;padding:6px 14px;border-radius:100px;font-size:11.5px;font-weight:700;font-family:var(--display);letter-spacing:.02em;cursor:pointer;color:rgba(244,241,232,.55);transition:background .2s,color .2s}
.modal-card.theme-light .theme-btn{color:var(--ink-mute)}
.theme-btn[aria-pressed="true"]{background:var(--aw-cream);color:var(--ink)}
.modal-card.theme-light .theme-btn[aria-pressed="true"]{background:var(--aw-ink);color:var(--aw-cream)}
.modal-card.theme-light{color:var(--ink)}
.modal-card.theme-light h2{color:var(--ink)}
.modal-card:not(.theme-light){background:var(--aw-ink);color:var(--aw-cream)}
.modal-card:not(.theme-light) label{color:rgba(244,241,232,.55)}
.modal-card:not(.theme-light) input,.modal-card:not(.theme-light) select,.modal-card:not(.theme-light) textarea{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.22);color:var(--aw-cream)}
.modal-card:not(.theme-light) input::placeholder,.modal-card:not(.theme-light) textarea::placeholder{color:rgba(244,241,232,.4)}
.modal-card:not(.theme-light) h2{color:var(--aw-cream)}
.modal-card:not(.theme-light) .svc-item{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2)}
.modal-card:not(.theme-light) .svc-head{color:var(--aw-cream)}
.modal-card:not(.theme-light) .need-chip span{border-color:rgba(255,255,255,.3);color:rgba(244,241,232,.75)}
.modal-card:not(.theme-light) .need-chip input:checked + span{color:var(--aw-cream)}
.modal-card:not(.theme-light) .modal-close{color:var(--aw-cream);border-color:rgba(255,255,255,.3)}
.modal-card{--field-fill:var(--aw-ink-raised)}
.modal-card.theme-light{--field-fill:var(--paper)}
.modal-card input:hover,.modal-card textarea:hover,.modal-card select:hover{border-color:transparent;background-image:linear-gradient(var(--field-fill),var(--field-fill)),var(--aw-gradient-spectrum);background-origin:border-box;background-clip:padding-box,border-box}
.need-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.need-chip{position:relative;cursor:pointer}
.need-chip input{position:absolute;opacity:0;width:1px;height:1px}
.need-chip span{position:relative;display:inline-flex;padding:9px 16px;border-radius:100px;border:1px solid var(--line-strong);font-size:13.5px;font-weight:600;color:var(--ink-soft);transition:all .2s var(--ease)}
.need-chip input:checked + span{background:transparent;border-color:transparent;color:var(--ink)}
.need-chip input:checked + span:after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:var(--aw-gradient-spectrum);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.need-chip:hover span{border-color:var(--aw-blue)}
@media(max-width:720px){.form{grid-template-columns:1fr}}
label{display:block;font-size:13px;font-weight:600;color:var(--ink-mute);margin-bottom:7px}
input,textarea,select{width:100%;font-family:var(--body);font-size:16px;color:var(--ink);background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:14px 15px}
input:focus,textarea:focus,select:focus{outline:2px solid var(--aw-blue);outline-offset:1px;border-color:transparent}
textarea{min-height:120px;resize:vertical}

.optin{background:var(--cream-2);border:1px solid var(--line-strong);border-radius:var(--r-lg);padding:clamp(34px,5vw,58px)}
.optin-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.apart-cta-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(28px,5vw,64px);align-items:start}
@media(max-width:760px){.apart-cta-grid{grid-template-columns:1fr}}
.apart-cta-overline{font-family:var(--display);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:rgba(244,241,232,.5);margin:0 0 14px}
.apart-cta-overline--email{color:rgba(244,241,232,.5)}
.apart-cta-form{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;max-width:520px}
.apart-cta-form input{flex:1;min-width:220px}
.apart-partners{display:flex;flex-direction:column;gap:12px}
.apart-partner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-radius:100px;border:1.5px solid rgba(244,241,232,.22);background:rgba(255,255,255,.03);text-decoration:none;position:relative;transition:border-color .25s var(--ease),background .25s var(--ease)}
.apart-partner:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:var(--aw-gradient-spectrum);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .25s var(--ease);pointer-events:none}
.apart-partner:hover{border-color:transparent;background:transparent}
.apart-partner:hover:before{opacity:1}
.apart-partner-name{font-family:var(--display);font-weight:700;font-size:15px;color:rgba(244,241,232,.9)}
.apart-partner-email{font-family:var(--body);font-size:13px;color:rgba(244,241,232,.55)}
.optin-row input{flex:1;min-width:240px}

footer{background:var(--ink);color:#a5a091;padding-block:0 38px;font-size:14.5px}
.flogo{width:52px;height:auto;fill:var(--aw-cream)}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:44px}
@media(max-width:820px){.fgrid{grid-template-columns:1fr 1fr;gap:36px 24px}.fgrid>div:first-child{grid-column:1/-1}.fgrid li a{overflow-wrap:anywhere}.fgrid .btn{padding:12px 20px;font-size:13.5px}}
footer h4{color:var(--cream);margin-bottom:16px}
footer a:not(.btn):not(.apart-partner){color:#a5a091;text-decoration:none;border-bottom:1.5px solid transparent;transition:color .2s,border-color .2s}
footer a:not(.btn):not(.apart-partner):hover{color:var(--cream);border-color:transparent;border-image:var(--aw-gradient-spectrum) 1}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.fbot{border-top:1px solid #2b271e;margin-top:46px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px;color:#7d7869}

:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* ===== dark-theme conversion overrides (added) ===== */
#start,.apart-cta-head{color:var(--ink)}
.hero .reveal summary{color:rgba(244,241,232,.75);border-color:rgba(244,241,232,.35)}
.hero .reveal summary:hover{color:var(--aw-cream);border-color:transparent;border-image:var(--aw-gradient-spectrum) 1}
.hero .reveal summary:after{color:rgba(244,241,232,.5)}
.hero .reveal-body{background:rgba(255,255,255,.08);border-left-color:var(--sig)}
.hero .reveal-body p{color:#cfcabb}
.hero .btn--line:hover{background:var(--aw-cream);color:var(--ink);border-color:var(--aw-cream)}
#services .svc-item{background:transparent;border-color:#fff;box-shadow:none;transition:border-color .3s var(--ease),background .3s var(--ease)}
#services .svc-item:hover,#services .svc-item.is-open{border-color:transparent}
#services .svc-item:after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:var(--aw-gradient-spectrum);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s var(--ease);pointer-events:none}
#services .svc-item:hover:after,#services .svc-item.is-open:after{opacity:1}
#services .svc-item.is-open{background:transparent;box-shadow:none}
#services .svc-head{color:var(--aw-cream)}
#services .svc-arrow{color:rgba(244,241,232,.55)}
#services .svc-head:hover .svc-arrow{color:var(--sig)}
#services .svc-item.is-open .svc-head .svc-arrow{color:var(--sig)}

.modal-card .svc-item{position:relative}
.modal-card .svc-item:hover,.modal-card .svc-item.is-open{background:transparent;border-color:transparent;box-shadow:none}
.modal-card .svc-item:after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:var(--aw-gradient-spectrum);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s var(--ease);pointer-events:none}
.modal-card .svc-item:hover:after,.modal-card .svc-item.is-open:after{opacity:1}
.modal-card:not(.theme-light) .svc-item:hover .svc-head,.modal-card:not(.theme-light) .svc-item.is-open .svc-head{color:#fff}
.modal-card.theme-light .svc-item:hover .svc-head,.modal-card.theme-light .svc-item.is-open .svc-head{color:var(--ink)}
#services .svc-sub li{color:rgba(244,241,232,.82);border-color:rgba(255,255,255,.25)}
.hero-title-stack{position:relative}
.hero-line{display:block;position:relative;z-index:1}
.hero .eyebrow{position:relative;z-index:3}
.hero-sub{position:relative;z-index:3}
.hero-cta{position:relative;z-index:3}
.hero .reveal{position:relative;z-index:3}
.hero-glowimg{position:absolute;inset:0;background-image:url("assets/hero-glow.webp?v=32a95a18");background-size:cover;background-position:center;opacity:1;z-index:2;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 88%,transparent 100%)}
/* ---- from <style id="signal-scan-modal-css"> ---- */
.ss-modal{--ss-gap:clamp(10px,4vw,48px);--ss-ease:cubic-bezier(.2,.8,.2,1);--ss-dur:.6s;position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:var(--ss-gap);background:rgba(10,10,8,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:padding var(--ss-dur) var(--ss-ease)}
.ss-modal.open{display:flex}
body.ss-open{overflow:hidden}
/* outer panel clips (keeps all four corners round); the inner layer scrolls */
.ss-dialog{position:relative;display:flex;flex-direction:column;width:min(1040px,100%);max-height:calc(100vh - 2*var(--ss-gap));max-height:calc(100dvh - 2*var(--ss-gap));overflow:hidden;background:#14130f;border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 0 1px rgba(244,241,232,.1);transition:width var(--ss-dur) var(--ss-ease),height var(--ss-dur) var(--ss-ease),max-height var(--ss-dur) var(--ss-ease),border-radius var(--ss-dur) var(--ss-ease)}
.ss-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(244,241,232,.22) transparent}
.ss-scroll::-webkit-scrollbar{width:10px}
.ss-scroll::-webkit-scrollbar-track{background:transparent;margin:18px 0}
.ss-scroll::-webkit-scrollbar-thumb{background:rgba(244,241,232,.2);border-radius:10px;border:3px solid transparent;background-clip:padding-box}
.ss-scroll::-webkit-scrollbar-thumb:hover{background-color:rgba(244,241,232,.36)}
.ss-bar{position:sticky;top:0;height:0;z-index:5;display:flex;justify-content:flex-end;overflow:visible}
.ss-close{margin:14px 14px 0 0;width:40px;height:40px;flex:0 0 auto;border-radius:50%;border:1px solid rgba(244,241,232,.18);background:rgba(34,33,28,.9);color:#f4f1e8;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.ss-close:hover{background:#2e2d27;color:#ddec55}
#signalScanHost{display:block}
/* full report unlocked: grow to the whole window */
.ss-confirm{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(10,10,8,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s linear .25s}
.ss-confirm.is-open{opacity:1;visibility:visible;transition-delay:0s}
.ss-confirm-card{width:min(440px,100%);background:#1b1a16;border:1px solid rgba(244,241,232,.12);border-radius:20px;padding:26px 26px 22px;color:#d4d1c7;box-shadow:0 30px 80px rgba(0,0,0,.5);transform:translateY(10px) scale(.97);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.ss-confirm.is-open .ss-confirm-card{transform:none}
.ss-confirm-eyebrow{margin:0 0 10px;font:700 11px/1 var(--aw-font-body);letter-spacing:.15em;text-transform:uppercase;color:#ddec55}
.ss-confirm h3{margin:0;font:800 22px/1.15 var(--aw-font-body);letter-spacing:-.02em;color:#f4f1e8}
.ss-confirm-text{margin:10px 0 0;font:400 15px/1.55 var(--aw-font-body);color:#d4d1c7}
.ss-confirm-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:22px}
.ss-confirm-actions button{font:700 13px/1 var(--aw-font-body);letter-spacing:.05em;text-transform:uppercase;padding:14px 20px;border-radius:999px;cursor:pointer;border:0}
.ss-confirm-stay{background:transparent;color:#f4f1e8;box-shadow:inset 0 0 0 1px rgba(244,241,232,.25)}
.ss-confirm-stay:hover{box-shadow:inset 0 0 0 1px rgba(244,241,232,.55)}
.ss-confirm-go{background:#ddec55;color:#14130f}
.ss-confirm-go:hover{filter:brightness(1.06)}
.ss-confirm button:focus-visible{outline:2px solid #ddec55;outline-offset:3px}
@media (max-width:480px){.ss-confirm-actions button{flex:1 1 0}}
@media (prefers-reduced-motion:reduce){.ss-confirm,.ss-confirm-card{transition:none}}
.ss-modal.ss-expanded{padding:0}
.ss-modal.ss-expanded .ss-dialog{width:100%;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;border-radius:0}
.ss-modal.ss-expanded .ss-scroll::-webkit-scrollbar-track{margin:0}
@media (max-width:640px){.ss-dialog{border-radius:16px}.ss-close{margin:10px 10px 0 0;width:36px;height:36px;font-size:22px}}
/* launch / close animation: .open = displayed, .is-visible = animated in, .is-closing = animating out */
.ss-modal{opacity:0;transition:padding var(--ss-dur) var(--ss-ease),opacity .38s ease}
.ss-modal.is-visible{opacity:1}
.ss-dialog{opacity:0;transform:translate3d(0,26px,0) scale(.92);transition:width var(--ss-dur) var(--ss-ease),height var(--ss-dur) var(--ss-ease),max-height var(--ss-dur) var(--ss-ease),border-radius var(--ss-dur) var(--ss-ease),transform .55s cubic-bezier(.16,1,.3,1),opacity .4s ease}
.ss-modal.is-visible .ss-dialog{opacity:1;transform:none}
.ss-modal.is-closing{transition:opacity .3s ease .05s}
.ss-modal.is-closing .ss-dialog{transform:translate3d(0,18px,0) scale(.95);transition:width var(--ss-dur) var(--ss-ease),height var(--ss-dur) var(--ss-ease),max-height var(--ss-dur) var(--ss-ease),border-radius var(--ss-dur) var(--ss-ease),transform .3s cubic-bezier(.4,0,1,1),opacity .25s ease}
@media (prefers-reduced-motion:reduce){.ss-dialog,.ss-modal.is-closing .ss-dialog{transform:none!important}.ss-modal,.ss-dialog{transition-duration:.15s!important}}
/* ---- from <style id="handoff-2026-10"> ---- */
/* FAQ questions are <h3> for machines; look unchanged */
.qa summary .qa-q{font:inherit;font-stretch:inherit;letter-spacing:inherit;text-transform:none;color:inherit;margin:0;padding:0;display:inline}

/* contact forms: send status line */
.aw-form-status{margin:12px 0 0;font-size:14px;line-height:1.45;min-height:1em}
.aw-form-status.is-error{color:#ff8a7a}
.aw-form-status.is-busy{opacity:.75}
/* reCAPTCHA v3 badge hidden; Google's required notice is shown under each protected form instead */
.grecaptcha-badge{visibility:hidden!important}
.aw-rc-note{margin-top:6px}
.aw-rc-note a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.aw-form-status.is-success{color:var(--aw-cream);font-size:clamp(17px,1.6vw,20px);font-weight:400;margin:4px 0 24px}.aw-form-status.is-success strong{font-weight:700}
.apart-cta-form[hidden],details.reveal[hidden]{display:none!important}

/* hero fills the window below the sticky header (header height measured in JS) */
.hero{min-height:calc(100vh - var(--aw-nav-h,76px));min-height:calc(100svh - var(--aw-nav-h,76px));display:grid;align-content:center}

/* header logo: static AW mark, never plays the APART/WORKS reveal */
/* header logo reveal: wordmark SVG letters, exact widths, eased in/out */
.mark-reveal{overflow:hidden;height:28px;align-items:center;will-change:width}
.mark-reveal .mark-word{display:block;flex:none;height:26px;fill:var(--aw-cream)}
.mark-reveal-part{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 7px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 7px),transparent)}
.mark-reveal-orks{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 8px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 8px),transparent)}
.mark-stage.mark-anim .mark-reveal-part{animation:awRevealPart 2.4s linear both}
.mark-stage.mark-anim .mark-reveal-orks{animation:awRevealOrks 2.4s linear both}
@keyframes awRevealPart{
  0%{width:0;animation-timing-function:cubic-bezier(.65,0,.35,1)}
  24%,70%{width:112.7px;animation-timing-function:cubic-bezier(.65,0,.35,1)}
  94%,100%{width:0}}
@keyframes awRevealOrks{
  0%,6%{width:0;animation-timing-function:cubic-bezier(.65,0,.35,1)}
  30%,66%{width:115.99px;animation-timing-function:cubic-bezier(.65,0,.35,1)}
  90%,100%{width:0}}
@media (prefers-reduced-motion:reduce){.mark-stage.mark-anim .mark-reveal-part,.mark-stage.mark-anim .mark-reveal-orks{animation:none}}
@media (hover:none),(pointer:coarse),(max-width:767px){.mark-stage.mark-anim .mark-reveal-part,.mark-stage.mark-anim .mark-reveal-orks{animation:none}}

/* Kickoff handoff, Oct 2026 */
/* 01 hero glow: full-width, responsive, top edge reaches up behind APART (layer already above the headline) */
/* hero glow = the glow image itself, sized/placed against .hero-title-stack (100% = the headline block).
   Same result as width:167% height:329% margin-left:-38.75% background-size:89% 105% background-position:55% 644%. */
.hero-glowimg{display:block;inset:auto;left:-28.65%;top:-105.94%;width:148.63%;height:345.45%;margin:0;z-index:1;background-repeat:no-repeat;background-size:100% 100%;background-position:0 0}
/* hero: clip the oversized glow; its image ends at ~74% of the box (size 106%, position 529%), so fade out before that edge */
.hero{overflow:hidden;overflow:clip}
/* hidden above the headline (30.7% = its top edge), fades in, then fades out exactly at the image bottom: no hard line */
.hero-glowimg{-webkit-mask-image:linear-gradient(to bottom,transparent 30.7%,#000 42.1%,#000 86%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 30.7%,#000 42.1%,#000 86%,transparent 100%)}
@media (max-width:640px){.hero-glowimg{left:calc((100% - 100vw)/2);top:-8%;width:100vw;height:175%;background-size:190% 100%;background-position:50% 50%;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 14%,#000 70%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 14%,#000 70%,transparent 100%)}}
/* the glow moves down while scrolling: fade the hero's lower edge so it never shows a cut line */
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:clamp(110px,16vh,180px);background:linear-gradient(to bottom,rgba(20,19,15,0),var(--ink));z-index:2;pointer-events:none}

/* 03 core pills: no hover state until service pages exist */
#how .chip:hover{border-color:rgba(244,241,232,.7);color:var(--aw-cream)}
/* 04 work: only the ACA tab for now; markup + JS kept for later */
.pf-brand[data-brand="b2"],.pf-brand[data-brand="b3"],.pf-brand[data-brand="b4"]{display:none!important}
/* 04 work: hide case-study CTA until case studies exist */
.pf-cta{display:none!important}

/* hero glow grain: the glow file is smooth (small); grain is a 30 KB tile, masked by the glow so it only
   sits where the glow is, like the grain that used to be baked into the 2.4 MB image */
.hero-glowimg::after{content:"";position:absolute;inset:0;pointer-events:none;background:url("assets/hero-grain.webp?v=8be53805") 0 0/192px 192px repeat;-webkit-mask:url("assets/hero-glow.webp?v=32a95a18") 0 0/100% 100% no-repeat;mask:url("assets/hero-glow.webp?v=32a95a18") 0 0/100% 100% no-repeat}
@media (max-width:640px){
  .hero-glowimg{background-image:url("assets/hero-glow-m.webp?v=3a0a57c0")}
  .hero-glowimg::after{-webkit-mask-image:url("assets/hero-glow-m.webp?v=3a0a57c0");mask-image:url("assets/hero-glow-m.webp?v=3a0a57c0");-webkit-mask-size:190% 100%;mask-size:190% 100%;-webkit-mask-position:50% 50%;mask-position:50% 50%}
}

/* case-study media frame: only for brands with a still */
.pf-media:not(.has-shot){display:none}
/* hero content shares the nav container edge: .hero is a grid, so its auto-margined .wrap shrank to its content and centred */
.hero>.wrap{width:100%;box-sizing:border-box}

/* smooth scroll (Lenis) + back to top */
html{scroll-padding-top:var(--aw-nav-h,72px)}
html.lenis,html.lenis body{height:auto}
html.lenis{scroll-behavior:auto}
.lenis.lenis-stopped{overflow:clip}
.lenis.lenis-smooth iframe{pointer-events:none}
.to-top{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:60;width:52px;height:52px;padding:0;border:0;border-radius:50%;cursor:pointer;display:grid;place-items:center;color:var(--aw-cream);background:rgba(20,19,15,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 12px 30px -12px rgba(0,0,0,.6);opacity:0;visibility:hidden;transform:translateY(14px) scale(.9);transition:opacity .35s var(--ease),transform .35s var(--ease),color .25s,visibility 0s linear .35s}
.to-top.is-shown{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.to-top:hover{color:var(--aw-lime)}
.to-top:focus-visible{outline:2px solid var(--aw-lime);outline-offset:3px}
.to-top svg{grid-area:1/1}
.to-top-ring{width:100%;height:100%;transform:rotate(-90deg)}
.to-top-ring circle{fill:none;stroke-width:2.5}
.to-top-track{stroke:rgba(244,241,232,.14)}
.to-top-bar{stroke:url(#toTopGrad);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--p,0) * 100)}
.to-top-arrow{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--ease)}
.to-top:hover .to-top-arrow{transform:translateY(-3px)}
@media (max-width:600px){.to-top{width:46px;height:46px;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}}
@media (prefers-reduced-motion:reduce){.to-top,.to-top-arrow{transition:none}}

/* footer CTA band ("apart-cta-head"): lime instead of paper */
.band.band--paper.apart-cta-head{background-color:#ddeb5d}

/* selects: our own chevron, inset 18px from the edge to line up with the field padding (the native arrow sat on the border) */
select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:46px;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 8%27%3E%3Cpath d=%27M1 1.5l5 5 5-5%27 fill=%27none%27 stroke=%27%2314130f%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;background-size:12px 8px}
.modal-card:not(.theme-light) select{background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 8%27%3E%3Cpath d=%27M1 1.5l5 5 5-5%27 fill=%27none%27 stroke=%27%23f4f1e8%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;background-size:12px 8px}
.modal-card.theme-light select:hover{background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 8%27%3E%3Cpath d=%27M1 1.5l5 5 5-5%27 fill=%27none%27 stroke=%27%2314130f%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E"),linear-gradient(var(--field-fill),var(--field-fill)),var(--aw-gradient-spectrum);background-repeat:no-repeat;background-position:right 18px center,0 0,0 0;background-size:12px 8px,auto,auto;background-origin:padding-box,border-box,border-box;background-clip:padding-box,padding-box,border-box}
.modal-card:not(.theme-light) select:hover{background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 8%27%3E%3Cpath d=%27M1 1.5l5 5 5-5%27 fill=%27none%27 stroke=%27%23f4f1e8%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E"),linear-gradient(var(--field-fill),var(--field-fill)),var(--aw-gradient-spectrum);background-repeat:no-repeat;background-position:right 18px center,0 0,0 0;background-size:12px 8px,auto,auto;background-origin:padding-box,border-box,border-box;background-clip:padding-box,padding-box,border-box}

/* How it works: no longer pinned; the columns simply fade in together (see the stepscroll script) */
.stepscroll{height:auto}
.stepscroll-sticky{position:static;min-height:0}
.stepscroll .step{transition-duration:1.2s,1.2s}

/* process flow: shorter pinned run now that How it works no longer pins (steps arrive sooner) */
.flow-track{height:560vh}
@media(max-width:700px){.flow-track{height:500vh}}

/* How it works exit: quicker and directional so it reads as leaving */
.stepscroll .step:not(.in){transition-duration:.65s,.65s;transition-timing-function:ease-in,cubic-bezier(.5,0,.75,0)}
.stepscroll .step.out-up{transform:translateY(-40px)}
.stepscroll .step:not(.in):not(.out-up){transform:translateY(40px)}
