@charset "UTF-8";
:root{--teal:#073f3c;--deep:#052c29;--cream:#f8f4eb;--sand:#eee6d7;--gold:#c7a46a;--ink:#173c36;--muted:#64716a;--line:#d9d9cb;--serif:Georgia,'Times New Roman',serif;--sans:'Helvetica Neue',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border-radius:0}a{color:inherit}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:3px solid #a77a30;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.035em}h2{font-size:clamp(36px,4.3vw,62px);margin-bottom:24px}h3{font-size:clamp(32px,3.8vw,48px)}em{font-weight:400}::selection{background:#d4bd8a;color:var(--deep)}.skip{position:fixed;z-index:100;top:8px;left:8px;transform:translateY(-150%);padding:12px;background:var(--cream)}.skip:focus{transform:none}.announcement{background:var(--teal);color:#e6e5d5;display:flex;justify-content:space-between;padding:9px 5%;font-size:10px;letter-spacing:.15em}.announcement i{font-style:normal;color:var(--gold);margin-left:16px}.site-header{height:102px;display:flex;justify-content:space-between;align-items:center;padding:12px 5%;gap:24px;position:sticky;top:0;z-index:30;background:var(--deep);color:var(--cream);border-bottom:1px solid #c7a46a70}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}.brand img{object-fit:contain;background:var(--deep);border-radius:6px;filter:none;opacity:1}.brand b{display:block;font-family:var(--serif);font-weight:400;font-size:34px;letter-spacing:-.045em;line-height:1.1}.brand small{display:block;font-size:8px;font-weight:600;letter-spacing:.21em;margin-top:4px}.site-header nav{display:flex;gap:30px}.site-header nav a{font-size:13px;text-decoration:none;position:relative;padding:8px 0}.site-header nav a:after{content:'';position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--gold);transition:right .2s}.site-header nav a:hover:after{right:0}.header-actions{display:flex;align-items:center;gap:18px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:52px;padding:15px 23px;text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.025em;border:1px solid transparent;transition:background .2s,transform .2s}.button span{font-size:19px;line-height:1}.button:hover{transform:translateY(-2px)}.button.solid{background:var(--teal);color:var(--cream)}.button.solid:hover{background:#11554e}.button.gold{background:#d4b57b;color:#12332d}.button.gold:hover{background:#e2c793}.button.cream{background:var(--cream);color:var(--teal)}.button.small{min-height:44px;padding:10px 18px}.text-link{display:inline-flex;align-items:center;gap:24px;text-decoration:none;border:0;border-bottom:1px solid #7d8d7f;padding:7px 0;background:transparent;font-size:12px;font-weight:600;line-height:1.5;cursor:pointer}.text-link:hover{color:#8b662c;border-color:#8b662c}.text-link.light{color:var(--cream);border-color:#8e9c8f}.text-link.light:hover{color:#e8ca8f}.nav-toggle{display:none;border:0;background:none;width:44px;height:44px;padding:10px}.nav-toggle span{display:block;width:24px;height:1px;background:var(--cream);margin:7px 0}.eyebrow{font-size:10px;line-height:1.5;font-weight:600;letter-spacing:.18em;color:#6b7868;margin:0 0 26px}.eyebrow.light{color:#cfbf9c}
.hero{display:grid;grid-template-columns:1.05fr 1fr;background:var(--teal);color:var(--cream);min-height:710px;max-height:900px}.hero-copy{padding:62px 8% 36px 10%;position:relative}.hero h1{font-size:clamp(60px,6.8vw,100px);line-height:1.01;letter-spacing:-.055em;margin:30px 0 25px}.hero h1 em{color:#dfc797}.hero-intro{font-size:19px;line-height:1.5;margin-bottom:18px}.hero-sub{color:#b9c9bd;font-size:13px;line-height:1.7}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:30px}.hero-foot{margin-top:48px;display:flex;gap:14px;align-items:center;color:#b9c7b7;font-size:8px;letter-spacing:.18em;line-height:1.8}.tiny-orbit{border:1px solid #84957e;width:45px;height:45px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:16px;letter-spacing:-.05em}.hero-art{position:relative;min-width:0;overflow:hidden}.hero-art>img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;position:absolute;inset:0}.hero-art:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#022b2980)}.image-caption{position:absolute;z-index:2;bottom:31px;left:34px;right:34px;display:flex;align-items:end;justify-content:space-between;gap:18px;font-size:9px;letter-spacing:.12em}.image-caption span:last-child{font-size:12px;letter-spacing:0}.hero-seal{position:absolute;z-index:3;right:26px;top:28px;width:102px;height:102px;border:1px solid #eed5a3;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:8px;letter-spacing:.18em;line-height:1.4;color:#efdfbd;background:#06363230}.hero-seal i{font-size:23px;line-height:.45;font-style:normal}.brand-ribbon{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 7%;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.2em}.brand-ribbon i{font-size:15px;color:#9c7c48;font-style:normal}
.section{padding:105px 7%;max-width:1600px;margin:auto}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-bottom:40px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:320px;color:var(--muted);font-size:14px;margin-bottom:5px;line-height:1.8}.category-tabs{display:flex;border-bottom:1px solid #cfd2c4;margin:46px 0 42px;gap:29px;overflow-x:auto;scrollbar-width:thin}.category-tabs button{font-size:12px;white-space:nowrap;padding:16px 0;border:0;border-bottom:2px solid transparent;background:none;color:#56665c;flex-shrink:0}.category-tabs button[aria-selected=true]{border-bottom-color:var(--teal);font-weight:700;color:var(--teal)}.treatment-panel{display:grid;grid-template-columns:.95fr 1.05fr;min-height:500px;gap:9%;align-items:center}.treatment-visual{height:505px;position:relative;overflow:hidden;background:var(--sand)}.treatment-visual img{height:100%;width:100%;object-fit:cover;object-position:50% 27%}.treatment-visual>span{position:absolute;left:20px;bottom:20px;background:var(--cream);padding:10px 15px;font-size:9px;letter-spacing:.13em}.treatment-copy{padding:15px 0}.treatment-copy .eyebrow{margin-bottom:16px}.treatment-copy h3{font-size:clamp(38px,4.4vw,60px);margin-bottom:22px}.treatment-copy>p:not(.eyebrow):not(.fine){color:var(--muted);max-width:450px;font-size:14px}.treatment-list{list-style:none;padding:0;margin:25px 0 28px;border-top:1px solid var(--line)}.treatment-list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;display:flex;justify-content:space-between;gap:15px}.treatment-list li:after{content:'↗';color:#7d8d7e}.actions{display:flex;gap:23px;align-items:center;flex-wrap:wrap}.fine{font-size:10px;color:#6b786b;line-height:1.7}.treatment-copy .fine{margin-top:18px;max-width:420px}.menu-strip{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:34px;padding:19px;border-top:1px solid var(--line);font-size:13px}
.ritual-section{display:grid;grid-template-columns:1fr 1.3fr;gap:12%;padding:70px 10%;background:var(--teal);color:var(--cream)}.ritual-intro h2{font-size:48px}.ritual-intro p:last-child{font-size:13px;color:#b6c8b9}.ritual-choices{align-self:center}.ritual-choice{display:flex;text-align:left;width:100%;gap:22px;align-items:center;background:none;border:0;border-bottom:1px solid #547066;color:var(--cream);padding:24px 0;transition:padding .2s}.ritual-choice:first-child{border-top:1px solid #547066}.ritual-choice:hover{padding-left:10px}.ritual-number{font-size:11px;color:#d0b682}.ritual-choice strong{display:block;font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.3}.ritual-choice small{font-size:11px;color:#b6c8b9;display:block;margin-top:5px}.ritual-choice>span:last-child{margin-left:auto;color:#dbc18f;font-size:25px}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;margin:36px 0 28px;gap:15px}.filter-group{display:flex;gap:7px;flex-wrap:wrap}.filter-group button{border:1px solid #d1d5c9;padding:9px 20px;font-size:11px;background:none;min-height:40px}.filter-group button[aria-pressed=true]{background:var(--teal);color:var(--cream);border-color:var(--teal)}.filter-group button:hover{border-color:var(--teal)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-item{border:0;padding:0;background:var(--sand);text-align:left;position:relative;overflow:hidden;aspect-ratio:3/4}.gallery-item[hidden]{display:none}.gallery-item>img{width:100%;height:100%;object-fit:cover;transition:transform .5s;object-position:center 30%}.gallery-item:hover>img{transform:scale(1.035)}.gallery-item:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#051c19d9)}.gallery-item>span{position:absolute;z-index:2;bottom:22px;left:22px;right:42px;color:white}.gallery-item b{font-family:var(--serif);font-size:23px;font-weight:400;line-height:1.2;display:block}.gallery-item small{font-size:8px;letter-spacing:.15em;margin-top:9px;display:block;color:#ecdfc5}.gallery-item>i{position:absolute;bottom:23px;right:19px;color:white;z-index:2;font-size:21px;font-style:normal}.portfolio-bottom{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:26px}.portfolio-bottom p{max-width:470px;margin:0}.portfolio-bottom a{flex-shrink:0}
.story{display:grid;grid-template-columns:1fr 1fr;background:var(--sand)}.story-photo{position:relative;min-height:680px;overflow:hidden}.story-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 20%}.story-label{position:absolute;bottom:34px;left:40px;background:var(--cream);padding:15px 23px;font-size:12px;letter-spacing:.15em;line-height:1.8}.story-label small{font-size:8px;letter-spacing:.13em}.story-copy{padding:78px 14% 65px 12%;align-self:center}.story-copy h2{font-size:clamp(38px,4.1vw,60px)}.story-copy>p{color:#5d6a60;font-size:14px}.story-copy .story-lead{font-size:19px;color:var(--teal)}.signature{font-family:var(--serif);font-style:italic;font-size:38px;margin:28px 0}.signature span{display:block;font:8px var(--sans);letter-spacing:.17em;margin-top:5px;color:#627465}.occasion-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.occasion-card{min-height:510px;position:relative;overflow:hidden}.bridal{background:url('/media/bridal-beauty.webp') center 38%/cover}.occasion-shade{padding:40px;min-height:510px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;background:linear-gradient(transparent 10%,#062c26c9 70%,#042a25eb);color:white}.occasion-shade .eyebrow{margin:80px 0 15px}.occasion-card h3{font-size:44px;margin-bottom:19px}.occasion-card p:not(.eyebrow){max-width:340px;font-size:13px}.occasion-card .button{margin-top:8px}.gift{background:#e9e4d7;padding:45px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;border:1px solid #d8d6c5}.gift-orbit{width:114px;height:114px;border:1px solid #a3a58a;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:32px;margin-bottom:30px;box-shadow:0 0 0 10px #a3a58a11,0 0 0 20px #a3a58a0a}.gift .eyebrow{margin-bottom:18px}.gift>p:not(.eyebrow){color:#5f6d5e}.gift small{font-size:10px;color:#6e796a;margin-top:13px}
.review-band{display:flex;gap:35px;align-items:center;justify-content:space-between;padding:60px 9%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f1ecdf}.review-mark{font-family:var(--serif);font-size:180px;line-height:.6;color:#bfa269;align-self:flex-start;margin-top:42px}.review-band>div:nth-child(2){margin-right:auto}.review-band h2{font-size:37px;margin-bottom:15px}.review-band p:last-child{font-size:13px;color:var(--muted);margin:0}.review-band .eyebrow{margin-bottom:16px}.review-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.faq-section{display:grid;grid-template-columns:1fr 1.25fr;gap:10%}.faq-section>div>p:not(.eyebrow){color:var(--muted);font-size:14px;max-width:310px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;font-size:14px;font-weight:500;cursor:pointer;padding:23px 35px 23px 0;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;top:18px;font-size:23px;font-weight:300;color:#78816b}details[open] summary:after{content:'−'}details p{font-size:13px;line-height:1.85;color:#627263;padding:0 28px 20px 0;margin-bottom:0}
.visit{display:grid;grid-template-columns:1fr 1fr;gap:13%;background:var(--teal);padding:85px 10%;color:var(--cream)}.visit h2{font-size:clamp(48px,5.3vw,76px)}.visit-copy>p:not(.eyebrow){color:#bdccbb;font-size:17px;line-height:1.6;margin-bottom:30px}.visit-details{display:grid;grid-template-columns:1fr 1fr;gap:32px 36px;padding-top:10px}.visit-details .eyebrow{margin-bottom:13px}.visit-details>div:last-child{grid-column:1/-1;padding-top:23px;border-top:1px solid #45665a}.visit-details p{font-size:14px;line-height:1.9}.visit-details a:not(.text-link){text-decoration:none;display:block;font-size:13px}.visit-details a:not(.text-link):hover{text-decoration:underline}.visit-details .contact-phone{font-family:var(--serif);font-size:27px!important}.visit-details .text-link{margin-top:10px}.visit-details small{font-size:10px;color:#b6c7b6}.hours{font-size:12px;margin:0 0 12px}.hours div{margin-bottom:10px}.hours dt{color:#c7d4c4}.hours dd{margin:2px 0 0;color:var(--cream)}.footer{padding:44px 7% 22px;background:var(--deep);color:var(--cream)}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-bottom:35px}.footer-top>p{font-size:12px;color:#ccd8cb;margin:0}.social-links{display:flex;gap:20px}.social-links a{font-size:11px;text-decoration:none}.social-links a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #c7a46a70;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#ccd8cb}.footer-bottom>div{display:flex;gap:25px}.footer-bottom a{text-decoration:none}.plain{border:0;background:none;padding:0;font:inherit;color:inherit}.plain:hover{text-decoration:underline}.mobile-book{display:none}
.dialog{border:0;background:var(--cream);color:var(--teal);max-width:740px;width:calc(100% - 36px);max-height:90dvh;padding:45px;box-shadow:0 25px 100px #001e2250;overflow-y:auto}.dialog::backdrop{background:#001c19c4;backdrop-filter:blur(5px)}.dialog .close{position:absolute;top:14px;right:15px;border:1px solid #98a694;width:40px;height:40px;background:var(--cream);color:var(--teal);font-size:27px;line-height:1;z-index:5}.dialog .eyebrow{margin:0 40px 20px 0}.dialog h2{font-size:43px}.dialog p{font-size:13px;color:#5d7061}.dialog label{display:block;font-size:11px;font-weight:600;line-height:1.5;margin-bottom:16px}.dialog input,.dialog select,.dialog textarea{display:block;width:100%;max-width:100%;border:1px solid #bec9b8;padding:12px;background:#fffdf8;color:var(--ink);margin-top:7px;min-height:46px;border-radius:0;font-size:13px}.form-grid,.menu-controls{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid{gap:20px}.full{width:100%}.menu-service{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:19px 0;border-top:1px solid var(--line);text-decoration:none}.menu-service:hover{background:#e9eddf}.menu-service strong{display:block;font-family:var(--serif);font-weight:400;font-size:22px}.menu-service small{font-size:10px;color:var(--muted)}.menu-service>b{font-size:12px;white-space:nowrap}.menu-message{padding:20px;background:var(--sand);margin:15px 0}.menu-message p{margin:0 0 15px}.photo-dialog{padding:0;max-width:850px;background:#062f2c;color:var(--cream);overflow:hidden}.photo-stage{position:relative;background:#032b29;height:min(72dvh,780px);display:flex;align-items:center;justify-content:center}.photo-stage img{width:100%;height:100%;object-fit:contain}.photo-arrow{position:absolute;top:50%;transform:translateY(-50%);height:45px;width:45px;border:1px solid #d6c699;background:#f8f4ebee;color:var(--teal);font-size:22px;z-index:2}.photo-arrow.prev{left:13px}.photo-arrow.next{right:13px}.photo-info{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;gap:20px}.photo-info .eyebrow{font-size:8px;color:#cfc093;margin-bottom:8px}.photo-info h3{font-size:26px;margin:0}.photo-info>span{font-size:11px;color:#c7cfbf;white-space:nowrap}.noscript{background:#fff4ce;color:#253a27;padding:20px}.empty{padding:30px 0;color:var(--muted)}
@media(max-width:1100px){.site-header{padding-inline:4%;gap:15px}.site-header nav{gap:21px}.brand b{font-size:30px}.brand img{width:55px;height:55px}.hero-copy{padding:48px 7%}.hero{min-height:720px}.hero h1{font-size:78px}.hero-actions{gap:12px}.hero-foot{margin-top:35px}.section{padding:80px 6%}.treatment-panel{gap:6%}.treatment-visual{height:480px}.story-copy{padding:55px 10%}.story-photo{min-height:680px}.social-links{gap:12px}.category-tabs{gap:22px}.visit{gap:8%;padding-inline:7%}.visit-details{gap:25px}.review-band{padding-inline:6%;gap:25px}.review-mark{font-size:130px}.ritual-section{gap:8%;padding-inline:7%}}
@media(max-width:850px){.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--deep);padding:15px 5% 25px;box-shadow:0 15px 25px #082d2b15;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex;flex-direction:column;gap:5px}.site-header nav a{padding:12px 0}.nav-toggle{display:block}.hero{min-height:660px}.hero h1{font-size:65px}.hero-copy{padding-top:40px}.hero .eyebrow{font-size:8px}.hero-intro{font-size:17px}.hero-sub{font-size:12px}.hero-seal{width:82px;height:82px;font-size:6px;right:16px;top:18px}.image-caption{left:20px;right:20px;bottom:20px;display:block}.image-caption span{display:block}.image-caption span:last-child{font-size:10px;margin-top:6px}.hero-foot{margin-top:25px}.hero-actions .button{font-size:11px;gap:16px;padding-inline:17px}.section-heading{gap:30px}.section-heading>p{max-width:260px;font-size:13px}.treatment-copy h3{font-size:42px}.treatment-panel{gap:5%}.treatment-visual{height:490px}.actions{gap:12px}.actions .button{gap:15px;padding-inline:17px}.ritual-intro h2{font-size:40px}.ritual-choice strong{font-size:23px}.gallery-grid{gap:15px}.gallery-item b{font-size:20px}.gallery-item>span{left:16px;bottom:17px}.gallery-item small{font-size:7px}.story-copy{padding:45px 9%}.story-copy h2{font-size:39px}.story-photo{min-height:660px}.occasion-card h3{font-size:37px}.occasion-shade,.gift{padding:30px}.review-mark{display:none}.review-band h2{font-size:34px}.faq-section{gap:6%}.visit{grid-template-columns:.9fr 1.1fr;gap:6%}.visit-details{grid-template-columns:1fr}.visit-details>div:last-child{grid-column:auto}.footer-top{flex-wrap:wrap}.footer-top>.brand{flex:1}.footer-bottom{font-size:8px}.social-links{gap:24px}}
@media(max-width:600px){html{scroll-padding-top:80px}.announcement{justify-content:center;padding:7px 12px;font-size:8px;letter-spacing:.1em}.announcement>span:last-child{display:none}.site-header{height:78px;padding:10px 18px;gap:10px}.brand{gap:8px}.brand b{font-size:28px}.brand small{font-size:6px;letter-spacing:.14em}.brand img{width:48px;height:48px}.header-actions{gap:5px}.header-actions .button{font-size:10px;min-height:40px;padding:8px 12px;gap:10px}.nav-toggle{width:35px;padding:6px}.hero{display:flex;flex-direction:column;max-height:none;min-height:0}.hero-copy{padding:39px 25px 35px}.hero .eyebrow{font-size:8px;letter-spacing:.14em;max-width:290px;margin-bottom:24px}.hero h1{font-size:68px;line-height:1;max-width:330px;margin:0 0 25px}.hero-intro{font-size:18px;margin-bottom:15px}.hero-sub{font-size:13px}.hero-actions{gap:22px;margin-top:24px}.hero-actions .button{font-size:11px;padding:14px 18px}.hero-actions .text-link{font-size:11px;gap:13px}.hero-foot{display:none}.hero-art{height:470px}.hero-art>img{object-position:50% 28%}.hero-seal{width:84px;height:84px;right:20px;top:20px;font-size:7px}.image-caption{display:flex;left:24px;right:24px;bottom:24px}.image-caption span:first-child{font-size:8px;max-width:130px}.image-caption span:last-child{font-size:10px}.brand-ribbon{padding:21px 20px;gap:14px;font-size:8px;letter-spacing:.13em}.brand-ribbon span:last-child,.brand-ribbon i:last-of-type{display:none}.brand-ribbon i{font-size:10px}.section{padding:66px 23px}.eyebrow{font-size:8px;letter-spacing:.16em;margin-bottom:20px}h2{font-size:38px}.section-heading{display:block;margin-bottom:25px}.section-heading>p{margin:24px 0 0;max-width:100%;font-size:13px}.category-tabs{margin:28px -23px 28px;padding:0 23px;gap:25px}.category-tabs button{font-size:11px;padding:14px 0}.treatment-panel{display:flex;flex-direction:column;gap:27px}.treatment-visual{width:100%;height:380px}.treatment-copy{padding:0;width:100%}.treatment-copy h3{font-size:44px;margin-bottom:18px}.treatment-copy .eyebrow{margin-bottom:16px}.treatment-copy>p:not(.eyebrow):not(.fine){font-size:13px}.treatment-list{margin:22px 0}.treatment-list li{font-size:12px}.actions{gap:20px}.menu-strip{display:flex;flex-direction:column;gap:5px;margin-top:23px;padding:19px 5px;font-size:12px}.menu-strip .text-link{font-size:11px}.ritual-section{display:block;padding:48px 25px}.ritual-intro h2{font-size:41px}.ritual-intro p:last-child{font-size:12px;margin-bottom:30px}.ritual-choice{padding:22px 0;gap:18px}.ritual-choice strong{font-size:25px}.ritual-choice small{font-size:10px}.gallery-toolbar{margin-top:28px;display:block}.gallery-toolbar>.fine{display:none}.filter-group{gap:6px}.filter-group button{font-size:10px;padding:8px 15px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.gallery-item{aspect-ratio:3/4.6}.gallery-item>span{left:12px;right:15px;bottom:14px}.gallery-item b{font-size:18px}.gallery-item small{font-size:6px;letter-spacing:.1em;margin-top:6px}.gallery-item>i{top:10px;right:12px;bottom:auto;font-size:18px}.gallery-item:after{inset:45% 0 0}.portfolio-bottom{display:block;margin-top:20px}.portfolio-bottom .fine{font-size:9px}.portfolio-bottom a{margin-top:15px}.story{display:flex;flex-direction:column}.story-photo{min-height:500px;height:500px}.story-photo img{object-position:50% 20%}.story-label{bottom:23px;left:23px;padding:13px 18px}.story-copy{padding:48px 25px}.story-copy h2{font-size:40px}.story-copy>p{font-size:13px}.story-copy .story-lead{font-size:17px}.signature{margin:25px 0;font-size:35px}.occasion-grid{grid-template-columns:1fr;gap:22px}.occasion-card{min-height:470px}.occasion-shade{min-height:490px;padding:30px}.occasion-card h3{font-size:40px}.gift{padding:32px;min-height:470px}.gift-orbit{width:98px;height:98px;margin-bottom:30px}.review-band{display:block;padding:44px 25px}.review-band h2{font-size:35px}.review-band p:last-child{font-size:12px}.review-actions{margin-top:28px}.faq-section{display:block}.faq-section h2{font-size:39px}.faq-list{margin-top:35px}.faq-section>div>p:not(.eyebrow){max-width:none;font-size:13px}summary{padding:20px 30px 20px 0;font-size:12px}details p{font-size:12px;padding-right:16px}.visit{display:block;padding:53px 25px}.visit h2{font-size:54px}.visit-copy>p:not(.eyebrow){font-size:16px}.visit-details{display:grid;grid-template-columns:1fr 1fr;margin-top:45px;gap:25px}.visit-details>div:last-child{grid-column:1/-1}.visit-details p{font-size:12px}.visit-details .text-link{font-size:11px;gap:16px}.hours{font-size:11px}.visit-details small{font-size:9px}.footer{padding:35px 25px 95px}.footer-top{display:block;padding-bottom:28px}.footer .brand{margin-bottom:23px}.footer .brand img{width:68px;height:68px}.footer-top>p{font-size:11px}.social-links{margin-top:23px;gap:25px}.social-links a{font-size:10px}.footer-bottom{display:block;font-size:8px}.footer-bottom>div{margin-top:13px;justify-content:space-between}.mobile-book{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:25;background:var(--cream);border-top:1px solid #a8b29b;padding-bottom:env(safe-area-inset-bottom)}.mobile-book a{text-align:center;text-decoration:none;font-size:11px;font-weight:600;padding:16px 10px}.mobile-book a:last-child{background:var(--teal);color:var(--cream)}.dialog{padding:48px 24px 28px;width:calc(100% - 24px);max-height:92dvh}.dialog h2{font-size:35px}.dialog p{font-size:12px}.dialog .close{top:10px;right:10px;width:35px;height:35px}.dialog .eyebrow{font-size:8px}.form-grid,.menu-controls{grid-template-columns:1fr;gap:0}.dialog input,.dialog textarea,.dialog select{font-size:16px}.dialog label{font-size:11px}.menu-service strong{font-size:20px}.menu-service>b{font-size:10px}.menu-service{gap:15px}.photo-dialog{padding:0}.photo-stage{height:69dvh}.photo-info{padding:18px}.photo-info h3{font-size:23px}.photo-arrow{width:36px;height:36px;font-size:18px}.photo-info .eyebrow{font-size:7px}.photo-info>span{font-size:9px}.photo-arrow.prev{left:8px}.photo-arrow.next{right:8px}}
.treatment-visual[data-art=true]{background:radial-gradient(ellipse at 80% 10%,#55726155,transparent 60%),var(--teal);color:var(--cream);display:grid;place-items:center}.treatment-visual[data-art=true] img{display:none}.treatment-visual[data-art=true]:before{content:attr(data-words);white-space:pre-line;text-align:center;font-family:var(--serif);font-size:clamp(48px,5vw,72px);font-style:italic;line-height:1.15;border:1px solid #a99a68;width:80%;height:80%;border-radius:50%;display:grid;place-content:center;letter-spacing:-.03em}.treatment-visual[data-art=true]>span{color:var(--teal);font-size:8px;max-width:90%}
.header-actions .button{white-space:nowrap}
@media(max-width:380px){.header-actions .button span{display:none}.site-header{padding-inline:14px}.brand img{width:40px;height:40px}.brand b{font-size:24px}.header-actions .button{padding-inline:10px;gap:6px}.hero h1{font-size:clamp(54px,16.8vw,65px)}.hero-actions{gap:14px}.hero-actions .text-link{font-size:10px}.gallery-item b{font-size:16px}.visit-details{gap:18px}.visit-details .text-link{font-size:10px}.dialog{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* The supplied gold emblem requires an opaque dark brand surface. */
.site-header .brand b,.footer .brand b{color:#f0d18b}.site-header .brand small,.footer .brand small{color:#d8c59a}.site-header .button.solid{background:#d4b57b;border-color:#d4b57b;color:#12332d}.site-header .button.solid:hover{background:#e2c793}.site-header nav a:hover,.footer a:hover,.footer .plain:hover{color:#f0d18b}

/* Royal homepage: an editorial portrait, an inclusive portfolio, clear next steps. */
.hero{max-height:none;grid-template-columns:1fr 1fr;min-height:720px}
.hero-art>img{object-position:50% 35%}
.hero-copy{padding-top:54px;padding-bottom:42px}
.hero h1{font-size:clamp(64px,6.4vw,96px)}
.hero-sub{color:#d0dbcf;font-size:14px}
.hero-foot{margin-top:30px}
.portfolio{padding-top:72px;padding-bottom:72px}
.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.gallery-item{aspect-ratio:3/4.4}
.gallery-item b{font-size:22px}
.gallery-item small{font-size:9px;letter-spacing:.09em}
.gallery-item>span{left:18px;right:26px;bottom:19px}
.gallery-item:after{inset:48% 0 0}
.gallery-toolbar .fine{font-size:11px}
.portfolio-bottom .fine{font-size:12px}
.treatments{background:#f1ece1;border-top:1px solid #d9d9cb;max-width:none}
.eyebrow{font-size:11px;color:#566449}
.eyebrow.light{color:#dfc797}
.fine{font-size:12px}
.section-heading>p{font-size:15px}
.photo-stage{height:min(60dvh,680px)}
.photo-dialog{overflow-y:auto}
.photo-booking{padding:0 28px 22px;display:flex;gap:22px;align-items:center}
.photo-booking .button{font-size:12px;flex-shrink:0}
.photo-booking>span{font-size:12px;color:#d0dbcf}
.filter-group button{min-height:44px;font-size:12px}
.site-header nav a[aria-current=location]{color:#f0d18b}
.site-header nav a[aria-current=location]:after{right:0}
.footer-bottom{font-size:11px}
@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item{aspect-ratio:3/3.8}.gallery-item b{font-size:25px}}
@media(max-width:600px){
.hero{min-height:0}.hero-copy{padding:32px 24px 30px}.hero h1{font-size:clamp(54px,14vw,72px);margin-bottom:20px}.hero .eyebrow{font-size:10px;margin-bottom:18px}.hero-intro{font-size:17px}.hero-sub{font-size:14px}.hero-actions{gap:14px;margin-top:22px}.hero-actions .button{font-size:12px;min-height:48px}.hero-actions .text-link{font-size:12px;min-height:44px}
.hero-art{height:auto;aspect-ratio:2/3}.hero-art>img{object-fit:cover;object-position:center}.image-caption{bottom:20px}.image-caption span:last-child{font-size:11px}
.portfolio{padding:48px 20px}.portfolio .section-heading>p{font-size:14px;margin-top:18px}.gallery-grid{gap:12px}.gallery-item{aspect-ratio:2/3}.gallery-item b{font-size:19px}.gallery-item>span{left:12px;right:10px;bottom:14px}.gallery-item small{font-size:8px;letter-spacing:.04em}.portfolio-bottom .fine{font-size:11px}
.eyebrow{font-size:10px}.category-tabs button{font-size:13px;min-height:48px}.treatment-copy>p:not(.eyebrow):not(.fine){font-size:14px}.treatment-list li{font-size:14px}.treatment-copy .fine{font-size:12px}.filter-group button{font-size:12px;padding:9px 14px}.story-copy>p{font-size:14px}summary{font-size:14px;line-height:1.5}details p{font-size:14px}.visit-details p,.hours{font-size:13px}.visit-details small{font-size:12px}.footer-top>p,.social-links a{font-size:12px}.footer-bottom{font-size:10px;line-height:1.8}.mobile-book a{font-size:13px;min-height:52px}.mobile-book a:last-child{background:#d4b57b;color:#12332d}
.photo-stage{height:54dvh}.photo-info{padding:16px 18px}.photo-info h3{font-size:23px}.photo-info .eyebrow{font-size:9px}.photo-booking{padding:0 18px 18px;display:block}.photo-booking>span{display:none}.photo-booking .button{width:100%;min-height:44px}.photo-arrow{height:44px;width:44px}.photo-dialog .close{height:44px;width:44px}
}
@media(max-width:380px){.gallery-item b{font-size:17px}.header-actions .button{font-size:10px}.gallery-item small{font-size:7px}}

/* Keep the full booking label readable in the compact mobile header. */
@media(max-width:600px){.header-actions .button span{display:none}.header-actions .button{gap:0}}

/* Keep the phone booking bar compact with both actions on one line. */
@media(max-width:600px){.mobile-book{grid-template-columns:.85fr 1.15fr}.mobile-book a{display:flex;align-items:center;justify-content:center;min-width:0;min-height:54px;padding:12px 8px;font-size:12px;white-space:nowrap}.portfolio{padding-bottom:36px}.treatments{padding-top:54px}}
