/* Smaller Agency — proof system / 2026
   Serious brand work. Small-team overhead. */

:root{
  --ink:#11110f;
  --paper:#f2f3ef;
  --paper-2:#e5e7e1;
  --white:#fff;
  --blue:#3f4dff;
  --signal:#f0ff58;
  --rule:#cfd2ca;
  --mute:#686a64;
  --coral:#3f4dff;
  --red:#ff4b2f;
  --neon:#f0ff58;
  --pink:#ff89ba;
  --sky:#a8c8ff;
  --font-display:"Anybody",Arial,sans-serif;
  --font-body:"Instrument Sans",Arial,sans-serif;
  --font-utility:"Instrument Sans","Helvetica Neue",Arial,sans-serif;
  --font-script:var(--font-display);
  --shell:92rem;
  --gutter:clamp(1.25rem,3vw,3rem);
  --section-y:clamp(5rem,9vw,9rem);
  --header-h:5.25rem;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::after{content:none}
img{display:block;max-width:100%}
svg{display:block}
a{color:inherit;text-decoration:none}
p,h1,h2,h3,h4,ul{margin:0}
button,input,textarea{font:inherit}
::selection{background:var(--signal);color:var(--ink)}

.skip{position:fixed;left:1rem;top:-5rem;z-index:1000;background:var(--ink);color:var(--white);padding:.8rem 1rem;font-family:var(--font-utility);font-size:.72rem}
.skip:focus{top:1rem}
.shell{width:min(100%,var(--shell));margin:0 auto;padding-inline:var(--gutter)}
.rule{border:0;border-top:1px solid var(--rule)}
.paper2{background:var(--paper-2)}
.inverse{background:var(--ink);color:var(--paper)}
.coral{color:var(--blue)!important}
.mute{color:var(--mute)!important}

/* Typography */
h1,h2,h3,.h2,.h3,.feature-caption .name,.next-case .big{
  font-family:var(--font-display);font-weight:820;font-variation-settings:"wdth" 108;
  letter-spacing:-.055em;line-height:.94;
}
h1{font-size:clamp(3.5rem,9vw,9rem);max-width:11em}
h2,.h2{font-size:clamp(2.5rem,5.7vw,5.75rem);max-width:12em}
h3,.h3{font-size:clamp(1.35rem,2vw,2rem);letter-spacing:-.035em;line-height:1.02}
.script{font-family:inherit;font-size:inherit;font-style:normal;font-weight:inherit;color:inherit;-webkit-text-stroke:0}
.lead{font-size:clamp(1.1rem,1.6vw,1.45rem);line-height:1.45;max-width:36em;letter-spacing:-.012em}
.body-copy{font-size:1rem;line-height:1.65;max-width:39em}
.body-copy+.body-copy{margin-top:1rem}
.eyebrow,.code,.meta,.plabel,.fcap,.strip-hint{
  font-family:var(--font-utility);font-size:.66rem;font-weight:600;line-height:1.35;
  letter-spacing:.115em;text-transform:uppercase;
}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(242,243,239,.94);border-bottom:1px solid var(--ink);backdrop-filter:blur(14px)}
.site-header .bar{width:min(100%,var(--shell));height:var(--header-h);margin:auto;padding-inline:var(--gutter);display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:clamp(1.5rem,3vw,3.5rem)}
.wordmark{display:inline-flex;width:max-content;align-items:center}
.logo-mark{width:auto;height:3.25rem}
.site-nav{display:flex;align-items:center;gap:clamp(1.25rem,2.4vw,2.5rem)}
.site-nav a{display:flex;align-items:center;min-height:44px;font-family:var(--font-utility);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;position:relative}
.site-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:.45rem;height:2px;background:var(--blue);transition:right .25s ease}
.site-nav a:hover::after,.site-nav a.active::after,.site-nav a[aria-current="page"]::after{right:0}
.header-brief{display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:44px;padding:.65rem .9rem;background:var(--blue);color:#fff;font-family:var(--font-utility);font-size:.66rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;transition:background .2s ease,color .2s ease}
.header-brief:hover{background:var(--signal);color:var(--ink)}
.header-brief span{font-size:1rem;line-height:1}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-height:48px;padding:.85rem 1rem;border:1px solid var(--ink);background:transparent;color:var(--ink);font-family:var(--font-utility);font-size:.68rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.btn::after{content:"↗";font-size:1rem;line-height:1}
.btn:hover,.btn.hot,.btn.solid{background:var(--ink);color:#fff}
.btn.hot:hover,.btn.solid:hover{background:var(--blue);border-color:var(--blue)}
.inverse .btn{border-color:var(--paper);color:var(--paper)}
.inverse .btn:hover,.inverse .btn.hot{background:var(--paper);color:var(--ink)}

/* New homepage thesis */
.home-hero{min-height:calc(100svh - var(--header-h));display:flex;align-items:stretch;border-bottom:1px solid var(--ink)}
.home-hero .shell{display:grid;grid-template-rows:auto 1fr auto;padding-top:clamp(2rem,4vw,3.5rem);padding-bottom:clamp(2rem,3vw,3rem)}
.hero-kicker{display:flex;justify-content:space-between;align-items:center;padding-bottom:1.1rem;border-bottom:1px solid var(--rule);font-family:var(--font-utility);font-size:.64rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.hero-thesis{align-self:center;padding-block:clamp(3rem,7vw,7rem)}
.hero-thesis h1{font-size:clamp(4.1rem,10.2vw,10.5rem);max-width:none;line-height:.83;letter-spacing:-.075em}
.hero-thesis h1 span{display:block}
.hero-thesis h1 .brand-line{white-space:nowrap}
.hero-thesis h1 .accent{color:var(--blue);font-size:.74em;white-space:nowrap;font-variation-settings:"wdth" 92;letter-spacing:-.06em}
.hero-bottom{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,.65fr) auto;gap:clamp(2rem,5vw,5rem);align-items:end;padding-top:1.25rem;border-top:1px solid var(--ink)}
.hero-bottom .lead{max-width:35em}
.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap}
.hero-proof{display:flex;flex-direction:column;align-items:flex-end;text-align:right;font-family:var(--font-utility);font-size:.64rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.hero-proof b{font-family:var(--font-display);font-size:clamp(2.6rem,4vw,4.5rem);font-weight:850;font-variation-settings:"wdth" 125;line-height:.8;letter-spacing:-.06em}
.hero-proof span{margin-top:.6rem;color:var(--mute)}

/* Interior hero */
.page-hero{padding:clamp(5.5rem,10vw,9.5rem) 0 clamp(4rem,7vw,6rem);border-bottom:1px solid var(--ink)}
.page-hero .eyebrow{margin-bottom:clamp(2rem,4vw,4rem);color:var(--blue)}
.page-hero h1{max-width:10.5em}
.page-hero .lead{margin-top:clamp(1.75rem,3vw,3rem);max-width:34em}
.page-hero .sticker{display:none}
.page-hero .contact-links{margin-top:clamp(2.5rem,4vw,4rem)}

/* Featured project / scroll-led proof
   Single-image heroes move normally. Only multi-frame stories pin. */
.feature{height:calc(100svh - var(--header-h));position:relative;background:var(--ink)}
.feature.frames{height:190vh}
.feature.frames.short{height:135vh}
.feature.frames.case-frames{height:140vh}
.feature-stage{position:relative;height:100%;overflow:hidden;background:var(--ink)}
.feature.frames .feature-stage{position:sticky;top:var(--header-h);height:calc(100svh - var(--header-h))}
.feature-stage>img{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);will-change:transform,clip-path}
.feature-stage>img.on,.feature-stage>img:only-of-type{opacity:1}
.feature-swatch{display:none}
.feature-caption{position:absolute;z-index:10;left:var(--gutter);bottom:var(--gutter);width:min(31rem,calc(100% - var(--gutter)*2));container-type:inline-size;background:var(--white);color:var(--ink);padding:clamp(1.15rem,2vw,1.65rem);border-top:5px solid var(--blue)}
.feature-caption .eyebrow{margin-bottom:.8rem;color:var(--blue)}
.feature-caption .name{font-size:clamp(2.3rem,12.5cqw,4rem);font-variation-settings:"wdth" 100;text-transform:none;max-width:100%;text-wrap:balance}
.feature-caption .code{margin-top:1rem;color:var(--mute)}
.feature-caption .btn{margin-top:1.4rem}
.fs-dots{position:absolute;z-index:10;right:var(--gutter);bottom:var(--gutter);display:flex;gap:.4rem;padding:.5rem;background:rgba(17,17,15,.65)}
.fs-dots i{display:block;width:1.6rem;height:3px;background:rgba(255,255,255,.35);transition:background .2s ease}
.fs-dots i.on{background:var(--signal)}

/* Section logic */
.section{padding:var(--section-y) 0}
.section.tight{padding-block:clamp(4.5rem,7vw,7rem)}
.section:not(.inverse):not(.paper2):not([style*="background"])+
.section:not(.inverse):not(.paper2):not(.closer):not([style*="background"]){padding-top:0}
.runhead{display:grid;grid-template-columns:4rem 1fr;align-items:baseline;gap:1rem;padding-bottom:1rem;margin-bottom:clamp(2.5rem,5vw,5rem);border-bottom:1px solid currentColor}
.runhead .n,.runhead .l{font-family:var(--font-utility);font-size:.66rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.runhead .n{color:var(--blue)}
.runhead .l{color:inherit}
.inverse .runhead{border-color:#44443f}
.inverse .runhead .n{color:var(--signal)}
.s-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,4fr);gap:clamp(2rem,7vw,8rem);align-items:start;margin-bottom:clamp(3rem,6vw,6rem)}
.s-head .right{padding-top:.35rem}
.s-head .right p{max-width:36em}
.s-head .right p+p{margin-top:1rem}
.method-note{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--rule);font-family:var(--font-utility);font-size:.72rem;line-height:1.55;max-width:54em;color:var(--mute)}

/* Homepage selected projects */
.selected-work{padding:var(--section-y) 0}
.section-intro{display:grid;grid-template-columns:1fr minmax(250px,.55fr);gap:3rem;align-items:end;margin-bottom:clamp(3rem,6vw,6rem)}
.section-intro .eyebrow{grid-column:1/-1;padding-bottom:1rem;border-bottom:1px solid var(--ink);color:var(--blue)}
.section-intro p{max-width:31em;justify-self:end}
.project-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,3vw,3rem);align-items:start}
.proof-card{display:block;position:relative}
.proof-card .photo{overflow:hidden;background:var(--paper-2);aspect-ratio:4/3}
.proof-card .photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.proof-card.tall .photo{aspect-ratio:4/5}
.proof-card:hover .photo img{transform:scale(1.025)}
.proof-label{display:grid;grid-template-columns:1fr auto;gap:1rem;padding-top:1rem;border-top:1px solid var(--ink);margin-top:.8rem}
.proof-label .name{font-family:var(--font-display);font-size:clamp(1.65rem,2.8vw,3rem);font-weight:800;font-variation-settings:"wdth" 110;letter-spacing:-.05em;line-height:.95}
.proof-label .scope{font-family:var(--font-utility);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;text-align:right;max-width:23em}
.proof-card:hover .proof-label .name{color:var(--blue)}
.selected-work .more-work{margin-top:clamp(3rem,5vw,5rem);display:flex;justify-content:flex-end}

/* Work cards */
.chip-grid{display:grid;gap:clamp(2rem,4vw,4rem)}
.chip-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.chip-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.chip-card{display:block;min-width:0;background:transparent!important;border:0!important;box-shadow:none!important;transform:none!important}
.chip-card .photo{position:relative;overflow:hidden;background:var(--paper-2);aspect-ratio:4/3}
.chip-card .photo img{width:100%;height:100%;object-fit:cover;opacity:1;transition:transform .65s cubic-bezier(.22,1,.36,1)}
.chip-card:hover .photo img{transform:scale(1.03)}
.chip-card .swatch,.chip-card .band{display:none}
.chip-card .caption{padding:1rem 0 0;border-top:1px solid var(--ink);margin-top:.75rem}
.chip-card .caption .name{font-family:var(--font-display);font-size:clamp(1.35rem,2.2vw,2.4rem);font-weight:800;font-variation-settings:"wdth" 108;letter-spacing:-.05em;line-height:1}
.chip-card .caption .code{margin-top:.55rem;color:var(--mute)}
a.chip-card:hover .caption .name{color:var(--blue)}
.portfolio-grid .chip-card .photo{aspect-ratio:4/3}
.portfolio-grid .chip-card .caption{display:block}

/* Capability system */
.capability-band{background:var(--blue);color:#fff;padding:clamp(4rem,8vw,7rem) 0}
.capability-band .eyebrow{padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.5)}
.capability-list{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(3rem,6vw,6rem)}
.capability-list>div{min-width:0;padding-right:clamp(1rem,3vw,3rem)}
.capability-list>div+div{border-left:1px solid rgba(255,255,255,.5);padding-left:clamp(1rem,3vw,3rem)}
.capability-list b{display:block;font-family:var(--font-display);font-size:clamp(2.3rem,5vw,5rem);font-weight:820;font-variation-settings:"wdth" 110;letter-spacing:-.06em;line-height:.9}
.capability-list p{margin-top:1.2rem;max-width:25em}

/* Operating model / founder */
.operate-break{padding:clamp(4.5rem,8vw,8rem) 0}
.operate-break .runhead{margin-bottom:clamp(3.5rem,7vw,7rem)}
.operate-thesis{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.5fr);gap:clamp(2rem,7vw,8rem);align-items:end}
.operate-thesis h2{color:var(--paper);max-width:11em}
.operate-thesis p{font-family:var(--font-display);font-size:clamp(1.8rem,3.2vw,3.5rem);font-weight:780;font-variation-settings:"wdth" 112;letter-spacing:-.05em;line-height:.98;color:var(--signal);max-width:11em}
.operate-list{background:var(--paper)}
.operate-row{display:grid;grid-template-columns:clamp(4.5rem,8vw,8rem) minmax(240px,.8fr) minmax(0,1.2fr);gap:clamp(1.25rem,4vw,4rem);align-items:start;padding:clamp(2.5rem,5vw,5rem) 0;border-bottom:1px solid var(--ink);transition:background .25s ease}
.operate-row:first-child{border-top:0}
.operate-number{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,5.5rem);font-weight:840;font-variation-settings:"wdth" 120;letter-spacing:-.07em;line-height:.8;color:var(--blue)}
.operate-row h3{font-size:clamp(1.8rem,3.3vw,3.5rem);max-width:10em}
.operate-row p{max-width:39em;font-size:clamp(1rem,1.3vw,1.18rem)}
.operate-row .sub{margin-top:1rem;color:var(--blue)}
.founder{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:clamp(3rem,8vw,9rem);align-items:center}
.founder .portrait{position:relative}
.founder .portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:none}
.founder .portrait .plabel{position:absolute;left:0;bottom:0;background:var(--white);padding:.75rem 1rem}
.founder .fq{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--ink);font-family:var(--font-utility);font-size:.76rem;line-height:1.55;text-transform:uppercase;letter-spacing:.04em;max-width:47em}
.studio-note{padding:var(--section-y) 0}
.studio-note .founder{grid-template-columns:minmax(260px,.58fr) minmax(0,1.42fr)}

/* Services */
.svc-grid{display:grid;gap:clamp(2rem,5vw,5rem)}
.svc-grid.three{grid-template-columns:repeat(3,1fr)}
.svc-grid ul{list-style:none;margin-top:1.2rem;border-top:1px solid var(--ink);padding:0}
.svc-grid li{padding:.85rem 0;border-bottom:1px solid var(--rule);font-family:var(--font-utility);font-size:.67rem;line-height:1.4;letter-spacing:.06em;text-transform:uppercase}

/* Case study content */
.value-rows{border-top:1px solid currentColor}
.value-row{display:grid;grid-template-columns:minmax(200px,.75fr) minmax(0,1.5fr);gap:clamp(2rem,7vw,8rem);padding:clamp(1.7rem,3vw,2.6rem) 0;border-bottom:1px solid currentColor}
.value-row p{max-width:43em;color:inherit}
.inverse .value-row p{color:#c9c9c2}
.deliv{list-style:none;padding:0;border-top:1px solid var(--ink);max-width:52em}
.deliv li{padding:1rem 0;border-bottom:1px solid var(--rule);font-family:var(--font-utility);font-size:.7rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}
.deliv li::before{content:"↳";display:inline-block;width:2.2rem;color:var(--blue);font-weight:700}
.bigquote{margin-top:clamp(3rem,7vw,7rem);padding:clamp(2.5rem,5vw,5rem);background:var(--signal);color:var(--ink)}
.bigquote .q{font-family:var(--font-display);font-size:clamp(2rem,4.5vw,4.7rem);font-weight:800;font-variation-settings:"wdth" 112;line-height:.98;letter-spacing:-.055em;max-width:17em}
.bigquote .attr{margin-top:1.5rem;font-family:var(--font-utility);font-size:.67rem;text-transform:uppercase;letter-spacing:.06em}
.not-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:clamp(3rem,5vw,5rem)}
.not-cell{padding:1.5rem;border:1px solid var(--ink);background:transparent}
.not-cell .x{font-family:var(--font-utility);font-size:.7rem;color:var(--blue)}
.not-cell h3{margin-top:1.5rem}
.not-cell p{margin-top:.8rem;color:var(--mute)}
.cs-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,2rem)}
.cs-cell{min-width:0;overflow:hidden;background:var(--paper-2);border:0}
.cs-cell img{width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;opacity:1;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.cs-cell:hover img{transform:scale(1.02)}
.cs-cell.wide{grid-column:span 2}
.cs-cell.wide img,.cs-cell.landscape img{aspect-ratio:16/10}
.hero-meta{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--ink);margin-top:clamp(3rem,6vw,5rem)}
.hero-meta.three{grid-template-columns:repeat(3,1fr)}
.hero-meta.solo{grid-template-columns:1fr}
.hero-meta .stat{padding:1.6rem clamp(1rem,2vw,2rem);border-right:1px solid var(--rule)}
.hero-meta .stat:first-child{padding-left:0}
.hero-meta .stat:last-child{border-right:0;padding-right:0}
.hero-meta .stat b{display:block;font-family:var(--font-display);font-size:clamp(2.4rem,5vw,5rem);font-weight:850;font-variation-settings:"wdth" 120;letter-spacing:-.06em;line-height:.85}
.hero-meta .stat span{display:block;margin-top:.8rem;font-family:var(--font-utility);font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.hero-meta.solo .stat{display:flex;gap:2rem;align-items:baseline}
.hero-meta.solo .stat span{margin-top:0}
.bd-stage{position:absolute;inset:0;background:var(--cherry,#500008);display:flex;align-items:center;justify-content:center;padding:var(--gutter)}
.bd-stage .line{font-family:var(--font-display);font-weight:820;font-variation-settings:"wdth" 110;font-size:clamp(2.5rem,6vw,6rem);line-height:.9;letter-spacing:-.06em;color:var(--bd-cream,#fcfcf4);max-width:13em;text-align:center}
.bd-stage .line em{font-style:normal;color:var(--bd-orange,#e43c00)}

/* Horizontal proof rail */
.filmstrip{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gutter) 1rem;cursor:grab;scrollbar-width:thin;scrollbar-color:var(--ink) var(--rule)}
.filmstrip.dragging{cursor:grabbing;scroll-snap-type:none}
.filmstrip .cell{flex:0 0 min(62vw,470px);scroll-snap-align:start;background:var(--paper-2)}
.filmstrip .cell.wide{flex-basis:min(76vw,700px)}
.filmstrip .cell img{width:100%;height:min(66vh,680px);object-fit:cover}
.filmstrip .cell .fcap{padding:.85rem 0;background:var(--paper);border-bottom:1px solid var(--ink)}
.strip-hint{margin-top:1rem;color:var(--mute)}

/* Contact */
.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}
.contact-links a{font-family:var(--font-display);font-size:clamp(1.35rem,2.5vw,2.5rem);font-weight:760;font-variation-settings:"wdth" 108;letter-spacing:-.04em;line-height:1.12;border-bottom:2px solid var(--ink)}
.contact-links a:hover{color:var(--blue);border-color:var(--blue)}
.project-prompts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.project-prompts span{display:flex;align-items:center;min-height:8rem;padding:1.5rem clamp(1.25rem,2vw,2rem);border-right:1px solid var(--rule);font-family:var(--font-utility);font-size:.68rem;line-height:1.45;letter-spacing:.06em;text-transform:uppercase}
.project-prompts span:first-child{padding-left:0}
.project-prompts span:last-child{border-right:0;padding-right:0}
.office-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}
.office{padding:clamp(1.5rem,3vw,2.5rem);background:transparent;border:1px solid var(--ink)}
.office p{margin-top:1rem;line-height:1.7}
.dx-grid{display:grid;gap:1rem}
.dx-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.dx-card{display:block;max-width:34rem;padding:clamp(1.5rem,3vw,2.5rem);border:1px solid var(--ink);background:var(--white)}
.dx-card .band{display:none}
.dx-card h3{margin-top:1.4rem}
.dx-card p{margin-top:1rem;max-width:30em}
.dx-card .go{display:block;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--ink);font-family:var(--font-utility);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}
.dx-card:hover{background:var(--signal)}

/* Closing / next */
.closer{border-top:1px solid var(--ink)}
.closer h2{margin-top:1rem}
.closer .btn{margin-top:clamp(2rem,4vw,3.5rem)}
.next-case{display:block;background:var(--ink);color:var(--paper);border-top:1px solid #44443f}
.next-case .wrap{width:min(100%,var(--shell));margin:auto;padding:clamp(2.5rem,5vw,5rem) var(--gutter);display:grid;grid-template-columns:1fr minmax(180px,26vw) auto;gap:clamp(2rem,6vw,7rem);align-items:center}
.next-case .big{font-size:clamp(2.8rem,6vw,6rem);margin-top:.8rem}
.next-case .thumb{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .4s ease}
.next-case .arrow{font-size:clamp(2rem,4vw,4rem);color:var(--signal)}
.next-case:hover .thumb{transform:scale(.97)}

/* Footer — no duplicated logo */
.site-footer{background:var(--ink);color:var(--paper);padding:clamp(4.5rem,8vw,8rem) 0 2rem}
.footer-pitch{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:end;padding-bottom:clamp(4rem,7vw,7rem);border-bottom:1px solid #44443f}
.footer-pitch h2{max-width:12em;color:var(--paper)}
.footer-pitch h2 span{display:block;color:var(--signal)}
.footer-pitch a{font-family:var(--font-utility);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--paper);padding-bottom:.35rem}
.footer-pitch a:hover{color:var(--signal);border-color:var(--signal)}
.site-footer .cols{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:clamp(2rem,5vw,6rem);padding:clamp(2.5rem,5vw,4.5rem) 0}
.site-footer .eyebrow{color:#8f918a;margin-bottom:.8rem}
.site-footer p,.site-footer a{font-size:.92rem;line-height:1.8;color:#d6d7d0}
.site-footer a:hover{color:var(--signal)}
.site-footer .legal{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1rem;border-top:1px solid #44443f;font-family:var(--font-utility);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:#8f918a}
.site-footer .footer-note{color:var(--signal)}
.giant-logo{display:none!important}

/* Retired decoration */
.sticker,.sparkle,.marquee,.mq-collide,.mq-parade,.mq-shout,.recent-ticker,.logo-wall{display:none!important}
.pinwrap{height:auto}
.pin{position:relative;min-height:0;padding:var(--section-y) 0}
.pin-progress{display:none}
.pin-steps{margin-top:3rem;border-top:1px solid var(--ink)}
.pin-step{display:grid;grid-template-columns:minmax(220px,.8fr) 1.4fr;gap:3rem;padding:2rem 0;border-bottom:1px solid var(--rule);opacity:1!important;transform:none!important}
.pin-step .big{font-family:var(--font-display);font-size:clamp(2rem,4vw,4rem);font-weight:820;font-variation-settings:"wdth" 110;letter-spacing:-.05em;line-height:.9}
.pin-step .num{font-family:var(--font-utility);font-size:.65rem!important;color:var(--blue)!important;vertical-align:baseline!important;margin-right:1rem!important}

/* Motion */
.scroll-progress{position:fixed;left:0;top:0;z-index:200;width:100%;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:0 50%;pointer-events:none}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s cubic-bezier(.22,1,.36,1)}
.reveal.in{opacity:1;transform:none}
.reveal.stagger>*{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.reveal.stagger.in>*{opacity:1;transform:none}
.reveal.stagger.in>*:nth-child(2){transition-delay:.08s}
.reveal.stagger.in>*:nth-child(3){transition-delay:.16s}
.reveal.stagger.in>*:nth-child(4){transition-delay:.24s}
.reveal.stagger.in>*:nth-child(5){transition-delay:.32s}
.reveal.stagger.in>*:nth-child(6){transition-delay:.4s}
.home-hero .fade-up{opacity:0;transform:translateY(24px)}
body.entered .home-hero .fade-up{animation:rise .8s cubic-bezier(.22,1,.36,1) forwards}
body.entered .home-hero .d1{animation-delay:.12s}
body.entered .home-hero .d2{animation-delay:.24s}
body.entered .home-hero .d3{animation-delay:.36s}
@keyframes rise{to{opacity:1;transform:none}}
.row-preview{position:fixed;left:0;top:0;z-index:90;width:280px;aspect-ratio:4/3;object-fit:cover;pointer-events:none;opacity:0;transition:opacity .2s ease;transform:translate(-999px,-999px)}
.row-preview.on{opacity:1}

/* Focus and access */
:focus-visible{outline:3px solid var(--blue);outline-offset:4px}

@media(max-width:980px){
  .hero-bottom{grid-template-columns:1fr auto}.hero-actions{grid-column:1}.hero-proof{grid-column:2;grid-row:1/3}
  .project-grid{grid-template-columns:1fr 1fr}
  .chip-grid.four{grid-template-columns:repeat(2,1fr)}
  .founder,.studio-note .founder{grid-template-columns:minmax(240px,.7fr) 1.3fr;gap:3rem}
}

@media(max-width:760px){
  :root{--header-h:4.5rem}
  .site-header .bar{grid-template-columns:1fr auto;height:var(--header-h);gap:1rem}
  .logo-mark{height:2.7rem}
  .header-brief{display:none}
  .site-nav{gap:1rem}
  .site-nav a{font-size:.6rem;min-height:40px}
  .home-hero{min-height:calc(100svh - var(--header-h))}
  .hero-kicker span:last-child{display:none}
  .hero-thesis h1{font-size:clamp(3.8rem,16.8vw,7rem);line-height:.86}
  .hero-thesis h1 .brand-line{font-size:.8em;font-variation-settings:"wdth" 82;letter-spacing:-.06em}
  .hero-thesis h1 .accent{font-size:.66em;font-variation-settings:"wdth" 72}
  .hero-bottom{grid-template-columns:1fr;gap:1.7rem}
  .hero-actions{grid-column:auto}
  .hero-proof{grid-column:auto;grid-row:auto;align-items:flex-start;text-align:left;padding-top:1.4rem;border-top:1px solid var(--rule)}
  .page-hero{padding-top:4.5rem}
  .feature{height:calc(100svh - var(--header-h))}
  .feature.frames{height:200svh}
  .feature.frames.short,.feature.frames.case-frames{height:135svh}
  .feature.frames .feature-stage{height:calc(100svh - var(--header-h));top:var(--header-h)}
  .feature-caption{bottom:1rem;left:1rem;width:calc(100% - 2rem)}
  .fs-dots{right:1rem;top:1rem;bottom:auto}
  .section-intro,.s-head{grid-template-columns:1fr;gap:1.5rem}
  .section-intro p{justify-self:start}
  .project-grid{grid-template-columns:1fr;gap:3.5rem}
  .proof-card.tall .photo{aspect-ratio:4/3}
  .chip-grid.three,.chip-grid.four{grid-template-columns:1fr}
  .capability-list{grid-template-columns:1fr}
  .capability-list>div{padding:1.7rem 0;border-bottom:1px solid rgba(255,255,255,.5)}
  .capability-list>div+div{border-left:0;padding-left:0}
  .operate-thesis{grid-template-columns:1fr;gap:2rem}
  .operate-row{grid-template-columns:4rem 1fr;gap:1.25rem}
  .operate-row p{grid-column:2}
  .value-row{grid-template-columns:1fr;gap:1rem}
  .founder,.studio-note .founder{grid-template-columns:1fr;gap:2.5rem}
  .svc-grid.three{grid-template-columns:1fr}
  .cs-gallery{grid-template-columns:1fr!important}
  .cs-cell.wide{grid-column:span 1}
  .cs-cell.wide img,.cs-cell.landscape img{aspect-ratio:4/3!important}
  .not-list{grid-template-columns:1fr}
  .hero-meta,.hero-meta.three{grid-template-columns:1fr!important}
  .hero-meta .stat{padding:1.5rem 0;border-right:0;border-bottom:1px solid var(--rule)}
  .hero-meta .stat:last-child{border-bottom:0}
  .project-prompts{grid-template-columns:1fr}
  .dx-grid.three{grid-template-columns:1fr}
  .project-prompts span{min-height:0;padding:1.3rem 0;border-right:0;border-bottom:1px solid var(--rule)}
  .project-prompts span:last-child{border-bottom:0}
  .office-grid{grid-template-columns:1fr}
  .next-case .wrap{grid-template-columns:1fr auto;gap:1.5rem}
  .next-case .thumb{grid-column:1/-1;grid-row:1}
  .next-case .arrow{grid-column:2;grid-row:2}
  .footer-pitch{grid-template-columns:1fr;align-items:start}
  .site-footer .cols{grid-template-columns:1fr 1fr}
  .site-footer .cols>div:first-child{grid-column:1/-1}
  .pin-step{grid-template-columns:1fr;gap:1rem}
  .filmstrip .cell,.filmstrip .cell.wide{flex-basis:84vw}
}

@media(max-width:430px){
  .site-nav{gap:.72rem}
  .site-nav a{font-size:.56rem}
  .logo-mark{height:2.35rem}
  .btn{width:100%}
  .hero-thesis h1{font-size:16vw}
  .footer-pitch h2{font-size:12vw}
  .site-footer .cols{grid-template-columns:1fr}
  .site-footer .cols>div:first-child{grid-column:auto}
  .site-footer .legal{display:grid}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .feature,.feature.frames,.feature.frames.short,.feature.frames.case-frames{height:calc(100svh - var(--header-h))}
  .feature.frames .feature-stage{position:relative;top:0;height:100%}
  .feature-stage>img{transform:none}
  .reveal,.reveal.stagger>*{opacity:1;transform:none}
  .scroll-progress,.fs-dots{display:none}
}
