/* ============================================================
   Mahi Hatte — Realtor & Notary, Fremont CA
   Stylesheet — see CLAUDE.md for design-token rationale
   ============================================================ */

:root{
  --ink:#14202B;
  --ink-soft:#3B4750;
  --paper:#EFEAE0;
  --paper-2:#E5DECD;
  --seal:#7A2331;
  --seal-dark:#5C1A25;
  --brass:#A6823C;
  --sage:#45564F;
  --line: rgba(20,32,43,0.14);
  --max: 1120px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter', sans-serif;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--max); margin:0 auto; padding:0 32px;}
a{color:inherit;}
.mono{font-family:'IBM Plex Mono', monospace; letter-spacing:0.02em;}
h1,h2,h3{font-family:'Fraunces', serif; margin:0; font-weight:600;}
p{margin:0; line-height:1.6;}
img,svg{display:block;}
button{font-family:inherit;}
:focus-visible{outline:2px solid var(--seal); outline-offset:3px;}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important; scroll-behavior:auto !important;}
}

.skip-link{
  position:absolute; left:-999px; top:0; background:var(--seal); color:#fff;
  padding:10px 16px; z-index:100; font-size:0.85rem; font-weight:600;
}
.skip-link:focus{left:12px; top:12px;}

/* reveal-on-scroll */
.reveal{opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease;}
.reveal.is-visible{opacity:1; transform:translateY(0);}

/* ---------- NAV ---------- */
header.site{
  position:sticky; top:0; z-index:50;
  background:rgba(239,234,224,0.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
nav.wrap{
  display:flex; align-items:center; justify-content:space-between;
  height:76px;
}
.brand{display:flex; align-items:center; gap:12px; font-family:'Fraunces',serif; font-weight:600; font-size:1.15rem; text-decoration:none;}
.brand .mini-seal{width:34px; height:34px;}
.nav-links{display:flex; align-items:center; gap:28px;}
nav ul{display:flex; gap:28px; list-style:none; margin:0; padding:0;}
nav ul li a{
  text-decoration:none; font-size:0.86rem; letter-spacing:0.04em; text-transform:uppercase;
  color:var(--ink-soft); font-weight:600; padding:6px 0; border-bottom:1px solid transparent;
  transition:border-color .2s, color .2s;
}
nav ul li a:hover{color:var(--seal); border-color:var(--seal);}
.nav-actions{display:flex; align-items:center; gap:10px;}
.nav-notary-btn{
  display:inline-flex; align-items:center; gap:7px;
  background:var(--brass); color:var(--ink); text-decoration:none;
  font-size:0.78rem; font-weight:700; letter-spacing:0.04em; text-transform:uppercase;
  padding:10px 16px; border-radius:2px;
  transition:background .2s, box-shadow .2s;
  font-family:'IBM Plex Mono',monospace;
  box-shadow:0 2px 8px rgba(166,130,60,0.35);
}
.nav-notary-btn:hover{background:#c4a050; box-shadow:0 4px 14px rgba(166,130,60,0.5);}
.nav-cta{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--ink); color:var(--paper); text-decoration:none;
  font-size:0.82rem; font-weight:600; letter-spacing:0.03em; text-transform:uppercase;
  padding:11px 18px; border-radius:2px;
  transition:background .2s;
}
.nav-cta:hover{background:var(--seal);}
.nav-toggle{
  display:none; background:none; border:1px solid var(--line); border-radius:2px;
  width:42px; height:38px; align-items:center; justify-content:center; cursor:pointer;
}
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{
  content:""; display:block; width:18px; height:2px; background:var(--ink); position:relative;
  transition:transform .2s ease, opacity .2s ease;
}
.nav-toggle span::before{position:absolute; top:-6px;}
.nav-toggle span::after{position:absolute; top:6px;}
.nav-toggle[aria-expanded="true"] span{background:transparent;}
.nav-toggle[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg);}

@media (max-width:860px){
  .nav-links{
    position:absolute; top:76px; left:0; right:0;
    background:var(--paper); border-bottom:1px solid var(--line);
    flex-direction:column; align-items:stretch; gap:0;
    padding:8px 32px 20px;
    transform:translateY(-8px); opacity:0; pointer-events:none;
    transition:opacity .2s ease, transform .2s ease;
  }
  .nav-links.is-open{transform:translateY(0); opacity:1; pointer-events:auto;}
  nav ul{flex-direction:column; gap:0; width:100%;}
  nav ul li{border-top:1px solid var(--line);}
  nav ul li a{display:block; padding:14px 0;}
  .nav-actions{flex-direction:column; width:100%; gap:8px; margin-top:14px;}
  .nav-notary-btn{justify-content:center; width:100%;}
  .nav-cta{justify-content:center; width:100%;}
  .nav-toggle{display:flex;}
}

/* ---------- HERO ---------- */
.hero{
  background:
    radial-gradient(circle at 82% 18%, rgba(122,35,49,0.16), transparent 45%),
    linear-gradient(180deg, #14202B 0%, #182634 100%);
  color:var(--paper);
  padding:88px 0 110px;
  position:relative;
  overflow:hidden;
}
.hero .wrap{
  display:grid;
  grid-template-columns:1.15fr 0.85fr;
  gap:56px;
  align-items:center;
}
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'IBM Plex Mono',monospace; font-size:0.74rem; letter-spacing:0.14em; text-transform:uppercase;
  color:#D8C69B; margin-bottom:22px;
}
.eyebrow::before{content:""; width:22px; height:1px; background:#D8C69B; display:inline-block;}
.hero h1{
  font-size:clamp(2.6rem, 5vw, 4.1rem);
  line-height:1.04;
  font-weight:600;
  color:#FBF8F1;
  max-width:640px;
}
.hero h1 em{font-style:italic; color:#D9AE7E; font-weight:400;}
.hero .sub{margin-top:22px; font-size:1.08rem; color:#C7CDD3; max-width:540px; font-weight:400;}
.hero-cta{display:flex; gap:10px; margin-top:36px; flex-wrap:nowrap; align-items:center;}
.hero-cta .btn{padding:12px 16px; font-size:0.82rem; white-space:nowrap;}

/* service pills in hero */
.service-pills{
  display:flex; align-items:center; gap:10px;
  margin:18px 0 0;
  flex-wrap:wrap;
}
.pill{
  font-family:'IBM Plex Mono',monospace; font-size:0.78rem; font-weight:500;
  letter-spacing:0.1em; text-transform:uppercase;
  color:#D9AE7E; background:rgba(166,130,60,0.15);
  border:1px solid rgba(166,130,60,0.35);
  padding:5px 14px; border-radius:2px;
}
.pill-dot{color:#D9AE7E; font-size:1.1rem; opacity:0.5;}

.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 24px; text-decoration:none; font-weight:600; font-size:0.92rem;
  border-radius:2px; letter-spacing:0.01em; border:none; cursor:pointer;
  transition:transform .15s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--seal); color:#FBF3EC;}
.btn-primary:hover{background:#8f2a3d;}
.btn-outline{border:1px solid rgba(251,248,241,0.5); color:#FBF8F1; background:rgba(255,255,255,0.06);}
.btn-outline:hover{border-color:#FBF8F1; background:rgba(255,255,255,0.12);}
.btn-ghost{border:1px solid rgba(251,248,241,0.35); color:#FBF8F1; background:none;}
.btn-ghost:hover{border-color:#FBF8F1;}
.btn-ghost-sm{
  font-size:0.84rem; font-weight:600; color:#D9AE7E; text-decoration:none;
  padding:4px 0; border-bottom:1px solid rgba(217,174,126,0.4);
  transition:border-color .2s, color .2s;
  display:inline-flex; align-items:center; gap:6px;
}
.btn-ghost-sm:hover{color:#FBF8F1; border-color:rgba(251,248,241,0.6);}
.btn-invest{
  border:1.5px solid var(--sage); border-radius:6px;
  color:#9AB4AC; background:rgba(69,86,79,0.12);
}
.btn-invest:hover{background:rgba(69,86,79,0.25); color:#FBF8F1; border-color:#9AB4AC;}
.btn-dark{background:var(--ink); color:var(--paper);}
.btn-dark:hover{background:var(--seal);}

.hero-notary-strip{
  display:inline-flex; align-items:center; gap:10px;
  margin-top:28px;
  background:rgba(166,130,60,0.12);
  border:1px solid rgba(166,130,60,0.35);
  border-left:3px solid var(--brass);
  padding:10px 16px;
  font-size:0.82rem; color:#C7B88A;
  border-radius:0 2px 2px 0;
}
.hero-notary-strip svg{color:var(--brass); flex-shrink:0;}
.hero-notary-strip a{
  color:var(--brass); font-weight:600; text-decoration:none;
  white-space:nowrap; margin-left:4px;
  border-bottom:1px solid rgba(166,130,60,0.4);
  transition:color .2s, border-color .2s;
}
.hero-notary-strip a:hover{color:#FBF8F1; border-color:rgba(251,248,241,0.5);}

.hero-meta{display:flex; gap:20px; margin-top:32px; flex-wrap:wrap; align-items:center;}
.hero-avatar{
  width:72px; height:72px; border-radius:50%;
  object-fit:cover; object-position:center top;
  border:2px solid rgba(166,130,60,0.6);
  flex-shrink:0;
}
.hero-meta > div{display:flex; flex-direction:column; gap:10px;}
.hero-meta div div{font-family:'IBM Plex Mono',monospace; font-size:0.78rem; color:#9AA3AC;}
.hero-meta strong{display:block; color:#EFEAE0; font-size:0.95rem; margin-bottom:2px; font-family:'Inter',sans-serif; font-weight:600;}

.seal-stage{display:flex; flex-direction:column; justify-content:center; align-items:center; position:relative; gap:28px;}
.seal{width:min(360px, 90%); height:auto;}
.hero-landmarks{display:flex; gap:28px; justify-content:center;}
.landmark-photo{display:flex; flex-direction:column; align-items:center; gap:9px;}
.landmark-photo img{
  width:160px; height:130px; border-radius:8px; object-fit:cover;
  border:2px solid var(--brass);
  box-shadow:0 0 0 3px rgba(166,130,60,0.18), 0 6px 20px rgba(0,0,0,0.35);
}
.landmark-photo span{
  font-family:'IBM Plex Mono',monospace; font-size:0.65rem;
  color:#9AA3AC; text-align:center; letter-spacing:0.06em; text-transform:uppercase;
}
.landmark-credit{
  font-size:0.62rem; color:#5E6A73; text-align:center; margin:0;
}
.landmark-credit a{color:#5E6A73; text-decoration:underline;}
.landmark-credit a:hover{color:#9AA3AC;}
.seal-ring-text{font-family:'IBM Plex Mono',monospace; font-size:10.4px; letter-spacing:2.2px; fill:#D8C69B; text-transform:uppercase;}

/* ---------- STATS BAR ---------- */
.stats-bar{
  background:var(--ink);
  border-top:1px solid rgba(255,255,255,0.07);
  border-bottom:1px solid rgba(255,255,255,0.07);
  padding:0;
}
.stats-row{
  display:flex; align-items:stretch;
}
.s-stat{
  flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:26px 20px; text-align:center; gap:4px;
}
.s-num{
  font-family:'Fraunces',serif; font-size:1.75rem; font-weight:600; color:#D9AE7E;
  line-height:1;
}
.s-lbl{
  font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.06em;
  text-transform:uppercase; color:#7C8891; margin-top:4px;
}
.s-div{
  width:1px; background:rgba(255,255,255,0.1); flex-shrink:0;
  margin:18px 0;
}

/* ---------- SECTION SHELL ---------- */
section{padding:96px 0;}
.section-head{max-width:680px; margin-bottom:56px;}
.section-head .eyebrow{color:var(--seal);}
.section-head .eyebrow::before{background:var(--seal);}
.section-head h2{font-size:clamp(1.9rem,3vw,2.6rem); color:var(--ink); margin-top:10px;}
.section-head p{margin-top:16px; color:var(--ink-soft); font-size:1.02rem;}

/* section-head on dark background */
.section-head.light .eyebrow{color:#D9AE7E;}
.section-head.light .eyebrow::before{background:#D9AE7E;}
.section-head.light .eyebrow.brass{color:#D9AE7E;}
.section-head.light .eyebrow.brass::before{background:#D9AE7E;}
.section-head.light h2{color:#FBF8F1;}
.section-head.light p{color:#B7C0C7;}
.light-h{color:#FBF8F1; margin-top:10px; font-size:clamp(1.9rem,3vw,2.6rem);}
.light-p{color:#B7C0C7; margin-top:16px; font-size:1.02rem;}

/* ---------- ABOUT ---------- */
.about{background:var(--paper);}
.about-grid{
  display:grid;
  grid-template-columns:260px 200px 1fr;
  gap:48px;
  align-items:start;
}

/* photo column */
.about-photo-col{}
.about-photo-wrap{position:relative;}
.about-photo{
  width:100%; aspect-ratio:3/4; object-fit:cover; object-position:center top;
  display:block;
  border:1px solid var(--line);
  filter:saturate(0.92);
}
.about-photo-caption{
  padding:12px 14px;
  background:var(--ink); color:var(--paper);
  display:flex; flex-direction:column; gap:3px;
}
.about-photo-caption .mono{font-size:0.82rem; font-weight:500; color:#D9AE7E;}
.about-photo-caption span:last-child{font-size:0.76rem; color:#8791A0; font-family:'IBM Plex Mono',monospace; letter-spacing:0.02em;}

/* stats column */
.about-stats-col{}
.stat-card{border:1px solid var(--line); background:var(--paper-2); padding:20px 22px; margin-bottom:10px;}
.stat-card .num{font-family:'Fraunces',serif; font-size:1.75rem; font-weight:600; color:var(--seal);}
.stat-card .label{font-size:0.82rem; color:var(--ink-soft); margin-top:4px; line-height:1.4;}

/* bio column */
.about-copy p{margin-bottom:18px; color:var(--ink-soft); font-size:1.04rem;}
.about-copy strong{color:var(--ink);}
.badge-row{display:flex; gap:12px; margin-top:26px; flex-wrap:wrap;}
.badge{
  display:flex; align-items:center; gap:9px;
  border:1px solid var(--brass); color:var(--brass);
  font-family:'IBM Plex Mono',monospace; font-size:0.74rem; letter-spacing:0.04em;
  padding:9px 13px; text-transform:uppercase;
}
.badge svg{width:14px; height:14px; flex-shrink:0;}

/* ==========================================================
   THEMED BACKGROUNDS
   Real estate sections: faint repeating house pattern
   Notary sections: horizontal document lines + seal mark
   ========================================================== */

/* Real estate pattern — tiny house silhouettes, very faint */
.re-bg{
  background-color:var(--ink);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cg fill='none' stroke='%23A6823C' stroke-width='1.2' opacity='.09' stroke-linejoin='round'%3E%3Cpolyline points='16,44 45,18 74,44'/%3E%3Crect x='22' y='44' width='46' height='28'/%3E%3Crect x='36' y='54' width='18' height='18'/%3E%3C/g%3E%3C/svg%3E");
  background-size:90px 90px;
}
.re-bg-light{
  background-color:var(--paper);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cg fill='none' stroke='%2314202B' stroke-width='1.2' opacity='.04' stroke-linejoin='round'%3E%3Cpolyline points='16,44 45,18 74,44'/%3E%3Crect x='22' y='44' width='46' height='28'/%3E%3Crect x='36' y='54' width='18' height='18'/%3E%3C/g%3E%3C/svg%3E");
  background-size:90px 90px;
}
.re-bg-paper2{
  background-color:var(--paper-2);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cg fill='none' stroke='%2314202B' stroke-width='1.2' opacity='.04' stroke-linejoin='round'%3E%3Cpolyline points='16,44 45,18 74,44'/%3E%3Crect x='22' y='44' width='46' height='28'/%3E%3Crect x='36' y='54' width='18' height='18'/%3E%3C/g%3E%3C/svg%3E");
  background-size:90px 90px;
}

/* Notary pattern — horizontal document lines + faint seal watermark */
.notary-bg{
  background-color:var(--ink);
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Ccircle cx='100' cy='100' r='72' fill='none' stroke='%23A6823C' stroke-width='1.5' opacity='.06'/%3E%3Ccircle cx='100' cy='100' r='56' fill='none' stroke='%23A6823C' stroke-width='0.8' opacity='.05'/%3E%3Cpath d='M100,100 m-56,0 a56,56 0 1,1 112,0 a56,56 0 1,1 -112,0' fill='none' stroke='%23A6823C' stroke-width='0.5' stroke-dasharray='3 4' opacity='.04'/%3E%3C/svg%3E"),
    repeating-linear-gradient(0deg, transparent, transparent 34px, rgba(166,130,60,0.04) 34px, rgba(166,130,60,0.04) 35px);
  background-size:200px 200px, 100% 35px;
}
.notary-bg-light{
  background-color:var(--paper-2);
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Ccircle cx='100' cy='100' r='72' fill='none' stroke='%2314202B' stroke-width='1.5' opacity='.05'/%3E%3Ccircle cx='100' cy='100' r='56' fill='none' stroke='%2314202B' stroke-width='0.8' opacity='.04'/%3E%3C/svg%3E"),
    repeating-linear-gradient(0deg, transparent, transparent 34px, rgba(20,32,43,0.04) 34px, rgba(20,32,43,0.04) 35px);
  background-size:200px 200px, 100% 35px;
}

/* ---------- THREE WAYS ---------- */
.three-ways{background:var(--ink); color:var(--paper);}
.ways-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:2px; background:rgba(255,255,255,0.1);}
.way-card{
  background:#16232E; padding:44px 36px;
  display:flex; flex-direction:column;
  position:relative;
  transition:background .2s ease;
}
.way-card:hover{background:#1C2D3D;}
.way-card--accent{background:#1C2D3D;}
.way-card--accent:hover{background:#20323D;}
.way-icon-wrap{margin-bottom:22px;}
.way-icon{width:46px; height:46px;}
.way-tag{
  font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.1em;
  text-transform:uppercase; color:#D9AE7E; margin-bottom:14px; display:block;
}
.accent-tag{color:#A6C8A6;}
.way-card h3{color:#FBF8F1; font-size:1.35rem; line-height:1.25; margin-bottom:12px;}
.way-desc{color:#8791A0; font-size:0.94rem; margin-bottom:22px; line-height:1.55;}
.way-list{
  list-style:none; margin:0; padding:0; flex:1;
  display:flex; flex-direction:column; gap:0;
}
.way-list li{
  padding:11px 0; border-top:1px solid rgba(255,255,255,0.08);
  color:#C7CDD3; font-size:0.94rem; display:flex; gap:10px; align-items:flex-start;
  line-height:1.45;
}
.way-list li::before{content:"—"; color:var(--seal); font-weight:700; flex-shrink:0; margin-top:0;}
.way-cta{
  margin-top:28px; display:inline-flex; align-items:center; gap:8px;
  font-size:0.86rem; font-weight:600; color:#D9AE7E; text-decoration:none;
  border-bottom:1px solid rgba(217,174,126,0.3); padding-bottom:2px; width:fit-content;
  transition:color .2s, border-color .2s;
}
.way-cta:hover{color:#FBF8F1; border-color:rgba(251,248,241,0.5);}
.way-cta--search{margin-top:10px; color:#9AA3AC; border-color:rgba(154,163,172,0.25); font-weight:500;}
.way-cta--search:hover{color:#D9AE7E; border-color:rgba(217,174,126,0.4);}

/* ---------- SPECIALTIES ---------- */
.specialties{background:var(--paper);}
.chip-cloud{display:flex; flex-wrap:wrap; gap:10px;}
.chip{border:1px solid var(--line); background:var(--paper-2); padding:9px 16px; font-size:0.86rem; color:var(--ink-soft); font-weight:500;}
.chip--accent{border-color:rgba(122,35,49,0.3); background:rgba(122,35,49,0.06); color:var(--seal); font-weight:600;}

/* ---------- RECENT SALES ---------- */
.recent-sales{background:var(--ink); color:var(--paper);}
.sales-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:3px;
  background:rgba(255,255,255,0.08);
}
.sale-card{
  background:#16232E;
  display:flex; flex-direction:column;
  overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease;
}
.sale-card:hover{transform:translateY(-3px); box-shadow:0 12px 32px rgba(0,0,0,0.5); z-index:1; position:relative;}
.sale-card--colisting{background:#151F2A;}

.sale-img-wrap{
  position:relative;
  overflow:hidden;
  aspect-ratio:4/3;
  background:#0F1922;
}
.sale-img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
  transition:transform .4s ease;
  filter:saturate(0.9);
}
.sale-card:hover .sale-img{transform:scale(1.04);}

.sale-badge{
  position:absolute; top:12px; left:12px;
  font-family:'IBM Plex Mono',monospace;
  font-size:0.65rem; letter-spacing:0.1em; text-transform:uppercase;
  background:var(--seal); color:#FBF3EC;
  padding:4px 10px;
}
.sale-badge--co{background:var(--brass); color:var(--ink);}

.sale-info{
  padding:18px 20px;
  border-top:1px solid rgba(255,255,255,0.07);
}
.sale-price{
  font-family:'Fraunces',serif;
  font-size:1.5rem; font-weight:600;
  color:#D9AE7E;
  line-height:1;
}

.sales-footer{
  margin-top:28px;
  display:flex; justify-content:space-between; align-items:center;
  gap:20px; flex-wrap:wrap;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,0.1);
  font-size:0.78rem; color:#5E6A73;
  font-family:'IBM Plex Mono',monospace;
}

/* ---------- REAL ESTATE COVERAGE ---------- */
.re-coverage{background:var(--paper-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.coverage-grid{
  display:grid; grid-template-columns:1fr auto 1fr; gap:0; align-items:start;
  border:1px solid var(--line); background:#fff;
}
.coverage-grid--6{
  grid-template-columns:repeat(3,1fr);
}
.coverage-grid--6 .cov-zone{
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.coverage-grid--6 .cov-zone:nth-child(3n){border-right:none;}
.coverage-grid--6 .cov-zone:nth-last-child(-n+3){border-bottom:none;}
.cov-zone{padding:36px 36px 32px;}
.cov-county-tag{
  display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:0.68rem;
  font-weight:500; letter-spacing:.07em; text-transform:uppercase;
  color:var(--seal); background:rgba(122,35,49,0.08);
  padding:3px 8px; border-radius:3px; margin-bottom:10px;
}
.cov-label{
  font-family:'Fraunces',serif; font-size:1.2rem; font-weight:600; color:var(--ink);
  margin-bottom:10px;
}
.cov-desc{color:var(--ink-soft); font-size:0.93rem; margin-bottom:20px; line-height:1.55;}
.cov-list{
  list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column; gap:0;
}
.cov-list li{
  display:flex; align-items:center; gap:10px;
  padding:9px 0; border-bottom:1px solid var(--line);
  font-family:'IBM Plex Mono',monospace; font-size:0.85rem; color:var(--ink-soft);
}
.cov-list li svg{width:14px; height:14px; color:var(--seal); flex-shrink:0;}
.cov-list li:last-child{border-bottom:none;}
.cov-divider{width:1px; background:var(--line); margin:44px 0;}
.cov-note{
  margin-top:20px; padding:14px 16px;
  border-left:3px solid var(--brass);
  background:rgba(166,130,60,0.07);
  font-size:0.88rem; color:var(--ink-soft); line-height:1.5;
}

/* ---------- NOTARY COMPACT ---------- */
.notary-compact{background:var(--ink); color:var(--paper);}
.notary-compact-inner{
  display:grid; grid-template-columns:1fr 380px; gap:64px; align-items:start;
}
/* notary section header row */
.nc-header{
  display:grid; grid-template-columns:1fr 360px; gap:56px; align-items:start;
  margin-bottom:48px;
}
.nc-header .eyebrow{color:#D9AE7E; margin-bottom:14px;}
.nc-header .eyebrow::before{background:#D9AE7E;}
.nc-heading{color:#FBF8F1; font-size:2rem; margin-bottom:14px;}
.nc-body{color:#B7C0C7; font-size:1.02rem; line-height:1.65; max-width:560px;}

/* service categories grid */
.nc-services-grid{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:2px; background:rgba(255,255,255,0.08);
  margin-bottom:2px;
}
.nc-service-cat{
  background:#16232E; padding:28px 24px;
}
.nc-service-cat h4{
  font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.1em;
  text-transform:uppercase; color:#D9AE7E; margin:0 0 16px 0; font-weight:500;
}
.nc-service-cat ul{
  list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0;
}
.nc-service-cat li{
  padding:9px 0; border-bottom:1px solid rgba(255,255,255,0.07);
  font-size:0.91rem; color:#C7CDD3; display:flex; gap:8px; align-items:flex-start;
  line-height:1.4;
}
.nc-service-cat li::before{content:"—"; color:var(--seal); flex-shrink:0; font-weight:700;}
.nc-service-cat li:last-child{border-bottom:none;}

/* coverage bar */
.nc-coverage-bar{
  background:#0F1922; border:1px solid rgba(255,255,255,0.08);
  padding:18px 24px;
  display:flex; align-items:center; gap:12px;
  font-size:0.88rem; color:#8791A0;
}
.nc-coverage-bar svg{width:14px; height:14px; flex-shrink:0; color:#A6823C;}
.nc-cov-inner{display:flex; flex-wrap:wrap; gap:6px; align-items:center;}
.nc-cov-label{color:#C7CDD3; font-weight:600; font-family:'IBM Plex Mono',monospace; font-size:0.76rem; text-transform:uppercase; letter-spacing:0.05em;}
.nc-cov-sep{color:rgba(255,255,255,0.2);}

/* price card */
.nc-card{
  background:#0F1922; border:1px solid rgba(255,255,255,0.1); padding:28px;
  position:relative;
}
.nc-card::before{
  content:""; position:absolute; inset:8px;
  border:1px dashed rgba(216,198,155,0.25); pointer-events:none;
}
.nc-tag{
  font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.08em;
  text-transform:uppercase; color:#D9AE7E; margin-bottom:10px;
}
.nc-price{
  font-family:'Fraunces',serif; font-size:2.8rem; font-weight:600; color:#D9AE7E;
  line-height:1; margin-bottom:8px;
}
.nc-price small{font-family:'IBM Plex Mono',monospace; font-size:0.88rem; color:#8791A0; margin-left:6px;}
.nc-detail{color:#8791A0; font-size:0.88rem; margin-bottom:20px; line-height:1.45;}
.nc-rows{display:grid; gap:0; margin-bottom:22px;}
.nc-rows div{
  display:flex; justify-content:space-between; align-items:baseline; gap:12px;
  padding:10px 0; border-top:1px solid rgba(255,255,255,0.08);
  font-family:'IBM Plex Mono',monospace; font-size:0.76rem;
}
.nc-rows div span{color:#5E6A73; text-transform:uppercase; flex-shrink:0;}
.nc-rows div b{color:#C7CDD3; font-family:'Inter',sans-serif; font-weight:500; text-align:right;}
.nc-rows div b a{color:#C7CDD3; text-decoration:none;}
.nc-rows div b a:hover{color:#D9AE7E;}
.nc-book-btn{width:100%; justify-content:center; margin-top:4px;}

/* ---------- NOTARY REVIEWS ---------- */
.notary-reviews{background:var(--paper-2); border-top:1px solid var(--line);}
.notary-reviews .section-head .eyebrow{color:var(--brass);}
.notary-reviews .section-head .eyebrow::before{background:var(--brass);}
.nr-rating-bar{
  display:flex; align-items:center; gap:14px;
  margin-bottom:36px; padding-bottom:28px;
  border-bottom:1px solid var(--line);
}
.nr-grid{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:2px; background:var(--line);
}
.nr-card{
  background:var(--paper); padding:28px 26px;
  display:flex; flex-direction:column;
}
.nr-stars{
  font-size:0.88rem; color:var(--brass); letter-spacing:2px;
  margin-bottom:12px; display:block;
}
.nr-card p{
  color:var(--ink); font-size:0.98rem;
  font-family:'Fraunces',serif; font-weight:400; font-style:italic;
  line-height:1.6; flex:1;
}
.nr-who{
  margin-top:16px; font-family:'IBM Plex Mono',monospace;
  font-size:0.72rem; color:var(--ink-soft); letter-spacing:0.03em;
  padding-top:12px; border-top:1px solid var(--line);
}

/* ---------- TESTIMONIALS ---------- */
.testimonials{background:var(--paper);}

.t-rating-bar{
  display:flex; align-items:center; gap:14px;
  margin-bottom:36px; padding-bottom:28px;
  border-bottom:1px solid var(--line);
}
.t-stars{display:flex; gap:4px;}
.t-stars svg{width:22px; height:22px;}
.t-rating-label{
  font-family:'IBM Plex Mono',monospace; font-size:0.78rem;
  color:var(--ink-soft); letter-spacing:0.03em;
}

.t-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--line);}
.t-card{
  background:var(--paper-2); padding:32px 28px;
  display:flex; flex-direction:column;
}
.t-stars-sm{
  font-size:0.9rem; color:#D9AE7E; letter-spacing:2px;
  margin-bottom:14px; display:block;
}
.t-card p{
  color:var(--ink); font-size:1rem; font-family:'Fraunces',serif;
  font-weight:400; font-style:italic; line-height:1.6; flex:1;
}
.t-card .who{
  margin-top:18px; font-family:'IBM Plex Mono',monospace;
  font-size:0.72rem; color:var(--ink-soft); letter-spacing:0.03em;
  padding-top:14px; border-top:1px solid var(--line);
}

/* ---------- CONTACT ---------- */
.contact{background:var(--ink); color:var(--paper);}
.contact .section-head .eyebrow{color:#D9AE7E;}
.contact .section-head .eyebrow::before{background:#D9AE7E;}
.contact .section-head h2{color:#FBF8F1;}
.contact .section-head p{color:#B7C0C7;}
.contact-grid{display:grid; grid-template-columns:1.4fr 1fr; gap:2px; background:rgba(255,255,255,0.1); margin-bottom:2px;}
.contact-card{background:#16232E; padding:40px;}
.contact-card--primary{border-top:3px solid var(--seal);}
.cc-badge{
  display:inline-flex; font-family:'IBM Plex Mono',monospace; font-size:0.7rem;
  letter-spacing:0.08em; text-transform:uppercase; padding:4px 10px;
  background:rgba(122,35,49,0.25); color:#D9AE7E; border:1px solid rgba(122,35,49,0.4);
  margin-bottom:14px;
}
.cc-badge--notary{background:rgba(69,86,79,0.25); color:#9AB4AC; border-color:rgba(69,86,79,0.4);}
.cc-calendly-btn{
  display:inline-flex; align-items:center; gap:8px; margin-top:22px;
  background:var(--sage); color:#FBF8F1; border:none;
  font-family:'Inter',sans-serif; font-size:0.88rem; font-weight:600;
  padding:11px 20px; border-radius:6px; text-decoration:none; cursor:pointer;
  transition:background .18s, transform .18s;
}
.cc-calendly-btn:hover{background:#536860; transform:translateY(-1px);}
.contact-card h3{color:#FBF8F1; font-size:1.3rem; margin-bottom:4px;}
.contact-card .role{font-family:'IBM Plex Mono',monospace; font-size:0.76rem; color:#D9AE7E; text-transform:uppercase; letter-spacing:0.06em; margin-bottom:4px;}
.contact-rows{margin-top:24px; display:grid; gap:14px;}
.contact-rows a, .contact-rows div{display:flex; justify-content:space-between; gap:14px; font-size:0.92rem; color:#C7CDD3; text-decoration:none; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,0.09);}
.contact-rows a:hover{color:#D9AE7E;}
.contact-rows .k{font-family:'IBM Plex Mono',monospace; font-size:0.72rem; color:#7C8891; text-transform:uppercase;}

.contact-form-wrap{background:#16232E; padding:40px;}
.contact-form-wrap h3{color:#FBF8F1; font-size:1.25rem; margin-bottom:6px;}
.contact-form-wrap p.hint{color:#8791A0; font-size:0.86rem; margin-bottom:26px;}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.form-grid .full{grid-column:1 / -1;}
label{display:block; font-family:'IBM Plex Mono',monospace; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.05em; color:#8791A0; margin-bottom:7px;}
input, select, textarea{
  width:100%; background:#0F1922; border:1px solid rgba(255,255,255,0.14); color:#EFEAE0;
  padding:12px 14px; font-family:'Inter',sans-serif; font-size:0.94rem; border-radius:2px;
}
input:focus, select:focus, textarea:focus{border-color:#D9AE7E; outline:none;}
textarea{resize:vertical; min-height:100px;}
.form-actions{margin-top:22px; display:flex; align-items:center; gap:16px; flex-wrap:wrap;}
.form-note{font-size:0.8rem; color:#7C8891;}
.form-status{font-size:0.86rem; color:#D9AE7E; display:none;}
.form-status.show{display:block;}

footer{background:var(--ink); color:#7C8891; border-top:1px solid rgba(255,255,255,0.1); padding:30px 0; font-size:0.82rem;}
footer .wrap{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;}
footer .mono{color:#5E6A73;}
footer a{text-decoration:none; color:#9AA3AC;}
footer a:hover{color:#D9AE7E;}

/* Footer social icons */
.footer-social{display:flex; gap:14px; align-items:center;}
.footer-social-link{display:inline-flex; align-items:center; gap:5px; font-size:0.78rem; color:#7C8891; text-decoration:none; transition:color .15s;}
.footer-social-link:hover{color:#D9AE7E;}

/* About section LinkedIn link */
.about-linkedin{display:inline-flex; align-items:center; gap:5px; margin-top:6px; font-size:0.75rem; color:#9AA3AC; text-decoration:none; transition:color .15s;}
.about-linkedin:hover{color:#D9AE7E;}

/* back to top */
.to-top{
  position:fixed; right:22px; bottom:22px; width:46px; height:46px; border-radius:50%;
  background:var(--seal); color:#FBF3EC; border:none; display:flex; align-items:center; justify-content:center;
  cursor:pointer; box-shadow:0 6px 18px rgba(0,0,0,0.25); opacity:0; pointer-events:none;
  transition:opacity .2s ease, transform .2s ease; z-index:40;
}
.to-top.show{opacity:1; pointer-events:auto;}
.to-top:hover{transform:translateY(-2px);}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1000px){
  .ways-grid{grid-template-columns:1fr 1fr;}
  .ways-grid .way-card:last-child{grid-column:1 / -1;}
  .t-grid{grid-template-columns:1fr 1fr;}
  .nr-grid{grid-template-columns:1fr 1fr;}
  .sales-grid{grid-template-columns:repeat(3,1fr);}
}

@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr; text-align:left;}
  .seal-stage{order:-1; margin-bottom:8px;}
  .about-grid{grid-template-columns:1fr 1fr; gap:28px;}
  .about-copy{grid-column:1 / -1;}
  .coverage-grid{grid-template-columns:1fr;}
  .coverage-grid--6{grid-template-columns:repeat(2,1fr);}
  .coverage-grid--6 .cov-zone:nth-child(3n){border-right:1px solid var(--line);}
  .coverage-grid--6 .cov-zone:nth-child(even){border-right:none;}
  .coverage-grid--6 .cov-zone:nth-last-child(-n+3){border-bottom:1px solid var(--line);}
  .coverage-grid--6 .cov-zone:nth-last-child(-n+2){border-bottom:none;}
  .cov-divider{width:auto; height:1px; margin:0;}
  .nc-header{grid-template-columns:1fr; gap:32px;}
  .nc-services-grid{grid-template-columns:1fr 1fr;}
  .contact-grid{grid-template-columns:1fr;}
  section{padding:64px 0;}
  .form-grid{grid-template-columns:1fr;}
  .stats-row{flex-wrap:wrap;}
  .s-stat{flex-basis:50%; border-bottom:1px solid rgba(255,255,255,0.08);}
  .s-div{display:none;}
}

@media (max-width:680px){
  .ways-grid{grid-template-columns:1fr;}
  .ways-grid .way-card:last-child{grid-column:auto;}
  .t-grid{grid-template-columns:1fr;}
  .nr-grid{grid-template-columns:1fr;}
  .sales-grid{grid-template-columns:1fr 1fr;}
  .about-grid{grid-template-columns:1fr;}
  .about-copy{grid-column:auto;}
  .nc-services-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .s-stat{flex-basis:100%;}
}
