:root{--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;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:100dvh;padding:124px 0 80px;overflow:hidden}.hero-slider-wrapper{position:absolute;top:0;right:0;bottom:0;left:0}.hero-slider,.slide{width:100%;height:100%}.slide{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:74% center;opacity:0;transform:scale(1.04);transition:opacity 1.2s ease,transform 4.5s ease}.slide.active{opacity:1;transform:scale(1)}.hero-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#fdfafff7,#fdfaffe6 38%,#fdfaff61 62%,#fdfaff14),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:1}.hero-text{width:min(720px,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(3.2rem,7.4vw,6.6rem);line-height:.98;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)}.hero p{max-width:620px;color:#475569;font-size:clamp(1.05rem,1.6vw,1.32rem);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,.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}.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(3,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}.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;font-size:1.45rem}.course-card p{margin-top:13px;color:var(--text-muted);font-weight:500}.course-tags{display:flex;flex-wrap:wrap;gap:8px;margin:24px 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{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-lg);transition:transform .25s ease,box-shadow .25s ease}.artist-image{height:290px;background-size:cover;background-position:center}.artist-info{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{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-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:32px}.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}.form-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}label{display:grid;gap:8px;text-align:left;color:#334155;font-weight:900}input,select{width:100%;min-height:54px;padding:0 18px;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}select{margin-top:14px}input:focus,select: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}.mobile-cta{position:fixed;left:12px;right:12px;bottom:12px;z-index:1200;display:none;grid-template-columns:.8fr 1.4fr 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:minmax(190px,240px) 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);padding:clamp(42px,4.4vw,56px) clamp(18px,3vw,32px) clamp(18px,3vw,32px)}.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;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(3,minmax(0,1fr));gap:18px;transform-origin:top center;max-height:360px;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{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:auto;padding:2px 6px 2px 2px}.modal-content.detail-mode .portfolio-item{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:center;padding:8px;border-radius:18px;transform:none;box-shadow:0 10px 22px #60a5fa12}.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}.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}.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}.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}.expanded-media-frame audio{width:100%;filter:drop-shadow(0 14px 22px rgba(15,23,42,.22))}.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}.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-detail-cta{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin-top:14px;border-radius:14px;background:#ffffffe6;color:var(--primary-dark);font-weight:900;text-decoration:none}.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}.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-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:auto;max-height:64vh}.admin-cms-table{width:max(1500px,100%);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;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}.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-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)}}@media (max-width: 1080px){.course-grid,.artist-grid,.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-mask{background:linear-gradient(90deg,#fdfafff7,#fdfaffe6 48%,#fdfaff73),radial-gradient(circle at 18% 78%,rgba(254,240,138,.62),transparent 26%)}.portfolio-layout{grid-template-columns:1fr}.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-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}.slide{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,.portfolio-strip,.cta-section{padding:68px 0}.section-header{margin-bottom:34px;text-align:left}.grid,.course-grid,.artist-grid,.form-group,.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:1fr 1.3fr}.mobile-cta a:nth-child(3){display:none}.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}.slide{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}.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,.cta-section{padding:54px 0}.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;font-size:1.25rem}.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:.9fr 1.35fr;padding:7px;border-radius:20px}.mobile-cta a{min-height:44px;font-size:.86rem;border-radius:14px}.mobile-cta a:nth-child(3){display:none}}@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;padding-top:64px}.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;max-height:86px;gap:8px;transform:none;transform-origin:top left;overflow-x:auto;overflow-y:hidden;padding-bottom:4px}.modal-content.detail-mode .portfolio-item{grid-template-columns:46px minmax(0,1fr);min-width:170px;padding:6px;border-radius:14px}.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}}
