/* September 26 copy update. Existing brand, typography, portraits and press artwork remain. */
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0 }
.eyebrow { margin-bottom:16px; font:500 13px/1.5 var(--sans); text-transform:uppercase; letter-spacing:.12em; color:var(--oxblood) }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px }
.hero-actions .button { margin-top:0; padding-inline:20px; min-width:0; gap:14px; font-size:16px }
.hero-actions .button-outline { color:var(--white); border-color:var(--light-muted); background:transparent }
.hero-actions .button-outline:hover { background:var(--warm); color:var(--plum) }
.hero .trust-line { margin-top:20px }
.proof-strip a { display:block; padding-inline:28px }
.proof-strip strong { display:block; margin-bottom:10px; font-size:clamp(34px,3.8vw,50px) }
.proof-strip a > span { display:block; max-width:28ch }
.engine-phases { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-block:36px }
.engine-phases li,.engine-phases li:last-child { display:flex; flex-direction:column; align-items:start; padding:28px; gap:18px; border:1px solid var(--rule); border-radius:8px; background:var(--white) }
.phase-label { display:flex; flex-direction:column; gap:8px; font-size:13px; color:var(--oxblood); text-transform:uppercase; letter-spacing:.06em }
.phase-label span:last-child { font-weight:600 }
.engine-phases h3 { font-size:clamp(27px,2.7vw,38px) }
.phase-copy .phase-included { margin-top:18px; font-size:15px }
.phase-copy .phase-part { margin-top:12px; font-size:15px; color:var(--plum) }
.results-preview { background:var(--white) }
.work-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:36px }
.preview-grid,.systems-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px }
.work-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; background:var(--white); border:1px solid var(--rule); border-radius:8px }
.work-image { position:relative; display:block; width:100%; height:190px; overflow:hidden; background:var(--warm); border-bottom:1px solid var(--rule) }
.work-image img { width:100%; height:100%; object-fit:contain; background:var(--warm) }
.work-image.proof-zoom:hover { transform:none; outline:3px solid var(--plum); outline-offset:-3px }
.work-tag { position:absolute; top:12px; left:12px; right:auto; max-width:calc(100% - 24px); background:var(--plum); color:var(--white); border-radius:30px; padding:6px 12px; font-size:11px; line-height:1.4; letter-spacing:.025em; z-index:1 }
.image-enlarge { position:absolute; right:12px; bottom:12px; display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:var(--white); color:var(--plum) }
.work-body { display:flex; flex-direction:column; align-items:start; flex:1; padding:26px }
.client-label { font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.09em; margin-bottom:12px; color:var(--oxblood) }
.work-body h3 { font-size:30px; line-height:1.17; letter-spacing:-.025em; margin-bottom:18px }
.work-body > p:not(.client-label) { font-size:16px; color:var(--ink-muted) }
.work-stats { display:flex; flex-wrap:wrap; gap:20px 24px; width:100%; margin:26px 0; padding-top:20px; border-top:1px solid var(--rule) }
.work-stats > div { min-width:min-content; flex:1 1 100px }
.work-stats dt { font-size:clamp(23px,2.2vw,31px); font-weight:500; line-height:1.3; letter-spacing:-.05em; overflow-wrap:normal }
.work-stats dd { margin:5px 0 0; font-size:13px; line-height:1.5; color:var(--ink-muted) }
.text-link { display:inline-flex; align-items:center; gap:14px; font-weight:500; font-size:15px; margin-top:auto; min-height:44px }
.text-link > span[aria-hidden] { font-size:20px }
.preview-grid .work-image,.systems-grid .work-image { height:190px }
.preview-grid .work-body { padding:24px }
.preview-grid .work-body h3 { font-size:28px }
.preview-grid .work-stats { gap:16px }
.preview-grid .work-stats > div { flex-basis:90px }
.results-preview > .wrap > .button { margin-top:32px }
.pending-image { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px; padding:52px 20px 20px; text-align:center; background:var(--warm); color:var(--oxblood); border:1px dashed var(--oxblood) }
.pending-image > span:not(.work-tag) { font-family:var(--serif); font-size:24px; line-height:1.2 }
.pending-image small { font-size:12px }
.video-strip { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; margin-top:32px }
.video-tile { position:relative; display:block; min-width:0; aspect-ratio:9/16; overflow:hidden; border-radius:7px; background:var(--plum); color:var(--white); text-decoration:none }
.video-tile > img { width:100%; height:100%; object-fit:cover }
.video-landscape > img { object-fit:contain }
.video-tile::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 45%,rgb(0 0 0 / 85%)); pointer-events:none }
.play-icon { position:absolute; inset:0; display:grid; place-content:center; z-index:1; font-size:20px; text-shadow:0 2px 10px #000 }
.play-icon::before { content:''; position:absolute; left:50%; top:50%; width:48px; height:48px; transform:translate(-50%,-50%); border:1px solid rgb(255 255 255 / 80%); border-radius:50%; background:rgb(0 0 0 / 15%); z-index:-1 }
.video-caption { position:absolute; z-index:2; inset:auto 12px 14px; font-size:13px; font-weight:500; line-height:1.4 }
.video-caption small { display:block; margin-top:5px; font-size:10px; font-weight:400 }
.about { padding-top:0 }
.about-portrait-layout { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center }
.about-portrait { width:100%; max-width:480px; height:510px; object-fit:cover; object-position:50% 42%; border-radius:48% 48% 12px 12px }
.about-portrait-layout h2 { margin-bottom:24px }
.closing-centered { text-align:center; padding-block:80px }
.closing-centered > p { max-width:55ch; margin:24px auto; color:var(--light-muted) }
.about-layout { display:grid; grid-template-columns:.8fr 1.3fr; gap:80px; padding-top:42px; border-top:1px solid var(--rule) }
.about-layout > p { font-size:20px }
.case-page-intro { padding-block:72px 48px }
.case-page-intro h1 { max-width:20ch; font-size:clamp(42px,5.5vw,76px) }
.case-page-subhead { margin-block:26px; color:var(--ink-muted); max-width:52ch }
.case-page-intro .results-index { max-width:none }
.portfolio-group { padding-block:40px 56px }
.portfolio-group:nth-of-type(odd) { background:var(--white) }
.portfolio-heading { font:500 18px/1.5 var(--sans); padding-top:24px; border-top:1px solid var(--plum); letter-spacing:.03em }
.anchor-alias { display:block; scroll-margin-top:112px }
.systems-built { padding-block:64px }
.system-card .client-label { display:none }
.system-card .work-body h3 { font-size:27px }
.system-card .text-link { margin-top:24px }
.more-work { padding-top:0 }
.more-work ul { list-style:none; margin:0; padding:0; font-size:16px }
.more-work li + li { margin-top:20px }
.more-work strong { font-weight:500 }
@media (max-width:1099px) {
  #navigation { gap:12px; font-size:14px }
  .nav-layout { column-gap:12px }
  .button.nav-booking { min-width:150px; font-size:14px }
  .engine-phases { grid-template-columns:1fr }
  .engine-phases li { display:grid; grid-template-columns:.8fr 1.3fr; gap:12px 32px }
  .engine-phases .phase-label { grid-column:1 }
  .engine-phases h3 { grid-column:1 }
  .phase-copy { grid-column:2; grid-row:1/3 }
  .work-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .preview-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .preview-grid .work-card:last-child { grid-column:1/-1 }
  .video-strip { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px }
  .video-caption { font-size:16px }
  .video-caption small { font-size:12px }
  .systems-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .about-layout { gap:40px }
  .about-portrait-layout { gap:40px }
}
@media (max-width:699px) {
  .hero-actions { display:grid; grid-template-columns:1fr; gap:12px; margin-top:24px }
  .hero-actions .button { margin:0 }
  .proof-strip a,.proof-strip a:first-child { display:block; padding-block:24px }
  .proof-strip strong { min-width:0; font-size:44px; margin-bottom:8px }
  .proof-strip a > span { max-width:34ch; font-size:15px }
  .engine-phases li,.engine-phases li:last-child { display:block; padding:24px }
  .phase-label { flex-direction:row; flex-wrap:wrap; gap:8px 18px; margin-bottom:14px }
  .engine-phases h3 { font-size:32px; margin-bottom:18px }
  .engine-phases p { max-width:none }
  .work-grid,.preview-grid,.systems-grid { grid-template-columns:1fr; gap:28px }
  .work-image,.preview-grid .work-image,.systems-grid .work-image { height:195px }
  .work-body,.preview-grid .work-body { padding:24px }
  .work-body h3,.preview-grid .work-body h3 { font-size:29px }
  .work-stats dt { font-size:27px }
  .video-strip { display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; padding:6px 6px 20px; margin-inline:-6px }
  .video-tile { flex:0 0 68%; scroll-snap-align:start }
  .video-caption { font-size:16px }
  .video-caption small { font-size:12px }
  .about-layout { display:block; padding-top:32px }
  .about-layout h2 { margin-bottom:24px }
  .about-layout > p { font-size:18px }
  .about-portrait-layout { grid-template-columns:1fr; gap:30px }
  .about-portrait { height:390px; max-width:340px; margin-inline:auto }
  .closing-centered { padding-block:60px }
  .closing-centered h2 { font-size:40px }
  .closing-centered .button { width:100% }
  .case-page-intro { padding-block:44px 28px }
  .case-page-intro .results-index { display:flex; gap:10px }
  .case-page-intro .results-index a { font-size:13px; padding:10px 12px; min-height:46px; gap:8px }
  .portfolio-group { padding-block:24px 40px }
  .portfolio-heading { font-size:17px }
  .more-work { padding-top:0 }
  .faq { padding-top:0 }
}
