:root{--ink:#141513;--panel:#20211e;--paper:#eee9de;--muted:#c4c2b8;--gold:#ddc293;--line:#ffffff26;--serif:'Bodoni Moda',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--ink);color:var(--paper);font:17px/1.7 var(--sans)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;color:inherit}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08;font-weight:400}h1{font-size:clamp(58px,7.7vw,112px);letter-spacing:-.055em;margin-bottom:24px}h2{font-size:clamp(40px,5vw,70px);letter-spacing:-.045em;margin-bottom:25px}h3{font-size:28px;letter-spacing:-.025em}em{font-family:var(--serif);font-weight:400;color:var(--gold)}p{max-width:66ch}a:hover{color:var(--gold)}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:5px}::selection{background:var(--gold);color:var(--ink)}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:90px;background:var(--paper);color:var(--ink);z-index:1000;padding:12px}.skip:focus{top:12px}.site-content{margin-left:74px}.wrap{width:min(1180px,calc(100% - 96px));margin:auto}.section{padding:105px 0}.eyebrow{font-size:14px;letter-spacing:.17em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:22px}.body-copy{color:var(--muted)}.large-copy{font-size:23px;line-height:1.55}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--gold);color:var(--ink);border:1px solid var(--gold);padding:16px 23px;font-weight:600;line-height:1.35;min-height:54px;font-size:16px}.button:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.ghost{background:transparent;color:var(--paper);border-color:#b0a287}.button.ghost:hover{background:var(--paper);color:var(--ink)}.text-link{display:inline-block;background:none;border:0;border-bottom:1px solid var(--gold);padding:8px 0;color:var(--gold);font-size:16px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px}.rail{position:fixed;inset:0 auto 0 0;width:74px;z-index:50;background:#151612;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:23px 0}.rail-mark{font:44px/1 var(--serif);color:var(--gold)}.rail-menu{border:0;background:none;display:flex;align-items:center;gap:15px;writing-mode:vertical-rl;letter-spacing:.18em;text-transform:uppercase;font-size:14px;padding:20px 17px}.rail-menu b{font-size:25px;font-weight:400;letter-spacing:0}.rail-note{writing-mode:vertical-rl;transform:rotate(180deg);font-size:14px;letter-spacing:.15em;color:var(--muted)}.masthead{height:95px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 48px;position:relative;z-index:2;background:var(--ink)}.brand{font-size:23px;letter-spacing:.22em;line-height:1.1;font-weight:500}.brand small{display:block;font-size:14px;letter-spacing:.48em;color:var(--gold);margin-top:9px}.quick-nav{display:flex;align-items:center;gap:27px;font-size:16px}.quick-nav a[aria-current=page]{color:var(--gold);text-decoration:underline;text-underline-offset:8px}.quick-nav .button{padding:12px 17px;min-height:48px}.concept-note{font-size:14px;color:var(--muted);padding:9px 48px;background:#1b1c18;border-bottom:1px solid var(--line)}.hero{position:relative;min-height:650px;display:flex;align-items:center;isolation:isolate}.hero-image{position:absolute;inset:0;height:100%;z-index:-2;object-position:center}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,12,10,.88),rgba(10,12,10,.58) 48%,rgba(10,12,10,.12)),linear-gradient(0deg,#141513,transparent 26%)}.hero-content{padding:70px 0 100px}.hero h1{max-width:8ch}.hero p:not(.eyebrow){font-size:21px;max-width:33ch;color:#eeede6}.hero-foot{position:absolute;bottom:24px;left:48px;right:48px;display:flex;justify-content:space-between;color:var(--muted);font-size:14px;letter-spacing:.13em}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);padding:30px 0;gap:25px}.stats div+div{border-left:1px solid var(--line);padding-left:35px}.stats b{display:block;font-size:30px;font-weight:400;line-height:1.2;color:var(--gold)}.stats span{font-size:15px}.section-top{display:flex;align-items:flex-start;justify-content:space-between;gap:45px;margin-bottom:36px}.section-top h2{max-width:13ch;margin:0}.section-top>p{max-width:35ch;padding-top:12px;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.split img{aspect-ratio:4/5}.number{display:block;font-size:14px;color:var(--gold);letter-spacing:.1em;margin-bottom:24px}.mini-list{padding:0;list-style:none;border-top:1px solid var(--line);margin:32px 0}.mini-list li{padding:13px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:16px}.image-links{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.image-link{position:relative;overflow:hidden;display:block;height:clamp(240px,24vw,300px)}.image-link img{height:100%;aspect-ratio:auto;transition:transform .6s}.image-link:hover img{transform:scale(1.035)}.image-link:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(0deg,#000c,transparent)}.image-link div{position:absolute;bottom:20px;left:23px;right:23px;z-index:1}.image-link h3{margin:7px 0 0;font-size:32px}.image-link span{font-size:14px;text-transform:uppercase;letter-spacing:.1em}.band{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.route-links{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.route-links article{border-top:1px solid var(--gold);padding-top:24px}.route-links p{color:var(--muted)}.route-links h3{font-size:30px}.closing{padding:90px 0;background:#dbbf8f;color:var(--ink);position:relative;overflow:hidden}.closing .eyebrow{color:#4d3c24}.closing-inner{display:flex;justify-content:space-between;gap:45px;align-items:center}.closing h2{margin:0}.closing em{color:#58472f}.closing .button{background:var(--ink);color:var(--paper);border-color:var(--ink)}.closing p{max-width:34ch;margin:0 0 20px}.footer{padding:58px 0 30px}.footer-top{display:grid;grid-template-columns:1.1fr 2fr;gap:40px;padding-bottom:45px}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 24px;font-size:16px}.footer-bottom{border-top:1px solid var(--line);padding-top:23px;font-size:14px;color:var(--muted);display:flex;gap:35px;justify-content:space-between}.footer-bottom p{margin:0;max-width:95ch}.page-heading{padding:75px 0 65px;border-bottom:1px solid var(--line)}.page-heading h1{font-size:clamp(54px,6.5vw,88px);max-width:13ch}.page-heading .intro{font-size:21px;max-width:55ch;color:var(--muted)}.heading-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:60px}.heading-grid img{aspect-ratio:1.18}.note{font-size:14px;color:var(--muted);line-height:1.55}.notice{padding:17px 20px;border-left:3px solid var(--gold);background:#ffffff06;font-size:15px;max-width:none}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.price-card{border:1px solid var(--line);padding:28px 25px;display:flex;flex-direction:column;position:relative}.price-card.featured{border-color:var(--gold);background:#24251f}.price-card h3{font-size:34px;margin:16px 0}.price-card .tag{font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}.price{font-size:35px;line-height:1.35;color:var(--gold);margin:20px 0}.price small{display:block;color:var(--muted);font-size:15px;line-height:1.5}.price-card p{font-size:16px;color:var(--muted)}.price-card ul{font-size:16px;padding:0;list-style:none;margin:5px 0 30px;flex:1}.price-card li{padding:10px 0;border-bottom:1px solid var(--line)}.price-card .button{gap:10px}.estimator{display:grid;grid-template-columns:1.1fr .9fr;gap:45px}.estimator-controls{display:grid;gap:23px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:16px;font-weight:500}input,select,textarea{width:100%;display:block;border:1px solid #77796e;background:#22231e;color:var(--paper);padding:14px;margin-top:8px;font-size:16px;border-radius:0;min-height:53px}input[type=range]{padding:0;accent-color:var(--gold);cursor:pointer}input[type=checkbox]{width:20px;height:20px;min-height:0;display:inline-block;margin:0;accent-color:var(--gold)}.check{display:flex;gap:12px;align-items:center}.check small{font-size:14px;color:var(--muted)}.range-label{display:flex;justify-content:space-between}.estimate-result{background:var(--paper);color:var(--ink);padding:35px}.estimate-result .eyebrow{color:#645138}.estimate-result dl{margin:0}.estimate-result dl div{display:flex;justify-content:space-between;gap:20px;font-size:16px;padding:11px 0;border-bottom:1px solid #0002}.estimate-result dd{margin:0;text-align:right}.estimate-total{font-size:50px;line-height:1.1;margin:20px 0 7px;letter-spacing:-.04em}.estimate-result .note{color:#55584d}.estimate-result .button{width:100%;margin:20px 0 8px;background:var(--ink);color:var(--paper)}.inclusions{display:grid;grid-template-columns:repeat(2,1fr);gap:45px}.inclusions h3{font-size:31px}.inclusions ul{padding-left:19px;color:var(--muted)}.event-row{display:grid;grid-template-columns:1.12fr 1fr;gap:55px;padding:65px 0;border-bottom:1px solid var(--line);align-items:center}.event-row:nth-child(even) .event-photo{order:2}.event-photo{aspect-ratio:1.18}.event-row h2{font-size:50px}.event-row p{color:var(--muted)}.event-facts{display:flex;gap:15px;flex-wrap:wrap;margin:25px 0}.event-facts span{font-size:14px;border:1px solid var(--line);padding:7px 12px}.event-row .eyebrow{color:var(--gold)}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 35px}.filter-bar button{background:transparent;border:1px solid #8a8c7d;padding:11px 21px;font-size:16px;color:var(--paper)}.filter-bar button[aria-pressed=true]{background:var(--gold);color:var(--ink);border-color:var(--gold)}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.gallery-item{border:0;padding:0;background:none;text-align:left;position:relative;overflow:hidden}.gallery-item:first-child{grid-column:span 2}.gallery-item img{aspect-ratio:1.4;transition:transform .5s}.gallery-item:first-child img{aspect-ratio:2.1}.gallery-item:hover img{transform:scale(1.025)}.gallery-item>span{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:15px 0;font-size:16px}.gallery-item .label{color:var(--muted)}.photo-count{font-size:16px;color:var(--muted);margin:0 0 20px}.review-feature{position:relative;padding:55px 0}.review-feature blockquote{font-size:clamp(31px,4vw,54px);line-height:1.4;letter-spacing:-.025em;margin:0 0 28px;max-width:25ch}.review-feature .stars{color:var(--gold);font-size:22px;letter-spacing:.2em;margin-bottom:25px}.review-feature cite,.review-card cite{font-size:16px;font-style:normal;display:block}.review-feature cite span,.review-card cite span{display:block;color:var(--muted);font-size:14px;margin-top:5px}.review-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center}.review-layout img{aspect-ratio:4/5}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.review-card{border:1px solid var(--line);padding:35px}.review-card blockquote{margin:20px 0 25px;font-size:23px;line-height:1.6}.review-card .eyebrow{margin-bottom:0}.faq-layout{display:grid;grid-template-columns:240px 1fr;gap:60px}.faq-nav{align-self:start;position:sticky;top:30px;display:flex;flex-direction:column;gap:12px;font-size:16px}.faq-nav a{border-bottom:1px solid var(--line);padding:9px 0}.faq-group{margin-bottom:55px}.faq-group h2{font-size:37px;margin-bottom:23px}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:23px 32px 23px 0;font-size:19px;line-height:1.45;position:relative}summary:after{content:'+';position:absolute;right:3px;color:var(--gold);font-size:25px;top:17px}details[open] summary:after{content:'−'}details p{padding:0 25px 23px 0;margin:0;color:var(--muted);font-size:17px}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.contact-aside img{aspect-ratio:1.2;margin-top:30px}.contact-aside h2{font-size:43px}.contact-aside ol{padding:0;list-style:none;counter-reset:steps}.contact-aside li{padding:18px 0;border-top:1px solid var(--line);display:flex;gap:20px;font-size:16px}.contact-aside li:before{counter-increment:steps;content:'0'counter(steps);color:var(--gold)}.proposal{background:var(--panel);padding:35px}.proposal h2{font-size:36px}.proposal .field-row{margin-bottom:22px}.proposal>form>label,.proposal [data-step]>label{margin-bottom:22px}.proposal textarea{min-height:110px;resize:vertical}.steps{display:flex;gap:22px;margin-bottom:33px;font-size:14px;color:var(--muted)}.steps span{border-bottom:2px solid #6d6f61;padding-bottom:10px;flex:1}.steps .active{border-color:var(--gold);color:var(--gold)}.proposal .button{width:100%}.proposal-summary{border-top:1px solid var(--line);margin:20px 0}.proposal-summary p{margin:0;padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}.success-symbol{font-size:45px;color:var(--gold)}.status-title{font-size:30px}.status-copy{font-size:17px;color:var(--muted)}
@media(min-width:1500px){.hero{min-height:760px}.hero-content{padding:100px 0 125px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.masthead{padding:0 32px}.concept-note{padding-left:32px;padding-right:32px}.quick-nav{gap:18px}.quick-nav>a:not(.button){display:none}.hero{min-height:640px}.hero-foot{left:32px;right:32px}.split,.heading-grid,.event-row,.contact-layout{gap:35px}.price-grid{gap:12px}.price-card{padding:25px 18px}.price{font-size:30px}.price-card .button{padding:14px 13px;font-size:15px}.faq-layout{grid-template-columns:190px 1fr;gap:30px}.review-layout{gap:35px}.gallery-item img{aspect-ratio:1.05}}
@media(max-width:760px){html{scroll-padding-top:20px}.site-content{margin-left:0}.rail{width:100%;height:61px;inset:0 0 auto;flex-direction:row;padding:0 20px;border-right:0;border-bottom:1px solid var(--line);background:#151612f7;backdrop-filter:blur(10px)}.rail-mark{font-size:35px}.rail-menu{writing-mode:initial;padding:10px 0;gap:10px}.rail-menu b{font-size:22px}.rail-note{display:none}.site-content{padding-top:61px}.masthead{height:94px;padding:0 22px}.brand{font-size:19px;letter-spacing:.15em}.brand small{font-size:14px;letter-spacing:.4em}.quick-nav .button{font-size:14px;min-height:45px;padding:11px 12px;gap:9px}.concept-note{padding:8px 22px;font-size:14px;line-height:1.5}.wrap{width:calc(100% - 44px)}.hero{min-height:615px}.hero-content{padding:58px 0 98px}.hero:before{background:linear-gradient(90deg,#0a0c0ae8,#0a0c0a66),linear-gradient(0deg,#141513,transparent 40%)}.hero-image{object-position:62% center}.hero h1{font-size:76px;max-width:8ch}.hero p:not(.eyebrow){font-size:19px;max-width:28ch}.hero .eyebrow{font-size:14px;max-width:23ch}.hero-foot{left:22px;right:22px;font-size:14px;letter-spacing:.04em}.hero-foot span:last-child{display:none}.section{padding:65px 0}.stats{gap:14px;padding:27px 0}.stats div+div{padding-left:14px}.stats b{font-size:24px}.stats span{font-size:14px;line-height:1.4;display:block;margin-top:8px}.split,.heading-grid,.event-row,.estimator,.review-layout,.contact-layout,.faq-layout{grid-template-columns:1fr;gap:32px}.split img{aspect-ratio:1}.section-top{display:block;margin-bottom:28px}.section-top h2{max-width:15ch}.section-top>p{padding-top:22px;max-width:40ch}.image-links{grid-template-columns:1fr;gap:20px}.image-link{height:220px}.image-link h3{font-size:34px}.route-links{grid-template-columns:1fr;gap:32px}.route-links p{margin-bottom:12px}.closing{padding:65px 0}.closing-inner{display:block}.closing h2{margin-bottom:30px}.footer-top{grid-template-columns:1fr;gap:35px}.footer-links{grid-template-columns:1fr 1fr;gap:15px}.footer-bottom{display:block}.footer-bottom>a{display:inline-block;margin-top:20px}.page-heading{padding:48px 0 42px}.page-heading h1{font-size:58px}.page-heading .intro{font-size:19px}.heading-grid img{aspect-ratio:1.4}.price-grid{grid-template-columns:1fr;gap:23px}.price-card{padding:30px}.price{font-size:37px}.price-card .button{font-size:16px}.inclusions{grid-template-columns:1fr;gap:20px}.event-row{padding:45px 0}.event-row:nth-child(even) .event-photo{order:0}.event-row h2{font-size:43px}.event-photo{aspect-ratio:1.2}.gallery-grid{gap:28px;grid-template-columns:1fr}.gallery-item:first-child{grid-column:auto}.gallery-item img,.gallery-item:first-child img{aspect-ratio:1.2}.filter-bar{gap:9px}.filter-bar button{font-size:15px;padding:10px 15px}.review-feature{padding:15px 0}.review-feature blockquote{font-size:35px}.review-layout img{aspect-ratio:1.2}.review-grid{grid-template-columns:1fr}.review-card{padding:27px}.faq-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:8px 20px}.faq-nav a{font-size:15px;padding:5px 0}.faq-group h2{font-size:32px}.contact-layout{gap:40px}.proposal{padding:26px 22px}.field-row{grid-template-columns:1fr;gap:20px}.estimate-result{padding:28px}.estimate-total{font-size:45px}.contact-aside img{max-height:290px}.actions{gap:18px}.button{gap:20px}.large-copy{font-size:21px}h2{font-size:43px}.faq-group,.event-row{scroll-margin-top:80px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Small iframe viewports keep every control and heading within the page. */
.price-card h2{font-size:34px;margin:16px 0}.price-card,.estimator>*,.contact-layout>*,.field-row>*,input,select,textarea{min-width:0}.check{padding:9px 0;line-height:1.5}.check input{flex:0 0 20px}.menu-links a{min-width:0}
@media(max-width:430px){.quick-nav{display:none}.masthead{height:87px}.hero h1{font-size:clamp(54px,18vw,76px)}.page-heading h1{font-size:clamp(44px,13.2vw,58px)}.wrap{width:calc(100% - 36px)}.concept-note{padding-left:18px;padding-right:18px}.section-top h2,.contact-aside h2,h2{font-size:38px}.price-card{padding:24px}.price-card h2{font-size:34px}.proposal{padding:24px 18px}.estimate-result{padding:23px 18px}.estimate-result dl div{font-size:15px;gap:10px}.estimate-result dd{overflow-wrap:anywhere}.hero-foot{left:18px;right:18px}.stats{gap:10px}.stats div+div{padding-left:10px}.stats b{font-size:20px}.menu-links a{font-size:25px}.review-feature blockquote{font-size:31px}.event-row h2{font-size:38px}}
