/* Shared finishing layer: no changes to photos, organic curves or editorial layouts. */
@import url('/ds/tokens.css');
header, #menu, body > footer { font-family: var(--font-body); }
header .nb, header .btn, header .burger, #menu a, #menu summary,
.sub a, button.btn, a.btn, [role="tab"], .bfil button, summary { min-height:44px; }
header .nb, header .burger, .cue { min-width:44px; }
.sub a { display:flex; align-items:center; }
button, input, select, textarea { font-family:var(--font-body); }
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea {
  max-width:100%; box-sizing:border-box;
}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline:3px solid #284D5C; outline-offset:4px;
  box-shadow:0 0 0 6px #F4EDE2;
}
body > footer .soc { display:flex; flex-wrap:wrap; gap:8px 20px; justify-content:center; padding:18px 24px; }
body > footer .soc a { display:inline-flex; min-height:44px; align-items:center; }
@media (max-width:820px) {
  #menu { overflow-y:auto; overscroll-behavior:contain; max-height:100dvh; }
  #menu a, #menu summary { box-sizing:border-box; padding-top:12px; padding-bottom:12px; }
}
@media (max-width:640px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea { font-size:16px; }
  .btn { white-space:normal; text-align:center; }
  body > footer .wrap > * { min-width:0; overflow-wrap:anywhere; }
}
/* Never disable an entrance animation while leaving its starting opacity in place. */
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  *, *::before, *::after { animation-duration:.01ms!important; animation-delay:0ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; transition-delay:0ms!important; }
  html.fx .rv:not(.in), .rv, [data-fx], .w, .ed-a, .ed-b, .hero .lead, .hero .cta, .ph .lead { opacity:1!important; transform:none!important; }
}

/* Revision 2: shared navigation on editorial archives as well as standard pages. */
body.inner > header, body > header.solid {background:rgba(30,59,71,.96)!important; color:#fff!important;}
body > header .wrap {height:68px;max-width:none;padding:0 clamp(20px,3vw,44px);gap:16px;}
body > header.solid .wrap {height:58px;}
body > header .logo {font-family:Montserrat,system-ui,sans-serif;font-size:22px;font-weight:400;letter-spacing:.1em;color:#fff;white-space:nowrap;}
body > header .nb {font-family:Montserrat,system-ui,sans-serif;font-size:14.5px!important;font-weight:500;padding:10px 16px;color:#fff;}
body > header .sub {background:rgba(255,255,255,.88)!important;backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);min-width:240px;border-radius:16px;padding:6px;box-shadow:0 20px 50px rgba(30,59,71,.22);}
body > header .sub a {font-size:13.5px!important;padding:7px 14px;color:#284D5C;}
body > header .sub a:hover {background:#F4EDE2;color:#284D5C;}
body > header .actions .btn {font-size:13px!important;padding:8px 18px;background:#B3433E;border-color:#B3433E;color:#fff;}
body > #menu {background:#1E3B47!important;color:#fff;}
body > #menu summary {font-size:18px;font-weight:400;}
body > #menu details a {font-size:15px;color:#fff;}
@media(min-width:1331px){body > header .wrap{display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center;}body > header .logo{justify-self:start;}body > header nav{justify-self:center;}body > header .actions{justify-self:end;}}
