@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Inter:wght@400;500;600&display=swap');
:root{
  --logo-ts-h: 56px;
  --logo-wordmark-h: 28px;

  /* Keep the same core colors (purple + gold), but refine them for a calmer premium look */
  --bg:#F6F3EE;
  --surface:#FFFFFF;
  --text:#171717;
  --muted:rgba(23,23,23,.72);

  --purple:#3E2A74;
  --purpleHover:#32215F;
  --gold:#C6A24C;

  --border:rgba(23,23,23,.10);
  --borderSoft:rgba(23,23,23,.07);

  --radius:20px;
  --radiusLg:28px;
  --shadowSoft:0 10px 30px rgba(0,0,0,.06);
  --shadowHover:0 18px 48px rgba(0,0,0,.10);

  --max:1160px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;width:100%;overflow-x:hidden}
body{
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
  background:var(--bg); color:var(--text); line-height:1.5;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Subtle premium background texture (kept quiet on purpose) */
body.layout-relaxed{position:relative; isolation:isolate;}
body.layout-relaxed::before,
body.layout-relaxed::after{
  content:"";
  position:fixed;
  inset:-40vh -20vw;
  z-index:-1;
  pointer-events:none;
  filter:blur(40px);
  opacity:.55;
}
body.layout-relaxed::before{
  background:
    radial-gradient(900px 420px at 15% 12%, rgba(62,42,116,.16), transparent 60%),
    radial-gradient(780px 380px at 85% 75%, rgba(198,162,76,.14), transparent 60%);
}
body.layout-relaxed::after{
  background:
    radial-gradient(840px 420px at 65% 5%, rgba(255,255,255,.70), transparent 62%),
    radial-gradient(760px 420px at 30% 85%, rgba(255,255,255,.62), transparent 60%);
  opacity:.35;
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--purple)}
.container{width:min(var(--max),calc(100% - 40px)); margin:0 auto}

/* Accessibility */
.skip{
  position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip:focus{
  left:12px; top:12px; width:auto; height:auto; padding:10px 12px;
  background:rgba(255,255,255,.95); border:1px solid var(--border); border-radius:12px;
  z-index:1000;
}

/* Header / Nav */
header{position:sticky; top:0; z-index:50; background:rgba(0,0,0,.28); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-bottom:1px solid rgba(255,255,255,.14)}
body.header-scrolled header{box-shadow:0 10px 28px rgba(0,0,0,.06)}
.navbar{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 0}
.brand{display:flex; align-items:center; gap:10px; min-width:240px}
.brand-mark{width:28px;height:28px;flex:0 0 auto}
.brand-name{font-weight:800; letter-spacing:.2px}
.brand-tag{font-size:12px; color:var(--muted); margin-top:2px}
nav{display:flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:center}
.nav-link{
  font-size:14px;
  color:rgba(23,23,23,.82);
  padding:10px 10px;
  border-radius:4px;
  position:relative;
  transition:background .2s ease, transform .12s ease, color .2s ease;
}
.nav-link::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:6px;
  height:2px;
  background:linear-gradient(90deg, var(--gold), rgba(198,162,76,.35));
  border-radius:4px;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .22s ease;
  opacity:.9;
}
.nav-link:hover{background:rgba(255,255,255,.70); transform:translateY(-1px)}
.nav-link:hover::after{transform:scaleX(1)}
.nav-link[aria-current="page"]{
  color:var(--text);
  background:rgba(255,255,255,.80);
  border:1px solid var(--borderSoft);
}
.nav-link[aria-current="page"]::after{transform:scaleX(1)}
.nav-actions{display:flex; align-items:center; gap:10px; min-width:260px; justify-content:flex-end}

@media (max-width:920px){
  .navbar{flex-wrap:wrap}
  .brand{min-width:auto}
  .nav-actions{min-width:auto; width:100%; justify-content:flex-start}
  nav{width:100%; justify-content:flex-start}
}

/* Buttons / Pills */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  border-radius:4px; padding:10px 14px; font-weight:700;
  border:1px solid var(--borderSoft); background:rgba(255,255,255,.92); cursor:pointer;
  transition:transform .14s ease, background .2s ease, border .2s ease, box-shadow .2s ease;
  font-size:14px;
}
.btn:hover{transform:translateY(-2px); box-shadow:0 10px 22px rgba(0,0,0,.08)}
.btn:active{transform:translateY(-1px)}
.btn-primary{background:var(--purple); border-color:var(--purple); color:#fff}
.btn-primary:hover{background:var(--purpleHover); border-color:var(--purpleHover)}
.btn-ghost{background:transparent}

.pill{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 10px; border-radius:4px;
  border:1px solid rgba(198,162,76,.35);
  background:rgba(255,255,255,.78);
  font-size:12px; color:rgba(31,31,31,.82);
}

/* Layout */
main{padding:28px 0 56px}
.section{padding:26px 0}
.section-title{margin:0 0 12px; font-size:18px; letter-spacing:-.2px}
.section-sub{margin:0 0 18px; color:rgba(31,31,31,.78); max-width:72ch}

/* Scroll reveal (subtle, not "everything everywhere") */
.reveal{opacity:0; transform:translateY(14px); transition:opacity .65s ease, transform .65s ease; will-change:opacity,transform}
.reveal.reveal-in{opacity:1; transform:none}
.reveal.reveal-delay-1{transition-delay:.06s}
.reveal.reveal-delay-2{transition-delay:.12s}
.reveal.reveal-delay-3{transition-delay:.18s}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1 !important; transform:none !important; transition:none !important}
  html{scroll-behavior:auto}
}

/* Hero */
.hero{display:grid; grid-template-columns:1.15fr .85fr; gap:26px; align-items:center; padding:28px 0 10px}
@media (max-width:920px){ .hero{grid-template-columns:1fr; padding-top:18px} }

.hero-card{
  background:rgba(255,255,255,.90);
  border:1px solid var(--borderSoft);
  border-radius:var(--radiusLg);
  padding:28px;
  box-shadow:var(--shadowSoft);
  position:relative;
  overflow:hidden;
}
.hero-card::before{
  content:"";
  position:absolute;
  inset:-120px;
  background:
    radial-gradient(520px 220px at 18% 22%, rgba(62,42,116,.16), transparent 60%),
    radial-gradient(520px 220px at 78% 72%, rgba(198,162,76,.14), transparent 62%);
  pointer-events:none;
}
.hero-card > *{position:relative}
.h1{font-size:clamp(28px,3.2vw,44px); line-height:1.15; margin:0; letter-spacing:-.4px}
.gold-underline{height:2px; width:64px; background:var(--gold); border-radius:4px; margin:12px 0 18px}
.subhead{margin:0; color:rgba(31,31,31,.78); font-size:16px; max-width:56ch}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px}
.trustline{margin-top:18px; display:flex; gap:10px; flex-wrap:wrap}

.media{
  border-radius:calc(var(--radius) + 10px);
  overflow:hidden;
  border:0;
  background:transparent;
  box-shadow:none;
  min-height:320px;
  position:relative;
  padding:0;
}
.media::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(600px 220px at 30% 20%, rgba(62,42,116,.12), transparent 60%),
    radial-gradient(560px 220px at 70% 70%, rgba(200,162,74,.14), transparent 60%);
  pointer-events:none;
}
.media-inner{position:relative; padding:18px; height:100%; display:flex; flex-direction:column; justify-content:flex-end; gap:10px}
.media-label{align-self:flex-start; background:rgba(255,255,255,.82); border:1px solid rgba(200,162,74,.35); padding:7px 10px; border-radius:4px; font-size:12px}
.media-note{background:rgba(255,255,255,.86); border:1px solid var(--border); padding:12px 14px; border-radius:14px; color:rgba(31,31,31,.78); font-size:13px}

/* Cards / Grids */
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
@media (max-width:920px){ .grid-3{grid-template-columns:1fr} }

.card{
  background:var(--surface);
  border:1px solid var(--borderSoft);
  border-radius:var(--radiusLg);
  padding:18px;
  box-shadow:0 10px 22px rgba(0,0,0,.05);
  position:relative;
  transition:transform .16s ease, box-shadow .22s ease, border .22s ease, background .22s ease;
}
.card:hover{transform:translateY(-4px); box-shadow:var(--shadowHover); border-color:rgba(23,23,23,.10)}
.card.accent::before{
  content:""; position:absolute; top:0; left:0; right:0; height:2px;
  background:var(--gold);
  border-top-left-radius:var(--radius);
  border-top-right-radius:var(--radius);
}
.card h3{margin:0 0 6px; font-size:16px}
.card p{margin:0; color:rgba(31,31,31,.74); font-size:14px}
.card a{display:inline-flex; margin-top:10px; font-weight:800; font-size:14px; color:var(--purple)}

/* Steps */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
@media (max-width:920px){ .steps{grid-template-columns:1fr} }
.step{background:rgba(255,255,255,.86); border:1px solid var(--border); border-radius:var(--radius); padding:18px}
.kicker{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px}
.num{width:28px;height:28px;border-radius:4px;border:1px solid rgba(200,162,74,.55); display:flex; align-items:center; justify-content:center; font-weight:900; font-size:13px}
.step h4{margin:0; font-size:16px}
.step p{margin:8px 0 0; color:rgba(31,31,31,.74); font-size:14px}

.split{display:grid; grid-template-columns:1fr 1fr; gap:16px}
@media (max-width:920px){ .split{grid-template-columns:1fr} }

/* Details (FAQ / Policies) */
details{background:rgba(255,255,255,.86); border:1px solid var(--borderSoft); border-radius:16px; padding:12px 14px}
summary{cursor:pointer; font-weight:900; list-style:none; position:relative; padding-right:28px}
summary::-webkit-details-marker{display:none}
summary::after{
  content:"+";
  position:absolute;
  right:6px;
  top:50%;
  transform:translateY(-50%);
  width:22px;
  height:22px;
  border-radius:4px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  color:rgba(23,23,23,.80);
  background:rgba(255,255,255,.70);
  border:1px solid rgba(23,23,23,.10);
}
details[open] summary::after{content:"–"}
details p{margin:10px 0 0; color:rgba(31,31,31,.76); font-size:14px}

/* Contact form */
.form{display:grid; gap:12px}
.field{display:grid; gap:6px}
label{font-size:13px; color:rgba(31,31,31,.78); font-weight:800}
input,select,textarea{
  border-radius:14px; border:1px solid var(--border);
  padding:12px 12px; font-size:14px;
  background:rgba(255,255,255,.92);
  outline:none;
}
textarea{min-height:120px; resize:vertical}

/* CTA band */
.cta{
  background:#121212; color:#fff;
  border-radius:calc(var(--radiusLg) + 2px);
  padding:22px;
  border:1px solid rgba(200,162,74,.22);
  position:relative; overflow:hidden;
}
.cta::before{
  content:""; position:absolute; inset:-80px;
  background:
    radial-gradient(420px 220px at 25% 30%, rgba(62,42,116,.35), transparent 60%),
    radial-gradient(360px 200px at 80% 70%, rgba(200,162,74,.28), transparent 60%);
  pointer-events:none;
}
.cta-inner{position:relative; display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap}
.cta h2{margin:0; font-size:20px; letter-spacing:-.2px}
.cta p{margin:6px 0 0; color:rgba(255,255,255,.78); max-width:60ch; font-size:14px}
.cta .btn{border-color:rgba(255,255,255,.16)}
.cta .btn-ghost{color:#fff; background:transparent}
.cta .btn-primary{background:var(--gold); border-color:var(--gold); color:#111}
.cta .btn-primary:hover{filter:brightness(.95)}

/* Footer */
footer{background:#121212; color:rgba(255,255,255,.82); padding:34px 0; border-top:1px solid rgba(200,162,74,.18)}
.footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:20px}
@media (max-width:920px){ .footer-grid{grid-template-columns:1fr} }
.footer-title{margin:0 0 8px; color:#fff; font-weight:900}
.small{font-size:12px; color:rgba(255,255,255,.66); margin-top:14px}


/* =========================================================
   Relaxed layout overrides (less boxed, more breathing room)
   ========================================================= */
body.layout-relaxed main{padding:44px 0 80px;}
body.layout-relaxed .container{width:min(var(--max),calc(100% - 56px));}
@media (max-width:920px){body.layout-relaxed .container{width:calc(100% - 32px);}}

/* More breathing room between sections */
body.layout-relaxed .section{padding:44px 0;}
body.layout-relaxed .section-title{font-size:19px; margin:0 0 14px;}
body.layout-relaxed .section-sub{margin:0 0 22px; max-width:78ch;}

/* Make hero feel open instead of boxed */
body.layout-relaxed .hero{gap:44px; padding:46px 0 12px; align-items:start;}
body.layout-relaxed .hero-card{background:transparent; border:0; box-shadow:none; padding:0;}
body.layout-relaxed .hero-card::before{display:none}
body.layout-relaxed .subhead{max-width:62ch; font-size:16px;}
body.layout-relaxed .hero-actions{margin-top:22px;}
body.layout-relaxed .trustline{margin-top:22px;}

/* Reduce "card wall" effect */
body.layout-relaxed .grid-3{gap:22px;}
body.layout-relaxed .card{
  background:rgba(255,255,255,.70);
  border:1px solid rgba(23,23,23,.07);
  box-shadow:none;
  padding:22px;
}
body.layout-relaxed .card:hover{transform:translateY(-3px); background:rgba(255,255,255,.84); box-shadow:0 18px 50px rgba(0,0,0,.10)}
body.layout-relaxed .card.accent::before{
  height:0; /* remove top accent bar to reduce boxiness */
}
body.layout-relaxed .card + .card{margin-top:0;}

/* Steps become lighter */
body.layout-relaxed .step{
  background:rgba(255,255,255,.62);
  box-shadow:none;
}

/* Replace image "cards" with open embed slots */
body.layout-relaxed .embed-slot{
  border:0;
  box-shadow:none;
  background:transparent;
  border-radius:calc(var(--radius) + 10px);
  min-height:360px;
  position:relative;
  overflow:hidden;
}
body.layout-relaxed .embed-slot::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:
    radial-gradient(760px 280px at 20% 15%, rgba(62,42,116,.10), transparent 60%),
    radial-gradient(620px 260px at 85% 80%, rgba(200,162,74,.10), transparent 60%);
}
body.layout-relaxed .embed-slot::after{
  content:"";
  position:absolute;
  inset:12px;
  border-radius:calc(var(--radius) + 2px);
  border:1px dashed rgba(31,31,31,.18);
  background:rgba(255,255,255,.22);
}
body.layout-relaxed .embed-slot .media-inner{position:relative; padding:18px; height:100%; display:flex; flex-direction:column; justify-content:flex-end; gap:10px;}
body.layout-relaxed .embed-slot .media-label{
  align-self:flex-start;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(31,31,31,.10);
}
body.layout-relaxed .embed-slot .media-note{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(31,31,31,.10);
}

/* Split sections feel less rigid */
body.layout-relaxed .split{gap:28px; align-items:start;}

/* CTA stays strong but less heavy */
body.layout-relaxed .cta{border-radius:calc(var(--radius) + 12px);}

/* A little more text rhythm */
body.layout-relaxed p{line-height:1.6;}

/* Page-specific breathing (varies density page-to-page) */
body.layout-relaxed.page-life-insurance .grid-3,
body.layout-relaxed.page-notary-signings .grid-3{grid-template-columns:1fr; max-width:72ch;}
body.layout-relaxed.page-life-insurance .card,
body.layout-relaxed.page-notary-signings .card{padding:18px;}
body.layout-relaxed.page-contact .split{grid-template-columns:1.15fr .85fr;}
@media (max-width:920px){body.layout-relaxed.page-contact .split{grid-template-columns:1fr;}}


/* --- Page-unique layout variants --- */

.hero{display:grid; grid-template-columns:1.05fr .95fr; gap:32px; align-items:center; padding:34px 0 18px; grid-template-areas:"content media";}
.hero .hero-card{grid-area:content}
.hero .media{grid-area:media}
@media (max-width:920px){
  .hero{grid-template-columns:1fr; grid-template-areas:"content" "media"; padding-top:22px}
}

/* Open image embed slot */
.media .media-inner{min-height:320px; display:flex; flex-direction:column; justify-content:flex-end; gap:12px}
.media::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(720px 260px at 25% 20%, rgba(62,42,116,.10), transparent 60%),
    radial-gradient(640px 260px at 70% 80%, rgba(200,162,74,.12), transparent 60%);
  pointer-events:none;
}
.media::after{
  content:"";
  position:absolute; inset:14px;
  border-radius:calc(var(--radius) + 6px);
  border:1px dashed rgba(31,31,31,.18);
  background:rgba(255,255,255,.55);
  pointer-events:none;
}

/* Softer surfaces: use boxes sparingly */
.card{box-shadow:none}
.section{padding:34px 0}
.section + .section{padding-top:18px}

/* Simple list layout (replaces some 3-up grids) */
.list-stack{display:grid; gap:14px; max-width:74ch}
.list-item{padding:2px 0}
.list-item h3{margin:0 0 6px; font-size:16px}
.list-item p{margin:0; color:rgba(31,31,31,.74); font-size:14px}
.list-item + .list-item{border-top:1px solid rgba(31,31,31,.10); padding-top:14px}

/* Page-specific rhythms (avoid same feel everywhere) */
.page-home .hero{grid-template-areas:"media content"; grid-template-columns:1.15fr .85fr}
.page-home .hero-card{background:rgba(255,255,255,.86)}
.page-home .media::after{inset:10px}

.page-life .hero{grid-template-areas:"content" "media"; grid-template-columns:1fr; gap:18px}
.page-life .hero-card{max-width:78ch}
.page-life .media{min-height:360px}

.page-notary .hero{grid-template-areas:"content"; grid-template-columns:1fr; gap:18px}
.page-notary .hero-card{max-width:78ch; background:rgba(255,255,255,.82)}
.page-notary .media::after{border-style:solid; border-color:rgba(31,31,31,.14)}


/* Strategic Business Planning page background */
body.layout-relaxed.page-strategy{
  background-image: url("../img/strategy-bg.png");
  background-image: -webkit-image-set(
    url("../img/strategy-bg-1280.webp") 1x,
    url("../img/strategy-bg.webp") 2x,
    url("../img/strategy-bg.png") 2x
  );
  background-image: image-set(
    url("../img/strategy-bg-1280.webp") type("image/webp") 1x,
    url("../img/strategy-bg.webp") type("image/webp") 2x,
    url("../img/strategy-bg.png") type("image/png") 2x
  );
  background-size: cover;
  background-position:center center;
  background-repeat:no-repeat;
  background-attachment: fixed;
  min-height:100vh;
  background-color:#0b0b0b;
}
body.layout-relaxed.page-strategy main.container{
  padding-top:36px;
  padding-bottom:56px;
}
body.layout-relaxed.page-strategy .section{margin-top:22px;}
body.layout-relaxed.page-strategy .hero{margin-top:18px;}
.accordion-stack{display:grid; gap:10px;}
.page-strategy .hero{grid-template-areas:"media" "content"; grid-template-columns:1fr; gap:18px}
.page-strategy .media{min-height:420px}
.page-strategy .hero-card{max-width:80ch; margin-top:-8px}

.page-contact .hero{grid-template-areas:"content"; grid-template-columns:1fr}
.page-contact .media{display:none}
.page-contact .split-contact{grid-template-columns:1.15fr .85fr; gap:28px}
@media (max-width:920px){
  .page-contact .split-contact{grid-template-columns:1fr}
}

.page-about{
  background-image: url("../img/about-bg.png");
  background-image: -webkit-image-set(
    url("../img/about-bg-1280.webp") 1x,
    url("../img/about-bg.webp") 2x,
    url("../img/about-bg.png") 2x
  );
  background-image: image-set(
    url("../img/about-bg-1280.webp") type("image/webp") 1x,
    url("../img/about-bg.webp") type("image/webp") 2x,
    url("../img/about-bg.png") type("image/png") 2x
  );
  background-size: cover;
  background-position:70% center;
  background-repeat:no-repeat;
  background-attachment:fixed;
  min-height:100vh;
  background-color:#0b0b0b;
}

/* Lock background image while cards scroll (About + Notary) */
body.layout-relaxed.page-about{
  background: none !important; /* background handled by fixed pseudo-element */
}
body.layout-relaxed.page-about::before{
  inset: 0 !important;
  filter: none !important;
  opacity: 1 !important;
  background:
    url("../img/about-bg.png") 70% center / cover no-repeat;
}

body.layout-relaxed.page-notary-signings{
  background: none !important; /* background handled by fixed pseudo-element */
}
body.layout-relaxed.page-notary-signings::before{
  inset: 0 !important;
  filter: none !important;
  opacity: 1 !important;
  background:
    url("../img/notary-hero-bg.png") center top / cover no-repeat;
}

.page-about .hero-card{max-width:640px; padding-left:32px; padding-right:32px; padding-bottom:34px;}
.page-about .hero-card .subhead{line-height:1.55;}



/* =========================================================
   Premium motion + subtle interactivity (respect reduced motion)
   ========================================================= */


/* Reveal on scroll */
.reveal{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .6s ease, transform .6s ease;
  will-change:opacity, transform;
}
.reveal.reveal-in{opacity:1; transform:translateY(0)}

/* Details open feels smoother */
details{transition:background .2s ease, border .2s ease}
details[open]{background:rgba(255,255,255,.96); border-color:rgba(198,162,76,.22)}

/* Focus rings (clean + visible) */
:focus-visible{
  outline:3px solid rgba(198,162,76,.50);
  outline-offset:3px;
  border-radius:12px;
}

@media (prefers-reduced-motion: reduce){
  .btn, .nav-link, .card, .reveal{transition:none !important}
  .btn:hover, .card:hover{transform:none}
}


/* ------------------------------------------------------------
   Homepage hero layout (matches provided reference image)
   Notes:
   - Applies ONLY to .page-home to avoid affecting other pages.
   - Removes header/footer navigation on homepage per request.
------------------------------------------------------------ */

/* Homepage: keep header visible so logos display; keep footer hidden (matches current design intent) */
.page-home footer{display:none !important;}

.page-home{background:#000;}

/* Minimal homepage top bar: logo placeholder + company name */
.home-header{
  position:absolute;
  top:0; left:0; right:0;
  z-index:5;
  padding:14px 18px;
}
.home-topbar{
  display:flex;
  justify-content:center;
  align-items:center;
}
.home-brand{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:#fff;
}
.home-logo{
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:4px;
  display:grid;
  place-items:center;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  background:rgba(0,0,0,.18);
  backdrop-filter: blur(2px);
}
.home-brand-name{
  font-weight:600;
  letter-spacing:.02em;
  font-size:14px;
  text-transform:uppercase;
  opacity:.95;
}

/* Full-screen hero */
.page-home main{padding:0 !important;}
.hero-full{
  position:relative;
  min-height:100vh;
  min-height:100svh;
  min-height:100dvh;
  width:100%;
  overflow:hidden;
}
.hero-bg{
  position:absolute;
  inset:0;
  background-image: url("../img/home-hero.png");
  background-image: -webkit-image-set(
    url("../img/home-hero-1280.webp") 1x,
    url("../img/home-hero.webp") 2x,
    url("../img/home-hero.png") 2x
  );
  background-image: image-set(
    url("../img/home-hero-1280.webp") type("image/webp") 1x,
    url("../img/home-hero.webp") type("image/webp") 2x,
    url("../img/home-hero.png") type("image/png") 2x
  );
  background-size:cover;
  background-position:center;
  transform:scale(1.02);
}
.hero-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.50) 35%, rgba(0,0,0,.40) 100%);
}

/* Centered copy + buttons similar to the reference */
.hero-overlay{
  position:relative;
  z-index:2;
  min-height:100vh;
  min-height:100svh;
  min-height:100dvh;
  display:grid;
  place-items:center;
  padding:96px 18px 56px;
  text-align:center;
  color:#fff;
}
.hero-copy{
  max-width:960px;
}

/* Homepage brand lockup (logo + wordmark centered) */
.page-home .hero-brand{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  margin:0 auto 22px;
}
.page-home .hero-logo{
  height:clamp(72px, 12vw, 128px);
  width:auto;
  display:block;
}
.page-home .hero-wordmark{
  width:min(560px, 86vw);
  height:auto;
  display:block;
}
.hero-title{
  margin:0;
  font-size:clamp(28px,4.3vw,54px);
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:500;
}
.hero-sub{
  margin:14px auto 0;
  max-width:720px;
  font-size:clamp(14px,1.6vw,18px);
  opacity:.92;
}

/* Buttons: outlined, wide, aligned like the reference */
.hero-buttons{
  margin-top:34px;
  display:flex;
  gap:14px;
  justify-content:center;
  flex-wrap:wrap;
}
.hero-btn{
  border-radius:4px;
  min-width:220px;
  padding:14px 18px;
  border:1px solid rgba(255,255,255,.75);
  color:#fff;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  background:rgba(0,0,0,.20);
  backdrop-filter: blur(2px);
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.hero-btn:hover{
  transform:translateY(-1px);
  background:rgba(0,0,0,.28);
  border-color:rgba(255,255,255,.9);
}

/* Notary page background image */
body.page-notary{
  /* keep global page background; hero gets the photo background */
  background:var(--bg);
}

/* Page-specific hero background images (requested) */
.page-life .embed-slot{
  background-image:url("../img/life-hero.png");
  background-size:cover;
  background-position:center;
}
.page-strategy .embed-slot{
  background-image:url("../img/strategy-hero.png");
  background-size:cover;
  background-position:center;
}


/* HOME ONLY: brand top-left + horizontal lockup */
.page-home .hero-brand{
  position:absolute;
  top:24px;
  left:24px;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:12px;
  margin:0;
  z-index:6;
}

/* HOME ONLY: size lockup so it's visible but not overpowering */
.page-home .hero-logo{
  height:clamp(44px, 6vw, 72px);
  width:auto;
}

.page-home .hero-wordmark{
  height:clamp(18px, 3vw, 34px);
  width:auto;
}

/* HOME ONLY: bottom copyright + policies link */
.page-home .home-copyright{
  position:absolute;
  left:0;
  bottom:16px;
  width:100%;
  text-align:center;
  font-size:14px;
  line-height:1.2;
  z-index:6;
  opacity:.92;
}

.page-home .home-copyright a{
  text-decoration:underline;
}

/* Life Insurance page adjustments (requested) */
.page-life .hero-card{
  background: rgba(0,0,0,.28); /* remove white card, allow image feel */
  border-color: rgba(255,255,255,.28);
  box-shadow: 0 14px 32px rgba(0,0,0,.18);
  color: rgba(255,255,255,.95);
}
.page-life .hero-card .subhead,
.page-life .hero-card p{ color: rgba(255,255,255,.85); }
.page-life .gold-underline{ background: rgba(255,255,255,.7); }

/* Align all wording to the right on Life Insurance page */
/* Life page alignment: match the rest of the site */
.page-life section,
.page-life .section-title,
.page-life .section-sub,
.page-life .list-item,
.page-life .card,
.page-life .step,
.page-life details{
  text-align: left;
}

.page-life .hero-actions,
.page-life .trustline{ justify-content: flex-end; }
.page-life .list-stack{ margin-left:auto; }
.page-life .steps{ margin-left:auto; }

/* Make header buttons resemble homepage hero buttons (Life page only) */
.page-life header .nav-actions .btn{
  border:1px solid rgba(255,255,255,.75);
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  background:rgba(0,0,0,.20);
  backdrop-filter: blur(2px);
  padding:12px 16px;
}
.page-life header .nav-actions .btn:hover{
  background:rgba(0,0,0,.28);
  border-color:rgba(255,255,255,.85);
}
.page-life header .nav-actions .btn-primary{
  background:rgba(0,0,0,.28);
  border-color:rgba(255,255,255,.85);
  color:#fff;
}
.page-life header .nav-actions .btn-ghost{
  background:rgba(0,0,0,.18);
}

/* Ensure reveal animation is a simple fade-in for sections */
.reveal{ opacity:0; transform:translateY(14px); transition:opacity .65s ease, transform .65s ease; }
.reveal-in{ opacity:1; transform:none; }

/* Life Insurance page: full-page background + glass overlay (requested) */
.page-life{
  background-image:url("../img/life-page-bg.png");
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
}
.page-life main.container{
  position:relative;
}
.page-life .glass-wrap{
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.22);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: var(--radiusLg);
  padding: 22px;
  box-shadow: 0 18px 40px rgba(0,0,0,.18);
}

/* Make cards/sections sit on glass and keep readability */
.page-life .section-sub,
.page-life .list-item p,
.page-life .card p,
.page-life .step p,
.page-life details p{
  color: rgba(255,255,255,.86);
}
.page-life .section-title,
.page-life h1,
.page-life h2,
.page-life h3{
  color: rgba(255,255,255,.95);
}

/* Neutralize default surfaces on Life page so glass shows through */
.page-life .card,
.page-life details,
.page-life .hero-card{
  background: rgba(0,0,0,.20);
  border-color: rgba(255,255,255,.22);
  box-shadow: 0 12px 28px rgba(0,0,0,.14);
}

.page-life .hero-actions,
.page-life .trustline{
  justify-content:flex-end;
}

/* Ensure all sections fade in on scroll (JS already applies reveal classes) */
.reveal{ opacity:0; transform:translateY(14px); transition:opacity .65s ease, transform .65s ease; }
.reveal-in{ opacity:1; transform:none; }

/* Life Insurance page ONLY: remove header overlay and page glass wrap */
.page-life header{
  background: transparent !important;
  box-shadow: none !important;
  border-bottom: 0 !important;
}
.page-life .navbar{
  background: transparent !important;
}

/* Brand images in header (Life page) */
.page-life .brand.brand-img{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
}
.page-life .brand.brand-img .brand-ts{
  height: var(--logo-ts-h);
  width:auto;
}
.page-life .brand.brand-img .brand-wordmark{
  height: var(--logo-wordmark-h);
  width:auto;
}

/* Universal header brand sizing (all pages, including Home) */
body header .brand.brand-img{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
}
body header .brand.brand-img .brand-ts{
  height: var(--logo-ts-h);
  width:auto;
}
body header .brand.brand-img .brand-wordmark{
  height: var(--logo-wordmark-h);
  width:auto;
}

/* Make ALL buttons on Life page match homepage hero buttons */
.page-life .hero-btn{
  display:inline-flex;
}
.page-life .btn,
.page-life header .nav-actions .btn,
.page-life header .nav-actions .hero-btn{
  min-width: 0;
  padding:14px 18px;
  border:1px solid rgba(255,255,255,.75);
  color:#fff;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  background:rgba(0,0,0,.20);
  backdrop-filter: blur(2px);
  border-radius: 0; /* homepage buttons are squared */
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.page-life header .nav-actions .hero-btn:hover,
.page-life .hero-actions .hero-btn:hover,
.page-life .cta .hero-btn:hover{
  transform:translateY(-1px);
  background:rgba(0,0,0,.28);
  border-color:rgba(255,255,255,.85);
}

/* Remove overall page overlay/glass wrap if present */
.page-life .glass-wrap{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding: 0 !important;
}

/* Glass cards for content sections */
.page-life .glass-card{
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.22);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: var(--radiusLg);
  box-shadow: 0 18px 40px rgba(0,0,0,.18);
}
.page-life .glass-card-lg{
  padding: 22px;
}


/* Glass cards for content sections (About + Notary) */
.page-about .glass-card,
.page-notary-signings .glass-card{
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.22);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: var(--radiusLg);
  box-shadow: 0 18px 40px rgba(0,0,0,.18);
}
.page-about .glass-card-lg,
.page-notary-signings .glass-card-lg{ padding: 22px; }
.page-about .glass-card-sm,
.page-notary-signings .glass-card-sm{ padding: 16px; }

/* Scan layout for easy reading */
.page-life .scan-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 12px;
}
@media (max-width: 900px){
  .page-life .scan-grid{ grid-template-columns: 1fr; }
}

/* Alignment rules */
/* Life page alignment: match the rest of the site */
.page-life section,
.page-life .section-title,
.page-life .section-sub,
.page-life .list-item,
.page-life .card,
.page-life .step,
.page-life details{
  text-align: left;
}

.page-life .life-title{ text-align:left; } /* requested */

/* Ensure sections fade in on scroll (already powered by main.js) */
.reveal{opacity:0; transform:translateY(14px); transition:opacity .65s ease, transform .65s ease;}
.reveal-in{opacity:1; transform:none;}

/* Footer: frosted nav and horizontal links (Life page only) */
.page-life .footer-frost{
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.22);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: var(--radiusLg);
  padding: 14px 16px;
}
.page-life .footer-nav{
  display:flex;
  flex-wrap:wrap;
  gap: 12px 16px;
}
.page-life .footer-nav a{
  display:inline-block;
}

.page-life .card{ background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.22); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }

/* Life Insurance page refinements (requested) */

/* Make header overlay more transparent so background is visible */
.page-life header{
  background: rgba(0,0,0,.06) !important;
}
.page-life header .container,
.page-life header .navbar{
  background: transparent !important;
}

/* Make nav page selection boxes square/frosted like other buttons */
.page-life nav[aria-label="Primary"] .nav-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border-radius:0;
  border:1px solid rgba(255,255,255,.55);
  background:rgba(0,0,0,.16);
  color:#fff;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.page-life nav[aria-label="Primary"] .nav-link:hover{
  transform:translateY(-1px);
  background:rgba(0,0,0,.24);
  border-color:rgba(255,255,255,.85);
}
.page-life nav[aria-label="Primary"] .nav-link[aria-current="page"]{
  background:rgba(0,0,0,.24);
  border-color:rgba(255,255,255,.85);
}

/* Fix any rounded corners on hero buttons */
.page-life .hero-btn{ border-radius:0 !important; }

/* Center headings and summaries inside Who/Options glass cards */
.page-life .who-heading,
.page-life .options-heading{
  text-align:center !important;
  margin-bottom:14px;
}
.page-life .scan-item{
  text-align:center !important;
}

/* Keep the following hero items left-aligned as requested */
.page-life .hero-card .subhead{
  text-align:left !important;
}
.page-life .hero-actions{
  justify-content:flex-start !important;
}
.page-life .hero-actions .hero-btn{
  text-align:left;
}

/* Life Insurance page header/footer layout (requested) */

/* Header: remove frosted overlay completely */
.page-life header{
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* Header layout: left brand, center nav, right actions */
.page-life header .navbar{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  gap: 14px;
}

.page-life header .brand{
  justify-self:start;
}

.page-life header nav[aria-label="Primary"]{
  justify-self:center;
}

.page-life header .nav-actions{
  justify-self:end;
}

/* Ensure brand images align left */
.page-life .brand.brand-img{
  justify-content:flex-start;
}

/* Fix hero buttons corner clipping */
.page-life .hero-actions .hero-btn{
  border-radius:0 !important;
  overflow:visible;
}

/* CTA title left aligned */
.page-life .cta-title{
  text-align:left !important;
}

/* Footer: frosted background and horizontal links */
.page-life footer.footer-frosted{
  background: rgba(255,255,255,.12);
  border-top: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.page-life footer.footer-frosted .footer-grid{
  display:block;
}

.page-life .footer-links-inline{
  display:flex;
  flex-wrap:wrap;
  gap: 10px 16px;
  align-items:center;
  padding: 10px 0;
}

.page-life .footer-links-inline a{
  text-decoration:none;
}
.page-life .footer-links-inline a:hover{
  text-decoration:underline;
}

/* Life page: force header alignment (brand left, nav centered, actions right) */
.page-life header .navbar{
  display:grid !important;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
}
.page-life header .brand{justify-self:start !important;}
.page-life header nav[aria-label="Primary"]{justify-self:center !important;}
.page-life header .nav-actions{justify-self:end !important;}

/* Prevent hero buttons clipping */
.page-life .hero-card{overflow:visible !important;}
.page-life .hero-actions{overflow:visible !important;}
.page-life .hero-actions .hero-btn{border-radius:0 !important;}

/* Footer: compact height, left aligned brand, inline links, padded meta */
.page-life footer.footer-frosted{background: rgba(255,255,255,.12); border-top:1px solid rgba(255,255,255,.18); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);}
.page-life .footer-compact{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0;}
.page-life .footer-left{text-align:left;}
.page-life .footer-title{margin:0;}
.page-life .footer-tag{font-size:12px; opacity:.9;}
.page-life .footer-navwrap{flex:1; display:flex; justify-content:center;}
.page-life .footer-links-inline{display:flex; flex-wrap:wrap; gap:10px 14px; align-items:center; justify-content:center;}
.page-life .footer-meta{text-align:right; padding-left:18px;}
.page-life .footer-meta a{color:inherit; text-decoration:underline;}
@media (max-width: 900px){
  .page-life .footer-compact{flex-direction:column; align-items:stretch;}
  .page-life .footer-navwrap{justify-content:flex-start;}
  .page-life .footer-links-inline{justify-content:flex-start;}
  .page-life .footer-meta{text-align:left; padding-left:0;}
}

/* Life Insurance page: header/footer alignment to viewport edges (requested) */
.page-life header .container,
.page-life footer.footer-frosted .container{
  max-width: none !important;
  width: 100% !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

@media (max-width: 520px){
  .page-life header .container,
  .page-life footer.footer-frosted .container{
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* Ensure center column is centered relative to full page, not container */
.page-life header .navbar{
  width: 100% !important;
}

/* Footer: full-width alignment for left/center/right blocks */
.page-life footer.footer-frosted .footer-compact{
  width: 100% !important;
}


/* Notary hero: full-bleed photo background without side gaps and without excessive zoom */
body.page-notary .hero-notary{
  position:relative;
  isolation:isolate;
  min-height:68vh;
  padding-top:56px;
  padding-bottom:56px;
}
body.page-notary .hero-notary::before{
  content:"";
  position:absolute;
  top:0; bottom:0;
  left:0;
  right:0;
  transform:none;
  width:auto;
  /* background-image removed (now handled by fixed body pseudo-element) */
  background-image:none;
  background-repeat:no-repeat;
  background-position:center top;
  /* fit width to avoid the “zoomed/cut off” look while still filling the viewport width */
  background-size:100% auto;
  z-index:-1;
}
@media (max-width:920px){
  body.page-notary .hero-notary{min-height:62vh; padding-top:34px; padding-bottom:34px;}
  body.page-notary .hero-notary::before{background-position:center 18%;}
}


/* Ensure Notary header logo stays contained like Life Insurance */
body.page-notary .brand.brand-img .brand-ts{
  height: var(--logo-ts-h); width:auto;}
body.page-notary .brand.brand-img .brand-wordmark{
  height: var(--logo-wordmark-h); width:auto;}


/* === Notary & Signings page-only adjustments (requested) === */
body.page-notary{
  /* Use hero image as the page background with no white space on the sides */
  background-color:#0f0f0f;
  background-image:none; /* handled by fixed body pseudo-element */
  background-repeat:no-repeat;
  background-position:center top;
  background-size:cover;
}

/* Remove the global relaxed background texture on this page so the hero image is the background */
body.page-notary.layout-relaxed::before,
body.page-notary.layout-relaxed::after{display:none;}

/* Hero uses the page background (avoid double layers) */
body.page-notary .hero-notary::before{display:none;}

/* Service glass cards: horizontal row + staggered fade-in */
body.page-notary .service-cards-row{
  display:flex;
  gap:18px;
  align-items:stretch;
}
@media (max-width:920px){
  body.page-notary .service-cards-row{flex-direction:column;}
}

body.page-notary .service-glass{
  flex:1 1 0;
  padding:22px;
}

/* Staggered fade-in (one at a time) */
@keyframes tsFadeUp{
  from{opacity:0; transform:translateY(10px);}
  to{opacity:1; transform:translateY(0);}
}
body.page-notary .fade-stagger > *{
  opacity:0;
  animation:tsFadeUp .6s ease forwards;
}
body.page-notary .fade-stagger > *:nth-child(1){animation-delay:.05s;}
body.page-notary .fade-stagger > *:nth-child(2){animation-delay:.25s;}
body.page-notary .fade-stagger > *:nth-child(3){animation-delay:.45s;}

@media (prefers-reduced-motion: reduce){
  body.page-notary .fade-stagger > *{opacity:1; animation:none;}
}

/* CTA buttons match the other page buttons */
body.page-notary .cta .hero-btn{min-width:140px;}

/* Notary-only: remove header frosted overlay so the background shows through */
body.page-notary header{
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid rgba(255,255,255,.14);
}
body.page-notary header .nav-link{
  color: rgba(255,255,255,.92);
}
body.page-notary header .nav-link:hover{opacity:.9;}
body.page-notary header .nav-link[aria-current="page"]{text-decoration: underline; text-underline-offset: 6px;}

/* Notary hero title should be white */
body.page-notary .hero-card .h1{color:#fff;}
body.page-notary .hero-card .subhead{color:rgba(255,255,255,.88);}

/* Notary CTA as glass card + fade-in */
body.page-notary .cta.cta-glass{
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.22);
  color:#fff;
}
body.page-notary .cta.cta-glass::before{display:none;}
body.page-notary .fade-in{
  opacity:0;
  animation: tsFadeUp .6s ease forwards;
  animation-delay: .15s;
}
@media (prefers-reduced-motion: reduce){
  body.page-notary .fade-in{opacity:1; animation:none;}
}

/* Notary footer overlay + layout to match screenshot */
body.page-notary footer.footer-frosted{
  background: rgba(0,0,0,.28);
  border-top: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
body.page-notary .footer-meta-inline{
  display:flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
}
body.page-notary .footer-sep{opacity:.8;}


.page-strategy .hero{grid-template-areas:"content"; grid-template-columns:1fr;}


/* Home page: make footer text white (per request) */
.page-home footer.footer-frosted,
.page-home footer.footer-frosted a,
.page-home footer.footer-frosted .small{
  color:#fff !important;
}


/* === Requested edits (Feb 2026) === */

/* Home page: ensure footer meta text and links are white */
.page-home .footer-frosted,
.page-home .footer-frosted *{
  color:#fff;
}
.page-home .footer-frosted a{color:rgba(255,255,255,.92);}
.page-home .footer-frosted .small{color:rgba(255,255,255,.86);}

/* Inner pages (all except home): header + footer styling per provided screenshots */
body.layout-relaxed:not(.page-home) header{
  background:transparent;
  border-bottom:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
body.layout-relaxed:not(.page-home) header .container,
body.layout-relaxed:not(.page-home) footer .container{
  max-width:none;
  width:100%;
  padding-left:40px;
  padding-right:40px;
}
@media (max-width: 720px){
  body.layout-relaxed:not(.page-home) header .container,
  body.layout-relaxed:not(.page-home) footer .container{
    padding-left:18px;
    padding-right:18px;
  }
}

body.layout-relaxed:not(.page-home) .nav-link{
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.65);
  border-radius:0;
  background:transparent;
}
body.layout-relaxed:not(.page-home) .nav-link:hover{
  background:rgba(255,255,255,.10);
  transform:none;
}
body.layout-relaxed:not(.page-home) .nav-link[aria-current="page"]{
  background:rgba(255,255,255,.14);
}

body.layout-relaxed:not(.page-home) .nav-actions .hero-btn{
  min-width:auto;
  padding:12px 18px;
  border-radius:0;
  border:1px solid rgba(255,255,255,.65);
}

/* Footer on inner pages: align and keep text/link contrast like screenshot */
/* INNER PAGES: force Strategic-style frosted footer (all except homepage)
   This replaces the rule that was turning frosting OFF. */
body.layout-relaxed:not(.page-home) footer.footer-frosted{
  background: rgba(0,0,0,.45);
  border-top: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: rgba(255,255,255,.92);
}
body.layout-relaxed:not(.page-home) footer.footer-frosted a{
  color: rgba(255,255,255,.92);
}
body.layout-relaxed:not(.page-home) footer.footer-frosted a:hover{
  color: #fff;
}
body.layout-relaxed:not(.page-home) .footer-frosted,
body.layout-relaxed:not(.page-home) .footer-frosted *{
  color:#fff;
}
body.layout-relaxed:not(.page-home) .footer-frosted a{color:rgba(255,255,255,.92);}
body.layout-relaxed:not(.page-home) .footer-frosted .small{color:rgba(255,255,255,.86); margin-top:0;}

/* Strategic Business Planning: remove any header overlay (explicit) */



/* Strategic Planning page tweaks */
body.layout-relaxed.page-strategy{
  color: #fff;
}
body.layout-relaxed.page-strategy .glass-card,
body.layout-relaxed.page-strategy .glass-card *{
  color: inherit;
}
body.layout-relaxed.page-strategy .glass-card a{
  color: inherit;
}

/* Footer layout on Strategic Planning page */
body.layout-relaxed.page-strategy footer.footer-frosted .container{
  width: calc(100% - 40px);
  max-width: none;
}
body.layout-relaxed.page-strategy footer.footer-frosted .footer-compact{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:10px 0; /* reduced height */
}
body.layout-relaxed.page-strategy footer.footer-frosted .footer-navwrap{
  flex:1;
  display:flex;
  justify-content:center;
}
body.layout-relaxed.page-strategy footer.footer-frosted .footer-links-inline{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  align-items:center;
  justify-content:center;
}
body.layout-relaxed.page-strategy footer.footer-frosted .footer-links-inline a{
  text-decoration:none;
}
body.layout-relaxed.page-strategy footer.footer-frosted .footer-links-inline a:hover{
  text-decoration:underline;
}
body.layout-relaxed.page-strategy footer.footer-frosted .footer-left{
  text-align:left;
}
body.layout-relaxed.page-strategy footer.footer-frosted .footer-title{
  font-weight:600;
}
body.layout-relaxed.page-strategy footer.footer-frosted .footer-tag{
  font-size:12px;
  opacity:.9;
}
body.layout-relaxed.page-strategy footer.footer-frosted .footer-right{
  text-align:right;
  display:flex;
  flex-direction:column;
  gap:4px;
}
body.layout-relaxed.page-strategy footer.footer-frosted .footer-meta a{
  text-decoration:underline;
  opacity:.92;
}



/* --- Strategic Planning: glass overlays + CTA card + footer frost (requested) --- */
.page-strategy .scan-item.glass-card{
  padding: 18px;
  text-align: left !important;
}
.page-strategy .scan-item.glass-card h3{
  margin-top: 0;
}
.page-strategy .cta.glass-card{
  padding: 22px;
}
.page-strategy footer.footer-frosted{
  background: rgba(255,255,255,.12);
  border-top: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}



/* === Strategic Business Planning page: glass overlays + frosted footer (requested) === */
.page-strategy main{ color:#fff; }
.page-strategy h1, .page-strategy h2, .page-strategy h3, .page-strategy p, .page-strategy li{ color:inherit; }

/* Glass cards (match Life Insurance styling but scoped to Strategic page) */
.page-strategy .glass-card{
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.22);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: var(--radiusLg);
  box-shadow: 0 18px 40px rgba(0,0,0,.18);
}
.page-strategy .glass-card-lg{ padding: 22px; }
.page-strategy .glass-card-sm{ padding: 16px; }

/* Frosted footer (Strategic page only) */
.page-strategy footer.footer-frosted{
  background: rgba(255,255,255,.12);
  border-top: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.page-strategy .footer-compact{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 0;
}
.page-strategy .footer-left{ text-align:left; }
.page-strategy .footer-right{ text-align:right; }
.page-strategy footer.footer-frosted a{ color:#fff; }



/* --- Strategic Business Planning page adjustments (scoped) --- */
body.layout-relaxed.page-strategy footer.footer-frosted{
  background: rgba(0,0,0,.45);
  border-top: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Remove hero glass panel; keep readable white text */
body.layout-relaxed.page-strategy .hero-card-plain{
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}
body.layout-relaxed.page-strategy .hero-card-plain,
body.layout-relaxed.page-strategy .hero-card-plain *{
  color: #fff;
  text-shadow: 0 2px 18px rgba(0,0,0,.55);
}

/* Shorten page spacing */
body.layout-relaxed.page-strategy .hero{
  padding: 18px 0 6px;
}
body.layout-relaxed.page-strategy .section{
  padding: 18px 0;
}
body.layout-relaxed.page-strategy .scan-grid{
  gap: 14px;
  margin-top: 10px;
}

/* === Menu drawer (header navigation) === */
body:not(.page-home) header .navbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.menu-toggle{
  appearance:none;
  border:1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 999px;
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.menu-toggle:focus{
  outline:2px solid rgba(255,255,255,.7);
  outline-offset:2px;
}

.menu-icon{
  width:20px;
  height:2px;
  background: rgba(255,255,255,.92);
  border-radius:2px;
  box-shadow: 0 -6px 0 rgba(255,255,255,.92), 0 6px 0 rgba(255,255,255,.92);
}

.menu-drawer{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
}

.menu-drawer.is-open{
  display:block;
}

.menu-drawer__overlay{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.55);
}

.menu-drawer__panel{
  position:absolute;
  top:0;
  right:0;
  height:100%;
  width:min(360px, 88vw);
  padding:18px 18px 22px;
  background: rgba(15,15,15,.72);
  border-left: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  display:flex;
  flex-direction:column;
  gap:18px;
}

.menu-close{
  align-self:flex-end;
  appearance:none;
  border:1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.10);
  color:#fff;
  border-radius: 999px;
  width:40px;
  height:40px;
  cursor:pointer;
}

.menu-nav{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.menu-nav .nav-link{
  padding:10px 10px;
  border-radius: 12px;
}

.menu-nav .nav-link[aria-current="page"]{
  background: rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
}

.menu-actions{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.menu-actions .hero-btn{
  width:100%;
  justify-content:center;
}

/* Ensure header logos stay left and readable */
body:not(.page-home) header .brand.brand-img{
  display:flex;
  align-items:center;
  gap:10px;
}

/* Homepage-only tweaks */
.page-home .hero-copy{
  margin-top: clamp(24px, 6vh, 64px);
}

.page-home .home-copyright,
.page-home .home-copyright a{
  color:#fff;
}


/* Header logo + actions alignment (ALL non-home pages) */
body:not(.page-home) header .navbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
body:not(.page-home) header .brand.brand-img{
  justify-content:flex-start;
}
body:not(.page-home) header .navbar-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:auto;
}

/* Header language button sizing (keep readable, not overpowering) */
body:not(.page-home) header .header-lang.hero-btn{
  min-width:auto;
  padding:10px 12px;
  font-size:11px;
  letter-spacing:.10em;
}

/* Drawer nav links should match button sizing */
.menu-drawer .menu-nav .nav-link{
  display:block;
  border-radius:4px;
  padding:14px 18px;
  border:1px solid rgba(255,255,255,.75);
  color:#fff;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  background:rgba(0,0,0,.20);
  backdrop-filter: blur(2px);
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
  text-align:center;
  min-width:220px;
}
.menu-drawer .menu-nav{
  display:flex;
  flex-direction:column;
  gap:10px;
}


/* Homepage: place logos within top "header" space and keep consistent sizing */
.page-home .hero-brand{
  position:absolute;
  top:22px;
  left:22px;
  margin:0;
  align-items:flex-start;
  gap:8px;
  text-align:left;
}
.page-home .hero-logo{
  height: var(--logo-ts-h);
  width:auto;
}
.page-home .hero-wordmark{
  height: var(--logo-wordmark-h);
  width:auto;
}

/* Homepage: English y Español button top-right */
/* Homepage: move hero text down a bit more */
.page-home .hero-copy{
  transform: translateY(56px);
}


/* --- Header logo visibility + alignment fixes (v13) --- */
header .container{max-width:100%; padding-left:28px; padding-right:28px;}
header a, header button{color:#fff;}
header .brand-img img{filter: drop-shadow(0 2px 6px rgba(0,0,0,.35));}
.page-home .hero-brand{display:none;} /* logos now live in header on home */
.page-home header{position:absolute; top:0; left:0; right:0;}

/* ================================
   GLOBAL HEADER: LOGO VISIBILITY FIX
   Paste at the BOTTOM of CSS
================================ */

/* Header always on top of hero images */
.site-header,
header,
.navbar,
.header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
}

/* Header row layout */
.site-header .header-inner,
header .header-inner,
.navbar,
.header .header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 22px;
}

/* Brand container */
.site-header .brand,
header .brand,
.navbar .brand {
  display: flex !important;
  align-items: center;
  flex: 0 0 auto;
}

/* ===== Header height lock + readable logos (ALL pages except Home) ===== */
:root{
  --header-h: 84px;     /* keep header height fixed */
  --header-pad-y: 4px;  /* smaller padding = bigger usable space */
  --logo-ts-h: 72px;    /* max realistic inside 84px header */
  --logo-wordmark-h: 64px;
}

@media (max-width: 520px){
  :root{ --logo-wordmark-h: 44px; }
}


body:not(.page-home) .site-header .header-inner,
body:not(.page-home) header .header-inner{
  height: var(--header-h);
  padding: var(--header-pad-y) 22px;
}

/* Keep brand aligned and prevent wrapping */
body:not(.page-home) header .brand.brand-img,
body:not(.page-home) .site-header .brand.brand-img{
  display:flex;
  align-items:center;
  gap: 14px;
  white-space: nowrap;
}

/* TS mark */
body:not(.page-home) header .brand .brand-ts,
body:not(.page-home) .site-header .brand .brand-ts{
  height: var(--logo-ts-h);
  width: auto;
  max-height: calc(var(--header-h) - (var(--header-pad-y) * 2));
  display:block;
}

/* Wordmark */
body:not(.page-home) header .brand .brand-wordmark,
body:not(.page-home) .site-header .brand .brand-wordmark{
  height: var(--logo-wordmark-h);
  width: auto;
  max-height: calc(var(--header-h) - (var(--header-pad-y) * 2));
  display:block;
}





/* Right-side controls */
.site-header .header-actions,
header .header-actions,
.navbar .header-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

/* Prevent “floating” controls */
.site-header .lang-toggle,
.site-header .menu-toggle,
header .lang-toggle,
header .menu-toggle {
  position: static !important;
}

/* ✅ Never hide the logo on homepage */
.home .brand,
body.home .brand,
#index .brand,
body#index .brand,
.page-home .brand {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}





/* ================================
   v20 HEADER TOP ALIGNMENT (NON-HOMEPAGE)
   - Reduce header padding so logos/controls sit closer to the top.
   - Keep existing logo sizing (do NOT shrink logos).
   - Applies uniformly across all pages EXCEPT the homepage.
================================ */
body:not(.page-home) .site-header .header-inner,
body:not(.page-home) header .header-inner,
body:not(.page-home) .header .header-inner{
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  /* keep existing horizontal spacing */
  padding-left: 18px !important;
  padding-right: 18px !important;
}

/* Keep logo sizes driven by the site's sizing variables on non-home pages */
body:not(.page-home) .site-header .brand .brand-ts,
body:not(.page-home) header .brand .brand-ts{
  height: var(--logo-ts-h) !important;
  width: auto !important;
  max-width: none !important;
  max-height: none !important;
}

body:not(.page-home) .site-header .brand .brand-wordmark,
body:not(.page-home) header .brand .brand-wordmark{
  height: var(--logo-wordmark-h) !important;
  width: auto !important;
  max-width: none !important;
  max-height: none !important;
}

/* Keep brand spacing comfortable */
body:not(.page-home) .site-header .brand,
body:not(.page-home) header .brand,
body:not(.page-home) .navbar .brand{
  gap: 10px !important;
}

@media (max-width: 420px){
  body:not(.page-home) .site-header .header-inner{ padding: 6px 16px !important; }
}



/* Page-specific background image (Contact + Policies only) */
body.page-contact,
body.page-policies{
  background: url("../img/home-hero.png") center/cover no-repeat fixed;
}
/* Remove relaxed texture overlays on these pages so the image shows cleanly */
body.page-contact::before,
body.page-policies::before{
  display:none;
}


/* Contact page: glass CTA + Calendly embed */
body.page-contact .cta.glass-card{
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.22);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: rgba(31,31,31,.9);
}
body.page-contact .cta.glass-card h2,
body.page-contact .cta.glass-card p{
  color: rgba(31,31,31,.9);
}
body.page-contact .calendly-inline-widget{
  width: 100%;
}



/* === Overlay scrolling backgrounds (About + Notary) === */
body.page-about{
  background-attachment: fixed;
}
body.layout-relaxed.page-about::before,
body.layout-relaxed.page-notary::before{
  background: none;
}

body.page-notary{
  background-image:none; /* handled by fixed body pseudo-element */
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-color: #0b0b0b;
}
/* Notary hero already uses the same photo; avoid double-render */
body.page-notary .hero-notary::before{display:none;}

body.page-about main,
body.page-notary-signings main{
  background: transparent;
}
body.page-about .section,
body.page-notary-signings .section{
  background: transparent;
}



/* ===== Full-page fixed backgrounds (About + Notary) ===== */

/* About */
body.layout-relaxed.page-about{
  background: none !important; /* background handled by ::before */
}
body.layout-relaxed.page-about::before{
  content:"";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: url("../img/about-bg.png") 70% center / cover no-repeat;
  background-image: -webkit-image-set(
    url("../img/about-bg-1280.webp") 1x,
    url("../img/about-bg.webp") 2x,
    url("../img/about-bg.png") 2x
  );
  background-image: image-set(
    url("../img/about-bg-1280.webp") type("image/webp") 1x,
    url("../img/about-bg.webp") type("image/webp") 2x,
    url("../img/about-bg.png") type("image/png") 2x
  );
  background-color: #0b0b0b; /* fallback */
}

/* Notary */
body.layout-relaxed.page-notary-signings{
  background: none !important; /* background handled by ::before */
}
body.layout-relaxed.page-notary-signings::before{
  content:"";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: url("../img/notary-hero-bg.png") center top / cover no-repeat;
  background-image: -webkit-image-set(
    url("../img/notary-hero-bg-1280.webp") 1x,
    url("../img/notary-hero-bg.webp") 2x,
    url("../img/notary-hero-bg.png") 2x
  );
  background-image: image-set(
    url("../img/notary-hero-bg-1280.webp") type("image/webp") 1x,
    url("../img/notary-hero-bg.webp") type("image/webp") 2x,
    url("../img/notary-hero-bg.png") type("image/png") 2x
  );
  background-color: #0b0b0b; /* fallback */
}

/* Optional: if any ::after overlay is washing things out */
body.layout-relaxed.page-about::after,
body.layout-relaxed.page-notary-signings::after{
  opacity: 0 !important;
}

/* Ensure glass styling applies on About + Notary */
body.page-about .glass-card,
body.page-notary-signings .glass-card{
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.22);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: var(--radiusLg);
  box-shadow: 0 18px 40px rgba(0,0,0,.18);
}
body.page-about .glass-card-lg,
body.page-notary-signings .glass-card-lg{ padding: 22px; }
body.page-about .glass-card-sm,
body.page-notary-signings .glass-card-sm{ padding: 16px; }




/* --- FIX: Notary page uses .page-notary body class --- */
body.layout-relaxed.page-notary{
  background: none !important;
  position: relative;
}
body.layout-relaxed.page-notary::before{
  content:"";
  position: fixed;
  inset:0;
  z-index:-1;
  background-color:#0b0b0b;
  background: url("../img/notary-hero-bg.png") center top / cover no-repeat;
  filter:none !important;
  opacity:1 !important;
}
body.page-notary .glass-card{
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.22);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: var(--radiusLg);
  box-shadow: 0 18px 40px rgba(0,0,0,.18);
}
body.page-notary .glass-card-lg{ padding:22px; }
body.page-notary .glass-card-sm{ padding:16px; }
/* --- END FIX --- */



/* === FINAL OVERRIDE: About + Notary locked background visible (keep glass cards) === */
body.layout-relaxed.page-about,
body.layout-relaxed.page-notary{
  background: none !important; /* render via fixed ::before */
  position: relative;
}

body.layout-relaxed.page-about::before{
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -1 !important;
  opacity: 1 !important;
  filter: none !important;
  background-color: #0b0b0b !important;
  background: url("../img/about-bg.png") 70% center / cover no-repeat !important;
}

body.layout-relaxed.page-notary::before{
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -1 !important;
  opacity: 1 !important;
  filter: none !important;
  background-color: #0b0b0b !important;
  background: url("../img/notary-hero-bg.png") center top / cover no-repeat !important;
}

/* Keep content transparent so the background shows through */
body.page-about main,
body.page-notary-signings main,
body.page-about .section,
body.page-notary-signings .section{
  background: transparent !important;
}


/* =========================================================
   FIX: About + Notary fixed full-bleed backgrounds with scrolling glass overlays
   (Keeps background visible and locked while cards scroll)
   ========================================================= */
body.layout-relaxed.page-about,
body.layout-relaxed.page-notary{
  background: none !important; /* background rendered via ::before */
}

body.layout-relaxed.page-about::before,
body.layout-relaxed.page-notary::before{
  content:"" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  filter: none !important;
  opacity: 1 !important;
  background-color:#0b0b0b !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

body.layout-relaxed.page-about::before{
  background-image: url("../img/about-bg.png");
  background-image: -webkit-image-set(
    url("../img/about-bg-1280.webp") 1x,
    url("../img/about-bg.webp") 2x,
    url("../img/about-bg.png") 2x
  );
  background-image: image-set(
    url("../img/about-bg-1280.webp") type("image/webp") 1x,
    url("../img/about-bg.webp") type("image/webp") 2x,
    url("../img/about-bg.png") type("image/png") 2x
  );!important;
  background-position: 70% center !important;
}

body.layout-relaxed.page-notary::before{
  background-image: url("../img/notary-hero-bg.png");
  background-image: -webkit-image-set(
    url("../img/notary-hero-bg-1280.webp") 1x,
    url("../img/notary-hero-bg.webp") 2x,
    url("../img/notary-hero-bg.png") 2x
  );
  background-image: image-set(
    url("../img/notary-hero-bg-1280.webp") type("image/webp") 1x,
    url("../img/notary-hero-bg.webp") type("image/webp") 2x,
    url("../img/notary-hero-bg.png") type("image/png") 2x
  );!important;
  background-position: center top !important;
}

/* Disable relaxed texture wash on these pages so photo stays visible */
body.layout-relaxed.page-about::after,
body.layout-relaxed.page-notary::after{
  opacity: 0 !important;
}

/* Ensure main/sections don’t paint opaque panels over the background */
body.page-about main,
body.page-notary-signings main{
  background: transparent !important;
}

/* TEMP DEBUG: confirm non-home wordmark CSS is applying */
body:not(.page-home) .brand-wordmark{
  height: 64px !important;
}

/* ===== Life Insurance Page: Premium Typography + Glass Tiles ===== */
/* Scoped to Life Insurance page only */
body.page-life{
  --li-text: rgba(255,255,255,.92);
  --li-muted: rgba(255,255,255,.78);

  /* Slightly darker glass = better readability while keeping photo visible */
  --li-glass: rgba(18,18,18,.28);
  --li-border: rgba(255,255,255,.18);
  --li-shadow: 0 16px 40px rgba(0,0,0,.18);
  --li-blur: 14px;
  --li-radius: 18px;
}

/* Headings */
/* Life page typography: match site defaults */
body.page-life h1,
body.page-life h2,
body.page-life h3,
body.page-life p,
body.page-life li{
  font-family: inherit !important;
  text-shadow: none !important;
  letter-spacing: inherit !important;
}

/* Body text */


/* Optional: super light overlay to improve contrast without whitening */
body.page-life::after{
  content:"";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(70% 60% at 20% 10%, rgba(0,0,0,.18), transparent 62%),
    linear-gradient(to bottom, rgba(0,0,0,.12), rgba(0,0,0,.08));
  z-index: -1;
}

/* Grid of cards */
body.page-life .glass-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 14px;
}

/* Individual card tiles (separate squares) */
body.page-life .glass-tile{
  background: var(--li-glass);
  border: 1px solid var(--li-border);
  backdrop-filter: blur(var(--li-blur));
  -webkit-backdrop-filter: blur(var(--li-blur));
  border-radius: var(--li-radius);
  padding: 18px;
  box-shadow: var(--li-shadow);
  min-height: 210px;
}

/* Make each tile read cleanly */
body.page-life .glass-tile h3{ margin: 0 0 8px; }
body.page-life .glass-tile p{
  margin: 0;
  color: var(--li-muted);
  line-height: 1.55;
}

/* Ensure large slab cards don't visually merge with tiles */
body.page-life .glass-card{
  background: rgba(18,18,18,.18);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Responsive */
@media (max-width: 900px){
  body.page-life .glass-grid{ grid-template-columns: 1fr; }
}

/* ===== Notary Page: Premium Readability + Separate Glass Tiles ===== */
body.page-notary-signings{
  --n-text: rgba(255,255,255,.92);
  --n-muted: rgba(255,255,255,.78);

  --n-glass: rgba(18,18,18,.26);
  --n-border: rgba(255,255,255,.18);
  --n-shadow: 0 16px 40px rgba(0,0,0,.18);
  --n-blur: 14px;

  --n-radius: 18px;
}

body.page-notary-signings h1,
body.page-notary-signings h2,
body.page-notary-signings h3{
  color: var(--n-text);
  text-shadow: 0 2px 14px rgba(0,0,0,.25);
}

body.page-notary-signings p,
body.page-notary-signings li{
  color: var(--n-text);
  text-shadow: 0 2px 12px rgba(0,0,0,.18);
}

/* Optional gentle overlay to improve contrast without whitening the photo */
body.page-notary-signings::after{
  content:"";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(70% 60% at 20% 10%, rgba(0,0,0,.18), transparent 62%),
    linear-gradient(to bottom, rgba(0,0,0,.12), rgba(0,0,0,.08));
  z-index: -1;
}

/* Grid of separate cards */
body.page-notary-signings .glass-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 14px;
}

body.page-notary-signings .glass-tile{
  background: var(--n-glass);
  border: 1px solid var(--n-border);
  backdrop-filter: blur(var(--n-blur));
  -webkit-backdrop-filter: blur(var(--n-blur));
  border-radius: var(--n-radius);
  padding: 18px;
  box-shadow: var(--n-shadow);
}

body.page-notary-signings .glass-tile h3{
  margin: 0 0 8px;
}

body.page-notary-signings .glass-tile p{
  margin: 0;
  color: var(--n-muted);
  line-height: 1.55;
}

/* Responsive stacking */
@media (max-width: 900px){
  body.page-notary-signings .glass-grid{
    grid-template-columns: 1fr;
  }
}

/* ===== Strategic Planning Page: Premium Readability + Separate Tiles ===== */
body.page-strategy{
  --sp-text: rgba(255,255,255,.92);
  --sp-muted: rgba(255,255,255,.78);

  --sp-glass: rgba(18,18,18,.26);
  --sp-border: rgba(255,255,255,.18);
  --sp-shadow: 0 16px 40px rgba(0,0,0,.18);
  --sp-blur: 14px;

  --sp-radius: 18px;
}

/* Text readability */
body.page-strategy h1,
body.page-strategy h2,
body.page-strategy h3{
  color: var(--sp-text);
  text-shadow: 0 2px 14px rgba(0,0,0,.25);
}
body.page-strategy p,
body.page-strategy li{
  color: var(--sp-text);
  text-shadow: 0 2px 12px rgba(0,0,0,.18);
}

/* Optional gentle overlay to increase contrast without whitening the photo */
body.page-strategy::after{
  content:"";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(70% 60% at 20% 10%, rgba(0,0,0,.16), transparent 62%),
    linear-gradient(to bottom, rgba(0,0,0,.10), rgba(0,0,0,.06));
  z-index: -1;
}

/* Tile layout */
body.page-strategy .glass-grid{
  display: grid;
  gap: 18px;
  margin-top: 14px;
}

/* A premium “stack” layout (one card per row) */
body.page-strategy .glass-grid--stack{
  grid-template-columns: 1fr;
}

/* Optional: 2-column on very wide screens */
@media (min-width: 1100px){
  body.page-strategy .glass-grid--stack{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* keep last card spanning full width if odd number */
  body.page-strategy .glass-grid--stack > .glass-tile:last-child:nth-child(odd){
    grid-column: 1 / -1;
  }
}

/* Individual tiles */
body.page-strategy .glass-tile{
  background: var(--sp-glass);
  border: 1px solid var(--sp-border);
  backdrop-filter: blur(var(--sp-blur));
  -webkit-backdrop-filter: blur(var(--sp-blur));
  border-radius: var(--sp-radius);
  padding: 18px;
  box-shadow: var(--sp-shadow);
}

body.page-strategy .glass-tile h3{
  margin: 0 0 8px;
}
body.page-strategy .glass-tile p{
  margin: 0;
  color: var(--sp-muted);
  line-height: 1.55;
}


/* Strategy tiles: small bullet list styling (used in service cards) */
body.page-strategy .glass-tile .pillars-list{
  margin: 10px 0 0;
  padding-left: 18px;
  color: var(--sp-muted);
}
body.page-strategy .glass-tile .pillars-list li{
  margin: 6px 0;
}


/* ===== About page: keep content off the face ===== */
body.page-about{
  /* Keep subject (face) on the right, content on the left */
  background-position: 72% center !important; /* adjust 65–80% if needed */
}

/* About uses a fixed ::before background; ensure focal point stays right */
body.layout-relaxed.page-about::before{
  background-position: 72% center !important;
}

/* Safe column wrapper (works whether you add .about-safe or not) */
body.page-about .about-safe,
body.page-about main.container,
body.page-about main .container{
  max-width: 720px;            /* safe column width */
  margin-left: 0;              /* left align */
  margin-right: auto;
  padding-left: clamp(16px, 4vw, 48px);
  padding-right: clamp(16px, 3vw, 28px);
}

/* If your cards are set to stretch too wide, cap them */
body.page-about .glass-card{
  max-width: 720px;
}

/* Make long text behave inside the card */
body.page-about .glass-card p,
body.page-about .glass-card li{
  overflow-wrap: anywhere;
}

/* Mobile: allow full width so it stays readable */
@media (max-width: 900px){
  body.page-about{
    background-position: center center !important;
  }
  body.layout-relaxed.page-about::before{
    background-position: center center !important;
  }
  body.page-about .about-safe,
  body.page-about main.container,
  body.page-about main .container,
  body.page-about .glass-card{
    max-width: 100%;
  }
}
/* ===== Contact Page: Premium Glass Layout ===== */
body.page-contact{
  --c-text: rgba(255,255,255,.92);
  --c-muted: rgba(255,255,255,.78);
  --c-glass: rgba(18,18,18,.26);
  --c-border: rgba(255,255,255,.18);
  --c-shadow: 0 16px 40px rgba(0,0,0,.18);
  --c-blur: 14px;
  --c-radius: 18px;
}

/* Subtle contrast overlay (keeps photo visible) */
body.page-contact::after{
  content:"";
  position: fixed;
  inset: 0;
  pointer-events:none;
  background:
    radial-gradient(70% 60% at 20% 10%, rgba(0,0,0,.16), transparent 62%),
    linear-gradient(to bottom, rgba(0,0,0,.10), rgba(0,0,0,.06));
  z-index:-1;
}

body.page-contact h1,
body.page-contact h2,
body.page-contact h3{
  color: var(--c-text);
  text-shadow: 0 2px 14px rgba(0,0,0,.25);
}
body.page-contact p,
body.page-contact label{
  color: var(--c-text);
  text-shadow: 0 2px 12px rgba(0,0,0,.18);
}

/* Two-tile layout */
body.page-contact .glass-grid--2{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 16px;
}

body.page-contact .contact-tile{
  background: var(--c-glass);
  border: 1px solid var(--c-border);
  backdrop-filter: blur(var(--c-blur));
  -webkit-backdrop-filter: blur(var(--c-blur));
  border-radius: var(--c-radius);
  padding: 18px;
  box-shadow: var(--c-shadow);
}

/* Form inputs (no bright white blocks) */
body.page-contact input,
body.page-contact select,
body.page-contact textarea{
  width:100%;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.92);
  border-radius: 12px;
  padding: 10px 12px;
  outline: none;
}

body.page-contact input::placeholder,
body.page-contact textarea::placeholder{
  color: rgba(255,255,255,.55);
}

body.page-contact input:focus,
body.page-contact select:focus,
body.page-contact textarea:focus{
  border-color: rgba(255,255,255,.32);
  box-shadow: 0 0 0 3px rgba(255,255,255,.10);
}

/* Calendly embed */
body.page-contact .calendly-embed{
  width: 100%;
  height: 560px;
  border: 0;
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255,255,255,.06);
}

/* If Calendly injects an iframe, round it too */
body.page-contact .calendly-embed iframe{
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
}

/* Responsive */
@media (max-width: 900px){
  body.page-contact .glass-grid--2{
    grid-template-columns: 1fr;
  }
  body.page-contact .calendly-embed{
    height: 520px;
  }
}


/* ===== Policies Page: Premium Glass + Separate Accordion Tiles ===== */
body.page-policies{
  --p-text: rgba(255,255,255,.92);
  --p-muted: rgba(255,255,255,.78);

  --p-glass: rgba(18,18,18,.26);
  --p-glass-soft: rgba(18,18,18,.20);
  --p-border: rgba(255,255,255,.18);
  --p-shadow: 0 16px 40px rgba(0,0,0,.18);
  --p-blur: 14px;
  --p-radius: 18px;
}

/* Subtle contrast overlay (keeps photo visible) */
body.page-policies::after{
  content:"";
  position: fixed;
  inset: 0;
  pointer-events:none;
  background:
    radial-gradient(70% 60% at 20% 10%, rgba(0,0,0,.16), transparent 62%),
    linear-gradient(to bottom, rgba(0,0,0,.10), rgba(0,0,0,.06));
  z-index:-1;
}

body.page-policies h1,
body.page-policies h2,
body.page-policies h3{
  color: var(--p-text);
  text-shadow: 0 2px 14px rgba(0,0,0,.25);
}
body.page-policies p,
body.page-policies li{
  color: var(--p-text);
  text-shadow: 0 2px 12px rgba(0,0,0,.18);
}

/* Safe width (match other pages) */
body.page-policies main .container{
  max-width: 980px;
}

/* Accordion stack wrapper */
body.page-policies .policy-accordion{
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-top: 14px;
}

/* Each accordion item becomes its own tile */
body.page-policies .policy-item{
  background: var(--p-glass);
  border: 1px solid var(--p-border);
  backdrop-filter: blur(var(--p-blur));
  -webkit-backdrop-filter: blur(var(--p-blur));
  border-radius: var(--p-radius);
  box-shadow: var(--p-shadow);
  overflow: hidden; /* keeps rounded corners clean when expanded */
}

/* Accordion header row/button (do not break JS) */
body.page-policies .policy-item .accordion-header,
body.page-policies .policy-item summary,
body.page-policies .policy-item button{
  color: var(--p-text);
}

/* If you use <button> in the header */
body.page-policies .policy-item button{
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  padding: 14px 16px;
  font-weight: 600;
  cursor: pointer;
}

/* If you use <summary> for details/accordion */
body.page-policies .policy-item summary{
  list-style: none;
  padding: 14px 16px;
  cursor: pointer;
  font-weight: 600;
}
body.page-policies .policy-item summary::-webkit-details-marker{ display:none; }

/* Details content (works with <details><summary>…</summary><p>…</p></details>) */
body.page-policies .policy-item p{
  margin: 10px 0 0;
  padding: 0 16px;
  color: var(--p-muted);
  line-height: 1.55;
}
body.page-policies .policy-item p:last-child{
  padding-bottom: 16px;
}

/* Accordion panel content (fallback for other accordion markup) */
body.page-policies .policy-item .accordion-panel,
body.page-policies .policy-item .accordion-content,
body.page-policies .policy-item .panel,
body.page-policies .policy-item .content{
  padding: 0 16px 16px;
  color: var(--p-muted);
}

/* Privacy Policy block as a matching tile */
body.page-policies .policy-privacy{
  margin-top: 18px;
  background: var(--p-glass-soft);
  border: 1px solid var(--p-border);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: var(--p-radius);
  box-shadow: var(--p-shadow);
  padding: 18px;
}

/* Override any inline dark text colors inside Privacy block */
body.page-policies .policy-privacy p,
body.page-policies .policy-privacy ul,
body.page-policies .policy-privacy li{
  color: var(--p-muted) !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.18);
}

/* Mobile spacing */
@media (max-width: 900px){
  body.page-policies main .container{
    max-width: 100%;
  }
}

/* ===== Global Footer Override: Use Strategic Planning “footer-frosted” style on all pages except Home ===== */
body:not(.page-home) footer.footer-frosted{
  background: rgba(18,18,18,.26);
  border-top: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* Compact single-row layout */
body:not(.page-home) footer.footer-frosted .footer-compact{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 14px;
  padding-bottom: 14px;
}

/* Center inline nav links */
body:not(.page-home) footer.footer-frosted nav,
body:not(.page-home) footer.footer-frosted .footer-nav{
  display: flex;
  align-items: center;
  justify-content: center;
}

body:not(.page-home) footer.footer-frosted .footer-nav ul,
body:not(.page-home) footer.footer-frosted nav ul{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  list-style: none;
  margin: 0;
  padding: 0;
}

body:not(.page-home) footer.footer-frosted .footer-nav a,
body:not(.page-home) footer.footer-frosted nav a{
  color: rgba(255,255,255,.86);
  text-decoration: none;
  text-shadow: 0 2px 12px rgba(0,0,0,.18);
}

body:not(.page-home) footer.footer-frosted .footer-nav a:hover,
body:not(.page-home) footer.footer-frosted nav a:hover{
  color: rgba(255,255,255,.96);
}

/* Right-aligned meta */
body:not(.page-home) footer.footer-frosted .footer-meta{
  margin-left: auto;
  text-align: right;
  color: rgba(255,255,255,.72);
  text-shadow: 0 2px 12px rgba(0,0,0,.18);
  white-space: nowrap;
}

/* Responsive stacking under 860px */
@media (max-width: 860px){
  body:not(.page-home) footer.footer-frosted .footer-compact{
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  body:not(.page-home) footer.footer-frosted .footer-meta{
    margin-left: 0;
    text-align: center;
    white-space: normal;
  }
}

/* =========================================================
   UNIVERSAL INNER-PAGE FOOTER (match Strategic)
   Applies to ALL pages except homepage
   ========================================================= */

body:not(.page-home) footer.footer-frosted{
  background: rgba(0,0,0,.45);
  border-top: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: rgba(255,255,255,.92);
}

/* Match Strategic: footer spans wide, not boxed */
body:not(.page-home) footer.footer-frosted .container{
  width: calc(100% - 40px);
  max-width: none;
}

/* Match Strategic: single-row layout */
body:not(.page-home) footer.footer-frosted .footer-compact{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:10px 0;
}

/* Left */
body:not(.page-home) footer.footer-frosted .footer-left{
  text-align:left;
}
body:not(.page-home) footer.footer-frosted .footer-title{
  font-weight:600;
}
body:not(.page-home) footer.footer-frosted .footer-tag{
  font-size:12px;
  opacity:.9;
}

/* Center nav */
body:not(.page-home) footer.footer-frosted .footer-navwrap{
  flex:1;
  display:flex;
  justify-content:center;
}
body:not(.page-home) footer.footer-frosted .footer-links-inline{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  align-items:center;
  justify-content:center;
}
body:not(.page-home) footer.footer-frosted .footer-links-inline a{
  color:#fff;
  text-decoration:none;
  opacity:.92;
}
body:not(.page-home) footer.footer-frosted .footer-links-inline a:hover{
  text-decoration:underline;
  opacity:1;
}

/* Right meta + copyright */
body:not(.page-home) footer.footer-frosted .footer-meta{
  white-space:nowrap;
}
body:not(.page-home) footer.footer-frosted .footer-meta a{
  color:#fff;
  text-decoration:underline;
  opacity:.92;
}
body:not(.page-home) footer.footer-frosted .small{
  white-space:nowrap;
  opacity:.92;
}

/* Mobile: stack cleanly */
@media (max-width: 860px){
  body:not(.page-home) footer.footer-frosted .footer-compact{
    flex-direction:column;
    align-items:flex-start;
    padding:12px 0;
  }
  body:not(.page-home) footer.footer-frosted .footer-navwrap{
    justify-content:flex-start;
  }
  body:not(.page-home) footer.footer-frosted .footer-links-inline{
    justify-content:flex-start;
  }
  body:not(.page-home) footer.footer-frosted .footer-meta,
  body:not(.page-home) footer.footer-frosted .small{
    white-space:normal;
  }
}


/* ===== Homepage header: NOT frosted (no blur) ===== */
.page-home .site-header{
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* ===== Homepage header alignment: logos LEFT, actions RIGHT ===== */
.page-home .site-header .header-inner{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.page-home .site-header .brand{
  margin: 0 !important;
}

.page-home .site-header .header-actions{
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

/* ===== Universal header logo sizing (ALL pages) ===== */
header .brand.brand-img{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
}

header .brand.brand-img .brand-ts{
  height: var(--logo-ts-h, 44px);
  width: auto;
}

header .brand.brand-img .brand-wordmark{
  height: var(--logo-wordmark-h, 26px);
  width: auto;
}

/* ===== Homepage header: full-width alignment (logos left, actions right) ===== */
.page-home .site-header .header-inner.container{
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
}

.page-home .site-header .header-inner{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.page-home .site-header .brand{
  margin: 0 !important;
}

.page-home .site-header .header-actions{
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}



/* Force the CTA text left on Life page */
.page-life .cta,
.page-life .cta *{
  text-align: left !important;
}
/* ===== Notary page fixes ===== */

/* Notary page: push service cards lower so they sit below faces in hero photo */
body.page-notary-signings .hero-notary + .section{
  margin-top: 150px;
}

@media (max-width: 920px){
  body.page-notary-signings .hero-notary + .section{
    margin-top: 70px;
  }
}


/* ===== Strategy page fixes ===== */

/* Strategy: 3-up audience cards, square corners */
body.page-strategy .who-this-is-for .glass-grid{
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

body.page-strategy .who-this-is-for .glass-tile{
  border-radius: 0 !important; /* square */
}

@media (max-width: 980px){
  body.page-strategy .who-this-is-for .glass-grid{
    grid-template-columns: 1fr;
  }
}

/* Strategy: prevent CTA from clipping button corners */
body.page-strategy .cta{
  overflow: visible;
}

/* iOS fallback: fixed backgrounds can jitter */
@supports (-webkit-touch-callout: none){
  body.layout-relaxed.page-strategy{ background-attachment: scroll; }
}

/* ===== Strategy page: prevent clipping of button corners ===== */
body.page-strategy .cta,
body.page-strategy .hero-card{
  overflow: visible !important;
}

/* Extra safety: ensure buttons have breathing room inside CTA */
body.page-strategy .cta{
  padding: 26px !important;
}



/* ==========================
   About page: bring cards closer to portrait
   without overlapping face
   ========================== */

/* Let About content use full-width, but reserve a "safe zone" on the right
   so text never sits on the portrait face area */
body.page-about #main.container{
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: clamp(18px, 3vw, 44px) !important;

  /* This is the key: reserve space on the right for the portrait */
  padding-right: clamp(320px, 36vw, 560px) !important;
}

/* Keep cards a readable width so they don't stretch too wide */
body.page-about .glass-card{
  max-width: 620px;
}

/* On smaller screens, remove the reserved portrait zone so it doesn't crush content */
@media (max-width: 920px){
  body.page-about #main.container{
    padding-right: clamp(18px, 3vw, 44px) !important;
  }
  body.page-about .glass-card{
    max-width: 100%;
  }
}
/* ===== Contact page: make Send button match site hero buttons ===== */
body.page-contact button.hero-btn,
body.page-contact input.hero-btn{
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  font: inherit;
  line-height: 1;
}

/* ===== Policies page: match glass styling (remove white blocks) ===== */
body.page-policies .card{
  background: var(--p-glass-soft) !important;
  border: 1px solid var(--p-border) !important;
  box-shadow: var(--p-shadow) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}
body.page-policies .card p,
body.page-policies .card li{
  color: var(--p-muted) !important;
}

/* Prevent default <details> white surfaces from showing on Policies page */
body.page-policies details:not(.policy-item){
  background: var(--p-glass-soft) !important;
  border: 1px solid var(--p-border) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}
/* =========================================================
   FIX PACK — requested site tweaks (scoped, no layout rebuild)
   ========================================================= */

/* 1) POLICIES: remove frosting on the header block + summary accordion only */
body.page-policies main.container > .card.glass-card.glass-card-lg,
body.page-policies main.container > .glass-card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* (Optional safety) If the summary block has rounding from glass styling */
body.page-policies main.container > .card.glass-card.glass-card-lg,
body.page-policies main.container > .glass-card {
  border-radius: 0 !important;
}

/* 2) NOTARY: prevent hero buttons from being clipped on narrow widths */
body.page-notary-signings .hero-btn {
  box-sizing: border-box;
  max-width: 100%;
}

@media (max-width: 420px) {
  body.page-notary-signings .hero-actions {
    flex-direction: column;
    align-items: stretch;
  }
  body.page-notary-signings .hero-btn {
    width: 100%;
    min-width: 0;           /* overrides the base min-width:220px */
    text-align: center;
  }
}

/* 3) FOOTERS: frost everywhere EXCEPT homepage */
/* FOOTER FROSTING: apply everywhere by default via .footer-frosted
   but disable frosting on homepage only */
body.page-home footer.footer-frosted{
  background: transparent !important;
  border-top: 1px solid var(--border) !important; /* keep a clean divider */
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* 4) ABOUT: bring cards closer to portrait by reducing the right “safe zone”
   Existing rule reserves: padding-right: clamp(320px, 36vw, 560px)
   Reduce slightly to move cards closer without overlapping portrait.
*/
body.page-about #main.container {
  padding-right: clamp(240px, 30vw, 480px) !important;
}

/* Keep card widths reasonable (optional, helps use newly available space safely) */
body.page-about .glass-card {
  max-width: 680px;
}

/* 5) LIFE INSURANCE: remove the outer glass-card wrappers (keep inner tiles) */
body.page-life .target-groups > .glass-card.glass-card-lg,
body.page-life .insurance-types > .glass-card.glass-card-lg {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;

  /* remove the “outer card” padding so only inner tiles read as cards */
  padding: 0 !important;
}

/* NOTARY: prevent hero card overlay/overflow from visually clipping button corners */
body.page-notary-signings .hero-card{
  overflow: visible; /* was hidden; can clip rounded corners/hover states */
}

/* Ensure overlay stays behind content */
body.page-notary-signings .hero-card::before{
  z-index: 0;
}
body.page-notary-signings .hero-card > *{
  position: relative;
  z-index: 1;
}

/* Re-assert button rounding (in case any earlier rule flattened it) */
body.page-notary-signings .hero-btn{
  border-radius: 4px;
  background-clip: padding-box;
}


/* ===== Mobile + iOS stability: avoid "fixed" background jank and layout overflow ===== */
@media (max-width: 900px){
  /* iOS/Android browsers often struggle with fixed backgrounds; use scroll for smoother rendering */
  body.page-strategy,
  body.page-notary-signings,
  body.page-life,
  body.page-notary{
    background-attachment: scroll !important;
  }

  /* Reduce expensive transforms on large background layers */
  .hero-bg{ transform:none; }
}

/* Prefer-reduced-motion: keep things calm and consistent */
@media (prefers-reduced-motion: reduce){
  .hero-bg{ transform:none; }
}
