/* EMOLiA Global introduction, framework and branch films. */
.global-choice-header{background:#fffaf3;border-bottom:0;min-height:88px}
.global-choice-header-inner{display:flex;align-items:center}
.global-choice-header .brand{width:158px}
.global-intro{position:relative;overflow:hidden;padding:74px 0 61px;background:#fffaf3;color:#102d4b}
.global-intro::before{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(90deg,#ffb934 0 20%,#4badd0 20% 40%,#b93d65 40% 60%,#87549b 60% 80%,#69a960 80%)}
.global-intro-top{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #d9dedb;padding-top:15px;color:#496477;font-size:.72rem;font-weight:800;letter-spacing:.18em}
.global-intro-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(310px,.75fr);align-items:end;gap:7%;margin-top:47px}
.global-intro h1{max-width:900px;font-size:clamp(4.3rem,7.55vw,8.25rem);line-height:.93;letter-spacing:-.075em;font-weight:800}
.global-intro h1 em{display:block;margin-top:4px;color:#23778a;font-family:Georgia,'Times New Roman',serif;font-size:.9em;font-weight:400;letter-spacing:-.065em;white-space:nowrap}
.global-intro-copy{max-width:500px;padding-bottom:11px}
.global-intro-copy p{font-size:clamp(1.18rem,1.55vw,1.55rem);line-height:1.45;letter-spacing:-.02em;font-weight:600}
.global-intro-copy strong{display:block;max-width:420px;margin-top:31px;border-top:2px solid #143e59;padding-top:18px;color:#17425b;font-size:.78rem;line-height:1.55;letter-spacing:.12em}
.global-intro-proof{display:flex;flex-wrap:wrap;gap:10px 30px;margin-top:72px;color:#4b6271;font-size:.76rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase}
.global-intro-proof span{display:inline-flex;align-items:center;gap:10px}
.global-intro-proof span::before{content:"";width:7px;height:7px;border-radius:50%;background:#ffb934}
.global-intro-proof span:nth-child(2)::before{background:#4badd0}
.global-intro-proof span:nth-child(3)::before{background:#b93d65}
.global-intro-proof span:nth-child(4)::before{background:#69a960}

.global-framework{padding:78px 0 76px;background:#0c2940;color:#fff}
.framework-heading{display:grid;grid-template-columns:1fr auto;align-items:end;gap:18px 50px}
.framework-heading .eyebrow{grid-column:1/-1;color:#9bc8d6}
.framework-heading h2{font-size:clamp(2.7rem,4.65vw,5.25rem);line-height:.99;letter-spacing:-.055em}
.framework-heading h2 em{color:#9bd0dc;font-family:Georgia,'Times New Roman',serif;font-weight:400;white-space:nowrap}
.framework-heading>p:last-child{max-width:270px;padding-bottom:5px;color:#ccdae2;font-size:1.08rem;line-height:1.45}
.framework-capabilities{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;list-style:none;margin:50px 0 0;padding:0}
.framework-capabilities li{display:flex;flex-direction:column;justify-content:space-between;gap:35px;min-height:184px;padding:23px 19px 26px;border:1px solid #ffffff2a;border-top:4px solid var(--framework-accent);background:#ffffff0b}
.framework-capabilities li:nth-child(1){--framework-accent:#ffbf4e}
.framework-capabilities li:nth-child(2){--framework-accent:#63b8d9}
.framework-capabilities li:nth-child(3){--framework-accent:#d7728b}
.framework-capabilities li:nth-child(4){--framework-accent:#ad86c7}
.framework-capabilities li:nth-child(5){--framework-accent:#8fca80}
.framework-number{color:var(--framework-accent);font-size:.86rem;font-weight:800;letter-spacing:.14em}
.framework-capabilities strong{max-width:190px;font-size:clamp(1.1rem,1.45vw,1.5rem);line-height:1.18;letter-spacing:-.035em}
.framework-flow{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:28px;border-top:1px solid #ffffff38;padding-top:23px;color:#d6e7ec;font-size:.76rem;font-weight:800;letter-spacing:.12em}
.framework-flow span{display:flex;align-items:center;gap:14px;white-space:nowrap}
.framework-flow span:not(:last-child)::after{content:"→";color:#a9d0da;font-size:1.3rem;font-weight:400;line-height:1}

.global-choice-heading h2{font-size:clamp(3.3rem,6.5vw,6.6rem);letter-spacing:-.066em;line-height:.95}
.global-choice-heading h2 em{color:#23778a}
.portal-panel>video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;opacity:0;pointer-events:none;z-index:-2;transition:opacity .25s ease,transform .6s ease}
.portal-panel.is-video-playing>video{opacity:1}
.portal-panel:hover>video,.portal-panel:focus-visible>video{transform:scale(1.075)}
.portal-schools:is(:hover,:focus-visible){--wash:#0b714a9c}
.portal-families:is(:hover,:focus-visible){--wash:#b88b189c}
.portal-corporate:is(:hover,:focus-visible){--wash:#21699b9c}
.portal-leaders:is(:hover,:focus-visible){--wash:#75459c9c}
.portal-schools>video{object-position:51% center}
.portal-families{background:linear-gradient(180deg,#9c7047,#6b5040)}
.portal-families>img,.portal-families>video{top:50%;bottom:auto;height:min(92%,500px);object-position:55% center;transform:translateY(-50%);mask-image:linear-gradient(180deg,transparent,#000 12%,#000 84%,transparent)}
.portal-families:hover>img,.portal-families:focus-visible>img,.portal-families:hover>video,.portal-families:focus-visible>video{transform:translateY(-50%) scale(1.025)}
.portal-corporate>video{object-position:53% center}
.portal-leaders>video{object-position:62% center}

@media(max-width:1080px){
  .global-intro-grid{gap:5%}
  .global-intro h1{font-size:clamp(4rem,7.7vw,6.8rem)}
  .framework-capabilities li{padding:20px 14px}
  .framework-capabilities strong{font-size:1.14rem}
}
@media(max-width:800px){
  .portal-families>img,.portal-families>video{top:0;bottom:0;height:100%;object-position:55% center;transform:none;mask-image:none}
  .portal-families:hover>img,.portal-families:focus-visible>img,.portal-families:hover>video,.portal-families:focus-visible>video{transform:scale(1.075)}
  .global-intro{padding-block:55px 54px}
  .global-intro-grid{grid-template-columns:1fr;gap:27px;margin-top:35px}
  .global-intro h1{font-size:clamp(3.8rem,10vw,6.3rem)}
  .global-intro-copy{max-width:630px}
  .global-intro-proof{margin-top:44px}
  .global-framework{padding-block:62px}
  .framework-heading{grid-template-columns:1fr}
  .framework-heading>p:last-child{max-width:540px}
  .framework-capabilities{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:33px}
  .framework-capabilities li{min-height:155px}
  .framework-capabilities li:last-child{grid-column:1/-1;min-height:125px}
  .framework-capabilities strong{max-width:none;font-size:1.42rem}
  .framework-flow{flex-wrap:wrap;justify-content:flex-start;gap:12px 20px}
}
@media(max-width:540px){
  .global-intro{padding-block:40px 47px}
  .global-intro-top{font-size:.6rem;letter-spacing:.12em}
  .global-intro h1{font-size:clamp(3.25rem,12vw,4.65rem)}
  .global-intro-copy p{font-size:1.16rem}
  .global-intro-copy strong{margin-top:23px}
  .global-intro-proof{gap:11px 16px;font-size:.67rem}
  .global-intro-proof span{width:calc(50% - 12px)}
  .global-framework{padding-block:52px}
  .framework-heading h2{font-size:clamp(2.3rem,9vw,3.5rem)}
  .framework-capabilities{grid-template-columns:1fr;gap:8px}
  .framework-capabilities li,.framework-capabilities li:last-child{grid-column:auto;min-height:103px;gap:14px}
  .framework-capabilities strong{font-size:1.3rem}
  .framework-flow{gap:8px 13px;font-size:.63rem;letter-spacing:.08em}
  .framework-flow span{gap:8px}
  .framework-flow span:not(:last-child)::after{font-size:1.05rem}
  .global-choice-heading h2{font-size:clamp(3rem,12vw,4.5rem)}
}
.portal-link{position:absolute;inset:0;z-index:4}
.portal-link:focus-visible{outline:5px solid var(--accent);outline-offset:-8px}
.portal-top,.portal-bottom{pointer-events:none}
.portal-preview{display:none;position:absolute;top:20px;right:20px;z-index:5;align-items:center;gap:8px;min-height:44px;border:1px solid #ffffffb8;border-radius:999px;padding:8px 13px;background:#071b28d9;color:#fff;font:inherit;font-size:.83rem;font-weight:750;cursor:pointer;backdrop-filter:blur(8px)}
.portal-preview:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.portal-preview[aria-pressed="true"]{background:var(--accent);color:#102d4b}
.portal-preview span{font-size:.8rem}
.portal-panel:focus-within>img,.portal-panel:focus-within>video{transform:scale(1.075)}
.portal-families:focus-within>img,.portal-families:focus-within>video{transform:translateY(-50%) scale(1.025)}
.portal-panel:focus-within .portal-arrow{background:var(--accent);color:#102d4b}
.portal-schools:is(:focus-within,.is-video-playing){--wash:#0b714a9c}
.portal-families:is(:focus-within,.is-video-playing){--wash:#b88b189c}
.portal-corporate:is(:focus-within,.is-video-playing){--wash:#21699b9c}
.portal-leaders:is(:focus-within,.is-video-playing){--wash:#75459c9c}
@media(hover:none),(max-width:800px){.portal-preview{display:inline-flex}.portal-arrow{visibility:hidden}}
@media(max-width:800px){.portal-families:focus-within>img,.portal-families:focus-within>video{transform:scale(1.075)}}
@media(prefers-reduced-motion:reduce){.portal-preview{display:none!important}.portal-panel>img,.portal-panel>video{transition:none}}

/* The longer French headline needs its own scale within the two-column intro. */
html[lang="fr"] .global-intro-grid>*{min-width:0}
html[lang="fr"] .global-intro h1{max-width:100%;font-size:clamp(3.1rem,4vw,5rem);letter-spacing:-.055em}
html[lang="fr"] .framework-heading h2{font-size:clamp(2.7rem,4vw,4.7rem)}
@media(max-width:800px){
  html[lang="fr"] .global-intro h1{font-size:clamp(3rem,7vw,4.4rem)}
}
@media(max-width:540px){
  html[lang="fr"] .global-intro h1{font-size:clamp(2.35rem,9vw,3.1rem)}
  html[lang="fr"] .global-intro h1 em{white-space:normal}
}
