/* Final responsive layers and accessible controls. */
main.ap-page .ap-hero__media{z-index:0;display:block;margin:0}
main.ap-page .ap-hero::after{z-index:1;pointer-events:none;background:linear-gradient(90deg,#f5f5f0 0%,rgba(245,245,240,.97) 30%,rgba(245,245,240,.72) 48%,rgba(245,245,240,0) 68%)}
main.ap-page .ap-hero__content{z-index:2}
main.ap-page .ap-hero__media img{object-position:center}
.ap-promo{display:flex;align-items:stretch;overflow:hidden;border:1px solid #d7ddd5;border-radius:20px;background:#f5f5f0;margin:40px 0;color:#153b2f}
.ap-promo__copy{flex:1;padding:32px;position:relative;z-index:1;min-width:0}
.ap-promo__copy h2{font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.2;margin:8px 0 16px}
.ap-promo__copy>p:not(.ap-promo__label){max-width:52ch;margin:0 0 24px;line-height:1.65}
.ap-promo__label{font-size:.8rem;font-weight:700;letter-spacing:.04em;margin:0;color:#335c48}
.ap-promo>img{display:block;width:38%;height:auto;object-fit:cover;object-position:70% center}
.ap-promo a.ap-btn{width:auto;min-height:48px}
.ap-faq__question{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;text-align:left;padding:20px 24px;cursor:pointer;line-height:1.5}
.ap-faq__question::after{content:'+';flex:none;font-size:1.6rem;font-weight:400}
.ap-faq__question[aria-expanded=true]::after{content:'−'}
.ap-faq__question:hover{background:#edf2e9}
.ap-faq__question:focus-visible,.ap-language-menu summary:focus-visible{outline:3px solid #996f00;outline-offset:3px}
.ap-faq__answer[hidden]{display:none!important}
.ap-faq__answer{padding:0 24px 24px}
.ap-editorial-score{border:1px solid #d7ddd5;border-radius:20px;padding:32px;background:#edf2e9;margin-top:40px}
.ap-score{font-size:2.5rem;font-weight:800;margin:0;color:#153b2f}
.ap-check-summary{margin:40px 0 16px;line-height:1.7}
.ap-copyright{flex-basis:100%;font-size:.85rem}
.ap-language-menu ul{max-height:60vh;overflow:auto}
@media(max-width:1100px){main.ap-page .ap-hero__copy{max-width:65%}}
@media(max-width:740px){
 main.ap-page .ap-hero{display:block;min-height:0;padding:0;background:#f5f5f0}
 main.ap-page .ap-hero__content{padding-top:32px;padding-bottom:24px}
 main.ap-page .ap-hero__copy{max-width:100%;padding:0}
 main.ap-page .ap-hero__media{position:relative;inset:auto;display:block;width:100%;height:230px;z-index:0;margin:0}
 main.ap-page .ap-hero__media img{width:100%;height:100%;object-fit:cover;object-position:75% center}
 main.ap-page .ap-hero::after{display:none}
 .ap-promo{display:block;margin:32px 0}
 .ap-promo__copy{padding:24px}
 .ap-promo>img{width:100%;height:190px;object-position:75% center}
 .ap-faq__question{padding:18px 20px;gap:16px}
 .ap-faq__answer{padding:0 20px 20px}
 .ap-editorial-score{padding:24px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.ap-language-menu>summary::after{display:none!important}
@media(max-width:740px){main.ap-page .ap-hero__media img{transform:none;left:auto;top:auto}}
@media(min-width:741px) and (max-width:1100px){main.ap-page .ap-hero__copy{max-width:55%;background:rgba(245,245,240,.97);padding:20px;border-radius:16px}}

/* Keep navigation available while scrolling on every page. */
:root{--ap-sticky-header-height:90px}
html{scroll-padding-top:calc(var(--ap-sticky-header-height) + 16px)}
:where(h1,h2,h3,h4,section,main)[id]{scroll-margin-top:0}
.ap-site-header{position:sticky;top:0;z-index:1000;background:#fff}
@media(max-width:1100px){.ap-site-header[data-nav-open] .ap-primary-nav{max-height:calc(100dvh - var(--ap-sticky-header-height) - 24px);overflow-y:auto;overscroll-behavior:contain}}
@media print{.ap-site-header{position:static}}
