/* Grunivo studio palette: ink, mint, apricot and lilac. Shared across the site. */
:root{--paper:#fffaf3;--ink:#113d3d;--muted:#5c716b;--green:#176c60;--lime:#cceab3;--peach:#fae7da;--white:#fffdf8;--line:#163d3d20;--radius:28px;--studio-mint:#d5efe4;--studio-lilac:#e6dff7;--studio-apricot:#fae7da;--studio-shadow:0 22px 60px -35px #183f3d55}
body{background:var(--paper);color:var(--ink)}
.site-header{background:#fffaf3f5;border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}
.header-inner{min-height:88px}.nav{gap:25px}.nav a{font-size:.82rem;font-weight:500}.nav .nav-contact{background:var(--ink);border-color:var(--ink);color:#fffaf3;padding:13px 22px}
.button{background:var(--green);border-color:var(--green);box-shadow:0 8px 24px -14px #176c6077;font-weight:550}.button:hover{background:#114e47}.button.secondary{box-shadow:none}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#aa4c2f}
.site-footer{background:#e3ece5;border-top:1px solid #163d3d16}.footer-inner{padding-block:12px}.footer-links a{font-weight:500}.footer-meta{color:#526d63}
.film-scene h1,.film-scene h2{letter-spacing:-.055em;line-height:1.04}.film-scene h2 em{color:#246a5e}.film-eyebrow,.film-intro-eyebrow{font-weight:600;letter-spacing:.13em}
.film-intro{column-gap:6%;row-gap:22px}.film-intro h1{font-size:clamp(3.5rem,5.8vw,6.8rem);line-height:1.08}.film-intro h1 em{color:#207b68}.film-intro>p{color:#4d6961;max-width:430px}.film-intro .film-scroll-cue{border-color:#163d3d25}
.film-intro-logo::before{content:"";position:absolute;inset:-23% 0;z-index:-1;background:radial-gradient(ellipse at 25% 70%,#d5efe4 0,transparent 61%),radial-gradient(ellipse at 80% 20%,#f5cbb5 0,transparent 65%);border-radius:48% 52% 39% 61%;opacity:var(--portal-copy-opacity,1)}
.film-intro-logo::after{content:"IDEE. GESTALTUNG. ENTWICKLUNG.";position:absolute;left:5%;right:5%;bottom:-22%;text-align:center;font-size:.55rem;letter-spacing:.18em;color:#4e7063;opacity:var(--portal-copy-opacity,1)}
.film-world{background-image:linear-gradient(#163d3d06 1px,transparent 1px),linear-gradient(90deg,#163d3d06 1px,transparent 1px);background-size:80px 80px}
.world-shape{background:#f4a98b;opacity:.16!important}.world-ribbon{opacity:.10}.world-ribbon path{stroke:#237c6d;stroke-width:85}.world-lines{opacity:.35;box-shadow:0 0 0 45px #ffffff18,0 0 0 90px #ffffff10}
.film-world::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 85% 15%,#ffffff65,transparent 60%);pointer-events:none}
.film-chapter{font-weight:600;letter-spacing:.12em}.film-chapter-number{opacity:1;background:#ffffff70;border:1px solid #163d3d14;border-radius:30px;padding:7px 10px}.film-chapter-title{opacity:.8}
.film-app-pair{width:min(740px,90%);gap:28px;align-items:stretch;margin:10px 0 24px}
.film-app-pair>a{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;min-width:0;padding:27px 25px 23px;border:1px solid #ffffffa0;border-radius:30px;background:#e6f3e9;box-shadow:var(--studio-shadow);text-decoration:none;transition:box-shadow .2s,background .2s}
.film-app-pair>a:nth-of-type(2){background:#fff5e6}.film-app-pair>a:hover{box-shadow:0 22px 50px -30px #183f3d88;background:#f8fff9}.film-app-pair img{width:135px;border-radius:30px;box-shadow:0 13px 30px -18px #153f3c66}
.film-app-pair strong{font-family:Georgia,serif;font-size:1.7rem;font-weight:400;letter-spacing:-.035em;margin:7px 0 9px}.film-app-pair a>span{font-size:.7rem;color:#4c6b60}.film-app-pair a>.product-audience{font-size:.48rem;text-transform:uppercase;letter-spacing:.15em;font-weight:600;margin-top:20px}.film-app-pair a>.product-discover{margin-top:20px;padding-top:13px;border-top:1px solid #163d3d20;width:100%;font-size:.62rem;font-weight:600;color:#176c60}.film-connection{align-self:center;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fffaf3b0;color:#176c60;font-size:1.1rem;flex:none}
.interaction-phone{border:1px solid #b5d8c9;background:#fbfff9;padding:28px 25px 22px;border-radius:30px;box-shadow:var(--studio-shadow)}.interaction-child{background:#fff6e9;border-color:#e4cbb3}.interaction-app{padding-bottom:17px;border-bottom:1px solid #163d3d12;margin-bottom:23px}.interaction-app img{box-shadow:0 5px 13px -7px #163d3d66}.interaction-child .interaction-state-icon{background:#f6dfb3;color:#815c20}.interaction-child .interaction-phone-track i{background:#d39753}.interaction-packet{background:#175f55}.interaction-phone h3{color:#173f3c}
.film-experience .hero-art{border:1px solid #ffffffb0;background:#f3effb;border-radius:35px;box-shadow:var(--studio-shadow)}.film-experience .demo-panel{border:1px solid #163d3d12;box-shadow:0 15px 36px -25px #163d3d55}.film-experience .connection-badge{background:#f8e1cc;border:1px solid #fff8}.film-experience .demo-tabs button{border-radius:12px}.film-experience .demo-tabs button[aria-selected=true]{background:#176c60;border-color:#176c60}.film-experience .hero-art[data-example=child]{background:#f8e9cf}
.film-future h2 em{color:#a45b3a}.film-future .button{background:#113d3d;border-color:#113d3d}.film-future small{color:#706553}.film-mascots{padding:13px;background:#fffaf3;border:1px solid #f0dac0;border-radius:30px;box-shadow:var(--studio-shadow)}.film-mascots img{border:0;border-radius:19px;box-shadow:none;transform:none}
.film-contact h2 em{color:#a7d9c3}.film-contact>a{background:#cceab3;color:#113d3d;border:0;border-radius:60px;padding:17px 28px;gap:45px}.film-contact p{color:#d3e3dc}.film-origin{border:1px solid #d3e3dc40;border-radius:40px;padding:10px 17px;color:#d3e3dc}
.film-dots{background:#fffdf846;backdrop-filter:blur(12px);padding:7px 2px;border:1px solid #ffffff75;border-radius:40px}.film-dots .film-arrow{background:#fffaf3d0;border:0}.film-dots .film-arrow:disabled{opacity:.28}.film-mode-switch{background:#fffaf3eb;border-color:#163d3d25;color:#315b50;box-shadow:0 6px 24px -16px #163d3d44}
/* Secondary pages share the studio's surface and spacing vocabulary. */
.page-hero .eyebrow,.product-hero .eyebrow{color:#176c60}.article{line-height:1.8}.notice{background:#f9e9d7;border-color:#c47d50}.support-contact{background:var(--studio-mint);border:1px solid #ffffffb0}.roadmap-hero{background:#113d3d}.roadmap-hero h1 em{color:#bce4c8}.roadmap-item{border-top-color:#163d3d20}.roadmap-number{color:#9b5d40}.roadmap-visual{box-shadow:var(--studio-shadow);transform:none}.mascot-section{background:var(--studio-lilac);border:1px solid #fff9}.mascot-gallery{box-shadow:var(--studio-shadow)}
@media(max-width:1000px){.film-intro{column-gap:5%}.film-app-pair{width:85%;gap:19px}.film-app-pair img{width:115px}.film-app-pair>a{padding:22px 20px}.film-app-pair strong{font-size:1.5rem}}
@media(max-width:700px){.film-intro{row-gap:15px}.film-intro h1{font-size:clamp(2.65rem,10.5vw,4rem)}.film-intro .film-intro-logo{width:71%;margin-block:15px 22px}.film-intro-logo::after{font-size:.38rem;letter-spacing:.1em}.film-intro-logo::before{inset:-15% -4%}.film-chapter{top:17px}.film-chapter-number{padding:5px 8px}.film-app-pair{width:94%;gap:10px;margin-block:12px 20px}.film-app-pair>a{padding:20px 12px 15px;border-radius:23px}.film-app-pair img{width:clamp(75px,23vw,110px);border-radius:22px}.film-app-pair strong{font-size:1.2rem;margin:7px 0}.film-app-pair a>span{font-size:.54rem;line-height:1.65}.film-app-pair a>.product-audience{font-size:.38rem;margin-top:14px;letter-spacing:.09em}.film-app-pair a>.product-discover{font-size:.49rem;margin-top:13px;padding-top:11px}.film-connection{width:20px;height:20px;font-size:.85rem}.interaction-phone{padding:18px 11px 14px;border-radius:23px}.interaction-app{margin-bottom:16px;padding-bottom:12px}.film-mascots{padding:7px;border-radius:22px}.film-mascots img{border-radius:15px}.film-contact>a{padding:15px 24px}.film-dots{right:4px;width:30px;padding:5px 0}.film-dots button{width:26px}.film-experience .hero-art{border-radius:25px}.film-origin{font-size:.5rem}}
@media(max-width:700px) and (max-height:750px){.film-intro{row-gap:9px}.film-intro h1{font-size:clamp(2.35rem,9.7vw,3.3rem)}.film-intro .film-intro-logo{width:57%;max-width:185px;margin-block:10px 17px}.film-app-pair>a{padding:15px 10px 12px}.film-app-pair img{width:82px}.film-app-pair strong{font-size:1.15rem}.film-app-pair a>.product-audience{margin-top:10px}.film-app-pair a>.product-discover{margin-top:10px;padding-top:9px}.film-product-title h2{font-size:2.35rem}.interaction-app{margin-bottom:12px}.interaction-heading h2{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){.film-app-pair>a{transition:none}}
.film-linear .film-intro-logo::before,.film-linear .film-intro-logo::after{opacity:1}.film-linear .film-products{background:var(--studio-apricot)}.film-linear .film-interaction{background:var(--studio-mint)}.film-linear .film-experience{background:var(--studio-lilac)}.film-linear .film-future{background:#fbedcf}.film-linear .film-contact{background:#11303a;color:#fffaf3}.film-linear .film-contact h2 em{color:#a7d9c3}
/* Both interactive example states must fit the same scene, including the welcome. */
.film-experience .hero-art{padding:18px 14px 62px}
.film-experience .art-caption{display:none}
.film-experience .art-heading{margin-bottom:16px}
.film-experience .hero-art .kids-welcome{padding:10px 12px;margin-bottom:13px}
.film-experience .hero-art .kids-welcome img{width:56px;height:56px;flex-basis:56px}
.film-experience .hero-art .kids-welcome strong{font-size:.8rem}
.film-experience .hero-art .kids-welcome span{font-size:.66rem}
.film-experience .hero-art[data-example=child] .demo-title{font-size:1.3rem;margin-bottom:13px}
.film-experience .hero-art[data-example=child] .demo-row{padding:10px;margin-top:7px}
.film-experience .hero-art .demo-tabs{margin-bottom:15px;padding-bottom:15px}
.film-experience .hero-art .connection-badge{transform:none;bottom:8px;right:9px;padding:10px 13px;font-size:.6rem;margin:0;max-width:190px}
.film-experience .hero-art .connection-badge strong{font-size:.68rem}
.film-experience .studio-mascot{width:100px;height:100px;left:-12px;bottom:-7px}
@media(max-width:700px){.film-experience .hero-art{padding:8px 8px 47px}.film-experience .hero-art .kids-welcome{padding:8px;margin-bottom:8px}.film-experience .hero-art .kids-welcome img{width:40px;height:40px;flex-basis:40px}.film-experience .hero-art .kids-welcome strong{font-size:.65rem}.film-experience .hero-art .kids-welcome span{font-size:.53rem}.film-experience .hero-art[data-example=child] .demo-title{font-size:1.1rem;margin-bottom:9px}.film-experience .hero-art[data-example=child] .demo-row{padding:7px;margin-top:5px}.film-experience .hero-art .demo-tabs{margin-bottom:8px;padding-bottom:8px}.film-experience .hero-art .connection-badge{font-size:.46rem;max-width:165px;padding:7px 10px;bottom:4px}.film-experience .hero-art .connection-badge strong{font-size:.51rem}.film-experience .studio-mascot{width:72px;height:72px;left:0;bottom:-5px}}
@media(max-width:700px) and (max-height:750px){
 .film-experience{gap:7px}.film-experience h2{font-size:1.8rem;line-height:1.04;margin-bottom:7px}.film-experience-copy .film-eyebrow{font-size:.4rem;margin-bottom:5px}.film-experience-copy>p{font-size:.6rem;margin-bottom:4px}.film-experience-copy>small{font-size:.45rem}
 .film-experience .hero-art[data-example=child] .demo-row{display:grid;grid-template-columns:15px minmax(0,1fr) auto;gap:5px;padding:7px 6px;min-height:47px}
 .film-experience .hero-art[data-example=child] .points{font-size:.43rem;padding:3px 5px;margin-left:0}
 .film-experience .hero-art[data-example=child] .demo-row small{font-size:.49rem}.film-experience .hero-art[data-example=child] .demo-title{font-size:1rem}
}
@media(max-width:700px) and (max-height:750px){.film-experience .hero-art[data-example=child] .demo-row .points{grid-column:3;grid-row:1}.film-experience .hero-art[data-example=child] .demo-row .task-check{grid-row:1}}
@media(max-width:700px) and (max-height:750px){
 .film-experience .hero-art{padding-bottom:38px}
 .film-experience .hero-art[data-example=child] .demo-row{min-height:38px;padding-block:5px}
 .film-experience .hero-art .kids-welcome img{width:32px;height:32px;flex-basis:32px}
 .film-experience .hero-art .demo-panel{padding:10px}
 .film-experience .hero-art .connection-badge{padding-block:5px;bottom:2px}
}

/* The actual scene, including its pattern, continues behind the header.
   Header visibility never changes camera geometry or content placement. */
.film-enabled:not(.film-linear) .film{margin-top:calc(-1 * var(--film-top,89px))}
.film-enabled:not(.film-linear) .film-stage{top:0;height:100svh;min-height:0;box-shadow:none}
.film-enabled:not(.film-linear) .film-scene{top:calc(var(--film-top,89px) + 75px)}
.film-enabled:not(.film-linear) .film-chapter{top:calc(var(--film-top,89px) + 27px)}
@media(max-width:1000px){.film-enabled:not(.film-linear) .film-scene{top:calc(var(--film-top,89px) + 65px)}}
@media(max-width:700px){.film-enabled:not(.film-linear) .film-scene{top:calc(var(--film-top,89px) + 55px)}.film-enabled:not(.film-linear) .film-chapter{top:calc(var(--film-top,89px) + 17px)}}
@media(max-width:700px) and (max-height:750px){.film-enabled:not(.film-linear) .film-scene{top:calc(var(--film-top,89px) + 45px)}}
/* Explicit dark text for the light footer; do not inherit the old dark theme. */
.site-footer{color:#113d3d}
.site-footer::before{display:none}
.site-footer .footer-links{color:#113d3d;font-size:.85rem;gap:24px}
.site-footer .footer-links a{color:#113d3d;padding-block:10px;text-decoration:underline;text-decoration-color:#113d3d65;text-underline-offset:5px}
.site-footer .footer-links a:hover{color:#125e50;text-decoration-color:currentColor}
.site-footer .footer-meta{color:#405d54;border-top-color:#113d3d26}
@media(max-width:540px){.site-footer .footer-links{gap:8px 22px;font-size:.82rem}}
