@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--cream:#f6eee2;--ink:#33271e;--accent:#85502d;--line:#d9c9b5;--muted:#6c5948}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 'DM Sans',Arial,sans-serif}a{color:inherit;text-underline-offset:5px}img{max-width:100%;display:block}button{font:inherit}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.08}h1{font-size:clamp(52px,6.8vw,100px);letter-spacing:-2px}h2{font-size:clamp(38px,4vw,58px);letter-spacing:-1px}h3{font-weight:500}em{font-weight:400;color:var(--accent)}p{margin:18px 0}header{display:flex;align-items:center;gap:40px;padding:24px 5%;border-bottom:1px solid var(--line)}.brand{font:42px/1 'Libre Caslon Display',Georgia,serif;text-decoration:none;letter-spacing:-1px}.brand span{display:block;font:9px/1.5 'DM Sans',sans-serif;letter-spacing:2px;margin-top:8px}header nav{display:flex;gap:30px;margin-left:auto}header nav a{text-decoration:none;font-size:14px}header nav a:hover,header nav a[aria-current]{color:var(--accent);text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:36px;background:var(--accent);color:#fff8ee;text-decoration:none;padding:13px 24px;font-size:14px;white-space:nowrap}.button:hover{background:#653a20}.button span{font-size:20px}.eyebrow{display:block;text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:600;margin-bottom:22px}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:680px}.hero-copy{padding:85px 7% 35px 10%;display:flex;flex-direction:column;align-items:flex-start}.hero-copy>p{font-size:19px;max-width:320px;margin:28px 0}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px}.text-link{font-size:14px;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:5px}.hero-foot{font-size:11px;letter-spacing:.6px;margin-top:auto;padding-top:50px;color:var(--muted)}.hero figure{position:relative;margin:30px 6% 30px 0}.hero img{width:100%;height:100%;max-height:650px;object-fit:cover;object-position:center 43%}.hero figcaption{position:absolute;bottom:25px;left:25px;color:white;font:25px Georgia,serif}.signature{padding:90px 8%;background:#eadbc7;display:grid;grid-template-columns:1fr 1fr;gap:80px}.signature p:first-child{margin-top:0}.signature h2{font-size:48px}.offerings{padding:100px 8%}.offerings>h2{margin-bottom:42px}.offerings>a{display:grid;grid-template-columns:50px 220px 1fr 30px;gap:20px;align-items:center;text-decoration:none;border-top:1px solid var(--line);padding:26px 0}.offerings>a:last-child{border-bottom:1px solid var(--line)}.offerings h3{font:40px 'Libre Caslon Display',Georgia,serif}.offerings p{font-size:14px;color:var(--muted);max-width:450px;margin:0}.number{font-size:12px;color:var(--accent)}.offerings>a:hover h3{color:var(--accent)}.personal{margin:0 8% 90px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.portraits{display:flex;justify-content:center;align-items:center;gap:25px;background:#e7d4bb;padding:45px}.portraits img:first-child{width:150px}.portraits img:last-child{width:190px;margin-top:60px}.announcement{padding:55px 8%;background:#e7d4bb}.announcement h2{font-size:36px}.page-heading{padding:75px 8% 50px;max-width:1100px}.page-heading p{max-width:600px;font-size:18px}.section-nav{padding:0 8% 38px;display:flex;flex-wrap:wrap;gap:15px 30px;border-bottom:1px solid var(--line)}.section-nav a{font-size:13px}.treatment{margin:0 8%;padding:60px 0;display:grid;grid-template-columns:1.2fr 1fr;gap:80px;border-bottom:1px solid var(--line);scroll-margin-top:20px}.treatment h2{font-size:44px}.intro{font-size:18px}.treatment aside{padding-top:8px}.prices h3{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:16px}.prices dl{margin:0 0 28px}.prices dl>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:13px 0}.prices dt{font-size:14px}.prices dd{margin:0;white-space:nowrap;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.note{font-size:13px;color:var(--muted);border-left:2px solid var(--accent);padding-left:15px}details{margin-top:25px}summary{cursor:pointer;padding:14px 0;border-top:1px solid var(--line);font-size:14px}.long-copy{font-size:15px;line-height:1.85;max-width:650px}.related{padding:45px 8%}.about{display:grid;grid-template-columns:1.5fr 1fr;gap:100px;padding:30px 8% 90px}.about aside{border-left:1px solid var(--line);padding-left:50px}.about aside img{margin:20px 0;object-fit:cover}.about aside p{font-size:14px}.about aside h3{font-size:22px}footer{background:#33271e;color:var(--cream);padding:60px 6% 25px;display:grid;grid-template-columns:1.3fr 1fr 1.2fr .8fr;gap:35px}footer h2{font:12px 'DM Sans',Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;margin-bottom:22px}footer p,footer a:not(.brand):not(.button){font-size:13px}footer .copyright{grid-column:1/-1;border-top:1px solid #69513c;padding-top:20px;margin:10px 0 0;font-size:11px}.skip{position:absolute;left:10px;top:-100px;padding:10px;background:white;z-index:20}.skip:focus{top:10px}:focus-visible{outline:3px solid #a86732;outline-offset:5px}.menu-toggle{border:0;background:transparent;color:var(--ink);cursor:pointer}
@media(min-width:901px){.menu-toggle{display:none!important}}@media(max-width:900px){header{gap:16px;padding:20px 5%;flex-wrap:wrap}.brand{font-size:35px}.brand span{font-size:8px}header>.button{margin-left:auto;gap:15px;padding:10px 16px}.menu-toggle{order:3;display:block}header nav{order:4;flex-basis:100%;margin:0;gap:0;flex-direction:column}header nav a{padding:13px 0;border-top:1px solid var(--line)}header nav[data-collapsed="true"]{display:none}.hero{min-height:0}.hero-copy{padding:55px 9%}.hero h1{font-size:60px}.hero figure{margin:20px 6% 20px 0}.hero img{max-height:530px}.signature,.personal,.treatment,.about{gap:35px}.signature{padding:65px 6%}.offerings{padding:65px 6%}.offerings>a{grid-template-columns:30px 140px 1fr 20px}.portraits{padding:20px;gap:15px}.portraits img:first-child{width:110px}.portraits img:last-child{width:130px}footer{grid-template-columns:1fr 1fr}.treatment{margin:0 6%;gap:35px}.about{padding:20px 6% 60px}.about aside{padding-left:25px}}
@media(max-width:600px){h1{font-size:55px}.hero{display:block}.hero-copy{padding:48px 6% 32px}.hero h1{font-size:64px}.hero-copy>p{margin:22px 0}.hero-foot{padding-top:28px}.hero figure{margin:0 6% 30px;height:380px}.hero figcaption{font-size:21px;left:20px;bottom:20px}.signature,.personal,.treatment,.about{grid-template-columns:1fr}.signature{gap:30px;padding:50px 6%}.signature h2{font-size:42px}.offerings>a{grid-template-columns:30px 1fr 25px;gap:10px}.offerings h3{font-size:35px}.offerings p{grid-column:2;grid-row:2}.offerings>a>span:last-child{grid-column:3;grid-row:1}.personal{margin:0 6% 60px;gap:30px}.portraits{justify-content:flex-start;padding:30px}.portraits img:first-child{width:120px}.portraits img:last-child{width:150px;margin-top:35px}.page-heading{padding:48px 6% 30px}.page-heading p{font-size:16px}.section-nav{padding:0 6% 25px;gap:12px 20px}.treatment{padding:40px 0;gap:22px}.treatment h2{font-size:39px}.prices dl>div{gap:12px}.prices dt{font-size:13px}.prices dd{font-size:15px}.about aside{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.announcement{padding:40px 6%}.announcement h2{font-size:30px}footer{padding:45px 6% 25px;gap:32px 18px}footer>div:first-child{grid-column:1/-1}footer .button{gap:16px}footer>div:last-of-type{grid-column:1/-1}.actions{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.back-to-top{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));z-index:10;width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line);border-radius:3px;background:var(--cream);color:var(--accent);font-size:28px;line-height:1;cursor:pointer;box-shadow:0 3px 12px #33271e1a}
.back-to-top[hidden]{display:none}
.back-to-top:hover{background:var(--accent);color:var(--cream)}
/* Keep mobile sections full width; leave room below the footer for the top button. */
@media(max-width:900px){main,footer{margin-right:0}.hero{width:100%}footer{padding-bottom:90px}}
/* The wide Royal Massage photograph keeps both pairs of hands in view. */
.hero{grid-template-columns:.85fr 1.35fr;min-height:560px;align-items:center}
.hero-copy{padding:65px 8% 45px 12%}
.hero h1{font-size:clamp(64px,6.6vw,96px)}
.hero-copy>p{font-size:17px;max-width:360px}
.hero figure{margin:30px 6% 30px 0}
.hero img{height:auto;max-height:none;aspect-ratio:1672/941;object-fit:contain}
.hero figcaption{position:static;color:var(--muted);font:italic 17px Georgia,serif;padding:14px 0}
@media(max-width:1000px){.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:45px 6% 25px}.hero-foot{padding-top:25px}.hero figure{margin:0 6% 30px;height:auto}.hero h1{font-size:72px}}
@media(max-width:600px){.hero h1{font-size:clamp(48px,12vw,64px)}.hero-copy>p{font-size:15px}.hero .eyebrow{font-size:10px;letter-spacing:1.4px}.hero figcaption{font-size:14px}.portraits img{min-width:0;max-width:calc(50% - 8px)}.portraits{padding:20px;gap:16px}}
@media(max-width:1000px){.hero-copy{align-items:center;text-align:center}.hero .actions{justify-content:center}.hero-foot{align-self:center}.hero figure{margin-left:auto;margin-right:auto;width:88%;text-align:center}}
@media(max-width:600px){
  .signature,.offerings,.personal,.announcement{text-align:center}
  .signature>div,.personal>div{min-width:0}
  .offerings>a{grid-template-columns:30px 1fr 30px}
  .offerings p{justify-self:center}
  .portraits{justify-content:center}
  footer{text-align:center}
  footer .brand,footer .button{margin-left:auto;margin-right:auto}
}
@media(max-width:900px){
  header>.button{display:none}
  header>.menu-toggle{order:0;margin-left:auto;min-width:64px;min-height:44px;padding:8px 0 8px 12px}
  header>.brand{flex-shrink:0}
  header nav{order:1}
}
.header-brand{display:flex;align-items:center;gap:16px;color:#344b42;letter-spacing:0}
.header-brand img{width:52px;height:59px;flex-shrink:0}
.header-brand .brand-name{font:40px/1.15 'Libre Caslon Display',Georgia,serif;letter-spacing:0;margin:0;white-space:nowrap}
@media(min-width:901px) and (max-width:1200px){header{gap:20px}header nav{gap:16px}.header-brand{gap:10px}.header-brand .brand-name{font-size:30px}.header-brand img{width:42px;height:48px}}
@media(max-width:900px){
  header{gap:10px}
  .header-brand{gap:8px;min-width:0}
  .header-brand img{width:34px;height:39px}
  .header-brand .brand-name{font-size:clamp(17px,4.7vw,30px)}
  header>.menu-toggle{min-width:54px;padding-left:4px;font-size:13px}
}
@media(max-width:360px){.header-brand img{width:28px;height:32px}.header-brand .brand-name{font-size:16px}.header-brand{gap:6px}}
