/* Compact footer: a protected brand column, two primary navigation groups, then a quiet legal band.
   The whole footer follows the page frame. Links stay grouped at every width rather than spreading across it. */
.site-footer{--fg:clamp(32px,3vw,56px);--f-row:26px;padding:22px var(--page-gutter) 12px;border-top:1px solid #d8c7bc;background:#eee4d8;color:#4b111b}
.footer-main,.footer-legal,.footer-bottom,.footer-status{max-width:var(--page-max);margin-inline:auto}
.footer-main{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(0,2.1fr);column-gap:var(--fg);align-items:start}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}
.footer-brand .brand-lockup{display:block;width:128px;max-width:100%;height:auto}
.footer-tagline{margin:0;color:#62434a;white-space:nowrap}
.footer-tagline span{color:#87505a}
.footer-links{display:grid;grid-template-columns:1.15fr 1fr;column-gap:var(--fg);min-width:0}
.footer-links>.footer-column{display:grid;grid-template-columns:1.2fr 1fr;column-gap:20px;align-content:start;justify-items:start;min-width:0}
.footer-column h2{grid-column:1/-1;margin:0 0 8px;color:#55222c}
.site-footer a:not(.brand),.site-footer button,.plain-link{background:none;border:0;padding:0;color:inherit;text-decoration:none;cursor:pointer;font-family:inherit}
.site-footer a:not(.brand):hover,.site-footer button:hover,.plain-link:hover{text-decoration:underline;text-underline-offset:5px}
.site-footer .footer-column a,.site-footer .footer-column button{display:inline-flex;align-items:center;min-height:var(--f-row);text-align:left}
.site-footer .footer-column h2 a{min-height:0}
.site-footer .footer-column [hidden]{display:none}
.footer-legal{display:flex;align-items:baseline;gap:28px;margin-top:18px;padding-top:10px;border-top:1px solid #4b111b1f;color:#73595e}
.footer-legal h2{flex-shrink:0;margin:0;color:#73595e}
.footer-legal-links{display:flex;flex-wrap:wrap;column-gap:24px;row-gap:0;min-width:0}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;column-gap:var(--fg);row-gap:4px;margin-top:6px;color:#73595e}
.footer-bottom p{display:flex;align-items:center;min-height:26px;margin:0}
.footer-bottom nav{display:flex;flex-wrap:wrap;align-items:center;column-gap:24px}
.footer-bottom nav>a,.footer-bottom nav>button{display:inline-flex;align-items:center;min-height:var(--f-row)}
.footer-bottom .cookie-settings,.footer-bottom .motion-toggle{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;text-decoration:none;text-align:left}
.footer-bottom nav>[hidden]{display:none}
.footer-bottom .cookie-settings:hover,.footer-bottom .motion-toggle:hover{color:#4b111b;text-decoration:underline;text-underline-offset:4px}
.site-footer .footer-top{gap:6px}
.footer-top-icon{flex-shrink:0;transition:transform .2s cubic-bezier(.22,1,.36,1)}
.footer-top:hover .footer-top-icon{transform:translateY(-2px)}
.footer-status{color:#6d2938}
.footer-status:not(:empty){margin-top:8px}
@media(max-width:1199px){
  .footer-main{grid-template-columns:minmax(200px,.8fr) minmax(0,2.2fr)}
  .footer-links>.footer-column{grid-template-columns:minmax(0,1fr)}
  .footer-legal{gap:20px}
  .footer-legal-links{column-gap:20px}
}
@media(max-width:759px){
  .site-footer{--fg:28px}
  .footer-main{grid-template-columns:minmax(0,1fr);row-gap:22px}
  .footer-brand{flex-direction:row;align-items:center;gap:28px}
  .footer-links{grid-template-columns:1.15fr 1fr}
  .footer-links>.footer-column{grid-template-columns:minmax(0,1fr)}
  .footer-legal{display:block;margin-top:18px;padding-top:14px}
  .footer-legal h2{margin-bottom:6px}
  .footer-legal-links{display:grid;grid-template-columns:1.15fr 1fr;column-gap:var(--fg)}
}
@media(max-width:600px){
  .site-footer{--fg:24px;--f-row:36px;padding-top:22px}
  .footer-column h2{margin-bottom:6px}
  .footer-brand .brand-lockup{width:112px}
  .site-footer .footer-column a,.site-footer .footer-column button{align-items:flex-start;padding-block:7px}
  .site-footer .footer-column h2 a{padding-block:7px;margin-block:-7px}
  .footer-bottom{display:grid;grid-template-columns:minmax(0,1fr);margin-top:12px;padding-top:8px;border-top:1px solid #4b111b1f}
  .footer-bottom nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--fg);justify-items:start}
}
@media(max-width:389px){.footer-brand{flex-direction:column;align-items:flex-start;gap:10px}}
@media(prefers-reduced-motion:reduce){.footer-top-icon{transition:none}.footer-top:hover .footer-top-icon{transform:none}}
.site-footer :focus-visible,.preferences-dialog :focus-visible,.policy-page :focus-visible{outline:2px solid #842739;outline-offset:5px}
/* Privacy choices dialog */
dialog.preferences-dialog{width:min(610px,calc(100% - 32px));padding:40px;max-height:90dvh;background:#fbf6ee}.preferences-close{position:absolute;right:13px;top:10px;border:0;background:none;color:#4b111b;font-size:29px;width:42px;height:42px}.preferences-intro{color:#70575d;margin:14px 0 24px}.preferences-essential{padding:18px;background:#eee4d8;border-radius:6px}.preferences-essential p,.preferences-retention,.preference-system{color:#70575d;margin:8px 0 0}.preferences-dialog a,.policy-body a{text-decoration:underline;text-underline-offset:3px}.preferences-dialog form{gap:0;margin-top:12px}.preference-row{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:22px;padding:22px 0;border-bottom:1px solid #dacbc1;cursor:pointer}.preference-row>span{display:flex;flex-direction:column;gap:7px}.preference-row span span{color:#70575d}.preference-row input{appearance:none;width:42px;height:24px;padding:0;border:1px solid #a07f7b;border-radius:99px;background:#e4d6ca;position:relative;flex-shrink:0;margin-top:2px;cursor:pointer}.preference-row input:before{content:'';position:absolute;width:16px;height:16px;top:3px;left:3px;border-radius:50%;background:#fffaf4;transition:transform .2s}.preference-row input:checked{background:#651828;border-color:#651828}.preference-row input:checked:before{transform:translateX(18px)}.preferences-retention{margin-block:18px}.preferences-clear{border-top:1px solid #dacbc1;margin-top:24px;padding-top:20px}.plain-link{text-decoration:underline;text-underline-offset:4px}.preferences-confirm{padding:16px;background:#eee4d8;margin-top:14px;border-radius:6px}.preferences-confirm>div{display:flex;flex-wrap:wrap;gap:16px;margin-top:15px;align-items:center}.preferences-status{color:#6d2938;margin-top:10px}.preference-system{color:#6d2938}.site-reduced-motion{scroll-behavior:auto!important}.site-reduced-motion *, .site-reduced-motion *:before,.site-reduced-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.site-reduced-motion .cap-open:hover{transform:none}.site-reduced-motion .logo-carousel-track{animation-play-state:paused!important}
@media(max-width:600px){dialog.preferences-dialog{padding:33px 22px;width:calc(100% - 20px);max-height:94dvh}.preference-row{gap:15px}.preferences-essential{padding:15px}.preferences-close{position:sticky;float:right;top:-23px;right:auto;margin:-23px -13px -20px 0;background:#fbf6ee;border-radius:50%;z-index:1}.preferences-dialog .eyebrow{clear:both}}

/* Keep preference titles together while controls remain beside their descriptions. */
.preferences-essential>strong{display:block;text-wrap:balance}
@media(max-width:600px){.preference-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:7px 15px}.preference-row>span{display:contents}.preference-row strong{grid-column:1/-1}.preference-row span span{grid-column:1;grid-row:2}.preference-row input{grid-column:2;grid-row:2}}
@media(forced-colors:active){.preference-row input:before{forced-color-adjust:none;background:CanvasText}.preference-row input:checked{forced-color-adjust:none;background:Highlight;border-color:Highlight}}
/* Cookie notice: a fixed bar at the bottom until a choice is made; reopened by "Cookie settings" in the footer. */
.cookie-notice{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:60;width:min(calc(100% - 32px),1180px);display:flex;align-items:center;gap:20px;padding:14px 18px 14px 22px;background:#fffaf3;color:#32181c;border:1px solid #dccfc4;border-radius:12px;box-shadow:0 18px 40px -18px rgba(75,17,27,.35)}
.cookie-notice[hidden]{display:none}
.cookie-notice p{margin:0;flex:1 1 auto;font-size:14px;line-height:1.5}
.cookie-notice strong{color:#4b111b;font-weight:650}
.cookie-notice a{color:#812635;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.cookie-actions{display:flex;gap:10px;flex-shrink:0}
.cookie-notice .button-ghost{background:transparent;color:#4b111b;border:1px solid #c9ad9f;box-shadow:none}
.cookie-notice .button-ghost:hover{background:#f1e5da}
@media(max-width:700px){.cookie-notice{flex-direction:column;align-items:stretch;bottom:10px;padding:14px 16px;gap:10px;max-height:24vh;overflow:auto}.cookie-notice p{font-size:13.5px;line-height:1.45}.cookie-actions{gap:8px}.cookie-actions .button{flex:1 1 0;justify-content:center;white-space:nowrap}}
@media(prefers-reduced-motion:no-preference){.cookie-notice.is-open{animation:cookie-in .35s cubic-bezier(.2,.7,.2,1)}@keyframes cookie-in{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}}
@media print{.cookie-notice{display:none!important}}
/* Keep room under an open cookie notice so the footer and focused controls are never hidden behind it. */
body:has(#cookie-notice.is-open){padding-bottom:calc(var(--cookie-h,120px) + 28px)}
html:has(#cookie-notice.is-open){scroll-padding-bottom:calc(var(--cookie-h,120px) + 28px)}
/* Privacy choices: Save stays in view on phones. */
.preferences-save{margin-top:8px}
@media(max-width:600px){.preferences-save{position:sticky;bottom:-33px;margin:8px -22px -33px;padding:12px 22px 18px;background:#fbf6ee;border-top:1px solid #e3d3c6}.preferences-save .button{width:100%;justify-content:center}}
@media print{.cookie-notice{display:none!important}body{padding-bottom:0!important}}
