/* Shared responsive rules, loaded after component styles. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
main,section,article,aside,form,fieldset,nav{min-width:0}
img,video,iframe{max-width:100%}
fieldset{min-inline-size:0}
input,select,textarea{max-width:100%;min-width:0;font:inherit;font-size:16px}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,.button,.menu-toggle{touch-action:manipulation}
:focus-visible{outline:3px solid #bc4b20;outline-offset:4px}
.expert-review pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}
.delivery,.newsletter-handoff,.policy-copy,.footer-email{overflow-wrap:anywhere}
.hero-carousel .hero-slide.is-active{animation:none}
.hero-carousel.is-changing .hero-slide.is-active{animation:hero-reveal .7s cubic-bezier(.22,1,.36,1) both}
@media(max-width:980px){
 .site-header,.site-header.is-compact{display:grid;grid-template-columns:minmax(0,1fr) auto auto;column-gap:8px;row-gap:0;padding-inline:max(var(--gutter),env(safe-area-inset-left));align-items:center}
 .site-header .brand{grid-column:1;grid-row:1;margin:0}
 .site-header .header-tools{grid-column:2;grid-row:1;margin:0}
 .site-header .menu-toggle{grid-column:3;grid-row:1;margin:0;min-width:44px}
 .site-header nav,.site-header.is-compact nav{grid-column:1/-1;grid-row:2;width:100%;max-height:calc(100vh - 90px);max-height:calc(100dvh - 90px);overflow:auto;overscroll-behavior:contain}
 .site-header nav:not(.open){display:none}
 .site-header nav.open{display:flex}
 .expert-layout,.quick{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
 :root{--gutter:20px}
 .page-head h1,.expert-welcome h1{font-size:clamp(32px,9vw,44px);overflow-wrap:break-word}
 .hero-carousel .hero-slide{min-height:760px;padding:34px var(--gutter) 320px}
 .hero-carousel .hero-slide h1,.hero-carousel .hero-slide h2{font-size:clamp(32px,9.3vw,48px);line-height:1.12}
 .hero-carousel .hero-copy{width:100%;min-width:0}
 .hero-carousel .hero-slide:not(.hero-intro) .hero-art{height:300px}
 .form-row{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
 .expert-options{grid-template-columns:minmax(0,1fr)}
 .request-form-layout,.request-form{padding:22px;min-width:0}
 .button{max-width:100%;white-space:normal;min-height:48px}
 .actions{flex-wrap:wrap}
 .expert-profile>div{padding:10px}.expert-profile h2{font-size:20px}
 .expert-gallery-note{align-items:flex-start}
 .contact-lines a{overflow-wrap:anywhere;font-size:clamp(18px,5.5vw,26px)}
 .footer-identity{flex-wrap:wrap}.footer-identity .profile-link{text-align:start}
 .content-consent{max-height:60vh;max-height:60dvh;overflow:auto;padding-bottom:max(16px,env(safe-area-inset-bottom))}
}
@media(hover:none),(pointer:coarse){
 .service-panel .service-reveal{max-height:none;opacity:1;overflow:visible;margin-top:22px}
 .expert-photo-strips figure .expert-strip-detail{max-height:none;opacity:1;margin-top:12px}
 .expert-photo-strips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .expert-photo-strips figure{min-height:360px}
 .expert-photo-strips figcaption h3{white-space:normal;overflow:visible}
}
@media(max-width:420px){.expert-photo-strips{grid-template-columns:minmax(0,1fr)}.site-header .brand{width:108px}.menu-toggle{padding:9px 12px}.site-header .language{padding:4px;font-size:12px}}
@media(min-width:1800px){:root{--gutter:max(64px,calc((100vw - 1600px)/2))}}
@media(prefers-reduced-motion:reduce){.hero-carousel.is-changing .hero-slide.is-active{animation:none}}
.site-footer .directory-group:first-child .profile-download,.sitemap-directory .profile-download{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding:16px 0;border-top:1px solid #faf8f238;font-size:14px;letter-spacing:0;line-height:1.5;color:#eea565;max-width:360px}
.profile-download span{font-size:11px;white-space:nowrap;letter-spacing:.05em}
.sitemap-directory .profile-download{color:var(--ink);border-color:var(--line)}
/* Keep the brand and both primary actions available in the pinned header. */
.site-header.is-compact .brand{width:160px;flex-shrink:0}
.site-header.is-compact .brand img{width:100%;height:54px;object-fit:cover;object-position:center}
.site-header.is-compact .header-tools .button{display:inline-flex}
.site-header .header-tools .button:hover,.site-header .header-tools .button:focus-visible{background:#eea565;color:#173c43;border-color:#eea565;box-shadow:none}
@media(min-width:981px) and (max-width:1350px){
 .site-header.is-compact{flex-wrap:wrap;gap:4px 20px}
 .site-header.is-compact nav{order:3;flex-basis:100%;justify-content:center}
}
@media(max-width:980px){
 .site-header.is-compact{grid-template-columns:minmax(0,1fr) auto;row-gap:6px;padding-block:6px}
 .site-header.is-compact .brand{grid-column:1;grid-row:1;width:142px}
 .site-header.is-compact .brand img{height:46px}
 .site-header.is-compact .menu-toggle{grid-column:2;grid-row:1}
 .site-header.is-compact .header-tools{grid-column:1/-1;grid-row:2;display:flex;justify-content:stretch;gap:8px;width:100%}
 .site-header.is-compact .header-tools .button{flex:1;min-height:44px;padding:9px 12px;font-size:12px;gap:10px;text-align:center}
 .site-header.is-compact .header-tools .button span{font-size:15px}
 .site-header.is-compact .header-tools .language{font-size:11px;padding:4px}
 .site-header.is-compact nav{grid-row:3;max-height:calc(100dvh - 140px)}
 html{scroll-padding-top:140px}
}
@media(min-width:981px) and (max-width:1350px){html{scroll-padding-top:140px}}
.site-header .brand{position:relative;overflow:hidden;height:54px}
.site-header .brand img,.site-header.is-compact .brand img{position:absolute;inset:50% 0 auto;width:100%;height:auto;max-width:none;object-fit:initial;transform:translateY(-50%)}
@media(max-width:980px){.site-header .brand,.site-header.is-compact .brand{height:46px}}
/* Scrolled header prioritises the two primary actions only. */
.site-header.is-compact nav,.site-header.is-compact nav.open,.site-header.is-compact .menu-toggle,.site-header.is-compact .language{display:none}
.site-header.is-compact .header-tools{margin-inline-start:auto}
@media(max-width:980px){.site-header.is-compact .header-tools{grid-column:1/-1;grid-row:2;margin:0}.site-header.is-compact .brand{grid-column:1/-1}}
@media(min-width:981px) and (max-width:1350px){.site-header.is-compact{flex-wrap:nowrap}}
/* The wordmark keeps identical dimensions in both header states. */
.site-header .brand,.site-header.is-compact .brand{width:160px;height:54px;flex-shrink:0}
@media(max-width:980px){.site-header .brand,.site-header.is-compact .brand{width:142px;height:46px}}
