@font-face{font-family:ModakLocal;src:url('/assets/fonts/modak.ttf') format('truetype');font-display:swap}
@font-face{font-family:SoraLocal;src:url('/assets/fonts/sora-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:SoraLocal;src:url('/assets/fonts/sora-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:SoraLocal;src:url('/assets/fonts/sora-800.ttf') format('truetype');font-weight:800;font-display:swap}
.alliance-view{--blue:#51B7E8;--orange:#FCB815;--white:#FFFFFF;--ease:cubic-bezier(.22,.61,.36,1)}
.alliance-view *{box-sizing:border-box}
.alliance-view button{font:inherit}
.alliance-view button:focus-visible{outline:5px solid var(--orange);outline-offset:6px}
.alliance-view .blue{background:var(--blue)!important}
.alliance-view .orange{background:var(--orange)!important}
.alliance-view .view{min-height:100dvh}
.alliance-view .view-shell{position:relative;width:min(1540px,94vw);margin:auto;padding:clamp(70px,7vw,120px) 0 clamp(92px,8vw,140px)}
.alliance-view .decor-circle{position:absolute;border-radius:50%;z-index:-1;opacity:.10;pointer-events:none}
.alliance-view .decor-a{width:clamp(230px,24vw,420px);aspect-ratio:1;left:-12vw;top:17vh}
.alliance-view .decor-b{width:clamp(180px,18vw,320px);aspect-ratio:1;right:-9vw;top:64vh}
.alliance-view .kicker{font-size:clamp(13px,1vw,16px);font-weight:800;letter-spacing:.16em;color:var(--orange)}
.alliance-view .hero{min-height:min(780px,82dvh);display:grid;grid-template-columns:minmax(0,1.16fr) minmax(360px,.84fr);gap:clamp(42px,7vw,120px);align-items:center}
.alliance-view .hero-right .hero-copy{order:2}
.alliance-view .hero-right .hero-visual{order:1;justify-self:start}
.alliance-view .hero-copy h1{margin:12px 0 24px;font:400 clamp(82px,8.5vw,156px)/.82 ModakLocal;color:var(--blue);letter-spacing:-.02em}
.alliance-view .hero-line{max-width:34ch;margin:0;font-size:clamp(24px,1.95vw,34px);line-height:1.5;font-weight:600;color:var(--blue)}
.alliance-view .hero-visual{justify-self:end}
.alliance-view .image-circle{border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--white)}
.alliance-view .image-circle img{width:100%;height:100%;object-fit:cover}
.alliance-view .portrait-main{width:min(36vw,560px);aspect-ratio:1}
.alliance-view .portrait-main img{filter:grayscale(1)}
.alliance-view .intro-layout{display:grid;grid-template-columns:clamp(150px,13vw,210px) minmax(0,1fr);gap:clamp(34px,5vw,78px);align-items:start;padding:clamp(50px,5vw,82px) 0}
.alliance-view .label-circle{width:clamp(142px,12vw,190px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;text-align:center;padding:12%;position:sticky;top:40px}
.alliance-view .label-circle span{font:400 clamp(28px,2.7vw,46px)/.92 ModakLocal;color:var(--white)}
.alliance-view .intro-copy{max-width:82ch}
.alliance-view .source-text{white-space:pre-wrap;margin:0 0 1.25em;font-size:clamp(23px,1.75vw,31px);line-height:1.7;font-weight:600;color:var(--blue)}
.alliance-view .source-text:last-child{margin-bottom:0}
.alliance-view .featured-circles,.alliance-view .people-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:clamp(26px,5vw,72px);padding:clamp(34px,5vw,76px) 0}
.alliance-view .featured-circles{padding-top:22px}
.alliance-view .person-figure,.alliance-view .featured-circles figure,.alliance-view .partner-item{margin:0;text-align:center;color:var(--blue)}
.alliance-view .person-figure figcaption,.alliance-view .featured-circles figcaption,.alliance-view .partner-item figcaption{max-width:21ch;margin:16px auto 0;font-size:clamp(15px,1.1vw,18px);line-height:1.35;font-weight:800;color:var(--blue)}
.alliance-view .logo-circle{width:clamp(132px,11vw,172px);aspect-ratio:1;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--white)}
.alliance-view .logo-circle.large{width:clamp(170px,15vw,240px)}
.alliance-view .logo-circle img{width:84%;height:84%;object-fit:contain}
.alliance-view .person-circle{width:clamp(230px,23vw,360px);aspect-ratio:1}
.alliance-view .person-circle img{object-position:center top}
.alliance-view .reveal-control{display:flex;justify-content:center;padding:clamp(28px,3vw,48px) 0 clamp(70px,7vw,110px)}
.alliance-view .reveal-circle,.alliance-view .close-circle{border:0;border-radius:50%;cursor:pointer;color:var(--white);transition:transform .55s var(--ease)}
.alliance-view .reveal-circle:hover,.alliance-view .close-circle:hover{transform:scale(1.055)}
.alliance-view .reveal-circle{width:clamp(150px,13vw,210px);aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;background:var(--blue)}
.alliance-view .reveal-main{font:400 clamp(30px,2.9vw,48px)/.9 ModakLocal;color:var(--white)}
.alliance-view .reveal-small{font-size:clamp(24px,2vw,32px);font-weight:800;color:var(--white)}
.alliance-view .more-content{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .9s var(--ease),opacity .75s var(--ease),visibility .9s var(--ease)}
.alliance-view .more-content>*{overflow:hidden}
.alliance-view .more-content.is-open{grid-template-rows:1fr;opacity:1;visibility:visible}
.alliance-view .more-content.is-open>*{overflow:visible}
.alliance-view .reading-flow{max-width:82ch;margin:0 auto;padding:clamp(36px,4vw,64px) 0}
.alliance-view .reading-flow .source-text{font-size:clamp(23px,1.68vw,30px);line-height:1.72}
.alliance-view .reading-flow .source-text:nth-child(odd){color:var(--blue)}
.alliance-view .reading-flow .source-text:nth-child(even){color:var(--orange)}
.alliance-view .partners-section{padding:clamp(64px,7vw,110px) 0}
.alliance-view .partners-section>.label-circle{position:static;margin:0 auto 28px}
.alliance-view .partners-section h2{margin:0 0 clamp(38px,5vw,72px);text-align:center;font:400 clamp(62px,6vw,106px)/.88 ModakLocal;color:var(--blue)}
.alliance-view .partner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(30px,4.5vw,64px) clamp(18px,3vw,42px);justify-items:center;align-items:start}
.alliance-view .close-wrap{display:flex;justify-content:center;padding:28px 0 18px}
.alliance-view .close-circle{width:clamp(118px,10vw,156px);aspect-ratio:1;font-weight:800;font-size:clamp(17px,1.3vw,22px);background:var(--orange)}
@media(max-width:1100px){.alliance-view .hero{grid-template-columns:1fr;min-height:auto;padding-bottom:44px}}
@media(max-width:1100px){.alliance-view .hero-right .hero-copy,.alliance-view .hero-right .hero-visual{order:initial}}
@media(max-width:1100px){.alliance-view .hero-visual,.alliance-view .hero-right .hero-visual{justify-self:center}}
@media(max-width:1100px){.alliance-view .portrait-main{width:min(58vw,520px)}}
@media(max-width:1100px){.alliance-view .intro-layout{grid-template-columns:128px minmax(0,1fr)}}
@media(max-width:1100px){.alliance-view .label-circle{width:118px}}
@media(max-width:1100px){.alliance-view .partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.alliance-view .view-shell{width:min(100% - 28px,760px);padding-top:58px}}
@media(max-width:760px){.alliance-view .hero{gap:34px}}
@media(max-width:760px){.alliance-view .hero-copy h1{font-size:clamp(62px,16vw,96px);margin-top:8px}}
@media(max-width:760px){.alliance-view .hero-line{font-size:clamp(21px,5.2vw,26px)}}
@media(max-width:760px){.alliance-view .portrait-main{width:min(84vw,460px)}}
@media(max-width:760px){.alliance-view .intro-layout{display:block;padding:50px 0}}
@media(max-width:760px){.alliance-view .label-circle{position:static;width:116px;margin-bottom:28px}}
@media(max-width:760px){.alliance-view .label-circle span{font-size:29px}}
@media(max-width:760px){.alliance-view .source-text,.alliance-view .reading-flow .source-text{font-size:clamp(20px,5vw,23px);line-height:1.72}}
@media(max-width:760px){.alliance-view .person-circle{width:min(70vw,320px)}}
@media(max-width:760px){.alliance-view .featured-circles{gap:30px}}
@media(max-width:760px){.alliance-view .logo-circle.large{width:min(46vw,190px)}}
@media(max-width:760px){.alliance-view .partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 12px}}
@media(max-width:760px){.alliance-view .partner-item figcaption{font-size:14px}}
@media(max-width:760px){.alliance-view .logo-circle{width:min(38vw,150px)}}
@media(max-width:760px){.alliance-view .decor-circle{opacity:.07}}
@media(max-width:420px){.alliance-view .view-shell{width:min(100% - 20px,420px)}}
@media(max-width:420px){.alliance-view .hero-copy h1{font-size:clamp(56px,15vw,74px)}}
@media(max-width:420px){.alliance-view .hero-line{font-size:20px}}
@media(max-width:420px){.alliance-view .source-text,.alliance-view .reading-flow .source-text{font-size:20px;line-height:1.75}}
@media(max-width:420px){.alliance-view .partner-grid{grid-template-columns:1fr 1fr}}
@media(max-height:620px) and (orientation:landscape){.alliance-view .view-shell{padding-top:48px}}
@media(max-height:620px) and (orientation:landscape){.alliance-view .hero{grid-template-columns:1.15fr .85fr;gap:34px;min-height:auto}}
@media(max-height:620px) and (orientation:landscape){.alliance-view .hero-copy h1{font-size:70px}}
@media(max-height:620px) and (orientation:landscape){.alliance-view .hero-line{font-size:20px}}
@media(max-height:620px) and (orientation:landscape){.alliance-view .portrait-main{width:min(34vw,300px)}}
@media(prefers-reduced-motion:reduce){.alliance-view *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.alliance-view .more-content:not(.is-open){display:none}
.alliance-view{--portal-background: radial-gradient(ellipse at 18% 28%, #f9cf8f99, transparent 48%), radial-gradient(ellipse at 80% 66%, #74bee080, transparent 48%), radial-gradient(ellipse at 58% 8%, #a3d7ed66, transparent 42%), radial-gradient(ellipse at 42% 95%, #f6be7566, transparent 48%), linear-gradient(125deg, #fff2dd, #edf7fa 55%, #f8e8d0); --blue:#56B8E8; --orange:#FFB812;}
.alliance-view .view-shell{padding-top:clamp(32px,4vw,64px);}
.alliance-view .decor-circle{display:none;}
.alliance-view .alliance-directory{padding-bottom:clamp(60px,8vw,120px);}
.alliance-view .alliance-directory h1{margin:0 100px 54px 0; font:400 clamp(42px,5vw,76px)/1 ModakLocal,Arial,sans-serif; color:var(--blue);}
.alliance-view .alliance-directory .partner-item{width:100%; opacity:0; transform:translateX(-36px);}
.alliance-view.partners-ready .alliance-directory .partner-item{animation:partner-arrive 700ms cubic-bezier(.22,.8,.24,1) var(--partner-delay) both;}
.alliance-view .alliance-directory .logo-circle{margin-inline:auto; background:var(--blue); border:1px solid #fff; width:clamp(144px,14vw,220px);}
.alliance-view .alliance-directory .logo-circle img{width:72%; height:72%;}
.alliance-view.partners-ready .alliance-directory .logo-circle{animation:partner-pulse 4.8s ease-in-out calc(var(--partner-delay) + 700ms) infinite;}
@keyframes partner-arrive{to{opacity:1; transform:translateX(0);}}
@keyframes partner-pulse{0%,100%{scale:1;}}
@keyframes partner-pulse{50%{scale:1.035;}}
@media(max-width:760px){.alliance-view .alliance-directory .logo-circle{width:min(38vw,180px);}}
@media(max-width:760px){.alliance-view .alliance-directory h1{margin-bottom:38px;}}
@media(prefers-reduced-motion:reduce){.alliance-view .alliance-directory .partner-item{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){.alliance-view.partners-ready .alliance-directory .partner-item,.alliance-view.partners-ready .alliance-directory .logo-circle{animation:none;}}
body[data-view='savez-optimizma'] .alliance-view.is-active {display:block!important;position:relative;min-height:100dvh;height:auto;padding:0!important;overflow:visible;}
.alliance-view::before,.alliance-view::after {display:none!important;}
.alliance-view .more-content {display:none;}
.alliance-view .more-content.is-open {display:block;}
.alliance-view .alliance-directory .logo-circle {animation-play-state:paused;}
body[data-view='savez-optimizma'] .alliance-view.partners-ready .alliance-directory .pulse-visible .logo-circle {animation-play-state:running;}

.alliance-view.partners-ready .alliance-directory .logo-circle {animation-play-state:paused;}
body[data-view="savez-optimizma"] .alliance-view.partners-ready .alliance-directory .pulse-visible .logo-circle {animation-play-state:running;}

/* The fixed stories need only an entry boundary, not another viewport of empty scroll. */
.alliance-view .alliance-reading-track {height:1px;position:relative;width:100%;}
.alliance-view .alliance-reading-scene {position:sticky;top:0;width:100%;height:100dvh;overflow:hidden;}
.alliance-view .alliance-reading-panel {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:100px max(28px,7vw) 84px;clip-path:circle(0px at 0% 100%);}
.alliance-view .alliance-reading-sun {background:#FFB812;}
.alliance-view .alliance-reading-sky {background:#56B8E8;clip-path:circle(0px at 100% 100%);}
.alliance-view .alliance-reading-text {width:min(100%,1100px);max-height:100%;overflow-y:auto;overscroll-behavior-y:auto;padding:12px 18px 28px;box-sizing:border-box;scrollbar-gutter:stable both-edges;opacity:0;transform:translateX(-100vw);}
.alliance-view .alliance-reading-text .source-text {color:#fff!important;font-family:Arial,sans-serif;font-size:clamp(18px,1.5vw,26px);font-weight:700;line-height:1.65;margin:0 0 1.25em;white-space:normal;}
.alliance-view .alliance-reading-sun .alliance-reading-text {scrollbar-color:#56B8E8 transparent;}
.alliance-view .alliance-reading-sky .alliance-reading-text {scrollbar-color:#FFB812 transparent;}
.alliance-view .alliance-text-top-controls {position:absolute;bottom:20px;left:0;right:0;display:flex;justify-content:space-between;padding:0 max(24px,7vw);pointer-events:none;}
.alliance-view .alliance-text-top-controls[hidden] {display:none;}
.alliance-view .alliance-text-top-controls button {width:52px;height:52px;padding:12px;border:1px solid #fff;border-radius:50%;background:#56B8E8;color:#fff;pointer-events:auto;cursor:pointer;}
.alliance-view .alliance-reading-sky .alliance-text-top-controls button {background:#FFB812;}
.alliance-view .alliance-text-top-controls svg {display:block;width:100%;height:100%;}
.alliance-view .alliance-text-top-controls button:hover {scale:1.08;}
@media(max-width:820px) {.alliance-view .alliance-reading-panel {padding:96px 16px 90px;} .alliance-view .alliance-reading-text {padding-inline:8px;}}

/* Reading scene is fixed to the viewport, outside transformed portal containers. */
.alliance-reading-scene {position:fixed;inset:0;width:100%;height:100dvh;z-index:20;overflow:hidden;visibility:hidden;pointer-events:none;}
.alliance-reading-scene.is-reading {visibility:visible;pointer-events:auto;}
.alliance-reading-scene .alliance-reading-panel {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:90px max(28px,7vw) 84px;box-sizing:border-box;}
.alliance-reading-scene .alliance-reading-sun {background:#FFB812;}
.alliance-reading-scene .alliance-reading-sky {background:#56B8E8;}
.alliance-reading-scene .alliance-ckd-logo {display:block;width:min(100%,400px);height:auto;margin:32px auto 0;padding:12px;background:#fff;}
.alliance-reading-scene .alliance-reading-text {width:min(100%,1100px);height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 18px 28px;box-sizing:border-box;scrollbar-gutter:stable both-edges;}
.alliance-reading-scene .source-text {color:#fff;font:700 clamp(18px,1.5vw,26px)/1.65 Arial,sans-serif;margin:0 0 1.25em;white-space:normal;}
.alliance-reading-scene .alliance-reading-sun .alliance-reading-text {scrollbar-color:#56B8E8 transparent;}
.alliance-reading-scene .alliance-reading-sky .alliance-reading-text {scrollbar-color:#FFB812 transparent;}
.alliance-reading-scene .alliance-text-top-controls {position:absolute;bottom:20px;left:0;right:0;display:flex;justify-content:space-between;padding:0 max(24px,7vw);pointer-events:none;}
.alliance-reading-scene .alliance-text-top-controls[hidden] {display:none;}
.alliance-reading-scene .alliance-text-top-controls button {width:52px;height:52px;padding:12px;border:1px solid #fff;border-radius:50%;background:#56B8E8;color:#fff;pointer-events:auto;}
.alliance-reading-scene .alliance-reading-sky .alliance-text-top-controls button {background:#FFB812;}
.alliance-reading-scene .alliance-text-top-controls svg {display:block;width:100%;height:100%;}
@media(max-width:820px) {.alliance-reading-scene .alliance-reading-panel {padding:90px 16px 84px;} .alliance-reading-scene .alliance-reading-text {padding-inline:8px;}}

.alliance-reading-scene .alliance-reading-title {position:absolute;top:28px;right:128px;z-index:2;margin:0;color:#56B8E8;font:400 clamp(42px,5vw,76px)/1 ModakLocal,Arial,sans-serif;}
.alliance-reading-scene .alliance-reading-panel {padding-top:clamp(150px,20vh,200px);}
@media(max-width:820px) {.alliance-reading-scene .alliance-reading-title {top:30px;right:108px;font-size:clamp(30px,7vw,48px);} .alliance-reading-scene .alliance-reading-panel {padding-top:140px;}}

.alliance-reading-title {opacity:0;transform:translateX(100vw);}
.alliance-reading-title-sky {color:#56B8E8;}
.alliance-reading-title-sky .alliance-title-tone {position:absolute;inset:0;color:#FFB812;clip-path:inset(0 100% 0 0);white-space:nowrap;}
.alliance-reading-title-sky > span {white-space:nowrap;}

.alliance-reading-scene .alliance-reading-title,
.alliance-reading-scene .alliance-reading-title * {font-family:ModakLocal,Modak,Arial,sans-serif!important;font-weight:400!important;font-size:inherit;line-height:inherit;}
.alliance-reading-scene .alliance-reading-title {font-size:clamp(42px,5vw,76px);}
@media(max-width:820px){.alliance-reading-scene .alliance-reading-title{font-size:clamp(30px,7vw,48px);}}
