*{box-sizing:border-box;margin:0;padding:0}
:root{--black:#0b0b0a;--ink:#141412;--cream:#eee9dc;--muted:#aaa79d;--line:rgba(238,233,220,.18);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--cream);font-family:var(--sans);line-height:1.45}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;height:88px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;color:#fff}
.brand,.footer-brand{display:flex;align-items:center;gap:11px;font-size:13px;font-weight:700;letter-spacing:.2em}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;font-family:var(--serif);font-size:18px;font-weight:500;letter-spacing:0}
.desktop-nav{display:flex;align-items:center;gap:34px;font-size:12px;text-transform:uppercase;letter-spacing:.13em}
.desktop-nav a{opacity:.85;transition:.25s}
.desktop-nav a:hover{opacity:1}
.nav-book{border:1px solid rgba(255,255,255,.6);padding:12px 18px}
.menu-toggle{display:none;background:none;border:0;width:42px;height:42px;color:#fff;cursor:pointer}
.menu-toggle span{display:block;width:24px;height:1px;background:#fff;margin:6px auto}
.mobile-menu{position:fixed;z-index:15;inset:0;background:var(--black);display:flex;flex-direction:column;justify-content:center;padding:10vw;gap:22px;transform:translateY(-100%);transition:.45s cubic-bezier(.77,0,.18,1)}
.mobile-menu.open{transform:translateY(0)}
.mobile-menu a{font-family:var(--serif);font-size:11vw}
.menu-book{font-family:var(--sans)!important;font-size:14px!important;letter-spacing:.15em;text-transform:uppercase;border:1px solid var(--line);padding:17px;width:max-content}
.hero{min-height:100vh;position:relative;display:flex;align-items:flex-end;overflow:hidden}
.hero-image,.statement-image,.full-bleed-photo{background-size:cover;background-position:center}
.hero-image{position:absolute;inset:0;background-image:url("https://images.unsplash.com/photo-1622286342621-4bd786c2447c?auto=format&fit=crop&w=2200&q=85")}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.16) 70%),linear-gradient(0deg,rgba(0,0,0,.72),transparent 55%)}
.hero-content{position:relative;z-index:2;padding:0 5vw 9vh;max-width:900px}
.eyebrow,.kicker,.section-label{font-size:10px;letter-spacing:.22em;text-transform:uppercase}
.eyebrow{margin-bottom:22px}
.hero h1{font-family:var(--serif);font-size:clamp(60px,10vw,145px);line-height:.83;font-weight:500;letter-spacing:-.045em}
em{font-family:var(--serif);font-style:italic;font-weight:500}
.hero-copy{max-width:470px;color:#ddd8cc;margin-top:28px;font-size:15px}
.hero-actions{display:flex;align-items:center;gap:26px;margin-top:32px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;border:1px solid transparent;padding:15px 20px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700;cursor:pointer;transition:.25s}
.button span{font-size:16px;line-height:0}
.button-light{background:var(--cream);color:var(--black)}
.button-light:hover{background:#fff}
.button-dark{background:var(--black);color:var(--cream)}
.button-dark:hover{background:#262621}
.text-link,.underlined-link{font-size:10px;text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:6px}
.scroll-note{position:absolute;z-index:2;right:5vw;bottom:35px;font-size:9px;letter-spacing:.16em;opacity:.65}
.scroll-note span{margin-left:15px}
.section{padding:125px 8vw}
.section-label{color:#87847a;margin-bottom:65px}
.intro{display:grid;grid-template-columns:30% 1fr;gap:5vw;background:var(--cream);color:var(--black)}
.intro .section-label{color:#77736a}
.intro-copy{max-width:760px}
.kicker{margin-bottom:20px}
.intro h2,.services h2,.faq h2{font-family:var(--serif);font-size:clamp(45px,6vw,85px);font-weight:500;line-height:.98;letter-spacing:-.035em}
.body-copy{max-width:560px;color:#5e5b54;font-size:15px;line-height:1.75;margin-top:30px}
.underlined-link{display:inline-block;margin-top:30px;border-color:#77736a}
.statement{min-height:720px;display:grid;grid-template-columns:1.25fr .75fr}
.statement-image{background-image:url("https://images.unsplash.com/photo-1599351431202-1e0f0d1c4a5a?auto=format&fit=crop&w=1800&q=85")}
.statement-card{background:#151512;padding:10vw 7vw;display:flex;flex-direction:column;justify-content:center}
.quote-mark{font-family:var(--serif);font-size:80px;line-height:.5;margin-bottom:30px}
.statement-card h2{font-family:var(--serif);font-size:clamp(48px,6vw,90px);line-height:.86;font-weight:500}
.statement-card p{color:var(--muted);max-width:280px;margin-top:30px}
.services{background:#10100e}
.services-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:65px}
.narrow{max-width:330px}
.service-list{border-top:1px solid var(--line)}
.service-item{display:grid;grid-template-columns:80px 1fr auto;gap:25px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);transition:.25s}
.service-item:hover{padding-left:12px}
.service-number{color:#6e6b63;font-size:10px;letter-spacing:.12em}
.service-item h3{font-size:18px;font-weight:500}
.service-item p{color:#77756e;font-size:12px;margin-top:7px}
.price{font-family:var(--serif);font-size:22px}
.price-note{color:#69675f;font-size:10px;margin-top:22px}
.full-bleed-photo{height:80vh;min-height:500px;background-image:url("https://images.unsplash.com/photo-1621605815971-fbc98d665033?auto=format&fit=crop&w=2200&q=85");position:relative}
.photo-caption{position:absolute;left:5vw;bottom:35px;font-size:10px;letter-spacing:.2em}
.faq{background:var(--cream);color:var(--black)}
.faq .section-label{color:#77736a}
.faq-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:9vw}
.faq-list{border-top:1px solid #b8b3a8}
.faq-item{position:relative;width:100%;background:none;border:0;border-bottom:1px solid #b8b3a8;text-align:left;padding:24px 35px 24px 0;cursor:pointer;color:var(--black);font-size:14px}
.faq-item b{position:absolute;right:0;top:21px;font-size:20px;font-weight:400}
.faq-answer{max-height:0;overflow:hidden;color:#656159;font-size:13px;line-height:1.7;padding-right:30px;transition:max-height .35s,padding .35s}
.faq-item.active .faq-answer{max-height:150px;padding-top:14px}
.faq-item.active b{transform:rotate(45deg)}
.booking{padding:145px 8vw;text-align:center;background:#151512}
.booking-inner{max-width:850px;margin:auto}
.booking h2{font-family:var(--serif);font-size:clamp(60px,9vw,130px);line-height:.82;font-weight:500;letter-spacing:-.04em}
.booking p:not(.kicker){color:var(--muted);margin:25px auto 30px}
.large{padding:18px 26px}
.contact{background:var(--cream);color:var(--black)}
.contact .section-label{color:#77736a}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}
.contact h2{font-family:var(--serif);font-size:clamp(55px,7vw,100px);line-height:.84;font-weight:500}
.contact-details{margin-top:55px;display:grid;gap:18px}
.contact-details p{display:grid;grid-template-columns:100px 1fr;font-size:13px}
.contact-details span{font-size:9px;letter-spacing:.16em;color:#77736a}
.contact-details a{text-decoration:underline}
.contact-form{display:grid;gap:22px;align-content:start}
.contact-form label{font-size:10px;text-transform:uppercase;letter-spacing:.14em}
.contact-form input,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #aaa69c;background:transparent;padding:14px 0;color:var(--black);outline:none;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--black)}
.form-note{font-size:11px;color:#6d6a62}
.footer{background:var(--black);padding:55px 5vw 30px}
.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:70px}
.back-top{font-size:9px;letter-spacing:.16em;color:#aaa79d}
.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#77746d;font-size:9px;letter-spacing:.08em;text-transform:uppercase}

@media(max-width:800px){
  .site-header{height:72px;padding:0 6vw}.desktop-nav{display:none}.menu-toggle{display:block}
  .hero-content{padding:0 6vw 8vh}.hero h1{font-size:18vw}.hero-copy{font-size:14px;max-width:340px}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.scroll-note{display:none}
  .section{padding:90px 6vw}.section-label{margin-bottom:45px}
  .intro,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:55px}
  .statement{grid-template-columns:1fr;min-height:0}.statement-image{height:65vh}.statement-card{min-height:500px}
  .services-head{display:block}.services-head .narrow{margin-top:25px}
  .service-item{grid-template-columns:35px 1fr auto;gap:10px}.service-item:hover{padding-left:0}
  .service-item h3{font-size:15px}.service-item p{font-size:11px}.price{font-size:18px}
  .full-bleed-photo{height:65vh}.booking{padding:110px 6vw}.booking h2{font-size:18vw}
  .contact-details p{grid-template-columns:85px 1fr}
  .footer-top{padding-bottom:50px}.footer-bottom{flex-wrap:wrap}
}

.instagram{background:#eee9dc;color:#0b0b0a}
.instagram .section-label{color:#77736a}
.instagram-head,.reviews-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:55px}
.ig-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ig-card{height:360px;display:flex;align-items:flex-end;padding:20px;background-color:#222;background-size:cover;background-position:center;position:relative;overflow:hidden}
.ig-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 55%);transition:.3s}
.ig-card:hover:after{background:rgba(0,0,0,.18)}
.ig-card span{position:relative;z-index:2;color:#fff;font-size:9px;letter-spacing:.15em}
.ig-card-1{background-image:url("https://images.unsplash.com/photo-1622287162716-f311baa1a2b8?auto=format&fit=crop&w=900&q=85")}
.ig-card-2{background-image:url("https://images.unsplash.com/photo-1517832606299-7ae9b720a186?auto=format&fit=crop&w=900&q=85")}
.ig-card-3{background-image:url("https://images.unsplash.com/photo-1599351431202-1e0f0d1c4a5a?auto=format&fit=crop&w=900&q=85")}
.ig-card-4{background-image:url("https://images.unsplash.com/photo-1503951914875-452162b0f3f1?auto=format&fit=crop&w=900&q=85")}
.ig-note{font-size:10px;color:#77736a;margin-top:15px}
.reviews{background:#151512;overflow:hidden}
.reviews-head h2{font-family:var(--serif);font-size:clamp(42px,5vw,72px);font-weight:500;line-height:.95;letter-spacing:-.03em}
.review-window{overflow:hidden;margin:0 -8vw;padding:0 8vw}
.review-track{display:flex;gap:16px;width:max-content;animation:reviewScroll 28s linear infinite}
.review-track:hover{animation-play-state:paused}
.review-card{width:min(420px,75vw);min-height:245px;background:#eee9dc;color:#0b0b0a;padding:32px;display:flex;flex-direction:column;justify-content:space-between}
.stars{letter-spacing:.16em;font-size:12px}
.review-card p{font-family:var(--serif);font-size:25px;line-height:1.15}
.review-card span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#77736a}
.review-button{margin-top:35px}
@keyframes reviewScroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 8px))}}
@media(max-width:800px){
  .instagram-head,.reviews-head{display:block}
  .instagram-head .underlined-link,.reviews-head .underlined-link{display:inline-block;margin-top:25px}
  .ig-grid{grid-template-columns:1fr 1fr}
  .ig-card{height:240px}
  .review-window{margin:0 -6vw;padding:0 6vw}
  .review-card{width:78vw;min-height:220px}
}

.actual-hero{background-image:url("assets/IMG_8932.jpeg")}
.actual-statement{background-image:url("assets/IMG_8933.jpeg")}
.actual-gallery{grid-template-columns:repeat(4,1fr)}
.actual-photo{background-image:none}
.photo-shop-1{background-image:url("assets/IMG_8932.jpeg")}
.photo-cut-1{background-image:url("assets/IMG_9305(2).jpeg")}
.photo-cut-2{background-image:url("assets/IMG_4112.jpeg")}
.photo-cut-3{background-image:url("assets/IMG_0087.jpeg")}
.photo-cut-4{background-image:url("assets/IMG_0086.jpeg")}
.photo-shop-2{background-image:url("assets/IMG_9254.jpeg")}
.actual-video{position:relative;overflow:hidden;background:#111}
.actual-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.actual-video:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6),transparent 60%);z-index:1}
.actual-video span{position:relative;z-index:2}
.map-section{display:grid;grid-template-columns:.75fr 1.25fr;min-height:620px;background:#10100e}
.map-copy{padding:10vw 8vw;display:flex;flex-direction:column;justify-content:center}
.map-copy h2{font-family:var(--serif);font-size:clamp(50px,6vw,85px);line-height:.86;font-weight:500}
.map-copy>p:not(.kicker){color:#aaa79d;margin:28px 0;font-size:14px;line-height:1.7}
.map-copy .button{align-self:flex-start}
.map-image{background-image:linear-gradient(rgba(0,0,0,.1),rgba(0,0,0,.25)),url("assets/IMG_8933.jpeg");background-size:cover;background-position:center}
@media(max-width:800px){
  .actual-gallery{grid-template-columns:1fr 1fr}
  .map-section{grid-template-columns:1fr}
  .map-copy{min-height:480px;padding:90px 6vw}
  .map-image{height:55vh}
}
