@font-face{font-family:"Grandis Brand";src:url("./brand/grandis-medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
/* Ustozaku — a quiet, spacious home for Korean learning. */
:root {
  color-scheme: dark;
  --paper:#080b0f; --surface:#10161d; --surface-tint:#151e28;
  --ink:#eef4f8; --ink-soft:#a7b5c2; --ink-faint:#77899b;
  --line:rgba(168,204,232,.12); --line-strong:rgba(168,204,232,.24);
  --accent:#a7d8ff; --accent-bright:#6bbaff; --accent-soft:rgba(107,186,255,.10);
  --red:#f40934; --red-light:#ff8297; --red-soft:rgba(244,9,52,.10);
  --blue:#6bbaff; --blue-light:#bce3ff; --navy:#102b43;
  --on-red:#fff; --on-navy:#fff;
  --font-ui:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --font-body:var(--font-ui); --font-display:"Grandis Brand",var(--font-ui);
  --font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --container:1240px; --radius:16px; --shadow:0 22px 64px rgba(0,0,0,.25);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:114px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--font-body);-webkit-font-smoothing:antialiased}
body::after{display:none}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{color:inherit}
img,svg{display:block;max-width:100%}
h1,h2,h3,h4,h5,p,blockquote{margin:0}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;letter-spacing:-.035em;line-height:1.1;text-wrap:balance}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
::selection{background:var(--accent);color:#08111b}
.wrap{width:100%;max-width:var(--container);padding:0 40px;margin:0 auto}
.skip-link{position:fixed;left:20px;top:-80px;z-index:100;padding:12px 20px;background:var(--accent);color:#08111b;border-radius:8px}
.skip-link:focus{top:12px}
.announce{position:relative;z-index:21;text-align:center;background:var(--accent);color:#112336;padding:8px 20px;font-size:12px;font-weight:500;letter-spacing:.005em}
.announce a{display:inline-flex;gap:16px;align-items:center}
.announce .arrow{font-size:18px;line-height:1}
header.site{position:sticky;top:0;z-index:30;padding:20px 0 0;pointer-events:none}
header.site>.wrap{max-width:1380px}
.nav{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 16px 12px 22px;border:1px solid var(--line);border-radius:100px;background:rgba(25,33,42,.93);backdrop-filter:blur(18px);pointer-events:auto;transition:box-shadow .25s,background .25s}
.site.is-scrolled .nav{background:rgba(22,30,39,.96);box-shadow:0 14px 34px rgba(0,0,0,.2)}
.brand{display:inline-flex;align-items:center;gap:9px;font-family:"Grandis Extended",var(--font-ui);font-weight:700;font-size:21px;letter-spacing:-.9px;flex:none;line-height:1}
.brand-mark{width:27px;height:29px;color:var(--ink)}
.nav-links{display:flex;gap:23px;align-items:center;padding:0;margin:0;list-style:none}
.nav-links a,.nav-drop-label{font-size:12.5px;font-weight:500;white-space:nowrap;color:#c4ced7;transition:color .2s}
.nav-links a:hover,.nav-drop-label:hover{color:var(--accent)}
.nav-item{position:relative;display:flex;align-items:center;gap:4px}
.nav-drop-label{border:0;background:none;padding:8px 0;cursor:pointer;display:flex;align-items:center;gap:6px}
.chevron{width:12px;height:12px;transition:transform .2s}
.nav-item.open .chevron{transform:rotate(180deg)}
.dropdown-menu{display:none;position:absolute;top:calc(100% + 13px);left:-18px;padding:8px;min-width:190px;margin:0;border:1px solid var(--line-strong);border-radius:13px;background:#151e28;box-shadow:var(--shadow);list-style:none}
.nav-item.open .dropdown-menu{display:grid;gap:3px}
.dropdown-menu a{display:block;padding:10px 12px;border-radius:6px}
.dropdown-menu a:hover{background:var(--accent-soft)}
.nav-actions{display:flex;align-items:center;gap:12px;flex:none}
.nav-actions>.btn{font-size:12px;min-height:36px;padding:7px 15px}
.nav-actions>.btn-ghost{border:0;background:none;color:var(--ink-soft);padding:7px 4px}
.nav-toggle{display:none;border:1px solid var(--line-strong);background:none;border-radius:50%;width:38px;height:38px;align-items:center;justify-content:center;cursor:pointer}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{display:block;position:relative;width:15px;height:1px;background:var(--ink);content:""}
.nav-toggle span::before{position:absolute;top:-5px}.nav-toggle span::after{position:absolute;top:5px}
.nav-links-auth,.nav-links-cta{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:47px;padding:12px 23px;border:1px solid transparent;border-radius:999px;font-size:14px;font-weight:500;line-height:1.35;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s,border-color .2s,box-shadow .2s;white-space:normal;text-align:center}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--accent);color:#0c2033;box-shadow:none}
.btn-primary:hover{background:#c4e6ff;box-shadow:0 0 28px rgba(107,186,255,.13)}
.nav-links .btn-primary,.nav-links .btn-primary:hover{color:#0c2033}
.btn-ghost{background:transparent;border-color:var(--line-strong);color:var(--ink)}
.btn-ghost:hover{background:var(--accent-soft);border-color:rgba(167,216,255,.45)}
.btn span[aria-hidden]{font-size:18px;line-height:1}
.text-link{display:inline-flex;align-items:center;gap:13px;font-size:14px;color:var(--accent);padding:6px 0}
.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.eyebrow,.mono-label{font:11px/1.5 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
section{position:relative;padding:110px 0;scroll-margin-top:110px}
section.tint{background:var(--paper)}
.section-head{max-width:760px;margin-bottom:48px}
.section-head h2{font-size:clamp(32px,4.1vw,50px);margin-top:16px}
.section-head p:not(.eyebrow){margin-top:20px;max-width:54ch;color:var(--ink-soft);font-size:16px}
.section-head.center{text-align:center;margin-left:auto;margin-right:auto}
.section-head.center p{margin-left:auto;margin-right:auto}
.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:44px}
.section-title-row .section-head{margin-bottom:0}
.section-title-row>.text-link{white-space:nowrap;margin-bottom:5px}
.home-hero{padding:76px 0 0;overflow:hidden;text-align:center}
.hero-copy{position:relative;z-index:2;max-width:940px;margin:auto;padding:0 28px}
.hero-kicker{display:inline-flex;align-items:center;gap:10px;font:10px/1.5 var(--font-mono);letter-spacing:.14em;color:var(--ink-soft)}
.status-dot{display:inline-block;flex:none;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px rgba(107,186,255,.5)}
.home-hero h1{font-size:clamp(42px,6.1vw,80px);line-height:1.04;letter-spacing:-.05em;font-weight:450;margin:24px 0}
.home-hero h1 span{color:var(--accent)}
.hero-description{max-width:580px;margin:0 auto;color:var(--ink-soft);font-size:17px;line-height:1.6}
.hero-ctas{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:27px}
.hero-proof{margin-top:21px;font-size:11px;color:var(--ink-faint);letter-spacing:.025em}
.hero-visual{position:relative;max-width:1160px;height:410px;margin:24px auto 0;isolation:isolate;perspective:1100px;--tilt-x:0deg;--tilt-y:0deg;--scroll-y:0px}
.hero-visual::before{content:"";position:absolute;inset:0 10%;z-index:-1;background:radial-gradient(ellipse at 50% 50%,rgba(54,115,171,.17),transparent 66%)}
.scene-floor{position:absolute;left:10%;right:10%;top:85px;height:370px;background-image:linear-gradient(rgba(142,194,233,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(142,194,233,.08) 1px,transparent 1px);background-size:48px 48px;transform:rotateX(63deg) rotateZ(-8deg);mask-image:radial-gradient(ellipse,#000 12%,transparent 67%);-webkit-mask-image:radial-gradient(ellipse,#000 12%,transparent 67%)}
.learning-sculpture{position:absolute;left:50%;top:33px;width:540px;height:300px;transform:translateX(-50%) translateY(var(--scroll-y)) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;transition:transform .35s ease-out}
.study-slab{position:absolute;left:50%;top:50%;width:270px;height:200px;border-radius:18px;transform-style:preserve-3d;border:1px solid rgba(167,216,255,.4);background:linear-gradient(140deg,#21374b,#112134 60%,#142a40);box-shadow:0 2px 0 #6b94b5,0 10px 0 #101d2a,0 11px 0 #3c5267,0 28px 35px rgba(0,0,0,.45);display:flex;flex-direction:column;justify-content:space-between;padding:23px 25px;text-align:left;backface-visibility:hidden}
.slab-rear{transform:translate(-82%,-62%) rotateX(49deg) rotateZ(-31deg);background:linear-gradient(135deg,#141f2b,#182f44);color:#65829c}
.slab-middle{transform:translate(-48%,-41%) rotateX(49deg) rotateZ(-31deg);background:linear-gradient(145deg,#203d56,#172a3d);color:#a1bdd3}
.slab-front{transform:translate(-12%,-22%) rotateX(49deg) rotateZ(-31deg);background:linear-gradient(140deg,#b7e1ff,#79afda 75%,#72a9d7);color:#15334c;border-color:#cceaff;box-shadow:0 2px 0 #d6eeff,0 10px 0 #4f7ea6,0 11px 0 #90bddf,0 28px 35px rgba(0,0,0,.4)}
.slab-top{display:flex;justify-content:space-between;align-items:center;font:9px/1 var(--font-mono);letter-spacing:.12em}
.slab-symbol{font-size:68px;line-height:1;font-weight:500;font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;letter-spacing:-.06em}
.slab-bottom{display:flex;justify-content:space-between;font:9px/1 var(--font-mono);letter-spacing:.05em}
.slab-ticks{display:flex;gap:4px;align-items:flex-end;height:18px}.slab-ticks i{width:3px;background:currentColor;opacity:.5;height:8px}.slab-ticks i:nth-child(2){height:13px}.slab-ticks i:nth-child(3){height:18px}
.scene-note{position:absolute;display:flex;align-items:center;gap:9px;font:10px/1.5 var(--font-mono);letter-spacing:.04em;color:#87a2b9;text-align:left}
.scene-note::before{content:"";width:28px;height:1px;background:var(--line-strong)}
.note-left{left:12%;top:160px}.note-right{right:9%;top:90px}.note-bottom{left:41%;bottom:35px}
.scene-corner{position:absolute;width:10px;height:10px;border-top:1px solid #48657e;border-left:1px solid #48657e;opacity:.6}
.corner-one{left:18%;top:60px}.corner-two{right:19%;bottom:50px;transform:rotate(180deg)}
.trust-section{padding:14px 0 50px}
.trust-label{text-align:center;font-size:11px;color:var(--ink-faint);margin-bottom:27px;letter-spacing:.04em}
.trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-item{text-align:center;padding:26px 20px;position:relative}.trust-item+.trust-item::before{content:"";position:absolute;left:0;top:26px;bottom:26px;border-left:1px solid var(--line)}
.trust-value{font-size:24px;letter-spacing:-.04em;font-weight:600;color:#b7c9d8}.trust-value small{font-size:11px;color:var(--ink-faint);font-weight:400}
.trust-item p{font-size:11px;color:var(--ink-faint);margin-top:5px}
.programs-section{padding-top:80px}
.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.program-card{min-width:0}
.program-art{height:315px;border:1px solid var(--line-strong);border-radius:12px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0f171e}
.program-art::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 85% 100%,rgba(82,151,205,.18),transparent 62%);pointer-events:none}
.program-card:nth-child(2) .program-art::before{background:radial-gradient(ellipse at 0 0,rgba(82,151,205,.15),transparent 70%)}
.program-copy{padding:23px 0 0}.program-copy h3{font-size:27px;margin:10px 0 12px}.program-copy>p:not(.eyebrow){color:var(--ink-soft);font-size:14px;max-width:49ch}.program-copy .text-link{margin-top:15px}
.mini-window{position:relative;width:80%;max-width:385px;border:1px solid rgba(167,216,255,.25);border-radius:10px;background:linear-gradient(150deg,#16222e,#101820);box-shadow:0 12px 44px #04070a;padding:17px 23px;transform:perspective(900px) rotateY(-6deg) rotateX(5deg);transition:transform .5s}
.program-card:hover .mini-window{transform:perspective(900px) rotateY(0) rotateX(0) translateY(-4px)}
.mini-window-top{display:flex;justify-content:space-between;align-items:center;font:8px var(--font-mono);color:var(--ink-faint);letter-spacing:.06em;padding-bottom:15px;border-bottom:1px solid var(--line)}
.window-dots{display:flex;gap:5px}.window-dots i{width:5px;height:5px;border-radius:50%;background:#52718b}.window-dots i:first-child{background:var(--accent)}
.hangul-tiles{display:flex;justify-content:center;gap:10px;margin:25px 0 22px}.hangul-tiles span{display:grid;place-items:center;width:68px;height:73px;border-radius:8px;font-size:34px;color:var(--accent);border:1px solid #395874;background:linear-gradient(#23394c,#162a3c);box-shadow:0 4px 0 #0b1520}.hangul-tiles span:nth-child(2){transform:translateY(-7px);background:linear-gradient(#345575,#20384f)}
.mini-window-bottom{display:flex;justify-content:space-between;align-items:center;font:8px var(--font-mono);color:var(--ink-faint);padding-top:13px;border-top:1px solid var(--line)}
.progress-dots{display:flex;gap:4px}.progress-dots i{width:16px;height:3px;background:#2b3c4c;border-radius:2px}.progress-dots i:first-child,.progress-dots i:nth-child(2){background:var(--accent)}
.level-chart{display:flex;align-items:flex-end;justify-content:center;height:137px;gap:19px;padding:18px 7px 0;margin-bottom:24px}
.level-column{height:100%;flex:1;max-width:40px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;text-align:center}.level-column i{display:block;border:1px solid #426482;border-bottom:0;border-radius:4px 4px 0 0;background:linear-gradient(#2a4965,#14283c);height:var(--height)}.level-column:last-child i{background:linear-gradient(#c4e7ff,#649dcc);border-color:#bbdfff;box-shadow:0 0 30px #6bbaff22}.level-column span{font:9px var(--font-mono);color:var(--ink-faint)}
.practice-section{padding-top:35px}
.practice-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:48px;background:linear-gradient(130deg,#101923,#0c1118)}
.practice-copy h2{font-size:34px;margin:16px 0 18px}.practice-copy>p:not(.eyebrow){font-size:14px;color:var(--ink-soft);max-width:43ch}
.skill-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:27px}.skill-tabs button{padding:8px 16px;border-radius:99px;background:none;border:1px solid var(--line-strong);color:var(--ink-soft);font-size:12px;cursor:pointer;transition:background .2s,color .2s}.skill-tabs button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:#102536}
.skill-panel{min-width:0;min-height:245px;border:1px solid var(--line-strong);border-radius:12px;background:#0b121b;padding:28px;box-shadow:0 20px 45px #0004}
.skill-panel-head{display:flex;justify-content:space-between;color:var(--ink-faint);font:9px var(--font-mono);letter-spacing:.08em;padding-bottom:19px;border-bottom:1px solid var(--line)}
.practice-korean{font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;font-size:30px;font-weight:500;letter-spacing:-.04em;color:#d1eaff;margin:25px 0 10px}.practice-translation{font-size:13px;color:var(--ink-soft)}
.practice-tags{display:flex;gap:7px;margin-top:25px}.practice-tags span{font:9px var(--font-mono);padding:5px 9px;border:1px solid var(--line);border-radius:4px;color:#7c9ab3}
.waveform{height:80px;display:flex;align-items:center;justify-content:center;gap:5px;padding:10px 0}.waveform i{width:4px;height:var(--bar);border-radius:5px;background:linear-gradient(var(--accent),#457ca7)}
.writing-lines{padding:20px 0 6px;display:grid;gap:12px}.writing-lines span{height:7px;border-radius:2px;background:#273d50}.writing-lines span:nth-child(2){width:90%}.writing-lines span:nth-child(3){width:65%;background:#82b9df}.writing-lines span:nth-child(4){width:80%}
.journey-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(110deg,#0d141c,var(--paper))!important}
.journey-section::after{display:none}
.journey-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}
.journey-intro{position:sticky;top:140px}.journey-intro .section-head{margin-bottom:30px}.journey-intro .section-head h2{font-size:44px}
.teacher-signature{display:flex;align-items:center;gap:13px;padding-top:24px;border-top:1px solid var(--line)}
.teacher-monogram{width:44px;height:44px;display:grid;place-items:center;border:1px solid #38526a;border-radius:50%;background:#172a3b;color:var(--accent);font-size:18px}.teacher-signature strong{display:block;font-size:14px;font-weight:500}.teacher-signature small{display:block;color:var(--ink-faint);font-size:11px}
.timeline{display:grid;max-width:none;gap:0}
.tl-item{display:grid;grid-template-columns:70px 12px minmax(0,1fr);gap:0 18px;position:relative;padding:0 0 32px}.tl-item:last-child{padding-bottom:0}
.tl-year{font:10px/1.6 var(--font-mono);color:var(--ink-faint);padding-top:3px;letter-spacing:-.02em}.tl-dotcol{position:relative;display:flex;justify-content:center}.tl-dot{height:7px;width:7px;border:1px solid #719cc0;background:#1d3a53;border-radius:50%;margin-top:6px;z-index:1}.tl-item:last-child .tl-dot{background:var(--accent);box-shadow:0 0 14px #7eb8e733}
.tl-item:not(:last-child) .tl-dotcol::after{content:"";position:absolute;width:1px;top:17px;bottom:0;left:50%;background:var(--line-strong)}
.tl-content h4{font-size:16px;line-height:1.35;font-weight:500;letter-spacing:-.015em}.tl-content p{font-size:12px;line-height:1.7;color:var(--ink-faint);margin-top:7px}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:38px;align-items:stretch}
.price-card{display:flex;flex-direction:column;position:relative;min-width:0;border:1px solid var(--line);border-radius:14px;background:#0e151d;padding:32px 25px;transition:transform .3s,border-color .3s}
.price-card:hover{border-color:#36516b;transform:translateY(-4px)}
.price-card.featured{background:linear-gradient(150deg,#1c3043,#101b27);border-color:#6b9abe;box-shadow:0 0 45px #83beed08}
.tier-name{font:11px var(--font-mono);letter-spacing:.03em;color:var(--ink-soft)}
.tier-price{font-size:36px;line-height:1.15;letter-spacing:-.05em;margin-top:25px;color:var(--ink)}
.tier-price small{display:block;font-size:11px;letter-spacing:0;color:var(--ink-faint);margin-top:8px;font-weight:400}
.tier-desc{font-size:12px;color:var(--ink-soft);margin:20px 0 24px;min-height:42px;line-height:1.7}
.tier-features{list-style:none;margin:0 0 32px;padding:22px 0 0;border-top:1px solid var(--line);display:grid;gap:13px;font-size:12px;color:var(--ink-soft)}
.tier-features li{display:flex;align-items:flex-start;gap:9px}.tier-features svg{width:13px;height:13px;flex:none;color:var(--accent);margin-top:3px}.price-card>.btn{margin-top:auto;font-size:12px;min-height:43px}
.tier-badge{position:absolute;top:-12px;right:22px;padding:4px 12px;border-radius:99px;color:#112739;background:var(--accent);font:9px/1.5 var(--font-mono)}
.trial-note{text-align:center;font-size:12px;color:var(--ink-soft);padding:12px 18px;margin:0 auto;max-width:710px;border:1px solid var(--line);border-radius:9px;background:#101820}.trial-note strong{font-weight:500;color:var(--ink)}
.compare-wrap{overflow-x:auto;margin-top:42px;border:1px solid var(--line);border-radius:12px}
table.compare{width:100%;border-collapse:collapse;min-width:660px;text-align:left;font-size:12px}
table.compare th,table.compare td{padding:15px 19px;border-bottom:1px solid var(--line)}
table.compare thead th{font:10px var(--font-mono);color:var(--ink-soft);background:#111922;text-transform:uppercase;font-weight:400;line-height:1.5}
table.compare tbody tr:last-child td{border-bottom:0}table.compare td{color:var(--ink-soft)}table.compare td:first-child{color:#d2dce5}table.compare .yes{color:var(--accent)}table.compare .no{color:var(--ink-faint)}
.pricing-note{font-size:12px;color:var(--ink-faint);text-align:center;max-width:680px;margin:23px auto 0}
.process-section{padding-top:10px}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}.step{border-top:1px solid var(--line-strong);padding-top:27px}.step-num{font:12px var(--font-mono);color:var(--accent);display:inline-block;margin-bottom:25px}.step h4{font-size:21px;letter-spacing:-.03em}.step p{font-size:13px;color:var(--ink-soft);margin-top:15px;max-width:35ch}
.philosophy-section{padding:72px 0;border-block:1px solid var(--line);background:#101820}
.philosophy-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.philosophy-grid h2{font-size:40px}.philosophy-grid h2 span{color:var(--accent)}.philosophy-grid blockquote{font-size:23px;line-height:1.5;letter-spacing:-.025em;color:#d3e1ed}.philosophy-grid cite{display:block;font-size:11px;font-style:normal;color:var(--ink-faint);margin-top:18px}
.materials-cta{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;background:linear-gradient(120deg,#122031,#0c141e);border:1px solid var(--line-strong);border-radius:16px;padding:52px;overflow:hidden}
.materials-cta h2{font-size:39px;margin:17px 0 20px;max-width:15ch}.materials-cta>div>p:not(.eyebrow){font-size:14px;color:var(--ink-soft);max-width:48ch}
.materials-list{display:grid;gap:12px;list-style:none;padding:0;margin:24px 0;color:var(--ink-soft);font-size:12px}.materials-list li{display:flex;align-items:flex-start;gap:8px}.materials-list svg{width:14px;height:14px;flex:none;color:var(--accent);margin-top:3px}.materials-list strong{color:var(--ink);font-weight:500}
.materials-ctas{display:flex;flex-wrap:wrap;gap:10px}.materials-ctas .btn{font-size:12px;padding:11px 18px}.stat-chip{display:flex;align-items:center;gap:7px;font:9px var(--font-mono);color:var(--ink-faint);margin-top:24px}
.resource-stack{height:320px;position:relative;perspective:1100px;transform:rotate(-5deg)}
.resource-sheet{position:absolute;width:215px;height:270px;left:50%;top:50%;border:1px solid #47647f;border-radius:9px;background:linear-gradient(140deg,#2d455c,#17293b);padding:22px;box-shadow:0 20px 35px #03090f77;transform:translate(-50%,-50%) rotate(var(--rotate,0deg));transition:transform .45s}
.resource-sheet:nth-child(1){--rotate:-16deg;left:42%;background:#142233}.resource-sheet:nth-child(2){--rotate:-3deg;left:49%;background:#243b50}.resource-sheet:nth-child(3){--rotate:10deg;left:58%;background:linear-gradient(130deg,#b7dcf8,#77a7cc);color:#1c3c57;border-color:#bbdcf7}
.resource-stack:hover .resource-sheet:nth-child(1){transform:translate(-64%,-54%) rotate(-22deg)}.resource-stack:hover .resource-sheet:nth-child(3){transform:translate(-36%,-47%) rotate(17deg)}
.resource-sheet>span{font:9px var(--font-mono);letter-spacing:.08em}.resource-sheet strong{display:block;font-size:28px;letter-spacing:-.04em;font-weight:500;line-height:1.15;margin-top:46px}.resource-sheet small{display:block;font-size:10px;margin-top:8px;opacity:.65}.sheet-lines{display:grid;gap:8px;margin-top:28px}.sheet-lines i{height:2px;background:currentColor;opacity:.2}.sheet-lines i:last-child{width:65%}
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-list{max-width:none}.faq-item{border-bottom:1px solid var(--line);padding:0}.faq-item:first-child{border-top:1px solid var(--line)}.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:15px;color:#d6e1ea}.faq-item summary::-webkit-details-marker{display:none}.faq-item p{font-size:13px;color:var(--ink-soft);padding:0 28px 23px 0;line-height:1.8}.plus{flex:none;width:14px;height:14px;position:relative}.plus::before,.plus::after{content:"";position:absolute;background:var(--ink-faint);top:50%;left:50%;transform:translate(-50%,-50%);width:12px;height:1px}.plus::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s}.faq-item[open] .plus::after{transform:translate(-50%,-50%) rotate(0)}
.contact-section{overflow:hidden;border-top:1px solid var(--line);padding:104px 0;background:radial-gradient(ellipse at 50% 110%,#1f3e5b55,transparent 65%)}
.contact-box{text-align:center;max-width:770px;margin:auto;position:relative}.contact-box h2{font-size:clamp(36px,4.6vw,58px);margin:18px 0 20px}.contact-box>p:not(.eyebrow){color:var(--ink-soft);max-width:48ch;margin:auto;font-size:15px}.contact-cards{display:flex;justify-content:center;gap:15px;margin:30px 0 0}.contact-card{padding:14px 20px;text-align:left;display:flex;align-items:center;gap:18px;border:1px solid var(--line-strong);border-radius:12px;min-width:230px;background:#121e2a;transition:transform .2s,border-color .2s}.contact-card:hover{transform:translateY(-3px);border-color:var(--accent)}.contact-card.primary{background:var(--accent);color:#153149;border-color:var(--accent)}.contact-card h4{font-size:15px;letter-spacing:-.01em}.contact-card p{font-size:10px;opacity:.65;margin-top:3px}.contact-icon{height:28px;width:28px;flex:none}.contact-arrow{margin-left:auto}
footer{padding:56px 0 28px;border-top:1px solid var(--line);background:#090e14}.foot-grid{display:flex;justify-content:space-between;gap:50px}.foot-brand p{font-size:12px;color:var(--ink-faint);max-width:34ch;margin-top:18px}.foot-links{display:flex;gap:70px}.foot-col h5{font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);margin-bottom:17px}.foot-col ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}.foot-col a{font-size:12px;color:var(--ink-soft)}.foot-col a:hover{color:var(--accent)}.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:25px;margin-top:50px;font:10px var(--font-mono);color:var(--ink-faint)}
.page-glow{pointer-events:none;position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0,#1e405b33,transparent 60%)}
.view{position:relative;overflow:hidden;padding:70px 0 100px;min-height:65vh}.view>.wrap{position:relative;z-index:1}.page-head{margin-bottom:38px}.page-head h2{font-size:44px;margin-bottom:15px}.page-head p{color:var(--ink-soft)}
.auth-wrap{display:flex;justify-content:center}.auth-card{width:100%;max-width:420px;margin:auto;border:1px solid var(--line-strong);border-radius:17px;background:#111b25;padding:35px;text-align:center;box-shadow:var(--shadow)}.auth-logo{width:36px;height:39px;margin:0 auto 22px;color:var(--ink)}.auth-card h2{font-size:28px}.auth-sub{font-size:13px;color:var(--ink-soft);margin-top:14px}.auth-card form{display:grid;gap:16px;margin-top:26px;text-align:left}.auth-card label{display:grid;gap:7px;font-size:12px;color:var(--ink-soft)}.auth-card input{min-width:0;width:100%;border:1px solid var(--line-strong);border-radius:8px;padding:11px 13px;color:var(--ink);background:#0b131c;font-size:14px}.auth-switch{font-size:12px;color:var(--ink-soft);margin-top:24px}.auth-switch a{color:var(--accent)}.auth-note{font-size:10px;color:var(--ink-faint);margin-top:19px;line-height:1.8}.auth-error{color:#ffa0ad;font-size:12px}.google-signin-btn{width:100%;gap:10px;margin-top:24px;font-size:12px}.google-signin-btn svg{width:19px;height:19px}.auth-status{color:var(--ink-soft);font-size:13px}.nav-avatar{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#173954;color:var(--accent);font:10px var(--font-mono);margin-right:3px}
.lms-crumb{font-size:12px;color:var(--ink-faint);margin-bottom:22px}.lms-crumb a{color:var(--accent)}.lms-intro{max-width:660px;margin-bottom:32px}.lms-intro h2{font-size:42px;margin-bottom:14px}.lms-intro p{color:var(--ink-soft);font-size:15px}.course-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.course-card{display:block;border:1px solid var(--line-strong);border-radius:15px;overflow:hidden;background:var(--surface);transition:transform .2s,border-color .2s}.course-card:hover{transform:translateY(-4px);border-color:var(--accent)}.course-thumb{aspect-ratio:16/9;background:radial-gradient(ellipse at top right,#34678c88,transparent),#122335;padding:24px;display:flex;align-items:flex-end;font-size:29px;color:var(--accent);font-weight:500;position:relative;overflow:hidden}.course-thumb::after{content:"";position:absolute;inset:0;background-image:linear-gradient(#85b9df11 1px,transparent 1px),linear-gradient(90deg,#85b9df11 1px,transparent 1px);background-size:30px 30px}.course-thumb span{position:relative;z-index:1}.course-body{padding:23px}.course-body h3{font-size:23px}.course-body p{font-size:13px;color:var(--ink-soft);margin-top:10px}.course-meta{font:10px var(--font-mono);color:var(--ink-faint);margin-top:16px}
.lms-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:26px;align-items:start}.player-frame{position:relative;aspect-ratio:16/9;border:1px solid var(--line-strong);border-radius:12px;overflow:hidden;background:#0c131c;display:flex;align-items:center;justify-content:center}.player-frame video{width:100%;height:100%;object-fit:contain;background:#000}.player-placeholder{padding:30px;text-align:center;color:var(--ink-faint);font-size:13px}.player-caption{margin-top:15px;font-size:14px;color:var(--ink-soft)}.lesson-lock-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:20px;background:#080c13ed;text-align:center;font-size:13px}.lms-sidebar{background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;padding:24px}.lms-sidebar h3{font-size:19px;margin-bottom:15px}.lesson-list{display:grid;gap:0}.lesson-item{display:flex;align-items:center;gap:9px;text-align:left;width:100%;padding:15px 4px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink-soft);cursor:pointer;font-size:12px}.lesson-item:last-child{border-bottom:0}.lesson-item.active{color:var(--accent)}.lesson-item .lesson-num{font:10px var(--font-mono);color:var(--ink-faint)}.lesson-item .lock-icon{width:13px;height:13px;flex:none;opacity:.6}.lesson-item .free-tag{margin-left:auto;flex:none;font:8px var(--font-mono);color:var(--accent);background:#22394d;padding:4px 6px;border-radius:4px}.lms-admin-add{margin-top:16px;border:1px solid var(--line);border-radius:12px;padding:20px;background:var(--surface)}.lesson-add-form{display:grid;gap:14px;margin-top:15px}.lesson-add-form label{display:grid;gap:6px;font-size:12px;color:var(--ink-soft)}.lesson-add-form input{max-width:100%;font-size:12px}.lesson-add-form input[type=text]{background:#0a121b;border:1px solid var(--line-strong);border-radius:7px;padding:10px;color:var(--ink)}.lesson-form-actions{display:flex;gap:9px}.lms-note{font-size:11px;color:var(--ink-faint);margin-top:15px}
.course-meta{display:block}.lesson-list{list-style:none;margin:0;padding:0}.lesson-add-actions{display:flex;gap:9px}.lms-demo-note{font-size:11px;color:var(--ink-faint);line-height:1.7;margin-top:17px}.lesson-item svg{width:13px;height:13px;flex:none}
@keyframes section-enter{from{opacity:.6;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){[data-reveal].is-visible{animation:section-enter .7s cubic-bezier(.2,.7,.25,1) both}}
@media(min-width:1600px){.home-hero{padding-top:105px}.hero-visual{height:450px}}
@media(max-width:1120px){.nav-links{gap:15px}.nav-links a,.nav-drop-label{font-size:11px}.brand{font-size:19px}.nav-actions>.btn-ghost{display:none}.journey-grid,.faq-layout{gap:50px}.hero-visual .note-left{left:7%}.hero-visual .note-right{right:6%}.practice-panel{gap:32px;padding:34px}.materials-cta{padding:38px}}
@media(max-width:900px){
  .wrap{padding:0 26px}header.site{padding-top:12px}.nav{padding:11px 13px 11px 19px}.nav-toggle{display:flex}.nav-links{display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;padding:22px;background:#141e29;border:1px solid var(--line-strong);border-radius:19px;box-shadow:var(--shadow);align-items:stretch;gap:13px;flex-direction:column}.nav-links.open{display:flex}.nav-links a,.nav-drop-label{font-size:14px}.nav-item{display:block}.nav-drop-label{width:100%;justify-content:space-between}.dropdown-menu{position:static;box-shadow:none;border:0;border-radius:0;margin-top:7px;padding:0 0 0 12px;background:none}.dropdown-menu a{font-size:13px}.nav-links-auth,.nav-links-cta{display:block}.nav-links-auth .btn,.nav-links-cta .btn{font-size:13px}.nav-actions>.btn-primary{font-size:11px}.home-hero{padding-top:68px}.home-hero h1{font-size:65px}.scene-note{font-size:8px}.note-left{left:4%!important;top:180px}.note-right{right:4%!important;top:60px}.note-bottom{left:40%}.hero-visual{height:360px}.trust-value{font-size:21px}.trust-item p{font-size:10px}.trust-item{padding:23px 13px}.program-art{height:280px}.mini-window{width:86%;padding:16px}.hangul-tiles span{width:58px;height:65px}.journey-grid{grid-template-columns:1fr;gap:48px}.journey-intro{position:static;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end}.journey-intro .section-head{margin:0}.teacher-signature{padding-bottom:6px}.timeline{max-width:760px}.pricing-grid{gap:13px}.price-card{padding:28px 20px}.tier-price{font-size:29px}.tier-desc{min-height:64px}.tier-features{font-size:11px}.practice-panel{grid-template-columns:1fr 1.1fr;gap:25px}.practice-copy h2{font-size:29px}.practice-korean{font-size:25px}.skill-panel{padding:22px}.steps{gap:26px}.step h4{font-size:19px}.philosophy-grid{gap:38px}.philosophy-grid h2{font-size:33px}.philosophy-grid blockquote{font-size:20px}.materials-cta{grid-template-columns:1fr .7fr;gap:15px}.materials-cta h2{font-size:33px}.resource-stack{transform:rotate(-5deg) scale(.84)}.faq-layout{grid-template-columns:1fr;gap:28px}.faq-layout .section-head{margin:0}.lms-layout{grid-template-columns:1fr}.lms-sidebar{order:2}
}
@media(max-width:640px){
  html{scroll-padding-top:90px}section{padding:75px 0;scroll-margin-top:90px}.wrap{padding:0 22px}header.site>.wrap{padding:0 14px}.announce{padding:7px 15px;font-size:10px}.announce a{gap:9px}.nav{gap:12px;padding:10px 12px 10px 17px}.brand{font-size:18px}.brand-mark{width:22px;height:25px}.nav-actions{gap:9px}.nav-actions>.btn-primary{min-height:32px;padding:7px 12px}.nav-toggle{width:33px;height:33px}.home-hero{padding-top:53px}.hero-copy{padding:0 18px}.hero-kicker{font-size:8px;letter-spacing:.1em}.home-hero h1{font-size:clamp(40px,9.5vw,58px);margin:22px 0;line-height:1.06;letter-spacing:-.048em}.hero-description{font-size:14px;max-width:39ch}.hero-ctas{gap:9px;margin-top:23px}.hero-ctas .btn{font-size:12px;min-height:43px;padding:11px 16px;gap:10px}.hero-proof{font-size:9px}.hero-visual{height:295px;margin-top:15px;overflow:hidden}.learning-sculpture{top:-2px;transform:translateX(-50%) translateY(var(--scroll-y)) scale(.7) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-origin:50% 50%}.scene-floor{left:-20%;right:-20%;top:25px}.scene-note{font-size:7px}.scene-note::before{width:15px}.note-left{left:4%!important;top:107px}.note-right{top:34px;right:5%!important}.note-bottom{left:36%;bottom:28px}.corner-one{top:20px;left:13%}.corner-two{right:12%;bottom:38px}.trust-section{padding:0 0 30px}.trust-label{font-size:10px;margin-bottom:19px}.trust-grid{grid-template-columns:1fr 1fr}.trust-item{padding:19px 10px}.trust-item:nth-child(n+3){border-top:1px solid var(--line)}.trust-item:nth-child(3)::before{display:none}.trust-item+.trust-item::before{top:20px;bottom:20px}.trust-value{font-size:22px}.trust-item p{font-size:10px}.programs-section{padding-top:50px}.section-title-row{display:block;margin-bottom:29px}.section-title-row>.text-link{margin-top:18px}.section-head{margin-bottom:30px}.section-head h2{font-size:34px;margin-top:13px}.section-head p:not(.eyebrow){font-size:14px;margin-top:16px}.eyebrow{font-size:9px}.program-grid{grid-template-columns:1fr;gap:39px}.program-art{height:285px}.mini-window{width:79%;padding:18px 22px}.program-copy{padding-top:20px}.program-copy h3{font-size:26px;margin-top:9px}.program-copy>p:not(.eyebrow){font-size:13px}.program-copy .text-link{font-size:12px;margin-top:11px}.practice-section{padding-top:0}.practice-panel{grid-template-columns:1fr;padding:28px 22px;gap:28px}.practice-copy h2{font-size:30px}.practice-copy>p:not(.eyebrow){font-size:13px}.skill-tabs{margin-top:22px}.skill-tabs button{padding:8px 14px;font-size:11px}.skill-panel{min-height:235px;padding:24px}.practice-korean{font-size:28px}.journey-intro{display:block}.journey-intro .section-head h2{font-size:34px}.teacher-signature{margin-top:27px;padding-top:20px}.journey-grid{gap:36px}.tl-item{grid-template-columns:49px 10px minmax(0,1fr);gap:0 12px;padding-bottom:29px}.tl-year{font-size:9px}.tl-content h4{font-size:14px;line-height:1.4}.tl-content p{font-size:11px}.pricing-grid{grid-template-columns:1fr;gap:29px;margin-top:32px}.price-card{padding:29px}.tier-price{font-size:40px}.tier-desc{min-height:0;font-size:13px}.tier-features{font-size:13px;gap:13px}.tier-features svg{width:14px;height:14px}.price-card>.btn{font-size:13px}.trial-note{font-size:11px;line-height:1.8}.trial-note strong{display:block}.compare-wrap{margin-top:30px}.pricing-note{font-size:11px;text-align:left}.process-section{padding-top:0}.steps{grid-template-columns:1fr;gap:25px}.step{position:relative;padding:24px 0 0 44px}.step-num{position:absolute;top:24px;left:0;margin:0}.step h4{font-size:21px}.step p{font-size:13px;max-width:none;margin-top:13px}.philosophy-section{padding:54px 0}.philosophy-grid{grid-template-columns:1fr;gap:28px}.philosophy-grid h2{font-size:35px}.philosophy-grid blockquote{font-size:20px}.materials-cta{padding:29px 24px;grid-template-columns:1fr;gap:25px}.materials-cta h2{font-size:34px}.materials-cta>div>p:not(.eyebrow){font-size:13px}.materials-list{font-size:11px}.materials-ctas{flex-direction:column;align-items:stretch}.materials-ctas .btn{font-size:12px}.resource-stack{height:285px;transform:rotate(-5deg) scale(.9);margin-top:6px}.faq-layout{gap:24px}.faq-item summary{font-size:14px;padding:20px 0}.faq-item p{font-size:12px}.contact-section{padding:72px 0}.contact-box h2{font-size:39px}.contact-box>p:not(.eyebrow){font-size:13px}.contact-cards{flex-direction:column;align-items:stretch;max-width:350px;margin:27px auto 0}.contact-card{min-width:0}.foot-grid{flex-direction:column;gap:35px}.foot-links{gap:40px;justify-content:space-between}.foot-col a{font-size:11px}.foot-bottom{font-size:8px;margin-top:32px;padding-top:20px}.view{padding:46px 0 70px}.auth-card{padding:27px 23px}.course-grid{grid-template-columns:1fr}.lms-intro h2{font-size:34px}.lms-intro p{font-size:13px}.lms-crumb{font-size:10px}.player-placeholder{font-size:11px;padding:20px}.lms-sidebar{padding:20px}
}
@media(max-width:360px){.wrap{padding:0 17px}.nav-actions>.btn-primary{display:none}.home-hero h1{font-size:38px}.scene-note{display:none}.hero-ctas .btn{padding:11px 13px}.mini-window{width:86%}.resource-stack{transform:scale(.8);margin-inline:-20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.learning-sculpture{--tilt-x:0deg!important;--tilt-y:0deg!important;--scroll-y:0px!important}}

/* Official Ustozaku identity, supplied brand artwork. */
:root{--brand-blue:#124779;--brand-red:#fb0034;--red:var(--brand-red);--navy:var(--brand-blue)}
.brand{flex-shrink:0}.brand-image{width:172px;height:auto;object-fit:contain}.auth-logo{object-fit:contain}
.home-hero h1{font-size:clamp(42px,5.8vw,78px);letter-spacing:-.055em}
.announce{background:var(--brand-blue);color:#fff}
.teacher-signature{border-color:rgba(251,0,52,.25)}
@media(max-width:900px){.home-hero h1{font-size:54px}.brand-image{width:158px}}
@media(max-width:640px){.home-hero h1{font-size:clamp(30px,7.5vw,45px);letter-spacing:-.055em}.brand-image{width:140px}.section-head h2,.journey-intro .section-head h2{font-size:29px}.contact-box h2{font-size:32px}}
@media(max-width:360px){.brand-image{width:132px}.home-hero h1{font-size:28px}}

/* Warm, light teaching environment. */
:root{color-scheme:light;--paper:#f7f5f0;--surface:#fff;--surface-tint:#edf2f6;--ink:#15344e;--ink-soft:#4e6070;--ink-faint:#607080;--line:rgba(18,71,121,.13);--line-strong:rgba(18,71,121,.24);--accent:#124779;--accent-bright:#1d6098;--accent-soft:rgba(18,71,121,.07);--blue:#124779;--blue-light:#dceaf5;--red-light:#c51b3d;--shadow:0 16px 45px rgba(30,55,76,.09)}
::selection{background:#dceaf5;color:#124779}
.skip-link{background:#124779;color:#fff}
.nav,.site.is-scrolled .nav{background:rgba(255,255,255,.95);box-shadow:0 8px 30px rgba(30,55,76,.055)}
.nav-links a,.nav-drop-label{color:var(--ink-soft)}
.dropdown-menu{background:#fff}
.btn-primary,.nav-links .btn-primary,.nav-links .btn-primary:hover{background:#124779;color:#fff}
.btn-primary:hover{background:#0b365e;box-shadow:0 8px 20px rgba(18,71,121,.12)}
.hero-ctas .btn-primary,.price-card.featured>.btn-primary{background:#d80b35;color:#fff}
.hero-ctas .btn-primary:hover,.price-card.featured>.btn-primary:hover{background:#b8092d}
.btn-ghost{background:rgba(255,255,255,.65)}
.btn-ghost:hover{background:#e9eff4;border-color:#9db4c8}
.status-dot{box-shadow:none}
.hero-visual::before{background:radial-gradient(ellipse at 50% 50%,rgba(110,157,193,.16),transparent 66%)}
.scene-floor{background-image:linear-gradient(rgba(18,71,121,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(18,71,121,.12) 1px,transparent 1px)}
.scene-note{color:#556d82}
.study-slab{border-color:#a7bdd0;box-shadow:0 2px 0 #fff,0 10px 0 #ccd8e2,0 11px 0 #aabcca,0 24px 35px rgba(32,65,94,.16)}
.slab-rear{background:linear-gradient(135deg,#fff,#e8eef3);color:#335c7e}
.slab-middle{background:linear-gradient(145deg,#e3edf5,#bcd3e5);color:#174a75}
.slab-front{background:linear-gradient(140deg,#296291,#124779);color:#fff;border-color:#5081aa;box-shadow:0 2px 0 #6894b8,0 10px 0 #103859,0 11px 0 #809fb8,0 24px 35px rgba(32,65,94,.2)}
.trust-value{color:var(--ink)}
.program-art{background:#eaf0f4}
.program-art::before,.program-card:nth-child(2) .program-art::before{background:radial-gradient(ellipse at 85% 100%,#d6e4ef,transparent 65%)}
.mini-window{background:linear-gradient(150deg,#fff,#f5f7f9);border-color:#c6d5e0;box-shadow:0 12px 35px rgba(37,72,101,.12)}
.hangul-tiles span{color:#124779;border-color:#bdcddd;background:linear-gradient(#fff,#e5edf4);box-shadow:0 4px 0 #c9d8e3}
.hangul-tiles span:nth-child(2){background:linear-gradient(#d9e9f6,#bcd4e8)}
.progress-dots i{background:#d5e0e8}
.level-column i{background:linear-gradient(#80a8c8,#bdd3e3);border-color:#7097b7}
.level-column:last-child i{background:linear-gradient(#3676a8,#124779);border-color:#124779;box-shadow:none}
.practice-panel{background:linear-gradient(130deg,#fff,#edf3f7)}
.skill-tabs button[aria-selected=true]{color:#fff}
.skill-panel{background:#fff;box-shadow:0 12px 30px rgba(30,55,76,.06)}
.practice-korean,.practice-tags span{color:#124779}
.writing-lines span{background:#cad9e5}.writing-lines span:nth-child(3){background:#638fb3}
.journey-section{background:linear-gradient(110deg,#edf2f5,var(--paper))!important}
.teacher-monogram{background:#fff;border-color:#bbcfdf}
.tl-dot{background:#d8e6f1;border-color:#6088a8}
.price-card{background:#fff;box-shadow:0 8px 30px rgba(30,55,76,.035)}
.price-card.featured{background:linear-gradient(150deg,#fff,#edf4fa);border-color:#7199bb;box-shadow:0 12px 35px rgba(18,71,121,.08)}
.tier-badge{color:#fff}
.trial-note{background:#eeeee8}
.compare-wrap{background:#fff}table.compare thead th{background:#eaf0f4}table.compare td:first-child{color:var(--ink)}
.philosophy-section{background:#eaf0f3}.philosophy-grid blockquote{color:var(--ink)}
.materials-cta{background:linear-gradient(120deg,#fff,#e8f0f6)}
.resource-sheet{color:#124779;border-color:#b2c8da;box-shadow:0 18px 30px rgba(30,55,76,.13)}
.resource-sheet:nth-child(1){background:#fff}.resource-sheet:nth-child(2){background:#d9e7f2}.resource-sheet:nth-child(3){background:linear-gradient(130deg,#286694,#124779);color:#fff;border-color:#5081aa}
.faq-item summary{color:var(--ink)}
.contact-section{background:radial-gradient(ellipse at 50% 110%,#dce8f1,transparent 65%)}
.contact-card{background:#fff}.contact-card.primary{background:#124779;color:#fff}.contact-card p{opacity:1}
footer{background:#eeeDE7}
.page-glow{background:radial-gradient(ellipse at 50% 0,#dfeaf2,transparent 60%)}
.auth-card{background:#fff}.auth-card input,.lesson-add-form input[type=text]{background:#f7f9fb}.auth-error{color:#b8092d}.nav-avatar{background:#e0ebf4}
.course-thumb{background:radial-gradient(ellipse at top right,#c5dcec,transparent),#e8f0f6;color:#124779}
.player-frame{background:#e7edf2}.lesson-lock-overlay{background:rgba(247,245,240,.96)}
.lesson-item .free-tag{background:#e0edf6}
@media(max-width:900px){.nav-links{background:#fff}.dropdown-menu{background:transparent}}

/* Liquid-glass navigation. */
.nav,.site.is-scrolled .nav{isolation:isolate;background:linear-gradient(115deg,rgba(255,255,255,.68),rgba(255,255,255,.28) 42%,rgba(227,238,248,.36) 72%,rgba(255,255,255,.6));border:1px solid rgba(255,255,255,.85);-webkit-backdrop-filter:blur(22px) saturate(155%);backdrop-filter:blur(22px) saturate(155%);box-shadow:inset 0 1px 0 rgba(255,255,255,.98),inset 0 -1px 0 rgba(114,146,173,.14),inset 1px 0 0 rgba(255,255,255,.8),0 8px 28px rgba(25,59,88,.08),0 1px 3px rgba(25,59,88,.05)}
.nav::before{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;z-index:-1;background:linear-gradient(180deg,rgba(255,255,255,.5),transparent 48%,rgba(255,255,255,.1))}
.site.is-scrolled .nav{box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(114,146,173,.18),0 12px 35px rgba(25,59,88,.13)}
.nav-actions>.btn-primary{background:linear-gradient(145deg,#28658f,#124779);border:1px solid rgba(255,255,255,.48);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 3px 9px rgba(18,71,121,.13)}
.nav-actions>.btn-primary:hover{background:linear-gradient(145deg,#3275a2,#124779)}
.nav-toggle{background:rgba(255,255,255,.38);box-shadow:inset 0 1px 0 #fff}
.dropdown-menu{background:rgba(250,252,254,.96);border-color:rgba(255,255,255,.9);box-shadow:0 12px 32px rgba(25,59,88,.12),inset 0 1px 0 #fff}
@media(max-width:900px){.nav-links{background:rgba(250,252,254,.97);border-color:rgba(255,255,255,.95);box-shadow:0 15px 35px rgba(25,59,88,.12),inset 0 1px 0 #fff}.dropdown-menu{background:transparent;box-shadow:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.nav,.site.is-scrolled .nav{background:rgba(255,255,255,.96)}}
@media(prefers-reduced-transparency:reduce){.nav,.site.is-scrolled .nav,.nav-links,.dropdown-menu{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}}
/* Glass controls throughout the navigation. */
.nav-links{gap:12px}
.nav-links>li>a,.nav-drop-label,.nav-actions>.btn-ghost{
  border:1px solid transparent;border-radius:999px;padding:8px 11px;
  background:rgba(255,255,255,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45);
  transition:background .2s,box-shadow .2s,border-color .2s,color .2s;
}
.nav-links>li>a{display:inline-flex;align-items:center}
.nav-links>li>a:hover,.nav-drop-label:hover,.nav-item.open>.nav-drop-label,.nav-actions>.btn-ghost:hover{
  background:linear-gradient(145deg,rgba(255,255,255,.8),rgba(218,233,245,.38));
  border-color:rgba(255,255,255,.9);color:#124779;
  box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(18,71,121,.08),0 3px 10px rgba(18,71,121,.07);
}
.nav .btn-primary,.nav-links .btn-primary,.nav-links .btn-primary:hover{
  color:#fff;background:linear-gradient(145deg,rgba(51,112,155,.92),rgba(18,71,121,.94));
  border:1px solid rgba(255,255,255,.65);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(4,35,63,.18),0 3px 10px rgba(18,71,121,.17);
}
.nav .btn-primary:hover{background:linear-gradient(145deg,#3d7da9,#124779)}
.nav-toggle{border-color:rgba(255,255,255,.85);background:linear-gradient(145deg,rgba(255,255,255,.8),rgba(219,232,243,.4));box-shadow:inset 0 1px 0 #fff,0 2px 8px rgba(18,71,121,.08)}
.nav-toggle:hover{background:rgba(255,255,255,.9)}
.nav-avatar{background:rgba(255,255,255,.22);color:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.dropdown-menu{
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(233,242,249,.95));
  -webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);
}
.dropdown-menu a{border:1px solid transparent;border-radius:9px;transition:background .2s,box-shadow .2s}
.dropdown-menu a:hover,.dropdown-menu a:focus-visible{background:rgba(255,255,255,.8);border-color:#fff;box-shadow:inset 0 1px 0 #fff,0 2px 7px rgba(18,71,121,.06)}
@media(min-width:901px) and (max-width:1120px){.nav-links{gap:4px}.nav-links>li>a,.nav-drop-label{padding:8px 7px}}
@media(max-width:900px){
  .nav-links{gap:10px;background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(235,243,249,.96))}
  .nav-links>li>a,.nav-drop-label{display:flex;width:100%;padding:11px 13px;border-color:rgba(255,255,255,.75);background:rgba(255,255,255,.4)}
  .nav-links-cta .btn{width:100%;background:rgba(255,255,255,.5);box-shadow:inset 0 1px 0 #fff}
  .nav-links-auth .btn{width:100%}
  .dropdown-menu{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media(prefers-reduced-transparency:reduce){
  .nav-links>li>a,.nav-drop-label,.nav-actions>.btn-ghost,.nav-toggle,.dropdown-menu,.nav-links{background:#fff}
  .nav .btn-primary,.nav-links .btn-primary{background:#124779}
  .dropdown-menu{-webkit-backdrop-filter:none;backdrop-filter:none}
}

/* Student results, sorted by total score. */
.results-section{padding-top:65px;border-bottom:1px solid var(--line);overflow:hidden}
.results-count{font:11px var(--font-mono);color:var(--ink-soft);white-space:nowrap;margin-bottom:8px}
.results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.results-marquee{--results-gap:24px;--results-half-gap:12px;position:relative;width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;padding:10px 0 28px;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 4%,#000 96%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 4%,#000 96%,transparent 100%)}
.results-track{display:flex;gap:var(--results-gap);width:max-content;will-change:transform;animation:results-horizontal-scroll 76s linear infinite}
.results-marquee-group{display:flex;flex:none;gap:var(--results-gap)}
.results-marquee:hover .results-track,.results-marquee:focus-within .results-track{animation-play-state:paused}
@keyframes results-horizontal-scroll{to{transform:translateX(calc(-50% - var(--results-half-gap)))}}
.result-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 25px rgba(18,71,121,.045)}
.results-marquee .result-card{flex:none;width:clamp(290px,25vw,360px)}
.result-image{position:relative;display:block;overflow:hidden;aspect-ratio:1;background:#07578f}
.result-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .25s}
.result-image:hover img{transform:scale(1.025)}
.result-image>span{position:absolute;right:12px;bottom:12px;background:rgba(255,255,255,.95);color:#124779;border-radius:99px;padding:7px 11px;font-size:10px;box-shadow:0 3px 10px #0001}
.result-copy{padding:23px}.result-meta{display:flex;justify-content:space-between;align-items:center;gap:12px}.result-meta>span{font:11px var(--font-mono);background:#e8f0f6;color:#124779;padding:6px 9px;border-radius:6px}.result-meta strong{font-size:29px;line-height:1;color:#124779}.result-meta small{font-size:12px;color:var(--ink-faint);font-weight:400}.result-copy h3{font-size:18px;line-height:1.4;margin:17px 0;overflow-wrap:anywhere}.result-scores{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid var(--line);padding-top:15px;margin:0}.result-scores dt{font-size:11px;color:var(--ink-faint)}.result-scores dd{font-size:17px;margin:4px 0 0;color:var(--ink)}
.results-more{margin-top:28px}.results-more>summary{cursor:pointer;list-style:none;width:fit-content;margin:0 auto;padding:13px 24px;border:1px solid var(--line-strong);border-radius:99px;background:#fff;color:#124779;font-size:13px}.results-more>summary::-webkit-details-marker{display:none}.results-more>summary span{margin-left:15px}.results-more[open]>summary{margin-bottom:28px}.results-more[open]>summary span{display:none}.hero-proof a{text-decoration:underline;text-underline-offset:3px;color:var(--accent)}
@media(max-width:900px){.results-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.results-marquee{--results-gap:20px;--results-half-gap:10px}.results-track{animation-duration:82s}.results-marquee .result-card{width:clamp(285px,42vw,340px)}.results-count{white-space:normal}}
@media(max-width:640px){.results-section{padding-top:45px}.results-grid{grid-template-columns:1fr;gap:23px}.results-marquee{--results-gap:16px;--results-half-gap:8px;padding-bottom:22px}.results-track{animation-duration:92s}.results-marquee .result-card{width:min(84vw,340px)}.result-copy{padding:22px}.result-copy h3{font-size:20px}.results-count{display:block;margin-top:18px}}
@media(prefers-reduced-motion:reduce){.results-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.results-track{animation:none}.results-marquee-group[aria-hidden="true"]{display:none}}
