:root{--hidden-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1' height='1' viewBox='0 0 1 1'%3E%3C/svg%3E") 0 0, none;--primary: #a78bfa;--primary-dark: #7c3aed;--primary-light: #ddd6fe;--secondary: #60a5fa;--sky-soft: #dff3ff;--accent: #fef08a;--accent-strong: #facc15;--mint: #9af7d2;--peach: #ffc4a3;--bg-light: #fdfaff;--bg-warm: #fffdf5;--bg-white: #ffffff;--text-main: #172033;--text-muted: #64748b;--line: rgba(124, 58, 237, .14);--grad-main: linear-gradient(135deg, #a78bfa 0%, #60a5fa 56%, #fef08a 118%);--grad-soft: linear-gradient(180deg, #fdfaff 0%, #eef8ff 52%, #fffdf5 100%);--shadow-soft: 0 24px 60px rgba(124, 58, 237, .12);--shadow-blue: 0 22px 48px rgba(96, 165, 250, .18);--glass-surface: rgba(255, 255, 255, .34);--glass-bright: rgba(255, 255, 255, .72);--glass-line: rgba(255, 255, 255, .68);--liquid-edge: rgba(255, 255, 255, .9);--liquid-core: rgba(255, 255, 255, .22);--liquid-shadow: rgba(76, 29, 149, .18);--radius-lg: 28px;--radius-md: 20px;--container: 1220px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Noto Sans KR,Pretendard,system-ui,sans-serif;background:var(--grad-soft);color:var(--text-main);line-height:1.65;overflow-x:hidden}body.is-loading{overflow:hidden}a{color:inherit}button,input,select{font:inherit}h1,h2,h3,.logo,.intro-mark{font-family:Outfit,Noto Sans KR,sans-serif}.container{width:min(var(--container),calc(100% - 48px));margin:0 auto}.site-shell{opacity:0;transition:opacity .9s ease}body.site-ready .site-shell{opacity:1}.intro-loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;display:grid;place-items:center;align-content:center;gap:22px;min-height:100dvh;background:radial-gradient(circle at 25% 25%,rgba(254,240,138,.9),transparent 28%),radial-gradient(circle at 72% 28%,rgba(96,165,250,.45),transparent 26%),radial-gradient(circle at 50% 78%,rgba(167,139,250,.48),transparent 34%),linear-gradient(135deg,#fffdf5,#f8ecff 48%,#e8f8ff);transition:opacity .65s ease,visibility .65s ease}.intro-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.intro-orbit{position:absolute;width:min(62vw,520px);aspect-ratio:1;border-radius:999px;border:1px solid rgba(124,58,237,.12);animation:introSpin 3.2s linear infinite}.intro-orbit span{position:absolute;width:16px;height:16px;border-radius:999px;background:var(--primary);box-shadow:0 0 30px #7c3aed73}.intro-orbit span:nth-child(1){top:8%;left:48%}.intro-orbit span:nth-child(2){right:6%;top:58%;background:var(--secondary)}.intro-orbit span:nth-child(3){left:10%;bottom:16%;background:var(--accent-strong)}.intro-mark{position:relative;z-index:1;font-size:clamp(4rem,14vw,11rem);line-height:.9;font-weight:900;color:transparent;background:var(--grad-main);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 20px 38px rgba(124,58,237,.22));animation:markPop 1.1s cubic-bezier(.16,1,.3,1) both}.intro-wave{position:relative;z-index:1;display:flex;align-items:center;gap:7px;height:42px}.intro-wave i{display:block;width:7px;height:18px;border-radius:999px;background:var(--primary-dark);animation:wavePulse .78s ease-in-out infinite}.intro-wave i:nth-child(2){animation-delay:.08s;background:var(--secondary)}.intro-wave i:nth-child(3){animation-delay:.16s;background:var(--accent-strong)}.intro-wave i:nth-child(4){animation-delay:.24s;background:var(--primary)}.intro-wave i:nth-child(5){animation-delay:.32s;background:var(--secondary)}.intro-wave i:nth-child(6){animation-delay:.4s;background:var(--accent-strong)}.intro-wave i:nth-child(7){animation-delay:.48s;background:var(--primary-dark)}.intro-loader p{position:relative;z-index:1;color:#4c1d95;font-weight:900;letter-spacing:0}@keyframes introSpin{to{transform:rotate(360deg)}}@keyframes markPop{0%{opacity:0;transform:scale(.78) translateY(24px);filter:blur(12px)}to{opacity:1;transform:scale(1) translateY(0);filter:blur(0) drop-shadow(0 20px 38px rgba(124,58,237,.22))}}@keyframes wavePulse{0%,to{height:14px;transform:translateY(0)}50%{height:42px;transform:translateY(-4px)}}.navbar{position:fixed;top:14px;left:0;right:0;z-index:1000;pointer-events:none}.nav-inner{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 18px 0 22px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:#ffffffb8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 48px #7c3aed1f;pointer-events:auto;opacity:1;transform:translateY(0);transition:opacity .34s ease,transform .42s cubic-bezier(.16,1,.3,1),background .3s ease,box-shadow .36s ease,border-color .3s ease;will-change:opacity,transform}.navbar.is-scrolled .nav-inner{background:#ffffffeb;box-shadow:0 14px 32px #3b82f624;border-color:#ffffffe6}.navbar.is-hidden .nav-inner{opacity:0;pointer-events:none}.navbar.is-hidden.from-top .nav-inner{transform:translateY(-28px)}.navbar.is-hidden.from-bottom .nav-inner{transform:translateY(28px)}.navbar.is-hidden .nav-inner{pointer-events:none}.navbar.is-visible .nav-inner{opacity:1;transform:translateY(0);box-shadow:0 22px 56px #60a5fa2e}.logo{display:flex;flex-direction:column;gap:5px;line-height:1;text-decoration:none}.logo-sub{color:var(--text-muted);font-size:.72rem;font-weight:800}.logo-main{color:var(--primary-dark);font-size:1.7rem;font-weight:900}.nav-links{display:flex;align-items:center;gap:8px;list-style:none}.nav-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 15px;border-radius:999px;color:var(--text-main);font-size:.95rem;font-weight:800;text-decoration:none;transition:background .2s ease,color .2s ease,transform .2s ease}.nav-links a:hover{background:#a78bfa1f;color:var(--primary-dark);transform:translateY(-1px)}.btn-gradient{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.95),rgba(255,255,255,.08) 24%,transparent 42%),radial-gradient(circle at 82% 88%,rgba(254,240,138,.74),transparent 34%),linear-gradient(135deg,#a78bfaa8,#60a5fa80 54%,#fef08a7a),var(--liquid-core)!important;color:#fff!important;border:1px solid rgba(255,255,255,.72);box-shadow:inset 0 1px 1px #fffffff2,inset 8px 10px 18px #ffffff2e,inset -10px -16px 26px #4c1d9529,0 14px 30px #7c3aed2e,0 0 0 1px #ffffff52;-webkit-backdrop-filter:blur(22px) saturate(180%) contrast(112%);backdrop-filter:blur(22px) saturate(180%) contrast(112%)}.btn-gradient:before{content:"";position:absolute;inset:1px 1px auto;height:46%;border-radius:inherit;background:linear-gradient(180deg,#ffffffeb,#ffffff0f),radial-gradient(circle at 22% 20%,rgba(255,255,255,.9),transparent 28%);opacity:.78;pointer-events:none;z-index:0}.hero{position:relative;display:flex;align-items:center;min-height:84dvh;padding:108px 0 64px;overflow:hidden}.hero-slider-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(/assets/portfolio-default-cover-vc_wRlGJ.png);background-size:cover;background-position:68% center}.hero-slider-wrapper:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.3;background-image:linear-gradient(rgba(255,255,255,.52) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.42) 1px,transparent 1px),linear-gradient(135deg,#7c3aed1f,#60a5fa1a,#facc1514);background-size:5px 5px,5px 5px,100% 100%;mix-blend-mode:soft-light}.hero-video{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;object-fit:cover;object-position:68% center}.hero-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:linear-gradient(90deg,#fdfafffa,#fdfafff0 48%,#fdfaff85,#fdfaff1a),radial-gradient(circle at 18% 78%,rgba(254,240,138,.62),transparent 26%),radial-gradient(circle at 44% 22%,rgba(96,165,250,.24),transparent 28%)}.hero-layout{position:relative;z-index:3}.hero-text{width:min(880px,100%)}.badge,.section-kicker{display:inline-flex;align-items:center;min-height:36px;padding:7px 16px;border:1px solid rgba(124,58,237,.17);border-radius:999px;background:#ffffffc7;color:var(--primary-dark);font-size:.84rem;font-weight:900;box-shadow:0 10px 24px #7c3aed14}.hero h1{margin:26px 0 24px;font-size:clamp(2.9rem,5.4vw,5.15rem);line-height:1.04;font-weight:900}.text-gradient{display:inline-block;background:var(--grad-main);-webkit-background-clip:text;background-clip:text;color:transparent}.text-purple{color:var(--primary-dark)}@media (min-width: 1024px){.hero h1 .text-gradient{white-space:nowrap}}.hero p{max-width:620px;color:#475569;font-size:clamp(1rem,1.35vw,1.16rem);font-weight:500}.hero-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 26px;border:1px solid var(--glass-line);border-radius:999px;overflow:hidden;isolation:isolate;cursor:pointer;font-weight:900;text-decoration:none;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);box-shadow:inset 0 1px 1px #ffffffd1,inset 10px 12px 20px #ffffff29,inset -10px -16px 24px #4c1d9514,0 12px 26px #7c3aed1a;transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease}.btn:before,.btn-portfolio:before,.mobile-cta a:before,.modal-close:before{content:"";position:absolute;inset:1px 1px auto;height:52%;border-radius:inherit;background:linear-gradient(180deg,#ffffffe0,#ffffff1a);opacity:.68;pointer-events:none;z-index:0}.btn:after,.btn-portfolio:after,.mobile-cta a:after{content:"";position:absolute;top:-120%;left:-36%;width:42%;height:320%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);transform:rotate(24deg);opacity:0;pointer-events:none;transition:left .72s cubic-bezier(.16,1,.3,1),opacity .22s ease;z-index:0}.btn:hover,.btn-portfolio:hover{transform:translateY(-3px) scale(1.015)}.btn:hover:after,.btn-portfolio:hover:after,.mobile-cta a:hover:after{left:-36%;opacity:0}.btn-primary,.btn-yellow{background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.92),rgba(255,255,255,.1) 24%,transparent 42%),radial-gradient(circle at 88% 82%,rgba(254,240,138,.72),transparent 35%),linear-gradient(135deg,#a78bfaad,#60a5fa85 55%,#fef08a80),var(--liquid-core);color:#fff;box-shadow:inset 0 1px 1px #ffffffeb,inset 10px 12px 22px #ffffff2e,inset -12px -18px 30px #7c3aed33,0 22px 48px #60a5fa38,0 8px 18px #7c3aed24;text-shadow:0 1px 12px rgba(76,29,149,.24)}.btn-outline{background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.92),transparent 34%),linear-gradient(135deg,#ffffff94,#eef7ff52),#ffffff42;color:var(--primary-dark);border-color:#a78bfa57;box-shadow:inset 0 1px 1px #ffffffe6,inset 9px 10px 18px #ffffff2e,inset -10px -14px 24px #60a5fa1a,0 12px 28px #7c3aed1a}.btn-primary:hover,.btn-yellow:hover,.btn-gradient:hover{background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.72),rgba(255,255,255,.08) 23%,transparent 42%),radial-gradient(circle at 86% 82%,rgba(254,240,138,.42),transparent 34%),linear-gradient(135deg,#7c3aedf5,#2563ebe0 58%,#facc15c2),#7c3aedb8!important;border-color:#ffffffeb;box-shadow:inset 0 1px 1px #ffffffeb,inset 10px 12px 22px #ffffff24,inset -14px -20px 34px #2e106557,0 26px 56px #2563eb47,0 12px 28px #7c3aed3d;filter:saturate(1.22) contrast(1.06)}.btn-outline:hover{background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.78),transparent 34%),linear-gradient(135deg,#e0e7ffc7,#bae6fd94),#dbeafe8f;color:#1d4ed8;border-color:#60a5fa9e;box-shadow:inset 0 1px 1px #ffffffeb,inset 8px 12px 20px #ffffff29,inset -12px -18px 30px #2563eb24,0 20px 44px #60a5fa38}.btn:active,.btn-gradient:active,.btn-portfolio:active,.mobile-cta a:active,.modal-close:active{transform:translateY(0) scale(.975);filter:saturate(1.12) brightness(1.03)}.btn:focus-visible,.btn-gradient:focus-visible,.btn-portfolio:focus-visible,.mobile-cta a:focus-visible,.modal-close:focus-visible{outline:3px solid rgba(96,165,250,.46);outline-offset:4px}.hero-mini{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.hero-mini span{padding:8px 12px;border-radius:999px;background:#ffffffad;color:#475569;font-size:.9rem;font-weight:800}.stats,.artists,.courses,.free-plugin-spotlight,.portfolio-strip,.cta-section{padding:clamp(72px,9vw,120px) 0}.stats{padding-top:54px;background:#ffffff80}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-item,.course-card,.artist-card,.cta-card,.portfolio-strip{border:1px solid rgba(255,255,255,.8);background:#ffffffc7;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.stat-item{min-height:156px;padding:28px 22px;border-radius:var(--radius-md)}.stat-item h3{color:var(--primary-dark);font-size:clamp(2rem,3vw,3.25rem);line-height:1}.stat-item p{margin-top:14px;color:var(--text-muted);font-weight:800}.section-header{width:min(720px,100%);margin:0 auto 52px;text-align:center}.courses .section-header{width:min(1040px,100%)}.courses .section-header h2,.courses .section-header p{white-space:nowrap}.section-header h2,.portfolio-layout h2,.cta-card h2{margin-top:18px;font-size:clamp(2.2rem,4vw,4rem);line-height:1.08;font-weight:900}.section-header p,.cta-card p{margin-top:18px;color:var(--text-muted);font-size:1.08rem;font-weight:500}.course-grid,.artist-grid{display:grid;gap:22px}.course-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.course-card{position:relative;min-height:390px;display:flex;flex-direction:column;padding:clamp(26px,3vw,38px);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}html.has-view-cursor,html.has-view-cursor *,body.has-view-cursor,body.has-view-cursor *{cursor:var(--hidden-cursor)!important}.view-cursor-dot,.view-cursor-pill{position:fixed;top:0;left:0;z-index:3000;pointer-events:none;will-change:transform}.view-cursor-dot{--stat-clip-top: 100%;--stat-clip-right: 0px;--stat-clip-bottom: 0px;--stat-clip-left: 0px;width:14px;height:14px;border-radius:50%;overflow:hidden;background:#20263f;box-shadow:0 0 0 5px #20263f14,0 8px 20px #20263f29;transform:translate3d(-50%,-50%,0);transition:opacity .12s ease,box-shadow .18s ease,background .18s ease}.view-cursor-dot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(135deg,#60a5fa,#2563eb);clip-path:inset(var(--stat-clip-top) var(--stat-clip-right) var(--stat-clip-bottom) var(--stat-clip-left));opacity:0;transition:opacity .12s ease}.view-cursor-dot.has-stat-overlap{box-shadow:0 0 0 7px #2563eb1c,0 8px 22px #2563eb3d}.view-cursor-dot.has-stat-overlap:after{opacity:1}.view-cursor-pill{display:grid;place-items:center;min-width:72px;height:34px;padding:0 16px;border:2px solid #151827;border-radius:999px;background:#fff;color:#151827;font-size:.78rem;font-weight:1000;letter-spacing:1.2px;opacity:0;transform:translate3d(-50%,-50%,0) scale(.72);box-shadow:0 7px #d8e3ff;transition:opacity .14s ease,box-shadow .16s ease}.view-cursor-pill.is-visible{opacity:1}.view-cursor-pill.is-pressed{box-shadow:0 3px #d8e3ff}body.view-cursor-active .view-cursor-dot{opacity:0}@media (pointer: coarse){.view-cursor-dot,.view-cursor-pill{display:none}}.course-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;background:radial-gradient(circle at var(--mouse-x, 20%) var(--mouse-y, 20%),rgba(254,240,138,.44),transparent 34%);opacity:0;transition:opacity .25s ease}.course-card:hover:before{opacity:1}.course-card:hover,.artist-card:hover{transform:translateY(-8px);box-shadow:0 28px 70px #60a5fa2e}.course-card.active{border-color:#7c3aed47;background:linear-gradient(180deg,#ffffffeb,#f4edffd6)}.course-icon{position:relative;z-index:1;width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:var(--grad-main);color:#fff;font-size:1.7rem;font-weight:900;box-shadow:0 16px 30px #7c3aed2e}.course-card h3,.course-card p,.course-tags,.btn-portfolio{position:relative;z-index:1}.course-card h3{margin-top:28px;min-height:64px;font-size:1.45rem}.free-plugin-spotlight{position:relative;overflow:hidden;background:radial-gradient(circle at 18% 18%,rgba(254,240,138,.42),transparent 30%),radial-gradient(circle at 82% 16%,rgba(96,165,250,.22),transparent 32%),linear-gradient(135deg,#ffffffbd,#f5f3ffa8)}.free-plugin-spotlight-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px;min-height:270px;border:1px solid rgba(255,255,255,.82);border-radius:28px;background:linear-gradient(135deg,#ffffffd1,#eef7ff80),#ffffff94;padding:clamp(28px,5vw,58px);box-shadow:0 28px 70px #7c3aed21;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}.free-plugin-spotlight h2{max-width:820px;margin-top:18px;font-size:clamp(2.15rem,4vw,4rem);line-height:1.08;font-weight:900}.free-plugin-spotlight p{max-width:720px;margin-top:18px;color:var(--text-muted);font-size:1.08rem;font-weight:600}.free-plugin-spotlight-cta{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:168px;min-height:48px;border:1px solid rgba(17,24,39,.18);border-radius:999px;overflow:hidden;background:#ffffffb8;color:var(--text-main);box-shadow:0 16px 34px #11182714;font-weight:900;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease}.free-plugin-spotlight-cta:after{content:"→";margin-left:10px;font-weight:900;transform:translate(0);transition:transform .18s ease}.free-plugin-spotlight-cta:hover{transform:translateY(-2px);border-color:#7c3aed75;background:#fff;color:var(--purple);box-shadow:0 22px 46px #7c3aed24}.free-plugin-spotlight-cta:hover:after{transform:translate(4px)}.course-card p{margin-top:13px;min-height:112px;color:var(--text-muted);font-weight:500}.course-tags{display:flex;flex-wrap:wrap;gap:8px;min-height:74px;margin:0 0 30px;list-style:none}.course-tags li,.work-list span{padding:7px 12px;border-radius:999px;background:#a78bfa1f;color:var(--primary-dark);font-size:.86rem;font-weight:900}.btn-portfolio{min-height:48px;width:100%;margin-top:auto;position:relative;overflow:hidden;isolation:isolate;border:1px solid rgba(255,255,255,.72);border-radius:16px;background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.95),transparent 34%),radial-gradient(circle at 86% 88%,rgba(154,247,210,.36),transparent 34%),linear-gradient(135deg,#ffffff94,#dff3ff57),#fff3;color:#2563eb;cursor:pointer;font-weight:900;box-shadow:inset 0 1px 1px #ffffffe6,inset 9px 10px 18px #fff3,inset -10px -14px 24px #60a5fa1f,0 16px 32px #60a5fa1f;backdrop-filter:blur(18px) saturate(170%) contrast(108%);-webkit-backdrop-filter:blur(18px) saturate(170%) contrast(108%);transition:transform .22s ease,background .22s ease,box-shadow .22s ease}.btn-portfolio:hover{background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.72),transparent 34%),linear-gradient(135deg,#a78bfad1,#60a5fabd),#60a5fa9e;color:#fff;border-color:#ffffffe6;box-shadow:inset 0 1px 1px #fffffff2,inset 10px 12px 20px #ffffff24,inset -12px -16px 28px #2e10653d,0 22px 42px #60a5fa42}.artist-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.artist-card{position:relative;isolation:isolate;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-lg);transition:transform .25s ease,box-shadow .25s ease}.artist-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:0;pointer-events:none;background:radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 30%),rgba(96,165,250,.38),transparent 31%),radial-gradient(circle at calc(var(--mouse-x, 50%) + 42px) calc(var(--mouse-y, 30%) + 28px),rgba(167,139,250,.26),transparent 24%),linear-gradient(135deg,#dff3ff29,#fff0);opacity:0;transition:opacity .25s ease}.artist-card:hover:before{opacity:1}.artist-image{position:relative;z-index:1;height:290px;background-size:cover;background-position:center}.artist-info{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;padding:24px}.artist-role{display:inline-flex;color:var(--primary-dark);font-size:.78rem;font-weight:900;text-transform:uppercase}.artist-card h3{margin-top:8px;font-size:1.35rem}.artist-card p{margin-top:10px;color:var(--text-muted);font-size:.95rem}.teacher-portfolio{width:100%;align-self:stretch;margin-top:auto}.artist-card.boss{border-color:#facc15b8;background:linear-gradient(180deg,#ffffffeb,#fffbdbd1)}.portfolio-strip{position:relative;isolation:isolate;overflow:hidden;margin:0 24px;border-radius:36px;background:radial-gradient(circle at 85% 20%,rgba(254,240,138,.7),transparent 28%),linear-gradient(135deg,#ffffffdb,#eef7ffe6)}.portfolio-strip:before,.portfolio-strip:after{content:"";position:absolute;top:-32%;right:-18%;bottom:-32%;left:-18%;z-index:-1;pointer-events:none}.portfolio-strip:before{background:radial-gradient(ellipse at 18% 32%,rgba(223,243,255,.62),transparent 46%),radial-gradient(ellipse at 74% 28%,rgba(254,240,138,.56),transparent 44%),radial-gradient(ellipse at 58% 78%,rgba(167,139,250,.18),transparent 42%);background-size:150% 150%,170% 170%,145% 145%;opacity:.58}.portfolio-strip:after{background:linear-gradient(135deg,rgba(255,255,255,.44),transparent 52%),linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);opacity:.22;mix-blend-mode:soft-light;transform:translateZ(0)}.portfolio-layout{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:32px}.student-works-title{max-width:760px;font-size:clamp(2.05rem,3.05vw,3.05rem);line-height:1.12}.student-works-title span{white-space:nowrap}.work-list{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.cta-card{position:relative;overflow:hidden;border-radius:42px;padding:clamp(34px,6vw,76px);text-align:center}.cta-card:before{content:"";position:absolute;inset:auto -80px -150px auto;width:360px;height:360px;border-radius:999px;background:#fef08a80}.contact-form{position:relative;z-index:1;width:min(720px,100%);margin:36px auto 0}.cta-card.is-learning{animation:contactCardStretch .64s cubic-bezier(.16,1,.3,1)}.cta-card.is-clearing{animation:contactCardSnapBack .34s cubic-bezier(.55,0,.1,1)}.portfolio-interest-slot{position:relative;z-index:1;display:grid;justify-items:center;min-height:0;margin:0 auto;opacity:0;transform:translateY(-8px) scaleY(.72);transition:min-height .28s ease,margin .28s ease,opacity .2s ease,transform .28s ease}.portfolio-interest-slot.has-interest{min-height:54px;margin-top:26px;opacity:1;transform:translateY(0) scaleY(1)}.portfolio-interest-chip{display:inline-flex;align-items:center;gap:12px;max-width:min(620px,100%);padding:12px 12px 12px 20px;border:1px solid rgba(124,58,237,.18);border-radius:999px;background:#ffffffeb;color:var(--text-main);font-weight:1000;box-shadow:0 18px 40px #60a5fa24,inset 0 1px #ffffffe6;animation:portfolioInterestPop .58s .16s cubic-bezier(.2,1.38,.34,1) both}.portfolio-interest-chip span{min-width:0;overflow-wrap:anywhere}.portfolio-interest-chip.is-removing{animation:portfolioInterestRemove .24s cubic-bezier(.55,0,.1,1) both}.portfolio-interest-remove{flex:0 0 auto;min-height:34px;padding:0 14px;border:0;border-radius:999px;background:#172033;color:#fff;font-weight:1000;cursor:pointer;transition:transform .18s ease,background .18s ease}.portfolio-interest-remove:hover{background:#7c3aed;transform:translateY(-1px)}.form-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}label{display:grid;gap:8px;text-align:left;color:#334155;font-weight:900}input,select,textarea{width:100%;border:1px solid rgba(124,58,237,.16);border-radius:16px;background:#ffffffe0;color:var(--text-main);outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}input,select{min-height:54px;padding:0 18px}textarea{min-height:140px;padding:16px 18px;resize:vertical;line-height:1.6;font:inherit}select{margin-top:0}input:focus,select:focus,textarea:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 5px #a78bfa29}.contact-form .btn{width:100%;margin-top:18px}.footer{padding:56px 0 104px;color:var(--text-muted);text-align:center;font-weight:700}.site-shell{transform-origin:center center;transition:opacity .28s ease,transform .52s cubic-bezier(.16,1,.3,1)}.site-shell.is-free-plugin-launching{opacity:0;transform:translate(-22vw)}.free-plugin-portal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2600;background:#fbfbf7;opacity:0;pointer-events:none;transition:opacity .18s ease}.free-plugin-portal.is-active{opacity:1;pointer-events:auto}.free-plugin-portal[hidden]{display:none}.free-plugin-portal iframe{width:100%;height:100%;border:0;display:block;background:#fbfbf7}.mobile-cta{position:fixed;left:12px;right:12px;bottom:12px;z-index:1200;display:none;grid-template-columns:.8fr 1.35fr 1.2fr 1fr;gap:8px;padding:8px;border:1px solid rgba(255,255,255,.8);border-radius:22px;background:#ffffffe0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 38px #7c3aed2e}.mobile-cta a{position:relative;overflow:hidden;isolation:isolate;min-height:46px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.72);border-radius:16px;background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.9),transparent 32%),linear-gradient(135deg,#ffffff94,#f5f3ff57),#ffffff3d;color:var(--primary-dark);font-size:.9rem;font-weight:900;text-decoration:none;box-shadow:inset 0 1px 1px #ffffffd6,inset 8px 9px 16px #ffffff29,inset -8px -12px 20px #7c3aed14,0 8px 16px #7c3aed14}.mobile-cta a:nth-child(2){background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.92),transparent 34%),linear-gradient(135deg,#a78bfaad,#60a5fa85 55%,#fef08a85),#ffffff3d;color:#fff}.mobile-cta a:hover{background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.72),transparent 34%),linear-gradient(135deg,#a78bfab8,#60a5faad),#60a5fa8f;color:#fff}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:24px}.modal.active{display:flex}.modal.is-dismissing{pointer-events:none}.modal.is-dismissing .modal-overlay{animation:modalOverlayShutdown .32s ease both}.modal.detail-active{align-items:center}.modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#2e10656b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-content{position:relative;z-index:1;width:min(1080px,100%);max-height:88dvh;overflow:auto;padding:clamp(28px,5vw,56px);border-radius:34px;background:#fffffff2;box-shadow:0 32px 80px #2e106547;animation:modalFadeUp .42s cubic-bezier(.16,1,.3,1);transition:width .32s cubic-bezier(.16,1,.3,1),padding .32s ease,max-height .32s ease}.modal-content.detail-mode{display:grid;grid-template-columns:78px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);align-items:stretch;column-gap:18px;row-gap:14px;width:min(1180px,100%);max-height:calc(100dvh - 24px);overflow:visible;padding:clamp(42px,4.4vw,56px) clamp(18px,3vw,32px) clamp(18px,3vw,32px)}.modal-content.teacher-mode,.modal-content.teacher-mode.detail-mode{display:block;width:min(1180px,100%);max-height:calc(100dvh - 24px);overflow:visible;padding:clamp(24px,3vw,42px)}.modal-content.teacher-mode .modal-header,.modal-content.teacher-preparing .portfolio-gallery,.portfolio-gallery.teacher-gallery-preparing{display:none}.teacher-modal-stage{position:relative;min-height:min(690px,calc(100dvh - 96px));overflow:visible;padding-right:clamp(52px,5vw,72px)}.teacher-panel-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:column;width:200%;min-height:inherit;transition:transform .58s cubic-bezier(.16,1,.3,1)}.modal-content.teacher-works-active .teacher-panel-track{transform:translate(-50%)}.teacher-panel{min-width:0;min-height:inherit;padding:clamp(28px,4vw,52px)}.teacher-detail-panel{padding-right:clamp(32px,5vw,56px)}.teacher-works-panel{padding-left:clamp(32px,5vw,56px)}.teacher-profile-card{display:grid;grid-template-columns:minmax(230px,.82fr) minmax(0,1.18fr);gap:clamp(22px,3.2vw,42px);align-items:stretch;min-width:0;min-height:0}.teacher-profile-visual{width:100%;height:clamp(300px,44dvh,430px);min-height:0;aspect-ratio:3 / 4;align-self:center;border-radius:26px;background-position:center top;background-size:cover;box-shadow:0 28px 68px #60a5fa38}.teacher-profile-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding-bottom:0}.teacher-profile-copy h3{margin-top:14px;color:var(--text-main);font-size:clamp(2rem,3.45vw,3.85rem);line-height:1;overflow-wrap:anywhere}.teacher-profile-copy p{margin-top:16px;color:var(--text-muted);font-size:clamp(.94rem,1.08vw,1.02rem);line-height:1.62;font-weight:700}.teacher-specialties{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.teacher-specialties span{padding:8px 12px;border-radius:999px;background:#7c3aed1a;color:var(--primary-dark);font-weight:1000}.teacher-profile-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}.teacher-profile-facts div{padding:12px 14px;border:1px solid rgba(124,58,237,.12);border-radius:18px;background:#ffffffb8}.teacher-profile-facts dt{color:var(--primary-dark);font-size:.78rem;font-weight:1000}.teacher-profile-facts dd{margin-top:6px;color:var(--text-main);font-weight:800;line-height:1.55}.teacher-profile-note{margin-top:18px;padding:clamp(14px,1.8vw,22px);border:1px solid rgba(37,99,235,.14);border-radius:24px;background:linear-gradient(135deg,#ffffffdb,#eff6ffb8),#ffffffc7;box-shadow:0 18px 42px #2563eb1a}.teacher-profile-note strong{color:var(--primary-dark);font-size:.8rem;font-weight:1000;text-transform:uppercase}.teacher-profile-note p{margin-top:8px;color:var(--text-main);font-size:clamp(.92rem,1.18vw,1rem);line-height:1.55}.teacher-panel-action{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:46px;margin-top:20px;padding:0 20px;border:1px solid rgba(96,165,250,.28);border-radius:16px;background:linear-gradient(135deg,#7c3aedf0,#3b82f6e6),#2563eb;color:#fff;cursor:pointer;font-weight:1000;letter-spacing:0;box-shadow:0 16px 34px #2563eb2e;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.teacher-panel-action:hover{transform:translateY(-2px);filter:saturate(1.08);box-shadow:0 22px 44px #2563eb3d}.teacher-panel-action-secondary{margin-top:16px;background:linear-gradient(135deg,#ffffffeb,#eff6ffdb),#fff;color:var(--primary-dark);box-shadow:0 14px 30px #60a5fa1f}.teacher-tab{position:absolute;z-index:6;top:36px;bottom:36px;display:grid;place-items:center;width:clamp(52px,5vw,72px);min-height:calc(100% - 72px);border:1px solid rgba(124,58,237,.22);background:linear-gradient(90deg,#e2e8f0c7,#fffffff5 42%,#eff6ffeb),#fff;color:var(--primary-dark);font-weight:1000;cursor:pointer;writing-mode:vertical-rl;text-orientation:mixed;box-shadow:0 18px 38px #2563eb24,inset 8px 0 16px #ffffffb8,inset -10px 0 18px #2563eb1f;transition:transform .36s cubic-bezier(.16,1,.3,1),opacity .2s ease}.teacher-tab span{writing-mode:inherit;text-orientation:inherit;letter-spacing:0;font-size:clamp(.82rem,.9vw,.98rem);line-height:1.25;white-space:nowrap}.teacher-tab-works{right:0;border-right:0;border-radius:18px 0 0 18px}.teacher-tab-detail{left:0;border-left:0;border-radius:0 18px 18px 0;opacity:0;pointer-events:none}.modal-content.teacher-works-active .teacher-tab-works{opacity:0;pointer-events:none;transform:translate(18px)}.modal-content.teacher-works-active .teacher-tab-detail{opacity:1;pointer-events:auto}.modal-content.teacher-works-active .teacher-modal-stage{padding-right:0;padding-left:clamp(52px,5vw,72px)}.teacher-works-panel{display:flex;flex-direction:column;gap:18px}.teacher-works-heading{text-align:center}.teacher-works-heading h3{margin-top:12px;color:var(--text-main);font-size:clamp(2rem,4vw,3.6rem);line-height:1}.teacher-portfolio-panel{min-height:0}.modal-content.teacher-mode .portfolio-detail-kicker{display:none}.modal-content.teacher-mode .portfolio-gallery{max-height:none}.modal-content.teacher-mode.detail-mode .teacher-works-panel{display:grid;grid-template-columns:minmax(190px,240px) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);align-items:stretch;gap:14px 18px}.modal-content.teacher-mode.detail-mode .teacher-works-heading{grid-column:1 / -1;max-height:0;margin:0;opacity:0;overflow:hidden;pointer-events:none}.modal-content.teacher-mode.detail-mode .teacher-portfolio-panel{display:contents}.modal-content.teacher-mode.detail-mode .portfolio-gallery{grid-column:1;grid-row:2;display:flex;flex-direction:column;max-height:min(640px,calc(100dvh - 140px));gap:10px;overflow:auto;padding:2px 6px 2px 2px}.modal-content.teacher-mode.detail-mode .portfolio-expanded-panel{grid-column:2;grid-row:2;min-width:0}.teacher-dedicated-content{display:block;width:min(1040px,100%);max-height:calc(100dvh - 24px);overflow:visible;padding:clamp(24px,3vw,42px);transition:width .44s cubic-bezier(.16,1,.3,1),padding .34s ease,max-height .44s cubic-bezier(.16,1,.3,1)}.teacher-dedicated-content.teacher-works-active{width:min(1080px,100%)}.teacher-dedicated-content.teacher-work-detail-mode{display:block;width:min(1180px,100%)}.teacher-dedicated-stage{min-height:0;overflow:visible;padding:0}.modal-content.teacher-works-active .teacher-dedicated-stage{padding-left:0}.teacher-dedicated-content #teacher-modal-body{min-height:0;overflow:visible;opacity:1;transform:translateY(0);transition:opacity .2s ease,transform .28s cubic-bezier(.16,1,.3,1)}.teacher-dedicated-content.teacher-view-switching #teacher-modal-body{opacity:0;transform:translateY(14px) scale(.985)}.teacher-dedicated-content.teacher-view-ready #teacher-modal-body{animation:teacherViewReveal .34s cubic-bezier(.16,1,.3,1) both}@keyframes teacherViewReveal{0%{opacity:0;transform:translateY(-10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.teacher-dedicated-content .teacher-panel-track{display:block;width:100%;transform:none}.teacher-dedicated-content .teacher-panel{min-height:0;overflow:visible}.teacher-dedicated-content .teacher-works-panel,.teacher-dedicated-content.teacher-works-active .teacher-detail-panel{display:none}.teacher-dedicated-content.teacher-works-active .teacher-works-panel{display:block}.teacher-dedicated-content.teacher-works-active .teacher-panel-track{transform:none}.teacher-dedicated-works-panel{min-width:0;overflow:visible}.teacher-dedicated-portfolio{display:block;min-height:0;overflow:visible}.teacher-dedicated-portfolio .portfolio-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-height:min(520px,calc(100dvh - 240px));overflow:auto;padding-right:6px}.teacher-dedicated-content.teacher-work-detail-mode .teacher-dedicated-portfolio{display:grid;grid-template-columns:78px minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-items:stretch;column-gap:18px;row-gap:14px}.teacher-dedicated-content.teacher-work-detail-mode .teacher-dedicated-portfolio .portfolio-gallery{grid-column:1;grid-row:1}.teacher-dedicated-content.teacher-work-detail-mode .teacher-works-detail.portfolio-expanded-panel{grid-column:2;grid-row:1}.teacher-works-detail.portfolio-expanded-panel{display:grid}.teacher-dedicated-works-panel.teacher-work-detail-active .teacher-works-detail.portfolio-expanded-panel.is-open{height:min(640px,calc(100dvh - 178px))}.modal-content.is-restoring{overflow:hidden}.modal-content.is-restoring .portfolio-gallery,.modal-content.is-restoring .portfolio-expanded-panel{opacity:0;pointer-events:none}.modal-content.is-collapsing{overflow:hidden;pointer-events:none;animation:modalCompressOut .24s cubic-bezier(.4,0,.2,1) both}.modal-content.is-reopening{animation:modalListReopen .34s cubic-bezier(.16,1,.3,1) both}.modal-content.is-shutting-down{overflow:hidden;animation:modalShutdownOut .32s cubic-bezier(.4,0,.2,1) both}.modal-close{position:absolute;z-index:30;overflow:hidden;isolation:isolate;top:16px;right:16px;width:46px;height:46px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.95),transparent 36%),linear-gradient(135deg,#ffffff9e,#f5f3ff5c),#ffffff3d;color:var(--primary-dark);cursor:pointer;font-size:2rem;line-height:1;box-shadow:inset 0 1px 1px #ffffffe6,inset 8px 9px 16px #ffffff2e,inset -8px -12px 20px #7c3aed1a,0 12px 24px #7c3aed24;backdrop-filter:blur(18px) saturate(170%) contrast(108%);-webkit-backdrop-filter:blur(18px) saturate(170%) contrast(108%)}.modal-content.detail-mode .modal-close{top:14px;right:14px;z-index:5}.portfolio-detail-kicker{display:none}.modal-content.detail-mode .portfolio-detail-kicker{grid-column:1 / -1;grid-row:1;display:flex;align-items:center;justify-content:center;width:min(720px,calc(100% - 84px));min-height:44px;margin:0 auto;color:#172554;font-size:clamp(1.35rem,3vw,2.35rem);font-weight:900;letter-spacing:0;line-height:1.05;text-align:center}.modal-header{width:min(620px,100%);margin:0 auto 34px;text-align:center;max-height:220px;overflow:hidden;transform-origin:center center;transition:opacity .24s ease,transform .34s cubic-bezier(.16,1,.3,1),max-height .34s cubic-bezier(.16,1,.3,1),margin .28s ease}.modal-header h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05}.modal-header p{margin-top:12px;color:var(--text-muted)}.portfolio-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;transform-origin:top center;max-height:360px;overflow:auto;transition:opacity .28s ease,transform .34s cubic-bezier(.16,1,.3,1),filter .28s ease,max-height .36s cubic-bezier(.16,1,.3,1),gap .24s ease}.portfolio-gallery.is-returning{animation:galleryReturnIn .26s ease both}@keyframes galleryReturnIn{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content.detail-mode .modal-header{grid-column:1 / -1;max-height:0;margin-bottom:0;opacity:0;transform:translateY(-42px) scale(.94);pointer-events:none}.modal-content.detail-mode .portfolio-gallery{position:relative;grid-column:1;grid-row:2;display:flex;flex-direction:column;max-height:min(640px,calc(100dvh - 88px));gap:10px;opacity:1;filter:none;transform:none;overflow-y:auto;overflow-x:visible;box-sizing:content-box;width:78px;margin-left:-186px;padding:2px 0 2px 186px;scrollbar-width:none}.modal-content.detail-mode .portfolio-gallery::-webkit-scrollbar{width:0;height:0}.modal-content.detail-mode .portfolio-item{position:relative;z-index:1;display:grid;grid-template-columns:58px minmax(0,1fr);width:74px;min-height:74px;gap:0;align-items:center;padding:8px;border-radius:18px;transform:none;box-shadow:0 10px 22px #60a5fa12;overflow:hidden;transition:width .24s cubic-bezier(.16,1,.3,1),transform .24s cubic-bezier(.16,1,.3,1),border-color .2s ease,box-shadow .2s ease,opacity .2s ease}.modal-content.detail-mode .portfolio-item.active{opacity:1;border-color:#2563eb5c;box-shadow:0 12px 26px #2563eb24}.modal-content.detail-mode .portfolio-item:not(.active){opacity:.72}@media (hover: hover) and (pointer: fine){.modal-content.detail-mode .portfolio-gallery:hover{z-index:20}.modal-content.detail-mode .portfolio-item:hover,.modal-content.detail-mode .portfolio-item:focus-within{z-index:30;width:min(260px,34vw);transform:translate(-186px);gap:10px;opacity:1;overflow:visible;border-color:#2563eb52;box-shadow:0 24px 54px #2563eb2e}}.modal-content.detail-mode .frame-inner{width:58px;height:58px;aspect-ratio:auto;border-radius:14px}.modal-content.detail-mode .portfolio-item.is-sending .frame-inner{opacity:1;transform:none}.modal-content.detail-mode .play-overlay{display:none}.modal-content.detail-mode .item-caption{min-width:0;padding:0;opacity:0;pointer-events:none;transform:translate(-6px);transition:opacity .18s ease,transform .22s ease}.modal-content.detail-mode .media-pill{display:none}.modal-content.detail-mode .item-caption h4{font-size:.86rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (hover: hover) and (pointer: fine){.modal-content.detail-mode .portfolio-item:hover .item-caption,.modal-content.detail-mode .portfolio-item:focus-within .item-caption{opacity:1;pointer-events:auto;transform:translate(0)}}.modal-content.detail-mode .item-caption p{display:block;margin-top:4px;font-size:.72rem;line-height:1.35;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.modal-content.detail-mode .portfolio-card-meta,.modal-content.detail-mode .portfolio-card-audio,.modal-content.detail-mode .portfolio-external-link{display:none}.portfolio-item{padding:12px;border:1px solid rgba(124,58,237,.12);border-radius:22px;background:#fff;box-shadow:0 18px 36px #7c3aed1a;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.portfolio-item:hover,.portfolio-item.active{border-color:#60a5fa57;box-shadow:0 22px 44px #60a5fa29}.portfolio-item.active{transform:translateY(-4px)}.portfolio-item.is-sending .frame-inner{opacity:0;transform:scale(.94);transition:opacity .18s ease,transform .18s ease}.frame-inner{position:relative;aspect-ratio:16 / 10;border-radius:16px;background-size:cover;background-position:center;overflow:hidden}.play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#7c3aed47;opacity:0;transition:opacity .22s ease}.frame-inner:hover .play-overlay{opacity:1}.play-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:999px;background:#fff;color:var(--primary-dark);font-weight:900}.item-caption{padding:14px 4px 4px}.media-pill{display:inline-flex;margin-bottom:8px;padding:4px 9px;border-radius:999px;background:#a78bfa1c;color:var(--primary-dark);font-size:.74rem;font-weight:900}.item-caption h4{font-size:1.05rem}.item-caption p{color:var(--text-muted);font-size:.9rem}.portfolio-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;color:var(--text-muted);font-size:.78rem;font-weight:800}.portfolio-card-audio{display:block;width:100%;height:34px;margin-top:10px}.portfolio-external-link{display:inline-flex;align-items:center;justify-content:center;margin-top:10px;padding:8px 12px;border-radius:999px;background:#60a5fa1f;color:var(--primary-dark);font-size:.78rem;font-weight:900;text-decoration:none}.portfolio-external-link:hover{background:#60a5fa33}.frame-inner.is-missing-image,.expanded-media-frame.is-missing-image{display:grid;place-items:center;background:linear-gradient(135deg,#a78bfa29,#60a5fa24),#f8fafc}.portfolio-image-fallback{position:relative;z-index:1;color:var(--primary-dark);font-size:.82rem;font-weight:900;letter-spacing:0}.portfolio-empty{grid-column:1 / -1;padding:28px;border:1px dashed rgba(124,58,237,.22);border-radius:20px;color:var(--text-muted);text-align:center;background:#ffffffb8}.portfolio-expanded-panel{position:relative;grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.9fr);gap:24px;height:0;opacity:0;margin-top:0;padding:0 18px;border:1px solid rgba(96,165,250,0);border-radius:28px;background:linear-gradient(135deg,#fffffff0,#eef7ffdb),#fff;box-shadow:0 26px 60px #60a5fa00;overflow:hidden;transform:translateY(-10px);transform-origin:top center;align-items:stretch;transition:height .42s cubic-bezier(.16,1,.3,1),opacity .24s ease,margin-top .24s ease,padding .3s ease,border-color .3s ease,box-shadow .3s ease,transform .36s cubic-bezier(.16,1,.3,1)}.portfolio-expanded-panel:before{content:"";position:absolute;top:-18px;left:50%;width:min(320px,42%);height:18px;transform:translate(-50%);border-radius:18px 18px 0 0;background:linear-gradient(180deg,#60a5fa24,#60a5fa00);opacity:0;transition:opacity .22s ease}.portfolio-expanded-panel.is-open{height:min(640px,calc(100dvh - 178px));opacity:1;margin-top:-2px;padding:24px;border-color:#60a5fa38;box-shadow:0 26px 60px #60a5fa29;transform:translateY(0)}.portfolio-expanded-panel.is-open.is-closing{opacity:0;transform:scale(.965);pointer-events:none}.modal-content.detail-mode .portfolio-expanded-panel{grid-column:2;grid-row:2}.portfolio-expanded-panel.is-switching .expanded-media-frame,.portfolio-expanded-panel.is-switching .expanded-copy{opacity:.72;transition:opacity .12s ease}.portfolio-expanded-panel.is-glitch-out .expanded-copy{animation:cyberTextOut .28s steps(5,end) both}.portfolio-expanded-panel.is-glitch-in .expanded-media-frame{animation:mediaWipeIn .44s cubic-bezier(.16,1,.3,1) both}.portfolio-expanded-panel.is-glitch-in .expanded-copy{animation:cyberTextIn .42s cubic-bezier(.16,1,.3,1) both}.decode-text{font-variant-numeric:tabular-nums}.portfolio-expanded-panel.is-open:before{opacity:1}.expanded-media-frame{position:relative;width:100%;aspect-ratio:16 / 9;min-height:0;height:100%;border-radius:22px;background-size:cover;background-position:center;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff6b}.expanded-media-frame iframe,.expanded-media-frame audio{position:relative;z-index:2}.expanded-media-frame iframe{display:block;width:100%;height:100%;border:0}.expanded-media-frame.has-player:after{display:none}.expanded-media-frame.has-player{background-size:cover;background-position:center;background-color:#0f172a}.expanded-media-frame.has-audio{display:flex;align-items:flex-end;padding:20px}.osum-audio-player{position:relative;z-index:3;width:100%}.osum-audio-player audio{display:none}.osum-audio-chip{display:grid;grid-template-columns:1fr;align-items:center;gap:12px;padding:16px 18px 13px;border:1px solid rgba(255,255,255,.78);border-radius:22px;background:#ffffffdb;box-shadow:inset 0 1px 1px #ffffffe6,0 20px 38px #1720332e;backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%)}.osum-audio-play,.osum-audio-volume-inline input{border:0}.osum-audio-play{width:54px;height:54px;display:grid;place-items:center;border-radius:999px;background:var(--grad-main);color:#fff;font-size:1.08rem;box-shadow:0 14px 28px #60a5fa3d;transition:transform .18s ease,box-shadow .18s ease}.osum-audio-play:hover{transform:translateY(-2px);box-shadow:0 18px 34px #60a5fa4d}.osum-audio-main{min-width:0;display:grid;gap:9px}.osum-audio-topline{display:flex;align-items:center;justify-content:space-between;gap:16px}.osum-audio-title-group{min-width:0;display:flex;align-items:center;gap:12px}.osum-audio-title-group>div{min-width:0}.osum-audio-title-group strong{display:block;min-width:0;overflow:hidden;color:var(--text-main);font-size:.98rem;font-weight:1000;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.osum-audio-title-group span,.osum-audio-time-row{color:var(--text-muted);font-size:.76rem;font-weight:900}.osum-audio-progress{height:9px;overflow:hidden;border-radius:999px;background:#1720331a;cursor:pointer}.osum-audio-progress span{display:block;width:0%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary-dark),var(--secondary),var(--mint))}.osum-audio-bottomline{display:grid;gap:4px}.osum-audio-time-row{display:flex;align-items:center;justify-content:space-between;font-family:Outfit,Noto Sans KR,sans-serif;line-height:1}.osum-audio-volume-inline{flex:0 0 auto;display:flex;align-items:center;gap:8px}.osum-audio-volume-inline label{display:flex;align-items:center;gap:8px}.osum-audio-volume-inline label>span{color:var(--primary-dark);font-size:.68rem;font-weight:1000}.osum-audio-volume-inline input{--volume-fill: 45%;width:clamp(82px,11vw,128px);height:18px;margin:0;padding:0;border:0;outline:none;background:transparent;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.osum-audio-volume-inline input:focus,.osum-audio-volume-inline input:focus-visible{outline:none}.osum-audio-volume-inline input::-webkit-slider-runnable-track{height:8px;border:0;border-radius:999px;background:linear-gradient(90deg,var(--primary-dark) 0 var(--volume-fill, 45%),rgba(23,32,51,.14) var(--volume-fill, 45%) 100%)}.osum-audio-volume-inline input::-webkit-slider-thumb{width:16px;height:16px;margin-top:-4px;border:2px solid #ffffff;border-radius:999px;background:linear-gradient(135deg,var(--primary-dark),var(--secondary));box-shadow:0 6px 14px #7c3aed38;-moz-appearance:none;appearance:none;-webkit-appearance:none}.osum-audio-volume-inline input::-moz-range-track{height:8px;border:0;border-radius:999px;background:#17203324}.osum-audio-volume-inline input::-moz-range-progress{height:8px;border-radius:999px;background:var(--primary-dark)}.osum-audio-volume-inline input::-moz-range-thumb{width:16px;height:16px;border:2px solid #ffffff;border-radius:999px;background:linear-gradient(135deg,var(--primary-dark),var(--secondary));box-shadow:0 6px 14px #7c3aed38}.osum-audio-volume-inline input::-moz-focus-outer{border:0}.portfolio-expanded-panel.is-arriving .expanded-media-frame{animation:mediaBridgeIn .52s cubic-bezier(.16,1,.3,1) both}.portfolio-expanded-panel.is-glitch-out .expanded-media-frame{animation:mediaWipeOut .3s cubic-bezier(.4,0,.2,1) both}@keyframes mediaBridgeIn{0%{opacity:0;transform:translateY(-46px) scale(.72);filter:blur(8px) saturate(.86)}58%{opacity:1;filter:blur(0) saturate(1.04)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0) saturate(1)}}@keyframes mediaWipeOut{0%{opacity:1;clip-path:inset(0 0 0 0);transform:translate(0) scale(1);filter:blur(0) saturate(1)}to{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-26px) scale(.985);filter:blur(7px) saturate(1.35)}}@keyframes mediaWipeIn{0%{opacity:0;clip-path:inset(0 0 0 100%);transform:translate(-24px) scale(.985);filter:blur(8px) saturate(1.3)}to{opacity:1;clip-path:inset(0 0 0 0);transform:translate(0) scale(1);filter:blur(0) saturate(1)}}@keyframes cyberTextOut{0%{opacity:1;transform:translate(0);filter:blur(0);text-shadow:none}35%{opacity:.88;transform:translate(-4px);filter:blur(0);text-shadow:2px 0 #38bdf8,-2px 0 #f472b6}70%{opacity:.45;transform:translate(12px);filter:blur(2px);text-shadow:-3px 0 #38bdf8,3px 0 #f472b6}to{opacity:0;transform:translate(26px);filter:blur(6px);text-shadow:0 0 18px rgba(59,130,246,.72)}}@keyframes cyberTextIn{0%{opacity:0;transform:translate(-24px);filter:blur(5px);text-shadow:2px 0 #38bdf8,-2px 0 #f472b6}55%{opacity:1;filter:blur(0);text-shadow:-1px 0 #38bdf8,1px 0 #f472b6}to{opacity:1;transform:translate(0);filter:blur(0);text-shadow:none}}.expanded-media-frame:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 36%,rgba(15,23,42,.48)),radial-gradient(circle at 18% 18%,rgba(255,255,255,.38),transparent 28%)}.expanded-player-badge{position:absolute;left:16px;bottom:16px;z-index:1;padding:8px 12px;border-radius:999px;background:#ffffffdb;color:#1d4ed8;font-size:.82rem;font-weight:900}.has-player .expanded-player-badge{z-index:3}.expanded-copy{align-self:stretch;min-height:0;max-height:100%;overflow:auto;padding-right:4px}.expanded-copy h3{margin-top:12px;font-size:clamp(1.9rem,3.2vw,2.85rem);line-height:1.08}.expanded-copy p{margin-top:14px;color:#475569;font-size:1.03rem;line-height:1.7}.portfolio-credit-line{margin-top:8px;color:#64748b;font-size:.96rem;font-weight:800;line-height:1.55}.expanded-copy dl{display:grid;gap:10px;margin-top:18px}.expanded-copy dl div{padding:12px 14px;border-radius:16px;background:#ffffffb8}.expanded-copy dt{color:var(--primary-dark);font-size:.78rem;font-weight:900}.expanded-copy dd{margin-top:4px;color:#334155;font-size:.92rem}.expanded-copy ul{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;list-style:none}.expanded-copy li{padding:5px 9px;border-radius:999px;background:#60a5fa1a;color:#2563eb;font-size:.76rem;font-weight:800}.portfolio-tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.portfolio-tag{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border:1px solid rgba(124,58,237,.18);border-radius:999px;background:#7c3aed14;color:var(--primary-dark);font-size:.78rem;font-weight:900}.portfolio-detail-cta{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin-top:14px;padding:0 14px;border-radius:14px;background:#ffffffe6;color:var(--primary-dark);font-weight:900;text-decoration:none;box-shadow:0 10px 24px #7c3aed1a;transition:transform .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease}.portfolio-back{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin-top:14px;margin-right:8px;padding:0 14px;border:1px solid rgba(124,58,237,.16);border-radius:14px;background:#ffffffc7;color:var(--primary-dark);cursor:pointer;font-weight:900;box-shadow:0 10px 24px #7c3aed14;transition:transform .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease}.portfolio-detail-cta:hover,.portfolio-back:hover{transform:translateY(-2px);border-color:#7c3aed4d;background:#fffffffa;color:#5b21b6;box-shadow:0 16px 34px #7c3aed2e}.portfolio-detail-cta:focus-visible,.portfolio-back:focus-visible{outline:3px solid rgba(96,165,250,.35);outline-offset:3px}.portfolio-detail-cta:active,.portfolio-back:active{transform:translateY(0) scale(.98);box-shadow:0 8px 18px #7c3aed1f}.btn,.btn-gradient,.btn-portfolio,.mobile-cta a,.modal-close{isolation:auto;overflow:hidden;border:1px solid rgba(124,58,237,.16);background:#ffffffd6;box-shadow:0 12px 26px #7c3aed1a;backdrop-filter:blur(12px) saturate(130%);-webkit-backdrop-filter:blur(12px) saturate(130%);filter:none;transition:background-color .2s ease,background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease,filter .2s ease}.btn:before,.btn:after,.btn-gradient:before,.btn-gradient:after,.btn-portfolio:before,.btn-portfolio:after,.mobile-cta a:before,.mobile-cta a:after,.modal-close:before,.modal-close:after{display:none}.btn-primary,.btn-yellow,.btn-gradient,.mobile-cta a:nth-child(2){background:linear-gradient(135deg,#8b5cf6,#3b82f6 64%,#facc15 135%)!important;color:#fff!important;border-color:#ffffff94;box-shadow:0 16px 34px #3b82f633;text-shadow:none}.btn-outline,.btn-portfolio,.mobile-cta a,.modal-close{background:#ffffffe6;color:var(--primary-dark)}.btn:hover,.btn-gradient:hover,.btn-portfolio:hover,.mobile-cta a:hover,.modal-close:hover{transform:translateY(-2px);filter:none}.btn-primary:hover,.btn-yellow:hover,.btn-gradient:hover,.mobile-cta a:nth-child(2):hover{background:#ffffffeb!important;color:#2563eb!important;border-color:#2563eb52;box-shadow:0 16px 34px #2563eb24}.btn-outline:hover,.btn-portfolio:hover,.mobile-cta a:hover,.modal-close:hover{background:inherit;color:#2563eb;border-color:inherit;box-shadow:inherit}.btn:active,.btn-gradient:active,.btn-portfolio:active,.mobile-cta a:active,.modal-close:active{transform:translateY(0) scale(.98)}.reveal-init{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}.is-visible{opacity:1;transform:translateY(0)}.admin-page{min-height:100dvh;background:radial-gradient(circle at 12% 8%,rgba(250,204,21,.22),transparent 26%),radial-gradient(circle at 84% 18%,rgba(96,165,250,.28),transparent 30%),linear-gradient(135deg,#f8fbff,#f6f0ff 48%,#fffaf0)}.admin-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:42px 0 72px}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.admin-topbar span{color:#2563eb;font-size:.78rem;font-weight:900;text-transform:uppercase}.admin-topbar h1{margin-top:8px;color:#172554;font-size:clamp(2.3rem,6vw,4.6rem);line-height:.95}.admin-topbar p{margin-top:12px;color:#475569}.admin-link,.admin-primary,.admin-item button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:1px solid rgba(37,99,235,.18);border-radius:14px;background:#fff;color:#1d4ed8;cursor:pointer;font-weight:900;text-decoration:none;transition:color .2s ease,border-color .2s ease,transform .2s ease}.admin-link:hover,.admin-primary:hover,.admin-item button:hover{color:#2563eb;border-color:#2563eb57;transform:translateY(-2px)}.admin-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:20px}.admin-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch;margin-bottom:20px}.admin-tabs button{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:0 18px;border:1px solid rgba(37,99,235,.16);border-radius:18px;background:#ffffffd1;color:#1e3a8a;cursor:pointer;font-weight:1000;box-shadow:0 14px 34px #60a5fa1a}.admin-tabs button.is-active{border-color:#7c3aed5c;background:linear-gradient(135deg,#8b5cf6,#3b82f6);color:#fff;box-shadow:0 18px 42px #3b82f638}.admin-tabs strong{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 10px;border-radius:999px;background:#2563eb1a;font-size:.9rem}.admin-tabs button.is-active strong{background:#fff3}.admin-tabs .admin-status{grid-column:1 / -1;margin:0}.admin-tab-portfolio .admin-teacher-panel,.admin-tab-teachers .admin-toolbar,.admin-tab-teachers .admin-table-panel,.admin-tab-teachers .admin-modal-backdrop{display:none}.admin-panel{padding:24px;border:1px solid rgba(124,58,237,.13);border-radius:24px;background:#ffffffe6;box-shadow:0 26px 60px #60a5fa1f}.admin-panel h2{margin-bottom:18px;color:#172554;font-size:1.35rem}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-grid>label:has(select[name=targetKey]){display:none}.admin-field{display:grid;gap:9px}.admin-field-wide{grid-column:1 / -1}.admin-field>span{color:#334155;font-size:.85rem;font-weight:900}.admin-checks{display:flex;flex-wrap:wrap;gap:8px}.admin-check{display:inline-flex!important;align-items:center;gap:7px!important;min-height:38px;padding:8px 11px;border:1px solid rgba(37,99,235,.14);border-radius:999px;background:#fff;color:#1e3a8a!important;cursor:pointer}.admin-check input{width:auto;accent-color:#2563eb}.admin-panel label{display:grid;gap:7px;color:#334155;font-size:.85rem;font-weight:900}.admin-panel input,.admin-panel select,.admin-panel textarea{width:100%;border:1px solid rgba(37,99,235,.14);border-radius:14px;background:#fff;color:#0f172a}.admin-panel textarea{min-height:120px;padding:14px;resize:vertical}.admin-primary{width:100%;margin-top:16px;background:linear-gradient(135deg,#8b5cf6,#3b82f6 70%,#facc15 130%);color:#fff}.admin-list{display:grid;gap:12px}.admin-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid rgba(96,165,250,.13);border-radius:18px;background:#fff}.admin-item span{color:#2563eb;font-size:.75rem;font-weight:900}.admin-item h3{margin-top:4px;color:#172554;font-size:1rem}.admin-item p,.admin-empty{margin-top:4px;color:#64748b;font-size:.85rem}.admin-upload-panel{margin-top:22px}.admin-upload-eyebrow{display:inline-flex;margin-bottom:8px;color:var(--primary-dark);font-size:.78rem;font-weight:900;text-transform:uppercase}.admin-upload-panel>div:first-child p{max-width:760px;color:#44403cad;line-height:1.7}.admin-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.admin-upload-form{display:grid;gap:12px;padding:16px;border:1px solid rgba(124,58,237,.12);border-radius:18px;background:#f8fafcb8}.admin-upload-form h3{margin:0;font-size:1rem}.admin-upload-result{display:grid;gap:10px;min-height:24px;color:#44403cb8;font-size:.9rem;word-break:break-all}.admin-upload-result img{width:min(100%,360px);border-radius:14px;box-shadow:0 14px 32px #0f172a1f}.admin-upload-result audio{width:min(100%,420px)}.admin-upload-success{color:#15803d;font-weight:900}.admin-upload-error{color:#b91c1c;font-weight:900}.admin-auth-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;margin-bottom:22px}.admin-status,.admin-form-status{grid-column:1 / -1;min-height:22px;color:#64748b;font-size:.9rem;font-weight:800}.admin-status.admin-upload-success,.admin-form-status.admin-upload-success{color:#15803d}.admin-status.admin-upload-error,.admin-form-status.admin-upload-error{color:#b91c1c}.admin-help{margin-top:12px;color:#64748b;font-size:.84rem;line-height:1.6}.admin-login-shell{min-height:100vh;display:grid;place-items:center}.admin-login-card{width:min(100%,520px)}.admin-login-card h1{margin:8px 0;color:#172554;font-size:clamp(2.2rem,6vw,4.4rem)}.admin-login-card p{margin-bottom:18px;color:#64748b}.admin-table-shell{max-width:100%}.admin-toolbar{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;margin-bottom:18px}.admin-toolbar>div{display:flex;align-items:baseline;gap:8px;color:#64748b}.admin-toolbar strong{color:#172554;font-size:1.6rem}.admin-secondary,.admin-table-actions button{min-height:36px;padding:0 14px;border:1px solid rgba(37,99,235,.14);border-radius:12px;background:#fff;color:#2563eb;font-weight:900}.admin-toolbar .admin-primary{width:auto;min-height:36px;margin-top:0;padding:0 16px}.admin-table-panel{padding:0;overflow:hidden}.admin-table-wrap{overflow-x:auto;overflow-y:auto;max-height:64vh}.admin-cms-table{width:max(1880px,100%);table-layout:fixed;border-collapse:separate;border-spacing:0;color:#1e293b;font-size:.86rem}.admin-cms-table th,.admin-cms-table td{max-width:220px;padding:10px 12px;border-right:1px solid rgba(37,99,235,.16);border-bottom:1px solid rgba(37,99,235,.16);vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-cms-table th{position:sticky;top:0;z-index:1;background:#eef4ff;color:#334155;font-weight:900;text-align:left}.admin-cms-table tr:nth-child(2n) td{background:#f8fafcc7}.admin-cms-table tr.is-draft td{background:#fff7ed}.admin-row-number,.admin-cms-table th:first-child{width:44px;color:#64748b;text-align:center}.admin-strong{color:#172554;font-weight:900}.admin-table-thumb{width:48px;height:36px;display:grid;place-items:center;overflow:hidden;border-radius:6px;background:#e0e7ff;color:#d97706;font-weight:900}.admin-table-thumb img{width:100%;height:100%;object-fit:cover}.admin-status-pill{min-width:48px;min-height:26px;border:0;border-radius:4px;color:#fff;font-size:.78rem;font-weight:900}.admin-status-pill.is-visible{background:#16a34a}.admin-status-pill.is-hidden{background:#94a3b8}.admin-chip-list{display:flex;flex-wrap:wrap;gap:4px}.admin-chip{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;background:#dbeafe;color:#475569;font-size:.78rem;font-weight:800}.admin-muted{color:#94a3b8}.admin-cell-ok{color:#15803d;font-weight:900}.admin-table-actions{display:flex;gap:6px;overflow:visible!important}.admin-cms-table th:nth-child(1),.admin-cms-table td:nth-child(1){width:48px}.admin-cms-table th:nth-child(2),.admin-cms-table td:nth-child(2){width:116px}.admin-cms-table th:nth-child(3),.admin-cms-table td:nth-child(3){width:78px}.admin-cms-table th:nth-child(4),.admin-cms-table td:nth-child(4){width:92px}.admin-cms-table th:nth-child(6),.admin-cms-table td:nth-child(6),.admin-cms-table th:nth-child(13),.admin-cms-table td:nth-child(13),.admin-cms-table th:nth-child(14),.admin-cms-table td:nth-child(14){width:92px}.admin-cms-table th:nth-child(15),.admin-cms-table td:nth-child(15){width:140px}.admin-table-empty{padding:36px!important;color:#64748b;text-align:center}.admin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;align-items:start;justify-items:center;overflow:auto;padding:34px 18px;background:#0f172a61;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.admin-file-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;align-items:start;justify-items:center;overflow:auto;padding:34px 18px;background:#0f172a6b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.admin-file-picker{width:min(980px,100%);max-height:calc(100vh - 68px);overflow:auto}.admin-file-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.admin-file-card{display:grid;gap:8px;padding:10px;border:1px solid rgba(37,99,235,.16);border-radius:8px;background:#fff;color:#1e293b}.admin-file-card:hover{border-color:#2563eb7a;background:#f8fbff}.admin-file-thumb{width:100%;aspect-ratio:16 / 10;display:grid;place-items:center;overflow:hidden;padding:0;border:0;border-radius:6px;background:#e0e7ff;color:#2563eb;font-size:.72rem;font-weight:900;cursor:pointer}.admin-file-thumb img{width:100%;height:100%;object-fit:cover}.admin-file-info{min-width:0;display:grid;gap:4px}.admin-file-info strong,.admin-file-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-file-info small{color:#64748b}.admin-file-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.admin-file-card-actions .admin-secondary,.admin-danger-button{width:100%;min-height:34px;padding:0 10px;border-radius:6px;font-size:.78rem;font-weight:900}.admin-danger-button{border:1px solid rgba(220,38,38,.22);background:#fff1f2;color:#be123c;cursor:pointer}.admin-danger-button:hover{background:#ffe4e6}.admin-input-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.admin-input-action .admin-secondary{width:auto;min-height:42px;padding:0 12px}.admin-teacher-panel{display:grid;gap:18px}.admin-teacher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-teacher-card{display:grid;gap:12px;padding:16px;border:1px solid rgba(37,99,235,.12);border-radius:18px;background:#f8fafcb8}.admin-teacher-card .admin-primary{margin-top:4px}.admin-teacher-preview{display:flex;align-items:center;gap:12px;min-width:0}.admin-teacher-preview strong,.admin-teacher-preview span{display:block}.admin-teacher-preview strong{color:#172554;font-size:1rem}.admin-teacher-preview span{color:#64748b;font-size:.82rem;font-weight:900}.admin-teacher-photo{display:grid;place-items:center;width:74px;min-width:74px;aspect-ratio:1;overflow:hidden;border-radius:18px;background:#60a5fa1f;color:#2563eb;font-size:.74rem;font-weight:1000}.admin-teacher-photo img{width:100%;height:100%;object-fit:cover}.admin-editor-panel{width:min(1040px,100%);max-height:calc(100vh - 68px);overflow:auto;box-shadow:0 34px 90px #0f172a38}.admin-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.admin-editor-head h2{margin-top:4px}.admin-portfolio-row{align-items:flex-start}.admin-portfolio-media{width:74px;min-width:74px;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border-radius:14px;background:#60a5fa1f;color:#2563eb;font-size:.72rem;font-weight:900}.admin-portfolio-media img{width:100%;height:100%;object-fit:cover}.admin-portfolio-body{flex:1;min-width:0}.admin-portfolio-body a{display:inline-flex;margin-top:8px;color:#2563eb;font-size:.84rem;font-weight:900;text-decoration:none}.admin-portfolio-body audio,.admin-current-media audio{width:100%;margin-top:8px}.admin-portfolio-actions{display:flex;flex-direction:column;gap:8px}.admin-current-media{display:grid;gap:10px;margin-top:14px}.admin-current-media img{width:min(100%,280px);border-radius:14px}.admin-visible-check{align-self:end}@keyframes modalFadeUp{0%{opacity:0;transform:translateY(32px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modalCompressOut{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(10px) scale(.88);filter:blur(6px)}}@keyframes modalListReopen{0%{opacity:0;transform:translateY(14px) scale(.92);filter:blur(6px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes modalShutdownOut{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0) saturate(1);clip-path:inset(0 0 0 0 round 34px)}42%{opacity:.88;transform:translateY(0) scale(1.012,.965);filter:blur(1px) saturate(1.35);clip-path:inset(0 0 0 0 round 34px)}to{opacity:0;transform:translateY(16px) scale(.74,.08);filter:blur(10px) saturate(1.6);clip-path:inset(42% 10% 42% 10% round 999px)}}@keyframes modalOverlayShutdown{0%{opacity:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}to{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}@keyframes contactCardStretch{0%{transform:scaleY(1)}44%{transform:scaleY(1.045)}72%{transform:scaleY(.988)}to{transform:scaleY(1)}}@keyframes contactCardSnapBack{0%{transform:scaleY(1)}54%{transform:scaleY(.955)}to{transform:scaleY(1)}}@keyframes portfolioInterestPop{0%{opacity:0;transform:translateY(14px) scale(.78)}62%{opacity:1;transform:translateY(-3px) scale(1.06)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes portfolioInterestRemove{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.8)}}@media (max-width: 1080px){.course-grid,.artist-grid,.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-mask{background:linear-gradient(90deg,#fdfafffa,#fdfafff0 56%,#fdfaff85),radial-gradient(circle at 18% 78%,rgba(254,240,138,.62),transparent 26%)}.portfolio-layout{grid-template-columns:1fr}.teacher-profile-card{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:24px}.teacher-profile-visual{height:clamp(300px,40dvh,420px);min-height:0}.work-list{justify-content:flex-start}}@media (max-width: 760px){.admin-shell{width:min(100% - 28px,1180px);padding:28px 0 56px}.admin-topbar,.admin-layout{grid-template-columns:1fr;flex-direction:column;align-items:flex-start}.admin-grid,.admin-teacher-grid,.admin-upload-grid{grid-template-columns:1fr}.admin-panel{width:100%;padding:18px;border-radius:20px}.admin-auth-panel,.admin-portfolio-row{grid-template-columns:1fr}.admin-portfolio-row{display:grid}.admin-portfolio-actions{flex-direction:row;flex-wrap:wrap}.container{width:min(100% - 28px,var(--container))}.navbar{top:10px}.nav-inner{height:62px;padding:0 16px}.nav-links{display:none}.hero{min-height:92dvh;padding:104px 0 48px;align-items:flex-end}.hero-video,.hero-slider-wrapper{object-position:67% center;background-position:67% center}.hero-mask{background:linear-gradient(180deg,#fdfaff8a,#fdfaffed 48%,#fdfafffa),radial-gradient(circle at 22% 82%,rgba(254,240,138,.58),transparent 34%)}.hero h1{margin-top:20px;font-size:clamp(3rem,14vw,4.5rem)}.hero-btns{display:grid;grid-template-columns:1fr}.hero-mini{gap:8px}.stats,.artists,.courses,.free-plugin-spotlight,.portfolio-strip,.cta-section{padding:68px 0}.section-header{margin-bottom:34px;text-align:left}.courses .section-header h2,.courses .section-header p{white-space:normal}.grid,.course-grid,.artist-grid,.form-group,.form-row,.portfolio-gallery{grid-template-columns:1fr}.course-card{min-height:auto}.artist-image{height:340px}.portfolio-strip{margin:0 14px;border-radius:28px}.cta-card{border-radius:30px}.footer{padding-bottom:120px}.mobile-cta{display:grid}}@media (max-width: 420px){.logo-main{font-size:1.45rem}.badge,.section-kicker{font-size:.78rem}.hero p{font-size:1rem}.stat-item{min-height:auto}.artist-image{height:300px}.mobile-cta{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-cta a:nth-child(3){display:grid}.portfolio-expanded-panel,.portfolio-expanded-panel.is-open{grid-template-columns:1fr;gap:16px}.modal-content.detail-mode .portfolio-gallery{max-height:120px}.portfolio-expanded-panel.is-open{height:720px;padding:16px}.expanded-media-frame{aspect-ratio:16 / 10;height:auto;min-height:0}.expanded-copy h3{font-size:1.55rem}}@media (max-width: 760px){body{font-size:15px}.container{width:min(100% - 32px,var(--container))}.nav-inner{width:min(100%,calc(100vw - 24px));height:58px;padding:0 14px;border-radius:20px}.logo-sub{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.66rem}.logo-main{font-size:1.5rem}.hero{min-height:auto;padding:112px 0 36px;align-items:stretch}.hero-slider-wrapper{height:360px;bottom:auto}.hero-video,.hero-slider-wrapper{object-position:64% center;background-position:64% center}.hero-mask{background:linear-gradient(180deg,#fdfaff2e,#fdfaffc2 62%,#fdfaff),radial-gradient(circle at 20% 72%,rgba(254,240,138,.5),transparent 34%)}.hero-layout{display:flex;align-items:flex-end;min-height:620px}.hero-text{width:100%;padding:22px;border:1px solid rgba(255,255,255,.78);border-radius:28px;background:#ffffffd1;box-shadow:0 20px 48px #7c3aed1f;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%)}.badge{max-width:100%;min-height:32px;padding:6px 12px;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero h1{margin:16px 0 14px;font-size:clamp(2.35rem,12vw,3.4rem);line-height:1.02}.hero p{font-size:.98rem;line-height:1.65}.student-works-title{max-width:100%;font-size:clamp(2rem,9vw,2.8rem)}.student-works-title span{white-space:normal}.hero-btns{gap:10px;margin-top:22px}.btn{min-height:48px;padding:12px 18px;font-size:.95rem}.hero-mini{margin-top:18px;gap:7px}.hero-mini span,.course-tags li,.work-list span{padding:6px 10px;font-size:.78rem}.stats,.artists,.courses,.free-plugin-spotlight,.cta-section{padding:54px 0}.free-plugin-spotlight-inner{grid-template-columns:1fr;min-height:0;gap:22px;border-radius:24px}.free-plugin-spotlight h2{font-size:clamp(2rem,9vw,2.8rem)}.free-plugin-spotlight-cta{width:100%}.grid{gap:12px}.stat-item{padding:20px;border-radius:20px}.stat-item h3{font-size:1.85rem}.stat-item p{margin-top:10px;font-size:.9rem}.section-header h2,.portfolio-layout h2,.cta-card h2{font-size:clamp(2rem,9vw,2.8rem)}.course-grid,.artist-grid{gap:16px}.course-card{padding:24px;border-radius:24px}.course-icon{width:48px;height:48px;border-radius:16px;font-size:1.35rem}.course-card h3{margin-top:22px;min-height:0;font-size:1.25rem}.course-card p,.course-tags{min-height:0}.artist-image{height:280px}.artist-info{padding:20px}.portfolio-strip{padding:52px 0}.work-list{justify-content:flex-start}.cta-card{padding:28px 20px}input,select{min-height:50px;border-radius:14px}.mobile-cta{left:10px;right:10px;bottom:10px;grid-template-columns:repeat(2,minmax(0,1fr));padding:7px;border-radius:20px}.mobile-cta a{min-height:44px;font-size:.86rem;border-radius:14px}.mobile-cta a:nth-child(3){display:grid}}@media (max-width: 420px){.hero-layout{min-height:590px}.hero-text{padding:18px;border-radius:24px}.hero h1{font-size:clamp(2.15rem,12vw,2.9rem)}.hero p{font-size:.94rem}.artist-image{height:250px}}@media (max-width: 760px){.modal{padding:10px;align-items:flex-start}.modal-content,.modal-content.detail-mode{width:100%;max-height:calc(100dvh - 20px);padding:18px;border-radius:26px}.modal-content.detail-mode{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr);gap:10px;overflow:auto;padding-top:64px}.modal-content.teacher-mode,.modal-content.teacher-mode.detail-mode,.teacher-dedicated-content{display:block;overflow:auto;padding:56px 14px 14px}.teacher-modal-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible;padding-right:0}.modal-content.teacher-works-active .teacher-modal-stage{padding-left:0}.teacher-modal-stage,.teacher-panel-track,.teacher-panel{min-height:auto}.teacher-panel-track{grid-column:1 / -1;order:3}.teacher-panel{padding:22px}.teacher-profile-card{grid-template-columns:1fr;gap:18px}.teacher-profile-visual{height:260px;min-height:0;max-height:260px}.teacher-profile-copy h3{font-size:clamp(1.9rem,10vw,3rem)}.teacher-tab{position:relative;inset:auto;width:100%;min-height:46px;padding:0 12px;border:1px solid rgba(37,99,235,.18);border-radius:14px;background:#ffffffe0;box-shadow:0 10px 22px #2563eb1a;font-size:.82rem;writing-mode:horizontal-tb;text-orientation:mixed;transform:none;opacity:1;pointer-events:auto}.teacher-tab span{writing-mode:horizontal-tb;white-space:nowrap}.teacher-tab-works{order:2}.teacher-tab-detail{order:1}.modal-content:not(.teacher-works-active) .teacher-tab-detail,.modal-content.teacher-works-active .teacher-tab-works{background:linear-gradient(135deg,#8b5cf6,#3b82f6);color:#fff;border-color:#ffffff80}.modal-content.teacher-works-active .teacher-tab-works{opacity:1;pointer-events:auto;transform:none}.modal-content.teacher-mode.detail-mode .teacher-works-panel{display:flex;flex-direction:column;gap:18px}.modal-content.teacher-mode.detail-mode .teacher-portfolio-panel{display:block}.teacher-dedicated-portfolio{display:block;gap:12px;min-height:0}.teacher-dedicated-portfolio .portfolio-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:auto;max-height:min(440px,calc(100dvh - 250px));overflow:auto;padding-bottom:4px}.teacher-dedicated-portfolio .portfolio-item{grid-template-columns:1fr;min-width:0;padding:6px;border-radius:14px}.teacher-dedicated-portfolio .frame-inner{width:100%;height:auto;aspect-ratio:16 / 10;border-radius:9px}.teacher-dedicated-works-panel.teacher-work-detail-active .teacher-dedicated-portfolio{display:flex;flex-direction:column;gap:12px;height:auto}.teacher-dedicated-works-panel.teacher-work-detail-active .portfolio-gallery{display:flex;flex-direction:row;max-height:88px;overflow-x:auto;overflow-y:hidden;padding-bottom:4px}.teacher-dedicated-works-panel.teacher-work-detail-active .portfolio-item{grid-template-columns:46px minmax(0,1fr);min-width:170px;padding:6px;border-radius:14px}.teacher-dedicated-works-panel.teacher-work-detail-active .frame-inner{width:46px;height:46px;aspect-ratio:auto;border-radius:9px}.teacher-works-detail.portfolio-expanded-panel{grid-template-columns:1fr;height:auto;min-height:0;max-height:none;padding:14px;border-radius:24px}.teacher-dedicated-works-panel.teacher-work-detail-active .teacher-works-detail.portfolio-expanded-panel.is-open{display:grid}.modal-content.detail-mode .portfolio-detail-kicker{width:calc(100% - 58px);min-height:34px;margin-left:0;font-size:clamp(1.05rem,6vw,1.55rem);line-height:1.08;text-align:left;justify-content:flex-start}.modal-content.detail-mode .modal-header{max-height:0;margin:0;opacity:0;transform:translateY(-34px) scale(.92)}.modal-content.detail-mode .portfolio-gallery{grid-column:1;grid-row:2;display:flex;flex-direction:row;width:auto;margin-left:0;max-height:86px;gap:8px;transform:none;transform-origin:top left;overflow-x:auto;overflow-y:hidden;padding:0 0 4px}.modal-content.detail-mode .portfolio-item{grid-template-columns:46px minmax(0,1fr);width:auto;min-width:170px;min-height:0;gap:8px;padding:6px;border-radius:14px;overflow:hidden;transform:none}.modal-content.detail-mode .item-caption{opacity:1;pointer-events:auto;transform:none}.modal-content.detail-mode .frame-inner{width:46px;height:46px;aspect-ratio:auto;border-radius:9px}.modal-content.detail-mode .item-caption h4{font-size:.72rem}.portfolio-expanded-panel,.portfolio-expanded-panel.is-open{grid-column:1;grid-row:3;grid-template-columns:1fr;gap:14px}.portfolio-expanded-panel.is-open{height:calc(100dvh - 142px);min-height:610px;margin-top:-4px;padding:14px;border-radius:24px}.expanded-media-frame{height:auto;aspect-ratio:16 / 10;border-radius:18px}.expanded-copy{align-self:stretch;padding-right:2px}.expanded-copy h3{font-size:clamp(1.55rem,8vw,2.2rem)}.expanded-copy p{font-size:.95rem;line-height:1.62}.expanded-copy dl{gap:8px;margin-top:12px}.expanded-copy dl div{padding:10px 12px;border-radius:14px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
