:root {
  --ink: #25170f;
  --coffee: #3a2113;
  --umber: #6e3d23;
  --clay: #a65c3e;
  --gold: #d7ae66;
  --gold-light: #f0d495;
  --paper: #f4eee7;
  --cream: #fffaf4;
  --olive: #7b7861;
  --line: rgba(75, 45, 27, .16);
  --serif: 'Playfair Display', Georgia, serif;
  --sans: 'DM Sans', Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 5rem; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.65; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button { font: inherit; }
.wrap { width: min(1180px, calc(100% - 64px)); margin: auto; }
.wrap-narrow { width: min(540px, calc(100% - 48px)); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
.skip-link { position: fixed; z-index: 99; left: 1rem; top: -4rem; background: var(--paper); color: var(--ink); border-radius: .2rem; padding: .65rem 1rem; transition: top .2s; }
.skip-link:focus { top: 1rem; }

.site-header { position: absolute; z-index: 10; inset: 0 0 auto; color: #fff; }
.nav-shell { min-height: 84px; width: min(1180px, calc(100% - 56px)); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.24); }
.brand { display: inline-flex; align-items: center; gap: 10px; color: #fff; line-height: 1; letter-spacing: -.02em; }
.brand-mark { width: 33px; height: 33px; fill: none; stroke: currentColor; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; opacity: .86; }
.brand strong { display: block; font-family: var(--serif); font-size: 1.13rem; font-weight: 600; }
.brand small { display: block; margin-top: 4px; font-size: .52rem; font-weight: 600; letter-spacing: .17em; text-transform: uppercase; opacity: .85; }
.main-nav { display: flex; align-items: center; gap: 31px; font-size: .69rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.main-nav > a:not(.nav-call) { position: relative; padding: .5rem 0; }
.main-nav > a:not(.nav-call)::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 1px; background: var(--gold-light); transition: width .25s ease; }
.main-nav > a:hover::after, .main-nav > a:focus-visible::after { width: 100%; }
.nav-call { display: inline-flex; align-items: center; gap: 7px; padding: 12px 18px; border-radius: 999px; background: var(--gold); color: #4f2d15; letter-spacing: .03em; text-transform: none; box-shadow: 0 8px 22px rgba(26,12,4,.24); }
.nav-call svg { width: 13px; fill: none; stroke: currentColor; stroke-width: 2; }
.menu-toggle { display: none; }

.hero { position: relative; display: grid; place-items: center; min-height: min(760px, 100svh); color: white; isolation: isolate; overflow: hidden; }
.hero-image { position: absolute; z-index: -2; inset: 0; background-image: url('/manus-storage/async-images/IAIZWZsqFOgwt0qvOOiybh/image-1.webp'); background-size: cover; background-position: center; transform: scale(1.015); animation: breathe 14s ease-in-out infinite alternate; }
.hero-overlay { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(34,16,7,.68) 0%, rgba(55,28,14,.34) 47%, rgba(29,14,6,.26) 100%), linear-gradient(0deg, rgba(20,9,3,.58) 0%, rgba(27,12,5,.06) 51%, rgba(22,9,3,.34) 100%); }
.hero-content { padding: 160px 0 92px; text-align: center; max-width: 780px; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; color: var(--clay); font-size: .68rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow span { display: inline-block; width: 24px; height: 1px; background: currentColor; }
.eyebrow.light { justify-content: center; color: var(--gold-light); }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--serif); font-weight: 500; letter-spacing: -.055em; line-height: .98; }
h1 { max-width: 710px; margin: 0 auto 23px; font-size: clamp(3.4rem, 7.2vw, 6.35rem); text-shadow: 0 3px 18px rgba(27,11,3,.18); }
h1 em, h2 em { display: block; color: var(--gold-light); font-weight: 500; }
.hero-copy { max-width: 575px; margin: 0 auto; color: rgba(255,255,255,.9); font-size: clamp(1rem, 1.4vw, 1.15rem); }
.hero-actions { display: flex; align-items: center; justify-content: center; gap: 26px; margin-top: 34px; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 16px; min-height: 48px; padding: 14px 22px; font-size: .71rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; transition: transform .25s ease, background .25s ease; }
.button span, .text-link span { font-size: 1rem; line-height: 1; transition: transform .25s ease; }
.button:hover { transform: translateY(-3px); }
.button:hover span, .text-link:hover span { transform: translate(3px, -2px); }
.button-gold { background: var(--gold); color: #4d2a12; box-shadow: 0 12px 28px rgba(15,7,2,.25); }
.button-light { background: var(--paper); color: var(--coffee); }
.text-link { display: inline-flex; gap: 8px; align-items: center; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; border-bottom: 1px solid var(--clay); padding-bottom: 6px; }
.text-link.light { color: white; border-color: var(--gold-light); }
.hero-scroll { position: absolute; left: 50%; bottom: 23px; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 8px; color: rgba(255,255,255,.85); font-size: .56rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.hero-scroll span { display: block; width: 1px; height: 32px; background: var(--gold-light); animation: scroll 1.6s ease-in-out infinite; transform-origin: top; }

.intro { position: relative; display: flex; align-items: center; justify-content: space-between; gap: clamp(40px, 10vw, 150px); max-width: 1280px; margin: auto; padding: clamp(90px, 13vw, 170px) max(32px, calc((100% - 1120px)/2)); overflow: hidden; }
.intro-copy { flex: 0 1 510px; }
h2 { margin-bottom: 26px; font-size: clamp(2.75rem, 5.6vw, 5.2rem); color: var(--coffee); }
h2 em { color: var(--clay); }
.lead { max-width: 480px; color: var(--umber); font-size: 1.17rem; line-height: 1.65; }
.intro-copy > p:not(.eyebrow):not(.lead) { max-width: 470px; color: #604935; }
.intro-copy .text-link { margin-top: 17px; }
.intro-visual { position: relative; width: min(390px, 34vw); min-width: 280px; margin-right: 26px; }
.visual-frame { position: relative; overflow: hidden; height: 515px; background: #3f2b20; box-shadow: 23px 23px 0 #dec4a0; }
.visual-frame::before { content: ''; position: absolute; z-index: 1; inset: 0; background: linear-gradient(160deg, rgba(72,28,13,.12), rgba(26,10,3,.24)); pointer-events: none; }
.visual-frame img { width: 100%; height: 100%; object-fit: cover; object-position: 62% center; filter: sepia(.13) saturate(.85) contrast(1.04); }
.experience-note { position: absolute; z-index: 2; left: -56px; bottom: 38px; display: flex; align-items: center; gap: 12px; padding: 15px 19px; background: var(--coffee); color: white; box-shadow: 10px 10px 24px rgba(53,31,18,.18); }
.experience-note span { color: var(--gold-light); font-family: var(--serif); font-size: 2.55rem; line-height: 1; }
.experience-note small { font-size: .6rem; font-weight: 700; line-height: 1.45; letter-spacing: .1em; text-transform: uppercase; }
.arched-stroke { position: absolute; z-index: -1; top: -22px; right: -55px; width: 230px; height: 230px; border: 1px solid var(--clay); border-radius: 50%; opacity: .42; }

.services { padding: clamp(78px, 10vw, 125px) 0; background: #e7d6c2; }
.section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 56px; }
.section-heading h2 { margin-bottom: 0; max-width: 570px; }
.section-heading > p { width: min(350px, 100%); margin-bottom: 13px; color: #66513f; }
.service-ribbon { display: flex; align-items: stretch; gap: 0; }
.service-card { position: relative; flex: 1; min-height: 300px; padding: 28px 25px 23px; display: flex; flex-direction: column; color: white; transition: transform .28s ease, box-shadow .28s ease; }
.service-card:hover { z-index: 1; transform: translateY(-11px); box-shadow: 0 21px 34px rgba(56,28,14,.19); }
.service-card--deep { background: #412416; }
.service-card--clay { background: #aa6040; margin-top: 24px; }
.service-card--sand { background: #d4b385; color: #4a2a17; margin-top: 48px; }
.service-card--olive { background: #71725f; margin-top: 24px; }
.card-number { position: absolute; right: 23px; top: 22px; color: currentColor; font-size: .62rem; font-weight: 700; opacity: .64; }
.service-icon { margin: 10px 0 27px; color: var(--gold-light); font-size: 1.8rem; line-height: 1; }
.service-card--sand .service-icon { color: var(--clay); }
.service-card h3 { margin-bottom: 10px; font-family: var(--serif); font-size: 1.75rem; font-weight: 500; line-height: 1.1; letter-spacing: -.03em; }
.service-card p { margin-bottom: auto; font-size: .81rem; line-height: 1.6; opacity: .91; }
.service-card a { margin-top: 23px; border-bottom: 1px solid currentColor; align-self: flex-start; font-size: .63rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.service-card a span { margin-left: 7px; }

.price-section { padding: clamp(90px, 13vw, 160px) 0; background: var(--cream); }
.price-top { display: flex; align-items: end; justify-content: space-between; gap: 45px; margin-bottom: 55px; }
.price-top h2 { margin-bottom: 0; }
.price-disclaimer { max-width: 330px; margin-bottom: 8px; color: #7b6654; font-size: .85rem; }
.price-ledger { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.price-group { min-height: 286px; padding: 28px 31px 23px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.price-group--featured { background: #f0e3d4; }
.group-heading { display: flex; align-items: baseline; gap: 14px; padding-bottom: 19px; border-bottom: 1px solid var(--line); }
.group-heading span { color: var(--clay); font-size: .62rem; font-weight: 700; letter-spacing: .13em; }
.group-heading h3 { margin: 0; font-family: var(--serif); font-size: 1.75rem; font-weight: 500; letter-spacing: -.035em; }
.price-group ul { margin: 15px 0 0; padding: 0; list-style: none; }
.price-group li { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; padding: 5px 0; color: #604835; font-size: .84rem; line-height: 1.35; }
.price-group li span { flex: 1; }
.price-group b { color: var(--coffee); font-size: .86rem; }

.specials { display: flex; min-height: 610px; background: #342215; color: white; }
.specials-media { flex: 0 1 46%; min-height: 420px; overflow: hidden; }
.specials-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.77) sepia(.13); }
.specials-copy { flex: 1; padding: clamp(67px, 9vw, 120px) clamp(35px, 8vw, 125px); }
.specials-copy h2 { color: white; margin-bottom: 25px; font-size: clamp(2.55rem, 4.4vw, 4.45rem); }
.specials-copy h2 em { color: var(--gold-light); }
.specials-copy > p:not(.eyebrow) { max-width: 500px; color: rgba(255,255,255,.78); }
.special-offers { display: flex; gap: 0; margin: 33px 0; border-top: 1px solid rgba(255,255,255,.22); border-bottom: 1px solid rgba(255,255,255,.22); }
.special-offers > div { flex: 1; padding: 17px 19px 18px 0; }
.special-offers > div + div { padding-left: 19px; border-left: 1px solid rgba(255,255,255,.22); }
.special-offers small, .special-offers span { display: block; font-size: .59rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.special-offers small { color: var(--gold-light); margin-bottom: 6px; }
.special-offers strong { display: block; font-family: var(--serif); font-size: 1.25rem; font-weight: 500; line-height: 1.2; }
.special-offers strong b { color: var(--gold-light); font-weight: 500; white-space: nowrap; }
.special-offers span { margin-top: 6px; color: rgba(255,255,255,.62); line-height: 1.45; letter-spacing: .06em; text-transform: none; }

.contact { position: relative; overflow: hidden; padding: clamp(94px, 13vw, 160px) 0; background: #d7ad70; background-image: radial-gradient(circle at 83% 13%, rgba(255,248,231,.65), transparent 21%), radial-gradient(circle at 8% 81%, rgba(118,59,28,.28), transparent 26%); }
.contact::after { content: 'S'; position: absolute; right: -26px; bottom: -102px; color: rgba(88,49,24,.08); font-family: var(--serif); font-size: 34rem; line-height: 1; pointer-events: none; }
.contact-wrap { position: relative; z-index: 1; max-width: 900px; text-align: center; }
.contact-wrap .eyebrow { justify-content: center; color: #795129; }
.contact h2 { max-width: 830px; margin: 0 auto 26px; font-size: clamp(3rem, 5.6vw, 5.5rem); }
.contact h2 em { color: #7d4529; }
.contact-lead { max-width: 575px; margin: 0 auto; color: #58341e; font-size: 1.05rem; }
.contact-actions { display: flex; justify-content: center; gap: 17px; margin: 39px auto 30px; }
.contact-phone, .contact-email { display: flex; flex-direction: column; min-width: 258px; padding: 16px 21px; text-align: left; transition: transform .25s; }
.contact-phone:hover, .contact-email:hover { transform: translateY(-3px); }
.contact-phone { background: var(--coffee); color: white; }
.contact-email { border: 1px solid rgba(79,46,24,.35); color: var(--coffee); }
.contact-actions span { color: inherit; font-size: .59rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; opacity: .72; }
.contact-actions strong { margin-top: 3px; font-family: var(--serif); font-size: 1.28rem; font-weight: 500; }
.service-area { color: #694728; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.service-area span { margin-right: 5px; font-size: 1rem; }

.site-footer { display: grid; grid-template-columns: 1.2fr 1.8fr .8fr; align-items: center; gap: 20px; padding: 29px max(32px, calc((100% - 1120px)/2)); background: #20140d; color: rgba(255,255,255,.7); }
.footer-brand { color: white; font-size: .76rem; font-weight: 500; letter-spacing: .02em; }
.mini-mark { margin-right: 8px; color: var(--gold-light); font-size: 1.1rem; }
.footer-brand strong { font-family: var(--serif); font-size: 1.08rem; }
.site-footer > p { margin: 0; font-size: .65rem; letter-spacing: .03em; }
.site-footer .copyright { text-align: right; color: rgba(255,255,255,.48); }

@keyframes breathe { to { transform: scale(1.07); } }
@keyframes scroll { 0%, 100% { transform: scaleY(.5); opacity: .4; } 50% { transform: scaleY(1); opacity: 1; } }

@media (max-width: 900px) {
  .nav-shell { width: min(100% - 40px, 1180px); min-height: 72px; }
  .main-nav { gap: 19px; }
  .nav-call { padding: 10px 14px; }
  .intro { gap: 56px; padding-left: 48px; padding-right: 48px; }
  .intro-visual { width: min(330px, 37vw); min-width: 240px; margin-right: 0; }
  .visual-frame { height: 440px; }
  .experience-note { left: -26px; }
  .service-card { min-height: 282px; padding-left: 19px; padding-right: 19px; }
  .specials-copy { padding-left: 52px; padding-right: 52px; }
  .site-footer { grid-template-columns: 1fr 1.2fr; }
  .site-footer .copyright { grid-column: 1 / -1; text-align: left; }
}

@media (max-width: 720px) {
  .wrap { width: min(100% - 40px, 620px); }
  .site-header { background: linear-gradient(180deg, rgba(24,12,7,.6), transparent); }
  .brand strong { font-size: 1rem; }
  .menu-toggle { z-index: 12; display: grid; gap: 4px; width: 42px; height: 42px; border: 0; background: transparent; color: white; cursor: pointer; place-content: center; }
  .menu-toggle i { display: block; width: 22px; height: 1px; background: currentColor; transition: transform .25s, opacity .25s; }
  .menu-toggle[aria-expanded='true'] i:nth-of-type(1) { transform: translateY(5px) rotate(45deg); }
  .menu-toggle[aria-expanded='true'] i:nth-of-type(2) { opacity: 0; }
  .menu-toggle[aria-expanded='true'] i:nth-of-type(3) { transform: translateY(-5px) rotate(-45deg); }
  .main-nav { position: fixed; z-index: 11; inset: 0; flex-direction: column; justify-content: center; gap: 25px; padding: 80px 20px; background: #2b180e; transform: translateX(100%); transition: transform .35s ease; }
  .main-nav.open { transform: translateX(0); }
  .main-nav a { font-size: .86rem; }
  .nav-call { margin-top: 7px; padding: 14px 22px; }
  .hero { min-height: 690px; }
  .hero-image { background-position: 54% center; }
  .hero-content { padding: 137px 12px 90px; }
  h1 { font-size: clamp(3.25rem, 14vw, 4.6rem); }
  .hero-copy { font-size: .98rem; }
  .hero-actions { flex-direction: column; gap: 19px; margin-top: 28px; }
  .hero-scroll { display: none; }
  .intro { display: block; padding: 85px 0 100px; }
  .intro-copy { width: min(100% - 40px, 540px); margin: auto; }
  .intro-visual { width: min(66%, 350px); min-width: unset; margin: 62px 12% 0 auto; }
  .visual-frame { height: 430px; }
  .experience-note { left: -37px; bottom: 24px; }
  .section-heading { display: block; margin-bottom: 36px; }
  .section-heading > p { margin-top: 20px; margin-bottom: 0; }
  .service-ribbon { width: min(100% - 40px, 620px); flex-wrap: wrap; gap: 0; }
  .service-card { flex: 0 0 50%; min-height: 270px; }
  .service-card--clay, .service-card--olive { margin-top: 0; }
  .service-card--sand { margin-top: 0; }
  .price-top { display: block; margin-bottom: 36px; }
  .price-disclaimer { margin-top: 20px; }
  .price-ledger { grid-template-columns: 1fr; }
  .price-group { min-height: auto; padding: 25px 23px 19px; }
  .specials { display: block; }
  .specials-media { height: 360px; min-height: 0; }
  .specials-copy { padding: 68px 10%; }
  .contact-actions { flex-direction: column; align-items: stretch; }
  .contact-phone, .contact-email { min-width: 0; }
  .site-footer { display: block; padding: 32px 25px; }
  .site-footer > p { margin-top: 12px; }
  .site-footer .copyright { margin-top: 23px; }
}

@media (max-width: 430px) {
  .eyebrow { font-size: .59rem; letter-spacing: .13em; }
  .hero { min-height: 640px; }
  .hero-content { padding-top: 125px; }
  .hero-actions .button { width: 100%; }
  .intro-visual { width: 72%; margin-right: 5%; }
  .experience-note { left: -31px; padding: 12px; gap: 9px; }
  .experience-note span { font-size: 2.15rem; }
  .experience-note small { font-size: .53rem; }
  .service-card { min-height: 252px; padding: 18px 15px; }
  .service-card h3 { font-size: 1.4rem; }
  .service-card p { font-size: .74rem; }
  .service-icon { margin: 8px 0 19px; }
  .group-heading h3 { font-size: 1.55rem; }
  .special-offers { display: block; }
  .special-offers > div + div { padding: 17px 0 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.22); }
}

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

/* Immersive editorial section system — carry the hero's warmth through the whole journey. */
.intro,
.services,
.price-section,
.contact {
  position: relative;
  isolation: isolate;
  color: rgba(255, 248, 239, .86);
  background-color: #2b1a10;
}

.intro::before,
.services::before,
.price-section::before,
.contact::before {
  content: '';
  position: absolute;
  z-index: -2;
  inset: 0;
  background-position: center;
  background-size: cover;
}

.intro::after,
.services::after,
.price-section::after,
.contact .contact-wrap::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
}

.intro {
  background: #2f1a0e;
}

.intro::before {
  opacity: .43;
  background-image: url('/manus-storage/async-images/SV1bBshyePpafy90akyX5u/image-1.webp');
  background-position: 66% center;
  filter: saturate(.68) sepia(.2);
}

.intro::after {
  background: linear-gradient(90deg, rgba(43,23,12,.97) 0%, rgba(43,23,12,.91) 49%, rgba(43,23,12,.56) 100%), linear-gradient(0deg, rgba(20,9,3,.43), transparent 54%);
}

.intro-copy,
.intro-visual,
.services > .wrap,
.price-section > .wrap,
.contact-wrap {
  position: relative;
  z-index: 1;
}

.intro .eyebrow,
.services .eyebrow,
.price-section .eyebrow {
  color: var(--gold-light);
}

.intro h2,
.services h2,
.price-section h2,
.contact h2 {
  color: #fff7ed;
}

.intro h2 em,
.services h2 em,
.price-section h2 em,
.contact h2 em {
  color: var(--gold-light);
}

.intro .lead,
.intro-copy > p:not(.eyebrow):not(.lead),
.section-heading > p,
.price-disclaimer {
  color: rgba(255, 245, 232, .78);
}

.intro .text-link {
  color: #fff8ed;
  border-color: var(--gold-light);
}

.visual-frame {
  border: 1px solid rgba(240, 212, 149, .4);
  box-shadow: 23px 23px 0 rgba(207, 154, 88, .42), 0 24px 60px rgba(10, 4, 1, .32);
}

.experience-note {
  background: rgba(35, 18, 9, .92);
  border: 1px solid rgba(240, 212, 149, .24);
}

.arched-stroke { border-color: var(--gold-light); opacity: .54; }

.services {
  overflow: hidden;
  background: #28160d;
}

.services::before {
  opacity: .5;
  background-image: url('/manus-storage/async-images/SV1bBshyePpafy90akyX5u/image-1.webp');
  background-position: center 38%;
  filter: saturate(.55) sepia(.26);
}

.services::after {
  background: linear-gradient(90deg, rgba(33,17,8,.96) 0%, rgba(42,21,10,.88) 54%, rgba(34,17,8,.81) 100%), linear-gradient(0deg, rgba(19,8,2,.76), rgba(19,8,2,.23));
}

.service-card,
.service-card--deep,
.service-card--clay,
.service-card--sand,
.service-card--olive {
  color: #fff6ea;
  background: rgba(58, 31, 16, .79);
  border: 1px solid rgba(240, 212, 149, .19);
  border-left: 0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter: blur(6px);
}

.service-card:first-child { border-left: 1px solid rgba(240, 212, 149, .19); }
.service-card:nth-child(2) { background: rgba(101, 51, 26, .76); }
.service-card:nth-child(3) { background: rgba(81, 69, 47, .78); }
.service-card:nth-child(4) { background: rgba(55, 45, 31, .82); }
.service-card--sand .service-icon,
.service-icon { color: var(--gold-light); }

.service-card p { color: rgba(255, 246, 232, .8); }
.service-card a { border-color: var(--gold-light); }

.price-section {
  overflow: hidden;
  background: #29180e;
}

.price-section::before {
  opacity: .44;
  background-image: url('/manus-storage/async-images/SV1bBshyePpafy90akyX5u/image-2.webp');
  background-position: center;
  filter: saturate(.55) sepia(.3);
}

.price-section::after {
  background: linear-gradient(90deg, rgba(39,21,10,.96), rgba(43,23,11,.9) 51%, rgba(35,19,9,.91)), linear-gradient(0deg, rgba(16,6,2,.35), transparent 55%);
}

.price-ledger {
  border-color: rgba(240, 212, 149, .27);
  box-shadow: 0 28px 64px rgba(12,4,1,.24);
}

.price-group,
.price-group--featured {
  background: rgba(55, 29, 15, .68);
  border-color: rgba(240, 212, 149, .21);
  backdrop-filter: blur(5px);
}

.price-group--featured { background: rgba(108, 64, 32, .54); }
.group-heading { border-color: rgba(240, 212, 149, .23); }
.group-heading span { color: var(--gold-light); }
.group-heading h3 { color: #fff7ee; }
.price-group li { color: rgba(255, 245, 232, .78); }
.price-group b { color: var(--gold-light); }

.specials {
  min-height: 680px;
  background: #2d190e;
}

.specials-media { position: relative; }
.specials-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(42,22,11,.42)); }
.specials-copy { background: linear-gradient(135deg, rgba(52,30,16,.98), rgba(45,24,12,.98)); }
.specials-copy > p:not(.eyebrow) { color: rgba(255,248,239,.8); }
.special-offers { border-color: rgba(240, 212, 149, .3); }
.special-offers > div + div { border-color: rgba(240, 212, 149, .3); }

.contact {
  min-height: 640px;
  display: grid;
  place-items: center;
  padding: clamp(110px, 15vw, 180px) 0;
  background: #2b180d;
}

.contact::before {
  opacity: .59;
  background-image: url('/manus-storage/async-images/SV1bBshyePpafy90akyX5u/image-3.webp');
  background-position: center;
  filter: saturate(.62) sepia(.18);
}

.contact .contact-wrap::before {
  inset: -65px -100px;
  background: radial-gradient(ellipse at center, rgba(39,19,8,.64), rgba(32,15,7,.12) 67%);
}

.contact::after { color: rgba(240, 212, 149, .07); }
.contact-wrap .eyebrow { color: var(--gold-light); }
.contact-lead { color: rgba(255,247,237,.8); }
.contact-phone, .contact-email {
  background: rgba(53, 29, 15, .84);
  color: #fff8ee;
  border: 1px solid rgba(240, 212, 149, .4);
  backdrop-filter: blur(5px);
}
.contact-phone { background: rgba(177, 118, 60, .91); color: #2c1709; border-color: transparent; }
.contact-phone span { color: #2c1709; }
.contact-email { color: #fff8ee; }
.service-area { color: var(--gold-light); }

@media (max-width: 720px) {
  .intro::before { opacity: .3; background-position: 75% center; }
  .intro::after { background: linear-gradient(0deg, rgba(43,23,12,.98), rgba(43,23,12,.88) 59%, rgba(43,23,12,.65)); }
  .services::before { background-position: 67% center; opacity: .38; }
  .services::after { background: linear-gradient(0deg, rgba(31,15,7,.96), rgba(38,19,8,.84)); }
  .service-card,
  .service-card--deep,
  .service-card--clay,
  .service-card--sand,
  .service-card--olive { border-bottom: 1px solid rgba(240, 212, 149, .19); }
  .service-card:nth-child(3) { border-left: 1px solid rgba(240, 212, 149, .19); }
  .price-section::before { opacity: .26; background-position: 67% center; }
  .specials { min-height: 0; }
  .contact { min-height: 700px; }
  .contact .contact-wrap::before { inset: -70px -30px; }
}

/* Final visual corrections: let the dark panels run edge-to-edge and avoid any pending-media placeholder in booking. */
.intro {
  width: 100%;
  max-width: none;
  margin: 0;
}

.contact::before {
  opacity: 1;
  background-image:
    radial-gradient(circle at 84% 16%, rgba(217, 174, 102, .2), transparent 19%),
    radial-gradient(circle at 9% 87%, rgba(157, 82, 42, .21), transparent 25%),
    linear-gradient(135deg, #3d2211 0%, #26140b 53%, #1d1009 100%);
  filter: none;
}

/* Keep the service ribbon calm and even on larger screens. */
@media (min-width: 721px) {
  .service-ribbon { align-items: stretch; }

  .services .service-card,
  .services .service-card--deep,
  .services .service-card--clay,
  .services .service-card--sand,
  .services .service-card--olive {
    min-height: 320px;
    margin-top: 0;
  }
}

/* Elevate Microneedling as the page's signature treatment. */
.specials--featured {
  min-height: 760px;
  border-top: 1px solid rgba(240, 212, 149, .34);
  border-bottom: 1px solid rgba(240, 212, 149, .34);
  box-shadow: inset 0 0 0 12px rgba(240, 212, 149, .025);
}

.specials--featured .specials-media { flex-basis: 52%; }
.specials--featured .specials-media::before {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(135deg, rgba(40, 19, 8, .14), transparent 62%);
  pointer-events: none;
}

.feature-badge {
  position: absolute;
  z-index: 2;
  left: clamp(25px, 5vw, 74px);
  bottom: clamp(25px, 5vw, 70px);
  min-width: 175px;
  padding: 17px 20px;
  border: 1px solid rgba(240, 212, 149, .65);
  background: rgba(49, 26, 12, .82);
  box-shadow: 12px 12px 32px rgba(16, 5, 1, .28);
  backdrop-filter: blur(7px);
}

.feature-badge span,
.feature-name {
  display: block;
  color: var(--gold-light);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.feature-badge strong {
  display: block;
  margin-top: 5px;
  color: #fff7ed;
  font-family: var(--serif);
  font-size: 1.38rem;
  font-weight: 500;
  line-height: 1.02;
}

.specials--featured .specials-copy {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: clamp(80px, 10vw, 145px);
  padding-bottom: clamp(80px, 10vw, 145px);
  box-shadow: -22px 0 50px rgba(21, 9, 3, .16);
}

.specials--featured .feature-name { margin-bottom: 13px; }
.specials--featured h2 { font-size: clamp(3.1rem, 5.3vw, 5.45rem); }
.specials--featured .special-offers { max-width: 570px; }
.specials--featured .special-offers > div:first-child { background: rgba(240, 212, 149, .08); }

@media (max-width: 720px) {
  .specials--featured .specials-media { height: 430px; }
  .feature-badge { left: 24px; bottom: 23px; min-width: 154px; padding: 14px 16px; }
  .feature-badge strong { font-size: 1.2rem; }
  .specials--featured .specials-copy { padding-top: 66px; padding-bottom: 72px; }
}
