/* V5 follows the approved composition without changing other page heroes. */
.flight-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.flight-heading h2{margin-top:12px;font-size:clamp(30px,3.6vw,52px)}
.flight-heading .hand-note{font-size:48px;margin-right:24px}
.flight-frame{position:relative;overflow:hidden;aspect-ratio:2.18;border-radius:24px;background:#d9e3d9;isolation:isolate}
/* The source is a real drone reference frame. Crop the player's thumbnail below the visible scene. */
.flight-frame>.flight-poster{position:absolute;top:0;right:0;width:100%;height:145%;max-width:none;object-fit:cover;object-position:right top}
.flight-frame>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}
.flight-frame.video-visible>video{opacity:1}
.flight-caption{position:absolute;left:0;right:0;bottom:0;padding:90px 40px 32px;color:white;background:linear-gradient(transparent,#092d20bd);display:grid;gap:8px;pointer-events:none}
.flight-caption strong{font:800 clamp(24px,2.6vw,38px)/1.12 Unbounded,sans-serif;letter-spacing:-.04em}
.flight-caption>span:last-child{font-size:18px}
.flight-bottom{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:20px;font-size:16px}
.flight-about{max-width:880px;font-size:16px;color:var(--muted);margin-top:24px;scroll-margin-top:128px}
.flight-about a{color:var(--green);white-space:normal}
.flight-play{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);z-index:2}
.flight-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:#ffffff44;display:none}
.flight-progress>span{display:block;width:var(--flight-progress,0%);height:100%;background:var(--yellow)}
.is-scroll-video{height:280svh}.is-scroll-video .flight-sticky{position:sticky;top:112px}
.is-scroll-video .flight-frame{aspect-ratio:auto;height:min(56svh,570px)}
.is-scroll-video .flight-progress{display:block}.is-scroll-video .flight-about{display:none}
/* Restore the existing green meal tabs, large plate and unboxed heading. */
body #menu .meal-tabs{gap:18px;margin-bottom:30px}
body #menu .meal-tabs button{background:white;box-shadow:0 3px 10px #103d2c12;min-height:56px}
body #menu .meal-tabs button img{display:block;width:28px;height:28px}
body #menu .meal-tabs button.active{background:#318c2e;color:white}
body #menu .meal-tabs button.active:after{display:block;bottom:-12px;height:3px}
body #menu .meal-photo>img{filter:drop-shadow(0 12px 14px #3827121a)}
body #menu .meal-copy{border:1px solid #eff0eb;box-shadow:0 6px 20px #103d2c08;border-radius:28px}
body #menu .meal-heading{background:transparent;padding:0;min-height:82px;border-radius:0;align-items:start}
body #menu .meal-heading h3{font-size:clamp(24px,2.3vw,34px);line-height:1.14}
body #menu .meal-details{min-height:150px}
body #menu .ingredients{font-size:16px;line-height:1.5}
body #menu .meal-detail-tabs .detail-tab{min-height:44px}
body #menu .menu-choice-note{font-size:14px;color:var(--muted);margin-top:24px}
body #menu .menu-source{margin-top:8px;max-width:900px}
body #menu .meal-status{min-height:22px}
.safety-v5-heading{align-items:center;margin-bottom:36px}
.safety-v5 h2{font-size:clamp(30px,3.65vw,53px);margin-top:12px;overflow-wrap:anywhere}
.safety-v5-heading>p{font-size:18px;min-width:185px}
.safety-v5-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px}
.safety-v5-tabs{display:grid;grid-template-rows:repeat(4,minmax(104px,1fr));gap:12px;align-self:start}
.safety-v5-tabs button{display:flex;align-items:center;gap:15px;padding:18px 14px;min-height:104px;text-align:left;border:2px solid transparent;border-radius:20px;background:#f1f2f0;font-size:18px;line-height:1.35}
.safety-v5-tabs button[aria-selected=true]{background:#fff3eb;border-color:var(--orange)}
.safety-v5-icon{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:50%}
.safety-v5-icon svg{width:36px;height:36px}
.safety-v5-tabs button[aria-selected=true] .safety-v5-icon{background:var(--orange)}
.safety-v5-tabs button[aria-selected=true] .safety-v5-icon svg{filter:brightness(0) invert(1)}
.safety-v5-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;min-height:510px}
.safety-v5-panel>figure{position:relative;border-radius:24px;overflow:hidden;background:#eff1eb;align-self:start}
.safety-v5-panel>figure>img{width:100%;height:510px;object-fit:cover;object-position:center top}
.safety-v5-panel>figure>figcaption{position:absolute;bottom:12px;left:14px;color:#163c2d;background:#fffffff0;padding:5px 10px;border-radius:5px}
.safety-v5-copy{padding-block:24px}
.safety-v5-copy h3{font-family:Manrope,sans-serif;font-size:clamp(26px,2.35vw,34px);line-height:1.13;letter-spacing:-.035em;margin-top:20px}
.safety-v5-copy>p{font-size:18px;margin-top:18px}
.safety-v5-copy blockquote{margin:48px 0 0;border-left:3px solid #91a783;padding-left:22px;color:#526b54}
.safety-v5-copy blockquote p{font-size:18px;line-height:1.6}
.safety-v5-copy cite{display:block;font-size:14px;font-style:normal;margin-top:18px}
.safety-v5-copy .safety-detail{margin-top:36px;color:var(--muted)}
.safety-v5-copy .text-link{margin-top:24px;font-size:16px}
.retreat-block{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);gap:40px;align-items:center}
.retreat-copy{padding-block:36px;min-width:0;container-type:inline-size}
.retreat-copy h2{font-size:clamp(30px,8.7cqw,51px);line-height:1.15;margin-top:24px;letter-spacing:-.05em}
.retreat-copy h2 em{display:inline-block;font-size:1.3em;line-height:.8;padding:0 12px 10px;background:var(--yellow);border-radius:9px;transform:rotate(-5deg)}
.retreat-copy>p:not(.small){max-width:490px;margin-top:28px;font-size:20px;line-height:1.55}
.retreat-copy>.button{margin-top:32px;max-width:100%}
.retreat-copy>.small{margin-top:18px}
.retreat-photo{height:650px;position:relative;border-radius:100px 24px 24px 24px;overflow:hidden}
.retreat-photo>img{width:100%;height:100%;object-fit:cover}
.retreat-photo>.hand-note{position:absolute;top:30px;right:26px;font-size:42px;color:#ffd190;text-shadow:0 2px 12px #0009}
.retreat-photo>figcaption{position:absolute;bottom:16px;left:20px;color:white;text-shadow:0 1px 5px #000;background:#092d2080;padding:5px 10px;border-radius:6px}
.retreat-corporate{grid-template-columns:minmax(0,55fr) minmax(0,45fr)}
.retreat-corporate .retreat-photo{border-radius:24px 100px 24px 24px;height:620px}
.retreat-corporate .draw-line{margin:8px 0 0;height:22px}
.retreat-corporate .retreat-copy>p:not(.small){margin-top:24px}
.corporate-intro{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.corporate-intro h2{margin:20px 0}.corporate-intro .button{margin-top:28px}
.corporate-intro>img{height:480px;width:100%;object-fit:cover;border-radius:24px}
@media(max-width:1199px){.safety-v5-layout{grid-template-columns:1fr}.safety-v5-tabs{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto;gap:10px}.safety-v5-tabs button{font-size:16px;gap:10px;padding:12px;min-height:88px}.safety-v5-icon{width:40px;height:40px}.safety-v5-icon svg{width:30px;height:30px}.safety-v5-panel{grid-template-columns:1fr 1fr;gap:32px}.retreat-block{gap:28px}.retreat-photo,.retreat-corporate .retreat-photo{height:550px}.retreat-copy>.button{font-size:16px;padding-inline:22px;gap:12px}.retreat-copy>p:not(.small){font-size:18px}.safety-v5-heading>p{display:none}}
@media(max-width:1023px){.wrap{width:calc(100% - 48px)}body #menu{width:calc(100% - 48px)}.flight-heading .hand-note{font-size:36px;margin-right:8px}.flight-heading h2{font-size:34px}.flight-frame{aspect-ratio:1.75}.flight-caption{padding:60px 24px 24px}.safety-v5-tabs button{flex-direction:column;align-items:start;min-height:110px}.retreat-block{grid-template-columns:1fr 1fr;gap:24px}.retreat-copy h2{font-size:clamp(26px,8.4cqw,42px)}.retreat-photo,.retreat-corporate .retreat-photo{height:490px}.retreat-copy .eyebrow{font-size:14px;letter-spacing:.035em}.retreat-copy>.button{padding:14px 18px;font-size:15px}.retreat-photo>.hand-note{font-size:32px}.corporate-intro{gap:28px}.corporate-intro h2{font-size:32px}body #menu .meal-heading{min-height:90px}body #menu .meal-heading h3{font-size:24px}body #menu .meal-details{min-height:210px}}
@media(max-width:767px){.wrap,body #menu{width:calc(100% - 40px)}.flight-heading{gap:12px;align-items:start;margin-bottom:24px}.flight-heading h2{font-size:30px;line-height:1.15}.flight-heading .hand-note{display:none}.flight-frame{aspect-ratio:1.16;border-radius:16px}.flight-caption{padding:65px 20px 24px;gap:10px}.flight-caption strong{font-size:25px}.flight-caption>span:last-child{font-size:16px}.flight-bottom{align-items:start;flex-direction:column;gap:14px}.flight-about{font-size:14px;line-height:1.6}.flight-play{max-width:90%;white-space:nowrap;padding-inline:18px}.safety-v5 h2{font-size:clamp(27px,7.7vw,36px);letter-spacing:-.045em}.safety-v5-heading{margin-bottom:24px}.safety-v5-tabs{grid-template-columns:1fr 1fr;gap:10px}.safety-v5-tabs button{flex-direction:row;align-items:center;gap:8px;min-height:86px;padding:10px;font-size:14px;border-radius:16px}.safety-v5-icon{width:36px;height:36px}.safety-v5-icon svg{width:26px;height:26px}.safety-v5-panel{grid-template-columns:1fr;gap:20px;min-height:0}.safety-v5-panel>figure{border-radius:20px}.safety-v5-panel>figure>img{height:390px;object-position:center 22%}.safety-v5-copy{padding:0}.safety-v5-copy h3{font-size:30px;margin-top:16px}.safety-v5-copy>p{font-size:16px}.safety-v5-copy blockquote{margin-top:28px;padding-left:18px}.safety-v5-copy blockquote p{font-size:16px}.safety-v5-copy .safety-detail{margin-top:24px}.retreat-block,.retreat-corporate{display:flex;flex-direction:column;gap:24px;align-items:stretch}.retreat-copy{padding:0;order:0}.retreat-copy h2{font-size:clamp(29px,9cqw,40px);line-height:1.17;margin-top:20px}.retreat-copy>p:not(.small){font-size:17px;margin-top:24px}.retreat-copy>.button{width:100%;min-height:56px;font-size:16px;margin-top:24px}.retreat-photo,.retreat-corporate .retreat-photo{order:1;height:390px;border-radius:50px 20px 20px 20px}.retreat-corporate .retreat-photo{border-radius:20px 50px 20px 20px}.retreat-photo>.hand-note{font-size:36px;top:20px;right:20px}.corporate-details{display:none}.retreat-copy>.small{font-size:14px}.corporate-intro{display:flex;flex-direction:column;gap:28px;align-items:stretch}.corporate-intro>img{height:320px}.corporate-intro h2{font-size:30px}.corporate-intro .button{width:100%}body #menu .meal-tabs{gap:12px;padding-bottom:18px}body #menu .meal-tabs button{min-height:48px}body #menu .meal-tabs button img{width:24px;height:24px}body #menu .meal-heading{min-height:86px}body #menu .meal-details{min-height:180px}body #menu .meal-copy{padding:22px 18px}body #menu .meal-photo{max-height:none}body #menu .menu-choice-note{margin-top:18px}}
@media(max-width:359px){.wrap,body #menu{width:calc(100% - 32px)}.safety-v5-tabs button{gap:6px;font-size:14px;padding:8px}.safety-v5-icon{width:28px;height:32px}.safety-v5-icon svg{width:24px;height:24px}.flight-caption strong{font-size:23px}.safety-v5-panel>figure>img{height:340px}.safety-v5-copy h3{font-size:27px}.retreat-photo,.retreat-corporate .retreat-photo{height:340px}}
@media(prefers-reduced-motion:reduce){.is-scroll-video{height:auto}.is-scroll-video .flight-sticky{position:static}}

.section-anchor{position:absolute;scroll-margin-top:120px}.tour-sticky{position:relative}.tour-heading-row{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:32px}.tour-heading-row>div{position:relative}.tour-heading-row h2{font-size:clamp(32px,4vw,58px)}.tour-heading-row .hand-note{position:absolute;left:103%;bottom:0;font-size:42px;transform:rotate(-8deg)}.tour-heading-row>p{max-width:385px;font-size:18px}.tour-frame{position:relative;overflow:hidden;aspect-ratio:2.18;border-radius:24px;background:#e1e8df}.tour-frame>.tour-poster,.tour-video{width:100%;height:100%;object-fit:cover}.tour-video{position:absolute;inset:0}.tour-caption{position:absolute;inset:auto 0 0;padding:80px 40px 30px;background:linear-gradient(transparent,#08291bcc);color:white;pointer-events:none}.tour-caption>span{font-size:12px;letter-spacing:.1em}.tour-caption h3{font-size:32px;margin:8px 0}.tour-caption p{font-size:18px}.tour-footer{display:flex;gap:24px;align-items:center;justify-content:space-between;margin-top:20px;font-size:16px}.tour-footer a{text-decoration:underline;text-underline-offset:5px}.tour-progress{position:absolute;bottom:15px;right:30px;color:white;font-size:12px}.tour-progress-track{display:block;width:90px;height:3px;background:#ffffff66;margin-bottom:6px}.tour-progress-track i{display:block;width:var(--flight-progress,0%);height:100%;background:var(--yellow)}.tour-section.is-scroll-video .tour-sticky{position:sticky;top:112px}.is-scroll-video .tour-frame{height:min(52svh,570px);aspect-ratio:auto}.safety-v5-heading{display:flex;justify-content:space-between;gap:28px}.safety-v5-heading>p{align-self:center}.safety-v5-panels{min-width:0}.safety-v5-eyebrow{font-size:13px!important;letter-spacing:.09em}.safety-v5-copy blockquote{display:flex;gap:12px}.safety-v5-copy blockquote>span{font-size:50px;line-height:1}.safety-v5-note{color:var(--muted)}.retreat-sections{display:grid;gap:120px}.retreat-copy .retreat-footnote{font-size:14px;color:var(--muted);margin-top:16px}.retreat-corporate h2 span{position:relative}.retreat-corporate h2 span:after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:8px;border-top:4px solid var(--orange);border-radius:50%;transform:rotate(-2deg)}.safety-v5-panel[hidden]{display:none!important}body #menu{width:min(1440px,calc(100% - 64px));margin:var(--section-gap) auto;padding:0}body #menu .menu-title{border:0}body #menu .meal-tabs button{border-radius:999px}body #menu .meal-copy{background:white}body #menu .meal-heading{display:grid}body #menu .nutrition img{display:block}body #menu .meal-details{min-height:0}
@media(max-width:1199px){.tour-heading-row .hand-note{display:none}.safety-v5-heading>p{display:none}.retreat-sections{gap:90px}}
@media(max-width:1023px){body #menu{width:calc(100% - 48px)}.tour-heading-row{gap:24px}.tour-heading-row>p{max-width:280px;font-size:16px}.tour-caption h3{font-size:26px}}
@media(max-width:767px){body #menu{width:calc(100% - 40px)}.tour-heading-row{display:block}.tour-heading-row>p{margin-top:20px;max-width:none}.tour-frame{aspect-ratio:1.16;border-radius:18px}.tour-caption{padding:60px 20px 24px}.tour-caption h3{font-size:24px}.tour-caption p{font-size:16px}.tour-footer{flex-wrap:wrap;gap:16px}.retreat-sections{gap:72px}.retreat-copy .retreat-footnote{font-size:14px}.safety-v5-heading h2{font-size:clamp(26px,7vw,36px)}.safety-v5-copy blockquote{gap:4px}.safety-v5-copy blockquote>span{font-size:36px}}
@media(max-width:359px){body #menu{width:calc(100% - 32px)}}

.retreat-photo>.hand-note{inset:28px 24px auto auto;background:none;padding:0;color:#ffd190;font-size:42px;line-height:1.05}.retreat-copy>p.retreat-footnote{font-size:14px;margin-top:16px}.safety-v5-icon svg{display:block;max-width:100%;height:36px}.safety-v5-tabs button[aria-selected=true] .safety-v5-icon svg{color:white}.safety-v5-panel>figure{width:100%}body #menu .meal-heading{padding:0}body #menu .meal-card{gap:4.5%}
@media(max-width:767px){body #menu .meal-card{gap:20px}.retreat-photo>.hand-note{font-size:34px}.safety-v5-icon svg{height:26px}}

/* Full-screen scroll tour. Geometry stays identical while the film loads. */
.tour-fullscreen{--tour-top:104px;--tour-gutter:clamp(12px,1.67vw,24px);width:100%;position:relative}
.tour-fullscreen .tour-sticky{position:relative;width:100%;max-width:none;margin:0;height:calc(100svh - var(--tour-top));min-height:0;isolation:isolate;background:var(--paper)}
.tour-fullscreen.is-scroll-video{height:850svh}
.tour-fullscreen.is-scroll-video .tour-sticky{position:sticky;top:var(--tour-top)}
.tour-fullscreen .tour-frame,.tour-fullscreen.is-scroll-video .tour-frame{position:absolute;inset:var(--tour-gutter);width:calc(100% - 2 * var(--tour-gutter));height:calc(100% - 2 * var(--tour-gutter));aspect-ratio:auto;border-radius:clamp(12px,1.4vw,20px);overflow:hidden;background:#102e23}
.tour-fullscreen .tour-poster,.tour-fullscreen .tour-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;padding:0}
.tour-fullscreen .tour-heading-row{position:absolute;z-index:2;inset:0 0 auto;margin:0;padding:32px max(32px,calc((100% - 1280px)/2)) 72px;align-items:start;gap:32px;pointer-events:none;color:white;background:linear-gradient(#08291b99,transparent)}
.tour-fullscreen .tour-heading-row h2{color:var(--orange);text-shadow:0 2px 12px #0005}
.tour-fullscreen .tour-heading-row .hand-note{color:#ffd21c}
.tour-fullscreen .tour-heading-row>p{margin:0;max-width:330px;font-size:16px;line-height:1.5;text-shadow:0 1px 8px #0009}
.tour-fullscreen .tour-progress{display:none;background:#103f2ed9;color:white;padding:10px 12px;border-radius:10px;bottom:24px;right:32px;pointer-events:none}
.tour-status{position:absolute;z-index:3;left:20px;bottom:20px;max-width:calc(100% - 40px);display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:12px 18px;border-radius:14px;background:#fffefaed;color:#103d2c;font:600 14px/1.5 Manrope,Arial,sans-serif;box-shadow:0 4px 20px #103d2c16}
.tour-status[hidden],.tour-status [hidden]{display:none}
.tour-retry{border:0;border-radius:999px;background:#103d2c;color:#fffefa;padding:8px 14px;font:inherit;cursor:pointer}
.tour-open-video{color:inherit;text-underline-offset:3px}
.tour-retry:focus-visible,.tour-open-video:focus-visible{outline:3px solid #f47718;outline-offset:3px}
.tour-noscript{position:absolute;z-index:3;left:20px;bottom:20px;padding:14px 20px;background:#fffefa;border-radius:12px;color:#103d2c}
@media(max-width:1119px){.tour-fullscreen{--tour-top:80px}}
@media(max-width:767px){
 .tour-fullscreen .tour-heading-row{display:flex;flex-direction:column;gap:16px;padding:24px 20px 64px}
 .tour-fullscreen .tour-heading-row h2{font-size:28px}
 .tour-fullscreen .tour-heading-row>p{font-size:14px;max-width:280px}
 .tour-fullscreen .tour-heading-row .hand-note{display:none}
 .tour-fullscreen .tour-progress{bottom:20px;right:20px;padding:8px 10px}
}
@media(max-height:579px){
 .tour-fullscreen .tour-heading-row{padding-top:16px;padding-bottom:40px}
 .tour-fullscreen .tour-heading-row h2{font-size:26px}
 .tour-fullscreen .tour-heading-row>p{display:none}
}

/* Typography correction only: retain the established photo grids and crops. */
@media(min-width:1024px){
 body[data-page="home"] .section-heading h2,
 body[data-page="home"] .season-section h2,
 body[data-page="home"] #menu h2,
 body[data-page="home"] .tour-heading-row h2,
 body[data-page="home"] .safety-v5 h2,
 body[data-page="home"] .team-section h2,
 body[data-page="home"] .application-content h2{font-size:clamp(32px,3.25vw,47px);line-height:1.1}
}

/* Keep menu navigation within the card width at every breakpoint. */
body #menu .meal-carousel{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px;padding:0}
body #menu .meal-arrow{position:static;inset:auto;translate:none;transform:none;width:44px;height:44px;min-width:44px;padding:10px;border:1px solid var(--line);box-shadow:none}
body #menu .meal-arrow img{width:24px;height:24px;object-fit:contain}
body #menu .meal-heading h3{font-size:clamp(22px,2.1cqw,30px);line-height:1.25;letter-spacing:-.025em;overflow-wrap:normal}
body #menu .meal-heading{min-height:0}
body #menu .weight{margin-bottom:0}
body #menu .menu-source{max-width:900px;font-size:14px;line-height:1.6}
@media(max-width:767px){body #menu .meal-carousel{gap:8px}body #menu .meal-thumbs{gap:6px}body #menu .meal-heading h3{font-size:22px}}
