@import url('/css/pages/partials-footer.css');
/* Shared navigation. The existing accessible drawer behavior is preserved. */
html { scroll-padding-top:110px; }
header.eo-navbar,header.eo-navbar *,.eo-mobile-drawer,.eo-mobile-drawer * { box-sizing:border-box; }
body header.eo-navbar { position:fixed; inset:0 0 auto; z-index:1000; background:#fffefa; border-bottom:1px solid #e2e4da; color:#173b32; font-family:var(--font-sans); box-shadow:none; }
body header.eo-navbar.is-scrolled { box-shadow:0 3px 20px #173b3209; }
body header.eo-navbar .nav-wrap { width:min(1380px,calc(100% - 80px)); margin:auto; height:88px; padding:0; display:flex; align-items:center; justify-content:space-between; gap:24px; }
body header.eo-navbar .brand { display:flex; align-items:center; gap:12px; flex-shrink:0; color:#173b32; text-decoration:none; }
body header.eo-navbar .crest { position:relative; display:grid; place-items:center; width:48px; height:48px; background:#173b32; border:0; border-radius:50%; overflow:hidden; box-shadow:none; }
body header.eo-navbar .crest img { width:100%; height:100%; padding:7px; object-fit:contain; position:relative; z-index:1; }
body header.eo-navbar .crest-fallback { position:absolute; color:#c4a56a; opacity:0; font-family:Georgia,serif; }
body header.eo-navbar .crest.logo-missing img { display:none; }
body header.eo-navbar .crest.logo-missing .crest-fallback { opacity:1; }
body header.eo-navbar .brand-title { color:#173b32; display:block; font:500 21px/1.15 var(--font-serif); letter-spacing:-.02em; text-shadow:none; }
body header.eo-navbar .brand-sub { display:block; margin-top:5px; color:#82632f; font-size:8px; font-weight:500; text-transform:uppercase; letter-spacing:.15em; }
body header.eo-navbar .eo-nav-shell { display:flex; align-items:center; gap:28px; margin-left:auto; }
body header.eo-navbar .eo-nav { display:flex; gap:22px; align-items:center; background:none; border:0; padding:0; box-shadow:none; }
body header.eo-navbar .eo-nav a { display:inline-flex; align-items:center; position:relative; padding:10px 0; font-size:11px; color:#45564b; font-weight:500; white-space:nowrap; text-decoration:none; background:none; border:0; border-radius:0; box-shadow:none; }
body header.eo-navbar .eo-nav a::after { content:''; position:absolute; left:0; right:100%; bottom:4px; height:1px; background:#c4a56a; transition:right .2s; }
body header.eo-navbar .eo-nav a:hover::after,body header.eo-navbar .eo-nav a[aria-current=page]::after { right:0; }
body header.eo-navbar .eo-nav a[aria-current=page] { color:#173b32; }
body header.eo-navbar .header-quote { display:inline-flex; gap:9px; align-items:center; justify-content:center; min-height:44px; padding:12px 19px; background:#173b32; color:#fffdf6; border:1px solid #173b32; border-radius:5px; font-size:10px; font-weight:600; text-decoration:none; white-space:nowrap; }
body header.eo-navbar .header-quote:hover { background:#255548; }
body header.eo-navbar .nav-toggle { display:none; align-items:center; justify-content:center; width:42px; height:42px; border:1px solid #bfc8b9; border-radius:5px; color:#173b32; background:transparent; font-size:23px; cursor:pointer; }
body .eo-mobile-backdrop { position:fixed; inset:0; z-index:1100; background:rgba(12,32,25,.3); border:0; opacity:0; visibility:hidden; transition:opacity .2s,visibility .2s; }
body .eo-mobile-drawer { position:fixed; inset:0 0 0 auto; width:min(390px,92vw); height:100dvh; overflow:auto; z-index:1200; background:#fffefa; color:#173b32; padding:27px 24px; transform:translateX(102%); visibility:hidden; transition:transform .25s,visibility .25s; box-shadow:-15px 0 50px #173b3219; }
body.mobile-open .eo-mobile-backdrop { opacity:1; visibility:visible; }
body.mobile-open .eo-mobile-drawer { visibility:visible; transform:translateX(0); }
.eo-mobile-header { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:26px; }
.eo-mobile-heading span { display:block; color:#82632f; font-size:10px; letter-spacing:.1em; }
.eo-mobile-heading strong { display:block; font:500 28px/1.5 var(--font-serif); }
.eo-nav-close { width:44px; height:44px; border:1px solid #dce0d5; background:transparent; color:#173b32; border-radius:5px; font-size:20px; cursor:pointer; }
.eo-drawer-links { display:grid; }
.eo-drawer-links a { display:flex; align-items:center; gap:12px; padding:14px 2px; border-bottom:1px solid #e1e4d9; color:#45564b; font-size:14px; }
.eo-drawer-links a[aria-current=page] { color:#173b32; font-weight:600; }
.eo-drawer-links i { color:#82632f; }
.eo-drawer-actions { display:grid; gap:12px; margin-top:24px; }
.eo-drawer-actions a { padding:14px; text-align:center; border:1px solid #173b32; border-radius:5px; color:#173b32; font-size:12px; }
.eo-drawer-actions .cta-mobile { color:#fffefa; background:#173b32; }
/* A light, spacious footer with one forest-green invitation panel. */
body footer.footer.luxe { --eo-footer-bg:#f0ede3; --eo-footer-text:#45564b; --eo-footer-muted:#606b61; --eo-footer-soft:#173b32; --eo-footer-line:#d2d8cb; --eo-footer-card:transparent; --eo-footer-card-2:transparent; --eo-footer-shadow:none; background:#f0ede3; color:#45564b; padding:64px 0 24px; border-top:1px solid #dce0d5; font-size:13px; }
body footer.footer.luxe::before,body footer.footer.luxe::after { display:none; }
body footer.footer.luxe .wrap { width:min(1280px,calc(100% - 80px)); }
body footer.footer.luxe .footer-cta { background:#173b32; color:#fffdf6; padding:34px 36px; border:0; border-radius:8px; box-shadow:none; gap:28px; margin-bottom:30px; }
body footer.footer.luxe .cta-title { color:#fffdf6; font-family:var(--font-serif); font-size:30px; font-weight:500; line-height:1.2; letter-spacing:-.02em; }
body footer.footer.luxe .cta-sub { color:#dbe3d5; font-size:12px; margin-top:8px; }
body footer.footer.luxe .cta-btn { color:#fffdf6; background:transparent; border:1px solid #889d84; border-radius:5px; box-shadow:none; padding:12px 18px; font-weight:500; }
body footer.footer.luxe .cta-btn.primary { background:#e4d3ad; border-color:#e4d3ad; color:#173b32; }
body footer.footer.luxe .trust-mini { background:transparent; border-color:#d2d8cb; box-shadow:none; padding:18px 0; gap:25px; }
body footer.footer.luxe .trust-mini .t { color:#45564b; font-size:10px; font-weight:500; background:none; border:0; }
body footer.footer.luxe .cols { padding:28px 0 35px; gap:40px; grid-template-columns:1.5fr .8fr .8fr 1.1fr; }
body footer.footer.luxe .cols > * { background:none; border:0; border-radius:0; padding:0; box-shadow:none; }
body footer.footer.luxe .brand-title { font:500 24px/1.2 var(--font-serif); color:#173b32; background:none; -webkit-text-fill-color:currentColor; }
body footer.footer.luxe .crest { background:#173b32; border-radius:50%; border:0; width:48px; height:48px; box-shadow:none; }
body footer.footer.luxe .brand-sub { color:#82632f; font-size:8px; letter-spacing:.14em; text-transform:uppercase; }
body footer.footer.luxe .small { color:#45564b; font-size:12px; line-height:1.9; }
body footer.footer.luxe .footer-verse { color:#657065; border-left:2px solid #c4a56a; padding-left:14px; font-family:var(--font-serif); font-style:italic; }
body footer.footer.luxe .f-title { color:#173b32; font-size:10px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
body footer.footer.luxe .f-links a { color:#45564b; font-size:12px; padding-block:5px; }
body footer.footer.luxe .f-links a:hover { color:#82632f; }
body footer.footer.luxe .f-links i { display:none; }
body footer.footer.luxe .social a { color:#173b32; background:transparent; border:1px solid #c6cebd; box-shadow:none; }
body footer.footer.luxe .sub { border-top:1px solid #d2d8cb; padding-top:23px; }
body footer.footer.luxe .mini { color:#657065; }
@media(max-width:1200px) { body header.eo-navbar .eo-nav-shell { gap:18px; } body header.eo-navbar .eo-nav { gap:16px; } }
@media(max-width:1080px) {
  body header.eo-navbar .nav-wrap { height:76px; width:calc(100% - 40px); gap:12px; }
  body header.eo-navbar .eo-nav { display:none; }
  body header.eo-navbar .nav-toggle { display:inline-flex; }
  body header.eo-navbar .eo-nav-shell { gap:12px; }
  body footer.footer.luxe .cols { grid-template-columns:1.5fr 1fr; gap:35px; }
}
@media(max-width:600px) {
  body header.eo-navbar .nav-wrap { width:calc(100% - 32px); }
  body header.eo-navbar .brand-title { font-size:19px; }
  body header.eo-navbar .crest { width:42px; height:42px; }
  body header.eo-navbar .brand { gap:9px; }
  body header.eo-navbar .brand-sub { font-size:7px; }
  body header.eo-navbar .header-quote { display:none; }
  body footer.footer.luxe { padding-top:36px; }
  body footer.footer.luxe .wrap { width:calc(100% - 36px); }
  body footer.footer.luxe .footer-cta { padding:27px 23px; display:grid; }
  body footer.footer.luxe .cta-title { font-size:27px; }
  body footer.footer.luxe .cols { grid-template-columns:1fr 1fr; gap:30px 20px; }
  body footer.footer.luxe .cols > :first-child,body footer.footer.luxe .cols > :last-child { grid-column:1/-1; }
  body footer.footer.luxe .trust-mini { gap:12px; }
}

/* Shared exploration menus and a distinct forest-green footer. */
body header.eo-navbar .nav-wrap { position:relative; width:min(1380px,calc(100% - 64px)); gap:20px; }
body header.eo-navbar .eo-nav-shell { gap:20px; }
body header.eo-navbar .eo-nav { gap:23px; }
body header.eo-navbar .header-quote { border-radius:999px; background:#c4a56a; border-color:#c4a56a; color:#183b30; font-weight:700; }
body header.eo-navbar .header-quote:hover { background:#d6bc84; border-color:#d6bc84; }
body header.eo-navbar .eo-search-toggle { width:42px; height:42px; display:grid; place-items:center; border:1px solid #d8d1c0; border-radius:50%; background:transparent; color:#173b32; cursor:pointer; flex-shrink:0; }
body header.eo-navbar .eo-search-toggle[hidden] { display:none; }
body header.eo-navbar .eo-search-toggle:hover { background:#efeadd; border-color:#bba16b; }
body header.eo-navbar .eo-nav-group { position:static; margin:0; padding:0; border:0; background:none; box-shadow:none; }
body header.eo-navbar .eo-nav-group > summary { display:flex; align-items:center; gap:7px; min-height:44px; padding:10px 0; list-style:none; font-size:11px; font-weight:500; white-space:nowrap; color:#45564b; cursor:pointer; }
body header.eo-navbar .eo-nav-group > summary::-webkit-details-marker { display:none; }
body header.eo-navbar .eo-nav-group > summary::after { display:none; }
body header.eo-navbar .eo-nav-group > summary i { font-size:9px; color:#8c7444; transition:transform .2s; }
body header.eo-navbar .eo-nav-group[open] > summary i { transform:rotate(180deg); }
body header.eo-navbar .eo-nav-group.is-current > summary,body header.eo-navbar .eo-nav-group[open] > summary { color:#173b32; text-decoration:underline; text-decoration-color:#b99c60; text-underline-offset:9px; }
body header.eo-navbar .eo-mega-panel { position:absolute; z-index:5; top:calc(100% - 4px); right:0; width:min(900px,100%); padding:25px; border:1px solid #d8cfbb; border-top:3px solid #ba9c5e; border-radius:0 0 15px 15px; background:#fffdf8; box-shadow:0 24px 45px #183b322b; }
body header.eo-navbar .eo-mega-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid #e6dfcf; }
body header.eo-navbar .eo-mega-heading div > span { display:block; margin-bottom:7px; font-size:9px; color:#876832; text-transform:uppercase; letter-spacing:.13em; }
body header.eo-navbar .eo-mega-heading strong { font:500 27px/1.2 var(--font-serif); color:#173b32; }
body header.eo-navbar .eo-mega-heading a { color:#795d2f; font-size:11px; padding:6px 0; }
body header.eo-navbar .eo-mega-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
body header.eo-navbar .eo-nav .eo-mega-card { display:grid; grid-template-columns:1fr auto; gap:12px 8px; padding:0 0 8px; white-space:normal; align-items:center; }
body header.eo-navbar .eo-mega-card img { grid-column:1/-1; width:100%; height:120px; object-fit:cover; border-radius:7px; }
body header.eo-navbar .eo-mega-card strong { display:block; color:#173b32; font-size:12px; line-height:1.6; font-weight:600; }
body header.eo-navbar .eo-mega-card small { display:block; color:#727664; font-size:10px; line-height:1.7; margin-top:3px; }
body header.eo-navbar .eo-mega-card i { color:#a58647; }
body header.eo-navbar .eo-nav .eo-mega-card:hover { background:#f7f4eb; }
body header.eo-navbar .eo-simple-panel { width:310px; right:160px; display:grid; gap:5px; padding:14px; }
body header.eo-navbar .eo-simple-panel a { display:flex; justify-content:space-between; gap:18px; padding:12px; white-space:normal; font-size:12px; min-height:44px; }
body header.eo-navbar .eo-simple-panel a:hover { background:#f3efdf; }
body header.eo-navbar .eo-simple-panel a::after { display:none; }
body header.eo-navbar .eo-simple-panel a span { color:#987940; }
.eo-drawer-links > a { justify-content:space-between; text-decoration:none; }
.eo-drawer-group { border:0; border-bottom:1px solid #e0d8c6; padding:0; border-radius:0; background:none; box-shadow:none; }
.eo-drawer-group summary { display:flex; justify-content:space-between; align-items:center; min-height:54px; list-style:none; font-size:15px; font-weight:500; color:#173b32; cursor:pointer; }
.eo-drawer-group summary::-webkit-details-marker,.eo-drawer-group summary::after { display:none; }
.eo-drawer-group summary span { color:#93723a; font-size:20px; transition:transform .2s; }
.eo-drawer-group[open] summary span { transform:rotate(45deg); }
.eo-drawer-group:has([aria-current=page]) summary { color:#89672e; }
.eo-drawer-group > div { padding:0 8px 12px 13px; border-left:1px solid #c6ac75; margin-bottom:10px; }
.eo-drawer-links .eo-drawer-group a { display:block; padding:11px 0; min-height:44px; border:0; text-decoration:none; font-size:12px; }
.eo-drawer-group a small { display:block; margin-top:3px; color:#6c755f; font-size:10px; }
.eo-drawer-contact { display:grid; gap:10px; margin-top:25px; padding-top:20px; border-top:1px solid #ded7c7; font-size:11px; color:#5a6958; }
.eo-drawer-contact a { color:#173b32; text-decoration:none; }
.eo-drawer-contact span { color:#82724d; font-size:10px; }
body .eo-drawer-actions .cta-mobile { border-radius:999px; }
body .eo-mobile-drawer .eo-mobile-heading strong { font-size:27px; }
body .eo-search-dialog { width:min(620px,calc(100% - 28px)); max-height:calc(100dvh - 40px); margin:auto; padding:26px; border:1px solid #bca16c; border-radius:18px; background:#fffdf8; color:#173b32; box-shadow:0 24px 80px #122d2440; overflow:auto; overscroll-behavior:contain; }
body .eo-search-dialog::backdrop { background:#122c24a6; backdrop-filter:blur(5px); }
.eo-search-heading { display:flex; align-items:start; justify-content:space-between; gap:20px; margin-bottom:22px; }
.eo-search-heading span { color:#856832; font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.eo-search-heading h2 { margin:9px 0 0; font:500 31px/1.15 var(--font-serif); color:#173b32; }
.eo-search-heading button { flex-shrink:0; width:44px; height:44px; border:1px solid #d7ccb5; border-radius:50%; color:#173b32; background:transparent; font-size:26px; cursor:pointer; }
.eo-search-dialog > label { display:block; font-size:11px; color:#64705d; margin-bottom:8px; }
.eo-search-input-wrap { display:flex; align-items:center; gap:12px; padding:0 14px; border:1px solid #bda776; border-radius:8px; background:#fff; }
.eo-search-input-wrap i { color:#92703a; }
body .eo-search-dialog input { width:100%; min-width:0; min-height:48px; border:0; padding:10px 0; background:transparent; color:#173b32; font:16px/1.5 var(--font-sans); }
body .eo-search-dialog input:focus-visible { outline:0; box-shadow:none; }
.eo-search-input-wrap:focus-within { outline:2px solid #9f8048; outline-offset:3px; }
.eo-search-status { margin:20px 0 8px; font-size:11px; color:#6a735f; line-height:1.7; }
.eo-search-results { margin:0; padding:0; list-style:none; }
.eo-search-results li { border-bottom:1px solid #e8e0d1; }
.eo-search-results a { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:50px; padding:12px 4px; font-size:12px; color:#173b32; text-decoration:none; }
.eo-search-results a:hover { background:#f3efe3; }
.eo-search-results a span:last-child { color:#987b44; }
.eo-search-help { display:inline-block; font-size:11px; line-height:1.8; color:#735b30; margin-top:20px; text-underline-offset:4px; }
body footer.footer.luxe { --eo-footer-bg:#13382d; --eo-footer-text:#e3e8da; --eo-footer-muted:#b9c8b5; --eo-footer-soft:#fff9ea; --eo-footer-line:#aabc9840; --eo-footer-card:transparent; --eo-footer-card-2:transparent; padding:43px 0 23px; background:radial-gradient(ellipse at 95% 0%,#39503a66,transparent 60%),linear-gradient(145deg,#183e31,#0f2e26); color:#e3e8da; border-top:1px solid #b99b5d; content-visibility:visible; contain-intrinsic-size:none; }
body footer.footer.luxe .wrap { width:min(1280px,calc(100% - 64px)); border-radius:0; background:none; }
body footer.footer.luxe .wrap::before,body footer.footer.luxe .wrap::after { display:none; }
body footer.footer.luxe .footer-cta { display:grid; grid-template-columns:1.15fr .85fr; gap:36px; padding:0 0 28px; margin:0; border:0; border-bottom:1px solid #bbc89b40; border-radius:0; background:none; box-shadow:none; align-items:center; }
body footer.footer.luxe .footer-kicker { display:block; color:#d7bb7f; font-size:9px; letter-spacing:.14em; text-transform:uppercase; margin-bottom:10px; }
body footer.footer.luxe .cta-title { color:#fff9ea; font-size:33px; font-weight:500; max-width:560px; }
body footer.footer.luxe .cta-sub { color:#ccd8c5; font-size:11px; line-height:1.8; max-width:520px; margin-top:12px; }
body footer.footer.luxe .cta-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:12px; }
body footer.footer.luxe .cta-btn { width:auto; flex:0 0 auto; display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:46px; padding:12px 18px; border:1px solid #aec49b80; border-radius:999px; color:#fff9ea; background:transparent; font-size:11px; font-weight:600; white-space:normal; }
body footer.footer.luxe .cta-btn.primary { color:#193b2f; background:#d0b276; border-color:#d0b276; }
body footer.footer.luxe .cta-btn:hover { background:#355444; color:#fff9ea; border-color:#dbc28c; transform:none; }
body footer.footer.luxe .cta-btn.primary:hover { background:#e2c995; color:#173b32; }
body footer.footer.luxe .footer-email-action { color:#ddc38d; width:100%; text-align:right; font-size:10px; text-underline-offset:4px; }
body footer.footer.luxe .cols { width:100%; margin:0; display:grid; grid-template-columns:1.15fr .8fr .9fr 1.15fr; align-items:start; gap:36px; padding:30px 0 28px; }
body footer.footer.luxe .brand { text-decoration:none; }
body footer.footer.luxe .brand-title { color:#fff9ea; font-size:24px; }
body footer.footer.luxe .brand-sub { color:#d2b97f; }
body footer.footer.luxe .crest { width:48px; height:48px; background:#234b3b; border:1px solid #c4a56a88; }
body footer.footer.luxe .small { color:#ccd8c5; font-size:11px; line-height:1.85; }
body footer.footer.luxe .footer-verse { margin-top:16px; padding:0 0 0 13px; border-radius:0; background:none; color:#ced7c0; font-size:13px; line-height:1.6; }
body footer.footer.luxe .footer-verse span { color:#d1b67c; font-size:8px; margin-top:8px; }
body footer.footer.luxe .f-title { margin:3px 0 14px; color:#ddc38d; font-size:10px; letter-spacing:.11em; }
body footer.footer.luxe .f-title.subcap { margin-top:20px; }
body footer.footer.luxe .f-links { gap:2px; }
body footer.footer.luxe .f-links a { margin:0; color:#e0e7d6; font-size:11px; line-height:1.65; min-height:30px; padding:5px 0; width:auto; }
body footer.footer.luxe .f-links a::after { left:0; bottom:1px; background:#c5a767; height:1px; }
body footer.footer.luxe .f-links a:hover,body footer.footer.luxe .f-links a.is-active { color:#edcf8e; }
body footer.footer.luxe .footer-contact-intro { margin:0 0 14px; }
body footer.footer.luxe .footer-address { display:grid; gap:13px; }
body footer.footer.luxe .footer-address a { display:flex; align-items:start; gap:10px; border:0; color:#e3eadb; font-size:11px; line-height:1.85; overflow-wrap:anywhere; text-decoration:none; }
body footer.footer.luxe .footer-address a i { color:#c9aa70; font-size:14px; flex-shrink:0; }
body footer.footer.luxe .footer-address a:hover { color:#edcf8e; }
body footer.footer.luxe .social { margin-top:19px; gap:9px; }
body footer.footer.luxe .social a { width:37px; height:37px; color:#eee6cf; border:1px solid #a8bf955e; border-radius:50%; background:#ffffff05; box-shadow:none; }
body footer.footer.luxe .social a::before { display:none; }
body footer.footer.luxe .social a:hover { color:#173b32; background:#d3b87e; border-color:#d3b87e; }
body footer.footer.luxe .trust-mini { display:flex; justify-content:space-between; gap:15px; padding:17px 0; margin:0; border:0; border-top:1px solid #bbc89b40; border-bottom:1px solid #bbc89b40; border-radius:0; }
body footer.footer.luxe .trust-mini .t { display:inline-flex; align-items:center; gap:8px; color:#d7e0cb; font-size:10px; }
body footer.footer.luxe .trust-mini i { color:#d4b980; }
body footer.footer.luxe .sub { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-top:20px; margin:0; border:0; }
body footer.footer.luxe .mini { color:#b8c9b1; font-size:9px; line-height:1.8; }
body footer.footer.luxe .footer-signoff { display:block; margin-top:3px; }
body footer.footer.luxe .footer-legal { display:flex; flex-wrap:wrap; gap:16px; align-items:center; }
body footer.footer.luxe .footer-legal a { font-size:10px; color:#d1dcc7; text-decoration:none; line-height:1.7; }
body footer.footer.luxe .top-link { border:0; background:none; border-radius:0; padding:0; color:#dcc18a; }
body footer.footer.luxe :is(a,button):focus-visible { outline:2px solid #e7c987; outline-offset:5px; }
@media (max-width:1200px) {
  body header.eo-navbar .eo-nav { gap:16px; }
  body header.eo-navbar .eo-nav-shell { gap:13px; }
  body header.eo-navbar .brand-title { font-size:19px; }
  body header.eo-navbar .header-quote { padding-inline:14px; }
}
@media (max-width:1080px) {
  body header.eo-navbar .nav-wrap { width:calc(100% - 40px); }
  body footer.footer.luxe .cols { grid-template-columns:1.2fr 1fr 1fr; gap:30px; }
  body footer.footer.luxe .footer-contact-column { grid-column:1/-1; display:grid; grid-template-columns:1fr 1.5fr auto; gap:10px 24px; align-items:start; }
  body footer.footer.luxe .footer-contact-intro { grid-column:1; }
  body footer.footer.luxe .footer-address { grid-column:2; grid-row:1/3; }
  body footer.footer.luxe .footer-contact-column .social { grid-column:3; grid-row:1/3; margin:0; }
}
@media (max-width:600px) {
  body header.eo-navbar .nav-wrap { width:calc(100% - 32px); gap:10px; }
  body header.eo-navbar .eo-nav-shell { gap:8px; }
  body header.eo-navbar .eo-search-toggle { width:38px; height:38px; }
  body header.eo-navbar .nav-toggle { width:40px; height:40px; }
  body footer.footer.luxe { padding:32px 0 28px; }
  body footer.footer.luxe .wrap { width:calc(100% - 40px); }
  body footer.footer.luxe .footer-cta { grid-template-columns:1fr; gap:20px; padding-bottom:24px; }
  body footer.footer.luxe .cta-title { font-size:30px; }
  body footer.footer.luxe .cta-actions { justify-content:flex-start; gap:10px; }
  body footer.footer.luxe .footer-email-action { text-align:left; width:auto; padding:6px 0; }
  body footer.footer.luxe .cols { grid-template-columns:1fr 1fr; gap:26px 20px; padding:25px 0; }
  body footer.footer.luxe .footer-brand-column { grid-column:1/-1; }
  body footer.footer.luxe .footer-brand-column > .small { max-width:460px; }
  body footer.footer.luxe .footer-contact-column { display:block; grid-column:1/-1; }
  body footer.footer.luxe .footer-contact-column .social { margin-top:18px; }
  body footer.footer.luxe .trust-mini { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  body footer.footer.luxe .sub { display:block; }
  body footer.footer.luxe .footer-legal { margin-top:15px; gap:16px; }
  body .eo-search-dialog { padding:20px; }
  .eo-search-heading h2 { font-size:27px; }
}
@media (max-width:360px) {
  body header.eo-navbar .brand-title { font-size:16px; }
  body header.eo-navbar .brand-sub { font-size:6px; }
  body header.eo-navbar .crest { width:36px; height:36px; }
  body header.eo-navbar .brand { gap:8px; }
  body header.eo-navbar .eo-nav-shell { gap:5px; }
  body footer.footer.luxe .cta-btn { padding-inline:13px; font-size:10px; }
}
@media (prefers-reduced-motion:reduce) {
  .eo-nav-group summary i,.eo-drawer-group summary span,.eo-mega-card { transition:none!important; }
}

/* Keep the footer invitation clean and its last links clear of mobile contact controls. */
body footer.footer.luxe .footer-cta::before,body footer.footer.luxe .footer-cta::after,body footer.footer.luxe .trust-mini .t::after { display:none; }
body footer.footer.luxe .cta-btn i { color:currentColor; }
@media (max-width:980px) { body:has(.mobile-sticky-wa) footer.footer.luxe { padding-bottom:calc(90px + env(safe-area-inset-bottom)); } }

/* A compact, always-available navigation state with page reading progress. */
body header.eo-navbar { transition:background-color .25s ease,box-shadow .25s ease,border-color .25s ease; }
body header.eo-navbar .nav-wrap { transition:height .25s ease; }
body header.eo-navbar .crest { transition:width .25s ease,height .25s ease; }
body header.eo-navbar.is-scrolled {
  background:rgba(255,253,247,.96);
  border-bottom-color:#c4ad7880;
  box-shadow:0 7px 25px #173b3214;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
body header.eo-navbar.is-scrolled .nav-wrap { height:70px; }
body header.eo-navbar.is-scrolled .crest { width:40px; height:40px; }
body header.eo-navbar::after {
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px;
  background:linear-gradient(90deg,#9c793f,#d8be83);
  transform:scaleX(var(--eo-reading-progress,0)); transform-origin:left;
  pointer-events:none;
}
body:has(header.eo-navbar) > .scroll-progress { display:none; }
@media (max-width:1080px) {
  body header.eo-navbar.is-scrolled .nav-wrap { height:64px; }
  body header.eo-navbar.is-scrolled .crest { width:38px; height:38px; }
}
@media (max-width:360px) {
  body header.eo-navbar.is-scrolled .crest { width:34px; height:34px; }
}
@media (prefers-reduced-motion:reduce) {
  body header.eo-navbar,body header.eo-navbar .nav-wrap,body header.eo-navbar .crest { transition:none; }
}
