
/* Layout concept: black "broadcast" frames bookend white editorial pages; the logo's gradient appears only as a spectrum bar and as a color code for the five services. */
:root{
  color-scheme: light;
  /* Brand spectrum, sampled from the supplied logo */
  --sun:#F8AD00; --teal:#14A3A0; --flare:#ED701A; --signal:#E0333A; --plum:#8D639A; --sky:#3992FF;
  --spectrum: linear-gradient(90deg,#F8AD00 0%,#ED701A 22%,#E0333A 45%,#8D639A 70%,#3992FF 100%);
  /* Neutrals: blue-biased to sit with the sky end of the logo */
  --ink:#0C0C0E; --char:#17181C; --paper:#F2F3F6; --white:#FFFFFF;
  --slate:#545866; --mist:#A6AAB6; --line-light:#DADCE3; --line-dark:#2A2C33;
  /* Text-safe accents on light backgrounds */
  --sky-ink:#1F5FC4; --flare-ink:#B4480C; --plum-ink:#6E4A7C; --signal-ink:#C02A31;
  /* Review marks (internal only) */
  --rv-draft:#1F5FC4; --rv-supplied:#B4480C; --rv-missing:#C02A31; --rv-conflict:#6E4A7C;
  /* Type */
  --display:"Archivo","Arial Black","Helvetica Neue",Arial,sans-serif;
  --body:"Urbanist","Century Gothic","Avenir Next","Avenir","Segoe UI",system-ui,sans-serif;
  --fs-hero:clamp(2.5rem,7.2vw,5.75rem);
  --fs-h2:clamp(1.9rem,4.2vw,3.25rem);
  --fs-h3:clamp(1.25rem,2vw,1.5rem);
  --fs-lead:clamp(1.15rem,1.6vw,1.375rem);
  --fs-body:1.0625rem; --fs-small:.875rem; --fs-label:.75rem;
  /* Space and width */
  --s1:.5rem; --s2:1rem; --s3:1.5rem; --s4:2.5rem; --s5:4rem; --s6:6.5rem;
  --wrap:76rem; --measure:38rem;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{background:var(--white);color:var(--ink);font-family:var(--body);font-size:var(--fs-body);line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:max(16px,4vw)}
h1,h2,h3{font-family:var(--display);font-stretch:118%;line-height:1.04;letter-spacing:-.01em;text-wrap:balance;margin:0}
p{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:2px}
.label{font-family:var(--display);font-stretch:125%;font-weight:700;font-size:var(--fs-label);letter-spacing:.28em;text-transform:uppercase}
.spectrum{height:6px;background:var(--spectrum)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Site header ---------- */
.site-header{background:var(--ink);color:var(--white)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding-block:1rem}
.brand{display:block;line-height:0}
.brand img{width:clamp(132px,16vw,176px);height:auto;aspect-ratio:560/247}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:clamp(.9rem,2vw,2rem)}
.nav a{text-decoration:none;font-weight:500;font-size:1rem;color:var(--mist);padding-block:.4rem;border-bottom:2px solid transparent}
.nav a:hover{color:var(--white)}
.nav a[aria-current="page"]{color:var(--white);border-image:var(--spectrum) 1}
.menu-btn{display:none;font:inherit;font-weight:700;background:transparent;color:var(--white);border:1px solid var(--line-dark);padding:.55rem .9rem;border-radius:4px;cursor:pointer;min-height:44px}
@media (max-width:860px){
  .menu-btn{display:inline-flex;align-items:center;gap:.5rem}
  .nav{position:absolute;left:0;right:0;top:100%;background:var(--ink);border-top:1px solid var(--line-dark);z-index:40}
  .nav[hidden]{display:none}
  .nav ul{flex-direction:column;gap:0;padding:var(--s1) max(16px,4vw) var(--s3)}
  .nav a{display:block;padding:.85rem 0;font-size:1.15rem;border-bottom:1px solid var(--line-dark)}
  .nav a[aria-current="page"]{border-image:none;border-bottom-color:var(--line-dark);color:var(--sun)}
  .site-header{position:relative}
}
@media (min-width:861px){.nav[hidden]{display:block!important}}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.6rem;min-height:48px;padding:.8rem 1.35rem;font-family:var(--display);font-stretch:112%;font-weight:700;font-size:1rem;text-decoration:none;border-radius:2px;border:2px solid transparent;transition:transform .15s ease,background-color .15s ease}
.btn .arr{transition:transform .15s ease}
.btn:hover .arr{transform:translateX(3px)}
.btn-sun{background:var(--sun);color:var(--ink)}
.btn-sun:hover{background:#FFC233}
.btn-ghost{border-color:var(--white);color:var(--white)}
.btn-ghost:hover{background:var(--white);color:var(--ink)}
.btn-ink{background:var(--ink);color:var(--white)}
.btn-ink:hover{background:var(--char)}
.text-link{font-weight:700;color:var(--sky-ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.text-link:hover{color:var(--ink)}

/* ---------- Hero ---------- */
.hero{background:var(--ink);color:var(--white)}
.hero .wrap{padding-block:clamp(3.5rem,9vw,7.5rem) clamp(3rem,7vw,5.5rem);display:grid;gap:var(--s4)}
.hero h1{font-size:var(--fs-hero);font-weight:850;max-width:15ch}
.hero-photo{position:relative;overflow:hidden;isolation:isolate}
.hero-photo .hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%;z-index:-2;max-width:none}
.hero-photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,12,14,.94) 0%,rgba(12,12,14,.82) 42%,rgba(12,12,14,.25) 100%)}
.hero-photo .wrap{padding-block:clamp(4.5rem,11vw,9rem) clamp(4rem,9vw,7rem)}
@media (max-width:760px){.hero-photo::before{background:linear-gradient(180deg,rgba(12,12,14,.7) 0%,rgba(12,12,14,.9) 60%,rgba(12,12,14,.96) 100%)}.hero-photo .hero-img{object-position:78% 50%}}
.grad{background:var(--spectrum);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{font-size:var(--fs-lead);max-width:34rem;color:var(--white);font-weight:500}
.hero .sub{color:var(--mist);max-width:34rem;margin-top:.75rem}
.actions{display:flex;flex-wrap:wrap;gap:.75rem}

/* ---------- Short About ---------- */
.about{padding-block:var(--s6)}
.about .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s4) var(--s5);align-items:start}
.about h2{font-size:var(--fs-h2)}
.about .eyebrow{color:var(--flare-ink);margin-bottom:var(--s2)}
.about .copy{display:grid;gap:var(--s2);max-width:var(--measure);font-size:1.125rem}
.about .copy p:first-child{font-size:var(--fs-lead);font-weight:500}
.portrait{margin:var(--s3) 0 0;max-width:20rem}
.portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-bottom:6px solid var(--flare)}
.photo-opts{margin-top:var(--s2);max-width:20rem}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.5rem}
.opts figure{margin:0}
.opts img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.opts figcaption{font-size:.75rem;color:var(--slate);margin-top:.25rem;line-height:1.3}
.portrait-slot{margin-top:var(--s3);aspect-ratio:4/5;max-width:16rem;border:2px dashed var(--line-light);display:grid;place-items:center;text-align:center;padding:var(--s2);color:var(--slate);font-size:var(--fs-small)}
@media (max-width:760px){.about .wrap{grid-template-columns:1fr}}

/* ---------- What We Do ---------- */
.services{background:var(--paper);padding-block:var(--s6)}
.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:var(--s2);margin-bottom:var(--s4)}
.section-head h2{font-size:var(--fs-h2)}
.section-head .eyebrow{color:var(--sky-ink);margin-bottom:var(--s2)}
.svc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4) var(--s4)}
.svc{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s3) 0 0;border-top:6px solid var(--c)}

.svc h3{font-size:var(--fs-h3)}
.svc p{color:var(--slate);flex:1}
.svc .text-link{color:var(--ink);text-decoration-color:var(--c)}
.svc:nth-child(1){--c:var(--sun)} .svc:nth-child(2){--c:var(--flare)} .svc:nth-child(3){--c:var(--signal)} .svc:nth-child(4){--c:var(--plum)} .svc:nth-child(5){--c:var(--sky)} .svc:nth-child(6){--c:var(--teal)}
@media (max-width:900px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4) var(--s3)}}
@media (max-width:560px){.svc-grid{grid-template-columns:1fr}}

/* ---------- Featured Work (held) ---------- */
.work{padding-block:var(--s5)}
.held{border:2px dashed var(--rv-missing);padding:var(--s3);display:grid;gap:.5rem;background:#FFF5F5}
.held h2{font-size:var(--fs-h3)}

/* ---------- Why ---------- */
.why{background:var(--ink);color:var(--white);padding-block:var(--s6)}
.why .intro{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s3) var(--s5);align-items:start;padding-bottom:var(--s5);border-bottom:1px solid var(--line-dark)}
.why .eyebrow{color:var(--sun);margin-bottom:var(--s2)}
.why h2{font-size:var(--fs-h2)}
#why-h{font-size:clamp(1.75rem,3.1vw,2.4rem);line-height:1.1}
.why .intro p:not(.label){font-size:var(--fs-lead);color:var(--white);max-width:var(--measure)}
.why .q{padding-top:var(--s5);display:grid;gap:var(--s3);min-width:0}
.q-split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:var(--s5);align-items:start}
.q-photo{margin:var(--s5) 0 0;position:sticky;top:5rem}
.q-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-bottom:6px solid var(--flare)}
.band{margin:0 0 var(--s5);max-width:none}
.band img{display:block;width:100%;height:clamp(14rem,34vw,26rem);object-fit:cover;object-position:60% 35%;max-width:none}
.why.ab-ai{padding-top:0}
@media (max-width:860px){.q-split{grid-template-columns:1fr}.q-photo{position:static;max-width:20rem;margin-top:0}}
.why .q h3{font-size:clamp(1.5rem,3vw,2.25rem);color:var(--sun)}
.why .q .answer{font-size:var(--fs-lead);max-width:var(--measure);color:var(--white)}
.why .q .answer + p{color:var(--mist);max-width:var(--measure)}
.people{list-style:none;margin:var(--s3) 0;padding:0;display:grid;gap:0}
.people li{font-family:var(--display);font-stretch:110%;font-weight:700;font-size:clamp(1.15rem,1.9vw,1.45rem);line-height:1.25;padding:var(--s2) 0;border-top:1px solid var(--line-dark);display:grid;grid-template-columns:2rem minmax(0,1fr);gap:var(--s2);align-items:baseline}
.people li::before{content:"";height:6px;width:100%;background:var(--c);transform:translateY(-.3em)}
.people li:nth-child(1){--c:var(--sun)} .people li:nth-child(2){--c:var(--signal)} .people li:nth-child(3){--c:var(--sky)}
.why .close{display:grid;gap:.5rem;font-size:var(--fs-lead);max-width:var(--measure)}
.why .close strong{font-family:var(--display);font-stretch:118%;font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.15}
@media (max-width:760px){.why .intro{grid-template-columns:1fr} .people li{grid-template-columns:1.75rem minmax(0,1fr)}}

/* ---------- About page ---------- */
.page-hero h1{max-width:20ch;font-size:clamp(2.25rem,5vw,4rem)}
.ab-intro{display:grid;gap:.75rem;max-width:40rem}
.ab-intro .sub{margin-top:0}
.ab-story .wrap{display:flex;flex-wrap:wrap;gap:var(--s4) var(--s5);align-items:center}
.ab-story .headshot{flex:0 1 20rem;margin:0}
.ab-story .copy{flex:1 1 24rem;min-width:0}
.punch{font-weight:700}
.ab-ai-grid{display:grid;grid-template-columns:minmax(0,1fr);max-width:52rem}
.candid-owner figcaption{color:var(--slate);font-size:var(--fs-small);margin-top:.6rem}
.candid-owner img{border-bottom-color:var(--sky)}
.ab-ai .q{padding-top:0}
.ai-q{font-size:clamp(1.75rem,3.6vw,2.75rem);color:var(--sun)}
.candid{margin:0;position:sticky;top:5rem}
.candid img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-bottom:6px solid var(--sky)}
.candid figcaption{color:var(--mist);font-size:var(--fs-small);margin-top:.6rem}
.ab-how{background:var(--paper)}
.ab-how h2{font-size:var(--fs-h2)}
.ab-cta .actions{justify-content:flex-end}
.btn-ink-ghost{border-color:var(--ink);color:var(--ink)}
.btn-ink-ghost:hover{background:var(--ink);color:var(--white)}
@media (max-width:860px){.ab-ai-grid{grid-template-columns:1fr}.candid{position:static;max-width:22rem}.ab-cta .actions{justify-content:flex-start}}

/* ---------- Work cards ---------- */
.work{padding-block:var(--s6)}
.work-all{padding-block:var(--s5) var(--s6)}
.work-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17.5rem),1fr));gap:var(--s3)}
.wcard{display:flex;flex-direction:column;min-width:0;background:var(--white);border:1px solid var(--line-light);border-top:6px solid var(--c);}
.wcard a.wlink{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);height:100%}
.wbody{display:flex;flex-direction:column;gap:.75rem;padding:var(--s3);flex:1}
.wphoto{margin:0;aspect-ratio:3/2;max-width:100%;background:var(--ink);overflow:hidden;position:relative}
.wphoto img{width:100%;height:100%;object-fit:cover;display:block}
.wphoto figcaption{position:absolute;right:0;bottom:0;background:rgba(12,12,14,.75);color:var(--white);font-size:.7rem;padding:.2rem .45rem}
.wphoto.ph{display:grid;place-content:center;gap:.4rem;text-align:center;padding:var(--s2);background:repeating-linear-gradient(135deg,var(--ink) 0 14px,var(--char) 14px 28px);color:var(--white)}
.wphoto.ph span{font-family:var(--display);font-stretch:125%;font-weight:900;font-size:1.6rem;letter-spacing:.04em}
.wphoto.ph small{font-size:.72rem;color:var(--mist);max-width:16rem}
.wex{color:var(--slate);font-size:.98rem}
.credit-line{margin-top:var(--s2);font-size:var(--fs-small);color:var(--slate);text-align:right}
.wq{margin:0;padding:.25rem 0 .25rem 1rem;border-left:4px solid var(--c)}
.wq p{font-family:var(--display);font-stretch:105%;font-weight:700;font-size:1.02rem;line-height:1.3;color:var(--ink)}
.wq footer{text-align:right;margin-top:.4rem;font-size:var(--fs-small);color:var(--slate)}
.wq footer .nw{white-space:nowrap}
.wq footer::before{content:"— "}
.wcard a.wlink:hover h3{text-decoration:underline;text-decoration-color:var(--c);text-decoration-thickness:3px;text-underline-offset:4px}
.wtop{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline}
.wcat{font-family:var(--display);font-stretch:125%;font-weight:700;font-size:1.25rem;line-height:1.1;letter-spacing:.08em;text-transform:uppercase;color:var(--c)}
.hull{font-family:var(--display);font-stretch:125%;font-weight:900;font-size:1.05rem;letter-spacing:.04em;color:var(--ink);white-space:nowrap}
.wseries{font-size:1.05rem;font-weight:700;color:var(--slate);margin-top:-.4rem}
.wcard h3{font-size:1.2rem;font-stretch:110%;line-height:1.15}
.wmeta{margin-top:auto;padding-top:.5rem;font-size:var(--fs-small);color:var(--slate);display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap;border-top:1px solid var(--line-light)}
.wmeta .go{font-weight:700;color:var(--sky-ink)}
.c-campaigns{--c:var(--plum)} .c-spotlights{--c:var(--flare)} .c-milestones{--c:var(--sky)}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:var(--s2) 0}
.filters button{font:inherit;font-weight:700;min-height:44px;padding:.5rem 1rem;border:2px solid var(--ink);background:var(--white);color:var(--ink);border-radius:999px;cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--white)}
.filters button .n{font-weight:500;opacity:.7;margin-left:.3rem}
.count{color:var(--slate);font-size:var(--fs-small);margin-bottom:var(--s2)}
.empty{padding:var(--s3);border:1px dashed var(--line-light);color:var(--slate)}
.attrib{margin-top:var(--s4);max-width:44rem;color:var(--slate);font-size:var(--fs-small);border-top:1px solid var(--line-light);padding-top:var(--s2)}
/* ---------- Recognition ---------- */
.recog{padding-block:var(--s5);background:var(--white)}
.recog-head{max-width:44rem;display:grid;gap:.75rem;margin-bottom:var(--s3)}
.recog-head h2{font-size:var(--fs-h2)}
.recog-head .eyebrow{color:var(--plum-ink)}
.recog-head p{color:var(--slate)}
.recog-head.emp{margin-top:var(--s5)}
.recog-head h3{font-size:var(--fs-h3)}
.yr{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:var(--s2);padding-block:var(--s2);border-top:1px solid var(--line-light)}
.yr > span{font-family:var(--display);font-stretch:125%;font-weight:900;font-size:1.5rem;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.yr ul{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}
.yr li{display:grid;gap:.1rem}
.yr li b{font-weight:700}
.yr li .proj{font-style:normal}
.yr li small{color:var(--slate);font-size:var(--fs-small)}
@media (max-width:560px){.yr{grid-template-columns:1fr;gap:.5rem}}

/* LNK initials in the tagline, colored in logo order: L sun/flare, N flare/signal, K signal/plum */
.lnk{background-clip:text;-webkit-background-clip:text;color:transparent;font-weight:900;padding-right:.02em}
.lnk-l{background-image:linear-gradient(135deg,#D97706,#DD6B10)}
.lnk-n{background-image:linear-gradient(135deg,#DD6B10,#E0333A)}
.lnk-k{background-image:linear-gradient(135deg,#E0333A,#8D639A)}
.page-hero .lnk-l,.site-footer .lnk-l{background-image:linear-gradient(135deg,var(--sun),var(--flare))}
.page-hero .lnk-n,.site-footer .lnk-n{background-image:linear-gradient(135deg,var(--flare),var(--signal))}
.page-hero .lnk-k,.site-footer .lnk-k{background-image:linear-gradient(135deg,var(--signal),var(--plum))}
.site-footer .tagline .lnk{font-weight:800}
.lnk-stack{line-height:1}
.why-copy{display:grid;gap:1rem;max-width:var(--measure)}
.why .intro .why-copy p{font-size:1.15rem;line-height:1.6;color:var(--mist)}
.why .intro .why-copy .why-lead{font-size:var(--fs-lead);color:var(--white);font-weight:500}
.why .intro .why-copy .punch-line{font-family:var(--display);font-stretch:118%;font-weight:800;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.15;color:var(--sun)}
.why .q-home p.wide,.why .q-home .answer + p.wide{max-width:none}
.people-row{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:var(--s5);align-items:stretch;margin-block:var(--s3)}
.people-row .people{margin:0;border-bottom:1px solid var(--line-dark)}
.people-row .q-photo{margin:0;position:static;align-self:stretch;display:flex}
.people-row .q-photo img{height:100%;width:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 20%}
@media (max-width:860px){.people-row{grid-template-columns:1fr}.people-row .q-photo{max-width:20rem}.people-row .q-photo img{aspect-ratio:4/5;height:auto}}
/* ---------- Services ---------- */
.svc-hero .wrap{grid-template-columns:minmax(0,7fr) minmax(0,4fr);align-items:center}
.svc-hero-copy{display:grid;gap:1rem}
.svc-hero-copy .sub{margin-top:0;color:var(--white)}
.svc-hero-photo{margin:0}
.trust{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;color:var(--white);border:1px solid var(--line-dark);padding:.45rem .9rem;border-radius:999px;justify-self:start}
.trust-mark{color:var(--sun)}
.svc-hero-photo img{display:block;width:100%;height:auto;aspect-ratio:560/573;object-fit:cover;border-bottom:6px solid var(--sky)}
@media (max-width:860px){.svc-hero .wrap{grid-template-columns:1fr}.svc-hero-photo{max-width:22rem}}
.pkgs{padding-block:var(--s6);background:var(--paper)}
.pkgs h2,.alacarte h2{font-size:var(--fs-h2)}
.pkg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:var(--s3)}
.pkg{background:var(--white);border:1px solid var(--line-light);border-top:6px solid var(--c);padding:var(--s3);display:flex;flex-direction:column;gap:.75rem;min-width:0}
.pkg h3{font-size:1.45rem}
.pkg-kind{font-family:var(--display);font-stretch:125%;font-weight:700;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--slate)}
.pkg-tag{color:var(--slate);font-style:italic}
.pkg ul{margin:0;padding:0;list-style:none;display:grid;gap:.5rem;flex:1;align-content:start}
.pkg li{padding-left:1.1rem;position:relative}
.pkg li::before{content:"";position:absolute;left:0;top:.65em;width:.5rem;height:.5rem;background:var(--c)}
.pkg .btn{align-self:flex-start;margin-top:var(--s2)}
.pkg-cta{margin:var(--s4) 0 0;text-align:center}
.p-story{--c:var(--sun)} .p-mile{--c:var(--signal)} .p-camp{--c:var(--plum)} .p-dept{--c:var(--sky)}
.alacarte{padding-block:var(--s6)}
.ac-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:var(--s5);align-items:start}
.ac-list{list-style:none;margin:var(--s3) 0 0;padding:0;columns:2 16rem;column-gap:var(--s4)}
.ac-list li{break-inside:avoid;padding:.6rem 0;border-top:1px solid var(--line-light);font-size:1.05rem}
.ac-sub{font-size:var(--fs-h3);margin-top:var(--s4)}
.ac-side{display:grid;gap:var(--s2)}
.ac-box{border-left:4px solid var(--plum);padding:.25rem 0 .25rem 1.1rem}
.ac-box h3{font-size:1.15rem;margin-bottom:.35rem}
.ac-box p{color:var(--slate)}
@media (max-width:860px){.ac-grid{grid-template-columns:1fr}}
.dual-link{font-weight:700;color:var(--slate)}
/* ---------- Final CTA ---------- */
.cta{background:var(--sun);color:var(--ink);padding-block:var(--s6)}
.cta .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s3) var(--s5);align-items:end}
.cta h2{font-size:var(--fs-h2);max-width:16ch}
.cta p{font-size:var(--fs-lead);font-weight:500;max-width:32rem;margin-top:var(--s2)}
@media (max-width:760px){.cta .wrap{grid-template-columns:1fr}}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:var(--mist);font-size:var(--fs-small)}
.site-footer .wrap{padding-block:var(--s5) var(--s4);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:var(--s4)}
.site-footer img{width:150px;height:auto;aspect-ratio:560/247}
.site-footer h2{font-size:var(--fs-label);font-stretch:125%;letter-spacing:.28em;text-transform:uppercase;color:var(--white);margin-bottom:var(--s2)}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.site-footer a{color:var(--mist);text-decoration:none}
.site-footer a:hover{color:var(--white);text-decoration:underline}
.social{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:var(--s2)}
.social a{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--line-dark);border-radius:50%;color:var(--white)}
.social a:hover{background:var(--white);color:var(--ink);text-decoration:none}
.social svg{width:20px;height:20px}
.site-footer .tagline{margin-top:.2rem;color:var(--white);font-weight:500}
.site-footer img{display:block}
.legal{border-top:1px solid var(--line-dark)}
.legal .wrap{display:flex;flex-wrap:wrap;gap:var(--s2);justify-content:space-between;padding-block:var(--s3);grid-template-columns:none}
@media (max-width:760px){.site-footer .wrap{grid-template-columns:1fr}}

/* ---------- Design system tab ---------- */
.ds{padding-block:var(--s5);display:grid;gap:var(--s5)}
.ds h2{font-size:var(--fs-h2)}
.ds h3{font-size:var(--fs-h3);margin-bottom:var(--s2)}
.ds .intro{max-width:44rem;font-size:1.125rem;color:var(--slate);margin-top:var(--s2)}
.ds section{display:grid;gap:var(--s2)}
.ds .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:var(--s3)}
.logo-demo{background:var(--ink);padding:var(--s4);display:grid;place-items:center}
.logo-demo img{width:min(100%,320px);height:auto;aspect-ratio:560/247;outline:1px dashed rgba(255,255,255,.25);outline-offset:0}
.rules{margin:0;padding-left:1.1rem;display:grid;gap:.35rem}
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,10.5rem),1fr));gap:var(--s2)}
.sw{border:1px solid var(--line-light);display:grid;grid-template-rows:5.5rem auto}
.sw .chip{background:var(--v)}
.sw .meta{padding:.6rem .7rem;font-size:var(--fs-small);display:grid;gap:.15rem}
.sw .meta b{font-family:var(--display);font-stretch:110%}
.sw code{font-size:.8rem;color:var(--slate)}
.table-scroll{overflow-x:auto;border:1px solid var(--line-light)}
table{border-collapse:collapse;width:100%;min-width:34rem;font-size:var(--fs-small)}
th,td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--line-light);vertical-align:middle}
th{font-family:var(--display);font-stretch:110%;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;background:var(--paper)}
td.num{font-variant-numeric:tabular-nums;font-weight:700}
.pass{color:#1E7A3C;font-weight:700} .fail{color:var(--signal-ink);font-weight:700} .lg{color:var(--flare-ink);font-weight:700}
.sample{display:inline-block;padding:.3rem .6rem;font-weight:700}
.type-row{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:var(--s2);align-items:baseline;padding-block:var(--s2);border-top:1px solid var(--line-light)}
.type-row small{color:var(--slate);font-size:var(--fs-small)}
@media (max-width:560px){.type-row{grid-template-columns:1fr;gap:.25rem}}
.demo-dark{background:var(--ink);padding:var(--s3);display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.demo-light{background:var(--white);border:1px solid var(--line-light);padding:var(--s3);display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.focus-demo{outline:3px solid var(--sky);outline-offset:3px}
.space-scale{display:grid;gap:.4rem}
.space-scale div{display:grid;grid-template-columns:4rem auto;gap:var(--s2);align-items:center;font-size:var(--fs-small)}
.space-scale span{display:block;height:.7rem;background:var(--ink)}
.site-header,.site-footer,.site-header .nav{background:#000}
.ab-story .owner-wrap{display:block}
.owner-label{margin-bottom:var(--s3)}
.owner-row{display:flex;flex-wrap:wrap;gap:var(--s4) var(--s5);align-items:center}
.owner-row .copy{flex:1 1 24rem;min-width:0}
.owner-row .headshot{flex:0 1 20rem;margin:0}
.owner-row .copy p:first-child{font-size:1.125rem;font-weight:400}
.band-divider{margin:0}
.recog-top{display:grid;grid-template-columns:minmax(0,16rem) minmax(0,1fr);gap:var(--s4) var(--s5);align-items:center;margin-bottom:var(--s4)}
.recog-top .recog-head{margin-bottom:0}
.award-photo{margin:0}
.award-photo img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-bottom:6px solid var(--plum)}
@media (max-width:700px){.recog-top{grid-template-columns:1fr}.award-photo{max-width:16rem}}
.recog-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,19rem);gap:var(--s4) var(--s5);align-items:center}
.recog-row .award-photo{margin:0}
@media (max-width:760px){.recog-row{grid-template-columns:1fr}.recog-row .award-photo{max-width:18rem}}
.recog-head{gap:.6rem;margin-bottom:var(--s3)}
.recog-head .recog-intro{font-size:var(--fs-lead);color:var(--ink);max-width:40rem}
.partners-hero .wrap{padding-block:clamp(4.5rem,11vw,8rem)}
.partners-copy{display:grid;gap:1.1rem;max-width:44rem}
.soon{display:inline-flex;align-items:center;gap:.6rem;justify-self:start;font-family:var(--display);font-stretch:125%;font-weight:700;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);background:var(--sun);padding:.6rem 1.1rem;border-radius:999px}
.soon-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--ink)}
@media (max-width:1040px) and (min-width:861px){.nav ul{gap:1rem}.nav a{font-size:.92rem}}
.partners-copy .sub{margin-top:0;color:var(--white);max-width:40rem}
#panel-about .why{border-top:0}
#panel-about .page-hero .spectrum{display:none}
#panel-about .why{box-shadow:inset 0 6px 0 0 transparent;background-image:linear-gradient(90deg,#F8AD00 0%,#ED701A 22%,#E0333A 45%,#8D639A 70%,#3992FF 100%);background-size:100% 6px;background-repeat:no-repeat;background-color:var(--ink)}
.about-hero .hero-img{object-position:60% 50%}
.why .intro .label.eyebrow{font-size:var(--fs-label);color:var(--sun)}
.svc-more{margin-top:var(--s4)}
.means{margin-block:.25rem;padding:var(--s2) 0 var(--s2) var(--s3);border-left:6px solid var(--flare)}
.means-q{font-weight:700;margin-bottom:.5rem}
.means ul{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.means li{font-family:var(--display);font-stretch:118%;font-weight:800;font-size:clamp(1.2rem,2vw,1.45rem);line-height:1.2}
.people-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.people-row .people{align-self:start}
.people-row .q-photo{position:relative;display:block;min-height:100%;margin:0!important;top:auto!important;align-self:stretch}
.people-row .q-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%}
@media (max-width:860px){.people-row .q-photo{position:static;min-height:0}.people-row .q-photo img{position:static;aspect-ratio:4/5;height:auto}}
.svc-hero .wrap{grid-template-columns:1fr}
.hero-right .svc-hero-copy{justify-self:end;max-width:36rem}
.hero-right .hero-img{object-position:30% 30%}
.hero-right::before{background:linear-gradient(270deg,rgba(12,12,14,.95) 0%,rgba(12,12,14,.86) 40%,rgba(12,12,14,.2) 100%)}
@media (max-width:760px){.hero-right .svc-hero-copy{justify-self:stretch}.hero-right::before{background:linear-gradient(180deg,rgba(12,12,14,.65) 0%,rgba(12,12,14,.9) 55%,rgba(12,12,14,.96) 100%)}}
.hero-right .svc-hero-copy{max-width:40rem}
.hero-right h1{font-size:clamp(2rem,3.6vw,3rem);max-width:none}
@media (min-width:761px){
.hero-right{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,min(46rem,52%));background:var(--ink)}
.hero-right .hero-img{position:relative;inset:auto;grid-column:1;grid-row:1;width:100%;height:100%;z-index:0;object-position:48% 22%}
.hero-right::before{position:relative;inset:auto;grid-column:1;grid-row:1;z-index:1;background:linear-gradient(90deg,rgba(12,12,14,0) 55%,rgba(12,12,14,.7) 85%,rgba(12,12,14,1) 100%)}
.hero-right .wrap{grid-column:2;grid-row:1;z-index:2;margin:0;max-width:none;padding-inline:var(--s4) max(16px,4vw);padding-block:clamp(3rem,6vw,5rem)}
.hero-right .svc-hero-copy{justify-self:start;max-width:36rem}
.hero-right .spectrum{grid-column:1/-1;grid-row:2;position:relative;z-index:2}
}
@media (max-width:760px){
.hero-right{display:flex;flex-direction:column;background:var(--ink)}
.hero-right .hero-img{position:relative;inset:auto;width:100%;height:16rem;z-index:0;object-position:55% 18%;order:0}
.hero-right::before{inset:0 0 auto 0;height:16rem;background:linear-gradient(180deg,rgba(12,12,14,0) 55%,rgba(12,12,14,1) 100%)}
.hero-right .wrap{order:1;padding-block:var(--s3) var(--s5)}
.hero-right .spectrum{order:2}
}
.hero-right h1.label{font-family:var(--display);font-stretch:125%;font-weight:700;font-size:var(--fs-label);letter-spacing:.28em;line-height:1.4}
.hero-right .svc-hero-copy .lead{font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:600;line-height:1.3}
.work-hero .hero-img{object-position:75% 35%}
.wlox{background:var(--paper);padding-block:var(--s6);border-top:6px solid var(--signal)}
.wl-head{max-width:46rem;display:grid;gap:1rem;margin-bottom:var(--s4)}
.wl-head .eyebrow{color:var(--signal-ink)}
.wl-head h2{font-size:var(--fs-h2)}
.wl-head .lead{font-size:var(--fs-lead)}
.wl-note{color:var(--slate);font-weight:700}
.wl-groups{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--s4) var(--s5);align-items:start}
.wl-group:first-child{grid-row:span 2}
.wl-group h3{font-size:var(--fs-h3);padding-bottom:.6rem;border-bottom:3px solid var(--signal);margin-bottom:.25rem}
.wl-list{list-style:none;margin:0;padding:0}
.wl-list li{padding:var(--s2) 0;border-bottom:1px solid var(--line-light);display:grid;gap:.3rem}
.wl-list a{display:inline-flex;gap:.4rem;align-items:baseline;text-decoration:none;color:var(--ink);font-family:var(--display);font-stretch:112%;font-weight:800;font-size:1.2rem}
.wl-list a:hover .wl-t{text-decoration:underline;text-decoration-color:var(--signal);text-decoration-thickness:3px;text-underline-offset:4px}
.wl-go{color:var(--signal-ink);font-size:.95rem}
.wl-list p{color:var(--slate)}
@media (max-width:860px){.wl-groups{grid-template-columns:1fr}.wl-group:first-child{grid-row:auto}}
.people.people-pics{margin-block:var(--s3);border-bottom:1px solid var(--line-dark)}
.people.people-pics li{grid-template-columns:2rem minmax(0,1fr) minmax(0,22rem);align-items:center;gap:var(--s2)}
.people-pics li .q-photo{margin-left:var(--s3)}
.people.people-pics li::before{transform:none}
.people-pics .q-photo{margin:0;position:static}
.people-pics .q-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-bottom:6px solid var(--flare)}
@media (max-width:760px){.people.people-pics li{grid-template-columns:1.75rem minmax(0,1fr)}.people-pics .q-photo{grid-column:1/-1;max-width:24rem}.people-pics li .q-photo{margin-left:0}}

/* ---------- Launch additions ---------- */
.skip{position:absolute;left:-9999px;top:0;background:var(--sun);color:var(--ink);padding:.75rem 1rem;font-weight:700;z-index:100}
.skip:focus{left:1rem;top:1rem}
.form-wrap{padding-block:var(--s5) var(--s6)}
.form-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:var(--s5);align-items:start}
.lnkc-form{display:grid;gap:var(--s3);max-width:44rem}
.field{display:grid;gap:.4rem}
.field label{font-weight:700}
.field .req{color:var(--signal-ink)}
.field .hint{font-size:var(--fs-small);color:var(--slate)}
.field input,.field select,.field textarea{font:inherit;font-size:1rem;padding:.8rem .9rem;border:2px solid var(--line-light);border-radius:2px;background:var(--white);color:var(--ink);width:100%;min-height:48px}
.field textarea{min-height:10rem;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--sky);outline-offset:1px;border-color:var(--ink)}
.field [aria-invalid="true"]{border-color:var(--signal-ink)}
.field .err{color:var(--signal-ink);font-size:var(--fs-small);font-weight:700}
.two{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status{padding:var(--s2) var(--s3);border-left:6px solid var(--c,var(--sky));background:var(--paper);font-weight:500}
.form-status.ok{--c:#1E7A3C}
.form-status.bad{--c:var(--signal-ink)}
.contact-side{display:grid;gap:var(--s3);padding:var(--s3);background:var(--paper);border-top:6px solid var(--flare)}
.contact-side h2{font-size:var(--fs-h3)}
.contact-side a{color:var(--sky-ink);font-weight:700}
.contact-side p{color:var(--slate)}
.prose{max-width:var(--measure);display:grid;gap:var(--s2);padding-block:var(--s5) var(--s6)}
.prose h2{font-size:var(--fs-h3);margin-top:var(--s2)}
.prose a{color:var(--sky-ink)}
@media (max-width:860px){.form-grid{grid-template-columns:1fr}}
@media (max-width:560px){.two{grid-template-columns:1fr}}
