/* =========================================================
   Pompies Mobile Notary — shared stylesheet (multi-page site)
   Design system matches the single-file landing page:
   navy / white / gold / teal, Newsreader + Inter + IBM Plex Mono
   ========================================================= */

:root{
  --navy-950:#081426;
  --navy-900:#0B2036;
  --navy-800:#123258;
  --navy-700:#1D4A7A;
  --gold-600:#B48A2E;
  --gold-500:#C9A24B;
  --gold-400:#D9B96B;
  --gold-100:#F4EAD2;
  --teal-600:#2F6E73;
  --teal-300:#8FCBCE;
  --teal-100:#E4EEEE;
  --ivory-50:#FAF7F0;
  --white:#FFFFFF;
  --ink-800:#20262E;
  --ink-600:#535B66;
  --ink-400:#8A8F98;
  --line:#E7E2D6;
  --line-dark:rgba(255,255,255,0.14);
  --radius-lg:22px;
  --radius-md:14px;
  --radius-sm:10px;
  --shadow-soft:0 24px 48px -22px rgba(8,20,38,0.28);
  --shadow-card:0 14px 32px -16px rgba(8,20,38,0.20);
  --container:1140px;
  --font-display:'Newsreader', Georgia, serif;
  --font-body:'Inter', system-ui, -apple-system, sans-serif;
  --font-mono:'IBM Plex Mono', ui-monospace, 'SFMono-Regular', monospace;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink-800);
  background:var(--ivory-50);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  padding-bottom:72px; /* room for mobile sticky bar */
}
@media (min-width:1024px){ body{ padding-bottom:0; } }

img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,p{margin:0;}
button{font:inherit;cursor:pointer;background:none;border:none;}
input,select,textarea{font:inherit;}
:focus-visible{outline:2px solid var(--gold-500);outline-offset:3px;}

.wrap{max-width:var(--container);margin-inline:auto;padding-inline:20px;}
@media (min-width:640px){ .wrap{padding-inline:32px;} }
@media (min-width:1024px){ .wrap{padding-inline:40px;} }

section{padding-block:64px;}
@media (min-width:900px){ section{padding-block:96px;} }

.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-mono);
  font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;font-weight:600;
  color:var(--gold-600);margin-bottom:16px;
}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--gold-500);display:inline-block;}
.on-dark .eyebrow{color:var(--gold-400);}
.on-dark .eyebrow::before{background:var(--gold-400);}

h2.section-title{
  font-family:var(--font-display);font-weight:600;
  font-size:clamp(1.7rem, 1.2rem + 2.4vw, 2.5rem);line-height:1.15;
  color:var(--navy-900);max-width:22ch;
}
.on-dark h2.section-title{color:var(--white);}
.section-sub{font-size:1.02rem;color:var(--ink-600);max-width:56ch;margin-top:14px;}
.on-dark .section-sub{color:rgba(255,255,255,0.72);}
.section-head{margin-bottom:40px;}
@media (min-width:900px){ .section-head{margin-bottom:52px;} }
.section-head.center{text-align:center;margin-inline:auto;}
.section-head.center .section-sub{margin-inline:auto;}

.sign-line{
  display:flex;align-items:center;gap:10px;color:var(--gold-500);
  font-family:var(--font-mono);font-size:0.85rem;margin:22px 0;user-select:none;
}
.sign-line span{white-space:nowrap;}
.sign-line::after{content:"";flex:1;height:0;border-top:1.5px dashed var(--gold-400);}
.on-dark .sign-line{color:var(--gold-400);}
.on-dark .sign-line::after{border-color:rgba(217,185,107,0.5);}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:15px 26px;border-radius:999px;font-weight:700;font-size:0.98rem;
  border:1.5px solid transparent;transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  white-space:nowrap;
}
.btn svg{width:18px;height:18px;flex-shrink:0;}
.btn-primary{background:linear-gradient(180deg, var(--gold-400), var(--gold-600));color:var(--navy-950);box-shadow:0 12px 24px -10px rgba(180,138,46,0.55);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 28px -10px rgba(180,138,46,0.6);}
.btn-outline{background:transparent;border-color:rgba(255,255,255,0.5);color:var(--white);}
.btn-outline:hover{background:rgba(255,255,255,0.1);transform:translateY(-2px);}
.btn-outline-navy{background:transparent;border-color:var(--navy-800);color:var(--navy-900);}
.btn-outline-navy:hover{background:var(--navy-900);color:var(--white);}
.btn-block{width:100%;}
.btn-sm{padding:11px 18px;font-size:0.88rem;}
.cta-row{display:flex;flex-direction:column;gap:12px;}
@media (min-width:520px){ .cta-row{flex-direction:row;flex-wrap:wrap;} }

/* ---------- header + nav ---------- */
header.site{
  position:sticky;top:0;z-index:50;
  background:rgba(250,247,240,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding-block:14px;gap:16px;}
.brand{display:flex;align-items:center;gap:10px;}
.brand-mark{width:60px;height:60px;flex-shrink:0;}
.brand-name{font-family:var(--font-display);font-weight:600;font-size:1.12rem;color:var(--navy-900);line-height:1.1;}
.brand-sub{display:block;font-family:var(--font-mono);font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-400);margin-top:2px;}

nav.primary-nav{display:none;gap:26px;font-size:0.92rem;font-weight:500;color:var(--ink-600);}
nav.primary-nav a{padding:6px 0;border-bottom:2px solid transparent;}
nav.primary-nav a:hover{color:var(--navy-900);}
nav.primary-nav a.active{color:var(--navy-900);border-color:var(--gold-500);font-weight:600;}
@media (min-width:900px){ nav.primary-nav{display:flex;} }

.header-cta{display:flex;align-items:center;gap:10px;}
@media (max-width:430px){ .brand-sub{display:none;} }
.header-schedule{display:none;}
@media (min-width:560px){ .header-schedule{display:inline-flex;} }

.menu-toggle{
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;flex-shrink:0;
  border:1.5px solid var(--line);border-radius:10px;color:var(--navy-900);
}
.menu-toggle svg{width:19px;height:19px;}
@media (min-width:900px){ .menu-toggle{display:none;} }

.mobile-menu{
  display:none;
  position:fixed;inset:0;z-index:70;
  background:var(--navy-950);
  color:var(--white);
  padding:20px;
  overflow-y:auto;
}
.mobile-menu.open{display:block;}
.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px;}
.mobile-menu-close{
  width:38px;height:38px;border-radius:10px;border:1.5px solid rgba(255,255,255,0.25);
  display:flex;align-items:center;justify-content:center;color:var(--white);
}
.mobile-menu-close svg{width:18px;height:18px;}
.mobile-menu-links{display:flex;flex-direction:column;gap:4px;margin-bottom:28px;}
.mobile-menu-links a{
  font-family:var(--font-display);font-size:1.5rem;font-weight:600;
  padding:14px 4px;border-bottom:1px solid rgba(255,255,255,0.12);
}
.mobile-menu-links a.active{color:var(--gold-400);}
.mobile-menu .cta-row{margin-top:12px;}

/* ---------- home hero (two-column) ---------- */
.hero{
  background:linear-gradient(180deg, var(--navy-900), var(--navy-950));
  color:var(--white);position:relative;overflow:hidden;padding-block:56px 72px;
}
@media (min-width:900px){ .hero{padding-block:76px 96px;} }
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(600px 340px at 90% 0%, rgba(201,162,75,0.18), transparent 60%),
    radial-gradient(500px 300px at 0% 100%, rgba(47,110,115,0.20), transparent 60%);
  pointer-events:none;
}
.hero-grid{position:relative;z-index:1;display:grid;gap:44px;}
@media (min-width:960px){ .hero-grid{grid-template-columns:1.05fr 0.95fr;align-items:center;gap:24px;} }
.hero-copy h1{
  font-family:var(--font-display);font-weight:600;
  font-size:clamp(2.05rem, 1.5rem + 3.4vw, 3.35rem);line-height:1.08;letter-spacing:-0.01em;
}
.hero-copy h1 em{font-style:italic;color:var(--gold-400);}
.hero-lede{margin-top:20px;font-size:1.08rem;color:rgba(255,255,255,0.78);max-width:46ch;}
.hero-cta{margin-top:32px;}
.hero-area-line{margin-top:22px;font-size:0.9rem;color:rgba(255,255,255,0.62);display:flex;gap:8px;align-items:center;}
.hero-area-line svg{width:16px;height:16px;color:var(--gold-400);flex-shrink:0;}

.trust-strip{margin-top:40px;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
@media (min-width:520px){ .trust-strip{grid-template-columns:repeat(4,1fr);} }
.trust-item{display:flex;flex-direction:column;gap:8px;padding:14px 6px 0;border-top:1px solid rgba(255,255,255,0.16);}
.trust-item svg{width:20px;height:20px;color:var(--gold-400);}
.trust-item span{font-size:0.8rem;color:rgba(255,255,255,0.8);font-weight:500;}

.hero-visual{position:relative;z-index:1;height:340px;}
@media (min-width:960px){ .hero-visual{height:420px;} }
.doc-card{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-4deg);
  width:78%;max-width:320px;aspect-ratio:3/4;background:var(--white);
  border-radius:18px;box-shadow:var(--shadow-soft);padding:26px 24px;
}
.doc-card .doc-line{height:8px;border-radius:4px;background:var(--line);margin-bottom:10px;}
.doc-card .doc-line.w-80{width:80%;}
.doc-card .doc-line.w-60{width:60%;}
.doc-card .doc-line.w-90{width:90%;}
.doc-card .doc-sig{
  margin-top:26px;padding-top:14px;border-top:1.5px dashed var(--line);
  font-family:var(--font-display);font-style:italic;font-size:1.3rem;color:var(--navy-700);
}
.doc-card .doc-sig small{display:block;font-family:var(--font-mono);font-style:normal;font-size:0.6rem;letter-spacing:0.08em;color:var(--ink-400);margin-top:6px;text-transform:uppercase;}
.seal-badge{position:absolute;width:118px;height:118px;right:6%;bottom:8%;filter:drop-shadow(0 10px 18px rgba(8,20,38,0.35));}
@media (min-width:960px){ .seal-badge{width:140px;height:140px;right:2%;bottom:10%;} }
.pin-badge{
  position:absolute;left:6%;top:10%;width:56px;height:56px;border-radius:50%;
  background:var(--gold-500);display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 20px -6px rgba(180,138,46,0.6);
}
.pin-badge svg{width:26px;height:26px;color:var(--navy-950);}

/* ---------- page hero (About / Services / FAQ / Contact) ---------- */
.page-hero{
  background:linear-gradient(180deg, var(--navy-900), var(--navy-950));
  color:var(--white);position:relative;overflow:hidden;
  padding-block:48px 56px;
}
.page-hero::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(560px 300px at 85% 0%, rgba(201,162,75,0.16), transparent 60%);
  pointer-events:none;
}
.page-hero .wrap{position:relative;z-index:1;}
.page-hero h1{
  font-family:var(--font-display);font-weight:600;
  font-size:clamp(1.9rem, 1.4rem + 2.6vw, 2.9rem);line-height:1.12;max-width:22ch;
}
.page-hero p{margin-top:16px;font-size:1.02rem;color:rgba(255,255,255,0.75);max-width:52ch;}
.page-hero .crumb{
  font-family:var(--font-mono);font-size:0.78rem;color:rgba(255,255,255,0.5);
  display:flex;gap:8px;align-items:center;margin-bottom:14px;
}
.page-hero .crumb a:hover{color:var(--gold-400);}

/* ---------- problem / solution compare ---------- */
.compare{
  display:grid;gap:0;background:var(--white);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);overflow:hidden;border:1px solid var(--line);
}
@media (min-width:800px){ .compare{grid-template-columns:1fr 1fr;} }
.compare-col{padding:32px 28px;}
.compare-col.old{background:var(--white);}
.compare-col.new{background:var(--navy-900);color:var(--white);}
.compare-col h3{font-family:var(--font-mono);font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:18px;color:var(--ink-400);}
.compare-col.new h3{color:var(--gold-400);}
.compare-list li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;font-size:0.97rem;}
.compare-list:not(.new-list) li + li{border-top:1px dashed var(--line);}
.compare-col.new .compare-list li + li{border-top:1px dashed rgba(255,255,255,0.14);}
.compare-list svg{width:19px;height:19px;flex-shrink:0;margin-top:2px;}
.compare-col.old svg{color:#B4463C;}
.compare-col.new svg{color:var(--gold-400);}

/* ---------- services ---------- */
.services-grid{display:grid;gap:18px;grid-template-columns:1fr;}
@media (min-width:640px){ .services-grid{grid-template-columns:1fr 1fr;} }
@media (min-width:1024px){ .services-grid{grid-template-columns:repeat(4,1fr);} }
.service-card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);
  padding:26px 22px;box-shadow:var(--shadow-card);transition:transform .15s ease, box-shadow .15s ease;
}
.service-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px -18px rgba(8,20,38,0.25);}
.service-icon{width:44px;height:44px;border-radius:12px;background:var(--gold-100);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.service-icon svg{width:22px;height:22px;color:var(--navy-800);}
.service-card h3{font-family:var(--font-display);font-weight:600;font-size:1.08rem;color:var(--navy-900);margin-bottom:8px;}
.service-card p{font-size:0.9rem;color:var(--ink-600);}
.services-note{margin-top:32px;text-align:center;font-size:0.95rem;color:var(--ink-600);}
.services-note a{color:var(--navy-800);font-weight:600;border-bottom:1.5px solid var(--gold-500);}

/* full service detail blocks (Services page) */
.service-category{margin-bottom:56px;}
.service-category:last-child{margin-bottom:0;}
.service-category-head{display:flex;align-items:baseline;gap:14px;margin-bottom:28px;}
.service-category-head h3{font-family:var(--font-mono);font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold-600);}
.service-category-head::after{content:"";flex:1;border-top:1px solid var(--line);}
.service-detail-grid{display:grid;gap:22px;}
@media (min-width:800px){ .service-detail-grid{grid-template-columns:1fr 1fr;} }
.service-detail{
  display:flex;gap:18px;background:var(--white);border:1px solid var(--line);
  border-radius:var(--radius-md);padding:26px;box-shadow:var(--shadow-card);
}
.service-detail .service-icon{margin-bottom:0;flex-shrink:0;}
.service-detail h3{font-family:var(--font-display);font-weight:600;font-size:1.12rem;color:var(--navy-900);margin-bottom:8px;}
.service-detail p{font-size:0.92rem;color:var(--ink-600);}

/* ---------- why choose us ---------- */
.why-grid{display:grid;gap:16px;}
@media (min-width:800px){ .why-grid{grid-template-columns:1fr 1fr;} }
.why-card{display:flex;gap:18px;padding:24px 6px;border-top:1px solid var(--line);}
.why-card:first-child{border-top:none;}
@media (min-width:800px){ .why-card:nth-child(-n+2){border-top:none;} }
.why-num{font-family:var(--font-mono);font-size:0.8rem;color:var(--gold-600);flex-shrink:0;width:34px;}
.why-card h3{font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:var(--navy-900);margin-bottom:6px;}
.why-card p{font-size:0.93rem;color:var(--ink-600);}

/* ---------- service area ---------- */
.area-layout{display:grid;gap:40px;align-items:center;}
@media (min-width:900px){ .area-layout{grid-template-columns:0.9fr 1.1fr;} }
.radar{position:relative;width:220px;height:220px;margin-inline:auto;}
@media (min-width:900px){ .radar{width:260px;height:260px;} }
.radar svg{width:100%;height:100%;}
.area-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.chip{font-size:0.86rem;font-weight:500;padding:9px 16px;border-radius:999px;background:var(--white);border:1px solid var(--line);color:var(--navy-800);}
.chip.primary{background:var(--navy-900);color:var(--white);border-color:var(--navy-900);font-weight:600;}
.area-note{margin-top:24px;font-size:0.92rem;color:var(--ink-600);}
.area-note a{color:var(--navy-800);font-weight:600;border-bottom:1.5px solid var(--gold-500);}

/* ---------- credibility / stats / testimonials ---------- */
.credibility{background:var(--navy-950);color:var(--white);}
.stat-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px;}
@media (min-width:800px){ .stat-row{grid-template-columns:repeat(4,1fr);} }
.stat{border-left:2px solid var(--gold-500);padding-left:16px;}
.stat b{display:block;font-family:var(--font-display);font-size:clamp(1.5rem,1.1rem+1.6vw,2rem);color:var(--white);font-weight:600;}
.stat span{font-size:0.82rem;color:rgba(255,255,255,0.62);}

.testimonial-grid{display:grid;gap:18px;margin-top:52px;}
@media (min-width:800px){ .testimonial-grid{grid-template-columns:repeat(3,1fr);} }
.testimonial{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.12);border-radius:var(--radius-md);padding:26px 22px;}
.stars{display:flex;gap:3px;margin-bottom:14px;}
.stars svg{width:15px;height:15px;color:var(--gold-400);}
.testimonial p.quote{font-size:0.95rem;color:rgba(255,255,255,0.85);font-style:italic;}
.testimonial .who{margin-top:16px;font-family:var(--font-mono);font-size:0.75rem;color:var(--gold-400);letter-spacing:0.03em;}
.credibility-cta{margin-top:48px;display:flex;flex-direction:column;gap:18px;align-items:flex-start;padding-top:36px;border-top:1px solid rgba(255,255,255,0.14);}
@media (min-width:700px){ .credibility-cta{flex-direction:row;align-items:center;justify-content:space-between;} }
.credibility-cta p{font-size:1rem;color:rgba(255,255,255,0.75);max-width:40ch;}

/* ---------- credentials detail (About page) ---------- */
.cred-grid{display:grid;gap:16px;grid-template-columns:1fr 1fr;}
@media (min-width:700px){ .cred-grid{grid-template-columns:repeat(4,1fr);} }
.cred-item{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);padding:22px 18px;box-shadow:var(--shadow-card);}
.cred-item svg{width:24px;height:24px;color:var(--gold-600);margin-bottom:12px;}
.cred-item b{display:block;font-family:var(--font-display);font-size:1.05rem;color:var(--navy-900);margin-bottom:4px;}
.cred-item span{font-size:0.84rem;color:var(--ink-600);}

/* ---------- about bio layout ---------- */
.about-layout{display:grid;gap:40px;align-items:center;}
@media (min-width:900px){ .about-layout{grid-template-columns:0.85fr 1.15fr;} }
.about-photo{
  aspect-ratio:4/5;border-radius:var(--radius-lg);
  background:linear-gradient(160deg, var(--navy-800), var(--navy-950));
  position:relative;overflow:hidden;box-shadow:var(--shadow-card);
  display:flex;align-items:center;justify-content:center;
}
.about-photo .placeholder-label{
  font-family:var(--font-mono);font-size:0.78rem;letter-spacing:0.08em;
  color:rgba(255,255,255,0.55);text-align:center;padding:24px;
}
.about-copy p{margin-top:16px;font-size:1rem;color:var(--ink-600);}
.about-copy p:first-of-type{margin-top:0;}
.values-list{margin-top:28px;display:grid;gap:12px;}
.values-list li{display:flex;gap:12px;align-items:flex-start;font-size:0.95rem;color:var(--ink-800);}
.values-list svg{width:19px;height:19px;color:var(--gold-600);flex-shrink:0;margin-top:2px;}

/* ---------- FAQ ---------- */
.faq-list{max-width:760px;}
.faq-list.full{max-width:820px;}
details.faq-item{border-bottom:1px solid var(--line);padding-block:18px;}
details.faq-item summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;
  font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--navy-900);
}
details.faq-item summary::-webkit-details-marker{display:none;}
details.faq-item summary .plus{flex-shrink:0;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--gold-500);position:relative;transition:transform .2s ease;}
details.faq-item summary .plus::before, details.faq-item summary .plus::after{content:"";position:absolute;background:var(--gold-600);top:50%;left:50%;transform:translate(-50%,-50%);}
details.faq-item summary .plus::before{width:10px;height:1.6px;}
details.faq-item summary .plus::after{width:1.6px;height:10px;}
details.faq-item[open] summary .plus::after{transform:translate(-50%,-50%) scaleY(0);}
details.faq-item[open] summary .plus{transform:rotate(180deg);}
.faq-answer{margin-top:12px;font-size:0.95rem;color:var(--ink-600);max-width:64ch;}
.faq-category{margin-bottom:44px;}
.faq-category:last-child{margin-bottom:0;}
.faq-category-title{
  font-family:var(--font-mono);font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--gold-600);margin-bottom:6px;
}

/* ---------- contact ---------- */
.contact-layout{display:grid;gap:36px;}
@media (min-width:960px){ .contact-layout{grid-template-columns:0.85fr 1.15fr;align-items:start;} }
.contact-side{background:var(--navy-900);color:var(--white);border-radius:var(--radius-lg);padding:32px 28px;}
.contact-side h3{font-family:var(--font-display);font-size:1.3rem;font-weight:600;margin-bottom:6px;}
.contact-side p.lead{color:rgba(255,255,255,0.7);font-size:0.94rem;margin-bottom:24px;}
.contact-actions{display:flex;flex-direction:column;gap:12px;}
.contact-meta{margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,0.14);}
.contact-meta li{display:flex;gap:10px;align-items:flex-start;font-size:0.9rem;color:rgba(255,255,255,0.75);padding:6px 0;}
.contact-meta svg{width:17px;height:17px;color:var(--gold-400);flex-shrink:0;margin-top:2px;}

form.lead-form{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px 26px;box-shadow:var(--shadow-card);}
.field-row{display:grid;gap:16px;margin-bottom:16px;}
@media (min-width:600px){ .field-row.two{grid-template-columns:1fr 1fr;} }
label{display:block;font-size:0.82rem;font-weight:600;color:var(--navy-900);margin-bottom:7px;}
input,select,textarea{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--ivory-50);color:var(--ink-800);}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold-500);background:var(--white);}
textarea{resize:vertical;min-height:96px;}
.form-foot{display:flex;flex-direction:column;gap:14px;margin-top:6px;}
.form-note{font-size:0.8rem;color:var(--ink-400);}
#formConfirm{display:none;margin-top:16px;padding:14px 16px;border-radius:var(--radius-sm);background:var(--teal-100);border:1px solid var(--teal-600);color:var(--teal-600);font-size:0.9rem;font-weight:600;}

/* ---------- footer ---------- */
footer.site{background:var(--navy-950);color:rgba(255,255,255,0.7);padding-block:56px 28px;}
.footer-grid{display:grid;gap:36px;grid-template-columns:1fr;}
@media (min-width:700px){ .footer-grid{grid-template-columns:1.3fr 0.8fr 0.8fr 1fr;} }
.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.footer-brand svg,.footer-brand img{width:50px;height:50px;border-radius:50%;display:block;}
.footer-brand span{font-family:var(--font-display);font-size:1.1rem;color:var(--white);font-weight:600;}
.footer-col h4{font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold-400);margin-bottom:14px;}
.footer-col li{padding:6px 0;font-size:0.9rem;}
.footer-col a:hover{color:var(--white);}
.footer-bottom{margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,0.12);display:flex;flex-direction:column;gap:10px;font-size:0.8rem;color:rgba(255,255,255,0.5);}
@media (min-width:700px){ .footer-bottom{flex-direction:row;justify-content:space-between;align-items:center;} }
.footer-legal{display:flex;gap:18px;}

/* ---------- sticky mobile action bar ---------- */
.mobile-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:var(--navy-950);border-top:1.5px solid var(--gold-500);
  display:flex;gap:8px;padding:10px 12px;
  padding-bottom:calc(10px + env(safe-area-inset-bottom));
}
@media (min-width:1024px){ .mobile-bar{display:none;} }
.mobile-bar a{
  flex:1;display:flex;align-items:center;justify-content:center;gap:6px;
  padding:11px 6px;border-radius:999px;font-weight:700;font-size:0.82rem;white-space:nowrap;
}
.mobile-bar a svg{width:15px;height:15px;flex-shrink:0;}
.mobile-bar .call{background:linear-gradient(180deg,var(--gold-400),var(--gold-600));color:var(--navy-950);}
.mobile-bar .text{background:rgba(255,255,255,0.08);color:var(--white);border:1.5px solid rgba(255,255,255,0.25);}
.mobile-bar .schedule{background:rgba(47,110,115,0.18);color:var(--teal-300);border:1.5px solid rgba(143,203,206,0.5);}

.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}

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


/* ---------- legal pages (Privacy / Terms) ---------- */
.legal-content{max-width:760px;}
.legal-content h2{font-family:var(--font-display);font-weight:600;font-size:1.4rem;margin-top:36px;margin-bottom:12px;color:var(--navy-900);}
.legal-content h2:first-of-type{margin-top:0;}
.legal-content p{margin-bottom:14px;font-size:0.97rem;color:var(--ink-600);line-height:1.7;}
.legal-content ul{margin:0 0 14px 20px;}
.legal-content li{list-style:disc;margin-bottom:8px;font-size:0.97rem;color:var(--ink-600);line-height:1.6;}
.legal-content a{color:var(--navy-800);font-weight:600;border-bottom:1.5px solid var(--gold-500);}
