:root{color-scheme:dark;--bg:#101010;--panel:#191919;--text:#f2f0ec;--muted:#aaa9a6;--line:#353535;--heading:'Barlow Condensed','Arial Narrow',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a,button,input,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #fff;outline-offset:5px}p{color:var(--muted);margin:0 0 24px}h1,h2{font-family:var(--heading);font-weight:600;line-height:.98;letter-spacing:-.015em;margin:0 0 28px;text-transform:uppercase}h2{font-size:clamp(3.2rem,6vw,5.6rem)}img{display:block;width:100%;object-fit:cover}button,a,input,textarea{touch-action:manipulation}.header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);background:var(--bg)}.brand{display:flex;align-items:center;gap:14px;font-family:var(--heading);font-size:2.5rem;font-weight:600;line-height:1}.brand-logo{width:56px;height:56px;flex:0 0 auto;object-fit:contain}.brand span{font-size:1rem;letter-spacing:.1em}.brand small{font-family:Inter,sans-serif;font-size:.625rem;letter-spacing:.14em;color:var(--muted)}nav{display:flex;gap:30px;align-items:center;font-size:.875rem}.nav-book{border-bottom:1px solid #777;padding:12px 0}.nav-book span{margin-left:20px}.hero{position:relative;min-height:740px;min-height:min(850px,calc(100svh - 90px));display:flex;align-items:center;padding:80px 7% 110px;isolation:isolate}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-image{object-position:70% 50%}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.83),rgba(0,0,0,.35) 65%,rgba(0,0,0,.05))}.eyebrow{font-size:.75rem;letter-spacing:.18em;font-weight:500;margin-bottom:24px}.hero h1{font-size:clamp(5.2rem,11vw,10rem);line-height:.88}.hero h1 span{display:block;font-size:.37em;line-height:1.1;letter-spacing:.02em;margin-top:24px;color:#ccc}.hero-copy>p:not(.eyebrow){margin-top:30px}.button{min-height:56px;background:var(--text);color:#111;padding:16px 24px;border:1px solid var(--text);display:inline-flex;align-items:center;justify-content:space-between;gap:40px;font-weight:600;font-size:.875rem;cursor:pointer}.button:hover{background:#ccc;border-color:#ccc}.text-link{display:inline-block;font-size:.875rem;border-bottom:1px solid #666;padding:10px 0}.hero .text-link{margin-left:30px}.hero-bottom{position:absolute;bottom:25px;left:7%;right:7%;display:flex;justify-content:space-between;color:#aaa;font-size:.75rem;letter-spacing:.13em}.section{padding:95px 7%;border-bottom:1px solid var(--line)}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:36px}.section-top h2{margin-bottom:0}.section-top>p{font-size:.875rem;margin:0}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.gallery-more{text-align:center;margin:38px 0 0}.gallery-more .text-link{font-size:1rem}.work{display:block;position:relative;overflow:hidden;background:#202020}.work img{aspect-ratio:4/5;transition:transform .35s}.work:hover img{transform:scale(1.035)}.work>span{position:absolute;left:16px;right:16px;bottom:12px;display:flex;justify-content:space-between;font-size:.75rem}.work b{font-size:1.2rem;font-weight:400}.healed{background:#161616}.healed-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.reviews{background:#161616}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.review{background:var(--panel);border:1px solid var(--line);padding:28px}.review blockquote{margin:0 0 18px;font-style:italic;color:var(--text)}.review cite{font-style:normal;font-size:.75rem;letter-spacing:.12em;color:var(--muted)}figure{margin:0}figcaption{font-size:.875rem;margin-top:14px}figcaption span{display:block;color:var(--muted);font-size:.75rem;margin-top:4px}.about{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%}.about>img{max-height:660px}.about .intro{font-size:1.2rem;color:var(--text)}.booking{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%}.booking dl{border-top:1px solid var(--line);padding-top:28px;margin:35px 0}.booking dt{font-size:.75rem;letter-spacing:.1em;margin-top:24px}.booking dd{color:var(--muted);margin:8px 0;font-size:.875rem;max-width:340px}form{background:var(--panel);padding:32px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:.875rem;margin-bottom:20px}input:not([type=checkbox]),textarea{width:100%;min-width:0;background:#111;color:var(--text);border:1px solid #454545;border-radius:0;padding:13px;margin-top:8px;font-size:16px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#8f8f8f}fieldset{border:1px solid var(--line);margin:0 0 25px;padding:18px;min-width:0}legend{font-size:.875rem;padding:0 8px}legend span{color:var(--muted)}.uploads p{font-size:.75rem;margin-bottom:12px}.file-label{font-size:.75rem;margin-bottom:12px}.file-label input{font-size:.75rem;padding:8px}input::file-selector-button{background:#303030;color:#eee;border:0;padding:8px;cursor:pointer;margin-right:8px}.checkbox{display:flex;align-items:flex-start;gap:12px;font-size:.875rem;cursor:pointer}.checkbox input{width:20px;height:20px;flex:0 0 20px;accent-color:#eee;margin:2px 0}.form-note{font-size:.75rem;line-height:1.6;margin:16px 0 0}.form-note a{text-decoration:underline;overflow-wrap:anywhere}form>.button{width:100%;margin-top:24px}.honeypot{display:none!important}#file-status{margin:0;color:#eee}.faq{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%}details{border-bottom:1px solid var(--line)}summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;padding:22px 0;list-style:none}summary::-webkit-details-marker{display:none}summary span{font-size:1.5rem;font-weight:400;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details p{font-size:.875rem;max-width:560px}.contact{text-align:center;padding-top:100px;padding-bottom:100px}.contact h2{font-size:clamp(3rem,6vw,6rem)}.contact>div{display:flex;justify-content:center;gap:35px;flex-wrap:wrap}.contact a{border-bottom:1px solid #666;font-size:1rem;overflow-wrap:anywhere}.map{display:block;width:100%;height:450px;border:0}footer{padding:35px 7%;display:flex;gap:24px;justify-content:space-between;align-items:center;font-size:.75rem}footer p{margin:0}.footer-brand{font-family:var(--heading);font-size:2rem;font-weight:600}dialog{background:#111;border:1px solid #444;color:var(--text);width:min(1000px,95vw);max-height:94svh;padding:50px 20px 20px}dialog::backdrop{background:rgba(0,0,0,.92)}.lightbox-content img{max-height:66svh;object-fit:contain}.lightbox-content p{text-align:center;margin:14px 0;font-size:.875rem}.close{position:absolute;right:10px;top:4px}.close,.lightbox-controls button{min-width:44px;min-height:44px;background:transparent;border:1px solid #555;color:#fff;cursor:pointer}.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:25px;font-size:.875rem}body.modal-open{overflow:hidden}.skip{position:fixed;top:-100px;left:20px;background:white;color:#111;z-index:10;padding:12px}.skip:focus{top:10px}.thank-you{max-width:750px;margin:auto;min-height:100svh;padding:70px 25px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.thank-you .footer-brand{margin-bottom:65px}.thank-you h1{font-size:clamp(3.7rem,8vw,6rem)}.thank-you .text-link{margin-top:18px}
@media(min-width:1600px){.section,.header,footer{padding-left:max(7%,calc((100% - 1440px)/2));padding-right:max(7%,calc((100% - 1440px)/2))}}
@media(max-width:900px){.reviews-grid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.about,.booking,.faq{gap:35px}.booking{grid-template-columns:1fr}.booking-copy{max-width:560px}.form-row{gap:15px}.healed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}form{padding:25px}}
@media(max-width:600px){html{scroll-padding-top:20px}.header{height:76px;padding:0 6%}.brand{font-size:2rem;gap:10px}.brand span{font-size:.875rem}nav{gap:16px}nav>a:not(.nav-book){display:none}.nav-book{font-size:.75rem}.nav-book span{margin-left:12px}.hero{min-height:680px;min-height:calc(100svh - 76px);padding:60px 6% 95px}.hero h1{font-size:5.8rem;font-size:clamp(4.8rem,23vw,8rem)}.hero .eyebrow{font-size:.7rem;letter-spacing:.1em}.hero .text-link{display:table;margin:15px 0 0}.hero-bottom{left:6%;right:6%;font-size:.625rem;letter-spacing:.06em}.hero-image{object-position:60% center}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.4))}.section{padding:65px 6%}.section-top{display:block;margin-bottom:28px}.section-top>p{margin-top:22px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.healed-grid{gap:12px}.about,.faq{grid-template-columns:1fr}.about>img{max-height:470px}.about{gap:36px}.form-row{grid-template-columns:1fr;gap:0}form{padding:22px 16px}.booking{gap:35px}.contact>div{flex-direction:column;gap:20px;align-items:center}.contact a{font-size:.875rem}.map{height:320px}.gallery-more{margin-top:28px}footer{flex-direction:column;align-items:flex-start;padding:30px 6%;gap:12px}.eyebrow{font-size:.75rem}.thank-you .footer-brand{margin-bottom:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
