/* Desktop geometry uses the usable hero height, never the image's fit width.
   header clearance is measured without changing the existing header markup. */
.premium-enabled{--hero-header:108px;--hero-flow-top:71px;--hero-controls:52px;--hero-height:calc(100svh - var(--hero-flow-top) - var(--hero-header) - var(--hero-controls));position:relative;box-sizing:border-box;margin-top:0;height:calc(var(--hero-header) + var(--hero-height) + var(--hero-controls));overflow:clip;background:radial-gradient(ellipse at 78% 38%,#d0bc9d3d,transparent 65%),linear-gradient(180deg,#f8f3ec 0%,#f8f3ec 76%,#eadcc9 94%,#f8f0e4 100%)}
.premium-enabled .portraits-wrap,.premium-enabled .portraits-slider,.premium-enabled .portraits-slider .slick-list,.premium-enabled .portraits-slider .slick-track,.premium-enabled .portraits-slider .portraits-slide{height:100%;min-height:0}
.premium-enabled .portraits-slider:not(.slick-initialized)>article:not(:first-child){display:none}
.premium-enabled .portraits-slider .premium-hero{padding:var(--hero-header) 0 var(--hero-controls);background:transparent;box-sizing:border-box;overflow:hidden}
.premium-enabled .premium-hero__inner{position:relative;width:min(calc(100% - 8.4vw),calc(var(--hero-height)*2.25));max-width:none;height:100%;margin:0 auto;display:block}
.premium-enabled .premium-hero__copy{position:relative;z-index:2;width:40%;max-width:none;box-sizing:border-box;padding:0;padding-top:calc(var(--hero-height)*.075);margin:0}
.premium-hero__label{color:#30343c;font:600 clamp(10px,calc(var(--hero-height)*.016),30px)/1.3 Inter,Arial,sans-serif;letter-spacing:.29em;text-transform:uppercase;margin:0 0 calc(var(--hero-height)*.025)}
.premium-hero__label:before{content:"";display:block;width:calc(var(--hero-height)*.052);height:1px;background:#ad781d;margin-bottom:calc(var(--hero-height)*.017)}
.premium-hero__title{color:#222831;font:600 clamp(38px,calc(var(--hero-height)*.073),144px)/1.04 Georgia,'Times New Roman',serif;letter-spacing:-.035em;margin:0 0 calc(var(--hero-height)*.045)}
.premium-hero__first-line{display:block;white-space:nowrap}
.premium-hero__underline{position:relative;white-space:nowrap}
.premium-hero__underline:after{content:"";position:absolute;height:.13em;left:29%;right:-3%;bottom:-.17em;border-top:.075em solid #c58b16;border-radius:50%;transform:rotate(-2deg)}
.premium-hero__description{color:#53565c;font:400 clamp(16px,calc(var(--hero-height)*.027),52px)/1.4 Inter,Arial,sans-serif;max-width:88%;margin:0 0 calc(var(--hero-height)*.036)}
.premium-enabled .premium-hero__benefits{display:flex;flex-wrap:nowrap;gap:0;padding:0;margin:0 0 calc(var(--hero-height)*.041);list-style:none;color:#292e36;font:500 clamp(11px,calc(var(--hero-height)*.018),35px)/1.25 Inter,Arial,sans-serif}
.premium-hero__benefits li{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 calc(var(--hero-height)*.022);border-left:1px solid #d8cbbb;gap:calc(var(--hero-height)*.012)}
.premium-hero__benefits li:first-child{padding-left:0;border-left:0}
.premium-hero__benefits svg{width:calc(var(--hero-height)*.052);height:calc(var(--hero-height)*.052);color:#bd820d;flex-shrink:0}
.premium-hero__benefits span{color:inherit;margin:0;line-height:1.25}
.premium-hero__actions{display:flex;flex-wrap:nowrap;gap:calc(var(--hero-height)*.021)}
.premium-hero__actions a{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:calc(var(--hero-height)*.067);padding:.9em 1.15em;border-radius:15px;font:600 clamp(12px,calc(var(--hero-height)*.020),39px)/1.2 Inter,Arial,sans-serif;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
.premium-hero__primary{background:linear-gradient(110deg,#d89a14,#aa750c);color:#fff;border:1px solid #ba820e;box-shadow:0 8px 22px #95650c24;gap:1em}
.premium-hero__primary:hover{background:#a8730c;color:#fff}
.premium-hero__secondary{color:#30343b;border:1px solid #716c64;background:transparent;font-weight:400!important}
.premium-hero__secondary:hover{background:#e8e0d5;color:#222831}
/* The width is a clipping window, not an image sizing constraint. The stage
   width stops growing on ultrawide screens; extra width stays background. */
.premium-enabled .premium-hero__visual{display:block;position:absolute;z-index:1;left:40%;top:0;bottom:0;width:60vw;max-width:none;margin:0;overflow:clip;pointer-events:none;translate:none;transform:none;background:transparent;border:0;box-shadow:none}
.premium-enabled .premium-hero__visual img{display:block;position:absolute;left:0;bottom:8px;height:90%;width:auto;max-width:none;min-height:0;aspect-ratio:1195/965;object-fit:fill;transform:none;translate:none;mix-blend-mode:normal;mask-image:none;border:0;box-shadow:none}
.premium-enabled .frame-dots{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;justify-content:flex-end;align-items:center;gap:18px;height:36px;z-index:4;pointer-events:none}
.premium-enabled .portraits-dots,.premium-enabled .premium-pause{pointer-events:auto}
.premium-enabled .portraits-dots{position:static;width:auto;margin:0;transform:none}
.premium-enabled .portraits-dots .slick-dots{position:static;display:flex!important;gap:4px;margin:0;padding:0}
.premium-enabled .portraits-dots li,.premium-enabled .portraits-dots li.slick-active{background:none;border:0;flex-shrink:0}
.premium-enabled .portraits-dots .slick-dots li{margin:0;width:28px;height:36px;display:flex;align-items:center;justify-content:center}
.premium-enabled .portraits-dots .slick-dots button{display:block;width:24px;height:24px;padding:0;background:#fff;border:1px solid #746d62;border-radius:50%;font-size:0;box-sizing:border-box;cursor:pointer}
.premium-enabled .portraits-dots .slick-dots button:before{display:none}
.premium-enabled .portraits-dots .slick-active button{background:#95650c;border-color:#95650c}
.premium-enabled .premium-pause{border:1px solid #8b847a;background:#fff9;color:#30343b;border-radius:7px;min-height:36px;padding:6px 12px;font:500 12px/1.5 Inter,Arial,sans-serif;cursor:pointer}
.premium-enabled .portraits-arrow{display:flex!important;pointer-events:none}
.premium-enabled .portraits-arrow a{pointer-events:auto;background:#fffc;color:#4c463d;border:1px solid #d3c8b8}
.premium-enabled a:focus-visible,.premium-enabled button:focus-visible{outline:3px solid #704b06;outline-offset:4px}
.premium-enabled + .ellipse{pointer-events:none}.premium-enabled + .ellipse a{pointer-events:auto}
/* Flow layout below 1200px: copy is never squeezed to fit the first viewport. */
@media(max-width:1199px){
 .premium-enabled{--hero-header:108px;--hero-height:calc(var(--hero-copy-height,460px) + min(82vw,680px) + 28px);--hero-flow-top:71px}
 .premium-enabled .premium-hero__inner{width:100%;display:flex;flex-direction:column}
 .premium-enabled .premium-hero__copy{flex:0 0 auto;width:100%;max-width:720px;padding:24px 32px 0;margin:0 auto}
 .premium-hero__label{font-size:12px;margin-bottom:18px}.premium-hero__label:before{width:44px;margin-bottom:12px}
 .premium-hero__title{font-size:52px;margin-bottom:32px}
 .premium-hero__description{font-size:20px;max-width:540px;margin-bottom:24px}
 .premium-enabled .premium-hero__benefits{font-size:14px;margin-bottom:26px}.premium-hero__benefits li{padding:0 24px;gap:10px}.premium-hero__benefits svg{width:40px;height:40px}
 .premium-hero__actions{gap:14px}.premium-hero__actions a{min-height:52px;font-size:16px;padding:14px 22px}
 .premium-enabled .premium-hero__visual{position:relative;left:auto;top:auto;bottom:auto;flex:0 0 auto;width:100%;height:min(82vw,680px);margin:28px 0 0}
 .premium-enabled .premium-hero__visual img{height:100%;bottom:0;left:max(0px,calc((100% - 842px)/2))}
 .premium-enabled .frame-dots{width:calc(100% - 100px);justify-content:center;gap:12px;padding:0}
 .premium-enabled .portraits-arrow{top:auto;bottom:8px;transform:none;justify-content:space-between;padding:0 10px;box-sizing:border-box;height:36px;align-items:center}
 .premium-enabled .portraits-arrow a{display:flex;align-items:center;justify-content:center;width:34px;height:36px;transform:none;margin:0;font-size:12px}
}
@media(max-width:768px){.premium-enabled{--hero-flow-top:50px}}
@media(max-width:700px){
 .premium-enabled{--hero-header:90px;--hero-copy-height:410px}
 .premium-enabled .premium-hero__copy{padding:22px 22px 0}
 .premium-hero__label{font-size:10px;letter-spacing:.2em;margin-bottom:16px}.premium-hero__label:before{display:none}
 .premium-hero__title{font-size:clamp(33px,9.5vw,43px);margin-bottom:30px}
 .premium-hero__description{font-size:15px;line-height:1.4;max-width:100%;margin-bottom:22px}
 .premium-enabled .premium-hero__benefits{font-size:11px;margin-bottom:24px}.premium-hero__benefits li{padding:0 15px;gap:8px}.premium-hero__benefits svg{width:33px;height:33px}
 .premium-hero__actions{gap:10px}.premium-hero__actions a{min-height:50px;font-size:12px;padding:12px 14px;border-radius:11px}
 .premium-enabled .frame-dots{width:calc(100% - 100px)}
 .premium-enabled .portraits-slide:not(.premium-hero) .portraits-bg{height:74%;top:auto;bottom:0;object-fit:contain;object-position:center bottom}
}
@media(prefers-reduced-motion:reduce){.premium-enabled *{scroll-behavior:auto!important;transition:none!important}}

/* The scene extends beneath the original overlay header. Its safe space belongs
   only to the premium content, never to the legacy banner image viewport. */
body:has(.premium-enabled) .vz-art.vz-header:not(.is-fixed){background:transparent;box-shadow:none}

/* Approved desktop premium scale and offset; legacy backgrounds fill the
   same scene through its existing curved lower boundary. */
@media(min-width:1200px){
 .premium-enabled{height:max(calc(var(--hero-header) + var(--hero-height) + var(--hero-controls)),calc(var(--hero-height)*1.125 + var(--hero-controls) + 24px));min-height:calc(100vw * .444)}
 .premium-enabled .premium-hero__visual{left:calc(40% - var(--hero-height)*.139313 + 100px);top:calc(0px - var(--hero-header));width:calc(60vw + var(--hero-height)*.278626)}
 .premium-enabled .premium-hero__visual img{height:calc(var(--hero-height)*1.125)}
 .premium-enabled .portraits-slide:not(.premium-hero){background:#fff}
 .premium-enabled .portraits-slide:not(.premium-hero) .portraits-bg{top:0;bottom:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:60% top}
}
/* Keep navigation in the first viewport, then let it scroll with the hero. */
.premium-enabled .frame-dots{top:calc(min(100%,calc(100svh - var(--hero-flow-top))) - 48px - env(safe-area-inset-bottom,0px));bottom:auto;z-index:100}
@media(max-width:1199px){
 .premium-hero__first-line{white-space:normal}
 .premium-enabled .portraits-arrow{top:calc(min(100%,calc(100svh - var(--hero-flow-top))) - 48px - env(safe-area-inset-bottom,0px));bottom:auto;z-index:100}
}
/* Separate tablet navigation from the fixed reviews widget. */
@media(min-width:701px) and (max-width:1199px){.premium-enabled .frame-dots{width:calc(100% - 120px);justify-content:flex-end}}
