/* M Notary Professional Services LLC — site styles */
:root{
  --navy:#0e2a52;
  --navy-700:#123462;
  --navy-deep:#081d3a;
  --gold:#c9a84c;
  --gold-dark:#b4932f;
  --ink:#1f2a37;
  --muted:#5b6775;
  --line:#e4e8ee;
  --bg:#ffffff;
  --bg-alt:#f5f7fa;
  --funding:#0f3d3e;
  --funding-accent:#36b3a8;
  --radius:14px;
  --shadow:0 10px 30px rgba(14,42,82,.10);
  --wrap:1120px;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --serif: Georgia, "Times New Roman", serif;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; font-family:var(--font); color:var(--ink);
  background:var(--bg); line-height:1.6; -webkit-font-smoothing:antialiased;
}
h1,h2,h3{ line-height:1.2; color:var(--navy); margin:0 0 .4em; }
h1{ font-size:clamp(2rem,5vw,3.1rem); letter-spacing:-.01em; }
h2{ font-size:clamp(1.6rem,3.4vw,2.2rem); }
h3{ font-size:1.2rem; }
p{ margin:0 0 1rem; }
a{ color:var(--navy-700); }

.wrap{ width:100%; max-width:var(--wrap); margin:0 auto; padding:0 20px; }
.section{ padding:72px 0; }
.section-alt{ background:var(--bg-alt); }
.skip-link{ position:absolute; left:-999px; top:0; background:var(--navy); color:#fff; padding:10px 14px; z-index:100; }
.skip-link:focus{ left:10px; top:10px; }

/* Buttons */
.btn{
  display:inline-block; font-weight:600; text-decoration:none; cursor:pointer;
  padding:12px 22px; border-radius:999px; border:2px solid transparent;
  transition:transform .08s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  font-size:1rem; line-height:1;
}
.btn:active{ transform:translateY(1px); }
.btn-lg{ padding:15px 30px; font-size:1.05rem; }
.btn-gold{ background:var(--gold); color:var(--navy-deep); }
.btn-gold:hover{ background:var(--gold-dark); }
.btn-navy{ background:var(--navy); color:#fff; }
.btn-navy:hover{ background:var(--navy-700); }
.btn-outline{ background:transparent; color:#fff; border-color:rgba(255,255,255,.65); }
.btn-outline:hover{ background:rgba(255,255,255,.12); }

/* Header */
.site-header{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,.95); backdrop-filter:saturate(1.2) blur(8px); border-bottom:1px solid var(--line); }
.header-inner{ display:flex; align-items:center; justify-content:space-between; min-height:68px; gap:16px; }
.brand{ display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--navy); }
.brand-logo{ height:52px; width:auto; display:block; }
.primary-nav{ display:flex; align-items:center; gap:22px; }
.primary-nav a{ text-decoration:none; color:var(--ink); font-weight:500; font-size:.97rem; }
.primary-nav a:hover{ color:var(--navy-700); }
.primary-nav a[aria-current="page"]{ color:var(--navy-700); font-weight:700; }
.nav-cta{ color:var(--navy-deep)!important; }
.nav-toggle{ display:none; flex-direction:column; gap:5px; background:none; border:0; padding:8px; cursor:pointer; }
.nav-toggle span{ width:24px; height:2px; background:var(--navy); display:block; }

/* Hero */
.hero{ background:linear-gradient(160deg,var(--navy) 0%, var(--navy-deep) 100%); color:#fff; padding:84px 0; }
.hero-sub{ padding:60px 0; }
.hero-inner{ max-width:760px; }
.eyebrow{ text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; font-weight:700; color:var(--gold); margin-bottom:12px; }
.eyebrow-light{ color:var(--funding-accent); }
.hero h1{ color:#fff; }
.tagline{ font-family:var(--serif); font-style:italic; font-size:clamp(1.15rem,2.4vw,1.5rem); color:var(--gold); margin:0 0 16px; }
.hero-lead{ font-size:1.12rem; color:rgba(255,255,255,.9); max-width:620px; }
.hero-cta{ display:flex; flex-wrap:wrap; gap:14px; margin:24px 0 16px; }
.hero-note{ font-size:.9rem; color:rgba(255,255,255,.7); margin:0; }

/* Section headings */
.section-head{ text-align:center; max-width:640px; margin:0 auto 42px; }
.section-head-left{ text-align:left; margin:0 0 22px; }
.section-head p{ color:var(--muted); font-size:1.05rem; margin:0; }
.section-cta{ text-align:center; margin-top:38px; }
.cta-row{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.price-note{ color:var(--muted); font-size:.92rem; margin:16px auto 0; max-width:620px; text-align:center; }
.price-note-booking{ margin:0 0 24px; text-align:left; max-width:none; background:var(--bg-alt); border:1px solid var(--line); border-left:3px solid var(--gold); border-radius:10px; padding:12px 16px; }
.price-note strong{ color:var(--navy); }

/* Cards */
.cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.cards-3{ grid-template-columns:repeat(3,1fr); }
.cards-3 .card-icon{ font-weight:800; color:var(--navy); font-size:1.5rem; }

/* Network: note band + checkbox options */
.note-band{ background:var(--bg-alt); border:1px solid var(--line); border-left:4px solid var(--gold); border-radius:var(--radius); padding:26px 28px; box-shadow:var(--shadow); max-width:860px; margin:0 auto; }
.note-band h3{ color:var(--navy); margin-bottom:8px; }
.note-band p{ color:var(--muted); margin:0 0 10px; }
.note-compliance{ font-size:.92rem; }
.note-compliance strong{ color:var(--navy); }
.check-row{ display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:4px; }
.check-opt{ display:flex; align-items:center; gap:8px; font-weight:500; color:var(--ink); margin:0; }
.check-opt input{ width:auto; }
.check-consent{ align-items:flex-start; font-size:.92rem; color:var(--muted); margin:4px 0 20px; line-height:1.5; }
.check-consent input{ margin-top:3px; flex:none; }
.card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:26px 22px; box-shadow:var(--shadow); }
.card-icon{ font-size:1.8rem; width:54px; height:54px; display:grid; place-items:center; background:var(--bg-alt); border-radius:12px; margin-bottom:14px; }
.card h3{ color:var(--navy); }
.card p{ color:var(--muted); margin:0; font-size:.96rem; }

/* Funding band */
.funding{ background:linear-gradient(160deg,var(--funding) 0%, #0a2b2b 100%); color:#fff; }
.funding h2{ color:#fff; }
.funding-inner{ display:grid; grid-template-columns:1.4fr .6fr; gap:34px; align-items:center; }
.funding-copy p{ color:rgba(255,255,255,.9); }
.disclosure{ font-size:.82rem; color:rgba(255,255,255,.72); border-left:3px solid var(--funding-accent); padding-left:12px; margin:18px 0 22px; }
.funding-art{ display:grid; place-items:center; }
.coin{ width:120px; height:120px; border-radius:50%; background:radial-gradient(circle at 35% 30%, var(--funding-accent), #0a6b63); color:#042; display:grid; place-items:center; font-size:3rem; font-weight:800; box-shadow:0 14px 40px rgba(0,0,0,.3); }

/* About */
.about-grid{ display:grid; grid-template-columns:1.3fr .7fr; gap:40px; align-items:start; }
.about-grid p{ color:var(--muted); }
.founder{ font-family:var(--serif); font-size:1.1rem; color:var(--navy); font-weight:700; }
.founder span{ display:block; font-size:.9rem; font-weight:400; color:var(--muted); }
.about-cards{ display:grid; gap:18px; }
.mini-card{ background:var(--bg-alt); border:1px solid var(--line); border-radius:var(--radius); padding:22px; }
.mini-card h3{ color:var(--navy); }
.mini-card p{ margin:0; color:var(--muted); font-size:.95rem; }

/* Permit runner */
.permit-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:start; }
.permit-grid > div:first-child p{ color:var(--muted); }
.permit-list{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:26px; box-shadow:var(--shadow); }
.permit-list h3{ color:var(--navy); margin-bottom:14px; }
.checklist{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.checklist li{ position:relative; padding-left:30px; color:var(--ink); font-size:.96rem; line-height:1.5; }
.checklist li::before{ content:"\2713"; position:absolute; left:0; top:0; width:20px; height:20px; display:grid; place-items:center; background:var(--gold); color:var(--navy-deep); border-radius:50%; font-size:.72rem; font-weight:700; }

/* Service area */
.area-list{ list-style:none; padding:0; margin:0 auto 20px; display:flex; flex-wrap:wrap; gap:12px; justify-content:center; max-width:700px; }
.area-list li{ background:#fff; border:1px solid var(--line); border-radius:999px; padding:10px 22px; font-weight:600; color:var(--navy); box-shadow:var(--shadow); }
.area-note{ text-align:center; color:var(--muted); max-width:640px; margin:0 auto; }

/* Contact */
.contact-grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:40px; align-items:start; }
.contact-alt{ color:var(--muted); font-size:.98rem; }
.form{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:26px; box-shadow:var(--shadow); }
.form-wide{ max-width:720px; }
.field{ margin-bottom:16px; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
label{ display:block; font-weight:600; font-size:.9rem; margin-bottom:6px; color:var(--ink); }
input,select,textarea{ width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:10px; font:inherit; color:var(--ink); background:#fff; }
input:focus,select:focus,textarea:focus{ outline:3px solid rgba(14,42,82,.18); border-color:var(--navy-700); }
textarea{ resize:vertical; }
.hidden-field{ position:absolute; left:-9999px; }
.form-fineprint{ font-size:.82rem; color:var(--muted); margin:14px 0 0; }

/* Booking tabs */
.book-tabs{ display:inline-flex; background:var(--bg-alt); border:1px solid var(--line); border-radius:999px; padding:5px; margin-bottom:28px; gap:4px; }
.book-tab{ border:0; background:transparent; padding:11px 22px; border-radius:999px; font:inherit; font-weight:600; cursor:pointer; color:var(--muted); }
.book-tab.is-active{ background:var(--navy); color:#fff; }
.book-panel.is-hidden{ display:none; }
.book-h{ margin-bottom:6px; }
.book-sub{ color:var(--muted); margin-bottom:22px; }
.book-help{ margin-top:18px; color:var(--muted); font-size:.92rem; }
.link-btn{ background:none; border:0; padding:0; color:var(--navy-700); font:inherit; font-weight:600; text-decoration:underline; cursor:pointer; }

/* Scheduler embed */
.scheduler-embed{ border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:#fff; min-height:220px; }
.scheduler-embed iframe{ display:block; width:100%; border:0; }
.scheduler-placeholder{ padding:40px 28px; text-align:center; background:repeating-linear-gradient(45deg,#fafbfc,#fafbfc 12px,#f2f5f9 12px,#f2f5f9 24px); color:var(--muted); }
.scheduler-placeholder-title{ font-weight:700; color:var(--navy); margin-bottom:6px; }
.scheduler-placeholder code{ background:#eef2f7; padding:2px 6px; border-radius:6px; font-size:.85em; }

/* QR "Scan to Book" card */
.qr-card{ display:flex; align-items:center; gap:22px; margin-top:28px; padding:22px; border:1px solid var(--line); border-radius:var(--radius); background:var(--bg-alt); flex-wrap:wrap; }
.qr-box{ background:#fff; padding:12px; border-radius:12px; border:1px solid var(--line); line-height:0; }
.qr-box img, .qr-box canvas{ display:block; width:150px; height:150px; }
.qr-copy{ flex:1; min-width:220px; }
.qr-copy h3{ color:var(--navy); margin-bottom:6px; }
.qr-copy p{ color:var(--muted); margin:0 0 8px; font-size:.96rem; }
.qr-url{ font-weight:700; color:var(--navy)!important; letter-spacing:.01em; }

/* Footer */
.site-footer{ background:var(--navy-deep); color:rgba(255,255,255,.82); padding:40px 0 26px; }
.footer-inner{ display:flex; flex-wrap:wrap; gap:22px; justify-content:space-between; align-items:center; padding-bottom:22px; border-bottom:1px solid rgba(255,255,255,.12); }
.footer-brand{ display:flex; align-items:center; gap:14px; }
.footer-logo-chip{ display:grid; place-items:center; width:58px; height:58px; border-radius:12px; background:#fff; padding:6px; flex:none; }
.footer-logo-chip img{ width:100%; height:100%; object-fit:contain; }
.footer-brand strong{ color:#fff; }
.footer-brand p{ margin:2px 0 0; font-size:.86rem; color:rgba(255,255,255,.65); }
.footer-links{ display:flex; flex-wrap:wrap; gap:18px; }
.footer-links a{ color:rgba(255,255,255,.82); text-decoration:none; font-size:.95rem; }
.footer-links a:hover{ color:#fff; }
.footer-legal{ padding-top:18px; }
.footer-legal p{ font-size:.8rem; color:rgba(255,255,255,.6); margin:0 0 8px; }
.footer-legal strong{ color:rgba(255,255,255,.82); }
.copyright{ margin-top:10px!important; }

/* Thank-you pages */
.centered{ min-height:60vh; display:grid; place-items:center; text-align:center; }
.centered .wrap{ max-width:560px; }

/* Responsive */
@media (max-width:860px){
  .cards{ grid-template-columns:1fr 1fr; }
  .about-grid,.contact-grid,.funding-inner,.permit-grid{ grid-template-columns:1fr; }
  .funding-art{ order:-1; }
  .coin{ width:90px; height:90px; font-size:2.2rem; }
}
@media (max-width:640px){
  .nav-toggle{ display:flex; }
  .primary-nav{ position:absolute; top:68px; left:0; right:0; background:#fff; border-bottom:1px solid var(--line); flex-direction:column; align-items:stretch; gap:0; padding:8px 20px 16px; display:none; box-shadow:var(--shadow); }
  .primary-nav.open{ display:flex; }
  .primary-nav a{ padding:12px 4px; border-bottom:1px solid var(--line); }
  .nav-cta{ margin-top:10px; text-align:center; border-bottom:0!important; }
  .cards{ grid-template-columns:1fr; }
  .field-row{ grid-template-columns:1fr; }
  .section{ padding:54px 0; }
}
