/* Shared by generated editorial pages and the React app. Page styles must not
   redefine this header. Link labels and targets: _shared/product-navigation.json. */
@font-face { font-family:"Hanken Grotesk Variable"; font-style:normal; font-weight:100 900; font-display:swap; src:url("/assets/fonts/hanken-grotesk-latin-variable.woff2") format("woff2"); }
html body .fa-site-header[data-fa-shell] { position:relative; inset:auto; z-index:50; box-sizing:border-box; width:100%; height:auto; min-height:72px; padding:0; border:0; border-bottom:1px solid #dfe3d9; background:#f8f8f2; color:#203b31; font-family:"Hanken Grotesk Variable",system-ui,sans-serif; backdrop-filter:none; -webkit-backdrop-filter:none; }
html body .fa-site-header[data-fa-shell] * { box-sizing:border-box; }
html body .fa-site-header[data-fa-shell] .fa-header-inner { width:100%; max-width:1600px; min-height:72px; height:auto; margin:0 auto; padding:0 clamp(20px,4vw,64px); display:flex; align-items:center; gap:32px; }
html body .fa-site-header[data-fa-shell] .fa-brand { display:inline-flex; align-items:center; gap:8px; min-width:0; flex:none; color:inherit; text-decoration:none; }
html body .fa-site-header[data-fa-shell] .fa-brand-mark { display:block; width:52px; height:34px; margin:0; object-fit:contain; border:0; border-radius:0; }
html body .fa-site-header[data-fa-shell] .fa-brand-name { color:#203b31; font-family:inherit; font-size:27px; font-weight:750; letter-spacing:-.055em; line-height:1; white-space:nowrap; }
html body .fa-site-header[data-fa-shell] .fa-primary-nav { position:static; inset:auto; display:flex; align-items:center; justify-content:center; flex:1; gap:6px; width:auto; height:auto; margin:0; padding:0; background:none; border:0; box-shadow:none; font-family:inherit; }
html body .fa-site-header[data-fa-shell] .fa-nav-link { display:inline-flex; align-items:center; gap:6px; padding:10px 12px; min-height:40px; color:#40554a; font:500 14px/1.3 "Hanken Grotesk Variable",system-ui,sans-serif; text-decoration:none; white-space:nowrap; border:0; border-radius:6px; background:none; }
html body .fa-site-header[data-fa-shell] .fa-nav-link:hover { color:#203b31; background:#edf0e7; }
html body .fa-site-header[data-fa-shell] .fa-nav-link[aria-current="page"] { color:#234b36; background:#e8eddf; }
html body .fa-site-header[data-fa-shell] .fa-nav-link small { min-width:18px; padding:1px 4px; text-align:center; border-radius:4px; font-size:11px; background:#dce5d0; }
html body .fa-site-header[data-fa-shell] .fa-header-tools { display:flex; align-items:center; gap:20px; flex:none; }
html body .fa-site-header[data-fa-shell] .fa-language { display:flex; flex:none; position:static; gap:2px; min-width:0; margin:0; padding:0; }
html body .fa-site-header[data-fa-shell] .fa-language > span { display:none; }
html body .fa-site-header[data-fa-shell] .fa-language a,
html body .fa-site-header[data-fa-shell] .fa-language button { display:inline-flex; align-items:center; justify-content:center; min-width:30px; min-height:40px; padding:6px; margin:0; border:0; border-radius:4px; color:#607064; background:none; font:500 12px/1.2 "Hanken Grotesk Variable",system-ui,sans-serif; text-decoration:none; cursor:pointer; }
html body .fa-site-header[data-fa-shell] .fa-language [aria-current="page"],
html body .fa-site-header[data-fa-shell] .fa-language [aria-pressed="true"] { color:#203b31; font-weight:750; text-decoration:underline; text-underline-offset:5px; }
html body .fa-site-header[data-fa-shell] .header-login-button { display:inline-flex; flex:none; width:auto; align-items:center; justify-content:center; gap:7px; min-height:40px; padding:9px 17px; border:1px solid #315d46; border-radius:6px; background:#315d46; color:#fff; font:600 14px/1.3 "Hanken Grotesk Variable",system-ui,sans-serif; white-space:nowrap; text-decoration:none; cursor:pointer; }
html body .fa-site-header[data-fa-shell] .header-login-button:hover { background:#244735; }
html body .fa-site-header[data-fa-shell] .fa-menu-button { display:none; }
html body .fa-site-header[data-fa-shell] .fa-skip-link { position:absolute; top:-120px; left:20px; padding:12px; z-index:100; background:white; color:#203b31; }
html body .fa-site-header[data-fa-shell] .fa-skip-link:focus { top:8px; }
html body .fa-site-header[data-fa-shell] :focus-visible { outline:2px solid #315d46; outline-offset:3px; }
html body .fa-site-header[data-fa-shell] .header-account-menu { position:relative; }
html body .fa-site-header[data-fa-shell] .header-account-menu summary { display:flex; align-items:center; gap:8px; padding:4px 8px 4px 4px; min-height:40px; max-width:190px; background:transparent; border:1px solid #dfe3d9; border-radius:7px; color:#203b31; list-style:none; cursor:pointer; }
html body .fa-site-header[data-fa-shell] .header-account-menu summary::-webkit-details-marker { display:none; }
html body .fa-site-header[data-fa-shell] .header-account-menu summary strong { display:block; max-width:110px; overflow:hidden; text-overflow:ellipsis; font-size:13px; color:inherit; }
html body .fa-site-header[data-fa-shell] .header-avatar { display:grid; place-items:center; width:30px; height:30px; flex:none; border-radius:50%; background:#e5ebdd; color:#315d46; font-size:13px; font-weight:700; }
html body .fa-site-header[data-fa-shell] .header-account-popover { position:absolute; top:calc(100% + 10px); right:0; left:auto; min-width:240px; padding:8px; border:1px solid #dfe3d9; border-radius:10px; box-shadow:0 12px 32px #203b311a; background:#fff; color:#203b31; }
html body .fa-site-header[data-fa-shell] .header-account-popover button { border-radius:5px; }
@media(max-width:1000px) {
  html body .fa-site-header[data-fa-shell] .fa-header-inner { gap:16px; }
  html body .fa-site-header[data-fa-shell] .fa-nav-link { padding-inline:8px; }
  html body .fa-site-header[data-fa-shell] .fa-header-tools { gap:10px; }
}
@media(max-width:900px) {
  html body .fa-site-header[data-fa-shell] .fa-header-inner { flex-wrap:wrap; padding:12px 20px; min-height:68px; gap:12px; }
  html body .fa-site-header[data-fa-shell] .fa-brand { margin-right:auto; }
  html body .fa-site-header[data-fa-shell] .fa-brand-name { font-size:24px; }
  html body .fa-site-header[data-fa-shell] .fa-brand-mark { width:42px; height:28px; }
  html body .fa-site-header[data-fa-shell] .fa-menu-button { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:8px 10px; border:1px solid #dfe3d9; border-radius:6px; color:#203b31; background:transparent; font:500 13px/1.3 "Hanken Grotesk Variable",system-ui,sans-serif; cursor:pointer; }
  html body .fa-site-header[data-fa-shell] .fa-primary-nav { display:none; order:4; flex:1 0 100%; flex-direction:column; align-items:stretch; padding:8px 0 0; }
  html body .fa-site-header[data-fa-shell] .fa-primary-nav.is-open { display:flex; }
  html:not([data-fa-js]) body .fa-site-header[data-fa-shell]:not([data-fa-shell-version="2026-09-13-app"]) .fa-primary-nav { display:flex; }
  html body .fa-site-header[data-fa-shell] .fa-nav-link { min-height:44px; padding:12px; }
}
@media(max-width:480px) {
  html body .fa-site-header[data-fa-shell] .fa-header-inner { padding:10px 14px; gap:8px; }
  html body .fa-site-header[data-fa-shell] .fa-brand-name { font-size:22px; }
  html body .fa-site-header[data-fa-shell] .fa-brand-mark { display:none; }
  html body .fa-site-header[data-fa-shell] .fa-header-tools { gap:6px; }
  html body .fa-site-header[data-fa-shell] .fa-language { gap:0; }
  html body .fa-site-header[data-fa-shell] .fa-language a, html body .fa-site-header[data-fa-shell] .fa-language button { min-width:24px; padding:3px; }
  html body .fa-site-header[data-fa-shell] .header-login-button { padding:9px 10px; font-size:13px; }
  html body .fa-site-header[data-fa-shell] .header-login-button svg { display:none; }
  html body .fa-site-header[data-fa-shell] .header-account-menu summary > span:not(.header-avatar) { display:none; }
  html body .fa-site-header[data-fa-shell] .fa-menu-button { padding:8px; }
}
@media(max-width:380px) {
  html body .fa-site-header[data-fa-shell] .fa-brand-mark { display:none; }
  html body .fa-site-header[data-fa-shell] .fa-brand-name { font-size:21px; }
}

@media(max-width:380px) { html body .fa-site-header[data-fa-shell] .fa-header-inner { padding-inline:10px; gap:6px; } html body .fa-site-header[data-fa-shell] .fa-brand-name { font-size:20px; } }
