/* Landing composition. Each motion layer owns its transform. */
.hero.landing{background:#f6f0e7;padding:30px 0 36px;min-height:0;overflow:hidden}
.landing .hero-layout{grid-template-columns:1fr 1.04fr;gap:46px;min-height:510px}
.landing .hero-copy{animation:none;padding:24px 0}
.landing .hero-copy h1{font-size:clamp(43px,4.65vw,65px);max-width:none;margin:0 0 24px;line-height:1.08}
.landing .headline-line{display:block;overflow:hidden;padding-bottom:5px;margin-bottom:-5px}
.landing .headline-line>span{display:block}
.landing .hero-copy>p:not(.eyebrow){max-width:37ch;font-size:14px}
.landing .hero-note{margin-top:24px}
.landing-scene{position:relative;isolation:isolate;aspect-ratio:1.06;min-width:0;width:100%;max-width:560px;justify-self:end}
.landing-backdrop{position:absolute;inset:0 0 2% 9%;background:radial-gradient(ellipse at 50% 40%,#c83552 0%,#9d1437 46%,#700d2c 100%);border-radius:42% 42% 24px 24px;overflow:hidden;box-shadow:inset 0 0 80px #3f031640}
.landing-backdrop::after{content:"";position:absolute;inset:15px;border:1px solid #f8d7b931;border-radius:inherit}
.landing-brandmark{position:absolute;width:44%;height:82%;object-fit:contain;right:-9%;top:8%;opacity:.26;filter:brightness(1.7)}
.landing-label{position:absolute;left:20%;top:8%;color:#f2d7c4;font-size:9px;letter-spacing:.22em;text-transform:uppercase;z-index:2}
.landing-parallax{position:absolute;inset:0;transform:translate(var(--pointer-x,0px),var(--pointer-y,0px));transition:transform .65s ease-out}
.landing-tray-entry{position:absolute;width:79%;left:15%;top:14%;z-index:2}
.landing-tray-float{animation:landingFloat 7s ease-in-out infinite}
.landing-tray-image{display:block;width:100%;height:auto;transform:rotate(-9deg);filter:drop-shadow(0 22px 18px #37020e70)}
.landing-plate-entry{position:absolute;width:31%;left:-6%;bottom:-1%;z-index:3}
.landing-plate-float{animation:landingPlateFloat 6s ease-in-out .4s infinite}
.landing-plate-image{width:100%;height:auto;transform:rotate(-15deg);filter:drop-shadow(6px 18px 13px #37201535)}
.landing-caption{position:absolute;right:4%;bottom:7%;z-index:4;color:#fff5e5;text-align:right;max-width:150px;font-family:var(--serif);font-size:24px;line-height:1.15;transform:rotate(-5deg)}
.landing-caption small{display:block;font-family:var(--sans);font-size:8px;text-transform:uppercase;letter-spacing:.14em;margin-top:7px;color:#f1b6c2}
.landing-spark{position:absolute;z-index:5;width:18px;height:18px;left:9%;top:22%;color:#c39865;animation:landingGlimmer 5s ease-in-out infinite}
.landing-spark::before,.landing-spark::after{content:"";position:absolute;background:currentColor;border-radius:100%}.landing-spark::before{width:2px;height:100%;left:calc(50% - 1px)}.landing-spark::after{height:2px;width:100%;top:calc(50% - 1px)}
.landing-spark.second{left:auto;right:2%;top:42%;width:13px;height:13px;color:#f1d9b4;animation-delay:1.6s}
.landing-motion{display:flex;align-items:center;gap:7px;position:absolute;bottom:8px;left:31%;z-index:6;min-height:36px;padding:8px 11px;border-radius:30px;color:#735c53;font-size:9px;letter-spacing:.03em;background:#f6f0e7e8;border:1px solid #dfd0c3}
.landing-motion svg{width:10px;height:10px;fill:currentColor}
.landing-motion .play-icon{display:none}.landing.motion-paused .pause-icon{display:none}.landing.motion-paused .play-icon{display:block}
.landing.is-entering .hero-copy .eyebrow{animation:landingFade .8s .05s both}
.landing.is-entering .headline-line:nth-child(1)>span{animation:landingLine 1.1s .13s cubic-bezier(.16,1,.3,1) both}
.landing.is-entering .headline-line:nth-child(2)>span{animation:landingLine 1.1s .3s cubic-bezier(.16,1,.3,1) both}
.landing.is-entering .headline-line:nth-child(3)>span{animation:landingLine 1.1s .47s cubic-bezier(.16,1,.3,1) both}
.landing.is-entering .landing-description{animation:landingFade .9s .5s both}
.landing.is-entering .hero-actions{animation:landingFade .9s .68s both}
.landing.is-entering .hero-note{animation:landingFade .9s .82s both}
.landing.is-entering .landing-backdrop{animation:landingStage 1.3s cubic-bezier(.16,1,.3,1) both}
.landing.is-entering .landing-tray-entry{animation:landingTray 1.8s .12s cubic-bezier(.16,1,.3,1) both}
.landing.is-entering .landing-plate-entry{animation:landingPlate 1.5s .4s cubic-bezier(.16,1,.3,1) both}
.landing.is-entering .landing-caption,.landing.is-entering .landing-label{animation:landingFade 1s .85s both}
.landing.motion-paused .landing-tray-float,.landing.motion-paused .landing-plate-float,.landing.motion-paused .landing-spark,.landing.motion-offscreen *{animation-play-state:paused!important}
.landing.motion-paused .landing-parallax{transform:none}
@keyframes landingLine{from{transform:translateY(112%);opacity:.25}to{transform:translateY(0);opacity:1}}
@keyframes landingFade{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes landingStage{from{clip-path:inset(0 0 100% 0);transform:translateY(20px)}to{clip-path:inset(0 0 0 0);transform:none}}
@keyframes landingTray{from{opacity:0;transform:translate(70px,65px) rotate(24deg) scale(.72)}to{opacity:1;transform:none}}
@keyframes landingPlate{from{opacity:0;transform:translate(-65px,50px) rotate(-16deg)}to{opacity:1;transform:none}}
@keyframes landingFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-13px) rotate(2.8deg)}}
@keyframes landingPlateFloat{0%,100%{transform:translateY(-4px) rotate(0)}50%{transform:translateY(7px) rotate(-3deg)}}
@keyframes landingGlimmer{0%,100%{transform:scale(.85) rotate(0);opacity:.5}50%{transform:scale(1.12) rotate(45deg);opacity:1}}
@media(min-width:1500px){.landing .hero-layout{min-height:520px}.hero.landing{padding:30px 0 38px}}
@media(max-width:1100px){.landing .hero-layout{gap:30px}.landing .hero-copy h1{font-size:53px}.landing-caption{font-size:21px}.landing-label{font-size:8px}}
@media(max-width:900px){.landing .hero-layout{min-height:450px;gap:24px}.landing .hero-copy h1{font-size:44px}.landing .hero-copy>p:not(.eyebrow){font-size:13px}.landing .hero-copy .eyebrow{font-size:9px}.landing-caption{font-size:18px;bottom:8%}.landing-label{letter-spacing:.1em;font-size:7px}.landing-motion{left:32%;font-size:8px;bottom:0}.landing-scene{aspect-ratio:.94}.landing-tray-entry{top:20%;width:85%;left:10%}.landing-plate-entry{bottom:1%;width:35%;left:-8%}.landing-backdrop{inset:0 0 2% 5%}}
@media(max-width:600px){.hero.landing{padding:26px 0 24px}.landing .hero-layout{grid-template-columns:1fr;gap:20px;min-height:0}.landing .hero-copy{padding:0}.landing .hero-copy h1{font-size:43px;line-height:1.05;margin-bottom:17px}.landing .headline-line{display:inline;overflow:visible;padding:0;margin:0}.landing .headline-line>span{display:inline-block}.landing .headline-line:first-child{display:block}.landing .headline-line:nth-child(2)>span{margin-right:.17em}.landing .hero-copy>p:not(.eyebrow){font-size:12px;margin-bottom:18px;max-width:42ch}.landing .hero-note{display:none}.landing .hero-actions .btn{font-size:11px;padding:12px 17px}.landing-scene{width:min(100%,335px);justify-self:center;aspect-ratio:1.16;max-width:none}.landing-backdrop{inset:0 0 2% 8%;border-radius:42% 42% 20px 20px}.landing-tray-entry{width:69%;left:25%;top:12%}.landing-plate-entry{width:31%;left:-1%;bottom:1%}.landing-caption{font-size:18px;bottom:11%;right:7%;max-width:98px}.landing-caption small{font-size:6px}.landing-label{left:23%;top:7%;font-size:6px;letter-spacing:.14em}.landing-motion{left:34%;bottom:-8px;font-size:8px;min-height:34px}.landing-spark{left:9%;top:24%;width:14px;height:14px}.landing-spark.second{right:2%;top:39%;width:10px;height:10px}}
@media(prefers-reduced-motion:reduce){.landing *,.landing *::before,.landing *::after{animation:none!important;transition:none!important}.landing .landing-parallax{transform:none!important}.landing .landing-motion{display:none}.landing .headline-line>span,.landing .hero-actions,.landing .hero-note,.landing .landing-tray-entry,.landing .landing-plate-entry,.landing .landing-caption,.landing .landing-label,.landing .landing-backdrop{opacity:1!important;transform:none!important;clip-path:none!important}}
/* Leave a clear caption area beneath the tray at every size. */
@media(min-width:901px){.landing-tray-entry{width:66%;left:25%;top:12%}.landing-label{left:29%;top:8%}.landing-caption{font-size:21px;bottom:5%;right:5%}}
@media(min-width:601px) and (max-width:900px){.landing-tray-entry{width:72%;left:22%;top:15%}.landing-caption{font-size:17px;bottom:8%;right:5%}}
@media(max-width:600px){.landing-tray-entry{width:56%;left:35%;top:12%}.landing-label{left:29%;top:7%}.landing-caption{font-size:16px;bottom:6%;right:6%;max-width:150px}.landing-caption small{font-size:6px;margin-top:4px}}
.landing-motion{min-height:44px}
