/* Header: mobile = script vm seal + name; desktop = signature + subtitle */
.brand-mark{
  display:block;
  object-fit:contain;
}
.brand-mark-seal{
  height:36px;
  width:36px;
  flex:0 0 36px;
}
.brand-mark-sign{
  display:none;
  height:36px;
  width:auto;
  max-width:min(168px,46vw);
}
.brand .brand-text{
  display:flex !important;
  flex-direction:column;
  gap:.2rem;
}
@media (min-width:480px){
  .brand-mark-seal{display:none}
  .brand-mark-sign{display:block;height:42px;max-width:200px}
  .brand .brand-name{display:none}
}
.footer-mark{
  height:40px;
  width:auto;
  max-width:200px;
  display:block;
  margin:0 0 .55rem;
  object-fit:contain;
}
html[data-theme="dark"] .brand-mark,
html[data-theme="dark"] .footer-mark{
  filter:invert(1);
}

/* Readable menu on paper pages */
.site-header{
  background:rgba(249,248,246,.94);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(26,26,26,.12);
}
.site-header .nav-link,
.site-header .brand-name,
.site-header .brand-sub,
.site-header .theme-lbl{
  color:#1a1a1a !important;
}
.site-header .nav-toggle{
  border-color:#1a1a1a;
}
.site-header .nav-toggle-bar{
  background:#1a1a1a !important;
}
.header-book{
  border:1px solid #1a1a1a !important;
  color:#1a1a1a !important;
  background:transparent !important;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:11px;
}
.header-book:hover{
  background:#1a1a1a !important;
  color:#fff !important;
}

/* Homepage splash */
.splash-hero{
  position:relative;
  min-height:100svh;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:5.6rem 1.25rem 2.2rem;
  color:#f4efe8;
  background:#111;
  overflow:hidden;
}
.splash-bg{
  position:absolute;
  inset:0;
  background-color:#141210;
  background-image:
    linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.12) 34%,rgba(0,0,0,.08) 58%,rgba(0,0,0,.62) 100%),
    url("/assets/photos/optimized/notary-stamp-900.jpg");
  background-position:center 46%;
  background-size:cover;
  background-repeat:no-repeat;
}
/* Desktop: sticky header (below) + signing-table headroom so crown clears nav.
   Mobile keeps notary-stamp @ 46% (unchanged). */
@media (min-width:900px){
  .splash-hero{
    min-height:calc(100svh - 5.5rem);
    padding-top:3.25rem;
    padding-bottom:2.75rem;
  }
  .splash-bg{
    background-image:
      linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.18) 22%,rgba(0,0,0,.1) 50%,rgba(0,0,0,.6) 100%),
      url("/assets/photos/optimized/client-signing-table-900.jpg");
    /* Full-bleed cover (no side bars). Mid crop: head + torso/table, not full tall photo. */
    background-position:center 34%;
    background-size:cover;
  }
}
.splash-top,
.splash-bottom{
  position:relative;
  z-index:1;
  max-width:40rem;
}
.splash-hero h1{
  font-family:var(--font-serif, "Playfair Display", Georgia, serif);
  font-weight:400;
  font-size:clamp(3.2rem,16vw,6.4rem);
  line-height:.95;
  letter-spacing:-.03em;
  color:#f4efe8;
  margin:0;
  text-shadow:0 1px 12px rgba(0,0,0,.35);
}
.splash-lede{
  margin:0 0 1rem;
  max-width:22rem;
  color:#f4efe8;
  font-size:1.08rem;
  line-height:1.45;
  text-shadow:0 1px 10px rgba(0,0,0,.45);
}
.splash-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:3rem;
  padding:0 1.35rem;
  background:#C5A059;
  color:#fff;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.2em;
  font-size:11px;
  font-weight:500;
}
.splash-btn:hover{background:#b08e4d;text-decoration:none;color:#fff}

/* Gray translucent header over the splash photo */
body:has(.splash-hero) .site-header{
  background:rgba(28,28,28,.46) !important;
  backdrop-filter:blur(10px) saturate(120%);
  border-bottom:1px solid rgba(255,255,255,.18);
  position:absolute;
  left:0;right:0;top:0;
}
body:has(.splash-hero) .site-header .brand-name,
body:has(.splash-hero) .site-header .brand-sub,
body:has(.splash-hero) .site-header .nav-link,
body:has(.splash-hero) .site-header .header-book,
body:has(.splash-hero) .site-header .theme-lbl{
  color:#f4efe8 !important;
}
body:has(.splash-hero) .site-header .header-book{
  border-color:rgba(244,239,232,.7) !important;
}
body:has(.splash-hero) .site-header .brand-mark-sign,
body:has(.splash-hero) .site-header .brand-mark-seal,
body:has(.splash-hero) .site-header .nav-toggle-bar{
  filter:invert(1);
}
body:has(.splash-hero) .site-header .nav-toggle{
  border-color:rgba(244,239,232,.55);
}
body:has(.splash-hero) .site-header .nav-toggle-bar{
  background:#f4efe8 !important;
}

/* Footer: three columns */
.site-footer .footer-inner{
  display:grid !important;
  grid-template-columns:1.15fr 1fr 1fr 1fr !important;
  gap:1.5rem 1.25rem !important;
}
@media (max-width:799px){
  .site-footer .footer-inner{
    grid-template-columns:1fr 1fr 1fr !important;
  }
  .site-footer .footer-col.brand-col{
    grid-column:1 / -1;
  }
  .site-footer .footer-col ul{
    display:block !important;
  }
}

/* Sitewide paper + gold */
:root,
html[data-theme="light"]{
  --paper:#F9F8F6;
  --paper-deep:#F1EEE9;
  --surface:#FFFcf8;
  --ink:#1A1A1A;
  --ink-soft:#4A4743;
  --muted:#5c5854;
  --line:#E5E2DE;
  --accent:#C5A059;
  --header-bg:rgba(249,248,246,.94);
}
html,body{background:#F9F8F6}
.page-photo img{width:100%;height:auto;max-height:280px;object-fit:cover;display:block}

/* Fees map */
.fees-map{margin:2.5rem 0 1rem}
.fees-map h2{font-family:"Playfair Display",Georgia,serif;font-weight:400;margin:0 0 .4rem}
.fees-map-frame{margin-top:.9rem;overflow:hidden;border:.5px solid #E5E2DE;background:#eee}
.fees-map-frame iframe{width:100%;height:240px;border:0;display:block}
.home-callout ul{margin:.4rem 0 1rem 1.1rem}
.home-callout li{margin:.25rem 0}

/* Open mobile menu sits on paper — keep those links dark */
@media (max-width:1023px){
  body:has(.splash-hero) .primary-nav .nav-link,
  body:has(.splash-hero) .primary-nav .theme-lbl,
  body:has(.splash-hero) .primary-nav .nav-link.cta{
    color:#1a1a1a !important;
  }
  body:has(.splash-hero) .primary-nav .nav-link.cta{
    background:#1a1a1a !important;
    color:#f4efe8 !important;
  }
}


/* LIVE FIX: readable header + 3-col footer + splash type placement */
body:has(.splash-hero) .site-header{
  background:rgba(20,18,16,.52) !important;
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.12) !important;
  position:absolute;
  left:0;right:0;top:0;
  z-index:30;
}
@media (min-width:900px){
  body:has(.splash-hero) .site-header{
    position:sticky;
    background:rgba(20,18,16,.94) !important;
  }
}
body:has(.splash-hero) .site-header .brand-name,
body:has(.splash-hero) .site-header .brand-sub,
body:has(.splash-hero) .site-header .header-book,
body:has(.splash-hero) .site-header .theme-lbl{
  color:#f4efe8 !important;
}
body:has(.splash-hero) .site-header .nav-toggle-bar{
  background:#f4efe8 !important;
  filter:none !important;
}
body:has(.splash-hero) .site-header .nav-toggle{
  border-color:rgba(244,239,232,.45) !important;
}
body:has(.splash-hero) .site-header .brand-mark{
  filter:invert(1);
}
body:has(.splash-hero) .primary-nav .nav-link{
  color:#1A1A1A !important;
}
@media (min-width:1024px){
  body:has(.splash-hero) .primary-nav{
    background:transparent !important;
  }
  body:has(.splash-hero) .primary-nav .nav-link{
    color:#f4efe8 !important;
  }
}
/* inner pages: dark type on paper header */
body:not(:has(.splash-hero)) .site-header .nav-link,
body:not(:has(.splash-hero)) .site-header .brand-name,
body:not(:has(.splash-hero)) .site-header .brand-sub{
  color:#1A1A1A !important;
}
body:not(:has(.splash-hero)) .site-header .nav-toggle-bar{
  background:#1A1A1A !important;
  filter:none !important;
}

/* Footer: brand on top, then three columns of links */
.site-footer .footer-inner{
  display:grid !important;
  grid-template-columns:1fr 1fr 1fr !important;
  gap:1.1rem .75rem !important;
}
.site-footer .brand-col{
  grid-column:1 / -1;
}
@media (min-width:1000px){
  .site-footer .footer-inner{
    grid-template-columns:1.4fr 1fr 1fr 1fr !important;
  }
  .site-footer .brand-col{
    grid-column:auto;
  }
}
.site-footer .footer-col:not(.brand-col) ul{
  display:block !important;
}

/* Photo first, then text */
.hero.has-photo .hero-grid{
  grid-template-areas:"photo" "intro" "actions" !important;
}
@media (min-width:900px){
  .hero.has-photo .hero-grid{
    grid-template-areas:"photo intro" "photo actions" !important;
  }
}

/* Form sticky estimate must sit above the Get started bar */
body:has(.estimate-sticky-badge) .sticky-mobile-bar{
  display:none !important;
}
.estimate-sticky-badge{
  z-index:80 !important;
  background:#fff !important;
  color:#1a1a1a !important;
  border:1px solid #C5A059 !important;
}
.estimate-sticky-badge .esb-amt{
  color:#1a1a1a !important;
  font-size:1.35rem !important;
}
.estimate-sticky-badge .esb-dur{
  color:#4A4743;
  font-size:.9rem;
}
.estimate-sticky-badge.is-ready .esb-amt{
  color:#A8873F !important;
}

/* PHOTO FIRST: image above copy on every inner page */
.hero.has-photo .hero-grid[data-astro-cid-bbe6dxrz],
.hero.has-photo .hero-grid{
  display:flex !important;
  flex-direction:column !important;
  gap:1.1rem !important;
}
.hero.has-photo .hero-photo{
  order:-1;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  aspect-ratio:4/3;
}
.hero.has-photo .hero-photo img,
.hero.has-photo .hero-photo picture{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.page-photo-first{
  margin:0 0 1.25rem;
}
.page-photo-first img{
  width:100%;
  height:auto;
  max-height:320px;
  object-fit:cover;
  display:block;
}

.about-grid[data-astro-cid-f4sxiasv],
.about-grid{
  display:flex !important;
  flex-direction:column !important;
}
.about-portrait{order:-1;margin:0 0 1.2rem !important;max-width:none !important}
.about-portrait img{width:100%;height:auto;display:block;max-height:340px;object-fit:cover}
