:root{--ink:#541525;--cream:#fcf7f2;--muted:#76615f;--line:#d9c8c1;--nude:#eee0d5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #b94860;outline-offset:6px}.skip{position:absolute;left:16px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:16px}.announcement{background:var(--ink);color:#fff2e5;text-align:center;padding:10px 20px;font-size:12px;letter-spacing:2px}.announcement span{padding:0 16px}header{max-width:1440px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:25px 5%;gap:24px}.wordmark{display:flex;flex-direction:column;line-height:1.1}.wordmark span{font-family:Georgia,serif;font-size:33px;letter-spacing:-1.5px}.wordmark small{font-size:10px;letter-spacing:3.5px;margin-top:9px}nav{display:flex;gap:34px;font-size:14px}nav a:hover{border-bottom:1px solid}.header-link{font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:6px}.header-link span{margin-left:18px}.hero{max-width:1440px;margin:auto;padding:32px 5% 68px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5%}.eyebrow{font-size:12px;letter-spacing:2.2px;font-weight:600;margin:0 0 23px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.06;margin:0}h1{font-size:clamp(58px,6.1vw,90px);letter-spacing:-4px}em{font-weight:400}h1 em,h2 em{color:#963c4d}h2{font-size:clamp(38px,4.2vw,60px);letter-spacing:-2px}.lead{font-size:20px;line-height:1.55;margin:28px 0 14px}.intro{max-width:395px;color:var(--muted);margin:0 0 28px}.button{display:inline-flex;gap:35px;align-items:center;padding:16px 23px;background:var(--ink);color:white;font-size:14px;transition:background .2s}.button:hover{background:#812d42}.button span{font-size:21px}.hero-note{font-size:12px;letter-spacing:1.2px;color:var(--muted);margin:19px 0 0}.hero-art{position:relative}.hero-art img{display:block;width:100%;height:auto;aspect-ratio:1 / 1.15;object-fit:cover;border-radius:48% 48% 2px 2px}.image-caption{display:flex;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:1.5px;margin-top:16px}.ribbon{display:flex;justify-content:space-around;align-items:center;gap:25px;padding:20px 5%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.ribbon span{font-size:14px;letter-spacing:4px}.ribbon i{font-family:Georgia,serif;font-size:28px}.section{max-width:1320px;margin:auto;padding:94px 5%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:44px}.section-heading>p{color:var(--muted);font-size:16px}.service-list article{display:grid;grid-template-columns:65px 1fr 160px;align-items:start;gap:20px;padding:30px 0;border-top:1px solid var(--line)}.number{font-size:13px;padding-top:8px;color:var(--muted)}h3{font-size:34px;letter-spacing:-.8px}.service-list p{color:var(--muted);max-width:620px;margin:12px 0 0}.service-label{font-size:11px;letter-spacing:1.6px;padding-top:12px;text-align:right}.price-note{border-top:1px solid var(--line);padding-top:28px;display:flex;gap:40px;justify-content:space-between}.price-note span{font-family:Georgia,serif;font-size:23px;max-width:330px;line-height:1.3}.price-note p{font-size:14px;max-width:510px;color:var(--muted);margin:0}.style-section{background:var(--nude);display:grid;grid-template-columns:1fr 1.35fr;gap:8%;padding:85px max(7%,calc((100vw - 1188px)/2));align-items:center}.large-m{font-family:Georgia,serif;font-size:230px;line-height:.9;font-style:italic;display:block;color:#9e6e70;letter-spacing:-20px}.style-copy h2{font-size:clamp(37px,4vw,56px)}.style-copy>p{color:#705755;max-width:550px}.palette{display:flex;align-items:center;gap:9px;margin-top:30px}.palette>span{width:26px;height:26px;border-radius:50%;background:var(--swatch);border:1px solid #bfa59d}.palette small{font-size:10px;letter-spacing:1.5px;margin-left:12px}.visit{display:grid;grid-template-columns:1fr 1fr;gap:60px}.visit h2{font-size:46px}details{border-top:1px solid var(--line);padding:20px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:16px;display:flex;justify-content:space-between;gap:20px;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:23px;line-height:1}details[open] summary:after{content:'−'}details p{font-size:15px;color:var(--muted);margin:16px 24px 0 0}.opening{text-align:center;background:var(--ink);color:#fff3e9;padding:85px 24px 95px}.opening h2{font-size:clamp(58px,6vw,84px);letter-spacing:-3px}.opening h2 em{color:#e0b4ad}.opening>p:not(.eyebrow){color:#ead0cf;margin:26px auto;max-width:550px}.light{background:#f3e5d9;color:var(--ink)}.light:hover{background:#e2c9b8}footer{padding:40px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer p{font-family:Georgia,serif;font-style:italic;font-size:19px}footer>span{font-size:12px;color:var(--muted)}@media(min-width:1600px){.hero-art img{max-height:710px}}@media(max-width:850px){header{padding:22px 6%}.header-link{display:none}nav{gap:19px}.hero{padding:25px 6% 50px;gap:30px}h1{font-size:62px;letter-spacing:-3px}.lead{font-size:18px}.hero-art img{aspect-ratio:1/1.4}.image-caption span:last-child{display:none}.section{padding:65px 6%}.section-heading{align-items:start;flex-direction:column;gap:15px}.section-heading>p{margin:0}.service-list article{grid-template-columns:35px 1fr}.service-label{display:none}.style-section{padding:65px 6%;gap:30px;grid-template-columns:.7fr 1fr}.large-m{font-size:160px}.visit{gap:35px;grid-template-columns:1fr}.visit h2{font-size:42px}footer p{display:none}}@media(max-width:580px){.announcement{font-size:10px;letter-spacing:1.1px}.announcement span{padding:0 5px}header{flex-wrap:wrap;gap:21px;justify-content:center}.wordmark{text-align:center}.wordmark span{font-size:30px}nav{width:100%;justify-content:center;font-size:14px;gap:26px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:20px}.hero-copy{text-align:center}h1{font-size:63px;letter-spacing:-3px}.hero .eyebrow{font-size:10px;letter-spacing:1.5px}.intro{margin-left:auto;margin-right:auto}.hero-art{max-width:440px;width:100%;align-self:center;margin-top:7px}.hero-art img{aspect-ratio:1/1.03}.image-caption{justify-content:center}.ribbon{gap:25px}.ribbon span{font-size:11px;letter-spacing:2px;white-space:nowrap}.ribbon i{font-size:23px;white-space:nowrap}.ribbon i:last-child{display:none}.section{padding:56px 6%}h2{font-size:40px}.service-list article{gap:10px;padding:25px 0}h3{font-size:30px}.price-note{flex-direction:column;gap:14px}.style-section{grid-template-columns:1fr;padding:50px 7%}.style-label .eyebrow{margin:0}.large-m{display:none}.style-copy h2{font-size:39px}.opening{padding:60px 6%}.opening .eyebrow{font-size:10px;letter-spacing:1.4px}.button{gap:20px}.opening h2{font-size:62px}footer{flex-direction:column;padding:34px 6%}footer .wordmark small{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.prices{border-top:1px solid var(--line)}.price-intro{max-width:850px;color:var(--muted);margin:0 0 35px}.price-status{border-left:2px solid var(--ink);padding-left:20px}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px}.price-group h3{margin-bottom:22px}.price-group dl{margin:0}.price-row{display:flex;justify-content:space-between;align-items:start;gap:22px;border-top:1px solid var(--line);padding:17px 0}.price-row dt{font-size:16px}.price-row dt small{display:block;color:var(--muted);font-size:14px;margin-top:4px}.price-row dd{margin:0;white-space:nowrap;font-size:19px;font-family:Georgia,serif}.price-extras{margin-top:38px;background:var(--nude);padding:28px 32px}.price-extras h3{font-size:27px}.price-extras ul{padding-left:20px;line-height:1.9}.price-extras p{font-size:14px;color:var(--muted);max-width:850px}.faq a{text-decoration:underline}@media(max-width:700px){.price-grid{grid-template-columns:1fr;gap:34px}.price-extras{padding:25px 20px}.price-row{gap:12px}nav{flex-wrap:wrap;gap:14px 20px}}
