/* A centered composition throughout the ivory design. */
body{text-align:center}
header{height:136px;display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto;gap:16px 25px;padding-top:18px;padding-bottom:16px}
header>.brand{grid-column:2;grid-row:1;justify-self:center}
header>nav{grid-column:1/-1;grid-row:2;margin:0;justify-content:center}
header>.small{grid-column:3;grid-row:1;justify-self:end;margin:0}
header>.button.small{white-space:nowrap}
.hero{display:flex;flex-direction:column;gap:36px;padding-top:48px;padding-bottom:62px}
.hero-copy{width:100%;padding:0}
.hero .eyebrow{justify-content:center;margin-bottom:20px}
.hero .eyebrow:after{content:'';width:34px;height:1px;background:var(--gold)}
.hero h1{font-size:clamp(45px,4.5vw,66px)}
.hero .intro{margin:24px auto 0;max-width:510px}
.hero-actions{justify-content:center;align-items:center;flex-direction:row}
.hero-rating{justify-content:center;margin-left:auto;margin-right:auto}
.hero-visual{width:min(100%,880px);margin:0 auto;padding:0 0 29px}
.hero-visual:before{inset:13px -13px 14px 13px}
.hero-visual>img{height:420px;object-position:center 55%}
.hero-visual figcaption{left:50%;transform:translateX(-50%);bottom:0;white-space:nowrap;text-align:center}
.hero-photo-label{display:none}
.section-top{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center}
.section-top>p{max-width:560px;margin:0 auto}
.treatment,.instagram-card{text-align:center}
.card-title{justify-content:center;position:relative;padding:0 36px}
.card-title button{position:absolute;right:0}
.treatment>p{margin-left:auto;margin-right:auto}
.card-footer{justify-content:center;flex-wrap:wrap;gap:14px}
.image-wrap>span{left:50%;transform:translateX(-50%);white-space:nowrap}
.more-treatments{justify-content:center}
.more-treatments p{width:100%;margin:0}
.spa-copy{text-align:center}
.ritual{justify-content:center;position:relative;padding-left:30px;padding-right:35px}
.ritual>span{position:absolute;left:0}
.ritual button{position:absolute;right:0;margin:0}
.spa-photo>span{left:0;right:0;text-align:center}
.philosophy{display:flex;flex-direction:column;gap:44px;text-align:center}
.host-photo{max-width:340px;margin:auto}
.host-photo>img{height:420px}
.personal-note{max-width:620px;margin:auto}
.personal-note>p:not(.eyebrow){max-width:100%;margin-left:auto;margin-right:auto}
.reviews-heading{flex-direction:column;align-items:center;text-align:center;gap:26px}
.review-score{padding:0;border:0;align-items:center;text-align:center}
.review-stars{margin-inline:auto}
.review-author,.review-verified{justify-content:center}
.reviews-bottom{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:22px}
.instagram-caption{align-items:center;text-align:center}
.gallery-detail-label{left:50%;transform:translateX(-50%);white-space:nowrap}
.faq{display:flex;flex-direction:column;gap:35px}
.questions{width:100%;max-width:780px;margin:auto}
.questions summary{position:relative;justify-content:center;padding:0 32px;text-align:center}
.questions summary>span{position:absolute;right:4px}
.questions details p{padding:16px 20px 4px;text-align:center}
.contact{grid-template-columns:1fr;justify-items:center;text-align:center;gap:40px}
.contact-head,.contact-request{width:100%;max-width:620px}
.contact-request input,.contact-request select,.contact-request textarea{text-align:center}
.contact-grid{width:100%}
footer{flex-direction:column;justify-content:center;align-items:center;gap:24px;text-align:center}
footer>div{justify-content:center;width:auto}
.social-shortcuts{left:50%;right:auto;transform:translateX(-50%);width:max-content}
dialog{text-align:center}
html{scroll-padding-top:150px}
@media(max-width:820px){header{height:105px;display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:1fr;gap:12px;padding:12px 5vw}header>.brand{grid-column:2;grid-row:1;flex-direction:column;gap:5px}header .brand-monogram{border:0;padding:0;font-size:32px;letter-spacing:-3px}header .brand-name{font-size:12px}header .brand-name>span{font-size:5px;letter-spacing:1.1px;margin-top:3px}header>.menu{grid-column:1;grid-row:1;justify-self:start}header>.small{grid-column:3;grid-row:1;padding:10px 12px;font-size:8px;gap:8px}header>nav{top:104px;grid-column:auto;grid-row:auto}header>nav.open{justify-content:center}.hero{padding-top:38px}.hero-visual>img{height:390px}.section-top>p{margin:0 auto}.reviews-heading{align-items:center}.reviews-bottom{align-items:center}.host-photo>img{height:410px}html{scroll-padding-top:120px}}
@media(max-width:600px){header>.small{padding:10px;font-size:7px;gap:6px;min-height:36px}header>.small span{font-size:13px}.hero{padding-top:34px;gap:30px;padding-bottom:40px}.hero h1{font-size:49px}.hero .intro{max-width:345px;margin-top:22px}.hero-actions{gap:17px}.hero-rating{margin-top:25px}.hero-visual{width:calc(100% - 12px);padding-bottom:27px}.hero-visual>img{height:330px;object-position:42% center}.hero-visual:before{inset:12px -12px 12px 12px}.hero-visual figcaption{font-size:16px;gap:10px;padding:14px 18px}.section-top{gap:16px}.section-top>p{margin:0 auto}.card-title h3{font-size:29px}.more-treatments{gap:17px}.philosophy{gap:36px}.host-photo{max-width:310px;padding-right:0}.host-photo>img{height:390px}.host-photo figcaption{right:0}.host-photo:before{inset:13px -13px -13px 13px}.reviews-heading{gap:23px}.reviews-bottom .button{width:auto;min-width:230px}.faq{gap:28px}.contact-grid{grid-template-columns:1fr}.contact{gap:33px}footer>div{width:100%;gap:22px}.social-shortcuts{bottom:13px}.social-shortcut{padding:10px 14px}}
@media(max-width:820px){header>.button.small{font-size:8px;padding:10px 12px;gap:8px;min-height:38px}}
@media(max-width:370px){header>.button.small{font-size:7px;padding-inline:8px;gap:6px}header>.brand .brand-name{font-size:11px}.hero h1{font-size:43px}.hero-actions{gap:13px}.hero-visual figcaption{font-size:14px;padding:13px 15px}.hero-visual>img{height:300px}}
