@import url("/fonts/fonts.css");:root{--paper:#f8f5ef;--surface:#eee8de;--ink:#33291f;--muted:#70665b;--gold:#8b6b2f;--line:#dcd2c2;--blush:#ecd9d1;--display:"Cormorant Garamond",Georgia,serif;--body:"Manrope",system-ui,sans-serif;color-scheme:light;--gutter:clamp(22px,5.5vw,90px);--radius-sm:14px;--radius-md:22px;--radius-lg:32px;--radius-pill:999px;--inset:clamp(10px,1.6vw,24px);--page-pad:max(var(--gutter),calc((100% - 1560px)/2 + var(--gutter)));--shadow-soft:0 18px 50px -26px #543d2440;--shadow-lift:0 26px 60px -28px #543d2466}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:18px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}a{color:inherit;text-decoration:none}a,button,select,summary{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed}img{max-width:100%}img,svg{display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:400}h2{font-size:clamp(42px,4.6vw,68px);line-height:1.04;letter-spacing:-1.7px;margin-bottom:26px;text-wrap:balance}h3{font-size:32px;line-height:1.1;letter-spacing:-.6px}em{font-weight:400;color:var(--gold)}p{line-height:1.9}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}::selection{background:#ddc697;color:#33291f}.section{max-width:1560px;margin:auto;padding:110px var(--gutter)}.eyebrow{font-family:var(--body);letter-spacing:2px;color:var(--gold);line-height:1.7;margin-bottom:20px}.button,.eyebrow{font-size:15px;font-weight:600;text-transform:uppercase}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:52px;padding:16px 26px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);letter-spacing:1.25px;border-radius:var(--radius-pill);transition:background .2s,translate .2s,box-shadow .2s}.button span{font-size:19px;color:#d2b773}.button:hover:not(:disabled){background:#514032;translate:0 -2px;box-shadow:var(--shadow-soft)}.button:active:not(:disabled){translate:0 1px}.button.small{min-height:44px;padding:12px 20px;font-size:14px}.text-link{display:inline-flex;align-items:center;gap:30px;min-height:44px;font-size:15px;letter-spacing:1px;text-transform:uppercase;border-bottom:1px solid var(--gold);padding-bottom:4px}.text-link span{font-size:22px;color:var(--gold)}.skip-link{position:absolute;top:-100px;left:20px;z-index:30;background:var(--ink);color:white;padding:14px 22px;border-radius:var(--radius-pill)}.skip-link:focus{top:10px}.announcement{text-align:center;background:#baa061;color:#30281c;font-size:14px;letter-spacing:2px;text-transform:uppercase;padding:9px 20px;line-height:1.5}.header{height:100px;padding:0 var(--gutter);display:flex;justify-content:space-between;gap:25px;background:var(--paper);position:relative;z-index:10;padding-inline:var(--page-pad);border-bottom:1px solid #e7dfd1}.brand,.header{align-items:center}.brand{display:inline-flex;gap:13px}.brand>img{width:auto;height:46px}.brand>span{font-family:var(--body);font-weight:400;letter-spacing:3.6px;font-size:21px;line-height:1.1}.brand small{display:block;text-align:center;font-size:11px;letter-spacing:7px;margin-top:8px;color:var(--gold)}.nav{gap:34px}.nav,.nav>a:not(.button){display:flex;align-items:center}.nav>a:not(.button){font-size:17px;color:var(--muted);transition:color .2s;min-height:44px}.nav>a:hover{color:var(--gold)}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:.91fr 1.09fr;min-height:clamp(640px,calc(100svh - 136px),900px);padding-inline:var(--page-pad);isolation:isolate;overflow:hidden}.hero,.hero-copy{position:relative}.hero-copy{padding:80px 40px 64px 0;z-index:2;align-self:center}.hero-copy>.eyebrow{margin-bottom:26px}.hero h1{font-size:clamp(78px,8.1vw,124px);line-height:.85;letter-spacing:-5px;margin:0 0 20px}.hero h1 em{color:var(--ink)}.hero-script{font-family:var(--display);font-size:30px;font-style:italic;color:var(--gold);margin-bottom:22px}.hero-description{font-size:18px;color:var(--muted);line-height:1.9;margin-bottom:25px}.hero-secondary{display:flex;align-items:center;width:max-content;gap:25px;font-size:15px;letter-spacing:.8px;margin-top:15px;min-height:44px}.hero-secondary span{font-size:20px;color:var(--gold)}.hero-signoff{margin-top:39px;font-size:14px;letter-spacing:1px;color:var(--muted);display:flex;align-items:center;gap:9px}.tiny-gem{width:18px;height:18px;color:var(--gold)}.hero-art{position:absolute;inset:0 0 0 34%;z-index:0;overflow:hidden;pointer-events:none}.hero-layers{position:absolute;inset:-7% 0}.hero-layers picture,.hero-mist,.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 36%;max-width:none}.hero-mist{filter:blur(28px) brightness(1.14) saturate(.72);transform:scale(1.08);-webkit-mask-image:linear-gradient(90deg,transparent,#000 34%);mask-image:linear-gradient(90deg,transparent,#000 34%)}.hero-photo{-webkit-mask-image:linear-gradient(90deg,transparent 6%,rgba(0,0,0,.4) 24%,#000 48%);mask-image:linear-gradient(90deg,transparent 6%,rgba(0,0,0,.4) 24%,#000 48%)}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0,var(--paper) 3%,#f8f5efe0 9%,#f8f5ef99 17%,#f8f5ef40 28%,#f8f5ef00 44%),linear-gradient(0deg,var(--paper) 0,#f8f5ef99 9%,#f8f5ef00 26%),linear-gradient(180deg,#f8f5ef80,#f8f5ef00 14%)}.hero-caption{position:absolute;right:max(var(--gutter),calc((100vw - 1560px)/2 + var(--gutter)));bottom:36px;z-index:2;margin:0;font-family:var(--display);font-size:26px;line-height:1.2;color:var(--ink);text-align:right}.hero-caption span{display:block;font-family:var(--body);font-size:13px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin-top:6px}.hero-seal{position:absolute;right:max(var(--gutter),calc((100vw - 1560px)/2 + var(--gutter)));top:44px;z-index:2;border-radius:50%;border:1px solid #fff9;background:#2c241d26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:112px;height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff8ea;gap:8px}.hero-seal svg{width:34px;height:34px}.hero-seal span{font-size:9px;letter-spacing:1.4px}.brand-strip{min-height:82px;border-bottom:1px solid var(--line);padding:20px var(--gutter);overflow:hidden}.brand-strip,.brand-strip-track{display:flex;align-items:center;justify-content:center}.brand-strip-track{gap:clamp(20px,4vw,70px);flex-wrap:wrap}.brand-strip-track>span{font-size:14px;letter-spacing:2px;text-transform:uppercase;white-space:nowrap}.brand-strip-track svg{width:17px;height:20px;color:var(--gold)}.about{display:grid;grid-template-columns:.93fr 1fr;gap:clamp(60px,9vw,160px);align-items:center}.about-visual{position:relative;padding:0 38px 28px 0}.about-frame{overflow:hidden;border-radius:var(--radius-lg);background:var(--surface)}.about-frame img{width:100%;height:600px;object-fit:cover;object-position:center 30%}.about-visual:before{content:"";position:absolute;left:20px;top:20px;right:18px;bottom:8px;border:1px solid var(--gold);border-radius:var(--radius-lg);z-index:-1}.about-note{position:absolute;bottom:0;right:0;background:var(--surface);display:flex;align-items:center;gap:23px;padding:26px 33px;max-width:90%;font-family:var(--display);font-size:26px;line-height:1.15;border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.about-note svg{width:38px;color:var(--gold)}.about-copy{max-width:540px}.about-copy .lead{font-size:19px;color:var(--ink);line-height:1.7}.about-copy p{color:var(--muted);font-size:18px}.about-copy .eyebrow{font-size:15px;color:var(--gold)}.signature{font-family:var(--display);font-size:39px;font-style:italic;color:var(--gold);margin:28px 0 18px;display:flex;align-items:center;gap:24px}.signature span{font-family:var(--body);font-size:14px;font-style:normal;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted)}.services{background:#f0ebe3;max-width:none}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-heading h2{margin:0}.section-heading>div>p:not(.eyebrow),.section-heading>p{color:var(--muted);font-size:17px}.pricing-note{font-size:15px;color:var(--muted)}.service-list{display:grid;gap:12px}.service-row{display:grid;grid-template-columns:40px 1fr 1fr 110px 50px;align-items:center;gap:26px;padding:28px 30px;background:var(--paper);border:1px solid #e3d9ca;border-radius:var(--radius-md);transition:box-shadow .25s}.service-row:hover{box-shadow:var(--shadow-soft)}.service-number{font-family:var(--display);font-size:21px;color:var(--gold)}.service-name .eyebrow{font-size:14px;letter-spacing:1.3px;margin:0 0 9px}.service-name h3{font-size:29px;margin:0}.service-description{font-size:17px;color:var(--muted);max-width:310px;margin:0}.service-price{font-family:var(--display);font-size:36px;text-align:right;line-height:1.2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.service-price>span{font-family:var(--body);display:block;font-size:14px;margin-top:7px;color:var(--muted)}.service-link{width:46px;height:46px;border:1px solid #cdbd9f;display:grid;place-items:center;font-size:25px;border-radius:50%;transition:background .2s,color .2s,border-color .2s}.service-link:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.coming-soon{border:1px dashed #cdbd9f;border-radius:var(--radius-md);margin-top:12px;display:flex;align-items:center;gap:20px;padding:22px 30px;color:var(--muted)}.coming-soon svg{width:25px;color:var(--gold)}.coming-soon p{font-family:var(--display);font-size:24px;margin:0}.coming-soon>span{margin-left:auto;font-size:14px;letter-spacing:1px;text-transform:uppercase}.philosophy{position:relative;background:#342a21;color:#f8f1e4;text-align:center;padding:88px 25px 74px;overflow:hidden;margin:var(--inset) var(--inset) 0;border-radius:var(--radius-lg)}.philosophy .eyebrow{color:#c7aa6f}.philosophy h2{font-size:clamp(44px,5vw,72px);line-height:1.13;margin-bottom:30px;position:relative;z-index:1}.philosophy h2 em{color:#c9ad79}.philosophy-credit{font-size:14px;letter-spacing:2px;color:#c9bfb1}.philosophy-gem{position:absolute;width:400px;height:400px;color:#ffffff08;right:-90px;top:30px;transform:rotate(15deg)}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,64px);align-items:start;margin-top:12px}.gallery-item{border:0;background:none;padding:0;text-align:left;width:100%}.gallery-item:nth-child(2){padding-top:90px}.gallery-image{position:relative;overflow:hidden;isolation:isolate;background:var(--surface);border-radius:var(--radius-md)}.gallery-image img{width:100%;height:min(720px,62vw);object-fit:cover;transition:scale .6s}.gallery-item:hover img{scale:1.025}.view-image{position:absolute;bottom:16px;right:16px;width:38px;height:38px;background:var(--paper);display:grid;place-items:center;font-size:22px;border-radius:50%;box-shadow:var(--shadow-soft)}.gallery-caption{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:16px;font-family:var(--display);font-size:23px}.gallery-caption small{font-family:var(--body);font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.image-note{margin:30px 0 0;color:var(--muted);font-size:15px}.lightbox{border:0;padding:18px;background:var(--paper);max-width:90vw;max-height:92dvh;overflow:auto;border-radius:var(--radius-lg)}.lightbox::backdrop{background:#211910db;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lightbox>img{max-height:75dvh;max-width:80vw;object-fit:contain;margin:auto;border-radius:var(--radius-md)}.lightbox>p{margin:12px 4px 0;font-family:var(--display);font-size:25px}.lightbox>p>span{font-family:var(--body);font-size:15px;display:block}.lightbox-close{position:absolute;top:26px;right:26px;z-index:1;width:44px;height:44px;border:0;background:var(--paper);font-size:29px;border-radius:50%;box-shadow:var(--shadow-soft)}.booking{background:var(--surface);max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,10vw,150px);align-items:center}.booking-intro>p:not(.eyebrow){max-width:365px;color:var(--muted);font-size:18px}.steps{list-style:none;padding:0;margin:35px 0 0;max-width:410px}.steps li{display:flex;align-items:center;gap:21px;border-top:1px solid var(--line);padding:17px 0;font-size:16px}.steps span{font-family:var(--display);font-size:25px;color:var(--gold)}.booking-panel{background:var(--paper);padding:38px;border:1px solid #e3d9ca;border-radius:var(--radius-lg);box-shadow:var(--shadow-lift)}.booking-panel>label{display:block;font-size:15px;letter-spacing:.8px;margin-bottom:12px}.booking-panel select{width:100%;padding:15px 38px 15px 14px;background:transparent;border:1px solid #baab91;color:var(--ink);font-size:17px;min-height:48px;border-radius:var(--radius-sm)}.booking-detail{margin-top:30px}.booking-detail .eyebrow{font-size:14px;margin-bottom:12px}.price-row{display:flex;justify-content:space-between;gap:20px}.price-row h3{font-size:33px;max-width:240px;margin-bottom:10px}.price-row>span{font-family:var(--display);font-size:36px;line-height:1.1}.price-row small{display:block;text-align:right;font-family:var(--body);font-size:14px;letter-spacing:1px;margin-top:4px}.booking-detail p{font-size:17px;color:var(--muted)}.booking-detail .duration{font-size:15px}.booking-detail ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:13px;font-size:15px;margin:20px 0 26px}.booking-detail li:before{content:"✓";color:var(--gold);margin-right:9px}.totals{margin:0 0 26px;border-top:1px solid var(--line)}.totals>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:16px}.totals dt{color:var(--muted)}.totals dd{margin:0;font-family:var(--display);font-size:24px;line-height:1.1}.confirmation a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}.checkout{width:100%}.checkout:disabled{background:#ddd5c8;border-color:#ddd5c8;color:#65594a}.fineprint{font-size:15px;color:var(--muted);margin:13px 0 0;text-align:center;line-height:1.7}.booking-panel .confirmation{display:flex;gap:12px;line-height:1.7;text-transform:none;letter-spacing:0;font-size:16px;margin-bottom:18px}.confirmation input{margin-top:4px;width:20px;height:20px;flex-shrink:0;accent-color:var(--gold)}.faq{display:grid;grid-template-columns:1fr 1.25fr;gap:80px}.faq details{border:1px solid var(--line);border-radius:var(--radius-md);padding:0 24px;transition:background .2s,box-shadow .2s}.faq details+details{margin-top:10px}.faq details[open]{background:#fbf9f5;box-shadow:var(--shadow-soft)}.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:22px;padding:23px 0;font-size:18px;line-height:1.6}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:22px;color:var(--gold);transition:transform .2s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:17px;color:var(--muted);padding-right:35px}.closing{background:var(--blush);text-align:center;padding:66px 24px 72px;margin:0 var(--inset) var(--inset);border-radius:var(--radius-lg)}.closing>svg{width:35px;height:42px;color:var(--gold);margin:0 auto 18px}.closing .eyebrow{font-size:14px;margin-bottom:17px}.closing h2{font-size:clamp(38px,4.2vw,60px)}.closing h2 em{color:#796240}.footer{padding:65px var(--page-pad) 24px;background:#2c241d;color:#f0e8db;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px;padding-bottom:45px}.footer .brand{margin-bottom:18px}.footer .brand>span{font-size:21px}.footer .brand small{color:#c4a467}.footer .eyebrow{color:#c4a467;font-size:14px;margin-bottom:15px}.footer a:not(:has(.brand)),.footer p{font-size:16px;color:#c7bcb0}.footer-top>div>a:not(:has(.brand)){display:block;line-height:2.8;width:max-content}.footer-top>div>p{margin-bottom:9px}.footer-bottom{border-top:1px solid #ffffff1a;padding-top:23px;display:flex;justify-content:space-between;gap:25px;color:#b9ab9d;font-size:14px}.footer-bottom>div{display:flex;gap:24px}.footer-bottom a{font-size:14px!important}.legal{max-width:850px;padding-top:80px;padding-bottom:90px;min-height:55vh}.legal>h1{font-size:64px;letter-spacing:-2px;line-height:1.1}.legal h2{font-size:30px;margin-top:40px;letter-spacing:-.5px}.legal li,.legal p{font-size:18px;color:var(--muted);line-height:1.9}.legal .lead{font-size:20px;color:var(--ink)}.policy-list{list-style:none;padding:0;margin:40px 0;display:grid;gap:14px;counter-reset:p}.policy-list li{counter-increment:p;background:#fbf9f5;border:1px solid var(--line);border-radius:var(--radius-md);padding:26px 30px}.policy-list h2{margin:0 0 8px;font-size:28px}.policy-list h2:before{content:counter(p,decimal-leading-zero);font-family:var(--body);font-size:14px;letter-spacing:1.5px;color:var(--gold);margin-right:14px;vertical-align:middle}.policy-list p{margin:0}.policy-prices{list-style:none;padding:0;margin:16px 0 20px;border-top:1px solid var(--line)}.policy-prices li{display:grid;grid-template-columns:1fr auto 70px;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:18px}.policy-prices li span:nth-child(2){color:var(--muted)}.policy-prices li span:last-child{text-align:right;font-family:var(--display);font-size:24px;line-height:1.2}.legal .text-link{margin-top:30px}.not-found{text-align:center;padding:120px 25px}.not-found h1{font-size:80px;margin-bottom:15px}.booking,.services{padding-inline:var(--page-pad)}@media(max-width:1100px){.nav{gap:20px}.hero{min-height:610px}.hero-copy{padding-top:60px}.hero h1{font-size:90px}.hero-seal{width:96px;height:96px}.hero-seal span{font-size:8px}.section{padding-top:80px;padding-bottom:80px}.about{gap:55px}.about-frame img{height:540px}.about-note{padding:22px;font-size:23px}.service-row{grid-template-columns:30px 1.1fr 1fr 85px 44px;gap:18px}.service-name h3{font-size:25px}.service-description{font-size:16px}.gallery-grid{gap:20px}.gallery-caption{display:block;font-size:21px}.gallery-caption small{display:block;margin-top:8px}.booking{gap:55px}.booking-panel{padding:28px}.faq{gap:50px}}@media(max-width:800px){.announcement{font-size:14px;letter-spacing:1px}.header{height:82px}.brand>img{height:38px}.brand>span{font-size:18px;letter-spacing:3px}.brand small{font-size:10px;letter-spacing:5px}.menu-toggle{display:flex;align-items:center;gap:14px;background:none;border:1px solid var(--line);border-radius:var(--radius-pill);padding:0 18px;min-height:44px;font-size:16px}.menu-toggle span{font-size:20px}.nav{display:none;position:absolute;top:90px;left:var(--inset);right:var(--inset);background:var(--paper);padding:16px 22px 22px;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-lift)}.nav.open{display:flex;flex-direction:column;align-items:stretch;gap:10px}.nav .button{margin-top:10px}.hero{grid-template-columns:1fr 1fr;min-height:570px}.hero-copy{padding:54px 20px 30px 0}.hero h1{font-size:76px;letter-spacing:-3.5px}.hero-script{font-size:25px}.hero-copy>.eyebrow{font-size:14px;letter-spacing:1.3px}.hero .button{padding:14px 17px;font-size:14px;gap:10px}.hero-description{font-size:16px}.hero-signoff{font-size:14px;letter-spacing:.3px}.hero-art{left:30%}.hero-caption{font-size:21px;bottom:26px}.hero-seal{display:none}.brand-strip{min-height:70px}.brand-strip-track{gap:14px 20px}.brand-strip-track>span{font-size:14px;letter-spacing:1px}.brand-strip-track>span:last-child,.brand-strip-track>svg:last-of-type{display:none}.section{padding-top:65px;padding-bottom:65px}.about{gap:35px}.about-visual{padding-right:15px}.about-frame img{height:460px}.about-note{padding:18px;gap:15px;font-size:21px}.about-note svg{width:29px}.about-copy h2{font-size:40px}.about-copy p{font-size:17px}.about-copy .lead{font-size:18px}.signature{font-size:32px;gap:15px;flex-wrap:wrap}.signature span{font-size:14px}.section-heading{gap:25px}.section-heading h2{font-size:46px}.section-heading>div>p:not(.eyebrow),.section-heading>p{font-size:16px}.service-row{grid-template-columns:25px 1fr 90px 44px;gap:16px}.service-description{display:none}.service-name h3{font-size:27px}.coming-soon{flex-wrap:wrap;gap:15px}.coming-soon>span{margin-left:40px;flex-basis:100%}.coming-soon p{font-size:23px}.gallery-grid{gap:16px}.gallery-item:nth-child(2){padding-top:60px}.gallery-caption{font-size:19px}.booking{grid-template-columns:1fr 1.1fr;gap:30px}.booking h2{font-size:45px}.booking-panel{padding:24px}.booking-detail ul{grid-template-columns:1fr;gap:9px}.price-row h3{font-size:27px}.price-row>span{font-size:30px}.faq{gap:35px;grid-template-columns:1fr 1.2fr}.faq h2{font-size:40px}.footer-top{gap:30px;grid-template-columns:1.3fr 1fr}.footer-top>div:last-child{grid-column:1/-1}.footer-bottom{font-size:14px;flex-wrap:wrap}}@media(max-width:600px){.announcement span{display:none}.announcement{font-size:14px;letter-spacing:1.4px}.header{height:78px}.nav{top:86px}.hero{grid-template-columns:1fr;min-height:0;padding-inline:0}.hero-copy{padding:0 var(--gutter) 40px}.hero-copy>.eyebrow{font-size:14px;margin-bottom:22px}.hero h1{font-size:91px;letter-spacing:-4px;line-height:.86;margin-bottom:18px;max-width:350px}.hero-script{font-size:28px;margin-bottom:16px}.hero-description{font-size:17px;margin-bottom:22px}.hero .button{font-size:14px;padding:16px 21px;gap:23px}.hero-secondary{margin-top:8px;font-size:15px}.hero-signoff{margin-top:13px;font-size:14px}.hero-art{position:relative;inset:auto;height:min(76svh,600px)}.hero-layers{inset:-4% 0}.hero-layers picture,.hero-mist,.hero-photo{object-position:50% 20%}.hero-mist{-webkit-mask-image:linear-gradient(180deg,#000 50%,transparent);mask-image:linear-gradient(180deg,#000 50%,transparent)}.hero-photo{-webkit-mask-image:linear-gradient(180deg,#000 46%,rgba(0,0,0,.45) 72%,transparent 94%);mask-image:linear-gradient(180deg,#000 46%,rgba(0,0,0,.45) 72%,transparent 94%)}.hero-art:after{background:linear-gradient(0deg,var(--paper) 0,#f8f5efcc 12%,#f8f5ef00 40%)}.hero-copy{margin-top:-120px}.hero-caption{display:none}.hero-seal{display:flex;width:84px;height:84px;top:22px;right:var(--gutter)}.hero-seal svg{width:27px;height:27px}.hero-seal span{font-size:7.5px;letter-spacing:1px}.brand-strip{padding:20px var(--gutter);min-height:63px}.brand-strip-track{gap:8px 22px}.brand-strip-track>span{font-size:13px;letter-spacing:.7px}.brand-strip-track>svg{display:none}.section{padding-top:58px;padding-bottom:58px}.about{grid-template-columns:1fr;gap:42px}.about-visual{max-width:420px;padding:0 24px 27px 0}.about-frame img{height:440px}.about-visual:before{right:8px}.about-note{font-size:24px;padding:23px 25px;right:0}.about-copy h2{font-size:44px}.about-copy p{font-size:18px}.about-copy .lead{font-size:19px}.signature{margin-top:24px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:48px;margin-bottom:24px}.section-heading>div>p:not(.eyebrow),.section-heading>p{font-size:17px}.service-row{grid-template-columns:20px 1fr auto;gap:12px;padding:22px 20px;position:relative}.service-name h3{font-size:25px}.service-name .eyebrow{font-size:13px;letter-spacing:1px}.service-price{font-size:30px;align-self:center}.service-price>span{font-size:13px;white-space:nowrap}.service-link{position:absolute;inset:0;width:auto;height:auto;border:0;border-radius:var(--radius-md);z-index:1}.service-link>span{display:none}.service-link:hover{background:#9b7b3907}.service-link:focus-visible{outline-offset:0}.coming-soon p{font-size:21px}.coming-soon{padding:20px}.coming-soon>span{font-size:14px;margin-left:39px}.philosophy{padding:62px 20px}.philosophy h2{font-size:43px}.philosophy .eyebrow{font-size:14px}.philosophy-gem{width:260px;right:-100px}.gallery-grid{grid-template-columns:1fr;gap:34px}.gallery-item:nth-child(2){padding-top:0}.gallery-image img{height:min(520px,130vw)}.gallery-caption{font-size:20px;line-height:1.05}.gallery-caption small{font-size:13px;line-height:1.5}.image-note{font-size:14px;line-height:1.8}.booking{grid-template-columns:1fr;gap:30px}.booking h2{font-size:48px}.booking-panel{padding:26px 23px}.booking-detail ul{grid-template-columns:1fr;font-size:15px}.checkout{font-size:13px;letter-spacing:.8px}.price-row h3{font-size:31px}.price-row>span{font-size:35px}.faq{grid-template-columns:1fr;gap:25px}.faq h2{font-size:44px}.faq summary{font-size:17px;padding:20px 0}.closing{padding:52px 22px 60px}.closing h2{font-size:42px}.footer{padding-top:47px}.footer-top{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-top>div:first-child{grid-column:1/-1}.footer-top>div:last-child{grid-column:auto}.footer-top .eyebrow{font-size:14px}.footer a:not(:has(.brand)),.footer p{font-size:15px}.footer-bottom{gap:18px}.footer-bottom>div{gap:19px;flex-wrap:wrap}.legal>h1{font-size:48px}.legal h2{font-size:29px}.lightbox{padding:10px}.lightbox>img{max-width:85vw}.lightbox-close{top:16px;right:16px}.lightbox>p{font-size:23px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}:after,:before,:not(.intro){animation:none!important;transition:none!important}.scroll-progress{display:none}}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:40;background:linear-gradient(90deg,#c9ad79,var(--gold));transform:scaleX(0);transform-origin:left center;pointer-events:none}html.intro-lock{overflow:hidden}html[data-intro=done] .intro{display:none}.intro{position:fixed;inset:0;z-index:100;pointer-events:none;animation:intro-failsafe .6s ease 9s forwards}@keyframes intro-failsafe{to{opacity:0;visibility:hidden}}.intro-door{position:absolute;top:0;bottom:0;width:50%;overflow:hidden;pointer-events:auto;cursor:pointer;--edge:0;will-change:transform}.intro-door.is-left{left:0}.intro-door.is-right{right:0}.intro-door:after{content:"";position:absolute;top:0;bottom:0;width:80px;opacity:var(--edge);pointer-events:none}.intro-door.is-left:after{right:0;background:linear-gradient(90deg,#6e542800,#6e542838)}.intro-door.is-right:after{left:0;background:linear-gradient(270deg,#6e542800,#6e542838)}.intro-face{position:absolute;top:0;bottom:0;width:200%;display:grid;place-items:center;background:radial-gradient(ellipse 70% 62% at 50% 44%,#f7f1e8 0,#eee4d6 58%,#e3d5c2 100%)}.intro-face:before{content:"";position:absolute;inset:0;opacity:.2;mix-blend-mode:multiply;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .42 0 0 0 0 .33 0 0 0 0 .2 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.intro-door.is-left .intro-face{left:0}.intro-door.is-right .intro-face{right:0}.intro-logo{position:relative;width:min(56vw,310px);animation:intro-logo 1.5s cubic-bezier(.22,1,.36,1) .5s backwards}.intro-logo img{width:100%;height:auto;filter:drop-shadow(0 1px 0 #fff8) drop-shadow(0 6px 18px #8a6a2a22)}.intro-shine{position:absolute;inset:0;-webkit-mask:url(/brand/logo-gold.webp) center/contain no-repeat;mask:url(/brand/logo-gold.webp) center/contain no-repeat;background:linear-gradient(105deg,#fff0 38%,#fff7dfdd 50%,#fff0 62%) -30% 0/260% 100% no-repeat;animation:intro-shine 1.7s cubic-bezier(.65,0,.35,1) 1.3s backwards}.intro-hint{position:absolute;left:0;right:0;bottom:clamp(44px,10vh,96px);margin:0;text-align:center;font-size:13px;font-weight:600;letter-spacing:4.5px;text-transform:uppercase;color:#937638;animation:intro-fade .9s ease 1.5s backwards}.intro-hint span{display:block;width:14px;height:14px;margin:12px auto 0;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg)}.intro-seam{position:absolute;left:50%;top:0;bottom:0;width:1px;margin-left:-.5px;background:linear-gradient(180deg,#b39e5400,#b39e54 14%,#d4bb76 50%,#b39e54 86%,#b39e5400);box-shadow:0 0 14px #d4bb7699;transform-origin:50% 0;animation:intro-seam 1.1s cubic-bezier(.65,0,.35,1) .1s backwards}@keyframes intro-seam{0%{transform:scaleY(0)}}@keyframes intro-logo{0%{opacity:0;transform:translateY(14px) scale(.96);filter:blur(10px)}}@keyframes intro-shine{0%{background-position:130% 0}}@keyframes intro-fade{0%{opacity:0}}