/*
 * Serenity Editorial Refresh — v1.4.0
 * A restrained, responsive visual system layered onto the previous theme.
 * All layout changes are CSS-only: pre-existing Gutenberg content is retained.
 */
:root {
  --serenity-ink: #211c21;
  --serenity-deep: #211820;
  --serenity-deeper: #171018;
  --serenity-plum: #342334;
  --serenity-plum-2: #574152;
  --serenity-violet: #7c6377;
  --serenity-rose: #ae857d;
  --serenity-peach: #c7a48a;
  --serenity-gold: #c09c77;
  --serenity-champagne: #dac2a3;
  --serenity-cream: #faf6ef;
  --serenity-muted: #6c6469;
  --serenity-soft: #f1eae2;
  --serenity-line: rgba(49,35,43,.16);
  --serenity-line-strong: rgba(49,35,43,.36);
  --serenity-glass: transparent;
  --serenity-glass-strong: transparent;
  --serenity-shadow: 0 22px 48px rgba(31,22,28,.09);
  --serenity-shadow-soft: 0 16px 32px rgba(31,22,28,.08);
  --serenity-radius: 0px;
  --serenity-max: 1260px;
  --serenity-paper: #f9f5ee;
  --serenity-paper-alt: #eee8e0;
  --serenity-display: 'Cormorant Garamond', 'Baskerville', Georgia, serif;
  --serenity-text: 'Manrope', 'Segoe UI', Arial, sans-serif;
}
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body {
  background:var(--serenity-paper);
  font-family:var(--serenity-text);
  font-weight:400;
  font-size:15px;
  line-height:1.78;
  color:var(--serenity-ink);
  -webkit-font-smoothing:antialiased;
}
body:before, body:after { content:none !important; display:none !important; }
::selection { background:#bda183; color:#201820; }
.serenity-wrap { max-width:var(--serenity-max); padding-left:clamp(22px,3.6vw,52px); padding-right:clamp(22px,3.6vw,52px); }
a,button,input,textarea { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible {
  outline:2px solid #bc976f; outline-offset:4px;
}

/* Editorial masthead: no floating navigation capsule or glowing logo. */
.serenity-site-header {
  background:#221a23; border:0; box-shadow:none; isolation:auto;
}
.serenity-site-header:before, .serenity-site-header:after { content:none; display:none; }
.serenity-topbar { background:#19141b; border-bottom:1px solid rgba(244,232,218,.12); }
.serenity-topbar .serenity-header-shell {
  min-height:33px; font-size:10px; font-weight:600; letter-spacing:.16em;
  color:rgba(251,242,233,.63);
}
.serenity-topbar a { color:#d4bda1; }
.serenity-header-shell { max-width:var(--serenity-max); padding:0 clamp(22px,3.6vw,52px); }
.serenity-header-inner { min-height:87px; gap:26px; }
.serenity-brand { gap:13px; min-width:0; }
.serenity-logo-frame {
  width:61px; height:61px; padding:0; border-radius:0;
  border:1px solid rgba(221,201,175,.3); background:#2b202e;
  box-shadow:none; overflow:hidden; flex:none;
}
.serenity-logo-frame img { border:0; border-radius:0; display:block; object-fit:cover; }
.serenity-brand-copy { gap:0; }
.serenity-brand-copy strong {
  font-family:var(--serenity-display); font-size:clamp(24px,2.2vw,32px);
  line-height:.95; font-weight:500; letter-spacing:.002em; text-transform:none;
  color:#fff8f0; text-shadow:none;
}
.serenity-brand-copy em { margin-top:7px; color:#cfbba9; font-size:9px; line-height:1.5; letter-spacing:.085em; }
.serenity-nav-panel {
  gap:24px; padding:0; background:none; border:0; border-radius:0;
  box-shadow:none; backdrop-filter:none;
}
.serenity-menu { gap:clamp(9px,1.1vw,20px); }
.serenity-menu a,.serenity-nav>a:not(.serenity-book-btn) {
  position:relative; min-height:48px; padding:4px 3px 0; border:0; border-radius:0;
  font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(254,249,243,.76); background:none;
  transition:color .2s ease;
}
.serenity-menu a:after {
  content:''; position:absolute; left:3px; right:3px; bottom:8px; height:1px;
  background:#d1af8c; transform:scaleX(0); transform-origin:left;
  transition:transform .24s ease;
}
.serenity-menu a:hover,.serenity-menu .current-menu-item>a,
.serenity-menu .current_page_item>a {
  color:#fff9ef; background:none; border:0; box-shadow:none; transform:none;
}
.serenity-menu a:hover:after,.serenity-menu .current-menu-item>a:after,
.serenity-menu .current_page_item>a:after { transform:scaleX(1); }

/* Squared, considered CTAs instead of gradient pills. */
.serenity-book-btn,.wp-block-button__link,.serenity-button,button.serenity-submit,.serenity-outline-button {
  display:inline-flex; align-items:center; justify-content:center; gap:18px;
  min-height:50px; padding:15px 23px; border-radius:1px;
  border:1px solid #c6a481; background:#c6a481;
  box-shadow:none; text-decoration:none; text-align:center;
  font-family:var(--serenity-text); font-size:10px; line-height:1.45;
  font-weight:750; letter-spacing:.16em; text-transform:uppercase;
  color:#211a20 !important; filter:none; transform:none;
  transition:background .22s ease,color .22s ease,border-color .22s ease;
}
.serenity-book-btn { min-height:47px; padding:14px 21px; white-space:nowrap; }
.serenity-button:after,.serenity-book-btn:after,.serenity-outline-button:after { content:'↗'; font-family:Arial,sans-serif; font-size:17px; line-height:0; font-weight:400; letter-spacing:0; }
.serenity-book-btn:hover,.wp-block-button__link:hover,.serenity-button:hover,button.serenity-submit:hover {
  background:#eddfcf; border-color:#eddfcf; color:#211820 !important;
  transform:none; box-shadow:none; filter:none;
}
.serenity-outline-button {
  background:transparent; border:1px solid currentColor;
  color:inherit !important; box-shadow:none;
}
.serenity-outline-button:hover { background:#2a2129; color:#fff !important; border-color:#2a2129; transform:none; }
.serenity-hero .serenity-outline-button,.serenity-site-footer .serenity-outline-button,.serenity-section-bg .serenity-outline-button {
  color:#fff4e9 !important; border-color:rgba(255,245,232,.56); background:transparent;
}
.serenity-hero .serenity-outline-button:hover,.serenity-site-footer .serenity-outline-button:hover,.serenity-section-bg .serenity-outline-button:hover {
  background:#fff4e9; color:#241c26 !important;
}

/* The hero is an editorial cover rather than a layered/glowing banner. */
.serenity-hero {
  min-height:clamp(635px,64vw,790px); background-size:cover;
  background-repeat:no-repeat; background-position:center;
  background-color:#261b2b; border-bottom:5px solid #c7a98b;
}
.serenity-hero:before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(19,14,23,.94) 0%,rgba(24,17,29,.88) 32%,rgba(28,18,31,.63) 51%,rgba(25,16,29,.09) 82%);
}
.serenity-hero:after {
  content:''; position:absolute; inset:0; height:auto;
  background:linear-gradient(0deg,rgba(25,16,29,.28),transparent 32%); pointer-events:none;
}
.serenity-hero .serenity-wrap:after { content:none; display:none; }
.serenity-hero-content {
  padding:clamp(100px,12vw,163px) 0 clamp(94px,10vw,145px);
  max-width:750px;
}
h1,h2,h3,h4 {
  font-family:var(--serenity-display);
  font-weight:500; letter-spacing:-.031em; line-height:1.035;
  text-wrap:balance; color:var(--serenity-ink);
}
h1 { font-size:clamp(66px,8vw,108px); line-height:.93; letter-spacing:-.042em; }
h2 { font-size:clamp(48px,5.5vw,76px); line-height:.99; }
h3 { font-size:clamp(30px,2.8vw,40px); }
h4 { font-size:clamp(25px,2.4vw,31px); }
p { font-size:15.5px; line-height:1.83; color:#6c6469; }
.serenity-kicker {
  display:inline-flex; align-items:center; gap:15px;
  margin-bottom:23px; font-family:var(--serenity-text); font-size:10px;
  font-weight:750; letter-spacing:.25em; line-height:1.6; text-transform:uppercase;
  color:#9b765b;
}
.serenity-kicker:before { content:''; width:32px; height:1px; flex:none; background:currentColor; }
.serenity-hero h1,.serenity-hero h2 { color:#fff9f0; max-width:780px; }
.serenity-hero .serenity-kicker { color:#e4c7a4; }
.serenity-lead { max-width:620px; font-size:clamp(17px,1.8vw,20px); font-weight:400; line-height:1.75; }
.serenity-hero .serenity-lead { max-width:570px; color:rgba(255,246,238,.84); }
.serenity-actions { margin-top:36px; gap:12px; }
.serenity-mini-trust {
  gap:0; margin-top:51px; padding-top:18px; width:max-content; max-width:100%;
  border-top:1px solid rgba(242,223,204,.38);
}
.serenity-mini-trust span {
  display:inline-flex; padding:0 19px; margin:0; border:0; border-radius:0;
  background:transparent; backdrop-filter:none;
  color:rgba(255,245,234,.79); font-size:10px; line-height:1.6;
  letter-spacing:.10em; text-transform:uppercase;
}
.serenity-mini-trust span:first-child { padding-left:0; }
.serenity-mini-trust span+span { border-left:1px solid rgba(242,223,204,.36); }

/* Light and dark sections alternate to create an actual editorial rhythm. */
.serenity-section {
  padding:clamp(82px,9vw,130px) 0; background:var(--serenity-paper);
  position:relative; color:var(--serenity-ink);
}
.serenity-section:where(:not(.serenity-section-bg)):before { content:none; display:none; }
.serenity-section.soft { background:var(--serenity-paper-alt); }
.serenity-section.compact { padding:clamp(75px,7vw,104px) 0; background:#ede5dc; }
.serenity-section .serenity-heading-row h2,
.serenity-section h2,.serenity-section h3,.serenity-section h4 { color:var(--serenity-ink); }
.serenity-section .serenity-lead,.serenity-section p { color:#635b60; }
.serenity-section .serenity-kicker { color:#966f55; }
.serenity-section-bg {
  background-color:#281d2b; background-size:cover; background-position:center;
  color:#f9f0e5; overflow:hidden;
}
.serenity-section-bg:before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(29,20,32,.95) 0%,rgba(29,20,32,.91) 45%,rgba(29,20,32,.68) 100%);
}
.serenity-section-bg>*,.serenity-section-bg .serenity-wrap { position:relative; z-index:1; }
.serenity-section-bg h2,.serenity-section-bg h3,.serenity-section-bg h4,
.serenity-section-bg .serenity-split>div:first-child h2 { color:#fff6ec; }
.serenity-section-bg .serenity-lead,.serenity-section-bg .serenity-split>div:first-child p,
.serenity-section-bg .serenity-split>div:first-child li { color:rgba(250,239,230,.79); }
.serenity-section-bg .serenity-kicker { color:#d7b38f; }
.serenity-heading-row { gap:clamp(30px,5vw,85px); margin-bottom:45px; align-items:end; }
.serenity-heading-row>div:first-child { max-width:770px; }
.serenity-heading-row>p { max-width:320px; font-size:14.5px; line-height:1.86; padding-bottom:4px; }
.serenity-grid { gap:14px; }
.serenity-grid.four { gap:0; border-top:1px solid var(--serenity-line); border-bottom:1px solid var(--serenity-line); }
.serenity-card {
  padding:clamp(28px,3vw,43px); overflow:hidden; border-radius:0;
  background:#fbf8f3; border:1px solid rgba(42,31,39,.13);
  box-shadow:none; backdrop-filter:none;
  transition:background .22s ease,border-color .22s ease;
}
.serenity-card:before,.serenity-card:after { content:none; display:none; }
.serenity-card:hover { background:#fffdf9; border-color:rgba(66,45,55,.42); box-shadow:none; transform:none; }
.serenity-card.featured {
  background:#e7dcd3; border-color:rgba(59,42,52,.33); box-shadow:none;
}
.serenity-card.featured:hover { background:#e4d5c9; box-shadow:none; }
.serenity-card h3 { margin-bottom:13px; color:#2e252d; }
.serenity-card p { color:#625960; font-size:14.3px; }
.serenity-card.tall { min-height:100%; }
.serenity-icon {
  display:flex; align-items:center; justify-content:flex-start;
  width:auto; height:auto; min-height:45px; margin-bottom:27px;
  background:none; border:0; border-bottom:1px solid rgba(56,40,50,.23);
  border-radius:0; box-shadow:none;
  color:#9d775e; font-size:27px; line-height:1;
  font-family:var(--serenity-display);
}
.serenity-grid.four .serenity-card {
  background:transparent; border:0; border-right:1px solid var(--serenity-line);
  padding:29px clamp(18px,2.5vw,35px);
}
.serenity-grid.four .serenity-card:first-child { padding-left:0; }
.serenity-grid.four .serenity-card:last-child { border-right:0; }
.serenity-grid.four .serenity-card:hover { background:transparent; }
.serenity-grid.four .serenity-icon { border:0; font-size:47px; color:#a27c60; margin-bottom:17px; }
.serenity-grid.four .serenity-card h3 { font-size:30px; }
.serenity-badge {
  display:inline-block; background:transparent; border:0; border-radius:0;
  padding:0 0 7px; margin:0 0 15px;
  border-bottom:1px solid #b18e74; color:#8d654d;
  font-family:var(--serenity-text); font-size:10px; font-weight:800;
  letter-spacing:.17em; line-height:1.5; text-transform:uppercase;
}
.serenity-list { margin-top:24px; }
.serenity-list li {
  padding:11px 0 11px 18px; border-top:1px solid rgba(50,39,46,.13);
  color:#60575e; font-size:13.5px;
}
.serenity-list li:before { content:'—'; left:0; top:11px; color:#ad8264; }
.serenity-grid.four+.serenity-actions { margin-top:35px; }
.serenity-split { grid-template-columns:1fr .9fr; gap:clamp(35px,5vw,92px); align-items:center; }
.serenity-panel {
  min-height:560px; border-radius:0; border:8px solid rgba(255,245,233,.14);
  box-shadow:none; background-size:cover; background-position:center;
}
.serenity-panel:after { background:linear-gradient(180deg,transparent 35%,rgba(30,21,32,.2)); }
.serenity-section-bg .serenity-list li { border-color:rgba(241,226,210,.23); }
.serenity-section-bg .serenity-list li:before { color:#d4b08e; }
.serenity-stats {
  gap:0; grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:35px; padding-top:19px; border-top:1px solid rgba(244,230,215,.3);
}
.serenity-stat {
  padding:8px 15px; background:none; border:0; border-right:1px solid rgba(244,230,215,.24);
  border-radius:0; backdrop-filter:none;
}
.serenity-stat:first-child { padding-left:0; }
.serenity-stat:last-child { border-right:0; }
.serenity-stat strong {
  font-family:var(--serenity-display); color:#ecd1ae; font-size:39px;
  font-weight:500; line-height:1.2;
}
.serenity-stat span { font-size:10px; color:rgba(250,239,230,.73); text-transform:uppercase; letter-spacing:.08em; }

/* Pricing should read like a considered treatment menu, not stacked app widgets. */
.serenity-price-table { display:grid; gap:0; border-top:1px solid rgba(50,35,44,.32); }
.serenity-price-row {
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center;
  gap:26px; padding:25px 2px 25px 0; border:0;
  border-bottom:1px solid rgba(50,35,44,.2); border-radius:0;
  background:transparent; box-shadow:none; transition:padding .2s ease,background .2s ease;
}
.serenity-price-row:hover { padding-left:13px; padding-right:13px; background:rgba(227,215,203,.26); }
.serenity-price-row h3 { font-size:clamp(27px,3.2vw,39px); margin:0 0 1px; color:#2c242b; }
.serenity-price-row p { font-size:13px; margin:0; }
.serenity-price-row strong {
  font-family:var(--serenity-display); font-size:clamp(33px,4vw,48px);
  color:#654d57; line-height:1; font-weight:500;
}
.serenity-price-row em { color:#71656a; margin-top:4px; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.serenity-price strong { font-family:var(--serenity-display); color:#654d57; }

/* Sarah's About/Bio is a prominent editorial spread, never a pill cluster. */
.serenity-about-section { background:#f7f2eb; }
.serenity-about-layout { grid-template-columns:minmax(0,1.06fr) minmax(0,.85fr); gap:clamp(38px,6vw,110px); }
.serenity-about-copy { max-width:715px; }
.serenity-about-copy h2 { margin-bottom:30px; }
.serenity-about-copy p,.serenity-about-copy p:first-of-type {
  color:#625960; font-size:15px; line-height:1.91; margin-bottom:19px;
}
.serenity-about-copy p:first-of-type { font-size:17px; color:#352c34; }
.serenity-about-highlights {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0;
  margin:31px 0 29px; border-top:1px solid rgba(50,35,44,.25);
  border-bottom:1px solid rgba(50,35,44,.25);
}
.serenity-about-highlights span {
  display:flex; align-items:center; min-height:75px; padding:14px 16px 14px 0;
  border:0; border-radius:0; background:transparent;
  color:#705b5e; line-height:1.5; font-size:10px; font-weight:750;
  text-transform:uppercase; letter-spacing:.1em;
}
.serenity-about-highlights span+span { padding-left:16px; border-left:1px solid rgba(50,35,44,.18); }
.serenity-about-image-frame {
  min-height:625px; border-radius:0; border:0; box-shadow:none; background:#342934;
}
.serenity-about-image-frame>img { min-height:625px; }
.serenity-about-image-frame:after {
  inset:48% 0 0; background:linear-gradient(180deg,transparent,rgba(23,16,24,.83));
}
.serenity-about-image-label { left:clamp(23px,3vw,40px); right:clamp(23px,3vw,40px); bottom:35px; gap:6px; }
.serenity-about-image-label span { color:#e0c4a3; font-size:9px; font-weight:700; letter-spacing:.22em; }
.serenity-about-image-label strong { font-family:var(--serenity-display); font-size:clamp(32px,3.7vw,50px); color:#fff8f0; font-weight:500; }

/* Contact and booking panels use quiet paper surfaces. */
.serenity-section-bg .serenity-card {
  background:#f5eee5; border:1px solid #cdbbad; padding:clamp(28px,3.2vw,45px);
}
.serenity-section-bg .serenity-card h3,.serenity-section-bg .serenity-card h4 { color:#342a33; }
.serenity-section-bg .serenity-card p { color:#655b5f; }
.serenity-form { gap:13px; }
.serenity-form p { margin:0; }
.serenity-form label {
  display:block; font-family:var(--serenity-text); color:#342a33;
  font-size:10px; font-weight:750; letter-spacing:.09em; text-transform:uppercase;
}
.serenity-form input,.serenity-form textarea,.serenity-form select {
  display:block; width:100%; margin-top:7px; padding:14px 14px;
  background:#fffcf7; border:1px solid #cbbdb4; border-radius:0;
  box-shadow:none; outline:0; font-family:var(--serenity-text); font-size:14px;
  font-weight:400; letter-spacing:normal; text-transform:none; color:#312830;
}
.serenity-form input:focus,.serenity-form textarea:focus,.serenity-form select:focus {
  border-color:#96765b; box-shadow:0 0 0 1px #96765b;
}
.serenity-form textarea { min-height:132px; resize:vertical; }
.serenity-form ::placeholder { color:#847a7e; }
.serenity-form button.serenity-submit { width:100%; margin-top:10px; }
.serenity-success,.serenity-error { border-radius:0; }
.serenity-success { color:#244734; background:#e1ede3; border-color:#b7cbb7; }
.serenity-error { color:#712e35; background:#f7e5e4; border-color:#d9b5b5; }

/* Content / media: no arbitrary rounded Gutenberg blocks. */
.entry-content { overflow:hidden; }
.entry-content>p,.entry-content>h1,.entry-content>h2,.entry-content>h3,.entry-content>ul,.entry-content>ol {
  width:calc(100% - 48px); max-width:960px; margin-left:auto; margin-right:auto;
}
.wp-block-image img,.wp-block-cover,.wp-block-media-text img { border-radius:0; }
.wp-block-separator { border-color:rgba(49,35,43,.25); }
.wp-block-group:not(.alignfull):not(.serenity-section):not(.serenity-hero) { border-radius:0; }

/* Flat, architectural footer with clear section boundaries. */
.serenity-site-footer {
  padding:0 clamp(22px,3.6vw,52px) 30px; background:#211820;
  border-top:4px solid #c5a180; color:#f6ede1;
}
.serenity-site-footer:before,.serenity-footer-glow { content:none; display:none; }
.serenity-footer-cta {
  grid-template-columns:minmax(0,1fr) auto; gap:36px; padding-top:78px; padding-bottom:66px;
}
.serenity-footer-cta h2 { max-width:760px; color:#fff7ee; }
.serenity-footer-cta p { color:rgba(251,242,232,.72); max-width:690px; }
.serenity-site-footer .serenity-kicker { color:#d8b996; }
.serenity-footer-cta-actions { gap:10px; }
.serenity-footer-inner {
  max-width:var(--serenity-max); grid-template-columns:1.4fr .65fr .85fr .9fr;
  gap:clamp(25px,3vw,52px); padding:50px 0 56px;
  border-top:1px solid rgba(250,232,213,.2); border-bottom:1px solid rgba(250,232,213,.2);
}
.serenity-footer-logo { width:70px; height:70px; object-fit:cover; border-radius:0; box-shadow:none; border:1px solid rgba(245,226,202,.28); }
.serenity-footer-inner h3 { font-size:33px; color:#fff8ee; }
.serenity-footer-inner h4 {
  font-family:var(--serenity-text); color:#dec2a5; font-size:10px;
  line-height:1.5; font-weight:800; letter-spacing:.2em; text-transform:uppercase; margin:3px 0 20px;
}
.serenity-footer-inner p,.serenity-footer-links { font-size:13px; line-height:1.9; color:rgba(247,236,226,.67); }
.serenity-footer-badges { gap:8px 17px; margin-top:17px; }
.serenity-footer-badges span {
  padding:0; border:0; border-radius:0; background:none;
  font-size:10px; letter-spacing:.07em; text-transform:uppercase; color:#ceb49a;
}
.serenity-footer-badges span+span:before { content:'·'; padding-right:15px; }
.serenity-footer-links { gap:7px; }
.serenity-footer-links li { padding-left:0; }
.serenity-footer-links li:before { content:none; display:none; }
.serenity-footer-inner a { color:rgba(251,242,233,.74); }
.serenity-footer-inner a:hover { color:#e9d0ae; }
.serenity-footer-bottom { max-width:var(--serenity-max); padding-top:23px; font-size:11px; letter-spacing:.03em; color:rgba(247,235,225,.61); }
.serenity-footer-bottom a { color:#e4c6a5; font-weight:650; }

/* Devices: preserve a usable real menu, spacious cards and readable captions. */
@media (max-width:1170px) {
  .serenity-header-inner { gap:16px; }
  .serenity-nav-panel { gap:13px; }
  .serenity-menu { gap:7px; }
  .serenity-menu a { font-size:9.3px; letter-spacing:.09em; }
  .serenity-brand-copy strong { font-size:25px; }
  .serenity-brand-copy em { display:none; }
}
@media (max-width:920px) {
  .serenity-topbar { display:none; }
  .serenity-header-inner { min-height:77px; }
  .serenity-mobile-toggle {
    display:grid; width:44px; height:44px; padding:11px; gap:4px;
    border:1px solid rgba(255,242,226,.36); border-radius:0;
    background:transparent; box-shadow:none; place-items:center;
  }
  .serenity-mobile-toggle span { width:20px; height:1px; border-radius:0; background:#ead5bd; }
  .serenity-mobile-toggle.is-open span:nth-child(1) { transform:translateY(5px) rotate(45deg); }
  .serenity-mobile-toggle.is-open span:nth-child(3) { transform:translateY(-5px) rotate(-45deg); }
  .serenity-nav { display:none; top:100%; left:0; right:0; padding:0; }
  .serenity-nav.is-open { display:block; }
  .serenity-nav-panel {
    display:grid; gap:22px; padding:23px clamp(22px,3.6vw,52px) 28px;
    background:#221a23; border:0; border-top:1px solid rgba(241,225,207,.23);
    border-radius:0; box-shadow:0 20px 26px rgba(18,11,19,.17);
  }
  .serenity-menu { display:grid; gap:0; }
  .serenity-menu li { border-bottom:1px solid rgba(241,225,207,.16); }
  .serenity-menu a,.serenity-nav>a:not(.serenity-book-btn) {
    display:flex; min-height:50px; width:100%; padding:6px 0;
    border-radius:0; font-size:11px; letter-spacing:.16em;
  }
  .serenity-menu a:after { left:0; right:auto; bottom:8px; width:22px; }
  .serenity-book-btn { width:100%; }
  .serenity-logo-frame { width:54px; height:54px; }
  .serenity-hero { min-height:665px; background-position:65% center; }
  .serenity-hero:before { background:linear-gradient(90deg,rgba(23,16,26,.93),rgba(23,16,26,.74) 55%,rgba(23,16,26,.34)); }
  .serenity-grid,.serenity-grid.two,.serenity-split,.serenity-heading-row { display:grid; grid-template-columns:1fr; }
  .serenity-grid { gap:14px; }
  .serenity-grid.four { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .serenity-grid.four .serenity-card { border-bottom:1px solid var(--serenity-line); }
  .serenity-grid.four .serenity-card:nth-child(2) { border-right:0; }
  .serenity-grid.four .serenity-card:nth-child(n+3) { border-bottom:0; }
  .serenity-grid.four .serenity-card:nth-child(3) { padding-left:0; }
  .serenity-heading-row { gap:10px; }
  .serenity-heading-row>p { max-width:620px; }
  .serenity-panel { min-height:430px; }
  .serenity-about-layout { grid-template-columns:1fr; gap:40px; }
  .serenity-about-copy { max-width:770px; }
  .serenity-about-image-frame,.serenity-about-image-frame>img { min-height:420px; }
  .serenity-footer-cta { grid-template-columns:1fr; }
  .serenity-footer-cta-actions { justify-content:flex-start; }
  .serenity-footer-inner { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  html { scroll-padding-top:76px; }
  .serenity-header-shell { padding:0 19px; }
  .serenity-header-inner { min-height:73px; }
  .serenity-logo-frame { width:49px; height:49px; }
  .serenity-brand-copy strong { font-size:25px; letter-spacing:-.025em; }
  .serenity-wrap { padding:0 22px; }
  .serenity-hero { min-height:625px; background-position:66% center; }
  .serenity-hero:before { background:linear-gradient(90deg,rgba(23,16,26,.94),rgba(23,16,26,.81) 72%,rgba(23,16,26,.49)); }
  .serenity-hero-content { max-width:100%; padding:104px 0 94px; }
  h1 { font-size:clamp(52px,13vw,75px); }
  h2 { font-size:clamp(43px,10vw,60px); }
  h3 { font-size:32px; }
  .serenity-lead { font-size:16px; }
  .serenity-hero .serenity-lead { font-size:16px; }
  .serenity-actions,.serenity-footer-cta-actions { display:flex; flex-direction:column; align-items:stretch; }
  .serenity-actions a,.serenity-footer-cta-actions a { width:100%; }
  .serenity-mini-trust { margin-top:36px; width:100%; flex-wrap:wrap; gap:7px 0; }
  .serenity-mini-trust span { width:auto; padding:0 11px; font-size:9px; justify-content:start; }
  .serenity-mini-trust span:first-child { padding-left:0; }
  .serenity-section { padding:75px 0; }
  .serenity-heading-row { margin-bottom:31px; }
  .serenity-heading-row>p { font-size:13.5px; }
  .serenity-card { padding:28px 24px; }
  .serenity-grid.four { grid-template-columns:1fr; }
  .serenity-grid.four .serenity-card,.serenity-grid.four .serenity-card:first-child,
  .serenity-grid.four .serenity-card:nth-child(3) { padding:24px 0; border-right:0; border-bottom:1px solid var(--serenity-line); }
  .serenity-grid.four .serenity-card:last-child { border-bottom:0; }
  .serenity-grid.four .serenity-icon { font-size:39px; min-height:auto; margin-bottom:7px; }
  .serenity-price-row { grid-template-columns:minmax(0,1fr) auto; gap:15px; padding:19px 0; }
  .serenity-price-row h3 { font-size:28px; }
  .serenity-price-row p { font-size:12px; }
  .serenity-price-row strong { font-size:35px; }
  .serenity-price-row em { font-size:10px; text-align:right; }
  .serenity-split { gap:35px; }
  .serenity-panel { min-height:350px; }
  .serenity-stats { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
  .serenity-stat { padding:5px 9px; }
  .serenity-stat:first-child { padding-left:0; }
  .serenity-stat strong { font-size:32px; }
  .serenity-stat span { font-size:9px; line-height:1.4; display:block; }
  .serenity-about-highlights { grid-template-columns:1fr; margin-top:26px; }
  .serenity-about-highlights span,.serenity-about-highlights span+span {
    min-height:45px; padding:10px 0; border-left:0; border-top:1px solid rgba(50,35,44,.12);
  }
  .serenity-about-highlights span:first-child { border-top:0; }
  .serenity-about-image-frame,.serenity-about-image-frame>img { min-height:380px; }
  .serenity-footer-cta { padding:63px 0 49px; }
  .serenity-footer-inner { grid-template-columns:1fr; gap:23px; padding:34px 0; }
  .serenity-footer-bottom { display:flex; flex-direction:column; gap:5px; font-size:10px; }
  .serenity-site-footer { padding:0 22px 24px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
}


/* v1.4.1 — Top-centred hero layout across all published Serenity pages.
   Overrides the earlier left-aligned, vertically centred cover. Applying it
   to the shared .serenity-hero class also updates existing Gutenberg pages
   without replacing any of their saved page content. */
.serenity-hero {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  text-align:center;
}
.serenity-hero:before {
  background:
    radial-gradient(ellipse 79% 78% at 50% 12%,rgba(19,13,23,.66),transparent 90%),
    linear-gradient(180deg,rgba(19,13,23,.77) 0%,rgba(23,15,27,.61) 48%,rgba(24,17,27,.32) 100%);
}
.serenity-hero > .serenity-wrap {
  width:100%;
  max-width:var(--serenity-max);
  margin-inline:auto;
}
.serenity-hero .serenity-hero-content {
  width:100%;
  max-width:940px;
  margin-inline:auto;
  padding:clamp(36px,4.8vw,66px) 0 62px;
  text-align:center;
}
.serenity-hero .serenity-kicker {
  justify-content:center;
}
.serenity-hero .serenity-kicker:after {
  content:'';
  display:block;
  width:32px;
  height:1px;
  flex:none;
  background:currentColor;
}
.serenity-hero .serenity-hero-content h1,
.serenity-hero .serenity-hero-content h2 {
  max-width:920px;
  margin-left:auto;
  margin-right:auto;
}
.serenity-hero .serenity-lead {
  max-width:740px;
  margin-left:auto;
  margin-right:auto;
}
.serenity-hero .serenity-actions {
  justify-content:center;
}
.serenity-hero .serenity-mini-trust {
  justify-content:center;
  margin-left:auto;
  margin-right:auto;
}
@media (max-width:920px) {
  .serenity-hero:before {
    background:linear-gradient(180deg,rgba(19,13,23,.82),rgba(23,15,27,.68) 52%,rgba(24,17,27,.35));
  }
  .serenity-hero .serenity-hero-content {
    padding:40px 0 55px;
    max-width:760px;
  }
}
@media (max-width:620px) {
  .serenity-hero .serenity-hero-content {
    padding:30px 0 43px;
    max-width:100%;
  }
  .serenity-hero .serenity-hero-content h1 {
    font-size:clamp(46px,11.8vw,65px);
    line-height:.97;
  }
  .serenity-hero .serenity-kicker { gap:10px; }
  .serenity-hero .serenity-kicker:before,
  .serenity-hero .serenity-kicker:after { width:19px; }
  .serenity-hero .serenity-actions { align-items:stretch; }
  .serenity-hero .serenity-mini-trust {
    width:100%;
    justify-content:center;
    gap:9px 0;
  }
  .serenity-hero .serenity-mini-trust span {
    width:auto;
    justify-content:center;
  }
}

/* v1.4.2 — tighter, content-led vertical rhythm.
 * Existing Home/inner-page content is untouched; the shared layout alone is
 * adjusted. This deliberately follows the 1.4.1 top-centred hero overrides. */

/* Gutenberg/global block gap must not create a spacer between our full-width
   hero and the first treatment section. Scope to Serenity blocks only. */
.entry-content > .wp-block-group.alignfull.serenity-hero,
.entry-content > .wp-block-group.alignfull.serenity-section,
.entry-content > section.alignfull.serenity-section {
  margin-block-start:0 !important;
  margin-block-end:0 !important;
}

/* Keep the centre alignment, but bring the first line close to the masthead.
   Short interior-page banners should no longer leave an oversized blank foot. */
.serenity-hero { min-height:clamp(320px,31vw,390px); }
.home .serenity-hero { min-height:clamp(465px,44vw,570px); }
.serenity-hero .serenity-hero-content {
  padding-top:clamp(17px,1.9vw,27px);
  padding-bottom:clamp(30px,3.2vw,44px);
}
.serenity-hero .serenity-kicker { margin-bottom:12px; }
.serenity-hero .serenity-hero-content h1,
.serenity-hero .serenity-hero-content h2 { margin-bottom:13px; }
.serenity-hero .serenity-lead { margin-bottom:0; }
.serenity-hero .serenity-actions { margin-top:23px; }
.serenity-hero .serenity-mini-trust { margin-top:27px; padding-top:13px; }

/* Compact page-to-page rhythm, while retaining readable content density. */
.serenity-section { padding:clamp(54px,5.6vw,79px) 0; }
.serenity-section.compact { padding:clamp(48px,4.8vw,67px) 0; }
.serenity-heading-row { margin-bottom:31px; gap:clamp(22px,3.5vw,50px); }
.serenity-section .serenity-kicker { margin-bottom:14px; }
.serenity-about-copy h2 { margin-bottom:21px; }
.serenity-about-layout { gap:clamp(29px,4vw,66px); }
.serenity-split { gap:clamp(28px,4vw,65px); }
.serenity-footer-cta { padding-top:55px; padding-bottom:47px; }

@media (max-width:920px) {
  .serenity-hero { min-height:340px; }
  .home .serenity-hero { min-height:470px; }
  .serenity-hero .serenity-hero-content { padding:18px 0 34px; }
  .serenity-section { padding:56px 0; }
  .serenity-section.compact { padding:49px 0; }
  .serenity-heading-row { margin-bottom:27px; }
  .serenity-about-layout { gap:28px; }
}
@media (max-width:620px) {
  /* Content-led heights prevent large empty banner areas on short pages. */
  .serenity-hero,
  .home .serenity-hero { min-height:0; }
  .serenity-hero .serenity-hero-content { padding:15px 0 30px; }
  .serenity-hero .serenity-kicker { margin-bottom:10px; }
  .serenity-hero .serenity-hero-content h1,
  .serenity-hero .serenity-hero-content h2 { margin-bottom:12px; }
  .serenity-hero .serenity-actions { margin-top:20px; }
  .serenity-hero .serenity-mini-trust { margin-top:22px; padding-top:12px; }
  .serenity-section { padding:47px 0; }
  .serenity-section.compact { padding:43px 0; }
  .serenity-heading-row { margin-bottom:23px; }
  .serenity-footer-cta { padding-top:47px; padding-bottom:38px; }
}


/* v1.4.3 — Original imagery visibility and image-safe fallbacks.
 * The 1.4.0 colour treatment was masking the supplied photos; the shorter
 * 1.4.2 covers also cropped high-positioned artwork. These rules PRESERVE
 * any hero/section background-image set in the actual WordPress page markup.
 * No auto-builder or media-library changes are made during installation. */

/* Use the original included artwork only on Gutenberg heroes which no longer
 * have a saved background URL. A page's inline custom image takes precedence. */
.serenity-hero:not([style*="background-image"]):not([style*="background:"]) {
  background-image:url('images/hero-30k.jpg');
}
body.serenity-image-services .serenity-hero:not([style*="background-image"]):not([style*="background:"]) {
  background-image:url('images/section-30k.jpg');
}
body.serenity-image-prices .serenity-hero:not([style*="background-image"]):not([style*="background:"]) {
  background-image:url('images/minimal-30k.jpg');
}
body.serenity-image-booking .serenity-hero:not([style*="background-image"]):not([style*="background:"]),
body.serenity-image-contact .serenity-hero:not([style*="background-image"]):not([style*="background:"]) {
  background-image:url('images/booking-30k.jpg');
}
/* Images that were saved to the Gutenberg sections always remain authoritative. */
.serenity-section-bg:not([style*="background-image"]):not([style*="background:"]) {
  background-image:url('images/booking-30k.jpg');
}
.home .serenity-section-bg:not([style*="background-image"]):not([style*="background:"]) {
  background-image:url('images/section-30k.jpg');
}

.serenity-hero {
  background-color:#25172a;
  background-size:cover;
  background-repeat:no-repeat;
  background-position:50% 32%;
}
/* A lighter, even veil works with the centred headings and reveals the photo
 * rather than replacing it visually with solid dark plum. */
.serenity-hero:before {
  background:linear-gradient(180deg,
    rgba(18,11,22,.54) 0%,
    rgba(20,13,24,.35) 50%,
    rgba(22,14,25,.19) 100%);
}
.serenity-hero:after {
  background:linear-gradient(0deg,rgba(16,10,20,.12),transparent 33%);
}
.serenity-hero .serenity-hero-content h1,
.serenity-hero .serenity-hero-content h2 {
  text-shadow:0 2px 20px rgba(10,4,14,.59);
}
.serenity-hero .serenity-lead,
.serenity-hero .serenity-kicker {
  text-shadow:0 2px 12px rgba(10,4,14,.65);
}
/* Bring back the large background pictures in the experience, booking and
 * contact areas, keeping enough shade behind the copy to maintain contrast. */
.serenity-section-bg {
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center 40%;
}
.serenity-section-bg:before {
  background:linear-gradient(90deg,
    rgba(25,15,29,.77) 0%,
    rgba(25,15,29,.61) 43%,
    rgba(25,15,29,.24) 100%);
}
.serenity-panel:after {
  background:linear-gradient(180deg,transparent 65%,rgba(19,10,23,.13));
}
@media (max-width:920px) {
  .serenity-hero { background-position:62% 30%; }
  .serenity-hero:before {
    background:linear-gradient(180deg,
      rgba(17,10,22,.59),rgba(21,12,25,.40) 48%,rgba(21,12,25,.23));
  }
  .serenity-section-bg:before {
    background:linear-gradient(90deg,rgba(25,15,29,.75),rgba(25,15,29,.40));
  }
}
@media (max-width:620px) {
  .serenity-hero { background-position:74% 33%; }
  .serenity-hero:before {
    background:linear-gradient(180deg,
      rgba(16,9,20,.67),rgba(20,12,24,.45) 60%,rgba(20,12,24,.29));
  }
  .serenity-section-bg { background-position:64% center; }
  .serenity-section-bg:before {
    background:linear-gradient(180deg,rgba(24,15,28,.75),rgba(24,15,28,.44));
  }
}

/* v1.4.5 — genuine client photography sections */
.serenity-real-section{position:relative;overflow:hidden}
.serenity-real-section .serenity-real-heading{align-items:end}
.serenity-real-collage,
.serenity-real-gallery{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:18px}
.serenity-real-photo{margin:0;position:relative;overflow:hidden;border-radius:24px;min-height:290px;background:#1d1320;box-shadow:0 20px 60px rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.08)}
.serenity-real-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .6s ease}
.serenity-real-photo:hover img{transform:scale(1.025)}
.serenity-real-photo-wide{min-height:390px}
.serenity-real-collage-space .serenity-real-photo-wide img{object-position:center 52%}
.serenity-real-collage-space .serenity-real-photo:nth-child(2) img{object-position:center 48%}
.serenity-real-collage-space .serenity-real-photo:nth-child(3) img{object-position:center 48%}
.serenity-real-treatment-layout{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(34px,5vw,72px);align-items:center}
.serenity-real-treatment-copy{max-width:570px}
.serenity-real-treatment-copy .serenity-button{margin-top:18px}
.serenity-real-treatment-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:245px 245px;gap:16px}
.serenity-real-treatment-grid .serenity-real-photo{min-height:0;border-radius:22px}
.serenity-real-treatment-grid .serenity-real-photo-tall{grid-row:1 / span 2}
.serenity-real-treatment-grid .serenity-real-photo-tall img{object-position:center 44%}
.serenity-real-treatment-grid .serenity-real-photo:nth-child(2) img{object-position:center 45%}
.serenity-real-treatment-grid .serenity-real-photo:nth-child(3) img{object-position:center 35%}
.serenity-real-gallery-section{background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0))}
.serenity-real-gallery{grid-template-columns:.76fr 1.35fr .9fr}
.serenity-real-gallery .serenity-real-photo{min-height:360px}
.serenity-real-gallery .serenity-real-photo-wide{min-height:360px}
.serenity-real-gallery .serenity-real-photo:nth-child(1) img{object-position:center 48%}
.serenity-real-gallery .serenity-real-photo:nth-child(2) img{object-position:center 52%}
.serenity-real-gallery .serenity-real-photo:nth-child(3) img{object-position:center 46%}
.serenity-about-image-frame.serenity-about-portrait img{object-fit:cover;object-position:center 30%}

@media (max-width:920px){
  .serenity-real-collage,.serenity-real-gallery{grid-template-columns:1fr 1fr}
  .serenity-real-collage .serenity-real-photo-wide,.serenity-real-gallery .serenity-real-photo-wide{grid-column:1/-1}
  .serenity-real-treatment-layout{grid-template-columns:1fr;gap:30px}
  .serenity-real-treatment-copy{max-width:760px}
}
@media (max-width:620px){
  .serenity-real-collage,.serenity-real-gallery{grid-template-columns:1fr;gap:13px}
  .serenity-real-collage .serenity-real-photo-wide,.serenity-real-gallery .serenity-real-photo-wide{grid-column:auto}
  .serenity-real-photo,.serenity-real-photo-wide,.serenity-real-gallery .serenity-real-photo,.serenity-real-gallery .serenity-real-photo-wide{min-height:260px;border-radius:18px}
  .serenity-real-treatment-grid{grid-template-columns:1fr;grid-template-rows:none;gap:13px}
  .serenity-real-treatment-grid .serenity-real-photo,.serenity-real-treatment-grid .serenity-real-photo-tall{grid-row:auto;min-height:300px}
  .serenity-real-treatment-grid .serenity-real-photo:nth-child(2){min-height:235px}
  .serenity-real-heading{display:block}
}


/* v1.4.7 — fix homepage placeholder panel */
.home .serenity-home-experience-panel,
.home .serenity-section-bg .serenity-panel {
  background-image:url('images/real/treatment-room-chair.jpg') !important;
  background-size:cover;
  background-position:center center;
}
