/* ---- shared top menu (same on every landing page) ---- */
.site-header{ position:fixed; inset:0 0 auto 0; z-index:50; padding:0 12px; color:var(--nav-top-ink, #fff); background:transparent; box-shadow:none; }
.site-header .wrap{ max-width:1280px; }
.site-header .bar{ height:76px; display:flex; align-items:center; gap:28px; border-radius:999px; transition:background .3s ease, box-shadow .3s ease, margin .3s ease, height .3s ease; }
.site-header .brand img{ height:44px; width:auto; }
.site-header .brand .logo-dark{ display:none; }
.site-header nav{ margin-left:auto; display:flex; align-items:center; gap:26px; font:600 .8rem "Montserrat", sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.site-header nav a{ text-decoration:none; padding:6px 0; border-bottom:1px solid transparent; }
.site-header nav a:hover, .site-header nav a[aria-current="page"]{ border-bottom-color:currentColor; }
.site-header .btn{ min-height:42px; padding:0 18px; font-size:.78rem; border-radius:999px; }
.site-header.solid{ color:var(--nav-ink); background:transparent; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
.site-header.solid .bar{ margin-top:10px; height:62px; background:var(--nav-bg); box-shadow:0 10px 30px rgba(0,0,0,.18), inset 0 0 0 1px var(--nav-line); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.site-header.solid.dark-logo .brand .logo-light{ display:none; }
.site-header.solid.dark-logo .brand .logo-dark{ display:block; }
.menu-btn{ display:none; width:44px; height:44px; margin-left:auto; padding:10px; border:0; border-radius:50%; background:none; color:inherit; cursor:pointer; }
.menu-btn svg{ width:24px; height:24px; }
.menu-btn .i-close{ display:none; }
body.menu-open .menu-btn .i-open{ display:none; }
body.menu-open .menu-btn .i-close{ display:block; }
.mnav{ display:none; }
@media (max-width: 860px){
  .site-header{ padding:0 8px; }
  .site-header .bar{ height:66px; gap:14px; }
  .site-header.solid .bar{ margin-top:8px; height:56px; }
  .site-header .brand img{ height:36px; }
  .site-header nav, .site-header .btn{ display:none; }
  .menu-btn{ display:block; }
  .mnav{ position:fixed; inset:0; z-index:45; display:flex; flex-direction:column; gap:4px; padding:96px 20px 40px; background:var(--menu-bg); color:var(--nav-ink); border-radius:0 0 32px 32px; overflow:auto; opacity:0; visibility:hidden; transition:opacity .25s ease, visibility 0s .25s; }
  body.menu-open .mnav{ opacity:1; visibility:visible; transition:opacity .25s ease; }
  body.menu-open{ overflow:hidden; }
  body.menu-open .site-header{ color:var(--nav-ink); }
  body.menu-open .site-header.dark-logo .brand .logo-light, body.menu-open .site-header.light-menu .brand .logo-light{ display:none; }
  body.menu-open .site-header.dark-logo .brand .logo-dark, body.menu-open .site-header.light-menu .brand .logo-dark{ display:block; }
  body.menu-open .site-header .bar{ background:transparent; box-shadow:none; }
  body.menu-open .mbar{ transform:translateY(110%); }
  .mnav > a:not(.btn){ font:300 2.1rem/1.2 "Montserrat", sans-serif; text-transform:none; letter-spacing:-.03em; text-decoration:none; padding:10px 0; border-bottom:1px solid var(--nav-line); }
  .mnav > a[aria-current="page"]{ color:var(--nav-accent); }
  .mnav .btn{ margin-top:28px; border-radius:999px; }
  .mnav-small{ display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:24px; font-size:.95rem; }
  .mnav-small a{ text-decoration:none; border-bottom:1px solid var(--nav-line); }
}
/* Same menu on every page: dark pill with the white logo (Oct 2026). This file loads after each
   page's own style.css, so these values win over the page's light-menu settings. */
:root{ --nav-bg:rgba(28,27,26,.86); --nav-ink:#F4EFE8; --nav-line:rgba(244,239,232,.14); --menu-bg:#1C1B1A; --nav-accent:#C9A67F; }
.site-header .brand .logo-dark{ display:none !important; }
.site-header .brand .logo-light{ display:block !important; }
/* legal links at the bottom of every footer */
.legal-bar{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px 26px; padding:18px 20px 22px; font:500 .74rem/1.4 "Montserrat",sans-serif; letter-spacing:.06em; }
.legal-bar a{ color:inherit; opacity:.75; text-decoration:none; border-bottom:1px solid transparent; transition:opacity .25s, border-color .25s; }
.legal-bar a:hover, .legal-bar a:focus-visible{ opacity:1; border-bottom-color:currentColor; }
.legal-foot{ background:#1C1B1A; color:#F4EFE8; }
/* ONE TYPEFACE (Oct 2026): titles on every page in Montserrat, sentence case. The older landing pages
   styled titles with Antonio uppercase through --display; this file loads last, so it re-sets them here. */
:root{ --display:"Montserrat","Helvetica Neue",Arial,sans-serif; }
.h-xl{ font-weight:700 !important; text-transform:none !important; letter-spacing:-.035em !important; font-size:clamp(2.2rem,4.3vw,3.8rem) !important; line-height:1.05 !important; }
.h-lg{ font-weight:700 !important; text-transform:none !important; letter-spacing:-.03em !important; font-size:clamp(1.8rem,3.1vw,2.7rem) !important; line-height:1.08 !important; }
.h-md{ font-weight:700 !important; text-transform:none !important; letter-spacing:-.02em !important; font-size:clamp(1.3rem,1.9vw,1.65rem) !important; line-height:1.15 !important; }
.who h3,.pkg h3,.plan h3,.trial h3,.bundle h3,.steps h3,.card h3,.get h3,.how h3,.jobs b,.awards b,.proof-list b,.small-pkg p:first-child,.stat-l{
  font-weight:700 !important; text-transform:none !important; letter-spacing:-.02em !important; font-size:clamp(1.12rem,1.5vw,1.32rem) !important; line-height:1.2 !important; }
.stat-l{ font-size:clamp(1.3rem,2.2vw,1.8rem) !important; }
.proof-list b{ font-size:clamp(1.4rem,2.4vw,2rem) !important; }
.price,.pkg .price,.total b,.stat b{ font-weight:300 !important; letter-spacing:-.04em !important; }
.price,.pkg .price{ font-size:2.4rem !important; }
.total b{ font-size:1.7rem !important; }
.stat-n{ font-weight:200 !important; letter-spacing:-.05em !important; font-size:clamp(4rem,11vw,8.5rem) !important; }
.steps .n,.how .n{ font-weight:300 !important; letter-spacing:-.03em !important; }
/* texting / calling consent under the booking forms */
.consent{ font-size:.78rem; line-height:1.55; opacity:.78; margin:10px 0 0; max-width:62ch; }
.consent a{ color:inherit; text-decoration:underline; }
