/* =========================================================
   Skin & Body Rejuvenation, refined teal and pink salon design
   SEO content and document structure remain unchanged.
   ========================================================= */
:root{
  --cream:#fbfaf8;
  --sand:#f2eeeb;
  --teal-deep:#075f61;
  --teal:#258b8a;
  --teal-darker:#034447;
  --teal-pale:#e4f3f1;
  --pink:#f2afbf;
  --pink-deep:#df7693;
  --pink-ink:#b84f71;
  --pink-soft:#fbe8ee;
  --charcoal:#183033;
  --charcoal-soft:#627477;
  --line:rgba(7,95,97,.14);
  --line-light:rgba(255,255,255,.16);
  --radius:2px;
  --maxw:1240px;
  --shadow:0 24px 70px rgba(3,68,71,.13);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{background:var(--cream);color:var(--charcoal);font-family:'Work Sans',Arial,sans-serif;font-weight:400;line-height:1.75;overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.serif{font-family:'Fraunces',Georgia,serif;font-weight:400;color:var(--charcoal);line-height:1.08}
p{max-width:68ch}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}ul{list-style:none}.wrap{max-width:var(--maxw);margin:auto;padding:0 42px}
.skip-link{position:absolute;left:-999px;top:0;background:var(--pink-ink);color:#fff;padding:10px 18px;z-index:999}.skip-link:focus{left:10px;top:10px}:focus-visible{outline:2px solid var(--pink-deep);outline-offset:4px}
.eyebrow{display:block;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--pink-ink);font-weight:600;margin-bottom:14px}
.mark,.section-head::before,.hero-photo h1::before,.hero-plain h1::before{content:'';display:block;width:54px;height:1px;background:var(--pink-deep);margin-bottom:24px}.mark{height:1px}.section-head::before{margin-bottom:20px}.section-head.center::before{margin-left:auto;margin-right:auto}.bg-teal .section-head::before,.on-teal .section-head::before{background:var(--pink)}

/* Header */
.top-strip{background:var(--teal-darker);color:rgba(255,255,255,.72);font-size:.69rem;letter-spacing:.08em;text-transform:uppercase;padding:9px 0}.top-strip .wrap{display:flex;justify-content:space-between;align-items:center;gap:18px}.top-strip a{color:#fff}.top-strip a:hover{color:var(--pink)}
.site-header{position:sticky;top:0;z-index:80;background:rgba(3,68,71,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.09)}
.main-nav{max-width:var(--maxw);margin:auto;padding:15px 42px;display:grid;grid-template-columns:210px 1fr auto;align-items:center;gap:34px}.brand-logo img{width:auto;height:64px}.nav-links{display:flex;justify-content:center;align-items:center;gap:29px}.nav-links a{position:relative;color:rgba(255,255,255,.84);font-size:.73rem;letter-spacing:.12em;text-transform:uppercase;padding:12px 0}.nav-links a::after{content:'';position:absolute;left:0;right:100%;bottom:4px;height:1px;background:var(--pink);transition:right .25s}.nav-links a:hover,.nav-links a[aria-current=page]{color:#fff}.nav-links a:hover::after,.nav-links a[aria-current=page]::after{right:0}.nav-cta,.btn-primary,.btn-teal,.btn-light{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;background:var(--pink-deep);color:#fff;border:1px solid var(--pink-deep);border-radius:0;font-size:.69rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;transition:.25s ease;white-space:nowrap}.nav-cta:hover,.btn-primary:hover,.btn-teal:hover,.btn-light:hover{background:transparent;color:#fff;transform:translateY(-2px)}

/* Breadcrumbs and heroes */
.breadcrumb{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--charcoal-soft);padding:0 0 24px}.breadcrumb a{color:inherit}.breadcrumb .sep{margin:0 9px;opacity:.45}
.hero-photo{position:relative;min-height:680px;color:#fff;display:flex;align-items:flex-end;overflow:hidden}.hero-photo img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:saturate(.68) contrast(1.04)}.hero-photo::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(2,48,50,.91) 0%,rgba(2,48,50,.67) 46%,rgba(2,48,50,.18) 78%),linear-gradient(0deg,rgba(2,48,50,.52),transparent 55%)}.hero-photo .hero-inner{position:relative;z-index:2;width:100%;padding:100px 42px 92px}.hero-photo .breadcrumb{color:rgba(255,255,255,.68)}.hero-photo h1,.hero-plain h1{color:#fff;font-size:clamp(3rem,6.4vw,5.8rem);font-weight:300;letter-spacing:-.035em;max-width:12ch;margin:0 0 22px}.hero-photo h1::before,.hero-plain h1::before{background:var(--pink);margin-bottom:28px}.hero-photo .lede,.hero-plain .lede{max-width:57ch;color:rgba(255,255,255,.82);font-size:1.06rem;line-height:1.75}
.hero-plain{position:relative;overflow:hidden;background:var(--teal-deep);color:#fff;padding:112px 0 105px}.hero-plain::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 82% 18%,rgba(242,175,191,.26),transparent 31%),linear-gradient(135deg,transparent 50%,rgba(255,255,255,.025) 50%)}.hero-plain .glow{display:none}.hero-plain .wrap{position:relative}.hero-plain .breadcrumb{color:rgba(255,255,255,.62)}

/* Buttons */
.btn-teal{background:var(--teal-deep);border-color:var(--teal-deep)}.btn-teal:hover{color:var(--teal-deep);background:transparent}.btn-outline{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.7);color:#fff;padding:13px 24px;font-size:.69rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;transition:.25s}.btn-outline:hover{background:#fff;color:var(--teal-deep)}.btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--charcoal);font-size:.69rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.btn-ghost:hover{color:var(--pink-ink);border-color:var(--pink-ink)}

/* Layout */
section{padding:112px 0}.section-tight{padding:72px 0}.section-head{max-width:720px;margin-bottom:52px}.section-head h2{font-size:clamp(2.3rem,4.5vw,4rem);letter-spacing:-.025em}.section-head.center{text-align:center;margin-left:auto;margin-right:auto}.bg-sand{background:var(--sand)}.bg-teal{background:var(--teal-deep);color:#fff}.bg-teal h2{color:#fff}.bg-teal-pale{background:var(--teal-pale)}.bg-charcoal{background:var(--teal-darker);color:rgba(255,255,255,.78)}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:clamp(55px,8vw,120px);align-items:center}.two-col.reverse{direction:rtl}.two-col.reverse>*{direction:ltr}.copy p{color:var(--charcoal-soft);font-size:1rem;margin-bottom:20px}.copy h3{font-size:1.7rem;color:var(--teal-deep);margin:34px 0 12px}.copy h2[style]{font-size:clamp(2.4rem,4vw,3.8rem)!important;font-style:normal!important;line-height:1.05!important;letter-spacing:-.03em}.pull{font-family:'Fraunces',serif;font-size:1.7rem;line-height:1.35;color:var(--teal-deep);margin:30px 0}.pull span{color:var(--pink-ink)}
figure.frame{position:relative;padding:0 0 28px 28px}figure.frame::before{content:'';position:absolute;left:0;bottom:0;width:76%;height:76%;background:var(--pink-soft)}figure.frame img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover;box-shadow:var(--shadow);filter:saturate(.78) contrast(1.03)}figure.frame.wide img{aspect-ratio:4/3}.frame-tag{position:absolute;z-index:2;top:22px;left:0;background:var(--teal-deep);color:#fff;padding:10px 18px;font-size:.63rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}

/* Cards */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.feat-card{position:relative;background:rgba(255,255,255,.62);border:1px solid var(--line);padding:38px 34px;transition:.3s}.feat-card:hover{background:#fff;transform:translateY(-5px);box-shadow:0 20px 50px rgba(3,68,71,.09)}.feat-card .mark{width:32px;margin-bottom:24px}.feat-card h3{font-size:1.45rem;color:var(--teal-deep);margin-bottom:12px}.feat-card p{color:var(--charcoal-soft);font-size:.94rem}
.num-list{position:relative}.num-row{display:grid;grid-template-columns:44px 1fr;gap:20px;padding:0 0 30px}.num-row .num{width:42px;height:42px;border:1px solid var(--pink-deep);display:grid;place-items:center;font-family:'Fraunces',serif;color:var(--pink-ink);background:transparent}.num-row h4{font-size:1.35rem;color:var(--teal-deep);margin:4px 0 7px}.num-row p{font-size:.94rem;color:var(--charcoal-soft)}.bg-teal .num-row .num{color:var(--pink);border-color:var(--pink)}.bg-teal .num-row h4{color:#fff}.bg-teal .num-row p{color:rgba(255,255,255,.7)}

/* Services */
.menu-columns{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:1050px}.menu-col{border-top:1px solid rgba(255,255,255,.22);padding-top:27px}.menu-col h3{font-size:1.9rem;color:var(--pink);margin-bottom:20px}.menu-item{border-bottom:1px solid rgba(255,255,255,.12)}.menu-item a{display:flex;justify-content:space-between;gap:20px;padding:17px 0;color:rgba(255,255,255,.83);font-size:.9rem}.menu-item a span:last-child{color:var(--pink);white-space:nowrap}.menu-item a:hover{color:#fff;padding-left:8px}
.service-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-tile{display:block;background:#fff;border:1px solid var(--line);overflow:hidden;transition:.3s}.service-tile:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.service-tile img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.72);transition:.5s}.service-tile:hover img{transform:scale(1.035);filter:saturate(.9)}.service-tile .tile-copy{padding:28px}.service-tile h3{font-size:1.48rem;color:var(--teal-deep);margin-bottom:10px}.service-tile p{font-size:.9rem;color:var(--charcoal-soft);margin-bottom:16px}.service-tile .go{font-size:.65rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--pink-ink)}

/* Quote, FAQs and reviews */
.statement{position:relative;background:var(--pink-soft);text-align:center;padding:112px 0}.statement::before{content:'“';position:absolute;left:50%;top:27px;transform:translateX(-50%);font-family:'Fraunces',serif;font-size:7rem;color:rgba(184,79,113,.14);line-height:1}.statement blockquote{position:relative;font-family:'Fraunces',serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1.25;max-width:900px;margin:auto}.statement blockquote span{color:var(--pink-ink)}.statement cite{display:block;margin-top:28px;font-style:normal;font-size:.65rem;font-weight:600;letter-spacing:.19em;text-transform:uppercase;color:var(--charcoal-soft)}
.faq-list{max-width:900px}.faq-item{border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:23px 0;font-family:'Fraunces',serif;font-size:1.25rem;color:var(--teal-deep)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary .plus{width:31px;height:31px;flex:none;border:1px solid var(--pink-deep);display:grid;place-items:center;color:var(--pink-ink);transition:.25s}.faq-item[open] summary .plus{transform:rotate(45deg);background:var(--pink-soft)}.faq-item .faq-a{padding:0 65px 25px 0;color:var(--charcoal-soft);font-size:.96rem}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.review-card,.review-card:nth-child(n){position:relative;background:#fff;border:1px solid var(--line);padding:42px 32px 32px;transform:none;margin:0;transition:.3s}.review-card:hover{transform:translateY(-5px);box-shadow:0 18px 46px rgba(3,68,71,.09)}.review-card .quote-mark{position:absolute;top:12px;left:28px;font-family:'Fraunces',serif;font-size:3rem;color:var(--pink-soft)}.review-card p{position:relative;color:var(--charcoal-soft);font-size:.92rem;margin:20px 0}.stars{color:var(--pink-ink);letter-spacing:3px;font-size:.78rem}.reviewer-name{font-weight:600;font-size:.82rem}.reviewer-sub{font-size:.72rem;color:var(--charcoal-soft)}

/* CTA */
.cta-band{position:relative;background:var(--teal-deep);color:#fff;text-align:center;padding:120px 0;overflow:hidden}.cta-band::before,.cta-band::after{content:'';position:absolute;border:1px solid rgba(242,175,191,.22);border-radius:50%;width:420px;height:420px;top:50%;transform:translateY(-50%)}.cta-band::before{left:-220px}.cta-band::after{right:-220px}.cta-band .blob{display:none}.cta-band .content{position:relative}.cta-band h2{font-size:clamp(2.7rem,5vw,4.8rem);color:#fff;max-width:14ch;margin:0 auto 22px}.cta-band p{color:rgba(255,255,255,.72);margin:0 auto 34px}.btn-light{background:var(--pink);border-color:var(--pink);color:var(--teal-darker)}.btn-light:hover{background:transparent;color:#fff}

/* Tables, contact, gallery */
.price-table{width:100%;border-collapse:collapse;max-width:850px}.price-table caption{text-align:left;font-family:'Fraunces',serif;font-size:1.75rem;color:var(--teal-deep);margin-bottom:18px}.price-table tr{border-bottom:1px solid var(--line)}.price-table td{padding:18px 7px}.price-table td.name a:hover{color:var(--pink-ink)}.price-table td.time{color:var(--charcoal-soft);font-size:.82rem;white-space:nowrap}.price-table td.price{text-align:right;font-family:'Fraunces',serif;font-size:1.15rem;color:var(--pink-ink);white-space:nowrap}.price-block+.price-block{margin-top:66px}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.info-row{display:flex;gap:18px;padding:19px 0;border-bottom:1px solid var(--line)}.info-row .lbl{width:108px;flex:none;font-size:.64rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--pink-ink)}.info-row .val a:hover{color:var(--pink-ink)}form.book-form{display:grid;gap:19px;padding:35px;background:#fff;border:1px solid var(--line)}form.book-form label{display:block;margin-bottom:7px;font-size:.65rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-deep)}form.book-form input,form.book-form select,form.book-form textarea{width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:0;background:var(--cream);font:inherit;color:var(--charcoal)}form.book-form input:focus,form.book-form select:focus,form.book-form textarea:focus{outline:1px solid var(--pink-deep);border-color:var(--pink-deep)}form.book-form button{cursor:pointer;font:inherit}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;filter:saturate(.72);transition:.35s}.gallery-grid img:hover{filter:saturate(.95);transform:scale(.985)}

/* Footer */
.site-footer{background:var(--teal-darker);color:rgba(255,255,255,.66);padding:82px 0 28px}.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:48px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.1)}.footer-logo img{height:56px;margin-bottom:20px}.site-footer h4{font-family:'Work Sans',sans-serif;font-size:.63rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--pink);margin-bottom:21px}.site-footer li{font-size:.84rem;margin-bottom:10px}.site-footer li a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;padding-top:25px;font-size:.7rem;color:rgba(255,255,255,.4)}

@media(max-width:1020px){.main-nav{grid-template-columns:170px 1fr auto;padding-inline:24px;gap:20px}.brand-logo img{height:54px}.nav-links{gap:17px}.nav-links a{font-size:.64rem}.wrap{padding-inline:28px}.hero-photo .hero-inner{padding-inline:28px}.two-col{gap:60px}.service-card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.top-strip .wrap{justify-content:center;text-align:center}.top-strip .wrap span:first-child{display:none}.site-header{position:relative}.main-nav{display:flex;flex-wrap:wrap;padding:13px 20px}.brand-logo{flex:1}.brand-logo img{height:50px}.nav-cta{padding:11px 15px}.nav-links{order:3;width:calc(100% + 40px);margin:8px -20px -13px;padding:0 20px;display:flex;justify-content:flex-start;overflow-x:auto;border-top:1px solid rgba(255,255,255,.09);scrollbar-width:none}.nav-links::-webkit-scrollbar{display:none}.nav-links li{flex:none}.nav-links a{display:block;padding:14px 0 12px}.hero-photo{min-height:610px}.hero-photo::before{background:linear-gradient(90deg,rgba(2,48,50,.91),rgba(2,48,50,.48))}.hero-photo .hero-inner{padding:80px 24px 68px}.hero-photo h1,.hero-plain h1{font-size:clamp(2.8rem,12vw,4.6rem)}.hero-plain{padding:85px 0 78px}.wrap{padding-inline:24px}section{padding:78px 0}.two-col,.contact-grid{grid-template-columns:1fr}.two-col.reverse{direction:ltr}figure.frame{max-width:620px}.grid-3,.review-grid{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}.menu-columns{grid-template-columns:1fr;gap:45px}.footer-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.top-strip{font-size:.61rem}.nav-cta{font-size:.61rem}.hero-photo{min-height:560px}.hero-photo .lede,.hero-plain .lede{font-size:.97rem}.section-head h2{font-size:2.45rem}.copy h2[style]{font-size:2.55rem!important}.service-card-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom>*+*{margin-top:8px}.price-table td.time{display:none}.price-table td{padding:16px 3px}.info-row{display:block}.info-row .lbl{width:auto;margin-bottom:5px}form.book-form{padding:24px 18px}.gallery-grid{grid-template-columns:1fr}.statement{padding:86px 0}.cta-band{padding:90px 0}}

/* =========================================================
   V2, stronger visual direction below the hero
   Keeps all HTML content, SEO and URL structure unchanged.
   ========================================================= */
:root{
  --radius-sm:14px;
  --radius-md:24px;
  --radius-lg:38px;
  --shadow-soft:0 18px 55px rgba(3,68,71,.09);
  --shadow-card:0 24px 75px rgba(3,68,71,.13);
}

/* More confident section rhythm */
main > section:not(.hero-photo):not(.hero-plain){position:relative}
main > section:not(.hero-photo):not(.hero-plain):not(.statement):not(.cta-band){padding-top:112px;padding-bottom:112px}
.section-tight{padding-top:86px!important;padding-bottom:86px!important}
.section-head{max-width:760px;margin-bottom:52px}
.section-head h2{font-size:clamp(2.6rem,4.8vw,4.6rem);letter-spacing:-.035em}
.section-head.center{max-width:820px;margin-left:auto;margin-right:auto;text-align:center}
.copy h2{letter-spacing:-.025em}

/* Intro split, editorial rather than generic two-column */
.hero-photo + section{overflow:hidden;background:linear-gradient(135deg,#fff 0%,var(--cream) 55%,var(--teal-pale) 140%)}
.hero-photo + section::before{content:'';position:absolute;width:420px;height:420px;border-radius:50%;background:var(--pink-soft);right:-230px;top:-170px;opacity:.72}
.hero-photo + section .two-col{grid-template-columns:1.06fr .82fr;gap:110px;align-items:center}
.hero-photo + section .copy{position:relative;padding:24px 0 24px 42px}
.hero-photo + section .copy::before{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(var(--pink-deep),transparent)}
.hero-photo + section .copy p{font-size:1.03rem;line-height:1.9}
figure.frame{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);border:0}
figure.frame::after{content:'';position:absolute;inset:0;border:10px solid rgba(255,255,255,.72);border-radius:inherit;pointer-events:none}
figure.frame img{border-radius:inherit}
.frame-tag{top:22px;left:22px;border-radius:999px;padding:9px 15px;background:rgba(255,255,255,.93);color:var(--teal-deep);box-shadow:0 8px 25px rgba(3,68,71,.1)}

/* Treatments, two distinct premium panels */
.bg-teal{background:
  radial-gradient(circle at 12% 18%,rgba(242,175,191,.15),transparent 30%),
  radial-gradient(circle at 88% 80%,rgba(37,139,138,.28),transparent 32%),
  var(--teal-darker)}
.bg-teal .section-head h2{max-width:780px;margin:auto;color:#fff}
.menu-columns{max-width:1120px;gap:28px}
.menu-col{position:relative;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-md);padding:38px 38px 24px;background:rgba(255,255,255,.055);backdrop-filter:blur(8px);overflow:hidden}
.menu-col::before{content:'';position:absolute;width:130px;height:130px;border-radius:50%;background:rgba(242,175,191,.12);right:-55px;top:-55px}
.menu-col h3{font-size:2.15rem;margin-bottom:24px}
.menu-item{border-color:rgba(255,255,255,.1)}
.menu-item a{padding:18px 4px;font-size:.93rem;transition:.25s}
.menu-item a:hover{padding-left:12px;padding-right:8px;background:rgba(255,255,255,.04)}
.menu-item a span:last-child{display:inline-flex;align-items:center;background:rgba(242,175,191,.14);padding:5px 10px;border-radius:999px;font-size:.75rem}

/* Statement becomes a designed interlude */
.statement{background:linear-gradient(120deg,var(--pink-soft),#fff 52%,var(--teal-pale));padding:130px 0;border-top:1px solid rgba(223,118,147,.13);border-bottom:1px solid rgba(7,95,97,.1)}
.statement::before{top:18px;font-size:10rem;color:rgba(184,79,113,.12)}
.statement blockquote{max-width:940px;font-size:clamp(2.3rem,4.5vw,4.25rem);letter-spacing:-.035em}
.statement cite{display:inline-block;margin-top:34px;padding:9px 16px;border:1px solid rgba(184,79,113,.2);border-radius:999px;background:rgba(255,255,255,.58)}

/* Why choose us, larger numbered feature cards */
.bg-sand{background:linear-gradient(180deg,#f8f4f1 0%,#f1ece8 100%)}
.bg-sand .grid-3{counter-reset:benefit;gap:26px}
.feat-card{counter-increment:benefit;border:0;border-radius:var(--radius-md);padding:46px 38px 40px;background:#fff;box-shadow:0 12px 36px rgba(3,68,71,.055);overflow:hidden}
.feat-card::before{content:'0' counter(benefit);display:block;font-family:'Fraunces',serif;font-size:3.5rem;line-height:1;color:rgba(7,95,97,.12);margin-bottom:32px}
.feat-card::after{content:'';position:absolute;width:90px;height:90px;border-radius:50%;right:-42px;top:-38px;background:var(--pink-soft);transition:.3s}
.feat-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-card)}
.feat-card:hover::after{transform:scale(1.4)}
.feat-card .mark{display:none}
.feat-card h3{font-size:1.7rem;margin-bottom:15px}
.feat-card p{font-size:.96rem;line-height:1.8}

/* Location strip, turns a plain paragraph into a feature band */
.bg-sand + .section-tight{background:var(--teal-pale);overflow:hidden}
.bg-sand + .section-tight::before{content:'CHELTENHAM';position:absolute;right:-18px;bottom:-48px;font-family:'Fraunces',serif;font-size:clamp(5rem,12vw,11rem);line-height:1;color:rgba(7,95,97,.055);letter-spacing:-.06em}
.bg-sand + .section-tight .wrap{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:start}
.bg-sand + .section-tight .section-head{margin:0}
.bg-sand + .section-tight .section-head h2{font-size:clamp(2.5rem,4vw,3.9rem)}
.bg-sand + .section-tight p{position:relative;font-size:1.06rem!important;line-height:1.95!important;padding:34px 38px;background:rgba(255,255,255,.72);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);border-left:5px solid var(--pink-deep)}

/* Reviews, bold centre card, softer surrounding cards */
.reviews{background:#fff}
.review-grid{gap:26px;align-items:stretch}
.review-card,.review-card:nth-child(n){border:0;border-radius:var(--radius-md);padding:48px 36px 36px;background:var(--cream);box-shadow:0 10px 32px rgba(3,68,71,.055)}
.review-card:nth-child(2){transform:translateY(-18px);background:var(--teal-deep);color:#fff;box-shadow:var(--shadow-card)}
.review-card:nth-child(2) p,.review-card:nth-child(2) .reviewer-sub{color:rgba(255,255,255,.76)}
.review-card:nth-child(2) .reviewer-name{color:#fff}
.review-card:nth-child(2) .quote-mark{color:rgba(242,175,191,.22)}
.review-card:nth-child(2):hover{transform:translateY(-25px)}
.review-card .quote-mark{font-size:4.5rem;top:8px;color:rgba(223,118,147,.2)}
.review-card p{font-size:.98rem;line-height:1.85;min-height:135px}
.stars{display:inline-flex;background:var(--pink-soft);padding:6px 10px;border-radius:999px;letter-spacing:2px}
.review-card:nth-child(2) .stars{background:rgba(242,175,191,.14);color:var(--pink)}

/* FAQ, contained, not floating lines */
.faqs{background:linear-gradient(135deg,var(--cream),#fff)}
.faqs .wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px;align-items:start}
.faqs .section-head{position:sticky;top:145px;margin:0}
.faqs .section-head h2{font-size:clamp(2.7rem,4.4vw,4.3rem)}
.faq-list{max-width:none;display:grid;gap:12px}
.faq-item,.faq-item:last-child{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;overflow:hidden;box-shadow:0 7px 25px rgba(3,68,71,.035)}
.faq-item summary{padding:22px 24px;font-size:1.18rem}
.faq-item summary .plus{border:0;border-radius:50%;background:var(--pink-soft);width:34px;height:34px}
.faq-item[open]{border-color:rgba(223,118,147,.35);box-shadow:var(--shadow-soft)}
.faq-item[open] summary{color:var(--pink-ink)}
.faq-item .faq-a{padding:0 76px 24px 24px}

/* CTA, more interesting than a plain teal block */
.cta-band{padding:138px 0;background:
  linear-gradient(115deg,rgba(3,68,71,.98),rgba(7,95,97,.94)),
  url('/images/gallery/studio-1.jpg') center/cover}
.cta-band::before,.cta-band::after{border-width:28px;border-color:rgba(242,175,191,.1);width:520px;height:520px}
.cta-band .content{max-width:850px}
.cta-band h2{font-size:clamp(3.3rem,7vw,6.7rem);letter-spacing:-.05em;margin-bottom:24px}
.cta-band p{font-size:1.05rem}
.btn-light{border-radius:999px;padding:16px 29px;box-shadow:0 15px 35px rgba(0,0,0,.16)}

/* Shared inner-page improvements */
.service-tile{border:0;border-radius:var(--radius-md);box-shadow:0 10px 35px rgba(3,68,71,.07)}
.service-tile img{aspect-ratio:16/11}
.service-tile .tile-copy{padding:32px}
.price-table{background:#fff;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-soft)}
.price-table caption{padding:0 0 10px;background:transparent}
.price-table td{padding:20px 22px}
.price-table tr:last-child{border-bottom:0}
form.book-form{border:0;border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:44px}
form.book-form input,form.book-form select,form.book-form textarea{border-radius:10px;background:#fff}
.gallery-grid{gap:20px}
.gallery-grid img{border-radius:var(--radius-md);box-shadow:0 12px 34px rgba(3,68,71,.08)}

@media(max-width:820px){
  main > section:not(.hero-photo):not(.hero-plain):not(.statement):not(.cta-band){padding-top:82px;padding-bottom:82px}
  .hero-photo + section .two-col{grid-template-columns:1fr;gap:55px}
  .hero-photo + section .copy{padding-left:24px}
  .menu-col{padding:30px 24px 18px}
  .bg-sand + .section-tight .wrap,.faqs .wrap{grid-template-columns:1fr;gap:42px}
  .faqs .section-head{position:static}
  .review-card:nth-child(2){transform:none}
  .review-card:nth-child(2):hover{transform:translateY(-5px)}
  .statement{padding:100px 0}
}
@media(max-width:560px){
  .section-head{margin-bottom:36px}
  .menu-col{border-radius:18px}
  .feat-card{padding:36px 28px}
  .bg-sand + .section-tight p{padding:28px 24px}
  .faq-item summary{font-size:1.05rem;padding:19px 18px}
  .faq-item .faq-a{padding:0 55px 20px 18px}
  .cta-band{padding:105px 0}
  form.book-form{padding:28px 20px}
}


/* =========================================================
   Consistent section spacing and responsive mobile navigation
   ========================================================= */

/* All non-hero content sections use one consistent rhythm. */
main > section:not(.hero-photo):not(.hero-plain),
.statement,
.cta-band,
.section-tight {
  padding-top: 70px;
  padding-bottom: 70px;
}

.nav-toggle {
  display: none;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.24);
  background: transparent;
  color: #fff;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}
.nav-toggle-box {
  width: 21px;
  height: 16px;
  position: relative;
  display: block;
}
.nav-toggle-line {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: currentColor;
  transition: transform .25s ease, top .25s ease, opacity .2s ease;
}
.nav-toggle-line:nth-child(1) { top: 0; }
.nav-toggle-line:nth-child(2) { top: 7px; }
.nav-toggle-line:nth-child(3) { top: 14px; }
.nav-toggle[aria-expanded="true"] .nav-toggle-line:nth-child(1) { top: 7px; transform: rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle-line:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] .nav-toggle-line:nth-child(3) { top: 7px; transform: rotate(-45deg); }

@media (max-width: 820px) {
  .wrap,
  .hero-photo .hero-inner {
    padding-left: 20px;
    padding-right: 20px;
  }

  main > section:not(.hero-photo):not(.hero-plain),
  .statement,
  .cta-band,
  .section-tight,
  main > section:not(.hero-photo):not(.hero-plain):not(.statement):not(.cta-band) {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .site-header { position: sticky; }
  .main-nav {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    padding: 12px 20px;
    gap: 14px;
  }
  .brand-logo { flex: 1; min-width: 0; }
  .nav-toggle { display: inline-flex; flex: none; }
  .nav-cta { display: none; }
  .nav-links {
    position: absolute;
    z-index: 100;
    top: 100%;
    left: 0;
    right: 0;
    width: auto;
    margin: 0;
    padding: 12px 20px 18px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    overflow: visible;
    background: var(--teal-darker);
    border-top: 1px solid rgba(255,255,255,.1);
    box-shadow: 0 18px 36px rgba(3,68,71,.22);
  }
  .nav-links.is-open { display: flex; }
  .nav-links li { width: 100%; }
  .nav-links a {
    display: block;
    width: 100%;
    padding: 13px 0;
    border-bottom: 1px solid rgba(255,255,255,.09);
  }
  .nav-links li:last-child a { border-bottom: 0; }
  .nav-links a::after { display: none; }

  .hero-photo + section .copy { padding-left: 0; }
  .two-col,
  .contact-grid,
  .grid-2,
  .grid-3,
  .review-grid,
  .menu-columns {
    min-width: 0;
  }
  .price-table { display: block; overflow-x: auto; }
  form.book-form { width: 100%; min-width: 0; }
  input, select, textarea, button { max-width: 100%; }
}

/* Final verified spacing and mobile navigation overrides, 2026-07-27 */
@media (min-width: 821px) {
  main > section:not(.hero-photo):not(.hero-plain) {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }

  main > .statement,
  main > .cta-band,
  main > .section-tight {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }
}

@media (max-width: 820px) {
  html, body { overflow-x: hidden; }

  .wrap,
  .main-nav,
  .hero-photo .hero-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  main > section:not(.hero-photo):not(.hero-plain),
  main > .statement,
  main > .cta-band,
  main > .section-tight {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }

  .main-nav {
    display: flex !important;
    grid-template-columns: none !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    min-height: 74px;
    gap: 14px !important;
  }

  .brand-logo {
    flex: 1 1 auto !important;
    min-width: 0;
  }

  .brand-logo img {
    height: 50px !important;
    max-width: 170px;
  }

  .nav-cta {
    display: none !important;
  }

  .nav-toggle {
    display: inline-flex !important;
    flex: 0 0 46px;
    border-radius: 8px;
  }

  .nav-links {
    position: absolute !important;
    z-index: 1000 !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-height: calc(100vh - 74px);
    margin: 0 !important;
    padding: 10px 20px 18px !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: var(--teal-darker) !important;
  }

  .nav-links.is-open {
    display: flex !important;
  }

  .nav-links li,
  .nav-links a {
    width: 100% !important;
    flex: none !important;
  }

  .nav-links a {
    padding: 15px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.1);
  }

  .nav-links li:last-child a { border-bottom: 0; }

  .two-col,
  .contact-grid,
  .grid-2,
  .grid-3,
  .review-grid,
  .service-card-grid,
  .menu-columns,
  .footer-grid {
    grid-template-columns: 1fr !important;
  }

  .two-col > *,
  .contact-grid > *,
  .grid-2 > *,
  .grid-3 > *,
  .review-grid > *,
  .service-card-grid > *,
  .menu-columns > * {
    min-width: 0;
  }

  img, iframe, video, table { max-width: 100%; }
  .price-table { width: 100%; overflow-x: auto; }
  input, select, textarea, button { min-width: 0; max-width: 100%; }
}
