/* ==========================================================================
   Emsella Treatments - Mid Florida Endocrine
   Visual identity: deep oxblood red, antique gold, ivory.
   Mobile-first. No web fonts. No JavaScript. WCAG AA contrast throughout.
   ========================================================================== */

:root{
  /* Reds */
  --wine:#6E1023;          /* primary deep red */
  --wine-deep:#4A0A17;     /* header / footer ground */
  --wine-dark:#320710;     /* deepest, for gradients */
  --wine-ink:#54101F;      /* red used for body links on ivory */
  --wine-tint:#F7ECEE;     /* pale red wash */

  /* Golds - decorative only on light ground, text-safe on dark */
  --gold:#B08D2F;          /* rules, borders, marks on ivory */
  --gold-bright:#D9B451;   /* on dark ground */
  --gold-pale:#EBD9A6;     /* on dark ground, body-size text */
  --gold-wash:#FBF5E6;     /* pale gold panel */

  /* Neutrals */
  --ivory:#FCFAF6;
  --ivory-2:#F5F0E7;
  --ink:#20181A;
  --ink-soft:#57484C;
  --line:#E4DCCE;
  --line-strong:#D2C6B2;

  --radius:4px;
  --radius-lg:8px;
  --wrap:1120px;
  --measure:70ch;

  --serif:Georgia,"Iowan Old Style","Palatino Linotype","Book Antiqua","Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;

  --shadow-sm:0 1px 2px rgba(50,7,16,.06), 0 2px 8px rgba(50,7,16,.05);
  --shadow-md:0 2px 6px rgba(50,7,16,.08), 0 12px 28px rgba(50,7,16,.09);
  --shadow-lg:0 4px 12px rgba(50,7,16,.10), 0 24px 56px rgba(50,7,16,.14);
}

*,*::before,*::after{box-sizing:border-box}

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:24px;
}

body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img,svg,video{max-width:100%;height:auto;display:block}

a{color:var(--wine-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--wine);text-decoration-color:var(--gold);text-decoration-thickness:2px}

a:focus-visible,button:focus-visible,summary:focus-visible,video:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:3px;
  border-radius:2px;
}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 20px}

.skip{
  position:absolute;left:-9999px;top:0;
  background:var(--wine-deep);color:#fff;
  padding:14px 20px;z-index:300;text-decoration:none;font-weight:700;
}
.skip:focus{left:0}

/* ==========================================================================
   Typography
   ========================================================================== */

h1,h2,h3,.display{
  font-family:var(--serif);
  font-weight:700;
  letter-spacing:-.01em;
  color:var(--wine-deep);
}

h1{
  font-size:clamp(30px,6.2vw,50px);
  line-height:1.1;
  margin:.1em 0 .3em;
  max-width:24ch;
  text-wrap:balance;
  hyphens:none;
}
.nb{white-space:nowrap}

h2{
  font-size:clamp(23px,3.4vw,31px);
  line-height:1.2;
  text-wrap:balance;
  margin:2.2em 0 .5em;
  max-width:30ch;
  position:relative;
}

h3{
  font-size:clamp(19px,2.2vw,21px);
  line-height:1.3;
  margin:1.9em 0 .4em;
  color:var(--wine);
}

p,li{max-width:var(--measure)}
p{margin:0 0 1.1em}

ul,ol{margin:0 0 1.3em;padding-left:1.3em}
li{margin-bottom:.5em}
li::marker{color:var(--gold)}

strong{font-weight:700;color:var(--wine-deep)}

.lede{
  font-size:clamp(18px,2.4vw,21px);
  line-height:1.6;
  color:var(--ink-soft);
  max-width:60ch;
}

/* Gold rule ornament under section headings */
.rule{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 1.4em;
  max-width:var(--measure);
}
.rule::before{
  content:"";
  height:2px;
  width:54px;
  background:linear-gradient(90deg,var(--gold),rgba(176,141,47,.15));
}
.rule::after{
  content:"";
  width:6px;height:6px;
  transform:rotate(45deg);
  background:var(--gold);
}

/* ==========================================================================
   Header
   ========================================================================== */

.site-header{
  background:linear-gradient(160deg,var(--wine-deep) 0%,var(--wine) 62%,var(--wine-deep) 100%);
  border-bottom:3px solid var(--gold);
  position:relative;
  z-index:100;
}

.header-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 0;
  min-width:0;
}

.brand{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
  text-decoration:none;
  line-height:1.15;
}
.brand:hover{text-decoration:none}

.crest{
  flex:0 0 auto;
  width:42px;height:42px;
  border-radius:50%;
  background:radial-gradient(circle at 34% 28%,#FFF3D0 0%,var(--gold-bright) 44%,#8A6C1C 100%);
  border:1px solid rgba(255,255,255,.35);
  display:grid;place-items:center;
  box-shadow:0 2px 8px rgba(0,0,0,.32), inset 0 1px 2px rgba(255,255,255,.55);
  overflow:hidden;
}
.crest img{width:30px;height:30px;object-fit:contain}

.brand-text{display:block;min-width:0}
.brand-name{
  display:block;
  font-family:var(--serif);
  font-size:18px;
  font-weight:700;
  letter-spacing:.01em;
  color:#fff;
}
.brand-sub{
  display:block;
  font-size:10.5px;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#E3CDD3;
  margin-top:3px;
}
/* The physician credential is the practice's key trust signal, so it is
   set in gold and carried on every page. */
.brand-doc{
  display:block;
  font-family:var(--serif);
  font-size:13px;
  font-weight:700;
  letter-spacing:.02em;
  color:var(--gold-bright);
  margin-top:2px;
  white-space:nowrap;
}

.header-call{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:linear-gradient(180deg,var(--gold-bright),#A9821F);
  color:var(--wine-dark);
  text-decoration:none;
  font-weight:800;
  font-size:14px;
  letter-spacing:.01em;
  padding:11px 15px;
  border-radius:var(--radius);
  white-space:nowrap;
  min-height:44px;
  box-shadow:0 2px 0 rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.5);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.header-call:hover{
  color:var(--wine-dark);
  filter:brightness(1.07);
  transform:translateY(-1px);
  box-shadow:0 4px 0 rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.5);
}
.header-call:active{transform:translateY(1px);box-shadow:0 1px 0 rgba(0,0,0,.22)}

/* Navigation */
.site-nav{
  background:rgba(0,0,0,.22);
  border-top:1px solid rgba(217,180,81,.28);
}
.site-nav ul{
  list-style:none;margin:0;padding:4px 0;
  display:flex;flex-wrap:wrap;gap:1px;
}
.site-nav li{margin:0;max-width:none}
.site-nav a{
  display:block;
  padding:8px 10px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#F3E6E9;
  text-decoration:none;
  border-radius:var(--radius);
  min-height:40px;
  line-height:22px;
  position:relative;
  transition:color .18s ease, background .18s ease;
}
.site-nav a::after{
  content:"";
  position:absolute;
  left:12px;right:12px;bottom:5px;
  height:2px;
  background:var(--gold-bright);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .22s ease;
}
.site-nav a:hover{color:#fff;background:rgba(255,255,255,.06)}
.site-nav a:hover::after{transform:scaleX(1)}
.site-nav a[aria-current="page"]{
  color:var(--wine-dark);
  background:linear-gradient(180deg,var(--gold-bright),#A9821F);
}
.site-nav a[aria-current="page"]::after{display:none}

/* Outbound link to the practice's main website. Set apart from the site's
   own pages so visitors know it leaves this site. */
.site-nav .nav-external{
  margin-left:0;
}
.site-nav .nav-external a{
  color:var(--gold-bright);
  display:flex;
  align-items:center;
  gap:5px;
  letter-spacing:.02em;
  padding-left:8px;
  padding-right:8px;
}
.site-nav .nav-external a::after{background:var(--gold-pale)}
.site-nav .nav-external a:hover{color:#fff;background:rgba(217,180,81,.14)}
.site-nav .nav-external span[aria-hidden]{font-size:11px;line-height:1}

.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* ==========================================================================
   Breadcrumbs
   ========================================================================== */

.crumbs{
  padding:14px 0 0;
  font-size:13.5px;
  color:var(--ink-soft);
}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 7px}
.crumbs li{margin:0;max-width:none}
.crumbs li::after{content:"/";margin-left:7px;color:var(--gold)}
.crumbs li:last-child::after{content:""}
.crumbs a{color:var(--ink-soft);text-decoration:none;border-bottom:1px solid var(--line-strong)}
.crumbs a:hover{color:var(--wine);border-color:var(--gold)}

/* ==========================================================================
   Hero
   ========================================================================== */

.hero{
  position:relative;
  background:
    radial-gradient(ellipse at 78% 12%, rgba(176,141,47,.20) 0%, transparent 58%),
    linear-gradient(155deg,var(--wine-dark) 0%,var(--wine) 52%,var(--wine-deep) 100%);
  color:#fff;
  overflow:hidden;
  border-bottom:3px solid var(--gold);
}
.hero::before{
  /* fine gold pinstripe texture */
  content:"";
  position:absolute;inset:0;
  background-image:repeating-linear-gradient(115deg,rgba(217,180,81,.06) 0 1px,transparent 1px 9px);
  pointer-events:none;
}
.hero .wrap{position:relative;padding-top:38px;padding-bottom:38px}

.hero-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:center}

.eyebrow{
  display:inline-block;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold-pale);
  border:1px solid rgba(217,180,81,.5);
  border-radius:2px;
  padding:6px 12px;
  margin:0 0 18px;
}

.hero h1{color:#fff;max-width:17ch;text-shadow:0 2px 18px rgba(0,0,0,.28)}
.hero h1 em{font-style:normal;color:var(--gold-bright);white-space:nowrap}
.hero .lede{color:#F0DFE3;max-width:52ch}
.hero .lede-answer{display:none}

.hero-actions{margin:24px 0 0;display:flex;flex-wrap:wrap;gap:12px}

.hero-figure{position:relative}
.hero-figure img{
  width:100%;
  filter:drop-shadow(0 24px 44px rgba(0,0,0,.45));
}
.hero-figure figcaption{
  margin-top:12px;
  font-size:12.5px;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--gold-pale);
  text-align:center;
  max-width:none;
}

/* Trust bar under hero */
.stats-band{
  background:var(--wine-deep);
  border-top:1px solid rgba(217,180,81,.35);
}
.stats{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:rgba(217,180,81,.35);
}
.stats li{
  margin:0;max-width:none;
  background:var(--wine-deep);
  padding:16px 14px;
  text-align:center;
}
.stats .n{
  display:block;
  font-family:var(--serif);
  font-size:clamp(22px,4.4vw,30px);
  font-weight:700;
  color:var(--gold-bright);
  line-height:1.15;
}
.stats .l{
  display:block;
  font-size:11.5px;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#EBDADE;
  margin-top:5px;
  max-width:none;
  line-height:1.4;
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:linear-gradient(180deg,var(--gold-bright),#A9821F);
  color:var(--wine-dark);
  font-weight:800;
  font-size:15px;
  letter-spacing:.02em;
  text-decoration:none;
  padding:14px 24px;
  border-radius:var(--radius);
  min-height:50px;
  border:0;
  box-shadow:0 3px 0 #7E6015, 0 6px 18px rgba(50,7,16,.22), inset 0 1px 0 rgba(255,255,255,.5);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.btn:hover{
  color:var(--wine-dark);
  filter:brightness(1.07);
  transform:translateY(-2px);
  box-shadow:0 5px 0 #7E6015, 0 12px 26px rgba(50,7,16,.28), inset 0 1px 0 rgba(255,255,255,.5);
}
.btn:active{transform:translateY(1px);box-shadow:0 1px 0 #7E6015}

.btn-ghost{
  background:transparent;
  color:#fff;
  border:2px solid rgba(235,217,166,.65);
  box-shadow:none;
  padding:12px 22px;
}
.btn-ghost:hover{
  color:var(--wine-dark);
  background:var(--gold-pale);
  border-color:var(--gold-pale);
  box-shadow:none;
  filter:none;
}

.btn-outline{
  background:transparent;
  color:var(--wine);
  border:2px solid var(--wine);
  box-shadow:none;
  padding:12px 22px;
}
.btn-outline:hover{
  background:var(--wine);
  color:#fff;
  border-color:var(--wine);
  box-shadow:none;
  filter:none;
}

/* ==========================================================================
   Main content blocks
   ========================================================================== */

main{display:block}
.page-head{padding:22px 0 2px}

/* Opening summary paragraph (replaces the old Quick answer box) */
.lede-answer{
  font-size:clamp(18px,2.3vw,20px);
  line-height:1.6;
  color:var(--ink);
  max-width:64ch;
  margin:0 0 1.2em;
}
.lede-answer + .lede-answer{margin-top:-.4em}

/* Key facts panel */
.facts{
  background:#fff;
  border:1px solid var(--line);
  border-top:3px solid var(--gold);
  border-radius:var(--radius-lg);
  padding:20px 22px 10px;
  margin:0 0 2em;
  max-width:var(--measure);
  box-shadow:var(--shadow-sm);
}
.facts h2,.facts h3{
  margin:0 0 .8em;
  font-family:var(--sans);
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--wine);
}
.facts dl{margin:0}
.facts dt{
  font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ink-soft);margin-top:12px;
}
.facts dd{margin:1px 0 12px;font-size:17px;color:var(--ink)}

/* Note / caution panel */
.note{
  background:var(--wine-tint);
  border:1px solid #E3C9CE;
  border-left:5px solid var(--wine);
  border-radius:0 var(--radius) var(--radius) 0;
  padding:16px 18px;
  margin:2em 0;
  max-width:var(--measure);
}
.note p{margin:0;font-size:16.5px}
.note p+p{margin-top:.6em}

/* Myth / fact */
.mf{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:18px 20px;
  margin:0 0 14px;
  max-width:var(--measure);
  box-shadow:var(--shadow-sm);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.mf:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--line-strong)}
.mf p{margin:0}
.mf p+p{margin-top:.65em;padding-top:.65em;border-top:1px dashed var(--line-strong)}
.mf .m{color:var(--ink-soft)}
.mf b{
  font-family:var(--sans);
  font-size:11.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  display:inline-block;margin-right:7px;
}
.mf .m b{color:var(--ink-soft)}
.mf .f b{color:var(--wine)}

/* Q&A */
.qa{
  border-top:1px solid var(--line);
  padding:20px 0 6px;
  max-width:var(--measure);
}
.qa h2,.qa h3{margin:0 0 .45em;max-width:none;color:var(--wine-deep)}
.qa h2{font-size:clamp(19px,2.3vw,22px)}
.qa h3{font-size:19px;color:var(--wine-deep)}
.qa p{margin:0 0 .7em}

/* ==========================================================================
   Cards & lists of links
   ========================================================================== */

.cards{
  list-style:none;margin:0 0 2em;padding:0;
  display:grid;grid-template-columns:1fr;gap:14px;
}
.cards li{margin:0;max-width:none}
.cards a{
  display:block;height:100%;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:18px 20px;
  text-decoration:none;
  color:var(--ink);
  box-shadow:var(--shadow-sm);
  position:relative;
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.cards a::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,var(--gold),var(--gold-bright));
  transform:scaleX(0);transform-origin:left;
  transition:transform .28s ease;
}
.cards a:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-md);
  border-color:var(--line-strong);
  color:var(--ink);
}
.cards a:hover::before{transform:scaleX(1)}
.cards .t{
  display:block;
  font-family:var(--serif);
  font-weight:700;font-size:18px;line-height:1.25;
  color:var(--wine-deep);margin-bottom:5px;
}
.cards a:hover .t{color:var(--wine)}
.cards .d{display:block;font-size:15px;color:var(--ink-soft);line-height:1.5;max-width:none}

/* Index list */
.toc{
  list-style:none;padding:0;margin:0 0 2em;
  border-top:1px solid var(--line);
  max-width:var(--measure);
}
.toc li{margin:0;max-width:none;border-bottom:1px solid var(--line)}
.toc a{
  display:block;padding:15px 14px 15px 0;
  text-decoration:none;
  font-family:var(--serif);
  font-weight:700;font-size:18px;
  color:var(--wine-deep);
  min-height:46px;
  position:relative;
  transition:padding-left .22s ease,color .22s ease;
}
.toc a::before{
  content:"";
  position:absolute;left:0;top:50%;
  width:0;height:2px;margin-top:-1px;
  background:var(--gold);
  transition:width .22s ease;
}
.toc a:hover{padding-left:26px;color:var(--wine)}
.toc a:hover::before{width:18px}
.toc .d{
  display:block;font-family:var(--sans);font-weight:400;font-size:15px;
  color:var(--ink-soft);margin-top:2px;max-width:none;line-height:1.5;
}

/* ==========================================================================
   Feature sections (imagery)
   ========================================================================== */

.feature{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
  align-items:center;
  margin:2.4em 0;
  padding:26px 22px;
  background:linear-gradient(180deg,#fff,var(--ivory-2));
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
}
.feature h2{margin-top:0}
.feature p:last-child{margin-bottom:0}
.feature-media img{
  width:100%;
  border-radius:var(--radius);
}
.feature-media.plain img{filter:drop-shadow(0 14px 26px rgba(50,7,16,.16))}

/* Portrait */
.portrait{
  margin:0 0 1.6em;
  max-width:340px;
}
.bio-intro{display:grid;grid-template-columns:1fr;gap:26px;align-items:start;margin:0 0 1em}
.bio-intro .portrait{margin:0;max-width:none}
@media (min-width:760px){.bio-intro{grid-template-columns:320px 1fr;gap:34px}}
.portrait img{
  width:100%;
  border-radius:var(--radius-lg);
  border:1px solid var(--line-strong);
  box-shadow:var(--shadow-md);
}
.portrait figcaption{
  margin-top:12px;
  padding-top:12px;
  border-top:2px solid var(--gold);
  font-size:14px;
  color:var(--ink-soft);
  max-width:none;
}
.portrait figcaption strong{
  display:block;
  font-family:var(--serif);
  font-size:18px;
  color:var(--wine-deep);
  margin-bottom:2px;
}

/* Video */
.video{
  margin:0 0 1.6em;
  max-width:var(--measure);
  background:var(--wine-dark);
  border:1px solid var(--line-strong);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-md);
}
.video video{width:100%;display:block;background:#000}
.video figcaption{
  padding:13px 18px;
  font-size:14px;
  color:var(--gold-pale);
  background:var(--wine-deep);
  max-width:none;
  border-top:1px solid rgba(217,180,81,.3);
}

/* ==========================================================================
   Banded sections
   ========================================================================== */

.band{
  background:
    radial-gradient(ellipse at 20% 0%, rgba(176,141,47,.18) 0%, transparent 55%),
    linear-gradient(150deg,var(--wine-deep),var(--wine-dark));
  color:#fff;
  padding:34px 0;
  margin:3em 0 0;
  border-top:3px solid var(--gold);
  border-bottom:3px solid var(--gold);
}
.band h2{color:#fff;margin-top:0}
.band p{color:#F0DFE3}
.band .rule::before{background:linear-gradient(90deg,var(--gold-bright),rgba(217,180,81,.15))}
.band .rule::after{background:var(--gold-bright)}

/* CTA */
.cta{
  background:
    radial-gradient(ellipse at 85% 10%, rgba(176,141,47,.22) 0%, transparent 60%),
    linear-gradient(150deg,var(--wine),var(--wine-deep));
  color:#fff;
  border-radius:var(--radius-lg);
  border:1px solid rgba(217,180,81,.4);
  padding:28px 24px;
  margin:3em 0 0;
  max-width:var(--measure);
  box-shadow:var(--shadow-lg);
}
.cta h2{margin-top:0;color:#fff}
.cta p{color:#F0DFE3;margin-bottom:1.2em}
.cta .rule::before{background:linear-gradient(90deg,var(--gold-bright),rgba(217,180,81,.15))}
.cta .rule::after{background:var(--gold-bright)}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px}

/* Related */
.related{
  border-top:2px solid var(--line-strong);
  margin-top:3em;
  padding-top:1.6em;
}
.related h2{margin-top:0}

/* ==========================================================================
   Map & contact
   ========================================================================== */

.map{
  position:relative;width:100%;max-width:var(--measure);
  aspect-ratio:4/3;
  margin:0 0 1.3em;
  border:1px solid var(--line-strong);
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--ivory-2);
  box-shadow:var(--shadow-sm);
}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
@media (min-width:700px){ .map{aspect-ratio:16/9} }

.map-actions{max-width:var(--measure);margin:0 0 2em;display:flex;flex-wrap:wrap;gap:12px}

.nap{
  background:#fff;
  border:1px solid var(--line);
  border-top:3px solid var(--gold);
  border-radius:var(--radius-lg);
  padding:22px;
  margin:0 0 2em;
  max-width:var(--measure);
  box-shadow:var(--shadow-sm);
}
.nap h2{margin-top:0}
.nap dl{margin:0}
.nap dt{
  font-size:11.5px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;
  color:var(--wine);margin-top:18px;
}
.nap dt:first-child{margin-top:0}
.nap dd{margin:3px 0 0;font-size:17.5px}
.nap .map-actions{margin:20px 0 0}

.hours{list-style:none;margin:0 0 1.3em;padding:0;max-width:var(--measure)}
.hours li{
  margin:0;max-width:none;
  padding:11px 0;
  border-bottom:1px solid var(--line);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
.hours li:first-child{border-top:1px solid var(--line)}

/* ==========================================================================
   Footer
   ========================================================================== */

.site-footer{
  background:linear-gradient(180deg,var(--wine-deep),var(--wine-dark));
  color:#E6D6DA;
  margin-top:0;
  padding:40px 0 28px;
  font-size:15.5px;
  border-top:3px solid var(--gold);
}
.site-footer a{color:var(--gold-pale);text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--gold-bright)}
.site-footer h2{
  color:var(--gold-bright);
  font-family:var(--sans);
  font-size:11.5px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;
  margin:0 0 1em;max-width:none;
}
.foot-grid{display:grid;grid-template-columns:1fr;gap:32px}
.foot-nap p{margin:0 0 .35em;max-width:none;line-height:1.6}
.foot-nap .org{
  font-family:var(--serif);font-weight:700;color:#fff;font-size:20px;margin-bottom:.15em;
}
.foot-nap .doc{color:var(--gold-pale);margin-bottom:.8em}
.foot-hours{margin-top:1em;font-size:14.5px;color:#CDB8BD}
.foot-cols{display:grid;grid-template-columns:1fr 1fr;gap:26px 20px}
.foot-links{list-style:none;margin:0;padding:0}
.foot-links li{margin:0 0 8px;max-width:none}
.foot-links a{font-size:14.5px;display:inline-block;padding:2px 0}

.foot-mainsite{
  margin-top:1em;
  padding-top:.9em;
  border-top:1px solid rgba(217,180,81,.25);
}
.foot-mainsite a{
  font-weight:700;
  color:var(--gold-bright);
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-color:rgba(217,180,81,.45);
}
.foot-mainsite a:hover{color:#fff;text-decoration-color:var(--gold-bright)}

.legal{
  border-top:1px solid rgba(217,180,81,.28);
  margin-top:30px;padding-top:20px;
  font-size:13.5px;color:#B79BA2;
}
.legal p{max-width:none;margin:0 0 .6em}

/* ==========================================================================
   Motion - CSS only, never hides content from crawlers
   ========================================================================== */

@media (prefers-reduced-motion:no-preference){
  .hero .eyebrow,
  .hero h1,
  .hero .lede,
  .hero-actions,
  .hero-figure{
    animation:riseIn .7s cubic-bezier(.22,.68,.35,1) both;
  }
  .hero h1{animation-delay:.06s}
  .hero .lede{animation-delay:.13s}
  .hero-actions{animation-delay:.2s}
  .hero-figure{animation-delay:.14s}

  @keyframes riseIn{
    from{opacity:0;transform:translateY(16px)}
    to{opacity:1;transform:none}
  }

  /* Scroll-linked reveal. Only applied where supported, and the
     un-animated state is fully visible, so content never disappears. */
  @supports (animation-timeline:view()){
    .reveal{
      animation:revealIn linear both;
      animation-timeline:view();
      animation-range:entry 0% entry 62%;
    }
    @keyframes revealIn{
      from{opacity:.25;transform:translateY(22px)}
      to{opacity:1;transform:none}
    }
  }
}

/* ==========================================================================
   Breakpoints
   ========================================================================== */

@media (min-width:560px){
  .stats{grid-template-columns:repeat(4,1fr)}
  .facts dl{display:grid;grid-template-columns:auto 1fr;gap:0 22px;align-items:baseline}
  .facts dt{margin-top:9px}
  .facts dd{margin-bottom:9px}
  .brand-name{font-size:20px}
  .brand-sub{font-size:11px}
  .brand-doc{font-size:15px}
  .eyebrow{letter-spacing:.2em}
  .crest{width:48px;height:48px}
  .crest img{width:34px;height:34px}
  .header-call{font-size:15px;padding:12px 18px}
}

@media (min-width:760px){
  body{font-size:17.5px}
  .cards{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1.5fr}
  .foot-cols{grid-template-columns:repeat(2,1fr)}
  .feature{grid-template-columns:1.05fr .95fr;padding:32px 30px;gap:32px}
  .feature.flip .feature-media{order:2}
  .hero .wrap{padding-top:56px;padding-bottom:56px}
}

@media (min-width:1000px){
  .wrap{padding:0 28px}
  /* Tighten the nav just enough that all ten items, including the outbound
     practice link, sit on a single row. */
  .site-nav a{font-size:12.5px;padding:8px 7px;letter-spacing:.03em}
  .site-nav a::after{left:7px;right:7px}
  .site-nav .nav-external a{padding-left:7px;padding-right:7px}
  .site-header{position:sticky;top:0}
  html{scroll-padding-top:132px}
  .cards{grid-template-columns:repeat(3,1fr)}
  .hero-grid{grid-template-columns:1.08fr .92fr;gap:44px}
  .foot-cols{grid-template-columns:repeat(4,1fr)}
  .site-nav ul{gap:2px 4px}
}

@media (min-width:1280px){
  .site-nav .nav-external{
    margin-left:8px;
    padding-left:9px;
    border-left:1px solid rgba(217,180,81,.35);
  }
}

@media (max-width:359px){
  .brand-name{font-size:15.5px}
  .brand-sub{font-size:9.5px;letter-spacing:.1em}
  .brand-doc{font-size:12px}
  .crest{width:36px;height:36px}
  .crest img{width:26px;height:26px}
  .header-call{font-size:13px;padding:11px 11px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}

@media print{
  .site-nav,.header-call,.cta,.skip,.map,.video{display:none}
  body{font-size:12pt;color:#000;background:#fff}
  .site-header,.hero,.band,.site-footer{background:#fff !important;color:#000 !important}
  h1,h2,h3,.hero h1,.band h2{color:#000 !important}
  a{color:#000}
}
