/* LP-GERAL: content-driven layout, shared form, gallery and language controls. */
body{overflow-x:clip}main{max-width:none;width:100%;margin:0}picture{display:block}img{max-width:100%;height:auto}.opening{background:linear-gradient(90deg,#b6e6ee,#edf3f4 68%,#e3f0f3);position:relative}.g-hero{position:relative;isolation:isolate;min-height:58.5vw;color:#fff}.hero-photo{position:absolute;inset:0;z-index:-3}.hero-photo img{width:100%;height:77vw;object-fit:cover}.g-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:url('../geral/shape.webp') left top/41.36% 100% no-repeat}.g-hero:after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#b6e6ee,#edf3f4 68%,#e3f0f3);clip-path:polygon(100% 56%,100% 100%,0 100%)}.g-brand{position:absolute;top:0;left:41.3%;width:17.76%}.g-brand>img:first-child{width:100%}.g-brand .school-logo{position:absolute;left:15%;top:20%;width:69.5%}.g-copy{width:41.36%;padding:13.8vw 4vw 8vw 6.58vw}.g-copy h1{font:400 3.125vw/1.07 Montserrat,sans-serif;margin:0;text-transform:uppercase}.g-copy>p{font:400 2.25vw/1.25 'Open Sans',sans-serif;margin:3vw 0 0}.g-script{font:400 7.8vw/1.1 Amithen,cursive;transform:rotate(-8deg);margin:2vw -2vw 0;white-space:nowrap;text-align:center}.g-script>span{display:block;font-size:.48em;line-height:.7;margin-bottom:.6vw}.g-hero>.visit-button{position:absolute;top:76%;left:60.5%;width:25.7%;padding:.6vw 1vw;font-size:1.65vw;text-align:center;white-space:nowrap;font-weight:700}.campus-label{position:absolute;right:9%;top:66%;font-size:1vw;color:#184174}.g-curricula{position:relative;padding:0 10vw 3.3vw;text-align:center;background:linear-gradient(90deg,#b6e6ee,#edf3f4 68%,#e3f0f3);z-index:3}.section-arrow{display:block;width:6.8vw;height:auto;margin:0 auto 2vw;transform:none}.g-curricula>.section-arrow{margin-top:-8vw;position:relative}.school-intro{font-size:1.6vw;line-height:1.4;max-width:64vw;margin:0 auto 3vw}.g-curricula h2{font:400 2vw/1.25 Montserrat,sans-serif;margin:0 0 2vw;color:#184174}.curricula-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:53vw;margin:auto;gap:1.5vw}.curriculum{position:relative;min-width:0}.curriculum summary{list-style:none;cursor:pointer}.curriculum summary::-webkit-details-marker{display:none}.curriculum summary img{width:100%;display:block}.curriculum-details{position:absolute;top:90%;left:0;width:100%;z-index:15;background:#fff;border-radius:0 0 2vw 2vw;box-shadow:0 14px 25px #143e721c;padding:1.4vw 1.5vw;font-size:1.25vw;line-height:1.6;text-align:left}.curriculum-details p+p{margin-top:1em}.curricula-note{font-size:1.15vw;line-height:1.45;margin:2.2vw auto 0;max-width:70vw}.flexibility{position:relative;display:grid;grid-template-columns:60.8% 39.2%;min-height:48vw;background:#edf3f4}.flexibility>picture img{width:100%;display:block}.flex-copy{background:#65d6ef;border-radius:8vw 8vw 8vw 8vw;margin-left:-10.8vw;align-self:start;min-height:26.8vw;padding:4vw 7vw 6vw 5.6vw;position:relative}.flex-copy p{font-size:1.83vw;line-height:1.35;max-width:30vw;margin:0}.circle-photo{position:absolute;width:28.5vw;right:14%;bottom:0}.features{padding:6vw 0 0;background:#fafafa url('../geral/ribbon.webp') center/100% 100% no-repeat}.section-heading{font:400 3vw/1.25 Montserrat,sans-serif;text-align:center;margin:0 auto}.section-heading strong{display:block;font-weight:700;color:#df001b}.features-intro{font:400 1.7vw/1.4 'Open Sans',sans-serif;text-align:center;margin:1vw auto 8vw}.feature-track{display:flex;flex-direction:column;gap:2.6vw;padding-bottom:6vw}.feature{width:54.8%;margin-left:14.4%;border-radius:1vw;overflow:hidden;position:relative}.feature:nth-child(even){margin-left:33.5%}.artwork>img{width:100%;display:block}.composed{display:grid;grid-template-columns:53% 47%;min-height:17.1vw;background:#143e72;color:#fff}.composed>img{width:100%;height:100%;object-fit:cover;object-position:left}.composed>div:last-child{padding:2vw 2vw 1.6vw 0;z-index:1}.composed h3{font:700 2.3vw/1.1 Montserrat,sans-serif;margin:0 0 1vw}.composed p{font:400 1.2vw/1.35 'Open Sans',sans-serif;margin:0}.finance>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.finance>div{grid-column:2}.maker-photo{overflow:hidden;position:relative}.maker-photo img{position:absolute;height:100%;width:188.7%;max-width:none;left:0;object-fit:fill}.feature-controls{display:none}.structure{padding-top:2vw;background:#fafafa}.structure .brand-chevron{width:6.8vw;margin:0 auto 2vw}.projection{padding:5vw 0 2vw;background:#fafafa}.projection-media{position:relative;width:61.2%;margin:2.5vw auto 0}.projection-media img{display:block;width:100%}.projection-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(64px,5vw,110px);height:auto;aspect-ratio:1;border:2px solid #fff;border-radius:50%;background:#143e7230;cursor:pointer;display:grid;place-items:center;padding:0}.projection-play[hidden]{display:none}.projection-play:after{content:'';width:0;height:0;border-top:14px solid transparent;border-bottom:14px solid transparent;border-left:23px solid white;transform:translateX(3px)}#video-dialog{width:min(92vw,1100px);padding:1rem;background:#112942;border:none}#video-dialog::backdrop{background:#000b}#video-dialog video{display:block;width:100%;max-height:82vh}.video-host{clear:both}#video-dialog>button{float:right;color:white;background:none;font-size:28px;cursor:pointer}.contact-section{margin-top:0;background:white}.contact-photo img{width:100%;height:auto}.visit-button.is-floating{position:fixed;bottom:22px;right:4vw;left:auto;top:auto;width:auto;z-index:40;font-size:clamp(16px,1.65vw,32px);padding:.55em 1.7em;box-shadow:0 5px 20px #143e7240}.visit-button.is-floating[hidden]{display:none}.visit-placeholder{visibility:hidden}.feature,.flexibility>picture,.circle-photo{transition:transform .45s ease,filter .45s ease}.section-reveal{transition:opacity .9s ease,translate .9s cubic-bezier(.2,.7,.2,1)}.is-awaiting-reveal{opacity:0;translate:0 42px}@media(hover:hover) and (pointer:fine){.feature:hover,.circle-photo:hover{transform:translateY(-5px);filter:drop-shadow(0 10px 12px #143e721c)}}
@media(max-width:47.99rem){
.g-hero{min-height:0;padding-top:112vw;padding-bottom:8vw;background:#1c7295}.hero-photo{height:159vw;overflow:hidden}.hero-photo img{height:100%;width:100%;object-fit:cover}.g-hero:before{display:none}.g-hero:after{display:none}.g-brand{left:5%;width:30%}.g-copy{position:relative;width:100%;padding:7vw 6vw 0;background:url('../geral/shape-mobile.webp') left top/100% 100% no-repeat}.g-copy h1{font-size:7.7vw;max-width:90%;font-weight:500}.g-script{font-size:19vw;margin:5vw 0 0;line-height:1.1;text-align:left;transform:rotate(-7deg)}.g-script>span{margin-left:21%;margin-bottom:2vw;font-size:.5em}.g-copy>p{font-size:5.5vw;line-height:1.35;margin:7vw 0 3vw}.campus-label{position:relative;display:block;top:auto;right:auto;text-align:right;padding:0 8vw;font-size:3vw;color:#fff}.g-hero>.visit-button{position:relative;display:block;left:auto;top:auto;margin:10vw auto 0;width:78%;padding:3vw 1vw;background:#fff;color:#184174;font-size:5vw;box-shadow:0 5px 15px #143e7240;white-space:normal}.g-curricula{padding:10vw 7vw;background:linear-gradient(125deg,#fff,#edf3f4 40%,#fff)}.g-curricula>.section-arrow{display:none}.school-intro{font-size:5.7vw;line-height:1.4;max-width:none;margin:0 auto 9vw}.g-curricula h2{font-size:6.8vw;margin-bottom:8vw}.curricula-grid{width:78vw;grid-template-columns:1fr;gap:7vw}.curriculum-details{position:relative;top:auto;width:100%;font-size:16px;line-height:1.5;padding:5vw;border-radius:0 0 7vw 7vw;margin-top:-1vw}.curricula-note{font-size:4.8vw;line-height:1.5;max-width:none;margin-top:8vw}.flexibility{display:flex;flex-direction:column;min-height:0}.flexibility>picture{width:100%}.flex-copy{margin:0;padding:8vw 8vw 16vw;border-radius:0 0 18vw 18vw;min-height:0}.flex-copy p{font-size:5.5vw;line-height:1.45;max-width:none}.circle-photo{position:relative;right:auto;bottom:auto;width:49vw;margin:-10vw 7vw 0 auto}.features{padding:10vw 0 5vw}.section-arrow,.structure .brand-chevron{width:18vw;margin:0 auto 6vw}.section-heading{font-size:7.2vw;line-height:1.25;padding:0 5vw}.features-intro{font-size:4.7vw;margin:3vw auto 8vw;padding:0 7vw}.feature-track{display:flex;flex-direction:row;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0;touch-action:pan-x pan-y}.feature-track::-webkit-scrollbar{display:none}.feature,.feature:nth-child(even){flex:0 0 100%;width:100%;margin:0;scroll-snap-align:start;border-radius:0}.artwork{display:flex;align-items:center;background:#143e72}.artwork>img{width:100%;min-height:32vw}.composed{min-height:55vw}.composed>div:last-child{padding:5vw 4vw 5vw 0}.composed h3{font-size:5vw;margin:0 0 3vw}.composed p{font-size:3.8vw;line-height:1.45}.finance>img{object-fit:cover;object-position:left}.feature-controls{display:flex;align-items:center;justify-content:center;gap:8vw;margin:5vw 0}.feature-controls button{background:none;color:#184174;font-size:26px;padding:8px;min-width:44px;min-height:44px}.feature-status{font-size:14px}.structure{padding-top:8vw}.projection{padding:8vw 0 0}.projection-media{width:100%;margin-top:8vw}.projection-media img{aspect-ratio:430/686;object-fit:cover}.projection-play{width:72px;height:72px}.contact-photo img{width:100%;height:auto}.contact-section{margin-top:0}.visit-button.is-floating{right:5%;bottom:18px;max-width:90%;font-size:17px;background:#fff;color:#184174}.feature.section-reveal{opacity:1;translate:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.feature,.flexibility>picture,.circle-photo,.section-reveal{transition:none;transform:none;translate:none;opacity:1}}
@media(min-width:48rem){.feature-description{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}
@media(max-width:47.99rem){.artwork{display:block;align-self:stretch}.artwork>img{display:block;width:200%;max-width:none;height:65vw;object-fit:fill;object-position:left}.feature-description{padding:7vw;color:#fff;background:#143e72;position:relative;z-index:1}.feature-description h3{font:700 6vw/1.2 Montserrat,sans-serif;margin:0 0 4vw}.feature-description p{font:400 4.5vw/1.5 'Open Sans',sans-serif;margin:0}.composed{display:flex;flex-direction:column;background:#143e72;min-height:0}.composed>div:last-child{padding:7vw}.composed h3{font-size:6vw;line-height:1.2}.composed p{font-size:4.5vw;line-height:1.5}.finance>img{position:relative;display:block;width:200%;height:65vw;max-width:none;object-fit:fill}.maker-photo{height:65vw;flex-shrink:0}.maker-photo img{width:200%;height:100%;object-fit:fill}.feature-track{align-items:stretch}.feature-description{min-height:55vw}}
@media(min-width:48rem){.g-hero{overflow:hidden}.g-curricula{margin-top:-8vw;background:transparent}.g-curricula>.section-arrow{margin-top:0}.g-copy>p{max-width:24vw;font-size:2.05vw}}.school-intro strong,.g-curricula h2 strong{color:#df001b}
@media(max-width:47.99rem){.hero-photo{height:217vw}.g-copy{background-size:224.65vw 105vw;background-position:-98.37vw top}.g-script{position:relative;padding-top:5vw;margin-top:1vw}.g-script>span{position:absolute;left:21%;top:0;margin:0;font-size:.48em;line-height:1}.g-copy>p{margin-top:5vw}.g-copy{padding-bottom:1vw}.g-hero>.visit-button{margin-top:10vw}}
@media(max-width:47.99rem){.g-hero:after{display:block;inset:auto 0 0;height:45vw;background:#326f91;clip-path:none;z-index:-2}}
html[lang=de] .g-copy{display:flex;flex-direction:column}html[lang=de] .g-script{order:0;margin:0 0 1.5vw}html[lang=de] .g-copy h1{order:1;text-transform:none;font-family:'Open Sans',sans-serif}html[lang=de] .g-copy>p{order:2}html[lang=de] .g-script>span{display:none}@media(max-width:47.99rem){html[lang=de] .g-script{margin:0 0 3vw;padding-top:0;font-size:18vw}html[lang=de] .g-copy h1{font-size:7.5vw}}
@media(min-width:48rem) and (max-width:64rem){.feature,.feature:nth-child(even){width:86%;margin-left:7%}.composed{min-height:27vw}.composed h3{font-size:3.5vw}.composed p{font-size:1.9vw}.composed>div:last-child{padding:3vw 3vw 2vw 0}.school-intro{font-size:18px;max-width:80vw}.curricula-note{font-size:14px}.flex-copy p{font-size:16px;max-width:none}.flex-copy{padding:3vw 4vw 7vw}.features-intro{font-size:18px}.curriculum-details{font-size:14px}}
/* LP-GERAL: shared gallery, live feature copy and reference alignment. */
.visit-button,.g-hero>.visit-button{font-weight:400}.visit-button strong{font-weight:700}
.curriculum{position:relative}.curriculum summary{position:relative;z-index:2}.curriculum[open]{z-index:20}.curriculum-details{top:0;padding-top:calc(30.5% + 1.2vw);border-radius:1.2vw;z-index:1}
.flex-copy{background:#00c6e5;border-radius:8vw 0 0 8vw}.flex-copy p{line-height:1.32}.flexibility{background:white}.circle-photo{border: .65vw solid white;border-radius:50%}
.live-card{display:grid;grid-template-columns:50% 50%;background:#163f72;color:white;overflow:hidden;align-items:stretch}
.live-card>picture{min-width:0;height:100%;overflow:hidden}.live-card>picture img{display:block;width:100%;height:100%;object-fit:cover}
.live-card .card-copy{padding:2.1vw 2.5vw;align-self:center}.live-card h3{font:700 1.55vw/1.25 Montserrat,sans-serif;margin:0 0 .8vw}.live-card p{font:400 1vw/1.45 'Open Sans',sans-serif;margin:0}
.hero-pause{position:absolute;right:3%;top:65%;z-index:4;width:30px;height:30px;border:1px solid #fff;border-radius:50%;background:#143e7266;color:white;cursor:pointer;font-size:14px}
@media(min-width:48rem){.contact-section{position:relative;grid-template-columns:44% 30%;column-gap:12%;padding:1vw 0 3vw;align-items:center}.contact-section:after{content:'';position:absolute;left:47.5%;bottom:3vw;width:6vw;height:7vw;background:url('../geral/arrow.webp') center/contain no-repeat}.contact-section #lead-form{border:2px solid #00acd5;border-radius:3vw;padding:2.6vw 3vw}.contact-section #lead-form h2{font-size:2vw;margin-bottom:2.6vw}.contact-photo picture{display:block;overflow:hidden;border-radius:0 5vw 5vw 0}.contact-photo img{width:100%;height:auto}}
@media(min-width:48rem) and (max-width:64rem){.live-card h3{font-size:2.5vw}.live-card p{font-size:1.6vw}.contact-section{grid-template-columns:44% 46%;gap:5%}}
@media(max-width:47.99rem){
.curriculum-details{position:relative;top:auto;margin-top:-30.5%;padding:calc(30.5% + 5vw) 5vw 6vw;border-radius:5vw}
.flex-copy{border-radius:0 0 18vw 18vw}.circle-photo{border-width:1.5vw}
.feature-track{padding:0 9vw;gap:18vw;scroll-padding-inline:9vw;align-items:stretch}
.feature.live-card,.feature.live-card:nth-child(even){display:flex;flex-direction:column;flex:0 0 82vw;width:82vw;margin:0;border-radius:5vw;scroll-snap-align:start}
.live-card>picture{height:auto;flex:none;width:100%;aspect-ratio:328/456}.live-card>picture img{width:100%;height:100%;object-fit:cover}
.live-card .card-copy{padding:7vw;align-self:stretch}.live-card h3{font-size:7vw;line-height:1.2;margin:0 0 4vw}.live-card p{font-size:4.5vw;line-height:1.35}
.feature-controls{justify-content:space-between;gap:2vw;margin:3vw 9vw}.feature-status{display:flex;gap:5px;align-items:center;justify-content:center}.feature-status button{padding:0;min-width:10px;min-height:10px;width:10px;height:10px;border:1px solid #184174;border-radius:50%;background:white}.feature-status button[aria-current=true]{background:#184174}
.hero-pause{top:100vw;right:5%}.g-hero>.visit-button{font-weight:400}.contact-section{display:block}
}
@media(min-width:48rem){.contact-section .contact-photo picture{position:relative;inset:auto;width:100%}.contact-section .contact-photo picture img{height:auto;width:100%}}
.feature-controls>button{border:0;box-shadow:none;cursor:pointer}
/* Mobile reference: overlapping panels retain the document flow. */
@media(max-width:47.99rem){
 .g-hero{background:transparent;padding-top:112vw;padding-bottom:8vw;overflow:hidden}
 .g-hero:before{display:block;inset:112vw 0 0;z-index:-1;background:linear-gradient(160deg,#113755,#197296);border-radius:0 100% 0 0 / 0 48vw 0 0}
 .g-hero:after{display:none}
 .g-copy{background:none;padding:7vw 6vw 1vw}
 .g-copy h1{font-size:7.7vw;line-height:1.02}
 .g-script{margin:5vw 0 0;padding-top:5vw;font-size:19vw;line-height:1.15}
 .g-script>span{left:21%;top:0}
 .g-copy>p{font-size:5.5vw;line-height:1.35;margin-top:5vw}
 .campus-label{font-size:3.1vw;margin-top:2vw}
 .g-hero>.visit-button{margin-top:10vw;padding:3.7vw 1vw;font-size:5.5vw;box-shadow:none}
 .flexibility>picture{overflow:hidden;border-radius:0 22vw 0 0}
 .flex-copy{margin:-17vw 0 0;padding:18vw 12vw 35vw 13vw;border-radius:42vw 0 0 42vw;min-height:0;background:#00c6e5;align-self:stretch}
 .flex-copy p{font-size:5.5vw;line-height:1.45;max-width:none}
 .circle-photo{width:90%;margin:-34vw auto 0;border:3.5vw solid #fff;position:relative;right:auto;bottom:auto;z-index:1}
 .g-curricula{z-index:5;overflow:visible}
 .curriculum-details{position:absolute;top:0;left:0;margin-top:0;padding:calc(30.5% + 5vw) 5vw 6vw;border-radius:5vw}
 .projection{padding-bottom:0}.projection-media{margin-bottom:0}
 .contact-section{padding-top:0;margin-top:0}.contact-section .contact-photo{margin-top:0;padding-top:0}
 .contact-section .contact-photo picture{display:block;margin:0}
}
@media(min-width:48rem) and (prefers-reduced-motion:no-preference){
 .live-card{transition:opacity .85s ease,translate .85s cubic-bezier(.2,.7,.2,1),transform .45s ease,box-shadow .45s ease;isolation:isolate}
 .live-card.is-awaiting-reveal{translate:-48px 45px;opacity:0}
 .live-card:nth-child(even).is-awaiting-reveal{translate:48px 45px}
 .live-card>picture img{transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .65s ease}
 .live-card .card-copy{transition:transform .45s ease}
}
@media(min-width:48rem) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .live-card:hover{transform:translateY(-8px);box-shadow:0 18px 35px #143e7233;filter:none}
 .live-card:hover>picture img{transform:scale(1.045);filter:brightness(1.06)}
 .live-card:hover .card-copy{transform:translateX(5px)}
}
@media(max-width:47.99rem){.flex-copy{padding-right:7vw}.projection{padding-bottom:15vw;background:#fff}}
/* Preserve the artwork's complete curved silhouette at every card height. */
.live-card>picture img{object-fit:fill;transform:none}
@media(min-width:48rem) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .live-card:hover>picture img{transform:none;filter:brightness(1.06)}
}
/* Keep mobile hero copy below the curved upper edge in every language. */
@media(max-width:47.99rem){
 .g-copy{padding-top:26vw}
 .g-hero{padding-bottom:5vw}
 .g-hero>.visit-button{margin-top:6vw}
}
