@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600&display=swap');
:root{--bg:#f8f4ee;--ink:#59483c;--muted:#796c60;--line:#d9cdc0;--taupe:#ded6cc;--brown:#715b49}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}header{max-width:1440px;margin:auto;padding:24px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.wordmark{font:24px Georgia,serif;letter-spacing:3px}.wordmark i{font-size:27px;letter-spacing:0}.wordmark small{display:block;font:8px/2.4 'DM Sans',sans-serif;letter-spacing:2px}nav{display:flex;gap:34px;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:34px;padding:16px 25px;background:var(--brown);color:white;font-size:13px;border:1px solid var(--brown);transition:.2s}.button:hover{background:#564331;transform:translateY(-2px)}.button.small{padding:11px 18px}.hero{max-width:1440px;margin:auto;padding:64px 5% 65px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%}.eyebrow{font-size:10px;letter-spacing:2.7px;font-weight:600;margin:0 0 23px}h1,h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.03;margin:0}h1{font-size:clamp(60px,6.6vw,98px)}h1 em,h2 em{font-weight:400}h2{font-size:clamp(38px,4vw,58px)}.intro{max-width:400px;font-size:16px;color:var(--muted);margin:27px 0 30px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px}.text-link{font-size:12px;border-bottom:1px solid var(--ink);padding:5px 0}.hero-note{font-size:11px;color:var(--muted);margin-top:36px}.brand-panel{background:#e9e0d6;min-height:490px;position:relative;display:flex;flex-direction:column;align-items:center;padding:34px 30px 24px}.brand-arch{border:1px solid #b9a994;border-radius:220px 220px 0 0;background:#dcd5cb;width:100%;min-height:410px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:38px 12px 20px}.brand-arch img{width:100%;mix-blend-mode:multiply}.brand-arch p{font:italic 23px 'Cormorant Garamond',Georgia,serif}.brand-line{width:35px;height:1px;background:#a38b76;margin-top:12px}.panel-label{font-size:9px;letter-spacing:3px;margin-top:24px}.ribbon{display:flex;justify-content:space-evenly;gap:16px;background:#eee7de;padding:19px 5%;font-size:11px;letter-spacing:.5px}.section{max-width:1440px;margin:auto;padding:90px 5%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-heading>p{font-size:12px;color:var(--muted)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}.filters button{background:transparent;color:var(--ink);border:1px solid var(--line);padding:9px 19px;border-radius:30px;cursor:pointer;font-size:12px}.filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.service{display:grid;grid-template-columns:45px 1fr 150px 100px;gap:20px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line)}.service .number{font:italic 18px Georgia,serif;color:#94816e}.service h3{font:500 26px 'Cormorant Garamond',Georgia,serif;margin:0 0 5px}.service p{font-size:12px;margin:0;color:var(--muted)}.price{font:24px 'Cormorant Garamond',Georgia,serif;text-align:right}.price small{display:block;font:10px 'DM Sans',sans-serif;color:var(--muted);margin-top:4px}.service a{font-size:12px;text-align:right;text-decoration:underline;text-underline-offset:5px}.footnote{font-size:11px;color:var(--muted);max-width:800px;margin-top:25px}.gift{background:#eae2d8;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.gift-art{max-width:430px;aspect-ratio:1.6;background:#faf7f2;border:1px solid #b9a38c;box-shadow:10px 14px 30px #715b4912;padding:30px;transform:rotate(-4deg);margin:15px}.gift-art>span{font:19px Georgia,serif;letter-spacing:5px}.gift-art small{display:block;font-size:7px;letter-spacing:2px;margin-top:5px}.gift-art strong{display:block;font:38px/1.05 'Cormorant Garamond',Georgia,serif;margin:25px 0}.gift-art>div{font-size:9px;letter-spacing:3px;display:flex;justify-content:space-between}.gift-art>div span{font-size:25px;line-height:1}.gift-copy p:not(.eyebrow){font-size:14px;max-width:380px;margin:23px 0}.visit{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%}.visit>div>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:290px;margin-top:25px}details{border-bottom:1px solid var(--line);padding:20px 0}details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;font-size:14px;padding-right:15px}details p{font-size:13px;color:var(--muted);padding-left:25px}.contact{background:#665342;color:#fff8ee;text-align:center}.contact .eyebrow{color:#e2cdb8}.contact>p:not(.eyebrow){font-size:14px;color:#e6d9cc;margin:26px auto}.contact .actions{justify-content:center;margin-top:30px}.light{background:#f2e9dc;color:var(--ink);border-color:#f2e9dc}.light:hover{background:#fff;color:var(--ink)}.outline{border-color:#b9a693;background:transparent}.contact-bottom{border-top:1px solid #8c7967;margin-top:55px;padding-top:25px;display:flex;justify-content:space-between;gap:18px;font-size:11px}footer{padding:35px 5%;max-width:1440px;margin:auto;display:flex;gap:20px;align-items:center;font-size:11px}footer>span{letter-spacing:3px;font-family:Georgia,serif}footer p{color:var(--muted)}footer>a{margin-left:auto}:focus-visible{outline:3px solid #a57c44;outline-offset:5px}@media(max-width:800px){header{padding:18px 5%}nav{display:none}.wordmark{font-size:18px}.wordmark small{font-size:6px}.button.small{font-size:11px;padding:10px}.hero{grid-template-columns:1fr;padding-top:42px;gap:35px}h1{font-size:64px}.brand-panel{min-height:330px;padding:22px}.brand-arch{min-height:300px;max-width:400px;padding-top:25px}.brand-arch img{max-width:360px}.ribbon{flex-direction:column;text-align:center;gap:5px;padding:15px}.section{padding:55px 6%}.section-heading{display:block}.section-heading>p{margin-top:20px}.service{grid-template-columns:1fr 95px;gap:12px;padding:22px 0}.service .number{display:none}.service h3{font-size:24px}.service a{grid-column:1/-1;text-align:left;font-size:11px}.price{font-size:23px}.gift,.visit{grid-template-columns:1fr;gap:45px}.gift-art{width:92%;margin:10px auto}.contact-bottom{flex-direction:column}.contact h2{font-size:46px}footer{flex-wrap:wrap;font-size:9px}footer p{margin:0}footer>a{margin-left:0}.filters{gap:7px}.filters button{padding:8px 13px;font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.brand-arch{background:rgb(219,211,203)}.brand-arch img{mix-blend-mode:normal}

.service p.duration{font-size:11px;letter-spacing:.3px;color:#705945;margin:5px 0 8px}

/* Clip the logo to the curved frame, including on narrow screens. */
.brand-arch{overflow:hidden;isolation:isolate}
.brand-arch img{display:block;flex-shrink:0}


.gift-amounts{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:24px 0}.gift-amounts li{border:1px solid #b9a38c;border-radius:4px;padding:10px 17px;font:24px Georgia,serif;background:#faf7f260}.gift-copy p.gift-help{font-size:12px;line-height:1.7;max-width:440px}.gift-share{display:flex;flex-wrap:wrap;gap:15px;margin-top:22px}.gift-share button{background:transparent;border:0;border-bottom:1px solid var(--ink);cursor:pointer;color:inherit}#gift-copy-status{display:block;min-height:22px;font-size:12px;margin-top:7px}

/* Original brand artwork and a more readable type scale. */
body{font-size:17px}
header{padding-top:15px;padding-bottom:15px}
.wordmark{display:block;position:relative;overflow:hidden;flex:none;width:280px;aspect-ratio:7/3;background:#dbd3cb;border-radius:2px}
.wordmark img{position:absolute;display:block;width:150%;max-width:none;height:auto;left:-25%;top:-54%}
nav{font-size:16px;gap:28px}
.button{font-size:16px}.button.small{font-size:15px}
.eyebrow{font-size:12px;letter-spacing:2.4px}
h1{font-size:clamp(66px,7vw,104px)}h2{font-size:clamp(43px,4.3vw,64px)}
.intro{font-size:18px;max-width:460px}.text-link{font-size:15px}.hero-note{font-size:14px}
.brand-arch p{font-size:27px}.panel-label{font-size:11px}
.ribbon{font-size:14px;flex-wrap:wrap}
.section-heading>p{font-size:15px}.filters button{font-size:15px}
.service{grid-template-columns:45px minmax(0,1fr) 150px 115px}
.service .number{font-size:20px}.service h3{font-size:30px}.service p{font-size:15px;line-height:1.7}
.service p.duration{font-size:14px}.price{font-size:29px}.price small{font-size:13px}.service a{font-size:15px}
.footnote{font-size:14px;max-width:920px}
.gift-art>span{font-size:22px}.gift-art small{font-size:10px}.gift-art strong{font-size:43px}.gift-art>div{font-size:12px}
.gift-copy p:not(.eyebrow){font-size:17px;max-width:460px}.gift-copy p.gift-help{font-size:14px}
.gift-amounts li{font-size:27px}#gift-copy-status{font-size:14px;min-height:25px}
.visit>div>p:not(.eyebrow){font-size:17px;max-width:350px}summary{font-size:17px}details p{font-size:16px;line-height:1.75}
.contact>p:not(.eyebrow){font-size:17px}.contact-bottom{font-size:14px;flex-wrap:wrap}
footer{font-size:14px}
@media(max-width:800px){
header{padding:14px 5%;gap:12px}.wordmark{width:clamp(145px,46vw,210px)}
.button.small{font-size:13px;padding:11px 12px;white-space:nowrap}
h1{font-size:clamp(62px,13vw,78px)}h2{font-size:46px}.intro{font-size:18px}
.hero-note{font-size:14px}.ribbon{font-size:13px}.section-heading>p{font-size:15px}
.filters button{font-size:14px;padding:9px 14px}
.service{grid-template-columns:minmax(0,1fr) 100px}.service h3{font-size:28px}.service a{font-size:15px}.price{font-size:27px}
.gift-art{padding:25px}.gift-art>span{font-size:20px;letter-spacing:3px}.gift-art small{font-size:9px;letter-spacing:1.4px}
.gift-art strong{font-size:40px}.gift-share{gap:16px}.gift-amounts li{font-size:25px}
.contact h2{font-size:49px}footer{font-size:13px}
}
@media(max-width:350px){header{gap:8px;padding-left:4%;padding-right:4%}.wordmark{width:143px}.button.small{font-size:12px;padding:10px}.service{grid-template-columns:minmax(0,1fr) 85px}.gift-art small{font-size:8px}}

/* Continuous brand-colored header with the complete original logo. */
header{max-width:none;width:100%;margin:0;background:#dbd3cb;border-bottom-color:#c4b7a9;padding:8px max(5%,calc((100% - 1296px)/2));gap:24px}
.wordmark{width:340px;aspect-ratio:2047/1086;overflow:visible;background:transparent;border-radius:0}
.wordmark img{position:static;display:block;width:100%;height:auto;max-width:100%;transform:none}
@media(max-width:800px){header{padding:8px 5%;gap:12px}.wordmark{width:clamp(160px,49vw,230px)}}
@media(max-width:350px){header{padding:8px 4%;gap:8px}.wordmark{width:150px}}

/* Give both original brand marks more presence. */
.wordmark{width:420px}
.brand-arch img{width:125%;max-width:none}
@media(max-width:800px){.wordmark{width:clamp(160px,52vw,250px)}header .button.small{font-size:12px;padding:11px 10px}.brand-arch img{width:125%;max-width:none}}
@media(max-width:350px){.wordmark{width:160px}header .button.small{font-size:11px;padding:10px 8px}}

/* Return the header to the original typographic wordmark. */
header{background:var(--bg);border-bottom-color:var(--line);padding:24px max(5%,calc((100% - 1296px)/2));gap:20px}
.wordmark{position:static;display:block;width:auto;aspect-ratio:auto;overflow:visible;background:transparent;font:28px Georgia,serif;letter-spacing:3px}
.wordmark i{font-size:31px;letter-spacing:0}
.wordmark small{display:block;font:10px/2.4 'DM Sans',sans-serif;letter-spacing:2px}
@media(max-width:800px){header{padding:18px 5%;gap:12px}.wordmark{width:auto;font-size:22px}.wordmark i{font-size:25px}.wordmark small{font-size:7px;letter-spacing:1.6px}}
@media(max-width:350px){header{padding:16px 4%;gap:8px}.wordmark{width:auto;font-size:20px}.wordmark i{font-size:23px}.wordmark small{font-size:6.5px;letter-spacing:1.3px}}

/* About, earth-tone gift cards, and follow-up appointments. */
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:11%;align-items:center;padding-top:80px;padding-bottom:80px}
.about-portrait{background:#ded4c8;min-height:340px;max-width:360px;border-radius:180px 180px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #c5b6a6}
.about-portrait>span{font:160px/1 Georgia,serif;color:#fff8ef}.about-portrait small{letter-spacing:3px;font-size:12px;margin-top:25px}
.about-copy p{max-width:540px;color:var(--muted)}.about-copy .about-lead{font-size:22px;color:var(--ink);line-height:1.6}.about-copy .text-link{display:inline-block;margin-top:10px}
.gift-palette{min-height:430px;position:relative;display:flex;align-items:center;justify-content:center}
.gift-palette img{position:absolute;width:82%;border-radius:10px;box-shadow:0 18px 40px #3e2e2425}
.gift-palette img:nth-child(1){transform:translate(-8%,-30%) rotate(-9deg)}.gift-palette img:nth-child(2){transform:translate(6%,3%) rotate(7deg)}.gift-palette img:nth-child(3){transform:translate(-3%,30%) rotate(-4deg)}
.service .price{max-width:160px}.service .price:has(small:empty){line-height:1.2}
@media(max-width:800px){.about{grid-template-columns:1fr;gap:35px}.about-portrait{width:75%;min-height:280px;margin:auto}.about-portrait>span{font-size:130px}.gift-palette{min-height:350px}.gift-palette img{width:85%;max-width:420px}.service .price{font-size:25px}nav{gap:18px}}

.follow-ups{padding-top:15px;padding-bottom:65px}.follow-ups>details{border:1px solid var(--line);padding:0;background:#f1eae1}.follow-ups summary{display:flex;align-items:center;justify-content:space-between;list-style:none;padding:25px 30px;font:32px 'Cormorant Garamond',Georgia,serif}.follow-ups summary::-webkit-details-marker{display:none}.follow-ups summary>span{font:25px 'DM Sans',sans-serif}.follow-ups details[open] summary>span{transform:rotate(45deg)}.follow-up-content{padding:0 30px 25px}.follow-up-content>p{padding:0;max-width:740px}.follow-up-card{border-top:1px solid var(--line);padding:22px 0}.follow-up-card h3{font:30px 'Cormorant Garamond',Georgia,serif;margin:0 0 10px}.follow-up-card p{padding:0;margin:8px 0;font-size:16px}.follow-up-card .duration{font-size:14px}.follow-up-card a{display:inline-block;margin-top:8px}@media(max-width:800px){.follow-ups summary{font-size:28px;padding:22px}.follow-up-content{padding:0 22px 20px}}

/* Rounded actions, matching the treatment filters. */
.button{border-radius:30px}
.button:not(.light):not(.outline){border-color:var(--ink)}

/* Soft outer corners for the hero logo panel. */
.brand-panel{border-radius:30px}
