:root {
  color-scheme: light;
  --paper: #faf7ef;
  --white: #fffdf8;
  --ink: #201d17;
  --muted: #615849;
  --line: #ded6c5;
  --yellow: #f8c749;
  --yellow-hover: #ffda73;
  --ochre: #795616;
  --dark: #24211b;
  --dark-muted: #ddd1b9;
  --wrap: 1184px;
  --gutter: clamp(18px, 4.4vw, 64px);
  --radius: 26px;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-padding-top: 22px; }
body {
  margin: 0;
  min-width: 280px;
  background: var(--paper);
  color: var(--ink);
  font: 16px/1.55 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-wrap: break-word;
}
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { line-height: 1.06; letter-spacing: -.045em; text-wrap: balance; }
h1 { font-size: clamp(2.72rem, 5.2vw, 5rem); font-weight: 820; }
h2 { font-size: clamp(2rem, 3.45vw, 3.5rem); font-weight: 780; }
h3 { font-size: 1.38rem; font-weight: 760; }
p { color: var(--muted); }
a { color: inherit; text-underline-offset: .23em; }
a:hover { text-decoration-thickness: 2px; }
img { display: block; max-width: 100%; height: auto; }
address { font-style: normal; }
button { font: inherit; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 3px solid #167184;
  outline-offset: 4px;
}
.wrap { width: min(calc(100% - var(--gutter) * 2), var(--wrap)); margin-inline: auto; }
.icon { display: inline-block; width: 1.25rem; height: 1.25rem; flex: none; vertical-align: middle; }
.skip-link {
  position: fixed;
  z-index: 10;
  top: 10px;
  left: 10px;
  padding: .65rem 1rem;
  border-radius: .4rem;
  background: var(--ink);
  color: var(--white);
  transform: translateY(-160%);
}
.skip-link:focus { transform: translateY(0); }

.site-header { border-bottom: 1px solid var(--line); }
.header-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
  min-height: 84px;
}
.wordmark { display: inline-flex; align-items: center; gap: .63rem; justify-self: start; text-decoration: none; }
.wordmark img { width: 46px; height: 46px; border-radius: 12px; }
.wordmark strong, .wordmark small { display: block; line-height: 1; }
.wordmark strong { font-size: 1.66rem; font-weight: 850; letter-spacing: -.08em; }
.wordmark strong span { color: #a56b09; margin-left: .06em; }
.wordmark small {
  margin-top: .29rem;
  color: var(--muted);
  text-transform: uppercase;
  font-size: .56rem;
  font-weight: 790;
  letter-spacing: .18em;
}
.main-nav { display: flex; flex-wrap: wrap; align-items: center; gap: clamp(13px, 2.25vw, 33px); }
.main-nav a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  text-decoration: none;
  font-size: .9rem;
  font-weight: 660;
  color: #494135;
}
.main-nav a:hover, .main-nav a[aria-current] { color: var(--ink); text-decoration: underline; }
.header-call {
  min-height: 43px;
  justify-self: end;
  display: inline-flex;
  gap: .55rem;
  align-items: center;
  padding: .58rem .9rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: .9rem;
  font-weight: 780;
  text-decoration: none;
  white-space: nowrap;
}
.header-call:hover { background: var(--white); border-color: #9b8459; }

.eyebrow {
  color: var(--ochre);
  font-size: .71rem;
  font-weight: 810;
  letter-spacing: .15em;
  line-height: 1.4;
  text-transform: uppercase;
}
.hero {
  display: grid;
  grid-template-columns: 1.02fr 1fr;
  gap: clamp(20px, 3.7vw, 54px);
  align-items: center;
  padding-block: clamp(32px, 6.1vw, 80px) clamp(54px, 8vw, 108px);
}
.hero-copy { min-width: 0; }
.hero-eyebrow { display: flex; gap: .6rem; align-items: center; margin-bottom: 1.26rem; }
.hero-eyebrow span { width: 9px; height: 9px; border-radius: 50%; background: #be850e; flex: none; }
.hero h1 { letter-spacing: -.072em; line-height: 1.01; text-wrap: initial; }
.hero h1 em { color: #73501a; font-style: normal; }
.lead { max-width: 37rem; margin-top: 1.25rem; font-size: clamp(1.035rem, 1.54vw, 1.24rem); line-height: 1.6; }
.actions { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; margin-top: 1.7rem; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  min-height: 51px;
  padding: .68rem 1.12rem;
  border-radius: 12px;
  border: 1px solid transparent;
  color: var(--ink);
  font-size: .92rem;
  font-weight: 790;
  line-height: 1.3;
  text-decoration: none;
  transition: background-color .16s ease, border-color .16s ease;
}
.button--primary { background: var(--yellow); border-color: #e8b43d; }
.button--primary:hover { background: var(--yellow-hover); }
.button--plain { background: transparent; border-color: #cdbfa5; }
.button--plain:hover { background: var(--white); border-color: #a68c5b; }
.button--dark { background: var(--dark); color: var(--white); }
.button--dark:hover { background: #3b3427; }
.hero-facts { display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; margin-top: 1.55rem; color: #5a4b35; font-size: .82rem; font-weight: 640; }
.hero-facts span { display: flex; align-items: center; gap: .38rem; }
.hero-facts .icon { width: 1rem; height: 1rem; color: var(--ochre); }

.hero-stage {
  position: relative;
  display: grid;
  align-content: center;
  justify-items: center;
  isolation: isolate;
  aspect-ratio: 1.05;
  padding: 48px 20px 53px;
  min-width: 0;
  overflow: hidden;
  background: radial-gradient(ellipse at 43% 39%, #ffe59d 0, #f8d470 49%, #efbd45 100%);
  border: 1px solid #e7b849;
  border-radius: clamp(20px, 3vw, 37px);
}
.stage-meta {
  position: absolute;
  top: clamp(15px, 2.25vw, 28px);
  left: clamp(15px, 2.25vw, 28px);
  right: clamp(15px, 2.25vw, 28px);
  display: flex;
  gap: 7px;
  align-items: center;
  color: #574018;
  font-size: clamp(.53rem, 1.02vw, .66rem);
  font-weight: 820;
  letter-spacing: .13em;
}
.stage-meta span:last-child { margin-left: auto; }
.stage-dot, .here-dot { width: 8px; height: 8px; border-radius: 50%; background: #6e480f; }
.route-art { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; }
.stage-bee {
  position: relative;
  display: block;
  width: min(90%, 410px);
  aspect-ratio: 1;
  filter: drop-shadow(0 15px 17px #6a3e1f40);
}
.stage-bee img { width: 100%; height: 100%; object-fit: contain; }
.hero-stage figcaption {
  position: absolute;
  left: clamp(13px, 2vw, 25px);
  bottom: clamp(13px, 2vw, 25px);
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .56rem .82rem .56rem .55rem;
  border: 1px solid #fff2c9;
  border-radius: 13px;
  background: #fff8e3;
  box-shadow: 0 6px 20px #9a651f20;
}
.stage-pin { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 8px; background: #f5ce6a; color: #503606; }
.hero-stage figcaption strong, .hero-stage figcaption small { display: block; line-height: 1.35; }
.hero-stage figcaption strong { font-size: .83rem; }
.hero-stage figcaption small { color: #5a4a33; font-size: .73rem; }

.section-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 24rem);
  align-items: end;
  gap: 12px 36px;
  margin-bottom: 1.65rem;
}
.section-intro h2, .booking h2, .local-band h2, .family h2, .faq h2, .closing h2, .content-grid h2 { margin-top: .45rem; }
.section-intro > p { padding-bottom: .15rem; }
.service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(10px, 1.9vw, 24px); }
.service-card {
  display: flex;
  flex-direction: column;
  min-height: 278px;
  padding: clamp(18px, 2.5vw, 31px);
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--white);
  text-decoration: none;
  transition: background-color .16s ease, border-color .16s ease;
}
.service-card:first-child { background: #fff2c9; border-color: #ead7a0; }
.service-card:hover { background: #fff0bf; border-color: #c7a153; }
.card-top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 1.42rem; }
.icon-box { display: grid; place-items: center; width: 47px; height: 47px; border-radius: 11px; background: #f8e6af; color: #5e440e; }
.service-card:first-child .icon-box { background: var(--yellow); }
.icon-box .icon { width: 1.42rem; height: 1.42rem; }
.number { color: #725b34; font: 680 .74rem/1.2 ui-monospace, monospace; }
.service-card h3 { margin-top: .38rem; font-size: clamp(1.19rem, 2vw, 1.64rem); text-wrap: initial; }
.service-card h3 + p { margin: .62rem 0 1.2rem; }
.card-link, .text-link { display: inline-flex; align-items: center; gap: .4rem; color: #694609; font-size: .91rem; font-weight: 770; }
.card-link { margin-top: auto; }
.card-link .icon, .text-link .icon { width: 1rem; height: 1rem; }

.booking { display: grid; grid-template-columns: 1.06fr 1fr; gap: clamp(25px, 7vw, 105px); align-items: center; padding-block: clamp(64px, 9vw, 122px); }
.booking-copy h2 + p, .local-inner h2 + p, .family h2 + p, .content-grid h2 + p, .closing h2 + p { margin-top: .93rem; }
.booking-copy .text-link { margin-top: 1.18rem; }
.steps { list-style: none; margin: 0; padding: 0; }
.steps--compact { margin-top: .9rem; }
.steps li { display: flex; gap: .85rem; padding: .92rem 0; border-bottom: 1px solid var(--line); }
.steps li:first-child { border-top: 1px solid var(--line); }
.steps li > span {
  display: grid;
  flex: 0 0 33px;
  place-items: center;
  align-self: flex-start;
  min-height: 31px;
  border-radius: 7px;
  background: #f3e6c8;
  color: #624911;
  font: 700 .75rem/1.3 ui-monospace, monospace;
}
.steps li p { margin-top: .15rem; font-size: .94rem; }
.hours {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(21px, 4vw, 40px);
  border-radius: var(--radius);
  background: var(--dark);
  color: var(--white);
}
.hours .eyebrow, .family .eyebrow { color: #f3ca65; }
.hours-top { display: flex; gap: .65rem; align-items: center; justify-content: space-between; margin-bottom: 1.1rem; }
.hours-status { display: inline-flex; align-items: center; gap: .38rem; border: 1px solid #62563c; padding: .3rem .54rem; border-radius: 999px; color: #f6dfac; font-size: .69rem; font-weight: 680; }
.hours-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #f4c356; flex: none; }
.hours-status[data-open="true"]::before { background: #a8d889; }
.hours-phone { display: inline-block; align-self: flex-start; margin-top: .35rem; color: #ffda76; font-size: clamp(1.58rem, 3.15vw, 2.7rem); line-height: 1.2; letter-spacing: -.04em; font-weight: 790; text-decoration: none; }
.hours-phone:hover { text-decoration: underline; }
.hours dl { margin: 1.15rem 0 .7rem; font-size: .9rem; }
.hours dl div { display: flex; gap: 8px; align-items: baseline; justify-content: space-between; padding: .55rem 0; border-top: 1px solid #574e3a; }
.hours dd { margin: 0; font-weight: 720; text-align: end; }
.hours-note { color: var(--dark-muted); font-size: .77rem; }
.hours-link { align-self: flex-start; margin-top: .75rem; color: #ffe5a4; font-size: .85rem; }

.local-band { padding-block: clamp(36px, 5.5vw, 72px); background: #f2e8d3; }
.local-inner { display: grid; grid-template-columns: 1.3fr 1fr; gap: 28px; align-items: center; }
.local-inner .text-link { margin-top: 1rem; }
.local-code { display: grid; justify-self: end; width: min(100%, 345px); padding: 1.2rem 1.45rem; border: 1px dashed #ae9363; border-radius: 16px; color: #5e4419; }
.local-code span { font-size: .64rem; font-weight: 770; letter-spacing: .19em; }
.local-code strong { font-size: clamp(2.75rem, 6.6vw, 5.55rem); font-weight: 850; line-height: 1.05; letter-spacing: -.08em; }

.family { padding-block: clamp(45px, 7.5vw, 92px); color: var(--white); background: #211e17; }
.family-inner { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: clamp(25px, 6vw, 80px); }
.family p { color: var(--dark-muted); }
.family-copy .eyebrow { color: #f3ca65; }
.family-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .58rem; }
.family-links > * { display: flex; justify-content: space-between; gap: .5rem; align-items: center; min-height: 65px; padding: .64rem .74rem; border: 1px solid #5d513a; border-radius: 12px; text-decoration: none; }
.family-links a:hover { background: #3d3421; border-color: #9f8350; }
.family-links small, .family-links strong { display: block; }
.family-links strong { font-size: .92rem; line-height: 1.25; }
.family-links small { margin-top: .16rem; font-size: .75rem; color: var(--dark-muted); }
.family-links .icon { width: .97rem; height: .97rem; color: #f8cc63; }
.family-links .family-current { background: #f6ca56; border-color: #f6ca56; color: var(--ink); }
.family-current small { color: #543809; }
.family-live { max-width: 26rem; margin-top: 1.45rem; padding: 0 .75rem; border: 1px solid #64553a; border-radius: 10px; }
.family-live summary { color: #f8e4b4; font-size: .87rem; }
.family-live > div { padding-bottom: .76rem; }
.family-live p, .family-live a { font-size: .84rem; }
.family-live a { display: inline-flex; align-items: center; gap: .36rem; margin-top: .3rem; }
.family-live a .icon { width: .95rem; height: .95rem; }

.faq { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(22px, 7vw, 91px); padding-block: clamp(46px, 7vw, 88px); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list details:first-child { border-top: 1px solid var(--line); }
summary { display: flex; align-items: center; justify-content: space-between; gap: .8rem; min-height: 47px; cursor: pointer; list-style: none; font-weight: 730; }
summary::-webkit-details-marker { display: none; }
summary .icon { transition: transform .15s ease; }
details[open] summary .icon { transform: rotate(180deg); }
.faq-list details p { padding: 0 .3rem .82rem 0; }
.faq-list details p a, .legal a, .info-box p a { color: #6a4707; }
.closing {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  padding: clamp(23px, 4vw, 46px);
  margin-bottom: clamp(42px, 7vw, 88px);
  border-radius: var(--radius);
  border: 1px solid #e4b849;
  background: #f8d270;
}
.closing p { color: #553d18; }
.closing .button { min-width: max-content; }

.site-footer { padding: 2.2rem 0 1rem; border-top: 1px solid var(--line); background: #f4ede0; }
.footer-main { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap: 1.4rem 1.9rem; padding-bottom: 1.65rem; }
.footer-main h2 { margin-bottom: .45rem; font-size: .94rem; letter-spacing: 0; font-weight: 790; }
.footer-main p, .footer-main address, .footer-main > div > a:not(.wordmark) { color: #574d3c; font-size: .86rem; }
.footer-main p { margin-top: .63rem; }
.footer-main > div > a:not(.wordmark) { display: block; padding-block: .12rem; }
.footer-legal { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem 1rem; border-top: 1px solid var(--line); padding-top: .7rem; font-size: .76rem; color: #5c503e; }
.footer-legal nav { display: flex; align-items: center; flex-wrap: wrap; gap: .8rem; }
.version { min-width: 34px; margin-left: auto; padding: .2rem; border: 0; background: transparent; color: #625642; cursor: pointer; }
.mobile-call { display: none; }

.crumbs { display: flex; flex-wrap: wrap; gap: .52rem; align-items: center; padding-top: 1.17rem; color: var(--muted); font-size: .83rem; }
.subhero {
  display: grid;
  grid-template-columns: 1.6fr .7fr;
  gap: clamp(20px, 5vw, 69px);
  align-items: center;
  padding-block: clamp(32px, 6.6vw, 78px);
}
.subhero h1 { margin-top: .53rem; font-size: clamp(2.4rem, 4.95vw, 4.8rem); }
.sub-graphic {
  min-height: 220px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 1.1rem;
  padding: 1.2rem;
  color: #65450d;
  border: 1px solid #edce76;
  border-radius: var(--radius);
  background: repeating-linear-gradient(135deg, #fff4cd 0 8px, #ffefbd 8px 9px, #fff4cd 9px 17px);
}
.sub-graphic .icon { width: clamp(59px, 11vw, 112px); height: clamp(59px, 11vw, 112px); stroke-width: 1.25px; }
.sub-graphic span { font-size: .72rem; letter-spacing: .15em; font-weight: 810; text-transform: uppercase; }
.content-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(20px, 6vw, 70px); align-items: start; padding-block: 1.15rem 2.65rem; }
.content-grid .steps--compact { margin-top: 0; }
.action-panel { padding: clamp(23px, 4.3vw, 49px); margin-block: .7rem 2.5rem; border: 1px solid #e6d5ac; border-radius: var(--radius); background: #f9efd3; }
.action-stack { display: grid; gap: .72rem; }
.action-row, .info-box { display: block; padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.action-row { display: flex; align-items: center; justify-content: space-between; gap: .8rem; text-decoration: none; min-height: 70px; }
.action-row:hover { background: #fff1c6; border-color: #c4a360; }
.action-row strong, .action-row small { display: block; }
.action-row small { margin-top: .2rem; color: var(--muted); }
.action-row .icon { color: var(--ochre); }
.info-box h3 { margin-bottom: .5rem; font-size: 1.19rem; }
.info-box .text-link { margin-top: .58rem; }
.area-section { padding-block: 1.3rem 3rem; }
.area-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; }
.area-card { padding: 1rem; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.area-card:target { outline: 3px solid #9a701c; outline-offset: 2px; background: #fff0c5; }
.area-card h3 { margin-bottom: .4rem; font-size: 1.12rem; }
.area-card p { font-size: .93rem; }
.legal { max-width: 770px; padding-block: 2.5rem 4.4rem; }
.legal h1 { margin: .65rem 0 1rem; font-size: clamp(2.1rem, 5vw, 3.7rem); }
.legal h2 { margin: 1.4rem 0 .53rem; font-size: 1.31rem; letter-spacing: -.025em; }
.legal p + p, .legal address + p { margin-top: .7rem; }

@media (max-width: 930px) {
  .header-inner { gap: 12px; }
  .main-nav { gap: .88rem; }
  .header-call { padding-inline: .65rem; font-size: .83rem; }
  .hero { gap: 24px; }
  .hero .button { padding-inline: .85rem; }
  .hero-stage { padding: 38px 14px 49px; }
  .hours { padding: 22px; }
}
@media (max-width: 710px) {
  .header-inner { grid-template-columns: 1fr auto; gap: 0 10px; min-height: 0; padding-top: .68rem; }
  .main-nav { grid-column: 1 / -1; grid-row: 2; gap: 0 clamp(9px, 4.15vw, 26px); }
  .main-nav a { font-size: clamp(.73rem, 2.75vw, .9rem); }
  .wordmark img { width: 39px; height: 39px; border-radius: 10px; }
  .wordmark strong { font-size: 1.44rem; }
  .wordmark small { font-size: .5rem; }
  .header-call { min-height: 39px; }
  .hero { grid-template-columns: 1fr; gap: 1.35rem; padding-block: 33px 51px; }
  .hero h1 { font-size: clamp(2.64rem, 9.4vw, 4.5rem); }
  .hero-eyebrow { margin-bottom: .85rem; }
  .lead { margin-top: .9rem; }
  .actions { margin-top: 1.15rem; }
  .hero-facts { margin-top: 1rem; }
  .hero-stage { max-width: 550px; width: 100%; justify-self: center; aspect-ratio: 1.16; }
  .stage-bee { width: min(82%, 375px); }
  .section-intro, .local-inner, .family-inner, .faq, .subhero, .content-grid, .booking { grid-template-columns: 1fr; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 0; }
  .card-top { margin-bottom: .85rem; }
  .booking { gap: 23px; padding-block: 48px; }
  .local-code { justify-self: start; width: min(100%, 260px); }
  .family-links { gap: .46rem; }
  .family-links > * { padding: .55rem; }
  .closing { flex-wrap: wrap; }
  .sub-graphic { display: none; }
  .area-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .site-footer { padding-bottom: calc(4.7rem + env(safe-area-inset-bottom)); }
  .mobile-call {
    display: block;
    position: fixed;
    z-index: 5;
    right: 0;
    bottom: 0;
    left: 0;
    padding: .52rem max(var(--gutter), env(safe-area-inset-right)) calc(.52rem + env(safe-area-inset-bottom)) max(var(--gutter), env(safe-area-inset-left));
    border-top: 1px solid #ded1b7;
    background: #faf7ef;
  }
  .mobile-call a {
    display: flex;
    gap: .52rem;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    max-width: 550px;
    margin-inline: auto;
    padding: .34rem .56rem;
    border-radius: 11px;
    background: var(--yellow);
    text-decoration: none;
    font-size: .88rem;
    font-weight: 650;
  }
  .mobile-call strong { font-weight: 825; white-space: nowrap; }
  html { scroll-padding-bottom: calc(4.5rem + env(safe-area-inset-bottom)); }
}
@media (max-width: 365px) {
  .hero h1 { font-size: clamp(2.25rem, 10vw, 2.64rem); }
  .area-grid, .family-links { grid-template-columns: 1fr; }
  .footer-main { gap: 1.1rem .75rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0s !important; }
}

.admin-panel form { display: grid; gap: .85rem; margin-top: 1.15rem; }
.admin-panel label { display: grid; gap: .27rem; font-size: .9rem; font-weight: 700; }
.admin-panel input:not([type="hidden"]), .admin-panel textarea {
  width: 100%;
  padding: .65rem .75rem;
  border: 1px solid #b9a789;
  border-radius: .55rem;
  background: var(--white);
  color: var(--ink);
  font: inherit;
}
.admin-panel .button { justify-self: start; cursor: pointer; }

.home-page .hero {
  width: min(calc(100% - var(--gutter) * 2), var(--wrap));
  margin-top: clamp(17px, 3vw, 37px);
  margin-bottom: clamp(43px, 6vw, 83px);
  padding: clamp(25px, 4.25vw, 64px);
  border: 1px solid #4b3b29;
  border-radius: clamp(23px, 3vw, 40px);
  background: radial-gradient(ellipse at 82% 12%, #49341c, transparent 58%), #221c18;
  color: #fff8e9;
  box-shadow: 0 19px 45px #412b1626;
}
.home-page .hero .lead, .home-page .hero-facts { color: #e9dac0; }
.home-page .hero h1 em, .home-page .hero .eyebrow, .home-page .hero-facts .icon { color: #ffd278; }
.home-page .hero .button--plain { color: #fff4da; border-color: #b29a73; }
.home-page .hero .button--plain:hover { background: #443425; }
.home-page .hero-stage {
  aspect-ratio: 1.03;
  padding: 22px;
  background: radial-gradient(ellipse at 46% 38%, #fff1b4, #f8cc61 65%, #e8a932);
  box-shadow: inset 0 0 0 5px #fff0c350, 0 16px 32px #180e1860;
}
.home-page .stage-bee { width: min(91%, 410px); }
.home-page .hero-stage figcaption { color: #251d15; }
.home-page .service-grid .service-card:first-child { background: linear-gradient(160deg, #fff7da, #f9df8e); }
.local-jumps { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
.local-jumps a {
  display: inline-flex; gap: .45rem; align-items: center; padding: .55rem .75rem;
  border-radius: 10px; border: 1px solid #c9b382; background: #fff9e7; color: #584017;
  text-decoration: none; font-weight: 720; font-size: .88rem;
}
.local-jumps a:hover { background: #fce6a0; }
.local-jumps .icon, .area-card h3 .icon { width: .95rem; height: .95rem; }
.local-inner .local-jumps .text-link { margin-top: 0; }
.area-card h3 a { display: flex; justify-content: space-between; gap: .4rem; align-items: center; }
.town-graphic {
  display: grid; justify-items: center; padding: 13px 15px; border-radius: var(--radius);
  background: radial-gradient(ellipse at 48% 33%, #fff2bc, #f6c752);
  border: 1px solid #ddb14b; color: #493317;
}
.town-graphic img { width: min(100%, 250px); filter: drop-shadow(0 8px 13px #6a3e1f44); }
.town-graphic span { font-size: .71rem; font-weight: 810; letter-spacing: .12em; text-transform: uppercase; }
.town-nearby { padding-bottom: clamp(38px, 6vw, 80px); }
.town-nearby h2 { margin-top: .45rem; }
.town-hero + .content-grid .info-box p + p { margin-top: .85rem; }
@media (min-width: 711px) and (max-width: 980px) {
  .home-page .hero h1 { font-size: clamp(2.55rem, 5.25vw, 4rem); }
}
@media (max-width: 710px) {
  .home-page .hero { padding: clamp(15px, 4.8vw, 28px); }
  .home-page .hero h1 { font-size: clamp(2.14rem, 8.7vw, 4rem); }
  .home-page .hero-stage { aspect-ratio: 1.17; padding: 13px; }
  .home-page .stage-bee { width: min(88%, 360px); }
  .town-hero { grid-template-columns: 1fr; }
  .town-graphic { display: flex; align-items: center; justify-content: space-between; padding: 5px 18px; }
  .town-graphic img { width: 85px; }
}
