/* Refined: original homepage sequence, typography and interaction repairs. */
.variant-refined{--paper:#fff;--line:#dfdfd9;--gutter:clamp(20px,4.5vw,72px)}
.variant-refined .site-header{position:absolute;inset:0 0 auto;height:138px;align-items:start;padding-top:32px;background:linear-gradient(180deg,#000b 0%,#0006 58%,transparent 100%);color:#fff}
.variant-refined .site-header .brand-logo{width:235px;filter:none}
.variant-refined .site-header nav{font-size:14px;gap:36px}
.variant-refined .site-header .nav-right{justify-content:flex-end}
.variant-refined .site-header nav a[aria-current]{border-bottom:1px solid #fff}
.refined-slider{position:relative;height:80svh;min-height:440px;max-height:1000px;background:#20221f;isolation:isolate;touch-action:pan-y}
.refined-slides{position:absolute;inset:0;overflow:hidden}
.refined-slide{position:absolute;inset:0;margin:0;z-index:0}
.refined-slide img{width:100%;height:100%;object-fit:cover;object-position:var(--photo-position)}
.refined-slide.is-active{z-index:1;animation:refined-crossfade .7s ease both}
.refined-slide:first-child{animation:none}
@keyframes refined-crossfade{from{opacity:0}to{opacity:1}}
.refined-slider-controls{position:absolute;bottom:0;left:0;right:0;z-index:3;display:flex;justify-content:center;align-items:center;gap:18px;padding:24px 20px 15px;background:linear-gradient(transparent,#0008);color:#fff}
.refined-slide-dots{display:flex;align-items:center;gap:0}
.refined-slide-dot{border:0;background:none;color:inherit;width:28px;height:44px;padding:0;display:grid;place-items:center}
.refined-slide-dot span{width:9px;height:9px;border:1px solid #fff;border-radius:50%;background:transparent;transition:background .2s}
.refined-slide-dot[aria-pressed=true] span{background:#fff}
.refined-slide-pause{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffffa0;border-radius:50%;background:#0003;color:#fff;font-size:18px;line-height:1}
.refined-intro{text-align:center;padding:54px 24px 56px}
.refined-intro h1{font-size:clamp(34px,3.5vw,52px);line-height:1.15;letter-spacing:-.025em}
.refined-intro>p{font-family:var(--serif);font-size:22px;line-height:1.5;letter-spacing:.05em;margin-top:20px;text-transform:uppercase}
.refined-intro .hero-actions{margin-top:28px}
.variant-refined .button,.variant-refined .text-link{font-size:14px}
.refined-work{padding:18px var(--gutter) 72px}
.refined-section-title{text-align:center;padding-bottom:36px}
.refined-section-title h2{font-size:clamp(36px,4vw,54px);letter-spacing:-.025em}
.refined-section-title h2 em{font-size:.9em}
.refined-section-title p{font-size:13px;letter-spacing:.15em;text-transform:uppercase;margin-top:16px;color:#61655b}
.refined-photo-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.refined-photo{display:block;position:relative;aspect-ratio:2/3;overflow:hidden;background:#efeeea}
.refined-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.refined-photo:hover img{transform:scale(1.035)}
.refined-photo-hover{position:absolute;inset:auto 0 0;padding:28px 12px 12px;background:linear-gradient(transparent,#0009);color:#fff;font-size:12px;line-height:1.4;opacity:0;transition:opacity .2s}
.refined-photo:hover .refined-photo-hover,.refined-photo:focus-visible .refined-photo-hover{opacity:1}
.refined-series{position:relative;min-height:530px;display:grid;place-items:center;isolation:isolate;color:#fff;text-align:center;padding:80px 24px}
.refined-series>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;z-index:-2}
.refined-series:before{content:'';position:absolute;inset:0;background:#0007;z-index:-1}
.refined-series h2{font-size:clamp(42px,5vw,70px);letter-spacing:-.025em}
.refined-series p{font:400 clamp(24px,2.5vw,34px)/1.3 var(--serif);max-width:630px;margin:28px auto 32px}
.refined-series .button{background:#fff;color:#20221e;border-color:#fff}
.refined-series .button:hover{background:#efeee8}
.refined-about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,7vw,100px);align-items:center;padding:90px var(--gutter);max-width:1420px;margin:auto}
.refined-about-copy{text-align:center}
.refined-about h2{font-size:clamp(34px,3vw,48px);line-height:1.12}
.refined-experience{font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin:22px 0 34px}
.refined-about-copy>p:not(.refined-experience):not(.refined-about-invitation){font:400 23px/1.65 var(--serif)}
.refined-about dl{font-size:14px;line-height:1.8;margin:30px auto;max-width:430px}
.refined-about dl div+div{margin-top:18px}
.refined-about dt{text-transform:uppercase;letter-spacing:.11em;font-size:12px;font-weight:500;margin-bottom:5px}
.refined-about dd{margin:0;color:#555b4d}
.refined-about-invitation{font:400 25px/1.45 var(--serif);margin-top:28px!important}
.refined-about-invitation a{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.refined-about-marks{width:min(100%,380px);height:auto;margin:38px auto 0}
.refined-about-photo img{width:100%;height:auto;max-height:800px;object-fit:contain}
.refined-booking{position:relative;isolation:isolate;padding:76px var(--gutter) 64px;background:#1d201a;color:#fff;overflow:hidden}
.refined-booking-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 43%;z-index:-2}
.refined-booking:before{content:'';position:absolute;inset:0;background:#0007;z-index:-1}
.refined-booking-content{max-width:730px;margin:auto}
.refined-booking-title{text-align:center;margin-bottom:32px}
.refined-booking-title h2{font-size:60px}
.refined-booking-title p{font:400 28px/1.3 var(--serif);margin-top:14px}
.refined-booking .inquiry-form{padding:34px 38px;background:#faf9f6;color:#242522}
.refined-required-note{font-size:12px;color:#60645a;margin-bottom:24px}
.refined-booking .field input,.refined-booking .field textarea{min-height:50px;border-color:#9fa498}
.refined-booking .field label{font-size:14px}
.refined-booking .form-grid{grid-template-columns:1fr 1fr;gap:20px}
.refined-booking .field-full{grid-column:1/-1}
.refined-booking .consent{font-size:13px}
.refined-booking-email{display:table;font-size:16px;border-bottom:1px solid currentColor;margin:30px auto 0}
.refined-footer{text-align:center;padding:64px 24px 32px;background:#11130f;color:#fff}
.refined-footer .brand{display:inline-flex}
.refined-footer .brand-logo{width:224px;filter:none}
.refined-footer nav,.refined-footer-socials{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 30px;margin-top:26px;font-size:14px}
.refined-footer nav a,.refined-footer-socials a{padding:8px 0}
.refined-footer-socials{gap:8px 26px;font-size:13px;margin-top:14px}
.refined-footer p{font-size:12px;line-height:1.9;color:#bfc2b9;margin-top:28px}
.refined-footer p a{text-decoration:underline;text-underline-offset:4px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.refined-lightbox{border:0;padding:18px 24px;background:#121411;color:#fff;width:calc(100vw - 32px);max-width:1600px;height:calc(100dvh - 32px);max-height:none;overflow:hidden}
.refined-lightbox::backdrop{background:#080a07ed}
.refined-lightbox[open]{display:grid;grid-template-rows:48px minmax(0,1fr) 52px;gap:12px}
.refined-lightbox-bar,.refined-lightbox-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px}
.refined-lightbox button{min-height:44px;background:transparent;border:1px solid #ffffff70;color:#fff;padding:8px 18px;font-size:14px}
.refined-lightbox-image{width:100%;height:100%;object-fit:contain;min-height:0}
@media(max-width:1100px){.refined-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.refined-about{gap:38px;padding-top:70px;padding-bottom:70px}.variant-refined .site-header nav{gap:24px}.refined-about-copy>p:not(.refined-experience):not(.refined-about-invitation){font-size:21px}}
@media(max-width:700px){.variant-refined .site-header{height:112px;padding:17px 20px 25px;align-items:center}.variant-refined .site-header .brand-logo{width:145px}.refined-slider{height:40svh;min-height:320px;max-height:520px}.refined-slider-controls{gap:8px;padding:18px 12px 8px}.refined-slide-dot{width:26px}.refined-slide-dot span{width:8px;height:8px}.refined-slide-pause{width:40px;height:40px;min-width:40px}.refined-intro{padding:38px 22px 44px}.refined-intro h1{font-size:35px;max-width:370px;margin:auto}.refined-intro>p{font-size:18px;margin-top:19px;letter-spacing:.015em}.refined-intro .hero-actions{gap:12px;margin-top:24px}.refined-intro .button{width:min(100%,330px)}.refined-work{padding-top:8px;padding-bottom:45px}.refined-section-title{padding-bottom:26px}.refined-section-title h2{font-size:37px}.refined-section-title p{font-size:11px;margin-top:14px}.refined-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.refined-photo-hover{display:none}.refined-series{min-height:440px;padding:60px 24px}.refined-series h2{font-size:44px}.refined-series p{font-size:27px}.refined-about{grid-template-columns:1fr;padding:55px 24px;gap:36px}.refined-about h2{font-size:39px}.refined-experience{font-size:13px;max-width:300px;margin:20px auto 28px}.refined-about-copy>p:not(.refined-experience):not(.refined-about-invitation){font-size:22px}.refined-about-photo{max-width:460px;margin:auto}.refined-about-marks{max-width:320px;margin-top:30px}.refined-booking{padding:55px 20px 45px}.refined-booking-title h2{font-size:52px}.refined-booking-title p{font-size:26px}.refined-booking .inquiry-form{margin:0;padding:26px 20px}.refined-booking .form-grid{grid-template-columns:1fr;gap:18px}.refined-booking .field-full{grid-column:auto}.refined-footer{padding:50px 22px 90px}.refined-footer nav{gap:12px 25px}.refined-footer-socials{gap:4px 20px}.refined-lightbox{width:100vw;height:100dvh;padding:10px 14px}.refined-lightbox[open]{grid-template-rows:44px minmax(0,1fr) 48px;gap:8px}}
@media(max-width:365px){.variant-refined .site-header{padding-left:16px;padding-right:16px;gap:10px}.variant-refined .site-header .brand-logo{width:124px}.refined-slide-dot{width:22px}.refined-slide-pause{width:38px;height:38px;min-width:38px}.refined-intro h1{font-size:32px}.refined-section-title h2{font-size:33px}.refined-booking .inquiry-form{padding:24px 16px}}
@media(prefers-reduced-motion:reduce){.refined-slide.is-active{animation:none}.refined-photo img,.refined-photo-hover{transition:none}.refined-photo:hover img{transform:none}}

/* Approved refinement batch: first-screen CTAs, compact work flow and split booking. */
.refined-opening{height:100svh;min-height:520px;display:grid;grid-template-rows:minmax(0,1fr) auto}
.refined-opening .refined-slider{height:auto;min-height:0;max-height:none}
.refined-intro{padding:clamp(22px,3.4svh,38px) 24px}
.refined-intro h1{font-size:clamp(34px,3.4vw,50px)}
.refined-intro>p{margin-top:14px;font-size:20px}
.refined-intro .hero-actions{margin-top:22px}
.refined-slider-controls{height:78px;padding:20px 24px 14px;gap:0}
.refined-slide-dots{position:absolute;left:50%;bottom:14px;transform:translateX(-50%)}
.refined-slide-pause{position:absolute;right:26px;bottom:14px}
.refined-work{height:min(100svh,850px);min-height:500px;padding:38px 0 34px;background:#f1efe9;border-top:1px solid #e6e3da;display:flex;flex-direction:column;overflow:hidden}
.refined-work .refined-section-title{position:relative;padding:0 70px 28px;flex:none}
.refined-work .refined-section-title h2{font-size:clamp(36px,3.6vw,50px)}
.refined-work .refined-section-title p{margin-top:12px}
.refined-flow-toggle{position:absolute;right:26px;top:8px;width:40px;height:40px;border-radius:50%;border:1px solid #85897c;background:transparent;color:#383d32;display:grid;place-items:center;font-size:17px}
.refined-photo-stream{flex:1;min-height:0;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:16px}
.refined-photo-strip{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;min-height:0}
.refined-photo-strip::-webkit-scrollbar{display:none}
.refined-photo-track{display:flex;width:max-content;height:100%;animation:refined-flow var(--flow-duration,180s) linear infinite;animation-delay:var(--flow-phase,0s);animation-play-state:paused}
.refined-photo-group{display:flex;height:100%;gap:14px;padding-right:14px;flex:none}
.refined-photo-group .refined-photo{flex:none;width:auto;height:calc(100% - 14px);aspect-ratio:2/3;align-self:flex-start}
.refined-photo-group .refined-photo:nth-child(even){align-self:flex-end}
.refined-photo img{height:100%;width:100%}
.refined-work.is-flowing .refined-photo-track{animation-play-state:running}
.refined-work:not(.flow-ready) .refined-photo-track{animation:none}
.refined-photo-strip:focus-within{scroll-behavior:smooth}
@keyframes refined-flow{to{transform:translateX(var(--flow-distance))}}
.refined-booking{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:0;background:#efede6;color:#242522}
.refined-booking:before{display:none}
.refined-booking-portrait{grid-column:2;grid-row:1;position:relative;min-width:0;overflow:hidden}
.refined-booking-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 62%;z-index:auto}
.refined-booking-content{grid-column:1;grid-row:1;max-width:760px;width:100%;padding:52px clamp(24px,3.6vw,64px) 38px;margin:auto}
.refined-booking-title{margin-bottom:28px}
.refined-booking-title h2{font-size:54px}
.refined-booking-title p{font-size:26px}
.refined-booking .inquiry-form{padding:28px;background:#fff}
.refined-booking .field textarea{min-height:100px}
.refined-booking .form-grid{gap:16px}
.refined-booking-email{font-size:14px;margin-top:24px}
@media(min-width:701px) and (max-height:650px){.refined-intro{padding:18px 24px}.refined-intro h1{font-size:34px}.refined-intro>p{font-size:18px;margin-top:10px}.refined-intro .hero-actions{margin-top:16px}.refined-work{padding-top:24px;padding-bottom:24px}.refined-work .refined-section-title{padding-bottom:20px}.refined-work .refined-section-title h2{font-size:36px}}
@media(max-width:1100px) and (min-width:901px){.refined-booking-content{padding-left:24px;padding-right:24px}.refined-booking .inquiry-form{padding:24px 20px}.refined-booking .form-grid{grid-template-columns:1fr}.refined-booking .field-full{grid-column:auto}}
@media(max-width:900px){.refined-booking{grid-template-columns:1fr}.refined-booking-portrait{grid-column:1;grid-row:1;height:500px}.refined-booking-background{object-position:50% 60%}.refined-booking-content{grid-column:1;grid-row:2;max-width:760px;padding:42px 28px}.refined-booking .form-grid{grid-template-columns:1fr 1fr}.refined-booking .field-full{grid-column:1/-1}}
@media(max-width:700px){.variant-refined .site-header{justify-content:space-between;height:104px;gap:20px}.variant-refined .menu-toggle{font-size:14px;gap:10px;min-height:44px;padding:8px 0;border:0;margin-left:auto}.variant-refined .menu-burger{width:22px;height:18px;flex:none}.refined-opening{height:auto;min-height:0;display:block}.refined-opening .refined-slider{height:40svh;min-height:250px;max-height:360px}.refined-intro{padding:30px 22px 34px}.refined-intro h1{font-size:35px}.refined-intro>p{font-size:17px;margin-top:16px}.refined-intro .hero-actions{margin-top:22px}.refined-slider-controls{height:68px;padding:0}.refined-slide-dots{bottom:12px}.refined-slide-dot{width:23px;height:40px}.refined-slide-dot span{width:7px;height:7px}.refined-slide-pause{right:12px;bottom:12px;width:34px;height:34px;min-width:34px;font-size:15px}.refined-work{height:710px;min-height:0;padding:34px 0 30px}.refined-work .refined-section-title{padding:0 52px 28px}.refined-work .refined-section-title h2{font-size:35px}.refined-flow-toggle{right:16px;top:4px;width:32px;height:32px;font-size:15px}.refined-photo-stream{gap:12px}.refined-photo-group{gap:10px;padding-right:10px}.refined-booking-portrait{height:440px}.refined-booking-content{padding:36px 20px}.refined-booking .inquiry-form{padding:26px 20px}.refined-booking .form-grid{grid-template-columns:1fr;gap:18px}.refined-booking .field-full{grid-column:auto}}
@media(max-width:365px){.refined-intro h1{font-size:32px}.refined-slide-dot{width:20px}.refined-slide-pause{right:8px;width:30px;height:30px;min-width:30px;bottom:17px}.refined-booking .inquiry-form{padding:24px 16px}.refined-work .refined-section-title h2{font-size:30px}}
/* Mobile/tablet booking keeps the approved form over its original background. */
@media(max-width:900px){.refined-booking{display:block;padding:64px var(--gutter);background:#1d201a;color:#fff}.refined-booking-portrait{position:absolute;inset:0;height:100%;z-index:-2}.refined-booking-background{object-position:50% 43%}.refined-booking:before{display:block}.refined-booking-content{max-width:730px;padding:0;margin:auto}.refined-booking-title{margin-bottom:32px}.refined-booking-title h2{font-size:60px}.refined-booking-title p{font-size:28px}.refined-booking .inquiry-form{padding:34px 38px;background:#faf9f6}.refined-booking .form-grid{gap:20px}.refined-booking-email{font-size:16px;margin-top:30px}}
@media(max-width:700px){.refined-booking{padding:55px 20px 45px}.refined-booking-title h2{font-size:52px}.refined-booking-title p{font-size:26px}.refined-booking .inquiry-form{padding:26px 20px}.refined-booking .form-grid{gap:18px}}
@media(max-width:365px){.refined-booking .inquiry-form{padding:24px 16px}}
.refined-work.flow-keyboard .refined-photo-track{animation:none}
