/* Aaron Cundy — design "3a" */
@font-face{font-family:'Bebas Neue';font-weight:400;font-display:swap;src:url(fonts/bebas-neue-400.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-weight:100 700;font-display:swap;src:url(fonts/ibm-plex-sans-var.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-weight:400;font-display:swap;src:url(fonts/ibm-plex-mono-400.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-weight:500;font-display:swap;src:url(fonts/ibm-plex-mono-500.woff2) format('woff2');}

:root{
  --ink:#101010; --paper:#f2f0e9; --blue:#1f2ce6; --pink:#ff8ac7; --yellow:#ffd60a; --muted:#3d3b36;
  --display:'Bebas Neue',Impact,'Arial Narrow',sans-serif;
  --sans:'IBM Plex Sans',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --pad:40px;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
h1,h2,h3,p{margin:0;}
.skip{position:absolute;left:-9999px;top:0;background:var(--yellow);padding:10px 16px;font:500 14px var(--mono);z-index:100;border:2px solid var(--ink);}
.skip:focus{left:16px;top:16px;}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px;}

/* color blocks */
.bg-blue{background:var(--blue);color:var(--paper);}
.bg-pink{background:var(--pink);color:var(--ink);}
.bg-yellow{background:var(--yellow);color:var(--ink);}
.bg-paper{background:var(--paper);color:var(--ink);}
.bg-ink{background:var(--ink);color:var(--paper);}

/* type */
.display{font-family:var(--display);font-weight:400;}
.mono{font:500 13px/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;}
.h1{font:400 124px/.85 var(--display);letter-spacing:.005em;}
.h2{font:400 88px/.9 var(--display);}
.h2s{font:400 56px/.9 var(--display);}
.lead{font:400 20px/1.45 var(--sans);text-wrap:pretty;}
.body{font:400 18px/1.5 var(--sans);color:var(--muted);text-wrap:pretty;}
.hl{color:var(--pink);}

/* invert-on-hover boxes */
.box{border:2px solid var(--ink);transition:background-color .15s,color .15s,border-color .15s;}
a.box:hover,.box.is-link:hover{background:var(--ink)!important;color:var(--paper)!important;}
.bg-ink.box:hover,.bg-ink .box:hover{border-color:var(--paper);}

/* nav */
.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:20px var(--pad);border-bottom:2px solid var(--ink);gap:16px;background:var(--paper);}
.nav__brand{font:400 28px var(--display);letter-spacing:.04em;}
.nav__links{display:flex;gap:4px;font:400 20px var(--display);letter-spacing:.06em;}
.nav__links a{padding:8px 16px;}
.nav__links a[aria-current=page]{background:var(--yellow);}
.nav__links a[aria-current=page]:hover{background:var(--ink);color:var(--paper);}
.nav__email{justify-self:end;font:500 14px var(--mono);}
.nav__email:hover{text-decoration:underline;}
.nav__toggle{display:none;}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:760px;}
.hero__text{padding:56px 48px 48px;display:flex;flex-direction:column;justify-content:space-between;gap:40px;}
.hero__eyebrow{display:flex;justify-content:space-between;gap:16px;}
.hero__copy{display:flex;flex-direction:column;gap:20px;border-top:2px solid var(--paper);padding-top:28px;max-width:720px;}
.hero__copy .p1{font:400 30px/1.32 var(--sans);text-wrap:pretty;}
.hero__copy .p2{font:400 22px/1.45 var(--sans);text-wrap:pretty;}
.hero__media{position:relative;display:flex;flex-direction:column;}
.hero__photo{flex:1;position:relative;overflow:hidden;min-height:420px;background:repeating-linear-gradient(135deg,#e6e2d6 0 12px,#dcd7c9 12px 24px);}
.hero__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.badge{position:absolute;top:28px;right:28px;width:150px;height:150px;border-radius:50%;background:var(--yellow);display:flex;align-items:center;justify-content:center;text-align:center;font:400 22px/1 var(--display);letter-spacing:.04em;transform:rotate(12deg);padding:20px;}
.statstrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink);}
.statstrip>div{padding:22px 24px;border-right:2px solid var(--ink);display:flex;flex-direction:column;gap:2px;}
.statstrip>div:last-child{border-right:0;}
.statstrip .n{font:400 56px/1 var(--display);}
.statstrip .l{font:500 13px var(--mono);letter-spacing:.04em;text-transform:uppercase;}

/* marquee */
.marquee{background:var(--ink);color:var(--paper);overflow:hidden;border-block:2px solid var(--ink);}
.marquee__track{display:flex;width:max-content;animation:marquee 40s linear infinite;}
.marquee:hover .marquee__track{animation-play-state:paused;}
.marquee__group{display:flex;gap:28px;padding:14px 14px;white-space:nowrap;font:400 26px var(--display);letter-spacing:.04em;}
.marquee__group .s1{color:var(--pink);} .marquee__group .s2{color:var(--yellow);}
@keyframes marquee{to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.marquee__track{animation:none;}}

/* sections */
.section{padding:56px var(--pad) 64px;display:flex;flex-direction:column;gap:28px;border-bottom:2px solid var(--ink);}
.section-head{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:40px;align-items:end;}
.rows{display:flex;flex-direction:column;border-top:2px solid var(--ink);}
.svc{display:grid;grid-template-columns:90px minmax(0,1fr) 300px;gap:32px;align-items:start;padding:26px 0;border-bottom:1px solid var(--ink);}
.svc__n{font:400 40px/.85 var(--display);color:var(--blue);}
.svc__name{font:400 40px/.92 var(--display);letter-spacing:.02em;}
.svc__main{display:flex;flex-direction:column;gap:8px;}
.svc__main p{font:400 17px/1.5 var(--sans);color:var(--muted);text-wrap:pretty;}
.svc__proof{font:500 14px/1.5 var(--mono);text-align:right;padding-top:8px;}

/* media stack */
.stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:2px solid var(--ink);}
.stack__col{display:flex;flex-direction:column;gap:28px;padding:40px 40px 48px;min-height:560px;border-right:2px solid var(--ink);transition:background-color .15s,color .15s;}
.stack__col:last-child{border-right:0;}
.stack__col:hover{background:var(--ink);color:var(--paper);}
.stack__top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.stack__n{font:400 180px/.85 var(--display);letter-spacing:-.01em;}
.stack__title{font:400 48px/.95 var(--display);letter-spacing:.02em;}
.stack__list{display:flex;flex-direction:column;margin-top:auto;}
.stack__list span{font:400 16px/1.4 var(--sans);padding:10px 0;border-top:1px solid currentColor;display:flex;justify-content:space-between;gap:12px;}

/* where it's run */
.run{padding:64px var(--pad) 72px;display:flex;flex-direction:column;gap:32px;}
.run__head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;}
.run__rows{display:flex;flex-direction:column;border-top:2px solid var(--paper);}
.run__row{display:grid;grid-template-columns:150px minmax(0,1fr) 460px;gap:32px;align-items:center;padding:26px 0;border-bottom:1px solid var(--paper);}
.run__row:hover .run__co{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;}
.run__dates{font:500 14px var(--mono);}
.run__co{font:400 44px/.95 var(--display);letter-spacing:.02em;}
.run__role{font:400 15px var(--sans);}
.run__res{display:flex;align-items:baseline;justify-content:flex-end;gap:14px;text-align:right;}
.run__res .n{font:400 64px/.9 var(--display);color:var(--yellow);white-space:nowrap;}
.run__res .l{font:400 14px/1.3 var(--sans);max-width:150px;}

/* footer */
.footer{background:var(--pink);color:var(--ink);padding:56px var(--pad) 28px;display:flex;flex-direction:column;gap:32px;}
.footer__top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;}
.footer__h{font:400 110px/.86 var(--display);letter-spacing:-.01em;}
.footer--home .footer__h{font-size:150px;}
.footer--home{padding-top:64px;padding-bottom:32px;gap:40px;}
.footer__contact{display:flex;flex-direction:column;gap:10px;align-items:flex-end;font:500 15px var(--mono);}
.footer__contact a:not(.btn-ink):hover{text-decoration:underline;}
.btn-ink{background:var(--ink);color:var(--paper);padding:18px 28px;font:400 26px var(--display);letter-spacing:.06em;border:2px solid var(--ink);}
.btn-ink:hover{background:var(--paper);color:var(--ink);}
.footer__base{display:flex;justify-content:space-between;gap:16px;border-top:2px solid var(--ink);padding-top:16px;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;}

/* masthead */
.masthead{padding:56px var(--pad) 48px;display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:48px;align-items:end;border-bottom:2px solid var(--ink);}
.masthead__main{display:flex;flex-direction:column;gap:20px;}
.crumbs{font:500 13px var(--mono);letter-spacing:.06em;text-transform:uppercase;}
.crumbs a{text-decoration:underline;text-underline-offset:3px;}

/* work page */
.chips{display:flex;flex-wrap:wrap;gap:8px;padding:28px var(--pad);border-bottom:2px solid var(--ink);font:400 20px var(--display);letter-spacing:.06em;}
.chip{padding:8px 20px;border:2px solid var(--ink);background:none;font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;}
.chip:hover{background:var(--ink);color:var(--paper);}
.chip[aria-pressed=true]{background:var(--ink);color:var(--paper);}
.msec{padding:40px var(--pad) 56px;display:flex;flex-direction:column;gap:20px;}
.msec+.msec{padding-top:0;}
.msec[hidden]{display:none;}
.msec__head{display:flex;flex-direction:column;gap:14px;border-bottom:2px solid var(--ink);padding-bottom:14px;}
.msec__top{display:flex;justify-content:space-between;align-items:baseline;gap:24px;}
.msec__sub{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start;}
.msec__sub .mono{text-align:right;}
.btn{font:400 22px var(--display);letter-spacing:.06em;padding:8px 18px;white-space:nowrap;}
.grid{display:grid;gap:16px;}
.g2{grid-template-columns:repeat(2,minmax(0,1fr));}
.g3{grid-template-columns:repeat(3,minmax(0,1fr));}
.g4{grid-template-columns:repeat(4,minmax(0,1fr));}

/* tiles */
.tile{position:relative;aspect-ratio:4/3;overflow:hidden;border:2px solid var(--ink);display:flex;flex-direction:column;justify-content:space-between;padding:18px;}
.tile>*{position:relative;}
.tile__img{position:absolute!important;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.tile__scrim{position:absolute!important;inset:0;background:linear-gradient(180deg,rgba(16,16,16,.55) 0%,rgba(16,16,16,.08) 28%,rgba(16,16,16,.1) 50%,rgba(16,16,16,.85) 100%);}
.tile.has-img{color:var(--paper);}
.tile:hover .tile__img{transform:scale(1.04);}
.tile:hover{background:var(--ink);color:var(--paper);}
.tile__meta{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;}
.tile__title{font:400 30px/.95 var(--display);letter-spacing:.02em;}
.play{position:absolute!important;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:var(--yellow);border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;transition:transform .15s;}
.play::after{content:"";border-left:17px solid var(--ink);border-top:11px solid transparent;border-bottom:11px solid transparent;margin-left:4px;}
.tile:hover .play{transform:translate(-50%,-50%) scale(1.1);}
.doclines{display:flex;flex-direction:column;gap:6px;width:70%;}
.doclines span{height:3px;background:currentColor;opacity:.4;}
.doclines span:first-child{height:7px;width:60%;opacity:1;}
.doclines span:nth-child(2){width:100%;} .doclines span:nth-child(3){width:92%;} .doclines span:nth-child(4){width:72%;}
.wave{display:flex;align-items:flex-end;gap:2px;height:52px;}
.wave span{flex:1;background:currentColor;}
.tile--audio.bg-ink{color:var(--yellow);}
.tile--audio.bg-ink:hover{background:var(--yellow);color:var(--ink);}
.hatch{position:absolute!important;inset:0;background:repeating-linear-gradient(135deg,rgba(16,16,16,.08) 0 12px,rgba(16,16,16,0) 12px 24px);}
.camera{position:absolute!important;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:44px;border:2px solid currentColor;border-radius:4px;display:flex;align-items:center;justify-content:center;}
.camera::after{content:"";width:20px;height:20px;border:2px solid currentColor;border-radius:50%;}
.tag{display:inline-block;background:var(--yellow);color:var(--ink);font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:3px 6px;border:2px solid var(--ink);}

/* campaign cards */
.ccard{padding:26px 24px 22px;display:flex;flex-direction:column;gap:18px;}
.ccard__meta{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;}
.ccard__title{font:400 44px/.92 var(--display);letter-spacing:.02em;}
.ccard p{font:400 16px/1.5 var(--sans);text-wrap:pretty;}
.ccard__btn{display:flex;justify-content:space-between;align-items:center;gap:12px;font:400 22px var(--display);letter-spacing:.06em;border:2px solid currentColor;padding:10px 16px;margin-top:auto;}
.ccard__stats{display:flex;flex-wrap:wrap;gap:20px;padding-top:16px;border-top:2px solid currentColor;}
.ccard__stats>div{display:flex;flex-direction:column;gap:2px;}
.ccard__stats .n{font:400 44px/.85 var(--display);}
.ccard__stats .l{font:400 13px/1.3 var(--sans);}

/* process */
.stage{display:grid;grid-template-columns:180px minmax(0,1fr) 300px;gap:40px;align-items:start;padding:40px var(--pad);border-bottom:2px solid var(--ink);}
.stage__n{font:400 130px/.78 var(--display);color:var(--blue);}
.stage__main{display:flex;flex-direction:column;gap:12px;}
.stage__name{font:400 52px/.95 var(--display);letter-spacing:.02em;}
.stage__main p{font:400 19px/1.5 var(--sans);color:var(--muted);text-wrap:pretty;}
.stage__tools{font:400 14px/1.7 var(--mono);color:var(--muted);padding-top:10px;}
.produces{padding:56px var(--pad) 64px;display:flex;flex-direction:column;gap:32px;}
.stat4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:var(--paper);border:2px solid var(--paper);}
.stat4>div{background:var(--blue);padding:28px 24px;display:flex;flex-direction:column;gap:6px;}
.stat4 .n{font:400 76px/.85 var(--display);color:var(--yellow);}
.stat4 .l{font:400 17px var(--sans);}

/* experience */
.role{display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px;padding:40px var(--pad);border-bottom:2px solid var(--ink);scroll-margin-top:20px;}
.role__dates{font:500 14px var(--mono);color:var(--muted);}
.role__main{display:flex;flex-direction:column;gap:20px;}
.role__co{font:400 64px/.9 var(--display);letter-spacing:.02em;}
.role__title{font:500 17px var(--sans);}
.role__main>p{max-width:820px;font:400 19px/1.5 var(--sans);color:var(--muted);text-wrap:pretty;}
.results{display:flex;flex-wrap:wrap;gap:16px;}
.result{border:2px solid var(--ink);padding:16px 20px;min-width:200px;display:flex;flex-direction:column;gap:4px;}
.result .n{font:400 52px/.85 var(--display);color:var(--blue);}
.result .l{font:400 15px/1.3 var(--sans);}
.logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px 32px;}
.logo{height:88px;display:flex;align-items:center;justify-content:center;padding:10px 16px;}
.logo img{max-height:100%;max-width:100%;object-fit:contain;}
.logo span{font:400 26px/1 var(--display);letter-spacing:.03em;text-align:center;text-wrap:pretty;}

/* resume */
.resume{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:48px;padding:48px var(--pad) 56px;border-bottom:2px solid var(--ink);}
.resume__main{display:flex;flex-direction:column;gap:32px;}
.resume__block{display:flex;flex-direction:column;gap:16px;}
.resume__block>p{font:400 20px/1.5 var(--sans);text-wrap:pretty;}
.skills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.skills>div,.edu{display:flex;flex-direction:column;gap:8px;border-top:2px solid var(--ink);padding-top:14px;}
.skills .t,.edu .t{font:400 30px/.95 var(--display);}
.skills .i,.edu .i{font:400 16px/1.7 var(--sans);color:var(--muted);}
.edu{flex-direction:row;justify-content:space-between;align-items:baseline;gap:20px;}
.side{display:flex;flex-direction:column;gap:16px;}
.side__card{padding:24px;display:flex;flex-direction:column;gap:12px;}
.side__card .t{font:400 34px/.9 var(--display);}
.side__card .d{font:400 16px/1.4 var(--sans);}
.side__card a,.side__card .m{font:500 15px var(--mono);}
.side__card a:hover{text-decoration:underline;}
.side__dl{padding:28px 24px;gap:8px;}
.side__dl .t{font-size:44px;}
.explist{display:flex;flex-direction:column;}
.explist a{display:grid;grid-template-columns:150px minmax(0,1fr) 300px;gap:32px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--ink);}
.explist a:hover .co{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;}
.explist .d{font:500 14px var(--mono);color:var(--muted);}
.explist .co{font:400 40px/.95 var(--display);letter-spacing:.02em;}
.explist .r{font:400 15px var(--sans);color:var(--muted);}
.explist .res{display:flex;align-items:baseline;justify-content:flex-end;gap:12px;text-align:right;}
.explist .res .n{font:400 48px/.85 var(--display);color:var(--blue);white-space:nowrap;}
.explist .res .l{font:400 14px/1.3 var(--sans);max-width:150px;}

/* single work / campaign */
.detail{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;padding:48px var(--pad) 56px;border-bottom:2px solid var(--ink);align-items:start;}
.player{border:2px solid var(--ink);background:var(--ink);}
.player video,.player iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:var(--ink);}
.player--tall iframe{aspect-ratio:9/16;max-height:80vh;margin:0 auto;width:auto;height:80vh;}
.player--spotify{background:none;border:0;}
.player--spotify iframe{aspect-ratio:auto;height:452px;border-radius:12px;}
.player--pdf{background:var(--paper);}
.player--pdf object{display:block;width:100%;height:80vh;}
.placeholder{border:2px dashed var(--ink);padding:40px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.gallery a{border:2px solid var(--ink);aspect-ratio:4/3;overflow:hidden;display:block;}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.gallery a:hover img{transform:scale(1.04);}
.facts{display:flex;flex-direction:column;border-top:2px solid var(--ink);}
.facts>div{display:flex;flex-direction:column;gap:4px;padding:14px 0;border-bottom:1px solid var(--ink);}
.facts .k{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.facts .v{font:400 17px/1.4 var(--sans);}
.bigstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-bottom:2px solid var(--ink);}
.bigstats>div{padding:28px var(--pad);border-right:2px solid var(--ink);display:flex;flex-direction:column;gap:6px;}
.bigstats>div:last-child{border-right:0;}
.bigstats .n{font:400 96px/.85 var(--display);color:var(--blue);}
.bigstats .l{font:400 17px var(--sans);}
.prose{display:flex;flex-direction:column;gap:18px;max-width:760px;}
.prose p{font:400 19px/1.6 var(--sans);}
.pager{display:grid;grid-template-columns:1fr 1fr;border-bottom:2px solid var(--ink);}
.pager a{padding:28px var(--pad);display:flex;flex-direction:column;gap:6px;transition:background-color .15s,color .15s;}
.pager a+a{border-left:2px solid var(--ink);text-align:right;}
.pager a:hover{background:var(--ink);color:var(--paper);}
.pager .t{font:400 40px/.95 var(--display);}
.draft-note{background:var(--yellow);border-bottom:2px solid var(--ink);padding:10px var(--pad);font:500 13px var(--mono);}

/* lightbox */
.lb{position:fixed;inset:0;background:rgba(16,16,16,.92);z-index:50;display:flex;align-items:center;justify-content:center;padding:56px 24px 24px;}
.lb[hidden]{display:none;}
.lb__inner{width:min(1100px,100%);max-height:100%;display:flex;flex-direction:column;gap:12px;}
.lb__inner video,.lb__inner iframe,.lb__inner img{width:100%;max-height:80vh;aspect-ratio:16/9;border:2px solid var(--paper);background:var(--ink);object-fit:contain;}
.lb__inner iframe.tall{aspect-ratio:9/16;width:auto;height:80vh;align-self:center;}
.lb__inner iframe.spotify{aspect-ratio:auto;height:452px;border-radius:12px;border:0;}
.lb__cap{color:var(--paper);display:flex;justify-content:space-between;gap:16px;align-items:baseline;}
.lb__cap .display{font-size:32px;}
.lb__cap a{font:500 13px var(--mono);text-transform:uppercase;letter-spacing:.06em;text-decoration:underline;}
.lb__close{position:absolute;top:14px;right:18px;background:var(--yellow);border:2px solid var(--ink);font:400 22px var(--display);letter-spacing:.06em;padding:6px 14px;cursor:pointer;}
.lb__nav{position:absolute;top:50%;transform:translateY(-50%);background:var(--paper);border:2px solid var(--ink);width:48px;height:48px;font:400 26px var(--display);cursor:pointer;}
.lb__prev{left:12px;} .lb__next{right:12px;}

/* ---------- responsive ---------- */
@media (max-width:1199px){
  .h1{font-size:84px;}
  .h2{font-size:64px;}
  .hero{grid-template-columns:1fr;min-height:0;}
  .hero__photo{min-height:520px;}
  .section-head,.masthead,.msec__sub,.resume,.detail{grid-template-columns:1fr;gap:24px;}
  .msec__sub .mono{text-align:left;}
  .svc{grid-template-columns:70px minmax(0,1fr);row-gap:10px;}
  .svc__proof{grid-column:2;text-align:left;padding-top:0;}
  .stage{grid-template-columns:110px minmax(0,1fr);row-gap:10px;}
  .stage__n{font-size:96px;}
  .stage__tools{grid-column:2;padding-top:0;}
  .run__row,.explist a{grid-template-columns:120px minmax(0,1fr);row-gap:12px;}
  .run__res,.explist .res{grid-column:2;justify-content:flex-start;text-align:left;}
  .stack{grid-template-columns:1fr;}
  .stack__col{border-right:0;border-bottom:2px solid var(--ink);min-height:0;}
  .stack__col:last-child{border-bottom:0;}
  .stack__n{font-size:140px;}
  .g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .stat4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .logos{grid-template-columns:repeat(3,minmax(0,1fr));}
  .footer__h,.footer--home .footer__h{font-size:96px;}
  .role{grid-template-columns:1fr;gap:12px;}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:900px){
  .nav{grid-template-columns:1fr auto;}
  .nav__email{display:none;}
}
@media (max-width:767px){
  :root{--pad:16px;}
  .h1{font-size:56px;}
  .h2,.h2s{font-size:40px;}
  .nav{grid-template-columns:1fr auto;padding:14px var(--pad);}
  .nav__toggle{display:inline-block;background:none;border:2px solid var(--ink);font:400 20px var(--display);letter-spacing:.06em;padding:6px 12px;color:var(--ink);cursor:pointer;}
  .nav__links{display:none;grid-column:1/-1;flex-direction:column;gap:6px;}
  .nav.is-open .nav__links{display:flex;}
  .nav.is-open .nav__email{display:block;grid-column:1/-1;justify-self:start;}
  .nav__links a{padding:10px 14px;}
  .hero__text{padding:32px var(--pad);gap:28px;}
  .hero__eyebrow{flex-direction:column;gap:4px;}
  .hero__copy .p1{font-size:21px;}
  .hero__copy .p2{font-size:17px;}
  .hero__photo{min-height:380px;}
  .badge{width:110px;height:110px;font-size:17px;top:16px;right:16px;padding:12px;}
  .statstrip{grid-template-columns:1fr 1fr;}
  .statstrip>div:nth-child(2){border-right:0;}
  .statstrip>div:nth-child(3){grid-column:1/-1;border-top:2px solid var(--ink);}
  .statstrip .n{font-size:44px;}
  .marquee__group{font-size:22px;}
  .section,.run,.produces{padding-top:40px;padding-bottom:48px;}
  .masthead{padding-top:36px;padding-bottom:32px;}
  .lead{font-size:18px;}
  .svc{grid-template-columns:1fr;}
  .svc__proof{grid-column:1;}
  .svc__name{font-size:32px;}
  .stack__col{padding:28px var(--pad) 32px;}
  .stack__n{font-size:110px;}
  .stack__title{font-size:38px;}
  .run__row,.explist a{grid-template-columns:1fr;row-gap:6px;}
  .run__res,.explist .res{grid-column:1;}
  .run__co,.explist .co{font-size:34px;}
  .run__res .n{font-size:48px;}
  .msec__top{flex-direction:column;align-items:flex-start;gap:12px;}
  .g2,.g3,.g4{grid-template-columns:1fr;}
  .ccard__title{font-size:36px;}
  .stage{grid-template-columns:1fr;padding:28px var(--pad);}
  .stage__n{font-size:72px;}
  .stage__tools{grid-column:1;}
  .stage__name{font-size:40px;}
  .stat4{grid-template-columns:1fr 1fr;}
  .stat4 .n{font-size:52px;}
  .role{padding:28px var(--pad);}
  .role__co{font-size:44px;}
  .result{min-width:0;flex:1 1 140px;}
  .result .n{font-size:40px;}
  .logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .logo span{font-size:22px;}
  .skills{grid-template-columns:1fr;}
  .edu{flex-direction:column;}
  .footer__top{grid-template-columns:1fr;}
  .footer__contact{align-items:flex-start;}
  .footer__h,.footer--home .footer__h{font-size:64px;}
  .footer__base{flex-direction:column;}
  .bigstats>div{border-right:0;border-bottom:2px solid var(--ink);}
  .bigstats .n{font-size:64px;}
  .pager{grid-template-columns:1fr;}
  .pager a+a{border-left:0;border-top:2px solid var(--ink);text-align:left;}
  .gallery{grid-template-columns:1fr;}
  .chips{font-size:18px;}
  .chip{padding:6px 14px;}
}

/* images & a11y helpers */
picture{display:contents;}
picture source{display:none;}
img{height:auto;}
.logo img{width:auto;height:auto;}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* free text sections (WordPress: text typed between design blocks) */
.prose h2:not(.h2s){font:400 56px/.9 var(--display);margin-top:16px;}
.prose h3{font:400 36px/.95 var(--display);margin-top:8px;}
.prose ul,.prose ol{margin:0;padding-left:1.25em;font:400 19px/1.6 var(--sans);}
.prose li+li{margin-top:6px;}
.prose blockquote{margin:0;border-left:4px solid var(--blue);padding:4px 0 4px 20px;}
.prose blockquote p{font-size:24px;line-height:1.4;}
.prose a{text-decoration:underline;text-underline-offset:3px;}
.prose figure{margin:0;}
.prose img{border:2px solid var(--ink);}
.prose hr{border:0;border-top:2px solid var(--ink);width:100%;margin:8px 0;}
.prose iframe{width:100%;aspect-ratio:16/9;border:2px solid var(--ink);}
@media (max-width:767px){.prose h2:not(.h2s){font-size:40px;}.prose h3{font-size:30px;}}

/* grids that adapt when an editor adds fewer items than the design's default */
.stat4.n1{grid-template-columns:1fr;}
.stat4.n2{grid-template-columns:repeat(2,minmax(0,1fr));}
.stat4.n3{grid-template-columns:repeat(3,minmax(0,1fr));}
.stack.n1{grid-template-columns:1fr;}
.stack.n2{grid-template-columns:repeat(2,minmax(0,1fr));}
.skills.n1{grid-template-columns:1fr;}
.skills.n2{grid-template-columns:repeat(2,minmax(0,1fr));}
.statstrip.n1{grid-template-columns:1fr;}
.statstrip.n2{grid-template-columns:repeat(2,minmax(0,1fr));}
@media (max-width:1199px){.stack.n2{grid-template-columns:1fr;}.stat4.n3{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:767px){.stat4.n3,.stat4.n2{grid-template-columns:1fr 1fr;}.skills.n2{grid-template-columns:1fr;}}
