/* Short landing-page variants (home-a / home-b / home-c) */
.hv-hero{min-height:78svh;padding-bottom:clamp(40px,6vw,80px)}
.hv-hero h1{max-width:14ch}
.hv-hero.tall{min-height:100svh}
.hv-hero.mid{min-height:64svh}
.hv-hero.center{justify-content:center;align-items:center;text-align:center}
.hv-hero.center .wrap{display:flex;flex-direction:column;align-items:center;gap:22px}
.hv-hero.center h1{max-width:none}
.hv-hero .btns{display:flex;gap:12px;flex-wrap:wrap}
.hv-hero.center .btns{justify-content:center}
.hv-sec{padding:clamp(50px,7vw,100px) 0}
.hv-sec.tight{padding:clamp(34px,5vw,64px) 0}
.hv-intro{max-width:60ch;margin:0 auto;text-align:center;font:300 clamp(20px,2.2vw,30px)/1.5 var(--serif)}
.hv-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.hv-strip>div{background:var(--bg);padding:26px 24px;display:flex;flex-direction:column;gap:6px}
.hv-strip b{font:400 10px var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--red)}
.hv-strip span,.hv-strip a{font-size:14px}
.hv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.4vw,22px)}
.hv-card{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;color:#fff}
.hv-card .media{position:absolute;inset:0;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.hv-card:hover .media{transform:scale(1.06)}
.hv-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.78))}
.hv-card .cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(16px,2vw,28px);display:flex;flex-direction:column;gap:6px}
.hv-card h3{font:300 clamp(22px,2.2vw,34px)/1.05 var(--serif);text-transform:uppercase;letter-spacing:.03em}
.hv-card span{font:400 10px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:#e9d8d0}
.hv-card:hover h3{color:#ff8a8e}
.hv-big{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.4vw,22px)}
.hv-big .hv-card{aspect-ratio:4/5}
.hv-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px);align-items:start}
.hv-split h2{font:300 clamp(36px,5vw,76px)/1 var(--serif);text-transform:uppercase}
.hv-hours{display:grid;gap:0;margin-top:26px}
.hv-hours div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.hv-hours div span:last-child{color:var(--mute)}
.hv-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.hv-note{margin-top:22px;font-size:12px;color:var(--mute);max-width:46ch;line-height:1.6}
@media(max-width:900px){
  .hv-strip{grid-template-columns:1fr 1fr}
  .hv-grid,.hv-big{grid-template-columns:1fr 1fr}
  .hv-split{grid-template-columns:1fr}
  .hv-hero{min-height:82svh}
}
@media(max-width:520px){
  .hv-strip{grid-template-columns:1fr}
  .xrow{grid-template-columns:44px 1fr}.xrow .m{display:none}
}
/* home-d: single-page "experience" layout */
.d-center{max-width:760px;margin:0 auto;text-align:center}
.d-center h2{font:300 clamp(26px,3.4vw,48px)/1.1 var(--serif);text-transform:uppercase;letter-spacing:.14em;margin-bottom:26px}
.d-center p{font-size:clamp(14px,1.2vw,17px);line-height:1.8;color:var(--mute)}
.d-center .btn{margin-top:30px}
.d-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.d-split h2{font:300 clamp(24px,2.8vw,40px)/1.15 var(--serif);text-transform:uppercase;letter-spacing:.14em;text-align:center;margin-bottom:24px}
.d-split p{line-height:1.8;color:var(--mute);text-align:center}
.d-split .media{aspect-ratio:4/5}
.d-split .btn{display:table;margin:30px auto 0}
.d-band{position:relative;min-height:clamp(320px,52vw,560px);display:flex;align-items:center;justify-content:center;overflow:hidden;color:#fff;padding:0}
.d-band .media{position:absolute;inset:-6% 0;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.d-band:hover .media{transform:scale(1.04)}
.d-band .box{position:relative;z-index:2;background:rgba(0,0,0,.62);backdrop-filter:blur(4px);padding:clamp(28px,4vw,56px) clamp(36px,7vw,110px);text-align:center;transition:background .4s}
.d-band:hover .box{background:rgba(210,40,46,.82)}
.d-band .box span{display:block;font:400 11px var(--sans);letter-spacing:.28em;text-transform:uppercase;color:#e9d8d0;margin-bottom:10px}
.d-band .box h3{font:300 clamp(28px,4vw,56px)/1 var(--serif);text-transform:uppercase;letter-spacing:.08em}
.d-red{background:var(--red);color:#fff}
.d-red .d-center p,.d-red .d-center h2{color:#fff}
.d-rows{max-width:900px;margin:34px auto 0}
.d-rows div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.3);font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.d-red .btn{border-color:#fff;color:#fff}.d-red .btn:hover{background:#fff;color:var(--red)}
.d-info{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:1000px;margin:36px auto 0;text-align:center}
.d-info b{display:block;font:400 11px var(--sans);letter-spacing:.26em;text-transform:uppercase;margin-bottom:10px}
.d-info a,.d-info span{font-size:15px;line-height:1.6}
.d-news{display:flex;gap:10px;max-width:520px;margin:30px auto 0}
.d-news input{flex:1;background:none;border:1px solid var(--line);padding:14px 16px;color:inherit;font:inherit}
@media(max-width:900px){.d-split{grid-template-columns:1fr}.d-info{grid-template-columns:1fr}}
.hv-hero .shade::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.35) 45%,rgba(0,0,0,.65))}
.hv-hero .wrap{z-index:3}
.hv-hero .wrap p,.hv-hero .wrap .eyebrow{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.7)}

