/* Self-hosted fonts (Fraunces + Inter, latin and latin-ext, variable woff2). Copied from Google Fonts CSS, files in /assets/fonts/. */
/* fraunces latin-ext */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/fraunces-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* fraunces latin */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/fraunces-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* fraunces latin-ext */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/fraunces-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* fraunces latin */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/fraunces-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* fraunces latin-ext */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/fraunces-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* fraunces latin */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/fraunces-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* fraunces latin-ext */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/fraunces-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* fraunces latin */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/fraunces-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* inter latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* inter latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* inter latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* inter latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* inter latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* inter latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* inter latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* inter latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* assets/css/site.css — shared styles. Header only for now; footer, buttons etc. get added as we build them. */
:root{
  --navy:#18206B; --navy-deep:#10164F; --red:#D3222A;
  /* Background colours (kept separate from --navy, which is the header/nav text navy) */
  --brand-navy:#0f2350;       /* main navy backgrounds */
  --brand-navy-deep:#0a1730;  /* footer and dark gradient ends */
  --brand-navy-tint:#e9eef7;  /* light CTA banner */
  --cream:#F6F2E9; --ink:#1C1F2E; --muted:#4A5068; --line:#E4E1D8;
  --font-display:Fraunces, Georgia, serif;
  --font-body:'Inter','Segoe UI',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:90px}
body{margin:0;font-family:var(--font-body);color:var(--ink);background:#fff;line-height:1.5}
img{max-width:100%;height:auto}
a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:6px}

.skip-link{position:absolute;left:-9999px;top:8px;background:var(--navy);color:#fff;padding:10px 16px;border-radius:8px;z-index:200}
.skip-link:focus{left:8px}

.btn{display:inline-block;text-decoration:none;font-weight:700;font-size:16px;padding:12px 22px;border-radius:999px;text-align:center}
.btn--red{background:var(--red);color:#fff}
.btn--red:hover{background:#b81c23;color:#fff}

/* Header: full width. Logo on the left, menu in the middle, phone and Apply on the right. */
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;box-shadow:0 6px 24px rgba(15,35,80,.06)}
.site-header__inner{margin:0;padding:14px clamp(16px,4vw,80px);display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:84px;box-sizing:border-box}
.site-header__logo{display:flex;align-items:center;line-height:0;flex-shrink:0}
.site-header__logo img{height:56px;width:auto;display:block}

.site-nav{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.site-nav__list{list-style:none;margin:0 auto;padding:0;display:flex;align-items:center;gap:4px}
.site-nav__item{position:relative}
.site-nav__list > .site-nav__item > a{display:inline-flex;align-items:center;gap:5px;color:var(--navy);text-decoration:none;font-weight:600;font-size:15.5px;letter-spacing:.005em;padding:10px 14px;border-radius:999px;transition:background-color .15s,color .15s}
.site-nav__list > .site-nav__item > a:hover,.site-nav__item.has-sub:focus-within > a,.site-nav__item.has-sub:hover > a{background:var(--brand-navy-tint);color:var(--brand-navy)}
.site-nav__list > .site-nav__item > a[aria-current="page"]{color:var(--red);background:#fdeef0}
.site-nav__chev{width:12px;height:12px;transition:transform .15s}
.site-nav__item.has-sub:hover .site-nav__chev,.site-nav__item.has-sub:focus-within .site-nav__chev{transform:rotate(180deg)}
.site-nav__sub{list-style:none;margin:0;padding:8px;position:absolute;left:0;top:calc(100% + 8px);min-width:250px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(15,35,80,.14);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility .15s}
.site-nav__sub::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.site-nav__item.has-sub:hover .site-nav__sub,.site-nav__item.has-sub:focus-within .site-nav__sub{opacity:1;visibility:visible;transform:none}
.site-nav__sub a{display:block;padding:10px 12px;border-radius:10px;color:var(--navy);text-decoration:none;font-weight:500;font-size:15px}
.site-nav__sub a:hover,.site-nav__sub a:focus-visible{background:var(--brand-navy-tint);color:var(--red)}
.site-nav__sub li:last-child a{margin-top:4px;border-top:1px solid var(--line);border-radius:0 0 10px 10px;font-weight:600}
.site-nav__subtoggle{display:none}
.site-nav__apply{flex-shrink:0;padding:14px 26px;box-shadow:0 8px 20px rgba(200,30,44,.25)}
@media (prefers-reduced-motion:reduce){.site-nav__sub,.site-nav__chev,.site-nav__list > .site-nav__item > a{transition:none}}

/* Phone number in the header: a light pill with a navy icon circle from 1280px, icon only (just the navy circle) below. Below 1080px the nav is collapsed, so a separate icon sits beside the Menu button. */
.nav-phone{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 14px 0 7px;background:var(--brand-navy-tint);border:1px solid #cdd6ea;border-radius:999px;color:var(--brand-navy);text-decoration:none;font-weight:600;font-size:15px;white-space:nowrap}
.nav-phone svg{box-sizing:border-box;width:32px;height:32px;padding:7px;border-radius:50%;background:var(--brand-navy);color:#fff;flex-shrink:0}
.nav-phone:hover,.nav-phone:focus-visible{background:#fff;border-color:var(--brand-navy)}
.nav-phone:focus-visible,.header-phone:focus-visible{outline:2px solid var(--brand-navy);outline-offset:2px;border-radius:999px}
.header-phone{display:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--brand-navy);color:#fff}
.header-phone svg{width:20px;height:20px}
.header-phone:hover{background:var(--brand-navy-deep)}

.nav-toggle{display:none;align-items:center;gap:10px;background:none;border:1px solid var(--line);border-radius:999px;padding:10px 16px;min-height:44px;font:600 15px var(--font-body);color:var(--navy);cursor:pointer}
.nav-toggle__bars,.nav-toggle__bars::before,.nav-toggle__bars::after{display:block;width:18px;height:2px;background:var(--navy);border-radius:2px;position:relative}
.nav-toggle__bars::before,.nav-toggle__bars::after{content:"";position:absolute;left:0}
.nav-toggle__bars::before{top:-6px}
.nav-toggle__bars::after{top:6px}

@media (max-width:1080px){
  .nav-toggle{display:inline-flex}
  .site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:16px;padding:8px 24px 24px;box-shadow:0 18px 30px rgba(24,32,107,.08);max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  body.nav-open{overflow:hidden}
  .site-nav.is-open{display:flex}
  .site-nav__list{flex-direction:column;align-items:stretch;gap:0}
  .site-nav__list{margin:0}
  .site-nav__list > .site-nav__item > a{display:flex;justify-content:space-between;padding:14px 4px;border-radius:0;border-bottom:1px solid var(--line);font-size:17px}
  .site-nav__list > .site-nav__item > a:hover,.site-nav__item.has-sub:focus-within > a,.site-nav__item.has-sub:hover > a{background:none}
  .site-nav__chev{display:none}
  .site-nav__item.has-sub{display:grid;grid-template-columns:1fr auto;align-items:center;border-bottom:1px solid var(--line)}
  .site-nav__item.has-sub > a{border-bottom:0 !important}
  .site-nav__subtoggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--brand-navy-tint);color:var(--brand-navy);cursor:pointer}
  .site-nav__subtoggle svg{width:16px;height:16px;transition:transform .15s}
  .site-nav__item.is-open .site-nav__subtoggle svg{transform:rotate(180deg)}
  .site-nav__sub{grid-column:1 / -1;position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-radius:0;padding:0 0 10px 12px;min-width:0;display:none;grid-template-columns:1fr 1fr;gap:0 8px}
  .site-nav__item.is-open .site-nav__sub{display:grid}
  .site-nav__item.has-sub:hover .site-nav__sub,.site-nav__item.has-sub:focus-within .site-nav__sub{opacity:1;visibility:visible;transform:none}
  .site-nav__sub::before{display:none}
  .site-nav__sub a{padding:8px 4px;font-size:15px}
  .site-nav__sub li:last-child{grid-column:1 / -1}
  .site-nav__sub li:last-child a{margin-top:0;border-top:0}
  .site-nav .btn{width:100%}
}
@media (max-width:1279px){
  .nav-phone{justify-content:center;gap:0;width:44px;height:44px;padding:0;background:transparent;border:0}
  .nav-phone svg{width:44px;height:44px;padding:12px}
  .nav-phone__text{display:none}
  .nav-phone:hover svg,.nav-phone:focus-visible svg{background:var(--brand-navy-deep)}
}
@media (min-width:1081px) and (max-width:1180px){
  .site-header__logo img{height:48px}
  .site-nav{gap:8px}
  .site-nav__list > .site-nav__item > a{padding:8px 6px !important;font-size:14px !important;gap:3px}
  .site-nav__apply{padding:11px 16px !important;font-size:15px}
}
@media (min-width:1081px) and (max-width:1380px){
  /* tighter spacing on small laptops so everything fits on one line */
  .site-header__inner{padding-inline:24px}
  .site-nav__list{gap:0}
  .site-nav__list > .site-nav__item > a{padding:9px 9px;font-size:15px}
  .site-nav__apply{padding:12px 20px}
}
@media (max-width:1080px){
  .nav-phone{display:none}
  .header-phone{display:inline-flex;flex-shrink:0;margin-left:auto;margin-right:-8px}
}
@media (max-width:380px){
  /* too narrow for a 44px icon beside the logo and Menu button: show the pill inside the opened menu instead */
  .header-phone{display:none}
  .nav-phone{display:inline-flex;justify-content:flex-start;gap:8px;width:auto;height:48px;padding:0 14px 0 7px;background:var(--brand-navy-tint);border:1px solid #cdd6ea}
  .nav-phone svg{width:32px;height:32px;padding:7px}
  .nav-phone__text{display:inline}
  .nav-phone:hover,.nav-phone:focus-visible{background:#fff;border-color:var(--brand-navy)}
  .nav-phone:hover svg,.nav-phone:focus-visible svg{background:var(--brand-navy)}
}

/* ===== Cookie consent banner (append to site.css) ===== */
.cookie-banner{--cb-navy:var(--brand-navy);--cb-navy-dark:var(--brand-navy-deep);--cb-red:#c81e2c;--cb-ink:#1c2433;--cb-muted:#5a6475;
  position:fixed;left:clamp(12px,3vw,32px);bottom:clamp(12px,3vw,32px);width:min(440px,calc(100% - 24px));
  background:#fff;color:var(--cb-ink);border-radius:10px;border-top:4px solid var(--cb-red);
  box-shadow:0 18px 50px rgba(10,23,48,.28);padding:22px 22px 18px;z-index:1000;
  font-family:'Inter','Segoe UI',system-ui,sans-serif}
.cookie-banner[hidden]{display:none}
.cookie-banner:focus{outline:none}
.cookie-banner h2{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:21px;line-height:1.2;color:var(--cb-navy);margin:0 0 8px}
.cookie-banner p{font-size:15px;line-height:1.55;margin:0;color:var(--cb-ink)}
.cookie-banner .cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 14px}
/* Both buttons deliberately identical: rejecting must be as easy as accepting (ICO guidance) */
.cookie-banner .cookie-actions button{font:600 15px/1 'Inter','Segoe UI',system-ui,sans-serif;padding:13px 12px;min-height:46px;
  border-radius:6px;border:2px solid var(--cb-navy);background:var(--cb-navy);color:#fff;cursor:pointer}
.cookie-banner .cookie-actions button:hover{background:var(--cb-navy-dark);border-color:var(--cb-navy-dark)}
.cookie-banner :focus-visible{outline:3px solid var(--cb-red);outline-offset:2px}
.cookie-banner .cookie-small{font-size:13px;line-height:1.5;color:var(--cb-muted)}
.cookie-banner .cookie-small a{color:var(--cb-navy);font-weight:600;text-underline-offset:2px}
@media (max-width:520px){
  .cookie-banner{left:0;right:0;bottom:0;width:100%;border-radius:14px 14px 0 0;padding:20px 18px calc(16px + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:no-preference){
  .cookie-banner.is-entering{animation:cbRise .35s ease-out}
  @keyframes cbRise{from{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}
}

/* ===== Site footer (rendered by includes/footer.php on every page; moved here from main.css 9 Oct 2026) ===== */
.s-footer{--navy: var(--brand-navy);
    --navy-deep: var(--brand-navy-deep);
    --cream: #F7F3EA;
    --red: #c81e2c;
    --red-bright: #E23744;
    --white: #FFFFFF;
    --muted: rgba(247,243,234,0.62);
    --muted-strong: rgba(247,243,234,0.85);
    --line: rgba(247,243,234,0.12);}
.s-footer, .s-footer *{box-sizing:border-box; margin:0; padding:0;}
.s-footer{font-family:'Inter', sans-serif; background:var(--cream);}
.s-footer footer.site-footer{background: var(--brand-navy-deep);
    color: var(--muted-strong);
    padding: 4.5rem 1.5rem 0 1.5rem;}
.s-footer .footer-inner{max-width: 1180px;
    margin: 0 auto;}
.s-footer .footer-grid{display:grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 2.5rem;
    padding-bottom: 3rem;}
.s-footer .logo-chip{display:inline-flex;
    align-items:center;
    background: var(--white);
    border-radius: 10px;
    padding: 0.55rem 0.9rem;
    margin-bottom: 1.25rem;}
.s-footer .logo-chip img{height: 32px; width:auto; display:block;}
.s-footer .brand-tagline{font-size:0.92rem;
    line-height:1.6;
    color: var(--muted);
    max-width: 320px;
    margin-bottom: 1.5rem;}
.s-footer .icef-row{display:inline-flex;
    align-items:center;
    gap:0.6rem;
    background: rgba(247,243,234,0.06);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 0.55rem 1rem 0.55rem 0.6rem;
    text-decoration:none;
    color: var(--muted-strong);
    font-size:0.82rem;
    font-weight:500;
    transition: border-color 0.2s ease, background 0.2s ease;}
.s-footer .icef-row:hover{border-color: var(--red-bright); background: rgba(226,55,68,0.08);}
.s-footer .icef-seal{width:22px; height:22px; flex-shrink:0;}
.s-footer .footer-col h4{font-family:'Inter', sans-serif;
    font-size:0.78rem;
    font-weight:700;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color: #e85560;
    margin-bottom: 1.25rem;}
.s-footer .footer-col ul{list-style:none;}
.s-footer .footer-col li{margin-bottom: 0.85rem;}
.s-footer .footer-col a{color: var(--muted-strong);
    text-decoration:none;
    font-size:0.92rem;
    transition: color 0.2s ease;}
.s-footer .footer-col a:hover{color: var(--white);}
.s-footer .contact-item{display:flex;
    align-items:flex-start;
    gap:0.6rem;
    margin-bottom:0.9rem;
    font-size:0.9rem;
    color: var(--muted-strong);
    line-height:1.5;}
.s-footer .contact-item svg{width:16px; height:16px; flex-shrink:0; margin-top:0.15rem; opacity:0.7;}
.s-footer .contact-item a{color: var(--muted-strong); text-decoration:none;}
.s-footer .contact-item a:hover{color: var(--white);}
.s-footer .whatsapp-chip{display:inline-flex;
    align-items:center;
    gap:0.5rem;
    margin-top:0.35rem;
    background: rgba(37,211,102,0.12);
    border: 1px solid rgba(37,211,102,0.3);
    border-radius:999px;
    padding: 0.45rem 0.9rem;
    font-size:0.85rem;
    color: var(--white);
    text-decoration:none;
    transition: background 0.2s ease;}
.s-footer .whatsapp-chip:hover{background: rgba(37,211,102,0.2);}
.s-footer .whatsapp-chip svg{width:15px; height:15px;}
.s-footer .social-row{display:flex; gap:0.7rem; margin-top:0.5rem;}
.s-footer .social-icon{width:36px; height:36px;
    border-radius:50%;
    border: 1px solid var(--line);
    display:flex; align-items:center; justify-content:center;
    color: var(--muted-strong);
    text-decoration:none;
    transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;}
.s-footer .social-icon:hover{border-color: var(--red-bright); background: rgba(226,55,68,0.1); color:var(--white);}
.s-footer .social-icon svg{width:16px; height:16px;}
.s-footer .lang-toggle{margin-top: 1.5rem;
    display:inline-flex;
    align-items:center;
    gap:0.35rem;
    background: rgba(247,243,234,0.05);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 0.3rem;}
.s-footer .lang-toggle button{font-family:'Inter', sans-serif;
    font-size:0.76rem;
    font-weight:600;
    padding: 0.4rem 0.7rem;
    border-radius: 999px;
    border:none;
    background:transparent;
    color: var(--muted);
    cursor:pointer;
    transition: background 0.2s ease, color 0.2s ease;}
.s-footer .lang-toggle button.active{background: var(--red-bright); color: var(--white);}
.s-footer .lang-toggle button:not(.active):hover{color: var(--white);}
.s-footer .lang-note{font-size:0.72rem; color: #8a93a8; margin-top:0.5rem;}
.s-footer .footer-bottom{border-top: 1px solid var(--line);
    padding: 1.5rem 0;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:1rem;
    font-size:0.82rem;
    color: var(--muted);}
.s-footer .footer-bottom-links{display:flex; gap:1.5rem; flex-wrap:wrap;}
.s-footer .footer-bottom-links a{color: var(--muted); text-decoration:none; transition:color 0.2s ease;}
.s-footer .footer-bottom-links a:hover{color: var(--white);}
@media (max-width: 900px){
.s-footer .footer-grid{grid-template-columns: 1fr 1fr; gap: 2.25rem;}
}
@media (max-width: 600px){
.s-footer footer.site-footer{padding: 3.5rem 1.25rem 0 1.25rem;}
.s-footer .footer-grid{grid-template-columns: 1fr; gap: 2.25rem;}
.s-footer .footer-bottom{flex-direction:column; align-items:flex-start;}
}
@media (prefers-reduced-motion: reduce){
.s-footer .social-icon, .s-footer .icef-row, .s-footer .whatsapp-chip, .s-footer .lang-toggle button, .s-footer .footer-bottom-links a{transition:none;}
}
