/* ═══════════════════════════════════════════════════════════
   GREAT VALLEY AUTOMOTIVE — shared stylesheet
   CSMC Web Design

   PALETTE 3 — "Clean White & Navy" (approved by John, 27 Jul)
     #12233F navy · #FFFFFF white · #FFE300 gold (from his logo artwork)

   House rule for this build — NO TWO-TONE:
   every element wears exactly ONE colour. No gradients, no split-colour
   headers, no card with a grey frame and a gold edge, no two-tone buttons
   or dividers. Gold survives only as a solid, single-colour accent and
   only where it holds contrast; on light backgrounds it gives way to navy.

   Type matches the original site: Arvo (headings) + Trebuchet MS (body)
   Navigation is always-visible tabs under the logo — no hamburger,
   same as the original site.
   ═══════════════════════════════════════════════════════════ */

:root{
  --gold:#FFE300;
  --gold-dp:#F4CE12;
  --gold-sh:#C9A200;
  --ink:#12233F;
  --ink-lt:#1b3a63;
  --white:#fff;
  --off:#f8f8f8;
  --hero-bg:#f6f9fc;
  --g1:#3B3B3B;
  --g2:#4F4F4F;
  --g3:#6B6B6B;      /* was #9F9F9F — 2.65:1 on white, failed. now ~5.3:1 */
  --line:#e3e3e3;
  --link:#2565AC;
  --head:'Arvo', Georgia, 'Times New Roman', serif;
  --body:'Trebuchet MS', 'Lucida Grande', 'Lucida Sans Unicode', Tahoma, sans-serif;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:var(--body);background:var(--white);color:var(--g2);line-height:1.65;font-size:15px;overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--link);}
h1,h2,h3,h4{font-family:var(--head);color:var(--ink);line-height:1.2;font-weight:700;}
.wrap{max-width:1140px;margin:0 auto;padding:0 22px;}
:focus-visible{outline:3px solid var(--ink);outline-offset:2px;}
.skip{position:absolute;left:-9999px;}
.skip:focus{left:8px;top:8px;z-index:999;background:var(--gold);color:var(--ink);padding:10px 16px;font-weight:bold;}

/* ── shared section heading ── */
.sec-h{font-size:clamp(1.55rem,3.4vw,2.15rem);margin-bottom:.35rem;}
/* Gold reads at ~1.2:1 on white — invisible. Rule bars are navy on light
   ground, gold only where they sit on navy (see .pagehead/.map-side below). */
.rule{width:64px;height:5px;background:var(--ink);margin:0 0 1.6rem;}
.rule.mid{margin-left:auto;margin-right:auto;}
.centered{text-align:center;}
.centered .rule{margin-left:auto;margin-right:auto;}
.lede{max-width:760px;color:var(--g2);font-size:1rem;}
.centered .lede{margin:0 auto;}

/* ══════════ UTILITY BAR ══════════ */
.util{background:var(--ink);color:#cfcbcb;font-size:.78rem;border-bottom:3px solid var(--gold);}
.util .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:38px;flex-wrap:wrap;padding-top:5px;padding-bottom:5px;}
.util-l{display:flex;gap:1.4rem;flex-wrap:wrap;align-items:center;}
.util-l span{display:inline-flex;align-items:center;gap:.4rem;}
.util b{color:var(--gold);font-weight:normal;letter-spacing:.03em;}
.util a{color:#cfcbcb;text-decoration:none;}
.util a:hover{color:var(--gold);}
.social{display:flex;gap:.5rem;align-items:center;}
.social a{width:24px;height:24px;border:1px solid #4a4646;display:flex;align-items:center;justify-content:center;font-size:.64rem;font-weight:bold;color:#cfcbcb;text-decoration:none;transition:all .18s;font-family:var(--head);}
.social a:hover{background:var(--gold);border-color:var(--gold);color:var(--ink);}
@media(max-width:700px){.util .wrap{justify-content:center;text-align:center;}.util-hide{display:none;}}

/* ══════════ MASTHEAD ══════════ */
.mast{background:var(--white);padding:18px 0;}
.mast .wrap{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;}
.mast-logo img{width:306px;max-width:72vw;}
.mast-r{text-align:right;font-size:.86rem;color:var(--g2);line-height:1.5;}
.mast-r .tel{display:block;font-family:var(--head);font-weight:700;font-size:1.6rem;color:var(--ink);text-decoration:none;letter-spacing:-.01em;}
.mast-r .tel:hover{color:var(--ink-lt);}
.mast-r .addr{font-size:.84rem;}
.mast-r .hrs{font-size:.78rem;color:var(--g3);}
.mast-cta{
  display:inline-block;margin-top:.55rem;background:var(--gold);color:var(--ink);
  font-family:var(--head);font-weight:700;font-size:.78rem;padding:8px 16px;
  text-decoration:none;border-radius:2px;transition:background .18s;
}
.mast-cta:hover{background:var(--gold-dp);}
@media(max-width:640px){.mast .wrap{justify-content:center;}.mast-r{text-align:center;}}

/* ══════════ NAV — always-visible tabs, centered (no hamburger) ══════════ */
.navbar{
  background:var(--white);position:sticky;top:0;z-index:400;
  border-top:1px solid var(--line);box-shadow:0 2px 10px rgba(0,0,0,.06);
}
.nav-ul{
  list-style:none;display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;
}
.nav-ul a{
  display:block;padding:15px 22px;color:var(--ink);text-decoration:none;
  font-family:var(--head);font-size:.82rem;letter-spacing:.03em;white-space:nowrap;
  border-bottom:4px solid transparent;transition:color .18s,border-color .18s,background .18s;
}
.nav-ul a:hover{color:var(--ink);border-bottom-color:var(--ink);background:#f6f6f6;}
/* current page — solid navy underline, single colour */
.nav-ul a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink);background:#f6f6f6;}

@media(max-width:860px){
  .nav-ul a{padding:13px 15px;font-size:.78rem;}
}
@media(max-width:560px){
  .nav-ul{gap:0;}
  .nav-ul li{flex:1 1 auto;}
  .nav-ul a{padding:12px 11px;font-size:.73rem;text-align:center;}
}
@media(max-width:360px){
  .nav-ul a{padding:11px 8px;font-size:.69rem;}
}

/* ══════════ PAGE HEADER (subpages) ══════════ */
.pagehead{background:var(--ink);color:#c6c2c2;padding:38px 0 34px;position:relative;}
.pagehead::after{content:'';position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--gold);}
.pagehead h1{color:var(--white);font-size:clamp(1.7rem,4vw,2.5rem);margin-bottom:.4rem;}
.pagehead .rule{margin-bottom:.9rem;background:var(--gold);}
.pagehead p{color:#c6c2c2;max-width:720px;font-size:.98rem;}
.crumbs{font-size:.75rem;color:#a8a3a3;margin-bottom:.7rem;}
.crumbs a{color:#a8a3a3;text-decoration:none;}
.crumbs a:hover{color:var(--gold);}
.crumbs span{color:var(--gold);}

/* ══════════ HERO (home only) ══════════ */
.hero{background:var(--hero-bg);color:#3a4655;position:relative;overflow:hidden;}
.hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--ink);}
.hero .wrap{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;padding-top:48px;padding-bottom:54px;}
.hero-badge{
  display:inline-block;background:var(--ink);color:var(--white);
  font-family:var(--head);font-weight:700;font-size:.68rem;letter-spacing:.14em;
  padding:5px 12px;margin-bottom:1.1rem;text-transform:uppercase;
}
.hero h1{color:var(--ink);font-size:clamp(1.85rem,4.3vw,3rem);line-height:1.14;margin-bottom:1rem;}
/* John, 27 Jul: disliked the black/yellow split on "…you can trust." —
   headline must read as ONE colour. .y now inherits navy. Do not re-tint. */
.hero h1 .y{color:inherit;}
.hero p{color:#4a5568;font-size:1.02rem;max-width:520px;margin-bottom:1.7rem;}
.hero-cta{display:flex;gap:.8rem;flex-wrap:wrap;}
.hero-photo{position:relative;}
.hero-photo img{border:5px solid var(--ink);border-radius:3px;width:100%;}
.hero-est{
  position:absolute;right:-10px;bottom:-18px;background:var(--gold);color:var(--ink);
  font-family:var(--head);font-weight:700;text-align:center;padding:11px 16px;line-height:1.1;border-radius:2px;
  box-shadow:0 5px 16px rgba(0,0,0,.4);
}
.hero-est b{display:block;font-size:1.45rem;}
.hero-est span{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;}
@media(max-width:860px){
  .hero .wrap{grid-template-columns:1fr;gap:2.2rem;padding-top:34px;padding-bottom:40px;}
  .hero-photo{order:-1;}
  .hero-est{right:8px;bottom:-14px;}
}

/* ══════════ BUTTONS ══════════ */
.btn{
  display:inline-block;font-family:var(--head);font-weight:700;font-size:.85rem;
  padding:13px 26px;text-decoration:none;border:2px solid transparent;cursor:pointer;
  transition:background .18s,color .18s,border-color .18s,transform .12s;border-radius:2px;
}
.btn-gold{background:var(--gold);color:var(--ink);border-color:var(--gold);}
.btn-gold:hover{background:var(--gold-dp);border-color:var(--gold-dp);transform:translateY(-1px);}
.btn-ghost{background:transparent;color:var(--white);border-color:#5d5859;}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);}
/* hero is light now — the white ghost button would vanish on it */
.hero .btn-ghost{color:var(--ink);border-color:var(--ink);}
.hero .btn-ghost:hover{background:var(--ink);color:var(--white);border-color:var(--ink);}
.btn-dark{background:var(--ink);color:var(--gold);border-color:var(--ink);}
.btn-dark:hover{background:#000;color:var(--gold);}

/* ══════════ TRUST STRIP ══════════ */
.trust{background:var(--off);border-bottom:1px solid var(--line);}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);}
.trust .t{background:var(--off);padding:20px 16px;text-align:center;}
.trust .t b{display:block;font-family:var(--head);font-size:.92rem;color:var(--ink);margin-bottom:2px;}
.trust .t span{font-size:.78rem;color:var(--g2);}
@media(max-width:760px){.trust .wrap{grid-template-columns:1fr 1fr;}}

/* ══════════ SECTIONS ══════════ */
section{padding:60px 0;}
section.alt{background:var(--off);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
section.tight{padding:44px 0;}
@media(max-width:640px){section{padding:44px 0;}}

/* ══════════ WELCOME + OWNER AUTO SITE ══════════ */
.welcome-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:3rem;align-items:start;}
.welcome-grid p{margin-bottom:1.1rem;}
.welcome-grid p strong{color:var(--ink);}
.oas{border:2px solid var(--ink);padding:22px;background:var(--white);}
.oas h3{font-size:1.02rem;margin-bottom:.2rem;}
.oas .rule{width:44px;height:4px;margin-bottom:.9rem;}
.oas p{font-size:.9rem;margin-bottom:1rem;}
.oas .note{font-size:.78rem;color:var(--g3);font-style:italic;margin-bottom:0;}
@media(max-width:860px){.welcome-grid{grid-template-columns:1fr;gap:2rem;}}

/* ══════════ SERVICES ══════════ */
.svc-list{
  columns:4;column-gap:2rem;list-style:none;margin-top:1.6rem;
  border-top:2px solid var(--ink);padding-top:1.4rem;
}
.svc-list li{
  break-inside:avoid;padding:7px 0 7px 22px;position:relative;
  font-size:.9rem;color:var(--g1);border-bottom:1px dotted var(--line);
}
/* was a gold square outlined in darker gold — two-tone, and 1.2:1 on white.
   Solid navy: single colour and actually visible. */
.svc-list li::before{
  content:'';position:absolute;left:0;top:14px;
  width:9px;height:9px;background:var(--ink);
}
@media(max-width:980px){.svc-list{columns:3;}}
@media(max-width:720px){.svc-list{columns:2;column-gap:1.2rem;}}
@media(max-width:430px){.svc-list{columns:1;}}
.svc-note{
  margin-top:1.8rem;background:var(--ink);color:#ddd9d9;padding:20px 24px;
  font-size:.94rem;
}
.svc-note b{color:var(--gold);}
.svc-note a{color:var(--gold);}

/* popular-services teaser cards (home) */
.svc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:1.8rem;}
.svc-card{
  background:var(--white);border:1px solid var(--ink);
  padding:20px 22px;transition:box-shadow .2s,transform .15s;
}
.svc-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.09);transform:translateY(-2px);}
.svc-card h3{font-size:1rem;margin-bottom:.35rem;}
.svc-card p{font-size:.87rem;color:var(--g2);}
@media(max-width:860px){.svc-cards{grid-template-columns:1fr 1fr;}}
@media(max-width:540px){.svc-cards{grid-template-columns:1fr;}}

/* ══════════ REVIEWS ══════════ */
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2rem;}
.rev-card{background:var(--white);border:1px solid var(--ink);padding:24px 22px;text-align:center;}
.rev-card .num{font-family:var(--head);font-weight:700;font-size:2.5rem;color:var(--ink);line-height:1;}
.rev-card .stars{color:var(--ink);letter-spacing:.14em;font-size:1rem;margin:.35rem 0 .5rem;}
.rev-card .cnt{font-size:.86rem;color:var(--g2);}
.rev-card .src{
  display:inline-block;margin-top:.9rem;font-family:var(--head);font-size:.7rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink);
  border-bottom:2px solid var(--ink);text-decoration:none;padding-bottom:2px;
}
.rev-card .src:hover{color:var(--ink-lt);border-bottom-color:var(--ink-lt);}
.rev-src-note{margin-top:1.4rem;font-size:.76rem;color:var(--g3);text-align:center;}
@media(max-width:820px){.rev-grid{grid-template-columns:1fr;}}

/* ══════════ TESTIMONIALS ══════════ */
.tst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2rem;text-align:left;}
.tst{background:var(--white);border:1px solid var(--ink);padding:22px;}
.tst .q{color:var(--ink);font-family:var(--head);font-size:2rem;line-height:.7;}
.tst p{font-size:.92rem;color:var(--g1);margin:.5rem 0 .9rem;font-style:italic;}
.tst cite{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--g3);font-style:normal;font-family:var(--head);}
@media(max-width:820px){.tst-grid{grid-template-columns:1fr;}}

/* ══════════ PAYMENT + AFFILIATES ══════════ */
.two-col{display:grid;grid-template-columns:1fr 2fr;gap:3rem;align-items:start;}
.pay img{max-width:210px;}
.aff-grid{display:flex;flex-wrap:wrap;gap:1.6rem 2.2rem;align-items:center;margin-top:1.3rem;}
.aff-grid img{max-height:52px;width:auto;filter:grayscale(100%) contrast(.95);opacity:.72;transition:filter .22s,opacity .22s;}
.aff-grid img:hover{filter:none;opacity:1;}
@media(max-width:820px){.two-col{grid-template-columns:1fr;gap:2.2rem;}}

/* ══════════ FORMS ══════════ */
.appt-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem;align-items:start;}
.appt-info .cd{display:flex;gap:.9rem;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line);}
.appt-info .cd:last-child{border-bottom:0;}
.appt-info .ic{
  width:34px;height:34px;flex-shrink:0;background:var(--gold);color:var(--ink);
  display:flex;align-items:center;justify-content:center;font-size:.9rem;border-radius:2px;
}
.appt-info .lbl{font-family:var(--head);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--g3);}
.appt-info .val{color:var(--ink);font-size:.94rem;}
.appt-info .val a{color:var(--ink);text-decoration:none;}
.appt-info .val a:hover{color:var(--ink-lt);}
form.appt{background:var(--white);border:2px solid var(--ink);padding:28px;}
form.appt h2,form.appt h3{font-size:1.25rem;margin-bottom:.15rem;}
form.appt .sub{font-size:.82rem;color:var(--g3);margin-bottom:1.3rem;}
.fg{margin-bottom:.95rem;}
.fg label{display:block;font-family:var(--head);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--g2);margin-bottom:.32rem;}
.fg .req{color:#b00;}
.fg input,.fg select,.fg textarea{
  width:100%;background:var(--off);border:2px solid var(--line);color:var(--ink);
  padding:11px 12px;font-family:var(--body);font-size:.92rem;border-radius:2px;
  transition:border-color .18s,background .18s;-webkit-appearance:none;appearance:none;
}
.fg select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234F4F4F' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:11px;padding-right:34px;}
.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--ink);background:var(--white);}
.fg textarea{resize:vertical;min-height:92px;}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
.submit{
  width:100%;background:var(--ink);color:var(--gold);border:0;padding:15px;
  font-family:var(--head);font-weight:700;font-size:1rem;cursor:pointer;
  border-radius:2px;transition:background .18s,color .18s;margin-top:.4rem;
}
.submit:hover:not(:disabled){background:var(--gold);color:var(--ink);}
.submit:disabled{opacity:.6;cursor:wait;}
.form-msg{margin-top:14px;padding:13px 16px;font-size:.9rem;border-radius:2px;display:none;}
.form-msg.ok{display:block;background:#eef8ee;border:1px solid #9ccf9c;color:#1c5c1c;}
.form-msg.err{display:block;background:#fdeeee;border:1px solid #e0a1a1;color:#8c1c1c;}
.privacy{margin-top:.85rem;font-size:.74rem;color:var(--g3);}
@media(max-width:860px){.appt-grid{grid-template-columns:1fr;gap:2.2rem;}}
@media(max-width:460px){.fg-row{grid-template-columns:1fr;}}

/* ══════════ FAQ ══════════ */
.faq{max-width:880px;margin:1.8rem auto 0;text-align:left;}
.faq details{border:1px solid var(--ink);background:var(--white);margin-bottom:.7rem;}
.faq summary{
  cursor:pointer;padding:15px 20px;font-family:var(--head);font-weight:700;
  font-size:.95rem;color:var(--ink);list-style:none;position:relative;padding-right:46px;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+';position:absolute;right:18px;top:12px;font-size:1.4rem;color:var(--ink);font-weight:400;}
.faq details[open] summary::after{content:'\2212';}
.faq details[open] summary{background:var(--off);}
.faq .a{padding:0 20px 17px;font-size:.93rem;color:var(--g2);}

/* ══════════ LOCATION / MAP ══════════ */
.map-grid{display:grid;grid-template-columns:1.35fr .65fr;min-height:430px;border:3px solid var(--ink);}
.map-grid iframe{width:100%;height:100%;min-height:430px;border:0;display:block;}
.map-side{background:var(--ink);color:#d8d4d4;padding:32px 28px;display:flex;flex-direction:column;justify-content:center;}
.map-side h2,.map-side h3{color:var(--white);font-size:1.3rem;margin-bottom:.2rem;}
.map-side .rule{width:44px;height:4px;margin-bottom:1.3rem;background:var(--gold);}
.map-row{padding:11px 0;border-bottom:1px solid #3b3737;}
.map-row:last-of-type{border-bottom:0;}
.map-row .lbl{font-family:var(--head);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.2rem;}
.map-row .val{font-size:.92rem;color:#e4e1e1;}
.map-row .val a{color:#e4e1e1;text-decoration:none;}
.map-row .val a:hover{color:var(--gold);}
.map-side .btn{margin-top:1.2rem;text-align:center;}
.plus{font-size:.72rem;color:#b9b4b4;margin-top:.7rem;} /* sits on navy — needs to be lighter, not darker */
@media(max-width:860px){
  .map-grid{grid-template-columns:1fr;min-height:0;}
  .map-grid iframe{min-height:300px;}
}

/* areas served chips */
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem;}
.chips span{background:var(--off);border:1px solid var(--line);padding:.35rem .8rem;font-size:.8rem;color:var(--g2);}

/* ══════════ CTA BAND ══════════ */
.cta-band{background:var(--gold);}
.cta-band .wrap{
  padding-top:30px;padding-bottom:30px;display:flex;align-items:center;
  justify-content:space-between;gap:1.4rem;flex-wrap:wrap;
}
.cta-band h2{font-size:clamp(1.25rem,2.6vw,1.7rem);color:var(--ink);margin-bottom:.15rem;}
.cta-band p{color:#5c5104;font-size:.92rem;}
.cta-band .btn-dark{flex-shrink:0;}
@media(max-width:640px){.cta-band .wrap{justify-content:center;text-align:center;}}

/* ══════════ FOOTER ══════════ */
footer{background:var(--ink);color:#a9a5a5;padding:44px 0 0;border-top:6px solid var(--gold);}
.f-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2.4rem;padding-bottom:32px;}
.f-grid h2{color:var(--white);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem;}
.f-logo img{width:250px;max-width:100%;margin-bottom:1rem;background:var(--white);padding:9px 12px;border-radius:3px;}
.f-grid p,.f-grid li{font-size:.87rem;line-height:1.85;}
.f-grid ul{list-style:none;}
.f-grid a{color:#a9a5a5;text-decoration:none;}
.f-grid a:hover{color:var(--gold);}
.f-tel{font-family:var(--head);font-weight:700;font-size:1.3rem;color:var(--gold)!important;text-decoration:none;}
.f-bot{border-top:1px solid #3b3737;padding:17px 0;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.78rem;color:#9d9898;}
.f-bot a{color:#9d9898;text-decoration:none;}
.f-bot a:hover{color:var(--gold);}
@media(max-width:820px){.f-grid{grid-template-columns:1fr;gap:1.8rem;}.f-bot{justify-content:center;text-align:center;}}

/* ══════════ STICKY MOBILE CALL BAR ══════════ */
.callbar{
  position:fixed;left:0;right:0;bottom:0;z-index:500;display:none;
  background:var(--gold);border-top:3px solid var(--ink);
}
.callbar a{
  display:flex;align-items:center;justify-content:center;gap:.5rem;padding:13px;
  font-family:var(--head);font-weight:700;font-size:1.05rem;color:var(--ink);text-decoration:none;
}
@media(max-width:900px){.callbar{display:block;}body{padding-bottom:54px;}}

/* ══════════ REVEAL ══════════ */
.rev{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;}
.rev.on{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
  .rev{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
}
[id]{scroll-margin-top:74px;}
@media print{.navbar,.callbar,.util,form.appt,.hero-cta,.cta-band{display:none;}body{color:#000;}}
