/* Shared reading rhythm and controls. Font families remain unchanged. */
:root{--site-header-height:66px;--reading-ink:#223747;--reading-muted:#5f7485;--focus-color:#2778bf;--reading-tracking:.01em}
body{letter-spacing:var(--reading-tracking);line-height:1.6}
button,input,textarea,select{letter-spacing:inherit}
:is(a,button,[tabindex]):focus-visible{outline:2px solid var(--focus-color);outline-offset:5px}
body>header,body>header.site-header{height:var(--site-header-height);max-width:none;padding:0 5%;background:rgba(250,252,253,.74);border-bottom:1px solid rgba(226,237,243,.68);backdrop-filter:blur(22px) saturate(1.15);-webkit-backdrop-filter:blur(22px) saturate(1.15)}
body>header .brand{width:82px;height:38px;font-size:26px;font-weight:700;letter-spacing:-.025em;line-height:1;justify-content:center;color:var(--reading-ink)}
body>header .brand-plain{width:82px;font-size:26px;line-height:38px;text-align:center}
body>header .brand-script{inset:4px 0;width:82px;height:30px;transform:none}
body>header .brand:is(:hover,:focus-visible) .brand-plain,body>header .brand:is(:hover,:focus-visible) .brand-script{transform:none}
body>header nav,body>header .site-nav{display:flex;align-items:center;gap:30px;font-size:14px;letter-spacing:.015em;line-height:1.5}
body>header nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--reading-ink);text-decoration:none}
body>header nav a:is(:hover,:focus-visible){color:#2778bf;text-decoration:none}
section{scroll-margin-top:calc(var(--site-header-height) + 24px)}
.viewport{top:var(--site-header-height)}
.visual-entry .ve-center h1{letter-spacing:0;line-height:1.2}
.visual-entry .ve-center p{letter-spacing:.015em;line-height:1.75}
.visual-entry .ve-center .ve-greeting{line-height:1.5;margin-bottom:20px}
.ve-cta{letter-spacing:.025em;line-height:1.5;min-height:44px}
.section-title h2{letter-spacing:0;line-height:1.25}
#work .project-title{width:100%;letter-spacing:0;line-height:1.4;margin:20px 0 10px;gap:16px}
#work .description{font-size:14px;line-height:1.75;letter-spacing:.01em;color:var(--reading-muted);margin:0 0 18px;max-width:62ch}
.tags{gap:8px}
.tag{letter-spacing:.055em;line-height:1.5;font-size:10px}
.eyebrow,.mono,.about-stat{letter-spacing:.085em;line-height:1.5}
.building-badge{letter-spacing:.06em;line-height:1.35}
.project-building{cursor:default}
#work .project:not(.project-building):focus-visible .art{transform:translateY(-5px)}
#work .project:focus-visible .pdrm-card-image-default{opacity:0;transform:scale(1.02)}
#work .project:focus-visible .pdrm-card-image-hover{opacity:1;transform:scale(1)}
.about{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:clamp(36px,5vw,72px);row-gap:26px;align-items:start}
.about-labels{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:clamp(36px,5vw,72px);align-items:baseline}
.about-labels .about-stat{margin:0;font-size:12px}
.about .about-left .portrait{margin:0;height:auto;min-height:0}
.about .about-left .portrait img{width:100%;height:auto;object-fit:contain}
.about>div:last-child{align-self:stretch;display:flex;flex-direction:column;min-width:0}
.about h2{font-size:clamp(32px,3.4vw,44px);letter-spacing:0;line-height:1.22;margin:0 0 26px;text-wrap:balance}
.about .lead{font-size:21px;letter-spacing:0;line-height:1.5;margin:0 0 22px}
.about .body{font-size:15px;letter-spacing:.01em;line-height:1.8;margin:0 0 18px;color:var(--reading-muted);max-width:62ch}
.about .skills{gap:16px 24px;margin:12px 0 28px}
.about .skills div{font-size:13px;line-height:1.6}
.about .about-links{flex-wrap:wrap;gap:16px 24px;margin-top:auto;font-size:13px;line-height:1.6}
.about-links a{overflow-wrap:anywhere}
.footer .call{letter-spacing:0;line-height:1.25}
.footer-bottom{font-size:12px;line-height:1.6;gap:20px;flex-wrap:wrap}
:is(#case-dialog,#archive-modal) :is(h1,h2,h3,h4){letter-spacing:0;line-height:1.25;overflow-wrap:break-word}
:is(#case-dialog,#archive-modal) :is(.pdrm-case-lead,.pdrm-case-section p,.brand-story-copy p,.social-series-copy p,.archive-intro){letter-spacing:.01em;line-height:1.8}
:is(#case-dialog,#archive-modal) :is(.brand-story-copy p,.social-series-copy p){font-size:15px;color:var(--reading-muted)}
:is(#case-dialog,#archive-modal) :is(.category-heading>p,.brand-selected-heading>p){letter-spacing:.005em;line-height:1.5}
:is(#case-dialog,#archive-modal) :is(.pdrm-case-kicker,.pdrm-case-index,.pdrm-case-footnote){letter-spacing:.075em;line-height:1.6}
:is(#case-dialog,#archive-modal) .pdrm-rule-card h4{line-height:1.4}
:is(#case-dialog,#archive-modal) .pdrm-rule-card p{line-height:1.7;font-size:13px}
:is(#case-dialog,#archive-modal) .pdrm-case-meta{line-height:1.5}
:is(#case-dialog,#archive-modal) .modal-panel{position:relative}
#case-dialog.dialog .dialog-head,#archive-modal .archive-modal-bar{position:fixed;top:28px;right:3%;z-index:40;height:auto;padding:0;border:0;background:none;backdrop-filter:none;pointer-events:none}
#case-dialog.dialog .dialog-head>.mono,#archive-modal .archive-modal-bar>span{display:none}
#case-dialog.dialog .dialog-head .close,#archive-modal #archive-close{position:static;display:grid;place-items:center;pointer-events:auto;width:44px;height:44px;padding:10px;border:1px solid #dfe8f3;border-radius:50%;color:#40536b;background:#ffffffed;box-shadow:0 7px 18px #26476718;cursor:pointer}
#case-dialog.dialog .dialog-head .close svg,#archive-modal #archive-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
#case-dialog.dialog .dialog-head .close:is(:hover,:focus-visible),#archive-modal #archive-close:is(:hover,:focus-visible){background:#eaf3fa;color:#1d6095}
html.has-open-dialog,html.has-open-dialog body{overflow:hidden}
.playground-sprite{width:48px;height:48px}
@media(max-width:750px){
  :root{--site-header-height:60px}
  body>header,body>header.site-header{padding:0 6%}
  body>header nav,body>header .site-nav{gap:20px;font-size:13px}
  .about{grid-template-columns:minmax(0,1fr);row-gap:28px}
  .about-labels{grid-template-columns:1fr auto;gap:16px}
  .about-labels .about-stat{font-size:11px}
  .about-left{max-width:440px;width:100%;justify-self:center}
  .about h2{font-size:clamp(30px,7.5vw,38px);line-height:1.25}
  .about .lead{font-size:20px}
  .about .body{font-size:15px}
  .about .about-links{margin-top:0}
  :is(#case-dialog,#archive-modal) .pdrm-case-intro h2{font-size:clamp(32px,8.5vw,48px)}
  :is(#case-dialog,#archive-modal) .pdrm-case-section h3{font-size:clamp(27px,7vw,34px)}
  :is(#case-dialog,#archive-modal) .brand-story-copy p{font-size:14px}
  #case-dialog.dialog .dialog-head,#archive-modal .archive-modal-bar{top:20px;right:5%}
}
@media(hover:none),(pointer:coarse){
  .project-building .building-badge{opacity:1}
  .playground-sprite{display:none}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
  .playground-sprite{display:none}
  .viewport,.viewport *{cursor:auto}
}

@media(min-width:761px){
  #case-dialog.pdrm-product .pdrm-case-section-head h3,
  #case-dialog .web-case-close h3{max-width:none}
}

/* Deployment copy: keep the two in-progress case studies off the public page. */
.project-building{display:none!important}
