:root{--ink:#302d37;--muted:#625e67;--plum:#59496c;--paper:#fcfaf6;--lav:#ede8f3;--line:#d8d1dc;--serif:Georgia,'Times New Roman',serif;color:var(--ink);background:var(--paper);font:17px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}body,figure,dl,dd{margin:0}a{color:inherit;text-underline-offset:.24em}a:hover{color:var(--plum)}:focus-visible{outline:3px solid #805cb0;outline-offset:4px}
.wrap{width:min(1160px,90%);margin-inline:auto}.skip{position:absolute;left:1rem;top:-6rem;background:white;padding:.8rem;z-index:2}.skip:focus{top:1rem}
.top,.brand,nav,.foot,.eyebrow,.notice,.button,.hero-photo figcaption{display:flex;align-items:center}.top{min-height:88px;justify-content:space-between;border-bottom:1px solid var(--line);gap:1rem}.brand{gap:10px;text-decoration:none;font:24px/1.06 var(--serif)}.brand small{display:block;text-transform:uppercase;letter-spacing:.16em;font:600 9px/1.9 system-ui;color:var(--plum)}.mark{display:grid;place-items:center;background:var(--lav);border-radius:50%;width:43px;height:43px}.mark svg{width:36px;fill:none;stroke:var(--plum);stroke-width:1.6}
nav{gap:clamp(16px,2.7vw,40px)}nav a{font-size:.86rem;text-decoration:none}nav a:hover{text-decoration:underline}.nav-contact{padding:.45rem 1rem;border:1px solid #b6a9c1;border-radius:30px}.nav-contact span{margin-left:8px}
.hero{padding-block:clamp(45px,6vw,88px);display:grid;align-items:center;grid-template-columns:1.05fr 1fr;gap:5%}.eyebrow{gap:13px;text-transform:uppercase;font-size:.68rem;font-weight:650;letter-spacing:.16em;color:var(--plum);margin:0 0 20px}.eyebrow span{width:30px;height:1px;background:var(--plum)}
h1,h2,h3{font:normal 1em/1.12 var(--serif);letter-spacing:-.035em;margin:0;text-wrap:balance}h1{font-size:clamp(3rem,5.4vw,5.25rem)}h2{font-size:clamp(2.15rem,3.6vw,3.5rem)}h3{font-size:1.55rem}em{font-weight:400;color:var(--plum)}p{margin:.8em 0;color:var(--muted)}.intro{max-width:44ch;font-size:1.08rem;margin:1.25rem 0 1.6rem}.button{display:inline-flex;gap:16px;text-decoration:none;border:none;border-radius:28px;background:var(--plum);color:white;padding:.78rem 1.25rem;font:600 .88rem/1.5 system-ui;cursor:pointer}.button:hover{background:#443650;color:white}.textlink{display:inline-block;margin:.65rem 0 .65rem 1.1rem;font-size:.86rem}
.hero-photo{background:var(--lav);border-radius:48% 48% 10px 10px / 36% 36% 10px 10px;overflow:hidden}.hero-photo img{width:100%;height:clamp(290px,26.5vw,382px);object-fit:cover;object-position:60% 50%;display:block}.hero-photo figcaption{padding:10px 21px;gap:9px;font:italic 1rem var(--serif);color:var(--plum)}.hero-photo figcaption span{font:20px system-ui}.hero-photo figcaption i{margin-left:auto;font:600 .59rem system-ui;letter-spacing:.14em;text-transform:uppercase}
.notice{gap:2rem;border-block:1px solid var(--line);padding:19px 0;align-items:baseline}.notice strong{white-space:nowrap;color:var(--plum);font-size:.85rem}.notice strong span{color:#867199;margin-right:6px;font-size:.65rem}.notice p{margin:0;font-size:.9rem;max-width:84ch}
.section{padding-block:clamp(50px,6vw,88px)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:4%;margin-top:35px}.steps article{border-top:1px solid var(--line);padding-top:16px}.steps article>span{font:italic 1.05rem var(--serif);color:var(--plum)}.steps h3{margin:12px 0}.steps p,.about p{max-width:49ch}.lavender{background:var(--lav)}.pair{display:grid;grid-template-columns:1fr 1fr;gap:9%}.rows{margin-top:24px}.rows>div{display:flex;justify-content:space-between;gap:12px;align-items:baseline;border-bottom:1px solid #cdc4d4;padding:13px 0}.rows dd{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.rows small,.small{font-size:.82rem;line-height:1.55;color:var(--muted)}.rows small{display:block}.hours>div{padding:6px 0}.about{align-items:center}.room img{display:block;width:100%;height:206px;object-fit:cover;border-radius:6px}.credentials{border-block:1px solid var(--line);margin-top:26px;padding:13px 0}.credentials summary{cursor:pointer;color:var(--plum);font-weight:600}.scans{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.scans a{font-size:.8rem}.scans img{width:100%;height:135px;object-fit:contain;display:block;margin-bottom:6px}
.contact{background:#e8ece6}.contact .pair{align-items:center}.contact h2{font-size:clamp(2rem,3.4vw,2.8rem)}
.contact h2+p{max-width:36ch;margin:12px 0 20px}
.contact-list{list-style:none;padding:0;margin:0;max-width:24rem}
.contact-list li{border-top:1px solid #c9d1c6}
.contact-list a{display:grid;grid-template-columns:5.2rem 1fr;align-items:center;min-height:48px;text-decoration:none;color:var(--plum);font-weight:550}
.contact-list a span{font-size:.84rem;font-weight:400;color:var(--muted)}
.contact-list a:hover,.contact-list a:focus-visible{text-decoration:underline}
.map{display:inline-flex;align-items:center;min-height:44px}
.location{padding:clamp(22px,3.5vw,42px);background:var(--paper);border:1px solid #cdd4ca;border-radius:12px}.location address{font:normal 1.22rem/1.55 var(--serif);margin:16px 0 4px}.map{font-size:.9rem;gap:.25em}.foot{gap:1.2rem;justify-content:space-between;padding-block:24px;font-size:.76rem;flex-wrap:wrap}.legal{width:min(760px,90%);margin:0 auto;padding-block:55px}.legal h1{font-size:clamp(2.4rem,5vw,4.3rem)}.legal h2{font-size:1.6rem;margin-top:1.4em}.legal p{overflow-wrap:anywhere}
@media(max-width:760px){.wrap{width:90%}.top{padding-block:14px;min-height:auto;flex-wrap:wrap;gap:12px}.brand{font-size:21px}nav{flex-wrap:wrap;gap:14px}nav a{font-size:.8rem}.hero,.pair{grid-template-columns:1fr;gap:32px}.hero{padding-block:38px}.hero-photo img{height:clamp(210px,54vw,330px)}.hero-photo{border-radius:46% 46% 8px 8px / 32% 32% 8px 8px}.notice{display:block}.notice p{margin-top:6px}.steps{grid-template-columns:1fr;gap:18px}.steps h3{margin:4px 0}.steps article>span{float:right}.steps p{margin-bottom:0}.scans{grid-template-columns:repeat(2,1fr)}.foot{justify-content:flex-start}.foot span{width:100%}}
@media(max-width:490px){.top{display:block}.top nav{margin-top:14px;justify-content:space-between;gap:6px}.nav-contact{padding:.3rem .65rem}.eyebrow{margin-bottom:14px}.textlink{margin-left:.65rem}.room img{height:auto}.hero-photo figcaption{font-size:.9rem}}
