:root{--ivory:#fbf8f3;--paper:#fffdf9;--ink:#25211e;--taupe:#766d65;--sand:#e9dfd4;--gold:#a78b62;--line:#e3d9cf;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);line-height:1.7}a{color:inherit}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.nav{position:sticky;top:0;z-index:20;background:rgba(251,248,243,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.navin{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{font:italic 34px var(--serif);text-decoration:none}.menu{display:flex;gap:24px;align-items:center}.menu a{text-decoration:none;font-size:13px;letter-spacing:.04em}.drop{position:relative}.dropmenu{display:none;position:absolute;top:26px;left:-18px;background:var(--paper);border:1px solid var(--line);min-width:245px;padding:10px;box-shadow:0 16px 35px #0001}.drop:hover .dropmenu{display:block}.dropmenu a{display:block;padding:9px 10px}.book{background:var(--ink);color:white!important;padding:11px 18px;border-radius:999px}.hero{padding:78px 0 70px}.heroGrid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.kicker{text-transform:uppercase;letter-spacing:.2em;font-size:11px;color:var(--gold)}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(48px,6vw,78px);line-height:1.02;margin:18px 0}h2{font-size:clamp(34px,4vw,52px);line-height:1.1;margin:10px 0 18px}h3{font-size:25px;margin:8px 0}.lead{font-size:18px;color:var(--taupe);max-width:610px}.hero img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:180px 180px 18px 18px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-block;text-decoration:none;border:1px solid var(--ink);padding:12px 20px;border-radius:999px;font-size:13px}.btn.fill{background:var(--ink);color:white}.section{padding:80px 0}.soft{background:#f1e9e1}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden}.card img{width:100%;height:250px;object-fit:cover}.cardbody{padding:22px}.card p{color:var(--taupe);font-size:14px}.link{text-decoration:none;border-bottom:1px solid var(--gold);font-size:13px}.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.split img{width:100%;max-height:590px;object-fit:cover;border-radius:18px}.results{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.results img{width:100%;height:300px;object-fit:cover;border-radius:14px}.note{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:22px;color:var(--taupe)}.pagehero{padding:65px 0 40px}.treatments{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.treatment{display:grid;grid-template-columns:160px 1fr;background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden}.treatment img{width:100%;height:100%;min-height:190px;object-fit:cover}.treatment .copy{padding:22px}.treatment p{font-size:14px;color:var(--taupe);margin:8px 0}.package{background:var(--paper);border:1px solid var(--line);padding:30px;border-radius:18px;margin:16px 0}.package .price{font:34px var(--serif);color:var(--gold)}details{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:0 20px;margin:12px 0}summary{cursor:pointer;padding:18px 0;font-weight:600}details p{color:var(--taupe);margin-top:0}.footer{background:var(--ink);color:#eee7df;padding:55px 0 30px;margin-top:60px}.footgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px}.footer p,.footer a{color:#cfc5bb;font-size:13px}.mobile{display:none}@media(max-width:800px){.menu>a:not(.book),.drop{display:none}.heroGrid,.split,.grid3,.treatments,.results,.footgrid{grid-template-columns:1fr}.hero{padding-top:42px}.hero img{max-height:520px}.results img{height:auto}.treatment{grid-template-columns:120px 1fr}.mobile{display:block}.section{padding:58px 0}}

/* Mobile navigation */
.mobile-toggle{display:none;background:transparent;border:0;padding:8px;margin:0;cursor:pointer;width:42px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.mobile-toggle span{display:block;width:22px;height:1.5px;background:var(--ink);transition:transform .25s ease,opacity .25s ease}
.mobile-toggle.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.mobile-toggle.open span:nth-child(2){opacity:0}
.mobile-toggle.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.drop-toggle{background:transparent;border:0;color:var(--ink);font:inherit;font-size:13px;letter-spacing:.04em;padding:0;cursor:pointer}
@media(max-width:800px){
  .navin{height:68px;position:relative}
  .mobile-toggle{display:flex}
  .menu{display:none;position:absolute;top:68px;left:-20px;right:-20px;background:var(--ivory);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 20px 18px;box-shadow:0 16px 28px rgba(37,33,30,.08);flex-direction:column;align-items:stretch;gap:0}
  .menu.open{display:flex}
  .menu>a,.drop{display:block!important}
  .menu>a{padding:13px 2px;border-bottom:1px solid var(--line);font-size:14px}
  .menu .book{margin-top:14px;border-bottom:0;text-align:center;padding:13px 18px}
  .drop{border-bottom:1px solid var(--line)}
  .drop-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:13px 2px;font-size:14px;text-align:left}
  .dropmenu{display:none;position:static;min-width:0;background:transparent;border:0;box-shadow:none;padding:0 0 8px 12px}
  .drop:hover .dropmenu{display:none}
  .drop.open .dropmenu{display:block}
  .dropmenu a{padding:9px 0;font-size:13px;color:var(--taupe)}
}

/* Secondary pages kept out of the desktop header */
.mobile-extra{display:none}
.accordion-grid{max-width:900px}
.aftercare-note{margin-top:28px;max-width:900px}
.reviewgrid,.bloggrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.reviewcard,.blogcard{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:26px}
.reviewcard p,.blogcard p{color:var(--taupe)}
.stars{color:var(--gold);letter-spacing:.12em;margin-bottom:10px}
@media(max-width:800px){.mobile-extra{display:block!important}.reviewgrid,.bloggrid{grid-template-columns:1fr}}

.downtime{margin-top:14px;padding-top:12px;border-top:1px solid rgba(85,3,3,.12);font-size:.94rem;line-height:1.55}
.downtime strong{font-weight:650}
.smallnote{max-width:760px;margin-top:10px;font-size:.9rem;opacity:.72}
