/* Dedicated Haven product experience — warm, living architectural language */
.haven-product-page{background:#050505;color:#f4f0e8}
.haven-product-page .customizer-page{overflow:hidden;background:radial-gradient(circle at 30% 14%,rgba(154,126,76,.12),transparent 28%),radial-gradient(circle at 78% 28%,rgba(72,91,66,.07),transparent 24%),#070707}
.haven-product-hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;padding:clamp(145px,17vw,220px) clamp(24px,7vw,110px) clamp(68px,8vw,108px);border-bottom:1px solid rgba(201,169,108,.17);isolation:isolate;overflow:hidden}
.haven-title-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-4;filter:saturate(.98) contrast(1.02) brightness(1.04);transform:scale(1.01)}
.haven-hero-overlay{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(4,4,4,.46) 0%,rgba(4,4,4,.24) 42%,rgba(4,4,4,.06) 74%,rgba(4,4,4,.12) 100%),linear-gradient(0deg,rgba(4,4,4,.34),transparent 50%,rgba(0,0,0,.05))}
.haven-hero-atmosphere{position:absolute;inset:0;z-index:-2;opacity:.22;background:radial-gradient(circle at 80% 25%,rgba(202,171,112,.24),transparent 22%),linear-gradient(118deg,transparent 0 62%,rgba(255,255,255,.035) 62.2% 62.35%,transparent 62.55%)}
.haven-hero-copy{position:relative;z-index:2;width:min(800px,76vw);padding-left:clamp(0px,2vw,28px);border-left:1px solid rgba(214,181,119,.34)}
.haven-hero-copy .eyebrow{letter-spacing:.27em;color:#d4b97f;font-size:.7rem;margin-left:clamp(18px,2vw,30px)}
.haven-hero-copy h1{font-size:clamp(4.7rem,10vw,10rem);font-weight:250;letter-spacing:-.07em;line-height:.79;margin:.2em 0 .22em clamp(12px,1.4vw,22px);color:#fffaf2;text-shadow:0 16px 48px rgba(0,0,0,.32)}
.haven-hero-copy h1 span{display:block;font-size:.18em;letter-spacing:.34em;text-transform:uppercase;color:#d0b47a;margin:0 0 .82em .35em;font-weight:500}
.haven-hero-lede{max-width:690px;margin-left:clamp(18px,2vw,30px);font-size:clamp(1.02rem,1.5vw,1.28rem);line-height:1.78;color:#d0cbc1}
.haven-hero-meta{display:flex;flex-wrap:wrap;gap:30px;margin:38px 0 30px clamp(18px,2vw,30px);padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}
.haven-hero-meta span{min-width:145px}.haven-hero-meta small{display:block;color:#969188;text-transform:uppercase;letter-spacing:.17em;font-size:.58rem;margin-bottom:7px}.haven-hero-meta strong{font-size:.84rem;font-weight:500;color:#f0e9dd}
.haven-scroll-cue{margin-left:clamp(18px,2vw,30px);display:inline-flex;align-items:center;gap:12px;color:#e1c995;text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;padding:12px 0;border-bottom:1px solid rgba(221,190,128,.45)}
.haven-hero-index{position:absolute;right:4vw;bottom:34px;display:flex;align-items:flex-end;gap:10px;color:rgba(255,255,255,.21)}.haven-hero-index span{font-size:4.2rem;font-weight:200}.haven-hero-index small{font-size:.53rem;letter-spacing:.25em;margin-bottom:11px}
.haven-story-strip{display:flex;align-items:center;justify-content:center;gap:clamp(20px,4vw,64px);min-height:112px;padding:24px 6vw;background:linear-gradient(90deg,#090909,#0c0b09,#090909);border-bottom:1px solid rgba(255,255,255,.075)}
.haven-story-strip p{margin:0;text-transform:uppercase;font-size:.62rem;letter-spacing:.22em;color:#a69e90;white-space:nowrap}.haven-story-strip i{width:4px;height:4px;transform:rotate(45deg);background:#b99a62}
.haven-atelier-heading{padding:clamp(85px,10vw,145px) 6vw 48px;text-align:center;max-width:1000px;margin:auto}.haven-atelier-heading .eyebrow{color:#c1a56e;letter-spacing:.25em}.haven-atelier-heading h2{font-size:clamp(2.6rem,5vw,5.2rem);font-weight:300;letter-spacing:-.048em;margin:.15em 0 .22em;color:#f4efe7}.haven-atelier-heading>p:last-child{max-width:720px;margin:0 auto;color:#a29c92;line-height:1.75}
.haven-dedicated-layout{max-width:1480px;margin:0 auto 110px;padding:0 clamp(18px,4vw,54px);gap:clamp(18px,3vw,42px);align-items:start}.haven-product-page .customizer-preview,.haven-product-page .customizer-controls{border:1px solid rgba(196,164,105,.17);background:linear-gradient(145deg,rgba(18,17,15,.98),rgba(7,7,7,.98));box-shadow:0 32px 90px rgba(0,0,0,.4)}
.haven-panel-label{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 18px;padding:0 0 12px;border-bottom:1px solid rgba(255,255,255,.08);font-size:.58rem;letter-spacing:.19em;color:#d0b477}.haven-panel-label small{color:#7d786e;letter-spacing:.04em;text-transform:none;font-size:.67rem}.haven-panel-label.controls-label{margin-bottom:26px}
/* Haven uses the alternate architectural preview shell, not Signature's world or house numbers */
.haven-product-page .signature-scene,.haven-product-page .signature-preview-switcher,.haven-product-page .signature-real-preview,.haven-product-page .house-number-custom-preview{display:none!important}
.haven-product-page .vista-preview-shell{display:block!important}
.haven-product-page .house-only-controls,.haven-product-page .signature-only{display:none!important}
.haven-product-page .model-specific-product-information{max-width:1280px;margin:0 auto clamp(80px,10vw,145px);padding:clamp(28px,5vw,64px);border-top:1px solid rgba(196,164,105,.18);border-bottom:1px solid rgba(196,164,105,.12);background:linear-gradient(180deg,rgba(22,19,14,.38),rgba(8,8,8,.25))}.haven-product-page .product-extras{max-width:1280px;margin:auto;padding:0 5vw 90px}
@media(max-width:850px){.haven-product-hero{min-height:100svh;padding:130px 7vw 50px}.haven-hero-copy{width:100%;border-left:0;padding-left:0}.haven-hero-copy .eyebrow,.haven-hero-copy h1,.haven-hero-lede,.haven-hero-meta,.haven-scroll-cue{margin-left:0}.haven-hero-copy h1{font-size:clamp(4.2rem,21vw,7rem)}.haven-hero-lede{font-size:1rem;line-height:1.62;max-width:94%}.haven-hero-meta{margin-top:28px}.haven-hero-index{display:none}.haven-story-strip{overflow-x:auto;justify-content:flex-start;padding-inline:24px}.haven-dedicated-layout{padding-inline:14px}.haven-panel-label{flex-direction:column;align-items:flex-start}.haven-hero-overlay{background:linear-gradient(90deg,rgba(3,3,3,.48),rgba(4,4,4,.18)),linear-gradient(0deg,rgba(5,5,5,.36),transparent 50%)}}
@media(prefers-reduced-motion:reduce){.haven-title-video{display:none}}

/* Product customizer header cleanup */
.customizer-preview > [class*="panel-label"]{
  display:none!important;
}
