/* Official brand lock-up */
.brand{display:flex;width:184px;height:78px;padding:6px 11px;align-items:center;justify-content:flex-start;background:var(--navy);border-bottom:4px solid var(--copper);font-size:0;line-height:0}
.brand:after{display:none}
.brand img{width:162px;height:64px;object-fit:contain;object-position:center}
.site-header,.nav,.brand,.brand img{transition:height .25s ease,min-height .25s ease,box-shadow .25s ease,transform .25s ease}
.site-header.is-scrolled{box-shadow:0 8px 28px rgba(11,35,64,.12)}
.site-header.is-scrolled .nav{min-height:68px}
.site-header.is-scrolled .brand{height:68px}
.site-header.is-scrolled .brand img{height:61px}

/* Contrast-safe controls */
.btn,.filter,.nav-cta{transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.btn:hover,.nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(11,35,64,.18)}
.btn:active,.nav-cta:active{transform:translateY(0)}
.btn:focus-visible,.filter:focus-visible,.nav-toggle:focus-visible,.nav-menu a:focus-visible{outline:3px solid #f0a578;outline-offset:3px}
.btn-secondary:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.hero .btn-secondary,.sub-hero .btn-secondary{color:#fff;border-color:rgba(255,255,255,.62);background:rgba(255,255,255,.04)}
.hero .btn-secondary:hover,.sub-hero .btn-secondary:hover{background:#fff;border-color:#fff;color:var(--navy)}
.cta-panel .btn-primary{color:#fff;white-space:nowrap}
.filter.active{border-color:var(--navy)}

/* Lighter reading density on service details */
.feature-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px}
.feature-list article{min-height:74px;display:flex;align-items:center}
.feature-list article p{display:none}
.feature-list h3{margin:0;font-size:1.08rem}
.answers-grid p{max-width:600px}
.related-links{grid-template-columns:repeat(2,minmax(0,1fr))}
.related-links strong{grid-column:1/-1}

/* Editorial service photography */
.service-photo-section{padding:34px 0 0;background:var(--paper)}
.service-photo{position:relative;margin:0;overflow:hidden;background:var(--navy);box-shadow:var(--shadow)}
.service-photo img{width:100%;height:clamp(300px,38vw,500px);object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.service-photo:after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,rgba(5,20,36,.84));pointer-events:none}
.service-photo figcaption{position:absolute;z-index:1;left:28px;bottom:23px;max-width:620px;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.08rem,2vw,1.45rem);line-height:1.3}
.service-photo:hover img{transform:scale(1.025)}

/* Subtle motion, activated only when JavaScript is available */
html.motion-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}
html.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
.service-card,.proof-strip article,.process-grid article,.feature-list article,.metric-panel>div{transition:transform .22s ease,background-color .22s ease,box-shadow .22s ease,border-color .22s ease}
.proof-strip article:hover,.process-grid article:hover,.feature-list article:hover,.metric-panel>div:hover{position:relative;z-index:1;background:#fff;transform:translateY(-4px);box-shadow:var(--shadow)}
.media-frame{transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease}
.media-frame:hover{transform:scale(1.012);box-shadow:16px 16px 0 #d9d1c6}
.text-link{display:inline-block;transition:color .2s ease,transform .2s ease}
.text-link:hover{color:var(--copper-dark);transform:translateX(3px)}

@media(max-width:1050px){.brand{width:154px;height:68px;padding:5px 9px}.brand img{width:136px;height:56px}.site-header.is-scrolled .brand{height:62px}.site-header.is-scrolled .brand img{height:51px}}
@media(max-width:680px){.brand{width:118px;height:68px;padding:5px 7px}.brand img{width:104px;height:54px}.feature-list,.related-links{grid-template-columns:1fr}.related-links strong{grid-column:auto}.service-photo-section{padding-top:18px}.service-photo img{height:290px}.service-photo figcaption{position:relative;left:auto;bottom:auto;padding:16px 18px;font-size:1rem}.service-photo:after{display:none}.site-header.is-scrolled .brand{height:58px}.site-header.is-scrolled .brand img{height:48px}}
@media(prefers-reduced-motion:reduce){html.motion-ready .reveal{opacity:1!important;transform:none!important}.site-header,.nav,.brand,.brand img,.btn,.filter,.nav-cta,.service-card,.proof-strip article,.process-grid article,.feature-list article,.metric-panel>div,.media-frame,.text-link{transition:none!important}}
