@view-transition{navigation:auto}
:root{--bg:#171816;--panel:#20211e;--cream:#eee9df;--muted:#b8b6ad;--copper:#cd9876;--line:#41423b;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--cream);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.3}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--copper);outline-offset:6px}::selection{background:var(--copper);color:var(--bg)}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.04;font-weight:600;letter-spacing:-.055em}h1{font-size:clamp(3.4rem,7.5vw,7.7rem)}h2{font-size:clamp(2.4rem,4.6vw,4.5rem)}h3{font-size:2rem}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em;color:var(--copper)}p{color:var(--muted)}button{background:none;border:0}small,.fine{font-size:.75rem;line-height:1.7;color:var(--muted)}.eyebrow{display:block;font-size:.66rem;letter-spacing:.18em;font-weight:600;line-height:1.6}.section{padding:100px max(6vw,24px)}.header{height:102px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff17;background:var(--bg);position:relative;z-index:20}.brand{font-size:1.8rem;font-weight:800;letter-spacing:-.07em;line-height:1}.brand>span{color:var(--copper);margin-left:5px}.brand small{display:block;font-size:.51rem;letter-spacing:.35em;font-weight:500;margin-top:8px;color:var(--cream)}nav{display:flex;gap:38px;align-items:center}nav>a{font-size:.78rem;position:relative;padding:10px 0}nav>a:not(.nav-cta):after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--copper);transition:width .25s}nav>a:hover:after,nav>a[aria-current]:after{width:100%}nav>a[aria-current]{color:var(--copper)}nav .nav-cta{border:1px solid var(--copper);padding:12px 22px;margin-left:25px;display:flex;gap:28px}.nav-cta:hover{background:var(--copper);color:var(--bg)}.menu-toggle{display:none}.skip{position:fixed;top:-100px;left:20px;background:var(--cream);color:var(--bg);padding:12px;z-index:100}.skip:focus{top:12px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:44px;background:var(--copper);color:var(--bg);padding:18px 25px;font-size:.8rem;font-weight:600;transition:background .25s,transform .25s}.button:hover{background:#e8b997;transform:translateY(-3px)}.button span{font-size:1.3rem}.text-link{display:inline-block;font-size:.78rem;padding-bottom:6px;border-bottom:1px solid var(--copper);transition:color .2s}.text-link:hover{color:var(--copper)}.photo{position:relative;background:#37382f;overflow:hidden;isolation:isolate}.photo img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:1;filter:grayscale(1);transition:transform .7s var(--ease),filter .7s}.photo-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 70% 20%,#7d6854 0,transparent 60%),repeating-linear-gradient(120deg,transparent 0 50px,#ffffff05 51px 52px),#292b26;color:#c8aa8b;font-size:clamp(5rem,16vw,15rem);font-weight:800;letter-spacing:-.1em;z-index:0}.photo-fallback>span{font-family:Georgia,serif;font-weight:normal}.photo-fallback small{position:absolute;bottom:20%;letter-spacing:.4em;color:#dcc9b2;font-size:.65rem}.photo.failed img{visibility:hidden}.hero{min-height:710px;height:calc(100svh - 102px);max-height:1000px;position:relative;display:flex;align-items:center;padding:60px 6vw 100px;isolation:isolate}.hero-photo{position:absolute;inset:0;z-index:-3}.hero-photo img{object-position:50% 55%;filter:grayscale(1) brightness(.7)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#10110fee 0%,#10110f9c 45%,#10110f12 100%),linear-gradient(0deg,#10110fbf,transparent 40%);z-index:-2}.hero-content{max-width:1000px}.hero .eyebrow{color:#e1d9c9;margin-bottom:30px}.hero .eyebrow i{display:inline-block;width:6px;height:6px;background:var(--copper);border-radius:50%;margin-right:10px}.hero h1{font-size:clamp(4rem,7.6vw,8.4rem);font-weight:800;letter-spacing:-.06em;line-height:.98}.hero h1 em{font-size:.94em}.hero p{font-size:.9rem;line-height:1.8;margin:28px 0;color:#d1cec5}.hero-actions{display:flex;gap:30px;align-items:center}.hero-link{font-size:.75rem;border-bottom:1px solid #ffffff60;padding:10px 0}.hero-link span{margin-left:20px}.hero-bottom{position:absolute;bottom:25px;left:6vw;right:6vw;display:flex;justify-content:space-between;gap:15px;font-size:.58rem;letter-spacing:.15em;color:#d1cec5}.hero-stamp{position:absolute;right:8vw;top:40%;border:1px solid #d8c7ae66;border-radius:50%;width:145px;height:145px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:3rem;letter-spacing:-.08em;transform:rotate(-12deg);color:#e6d2bc}.hero-stamp small{font-size:.42rem;letter-spacing:.16em;color:inherit}.ticker{display:flex;align-items:center;justify-content:space-around;gap:34px;white-space:nowrap;overflow:hidden;background:var(--copper);color:var(--bg);padding:18px 0;font-size:.7rem;letter-spacing:.2em;font-weight:700}.ticker b{font-size:1.4rem;line-height:1}.intro{display:grid;grid-template-columns:1fr 2.2fr;gap:40px}.intro>.eyebrow{padding-top:10px;color:var(--copper)}.intro-copy{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:30px 0}.intro-copy p{font-size:.9rem;max-width:350px}.services-preview{background:var(--cream);color:var(--bg)}.section-heading{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:45px}.section-heading .eyebrow{margin-bottom:20px}.service-row{border-top:1px solid #17181640;display:flex;align-items:center;gap:35px;padding:28px 5px;transition:padding .3s,color .3s}.service-row:last-child{border-bottom:1px solid #17181640}.row-number{font-size:.7rem;color:#817465}.service-row h3{flex:1;font-size:clamp(1.6rem,3.5vw,3.3rem)}.service-meta{font-size:.65rem;display:flex;gap:45px;align-items:center}.service-meta b{font-size:1rem;font-weight:500}.row-arrow{font-size:1.8rem;margin-left:30px}.service-row:hover{padding-left:20px;color:#925735}.services-preview>.fine{color:#68655e;margin-top:20px}.carousel-controls{display:flex;gap:10px}.circle{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #77766b;border-radius:50%;font-size:1.3rem;transition:background .2s,color .2s}.circle:hover{background:var(--copper);color:var(--bg)}.carousel{display:flex;gap:24px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--copper) var(--panel);padding-bottom:20px}.work{flex:0 0 36%;min-width:260px;scroll-snap-align:start}.work .photo{height:410px}.work:hover img{transform:scale(1.04);filter:grayscale(.3)}.work-caption{margin-top:20px}.work-caption .eyebrow{color:var(--copper);font-size:.57rem}.work-caption h3{font-size:1.55rem;margin-top:10px;letter-spacing:-.04em}.gallery-foot{display:flex;justify-content:space-between;margin-top:25px;gap:20px;align-items:center}.cta{background:#a96f4e;position:relative;overflow:hidden;color:#171816}.cta .eyebrow{margin-bottom:25px}.cta h2{position:relative;z-index:1;font-size:clamp(3.5rem,6vw,6.5rem)}.cta h2 em{color:var(--cream)}.cta .button{margin-top:35px;position:relative;z-index:1}.button.light{background:var(--cream)}.button.light:hover{background:white}.cta-number{position:absolute;right:3vw;bottom:-125px;font-size:40vw;line-height:1;letter-spacing:-.12em;opacity:.11;font-family:Georgia,serif}footer{padding:60px 6vw 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:60px}.footer-top p{font-size:.85rem}.footer-bottom{border-top:1px solid var(--line);padding-top:23px;display:flex;justify-content:space-between;gap:22px;font-size:.6rem;color:var(--muted)}.footer-bottom a:hover{color:var(--copper)}.page-intro{padding-top:85px;padding-bottom:65px;border-bottom:1px solid var(--line)}.page-intro>.eyebrow{color:var(--copper);margin-bottom:30px}.intro-bottom{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-top:35px}.intro-bottom p{font-size:.9rem}.intro-bottom>.fine{font-size:.6rem;letter-spacing:.1em}.services-detail{padding-top:20px;padding-bottom:60px}.service-detail{display:grid;grid-template-columns:.15fr 1fr .35fr;gap:30px;padding:45px 0;border-bottom:1px solid var(--line)}.service-detail h2{font-size:2.8rem;margin-bottom:20px}.service-detail p{max-width:570px;font-size:.9rem;margin-bottom:20px}.service-detail small{font-size:.7rem}.service-price{display:flex;align-items:end;flex-direction:column;gap:5px}.service-price strong{font-size:1.6rem;font-weight:400;color:var(--copper)}.service-price>span{font-size:.75rem;color:var(--muted)}.service-price a{margin-top:25px}.process{display:grid;grid-template-columns:1fr 1fr;gap:7vw;background:var(--panel);align-items:center}.process .photo{height:620px}.process .eyebrow{margin-bottom:25px;color:var(--copper)}.process h2{font-size:3.2rem}.process ol{padding:0;list-style:none;counter-reset:step;margin-top:35px}.process li{counter-increment:step;position:relative;padding:20px 0 20px 45px;border-top:1px solid var(--line)}.process li:before{content:'0' counter(step);position:absolute;left:0;color:var(--copper);font-size:.75rem}.process li strong{font-size:.95rem;font-weight:500}.process li p{font-size:.8rem;margin-top:5px}.faq h2{margin:20px 0 40px}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:1rem}details p{padding:20px 25px 0 0;max-width:850px;font-size:.9rem}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:45px}.filters button{padding:10px 22px;border:1px solid var(--line);border-radius:30px;font-size:.8rem}.filters button.active,.filters button:hover{background:var(--cream);color:var(--bg);border-color:var(--cream)}.filters sup{margin-left:8px;font-size:.6rem}.gallery-section{padding-top:40px}.gallery-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:70px 5vw;align-items:start}.gallery-item{margin:0}.gallery-item:nth-child(even){padding-top:90px}.gallery-open{display:block;width:100%;position:relative;padding:0;text-align:left}.gallery-open .photo{height:540px}.gallery-item:nth-child(even) .photo{height:420px}.gallery-open:hover img{transform:scale(1.045);filter:grayscale(.25)}.zoom{position:absolute;bottom:20px;right:20px;background:var(--cream);color:var(--bg);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:1.4rem;z-index:2}.gallery-item figcaption{padding-top:20px}.gallery-item figcaption .eyebrow{color:var(--copper);font-size:.6rem}.gallery-item h2{font-size:1.7rem;margin-top:8px}.gallery-section>.fine{margin-top:55px;max-width:680px}.lightbox{max-width:1000px;width:90vw;background:var(--bg);color:var(--cream);border:1px solid var(--line);padding:25px}.lightbox::backdrop{background:#000d;backdrop-filter:blur(8px)}.close-lightbox{position:absolute;top:15px;right:15px;z-index:3;background:var(--bg)}.lightbox-image .photo{height:65vh}.lightbox-image img{object-fit:contain}.lightbox h2{font-size:1.7rem;margin-top:20px}.lightbox p{font-size:.7rem;margin-top:10px}.booking-intro p{margin-top:25px}.booking{padding-top:45px;display:grid;grid-template-columns:1.3fr .8fr;gap:7vw;align-items:start}.demo-notice{display:flex;gap:20px;border:1px solid #cd987660;padding:20px;background:#cd98760a;margin-bottom:40px}.demo-notice>span{color:var(--copper);font-size:1.5rem}.demo-notice strong{font-size:.85rem;font-weight:500;color:var(--copper)}.demo-notice p{font-size:.76rem;margin-top:5px}fieldset{border:0;padding:0;margin:0 0 40px;min-width:0}legend{font-size:1.25rem;margin-bottom:25px;letter-spacing:-.03em}legend span{color:var(--copper);font-size:.7rem;margin-right:15px}.service-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.option{border:1px solid var(--line);padding:20px 15px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:background .2s,border .2s}.option:has(input:checked){border-color:var(--copper);background:#cd987610}.option:hover{border-color:var(--copper)}input[type=radio]{accent-color:var(--copper);width:16px;height:16px;flex-shrink:0}.option strong{font-size:.85rem;font-weight:500;display:block}.option small{font-size:.65rem}.option b{color:var(--copper);margin-left:auto;font-weight:400}.field-label{font-size:.78rem;display:block;margin-bottom:8px}select,input[type=date]{width:100%;min-height:52px;padding:12px 15px;border:1px solid var(--line);background:var(--panel);color:var(--cream);color-scheme:dark;border-radius:0}fieldset>.fine{margin-top:10px}.time-heading{font-size:.78rem;margin:25px 0 12px;display:flex;justify-content:space-between;gap:15px}.time-slots{display:flex;flex-wrap:wrap;gap:10px}.time-option{position:relative;cursor:pointer}.time-option input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.time-option span{display:block;padding:9px 18px;font-size:.8rem;border:1px solid var(--line)}.time-option input:checked+span{background:var(--copper);color:var(--bg);border-color:var(--copper)}.time-option input:focus-visible+span{outline:2px solid var(--copper);outline-offset:4px}form>.fine{margin-top:15px}.form-error{color:#f2b49e;font-size:.85rem;margin-bottom:20px}.form-error:empty{display:none}.booking-summary{position:sticky;top:30px;background:var(--panel);padding:35px;overflow:hidden;border-top:2px solid var(--copper)}.booking-summary>.eyebrow{color:var(--copper);font-size:.6rem}.booking-summary h2{font-size:2.5rem;margin:25px 0 30px}.booking-summary dl{margin-bottom:20px}.booking-summary dl>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.78rem}.booking-summary dt{color:var(--muted)}.booking-summary dd{margin:0;text-align:right}.booking-summary .total{padding-top:25px}.total dd{font-size:1.2rem;color:var(--copper)}.summary-mark{display:block;font-size:6rem;font-weight:800;letter-spacing:-.1em;color:#eee9df0b;line-height:1;margin-top:25px;text-align:right}.demo-result{padding-top:25px;border-top:1px solid var(--copper);margin-top:25px}.demo-result strong{color:var(--copper);font-size:1rem}.demo-result p{font-size:.8rem;margin:10px 0 20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.reveal{opacity:1}.motion-ready .reveal:not(.visible){opacity:0;transform:translateY(20px)}.motion-ready .reveal{transition:opacity .7s var(--ease),transform .7s var(--ease)}
@media(min-width:1600px){.section,.header,footer{padding-left:max(6vw,calc((100vw - 1450px)/2));padding-right:max(6vw,calc((100vw - 1450px)/2))}}
@media(max-width:900px){.hero-stamp{display:none}.hero{min-height:680px}.intro{grid-template-columns:1fr}.intro-copy{gap:25px}.section{padding:75px 6vw}.work{flex-basis:46%}.work .photo{height:350px}.process{gap:35px}.process .photo{height:530px}.process h2{font-size:2.5rem}.booking{gap:30px;grid-template-columns:1.2fr 1fr}.service-options{grid-template-columns:1fr}.booking-summary{padding:25px}.booking-summary h2{font-size:2rem}.gallery-open .photo{height:400px}.gallery-item:nth-child(even) .photo{height:340px}}
@media(max-width:650px){.header{height:85px;padding:0 6vw}.brand{font-size:1.6rem}.menu-toggle{display:flex;flex-direction:column;gap:7px;width:46px;height:46px;justify-content:center;align-items:center;z-index:22}.menu-toggle span{display:block;width:24px;height:1px;background:var(--cream);transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.header nav{display:none}.js .header nav{display:flex;position:fixed;inset:85px 0 0;background:var(--bg);padding:50px 8vw;flex-direction:column;align-items:stretch;justify-content:start;gap:20px;visibility:hidden;opacity:0;transform:translateY(-15px);transition:opacity .25s,transform .25s,visibility .25s}.js .header nav.open{visibility:visible;opacity:1;transform:none}.header nav>a{font-size:1.7rem}.header nav .nav-cta{margin:20px 0 0;padding:15px 20px;font-size:1rem}.header:has(nav:focus-within){z-index:30}body:not(.js) .header{height:auto;flex-wrap:wrap;padding:20px 6vw;gap:20px}body:not(.js) .header nav{display:flex;gap:15px;flex-wrap:wrap}body:not(.js) nav>a{font-size:.8rem}body:not(.js) .menu-toggle{display:none}.hero{height:auto;min-height:690px;padding:70px 6vw 110px}.hero h1{font-size:clamp(3.1rem,11.2vw,4.6rem)}.hero .eyebrow{font-size:.52rem;letter-spacing:.13em;margin-bottom:28px}.hero p{font-size:.8rem;margin:25px 0}.hero-actions{align-items:start;flex-direction:column;gap:12px}.hero-bottom{font-size:.48rem}.hero-bottom>span:last-child{display:none}.hero-photo img{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#10110fdf,#10110f50),linear-gradient(0deg,#10110fcf,transparent)}.section{padding:60px 6vw}.intro-copy{grid-template-columns:1fr;gap:20px}.intro h2{font-size:2.3rem}.section-heading{align-items:start;gap:25px}.section-heading h2{font-size:2.25rem}.services-preview .section-heading{flex-direction:column}.service-row{gap:15px;padding:25px 0;flex-wrap:wrap}.service-row h3{font-size:1.65rem;min-width:65%}.service-meta{margin-left:30px;gap:25px}.row-arrow{margin-left:auto;font-size:1.5rem}.service-row:hover{padding-left:5px}.work{flex-basis:85%;min-width:220px}.work .photo{height:370px}.carousel-controls{gap:6px}.circle{width:40px;height:40px}.gallery-foot{align-items:start;flex-direction:column}.cta h2{font-size:3.3rem}.cta-number{font-size:75vw;bottom:-65px}.footer-top{align-items:start;flex-direction:column;padding-bottom:35px;gap:25px}.footer-bottom{flex-direction:column;gap:12px}.page-intro h1{font-size:3.3rem}.intro-bottom{align-items:start;flex-direction:column;gap:20px}.service-detail{grid-template-columns:25px 1fr;gap:15px;padding:35px 0}.service-detail h2{font-size:2.1rem}.service-price{grid-column:2;flex-direction:row;align-items:center;flex-wrap:wrap;gap:20px}.service-price a{margin-top:0;margin-left:auto}.service-price strong{font-size:1.3rem}.process{grid-template-columns:1fr;gap:35px}.process .photo{height:400px}.faq h2{font-size:2.2rem}.gallery-grid{grid-template-columns:1fr;gap:40px}.gallery-item:nth-child(even){padding-top:0}.gallery-open .photo,.gallery-item:nth-child(even) .photo{height:440px}.filters{gap:8px}.filters button{padding:9px 17px}.booking{grid-template-columns:1fr;padding-top:30px}.booking-summary{position:static;order:2}.booking-summary h2{font-size:2.3rem}.booking-intro{padding-bottom:40px}.option{padding:20px}.time-heading{flex-wrap:wrap}.lightbox{padding:15px}.lightbox-image .photo{height:60vh}.lightbox h2{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready .reveal:not(.visible){opacity:1;transform:none}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
