/* ===== Design tokens + base ===== */
.hwss,.hwsf{--bg:#ffffff;--white:#fff;--soft:#f3ebe3;--rose:#1f3b2d;--rose-d:#152a20;--plum:#1f3b2d;--mocha:#7a5f4d;--ink:#2e2a26;--muted:#6f675f;--line:#e6dcd2;--gold:#c39a4a;
  font-family:'Jost',system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;font-size:16px;text-align:left;-webkit-font-smoothing:antialiased}
.hwss *,.hwsf *{box-sizing:border-box;margin:0;padding:0}
.hwss a,.hwsf a{color:inherit;text-decoration:none}
.hwss img{max-width:100%;display:block}
.hwss h1,.hwss h2,.hwss h3,.hwsf h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.1;color:var(--ink);letter-spacing:0;text-transform:none}
.hwss p,.hwss li{color:inherit}
.hwss .wrap,.hwsf .wrap{max-width:1040px;margin:0 auto;padding:0 22px}
.hwss .inner{padding:80px 0;border-bottom:1px solid var(--line)}
.hwss .inner.nb{border-bottom:0}
.hwss .label{font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--rose);display:block;margin-bottom:12px}
.hwss h1{font-size:clamp(42px,6vw,60px);margin-bottom:22px}
.hwss h2{font-size:clamp(32px,4vw,42px);margin-bottom:28px}
.hwss h3{font-size:25px;margin-bottom:6px}
.hwss .lead{color:var(--muted);font-size:17px;max-width:620px}
.hwss .prose p{margin-bottom:16px;color:#4a433d;max-width:720px}
.hwss .prose h2{margin:40px 0 16px;font-size:clamp(28px,3.4vw,34px)}
.hwss .prose h3{margin:26px 0 8px;font-size:23px}
.hwss .prose ul{margin:0 0 18px 20px;color:#4a433d;max-width:720px}
.hwss .prose li{margin-bottom:6px}
.hwss .prose a{color:var(--rose-d);text-decoration:underline;text-underline-offset:3px}
.hwss .btn{display:inline-block;padding:13px 30px;border-radius:3px;font-size:15px;font-weight:400;letter-spacing:.02em;transition:.2s;text-align:center;cursor:pointer;border:0;font-family:inherit}
.hwss .btn-fill{background:var(--rose);color:#fff!important}.hwss .btn-fill:hover{background:var(--rose-d)}
.hwss .btn-line{border:1.5px solid var(--ink);color:var(--ink);background:transparent}.hwss .btn-line:hover{background:var(--ink);color:#fff!important}
.hwss .ctas,.hwss .after{display:flex;gap:16px;flex-wrap:wrap}
.hwss .after{margin-top:30px}
.hwss .ctas .btn,.hwss .after .btn{min-width:150px}
.hwss .cap{display:block;margin-top:8px;font-size:12px;font-style:italic;color:var(--muted)}
.hwss .img{border-radius:6px;background-color:var(--soft);background-position:center;background-size:cover}
.hwss .tag{display:inline-block;font-size:13px;color:var(--rose-d);border:1px solid var(--line);border-radius:30px;padding:4px 12px;background:#fff}
.hwss .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.hwss .note{background:var(--soft);border-radius:6px;padding:20px 22px;font-size:15px;color:#4a433d}
.hwss .note strong{color:var(--ink);font-weight:500}

/* ===== Header (embedded at the top of every page body) ===== */
.hwss .head{border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:20}
.hwss .head .wrap{display:flex;justify-content:space-between;align-items:center;height:86px;max-width:1180px}
.hwss .brand{line-height:1}
.hwss .logo,.hwsf .logo{display:inline-flex;flex-direction:column;align-items:center;line-height:1;text-decoration:none}
.hwss .logo .lw,.hwsf .logo .lw{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:25px;letter-spacing:.14em;margin-right:-.14em;color:var(--plum);white-space:nowrap}
.hwss .logo .ls,.hwsf .logo .ls{display:flex;align-items:center;gap:9px;margin-top:7px;font-family:'Jost',sans-serif;font-weight:500;font-size:9.5px;letter-spacing:.6em;margin-right:-.6em;color:var(--mocha)}
.hwss .logo .ls::before,.hwss .logo .ls::after,.hwsf .logo .ls::before,.hwsf .logo .ls::after{content:"";width:28px;height:1px;background:#d6c6b8}
.hwss .sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hwss .head nav.main{display:flex;gap:26px;align-items:center;font-size:15px}
.hwss .head nav.main a:not(.btn):hover,.hwss .head nav.main a[aria-current]{color:var(--rose)}
.hwss .head .btn{padding:9px 22px;font-size:15px}
.hwss .menu{display:none}
.hwss .menu summary{list-style:none;cursor:pointer;width:44px;height:44px;display:grid;place-items:center;font-size:24px;color:var(--ink)}
.hwss .menu summary::-webkit-details-marker{display:none}
.hwss .menu[open] summary{color:var(--rose)}
.hwss .menu nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(46,35,40,.08);padding:8px 22px 22px;display:flex;flex-direction:column}
.hwss .menu nav a{padding:12px 0;border-bottom:1px solid var(--line);font-size:16px}
.hwss .menu nav .btn{margin-top:16px;border:0}

/* ===== Home hero ===== */
.hwss .hero .inner{padding:64px 0 60px}
.hwss .hero .grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.hwss .hero .copy{padding-top:18px}
.hwss .hero h1{margin-bottom:24px}
.hwss .hero .lead{margin-bottom:28px;max-width:440px}
.hwss .hero .ctas{margin-bottom:24px}
.hwss .stars{font-size:14.5px;color:var(--muted)}
.hwss .stars b{color:var(--gold);font-weight:400;letter-spacing:2px;margin-right:8px}
.hwss .hero .img{aspect-ratio:4/5}

/* ===== Inner-page title band ===== */
.hwss .pagehead .inner{padding:64px 0 48px}
.hwss .pagehead .lead{margin-bottom:26px}
.hwss .split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.hwss .split .img{aspect-ratio:4/5}
.hwss .split.wide{grid-template-columns:.85fr 1.15fr}
.hwss .split.wide .img{aspect-ratio:16/15}

/* ===== Lists of services ===== */
.hwss .svc-list{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.hwss .svc-item{padding:20px 0 26px;border-top:1px solid var(--line)}
.hwss .svc-item p{color:var(--muted);font-size:14.5px}
.hwss .svc-item a.more{display:inline-block;margin-top:8px;font-size:14px;color:var(--rose-d)}
.hwss .svc-item a.more:hover{text-decoration:underline}
.hwss .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;counter-reset:s}
.hwss .step{border-top:1px solid var(--line);padding-top:18px}
.hwss .step::before{counter-increment:s;content:"0" counter(s);display:block;font-family:'Cormorant Garamond',serif;font-size:30px;color:var(--rose);margin-bottom:6px}
.hwss .step p{color:var(--muted);font-size:15px}

/* ===== Blush band ===== */
.hwss .band{background:var(--soft)}
.hwss .band .inner{border:0}
.hwss .band p{color:#57504a}

/* ===== Reviews ===== */
.hwss .revs{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.hwss .rev .st{color:var(--gold);letter-spacing:2px;font-size:17px}
.hwss .rev blockquote{font-family:'Cormorant Garamond',Georgia,serif;font-size:21px;font-style:italic;margin:10px 0 14px;line-height:1.3}
.hwss .rev span{font-size:14px;color:var(--muted)}

/* ===== FAQ ===== */
.hwss .faq{max-width:780px}
.hwss .faq details{border-top:1px solid var(--line)}
.hwss .faq details:last-child{border-bottom:1px solid var(--line)}
.hwss .faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;position:relative;font-family:'Cormorant Garamond',serif;font-size:23px;line-height:1.25}
.hwss .faq summary::-webkit-details-marker{display:none}
.hwss .faq summary::after{content:"+";position:absolute;right:4px;top:16px;font-family:'Jost',sans-serif;font-size:24px;color:var(--rose)}
.hwss .faq details[open] summary::after{content:"–"}
.hwss .faq .a{padding:0 0 22px;color:#4a433d;font-size:15.5px;max-width:700px}
.hwss .faq .a p{margin-bottom:10px}
.hwss .faq .a a{color:var(--rose-d);text-decoration:underline}
.hwss .faq-group{margin-bottom:46px}
.hwss .faq-group h2{font-size:30px;margin-bottom:12px}

/* ===== Visit / contact ===== */
.hwss .visit .grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.hwss dl.nap{display:grid;grid-template-columns:95px 1fr;gap:10px;font-size:15px}
.hwss dl.nap dt{color:var(--rose);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;padding-top:2px}
.hwss dl.nap dd{margin:0}
.hwss dl.nap dd a:hover{color:var(--rose)}
.hwss table.hours{width:100%;border-collapse:collapse;font-size:14.5px;margin-top:8px}
.hwss table.hours td{padding:6px 0;border:0;border-bottom:1.5px solid var(--line);color:var(--ink)}
.hwss table.hours td:last-child{text-align:right}
.hwss .map{margin-top:40px;border-radius:6px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/7;background:var(--soft)}
.hwss .map iframe{width:100%;height:100%;border:0;display:block}

/* ===== Gallery (code version, optional) ===== */
.hwss .gal{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hwss .gal figure{margin:0}
.hwss .gal .img{aspect-ratio:4/5}
.hwss .gal figcaption{font-size:13px;color:var(--muted);margin-top:6px}

/* ===== Booking page frame (widget styles load from booking.css) ===== */
.hwss .book-shell{min-height:520px}
.hwss .book-fallback{margin-top:18px;font-size:14.5px;color:var(--muted)}
.hwss .book-fallback a{color:var(--rose-d);text-decoration:underline}

/* ===== Footer (Squarespace footer code block) ===== */
.hwsf{background:var(--bg);color:var(--muted);font-size:14.5px;line-height:1.6;border-top:1px solid var(--line)}
.hwsf a:hover{color:var(--rose)}
.hwsf .wrap{max-width:1180px}
.hwsf .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;padding:56px 0 36px}
.hwsf .logo{margin-bottom:16px}
.hwsf .logo .lw{font-size:22px}
.hwsf h2{font-size:13px;font-family:'Jost',sans-serif;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--rose);margin-bottom:12px}
.hwsf ul{list-style:none}
.hwsf li{margin-bottom:6px}
.hwsf address{font-style:normal}
.hwsf .ink{color:var(--ink)}
.hwsf .btn{display:inline-block;margin-top:14px;padding:10px 24px;border-radius:3px;background:var(--rose);color:#fff!important;font-size:14.5px}
.hwsf .btn:hover{background:var(--rose-d)}
.hwsf .bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:18px 0 22px;border-top:1px solid var(--line);font-size:13.5px}
.hwsf .bar nav{display:flex;gap:20px;flex-wrap:wrap}
.hwsf .credit{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic}

/* ===== Blog pages (Squarespace blog list + posts) use our header and the site's look ===== */

/* small accent labels use mocha */
.hwss .label,.hwss dl.nap dt,.hwss .step::before,.hwss .faq summary::after,.hwsf h2{color:var(--mocha)}

/* ===== Mobile ===== */
@media(max-width:1024px){
  .hwss .head nav.main{display:none}
  .hwss .menu{display:block}
  .hwss .head .wrap{height:72px}
  .hwss .logo .lw{font-size:19px}
  .hwss .logo .ls{font-size:8.5px;margin-top:6px}
  .hwss .logo .ls::before,.hwss .logo .ls::after{width:20px}
}
@media(max-width:820px){
  .hwss .hero .grid,.hwss .visit .grid,.hwss .svc-list,.hwss .split,.hwss .split.wide{grid-template-columns:1fr;gap:36px}
  .hwss .svc-list{gap:0}
  .hwss .revs,.hwss .steps{grid-template-columns:1fr;gap:30px}
  .hwss .gal{grid-template-columns:1fr 1fr}
  .hwss .inner,.hwss .hero .inner,.hwss .pagehead .inner{padding:56px 0}
  .hwss .hero .copy{padding-top:0}
  .hwss .map{aspect-ratio:4/3}
  .hwsf .cols{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:520px){
  .hwsf .cols{grid-template-columns:1fr}
  .hwsf .bar{flex-direction:column;align-items:flex-start}
}

/* ===== Static site (Cloudflare) ===== */
html,body{margin:0;padding:0;background:#ffffff}
body{overflow-x:hidden}
.hwss,.hwsf{width:auto;left:auto;margin-left:0}
.skip{position:absolute;left:-9999px;top:8px;z-index:99;background:#1f3b2d;color:#fff;padding:10px 16px;font-family:'Jost',sans-serif}
.skip:focus{left:12px}
/* Blog */
.hwss .posts{display:grid;gap:22px;margin-top:34px}
.hwss .post-card{display:block;border:1px solid var(--line);border-radius:4px;padding:28px 30px;background:#fff;transition:border-color .2s,box-shadow .2s}
.hwss .post-card:hover{border-color:var(--rose);box-shadow:0 6px 22px rgba(31,59,45,.07)}
.hwss .post-card .meta,.hwss .post-meta{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mocha)}
.hwss .post-card h2{font-size:30px;margin:8px 0 10px}
.hwss .post-card p{color:var(--muted)}
.hwss .post-card .more{display:inline-block;margin-top:14px;color:var(--rose);text-decoration:underline;font-size:15px}
.hwss .post-meta{margin-bottom:6px}
.hwss .prose{max-width:720px;font-size:17px;line-height:1.75}
.hwss .prose p{margin:0 0 18px}
.hwss .prose h2{font-size:34px;margin:44px 0 14px}
.hwss .prose h3{font-size:24px;margin:30px 0 8px}
.hwss .prose ul,.hwss .prose ol{margin:0 0 20px 22px}
.hwss .prose li{margin-bottom:8px;list-style:disc}
.hwss .prose ol li{list-style:decimal}
.hwss .prose a{color:var(--rose);text-decoration:underline}
.hwss .prose strong{font-weight:500;color:var(--ink)}
.hwss .prose blockquote{margin:24px 0;padding:18px 22px;background:var(--soft);border-left:3px solid var(--rose);border-radius:0 4px 4px 0}
.hwss .prose blockquote p{margin:0}
.hwss .back{display:inline-block;margin-top:34px;color:var(--rose);text-decoration:underline}
