/* Four cards combine into an explanation. One semantic scene, repeated in 12 seconds. */
.home .hero--cards{min-height:0;background:radial-gradient(ellipse at 79% 42%,#e9dce9 0,transparent 45%)}
.home .hero--cards .hero-inner{display:grid;grid-template-columns:.94fr 1.06fr;gap:32px;align-items:center;padding-top:132px;padding-bottom:54px}
.home .hero--cards .hero-copy{width:auto;max-width:none;min-width:0}
.home .hero--cards h1{font-size:clamp(58px,6.5vw,94px)}
.home .hero--cards .hero-lead{white-space:normal;font-size:21px}
.home.en-page .hero--cards h1{font-size:clamp(55px,6vw,86px)}
.home.en-page .hero--cards .hero-lead{font-size:18px}
.hero-card-film{margin:0;min-width:0;color:#4d2030;--film-duration:12s}
.film-heading{display:flex;justify-content:space-between;align-items:center;font:10px/1.6 var(--sans);letter-spacing:1.5px;padding:0 12px}
.film-loop{font:11px Georgia,serif;letter-spacing:1px;color:#92798a}
.film-stage{height:405px;position:relative;perspective:1000px}
.film-orbit{position:absolute;width:84%;height:74%;left:9%;top:12%;border:1px solid #b79aae45;border-radius:50%;transform:rotate(-24deg)}
.film-card{position:absolute;border-radius:16px;border:1px solid #cfbbae;box-shadow:0 16px 35px #4d203016,0 2px 4px #4d20300a;padding:20px;display:flex;flex-direction:column;justify-content:space-between;will-change:transform,opacity}
.film-card-label{font:10px/1.6 var(--sans);letter-spacing:1px;display:block}
.film-start{left:4%;top:23%;width:43%;height:198px;background:#fffaf1;transform:rotate(-9deg);animation:film-start var(--film-duration) infinite both}
.film-start>strong{font:clamp(37px,4.5vw,62px)/1 Georgia,serif;letter-spacing:-2px}
.film-card-foot{font:10px/1.65 var(--sans);max-width:170px;color:#7a635f}
.film-context{left:28%;top:1%;width:40%;height:150px;background:#dce8d3ed;border-color:#a9bb9b;z-index:2;transform:rotate(8deg);animation:film-context var(--film-duration) infinite both}
.film-context>strong{font:500 34px/1.15 var(--serif);letter-spacing:-1px}
.film-context .film-card-foot{color:#4c6447}
.film-relationship{position:absolute;left:9%;top:70%;width:43%;background:#e4d6e9;border:1px solid #c6adce;border-radius:9px;padding:12px 15px;z-index:3;animation:film-relation var(--film-duration) infinite both}
.film-relationship>span{display:block;font:9px/1.6 var(--sans);color:#79627f;margin-bottom:3px}
.film-relationship>b{display:block;font:500 12px/1.5 var(--sans)}
.film-result{left:55%;top:25%;width:40%;height:236px;background:#4d2030;color:#fff6e9;z-index:4;border-color:#643344;transform:rotate(7deg);animation:film-result var(--film-duration) infinite both}
.film-result img{width:145px;max-width:95%;height:145px;object-fit:contain;align-self:center;filter:drop-shadow(0 8px 9px #21061130)}
.film-result>strong{font:500 23px/1.1 var(--serif);letter-spacing:-.5px}
.film-arrow{position:absolute;left:49%;top:52%;font:30px Georgia,serif;animation:film-result var(--film-duration) infinite both}
.film-grid{position:absolute;left:4%;bottom:0;right:4%;display:grid;grid-template-columns:.9fr 1.4fr .9fr .8fr;border:1px solid #d2bfb6;border-radius:8px;overflow:hidden;background:#fffaf2;animation:film-grid var(--film-duration) infinite both}
.film-grid>span{padding:10px 9px;min-width:0;display:flex;flex-direction:column;gap:6px}
.film-grid>span+span{border-left:1px solid #dbcac3}.film-grid>span:nth-child(3){background:#e1e9d6}
.film-grid small{font:9px/1.3 var(--sans);color:#877466}.film-grid b{font:500 11px/1.5 var(--sans);overflow-wrap:anywhere}
.hero-card-film figcaption{font:12px/1.7 var(--sans);text-align:center;margin-top:22px}
.film-controls{display:flex;justify-content:center;align-items:center;gap:25px;margin-top:13px;font:11px/1.6 var(--sans)}
.film-controls a{color:#4d2030;border-bottom:1px solid #b69b9f;padding:3px 0}.film-controls button{font:inherit;background:none;border:0;color:#806b73;padding:7px;cursor:pointer}.film-controls button:hover{color:#4d2030}.film-controls button:focus-visible,.film-controls a:focus-visible{outline:2px solid #4d2030;outline-offset:4px}
.hero-card-film.is-paused .film-stage *{animation-play-state:paused!important}
@keyframes film-start{0%,5%{opacity:0;transform:translate(-22px,18px) rotate(-16deg)}12%,79%{opacity:1;transform:translate(0,0) rotate(-9deg)}89%,100%{opacity:0;transform:translate(-15px,15px) rotate(-12deg)}}
@keyframes film-context{0%,14%{opacity:0;transform:translate(35px,-30px) rotate(17deg)}27%{opacity:1;transform:translate(-15px,36px) rotate(3deg)}38%,79%{opacity:1;transform:translate(0,0) rotate(8deg)}89%,100%{opacity:0;transform:translate(20px,-18px) rotate(15deg)}}
@keyframes film-relation{0%,22%{opacity:0;transform:translateY(14px)}33%,79%{opacity:1;transform:translateY(0)}89%,100%{opacity:0;transform:translateY(12px)}}
@keyframes film-result{0%,32%{opacity:0;transform:translate(-60px,22px) rotate(-9deg) scale(.85)}47%,79%{opacity:1;transform:translate(0,0) rotate(7deg) scale(1)}89%,100%{opacity:0;transform:translate(20px,-8px) rotate(10deg) scale(.95)}}
@keyframes film-grid{0%,45%{opacity:0;transform:translateY(10px)}56%,79%{opacity:1;transform:translateY(0)}89%,100%{opacity:0;transform:translateY(8px)}}
@media(min-width:1400px){.film-stage{height:440px}.film-start{height:215px}.film-context{height:165px}.film-result{height:255px}.film-result img{height:160px;width:160px}}
@media(max-width:960px){.home .hero--cards .hero-inner{grid-template-columns:1fr;gap:34px;padding-top:125px;padding-bottom:38px}.home .hero--cards .hero-copy{max-width:650px}.hero-card-film{width:100%;max-width:610px;justify-self:center}.home .hero--cards h1,.home.en-page .hero--cards h1{font-size:clamp(58px,9vw,82px)}.film-start>strong{font-size:56px}}
@media(max-width:600px){.home .hero--cards .hero-inner{padding-top:119px;gap:35px}.home .hero--cards h1,.home.en-page .hero--cards h1{font-size:clamp(48px,11.5vw,68px)}.home .hero--cards .hero-lead{font-size:17px}.home.en-page .hero--cards .hero-lead{font-size:16px}.film-heading{font-size:8px;padding:0 3px}.film-stage{height:385px}.film-card{padding:15px;border-radius:12px}.film-start{height:175px;top:21%;left:1%;width:44%}.film-start>strong{font-size:43px}.film-card-foot{font-size:9px}.film-context{height:136px;left:28%;width:43%;top:1%}.film-context>strong{font-size:27px}.film-result{left:55%;top:28%;width:43%;height:195px}.film-result img{height:113px;width:113px}.film-card-label{font-size:9px}.film-result>strong{font-size:21px}.film-relationship{left:5%;top:68%;width:46%;padding:9px 10px}.film-relationship>b{font-size:10px}.film-grid{left:0;right:0}.film-grid>span{padding:8px 6px}.film-grid b{font-size:9px}.hero-card-film figcaption{font-size:11px;margin-top:17px}.film-controls{margin-top:9px}}
@media(prefers-reduced-motion:reduce){.hero-card-film .film-stage *{animation:none!important}.film-start,.film-context,.film-relationship,.film-result,.film-arrow,.film-grid{opacity:1}.film-controls button{display:none}}
/* Larger two-context presentation, alternating once per complete composition. */
.home .hero--cards .hero-inner{grid-template-columns:.8fr 1.2fr;gap:28px;padding-bottom:48px}
.film-stage{height:480px}.film-start{height:235px;top:24%}.film-context{height:180px}.film-context>strong{font-size:clamp(27px,3vw,40px)}.film-result{height:285px;top:25%}.film-result img{width:185px;height:185px}.film-result>strong{font-size:29px}.film-start>strong{font-size:68px}.film-card-label{font-size:11px}.film-card-foot{font-size:11px}.film-grid b{font-size:12px}.film-grid>span{padding:12px 10px}.hero-card-film figcaption{font-size:14px}
.film-domains{display:flex;gap:8px;margin:16px 10px 0}.film-domains button{border:1px solid #cbbcb2;border-radius:30px;background:#fff9ef;color:#796675;padding:9px 15px;cursor:pointer;font:12px/1.5 var(--sans)}.film-domains button span{font:10px Georgia,serif;margin-right:8px;opacity:.6}.film-domains button[aria-pressed=true]{background:#dce8d3;border-color:#a2b68f;color:#395139}.film-domains button[data-film-scene=company][aria-pressed=true]{background:#d8e8f2;border-color:#9eb9d2;color:#2e5174}.film-domains button:focus-visible{outline:2px solid #4d2030;outline-offset:3px}
.hero-card-film[data-scene=company] .film-context,.hero-card-film[data-scene=company] .film-grid>span:nth-child(3){background:#d8e8f2ed;border-color:#9eb9d2}.hero-card-film[data-scene=company] .film-context .film-card-foot{color:#42627a}.hero-card-film[data-scene=company] .film-result{background:#293f57;border-color:#46617c}.film-company-mark{display:flex;flex-direction:column;font:58px/.95 Georgia,serif;letter-spacing:-2px;padding:20px 0}.film-company-mark>span{font-size:42px;margin-top:6px}.film-company-mark>small{font:10px/1.6 var(--sans);letter-spacing:1px;margin-top:18px;color:#c5d8e7}.film-company-mark[hidden],.film-result img[hidden]{display:none!important}.film-stage.is-restarting *{animation:none!important}
@media(min-width:1400px){.film-stage{height:510px}.film-start{height:250px}.film-context{height:190px}.film-result{height:300px}.film-result img{width:200px;height:200px}}
@media(max-width:1100px) and (min-width:961px){.home .hero--cards h1,.home.en-page .hero--cards h1{font-size:64px}.home .hero--cards .hero-lead{font-size:18px}.home .hero--cards .hero-actions{gap:16px;flex-wrap:wrap}.film-card{padding:16px}.film-start>strong{font-size:57px}.film-context>strong{font-size:28px}}
@media(max-width:960px){.home .hero--cards .hero-inner{grid-template-columns:1fr}.hero-card-film{max-width:700px}.film-context>strong{font-size:38px}}
@media(max-width:600px){.film-stage{height:420px}.film-start{height:195px}.film-start>strong{font-size:45px}.film-context{height:150px}.film-context>strong{font-size:25px}.film-result{height:235px;top:25%}.film-result img{width:140px;height:140px}.film-result>strong{font-size:24px}.film-company-mark{font-size:43px;padding:12px 0}.film-company-mark>span{font-size:34px}.film-company-mark>small{font-size:9px;margin-top:12px}.film-card-label{font-size:9px}.film-card-foot{font-size:9px}.film-grid b{font-size:10px}.film-grid>span{padding:9px 7px}.film-domains{margin:15px 0 0;gap:7px}.film-domains button{font-size:11px;padding:8px 12px}.hero-card-film figcaption{font-size:12px}.film-relationship{top:72%}}
/* Alternative B: a translucent domain sheet aligns with the base card itself. */
.film-stage--overlay{height:520px;perspective:1200px}
.film-stage--overlay .film-orbit{width:80%;height:70%;left:10%;top:10%;border-color:#b79aae38}
.film-stage--overlay .overlay-shadow{position:absolute;left:24%;top:78%;width:55%;height:16px;border-radius:50%;background:#4d203022;filter:blur(13px)}
.film-stage--overlay .film-start,.film-stage--overlay .film-context{left:23%;top:9%;width:55%;height:360px;border-radius:19px;padding:22px 24px;transform:rotate(-5deg)}
.film-stage--overlay .film-start{background:#fffdf5;border:1px solid #d5c9b6;box-shadow:0 22px 45px #4d203022,5px 7px 0 #e6ded5,6px 8px 0 #cabeb1;display:block;animation:overlay-base var(--film-duration) infinite both}
.film-stage--overlay .film-start>.film-card-label{position:absolute;right:20px;bottom:15px;color:#8c8277;font-size:9px}
.film-stage--overlay .film-start>strong{display:block;text-align:center;margin-top:91px;font:56px/1 Georgia,serif;letter-spacing:-2px;color:#342634}
.film-stage--overlay .film-context{z-index:5;background:linear-gradient(180deg,#4d956bb8 0,#70ad89a6 23%,#8dc7a43b 24%,#c2dfce26 100%);border:1px solid #5e9c78a6;box-shadow:inset 1px 1px 1px #ffffffa6,0 9px 20px #35654c13;display:block;animation:overlay-sheet var(--film-duration) infinite both;mix-blend-mode:multiply}
.film-stage--overlay .film-context>.film-card-label{color:#183e2d;font-size:10px}
.film-stage--overlay .film-context>strong{display:block;margin-top:7px;color:#173f2b;font:500 30px/1.2 var(--serif);letter-spacing:-.6px}
.film-stage--overlay .film-context .film-card-foot{position:absolute;bottom:30px;left:20px;right:20px;text-align:center;max-width:none;font:9px/1.6 var(--sans);color:#2c5b42}
.hero-card-film[data-scene=company] .film-stage--overlay .film-context{background:linear-gradient(180deg,#4989c3c7 0,#75a8d4a6 23%,#9ac4ea40 24%,#c7e1f826 100%);border-color:#528cc0a6}
.hero-card-film[data-scene=company] .film-stage--overlay .film-context>strong,.hero-card-film[data-scene=company] .film-stage--overlay .film-context>.film-card-label,.hero-card-film[data-scene=company] .film-stage--overlay .film-context .film-card-foot{color:#203f64}
.film-stage--overlay .film-start .film-result,.hero-card-film[data-scene=company] .film-stage--overlay .film-result{position:absolute;left:0;top:153px;width:100%;height:174px;padding:0 16px;border:0;border-radius:0;box-shadow:none;background:transparent;color:#342634;transform:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;animation:overlay-reveal var(--film-duration) infinite both;will-change:opacity,filter}
.film-stage--overlay .film-result>.film-card-label{display:none}.film-stage--overlay .film-result img{height:128px;width:140px}.film-stage--overlay .film-result>strong{font:500 20px/1.2 var(--serif)}
.film-stage--overlay .film-company-mark{font:48px/.9 Georgia,serif;color:#253d5b;padding:6px 0 5px;letter-spacing:-2px;align-items:center}.film-stage--overlay .film-company-mark>span{font-size:31px;margin-top:5px}.film-stage--overlay .film-company-mark>small{font-size:8px;color:#3f6185;letter-spacing:1px;margin-top:10px}
.film-stage--overlay .film-grid{bottom:5px;animation:overlay-grid var(--film-duration) infinite both}
@keyframes overlay-base{0%,3%{opacity:0;transform:translateY(20px) rotate(-8deg)}11%,86%{opacity:1;transform:translateY(0) rotate(-5deg)}96%,100%{opacity:0;transform:translateY(10px) rotate(-5deg)}}
@keyframes overlay-sheet{0%,14%{opacity:0;transform:translate(105px,-55px) rotate(13deg)}23%{opacity:.95;transform:translate(55px,-30px) rotate(6deg)}38%,79%{opacity:1;transform:translate(0,0) rotate(-5deg)}88%{opacity:0;transform:translate(80px,-50px) rotate(10deg)}100%{opacity:0;transform:translate(105px,-55px) rotate(13deg)}}
@keyframes overlay-reveal{0%,31%{opacity:0;filter:blur(8px)}44%,79%{opacity:1;filter:blur(0)}88%,100%{opacity:0;filter:blur(4px)}}
@keyframes overlay-grid{0%,43%{opacity:0;transform:translateY(8px)}53%,79%{opacity:1;transform:translateY(0)}90%,100%{opacity:0;transform:translateY(8px)}}
@media(max-width:600px){.film-stage--overlay{height:465px}.film-stage--overlay .film-start,.film-stage--overlay .film-context{left:16%;width:66%;top:10%;height:320px;padding:18px}.film-stage--overlay .film-start>strong{font-size:48px;margin-top:80px}.film-stage--overlay .film-context>strong{font-size:26px}.film-stage--overlay .film-start .film-result{top:134px;height:150px}.film-stage--overlay .film-result img{height:110px;width:120px}.film-stage--overlay .film-result>strong{font-size:18px}.film-stage--overlay .film-context .film-card-foot{font-size:8px;bottom:23px;left:12px;right:12px}.film-stage--overlay .film-company-mark{font-size:42px}.film-stage--overlay .film-company-mark>span{font-size:28px}.film-stage--overlay .overlay-shadow{top:81%;left:20%;width:65%}}
@media(prefers-reduced-motion:reduce){.film-stage--overlay .film-start,.film-stage--overlay .film-context{transform:rotate(-5deg)}.film-stage--overlay .film-result{filter:none;opacity:1}}

/* Five complete cards arrive one at a time onto the same stack. */
.film-stage--overlay{overflow:clip;contain:layout paint}
.synthesis-stack{display:none}
.hero-card-film[data-scene=synthesis] .film-stage--overlay>.film-start,.hero-card-film[data-scene=synthesis] .film-stage--overlay>.film-context{visibility:hidden}
.hero-card-film[data-scene=synthesis] .synthesis-stack{display:block;position:absolute;inset:0}
.synthesis-layer{position:absolute;left:var(--card-x);top:var(--card-y);width:55%;height:310px;border-radius:17px;padding:17px 21px;border:1px solid #b0c3b4;box-shadow:inset 1px 1px #ffffffb3,0 12px 26px #293f571a;transform:rotate(-5deg);overflow:hidden;animation:synthesis-enter 12s ease both;animation-delay:var(--card-delay)}
.synthesis-layer-0{--card-x:19%;--card-y:70px;--card-delay:0s;background:#fffdf1;border-color:#d4c6b5;color:#4d2030}
.synthesis-layer-1{--card-x:21%;--card-y:78px;--card-delay:1.8s;background:linear-gradient(145deg,#b5d4ac,#79ac8a);color:#173c27}
.synthesis-layer-2{--card-x:23%;--card-y:86px;--card-delay:3.6s;background:linear-gradient(145deg,#eef5dc,#c7dfb7);color:#315436}
.synthesis-layer-3{--card-x:25%;--card-y:94px;--card-delay:5.4s;background:linear-gradient(145deg,#a9cce9,#6298c8);color:#143a63;border-color:#5f93c7}
.synthesis-layer-4{--card-x:27%;--card-y:102px;--card-delay:7.2s;background:linear-gradient(145deg,#d7eafa,#8bb5df);color:#173951;border-color:#6e9dca}
.synthesis-label{display:block;font:11px/1.5 var(--sans);white-space:normal;min-height:25px;padding-bottom:6px;border-bottom:1px solid #49634f26}
.synthesis-content{height:calc(100% - 25px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding-top:7px}
.synthesis-layer:not(.is-current) .synthesis-content{visibility:hidden}
.synthesis-content>strong{font:500 42px/1.1 var(--serif);letter-spacing:-1px;text-align:center}
.synthesis-content .synthesis-visual{display:block;width:155px;height:155px;object-fit:contain;flex-shrink:0}
.synthesis-layer-0 .synthesis-visual{opacity:.1}
.synthesis-content>small{font:12px/1.5 var(--sans);text-align:center}
.synthesis-key{display:none}
@keyframes synthesis-enter{0%{opacity:0;transform:translate(85px,-35px) rotate(9deg)}4%,100%{opacity:1;transform:translate(0,0) rotate(-5deg)}}
@media(max-width:600px){.film-domains{flex-wrap:wrap}.synthesis-layer{width:66%;height:286px;padding:15px 17px}.synthesis-layer-0{--card-x:10%;--card-y:50px}.synthesis-layer-1{--card-x:12%;--card-y:58px}.synthesis-layer-2{--card-x:14%;--card-y:66px}.synthesis-layer-3{--card-x:16%;--card-y:74px}.synthesis-layer-4{--card-x:18%;--card-y:82px}.synthesis-label{font-size:10px}.synthesis-content{gap:10px}.synthesis-content>strong{font-size:33px}.synthesis-content .synthesis-visual{width:135px;height:135px}.synthesis-content>small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.synthesis-layer{animation:none!important;opacity:1;transform:rotate(-5deg)}}
