/* Two-row header and shared internal heading. */
.container { width:min(var(--container),calc(100% - var(--gutter) * 2)); margin-inline:auto; }
.site-header .header-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,27rem); gap:1.2rem 3rem; padding-block:1.25rem 0; align-items:center; }
.site-header .site-branding { grid-column:1; grid-row:1; }
.site-header .header-search { grid-column:2; grid-row:1; min-width:0; }
.search-form { display:flex; flex-wrap:nowrap; align-items:stretch; gap:0; width:100%; max-width:36rem; margin:0; }
.search-form input[type=search] { width:100%; min-width:0; flex:1; min-height:48px; border:1px solid #9eafc4; border-right:0; border-radius:.2rem 0 0 .2rem; padding:.65rem .85rem; font:inherit; background:#fff; color:#171717; }
.search-form input::placeholder { color:#565656; opacity:1; }
.search-form button { width:52px; min-width:52px; min-height:48px; padding:.5rem; border-radius:0 .2rem .2rem 0; }
.site-header .site-nav { grid-column:1/-1; grid-row:2; justify-self:stretch; width:100%; border-top:1px solid var(--line); padding:0; display:block; }
.site-header .site-nav .menu { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.25rem 1rem; width:100%; }
.site-header .site-nav .menu > li { display:block; }
.site-header .site-nav .menu a { font-size:1.09375rem; padding-block:1rem; white-space:nowrap; }
.site-header .site-nav .menu-association > a { padding:.65rem 1.1rem; }
.site-header .menu-toggle { display:none; }
.site-header .header-actions:empty { display:none; }
.site-nav .menu-contributions > a { color:var(--ink); font-weight:550; text-decoration:none; }
.site-footer .sub-menu { padding:0; border:0; }
.internal-header { background:#f1f5fa; border-bottom:1px solid #dae3ee; padding-block:1.25rem 1.75rem; }
.internal-header h1 { font-size:clamp(1.8rem,3vw,2.65rem); line-height:1.2; max-width:40ch; margin:0; }
.internal-header .site-breadcrumb { margin:0 0 .6rem; }
.menu a.site-area-current { color: var(--blue); text-decoration: underline; text-decoration-color: var(--gold-ink); text-decoration-thickness: 2px; text-underline-offset: .55rem; }
.internal-main .content-main { padding-block:2rem 3rem; }
.internal-main .client-editorial { margin-left:0; margin-right:auto; }
.catalog-cover { margin-top:0; }
.search-count { font-size:1.1rem; }
.search-result { border-bottom:1px solid var(--line); padding-block:1.5rem; max-width:58rem; }
.search-result .eyebrow { margin-bottom:.6rem; }
.search-result h2 { font-size:1.45rem; margin-bottom:.6rem; }
.search-result p:last-child { margin:0; }
.home-services .section-heading { margin-bottom:2rem; }
.home-benefits { background:#f0f5fb; }
.benefits-split { display:grid; grid-template-columns:.9fr 1.1fr; gap:4rem; align-items:start; }
.benefits-photo img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:.3rem; }
.benefit-row { padding-block:1.2rem; border-top:1px solid var(--line); }
.benefit-row h3 { font-size:1.35rem; }
.benefit-row p { margin:0; }
.accessibility-control { position:fixed; right:max(12px,env(safe-area-inset-right)); bottom:calc(80px + env(safe-area-inset-bottom)); top:auto; z-index:10000; }
#accessibility-toggle { width:48px; height:48px; min-width:48px; min-height:48px; background:#004497; color:#fff; border:1px solid #fff; border-radius:.3rem; box-shadow:0 2px 8px #00316d26; }
.whatsapp-float { position:fixed; z-index:60; right:max(12px,env(safe-area-inset-right)); bottom:calc(12px + env(safe-area-inset-bottom)); display:flex; align-items:center; justify-content:center; width:56px; height:56px; color:#fff; background:#087c45; border:2px solid #fff; border-radius:50%; box-shadow:0 2px 10px #00316d30; }
.whatsapp-float:hover { background:#056337; color:#fff; }
.preferences-open .whatsapp-float { visibility:hidden; }
.high-contrast .internal-header,.high-contrast .home-benefits { background:#000; border-color:#fff; }
.high-contrast .search-form input { background:#000; color:#fff; border-color:#fff; }
.high-contrast .search-form input::placeholder { color:#fff; }
.high-contrast .whatsapp-float { background:#000; color:#fff; border-color:#fff; }
.large-text .benefits-split { grid-template-columns:1fr; }
.large-text .internal-header h1 { font-size:2rem; }
@media(max-width:74.99rem) {
 .container { width:calc(100% - 64px); margin-inline:auto; }
 .site-header .header-inner { grid-template-columns:minmax(0,1fr) auto; gap:1rem; padding-block:1rem; }
 .site-header .site-branding { grid-column:1; grid-row:1; }
 .site-header .header-search { grid-column:1/-1; grid-row:2; }
 .site-header .header-search .search-form { max-width:none; }
 .js .site-header .menu-toggle { display:inline-flex; grid-column:2; grid-row:1; background:#fff; color:#004497; }
 .site-header .site-nav { grid-row:3; padding-top:.5rem; width:100%; margin-right:0; }
 .site-header .site-nav .menu { display:flex; flex-direction:column; align-items:stretch; gap:0; }
 .site-header .site-nav .menu a { display:block; white-space:normal; padding:.7rem 0; }
 .site-header .site-nav .menu-association > a { padding:.7rem 1rem; }
 .js .site-header .site-nav[data-collapsed=true] { display:none; }
 .benefits-split { gap:2rem; }
}
@media(min-width:75rem) { .js .site-header .site-nav { display:block; } }
.large-text .site-header .header-inner { grid-template-columns:minmax(0,1fr) auto; }
.large-text .site-header .header-search { grid-column:1/-1; grid-row:2; }
.large-text .site-header .menu-toggle { display:inline-flex; grid-column:2; grid-row:1; }
.large-text .site-header .site-nav { grid-row:3; }
.large-text .site-header .site-nav .menu { flex-direction:column; align-items:stretch; }
.large-text .site-header .site-nav .menu a { white-space:normal; }
.large-text.js .site-header .site-nav[data-collapsed=true] { display:none; }
@media(max-width:47.99rem) {
 .container { width:calc(100% - 40px); margin-inline:auto; }
 .site-header .header-inner { width:calc(100% - 40px); margin-inline:20px; }
 .site-header .custom-logo { max-width:100%; width:15rem; }
 .site-header .menu-toggle { padding:.6rem .75rem; }
 .site-header .site-nav,.site-header .header-search { margin-right:0; width:100%; }
 .benefits-split { grid-template-columns:1fr; gap:1.5rem; }
 .benefits-photo img { aspect-ratio:1.5; }
 .large-text .container { width:calc(100% - 40px); }
 .large-text .site-header .header-inner { width:calc(100% - 40px); }
 .internal-header { padding-block:1rem 1.25rem; }
}
