@font-face{font-family:RitualSerif;src:url('fonts/cormorant.woff2') format('woff2');font-style:normal;font-weight:300 700;font-display:swap}@font-face{font-family:RitualSans;src:url('fonts/manrope.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{color-scheme:dark;--bg:#111315;--fg:#f2ebdf;--muted:#b4a99a;--gold:#c5a378;--line:rgba(207,178,135,.19);--serif:RitualSerif,Georgia,serif;--sans:RitualSans,Arial,sans-serif;--script:RitualScript,cursive}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button,a,input,select{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.34}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:5px}h1,h2,h3,p{margin:0}button{border-radius:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:.96}h2 em,h1 em{font-weight:400;color:var(--gold)}[hidden]{display:none!important}.skip-link{position:fixed;top:-80px;left:24px;padding:15px;background:var(--fg);color:var(--bg);z-index:90}.skip-link:focus{top:12px}
.site-header{height:112px;padding:0 4.8%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:relative;z-index:5;border-bottom:1px solid var(--line);background:var(--bg)}.wordmark{display:flex;align-items:center;gap:15px;width:max-content}.brand-mark{font:45px var(--serif);font-weight:400;position:relative;line-height:1;color:var(--gold)}.brand-mark>span{font:15px var(--serif);position:absolute;right:-4px;top:-7px}.wordmark strong{display:block;font:29px var(--serif);letter-spacing:.015em;line-height:1.1;font-weight:500}.wordmark i{font-style:normal}.wordmark small{display:block;font-size:8px;letter-spacing:.23em;margin-top:5px;color:var(--muted)}nav{display:flex;gap:34px;height:100%;align-items:center}nav a{font-size:11px;letter-spacing:.015em;color:var(--muted);height:100%;display:flex;align-items:center;position:relative}nav a:hover,nav a[aria-current]{color:var(--fg)}nav a[aria-current]:after{content:'';position:absolute;bottom:31px;left:50%;width:14px;height:1px;background:var(--gold);transform:translateX(-50%)}.header-contact{justify-self:end}.phone-link{display:flex;gap:9px;align-items:center;font-size:11px;color:var(--muted)}.phone-link:hover{color:var(--fg)}.phone-link svg{width:14px;height:14px}
.scene{min-height:calc(100svh - 112px);position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;animation:scene-enter .7s ease both}.portrait{position:absolute;inset:0 0 0 39%;z-index:-3;overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 32%;filter:saturate(.85);animation:portrait-enter 1.3s ease both}.portrait-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,var(--bg) 0%,rgba(17,19,21,.98) 26%,rgba(17,19,21,.66) 42%,transparent 64%),linear-gradient(0deg,rgba(17,19,21,.65),transparent 28%)}.scene:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.8' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}.home-copy{width:59%;padding:50px 0 75px 8.6%}.eyebrow{font-size:9px;letter-spacing:.24em;font-weight:500;color:var(--gold);display:flex;gap:13px;align-items:center;line-height:1.7}.eyebrow>span{width:25px;height:1px;background:var(--gold);display:inline-block}.home-copy h1{font-size:clamp(78px,7.6vw,126px);margin:30px 0 24px;max-width:670px}.home-copy h1>span,.home-copy h1>em{display:block}.intro{font-size:14px;color:#ddd1c1;line-height:1.9;max-width:340px}.support-copy{font-size:13px;color:var(--muted);line-height:1.85;margin-top:8px}.primary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 24px;background:var(--gold);border:1px solid var(--gold);color:#19140f;font-size:11px;font-weight:600;min-height:52px;transition:background .2s,transform .2s}.primary-button:hover{background:#ddbd96;transform:translateY(-1px)}.primary-button>span{font-size:19px;font-weight:400}.home-copy>.primary-button{margin-top:31px;min-width:237px}
.builder-copy{width:59%;max-width:850px;padding:28px 6% 52px 8.6%;}.builder-copy h2{font-size:clamp(38px,3.7vw,60px);margin:13px 0 12px}.builder-intro{font-size:11px;line-height:1.7;color:var(--muted)}.builder-scene .secondary-portrait{inset:0 0 0 46%}.secondary-portrait img{object-position:center 25%;filter:saturate(.8) brightness(.8)}.builder-scene .portrait-shade{background:linear-gradient(90deg,var(--bg) 10%,var(--bg) 37%,rgba(17,19,21,.78) 54%,rgba(17,19,21,.05) 85%)}.duration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:21px}.duration-grid button{border:1px solid var(--line);background:rgba(23,25,27,.8);padding:12px;display:flex;align-items:center;justify-content:space-between}.duration-grid button[aria-pressed=true]{border-color:var(--gold);background:rgba(197,163,120,.1)}.duration-grid strong{font:28px var(--serif);font-weight:400}.duration-grid small{font:9px var(--sans);color:var(--muted)}.duration-grid button>span{font-size:11px;color:var(--gold)}.custom-row{display:flex;align-items:center;justify-content:space-between;margin:11px 0 19px;color:var(--muted);font-size:10px}.custom-row select{border:0;border-bottom:1px solid var(--line);background:var(--bg);padding:6px 5px;color:#ddd1c1;font-size:10px}.focus-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.focus-heading h3{font-size:12px;font-weight:500}.text-button{background:none;border:0;border-bottom:1px solid #78634b;padding:5px 0;font-size:10px;color:var(--gold)}.text-button[aria-pressed=true]{color:var(--fg)}.focus-hint{font-size:9px;color:var(--muted);margin:4px 0 12px}.focus-list{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.focus-row{min-height:49px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:8px}.focus-row>span{font-size:10px;color:#d5c9b9}.focus-row.selected>span{color:var(--gold)}.stepper{display:flex;align-items:center;gap:1px}.stepper button{width:29px;height:36px;border:0;background:transparent;font-size:18px;color:var(--gold);font-weight:300}.stepper output{font-size:10px;min-width:38px;text-align:center;font-variant-numeric:tabular-nums}.allocation{margin-top:17px}.allocation-track{height:2px;background:#382f25;overflow:hidden}.allocation-track>span{display:block;height:100%;background:var(--gold);transition:width .25s}.allocation-track>span.guided{opacity:.32}.allocation p{font-size:9px;color:var(--muted);margin-top:8px}.quote-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:20px}.quote-label{font-size:8px;letter-spacing:.16em;color:var(--muted)}.quote-footer p{display:flex;gap:12px;align-items:baseline;margin-top:3px}.quote-footer strong{font:35px var(--serif)}.quote-footer p>span{font-size:10px;color:var(--muted)}.quote-footer small{font-size:8px;color:var(--muted)}.quote-footer .primary-button{font-size:10px;padding:14px 17px;gap:13px;min-height:47px}.about-copy{padding:55px 0 75px 8.6%;width:52%;max-width:700px}.about-copy h2{font-size:clamp(45px,4.8vw,76px);margin:23px 0 25px}.about-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#cbbfae;max-width:360px;margin-top:14px}.signature{font:italic 40px var(--serif);color:var(--gold);margin:21px 0}.comfort-note{border-left:1px solid #70604b;padding-left:17px;max-width:350px;margin:25px 0}.comfort-note>span{font-size:8px;letter-spacing:.16em;color:var(--gold)}.comfort-note p{font-size:11px;line-height:1.8;color:var(--muted);margin-top:7px}
dialog{width:min(500px,calc(100% - 32px));max-height:90svh;overflow:auto;background:#181510;color:var(--fg);border:1px solid #6b5740;padding:38px;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#080705c9;backdrop-filter:blur(8px)}dialog h2{font-size:60px;margin:25px 0}.dialog-close{position:absolute;right:17px;top:12px;width:35px;height:35px;background:none;border:0;font-size:28px;color:var(--muted)}.review-total{font:30px var(--serif);color:var(--gold);margin-bottom:15px}#review-summary>p:not(.review-total){font-size:13px;color:var(--muted)}#review-summary ul{list-style:none;padding:0;margin:0;font-size:12px;color:#d6c8b5;line-height:2}.review-note{font-size:11px;color:var(--muted);line-height:1.7;margin:17px 0}.preview-notice{border:1px solid var(--line);padding:15px;margin:20px 0;font-size:11px;line-height:1.7;color:var(--muted)}.preview-notice strong{font-weight:500;color:#decbb1}.preview-notice p{margin-top:4px}dialog>.primary-button,#booking-details>.primary-button{width:100%;margin-top:5px}#booking-details{margin-top:22px}#booking-details label{display:block;font-size:11px;margin:12px 0;color:var(--muted)}#booking-details input,#booking-details select{width:100%;display:block;min-height:44px;border:1px solid var(--line);padding:10px;background:#111315;color:var(--fg);margin-top:7px}#preview-complete{border-top:1px solid var(--line);padding-top:20px;color:var(--gold);font-size:13px;line-height:1.8}
@keyframes scene-enter{from{opacity:0}to{opacity:1}}@keyframes portrait-enter{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@media(min-width:1600px){.home-copy{padding-left:11%}.hero-portrait{left:42%}.home-copy h1{font-size:132px}.builder-copy{padding-left:11%;max-width:920px}}
@media(max-width:1100px){.site-header{padding:0 4%;height:100px}.wordmark strong{font-size:25px}.wordmark small{font-size:6px}.wordmark{gap:10px}nav{gap:22px}.header-contact .phone-link{font-size:10px}.home-copy{padding-left:7%;width:65%}.home-copy h1{font-size:86px}.builder-copy{width:68%;padding-left:7%;padding-right:7%}.builder-scene .secondary-portrait{left:48%;opacity:.7}.builder-scene .portrait-shade{background:linear-gradient(90deg,var(--bg) 32%,rgba(17,19,21,.86) 58%,rgba(17,19,21,.15))}.about-copy{width:60%;padding-left:7%}.scene{min-height:calc(100svh - 100px)}}
@media(max-width:720px){.site-header{height:117px;padding:17px 22px 0;grid-template-columns:1fr 1fr;grid-template-rows:51px 49px}.wordmark strong{font-size:27px}.wordmark small{font-size:7px}.brand-mark{font-size:37px}.header-contact{grid-column:2;grid-row:1}.phone-link span{font-size:10px}nav{grid-column:1/-1;grid-row:2;justify-content:center;gap:31px}nav a{font-size:10px}nav a[aria-current]:after{bottom:8px;width:10px}.scene{min-height:calc(100svh - 117px);align-items:flex-end}.hero-portrait{left:9%;top:0;bottom:0;right:-19%;height:100%}.hero-portrait img{object-position:50% 15%}.home-scene .portrait-shade{background:linear-gradient(0deg,var(--bg) 1%,rgba(17,19,21,.93) 22%,rgba(17,19,21,.4) 55%,rgba(17,19,21,.04) 100%),linear-gradient(90deg,rgba(17,19,21,.5),transparent 80%)}.home-copy{width:100%;padding:240px 28px 40px;position:relative;z-index:1}.home-copy .eyebrow{font-size:7px;letter-spacing:.17em;gap:10px}.home-copy .eyebrow>span{width:17px}.home-copy h1{font-size:76px;margin:19px 0 16px;line-height:.89}.home-copy h1>span{max-width:330px}.home-copy .intro{font-size:12px;line-height:1.6}.support-copy{font-size:11px;line-height:1.7;margin-top:7px}.home-copy>.primary-button{margin-top:23px;min-height:48px;padding:13px 20px;font-size:10px;min-width:226px}.builder-scene{align-items:flex-start}.builder-copy{width:100%;max-width:none;padding:30px 25px 34px}.builder-copy h2{font-size:43px;margin-top:14px}.builder-copy>.eyebrow{font-size:8px}.builder-intro{font-size:10px}.builder-scene .secondary-portrait{inset:0 0 0 20%;opacity:.12}.builder-scene .portrait-shade{background:linear-gradient(0deg,var(--bg),rgba(17,19,21,.65))}.duration-grid{margin-top:22px;gap:8px}.duration-grid button{padding:12px 10px;gap:5px;flex-wrap:wrap}.duration-grid strong{font-size:27px}.duration-grid button>span{font-size:11px}.focus-list{gap:0 15px}.focus-row{min-height:55px;gap:2px}.focus-row>span{font-size:9px;max-width:62px;line-height:1.5}.stepper button{width:26px;height:44px}.stepper output{font-size:9px;min-width:33px}.quote-footer{align-items:flex-end}.quote-footer .primary-button{font-size:9px;padding:11px;gap:8px;max-width:185px}.quote-footer strong{font-size:32px}.quote-footer p{gap:8px}.quote-footer p>span{font-size:9px}.about-scene .secondary-portrait{inset:0 -10% 0 15%;opacity:.6}.about-scene .portrait-shade{background:linear-gradient(0deg,var(--bg) 10%,rgba(17,19,21,.9) 40%,rgba(17,19,21,.05))}.about-copy{width:100%;padding:250px 28px 35px}.about-copy h2{font-size:50px}.about-copy>.eyebrow{font-size:7px}.about-copy>p:not(.eyebrow){font-size:12px;max-width:330px}.signature{font-size:35px;margin:20px 0}.comfort-note{margin:22px 0}dialog{padding:30px 24px}dialog h2{font-size:53px}}
@media(max-width:380px){nav{gap:24px}.home-copy{padding-left:23px;padding-right:23px}.home-copy h1{font-size:67px}.home-copy .eyebrow{font-size:6px}.builder-copy{padding-left:19px;padding-right:19px}.builder-copy h2{font-size:39px}.quote-footer .primary-button{max-width:160px}.wordmark small{font-size:6px}}
.portrait{mask-image:linear-gradient(90deg,transparent,#000 26%)}nav a{font-size:12px}.focus-row>span,.stepper output{font-size:11px}.quote-footer .primary-button{font-size:11px}.focus-hint,.allocation p{font-size:10px}
@media(max-width:720px){.portrait{mask-image:none}nav a{font-size:10px}.home-copy{padding-top:190px;padding-bottom:28px}.home-copy h1{font-size:70px}.home-copy>.primary-button{margin-top:19px}.focus-row>span,.stepper output{font-size:10px}.quote-footer .primary-button{font-size:10px}.focus-hint,.allocation p{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:720px){.duration-grid button{flex-direction:column;align-items:flex-start;gap:1px;padding:9px 11px}.duration-grid{margin-top:18px}.builder-copy{padding-top:24px;padding-bottom:25px}.custom-row{margin-bottom:15px}.focus-row{min-height:51px}.quote-footer{margin-top:17px}}
.hero-portrait img{object-position:50% 0%}@media(max-width:720px){.hero-portrait{left:0;right:-10%}}

@font-face{font-family:RitualScript;src:url('fonts/allura.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
.wordmark strong{font-family:var(--script);font-size:37px;line-height:1;letter-spacing:0;font-weight:400}.wordmark small{margin-top:4px}
h1 em,h2 em{font-family:var(--script);font-style:normal;letter-spacing:0;line-height:1.12}
.home-copy{padding-top:45px;padding-bottom:75px;width:62%}.home-copy h1{font-size:clamp(60px,5.8vw,94px);line-height:1.06;letter-spacing:-.04em;margin:0 0 24px}.home-copy h1>span{white-space:nowrap}.home-copy h1>em{font-size:clamp(56px,5.8vw,96px);margin-top:5px;white-space:nowrap}.support-copy{font-size:14px;line-height:1.9}
.chest-signature{position:absolute;left:67%;top:70%;z-index:1;transform:rotate(-7deg);font:clamp(60px,6.1vw,96px)/1 var(--script);color:#e8d7bd;text-shadow:0 2px 24px #0009;pointer-events:none;white-space:nowrap}
.builder-copy h2{line-height:1.04}.builder-copy h2 em{font-size:1.17em}.signature{font:58px/1 var(--script);margin:20px 0;color:var(--gold)}.about-copy h2{line-height:1.04}.about-copy h2 em{font-size:1.25em}.about-scene .secondary-portrait img{object-position:50% 10%;filter:saturate(.8)}
dialog{background:#181a1c}#booking-details input,#booking-details select{background:#111315}
@media(min-width:1600px){.home-copy h1{font-size:100px}.home-copy h1>em{font-size:104px}}
@media(max-width:1100px){.home-copy h1{font-size:65px}.home-copy h1>em{font-size:67px}.chest-signature{left:66%;font-size:72px}.wordmark strong{font-size:33px}}
@media(max-width:720px){.wordmark strong{font-size:36px}.home-scene{min-height:calc(100svh - 117px)}.home-copy{width:100%;padding:320px 28px 38px}.home-copy h1{font-size:44px;margin:0 0 16px;letter-spacing:-.035em;line-height:1.08}.home-copy h1>em{font-size:48px;line-height:1.1;margin-top:2px}.home-copy h1>span{max-width:none}.support-copy{font-size:11px;line-height:1.7}.chest-signature{left:auto;right:12%;top:55%;font-size:48px}.hero-portrait img{object-position:50% 0%}.home-scene .portrait-shade{background:linear-gradient(0deg,var(--bg) 0%,rgba(17,19,21,.94) 25%,rgba(17,19,21,.65) 43%,rgba(17,19,21,.05) 74%),linear-gradient(90deg,rgba(17,19,21,.3),transparent 80%)}.builder-copy h2{font-size:39px;margin-top:3px}.builder-copy h2 em{font-size:1.2em}.about-copy{padding-top:285px}.about-copy h2{font-size:46px}.signature{font-size:49px}.about-scene .secondary-portrait{inset:0 -10% 0 0;opacity:.75}.about-scene .secondary-portrait img{object-position:50% 0%}}
@media(max-width:380px){.home-copy{padding-left:23px;padding-right:23px}.home-copy h1{font-size:39px}.home-copy h1>em{font-size:43px}.builder-copy h2{font-size:36px}.chest-signature{right:7%;font-size:48px}}
.builder-scene>.chest-signature{left:71%;top:48%}.about-scene>.chest-signature{left:66%;top:64%}
@media(max-width:720px){.builder-scene{flex-direction:column;align-items:stretch}.builder-copy{padding-bottom:10px}.builder-scene>.chest-signature{position:relative;left:auto;top:auto;right:auto;align-self:flex-end;margin:0 30px 10px;font-size:40px}.about-scene>.chest-signature{left:auto;right:24px;top:315px;font-size:46px}.about-copy{padding-top:375px}.about-copy>.signature{display:none}}
.hero-portrait:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 56% 42%,transparent 20%,rgba(0,0,0,.2) 43%,rgba(0,0,0,.72) 75%,rgba(0,0,0,.94) 100%)}
@media(max-width:720px){.hero-portrait:after{background:radial-gradient(ellipse at 55% 34%,transparent 18%,rgba(0,0,0,.2) 42%,rgba(0,0,0,.75) 75%,rgba(0,0,0,.94) 100%)}}
.focus-list{max-height:210px;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;scrollbar-gutter:stable;padding-right:8px}.focus-list:focus-visible{outline:1px solid var(--gold);outline-offset:3px}
.scene h1:focus,.scene h2:focus{outline:none}
@media(max-width:720px){.scene{touch-action:pan-y pinch-zoom}}
.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}#booking-details input,#booking-details select,#booking-details textarea{width:100%;min-width:0;box-sizing:border-box;font:inherit;font-size:14px;color:var(--fg);background:#111315;border:1px solid #ffffff29;border-radius:0;padding:12px;margin-top:7px}#booking-details textarea{resize:vertical}#customer-details label{display:block;margin-top:15px}.optional{color:#b6b1a8;font-size:11px;font-weight:400}.booking-error{font-size:13px;line-height:1.7;color:#f3b9a6}#preview-complete{font-size:15px;line-height:1.8;color:var(--gold);overflow-wrap:anywhere}#preview-complete:focus{outline:none}dialog{max-height:calc(100svh - 40px);overflow-y:auto}#finish-preview:disabled{opacity:.6;cursor:wait}
@media(max-width:400px){.booking-grid{grid-template-columns:1fr;gap:0}}
@media(max-width:720px){.home-scene>.chest-signature{top:255px;right:24px;font-size:42px}}

@media (hover:hover) and (pointer:fine) and (min-width:721px){.portrait img,.about-scene .secondary-portrait img{filter:saturate(.82) brightness(.56);transition:filter 1.2s ease}.portrait:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 380px 410px at var(--light-x,56%) var(--light-y,40%),transparent 5%,rgba(0,0,0,.16) 38%,rgba(0,0,0,.68) 100%);opacity:.45;transition:opacity 1s ease}.portrait.portrait-lit img{filter:saturate(.9) brightness(.94);animation:portrait-breathe 5.8s ease-in-out infinite}.portrait.portrait-lit:after{opacity:1}@keyframes portrait-breathe{0%,100%{filter:saturate(.9) brightness(.88)}50%{filter:saturate(.95) brightness(1.04)}}}
@media(prefers-reduced-motion:reduce){.portrait.portrait-lit img{animation:none}.portrait img,.portrait:after{transition:none}}


@keyframes portrait-mobile-breathe{0%,100%{filter:saturate(.84) brightness(.79)}50%{filter:saturate(.9) brightness(.96)}}
@media(max-width:720px){.home-scene .portrait img,.about-scene .portrait img{animation:portrait-mobile-breathe 6.8s ease-in-out infinite}}
@media(prefers-reduced-motion:reduce){.home-scene .portrait img,.about-scene .portrait img{animation:none}}

