/* ============================================================
   1. DESIGN TOKENS & RESET
   ============================================================ */
:root{
  --brand-green:#035C4C; --brand-green-dark:#024638; --brand-green-light:#E8F3F0;
  --brand-gold:#A16B1A; --brand-gold-dark:#805313; --brand-gold-light:#F7EEDC;
  --brand-navy:#043748; --brand-navy-dark:#022630;
  --bright-green:#16A34A; --bright-green-light:#22C55E; --bright-green-soft:#DCFCE7;
  --white:#FFFFFF; --ivory:#F8F6F0;
  --gray-50:#F8FAFA; --gray-100:#F1F4F3; --gray-200:#E3E8E6; --gray-300:#CBD4D1;
  --gray-400:#94A3B8; --gray-500:#66757A; --gray-600:#475569; --gray-700:#37484E;
  --gray-800:#1E293B; --gray-900:#0F172A;
  --color-success:#087F5B; --color-error:#B42318;
  --font-heading:"Playfair Display", Georgia, serif;
  --font-body:"Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --radius-sm:6px; --radius-md:10px; --radius-lg:16px; --radius-xl:24px; --radius-pill:999px;
  --shadow-sm:0 2px 8px rgba(4,55,72,.08);
  --shadow-md:0 8px 30px rgba(4,55,72,.12);
  --shadow-lg:0 20px 50px rgba(4,55,72,.16);
  --shadow-xl:0 30px 70px rgba(4,55,72,.22);
  --transition-fast:150ms ease; --transition-base:250ms ease; --transition-slow:500ms ease;
  --container-max:1320px; --header-height:80px; --header-height-sm:68px;
  --footer-accent:#4ADE80;
}
[data-theme="dark"]{
  --white:#0d1f26; --ivory:#12252d; --gray-50:#162b33; --gray-100:#1d353e;
  --gray-200:#2a4854; --gray-300:#3d5d6b; --gray-500:#7a9baa; --gray-700:#b8d0da; --gray-900:#e6f0f4;
  --brand-navy:#e6f0f4; --brand-navy-dark:#ffffff;
  --brand-green-light:#0a2a24; --brand-gold-light:#3a2a12;
  --bright-green-soft:#0f2f1f;
  --shadow-sm:0 2px 8px rgba(0,0,0,.4);
  --shadow-md:0 8px 30px rgba(0,0,0,.5);
  --shadow-lg:0 20px 50px rgba(0,0,0,.6);
  --shadow-xl:0 30px 70px rgba(0,0,0,.7);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth; overflow-x: hidden;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
body{margin:0;font-family:var(--font-body);font-size:1rem;line-height:1.7;color:var(--gray-700);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden;max-width:100vw;transition:background var(--transition-base),color var(--transition-base)}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
ul,ol{list-style:none;margin:0;padding:0}
h1,h2,h3,h4,h5{margin:0;font-family:var(--font-heading);font-weight:600;line-height:1.15;color:var(--brand-navy)}
p{margin:0 0 1rem}
p:last-child{margin-bottom:0}
input,select,textarea{font:inherit;color:inherit;max-width:100%}
:focus{outline:none}
:focus-visible{outline:3px solid var(--brand-gold);outline-offset:3px;border-radius:3px}
.skip-link{position:absolute;top:-100px;left:1rem;z-index:9999;background:var(--brand-gold);color:#fff;padding:.75rem 1.25rem;border-radius:var(--radius-sm);font-weight:600;transition:top .2s}
.skip-link:focus{top:1rem}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ============================================================
   2. LAYOUT & TYPOGRAPHY
   ============================================================ */
.container-x{width:min(100% - 2rem, var(--container-max));margin-inline:auto; overflow: hidden;}
.section{padding:clamp(3rem,6vw,5.5rem) 0}
.section--white{background:var(--white)}
.section--ivory{background:var(--ivory)}
.section--gray{background:var(--gray-50)}
.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--bright-green);margin:0 0 1rem;display:inline-flex;align-items:center;gap:.6rem}
.eyebrow::before{content:"";display:inline-block;width:34px;height:2px;background:var(--bright-green);border-radius:1px}
.section__title{font-size:clamp(2rem,4.5vw,3.5rem);color:var(--gray-900);margin:0 0 1rem;font-weight:700;line-height:1.1;font-family:var(--font-body);letter-spacing:-.015em}
.section__lead{color:var(--gray-600);max-width:64ch;line-height:1.75;font-size:1.0625rem;margin:0}
.section-head{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;margin-bottom:clamp(2rem,4vw,3.5rem)}
.section-head__text{max-width:680px}
@media (max-width:768px){.section-head{grid-template-columns:1fr;align-items:start; gap: 1rem;}}

/* ============================================================
   3. BUTTONS
   ============================================================ */
.btn-x{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:.9rem 1.75rem;font-size:.8125rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;border:1.5px solid transparent;cursor:pointer;transition:all var(--transition-base);white-space:nowrap;text-decoration:none;font-family:inherit}
.btn-x svg{transition:transform var(--transition-base);flex-shrink:0}
.btn-x:hover svg{transform:translateX(4px)}
.btn-x--green{background:var(--bright-green);color:#fff;border-color:var(--bright-green);box-shadow:0 6px 20px rgba(22,163,74,.28)}
.btn-x--green:hover{background:#15803D;border-color:#15803D;color:#fff;transform:translateY(-2px);box-shadow:0 10px 26px rgba(22,163,74,.35)}
.btn-x--gold{background:var(--brand-gold);color:#fff;border-color:var(--brand-gold)}
.btn-x--gold:hover{background:var(--brand-gold-dark);border-color:var(--brand-gold-dark);color:#fff;transform:translateY(-2px)}
.btn-x--outline-green{background:transparent;color:var(--bright-green);border-color:var(--bright-green)}
.btn-x--outline-green:hover{background:var(--bright-green);color:#fff}
.btn-x--outline-white{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn-x--outline-white:hover{background:#fff;color:var(--gray-900);border-color:#fff}
.btn-x--outline-navy{background:transparent;color:var(--brand-navy);border-color:var(--brand-navy)}
.btn-x--outline-navy:hover{background:var(--brand-navy);color:#fff}
.btn-x--ghost-light{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.28);backdrop-filter:blur(8px)}
.btn-x--ghost-light:hover{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.5)}
.btn-x--sm{min-height:42px;padding:.7rem 1.25rem;font-size:.75rem}
.btn-x--lg{min-height:54px;padding:1.05rem 2.25rem;font-size:.8125rem}
.btn-x--block{width:100%}

/* ============================================================
   4. HEADER & MEGA MENU
   ============================================================ */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1040;transition:background var(--transition-base),box-shadow var(--transition-base),height var(--transition-base);background:transparent;height:var(--header-height)}
.site-header.is-scrolled,.site-header.is-menu-open{background:var(--white);box-shadow:0 1px 0 var(--gray-200),0 4px 16px rgba(4,55,72,.06);height:var(--header-height-sm)}
.site-header:not(.is-scrolled):not(.is-menu-open){background:linear-gradient(180deg,rgba(4,55,72,.55) 0%,rgba(4,55,72,0) 100%)}
.site-header__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.25rem;height:100%;max-width:var(--container-max);margin:0 auto;padding:0 clamp(1rem,3vw,2rem)}
.nav-left{grid-column:1;justify-self:start}
.nav-list{display:flex;gap:.15rem;align-items:center}
.nav-link{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .9rem;font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-navy);cursor:pointer;transition:color var(--transition-fast);background:none;border:0;font-family:inherit}
.site-header:not(.is-scrolled):not(.is-menu-open) .nav-link{color:rgba(255,255,255,.92)}
.nav-link:hover{color:var(--bright-green)}
.site-header:not(.is-scrolled):not(.is-menu-open) .nav-link:hover{color:#fff}
.nav-link svg{width:10px;height:10px;transition:transform var(--transition-base)}
.nav-link[aria-expanded="true"] svg{transform:rotate(180deg)}
.brand{grid-column:2;justify-self:center;display:inline-flex;align-items:center;justify-content:center;height:100%}
.brand__img{height:56px;width:auto;max-width:230px;object-fit:contain;transition:height var(--transition-base)}
.site-header.is-scrolled .brand__img{height:44px}
.brand__fallback{display:none;flex-direction:column;line-height:1;text-align:center}
.brand__fallback strong{font-family:var(--font-heading);font-size:1.05rem;color:var(--brand-navy);font-weight:600}
.brand__fallback small{font-size:.5rem;letter-spacing:.24em;color:var(--brand-gold);margin-top:.3rem;font-weight:600}
.site-header:not(.is-scrolled):not(.is-menu-open) .brand__fallback strong{color:#fff}
.site-header:not(.is-scrolled):not(.is-menu-open) .brand__fallback small{color:var(--brand-gold-light)}
.brand.no-logo .brand__img{display:none}
.brand.no-logo .brand__fallback{display:flex}
.nav-right{grid-column:3;justify-self:end;display:flex;align-items:center;gap:.5rem}
.theme-toggle{background:transparent;border:none;color:var(--brand-navy);font-size:1.25rem;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}
.site-header:not(.is-scrolled):not(.is-menu-open) .theme-toggle{color:#fff}
.lang-desktop{position:relative}
.lang-desktop__btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .8rem;font-size:.75rem;font-weight:600;letter-spacing:.14em;color:var(--brand-navy);background:none;border:0;text-transform:uppercase;cursor:pointer;font-family:inherit;min-height:40px}
.site-header:not(.is-scrolled):not(.is-menu-open) .lang-desktop__btn{color:#fff}
.lang-desktop__btn .chev{width:10px;height:10px;transition:transform var(--transition-base)}
.lang-desktop.is-open .lang-desktop__btn .chev{transform:rotate(180deg)}
.lang-desktop__menu{position:absolute;top:calc(100% + .6rem);right:0;min-width:230px;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.5rem;border:1px solid var(--gray-200);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity var(--transition-base),transform var(--transition-base),visibility var(--transition-base);z-index:1050}
.lang-desktop.is-open .lang-desktop__menu{opacity:1;visibility:visible;transform:translateY(0)}
.lang-desktop__menu button{display:grid;grid-template-columns:34px 1fr;gap:.75rem;align-items:center;width:100%;padding:.75rem .85rem;text-align:left;background:none;border:0;cursor:pointer;border-radius:var(--radius-sm);font-family:inherit;color:var(--gray-700);font-size:.875rem;transition:background var(--transition-fast)}
.lang-desktop__menu button:hover{background:var(--gray-50)}
.lang-desktop__menu button.is-active{background:var(--brand-green-light)}
.lang-desktop__menu .code{font-size:.6875rem;font-weight:700;letter-spacing:.1em;color:var(--gray-500);text-transform:uppercase}
.lang-desktop__menu button.is-active .code{color:var(--bright-green)}
.lang-desktop__menu .name{font-family:var(--font-heading);font-size:1rem;color:var(--brand-navy)}
.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;gap:5px;background:none;border:0;cursor:pointer;color:var(--brand-navy)}
.site-header:not(.is-scrolled):not(.is-menu-open) .hamburger{color:#fff}
.hamburger span{display:block;width:22px;height:2px;background:currentColor;border-radius:2px;transition:transform var(--transition-base),opacity var(--transition-base)}
.lang-mobile{display:none;position:relative}
.lang-mobile__btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:40px;min-width:40px;padding:.4rem .55rem;background:transparent;border:0;cursor:pointer;font-family:inherit;color:var(--brand-navy);font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius-sm)}
.site-header:not(.is-scrolled):not(.is-menu-open) .lang-mobile__btn{color:#fff}
.lang-mobile__btn i{font-size:1.15rem}
.lang-mobile__menu{position:absolute;top:calc(100% + .5rem);right:0;min-width:200px;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.4rem;border:1px solid var(--gray-200);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity var(--transition-base),transform var(--transition-base),visibility var(--transition-base);z-index:1060}
.lang-mobile.is-open .lang-mobile__menu{opacity:1;visibility:visible;transform:translateY(0)}
.lang-mobile__menu button{display:grid;grid-template-columns:34px 1fr;gap:.6rem;align-items:center;width:100%;padding:.65rem .7rem;text-align:left;background:none;border:0;cursor:pointer;border-radius:var(--radius-sm);font-family:inherit;color:var(--gray-700);font-size:.8125rem}
.lang-mobile__menu button.is-active{background:var(--brand-green-light)}
.lang-mobile__menu .code{font-size:.6875rem;font-weight:700;color:var(--gray-500);text-transform:uppercase}
.lang-mobile__menu .name{font-family:var(--font-heading);font-size:.9375rem;color:var(--brand-navy)}
@media (max-width:991.98px){
  :root{--header-height:64px;--header-height-sm:60px}
  .site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1rem}
  .nav-left{display:none!important}
  .brand{order:1;grid-column:auto}
  .brand__img{height:42px;max-width:170px}
  .site-header.is-scrolled .brand__img{height:38px}
  .nav-right{order:2;grid-column:auto;gap:.25rem}
  .nav-right .lang-desktop,.nav-right .btn-x--sm{display:none}
  .hamburger{display:flex}
  .lang-mobile{display:block}
  .theme-toggle{min-height:40px;min-width:40px;font-size:1.15rem}
}

/* Mega Menus & Offcanvas */
.mega-menu{position:fixed;top:var(--header-height-sm);left:0;right:0;background:var(--white);border-top:1px solid var(--gray-200);box-shadow:0 20px 50px rgba(4,55,72,.12);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity var(--transition-base),transform var(--transition-base),visibility var(--transition-base);z-index:1039;pointer-events:none;max-height:calc(100vh - var(--header-height-sm));overflow-y:auto}
.mega-menu.is-open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.mega-menu__inner{max-width:var(--container-max);margin:0 auto;padding:2.5rem clamp(1rem,3vw,2rem) 3rem;display:grid;grid-template-columns:220px 1fr 380px;gap:3rem;align-items:start}
.mega-menu__title{font-family:var(--font-heading);font-size:1.9rem;font-style:italic;font-weight:500;color:var(--brand-navy);line-height:1;border-left:3px solid var(--brand-gold);padding-left:1.25rem}
.mega-menu__title span{display:block;color:var(--brand-gold);font-size:1rem;margin-bottom:.4rem;font-style:normal;letter-spacing:.1em;text-transform:uppercase;font-family:var(--font-body);font-weight:600}
.mega-menu__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem 1rem}
.mega-menu__link{display:flex;flex-direction:column;gap:.15rem;padding:.85rem .75rem;color:var(--gray-700);border-bottom:1px solid var(--gray-100);transition:all var(--transition-fast);border-radius:var(--radius-sm)}
.mega-menu__link:hover{color:var(--bright-green);background:var(--brand-green-light);padding-left:1.15rem}
.mega-menu__link strong{font-family:var(--font-heading);font-style:italic;font-weight:500;font-size:1.05rem;color:var(--brand-navy)}
.mega-menu__link small{font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-gold);font-weight:600}
.mega-menu__preview{position:relative;height:340px;border-radius:var(--radius-lg);overflow:hidden;background:var(--gray-100);box-shadow:var(--shadow-md)}
.mega-menu__preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s ease}
.mega-menu__preview img.is-active{opacity:1}
.mega-menu__preview-label{position:absolute;bottom:1.25rem;left:1.5rem;right:1.5rem;color:#fff;font-family:var(--font-heading);font-style:italic;font-size:1.05rem;z-index:2;text-shadow:0 2px 12px rgba(0,0,0,.75)}
.mega-menu__preview::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(4,55,72,.9) 100%);pointer-events:none;z-index:1}
@media (max-width:1199.98px){.mega-menu__inner{grid-template-columns:180px 1fr 300px;gap:2rem;padding:2rem clamp(1rem,3vw,2rem) 2.5rem}.mega-menu__preview{height:280px}}
@media (max-width:991.98px){.mega-menu{display:none}}

.offcanvas.offcanvas-mobile{width:100vw;max-width:100vw;height:100vh;height:100dvh;background:var(--white);color:var(--brand-navy);display:flex;flex-direction:column;overflow:hidden;z-index:1090!important;border:none}
.offcanvas-mobile .offcanvas-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--gray-200);background:var(--white);flex-shrink:0;display:flex;align-items:center;justify-content:space-between}
.offcanvas-mobile .offcanvas-header img{height:40px;width:auto;max-width:180px;object-fit:contain}
.offcanvas-mobile .offcanvas-body{padding:2rem 1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem;flex:1 1 auto}
.mobile-nav{display:flex;flex-direction:column}
.mobile-nav a{display:block;padding:1rem 0;font-family:var(--font-heading);font-size:1.5rem;font-style:italic;color:var(--brand-navy);border-bottom:1px solid var(--gray-100);font-weight:500}
.mobile-nav a:last-child{border-bottom:0}
.mobile-nav a:hover{color:var(--bright-green);padding-left:.5rem}
.mobile-theme-toggle{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem;background:var(--gray-50);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;color:var(--brand-navy);cursor:pointer}
.mobile-langs{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;padding:1rem;background:var(--gray-50);border-radius:var(--radius-md)}
.mobile-langs__label{grid-column:1/-1;font-size:.625rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--brand-gold);margin-bottom:.5rem;text-align:center}
.mobile-langs button{display:flex;align-items:center;justify-content:center;min-height:48px;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--white);font-size:.8125rem;font-weight:700;color:var(--brand-navy);text-transform:uppercase;font-family:inherit;cursor:pointer}
.mobile-langs button.is-active,.mobile-langs button[aria-pressed="true"]{background:var(--bright-green);border-color:var(--bright-green);color:#fff}

/* ============================================================
   5. HERO
   ============================================================ */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;isolation:isolate;color:#fff;background:var(--brand-navy-dark)}
.hero__media{position:absolute;inset:0;z-index:-2;background:var(--brand-navy-dark)}
.hero__slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.4s ease,visibility 1.4s ease;pointer-events:none;will-change:opacity}
.hero__slide.is-active{opacity:1;visibility:visible}
.hero__slide img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.hero__overlay{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 30% 40%, rgba(2,38,48,.55) 0%, rgba(2,38,48,.25) 45%, rgba(2,38,48,.75) 100%),linear-gradient(180deg, rgba(4,55,72,.55) 0%, rgba(4,55,72,.15) 30%, rgba(2,38,48,.85) 100%)}
.hero__inner{position:relative;z-index:1;width:100%;max-width:var(--container-max);margin:0 auto;padding:calc(var(--header-height) + 4rem) clamp(1.25rem,4vw,3rem) 2rem;display:flex;flex-direction:column;justify-content:center;flex:1 1 auto;text-align:center}
.hero__content{max-width:1000px;margin:0 auto;width:100%}
.hero__eyebrow{display:inline-block;font-size:.6875rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:#fff;background:rgba(22,163,74,.55);padding:.5rem 1.15rem;border-radius:999px;margin:0 0 1.75rem;backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.15)}
.hero__title{font-family:var(--font-body);font-size:clamp(2.5rem,7vw,6rem);line-height:1;font-weight:800;color:#fff;margin:0 0 1.25rem;letter-spacing:-.03em;text-shadow:0 4px 40px rgba(0,0,0,.45);min-height:1.1em}
.hero__title-text{display:inline}
.hero__cursor{display:inline-block;width:3px;height:.9em;background:var(--bright-green-light);margin-left:.1em;vertical-align:-.05em;animation:blink 1s steps(1) infinite}
@keyframes blink{0%,50%{opacity:1}51%,100%{opacity:0}}
.hero__subtitle{font-family:var(--font-body);font-size:clamp(1rem,1.6vw,1.35rem);line-height:1.6;font-weight:300;color:rgba(255,255,255,.92);max-width:720px;margin:0 auto 2.25rem;opacity:0;transform:translateY(10px);transition:opacity .7s ease,transform .7s ease}
.hero__subtitle.is-visible{opacity:1;transform:translateY(0)}
.hero__actions{display:flex;gap:.85rem;justify-content:center;flex-wrap:wrap;margin-bottom:2.5rem;opacity:0;transform:translateY(10px);transition:opacity .7s ease .15s,transform .7s ease .15s}
.hero__actions.is-visible{opacity:1;transform:translateY(0)}
.hero__actions .btn-x{min-width:190px}
.hero__search{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:.5rem;background:rgba(255,255,255,.97);border-radius:999px;padding:.5rem;max-width:960px;margin:0 auto;box-shadow:0 25px 60px rgba(0,0,0,.3);align-items:center;opacity:0;transform:translateY(15px);transition:opacity .7s ease .3s,transform .7s ease .3s}
.hero__search.is-visible{opacity:1;transform:translateY(0)}
.hero__search-field{display:flex;align-items:center;gap:.65rem;padding:.7rem 1rem;border-right:1px solid var(--gray-200);min-width:0}
.hero__search-field:last-of-type{border-right:0}
.hero__search-field i{color:var(--bright-green);font-size:1.1rem;flex-shrink:0}
.hero__search-field .label-stack{display:flex;flex-direction:column;min-width:0;flex:1}
.hero__search-field .label-stack label{font-size:.625rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-500);line-height:1;margin-bottom:.35rem}
.hero__search-field input,.hero__search-field select{width:100%;border:0;padding:0;font-size:.875rem;color:var(--gray-900);background:transparent;font-family:inherit;font-weight:500;text-overflow:ellipsis}
.hero__search-field input:focus,.hero__search-field select:focus{outline:none}
.hero__search-btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--bright-green);color:#fff;border:0;padding:.95rem 1.6rem;border-radius:999px;font-weight:600;font-size:.8125rem;letter-spacing:.05em;cursor:pointer;transition:background var(--transition-fast);white-space:nowrap;font-family:inherit}
.hero__search-btn:hover{background:#15803D}
.hero__bottom{position:relative;z-index:2;width:100%;max-width:var(--container-max);margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem) clamp(1.5rem,3vw,2.25rem);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.hero__dots{display:flex;gap:.5rem;align-items:center}
.hero__dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.35);border:0;cursor:pointer;transition:all var(--transition-fast);padding:0}
.hero__dot.is-active{width:34px;border-radius:999px;background:var(--bright-green)}
.hero__counter{font-size:.8125rem;font-weight:500;letter-spacing:.15em;color:rgba(255,255,255,.85);font-variant-numeric:tabular-nums}
.hero__scroll{font-size:.6875rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:.55rem}
.hero__scroll i{animation:bounceDown 2s infinite}
@keyframes bounceDown{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@media (max-width:991.98px){
  .hero__inner{padding:calc(var(--header-height) + 3rem) 1.25rem 1.5rem}
  .hero__title{font-size:clamp(2rem,8vw,3.5rem)}
  .hero__subtitle{font-size:1rem;margin-bottom:1.5rem}
  .hero__search{grid-template-columns:1fr 1fr;gap:.35rem;padding:.4rem;border-radius:var(--radius-lg)}
  .hero__search-field{border-right:0;border-bottom:1px solid var(--gray-200);padding:.55rem .75rem}
  .hero__search-field:last-of-type{border-bottom:0;padding:0}
  .hero__search-btn{width:100%;padding:.85rem;justify-content:center}
}
@media (max-width:520px){
  .hero__actions{flex-direction:column;align-items:stretch}
  .hero__actions .btn-x{width:100%;min-width:0}
  .hero__title{font-size:clamp(1.75rem,9vw,2.5rem)}
  .hero__search{grid-template-columns:1fr}
  .hero__bottom{justify-content:center;gap:1.5rem;flex-direction:column-reverse}
}
@media (prefers-reduced-motion:reduce){.hero__slide{transition:none}.hero__cursor{animation:none;opacity:1}}

/* ============================================================
   6. TRUST STRIP & FAVORITES
   ============================================================ */
.trust-strip{background:var(--gray-900);color:#fff;padding:2.25rem 0}
.trust-strip__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}
.trust-strip__item{display:flex;flex-direction:column;gap:.35rem;align-items:center}
.trust-strip__icon{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(22,163,74,.25);color:var(--bright-green-light);font-size:1.05rem;margin-bottom:.35rem}
.trust-strip__label{font-size:.6875rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--bright-green-light)}
.trust-strip__value{font-size:.875rem;color:rgba(255,255,255,.9);font-weight:300}
@media (max-width:768px){.trust-strip__grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}}

.fav-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:stretch}
.fav-main-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;min-height:520px;box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base);width:100%}
.fav-main-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.fav-main-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease; background-color: var(--gray-200);}
.fav-main-card:hover img{transform:scale(1.04)}
.fav-main-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1) 0%,rgba(4,55,72,.9) 100%);z-index:1}
.fav-main-content{position:relative;z-index:2;padding:2rem;color:#fff}
.fav-tag{display:inline-block;padding:.35rem .85rem;background:var(--brand-gold);color:#fff;font-size:.625rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:var(--radius-sm);margin-bottom:1rem}
.fav-meta{font-size:.75rem;color:rgba(255,255,255,.85);display:flex;align-items:center;gap:.35rem;margin-bottom:.35rem}
.fav-meta i{color:var(--brand-gold-light)}
.fav-main-title{font-family:var(--font-heading);font-size:clamp(1.75rem,3vw,2.5rem);font-style:italic;color:#fff;margin:0;line-height:1.2;font-weight:500}
.fav-main-sub{font-size:.875rem;color:rgba(255,255,255,.85);margin:.5rem 0 0}
.fav-main-loc{font-size:.75rem;color:rgba(255,255,255,.7);margin:.35rem 0 0;display:flex;align-items:center;gap:.35rem}
.fav-main-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.15)}
.fav-main-link{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-gold-light);display:flex;align-items:center;gap:.5rem}
.fav-side-list{display:flex;flex-direction:column;gap:1rem;justify-content:space-between}
.fav-side-card{display:flex;gap:1.25rem;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:1.15rem;flex:1;transition:all var(--transition-base); width:100%;}
.fav-side-card:hover{border-color:var(--bright-green);box-shadow:var(--shadow-sm);transform:translateX(4px)}
.fav-side-card img{width:130px;height:130px;object-fit:cover;border-radius:var(--radius-md);flex-shrink:0; background-color: var(--gray-200);}
.fav-side-body{display:flex;flex-direction:column;justify-content:center;min-width:0}
.fav-side-body .fav-meta{color:var(--gray-500)}
.fav-side-body .fav-meta i{color:var(--bright-green)}
.fav-side-title{font-family:var(--font-heading);font-size:1.15rem;font-style:italic;color:var(--brand-navy);margin:0 0 .25rem;font-weight:500}
.fav-side-sub{font-size:.8125rem;color:var(--gray-500);margin:0 0 .75rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fav-side-link{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--bright-green);display:flex;align-items:center;gap:.35rem;margin-top:auto}
@media (max-width:991.98px){.fav-grid{grid-template-columns:1fr}.fav-main-card{min-height:400px}.fav-side-card img{width:110px;height:110px}}
@media (max-width:576px){.fav-side-card{flex-direction:column}.fav-side-card img{width:100%;height:180px}}

/* ============================================================
   7. DESTINATIONS
   ============================================================ */
.dest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.dest-card{position:relative;overflow:hidden;border-radius:var(--radius-lg);aspect-ratio:3/4;color:#fff;isolation:isolate;display:flex;align-items:flex-end;padding:1.5rem;box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base);width:100%}
.dest-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.dest-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,55,72,0) 20%,rgba(4,55,72,.92) 100%);z-index:-1}
.dest-card:hover::after{background:linear-gradient(180deg,rgba(4,55,72,.15) 10%,rgba(4,55,72,.98) 100%)}
.dest-card__img{position:absolute;inset:0;z-index:-2;background-color: var(--gray-200);}
.dest-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--transition-slow)}
.dest-card:hover .dest-card__img img{transform:scale(1.06)}
.dest-card__body{position:relative;width:100%;display:flex;flex-direction:column;gap:.5rem}
.dest-card__eyebrow{font-size:.625rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--brand-gold-light);margin:0;opacity:0;transform:translateY(15px);transition:opacity .4s ease,transform .4s ease}
.dest-card__name{font-family:var(--font-heading);font-size:1.5rem;font-style:italic;margin:0;color:#fff;font-weight:500}
.dest-card__text{font-size:.8125rem;line-height:1.6;color:rgba(255,255,255,.85);margin:0;opacity:0;transform:translateY(15px);transition:opacity .4s ease .05s,transform .4s ease .05s;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dest-card__explore{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#fff;margin-top:.5rem;opacity:0;transform:translateY(15px);transition:opacity .4s ease .1s,transform .4s ease .1s}
.dest-card:hover .dest-card__eyebrow,.dest-card:hover .dest-card__text,.dest-card:hover .dest-card__explore{opacity:1;transform:translateY(0)}
.dest-card--wide{grid-column:span 2;aspect-ratio:auto;min-height:400px}
@media (max-width:1024px){.dest-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){
  .dest-grid{grid-template-columns:1fr}
  .dest-card{aspect-ratio:16/10;min-height:300px}
  .dest-card--wide{grid-column:span 1;aspect-ratio:16/10;min-height:300px}
  .dest-card__eyebrow,.dest-card__text,.dest-card__explore{opacity:1;transform:translateY(0)}
}

/* ============================================================
   8. SPOTLIGHT
   ============================================================ */
.spotlight{position:relative;background:#07161b;color:#fff;overflow:hidden;min-height:640px;isolation:isolate}
.spotlight__media{position:absolute;inset:0;z-index:-2}
.spotlight__slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s ease}
.spotlight__slide.is-active{opacity:1;visibility:visible}
.spotlight__slide img{width:100%;height:100%;object-fit:cover;display:block}
.spotlight__overlay{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(100deg, rgba(2,15,18,.94) 0%, rgba(2,15,18,.72) 38%, rgba(2,15,18,.30) 72%, rgba(2,15,18,.55) 100%),linear-gradient(180deg, rgba(2,15,18,.5) 0%, transparent 30%, rgba(2,15,18,.65) 100%)}
.spotlight__inner{position:relative;z-index:1;max-width:var(--container-max);margin:0 auto;padding:clamp(3rem,6vw,5rem) clamp(1.25rem,4vw,3rem);display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:center;min-height:640px}
.spotlight__content{max-width:680px}
.spotlight__tags{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}
.spotlight__badge{display:inline-flex;align-items:center;gap:.45rem;background:var(--bright-green);color:#fff;padding:.4rem .9rem;border-radius:999px;font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.spotlight__region{font-size:.8125rem;color:rgba(255,255,255,.7);font-weight:500}
.spotlight__title{font-family:var(--font-body);font-size:clamp(2.25rem,5vw,4rem);font-weight:800;line-height:1.05;letter-spacing:-.02em;color:#fff;margin:0 0 .75rem;text-shadow:0 4px 30px rgba(0,0,0,.5)}
.spotlight__subtitle{font-size:clamp(1rem,1.5vw,1.25rem);font-weight:300;color:rgba(255,255,255,.85);margin:0 0 1.75rem}
.spotlight__highlights{display:flex;flex-direction:column;gap:.75rem;margin:0 0 2rem;padding:0}
.spotlight__highlights li{display:flex;align-items:flex-start;gap:.75rem;font-size:.9375rem;color:rgba(255,255,255,.9);line-height:1.5}
.spotlight__highlights i{color:var(--bright-green-light);font-size:1.15rem;flex-shrink:0;margin-top:.15rem}
.spotlight__actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}
.spotlight__facts{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);padding:1.75rem 1.5rem;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);max-width:420px;justify-self:end;width:100%}
.spotlight__facts-title{font-size:.6875rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55);margin:0 0 1.25rem}
.spotlight__facts-list{display:flex;flex-direction:column;gap:.9rem;margin:0 0 1.5rem;padding:0}
.spotlight__facts-list li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.9rem;border-bottom:1px solid rgba(255,255,255,.1);font-size:.875rem}
.spotlight__facts-list li:last-child{border-bottom:0;padding-bottom:0}
.spotlight__facts-list .k{color:rgba(255,255,255,.65);font-weight:400}
.spotlight__facts-list .v{color:#fff;font-weight:600;text-align:right}
.spotlight__facts-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;background:var(--bright-green);color:#fff;padding:1rem;border-radius:999px;font-weight:600;font-size:.8125rem;letter-spacing:.05em;transition:background var(--transition-fast)}
.spotlight__facts-btn:hover{background:#15803D}
.spotlight__bottom{position:absolute;bottom:0;left:0;right:0;z-index:3;padding:1.5rem clamp(1.25rem,4vw,3rem);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.spotlight__regions{display:flex;gap:.35rem;flex-wrap:wrap;background:rgba(2,15,18,.55);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:.35rem}
.spotlight__region-btn{padding:.55rem 1rem;font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.72);background:transparent;border:0;border-radius:999px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:all var(--transition-fast)}
.spotlight__region-btn:hover{color:#fff;background:rgba(255,255,255,.08)}
.spotlight__region-btn.is-active{background:var(--bright-green);color:#fff}
.spotlight__nav{display:flex;align-items:center;gap:.75rem;color:rgba(255,255,255,.85)}
.spotlight__nav-btn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:all var(--transition-fast);backdrop-filter:blur(6px)}
.spotlight__nav-btn:hover{background:rgba(255,255,255,.22);border-color:#fff}
.spotlight__counter{font-size:.8125rem;font-weight:600;letter-spacing:.18em;font-variant-numeric:tabular-nums;min-width:60px;text-align:center}
@media (max-width:991.98px){
  .spotlight__inner{grid-template-columns:1fr;gap:2rem;min-height:auto;padding-bottom:8rem}
  .spotlight__facts{justify-self:stretch;max-width:none}
}
@media (max-width:640px){
  .spotlight__bottom{flex-direction:column;align-items:stretch;gap:.85rem}
  .spotlight__regions{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;border-radius:var(--radius-md)}
  .spotlight__regions::-webkit-scrollbar{display:none}
  .spotlight__nav{justify-content:space-between;width:100%}
  .spotlight__actions .btn-x{flex:1;min-width:0}
}

/* ============================================================
   9. TOURS
   ============================================================ */
.tour-toolbar{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:2rem;display:grid;gap:1.25rem;box-shadow:var(--shadow-sm)}
.tour-toolbar__row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.tour-search{position:relative;flex:1;min-width:220px}
.tour-search input{width:100%;padding:.85rem 1rem .85rem 2.85rem;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);font-size:.9375rem;background:var(--white);font-family:inherit;color:var(--gray-900)}
.tour-search input:focus{outline:none;border-color:var(--bright-green);box-shadow:0 0 0 3px rgba(22,163,74,.12)}
.tour-search__icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--gray-500);font-size:1rem}
.tour-sort{display:flex;align-items:center;gap:.5rem}
.tour-sort label{font-size:.6875rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gray-500)}
.tour-sort select{padding:.65rem 1rem;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);background:var(--white);font-size:.8125rem;cursor:pointer;font-family:inherit;color:var(--brand-navy);font-weight:500}
.filter-row{display:grid;gap:1rem;padding-top:1.25rem;border-top:1px solid var(--gray-100)}
.filter-group__label{display:block;font-size:.6875rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--brand-gold);margin-bottom:.65rem}
.filter-scroll{width:100%;overflow-x:auto;scrollbar-width:none;padding-bottom:.35rem}
.filter-scroll::-webkit-scrollbar{display:none}
.filter-track{display:flex;gap:.5rem;width:max-content}
.filter-chip{flex:0 0 auto;padding:.55rem 1.15rem;font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-700);background:var(--white);border:1.5px solid var(--gray-200);border-radius:999px;cursor:pointer;font-family:inherit;min-height:40px;white-space:nowrap}
.filter-chip:hover{border-color:var(--bright-green);color:var(--bright-green)}
.filter-chip.is-active{background:var(--bright-green);color:#fff;border-color:var(--bright-green)}
.filter-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:1.25rem;border-top:1px solid var(--gray-100)}
.filter-actions__info{font-size:.8125rem;color:var(--gray-500);font-weight:500}
.tour-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.tour-card{display:flex;flex-direction:column;background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);transition:transform var(--transition-base),box-shadow var(--transition-base); width:100%;}
.tour-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.tour-card__media{position:relative;overflow:hidden;aspect-ratio:4/3; background-color: var(--gray-200);}
.tour-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--transition-base)}
.tour-card:hover .tour-card__media img{transform:scale(1.05)}
.tour-card__badges{position:absolute;top:.85rem;left:.85rem;display:flex;gap:.35rem;flex-wrap:wrap;z-index:2}
.tour-card__badge{padding:.35rem .75rem;background:var(--brand-gold);color:#fff;font-size:.625rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:999px}
.tour-card__badge--diff{background:rgba(255,255,255,.95);color:var(--brand-navy)}
.tour-card__body{padding:1.35rem;display:flex;flex-direction:column;gap:.65rem;flex:1}
.tour-card__meta{display:flex;gap:.6rem 1.1rem;flex-wrap:wrap;font-size:.75rem;color:var(--gray-500)}
.tour-card__meta span{display:inline-flex;align-items:center;gap:.35rem}
.tour-card__meta i{color:var(--bright-green);font-size:.875rem}
.tour-card__title{font-family:var(--font-heading);font-size:1.25rem;font-style:italic;color:var(--brand-navy);line-height:1.25;margin:0;font-weight:500}
.tour-card__text{font-size:.875rem;color:var(--gray-700);line-height:1.6;margin:0;flex:1}
.tour-card__cta{display:flex;gap:.5rem;flex-wrap:wrap;padding-top:.85rem;border-top:1px solid var(--gray-100);margin-top:.35rem}
.tour-card__cta .btn-x{flex:1;padding:.6rem 1rem;font-size:.6875rem;min-height:42px}
.no-results{grid-column:1/-1;text-align:center;padding:3rem 1.5rem;background:var(--white);border:1.5px dashed var(--gray-200);border-radius:var(--radius-lg)}
.no-results[hidden]{display:none}
@media (max-width:991.98px){.tour-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
  .tour-grid{grid-template-columns:1fr}
  .tour-toolbar{padding:1.15rem}
  .tour-toolbar__row{flex-direction:column;align-items:stretch;gap:.75rem}
  .tour-search{width:100%}
  .tour-sort{justify-content:space-between}
}

/* ============================================================
   10. WHAT WE OFFER & WHY CHOOSE US
   ============================================================ */
.offer-intro{display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;align-items:end;margin-bottom:clamp(2rem,4vw,3rem)}
.offer-intro__title{font-family:var(--font-body);font-size:clamp(2rem,4.5vw,3.5rem);font-weight:800;line-height:1.05;letter-spacing:-.02em;color:var(--gray-900);margin:0 0 1rem}
.offer-intro__title em{font-style:normal;color:var(--bright-green);display:block}
.offer-intro__lead{font-size:1.0625rem;color:var(--gray-600);line-height:1.7;margin:0;max-width:56ch}
.offer-intro__cta{justify-self:end}
@media (max-width:768px){.offer-intro{grid-template-columns:1fr;align-items:start; gap: 1rem;}.offer-intro__cta{justify-self:start}}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.offer-card{position:relative;background:var(--white);border-radius:var(--radius-lg);padding:2rem 1.75rem 1.5rem;border:1px solid var(--gray-100);box-shadow:0 4px 20px rgba(15,23,42,.04);transition:transform var(--transition-base),box-shadow var(--transition-base);display:flex;flex-direction:column;overflow:hidden; width:100%;}
.offer-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--bright-green) 0%,var(--bright-green-light) 100%);opacity:0;transition:opacity var(--transition-base)}
.offer-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(15,23,42,.10)}
.offer-card:hover::before{opacity:1}
.offer-card__head{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.25rem; flex-wrap: wrap;}
.offer-card__icon{width:52px;height:52px;border-radius:14px;background:var(--bright-green-soft);color:var(--bright-green);display:inline-flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}
.offer-card__tag{display:inline-block;padding:.35rem .75rem;background:var(--bright-green-soft);color:#166534;border-radius:999px;font-size:.625rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1;align-self:flex-start;margin-top:.15rem}
.offer-card__popular{margin-left:auto;padding:.35rem .75rem;background:var(--bright-green);color:#fff;border-radius:999px;font-size:.625rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1}
.offer-card__title{font-family:var(--font-body);font-size:1.25rem;font-weight:700;color:var(--gray-900);margin:0 0 .5rem;letter-spacing:-.01em;line-height:1.3}
.offer-card__desc{font-size:.875rem;color:var(--gray-600);line-height:1.65;margin:0 0 1.25rem}
.offer-card__list{display:flex;flex-direction:column;gap:.55rem;margin:0 0 1.5rem;padding:0;flex:1}
.offer-card__list li{display:flex;align-items:flex-start;gap:.55rem;font-size:.8125rem;color:var(--gray-700);line-height:1.5}
.offer-card__list i{color:var(--bright-green);font-size:.95rem;flex-shrink:0;margin-top:.15rem}
.offer-card__more{margin-bottom:1rem}
.offer-card__more summary{cursor:pointer;font-size:.75rem;font-weight:600;color:var(--bright-green);display:inline-flex;align-items:center;gap:.35rem;list-style:none}
.offer-card__more summary::-webkit-details-marker{display:none}
.offer-card__more summary i{transition:transform var(--transition-fast)}
.offer-card__more[open] summary i{transform:rotate(180deg)}
.offer-card__more p{margin:.65rem 0 0;font-size:.8125rem;color:var(--gray-600);line-height:1.6}
.offer-card__btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.9rem 1rem;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--bright-green);transition:background var(--transition-fast);margin-top:auto}
.offer-card__btn:hover{background:#15803D}
.offer-cta{margin-top:2.5rem;background:linear-gradient(120deg,#0B4A3F 0%,#16A34A 50%,#0E7490 100%);border-radius:var(--radius-lg);padding:clamp(1.75rem,4vw,2.5rem);color:#fff;display:grid;grid-template-columns:1.4fr auto;gap:2rem;align-items:center;position:relative;overflow:hidden}
.offer-cta::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 15%, rgba(255,255,255,.15) 0%, transparent 40%);pointer-events:none}
.offer-cta__text{position:relative;z-index:1}
.offer-cta__kicker{font-size:.6875rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--footer-accent);margin:0 0 .75rem}
.offer-cta__title{font-family:var(--font-body);font-size:clamp(1.5rem,2.8vw,2.25rem);font-weight:800;line-height:1.15;letter-spacing:-.015em;color:#fff;margin:0 0 .75rem}
.offer-cta__sub{font-size:.9375rem;color:rgba(255,255,255,.85);margin:0}
.offer-cta__actions{display:flex;gap:.75rem;flex-wrap:wrap;position:relative;z-index:1}
.offer-cta__btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:#fff;color:#0B4A3F;padding:.9rem 1.6rem;border-radius:999px;font-weight:600;font-size:.8125rem;letter-spacing:.05em;transition:all var(--transition-fast)}
.offer-cta__btn-primary:hover{background:var(--footer-accent);color:#04321a;transform:translateY(-2px)}
.offer-cta__btn-outline{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:#fff;padding:.9rem 1.6rem;border-radius:999px;font-weight:600;font-size:.8125rem;letter-spacing:.05em;border:1.5px solid rgba(255,255,255,.5);transition:all var(--transition-fast)}
.offer-cta__btn-outline:hover{background:rgba(255,255,255,.12);border-color:#fff}
@media (max-width:991.98px){.offer-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.offer-grid{grid-template-columns:1fr}.offer-cta{grid-template-columns:1fr;gap:1.5rem}}

.why-intro{text-align:center;max-width:800px;margin:0 auto clamp(2.5rem,5vw,3.5rem)}
.why-intro .eyebrow{justify-content:center;display:inline-flex}
.why-intro .eyebrow::before{display:none}
.why-intro .eyebrow::after{content:"";display:inline-block;width:34px;height:2px;background:var(--bright-green);border-radius:1px}
.why-title{font-family:var(--font-body);font-size:clamp(2rem,4.5vw,3.5rem);font-weight:800;line-height:1.05;letter-spacing:-.02em;color:var(--gray-900);margin:0 0 1rem}
.why-title em{font-style:normal;color:var(--bright-green);display:block}
.why-lead{font-size:1.0625rem;color:var(--gray-600);line-height:1.75;margin:0;max-width:64ch;margin-inline:auto}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.why-card{position:relative;background:linear-gradient(160deg,#F0FDF4 0%,#F8FAFC 100%);border:1px solid #DCFCE7;border-radius:var(--radius-lg);padding:2rem 1.75rem;display:flex;flex-direction:column;transition:transform var(--transition-base),box-shadow var(--transition-base); width:100%;}
.why-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(15,23,42,.08)}
.why-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem; flex-wrap: wrap;}
.why-card__tag{display:inline-block;padding:.35rem .75rem;background:var(--bright-green-soft);color:#166534;border-radius:999px;font-size:.625rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1}
.why-card__icon{width:52px;height:52px;border-radius:14px;background:var(--white);color:var(--bright-green);display:inline-flex;align-items:center;justify-content:center;font-size:1.4rem;border:1px solid #BBF7D0;margin-bottom:1rem;box-shadow:0 4px 12px rgba(22,163,74,.08)}
.why-card__stat{position:absolute;top:1.75rem;right:1.75rem;text-align:right;line-height:1.1}
.why-card__stat strong{font-family:var(--font-body);font-size:2.25rem;font-weight:800;color:var(--bright-green);letter-spacing:-.03em;display:block}
.why-card__stat span{font-size:.6875rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.08em;display:block;margin-top:.25rem}
.why-card__title{font-family:var(--font-body);font-size:1.25rem;font-weight:700;color:var(--gray-900);margin:0 0 .75rem;letter-spacing:-.01em;line-height:1.3}
.why-card__desc{font-size:.875rem;color:var(--gray-600);line-height:1.65;margin:0 0 1.25rem}
.why-card__list{display:flex;flex-direction:column;gap:.55rem;margin:0;padding:0;margin-top:auto}
.why-card__list li{display:flex;align-items:flex-start;gap:.55rem;font-size:.8125rem;color:var(--gray-700);line-height:1.5}
.why-card__list i{color:var(--bright-green);font-size:.95rem;flex-shrink:0;margin-top:.15rem}
.why-cta{margin-top:2.5rem;background:linear-gradient(120deg,#0B4A3F 0%,#16A34A 50%,#0E7490 100%);border-radius:var(--radius-lg);padding:clamp(1.75rem,4vw,2.5rem);color:#fff;display:grid;grid-template-columns:1.5fr auto;gap:2rem;align-items:center;position:relative;overflow:hidden}
.why-cta__title{font-family:var(--font-body);font-size:clamp(1.5rem,2.8vw,2.25rem);font-weight:800;line-height:1.15;letter-spacing:-.015em;color:#fff;margin:0;position:relative;z-index:1}
.why-cta__actions{display:flex;gap:.75rem;flex-wrap:wrap;position:relative;z-index:1}
@media (max-width:991.98px){.why-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
  .why-grid{grid-template-columns:1fr}
  .why-card { padding-top: 5rem; } /* Fix for absolute stat overlapping title */
  .why-cta{grid-template-columns:1fr;gap:1.5rem}
  .why-cta__actions .btn-x{flex:1;min-width:0}
}

/* ============================================================
   11. STORIES CAROUSEL
   ============================================================ */
.stories-intro{display:grid;grid-template-columns:1.5fr auto;gap:2rem;align-items:end;margin-bottom:clamp(2rem,4vw,3rem)}
.stories-intro__title{font-family:var(--font-body);font-size:clamp(2rem,4.5vw,3.5rem);font-weight:800;line-height:1.05;letter-spacing:-.02em;color:var(--gray-900);margin:0 0 1rem}
.stories-intro__title em{font-style:normal;color:var(--bright-green);display:block}
.stories-intro__lead{font-size:1.0625rem;color:var(--gray-600);line-height:1.7;margin:0;max-width:52ch}
.stories-google{background:linear-gradient(160deg,#F0FDF4 0%,#F8FAFC 100%);border:1px solid #DCFCE7;border-radius:var(--radius-lg);padding:1.5rem 1.75rem;display:flex;align-items:center;gap:1.5rem;box-shadow:0 4px 20px rgba(15,23,42,.04)}
.stories-google__logo{width:48px;height:48px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700;color:#4285F4;font-family:var(--font-body);box-shadow:0 2px 8px rgba(15,23,42,.06);flex-shrink:0}
.stories-google__meta{line-height:1.2}
.stories-google__score{font-size:2rem;font-weight:800;color:var(--gray-900);letter-spacing:-.02em;display:block}
.stories-google__stars{color:#F59E0B;font-size:.875rem;letter-spacing:.15em;display:block;margin:.35rem 0 .25rem}
.stories-google__count{font-size:.75rem;color:var(--gray-500);font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.stories-carousel{position:relative;overflow:hidden;margin:0 -0.75rem; padding: 0 0.75rem;}
.stories-track{display:flex;gap:1.5rem;transition:transform .65s cubic-bezier(.22,.61,.36,1);padding:0 .75rem;will-change:transform}
.story-card{flex:0 0 calc((100% - 3rem) / 3);background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:1.75rem 1.5rem;display:flex;flex-direction:column;min-height:290px;transition:box-shadow var(--transition-base),transform var(--transition-base); width:100%;}
.story-card:hover{box-shadow:0 20px 40px rgba(15,23,42,.08);transform:translateY(-4px)}
.story-card__head{display:flex;align-items:center;gap:.65rem;margin-bottom:1rem}
.story-card__g{width:28px;height:28px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:#4285F4;font-family:var(--font-body);border:1px solid var(--gray-200);flex-shrink:0}
.story-card__g-label{font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500)}
.story-card__stars{color:#F59E0B;font-size:.8125rem;letter-spacing:.1em;margin-left:auto}
.story-card__text{font-size:.9375rem;color:var(--gray-700);line-height:1.7;margin:0 0 1.25rem;flex:1}
.story-card__highlight{display:inline-flex;align-items:center;gap:.5rem;background:#ECFDF5;color:#166534;padding:.5rem .9rem;border-radius:999px;font-size:.75rem;font-weight:600;margin:0 0 1.25rem;align-self:flex-start;border:1px solid #BBF7D0}
.story-card__highlight i{color:#16A34A;font-size:.95rem}
.story-card__footer{display:flex;align-items:center;gap:1rem;padding-top:1.25rem;border-top:1px solid var(--gray-100)}
.story-card__avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--gray-100);background:var(--gray-100)}
.story-card__meta{flex:1;min-width:0;line-height:1.3}
.story-card__name{font-size:.875rem;font-weight:700;color:var(--gray-900);display:block}
.story-card__loc{font-size:.75rem;color:var(--gray-500);display:block;margin-top:.15rem}
.story-card__verified{display:inline-flex;align-items:center;gap:.25rem;font-size:.6875rem;color:#16A34A;font-weight:600;margin-top:.25rem}
.stories-controls{display:flex;justify-content:center;align-items:center;gap:1rem;margin:2rem 0 0}
.stories-nav-btn{width:44px;height:44px;border-radius:50%;background:var(--white);border:1px solid var(--gray-200);color:var(--gray-800);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:all var(--transition-fast);box-shadow:0 4px 12px rgba(15,23,42,.06)}
.stories-nav-btn:hover:not(:disabled){background:var(--bright-green);color:#fff;border-color:var(--bright-green)}
.stories-nav-btn:disabled{opacity:.35;cursor:not-allowed}
.stories-dots{display:flex;gap:.5rem;align-items:center}
.stories-dot{width:8px;height:8px;border-radius:50%;background:var(--gray-300);border:0;cursor:pointer;padding:0;transition:all var(--transition-fast)}
.stories-dot.is-active{width:28px;border-radius:999px;background:var(--bright-green)}
.stories-google-badge{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1.75rem;padding-top:1.75rem;border-top:1px solid var(--gray-200);font-size:.8125rem;color:var(--gray-500)}
.stories-google-badge__g{width:32px;height:32px;border-radius:50%;background:#fff;border:1px solid var(--gray-200);display:flex;align-items:center;justify-content:center;font-weight:700;color:#4285F4;font-family:var(--font-body)}
.stories-google-badge strong{color:var(--gray-900)}
.stories-google-badge .score{color:var(--bright-green);font-weight:700}
@media (max-width:991.98px){
  .stories-intro{grid-template-columns:1fr;align-items:start; gap: 1rem;}
  .stories-google{width:100%;max-width:360px}
  .story-card{flex:0 0 calc((100% - 1.5rem) / 2)}
}
@media (max-width:640px){
  .story-card{flex:0 0 100%}
}

/* ============================================================
   12. FAQ & CONTACT
   ============================================================ */
.faq-list{background:var(--white);border-radius:var(--radius-lg);padding:0 1.5rem;box-shadow:var(--shadow-sm)}
.faq-list .accordion-item{background:transparent;border:0;border-bottom:1px solid var(--gray-100)}
.faq-list .accordion-item:last-child{border-bottom:0}
.faq-list .accordion-button{background:transparent;padding:1.35rem 0;font-family:var(--font-heading);font-size:1.0625rem;font-style:italic;font-weight:500;color:var(--brand-navy);box-shadow:none;border-radius:0}
.faq-list .accordion-button:not(.collapsed){color:var(--bright-green);background:transparent;box-shadow:none}
.faq-list .accordion-button::after{background-image:none;content:"+";font-family:var(--font-body);font-size:1.5rem;font-weight:300;color:var(--brand-gold);width:auto;height:auto;line-height:1;transform:none}
.faq-list .accordion-button:not(.collapsed)::after{transform:rotate(45deg);color:var(--bright-green)}
.faq-list .accordion-body{padding:0 0 1.5rem;font-size:.9375rem;color:var(--gray-700);line-height:1.75}

.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:start}
.contact-aside{background:var(--ivory);padding:2rem;border-radius:var(--radius-lg);border:1px solid var(--gray-200)}
.contact-aside h3{font-family:var(--font-heading);font-style:italic;font-size:1.35rem;color:var(--brand-navy);margin:0 0 .75rem;font-weight:500}
.contact-aside p{color:var(--gray-700);margin-bottom:1.5rem;line-height:1.7}
.contact-list{display:flex;flex-direction:column;gap:1.15rem}
.contact-list li{display:flex;gap:.9rem;align-items:flex-start}
.contact-list__icon{width:38px;height:38px;border-radius:50%;background:var(--white);color:var(--bright-green);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--gray-200)}
.contact-list__label{font-size:.625rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--brand-gold);margin-bottom:.2rem}
.contact-list__val{font-size:.9375rem;color:var(--brand-navy);font-weight:500}
.contact-form{background:var(--white);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--gray-100)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-field{display:flex;flex-direction:column;margin-bottom:1.15rem}
.form-field label{font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-navy);margin-bottom:.5rem}
.form-field label .req{color:var(--brand-gold)}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:.85rem 1rem;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);background:var(--white);font-size:.9375rem;font-family:inherit;color:var(--gray-900)}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--bright-green);box-shadow:0 0 0 3px rgba(22,163,74,.12)}
.form-field textarea{resize:vertical;min-height:120px}
.form-check{display:flex;gap:.75rem;align-items:flex-start;font-size:.875rem;color:var(--gray-700);margin-bottom:1.25rem}
.form-check input{margin-top:.35rem;flex-shrink:0;accent-color:var(--bright-green);width:1.1rem;height:1.1rem}
.form-status{margin-top:1rem;font-size:.875rem;text-align:center;min-height:1.2em;font-weight:500}
.form-status.is-success{color:var(--color-success)}
.form-status.is-error{color:var(--color-error)}
@media (max-width:768px){.contact-grid{grid-template-columns:1fr;gap:2rem}.form-row{grid-template-columns:1fr}.contact-form,.contact-aside{padding:1.5rem}}

/* ============================================================
   13. FOOTER
   ============================================================ */
.site-footer{background:linear-gradient(180deg,#0B4A3F 0%,#063D33 55%,#032B24 100%);color:rgba(255,255,255,.78);padding:clamp(3rem,6vw,4.5rem) 0 1.5rem;font-size:.875rem}
[data-theme="dark"] .site-footer{background:linear-gradient(180deg,#06261F 0%,#031A15 55%,#010E0B 100%)}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1.7fr;gap:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-brand__logo{width:96px;height:96px;border-radius:50%;background:#fff;padding:6px;object-fit:contain;margin-bottom:1.25rem}
.footer-brand__desc{font-size:.875rem;line-height:1.7;color:rgba(255,255,255,.72);margin:0 0 1.5rem;max-width:32ch}
.footer-brand__contact{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}
.footer-brand__contact li{display:flex;gap:.7rem;align-items:flex-start;font-size:.8125rem;color:rgba(255,255,255,.78);line-height:1.5}
.footer-brand__contact li i{color:var(--footer-accent);flex-shrink:0;margin-top:.2rem;font-size:.95rem}
.footer-brand__contact a{color:rgba(255,255,255,.78);word-break:break-word}
.footer-socials{display:flex;gap:.55rem;flex-wrap:wrap}
.footer-socials a{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.09);color:#fff;font-size:1rem;border:1px solid rgba(255,255,255,.08);transition:all .25s ease}
.footer-socials a:hover{background:var(--footer-accent);color:#032B24;transform:translateY(-3px)}
.footer-col__title{font-size:.9375rem;font-weight:600;color:#fff;margin:0 0 1.5rem;font-family:var(--font-body);position:relative;padding-bottom:.85rem}
.footer-col__title::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:2px;background:var(--footer-accent);border-radius:1px}
.footer-col ul{display:flex;flex-direction:column;gap:.7rem}
.footer-col ul a{display:inline-flex;align-items:center;gap:.5rem;font-size:.8125rem;color:rgba(255,255,255,.72);transition:color .2s}
.footer-col ul a i{font-size:.6875rem;color:var(--footer-accent)}
.footer-col ul a:hover{color:#fff}
.footer-col--newsletter p{font-size:.8125rem;color:rgba(255,255,255,.72);line-height:1.6;margin:0 0 1rem}
.footer-newsletter{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.5rem}
.footer-newsletter input{width:100%;padding:.85rem 1rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:8px;color:#fff;font-size:.8125rem;font-family:inherit}
.footer-newsletter input::placeholder{color:rgba(255,255,255,.45)}
.footer-newsletter button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.15rem;background:#16A34A;color:#fff;border:none;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;font-family:inherit}
.footer-newsletter button:hover{background:#15803D}
.footer-newsletter__status{font-size:.75rem;color:var(--footer-accent);min-height:1em;margin:0}
.footer-payments{margin-bottom:1.5rem}
.footer-payments__label{display:block;font-size:.6875rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:.75rem}
.footer-payments__badges{display:flex;gap:.5rem;flex-wrap:wrap}
.footer-payments__badges .payment-badge{background:#fff;color:#0F172A;padding:.35rem .65rem;border-radius:4px;font-size:.625rem;font-weight:700;text-transform:uppercase}
.footer-certifications{display:flex;flex-direction:column;gap:.55rem}
.footer-certifications li{display:flex;gap:.55rem;align-items:flex-start;font-size:.75rem;color:rgba(255,255,255,.7);line-height:1.5}
.footer-certifications i{color:var(--footer-accent);font-size:.875rem;margin-top:.15rem;flex-shrink:0}
.footer-bottom{padding-top:1.75rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;font-size:.75rem;color:rgba(255,255,255,.5)}
.footer-legal{display:flex;gap:1.25rem;flex-wrap:wrap}
.footer-legal a:hover{color:#fff}
@media (max-width:1100px){.footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:2.25rem}.footer-brand{grid-column:1/-1}.footer-col--newsletter{grid-column:1/-1}}
@media (max-width:640px){.footer-grid{grid-template-columns:1fr;gap:2rem}.footer-bottom{flex-direction:column;text-align:center}.footer-legal{justify-content:center}}

/* ============================================================
   14. FAB / BACK TO TOP / REVEAL
   ============================================================ */
.fab-wrapper{position:fixed;right:1.25rem;bottom:1.25rem;z-index:1050;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}
.fab-trigger{width:60px;height:60px;border-radius:50%;background:var(--bright-green);color:#fff;border:none;font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px rgba(22,163,74,.35);transition:transform .3s ease,background .3s ease}
.fab-trigger:hover{transform:scale(1.05);background:#15803D}
.fab-trigger.active{transform:rotate(90deg);background:var(--brand-navy)}
.fab-menu{display:flex;flex-direction:column;gap:.75rem;opacity:0;visibility:hidden;transform:translateY(20px);transition:all .3s cubic-bezier(.175,.885,.32,1.275);pointer-events:none}
.fab-menu.active{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.fab-item{display:flex;align-items:center;gap:.85rem;background:rgba(30,30,30,.85);backdrop-filter:blur(10px);padding:.6rem 1rem .6rem 1.25rem;border-radius:var(--radius-lg);box-shadow:0 4px 12px rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.1);transition:transform .2s ease,background .2s ease}
.fab-item:hover{transform:translateX(-5px);background:rgba(40,40,40,.95)}
.fab-label{font-size:.8125rem;font-weight:500;color:#fff;white-space:nowrap}
.fab-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;flex-shrink:0}
.fab-icon--gold{background:var(--brand-gold)}
.fab-icon--green{background:#25D366}
.fab-icon--brown{background:#8B5A2B}
@media (max-width:520px){.fab-wrapper{right:1rem;bottom:1rem}.fab-trigger{width:54px;height:54px;font-size:1.3rem}}
.back-to-top{position:fixed;left:1rem;bottom:1.25rem;z-index:1049;width:48px;height:48px;border-radius:50%;background:var(--bright-green);color:#fff;border:none;display:none;align-items:center;justify-content:center;font-size:1.25rem;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.28);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .3s ease,transform .3s ease,visibility .3s ease,background .2s ease}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
@media (max-width:991.98px){.back-to-top{display:inline-flex}}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .45s ease-out,transform .45s ease-out}
.reveal.is-visible{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

@media (max-width:380px){
  .brand__img{height:36px;max-width:140px}
  .site-header.is-scrolled .brand__img{height:34px}
}