.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header{height:92px}.menu-trigger{display:flex;align-items:center;gap:18px;border:0;background:none;color:var(--navy);padding:12px 0 12px 20px;font-weight:650;min-height:48px}.menu-trigger i{display:flex;flex-direction:column;gap:7px;width:30px}.menu-trigger b{height:2px;width:30px;background:currentColor;transition:width .2s}.menu-trigger:hover b:last-child{width:20px}.academy-menu{border:0;margin:0;max-width:none;max-height:none;width:100vw;height:100dvh;padding:35px 5%;background:var(--blue);color:white;overflow-y:auto}.academy-menu::backdrop{background:var(--blue)}.menu-top{display:flex;justify-content:space-between;align-items:center}.menu-close{display:grid;place-items:center;width:52px;height:52px;border:1px solid #ffffff70;border-radius:50%;background:none;color:white}.menu-close svg{width:27px;height:27px}.academy-menu nav{display:flex;flex-direction:column;width:min(100%,1100px);margin:clamp(35px,7vh,90px) auto}.academy-menu nav a{display:flex;justify-content:space-between;align-items:center;font-size:clamp(28px,5.3vw,76px);font-weight:650;line-height:1.1;letter-spacing:-.035em;padding:18px 0;border-bottom:1px solid #ffffff40}.academy-menu nav svg{width:45px;height:45px;transition:transform .2s}.academy-menu nav a:hover svg{transform:rotate(-35deg)}.academy-menu :focus-visible{outline-color:white}.floating-contact{position:fixed;bottom:max(26px,env(safe-area-inset-bottom));right:28px;z-index:15;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:white;box-shadow:0 9px 24px #00002825}.floating-contact::before{content:'';position:absolute;inset:-7px;border:1px solid var(--blue);border-radius:50%;animation:contact-pulse 2.8s ease-out infinite;pointer-events:none}.floating-contact svg{width:29px;height:29px}.floating-contact:hover{background:var(--navy)}@keyframes contact-pulse{0%{transform:scale(.9);opacity:.7}80%,100%{transform:scale(1.2);opacity:0}}.no-script-nav{display:flex;justify-content:center;gap:25px}.scene-caption{justify-content:flex-start}.idea-ticket{margin-top:-28px;position:relative;z-index:2}.audience-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:end;margin-bottom:50px}.audience-intro h2{font-size:clamp(38px,4vw,58px)}.audience-intro p{font-size:18px;color:var(--muted)}.audience-routes{display:grid;grid-template-columns:1fr 1fr;gap:28px}.audience-route{background:#fff;border-radius:24px;padding:32px;display:flex;flex-direction:column;overflow:hidden}.audience-route:nth-child(2){background:var(--ice)}.route-top{display:grid;grid-template-columns:1.05fr 1fr;gap:8px;align-items:center;margin-bottom:25px}.route-top h3{font-size:clamp(25px,2.5vw,35px);line-height:1.1}.route-top h3 span{color:var(--blue)}.route-portrait{width:100%;aspect-ratio:.8;border-radius:80px 80px 16px 16px;background:var(--paper)}.route-portrait img,.route-portrait video{object-fit:cover}.audience-route>p{font-size:16px;line-height:1.75;color:var(--muted);margin-bottom:30px}.route-link{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-weight:650;color:var(--blue);margin-top:auto}.route-link svg{width:34px;height:34px}.faq-portrait{width:270px;max-width:100%;border-radius:100px 100px 18px 18px;margin-top:32px}.contact{background:var(--blue);color:white;margin:0 3%;border-radius:32px;padding-block:65px 0;overflow:hidden}.contact-invitation>h2{font-size:clamp(39px,5vw,72px);text-align:center;max-width:1050px;margin:auto}.contact-invitation>h2 span{color:#cddcff}.contact .invitation-lead{text-align:center;font-size:19px;color:#eef1ff;max-width:none;margin:23px auto 42px}.invitation-stage{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:center;max-width:1000px;margin:auto}.invitation-portrait{width:100%;align-self:end;background:var(--blue);border-radius:150px 150px 0 0}.invitation-content{padding:0 0 55px}.contact .audience-choice{margin:0 0 22px;border-color:#ffffff60;background:transparent;border-radius:12px}.contact .audience-choice button{color:white;border-radius:8px;padding:12px 24px}.contact .audience-choice button[aria-pressed=true]{background:white;color:var(--blue)}.contact #contact-copy{color:#eef1ff;font-size:17px;min-height:0;margin:0 0 30px;max-width:470px}.invitation-link{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:clamp(24px,2.7vw,38px);font-weight:700;letter-spacing:-.025em}.invitation-arrow{width:68px;height:68px;border-radius:50%;background:white;color:var(--blue);display:grid;place-items:center;flex-shrink:0}.invitation-arrow svg{width:32px;height:32px}.contact .mail-note{color:#eef1ff;font-size:13px;margin-top:22px}.contact :focus-visible{outline-color:white}.footer{margin-top:45px;padding-right:85px}
@media(max-width:1000px){.audience-intro{gap:30px}.audience-routes{gap:20px}.audience-route{padding:24px}.route-top{grid-template-columns:1fr}.route-portrait{width:220px;justify-self:center;aspect-ratio:1;margin-top:22px}.invitation-stage{gap:25px}.contact .audience-choice button{padding:10px 17px}}
@media(max-width:760px){.header{height:80px;min-height:80px;flex-wrap:nowrap}.header .brand{font-size:19px}.menu-trigger span{display:none}.menu-trigger{padding:10px}.academy-menu{padding:22px}.menu-top .brand{font-size:21px}.academy-menu nav{margin:40px 0}.academy-menu nav a{font-size:clamp(26px,7vw,42px);padding:20px 0;gap:20px}.academy-menu nav svg{width:27px;height:27px}.floating-contact{width:56px;height:56px;right:19px;bottom:max(20px,env(safe-area-inset-bottom))}.floating-contact svg{width:25px}.audience-intro{display:block}.audience-intro p{font-size:17px;margin-top:25px}.audience-routes{grid-template-columns:1fr}.route-top{grid-template-columns:1fr .9fr;gap:10px}.route-top h3{font-size:26px}.route-portrait{width:100%;aspect-ratio:.8;margin:0;min-width:0}.audience-route{padding:24px}.route-link{font-size:15px}.faq-portrait{width:200px;margin-inline:auto}.contact{margin:0 12px;padding-top:45px;border-radius:24px}.contact-invitation{width:calc(100% - 36px)}.contact-invitation>h2{font-size:37px}.contact .invitation-lead{font-size:17px;margin-bottom:30px}.invitation-stage{display:flex;flex-direction:column-reverse;gap:0}.invitation-content{width:100%;padding-bottom:25px}.invitation-portrait{width:240px;max-width:85%;align-self:center}.invitation-link{font-size:26px;padding-right:65px}.invitation-arrow{display:none}.contact #contact-copy{font-size:16px}.footer{padding-right:75px}.idea-ticket{margin-top:-12px}}
@media(prefers-reduced-motion:reduce){.floating-contact::before{animation:none;opacity:0}.menu-trigger b,.academy-menu nav svg{transition:none}}
.module-art{align-items:center;gap:28px}.module-art>span{align-self:flex-start}.module-art svg{width:112px;height:112px;padding:23px;border-radius:50%;background:var(--blue);color:white;opacity:1;flex-shrink:0}.module-stack>li:nth-child(3n+2) .module-art svg{background:white;color:var(--blue)}.module-stack>li:nth-child(3n) .module-art svg{background:var(--ice);color:var(--navy)}
@media(max-width:1100px) and (min-width:1001px){.module-art svg{width:84px;height:84px;padding:17px}}
@media(max-width:760px){.module-art{justify-content:space-between}.module-art svg{width:78px;height:78px;padding:16px}}

.course-teachers{margin-top:32px}.course-teachers>p{font-size:16px;line-height:1.5;margin:0 0 16px;font-weight:600}.teacher-portraits{display:grid;grid-template-columns:1fr 1fr;gap:16px}.teacher-portraits figure{margin:0;min-width:0}.teacher-portraits img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border:1px solid var(--line);border-radius:24px}.teacher-portraits figure:nth-child(2) img{object-position:43% center}.teacher-portraits figcaption{font-size:15px;line-height:1.4;font-weight:600;margin-top:12px}.curriculum .section-intro h2{text-wrap:balance}@media(min-width:761px) and (max-width:1000px){.course-teachers{grid-column:1/-1;max-width:440px}}

.menu-top .brand img{flex-shrink:0}

/* Content and contact refinements */
.audience-intro h2{font-size:clamp(34px,3.2vw,46px);text-wrap:balance}.route-top h3{font-size:clamp(24px,2.1vw,30px);text-wrap:balance}.route-top h3 span{display:block}
.contact{margin:0;border-radius:0;padding-top:80px;background:#0000ff}.invitation-portrait{border-radius:0;background:transparent;mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent)}
.invitation-portrait img,.invitation-portrait video{mask-image:linear-gradient(to bottom,transparent,#000 12%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%)}
.contact .audience-choice{display:flex;gap:32px;padding:0;border:0;border-radius:0;background:none;margin-bottom:26px}.contact .audience-choice button{padding:12px 0;border-radius:0;background:none;color:#cddcff;font-size:21px;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.contact .audience-choice button[aria-pressed=true]{background:none;color:white;border-bottom-color:white}.contact .audience-choice button:hover{color:white}.contact .audience-choice button:before{content:'';display:inline-block;width:8px;height:8px;border:1px solid currentColor;border-radius:50%;margin-right:10px;vertical-align:middle}.contact .audience-choice button[aria-pressed=true]:before{background:currentColor}
.academy-footer{background:var(--navy);color:white;padding:65px 0 26px}.footer-content{display:grid;grid-template-columns:1fr 1fr;gap:36px}.academy-footer .brand{align-self:start}.footer-statement{grid-column:1;font-size:clamp(28px,3vw,44px);font-weight:650;line-height:1.12;letter-spacing:-.03em;margin:0}.footer-statement span{color:#cddcff}.academy-footer nav{grid-column:2;grid-row:1/span 2;display:flex;flex-direction:column;gap:22px;align-self:center;justify-self:end;font-size:18px;padding-right:30px}.academy-footer nav a{display:flex;align-items:center;gap:18px}.academy-footer nav svg{width:24px;height:24px}.footer-baseline{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff30;padding:25px 85px 0 0;font-size:14px;color:#cddcff}
@media(max-width:760px){.classroom-practice .practice-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:24px;align-items:center}.classroom-practice .closeup-scene,.classroom-practice .practice-copy{display:contents}.practice-copy h2{grid-column:1/-1;order:1}.practice-copy>p{grid-column:1/-1;order:2;margin:0}.practice-copy>.button{grid-column:1;order:3;justify-self:start}.classroom-practice .idea-ticket{grid-column:2;order:4;margin:0;width:100%;padding:18px;box-shadow:none}.classroom-practice .idea-ticket span{font-size:15px;white-space:normal}.classroom-practice .idea-ticket strong{font-size:22px;white-space:normal;margin:10px 0}.classroom-practice .gimbal-portrait{grid-column:1/-1;order:5;width:100%;max-width:none}.contact{margin:0;border-radius:0;padding-top:55px}.contact .audience-choice{gap:26px}.contact .audience-choice button{font-size:19px}.academy-footer{padding-top:45px}.footer-content{grid-template-columns:1fr;gap:28px}.academy-footer nav{grid-column:1;grid-row:auto;justify-self:start;font-size:17px;padding:0}.footer-baseline{flex-direction:column;gap:8px}.academy-footer .brand{font-size:23px}}
@media(max-width:520px){.classroom-practice .practice-layout{grid-template-columns:1fr}.practice-copy>.button,.classroom-practice .idea-ticket{grid-column:1}.classroom-practice .idea-ticket{margin:0}.route-top{grid-template-columns:1fr}.route-top h3{font-size:28px}.route-portrait{width:200px;aspect-ratio:1;justify-self:center}.audience-intro h2{font-size:34px}}
/* Real graduates, press coverage and certificate */
.photo-grade-defs{position:absolute;pointer-events:none;overflow:hidden}.graduate-section{background:var(--paper)}.graduate-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end;margin-bottom:44px}.graduate-intro h2,.certificate-copy h2{font-size:clamp(34px,4vw,56px);line-height:1.07;letter-spacing:-.035em}.graduate-intro h2 span,.certificate-copy h2 span{color:var(--blue)}.graduate-intro p{font-size:18px;line-height:1.7;color:var(--muted)}.graduate-gallery{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}.graduate-gallery figure{margin:0}.graduate-gallery figure:nth-child(2){margin-top:70px}.graduate-photo{border-radius:24px;overflow:hidden;background:var(--ice)}.graduate-photo img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.grade-sued img{filter:brightness(1.09) saturate(1.03) contrast(.96)}.grade-2025 img{filter:url(#grade-warm-room) brightness(1.09) saturate(.96) contrast(.98)}.graduate-gallery figcaption{font-size:15px;margin-top:16px;color:var(--muted)}.press-feature{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-top:80px;padding-top:48px;border-top:1px solid var(--line)}.press-preview{display:block;background:white;border:1px solid var(--line);padding:12px}.press-preview img{display:block;width:100%;height:auto}.press-source{font-size:15px;color:var(--muted);margin-bottom:16px}.press-feature h3{font-size:clamp(26px,3vw,38px);line-height:1.15;letter-spacing:-.025em;margin:0 0 20px}.press-feature p:not(.press-source){font-size:17px;line-height:1.65;color:var(--muted)}.press-feature .text-link{margin-top:22px}.certificate-proof{background:white}.certificate-proof-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:90px;align-items:center}.ihk-logo{display:block;width:330px;max-width:100%;height:auto;margin-bottom:38px}.certificate-copy>p{font-size:18px;line-height:1.7;max-width:520px;color:var(--muted);margin-top:24px}.certificate-links{display:flex;flex-direction:column;align-items:start;gap:18px;margin-top:30px}.certificate-display{margin:0;background:var(--ice);padding:40px;border-radius:24px}.certificate-display img{width:100%;height:auto;display:block;box-shadow:0 12px 28px #00002816}.certificate-display figcaption{text-align:center;font-size:14px;line-height:1.5;color:var(--muted);margin-top:22px}.teacher-portraits img{filter:saturate(.88) contrast(1.025)}
@media(max-width:760px){.graduate-intro{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.graduate-intro p{font-size:17px}.graduate-gallery{gap:20px}.graduate-gallery figure:nth-child(2){margin-top:40px}.graduate-gallery figcaption{font-size:14px}.press-feature{grid-template-columns:1fr;gap:28px;margin-top:48px;padding-top:32px}.certificate-proof-layout{grid-template-columns:1fr;gap:35px}.certificate-copy>p{font-size:17px}.certificate-display{max-width:440px;padding:26px;justify-self:center}.ihk-logo{width:290px;margin-bottom:28px}}
@media(max-width:520px){.graduate-gallery{grid-template-columns:1fr;gap:32px}.graduate-gallery figure:nth-child(2){margin-top:0}}

.portrait-label{font-size:16px;line-height:1.3;padding:9px 12px;max-width:calc(100% - 20px)}@media(max-width:520px){.portrait-label{font-size:14px;padding:7px 9px}}

.graduate-photo img{aspect-ratio:1;object-fit:cover;object-position:center 48%}.grade-2025 img{object-position:center 88%}.press-button{margin-top:24px}.certificate-links{flex-direction:row;flex-wrap:wrap;gap:12px}.certificate-links .button{font-size:15px;padding:13px 19px;gap:14px;min-height:52px}

.hero-ihk-logo{display:block;width:270px;max-width:100%;height:auto;margin:24px 0 28px;mix-blend-mode:multiply}@media(max-width:760px){.hero-ihk-logo{width:250px;margin:22px 0 26px}}
/* Keep the mobile creator inside the consultation flow. */
@media(max-width:760px){.invitation-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(125px,.7fr);gap:18px 12px;align-items:center;padding-bottom:38px}.invitation-content{display:contents}.contact .audience-choice{grid-column:1/-1;grid-row:1;margin:0}.contact #contact-copy{grid-column:1;grid-row:2;margin:0;font-size:16px;line-height:1.6}.invitation-portrait{grid-column:2;grid-row:2;width:100%;max-width:none;align-self:center;aspect-ratio:1}.invitation-link{grid-column:1/-1;grid-row:3;justify-content:flex-start;font-size:26px;padding:18px 65px 0 0;border-top:1px solid #ffffff55}.contact .invitation-lead{margin-bottom:28px}}
@media(max-width:760px){.press-feature>div{display:contents}.press-feature .press-source{grid-row:1;margin:0}.press-feature h3{grid-row:2;margin:0}.press-feature>div>p:not(.press-source){grid-row:3;margin:0}.press-feature .press-preview{grid-row:4}.press-feature .press-button{grid-row:5;justify-self:start;margin:0}.faq-layout>div:first-child{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,25%);gap:18px;align-items:center}.faq-layout>div:first-child h2{font-size:clamp(26px,5vw,37px)}.faq-portrait{width:100%;margin:0}.certificate-display{width:230px;max-width:100%;padding:18px}.certificate-display figcaption{font-size:13px;margin-top:14px}.contact .audience-choice{gap:12px;flex-wrap:wrap}.contact .audience-choice button{font-size:clamp(16px,2.8vw,19px)}.invitation-stage{grid-template-columns:minmax(0,1fr) minmax(100px,.48fr)}}
@media(max-width:520px){.contact #contact-copy{grid-column:1/-1}.invitation-portrait{grid-row:3}.invitation-link{grid-column:1;grid-row:3;padding:18px 0;font-size:24px;line-height:1.2}.invitation-stage{column-gap:18px}}
.course-facts{align-items:center}.hero-teachers{display:flex;gap:8px;border-left:1px solid var(--line);padding-left:26px}.hero-teachers img{width:52px;height:52px;object-fit:cover;border-radius:50%;object-position:center 35%}@media(max-width:520px){.course-facts{gap:12px}.course-facts span+span{padding-left:12px}.hero-teachers{padding-left:12px;gap:4px}.hero-teachers img{width:36px;height:36px}.course-facts strong{font-size:14px}}
.classroom-pillars{background:var(--navy)}
