:root{--navy:#081A2B;--burg:#7A1F2B;--gold:#C6A15B;--ivory:#F7F5F0;--white:#fff;--ink:#102235;--muted:#5f6972;--radius:16px;--max:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%}.site-header{position:fixed;z-index:30;top:0;left:0;width:100%;height:84px;display:flex;align-items:center;padding:0 max(24px,calc((100vw - 1400px)/2));color:white;transition:.3s ease;border-bottom:1px solid transparent}.site-header.scrolled{height:72px;background:rgba(8,26,43,.9);backdrop-filter:blur(16px);border-color:rgba(255,255,255,.12)}.brand{display:flex;align-items:center;gap:12px;min-width:250px;font-size:12px;line-height:1.2;letter-spacing:.08em}.brand img{width:46px;height:46px;object-fit:cover;border-radius:50%;border:1px solid rgba(255,255,255,.3)}.brand b{font-weight:600;color:var(--gold)}nav{display:flex;justify-content:center;gap:26px;flex:1;font-size:13px}nav a{opacity:.86}.header-actions{display:flex;align-items:center;gap:12px}.lang{border:0;background:transparent;color:white;font-weight:700}.menu{display:none;background:transparent;border:0;width:44px;height:44px;padding:12px}.menu span{display:block;height:1px;background:white;margin:7px 0}.mobile-nav{display:none}.hero{position:relative;min-height:92svh;background:var(--navy);overflow:hidden;color:white}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,16,29,.91) 0%,rgba(4,16,29,.67) 44%,rgba(4,16,29,.2) 75%),linear-gradient(0deg,rgba(8,26,43,.7),transparent 45%)}.hero-content{position:relative;z-index:2;max-width:1280px;margin:auto;padding:190px 56px 150px}.eyebrow{font-size:12px;letter-spacing:.19em;font-weight:800;color:var(--gold);margin:0 0 20px}.eyebrow.light{color:#e0c58d}.hero h1,.section-head h2,.editorial h2,.camp-section h2,.performance h2,.founder h2,.results h2,.final-cta h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em}.hero h1{font-size:clamp(58px,6.1vw,94px);line-height:.91;margin:0;max-width:900px}.hero h1 em,h2 em{font-style:italic;color:var(--gold)}.hero-copy{max-width:610px;font-size:19px;line-height:1.65;color:rgba(255,255,255,.84);margin:28px 0 32px}.actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:9px;font-size:13px;font-weight:800;letter-spacing:.02em;transition:.2s ease}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:var(--navy)}.btn-glass{border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.07);backdrop-filter:blur(12px);color:white}.btn-navy{background:var(--navy);color:white}.btn-outline-dark{border:1px solid var(--navy);color:var(--navy)}.text-link{font-size:14px;font-weight:800;color:var(--burg)}.hero-note{position:absolute;z-index:3;bottom:28px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;padding:14px 22px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(8,26,43,.42);backdrop-filter:blur(15px);font-size:12px;letter-spacing:.04em;white-space:nowrap}.hero-note i{width:3px;height:3px;border-radius:50%;background:var(--gold)}.trust{background:var(--navy);color:white;display:grid;grid-template-columns:repeat(4,1fr);padding:26px max(24px,calc((100vw - 1280px)/2));border-top:1px solid rgba(255,255,255,.1)}.trust div{padding:4px 28px;border-right:1px solid rgba(255,255,255,.12);display:flex;align-items:center;gap:14px}.trust div:last-child{border:0}.trust strong{color:var(--gold);font-family:Georgia,serif;font-size:26px}.trust span{font-size:12px;line-height:1.35;color:#d9e0e6}.light-section{background:var(--ivory)}.editorial,.founder{max-width:var(--max);margin:auto;padding:120px 48px;display:grid;grid-template-columns:1.08fr .92fr;gap:80px;align-items:center}.media-frame,.founder-image{border-radius:var(--radius);overflow:hidden}.school-media{aspect-ratio:4/3}.school-media img,.founder-image img{height:100%;object-fit:cover}.editorial h2,.camp-section h2,.founder h2{font-size:clamp(42px,4.2vw,64px);line-height:.98;margin:0 0 28px}.editorial-copy>p:not(.eyebrow),.camp-copy>p:not(.eyebrow),.founder-copy>p:not(.eyebrow){font-size:17px;line-height:1.75;color:var(--muted)}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#d8d5ce;margin:30px 0}.mini-grid span{background:var(--ivory);padding:15px 10px 15px 0;font-size:13px;font-weight:800}.pathway{background:var(--navy);color:white;padding:110px max(32px,calc((100vw - 1280px)/2))}.section-head{max-width:780px}.section-head h2{font-size:clamp(44px,5vw,72px);line-height:.98;margin:0}.section-head>p:last-child{color:#bac5ce;font-size:17px;line-height:1.7}.path-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:65px;border-top:1px solid rgba(255,255,255,.18)}.path-grid article{padding:28px 26px 10px 0}.path-grid b{font-family:Georgia,serif;color:var(--gold);font-size:14px}.path-grid h3{font-size:25px;margin:26px 0 10px}.path-grid p{font-size:14px;line-height:1.6;color:#aebbc5;max-width:220px}.camp-section{max-width:var(--max);margin:auto;padding:120px 48px;display:grid;grid-template-columns:.92fr 1.08fr;gap:80px;align-items:center}.camp-image{aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden}.camp-image img{height:100%;object-fit:cover}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.chips span{border:1px solid #d4d0c8;border-radius:999px;padding:9px 12px;font-size:12px}.performance{min-height:760px;position:relative;color:white;display:flex;align-items:center;overflow:hidden}.performance>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.performance-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,15,27,.95),rgba(4,15,27,.68) 50%,rgba(4,15,27,.18))}.performance-copy{position:relative;z-index:2;width:min(1280px,100%);margin:auto;padding:100px 48px}.performance h2{font-size:clamp(46px,5.4vw,78px);line-height:.96;margin:0 0 25px;max-width:900px}.performance-copy>p:not(.eyebrow){max-width:600px;color:#d0d8df;font-size:17px;line-height:1.7}.performance-list{display:grid;grid-template-columns:repeat(2,230px);gap:0 30px;margin:30px 0}.performance-list span{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:13px}.founder{grid-template-columns:1fr .8fr}.founder-image{aspect-ratio:4/5}.founder .lead{font-family:Georgia,serif!important;color:var(--navy)!important;font-size:24px!important}.founder ul{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin:25px 0}.founder li{border-top:1px solid #d8d4cc;padding:12px 0;font-size:13px;font-weight:700}.results{background:#061523;color:white;display:grid;grid-template-columns:1.05fr .95fr;min-height:600px}.results-image{min-height:600px}.results-image img{height:100%;object-fit:cover}.results-copy{padding:90px 7vw;align-self:center}.results h2{font-size:clamp(42px,4.5vw,68px);line-height:1;margin:0 0 25px}.results-copy>p:last-child{color:#bcc6ce;line-height:1.7;max-width:580px}.final-cta{text-align:center;padding:125px 24px;background:var(--ivory)}.final-cta h2{font-size:clamp(44px,5vw,72px);line-height:.98;margin:0}.final-cta>p:not(.eyebrow){max-width:700px;margin:25px auto 30px;color:var(--muted);line-height:1.7}.final-cta .actions{justify-content:center}footer{background:var(--navy);color:#b9c3ca;display:flex;justify-content:space-between;gap:20px;padding:34px max(24px,calc((100vw - 1280px)/2));font-size:12px}.footer-brand{color:white;font-weight:800}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:1100px){nav,.header-cta,.lang{display:none}.site-header{padding:0 24px}.header-actions{margin-left:auto}.menu{display:block}.mobile-nav.open{display:flex;position:fixed;z-index:25;inset:0;background:rgba(8,26,43,.98);color:white;padding:120px 28px 40px;flex-direction:column;gap:22px;font-size:26px}.mobile-nav .langs{margin-top:auto;font-size:13px;color:#b8c3cb}.mobile-nav .btn{font-size:13px}.editorial,.camp-section,.founder{gap:45px;padding:90px 36px}.trust{grid-template-columns:1fr 1fr}.trust div:nth-child(2){border-right:0}.trust div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}.pathway{padding:90px 36px}.path-grid{grid-template-columns:1fr 1fr}.performance-copy{padding:80px 36px}.results{grid-template-columns:1fr 1fr}.results-copy{padding:70px 40px}}
@media(max-width:767px){.site-header{height:72px;padding:0 18px}.brand{min-width:0;font-size:10px;gap:9px}.brand img{width:40px;height:40px}.hero{min-height:760px;max-height:860px}.hero-img{object-position:58% center}.hero-shade{background:linear-gradient(0deg,rgba(4,16,29,.94) 0%,rgba(4,16,29,.7) 50%,rgba(4,16,29,.26) 100%)}.hero-content{padding:150px 20px 150px;display:flex;flex-direction:column;justify-content:flex-end;min-height:760px}.hero h1{font-size:clamp(42px,12vw,54px);line-height:.94}.hero-copy{font-size:16px;line-height:1.55;margin:20px 0 24px;max-width:470px}.hero .actions{align-items:stretch;flex-direction:column}.hero .btn{width:100%}.hero-note{bottom:18px;left:20px;right:20px;transform:none;justify-content:center;gap:9px;padding:10px 8px;font-size:9px;white-space:normal;text-align:center}.trust{grid-template-columns:1fr 1fr;padding:18px}.trust div{padding:14px 8px;display:block}.trust strong{display:block;font-size:22px;margin-bottom:5px}.trust span{font-size:10px}.editorial,.camp-section,.founder{display:flex;flex-direction:column;padding:78px 20px;gap:38px}.editorial h2,.camp-section h2,.founder h2{font-size:38px}.school-media{aspect-ratio:4/3;width:100%}.camp-image{aspect-ratio:4/3;width:100%;order:2}.camp-copy{order:1}.mini-grid{margin:24px 0}.mini-grid span{font-size:12px}.pathway{padding:78px 20px}.section-head h2{font-size:40px}.path-grid{grid-template-columns:1fr 1fr;margin-top:38px}.path-grid article{padding:22px 14px 14px 0}.path-grid h3{font-size:20px;margin:16px 0 7px}.path-grid p{font-size:12px}.performance{min-height:720px}.performance>img{object-position:58% center}.performance-shade{background:linear-gradient(0deg,rgba(4,15,27,.96),rgba(4,15,27,.72) 65%,rgba(4,15,27,.25))}.performance-copy{padding:250px 20px 70px;align-self:flex-end}.performance h2{font-size:40px}.performance-list{grid-template-columns:1fr 1fr;gap:0 16px}.founder-image{aspect-ratio:4/5;width:100%;order:1}.founder-copy{order:2}.founder ul{grid-template-columns:1fr}.results{display:flex;flex-direction:column}.results-image{min-height:0;aspect-ratio:4/3}.results-copy{padding:65px 20px 75px}.results h2{font-size:39px}.final-cta{padding:85px 20px}.final-cta h2{font-size:40px}.final-cta .actions{flex-direction:column}.final-cta .btn{width:100%}footer{flex-direction:column;padding:32px 20px}.eyebrow{margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* Day 2.1 polish */
.skip-link{position:fixed;z-index:100;left:12px;top:-60px;background:var(--gold);color:var(--navy);padding:10px 14px;border-radius:8px;font-weight:800}.skip-link:focus{top:12px}.nav-dropdown,.language-switcher{position:relative}.nav-dropbtn,.lang{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;display:flex;align-items:center;gap:5px}.nav-menu,.lang-menu{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(-6px);min-width:220px;padding:9px;background:rgba(8,26,43,.97);border:1px solid rgba(255,255,255,.14);border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.22);backdrop-filter:blur(16px);opacity:0;visibility:hidden;transition:.2s ease}.nav-dropdown.open .nav-menu,.language-switcher.open .lang-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.nav-menu a,.lang-menu button{display:block;width:100%;padding:11px 12px;border-radius:8px;color:white;text-align:left;font-size:12px;border:0;background:transparent;cursor:pointer}.nav-menu a:hover,.lang-menu button:hover,.lang-menu button:focus-visible{background:rgba(255,255,255,.09)}.lang-menu{right:0;left:auto;transform:translateY(-6px);min-width:150px}.language-switcher.open .lang-menu{transform:translateY(0)}.mobile-langs{display:flex;gap:8px;flex-wrap:wrap}.mobile-langs button,.footer-langs button{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:4px 2px}.mobile-langs button{color:#dce4ea;border:1px solid rgba(255,255,255,.17);border-radius:999px;padding:8px 12px}.proposal-form{max-width:920px;margin:36px auto 0;text-align:left;padding:30px;border:1px solid #ded9cf;border-radius:18px;background:#fff;box-shadow:0 18px 60px rgba(8,26,43,.06)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.proposal-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:800;color:var(--navy)}.proposal-form .full{grid-column:1/-1}.proposal-form input,.proposal-form select,.proposal-form textarea{width:100%;border:1px solid #d9d5cc;border-radius:9px;background:#fff;color:var(--ink);padding:13px 14px;font:inherit;font-size:15px;outline:none}.proposal-form input:focus,.proposal-form select:focus,.proposal-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(198,161,91,.18)}.form-actions{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}.form-note{font-size:12px!important;line-height:1.5!important;margin:16px 0 0!important;color:#7b838a!important}.site-header.scrolled .nav-menu,.site-header.scrolled .lang-menu{background:rgba(8,26,43,.98)}
html[dir="rtl"] body{font-family:Tahoma,Arial,sans-serif}html[dir="rtl"] .brand{direction:ltr}html[dir="rtl"] .editorial-copy,html[dir="rtl"] .camp-copy,html[dir="rtl"] .founder-copy,html[dir="rtl"] .performance-copy,html[dir="rtl"] .section-head,html[dir="rtl"] .results-copy,html[dir="rtl"] .proposal-form{text-align:right}html[dir="rtl"] .hero-content{text-align:right;margin-left:0;margin-right:auto}html[dir="rtl"] .actions,html[dir="rtl"] .form-actions{justify-content:flex-start}html[dir="rtl"] .mini-grid span{padding:15px 0 15px 10px}html[dir="rtl"] .nav-menu a,html[dir="rtl"] .lang-menu button{text-align:right}
@media(max-width:1100px){.nav-dropdown{display:none}.language-switcher{display:none}.mobile-nav.open{overflow-y:auto}.mobile-nav.open body{overflow:hidden}}
@media(max-width:767px){.hero{min-height:min(820px,92svh);max-height:none}.hero-content{min-height:min(820px,92svh);padding:130px 20px 130px}.hero h1{font-size:clamp(38px,10.8vw,49px)}.hero-note{font-size:8.5px}.proposal-form{padding:22px 16px;border-radius:14px}.form-grid{grid-template-columns:1fr}.proposal-form .full{grid-column:auto}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.school-media,.camp-image,.results-image{aspect-ratio:4/3}.founder-image{aspect-ratio:4/5}.performance{min-height:680px}.performance-copy{padding-top:220px}.path-grid{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.brand span{display:none}.hero-note span{font-size:8px}.trust{grid-template-columns:1fr 1fr}.path-grid{grid-template-columns:1fr}.path-grid article{border-top:1px solid rgba(255,255,255,.1)}}

/* Day 2.1 final QA fixes */
.mobile-programs{display:flex;flex-direction:column;gap:8px}.mobile-programs-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:inherit;cursor:pointer}.mobile-programs-menu{display:none;padding:4px 0 0 14px;gap:12px;flex-direction:column;font-size:15px;color:#c9d3db}.mobile-programs.open .mobile-programs-menu{display:flex}.mobile-programs-menu a{font-size:15px}.mobile-programs.open .mobile-programs-btn span:last-child{transform:rotate(180deg)}.mobile-programs-btn span:last-child{transition:transform .2s ease}html[dir="rtl"] .mobile-programs-menu{padding-left:0;padding-right:14px}.performance>img{object-position:center 44%}@media(max-width:767px){.performance>img{object-position:46% center}.mobile-nav.open{padding-bottom:max(40px,env(safe-area-inset-bottom))}}@media(min-width:768px) and (max-width:1100px){.performance>img{object-position:48% center}}

/* =========================================================
   MASTER RESPONSIVE IMAGE EMERGENCY FIX — 2026-09-06
   Global fix inherited by Day 3+; preserves Day 2 visual DNA.
   ========================================================= */

/* 1) Safe responsive-media baseline */
img, picture, video, canvas, svg {
  max-width: 100%;
}
img, video {
  display: block;
}
img {
  height: auto;
}
picture > img {
  width: 100%;
  height: auto;
}
picture, figure {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/* 2) Prevent grid/flex min-content from widening the document */
main, section, header, footer,
.editorial, .camp-section, .founder, .results,
.hero-content, .performance-copy, .section-head,
.editorial-copy, .camp-copy, .founder-copy, .results-copy,
.media-frame, .school-media, .camp-image, .founder-image, .results-image,
.path-grid, .path-grid > *, .trust > *, .mini-grid > *,
.actions, .form-grid, .proposal-form, .form-actions {
  min-width: 0;
}

/* 3) Cropped editorial media: the container owns the crop */
.media-frame,
.school-media,
.camp-image,
.founder-image,
.results-image {
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}
.media-frame > img,
.school-media > img,
.camp-image > img,
.founder-image > img,
.results-image > img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 4) Hero / cinematic backgrounds are clipped by their own sections */
.hero,
.performance {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  isolation: isolate;
}
.hero-img,
.performance > img {
  max-width: none;
  min-width: 0;
}

/* 5) Long content and controls must be allowed to shrink */
.brand, nav, .header-actions, .hero-note, .performance-list,
.form-grid > *, .proposal-form input, .proposal-form select,
.proposal-form textarea, .btn, .text-link {
  min-width: 0;
  max-width: 100%;
}

/* 6) Final page-level guard — only after underlying causes are fixed */
html, body {
  max-width: 100%;
  overflow-x: clip;
}
@supports not (overflow: clip) {
  html, body { overflow-x: hidden; }
}

/* 7) Intermediate widths: reduce split-layout pressure before true mobile */
@media (min-width: 768px) and (max-width: 980px) {
  .editorial, .camp-section, .founder {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: 32px;
    padding-left: 28px;
    padding-right: 28px;
  }
  .results {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  }
  .performance-list {
    grid-template-columns: repeat(2,minmax(0,1fr));
    max-width: 490px;
  }
}

/* 8) Landscape phones: do NOT promote to the tablet/desktop composition */
@media (orientation: landscape) and (max-height: 600px) and (max-width: 1000px) {
  .site-header {
    height: 64px;
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
  }
  .site-header.scrolled { height: 60px; }
  .brand img { width: 38px; height: 38px; }

  .hero {
    min-height: 100svh;
    max-height: none;
  }
  .hero-content {
    min-height: 100svh;
    padding: 92px max(22px, env(safe-area-inset-right)) 70px max(22px, env(safe-area-inset-left));
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
  .hero h1 {
    font-size: clamp(38px, 7.2vw, 58px);
    max-width: 760px;
  }
  .hero-copy {
    max-width: 650px;
    font-size: 15px;
    line-height: 1.5;
    margin: 14px 0 18px;
  }
  .hero-img { object-position: 56% 38%; }
  .hero-note {
    left: max(16px, env(safe-area-inset-left));
    right: max(16px, env(safe-area-inset-right));
    bottom: max(10px, env(safe-area-inset-bottom));
    transform: none;
    white-space: normal;
    justify-content: center;
    gap: 8px;
    padding: 8px 10px;
    font-size: 8.5px;
  }

  .editorial, .camp-section, .founder {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 58px max(22px, env(safe-area-inset-right)) 58px max(22px, env(safe-area-inset-left));
  }
  .school-media, .camp-image, .results-image {
    width: 100%;
    aspect-ratio: 16 / 9;
  }
  .founder-image {
    width: 100%;
    aspect-ratio: 16 / 10;
    order: 1;
  }
  .founder-copy { order: 2; }
  .camp-copy { order: 1; }
  .camp-image { order: 2; }

  .school-media img { object-position: 50% 48%; }
  .camp-image img { object-position: 50% 46%; }
  .founder-image img { object-position: 50% 34%; }

  .pathway {
    padding: 58px max(22px, env(safe-area-inset-right)) 58px max(22px, env(safe-area-inset-left));
  }
  .path-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 0 20px;
    margin-top: 32px;
  }

  .performance {
    min-height: max(520px, 100svh);
  }
  .performance > img { object-position: 50% 42%; }
  .performance-copy {
    padding: 150px max(22px, env(safe-area-inset-right)) 54px max(22px, env(safe-area-inset-left));
    align-self: flex-end;
  }
  .performance h2 { font-size: clamp(38px, 6vw, 54px); }
  .performance-list {
    grid-template-columns: repeat(2,minmax(0,1fr));
    width: min(480px,100%);
  }

  .results {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  .results-image { min-height: 0; }
  .results-image img { object-position: 50% 44%; }
  .results-copy {
    padding: 52px max(22px, env(safe-area-inset-right)) 58px max(22px, env(safe-area-inset-left));
  }

  .mobile-nav.open {
    padding-top: 82px;
    padding-left: max(24px, env(safe-area-inset-left));
    padding-right: max(24px, env(safe-area-inset-right));
    padding-bottom: max(24px, env(safe-area-inset-bottom));
    font-size: 20px;
    gap: 14px;
  }
}

/* 9) Short landscape devices (iPhone mini / browser chrome reduced height) */
@media (orientation: landscape) and (max-height: 430px) and (max-width: 950px) {
  .hero-content { padding-top: 76px; padding-bottom: 58px; }
  .hero h1 { font-size: clamp(34px, 6.5vw, 48px); }
  .hero-copy { font-size: 14px; }
  .hero-note { display: none; }
  .performance { min-height: 500px; }
}

/* 10) Portrait subject positioning remains visually consistent */
@media (orientation: portrait) and (max-width: 767px) {
  .school-media img { object-position: 50% 50%; }
  .camp-image img { object-position: 50% 50%; }
  .founder-image img { object-position: 50% 36%; }
  .results-image img { object-position: 50% 45%; }
}

/* 11) Header width corrections discovered during emergency QA */
@media (max-width: 430px) {
  .brand span { display: none; }
}

/* iPad landscape and similar widths use the compact navigation instead of
   forcing the full desktop nav beyond the viewport. */
@media (min-width: 1101px) and (max-width: 1240px) {
  .site-header { padding-left: 24px; padding-right: 24px; }
  .site-header nav,
  .site-header .header-cta,
  .site-header .language-switcher { display: none; }
  .site-header .menu { display: block; }
  .mobile-nav.open {
    display: flex;
    position: fixed;
    z-index: 25;
    inset: 0;
    background: rgba(8,26,43,.98);
    color: white;
    padding: 120px 28px max(40px,env(safe-area-inset-bottom));
    flex-direction: column;
    gap: 22px;
    font-size: 26px;
    overflow-y: auto;
  }
  .mobile-nav .btn { font-size: 13px; }
}

/* Keep full desktop navigation on common laptop widths without min-content overflow. */
@media (min-width: 1241px) and (max-width: 1450px) {
  .site-header { padding-left: 20px; padding-right: 20px; }
  .brand { min-width: 210px; }
  nav { gap: 16px; }
  .header-actions { gap: 8px; }
  .header-cta { padding-left: 14px; padding-right: 14px; }
}

/* 12) Brand mark is intentionally intrinsic, not full-bleed responsive media */
.brand img { width:46px; max-width:46px; height:46px; flex:0 0 46px; }
@media (max-width: 767px) { .brand img { width:40px; max-width:40px; height:40px; flex-basis:40px; } }
@media (orientation: landscape) and (max-height:600px) and (max-width:1000px) { .brand img { width:38px; max-width:38px; height:38px; flex-basis:38px; } }

/* =========================================================
   REAL-DEVICE LANDSCAPE SAFE-FRAME HOTFIX — 2026-09-06
   iPhone QA showed editorial photos still being cropped by
   forced aspect-ratio + object-fit:cover. In landscape-phone
   mode, real YFI photography now uses its natural ratio so the
   complete photographed subject stays inside the media frame.
   Homepage design/content is otherwise unchanged.
   ========================================================= */
@media (orientation: landscape) and (max-height: 600px) and (max-width: 1000px) {
  .school-media,
  .camp-image,
  .founder-image,
  .results-image {
    aspect-ratio: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden;
  }

  .school-media > img,
  .camp-image > img,
  .founder-image > img,
  .results-image > img {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    max-height: 76svh;
    object-fit: contain !important;
    object-position: center center !important;
  }

  .results-image {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #061523;
  }

  /* Cinematic full-bleed sections remain cover backgrounds,
     but focal point is pulled toward the photographed subject. */
  .hero-img { object-position: 60% 38% !important; }
  .performance > img { object-position: 54% 42% !important; }
}

@media (orientation: landscape) and (max-height: 430px) and (max-width: 950px) {
  .school-media > img,
  .camp-image > img,
  .founder-image > img,
  .results-image > img { max-height: 70svh; }
}

/* =========================================================
   REAL-DEVICE LANDSCAPE FRAMELOCK V2 — 2026-09-07
   Fixes the two failure modes seen on iPhone landscape:
   1) full-bleed portrait/square images cropping faces/subjects;
   2) contain + max-height shrinking editorial photography into tiny islands.
   In landscape-phone mode, full-bleed sections use a navy stage + contained
   subject image; editorial media uses full natural width with no viewport-
   height clamp. Desktop/portrait rules remain untouched.
   ========================================================= */
@media (orientation: landscape) and (max-height: 600px) and (max-width: 1000px) {
  /* HERO: show the whole approved photo instead of cropping the coach/athletes. */
  .hero { background:#081A2B; min-height:max(520px,100svh); }
  .hero-img {
    left:auto !important;
    right:0 !important;
    top:0 !important;
    bottom:0 !important;
    width:58% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:right center !important;
    background:#081A2B;
  }
  .hero-shade {
    background:linear-gradient(90deg,#081A2B 0%,rgba(8,26,43,.97) 35%,rgba(8,26,43,.72) 58%,rgba(8,26,43,.18) 100%) !important;
  }

  /* Editorial photography: large, natural-ratio frames — no tiny max-height islands. */
  .school-media,
  .camp-image,
  .founder-image,
  .results-image {
    width:min(100%,760px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    aspect-ratio:auto !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:hidden !important;
  }
  .school-media > img,
  .camp-image > img,
  .founder-image > img,
  .results-image > img {
    position:static !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
  }

  /* HIGH PERFORMANCE: preserve the full award-group photograph. */
  .performance { background:#061523; min-height:max(520px,100svh); }
  .performance > img {
    left:auto !important;
    right:0 !important;
    top:0 !important;
    bottom:0 !important;
    width:62% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:right center !important;
    background:#061523;
  }
  .performance-shade {
    background:linear-gradient(90deg,#061523 0%,rgba(6,21,35,.96) 34%,rgba(6,21,35,.66) 60%,rgba(6,21,35,.10) 100%) !important;
  }

  /* Keep the section from looking like a white empty billboard. */
  .editorial,.camp-section,.founder { padding-top:34px !important; padding-bottom:42px !important; }
}

@media (orientation: landscape) and (max-height: 430px) and (max-width: 950px) {
  .school-media,.camp-image,.founder-image,.results-image { width:min(100%,700px) !important; }
  .hero-img { width:55% !important; }
  .performance > img { width:58% !important; }
}

/* YFI HERO PHOTO UPDATE — 2026-09-08
   Keep the full approved hero photograph visible on iPhone portrait and landscape. */
@media (orientation: portrait) and (max-width: 767px) {
  .hero { min-height: 92svh; background:#081A2B; }
  .hero-img {
    top:72px !important;
    bottom:auto !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    height:48svh !important;
    object-fit:contain !important;
    object-position:center top !important;
    background:#081A2B;
  }
  .hero-shade {
    background:linear-gradient(0deg,#081A2B 0%,rgba(8,26,43,.96) 42%,rgba(8,26,43,.18) 72%,rgba(8,26,43,.06) 100%) !important;
  }
  .hero-content {
    min-height:92svh !important;
    padding-top:48svh !important;
    padding-bottom:118px !important;
    justify-content:flex-end !important;
  }
}
@media (orientation: landscape) and (max-height: 600px) and (max-width: 1000px) {
  .hero-img {
    width:52% !important;
    object-fit:contain !important;
    object-position:right center !important;
  }
}

/* YFI MASTER — iPhone landscape hero full-width fix — 2026-09-08 */
@media (orientation: landscape) and (max-height: 600px) and (max-width: 1000px) {
  .hero {
    display:block !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:hidden !important;
    padding-top:72px;
    background:#081A2B;
  }
  .hero-img {
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
    background:#081A2B;
  }
  .hero-shade { display:none !important; }
  .hero-content {
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    padding:34px 28px 42px !important;
    min-height:0 !important;
    background:#081A2B;
  }
  .hero h1 { font-size:clamp(38px,7vw,58px) !important; max-width:760px; }
  .hero-copy { font-size:14px !important; max-width:680px; }
  .hero-note { display:none !important; }
}

/* YFI MASTER — MOBILE HERO FRAMELOCK V3 — 2026-09-08
   Goal: no narrow portrait photo island. The approved hero fills the mobile viewport width,
   while the full source remains visible. Landscape uses the same photo as a full-width
   backdrop so there are no solid navy side bars, with the uncropped source kept centered. */
@media (max-width: 767px) and (orientation: portrait) {
  .hero {
    display:block !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:hidden !important;
    padding-top:72px !important;
    background:#081A2B !important;
  }
  .hero-img {
    position:relative !important;
    inset:auto !important;
    width:100vw !important;
    max-width:none !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center top !important;
    margin:0 !important;
    transform:none !important;
    background:#081A2B !important;
  }
  .hero-shade { display:none !important; }
  .hero-content {
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    padding:28px 20px 112px !important;
    background:#081A2B !important;
    display:block !important;
  }
  .hero-note { bottom:18px !important; }
}

@media (orientation: landscape) and (max-height: 600px) and (max-width: 1000px) {
  .hero {
    display:block !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:hidden !important;
    padding-top:72px !important;
    background:
      linear-gradient(rgba(8,26,43,.28),rgba(8,26,43,.28)),
      url('assets/hero.jpeg') center 38% / cover no-repeat !important;
  }
  .hero::before {
    content:"";
    position:absolute;
    top:72px;
    left:0;
    width:100%;
    height:min(76vh,430px);
    background:url('assets/hero.jpeg') center 38% / cover no-repeat;
    filter:blur(10px) brightness(.72);
    transform:scale(1.035);
    z-index:0;
  }
  .hero-img {
    position:relative !important;
    z-index:1 !important;
    inset:auto !important;
    display:block !important;
    width:100vw !important;
    max-width:none !important;
    height:min(76vh,430px) !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:0 !important;
    transform:none !important;
    background:transparent !important;
  }
  .hero-shade { display:none !important; }
  .hero-content {
    position:relative !important;
    z-index:2 !important;
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    padding:26px 28px 34px !important;
    background:#081A2B !important;
  }
  .hero h1 { font-size:clamp(36px,6.5vw,56px) !important; line-height:.92 !important; max-width:780px !important; }
  .hero-copy { font-size:14px !important; line-height:1.5 !important; max-width:720px !important; }
  .hero-note { display:none !important; }
}

/* YFI MASTER — MOBILE HERO FRAMELOCK V4 — 2026-09-08
   iPhone landscape: true edge-to-edge cinematic crop with copy over the lower image.
   This intentionally overrides the earlier contain/blur landscape experiments. */
@media (orientation: landscape) and (max-height: 600px) and (max-width: 1000px) {
  .hero {
    position:relative !important;
    display:flex !important;
    align-items:flex-end !important;
    width:100vw !important;
    min-height:100svh !important;
    height:auto !important;
    max-height:none !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
    background:#081A2B !important;
  }
  .hero::before { content:none !important; display:none !important; }
  .hero-img {
    position:absolute !important;
    inset:0 !important;
    z-index:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    transform:none !important;
    object-fit:cover !important;
    object-position:center 43% !important;
    background:transparent !important;
  }
  .hero-shade {
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    background:
      linear-gradient(0deg,rgba(5,18,31,.97) 0%,rgba(5,18,31,.82) 30%,rgba(5,18,31,.22) 63%,rgba(5,18,31,.10) 100%),
      linear-gradient(90deg,rgba(5,18,31,.54) 0%,rgba(5,18,31,.16) 62%,rgba(5,18,31,.08) 100%) !important;
  }
  .hero-content {
    position:relative !important;
    z-index:2 !important;
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:94px max(26px,env(safe-area-inset-left)) max(18px,env(safe-area-inset-bottom)) max(26px,env(safe-area-inset-left)) !important;
    background:transparent !important;
    color:#fff !important;
  }
  .hero .eyebrow {
    margin:0 0 7px !important;
    font-size:9px !important;
    letter-spacing:.17em !important;
  }
  .hero h1 {
    margin:0 !important;
    max-width:720px !important;
    font-size:clamp(34px,5.7vw,50px) !important;
    line-height:.88 !important;
    text-shadow:0 2px 18px rgba(0,0,0,.28) !important;
  }
  .hero-copy {
    margin:10px 0 12px !important;
    max-width:650px !important;
    font-size:12.5px !important;
    line-height:1.35 !important;
    color:rgba(255,255,255,.92) !important;
  }
  .hero .actions {
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:9px !important;
  }
  .hero .btn {
    min-height:38px !important;
    padding:0 15px !important;
    font-size:11px !important;
    border-radius:7px !important;
  }
  .hero-note { display:none !important; }
}

@media (orientation: landscape) and (max-height: 390px) and (max-width: 900px) {
  .hero-content { padding-top:78px !important; }
  .hero h1 { font-size:clamp(31px,5.25vw,44px) !important; }
  .hero-copy { font-size:11.5px !important; margin:8px 0 10px !important; }
  .hero .btn { min-height:34px !important; font-size:10.5px !important; }
}

/* YFI MASTER — MOBILE HERO FRAMELOCK V5 — 2026-09-08
   Portrait: headline/copy/CTAs overlay the lower portion of the photo.
   Landscape phone: show the full photograph edge-to-edge without text overlay. */
@media (orientation: portrait) and (max-width: 767px) {
  .hero {
    position:relative !important;
    min-height:100svh !important;
    height:100svh !important;
    max-height:none !important;
    overflow:hidden !important;
  }
  .hero-img {
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
  .hero-shade {
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(0deg,rgba(4,16,29,.96) 0%,rgba(4,16,29,.78) 34%,rgba(4,16,29,.18) 67%,rgba(4,16,29,.05) 100%) !important;
  }
  .hero-content {
    position:absolute !important;
    z-index:2 !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    min-height:0 !important;
    padding:0 20px calc(34px + env(safe-area-inset-bottom)) !important;
    display:block !important;
  }
  .hero h1 { font-size:clamp(42px,12vw,54px) !important; line-height:.92 !important; }
  .hero-copy { margin:18px 0 22px !important; }
  .hero-note { display:none !important; }
}

@media (orientation: landscape) and (max-height: 600px) and (max-width: 1000px) {
  .hero {
    position:relative !important;
    display:block !important;
    width:100vw !important;
    min-height:100svh !important;
    height:100svh !important;
    max-height:100svh !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
    background:#081A2B !important;
  }
  .hero-img {
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:none !important;
  }
  .hero-shade { display:none !important; }
  .hero-content { display:none !important; }
  .hero-note { display:none !important; }
}

/* YFI FINAL MEDIA QA — subject-safe responsive framing */
img{max-width:100%;display:block}
.media-frame img,.d4-photo img,.d5-founder-media img,.d5-breadth-media img,.d5-education-media img,.founder-image img,.school-media img,.camp-image img,.results-image img{width:100%;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important;background:#081a2b}
.media-frame,.d4-photo,.d5-founder-media,.d5-breadth-media,.d5-education-media,.founder-image,.school-media,.camp-image,.results-image{height:auto!important;min-height:0!important;aspect-ratio:auto!important;overflow:hidden}
@media(max-width:767px){.d4-photo img,.d5-founder-media img,.d5-breadth-media img,.d5-education-media img,.founder-image img,.school-media img,.camp-image img,.results-image img{width:100%;height:auto!important;object-fit:contain!important}}
@media(orientation:landscape) and (max-height:500px) and (max-width:1000px){.d4-photo img,.d5-founder-media img,.d5-breadth-media img,.d5-education-media img,.founder-image img,.school-media img,.camp-image img,.results-image img{width:100%;height:auto!important;object-fit:contain!important}.d4-hero{min-height:calc(100svh - 62px)!important}.d4-hero>img{width:100%!important;height:calc(100svh - 62px)!important;object-fit:contain!important;object-position:center!important;background:#081a2b!important}}
