/* Shared photographic scale. Restricted to subpage heroes; body content keeps its layout. */
body.eac-inner-page { overflow-x:clip; }
#content .eac-wide-hero { position:relative; isolation:isolate; display:flex; align-items:flex-end; width:100vw; max-width:none; min-height:clamp(510px,47vw,680px); margin:0 calc(50% - 50vw) 48px; padding:0; overflow:hidden; background:#254a51; color:white; box-sizing:border-box; }
#content .eac-wide-hero-photo { position:absolute; inset:0; margin:0; padding:0; width:100%; height:100%; }
#content .eac-wide-hero-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#142e3a08 18%,#142e3a25 46%,#112b3bde 100%); }
#content .eac-wide-hero-photo img { display:block; width:100%; max-width:none; height:100%; object-fit:cover; object-position:center 45%; }
#content .eac-wide-hero-copy { position:relative; z-index:1; width:min(1200px,calc(100% - 96px)); margin:0 auto; padding:110px 0 64px; }
#content .eac-wide-hero-label { margin:0 0 22px; padding:0; color:#fff; font:600 11px/1.6 'Noto Sans JP',sans-serif; letter-spacing:.24em; }
#content .eac-wide-hero h1 { position:static; margin:0; padding:0; max-width:1000px; font-size:clamp(30px,3.3vw,51px); font-weight:700; line-height:1.65; letter-spacing:.055em; color:white; background:none; border:0; text-shadow:0 2px 18px #132c3c70; overflow-wrap:anywhere; }
#content .eac-wide-hero-line { display:block; width:58px; height:3px; background:#efb5b7; margin-top:28px; border-radius:3px; }
/* Replaced legacy openings: do not duplicate their thumbnail, graphic title or backdrop. */
body.eac-wide-legacy #content :is(.citys_main_image,.vcs_main_image,.esas-top,.ws-top,.dn-top-head,.prc-top-head,.sac-top_main,.l-TopNameBox,.lsd-top-pht,.esap-top-pht,.cc-top_pht,.colum-top_pht,.fr-top_pht,.hc-top_pht,.store-top_scroll,.cd-top_sbpht) { display:none; }
body.eac-wide-legacy #content :is(.city-main,.vc_main,.sac-top_title,.sc-top,.eec-top,.ca_main,.oec-accordion_main,.contact_form_section) { margin-top:0; }
body.eac-wide-legacy #content .cc-top { padding-top:0; min-height:0; }
body.eac-wide-legacy #content .cc-top_contents { position:relative; inset:auto; padding-top:0; }
body.eac-wide-legacy #content .contact_title_wrapper { margin-top:0; }
/* Summer camp: edge-to-edge photography, with the existing green / cream identity. */
#content.dc-nature .dc-subhero { position:relative; isolation:isolate; display:flex; align-items:flex-end; width:100%; max-width:none; min-height:650px; margin:0; padding:0; overflow:hidden; border-radius:0; background:#163d32; }
#content.dc-nature .dc-subhero-photo { position:absolute; inset:0; width:100%; height:100%; margin:0; border:0; border-radius:0; transform:none; box-shadow:none; aspect-ratio:auto; }
#content.dc-nature .dc-subhero-photo img { width:100%; height:100%; object-fit:cover; object-position:center 40%; border-radius:0; }
#content.dc-nature .dc-subhero-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#0f342af2, #0f342a44 65%,#0f342a05); }
#content.dc-nature .dc-subhero-copy { position:relative; z-index:2; width:min(1160px,calc(100% - 96px)); margin:0 auto; padding:135px 0 90px; }
#content.dc-nature .dc-subhero-copy h1 { max-width:970px; color:#fff; font-size:clamp(34px,3.6vw,52px); line-height:1.6; }
#content.dc-nature .dc-subhero-copy .dc-eyebrow { color:#e2eec8; }
#content.dc-nature .dc-subhero-lead { max-width:650px; color:#fff; font-size:15px; }
#content.dc-nature .dc-subhero-explore { color:#fff; border-color:#ffffff80; }
#content.dc-nature .dc-subhero-photo figcaption { z-index:2; right:5%; bottom:65px; color:#fff4d8; text-shadow:0 2px 12px #173c32; }
#content.dc-nature .dc-subhero-wave { position:absolute; z-index:3; bottom:-1px; left:0; width:100%; height:42px; fill:#faf8ef; pointer-events:none; }
/* Ballet: broad photographs and elegant titles, retaining the audition navy. */
#content.bl .bl-hero { display:block; min-height:720px; padding:0; overflow:hidden; }
#content.bl .bl-hero-copy { width:min(1240px,calc(100% - 96px)); margin:auto; padding:85px 0 110px; }
#content.bl .bl-hero-copy>:not(.bl-actions) { max-width:610px; }
#content.bl .bl-hero-image { position:absolute; inset:0; z-index:-1; width:100%; height:100%; }
#content.bl .bl-hero-image img { width:100%; height:100%; max-height:none; object-fit:cover; object-position:center 35%; border-radius:0; }
#content.bl .bl-hero-image::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#fffafa 0%,#fffafaf2 22%,#fffafabd 41%,#fffafa00 73%); }
#content.bl .bl-hero-study .bl-seal { top:35px; right:35px; width:106px; height:106px; }
#content.bl .bl-hero-script { left:max(48px,calc((100vw - 1240px)/2)); bottom:15px; font-size:80px; }
body.eac-ballet-audition #content.bl .bl-hero-image::after { background:linear-gradient(90deg,#192435 0%,#192435f2 24%,#192435a8 48%,transparent 82%); }
/* Co-op: the original model and real VIC photos become the main canvas. */
#content.eac-coop .cb-hero { position:relative; isolation:isolate; padding:0; overflow:hidden; }
#content.eac-coop .cb-hero-grid { position:static; display:block; width:min(1240px,calc(100% - 96px)); padding:0; }
#content.eac-coop .cb-hero-copy { width:57%; min-height:660px; padding:62px 0 50px; }
#content.eac-coop .cb-hero-media { position:absolute; inset:0; z-index:-1; width:100%; max-width:none; height:100%; }
#content.eac-coop .cb-hero-media .cb-hero-main { inset:0; width:100%; height:100%; margin:0; border:0; border-radius:0; transform:none; box-shadow:none; }
#content.eac-coop .cb-hero-main img { object-position:75% 35%; }
#content.eac-coop .cb-hero-main::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#fff9fc 0%,#fff9fcf5 22%,#fff9fcb3 43%,#fff9fc00 73%); }
#content.eac-coop .cb-hero-media :is(.cb-hero-work,.cb-hero-friends,.cb-sticker) { display:none; }
#content.eac-coop .cb-hero-main figcaption { right:24px; left:auto; bottom:40px; }
#content.eac-coop .cb-hero-foot { position:relative; z-index:2; margin:0; padding:12px 20px; background:#fff9fc; }
#content.eac-coop .cb-program-hero { position:relative; isolation:isolate; display:flex; align-items:center; width:100%; max-width:none; min-height:690px; margin:0; padding:64px max(48px,calc((100vw - 1240px)/2)); overflow:hidden; border-radius:0; }
#content.eac-coop .cb-vic-program .cb-program-copy { position:relative; z-index:2; width:54%; padding:0; }
#content.eac-coop .cb-vic-program .cb-program-media { position:absolute; inset:0; z-index:-1; width:100%; max-width:none; height:100%; min-height:0; padding:0; margin:0; transform:none; }
#content.eac-coop .cb-vic-program .cb-program-main { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 36%; aspect-ratio:auto; border:0; border-radius:0; transform:none; }
#content.eac-coop .cb-vic-program .cb-program-media::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#fff9fc 0%,#fff9fcf5 23%,#fff9fcbf 43%,transparent 83%); }
#content.eac-coop .cb-vic-program .cb-program-small { display:none; }
#content.eac-coop .cb-vic-program .cb-photo-label { z-index:2; left:auto; right:24px; bottom:24px; }
/* Magazine and journal openings: photo first, title on its own readable paper area. */
#content.em-site :is(.em-hero,.bj-hero,.ec-hero) { display:flex; flex-direction:column; width:100vw; max-width:none; margin:0 calc(50% - 50vw) 55px; padding:0; border-radius:0; gap:0; overflow:hidden; }
#content.em-site :is(.em-hero,.bj-hero,.ec-hero)>figure { order:-1; position:relative; width:100%; height:clamp(420px,43vw,640px); min-height:0; margin:0; border-radius:0; }
#content.em-site :is(.em-hero,.bj-hero,.ec-hero)>figure img { width:100%; height:100%; object-fit:cover; border-radius:0; }
#content.em-site :is(.em-hero,.bj-hero,.ec-hero)>div { width:min(1100px,calc(100% - 80px)); padding:45px 0; margin:auto; box-sizing:border-box; }
#content.em-site .em-article-photo { width:100vw; max-width:none; margin:38px calc(50% - 50vw) 0; border-radius:0; }
#content.em-site .em-article-photo img { width:100%; height:clamp(410px,42vw,620px); object-fit:cover; border-radius:0; }
#content.em-site .em-article-photo figcaption { padding:12px 24px; }
#content.em-site .em-page-title .eac-wide-hero { margin-bottom:28px; }
#content.eac-information .eac-information-heading .eac-wide-hero { margin-bottom:28px; min-height:450px; }
#content.eac-information .eac-information-brand { display:none; }
/* A single calm entrance, without scroll-jacking or continuous movement. */
@media (prefers-reduced-motion:no-preference) {
  #content :is(.eac-wide-hero-photo img,.dc-subhero-photo img,.bl-hero-image img,.cb-hero-main img,.cb-program-main) { animation:eac-hero-settle 1.5s cubic-bezier(.2,.65,.3,1) both; }
  #content :is(.eac-wide-hero-copy,.dc-subhero-copy,.bl-hero-copy,.cb-hero-copy,.cb-program-copy) { animation:eac-hero-arrive .9s .12s cubic-bezier(.2,.65,.3,1) both; }
}
@keyframes eac-hero-settle { from {transform:scale(1.045)} to {transform:scale(1)} }
@keyframes eac-hero-arrive { from {opacity:0;translate:0 16px} to {opacity:1;translate:0 0} }
@media(max-width:760px) {
  #content .eac-wide-hero { min-height:470px; margin-bottom:30px; }
  #content .eac-wide-hero-copy { width:calc(100% - 40px); padding:160px 0 38px; }
  #content .eac-wide-hero h1 { font-size:clamp(25px,6.8vw,34px); line-height:1.65; letter-spacing:.025em; }
  #content .eac-wide-hero-label { font-size:9px; margin-bottom:16px; }
  #content.dc-nature .dc-subhero { min-height:560px; }
  #content.dc-nature .dc-subhero-copy { width:calc(100% - 40px); padding:180px 0 68px; }
  #content.dc-nature .dc-subhero-copy h1 { font-size:clamp(27px,7.5vw,36px); }
  #content.dc-nature .dc-subhero-lead { font-size:13px; line-height:1.9; }
  #content.dc-nature .dc-subhero-photo figcaption { display:none; }
  #content.dc-nature .dc-subhero-wave { height:25px; }
  /* Keep important ballet titles over the photograph, then place detail copy below. */
  #content.bl .bl-hero { display:flex; flex-direction:column; min-height:0; padding:0; --bl-mobile-photo-height:clamp(420px,116vw,560px); }
  #content.bl .bl-hero-audition { --bl-mobile-photo-height:clamp(400px,112vw,530px); }
  #content.bl .bl-hero-image { position:relative; inset:auto; order:-1; z-index:0; width:100%; height:var(--bl-mobile-photo-height); flex:none; }
  #content.bl .bl-hero-image img { object-position:center 32%; }
  #content.bl .bl-hero-image::after { background:linear-gradient(0deg,#fffafa 0%,#fffafa80 32%,transparent 62%); }
  body.eac-ballet-audition #content.bl .bl-hero-image::after { background:linear-gradient(0deg,#192435 0%,#1924358c 30%,transparent 64%); }
  #content.bl .bl-hero-copy { position:static; width:100%; padding:16px 22px 68px; }
  #content.bl .bl-hero h1 { position:absolute; top:calc(var(--bl-mobile-photo-height) - 76px - 3.3em); left:22px; right:20px; font-size:clamp(28px,7.7vw,39px); line-height:1.6; }
  #content.bl .bl-hero-audition h1 { top:calc(var(--bl-mobile-photo-height) - 38px - 3.3em); font-size:clamp(25px,6.8vw,34px); }
  #content.bl .bl-hero-sub { position:absolute; top:calc(var(--bl-mobile-photo-height) - 55px); left:22px; right:20px; font-size:14px; }
  #content.bl .bl-hero-image figcaption { bottom:auto; top:12px; right:12px; font-size:8px; }
  #content.bl .bl-hero-study .bl-seal { display:none; }
  #content.bl .bl-hero-script { font-size:48px; left:20px; bottom:12px; }
  /* Co-op mobile: an uninterrupted photograph above the readable text. */
  #content.eac-coop .cb-hero-grid { display:flex; flex-direction:column; width:100%; gap:0; }
  #content.eac-coop .cb-hero-media { position:relative; inset:auto; z-index:0; order:-1; width:100%; height:clamp(370px,100vw,500px); }
  #content.eac-coop .cb-hero-main::after { background:linear-gradient(0deg,#fff9fc,transparent 28%); }
  #content.eac-coop .cb-hero-main img { object-position:70% center; }
  #content.eac-coop .cb-hero-main figcaption { bottom:35px; right:15px; }
  #content.eac-coop .cb-hero-diploma .cb-hero-media { order:-1; }
  #content.eac-coop .cb-hero-copy { width:100%; min-height:0; padding:10px 22px 28px; box-sizing:border-box; }
  #content.eac-coop .cb-program-hero { display:flex; flex-direction:column; align-items:stretch; min-height:0; padding:0; gap:0; }
  #content.eac-coop .cb-vic-program .cb-program-media { position:relative; inset:auto; order:-1; z-index:0; width:100%; height:clamp(370px,100vw,510px); }
  #content.eac-coop .cb-vic-program .cb-program-media::after { background:linear-gradient(0deg,#fff9fc,transparent 25%); }
  #content.eac-coop .cb-vic-program .cb-program-copy { width:100%; padding:18px 22px 35px; box-sizing:border-box; }
  #content.eac-coop .cb-vic-program .cb-program-main { height:100%; width:100%; object-position:60% center; }
  #content.eac-coop .cb-vic-program .cb-photo-label { bottom:30px; right:15px; }
  #content.em-site :is(.em-hero,.bj-hero,.ec-hero)>figure { height:clamp(350px,100vw,500px); }
  #content.em-site :is(.em-hero,.bj-hero,.ec-hero)>div { width:calc(100% - 44px); padding:30px 0; }
  #content.em-site .em-article-photo img { height:clamp(330px,95vw,470px); }
  #content.eac-information .eac-information-heading .eac-wide-hero { min-height:380px; }
}

#content.eac-coop .cb-vic-program .cb-photo-label { left:auto; }
/* Keep the dancer beside the copy on wide screens; full photo on phones. */
@media(min-width:761px) {
  #content.bl .bl-hero-image { left:24%; width:76%; }
  #content.bl .bl-hero-image::after { background:linear-gradient(90deg,#fffafa,#fffafaa8 20%,transparent 52%); }
  body.eac-ballet-audition #content.bl .bl-hero-image::after { background:linear-gradient(90deg,#192435,#192435b8 23%,transparent 64%); }
}
@media(max-width:760px) {
  #content.bl .bl-hero-copy { animation:none; translate:none; transform:none; }
  #content.bl .bl-hero-image::after { height:auto; }
}

#content.dc-nature .dc-subhero-photo img { border:0; }
#content.em-site .em-article-header { display:flex; flex-direction:column; }
#content.em-site .em-article-header .em-article-photo { order:-1; margin-top:0; margin-bottom:32px; }
@media(max-width:360px) {
  #content.bl .bl-hero-audition h1 { font-size:23px; letter-spacing:.02em; }
}
#content.dc-nature .dc-subhero-photo { padding:0; animation:none; }
#content.dc-nature .dc-subhero-photo::before { display:none; }
#content.dc-nature .dc-subhero[data-camp-photo="camp-activities"] .dc-subhero-photo img { object-position:center 10%; }

/* Keep the clock tower visible in the London article hero. */
#content.em-site .em-article-header .em-article-photo img[src*="/london-westminster-thames-"] { object-position:center 20%; }
