/* Final Figma fidelity and responsive layer. Loaded after the legacy stylesheet. */
:root{
  --content:1120px;
  --read:58ch;
  --read-tight:42ch;
  --section-y:clamp(3.5rem,6vw,5.5rem);
  --section-y-lg:clamp(4.5rem,8vw,7rem);
  --split-gap:clamp(1.75rem,4vw,3.5rem);
  /* Blue system: 1) hero artifacts 2) primary buttons 3) accent rules/active 4) one proof/highlight per page */
  --blue-soft:rgba(125,168,223,.16);
  --blue-rule:rgba(125,168,223,.55);
  /* Footer blends from the preceding module's surface via --footer-blend-from */
  --footer-blend-from:var(--paper);
  --footer-to:#9fc0e9;
  --home-frame:1050px;
  --home-inset:3rem;
}
html,body{max-width:100%;overflow-x:clip}

/* Shared page composition primitives */
.shell{width:min(100% - (2 * var(--pad)),var(--content));margin-inline:auto}
.section-band{padding:var(--section-y) 0;border-bottom:1px solid var(--line)}
.section-band:last-of-type,.section-band--flush{border-bottom:0}
.section-band--lg{padding:var(--section-y-lg) 0}
.section-band--soft{border-bottom:0}
.band-proof{background:var(--paper);border-bottom:1px solid var(--line)}
.band-artifact{background:#fff}
.split{display:grid;gap:var(--split-gap);align-items:start}
.split-4-8{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.split-5-7{grid-template-columns:minmax(0,1.15fr) minmax(0,1.35fr)}
.split-6-6{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.split-7-5{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
.split-end{align-items:end}
.prose{max-width:var(--read);font-size:1.05rem;line-height:1.55;color:#303030}
.prose p{margin:0 0 1rem}
.prose p:last-child{margin-bottom:0}
.deck-tight{max-width:var(--read-tight);margin:0;font-size:1.05rem;line-height:1.5;color:#303030}
.section-head{margin:0 0 1.5rem}
.section-head .eyebrow{margin-bottom:.75rem}
.section-head h2{margin:0;max-width:14ch;font:400 clamp(2.2rem,3.8vw,3.4rem)/.96 Vollkorn,Georgia,serif;font-style:normal;letter-spacing:-.03em}
.section-head .section-head-note{margin:.85rem 0 0;max-width:28ch;font-size:.98rem;line-height:1.45;color:#303030}
.page-end{padding:clamp(2.5rem,5vw,3.5rem) 0;border-top:1px solid var(--ink);background:#fff}
.page-end .shell{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}
.page-end p{margin:0;max-width:40ch;font:400 clamp(1.2rem,2vw,1.65rem)/1.25 Vollkorn,Georgia,serif}
.topic-list{margin:1.15rem 0 0;padding:0;list-style:none}
.topic-list li{padding:.55rem 0;font-size:.95rem;line-height:1.4;color:#303030;border-bottom:1px solid rgba(17,17,17,.1)}
.topic-list li:last-child{border-bottom:0}
.topic-list li:before{content:"+ ";color:var(--blue);font-family:DM Mono,monospace}
.audience-list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.5rem}
.audience-list li{padding:.4rem .65rem;border:1px solid var(--line);border-radius:4px;font:.6rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.05em;color:#303030;background:#fff}
.audience-ledger{margin:0;padding:0;list-style:none;max-width:28ch}
.audience-ledger li{padding:.4rem 0;border-bottom:1px solid rgba(17,17,17,.12);font-size:.88rem;line-height:1.35;color:#303030}
.audience-ledger li:last-child{border-bottom:0}
.audience-ledger .aud-full{display:block;font:.58rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.05em;color:#6a6a6a;margin-top:.15rem}
.quote-stack{display:flex;flex-direction:column;gap:1.35rem;margin:0}
.quote-primary{margin:0;padding:0 0 0 1rem;border-left:3px solid var(--blue-dark);max-width:40ch}
.quote-primary blockquote{margin:0}
.quote-primary blockquote p{margin:0;font:400 clamp(1.25rem,2.2vw,1.65rem)/1.3 Vollkorn,Georgia,serif;font-style:italic;color:var(--ink)}
.quote-primary cite{display:block;margin-top:.7rem;font:.62rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.06em;font-style:normal;color:#5a5a5a}
.quote-support{margin:0;padding:0 0 0 .85rem;border-left:1px solid rgba(32,59,115,.35);max-width:34ch}
.quote-support blockquote{margin:0}
.quote-support blockquote p{margin:0;font:400 .95rem/1.4 Vollkorn,Georgia,serif;font-style:italic;color:#404040}
.quote-support cite{display:block;margin-top:.55rem;font:.58rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.06em;font-style:normal;color:#6a6a6a}
.artifact-rail{margin:0;display:grid;gap:.75rem;align-content:start}
.artifact-rail img{width:100%;border-radius:4px;border:1px solid var(--line);background:#fff}
.artifact-rail figcaption{margin:0;font:.6rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.06em;color:#5a5a5a;line-height:1.4}
.section-head--compact h2{font-size:clamp(1.85rem,3vw,2.6rem);max-width:18ch}
.section-head--inline{display:flex;flex-wrap:wrap;align-items:baseline;gap:.65rem 1rem;margin:0 0 1.25rem}
.section-head--inline .eyebrow{margin:0}
.section-head--inline h2{margin:0;max-width:none;font:400 clamp(2rem,3.4vw,2.9rem)/.98 Vollkorn,Georgia,serif;font-style:normal;letter-spacing:-.03em}
.full-statement{margin:0;max-width:28ch;font:400 clamp(1.45rem,2.6vw,2.1rem)/1.2 Vollkorn,Georgia,serif;letter-spacing:-.02em;color:var(--ink)}
.pub-strip{display:flex;flex-wrap:wrap;gap:.35rem .85rem;margin:0 0 1.25rem;padding:0 0 .85rem;border-bottom:1px solid var(--blue-rule);font:.6rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.05em;color:#5a5a5a}
.pub-strip span{color:var(--blue-dark)}
@media(max-width:900px){
  .split-4-8,.split-5-7,.split-6-6,.split-7-5{grid-template-columns:1fr;gap:1.35rem}
  .section-head h2{max-width:18ch}
}
@media(max-width:620px){
  .shell{width:min(100% - 2.2rem,var(--content))}
  .section-band{padding:clamp(2.75rem,8vw,3.75rem) 0}
  .section-band--lg{padding:clamp(3.25rem,9vw,4.5rem) 0}
  .page-end .shell{align-items:flex-start;flex-direction:column}
}

.site-header{min-height:68px;padding:.75rem clamp(1.1rem,3vw,3rem);border-bottom:1px solid rgba(40,37,32,.12);background:rgba(243,241,235,.97)}
.site-mark{display:flex;align-items:center}
.site-wordmark{display:block;width:clamp(9rem,14vw,11.5rem);height:auto}
.site-nav{gap:clamp(1rem,2.2vw,2rem);font-size:.68rem}
.site-nav a[aria-current=page]{border-bottom:1.5px solid var(--blue-dark);color:var(--blue-dark)}
.site-nav-contact{display:none}
.menu-toggle{gap:0;padding:.45rem;min-width:2.5rem;min-height:2.5rem;justify-content:center}
.menu-toggle span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.figma-hero{min-height:540px;padding:clamp(3.25rem,5.5vw,4.25rem) var(--pad)}
.figma-hero>.figma-hero-art{position:absolute;inset:50% auto auto 50%;width:max(1150px,100vw);height:auto;transform:translate(-50%,-50%);z-index:0}
.figma-hero>.figma-hero-art>img{display:block;width:100%;height:auto}
.figma-hero-copy{width:min(650px,100%)}
.figma-hero-copy .eyebrow{margin-bottom:.85rem}
.figma-hero-copy h1{font-family:Vollkorn,Georgia,serif;font-weight:400;font-style:normal;font-size:clamp(3.1rem,5.7vw,5.8rem);line-height:.92;letter-spacing:0;display:flex;flex-direction:column;align-items:center;gap:.06em;margin:0}
.figma-hero-copy h1 .serif{font-style:normal;font-weight:400}
.figma-hero-copy h1 .hero-line{white-space:nowrap;font-weight:400}
.figma-hero-copy h1 .hero-line2{display:block;font-weight:400;font-style:normal}
.figma-hero-copy p:not(.eyebrow){font-size:1rem;line-height:1.35;max-width:500px;margin:1.15rem auto 1.1rem}
.figma-hero-copy .button-link{margin-top:0}
.featured-stories{padding-top:2.5rem;padding-bottom:clamp(1.25rem,2.4vw,1.75rem)}
.featured-stories>.compact-inner,.the320-home>.compact-inner,.about-home>.compact-inner{max-width:var(--home-frame)}
.featured-heading{display:flex;align-items:center;gap:1rem;margin:0 1.5rem;color:#4f4f4f;white-space:nowrap}
.featured-heading:before,.featured-heading:after{content:"";height:1px;flex:1;background:rgba(17,17,17,.2)}
.featured-heading span{display:block;padding-inline:.25rem}
.services-preview{padding-top:clamp(2rem,4vw,3.25rem)}
.services-preview--slim{padding-block:clamp(1.75rem,3.5vw,2.75rem);text-align:center}
.services-slim-line{margin:0 auto .95rem;max-width:36ch;font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.4;color:#303030}
.figma-feature{position:relative;grid-template-columns:minmax(0,1fr) 280px;align-items:center;min-height:250px;padding:2.5rem 3rem 4.5rem;gap:clamp(2rem,4vw,3.5rem);overflow:visible;margin:1.4rem 0 .75rem;background:transparent}
.figma-feature:before{content:"";position:absolute;inset:0 0 2.75rem 0;background:#e7e4da;border-radius:4px;z-index:0;pointer-events:none}
.figma-feature-heading{font-family:Vollkorn,Georgia,serif;font-weight:400;font-size:clamp(2rem,3.2vw,3rem);line-height:1.05;margin:0 0 1rem;max-width:14em}
.figma-feature-details{position:relative;z-index:2;max-width:34rem}
.figma-feature-details p{max-width:42ch;margin:0 0 1.35rem;font-size:1rem;line-height:1.45}
.figma-feature-details .button-link{padding:.72rem 1rem;font-size:.66rem}
.figma-feature-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.figma-feature-mobile-lower{display:contents}
.figma-feature-premium{display:inline-flex;align-items:center;gap:.45rem;padding:.2rem 0;border-bottom:1px solid rgba(17,17,17,.55);font:.64rem DM Mono,monospace;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.figma-feature-premium span{transition:transform .2s}
.figma-feature-premium:hover span{transform:translateX(.15rem)}
.figma-feature-mobile-art{display:none}
.feature-actions{gap:.55rem;width:max-content;display:flex;flex-direction:column;align-items:flex-start}
.feature-actions .button-link{min-width:155px;text-align:center;padding:.65rem .8rem;font-size:.62rem}
.outline-button{background:transparent;color:var(--ink);border:1px solid var(--blue)}
.figma-feature-art{align-self:end;position:relative;height:200px;z-index:3;pointer-events:none}
.figma-feature-art img{position:absolute;width:235px;max-width:none;left:48%;bottom:-2.75rem;transform:translateX(-50%);mix-blend-mode:multiply}
.featured-stories .featured-testimonial{width:min(100% - (2 * var(--home-inset)),39rem);margin:.25rem 0 .5rem var(--home-inset);padding:.1rem 0 .15rem 1.15rem;border-left:2px solid var(--blue)}
.featured-testimonial blockquote p{font-size:clamp(1.2rem,1.8vw,1.44rem);line-height:1.28}
.featured-testimonial cite{margin-top:.5rem;font-size:.64rem;color:#555}
.figma-feature-copy{position:relative;z-index:2;align-self:center}
.figma-feature-copy>p{font-size:.95rem;line-height:1.35;margin:0}
.the320-simple{max-width:900px;grid-template-columns:minmax(0,1fr) 220px}
.the320-simple .the320-copy{padding-left:var(--home-inset)}
.the320-simple .the320-copy>img{display:none}
.the320-art img{width:100%;mix-blend-mode:multiply}
.the320-home{padding:clamp(4rem,5.5vw,6rem) var(--pad)}
.the320-copy h2{margin-bottom:1rem}
.the320-copy>p:not(.eyebrow){margin-bottom:0}
.the320-links{margin-top:1.4rem}
.substack-fallback{display:none;flex-direction:column;gap:1rem;padding:2rem 1.25rem;text-align:center;align-items:center}.substack-fallback strong{font-family:Vollkorn,Georgia,serif;font-size:1.8rem;font-weight:400}.substack-fallback span{max-width:28ch}.substack-fallback .button-link{font-size:.62rem}
.v2-footer{margin:0;padding:5rem var(--pad) 1.5rem;background:linear-gradient(to bottom,var(--footer-blend-from) 0%,var(--footer-blend-from) 16%,color-mix(in srgb,var(--footer-blend-from) 42%,var(--footer-to)) 48%,var(--footer-to) 100%);color:var(--ink);position:relative}
.v2-footer:before{content:"";position:absolute;left:0;right:0;top:0;height:clamp(3rem,6vw,5rem);background:linear-gradient(to bottom,var(--footer-blend-from),transparent);pointer-events:none;z-index:0}
.v2-footer-inner{position:relative;z-index:1;max-width:1120px;margin:auto;display:grid;grid-template-columns:1fr auto;gap:3rem 2rem;align-items:start}
/* Preceding module declares the footer blend source (reusable across pages) */
.footer-blend--paper,.pre-footer--paper{--footer-blend-from:var(--paper)}
.footer-blend--white,.pre-footer--white{--footer-blend-from:#fff}
.footer-blend--blue,.pre-footer--blue{--footer-blend-from:var(--blue)}
.footer-blend--purple,.pre-footer--purple{--footer-blend-from:var(--purple)}
body:has(.pre-footer--white),
body:has(#main > .about-home:last-child),
body:has(#main > .about-page-v2),
body:has(#main > .work-page),
body:has(#main > .press-page),
body:has(#main > .projects-page){--footer-blend-from:#fff}
body:has(.pre-footer--paper){--footer-blend-from:var(--paper)}
body:has(.pre-footer--blue),
body:has(#main > .contact-page),
body:has(#main > .the320-home:last-child){--footer-blend-from:var(--blue)}
body:has(.pre-footer--purple){--footer-blend-from:var(--purple)}
.footer-brand{display:block;width:min(11.5rem,100%);text-decoration:none}
.footer-wordmark{display:block;width:100%;height:auto}
.footer-brand-block{display:flex;flex-direction:column;gap:1rem}
.footer-social{display:flex;gap:.7rem;align-items:center}
.footer-social a{display:inline-flex;width:2.15rem;height:2.15rem;align-items:center;justify-content:center;border:1px solid rgba(17,17,17,.28);border-radius:4px;color:var(--ink);text-decoration:none;font-size:.95rem;background:rgba(255,255,255,.35)}
.footer-social a:hover,.footer-social a:focus-visible{background:#fff;border-color:var(--ink)}
.footer-social .footer-icon-svg{display:block;width:1em;height:1em}
.v2-footer nav{display:flex;gap:1.5rem;font: .67rem 'DM Mono';text-transform:uppercase;letter-spacing:.06em;flex-wrap:wrap;justify-content:flex-end}
.v2-footer nav a{text-decoration:none}
.v2-footer p{grid-column:1/-1;text-align:right;margin:0;font:.62rem 'DM Mono';text-transform:uppercase}

@media(max-width:900px){
  :root{--home-inset:2rem}
  html{scroll-padding-top:64px}
  .site-header{position:sticky;top:0;z-index:1000;min-height:64px;background:rgba(243,241,235,.98);box-shadow:0 1px 0 rgba(17,17,17,.08),0 4px 14px rgba(17,17,17,.04)}
  .site-nav{top:100%;gap:0;padding:1rem 1.25rem 1.25rem;background:linear-gradient(180deg,var(--paper) 0%,#e7edf5 100%);border-top:1px solid rgba(17,17,17,.08);border-bottom:1px solid rgba(17,17,17,.22);box-shadow:0 12px 24px rgba(17,17,17,.09)}
  .site-nav>a{width:100%;min-height:44px;padding:.75rem 0;display:flex;align-items:center;border-bottom:1px solid rgba(17,17,17,.1)}
  .site-nav>a[aria-current=page]{border-bottom-color:var(--blue-dark)}
  .site-nav-contact{display:grid;width:100%;grid-template-columns:repeat(4,44px);justify-content:start;gap:10px;margin-top:.25rem;padding-top:.75rem;border-top:0}
  .site-nav-contact a{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;padding:0;border:0;border-radius:2px;background:transparent;text-decoration:none;font-size:.88rem;color:#404040}
  .site-nav-contact a:hover,.site-nav-contact a:focus-visible{background:rgba(255,255,255,.65);color:var(--blue-dark)}
  .site-nav-contact svg{display:block;width:1em;height:1em}
  body.menu-open{overflow:hidden}
  body.menu-open .site-header{position:fixed;top:0;left:0;right:0;width:100%}
  .menu-toggle i,.menu-toggle i:after{transition:transform .18s ease}
  .menu-toggle[aria-expanded=true] i{transform:translateY(3px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] i:after{transform:rotate(-90deg)}
  .figma-hero{min-height:500px;padding:3.25rem 1.25rem}
  .figma-hero>.figma-hero-art{width:1000px}
  .figma-feature{grid-template-columns:minmax(0,1fr) 170px;gap:1.5rem;padding:2rem 2rem 3.5rem;overflow:visible;margin-bottom:1rem}
  .figma-feature-heading{font-size:2rem}
  .figma-feature-art{height:150px}
  .figma-feature-art img{width:180px;bottom:-2.75rem}
  .the320-grid,.the320-simple{grid-template-columns:minmax(0,1fr)}
  .the320-art{width:min(160px,42vw)}
  .pbj-scroll-hint{text-align:center}
  .about-home-grid{grid-template-columns:1fr;gap:1.5rem}
  .about-home-portrait img{width:min(180px,45vw);aspect-ratio:1;object-position:center top;border-radius:50%}
}

@media(max-width:560px){
  :root{--pad:1.1rem;--home-inset:0rem}
  body{font-size:16px}
  .site-header{padding:.8rem 1rem}
  .site-wordmark{width:9.5rem}
  button.menu-toggle{display:flex!important;font-size:.64rem}
  .figma-hero{min-height:370px;padding:2.25rem 1.1rem}
  .figma-hero>.figma-hero-art{width:740px;height:420px}
  .figma-hero>.figma-hero-art>img{width:100%;height:100%;object-fit:cover}
  .figma-hero-copy .eyebrow{margin-bottom:.75rem}
  .figma-hero-copy h1{font-size:clamp(2.8rem,13vw,3.35rem);line-height:.92;letter-spacing:0;overflow-wrap:normal;word-break:normal;gap:.06em}
  .figma-hero-copy h1 .hero-line{white-space:normal}
  .figma-hero-copy h1 .hero-turning,.figma-hero-copy h1 .hero-sheets{display:block}
  .figma-hero-copy p:not(.eyebrow){font-size:.95rem;max-width:26ch;margin:1.05rem auto .9rem}
  .figma-hero-copy .button-link{font-size:.65rem;padding:.7rem .9rem}
  .compact-section{padding:4.5rem 1.1rem}
  .featured-stories{padding-top:1.5rem;padding-bottom:.75rem}
  .featured-heading{gap:.6rem;margin-inline:.4rem;font-size:.65rem;letter-spacing:.11em}
  .featured-heading span{padding-inline:.1rem}
  .services-preview{padding-top:.75rem}
  .services-preview--slim{padding-bottom:2.5rem}
  .figma-feature{display:block;min-height:auto;padding:1.15rem;overflow:visible;margin-top:.9rem;margin-bottom:.5rem}
  .figma-feature:before{inset:0}
  .figma-feature-heading{font-size:1.7rem;max-width:12em;line-height:1.08;margin:0 0 .55rem}
  .figma-feature-art{display:none}
  .figma-feature-details p{margin:0 0 .75rem;font-size:.9rem;line-height:1.38}
  .figma-feature-mobile-lower{display:grid;grid-template-columns:minmax(76px,34%) minmax(0,1fr);gap:clamp(.65rem,4vw,1rem);align-items:center;padding-inline:0}
  .figma-feature-mobile-art{display:flex;grid-column:1;grid-row:1;width:100%;height:110px;margin:0;align-items:center;justify-content:center;pointer-events:none}
  .figma-feature-mobile-art picture{display:block}
  .figma-feature-mobile-art img{display:block;width:min(140px,42vw);height:auto;max-width:none;object-fit:contain;mix-blend-mode:multiply}
  .figma-feature-actions{display:flex;grid-column:2;grid-row:1;min-width:0;flex-direction:column;align-items:flex-start;gap:0}
  .figma-feature-details .button-link{display:flex;width:100%;max-width:10.75rem;min-height:40px;padding:.55rem .4rem;align-items:center;justify-content:center;text-align:center;font-size:clamp(.56rem,2.7vw,.62rem);white-space:nowrap}
  .figma-feature-premium{display:flex;width:max-content;margin:.55rem 0 0;font-size:.62rem;letter-spacing:.05em}
  .featured-stories .featured-testimonial{width:100%;margin:1.85rem 0 .25rem;padding:.05rem 0 .1rem 1rem}
  .featured-testimonial blockquote p{font-size:1.1rem;line-height:1.38}
  .featured-testimonial cite{margin-top:.5rem;font-size:.61rem}
  .service-line{grid-template-columns:54px minmax(0,1fr);padding:1.1rem 0}
  .service-line img{width:50px;height:50px}
  .the320-home{padding:4.5rem 1.1rem}
  .the320-simple .the320-copy{padding-left:0}
  .the320-copy h2,.media-heading h2,.about-home-grid h2{font-size:2.45rem;overflow-wrap:break-word}
  .media-heading{gap:1.5rem}
  .about-home-grid{grid-template-columns:1fr;gap:2rem}
  .v2-footer{padding:4rem 1.1rem 1.25rem}
  .v2-footer-inner{grid-template-columns:1fr;gap:2rem}
  .v2-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
  .v2-footer p{grid-column:auto;text-align:left}
}

/* About Eric — compact editorial profile */
.about-page-v2{background:#fff;color:var(--ink)}
.about-shell,.work-shell,.press-shell,.projects-shell{width:min(100% - (2 * var(--pad)),var(--content));margin-inline:auto}
.about-hero-v2{padding:var(--section-y-lg) 0;border-bottom:1px solid var(--line)}
.about-hero-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.72fr);gap:clamp(2rem,5vw,4.5rem);align-items:end}
.about-hero-v2 h1{max-width:950px;margin:.8rem 0 2.25rem;font:400 clamp(3.8rem,7.5vw,7.4rem)/.88 Vollkorn,Georgia,serif;font-style:normal;letter-spacing:-.055em}
.about-hero-v2 h1 span{color:var(--blue);font-style:normal;font-weight:400}
.about-hero-deck{display:block;max-width:54ch;margin-left:0}
.about-hero-portrait-mobile{display:none}
.about-hero-deck p{margin:0;font-size:clamp(1.05rem,1.45vw,1.22rem);line-height:1.55}
.about-hero-deck p+ p{display:none}
.about-hero-portrait{margin:0;justify-self:end;width:min(100%,340px)}
.about-hero-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px;background:#ddd}
.about-route-v2{padding:var(--section-y-lg) 0;background:var(--paper);border-bottom:1px solid var(--line)}
.route-hero-v2{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.75fr);gap:var(--split-gap);align-items:end;margin-bottom:clamp(2.5rem,5vw,3.75rem)}
.route-hero-copy .eyebrow{margin-bottom:1rem}
.route-hero-copy h2{margin:0 0 1.25rem;font:400 clamp(2.8rem,5vw,4.6rem)/.96 Vollkorn,Georgia,serif;font-style:normal;letter-spacing:-.035em;max-width:14ch}
.route-intro{margin:0;max-width:52ch;font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.55;color:#303030}
.route-progress{justify-self:end;width:min(100%,320px);color:var(--ink);padding-bottom:.35rem}
.route-progress-svg{display:block;width:100%;height:auto}
.route-progress-path{opacity:.55}
.route-timeline-v2{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.15rem;align-items:stretch}
.route-connector{position:absolute;left:calc(12.5% - .2rem);right:calc(12.5% - .2rem);top:1.55rem;z-index:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.route-connector-line{position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(17,17,17,.18)}
.route-connector-node{position:relative;z-index:1;width:9px;height:9px;border-radius:50%;background:var(--paper);border:1.5px solid rgba(17,17,17,.35);box-shadow:0 0 0 4px var(--paper)}
.route-card{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100%;padding:1.45rem 1.25rem 1.55rem;background:#fff;border:1px solid var(--line);border-radius:4px}
/* Cards always visible. Path/connector draw only after enhance + inview; never opacity-hide content. */
.about-route-v2.route-enhance:not(.is-inview) .route-progress-path{stroke-dasharray:420;stroke-dashoffset:420}
.about-route-v2.route-enhance:not(.is-inview) .route-connector-line{transform:scaleX(0);transform-origin:left center}
.route-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;margin-bottom:.85rem}
.route-card-head-copy{min-width:0;flex:1}
.route-card-head-copy h3{margin:0;font:400 clamp(1.35rem,1.7vw,1.65rem)/1.15 Vollkorn,Georgia,serif}
.route-card .route-label{margin:0 0 .35rem;color:var(--route-accent)}
.route-label,.work-kicker,.credentials-grid-v2 p{margin:0 0 .55rem;font:.64rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--blue)}
.route-card-cue{flex:0 0 4.25rem;width:4.25rem;aspect-ratio:1;margin:0;color:var(--route-accent);overflow:hidden;border-radius:3px}
.route-card-cue img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#f7f4ee}
.route-card--now .route-card-cue{flex-basis:5rem;width:5rem}
.route-card--now .route-card-cue img{object-fit:cover;object-position:50% 44%}
.route-card>p{margin:0;flex:1;font-size:.92rem;line-height:1.55;color:#303030}
.route-footer-v2{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;margin-top:clamp(2rem,4vw,2.75rem);padding-top:1.15rem;border-top:1px solid var(--line)}
.route-footer-v2 p{margin:0;font:.62rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.12em;color:#5a5a5a}
.about-route-v2.is-inview .route-progress-path{animation:route-draw .9s ease forwards}
.about-route-v2.is-inview .route-connector-line{animation:route-line .75s ease forwards}
.about-route-v2.route-enhance.is-inview .route-card{animation:route-card-in .35s ease both}
.about-route-v2.route-enhance.is-inview .route-card:nth-child(2){animation-delay:.05s}
.about-route-v2.route-enhance.is-inview .route-card:nth-child(3){animation-delay:.1s}
.about-route-v2.route-enhance.is-inview .route-card:nth-child(4){animation-delay:.15s}
.about-route-v2.route-enhance.is-inview .route-card:nth-child(5){animation-delay:.2s}
@keyframes route-draw{to{stroke-dashoffset:0}}
@keyframes route-line{to{transform:scaleX(1)}}
@keyframes route-card-in{from{transform:translateY(6px)}to{transform:none}}
@media(prefers-reduced-motion:reduce){
  .menu-toggle i,.menu-toggle i:after{transition:none}
  .about-route-v2.route-enhance:not(.is-inview) .route-progress-path,
  .about-route-v2.route-enhance:not(.is-inview) .route-connector-line,
  .about-route-v2.route-enhance.is-inview .route-card{opacity:1;transform:none;stroke-dashoffset:0;animation:none!important}
}
.about-section-heading h2,.appearances-layout-v2 h2{margin:.6rem 0 2.6rem;font:400 clamp(2.8rem,4.5vw,4.8rem)/.96 Vollkorn,Georgia,serif;font-style:normal;letter-spacing:-.035em}
.about-credentials-v2{border-block:1px solid var(--ink);background:#fff}
.credentials-grid-v2{display:grid;grid-template-columns:1.2fr 1.45fr 1.1fr}
.credentials-grid-v2>div{min-width:0;padding:1.55rem 1.5rem;border-left:1px solid var(--line)}
.credentials-grid-v2>div:first-child{border-left:0;padding-left:0}
.credentials-grid-v2>div:last-child{padding-right:0}
.credentials-grid-v2 strong{display:block;font:500 .83rem/1.4 DM Sans,sans-serif}
.selected-work-v2{padding:var(--section-y-lg) 0}
.about-tribute-v2{padding:var(--section-y) 0;background:var(--paper);border-bottom:1px solid var(--line)}
.about-tribute-quote{max-width:48rem;margin:0}
.about-tribute-quote cite{max-width:64ch;line-height:1.55}
.about-section-heading{display:grid;grid-template-columns:1fr 1.3fr;column-gap:4rem;align-items:end;margin-bottom:2.5rem}
.about-section-heading .section-head--inline{grid-column:1;margin:0}
.about-section-heading .eyebrow{margin:0}
.about-section-heading h2{margin:0}
.about-section-heading>p:last-child{max-width:480px;margin:0 0 .4rem;line-height:1.55}
.about-endorsement{margin-top:2.75rem;max-width:min(42rem,100%)}
.about-endorsement.site-quote-framed{margin-top:2.75rem}
.about-endorsement .site-quote-context{margin:0 0 .95rem;padding:0;border:0;font:.95rem/1.5 DM Sans,sans-serif;color:#303030;max-width:none}
.selected-work-grid-v2{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink);border-left:1px solid var(--line)}
.selected-work-grid-v2>a{display:flex;min-height:240px;flex-direction:column;padding:1.75rem 1.65rem;color:inherit;text-decoration:none;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:border-color .16s,color .16s}
.selected-work-grid-v2>a.selected-work-feature{grid-column:1/-1;min-height:0;padding:2.1rem 2rem 2rem;background:linear-gradient(180deg,#fff 0%,rgba(125,168,223,.08) 100%)}
.selected-work-grid-v2>a.selected-work-feature h3{font-size:clamp(2.1rem,3.2vw,3rem);max-width:18ch}
.selected-work-grid-v2>a.selected-work-feature>p:not(.work-kicker){max-width:60ch;font-size:1.02rem}
.selected-work-grid-v2>a:hover,.selected-work-grid-v2>a:focus-visible{border-color:var(--blue);color:#123f86}
.selected-work-grid-v2 h3{max-width:520px;margin:.55rem 0 .85rem;font:400 clamp(1.45rem,2.1vw,1.95rem)/1.05 Vollkorn,Georgia,serif}
.selected-work-grid-v2>a>p:not(.work-kicker){max-width:52ch;margin:0;line-height:1.55;color:#373737}
.selected-work-grid-v2>a>span{margin-top:auto;padding-top:1.5rem;font:.68rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--blue)}
.selected-work-grid-v2>a>span b{font-size:1rem;font-weight:400}
.appearances-v2{padding:var(--section-y) 0;border-top:1px solid var(--ink)}
.appearances-layout-v2{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(3rem,8vw,8rem)}
.appearances-layout-v2 h2{margin:.55rem 0 0}
.appearance-links-v2{border-top:1px solid var(--ink)}
.appearance-links-v2 a{display:grid;grid-template-columns:135px 1fr 20px;gap:1.5rem;align-items:center;padding:1.35rem 0;color:inherit;text-decoration:none;border-bottom:1px solid var(--line)}
.appearance-links-v2 a:hover strong,.appearance-links-v2 a:focus-visible strong{color:var(--blue)}
.appearance-links-v2 span{font:.62rem DM Mono,monospace;text-transform:uppercase;color:var(--blue)}
.appearance-links-v2 strong{font-size:.92rem;line-height:1.4}
.appearance-links-v2 b{font-weight:400;color:var(--blue)}
.about-contact-v2{padding:clamp(2.5rem,5vw,3.5rem) 0;border-top:1px solid var(--ink);background:#fff}
.about-contact-row{display:flex;justify-content:space-between;align-items:center;gap:2rem}
.about-contact-v2 p{margin:0;font:400 clamp(1.35rem,2vw,2rem) Vollkorn,Georgia,serif}
.about-contact-v2 a{font:.68rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--blue);text-underline-offset:.3rem}
.about-contact-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}
.about-contact-v2 .about-tribute-quote{margin-top:2rem}
.about-home-grid{display:grid;grid-template-columns:220px 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
.about-home-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px;background:#ddd}
.about-home-links{display:flex;flex-wrap:wrap;gap:.85rem 1.25rem;margin-top:1.25rem}

@media(max-width:900px){
  .about-hero-layout{grid-template-columns:1fr;gap:2rem;align-items:start}
  .about-hero-portrait{justify-self:start;width:min(100%,280px);order:-1}
  .about-hero-deck{max-width:720px}
  .route-hero-v2{grid-template-columns:1fr;gap:2rem;align-items:start}
  .route-progress{justify-self:start;width:min(100%,280px)}
  .route-timeline-v2{grid-template-columns:1fr 1fr;gap:1rem 1.15rem;padding-top:0}
  .route-connector{display:none}
  .credentials-grid-v2{grid-template-columns:1fr}
  .credentials-grid-v2>div{border-left:0;border-bottom:1px solid var(--line);padding-left:0;padding-right:0}
  .credentials-grid-v2>div:last-child{border-bottom:0}
  .appearances-layout-v2{grid-template-columns:1fr;gap:2rem}
}

@media(max-width:620px){
  .about-shell{width:min(100% - 2.2rem,var(--content))}
  .about-hero-v2{padding:3.5rem 0 3.25rem}
  .about-hero-portrait{display:none}
  .about-hero-deck{display:flow-root}
  .about-hero-portrait-mobile{display:block;float:left;width:120px;margin:.15rem 1rem .55rem 0}
  .about-hero-portrait-mobile img{display:block;width:120px;height:120px;aspect-ratio:1;object-fit:cover;object-position:center top;border-radius:4px;background:#ddd}
  .about-hero-v2 h1{font-size:clamp(3rem,14vw,4.2rem);margin-bottom:1.8rem}
  .about-hero-deck p{font-size:1rem}
  .about-hero-deck p+ p{padding-left:1rem;font-size:.9rem}
  .about-route-v2{padding:4.25rem 0}
  .route-hero-copy h2{font-size:clamp(2.55rem,11vw,3.2rem);max-width:12ch}
  .route-progress{display:none}
  .route-timeline-v2{grid-template-columns:1fr;gap:1rem;padding-left:1.35rem}
  .route-connector{display:flex;left:.35rem;right:auto;top:1.7rem;bottom:1.7rem;width:1px;flex-direction:column;justify-content:space-between}
  .route-connector-line{left:50%;right:auto;top:0;bottom:0;width:1px;height:auto}
  .about-route-v2[data-animate] .route-connector-line{transform:scaleY(0);transform-origin:top center}
  .about-route-v2.is-inview .route-connector-line{animation-name:route-line-y}
  .route-card{padding:1.3rem 1.15rem 1.4rem}
  .route-footer-v2{flex-direction:column;align-items:flex-start;gap:.75rem}
  .credentials-grid-v2{grid-template-columns:1fr}
  .credentials-grid-v2>div,.credentials-grid-v2>div:nth-child(odd){padding:1.2rem 0;border-left:0;border-bottom:1px solid var(--line)}
  .credentials-grid-v2>div:last-child{border-bottom:0}
  .selected-work-v2{padding:4.5rem 0}
  .about-section-heading{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}
  .about-section-heading .eyebrow{grid-column:auto}
  .about-section-heading h2,.appearances-layout-v2 h2{font-size:2.8rem}
  .selected-work-grid-v2{grid-template-columns:1fr}
  .selected-work-grid-v2>a{min-height:0;padding:1.5rem}
  .selected-work-grid-v2>a.selected-work-feature{padding:1.65rem 1.5rem}
  .selected-work-grid-v2 h3{font-size:1.85rem}
  .appearances-v2{padding:4rem 0}
  .appearance-links-v2 a{grid-template-columns:1fr 20px;gap:.45rem 1rem}
  .appearance-links-v2 span{grid-column:1/-1}
  .appearance-links-v2 b{grid-column:2;grid-row:2}
  .about-contact-row{align-items:flex-start;flex-direction:column;gap:1rem}
  .about-contact-actions{align-items:flex-start}
  .about-contact-v2{padding-bottom:2.25rem}
  .about-contact-v2 .about-tribute-quote{margin-top:1.4rem;padding:1.05rem 1.1rem 1.15rem}
}
@keyframes route-line-y{to{transform:scaleY(1)}}

/* Shared quotes */
.site-quote{margin:0}
.site-quote blockquote{margin:0}
.site-quote blockquote p{margin:0;font:400 clamp(1.15rem,2vw,1.45rem)/1.35 Vollkorn,Georgia,serif;font-style:italic;color:var(--ink)}
.site-quote cite{display:block;margin-top:.7rem;font:.62rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.06em;font-style:normal;color:#5a5a5a}
.site-quote-inline{margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(32,59,115,.18);max-width:36ch}
.site-quote-inline blockquote p{font-size:1.05rem}
.site-quote-framed{margin-top:2.25rem;max-width:52ch;padding:1.35rem 1.4rem 1.45rem;background:#fff;border-left:3px solid var(--blue);border-radius:0 4px 4px 0}
.site-quote-context{margin:0 0 .95rem;font:.95rem/1.5 DM Sans,sans-serif;color:#303030}
.site-quote-framed figure{margin:0}
.site-quote-band{margin:clamp(2.5rem,5vw,3.5rem) 0 0;padding:clamp(1.5rem,3vw,2rem) clamp(1.35rem,3vw,2rem);background:linear-gradient(135deg,rgba(125,168,223,.28),rgba(125,168,223,.12));border-radius:4px;border-left:4px solid var(--blue-dark);max-width:42rem}
.site-quote-band blockquote p{font-size:clamp(1.35rem,2.4vw,1.85rem)}
.site-quote-on-dark{margin:0 0 clamp(2rem,4vw,2.75rem);padding:0 0 1.5rem;border-bottom:1px solid rgba(255,255,255,.22);max-width:36rem}
.site-quote-on-dark blockquote p{color:#fff;font-size:clamp(1.35rem,2.5vw,1.9rem)}
.site-quote-on-dark cite{color:rgba(255,255,255,.7)}
.site-quote-hero{margin:0;padding:1.25rem 1.3rem 1.35rem;background:rgba(255,255,255,.55);border-left:3px solid var(--blue-dark);border-radius:0 4px 4px 0;align-self:end;max-width:28rem}
.site-quote-hero blockquote p{font-size:clamp(1.15rem,2vw,1.4rem)}
.site-quote-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,2.5rem);margin-top:2rem}
.site-quote-row .site-quote{padding:1.2rem 1.25rem 1.3rem;background:rgba(255,255,255,.65);border-left:3px solid var(--blue);border-radius:0 4px 4px 0;max-width:none}
@media(max-width:900px){.site-quote-row{grid-template-columns:1fr}}

/* Work page */
.work-page{background:var(--paper);color:var(--ink)}
.work-shell{width:min(100% - (2 * var(--pad)),var(--content));margin-inline:auto}
.work-hero{padding:clamp(3.5rem,7vw,5.5rem) 0 clamp(2.5rem,5vw,3.5rem);background:linear-gradient(180deg,#d9e7f8 0%,var(--paper) 72%)}
.work-hero .display{margin:0 0 1rem;font-family:Vollkorn,Georgia,serif;font-weight:400;font-style:normal;font-size:clamp(3.2rem,6.2vw,5.6rem);line-height:.9;letter-spacing:-.045em;max-width:16ch}
.work-hero .display span{color:var(--blue);font-style:normal;font-weight:400}
.work-hero .deck{margin:0;max-width:42ch;font-size:1.05rem;line-height:1.45}
.work-service-area{max-width:66ch;margin:1.1rem 0 0;padding-top:.9rem;border-top:1px solid var(--blue-rule);font:.68rem/1.55 DM Mono,monospace;text-transform:uppercase;letter-spacing:.045em;color:#4a4a4a}
.work-ways{padding:clamp(2.5rem,5vw,3.75rem) 0;background:#fff;border-block:1px solid var(--line)}
.work-ways-intro{max-width:none;margin-bottom:1.5rem;padding-top:0;border-top:0}
.work-ways-intro .section-title{margin:0;font:400 clamp(1.85rem,3.2vw,2.6rem)/.98 Vollkorn,Georgia,serif;font-style:normal;letter-spacing:-.03em;max-width:28ch}
.work-ways-intro .section-title .serif{font-style:normal;font-weight:400}
.work-engagements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.work-engagement{display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto 1fr;gap:.35rem .85rem;min-height:100%;padding:1.15rem 1.15rem 1.25rem;background:#fff;border:1px solid rgba(32,59,115,.14);border-top:3px solid var(--blue);border-radius:4px}
.work-engagement:nth-child(2){border-top-color:#5f8fd0}
.work-engagement:nth-child(3){border-top-color:#203b73}
.work-engagement-icon{grid-row:1/3;width:52px;height:52px;object-fit:contain;mix-blend-mode:multiply;margin:0}
.work-engagement h3{margin:0;font:400 1.3rem/1.15 Vollkorn,Georgia,serif}
.work-engagement p{margin:0;font-size:.9rem;line-height:1.4;color:#303030}
.work-pbj{padding:clamp(2.75rem,5vw,4rem) 0;background:linear-gradient(165deg,#2a3558 0%,#4a3d6e 46%,#5e4a7a 100%);color:#fff}
.work-pbj-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(1.5rem,3.5vw,2.5rem);align-items:center}
.work-pbj-copy h2{display:flex;align-items:center;gap:.7rem;margin:0 0 .85rem;font:400 clamp(2.1rem,3.8vw,3rem)/1 Vollkorn,Georgia,serif}
.work-pbj-mark{width:2.65rem;height:2.65rem;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 2px 3px rgba(0,0,0,.28))}
.work-pbj-lead{display:grid;grid-template-columns:minmax(0,1fr) minmax(10.5rem,13.5ch);gap:.85rem 1.15rem;align-items:start}
.work-pbj-lead>p{margin:0;font-size:.95rem;line-height:1.45;color:rgba(255,255,255,.92)}
.work-pbj-quote{margin:0;padding:0 0 0 .8rem;border-left:2px solid rgba(255,255,255,.4);max-width:none}
.work-pbj-quote blockquote p{color:#fff;font-size:clamp(.98rem,1.3vw,1.12rem);line-height:1.3}
.work-pbj-quote cite{margin-top:.4rem;color:rgba(255,255,255,.68);font-size:.55rem;line-height:1.35;letter-spacing:.05em}
.work-pbj-copy .feature-actions{margin-top:1.25rem;display:flex;flex-direction:row;flex-wrap:wrap;gap:.65rem;width:auto}
.work-pbj-copy .feature-actions .button-link{width:auto;min-width:0}
.work-pbj-copy .blue-button{background:#fff;color:#3d2f5c}
.work-pbj-copy .outline-button{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.work-pbj-copy .outline-button:hover,.work-pbj-copy .outline-button:focus-visible{border-color:#fff;background:rgba(255,255,255,.08)}
.work-pbj-visual{margin:0}
.work-pbj-visual>img{width:100%;max-height:380px;object-fit:contain;object-position:top center;border-radius:6px;box-shadow:0 18px 40px rgba(0,0,0,.28);background:#1e2438}
.work-public{padding:clamp(2.75rem,5vw,4rem) 0;background:#fff;border-top:1px solid var(--line)}
.work-public .section-title{margin:.25rem 0 1.35rem;font:400 clamp(1.85rem,3.2vw,2.6rem)/.98 Vollkorn,Georgia,serif;font-style:normal;letter-spacing:-.03em}
.work-public .section-title .serif{font-style:normal;font-weight:400}
.work-public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem}
.work-public-item{display:flex;flex-direction:column;gap:.45rem;padding:0 0 1.15rem;color:inherit;text-decoration:none;border-bottom:1px solid var(--line);min-height:100%}
.work-public-item img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top center;background:var(--paper);border:1px solid var(--line);border-radius:4px}
.work-public-item .work-kicker{margin:.35rem 0 0}
.work-public-item h3{margin:0;font:400 1.35rem/1.15 Vollkorn,Georgia,serif}
.work-public-item p{margin:0;font-size:.9rem;line-height:1.4;color:#303030}
.work-public-item span{margin-top:auto;padding-top:.85rem;font:.62rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--blue)}
.work-public-item:hover h3,.work-public-item:focus-visible h3{color:#123f86}
.work-lab-pointer{margin:1.75rem 0 0;font-size:1.05rem;line-height:1.45;color:#303030}
.work-lab-pointer .text-link{font-size:1.05rem}
@media(min-width:901px){
  .work-hero{padding-bottom:1rem}
}
@media(max-width:900px){
  .work-engagements,.work-pbj-grid,.work-public-grid{grid-template-columns:1fr}
  .work-pbj-lead{grid-template-columns:1fr;max-width:36rem}
  .work-pbj-quote{max-width:32ch}
  .about-hero-deck{max-width:720px}
}
@media(max-width:620px){
  .work-shell{width:min(100% - 2.2rem,1120px)}
  .work-hero{padding:3rem 0 2.25rem}
  .work-engagement{padding:1.05rem 1rem 1.15rem}
  .work-pbj{padding:2.75rem 0}
  .work-pbj-lead{grid-template-columns:1fr;gap:.9rem}
  .work-pbj-quote{max-width:22ch}
  .work-pbj-visual>img{max-height:240px}
  .site-quote-band,.site-quote-hero{padding:1.15rem 1.05rem}
}

@media(max-width:900px){
  .about-home-grid{grid-template-columns:1fr;gap:1.5rem}
  .about-home-portrait img{width:min(180px,45vw);aspect-ratio:1;object-position:center top;border-radius:50%}
}

@media(max-width:560px){
  .the320-simple{display:block;position:relative}
  .the320-art{position:absolute;top:0;right:0;width:88px;margin:0}
  .the320-copy .eyebrow,.the320-copy h2{max-width:calc(100% - 98px)}
  .about-home-grid{display:block;position:relative}
  .about-home-portrait{position:absolute;top:2rem;right:0;width:112px;margin:0}
  .about-home-portrait img{width:112px;height:112px;aspect-ratio:1;border-radius:50%}
  .about-home-grid>div:last-child>.eyebrow,.about-home-grid>div:last-child>h2{max-width:calc(100% - 128px)}
  .about-home-grid>div:last-child>h2{font-size:2rem;line-height:1.02}
  .about-path-step{display:block}
  .about-path-final{color:inherit;font-weight:400;font-style:italic}
  .contact-details{padding:3.25rem 1.5rem;min-height:440px}
  .contact-details a.contact-email{font-size:clamp(1.08rem,5.5vw,1.3rem);white-space:nowrap;letter-spacing:-.02em}
}

@media(min-width:561px) and (max-width:900px){
  .figma-feature-details{min-width:0}
  .figma-feature-actions{max-width:100%;flex-direction:column;align-items:flex-start;gap:.55rem}
  .figma-feature-details .button-link{padding:.65rem .8rem}
  .figma-feature-premium{font-size:.61rem}
  .figma-feature-art{height:140px}
  .figma-feature-art img{width:155px;bottom:-1.75rem}
  .route-progress{display:none}
  .route-hero-v2{margin-bottom:2rem}
}

/* Preserve efficient two-column compositions on tablets without changing phones or desktop. */
@media(min-width:700px) and (max-width:900px){
  .the320-simple{grid-template-columns:minmax(0,1fr) 150px;gap:2rem}
  .the320-art{width:150px;justify-self:end;align-self:center}

  .about-home-grid{grid-template-columns:170px minmax(0,1fr);gap:2rem}
  .about-home-portrait img{width:170px;height:170px;aspect-ratio:1;border-radius:50%}

  .about-hero-layout{grid-template-columns:minmax(0,1.25fr) minmax(200px,.65fr);gap:2rem;align-items:center}
  .about-hero-portrait{order:initial;justify-self:end;width:min(100%,240px)}

  .contact-page{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}

  .editorial-grid{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:2rem}
  .editorial-intro{max-width:15rem}
  .editorial-intro img{width:min(150px,70%)}
  .story{grid-template-columns:4.5rem minmax(0,1fr) auto;gap:1rem}
}

/* The 320 index: character-led hero and image-forward RSS story list. */
.the320-page-hero{padding-block:clamp(4.5rem,8vw,7rem)}
.the320-hero-inner{width:min(100%,var(--max));margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(2rem,6vw,6rem);align-items:center}
.the320-hero-copy{min-width:0}
.the320-hero-copy .deck{margin:2rem 0}
.the320-hero-actions>p{margin:0}
.the320-hero-art-mobile{display:none}
.the320-hero-art{width:min(100%,300px);justify-self:end;mix-blend-mode:multiply}
.editorial .editorial-grid{grid-template-columns:180px minmax(0,1fr);gap:clamp(2rem,4vw,4rem)}
.editorial .editorial-intro{max-width:180px;position:sticky;top:2rem}
.editorial .editorial-intro p{margin-top:0}
.editorial .story{grid-template-columns:clamp(120px,13vw,180px) 5.5rem minmax(0,1fr) auto;gap:clamp(1rem,2.2vw,2rem);align-items:center;padding:1.25rem 0}
.story-thumb{width:100%;aspect-ratio:16/10;object-fit:cover;background:rgba(255,255,255,.72);border:1px solid rgba(17,17,17,.16);border-radius:3px}
.story-thumb--fallback{object-fit:contain;mix-blend-mode:multiply;padding:.35rem}

@media(max-width:900px){
  .the320-hero-inner{grid-template-columns:minmax(0,1fr) 190px;gap:2rem}
  .the320-hero-art{width:190px}
  .editorial .editorial-grid{grid-template-columns:1fr;gap:1.5rem}
  .editorial .editorial-intro{position:static;max-width:none;display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;gap:1.5rem}
  .editorial .story{grid-template-columns:120px 4.5rem minmax(0,1fr) auto;gap:1rem}
}

@media(max-width:560px){
  .the320-page-hero{padding:3.25rem 1.1rem}
  .the320-hero-inner{position:relative;display:block}
  .the320-hero-art{display:none}
  .the320-hero-copy>.eyebrow{min-height:0;padding-top:0}
  .the320-hero-copy .display{font-size:clamp(2.75rem,13vw,3.4rem)}
  .the320-hero-copy .deck{margin:1.5rem 0}
  .the320-hero-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}
  .the320-hero-actions>p{min-width:0}
  .the320-hero-actions .text-link{font-size:.6rem;letter-spacing:.055em}
  .the320-hero-art-mobile{display:block;flex:0 0 68px;width:68px;mix-blend-mode:multiply}
  .editorial .editorial-intro{display:block}
  .editorial .editorial-intro .text-link{font-size:.62rem}
  .editorial .story{grid-template-columns:84px minmax(0,1fr) auto;grid-template-rows:auto 1fr;gap:.3rem .8rem;padding:1rem 0}
  .editorial .story-thumb{grid-column:1;grid-row:1/3}
  .editorial .story-date{grid-column:2;grid-row:1}
  .editorial .story h3{grid-column:2;grid-row:2;font-size:1.18rem}
  .editorial .story-arrow{grid-column:3;grid-row:1/3;align-self:center}
}
