:root{--paper:#f6f3ed;--ink:#244740;--text:#424d47;--olive:#748069;--line:#c5c9bc;--soft:#e3e5d8;--bronze:#92765b;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--text);font:17px/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:hover{color:var(--bronze)}button{font:inherit}img{max-width:100%;height:auto;display:block;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--ink);line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(2.7rem,5.5vw,5.5rem)}h2{font-size:clamp(2rem,3.4vw,3.5rem)}h3{font-size:clamp(1.65rem,2.2vw,2.5rem)}p{margin-bottom:1.3em}.container{width:min(1240px,calc(100% - 112px));margin-inline:auto}.skip{position:absolute;left:20px;top:-100px;background:var(--ink);color:white;padding:12px;z-index:100}.skip:focus{top:10px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--bronze);outline-offset:6px}.header{height:114px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;color:var(--ink);font-family:var(--serif);font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.15;letter-spacing:-.03em}.brand span{display:block;font:12px/2 var(--sans);letter-spacing:.2em;margin-top:3px;text-transform:uppercase}.nav{display:flex;align-items:center;gap:30px;font-size:15px}.nav a{text-decoration:none}.nav a:hover{text-decoration:underline}.menu-toggle{display:none;border:1px solid var(--line);padding:8px 14px;background:transparent;border-radius:2px;color:var(--ink)}.hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:40px;padding:32px 0 70px;min-height:620px}.hero h1{margin-bottom:28px;font-size:clamp(3.5rem,5.5vw,5.35rem)}.hero h1 em{font-weight:400}.hero p{font-size:19px;max-width:480px}.hero-photo{height:545px;width:100%;border-radius:5px 155px 5px 5px;object-position:50% 65%}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--ink);color:white;min-height:52px;padding:12px 23px;border:1px solid var(--ink);border-radius:3px;text-decoration:none;font-size:16px;transition:background .2s}.button:hover{background:#34594f;color:white}.button.outline{background:transparent;border-color:currentColor;color:inherit}.text-link{display:inline-flex;gap:10px;align-items:center;font-family:var(--serif);font-size:19px;color:var(--ink)}.arrow{height:22px;width:22px;flex:none;vertical-align:middle}.section{padding:80px 0}.section-title{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:start;margin-bottom:36px}.section-title h2{margin:0}.section-title p{max-width:380px;margin:6px 0 0}.offer-row{display:grid;grid-template-columns:1.15fr 1fr 24px;gap:22px;padding:27px 0;border-top:1px solid var(--line);align-items:center;text-decoration:none;color:var(--ink)}.offer-row:last-child{border-bottom:1px solid var(--line)}.offer-row h3{font-size:clamp(1.5rem,2.3vw,2.1rem);margin:0;letter-spacing:-.04em}.offer-row p{font-size:16px;margin:0;color:var(--text)}.offer-row:hover h3{color:var(--bronze)}.about-band{background:var(--soft);padding:70px 0}.about{display:grid;grid-template-columns:.75fr 1.25fr;align-items:center;gap:90px}.portrait{width:100%;aspect-ratio:1/1.13;border-radius:4px;object-position:60% 50%}.about h2{margin-bottom:24px}.about p{max-width:620px}.signature{font-family:var(--serif);font-style:italic;font-size:30px;color:var(--ink);margin:18px 0}.qualifications{border-top:1px solid #bac2b2;padding-top:15px;margin-top:26px}.qualifications summary{cursor:pointer;font-size:16px}.qualifications ul{font-size:15px;padding-left:20px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:45px}.gallery img{width:100%;aspect-ratio:16/9;border-radius:4px}.gallery figure{margin:0}.gallery figcaption{font-size:14px;margin-top:10px;color:#596652}.gift-band{padding:75px 0;display:flex;align-items:center;justify-content:space-between;gap:32px}.gift-band h2{margin-bottom:14px}.gift-band p{margin:0}.footer{background:var(--ink);color:var(--paper);padding:65px 0 24px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:45px}.footer h2{color:inherit;font-size:clamp(2rem,3.7vw,3.2rem);max-width:650px;margin:0}.footer a:hover{color:#dadfc9}.footer-bottom{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid #789184;padding-top:24px;font-size:14px}.footer-bottom p{margin:0}.footer-links{display:flex;gap:22px}.footer-links a{text-decoration:none}.breadcrumb{font-size:14px;margin-bottom:34px}.breadcrumb a{text-decoration:none}.page-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center;padding:40px 0 72px}.page-hero h1{margin-bottom:26px}.page-hero p{font-size:18px;max-width:620px}.page-hero img{height:410px;width:100%;border-radius:4px 100px 4px 4px}.page-hero.no-image{display:block;max-width:850px;margin-inline:auto}.page-hero.no-image h1{font-size:clamp(2.7rem,5vw,4.5rem)}.treatments{padding:15px 0 75px}.treatment{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;padding:36px 0;border-top:1px solid var(--line)}.treatment h2{font-size:2rem;margin-bottom:12px}.treatment .sub{font-size:16px;color:var(--olive);margin-bottom:12px}.treatment p:last-child{margin:0}.prices{margin:0;align-self:center}.price-row{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:11px 0;border-bottom:1px solid var(--line)}.treatment .price-row:last-child{border-bottom:0}.price-row dt{font-size:16px;max-width:78%}.price-row dd{font-family:var(--serif);font-size:1.9rem;color:var(--ink);white-space:nowrap;margin:0}.notes-band{background:var(--soft);padding:60px 0}.notes-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.notes-layout h2{max-width:340px}.notes-list{margin:0;padding-left:20px}.notes-list li{padding:3px 0}.disclosure{border-top:1px solid #b3bcab;margin-top:25px;padding-top:20px}.disclosure summary{cursor:pointer;color:var(--ink);font-weight:600}.disclosure p{margin:20px 0 0}.closing{padding:65px 0;display:flex;justify-content:space-between;align-items:center;gap:25px}.closing h2{font-size:2.3rem;margin:0}.closing p{margin:12px 0 0}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-bottom:80px}.contact-layout h2{font-size:2rem}.contact-list{margin:30px 0}.contact-list a{display:block;overflow-wrap:anywhere;font-size:19px;margin-bottom:10px}.address{font-style:normal}.contact-aside{background:var(--soft);padding:34px 38px;border-radius:3px}.contact-aside ul{padding-left:20px;margin-bottom:0}.contact-aside li{margin-bottom:14px}.legal{max-width:820px;padding:25px 0 85px}.legal h1{font-size:3.2rem;margin-bottom:40px}.legal h2{font-size:1.7rem;margin-top:38px}.legal h3{font-size:1.3rem;letter-spacing:0}.legal p,.legal li{overflow-wrap:anywhere}.draft{padding:20px 24px;background:#e9e2d4;border-left:3px solid var(--bronze);font-size:16px}.gift-image{object-fit:contain!important;transform:none;background:#e9e5de}.steps{counter-reset:steps;list-style:none;padding:0}.steps li{border-top:1px solid var(--line);padding:25px 0 25px 48px;position:relative}.steps li:before{counter-increment:steps;content:'0' counter(steps);position:absolute;left:0;color:var(--olive)}.steps h2{font-size:1.65rem;margin-bottom:10px}.steps p{margin:0}.muted{color:#66725e}.small{font-size:14px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1500px){.hero{gap:70px}}@media(max-width:1100px){.container{width:calc(100% - 64px)}.nav{gap:20px}.hero{gap:25px;min-height:570px}.hero h1{font-size:4.1rem}.hero-photo{height:490px}.about{gap:50px}.page-hero{gap:40px}.section-title{gap:40px}.offer-row{grid-template-columns:1.3fr 1fr 22px;gap:15px}.contact-layout{gap:40px}}@media(max-width:760px){html{scroll-padding-top:24px}.container{width:calc(100% - 40px)}.header{height:auto;min-height:94px;flex-wrap:wrap;position:relative;padding-block:20px;gap:14px}.brand{font-size:1.45rem}.brand span{font-size:11px;letter-spacing:.15em}.menu-toggle{display:block;font-size:14px}.nav{display:flex;width:100%;flex-wrap:wrap;gap:14px 25px;padding:15px 0 8px;border-top:1px solid var(--line)}.js .nav{display:none}.js .nav.is-open{display:flex}.hero{display:flex;flex-direction:column;gap:32px;padding:30px 0 45px;min-height:0;align-items:stretch}.hero h1{font-size:clamp(2.9rem,9.4vw,4.25rem);margin-bottom:24px}.hero p{font-size:17px;max-width:400px}.hero-photo{height:340px;border-top-right-radius:95px;object-position:50% 67%}.actions{gap:18px;margin-top:25px}.button{padding:11px 17px;font-size:15px}.text-link{font-size:18px}.section{padding:45px 0}.section-title{display:block;margin-bottom:30px}.section-title p{margin-top:18px}.offer-row{grid-template-columns:1fr 22px;gap:12px;padding:23px 0}.offer-row h3{font-size:1.55rem;overflow-wrap:anywhere}.offer-row p{grid-column:1;grid-row:2;font-size:15px}.offer-row .arrow{grid-column:2;grid-row:1 / 3}.about-band{padding:40px 0}.about{display:flex;flex-direction:column;gap:30px;align-items:stretch}.portrait{height:330px;aspect-ratio:auto;object-position:50% 45%}.gallery{gap:20px;grid-template-columns:1fr;margin-top:35px}.gift-band{display:block;padding:45px 0}.gift-band .text-link{margin-top:22px}.footer{padding:45px 0 25px}.footer-top{display:block;padding-bottom:30px}.footer-top .button{margin-top:25px}.footer-bottom{display:block;font-size:13px}.footer-links{margin-top:14px}.breadcrumb{margin-bottom:24px}.page-hero{display:flex;flex-direction:column;align-items:stretch;gap:28px;padding:25px 0 42px}.page-hero h1{font-size:clamp(2.5rem,9vw,3.8rem);overflow-wrap:anywhere}.page-hero img{height:290px;border-top-right-radius:80px}.page-hero p{font-size:17px}.treatments{padding:0 0 40px}.treatment{display:block;padding:28px 0}.prices{margin-top:20px}.notes-band{padding:40px 0}.notes-layout{display:block}.notes-layout h2{max-width:none;margin-bottom:24px}.closing{display:block;padding:45px 0}.closing .button{margin-top:24px}.closing h2{font-size:2rem}.contact-layout{display:block;padding-bottom:45px}.contact-aside{padding:25px;margin-top:30px}.legal{padding-top:15px}.legal h1{font-size:2.65rem}.legal h2{margin-top:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.header,.footer,.actions,.closing,.skip{display:none}.container{width:100%}body{background:white;color:black;font-size:12pt}.page-hero{padding:10px 0;min-height:0}.page-hero img{height:180px}.treatment{break-inside:avoid}.section,.notes-band{padding:20px 0}.disclosure{display:block}a{text-decoration:none}}

/* Self-hosted Allura (SIL Open Font License), used for the requested handwriting accents. */
@font-face{font-family:'Allura';src:url('/assets/Allura-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
.brand{font-family:'Allura','Brush Script MT',cursive;font-size:clamp(2rem,3vw,2.8rem);font-weight:400;line-height:1.05;letter-spacing:0}
.brand span{font-family:var(--sans);font-style:normal}
@media(max-width:760px){.header{gap:8px}.brand{font-size:clamp(1.55rem,5.5vw,2.1rem);max-width:calc(100% - 62px)}.menu-toggle{padding-inline:10px;margin-left:auto}}
#massagen .section-title h2{font-family:'Allura','Brush Script MT',cursive;font-size:clamp(3.65rem,6vw,6rem);line-height:1;letter-spacing:0;padding:.08em 0 .12em}
#massagen .section-title p{font-family:'Allura','Brush Script MT',cursive;font-size:clamp(2rem,3vw,2.8rem);line-height:1.16;letter-spacing:0;color:var(--ink);max-width:440px}
.signature{margin:22px 0 25px;color:var(--ink)}
.signature p{margin:0}
.signature-greeting{font:700 14px/1.5 var(--sans);letter-spacing:.22em}
.signature-meaning{font:italic 20px/1.4 var(--serif);margin-top:4px!important}
.signature-name{font-family:'Allura','Brush Script MT',cursive;font-size:clamp(3.6rem,5.5vw,5rem);line-height:1.12;letter-spacing:0;margin-top:6px!important}
@media(max-width:760px){#massagen .section-title h2{font-size:clamp(2.55rem,10.5vw,4.25rem)}#massagen .section-title p{font-size:clamp(2rem,8vw,2.65rem);margin-top:8px}.signature-meaning{font-size:18px}.signature-name{font-size:4rem}}

.party-photo.container{width:min(420px,calc(100% - 40px));margin:0 auto 64px}.party-photo img{width:100%;height:auto;border-radius:50%}@media(max-width:760px){.party-photo.container{width:min(340px,calc(100% - 40px));margin:0 auto 40px}}

.party-copy.container{max-width:850px;padding-bottom:48px}.party-copy p{font-size:18px;line-height:1.8;margin-bottom:1.4em}.party-copy p:last-child{margin-bottom:0}@media(max-width:760px){.party-copy.container{padding-bottom:36px}.party-copy p{font-size:16px}}

.voucher-hero h1{font-size:clamp(1.65rem,6.5vw,4rem);overflow-wrap:normal;word-break:normal}.voucher-hero .voucher-visual{position:relative;width:100%;aspect-ratio:464/309}.voucher-hero .voucher-visual img{position:absolute;left:16.7%;top:-25%;width:66.6%;height:150%;max-width:none;object-fit:contain;background:transparent;padding:0;border-radius:0;transform:rotate(90deg)}

@media(max-width:760px){.contact-hero h1{font-size:clamp(1.6rem,6vw,2.3rem);line-height:1.16;overflow-wrap:normal;word-break:normal}}
