/* Integrity: clearer hierarchy, accessible controls, and a shorter mobile journey. */
:root{--warm:#f6f6f5;--bone:#f0f0ee;--line:#dddfdd;--muted:#5e6060;--cream:#f1eeee}
[hidden]{display:none!important}
:focus-visible{outline:3px solid #a84343;outline-offset:5px}
.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-160%);z-index:100;background:#fff;color:var(--maroon);padding:12px 20px;font-weight:600}
.skip-link:focus{transform:none}
main{display:block}
section,[id^="service-"]{scroll-margin-top:100px}
.hero{min-height:clamp(570px,76svh,830px)}
.hero .wrap{padding-top:150px;padding-bottom:100px}
.hero-copy{max-width:1040px}
.hero h1{font-size:clamp(2.1rem,4.4vw,3.6rem);letter-spacing:.055em;line-height:1.22}
.hero .eyebrow{font-size:.875rem;letter-spacing:.14em;line-height:1.8}
.btn{min-height:48px;padding:14px 24px;font-size:.875rem;letter-spacing:.03em;text-align:center;border-radius:3px}
.statstrip{padding:30px 0;background:#fff}
.statstrip .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.statstrip .stat{padding:4px 18px;border-right:1px solid var(--line)}
.statstrip .stat:last-child{border:0}
.statstrip .stat .num{font-size:1.6rem}
.statstrip .stat .lbl{font-size:.875rem;letter-spacing:.06em}
.sec,.projects,.band,.clients{padding:80px 0}
.sec-head{margin-bottom:36px;max-width:790px}
.sec-head h2,.contact h2{font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:.045em}
.sec-head .eyebrow,.eyebrow{font-size:.875rem;letter-spacing:.14em}
.sec-head .eyebrow::after{margin:12px 0 20px;width:40px}
.lead{font-size:1rem;line-height:1.8}
.grid{gap:20px}
.card{padding:30px;border-radius:3px;border-top:3px solid var(--maroon);box-shadow:none}
.card h3{font-size:1.1rem;letter-spacing:.035em;line-height:1.45}
.card p,.cap p,.cert .what{font-size:1rem}
.card .ico{margin-bottom:18px;background:transparent;width:28px;height:28px;justify-content:flex-start}
.card:hover{transform:translateY(-2px);box-shadow:0 10px 28px -20px #231f2055}
.divhead h3{font-family:var(--sans);font-size:1rem;font-weight:600;letter-spacing:.035em;line-height:1.5}
.grid + .divhead{margin-top:36px}
.projects{background:#e9ebea}
.mosaic{gap:16px}
.shot{border-radius:3px}
.shot figcaption{padding:54px 20px 18px;background:linear-gradient(transparent,#101112ed)}
.shot figcaption b{font-family:var(--sans);font-size:.875rem;letter-spacing:.025em;line-height:1.4}
.shot figcaption span{font-size:.875rem;color:#ece8e3;line-height:1.4}
.band{background:#202426}
.cap{border-radius:3px;padding:26px}
.cap h3{font-family:var(--sans);font-size:1rem;letter-spacing:.04em;line-height:1.5}
.cap p,.band p{color:#c4c9c9}
.certstrip{padding:64px 0}
.cert .code{font-size:.875rem;letter-spacing:.06em}
.clientlist{column-gap:28px}
.clientlist li{font-family:var(--sans);font-size:.9375rem;font-weight:500;line-height:1.5;padding:12px 0}
.verse{padding:56px 0;background:#f0f0ee}
.verse-text{font-size:clamp(1.4rem,2.3vw,1.85rem)}
.contact .wrap{gap:48px}
form{padding:32px;border-radius:3px;border-top:3px solid var(--maroon)}
.form-heading{font-family:var(--sans);font-size:1.2rem;letter-spacing:.02em;text-transform:none}
.form-intro{font-size:.9375rem;color:var(--muted);margin:12px 0 26px}
.form-intro a,.form-note a{color:var(--maroon);text-decoration:underline;text-underline-offset:3px}
label{font-size:.875rem;letter-spacing:.015em}
input,textarea,select{font-size:1rem;min-height:48px}
textarea{min-height:132px}
.form-note{font-size:.875rem;color:var(--muted);margin-top:16px;line-height:1.6}
.btn:disabled{opacity:.7;cursor:wait;transform:none}
.info-row .k{font-size:.875rem;letter-spacing:.06em}
.info-row .v{font-family:var(--sans);font-size:1.05rem;overflow-wrap:anywhere}
.info-row .v a{display:inline-block;padding:6px 0}
.foot h4{font-size:.875rem;letter-spacing:.1em}
.foot a{padding:5px 0;margin-bottom:4px}
.copyright{color:#b4afac}
.lb-fig figcaption b{font-size:1rem;letter-spacing:.06em}
.lb-count{font-size:.875rem}
.mobile-contact{display:none}
@media(min-width:901px){header .menu{gap:24px}header .menu a{font-size:.875rem;letter-spacing:.06em}}
@media(max-width:900px){
  .menu{visibility:hidden;pointer-events:none;transform:translateY(-12px);opacity:0;transition:opacity .2s,transform .2s,visibility .2s}
  .menu.open{visibility:visible;pointer-events:auto;transform:translateY(0);opacity:1}
  .navtoggle{min-width:44px;min-height:44px;align-items:center;justify-content:center}
  .navtoggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .navtoggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .navtoggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hero{min-height:600px;min-height:76svh}
  .hero .wrap{padding-top:132px;padding-bottom:86px}
  .hero .eyebrow{font-size:.875rem;letter-spacing:.07em}
  .sec,.projects,.band,.clients{padding:60px 0}
  .contact .wrap{gap:32px}
  .mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:45;display:grid;grid-template-columns:1fr 1.3fr;gap:8px;padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -3px 20px #00000012;border-top:1px solid var(--line)}
  .mobile-contact a{padding:12px;font-size:.875rem;font-weight:600;text-align:center;min-height:46px;border:1px solid var(--maroon);color:var(--maroon);border-radius:3px}
  .mobile-contact a:last-child{background:var(--maroon);color:#fff}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  html{scroll-padding-bottom:90px}
  .brand .name small{font-size:.625rem;letter-spacing:.16em}
}
@media(max-width:560px){
  .wrap{padding-left:20px;padding-right:20px}
  .hero h1{font-size:clamp(1.7rem,7vw,2.3rem);letter-spacing:.025em}
  .hero .hero-tag{font-size:1.2rem}
  .hero .eyebrow i{margin:0 .25em}
  .statstrip .stats{grid-template-columns:1fr 1fr;row-gap:20px}
  .statstrip .stat:nth-child(2){border:0}
  .statstrip .stat .num{font-size:1.35rem}
  .statstrip .stat .lbl{letter-spacing:.025em}
  .card{padding:24px}
  .mosaic{grid-template-columns:1fr;grid-auto-rows:260px;gap:16px}
  .shot,.shot.quarter,.shot.feature,.shot.wide{grid-column:1;grid-row:span 1}
  .shot figcaption b,.shot figcaption span{font-size:.875rem}
  form{padding:24px 20px}
  .clientlist{column-gap:20px}
  .clientlist li{font-size:.875rem}
  .sec-head h2,.contact h2{overflow-wrap:anywhere}
  .lb-fig{max-width:94vw}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.card:hover,.shot:hover img,.shot:focus-visible img,.btn:hover{transform:none}}
