/* Approved Boston workshop direction. Always still first; motion is optional. */
:root{--warm:#f2ede4;--brass:#edc48f}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cinematic{display:flex;position:relative;isolation:isolate;min-height:740px;background:#14130f;color:#fff;align-items:center;overflow:hidden}
.cinema-media{position:absolute;inset:0;z-index:-2}
.cinema-media img,.cinema-media video{width:100%;height:100%;object-fit:cover;object-position:61% 50%;position:absolute;inset:0}
.cinema-media video[hidden]{display:none}
.cinematic:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,12,11,.9),rgba(13,12,11,.62) 37%,rgba(13,12,11,.08) 72%),linear-gradient(0deg,rgba(13,12,11,.9),transparent 35%)}
.cinematic .hero-copy{padding:80px 7% 170px;width:100%;position:relative}
.cinematic .eyebrow{color:var(--brass);font-size:11px;letter-spacing:.24em;margin-bottom:30px}
.cinematic h1{font-size:clamp(58px,6.2vw,94px);line-height:1.02;letter-spacing:-.06em;max-width:810px}
.cinematic h1 em{color:var(--brass);font-style:normal;font-weight:400}
.cinematic .intro{color:#f1e9df;font-size:17px;max-width:500px;line-height:1.8;margin-top:30px}
.cinematic .actions{gap:14px;margin-top:32px}
.cinematic .button{min-width:195px;padding:18px 24px;font-size:13px}
.cinematic .outline{background:rgba(8,12,16,.4);border:1px solid #d3c3af;color:#fff}
.cinematic .outline:hover{background:#fff;color:#101c31}
.cinema-bottom{position:absolute;bottom:44px;left:7%;right:7%;padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:22px;border-top:1px solid #ffffff45}
.cinema-bottom p{display:flex;align-items:center;gap:13px;font-size:9px;letter-spacing:.14em;color:#f6ecdf}
.cinema-bottom .dot{background:#edc48f}
.cinema-divider{color:#bcab96;margin:0 9px}
.cinema-bottom>a{font-size:11px;color:#fff;white-space:nowrap}
#film-toggle{background:#221e18d9;color:#fff;border:1px solid #b2a18c;min-height:44px;padding:10px 15px;font-size:11px;cursor:pointer}
#film-toggle:hover{background:#f2ede4;color:#211b13}
#film-toggle[hidden]{display:none}
.film-note{position:absolute;bottom:22px;left:7%;right:7%;font-size:10px;line-height:1.5;color:#d6c8b7}
.people-intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:80px 7%;background:var(--warm);align-items:center}
.people-intro h2{font-size:clamp(31px,3.5vw,48px)}
.people-intro .eyebrow{margin-bottom:20px;font-size:9px}
.people-intro>div>p:not(.eyebrow){font-size:15px;line-height:1.8;color:#4d596b}
.people-intro p a{text-decoration:underline;text-underline-offset:4px}
.people-intro .people-note{margin-top:13px;font-size:13px!important}
.people-intro .text-link{display:inline-block;margin-top:22px;font-size:12px}
.counter-story{display:grid;grid-template-columns:1fr 1fr;background:#101c31;color:#fff;margin-bottom:50px;overflow:hidden}
.counter-story>img{position:static;display:block;width:100%;height:100%;min-height:360px;max-height:470px;object-fit:cover}
.counter-story figcaption{position:static;padding:42px;display:flex;justify-content:center;align-items:flex-start;gap:20px}
.counter-story figcaption>span{font-size:10px;letter-spacing:.17em;color:var(--brass)}
.counter-story figcaption strong{font-size:clamp(30px,3.1vw,46px);line-height:1.1;max-width:410px}
.counter-story figcaption p{font-size:14px;line-height:1.75;color:#dce3ec}
.counter-story figcaption small{font-size:9px;line-height:1.6;color:#c6cedb}
.counter-story .button span{font-size:21px;color:inherit;letter-spacing:normal}
.specialist-copy .button{margin-top:28px}
.enquiry-actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:26px}
.enquiry{background:var(--warm)}
@media(max-width:1050px){.cinematic{min-height:710px}.cinematic .hero-copy{padding-left:6%;padding-right:6%}.cinematic h1{font-size:clamp(58px,7.1vw,76px)}.cinema-bottom,.film-note{left:6%;right:6%}.cinema-bottom{gap:14px}.cinema-bottom p{font-size:8px;gap:7px}.cinema-bottom>a{font-size:10px}.people-intro{padding:60px 6%;gap:7%}.counter-story figcaption{padding:30px}.counter-story>img{min-height:380px}}
@media(max-width:720px){
.cinematic{display:flex;flex-direction:column;min-height:0;align-items:stretch}
.cinema-media{position:relative;inset:auto;z-index:0;width:100%;height:clamp(220px,57vw,370px);flex:none}
.cinema-media img,.cinema-media video{object-position:70% 50%}
.cinematic:after{display:none}
.cinematic .hero-copy{padding:34px 6% 36px;background:#181510}
.cinematic h1{font-size:clamp(45px,9.4vw,66px);line-height:1.05;max-width:100%}
.cinematic .eyebrow{font-size:9px;margin-bottom:20px}
.cinematic .intro{font-size:15px;line-height:1.8;max-width:440px;margin-top:24px}
.cinematic .actions{align-items:stretch;flex-direction:column;gap:12px;margin-top:25px}
.cinematic .button{padding:15px 20px;min-height:53px}
.cinema-bottom{position:static;margin:0 6%;flex-wrap:wrap;gap:18px;padding:22px 0}
.cinema-bottom p{width:100%;font-size:8px;gap:7px}
.cinema-divider{margin:0 3px}
.cinema-bottom>a{font-size:11px}
.film-note{position:static;margin:0 6% 24px;font-size:10px}
.people-intro{grid-template-columns:1fr;gap:27px;padding:48px 6%}
.people-intro>div>p:not(.eyebrow){font-size:14px}
.counter-story{grid-template-columns:1fr;margin-bottom:35px}
.counter-story>img{min-height:0;height:auto;max-height:320px;aspect-ratio:1.5;object-fit:cover}
.counter-story figcaption{padding:30px 25px}
.counter-story figcaption strong{font-size:36px}
.enquiry-actions{gap:22px}
}
@media(max-width:360px){.cinematic h1{font-size:43px}.cinema-bottom p{letter-spacing:.07em}.counter-story figcaption{padding:28px 20px}.counter-story figcaption strong{font-size:32px}}

/* Accessible small text and font-independent interface symbols. */
.people-intro .eyebrow,.enquiry .eyebrow,.contact-panel .eyebrow{color:#b9212b}
.icon{display:inline-block;vertical-align:middle;width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nav-call .icon{width:12px;height:12px}
.button .icon{width:20px;height:20px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px #17243a}

/* Keep navigation usable if scripts are disabled or fail to load. */
.menu[hidden]{display:none}
@media(max-width:720px){
  header{flex-wrap:wrap}
  nav{display:flex;position:static;width:100%;padding:0;flex-direction:column;align-items:stretch;font-size:14px;box-shadow:none;border-bottom:0}
  .navigation-ready header{flex-wrap:nowrap}
  .navigation-ready nav{display:none;position:absolute;top:100%;left:0;right:0;width:auto;padding:20px 5%;border-bottom:1px solid var(--line);box-shadow:0 10px 12px #101c3112}
  .navigation-ready nav.open{display:flex}
  .menu{min-width:44px;min-height:44px}
}

/* A local contact card, available without scripts or form submission. */
.contact-save{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:16px;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.contact-save-note{display:block;color:var(--muted);font-size:11px;line-height:1.6}
