/* Full-bleed winter tile hero shared by the English and Spanish homepages. */
.hero.home-hero{position:relative;isolation:isolate;display:grid;place-items:center;height:calc(100svh - 113px);min-height:530px;padding:0;overflow:hidden;perspective:1100px;background:#302d29;color:var(--paper)}
.home-hero-scene{position:absolute;inset:-9%;transform-style:preserve-3d;transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0) rotateX(var(--hero-tilt-x,0deg)) rotateY(var(--hero-tilt-y,0deg)) scale(1.04);will-change:transform;transition:transform 180ms cubic-bezier(.2,.7,.2,1)}
.home-hero-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 52%;opacity:0;transition:opacity 1800ms cubic-bezier(.22,.61,.36,1);will-change:opacity}
.home-hero-photo.is-active{opacity:1}
.home-hero-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(18,19,22,.24),rgba(18,19,22,.52) 50%,rgba(18,19,22,.24)),linear-gradient(0deg,rgba(16,17,18,.35),transparent 28%,rgba(16,17,18,.17))}
.home-hero-center{position:relative;z-index:2;display:grid;place-items:center;width:100%;height:100%;padding:clamp(30px,7vw,104px);text-align:center;transform:translateZ(34px)}
.home-hero-content{width:min(100%,1050px);margin:0 auto}
.home-hero-kicker{margin:0 0 clamp(13px,2.5vh,24px);color:#f7e8d5;font-size:clamp(11px,1vw,14px);letter-spacing:.22em;text-transform:uppercase;text-shadow:0 2px 18px #0008}
.hero.home-hero h1{width:100%;max-width:none;margin:0;color:#fffaf2;font-size:clamp(48px,8.4vw,116px);font-weight:500;line-height:.98;letter-spacing:-.055em;text-wrap:balance;text-shadow:0 3px 28px rgba(0,0,0,.24)}
.home-hero-title-line{display:block}
.home-hero-letter{display:inline-block;transform-origin:50% 100%}
.home-hero-tile{display:inline-block;margin:0;padding:0;color:#fffaf2;font-style:italic;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:.065em;text-underline-offset:.11em;text-shadow:0 2px 16px #361b18a8}
.home-hero-description{margin:clamp(16px,2.4vh,27px) auto 0;color:rgba(255,250,241,.95);font-size:clamp(15px,1.7vw,21px);line-height:1.4;text-shadow:0 2px 14px #0009}
.home-hero-actions{display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap;margin-top:clamp(22px,3vh,34px)}
.home-hero-actions .button{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.home-hero-actions .button:hover{background:#eee7da}
.home-hero-actions .text-link{border-color:rgba(255,250,242,.8);color:#fffaf2}
.home-hero-replay{position:absolute;z-index:4;top:clamp(18px,3vw,34px);right:clamp(18px,3vw,38px);display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 15px;border:1px solid rgba(255,255,255,.62);border-radius:2px;background:rgba(23,23,22,.2);color:#fffaf2;font:400 13px/1 Karla,Arial,sans-serif;letter-spacing:.035em;backdrop-filter:blur(8px);transition:background 180ms ease,border-color 180ms ease,transform 180ms ease}
.home-hero-replay:hover{transform:translateY(-1px);border-color:#fff;background:rgba(23,23,22,.48)}
.home-hero-replay:focus-visible{outline:3px solid #fff;outline-offset:4px}
.home-hero-replay svg{width:15px;height:15px;transition:transform 500ms cubic-bezier(.2,.7,.2,1)}
.home-hero-replay:hover svg{transform:rotate(-45deg)}
.home-hero-content.is-entering .home-hero-letter{animation:home-hero-letter-in 760ms cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--letter-index)*25ms)}
.home-hero-content.is-entering .home-hero-kicker,.home-hero-content.is-entering .home-hero-description,.home-hero-content.is-entering .home-hero-actions{animation:home-hero-soft-in 650ms cubic-bezier(.16,1,.3,1) both;animation-delay:520ms}
.home-hero-content.is-floating{animation:home-hero-float 6.5s ease-in-out infinite}
.hero.home-hero.is-arriving .home-hero-scene{animation:home-hero-image-in 1350ms cubic-bezier(.16,1,.3,1) both}
@keyframes home-hero-letter-in{0%{opacity:0;filter:blur(7px);transform:translateY(.48em) rotateX(-72deg)}72%{opacity:1;filter:blur(0)}100%{opacity:1;filter:blur(0);transform:translateY(0) rotateX(0)}}
@keyframes home-hero-soft-in{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}
@keyframes home-hero-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes home-hero-image-in{0%{clip-path:inset(7% 5%);filter:brightness(.72)}100%{clip-path:inset(0);filter:brightness(1)}}
body[data-motion="paused"] .home-hero-content.is-floating{animation-play-state:paused}
@media(max-width:800px){.hero.home-hero{height:calc(100svh - 99px);min-height:520px}.hero.home-hero .home-hero-center{padding:76px 24px}.hero.home-hero h1{font-size:clamp(46px,9.2vw,76px)}.home-hero-scene{inset:-8% -5%}.home-hero-kicker{letter-spacing:.17em}}
@media(max-width:600px){.hero.home-hero{height:calc(100svh - 158px);min-height:470px}.hero.home-hero .home-hero-center{padding:74px 20px}.hero.home-hero h1{font-size:clamp(43px,11.4vw,65px);line-height:1.01}.home-hero-scene{inset:-7% -18%}.home-hero-photo{object-position:center center}.home-hero-shade{background:linear-gradient(0deg,rgba(16,17,18,.5),rgba(16,17,18,.32) 48%,rgba(16,17,18,.2))}.home-hero-actions{gap:14px;margin-top:22px}.home-hero-actions .button{font-size:14px;min-height:50px;padding:13px 16px}.home-hero-actions .text-link{font-size:14px;gap:9px}.home-hero-replay{top:14px;right:14px;min-height:42px}}
@media(prefers-reduced-motion:reduce){.home-hero-scene,.home-hero-photo,.home-hero-content,.home-hero-letter,.home-hero-replay,.home-hero-replay svg{animation:none!important;transition:none!important;transform:none!important;filter:none!important}.home-hero-photo.is-active{opacity:1}.home-hero-photo:not(.is-active){opacity:0}}
