/* The original supplied flower is the aperture; the photograph stays still. */
.hero-transition{--emblem-size:100px;position:relative;background:var(--sage)}
.hero-stage{position:relative;min-height:100svh;isolation:isolate;overflow:hidden}
.hero-scene{position:relative;height:100svh;min-height:100svh;background:#141A13;padding:0;isolation:isolate}
.hero-scene>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 35%;z-index:0}
.hero-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(0,0,0,.66));pointer-events:none;z-index:1}
.hero-caption{position:absolute;z-index:2;left:var(--gutter);right:var(--gutter);bottom:max(36px,env(safe-area-inset-bottom));max-width:480px;color:var(--paper)}
.hero-caption p{font-size:15px;line-height:1.5;margin:14px 0 20px}
.hero-intro{position:absolute;inset:0;z-index:3;text-align:center;pointer-events:none;color:var(--ink)}
.hero-intro h2{position:absolute;top:22%;width:100%;margin:0;font-family:'LANCRET Horizontal Dashes','LANCRET Horizontal Dashes',Henry,serif;font-weight:400;font-size:clamp(30px,4vw,60px);line-height:1.1}
.hero-intro h2 em{font-weight:400}
.hero-scroll{position:absolute;bottom:12%;left:50%;transform:translateX(-50%);pointer-events:auto;font:inherit;font-size:12px;letter-spacing:.08em;white-space:nowrap}
.hero-scroll span{display:block;margin-top:18px;font-size:22px}
.hero-emblem{position:absolute;z-index:2;top:50%;left:50%;width:var(--emblem-size);height:var(--emblem-size);color:var(--ink);pointer-events:none;transform:translate(-50%,-50%) scale(var(--portal-scale,1));opacity:var(--emblem-opacity,1)}
.hero-motion-ready{height:280svh}
.hero-motion-ready .hero-stage{position:sticky;top:0;height:100svh;min-height:0}
.hero-motion-ready .hero-portal{position:absolute;inset:0;width:100%;height:100%;mask:url('assets/lancret-flower-supplied-v30.svg') center/var(--aperture-size,100px) var(--aperture-size,100px) no-repeat;-webkit-mask:url('assets/lancret-flower-supplied-v30.svg') center/var(--aperture-size,100px) var(--aperture-size,100px) no-repeat;opacity:var(--film-opacity,0)}
.hero-motion-ready .hero-scene{position:absolute;inset:0;width:100%;height:100%;min-height:0}
.hero-emblem .brand-shell{mask-image:url('assets/lancret-flower-supplied-v30.svg');-webkit-mask-image:url('assets/lancret-flower-supplied-v30.svg')}
.hero-motion-ready .hero-intro{opacity:var(--intro-opacity,1)}
.hero-motion-ready.hero-revealed .hero-portal{inset:0;width:100%;height:100%;transform:none;mask:none;-webkit-mask:none;opacity:1}
.hero-motion-ready.hero-revealed .hero-scene{inset:0;transform:none}
.campaign-section{padding-top:0!important}
.campaign-grid{grid-template-columns:1fr}
.campaign-grid .framed-card{height:auto!important;min-height:620px;aspect-ratio:auto!important;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:72px var(--gutter);gap:8vw}
.campaign-grid .framed-art{position:relative!important;inset:auto!important;transform:none!important;width:min(100%,400px)!important;justify-self:center;max-width:100%;margin:0}
.campaign-grid .framed-card .media-caption{position:static;max-width:400px;width:auto;padding:0}
@media(max-width:1050px){
.hero-transition{--emblem-size:86px}
.hero-motion-ready{height:240svh}
.hero-scene>img{object-position:50% 35%}
.hero-caption{left:20px;right:20px;bottom:max(28px,env(safe-area-inset-bottom));max-width:480px}
.hero-caption p{font-size:14px;line-height:1.4;margin:10px 0 16px}
.hero-caption .text-link{font-size:13px}
.hero-intro h2{top:25%}
.campaign-grid .framed-card{min-height:0;grid-template-columns:1fr;padding:40px 20px;gap:28px}
.campaign-grid .framed-art{width:min(76%,400px)!important}
.campaign-grid .framed-card .media-caption{justify-self:center;max-width:100%;margin:0}
}
@media(max-height:500px){.hero-caption{bottom:20px;max-width:420px}.hero-caption p{margin:8px 0;font-size:13px}}

/* v36: mirrored botanical repeat; the aperture remains a separate upper layer. */
.hero-motion-ready .hero-stage{background-color:#152e25;background-image:linear-gradient(rgba(12,31,24,.62),rgba(12,31,24,.62)),url('assets/botanical-repeat-v36.svg');background-repeat:repeat;background-size:auto,1120px 1120px;background-position:center}
.hero-motion-ready .hero-intro,.hero-motion-ready .hero-emblem{color:#d6bea0}
.hero-motion-ready .hero-intro h2,.hero-motion-ready .hero-scroll{text-shadow:0 2px 18px rgba(0,0,0,.5)}
@media(max-width:750px){.hero-motion-ready .hero-stage{background-size:auto,760px 760px}}
