/* The selected concept: a full-bleed scene and a shared photo / booking section. */
.home-page .header-inner{min-height:72px}
.home-page .hero{position:relative;background:#203447}
.home-page .hero-layout{position:relative;display:block;width:100%;max-width:none;min-height:max(450px,38.6667vw);padding:50px max(5%,calc((100vw - 1280px)/2));isolation:isolate}
.home-page .hero-copy{position:relative;z-index:2;width:46%;padding:0}
.home-page .hero h1{font-size:clamp(32px,4.5vw,64px);white-space:nowrap;line-height:1.08;letter-spacing:-.045em;color:#faf8f3;text-wrap:initial}
.home-page .hero-copy>p{font-size:clamp(16px,1.9vw,24px);line-height:1.4;max-width:440px;margin:24px 0}
.home-page .hero-copy .button{font-size:17px;font-weight:500;padding:13px 25px;min-width:245px;gap:20px}
.home-page .hero-copy .button svg{display:none}
.home-page .hero-figure{position:absolute;inset:0 0 0 auto;width:58%;height:100%;margin:0;z-index:0;mask-image:linear-gradient(to right,transparent 0%,#000 22%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 22%)}
.home-page .hero-figure:before{display:none}
.home-page .hero-figure img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:center}
.home-page .hero:before,.home-page .hero:after{content:'';position:absolute;border:2px solid #e8b954;border-radius:50%;z-index:3;pointer-events:none}
.home-page .hero:before{width:190px;height:190px;left:-99px;top:-130px}
.home-page .hero:after{width:195px;height:195px;left:33%;bottom:-135px}
.home-page .home-booking{background:#faf8f3;padding:42px 0 40px}
.home-page .home-booking .container{width:min(1280px,calc(100% - 76px))}
.home-booking .section-heading{gap:28px;margin-bottom:30px;align-items:center}
.home-booking .section-heading h2{font-size:clamp(35px,4.4vw,62px);white-space:nowrap}
.heading-rule{height:1px;background:#bd9448;flex:1;min-width:40px}
.home-booking-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:25px;align-items:stretch}
.home-studio-photo{width:100%;height:100%;min-height:350px;padding:0;border:0;background:#082c53;overflow:hidden}
.home-studio-photo img{width:100%;height:100%;object-fit:contain;aspect-ratio:3/2}
.home-booking-form{border-left:1px solid #d8b977;padding-left:30px;min-width:0}
.home-booking-form h3{font-size:clamp(26px,3.1vw,43px);line-height:1.1;margin:-5px 0 19px;letter-spacing:-.025em}
.home-booking-form .form-row{display:block}
.home-booking-form .booking-intro{margin:0 0 20px;line-height:1.6}
.home-page .hero-copy>.text-link{display:block;width:fit-content;margin-top:16px;font-size:16px}
.home-booking-form .field{position:relative;gap:0;margin-bottom:11px}
.home-booking-form .field>label,.home-booking-form .field-hint{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.home-booking-form input:not([type=checkbox]),.home-booking-form select,.home-booking-form textarea{background:transparent;border-color:#b99b65;padding:8px 13px;font-size:13px;min-height:38px}
.home-booking-form textarea{min-height:76px;height:76px}
.home-booking-form .consent{font-size:10px;line-height:1.4;margin:10px 0 12px}
.home-booking-form .consent input{width:14px;height:14px}
.home-booking-form .form-submit{justify-content:center;font-size:15px;font-weight:500;padding:10px 18px;min-height:44px}
.home-booking-form .form-submit svg{display:none}
.home-booking-form .form-footnote{margin-top:7px;font-size:9px}
@media(min-width:1500px){.home-page .hero-figure{width:56%}.home-page .hero-layout{min-height:max(450px,37.3333vw)}}
@media(max-width:950px){.home-page .header-inner{min-height:72px}.home-page .hero-layout{padding-top:40px;padding-bottom:40px;min-height:430px}.home-page .hero h1{font-size:clamp(26px,3.9vw,40px)}.home-page .hero-copy>p{font-size:17px}.home-page .hero-copy .button{font-size:14px;min-width:210px}.home-booking .section-heading h2{white-space:normal}.home-booking-form{padding-left:22px}.home-booking-layout{gap:22px}.home-studio-photo{min-height:300px}}
@media(max-width:650px){.home-page .hero-layout{padding:34px 20px 0;min-height:0}.home-page .hero-copy{width:100%;padding:0;max-width:390px}.home-page .hero h1{font-size:clamp(24px,8.5vw,48px)}.home-page .hero-copy>p{font-size:17px;max-width:340px;margin:23px 0}.home-page .hero-copy .button{padding:13px 23px;min-width:220px;font-size:15px}.home-page .hero-figure{position:relative;inset:auto;width:calc(100% + 40px);height:auto;margin:25px -20px 0;mask-image:none;-webkit-mask-image:none}.home-page .hero-figure img{height:auto;aspect-ratio:3/2;object-fit:contain}.home-page .hero:after{left:auto;right:-80px;bottom:-155px}.home-page .home-booking{padding:40px 0}.home-page .home-booking .container{width:calc(100% - 40px)}.home-booking .section-heading{margin-bottom:25px}.home-booking .section-heading h2{font-size:35px}.heading-rule{display:none}.home-booking-layout{grid-template-columns:1fr;gap:30px}.home-studio-photo{min-height:0;height:auto;aspect-ratio:3/2}.home-studio-photo img{height:auto}.home-booking-form{border-left:0;border-top:1px solid #d8b977;padding:25px 0 0}.home-booking-form h3{font-size:29px;margin:0 0 20px}.home-booking-form input:not([type=checkbox]),.home-booking-form select,.home-booking-form textarea{font-size:16px;min-height:44px}.home-booking-form textarea{height:100px}.home-booking-form .consent{font-size:11px}.home-booking-form .consent input{width:17px;height:17px}.home-booking-form .form-submit{min-height:48px}}

.directions-section .direction{grid-template-columns:1fr}.directions-section .direction h3,.directions-section .direction-tag,.directions-section .direction p,.directions-section .direction .text-link{grid-column:1}

.home-faq{background:var(--paper)}.home-faq>.container>p{max-width:720px;margin:20px 0 30px}.home-faq details{border-top:1px solid var(--line);padding:22px 0;max-width:980px}.home-faq details:last-child{border-bottom:1px solid var(--line)}.home-faq summary{cursor:pointer;font-size:clamp(18px,2vw,23px);color:var(--ink)}.home-faq details p{margin:16px 0 0;max-width:820px}.home-faq a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.home-faq summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
