/* Art direction from Artur's approved reference; separate figure/background. */
.opening{background:#61172f url("assets/hero-background.png") center top/cover no-repeat}
.opening:after{display:none}
.hero{grid-template-columns:45% 55%;min-height:720px;padding-top:20px;align-items:start}
.portrait{mask-image:none;width:108%;max-width:none;height:720px;aspect-ratio:auto;margin:0 0 0 -4%;align-self:end;overflow:hidden}
.portrait img{position:static;width:100%;height:auto;max-width:100%;object-fit:contain}
.hero-content{padding:32px 0 25px 8px}
.hero h1{font-size:clamp(3.5rem,6.7vw,6.4rem);letter-spacing:-.065em;line-height:.97;font-weight:750;margin-bottom:30px}
.hero .eyebrow{font-size:.62rem;margin-bottom:14px}
.hero-lead{display:none}
.hero .actions{flex-wrap:nowrap;gap:24px}
.hero .button{flex:1;min-height:64px;border-radius:28px;font-size:.95rem;padding:15px 19px}
.primary{background:linear-gradient(105deg,#e50059,#ff4323 75%,#ff8218);text-shadow:0 1px 3px #762005}
.hero-product{width:76%;max-width:440px;margin:42px 12px 0 auto;transform:none}
.product-crop{aspect-ratio:425/260}
.product-caption{font-size:.67rem}
.hero-bottom{background:transparent}
.about-photo{float:left;width:150px;height:205px;object-fit:cover;object-position:50% 22%;border-radius:90px 90px 18px 18px;margin:0 30px 25px 0}
.about>div:first-child h2{font-size:clamp(2.2rem,3.4vw,3.4rem)}
.packshot{display:flex;height:180px;align-items:center;justify-content:center;background:white;border-radius:14px;margin:-10px -10px 24px;padding:8px}
.packshot>span{position:relative;display:block;overflow:hidden;width:auto;height:100%;max-width:100%}
.product-card .eyebrow{margin-bottom:12px}
.product-card{min-height:410px}
.product-card:not(:has(.packshot)){justify-content:center}
dialog .packshot{height:200px;margin:20px 0}
.video-shell{border-radius:20px;overflow:hidden;background:#321126;color:white;margin:22px 0 12px}
.video-consent{min-height:320px;padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.video-consent p{font-size:.88rem;max-width:52ch}
.video-play{font-size:2.4rem;display:grid;place-items:center;width:76px;height:76px;border:1px solid #f399b7;border-radius:50%;margin-bottom:18px;color:#ffbcad}
#video-frame{aspect-ratio:16/9}
#video-frame iframe{display:block;width:100%;height:100%;border:0}
.opinions{grid-template-columns:.75fr 1.25fr;gap:60px}
@media(min-width:1500px){.portrait{height:790px}.hero{min-height:790px}}
@media(min-width:651px) and (max-width:1000px){.hero{min-height:590px}.portrait{height:570px;width:116%;margin-left:-8%}.hero-content{padding-top:25px}.hero h1{font-size:6.4vw}.hero .actions{gap:10px}.hero .button{font-size:.75rem;padding:12px 8px;min-height:54px}.hero-product{width:85%;margin-top:30px}.opinions{gap:30px;grid-template-columns:1fr 1.2fr}}
@media(max-width:650px){.opening{background-position:35% top;background-size:auto 100%}.hero{display:flex;min-height:0;padding-top:15px}.hero-content{display:contents}.hero h1{font-size:clamp(2.7rem,12vw,4.5rem);line-height:.98;margin-bottom:25px}.hero .eyebrow{font-size:.56rem}.hero .actions{gap:10px;display:grid}.hero .button{min-height:58px;font-size:.8rem;padding:12px 10px;border-radius:20px}.portrait{mask-image:none;width:100%;height:480px;margin:24px 0 0;max-width:360px;align-self:center}.portrait img{position:static;width:100%;height:auto}.hero-product{width:68%;margin:-80px 0 22px auto;max-width:300px}.about-photo{width:105px;height:155px;margin-right:20px}.about>div:first-child h2{font-size:2.2rem}.packshot{height:125px;margin:0 -8px 18px;padding:3px}.product-card{min-height:360px;padding:18px}.opinions{grid-template-columns:1fr;gap:25px}.video-consent{padding:22px;min-height:340px}.video-consent .button{font-size:.8rem}.hero-bottom p{font-size:.48rem}}

/* Second visual pass: larger figure and editorial source materials. */
.portrait img{transform:scale(1.2);transform-origin:50% 0}
.testimonial{margin:35px 0 0;background:white;border:1px solid var(--line);border-radius:20px;padding:18px}
.testimonial img{width:100%;max-height:640px;object-fit:contain}
.testimonial figcaption{font-size:.78rem;line-height:1.6;color:var(--muted);margin-top:15px}
.contact-portrait{width:130px;height:150px;object-fit:cover;object-position:center 25%;border-radius:65px 65px 20px 20px;float:left;margin:25px 24px 25px 0}
@media(max-width:650px){.portrait img{transform:translateY(-20px) scale(1.1);transform-origin:50% 0}.testimonial{margin-top:25px}.testimonial img{max-height:450px}}
.brand-crop{isolation:auto;mix-blend-mode:screen}.brand-crop img{mix-blend-mode:normal}
.site-header{z-index:auto}.site-header nav{z-index:20}.menu-toggle{position:relative;z-index:21}
.text-link{color:inherit}.primary{background:linear-gradient(105deg,#d00050,#c92c22 60%,#ff7816)}
@media(min-width:1001px){.portrait{overflow:visible;clip-path:inset(-200px -40px 0 -40px)}.portrait img{transform:translateY(-70px) scale(1.2)}}
@media(max-width:650px){.portrait img{transform:none}.portrait{height:510px}.hero-product{margin-top:-90px}}
.packshot>span{height:auto;width:100%;max-width:240px;flex-shrink:1}.packshot img{height:auto}
dialog .packshot{height:auto;min-height:160px;padding:15px;--photo-height:200px}
@media(max-width:650px){.packshot{--photo-height:110px}dialog .packshot{--photo-height:190px}}
