/* Video first. The story arrives with the visitor's scroll. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.home-page .announcement{display:none}
.hero-sequence{height:230svh;position:relative;background:#384126;--title-in:0;--second-in:0;--details-in:0;--scene-shade:0;--scene-blur:0px;--cue-opacity:1}
.hero-cinema{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate;color:var(--paper)}
.hero-media{position:absolute;inset:-10px;z-index:-3;filter:blur(var(--scene-blur));transform:scale(1.015)}
.hero-media video,.cinema-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 54%}
.hero-media video{display:block}
.cinema-shade{position:absolute;inset:0;background:#151b0d;opacity:var(--scene-shade);z-index:-1}
.hero-story{position:absolute;inset:100px 32px 28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.hero-kicker{font-size:10px;letter-spacing:.23em;margin-bottom:20px;opacity:var(--title-in);transform:translateY(calc((1 - var(--title-in))*18px));color:#f7f3e4}
.hero-story h1{font-size:clamp(72px,9.2vw,154px);font-weight:800;letter-spacing:-.068em;line-height:.91;margin:0 0 30px}
.hero-story h1>span{display:block;opacity:var(--title-in);transform:translateY(calc((1 - var(--title-in))*40px));will-change:opacity,transform}
.hero-story h1>span+span{color:var(--orange);opacity:var(--second-in);transform:translateY(calc((1 - var(--second-in))*40px))}
.hero-story-copy{width:min(450px,100%);font-size:clamp(17px,1.4vw,19px);line-height:1.55;color:var(--paper);margin:0;visibility:hidden}
.hero-story-copy.copy-visible{visibility:visible}
.strip-visual{display:block;text-wrap:balance}
.strip-line{display:table;position:relative;margin-inline:auto;white-space:nowrap;clip-path:inset(0 100% 0 0);opacity:0}
.strip-block{position:absolute;inset:0;background:var(--orange);transform-origin:right center;z-index:1;pointer-events:none}
.strip-playing .strip-line{animation:strip-line-in .7s cubic-bezier(.76,0,.24,1) calc(var(--line-index)*.105s) both}
.strip-playing .strip-block{animation:strip-block-away .7s cubic-bezier(.76,0,.24,1) calc(.18s + var(--line-index)*.105s) both}
.strip-complete .strip-line{clip-path:none;opacity:1;animation:none}
.strip-complete .strip-block{transform:scaleX(0);animation:none}
@keyframes strip-line-in{from{opacity:1;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes strip-block-away{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.cinema-actions{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:28px;opacity:var(--details-in);transform:translateY(calc((1 - var(--details-in))*20px))}
.cinema-actions .button{min-height:56px;padding:17px 28px;font-size:13px}
.cinema-actions .text-link{color:var(--paper);font-size:12px;border-color:#faf6e96b;gap:24px}
.cinema-certifications{display:flex;justify-content:center;gap:28px;margin-top:34px;opacity:var(--details-in)}
.cinema-certifications .cert{font-size:9px;text-align:left;gap:8px;color:#faf6e9c9}
.cinema-certifications .cert svg{width:24px;height:28px;opacity:.7}
.cinema-certifications .cert span{font-size:6px;letter-spacing:.1em;color:#faf6e98c}
.scroll-cue{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);padding:15px 22px 0;border:0;background:transparent;color:white;display:flex;flex-direction:column;align-items:center;gap:16px;opacity:var(--cue-opacity);text-shadow:0 1px 9px #0006;z-index:2}
.scroll-cue>span{font-size:9px;letter-spacing:.24em;font-weight:600;white-space:nowrap}
.scroll-cue>i{position:relative;height:48px;width:1px;background:#fff5;overflow:hidden}
.scroll-cue b{position:absolute;inset:0;background:white;transform:translateY(-100%);animation:scroll-thread 2s cubic-bezier(.65,0,.35,1) infinite}
@keyframes scroll-thread{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}
/* Two identical groups make the join continuous at every screen size. */
.word-ribbon{padding:21px 0 25px;background:var(--orange);color:var(--deep);overflow:hidden;user-select:none}
.ribbon-track{display:flex;width:max-content;animation:ribbon-run var(--ribbon-duration,30s) linear infinite;will-change:transform}
.ribbon-group{display:flex;align-items:center;flex-shrink:0;gap:clamp(38px,5vw,90px);padding-right:clamp(38px,5vw,90px)}
.ribbon-group span{font:800 clamp(50px,7.4vw,118px)/.91 var(--heading);letter-spacing:-.065em;white-space:nowrap}
@keyframes ribbon-run{to{transform:translateX(-50%)}}
/* An open question, with no default selection. */
.goal-stage{padding:64px 0 112px;background:var(--paper)}
.goal-stage-top{display:flex;align-items:flex-start;justify-content:space-between;gap:30px}
.goal-stage-top>.eyebrow{padding-top:5px}
.goal-stage-top>p{font-size:13px;line-height:1.7;max-width:290px;text-align:left}
.goal-stage-center{text-align:center;padding:88px 0 28px}
.goal-stage-center h2{font-size:clamp(46px,6.7vw,100px);font-weight:550;line-height:1.06;letter-spacing:-.07em;animation:goal-float 9s ease-in-out infinite}
@keyframes goal-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.goal-buttons{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:50px}
.goal-launch{border:1px solid transparent;border-radius:100px;background:var(--orange);min-width:220px;padding:13px 14px 13px 27px;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:15px;font-weight:600;transition:background .3s,color .3s,transform .3s,box-shadow .3s}
.goal-launch i{font-size:24px;font-style:normal;font-weight:400;width:42px;height:42px;border:1px solid #31391f38;border-radius:50%;display:grid;place-items:center;transition:transform .3s,background .3s}
.goal-launch:hover{background:var(--green);color:var(--paper);transform:translateY(-4px);box-shadow:0 10px 28px #31391f17}
.goal-launch:hover i{transform:rotate(45deg);background:var(--orange);color:var(--deep);border-color:transparent}
.goal-launch:active{transform:translateY(-1px)}
/* Branded goal detail dialog; the native dialog supplies focus containment. */
dialog.goal-dialog{width:min(1000px,calc(100% - 48px));max-width:1000px;max-height:90svh;padding:0;border-radius:23px;background:var(--paper);overflow:auto}
dialog.goal-dialog[open]{animation:goal-dialog-in .45s cubic-bezier(.22,1,.36,1) both}
@keyframes goal-dialog-in{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
.goal-dialog::backdrop{background:#1d2518b8;backdrop-filter:blur(9px)}
.goal-dialog-brand{display:flex;align-items:center;gap:20px;padding:21px 32px;border-bottom:1px solid var(--line);height:77px}
.goal-dialog-brand>span{font:800 35px/.8 var(--heading);letter-spacing:-.08em}
.goal-dialog-brand>span>span{font-size:23px;font-weight:400;color:#8a9450;margin-left:2px;vertical-align:top}
.goal-dialog-brand small{font-size:8px;letter-spacing:.15em}
.goal-dialog .modal-close{right:20px;top:17px;background:transparent;border-color:var(--line)}
.goal-dialog .goal-card{border-radius:0;grid-template-columns:.95fr 1.05fr;background:var(--paper);min-height:450px}
.goal-dialog .goal-photo{min-height:450px}
.goal-dialog .goal-detail{padding:48px 42px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.goal-dialog .goal-detail .eyebrow{margin:0;font-size:9px}
.goal-dialog .goal-detail h2{font-size:clamp(33px,3.2vw,46px);line-height:1.1;letter-spacing:-.055em;margin:17px 0}
.goal-dialog .goal-detail p{font-size:14px;line-height:1.8;margin:0}
.goal-dialog .mini-tags{margin:23px 0 24px}
.goal-dialog .button{margin:0;font-size:12px}
.home-page .dish-section{padding-top:32px}
@media(min-width:1500px){.hero-story{top:110px}.hero-story h1{margin-bottom:35px}.hero-story-copy{width:510px}}
@media(max-height:740px) and (min-width:761px){.hero-story{inset:94px 30px 20px}.hero-story h1{font-size:min(10vw,110px);margin-bottom:20px}.hero-kicker{margin-bottom:14px}.hero-story-copy{font-size:15px;max-width:440px}.cinema-actions{margin-top:20px}.cinema-certifications{margin-top:24px}}
@media(max-width:900px){.goal-launch{min-width:190px;font-size:13px;padding-left:22px;gap:18px}.goal-buttons{gap:12px}.goal-stage-center{padding-top:80px}.goal-dialog .goal-detail{padding:32px}.goal-dialog .goal-photo{min-height:430px}}
@media(max-width:650px){
 .hero-sequence{height:225svh}.hero-story{inset:90px 24px 30px}.hero-kicker{font-size:7px;letter-spacing:.19em;margin-bottom:24px}
 .hero-story h1{font-size:clamp(65px,18.2vw,108px);line-height:.95;margin-bottom:28px}
 .hero-story-copy{font-size:15px;width:min(320px,100%);line-height:1.55}
 .cinema-actions{flex-direction:column;gap:13px;margin-top:25px}.cinema-actions .button{font-size:12px;padding:16px 25px;min-height:52px}.cinema-actions .text-link{font-size:11px;gap:25px;padding:8px 0}
 .cinema-certifications{gap:15px;margin-top:26px}.cinema-certifications .cert{font-size:7px;gap:5px}.cinema-certifications .cert svg{width:18px;height:21px}.cinema-certifications .cert span{font-size:5px;letter-spacing:.02em}
 .hero-media video,.cinema-poster{object-position:50% 50%}.scroll-cue{bottom:28px}.scroll-cue>span{font-size:8px}
 .word-ribbon{padding:15px 0 18px}.ribbon-group{gap:35px;padding-right:35px}.ribbon-group span{font-size:58px}
 .goal-stage{padding:37px 0 65px}.goal-stage-top{gap:16px}.goal-stage-top>.eyebrow{font-size:8px;max-width:90px;line-height:1.7}.goal-stage-top>p{font-size:10px;max-width:197px;line-height:1.7}
 .goal-stage-center{padding:67px 0 18px}.goal-stage-center h2{font-size:clamp(44px,10.7vw,66px);max-width:370px;margin:auto;line-height:1.05}.goal-buttons{flex-direction:column;gap:12px;margin-top:36px}.goal-launch{min-width:0;width:min(300px,100%);min-height:60px;padding:10px 12px 10px 25px;font-size:14px}.goal-launch i{width:38px;height:38px;font-size:22px}
 dialog.goal-dialog{width:calc(100% - 28px);max-height:92svh;border-radius:18px}.goal-dialog-brand{height:66px;padding:18px 23px;gap:14px}.goal-dialog-brand>span{font-size:30px}.goal-dialog-brand small{font-size:6px;max-width:90px;line-height:1.5}.goal-dialog .modal-close{top:14px;right:14px;width:36px;min-width:36px;min-height:36px;height:36px}
 .goal-dialog .goal-card{grid-template-columns:1fr}.goal-dialog .goal-photo{min-height:210px;height:210px}.goal-dialog .photo-label{left:18px;bottom:15px;font-size:8px;padding:8px 13px}.goal-dialog .goal-detail{padding:27px 25px 30px}.goal-dialog .goal-detail h2{font-size:34px;margin:12px 0 15px}.goal-dialog .goal-detail p{font-size:12px;line-height:1.7}.goal-dialog .mini-tags{gap:6px;margin:17px 0 22px}.goal-dialog .mini-tags span{font-size:8px;padding:4px 8px}.goal-dialog .button{width:100%;font-size:11px}
 .home-page .dish-section{padding-top:15px}
}
@media(max-width:650px) and (max-height:700px){.hero-story{inset:86px 24px 20px}.hero-story h1{font-size:66px;margin-bottom:18px}.hero-kicker{margin-bottom:16px}.hero-story-copy{font-size:13px;max-width:295px}.cinema-actions{gap:8px;margin-top:17px}.cinema-actions .button{min-height:46px;padding:12px 22px}.cinema-certifications{margin-top:17px}}
@media(prefers-reduced-motion:reduce){.hero-media video{display:none}.hero-media{filter:none}.strip-line{opacity:1;clip-path:none}.strip-block{display:none}.ribbon-track{animation:none}.word-ribbon{overflow:auto}.ribbon-group+.ribbon-group{display:none}.scroll-cue b{transform:none}.hero-story h1>span,.hero-kicker,.cinema-actions{transform:none}.goal-stage-center h2{animation:none}}
