@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/inter-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/inter-500.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/inter-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/inter-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/inter-800.ttf) format('truetype');
}

:root{--ink:#201f21;--muted:#66656a;--orange:#FE572A;--blue:#2949f4;--line:#e6e6e8;--paper:#fff;--lime:#d9f97e;--lilac:#e2dcff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'Inter',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}button{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700;line-height:1.13;letter-spacing:-.045em}h1{font-size:clamp(2.6rem,5.2vw,4.8rem)}h2{font-size:clamp(2rem,3.4vw,3.3rem)}h3{font-size:1.6rem}p{color:var(--muted)}em{font-style:normal;color:var(--orange)}[hidden]{display:none!important}.skip{position:absolute;top:-100px;z-index:100;background:#fff;padding:12px}.skip:focus{top:0}.trial-bar{min-height:38px;background:#f4f4f6;display:flex;gap:24px;align-items:center;justify-content:center;font-size:.875rem;padding:8px 20px}.trial-bar a{font-weight:700}.trial-bar a:hover{color:var(--orange)}.site-header{max-width:1440px;margin:auto;min-height:96px;display:flex;align-items:center;gap:24px;padding:20px 40px;border-bottom:1px solid var(--line)}.logo{flex-shrink:0;display:inline-block}.logo img{width:154px;height:auto}.site-header nav{display:flex;gap:22px;align-items:center;margin-left:auto}.site-header nav a{font-size:.875rem;font-weight:600;padding:12px 0;position:relative;white-space:nowrap}.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--orange)}.site-header nav a[aria-current]:after{content:'';position:absolute;bottom:5px;left:0;right:0;height:2px;background:var(--orange)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 24px;background:var(--orange);color:#fff;border:1px solid transparent;border-radius:8px;font-weight:700;font-size:.9375rem;transition:transform .2s,background .2s;gap:8px}.button:hover{background:#FE572A;transform:translateY(-2px)}.button.white{background:white;color:var(--ink)}.button.dark{background:var(--ink);color:white}.button.outline{background:transparent;border-color:var(--line);color:var(--ink)}.button.outline:hover{background:#f4f4f6}.nav-cta{padding:12px 19px;white-space:nowrap;min-height:44px}.menu{display:none;border:0;background:#f3f3f5;width:44px;height:44px;border-radius:8px;font-size:24px}.hero{max-width:1440px;margin:24px auto 0;padding:0 24px}.slider{position:relative;overflow:hidden;border-radius:14px}.slide{min-height:620px;display:grid;grid-template-columns:1.25fr 1fr;align-items:center;padding:64px 64px 100px;gap:40px;position:relative;animation:enter .45s ease}.blue{background:var(--blue);color:#fff}.orange{background:#ff633c;color:var(--ink)}.ink{background:#202125;color:white}.slide .eyebrow{color:inherit;opacity:.8}.slide h1{margin-top:26px;max-width:740px;font-size:clamp(2.8rem,4.4vw,4.3rem);line-height:1.12}.slide h1 em{color:inherit;opacity:.7}.slide p{color:inherit;opacity:.88;max-width:540px;margin:24px 0 30px}.type-art{font-size:clamp(3rem,6.5vw,6.3rem);line-height:1.01;letter-spacing:-.07em;font-weight:800;color:#ffffff26;position:relative;transform:rotate(-6deg);white-space:nowrap;user-select:none}.slash{position:absolute;right:10%;top:-35%;font-size:26rem;font-weight:600;line-height:1;color:var(--lime);opacity:.85;mix-blend-mode:screen}.orange .type-art{color:#201f2120}.orange .slash{color:#fff;mix-blend-mode:normal}.ink .slash{color:var(--orange)}.slider-controls{position:absolute;bottom:30px;left:64px;right:64px;display:flex;justify-content:space-between;align-items:center}.dots{display:flex;gap:8px}.dots button{height:7px;width:7px;border:0;border-radius:6px;background:#ffffff70;padding:0;transition:width .3s}.dots button[aria-pressed=true]{width:36px;background:#fff}.arrows{display:flex;gap:8px}.arrows button{width:44px;height:44px;border:1px solid #ffffff65;background:#ffffff12;color:white;border-radius:50%;font-size:22px}.arrows button:hover{background:#ffffff30}.arrows .pause{font-size:16px}.section{max-width:1280px;margin:0 auto;padding:88px 40px}.section.compact{padding-top:24px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:36px}.section-head p{max-width:400px}.eyebrow{display:block;font-size:.8125rem;font-weight:700;letter-spacing:.06em;margin-bottom:18px;text-transform:uppercase;color:var(--muted)}.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.program-card{padding:38px;border-radius:12px;min-height:330px;display:flex;flex-direction:column;transition:transform .25s}.program-card:hover{transform:translateY(-5px)}.coral{background:#fff0e9}.lilac{background:var(--lilac)}.program-card h3{font-size:2.6rem;margin:16px 0}.program-card p{color:#57545a}.card-bottom{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:34px;border-bottom:1px solid #201f2122;padding-bottom:16px;font-size:.875rem}.card-bottom b{font-weight:700}.process{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:#f7f7f8;max-width:1440px;border-radius:14px;margin:20px auto;padding:76px 100px}.process .section-head{margin-bottom:24px}.process ol{list-style:none;margin:0;padding:0}.process li{display:flex;gap:22px;border-bottom:1px solid #dddde0;padding:24px 0}.process li:first-child{padding-top:0}.process li span{font-size:.875rem;color:var(--orange);padding-top:4px}.process li h3{font-size:1.4rem;letter-spacing:-.02em;margin-bottom:10px}.link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.link-grid>div,.link-grid>a{border-top:1px solid var(--ink);padding:28px 0}.link-grid span{font-size:.875rem;color:var(--muted);display:block;margin-bottom:36px}.link-grid h3{margin-bottom:16px}.link-grid a:hover h3{color:var(--orange)}.cta-band{background:var(--lime);padding:64px max(40px,calc((100% - 1200px)/2));position:relative}.cta-band h2{font-size:clamp(2.5rem,4vw,4rem);margin-bottom:28px}.cta-band .button{position:absolute;right:max(40px,calc((100% - 1200px)/2));bottom:64px}.breadcrumbs{max-width:1280px;margin:auto;padding:24px 40px 0;display:flex;gap:12px;color:var(--muted);font-size:.875rem;flex-wrap:wrap}.breadcrumbs a:hover{color:var(--orange)}.intro{max-width:1280px;margin:0 auto;padding:42px 40px 44px}.intro h1{margin:10px 0 22px}.intro p{max-width:640px;font-size:1.125rem}.empty-state{padding:70px 30px;text-align:center;border:1px solid var(--line);border-radius:12px;background:#f8f8f9}.empty-state h2{font-size:1.7rem;letter-spacing:-.025em;max-width:650px;margin:14px auto}.empty-state p{max-width:550px;margin:0 auto 24px}.empty-symbol{font-size:50px;font-weight:800;line-height:1.1;color:var(--orange)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.filters button{background:white;border:1px solid var(--line);padding:10px 20px;border-radius:30px;font-size:.875rem}.filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.course-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;gap:20px;margin-bottom:44px}.stats strong{display:block;font-size:1.8rem;letter-spacing:-.04em}.stats span{color:var(--muted);font-size:.875rem}.course-layout h2{font-size:2rem;margin-bottom:24px}.module-list details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.module-list summary{display:flex;gap:18px;padding:22px 0;font-weight:700}.module-list summary span{color:var(--orange);font-size:.875rem}.module-list summary b{margin-left:auto}.module-list p{padding:0 28px 24px}.course-aside{padding:30px;background:#f5f5f7;border-radius:12px;position:sticky;top:24px}.course-aside h3{font-size:2rem;margin-bottom:20px}.course-aside p{margin-bottom:24px}.course-aside .button{display:flex;margin-top:12px}.outcome{padding:30px;margin-top:36px;background:var(--lime);border-radius:10px}.outcome h3{margin-bottom:14px}.corporate-panel{padding:48px;display:grid;grid-template-columns:1fr 1fr;gap:70px;background:var(--blue);color:white;border-radius:12px}.corporate-panel .eyebrow,.corporate-panel p{color:#ffffffbd}.corporate-panel h2{margin-bottom:28px}.tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.tags span{border:1px solid #ffffff65;padding:9px 14px;border-radius:6px;font-size:.875rem}.application{display:grid;grid-template-columns:1.5fr 1fr;gap:80px;align-items:start}.application form{display:grid;grid-template-columns:1fr 1fr;gap:22px}.application label{display:block;font-weight:600;font-size:.875rem}.application label span{font-weight:400;color:var(--muted)}input,select,textarea{display:block;width:100%;border:1px solid #d8d8dc;border-radius:8px;background:#fff;color:var(--ink);padding:13px 14px;margin-top:9px;font-size:1rem;min-width:0}textarea{resize:vertical}.full{grid-column:1/-1}.form-note{font-size:.875rem}.application aside{border-left:1px solid var(--line);padding-left:36px}.application aside h2{margin-bottom:22px}.application aside .button{margin-top:24px}.application hr{border:0;border-top:1px solid var(--line);margin:32px 0}.form-result-box{background:#f1f5e9;padding:20px;border-radius:8px}.form-result-box p{margin-bottom:12px}.form-result-box textarea{font-size:.875rem}.faq-page{max-width:960px}.faq-page details{border-bottom:1px solid var(--line);padding:22px 0}.faq-page summary{font-size:1.125rem;font-weight:600;display:flex;justify-content:space-between;gap:20px}.faq-page p{margin-top:18px}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.content-card{border-bottom:1px solid var(--line);padding-bottom:22px}.media-box{background:#f2f2f5;aspect-ratio:4/3;border-radius:12px;overflow:hidden;margin-bottom:20px;display:flex;align-items:center;justify-content:center;color:var(--muted)}.media-box img,.media-box video{width:100%;height:100%;object-fit:cover}.content-card h3{font-size:1.5rem;margin-bottom:8px}.content-card p{font-size:.9375rem}.content-card:hover h3{color:var(--orange)}.profile-grid .media-box{aspect-ratio:4/5}.detail-hero{max-width:900px;margin:auto}.detail-hero h1{margin:20px 0}.detail-hero p{margin:20px 0}.detail-media img,.detail-media video{width:100%;border-radius:12px;margin-bottom:24px}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:30px}.gallery img{width:100%;border-radius:10px}.quote{font-size:1.35rem;border-left:3px solid var(--orange);padding-left:24px;color:var(--ink);margin:28px 0}footer{max-width:1440px;margin:auto;padding:0 60px}.footer-faq{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}.footer-faq>details>summary{display:flex;justify-content:space-between;font-weight:600}.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:26px 0 0}.faq-list details{padding:18px;background:#f7f7f8;border-radius:8px}.faq-list summary{font-size:.9375rem;font-weight:600}.faq-list p{margin-top:16px;font-size:.9375rem}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;padding:54px 0}.footer-main p{font-size:.875rem;margin-top:20px}.footer-main strong{font-size:.875rem;display:block;margin-bottom:20px}.footer-main>div>a:not(.logo){display:block;font-size:.875rem;color:var(--muted);margin-bottom:10px}.footer-main a:hover{color:var(--orange)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0;font-size:.8125rem;color:var(--muted);gap:20px}.chat{position:fixed;bottom:22px;right:24px;z-index:30}.chat-launcher{width:60px;height:60px;border:0;border-radius:50%;background:var(--ink);color:white;box-shadow:0 7px 20px #0002;display:grid;place-items:center}.chat-launcher svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6}.chat-window{width:360px;max-width:calc(100vw - 32px);height:490px;max-height:calc(100dvh - 110px);background:#fff;border:1px solid var(--line);border-radius:15px;position:absolute;bottom:76px;right:0;box-shadow:0 16px 60px #0002;display:flex;flex-direction:column;overflow:hidden}.chat-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:18px 20px}.chat-head strong{display:block;font-size:1rem}.chat-head span{font-size:.8125rem;color:var(--muted)}.chat-head button{border:0;background:transparent;font-size:24px}.chat-messages{flex:1;min-height:0;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:12px}.chat-bubble{padding:12px 15px;border-radius:12px;background:#f4f4f6;font-size:.875rem;max-width:95%}.chat-bubble.user{align-self:flex-end;background:#e2dcff}.chat-bubble a{display:block;color:var(--blue);margin-top:10px;font-weight:700}.quick{display:flex;gap:6px;padding:10px 14px;overflow:auto}.quick button{font-size:.8125rem;white-space:nowrap;padding:8px 12px;background:white;border:1px solid var(--line);border-radius:20px}.chat-form{display:flex;padding:12px;gap:8px;border-top:1px solid var(--line)}.chat-form input{margin:0}.chat-form button{background:var(--orange);color:white;border:0;border-radius:7px;padding:10px;font-size:.875rem}.chat-note{font-size:.75rem;margin:0;padding:0 14px 12px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes enter{from{opacity:.6;transform:translateX(15px)}to{opacity:1;transform:translateX(0)}}@media(min-width:1600px){.hero{padding:0}.slide{min-height:620px}}@media(max-width:1150px){.site-header{padding:20px 24px}.site-header nav{gap:13px}.site-header nav a{font-size:.8125rem}.site-header .logo img{width:125px}.site-header{gap:16px}.slide{padding:48px 40px 100px}.slider-controls{left:40px;right:40px}.process{padding:60px 50px}.slash{font-size:21rem}.type-art{font-size:5.4rem}.application{gap:40px}}@media(max-width:950px){.site-header nav{display:none;position:absolute;top:calc(100% - 1px);left:0;right:0;background:white;padding:16px 24px;border-bottom:1px solid var(--line);z-index:25;flex-direction:column;align-items:stretch;gap:0}.site-header{position:relative;min-height:80px}.site-header nav.open{display:flex}.site-header nav a{font-size:1rem;padding:13px}.menu{display:block}.nav-cta{margin-left:auto}.slide{grid-template-columns:1fr 0.75fr;gap:0}.type-art{font-size:4.3rem}.slash{font-size:18rem}.slide h1{font-size:3rem}.section{padding:64px 28px}.process{padding:55px 40px;gap:40px}.program-card{padding:28px}.program-card h3{font-size:2rem}.course-layout{grid-template-columns:1fr 280px;gap:30px}.course-aside{padding:24px}.footer-main{gap:28px;grid-template-columns:1.5fr 1fr 1fr}.footer-main>div:last-child{grid-column:2/4}.media-grid{grid-template-columns:repeat(2,1fr)}.application{grid-template-columns:1fr}.application aside{border-left:0;padding:24px 0 0;border-top:1px solid var(--line)}}@media(max-width:650px){.trial-bar{font-size:.8125rem;gap:8px}.trial-bar>span{display:none}.site-header{padding:18px 18px;gap:12px;min-height:74px}.site-header .logo img{width:112px}.nav-cta{font-size:.8125rem;padding:10px 14px;min-height:42px}.menu{width:40px;height:40px;font-size:21px}.hero{padding:0 12px;margin-top:12px}.slider{border-radius:10px}.slide{min-height:620px;padding:38px 26px 95px;display:block}.slide h1{font-size:2.8rem;margin-top:22px}.slide p{font-size:1rem;margin:20px 0 24px;max-width:360px}.slide .eyebrow{font-size:.75rem}.type-art{position:absolute;bottom:100px;right:20px;font-size:2.3rem;opacity:.5;pointer-events:none}.slash{font-size:9rem;right:2%;top:-50%}.slide-copy{position:relative;z-index:2}.slider-controls{left:26px;right:26px;bottom:24px}.section{padding:52px 22px}.section-head{display:block;margin-bottom:28px}.section-head p{margin-top:20px}.program-grid,.link-grid{grid-template-columns:1fr}.program-card{min-height:310px}.program-card h3{font-size:2.1rem}.card-bottom{font-size:.8125rem}.process{display:block;padding:45px 24px;border-radius:0;margin-top:0}.process ol{margin-top:36px}.link-grid{gap:12px}.link-grid span{margin-bottom:20px}.cta-band{padding:42px 24px}.cta-band .button{position:static}.breadcrumbs{padding:20px 22px 0;gap:8px;font-size:.8125rem}.intro{padding:30px 22px 36px}.intro h1{font-size:2.6rem}.intro p{font-size:1rem}.course-layout{display:block}.course-aside{position:static;margin-top:32px}.stats{grid-template-columns:repeat(2,1fr);gap:24px}.module-list summary{font-size:.9375rem;gap:12px}.corporate-panel{display:block;padding:32px 24px}.corporate-panel>div+div{margin-top:36px}.application form{grid-template-columns:1fr;gap:18px}.application aside{margin-top:16px}.empty-state{padding:40px 20px}.empty-state h2{font-size:1.5rem}.media-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}footer{padding:0 24px}.footer-main{grid-template-columns:1fr 1fr;gap:34px 20px;padding:40px 0}.footer-main>div:first-child{grid-column:1/-1}.footer-main>div:last-child{grid-column:auto}.footer-main .logo img{width:140px}.footer-bottom{flex-wrap:wrap;padding-bottom:90px}.footer-bottom>span:nth-child(2){display:none}.faq-list{grid-template-columns:1fr}.chat{right:16px;bottom:16px}.chat-launcher{width:54px;height:54px}.chat-window{bottom:66px}.outcome{padding:24px}.faq-page summary{font-size:1rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Hophop: lightweight scenes, shared across the academy. */
.slide{grid-template-columns:1.15fr 1fr;gap:12px}.slide-copy{z-index:2}.mascot-stage{position:relative;min-width:0;height:455px;isolation:isolate;perspective:900px;align-self:center}.scene-halo{position:absolute;inset:7% -3% 5%;border-radius:50%;background:#ffffff12;border:1px solid #ffffff24;z-index:-1}.scene-halo:after{content:'';position:absolute;inset:12%;border:1px solid #ffffff1c;border-radius:50%}.mascot-tilt{height:100%;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .3s ease-out}.mascot-figure{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 24px 18px #00000024);transform-origin:50% 85%;animation:hophop-breathe 4s ease-in-out infinite;user-select:none}.scene-mark{position:absolute;pointer-events:none;font-weight:700}.mark-one{top:3%;right:3%;font-size:64px;color:var(--lime);animation:hophop-star 14s linear infinite}.mark-two{bottom:16%;left:2%;font-size:76px;color:#ffffff65;transform:rotate(14deg)}.scene-caption{position:absolute;left:0;bottom:7%;display:grid;gap:2px;padding:13px 18px;border-radius:14px;background:#ffffffed;color:var(--ink);box-shadow:0 8px 35px #0000000c;transform:rotate(-5deg);animation:caption-float 5s ease-in-out infinite;max-width:210px;font-size:.875rem}.scene-caption span{font-size:.75rem;color:#666}.mascot-replay{position:absolute;right:0;bottom:0;border:1px solid #ffffff55;border-radius:30px;background:#ffffff15;color:inherit;padding:8px 13px;font-size:.75rem;z-index:3}.mascot-replay:hover{background:#ffffff30}.greet.play .mascot-figure{animation:hophop-hello 1.6s ease-in-out,hophop-breathe 4s 1.6s ease-in-out infinite}.cycle .mascot-figure{animation:hophop-cycle 3.8s ease-in-out infinite}.cycle .scene-halo{background:#ffe4ba33}.cycle .mark-one{color:#202125}.create .mascot-figure{animation:hophop-work 5s ease-in-out infinite}.create .scene-halo{background:#b6a1ff20}.create .mark-one{color:var(--orange)}.slider.motion-paused .mascot-stage *{animation-play-state:paused!important}.mascot-mini{height:210px;width:210px;float:right;margin:-20px 0 12px 24px}.mascot-mini .scene-caption,.mascot-mini .scene-mark,.mascot-mini .mascot-replay{display:none}.mascot-mini .scene-halo{background:var(--lilac);border:0}.intro:has(.mascot-mini){display:flow-root}.hophop-welcome{position:fixed;left:24px;bottom:24px;z-index:40;display:flex;align-items:center;gap:12px;padding:10px 40px 10px 8px;max-width:320px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 50px #201f2118;animation:welcome-in .5s ease both}.hophop-welcome img{width:72px;height:86px;object-fit:contain;animation:hophop-hello 1.6s ease-in-out}.hophop-welcome strong{font-size:.875rem}.hophop-welcome p{font-size:.75rem;margin-top:3px}.welcome-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:20px;padding:4px}.welcome-leave{opacity:0;transform:translateY(20px);transition:opacity .3s,transform .3s}.scene-in-view .mascot-figure{animation-play-state:running}.mascot-mini:not(.scene-in-view) .mascot-figure{animation-play-state:paused}
@keyframes hophop-breathe{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1deg)}}
@keyframes hophop-hello{0%{transform:translateY(28px) scale(.92);opacity:0}25%{transform:translateY(-6px) rotate(-6deg);opacity:1}45%{transform:rotate(6deg)}65%{transform:rotate(-4deg)}85%{transform:rotate(3deg)}100%{transform:translateY(0) rotate(0)}}
@keyframes hophop-cycle{0%,100%{transform:translateX(12px) rotate(0)}45%{transform:translateX(-18px) translateY(-5px) rotate(-2deg)}70%{transform:translateX(-4px) translateY(-2px)}}
@keyframes hophop-work{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-7px) rotate(2deg)}70%{transform:translateY(-3px) rotate(-2deg)}}
@keyframes caption-float{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-7px) rotate(-3deg)}}
@keyframes hophop-star{to{transform:rotate(360deg)}}@keyframes welcome-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:950px){.mascot-stage{height:370px}.scene-caption{font-size:.75rem;padding:10px 12px;max-width:180px}.mark-one{font-size:48px}.slide{grid-template-columns:1.15fr 1fr}.mascot-mini{height:180px;width:180px}}
@media(max-width:650px){.slide{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:32px 26px 92px;min-height:760px}.slide h1{font-size:clamp(2.2rem,9.5vw,2.8rem)}.slide p{margin:16px 0 22px}.mascot-stage{height:300px;width:100%;max-width:360px;align-self:center}.scene-halo{inset:4% 8%}.scene-caption{bottom:8%;left:0}.mascot-replay{right:0;bottom:10px}.mark-one{right:2%;font-size:44px}.mark-two{font-size:50px;left:2%;bottom:22%}.mascot-mini{float:none;width:150px;height:150px;margin:0 0 18px auto}.hophop-welcome{left:12px;bottom:82px;max-width:280px;padding-right:34px}.hophop-welcome img{width:54px;height:68px}.hophop-welcome p{font-size:.6875rem}}
@media(prefers-reduced-motion:reduce){.mascot-tilt{transform:none!important}.mascot-stage *,.hophop-welcome,.hophop-welcome *{animation:none!important;transition:none!important}}
/* Still portraits with restrained motion graphics. */
.greet{overflow:visible}.greet .scene-halo{inset:5% 0 3%;background:radial-gradient(circle at 40% 30%,#ffffff24,#ffffff06 70%);animation:portrait-halo 7s ease-in-out infinite}.greet .mascot-figure{object-position:center bottom;filter:drop-shadow(0 18px 16px #0000001a);animation:portrait-drift 6s ease-in-out infinite;transform-origin:50% 90%}.greet.play .mascot-figure{animation:portrait-arrive .85s cubic-bezier(.2,.7,.2,1) both,portrait-drift 6s .85s ease-in-out infinite}.greet .scene-caption{bottom:8%;left:-5%;z-index:2}.greet .mark-one{right:-3%;top:0}.greet .mark-two{left:-4%;bottom:18%}.hophop-welcome{max-width:380px;padding:12px 40px 12px 12px;gap:8px;overflow:hidden;align-items:center;border-radius:22px}.hophop-welcome img{width:132px;height:156px;object-fit:contain;flex-shrink:0;animation:portrait-arrive .7s ease-out both}.hophop-welcome strong{font-size:1rem}.hophop-welcome p{font-size:.8125rem;line-height:1.55}.mascot-mini.greet .scene-halo{background:var(--lilac)}
@keyframes portrait-arrive{from{opacity:0;transform:translateY(25px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes portrait-drift{0%,100%{transform:translateY(0) rotate(-.6deg)}50%{transform:translateY(-6px) rotate(.6deg)}}
@keyframes portrait-halo{0%,100%{transform:scale(.98);opacity:.65}50%{transform:scale(1.025);opacity:1}}
@media(max-width:650px){.greet .scene-caption{left:0}.greet .mark-one{right:0}.greet .mark-two{left:0}.hophop-welcome{max-width:330px;left:12px;right:76px;padding:8px 28px 8px 6px;gap:2px}.hophop-welcome img{width:92px;height:112px}.hophop-welcome strong{font-size:.8125rem}.hophop-welcome p{font-size:.6875rem}.mascot-mini.greet{overflow:visible}}
@media(prefers-reduced-motion:reduce){.greet .mascot-figure,.greet.play .mascot-figure,.greet .scene-halo,.hophop-welcome img{animation:none!important}}
/* Site motion system. Mascot imagery remains still. */
.mascot-stage .mascot-figure,.mascot-stage.play .mascot-figure,.hophop-welcome img{animation:none!important;transform:none!important}.mascot-stage .mascot-tilt{transform:none!important;transition:none!important}.scene-caption{animation:none}.slide{animation:campaign-enter .6s cubic-bezier(.16,1,.3,1)}
.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--orange);z-index:80;pointer-events:none;transform:scaleX(0);transform-origin:left;will-change:transform}
.site-header{position:sticky;top:0;z-index:30;background:#fffffff5;transition:box-shadow .35s,background .35s,border-color .35s}.site-header.is-scrolled{background:#fffffff0;backdrop-filter:blur(16px);box-shadow:0 8px 30px #201f2109;border-color:#e6e6e899}.site-header nav a:before{content:'';position:absolute;left:0;right:0;bottom:5px;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s}.site-header nav a:hover:before{transform:scaleX(1)}
.menu{position:relative}.menu span{position:absolute;left:25%;width:50%;height:2px;background:currentColor;border-radius:2px;transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .2s,top .3s}.menu span:nth-child(1){top:32%}.menu span:nth-child(2){top:49%}.menu span:nth-child(3){top:66%}.menu[aria-expanded=true] span:nth-child(1){top:49%;transform:rotate(45deg)}.menu[aria-expanded=true] span:nth-child(2){opacity:0;transform:scaleX(.3)}.menu[aria-expanded=true] span:nth-child(3){top:49%;transform:rotate(-45deg)}
.motion-word{display:inline-block;overflow:clip;vertical-align:bottom;padding-bottom:.1em;margin-bottom:-.1em;line-height:inherit}.motion-word>span{display:inline-block;transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .65s;transition-delay:calc(var(--word-index,0)*38ms)}.motion-ready h1:not(.is-visible):not(.slide-words-in) .motion-word>span,.motion-ready h2:not(.is-visible) .motion-word>span{transform:translateY(115%);opacity:0}.slide-words-in .motion-word>span{animation:word-in .75s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--word-index,0)*45ms)}
.motion-ready .motion-reveal{opacity:0;transform:translateY(26px);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready .motion-reveal.is-visible{opacity:1;transform:translateY(0)}
.program-card,.content-card,.link-grid>a{position:relative;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,background .35s}.program-card:before,.link-grid>a:before{content:'';position:absolute;bottom:0;left:0;height:3px;width:100%;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.16,1,.3,1);border-radius:3px}.program-card:hover:before,.link-grid>a:hover:before{transform:scaleX(1)}.program-card:hover,.content-card:hover{box-shadow:0 16px 34px #201f210d}.motion-ready .program-card.is-visible:hover,.motion-ready .content-card.is-visible:hover{transform:translateY(-5px)}.content-card .media-box img{transition:transform .6s cubic-bezier(.16,1,.3,1)}.content-card:hover .media-box img{transform:scale(1.035)}
.button{position:relative;overflow:hidden;isolation:isolate;transition:transform .25s,background .25s,box-shadow .25s}.button:hover{box-shadow:0 6px 18px #201f2112}.button:active{transform:translateY(0) scale(.98)}.button-ink{position:absolute;width:12px;height:12px;border-radius:50%;background:currentColor;pointer-events:none;opacity:.15;transform:translate(-50%,-50%) scale(0);animation:button-ripple .6s ease-out forwards}
.dots button{position:relative;overflow:hidden}.dots button.is-timing[aria-pressed=true]:after{content:'';position:absolute;inset:0;background:#fff;transform-origin:left;animation:campaign-time 5.5s linear forwards}.dots button.is-timing[aria-pressed=true]{background:#ffffff55}.motion-paused .dots button:after,.timing-held .dots button:after,.focus-held .dots button:after{animation-play-state:paused!important}.arrows button{transition:transform .25s,background .25s}.arrows .next:hover{transform:translateX(3px)}.arrows .prev:hover{transform:translateX(-3px)}
.process ol{position:relative;padding-left:16px}.process ol:before,.process ol:after{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:2px;background:#dedee3}.process ol:after{background:var(--orange);transform-origin:top;transform:scaleY(var(--process-progress,0));transition:transform .1s linear}.process li{position:relative}.footer-main a:not(.logo){transition:color .2s,transform .25s}.footer-main a:not(.logo):hover{color:var(--orange);transform:translateX(4px)}
@keyframes word-in{from{transform:translateY(115%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes campaign-enter{from{opacity:.65}to{opacity:1}}@keyframes campaign-time{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes button-ripple{to{transform:translate(-50%,-50%) scale(45);opacity:0}}
@media(max-width:950px){.site-header nav.open{animation:menu-in .3s cubic-bezier(.16,1,.3,1)}@keyframes menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){.motion-ready .motion-reveal,.motion-ready h1 .motion-word>span,.motion-ready h2 .motion-word>span{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}.slide,.dots button:after,.scene-halo,.scene-mark{animation:none!important}.button-ink{display:none}.reading-progress{display:none}.program-card:hover,.content-card:hover{transform:none!important}}
/* DAHAA: contrasting surfaces and compact editorial spacing. */
:root{--ink:#202126;--muted:#55565f;--orange:#FE572A;--action:#FE572A;--blue:#273bc4;--line:#d8d7d2;--paper:#f4f2ed;--lime:#dcf2a2;--lilac:#ded8f3}
body{background:var(--paper)}main{padding-bottom:28px}.trial-bar{background:#24252c;color:#f6f3eb}.trial-bar a{color:#ffae89}.site-header{min-height:84px;background:#fffdf9;border-radius:0 0 18px 18px}.site-header.is-scrolled{background:#fffdf9f5}.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--action)}
.button{background:var(--action)}.button:hover{background:#FE572A}.button.white{background:#fffdf8;color:var(--ink)}.button.dark{background:var(--ink);color:#fff}.button.outline{border-color:#bbbcb8;background:#fffdf9}.button.outline:hover{background:#ecebe6}.chat-form button{background:var(--action)}.chat-bubble a{color:#2637b5}em{color:var(--action)}
.hero{margin-top:18px}.slide{min-height:620px}.slide.blue{background:#273bc4}.slide.orange{background:#f99570;color:#202126}.slide.ink{background:#24252d}.slide h1 em{opacity:1}.slide p{opacity:1}.slide .eyebrow{opacity:1}.slider[data-theme=orange] .arrows button{color:#202126;border-color:#20212680;background:#ffffff40}.slider[data-theme=orange] .arrows button:hover{background:#ffffff80}
.greet .mascot-tilt{overflow:hidden;border-radius:30px}.greet .mascot-figure{height:168%;width:100%;object-fit:cover;object-position:center top}.greet .scene-halo{inset:3% 0;background:#ffffff12;animation:none}.scene-mark{opacity:.8}.scene-caption{box-shadow:0 6px 22px #00000012}.hophop-welcome img{object-fit:cover;object-position:center top;height:156px}.mascot-mini.greet .mascot-figure{height:160%}
.section{max-width:1248px;padding:48px 36px;margin:20px auto;background:#fffdf9;border:1px solid #e4e1d9;border-radius:22px}.section.compact{padding-top:30px;padding-bottom:30px}.section-head{margin-bottom:28px;gap:30px}.section-head p{max-width:370px}.section h2{font-size:clamp(1.9rem,3.2vw,2.9rem)}.program-grid{gap:20px}.program-card{min-height:280px;padding:30px}.program-card h3{font-size:clamp(1.9rem,3vw,2.5rem);margin:12px 0 16px}.coral{background:#f7d6c5;border:1px solid #e9bca7}.lilac{background:#ded8f3;border:1px solid #c6bde5}.program-card .eyebrow{color:#4e4650}.program-card p{color:#4a444a}.card-bottom{padding-top:24px;padding-bottom:12px}.card-bottom b{color:var(--ink)}
.process.section{max-width:1248px;background:#252630;color:#fffdf8;border-color:#252630;padding:48px 42px;gap:48px;margin:20px auto}.process p{color:#d4d4dd}.process .eyebrow{color:#ffb99d}.process em{color:#ffae89}.process li{border-color:#ffffff30;padding:20px 0}.process li span{color:#ffb99d}.process ol:before{background:#ffffff30}.process ol:after{background:#ff9b70}.process .section-head{margin-bottom:20px}.process li h3{font-size:1.25rem}
.link-grid{gap:16px}.link-grid>a,.link-grid>div{border:1px solid #ddd9d0;background:#f4f1e9;border-radius:14px;padding:24px}.link-grid>a:nth-child(2),.link-grid>div:nth-child(2){background:#ede9f7;border-color:#d8d1e9}.link-grid>a:nth-child(3),.link-grid>div:nth-child(3){background:#edf2df;border-color:#d6dfbf}.link-grid span{margin-bottom:22px}.link-grid h3{font-size:1.35rem;margin-bottom:12px}.link-grid p{font-size:.9375rem}.link-grid a:hover h3{color:var(--action)}
.cta-band{max-width:1248px;margin:20px auto 0;padding:38px 40px;background:#dceba9;border-radius:22px;border:1px solid #c3d58b}.cta-band h2{font-size:clamp(2rem,3.5vw,3.2rem);margin-bottom:0;max-width:700px}.cta-band .eyebrow{color:#435125}.cta-band .button{right:40px;bottom:40px}.breadcrumbs{max-width:1248px;padding:20px 16px 0;font-size:.8125rem;color:#585961}.intro{max-width:1248px;margin:14px auto 20px;padding:30px 36px;background:#e9e5dc;border:1px solid #dcd7cc;border-radius:22px;min-height:0}.intro:has(.mascot-mini){position:relative}.intro .eyebrow{color:#665346;margin-bottom:12px}.intro h1{font-size:clamp(2.05rem,3.8vw,3.35rem);margin:8px 0 16px;max-width:880px}.intro p{font-size:1rem;color:#50515b;max-width:700px}.mascot-mini{height:168px;width:180px;margin:-5px 0 0 24px}.mascot-mini .scene-halo{background:#d8cfbd}.mascot-mini.greet .scene-halo{background:#d8cfbd}
body[data-page=student-works] .intro{background:#e3def3;border-color:#d2cae9}body[data-page=trainers] .intro,body[data-page=corporate] .intro{background:#f2d8c9;border-color:#e4c4b1}body[data-page=graduates] .intro{background:#e4ebcf;border-color:#ced9ae}body[data-page=seminars] .intro{background:#dbe5ec;border-color:#c4d3de}.intro em{color:var(--ink)}
.collection-preview{display:grid;grid-template-columns:1.35fr 1fr;gap:24px;background:#292a35;color:#faf8f1;border-radius:18px;overflow:hidden;min-height:320px}.preview-copy{padding:36px 0 36px 36px;align-self:center}.preview-copy .eyebrow{color:#ffb89a;font-size:.75rem}.preview-copy h2{font-size:clamp(1.65rem,2.8vw,2.35rem);margin-bottom:16px}.preview-copy p{color:#d4d4df;max-width:510px}.preview-links{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:24px}.text-link{font-size:.875rem;font-weight:600;text-underline-offset:5px}.text-link:hover{text-decoration:underline}.preview-art{position:relative;min-height:320px;isolation:isolate;overflow:hidden;background:#3b3d53;display:flex;justify-content:center;align-items:end}.preview-art img{width:100%;height:320px;object-fit:contain;position:relative;z-index:1}.preview-slash{position:absolute;right:15%;top:-8%;font-size:340px;line-height:1;color:#ffffff12;font-weight:800;pointer-events:none}.preview-tags{position:absolute;bottom:16px;left:12px;right:12px;display:flex;justify-content:center;gap:6px;z-index:2;flex-wrap:wrap}.preview-tags span{padding:5px 10px;background:#fffdf4;color:#303038;border-radius:20px;font-size:.6875rem;font-weight:600}body[data-page=student-works] .preview-art{background:#7063a3}body[data-page=trainers] .preview-art{background:#aa5e40}body[data-page=graduates] .preview-art{background:#697448}body[data-page=seminars] .preview-art{background:#4b687d}
.empty-state{padding:30px 24px;background:#eeebe3;border-color:#d4d0c5}.empty-symbol{font-size:34px;color:var(--action)}.empty-state h2{font-size:1.5rem}.empty-state p{margin-bottom:20px}.filters{margin-bottom:20px}.filters button{background:#fffdf8;border-color:#c7c4ba}.course-aside{top:108px;background:#e4def1;border:1px solid #cec5e3;padding:26px}.stats{background:#e9eddf;border:1px solid #d0d8c0;border-radius:12px;padding:22px;margin-bottom:30px}.stats strong{font-size:1.65rem}.outcome{background:#e2edc3;border:1px solid #c8d99e}.module-list summary span,.process li span{color:var(--action)}.process li span{color:#ffb99d}.corporate-panel{background:#273bc4;padding:36px;gap:36px}.corporate-panel .eyebrow,.corporate-panel p{color:#f1f0ff}.application{gap:40px}.application form{padding:26px;background:#f3f0e8;border:1px solid #ded9ce;border-radius:16px}.application aside{border-left:0;padding:24px;background:#e6dfef;border:1px solid #d0c5df;border-radius:16px}.application aside h2{font-size:2rem}.application aside p{font-size:.9375rem}.application hr{margin:22px 0}.application .button{max-width:100%}.faq-page details{padding:20px 22px;margin:0 0 12px;border:1px solid #dcd7cc;background:#f4f1e9;border-radius:12px}.faq-page{max-width:1248px}.faq-page summary{font-size:1rem}
footer{max-width:none;background:#202129;color:#faf8f1;padding:0 max(36px,calc((100% - 1176px)/2));border-top:1px solid #34353e}footer .logo{background:#fffdf8;padding:10px 14px;border-radius:10px}footer .logo img{width:132px}.footer-faq{border-color:#454650;padding:20px 0}.footer-main{gap:36px;padding:36px 0}.footer-main p,.footer-main>div>a:not(.logo),.footer-bottom{color:#c6c6d1}.footer-main strong{color:#fff;margin-bottom:16px}.footer-main a:not(.logo):hover,.footer-bottom a:hover{color:#ffb99d}.footer-bottom{border-color:#454650}.faq-list details{background:#30313c;color:#fff}.faq-list p{color:#d8d8e0}.faq-list{padding:20px 0 4px}.footer-faq summary{color:#f7f5ee}.chat{z-index:45}.chat-launcher{background:var(--action);border:1px solid #f9ac91}.chat-window{color:var(--ink);background:#fffdf9}.hophop-welcome{background:#fffdf8;border-color:#d8d1c5}.hophop-welcome strong{color:#24252c}.hophop-welcome p{color:#55565f}
@media(max-width:1300px){.section,.intro,.cta-band,.process.section{margin-left:24px;margin-right:24px}.breadcrumbs{padding-left:40px;padding-right:40px}}
@media(max-width:950px){.section{padding:32px 26px}.intro{padding:26px}.process.section{padding:34px 28px;gap:30px}.site-header nav{background:#fffdf9}.collection-preview{grid-template-columns:1.2fr 1fr;gap:12px}.preview-copy{padding:28px 0 28px 26px}.preview-art,.preview-art img{min-height:290px;height:290px}.course-aside{top:100px}.cta-band{padding:32px}.cta-band .button{right:32px;bottom:34px}.application{gap:24px}.application aside{padding:24px}}
@media(max-width:650px){main{padding-bottom:18px}.site-header{min-height:74px}.hero{margin-top:12px}.slide{min-height:730px;padding-bottom:90px}.section,.intro,.cta-band,.process.section{margin:14px 12px;border-radius:16px}.section{padding:26px 20px}.section.compact{padding:20px}.intro{padding:24px 20px}.intro h1{font-size:2.2rem}.intro p{font-size:.9375rem}.intro .mascot-mini{float:right;width:104px;height:112px;margin:0 0 12px 12px}.intro .mascot-mini~h1{clear:both}.intro:has(.mascot-mini) .eyebrow{padding-top:16px}.breadcrumbs{padding:16px 22px 0}.process.section{padding:28px 22px}.process ol{margin-top:26px}.program-card{padding:24px;min-height:255px}.program-card h3{font-size:2rem}.link-grid>a,.link-grid>div{padding:22px}.section-head{margin-bottom:24px}.section-head p{margin-top:16px}.cta-band{padding:28px 24px}.cta-band h2{font-size:2.25rem;margin-bottom:22px}.cta-band .button{position:static}.collection-preview{grid-template-columns:1fr;gap:0}.preview-copy{padding:26px 24px}.preview-copy h2{font-size:1.65rem}.preview-copy p{font-size:.9375rem}.preview-links{gap:16px;margin-top:20px}.preview-art,.preview-art img{height:240px;min-height:240px}.preview-art img{width:90%;max-width:340px;object-position:center 12%}.preview-tags{bottom:12px}.empty-state{padding:26px 18px}.course-aside{position:static;margin-top:24px}.application form{padding:20px;gap:18px}.application aside{padding:22px}.stats{padding:18px;gap:20px}.faq-page details{padding:18px 16px}.corporate-panel{padding:26px 22px}footer{padding:0 24px}.footer-main{padding:30px 0;gap:28px 20px}.footer-main .logo img{width:120px}.footer-bottom{padding-bottom:88px}.hophop-welcome img{height:112px}.greet .mascot-tilt{border-radius:20px}}
