/* Math with Alex — site styles. Single light theme by design (brand colours from the Math with Alex workbook covers). */
:root{
  /* colours from the current mathwithalex.com theme */
  --paper:#FFFFFF;
  --tint:#F3F3F3;
  --lav:#EBEDFC;
  --lav-2:#DCDEF7;
  --peach:#FFF1E0;
  --grid:#E3E6F8;
  --ink:#131A45;
  --text:#2D3150;
  --muted:#6B6E80;
  --rule:#DCDEEC;
  --field:#C7C7C7;
  --navy:#192A88;
  --navy-deep:#131A45;
  --night:#090E2B;
  --orange:#FF7648;
  --orange-hi:#AA4F30;
  --orange-soft:#FFE0D6;
  --teal:#192A88;
  --teal-soft:#EBEDFC;
  --on-dark:#DCDEF7;
  --on-dark-muted:#8E96C4;
  --f-display:"Newsreader","Noto Serif KR",Georgia,"Times New Roman",serif;
  --f-body:"IBM Plex Sans","IBM Plex Sans KR",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --wrap:1120px;
  --gut:clamp(16px,4vw,32px);
  --r:10px;
  color-scheme:light;
}
:lang(ko){--f-body:"IBM Plex Sans KR","IBM Plex Sans",system-ui,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text)}
.site{font-family:var(--f-body);font-size:17px;line-height:1.65;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.site:lang(ko){font-size:16px;line-height:1.8;word-break:keep-all;overflow-wrap:break-word}
img,svg{max-width:100%}
a{color:var(--navy)}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}

/* ---------- type ---------- */
h1,h2,h3{font-family:var(--f-display);color:var(--ink);font-weight:500;letter-spacing:-.012em;text-wrap:balance;margin:0}
h1{font-size:clamp(2.25rem,5.2vw,3.6rem);line-height:1.06}
h2{font-size:clamp(1.65rem,3.2vw,2.3rem);line-height:1.15}
h3{font-size:1.28rem;line-height:1.3}
:lang(ko) h1,:lang(ko) h2,:lang(ko) h3{font-weight:600;letter-spacing:-.025em}
:lang(ko) h1{font-size:clamp(2rem,4.6vw,3.1rem);line-height:1.3}
:lang(ko) h2{line-height:1.35}
:lang(ko) h3{font-size:1.2rem;line-height:1.45}
h1 em,h2 em{font-style:italic;color:var(--navy)}
:lang(ko) h1 em{font-style:normal;color:var(--navy);box-shadow:inset 0 -.28em 0 var(--orange-soft)}
p{margin:0;max-width:65ch}
.lead{font-size:1.16rem;line-height:1.6;color:var(--text);max-width:36em}
:lang(ko) .lead{font-size:1.08rem;line-height:1.85}
.eyebrow{font-family:var(--f-mono);font-size:12.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-hi)}
:lang(ko) .eyebrow{letter-spacing:.04em}
.fine{font-size:14px;color:var(--muted)}
.mono{font-family:var(--f-mono)}

/* ---------- buttons & links ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:15.5px;font-weight:500;line-height:1.2;padding:13px 20px;border-radius:6px;border:1px solid transparent;text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{background:var(--navy-deep)}
.btn-ghost{background:var(--paper);color:var(--ink);border-color:var(--field)}
.btn-ghost:hover{border-color:var(--navy)}
.btn-accent{background:var(--orange);color:var(--navy-deep);font-weight:600}
.btn-accent:hover{background:#FF8A60}
.btn[disabled]{opacity:.6;cursor:progress}
.more{color:var(--navy);font-weight:500;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}
.more:hover{color:var(--orange-hi);border-color:var(--orange-hi)}
.more .arr{font-family:var(--f-mono);margin-left:4px}
a:focus-visible,.btn:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-radius:4px}

/* ---------- preview strip ---------- */
.pv-strip{background:#FFF4CF;color:#5B4500;font-family:var(--f-mono);font-size:12.5px;text-align:center;padding:7px 16px;border-bottom:1px solid #EFDC9C}

/* ---------- header ---------- */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:rgba(255,255,255,.95);-webkit-backdrop-filter:saturate(1.3) blur(10px);backdrop-filter:saturate(1.3) blur(10px);border-bottom:1px solid var(--rule)}
.hdr .wrap{position:relative;display:flex;align-items:center;gap:20px;min-height:74px}
.brand{display:inline-flex;align-items:center;gap:12px;font-family:"Newsreader",Georgia,serif;font-size:1.3rem;font-weight:500;color:var(--ink);text-decoration:none;letter-spacing:-.015em;white-space:nowrap;line-height:1}
.brand img{display:block;width:96px;height:50px;border-radius:4px;box-shadow:0 0 0 1px var(--rule)}
.ftr .brand img{box-shadow:none}
.nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.nav a{font-size:15px;color:var(--text);text-decoration:none;padding:8px 10px;border-radius:6px;white-space:nowrap}
.nav a:hover{color:var(--ink);background:var(--tint)}
.nav a[aria-current="page"]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--orange);border-radius:0}
.nav .lang{font-family:var(--f-body);font-size:13.5px;border:1px solid var(--rule);border-radius:999px;padding:6px 12px;margin-left:10px}
.nav .btn{margin-left:8px;padding:10px 16px;font-size:14.5px;color:#fff}
.nav .btn:hover{background:var(--navy-deep);color:#fff}
.menu-btn{display:none;margin-left:auto;font:inherit;font-size:14px;font-weight:500;color:var(--ink);background:var(--paper);border:1px solid var(--field);border-radius:6px;padding:8px 12px;cursor:pointer;align-items:center;gap:8px}
.menu-btn .bars{display:inline-grid;gap:3px}
.menu-btn .bars i{display:block;width:14px;height:1.5px;background:currentColor}
/* language switch shown in the header bar on tablet/phone (the desktop one sits inside .nav) */
.lang-m{display:none;font-size:13.5px;font-weight:500;color:var(--ink);text-decoration:none;white-space:nowrap;border:1px solid var(--field);border-radius:999px;padding:7px 12px;line-height:1.2}
.lang-m:hover{background:var(--tint)}
@media (max-width:1100px){
  .hdr .wrap{gap:10px}
  .lang-m{display:inline-flex;align-items:center;margin-left:auto}
  .menu-btn{display:inline-flex;margin-left:0}
  .nav .lang{display:none}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--rule);padding:8px var(--gut) 16px;box-shadow:0 18px 30px -24px rgba(14,26,53,.4)}
  .hdr.open .nav{display:flex}
  .nav a{padding:12px 4px;border-bottom:1px solid var(--tint);border-radius:0;font-size:16px}
  .nav a[aria-current="page"]{box-shadow:inset 3px 0 0 var(--orange);padding-left:12px}
  .nav .lang{margin:12px 0 0;align-self:flex-start;border-bottom:1px solid var(--rule)}
  .nav .btn{margin:12px 0 0;justify-content:center;border-bottom:0}
}
@media (max-width:520px){
  .brand{gap:10px;font-size:1.12rem}
  .brand img{width:72px;height:38px}
  .menu-btn{padding:9px 11px}
  .menu-btn .mb-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}

/* ---------- sections ---------- */
.sec{padding-block:clamp(56px,8vw,96px)}
.sec.tint{background:var(--tint)}
.sec.tight{padding-block:clamp(40px,6vw,64px)}
.sec-head{display:grid;gap:10px;margin-bottom:clamp(28px,4vw,40px);max-width:760px}
.stack{display:grid;gap:18px}

/* ---------- home hero ---------- */
.hero{padding-block:clamp(44px,7vw,92px) clamp(56px,7vw,96px)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:clamp(36px,6vw,80px);align-items:center}
.hero-copy{display:grid;gap:22px;justify-items:start}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.hero-visual{position:relative;justify-self:end;width:100%;max-width:460px}
.hero-photo{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:var(--paper)}
.hero-visual .cover{position:absolute;left:-88px;bottom:-28px;max-width:280px}
.hero-visual .cover-title{font-size:1.65rem;margin:10px 0 4px}
.hero-visual .cover-body{padding:14px 16px 6px}
.hero-visual .cover-cells div{padding:9px 10px}
.hero-visual .cover-cells b{font-size:1rem}
.hero-visual .cover-plot{display:none}
@media (max-width:880px){
  .hero .wrap{grid-template-columns:minmax(0,1fr)}
  .hero-visual{justify-self:center;max-width:420px}
  .hero-visual .cover{position:relative;left:auto;bottom:auto;margin:-64px auto 0;max-width:100%}
}

/* workbook-cover card */
.cover{width:100%;max-width:420px;background:var(--paper);border:1px solid var(--rule);border-radius:3px;box-shadow:0 1px 0 var(--rule),0 30px 60px -32px rgba(14,26,53,.45);overflow:hidden}
.cover-top{display:flex;justify-content:space-between;gap:12px;background:var(--navy);color:#fff;padding:12px 18px;font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.cover-top span:last-child{letter-spacing:.04em;text-transform:none;color:var(--on-dark-muted)}
.cover-body{padding:20px 20px 10px;background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:18px 18px;background-position:-1px -1px}
.badge{display:inline-block;background:var(--orange);color:var(--navy-deep);font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:5px 9px;border-radius:2px}
.badge:lang(ko){letter-spacing:.02em;font-family:var(--f-body);font-size:12px}
.cover-title{font-family:var(--f-display);font-size:2.15rem;line-height:1.05;color:var(--ink);font-weight:500;margin:14px 0 6px;letter-spacing:-.015em}
.cover-title:lang(ko){font-weight:600;letter-spacing:-.03em}
.cover-sub{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.cover-plot{display:block;width:100%;height:auto;margin-top:8px}
.cover-cells{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule)}
.cover-cells div{padding:12px 14px;border-left:1px solid var(--rule);display:grid;gap:2px}
.cover-cells div:first-child{border-left:0}
.cover-cells small{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cover-cells small:lang(ko){letter-spacing:0;font-family:var(--f-body);font-size:11.5px}
.cover-cells b{font-family:var(--f-display);font-weight:500;font-size:1.12rem;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.cover-cells b:lang(ko){font-weight:600;font-size:1.02rem}
.cover-foot{display:flex;justify-content:space-between;gap:12px;background:var(--tint);border-top:1px solid var(--rule);padding:9px 18px;font-family:var(--f-mono);font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.cover-foot:lang(ko){font-family:var(--f-body);letter-spacing:0;font-size:12px}

/* ---------- stats strip ---------- */
.stats{background:var(--lav);border-block:1px solid var(--lav-2)}
.stats .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.stat{padding:22px 20px;border-left:1px solid var(--lav-2);display:grid;gap:2px;align-content:start}
.stat:first-child{border-left:0;padding-left:0}
.stat b{font-family:var(--f-display);font-weight:500;font-size:2.05rem;line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums}
.stat span{font-size:14.5px;color:var(--muted);line-height:1.45}
@media (max-width:760px){
  .stats .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat{padding:18px 14px}
  .stat:nth-child(odd){border-left:0;padding-left:0}
  .stat:nth-child(n+3){border-top:1px solid var(--lav-2)}
}

/* ---------- services ---------- */
.svc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.svc-card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r);padding:clamp(22px,3vw,32px);display:flex;flex-direction:column;gap:12px}
.svc-card .tag{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-hi)}
.svc-card .tag:lang(ko){letter-spacing:.02em;font-family:var(--f-body);font-size:13px;font-weight:600}
.svc-card h3{font-size:1.55rem;line-height:1.2}
:lang(ko) .svc-card h3{font-size:1.35rem;line-height:1.45}
.svc-card .meta{margin-top:auto;padding-top:16px;border-top:1px dashed var(--rule);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 16px;align-items:baseline}
.svc-card .meta span{font-family:var(--f-mono);font-size:13.5px;color:var(--navy);font-variant-numeric:tabular-nums}
.minor-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin-top:28px}
.minor{display:grid;gap:6px;padding:18px 0;border-top:1px solid var(--rule)}
.minor h3{font-size:1.1rem}
.minor p{font-size:15.5px;color:var(--muted)}
.minor .more{justify-self:start;font-size:15px}
@media (max-width:760px){.svc,.minor-row{grid-template-columns:minmax(0,1fr)}}

/* ---------- included ---------- */
.incl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 36px}
.incl-item{border-top:2px solid var(--ink);padding-top:14px;display:grid;gap:8px;align-content:start}
.incl-item .lbl{font-family:var(--f-mono);font-size:11.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
.incl-item .lbl:lang(ko){font-family:var(--f-body);letter-spacing:0;font-size:12.5px;font-weight:600}
.incl-item h3{font-size:1.18rem}
.incl-item p{font-size:15.5px;line-height:1.6}
:lang(ko) .incl-item p{font-size:15px;line-height:1.75}
@media (max-width:880px){.incl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.incl{grid-template-columns:minmax(0,1fr)}}

/* ---------- quote ---------- */
.quote{display:grid;gap:18px;max-width:860px}
.quote blockquote{margin:0;font-family:var(--f-display);font-style:italic;font-size:clamp(1.4rem,2.7vw,1.95rem);line-height:1.38;color:var(--ink)}
.quote blockquote::before{content:"“";display:block;font-size:3.2rem;line-height:.6;color:var(--orange);font-style:normal;margin-bottom:10px}
.quote .tr{font-size:1.02rem;color:var(--text);max-width:48em}
.quote cite{font-style:normal;font-family:var(--f-mono);font-size:12.5px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.quote cite:lang(ko){font-family:var(--f-body);letter-spacing:0;font-size:14px;text-transform:none}

/* ---------- CTA band ---------- */
.band{background:var(--navy);color:var(--on-dark)}
.band .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 48px;align-items:center;padding-block:clamp(44px,6vw,72px)}
.band h2{color:#fff}
.band p{color:var(--on-dark);margin-top:10px}
@media (max-width:760px){.band .wrap{grid-template-columns:minmax(0,1fr)}.band .btn{justify-self:start}}

/* ---------- inner page header ---------- */
.phead{position:relative;border-bottom:1px solid var(--rule);padding-block:clamp(48px,7vw,88px) clamp(32px,4.5vw,52px);background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px;background-position:-1px -1px}
.phead::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0%,rgba(255,255,255,.94) 45%,rgba(255,255,255,.55) 100%);pointer-events:none}
.phead .wrap{position:relative;z-index:1;display:grid;gap:18px;justify-items:start}
.phead h1{max-width:18em}

/* ---------- two-column content ---------- */
.split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,2.1fr);gap:clamp(20px,5vw,64px);align-items:start}
.split > .sec-head{margin-bottom:0}
@media (max-width:860px){.split{grid-template-columns:minmax(0,1fr)}}

.chips{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}
.chips li{border:1px solid var(--field);background:var(--paper);border-radius:999px;padding:7px 14px;font-size:15px;color:var(--ink)}

/* definition rows */
.rows{margin:0;border-top:1px solid var(--rule)}
.row{display:grid;grid-template-columns:170px minmax(0,1fr);gap:24px;padding:16px 0;border-bottom:1px solid var(--rule)}
.row dt{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:4px}
.row dt:lang(ko){font-family:var(--f-body);letter-spacing:0;font-size:14px;font-weight:600;color:var(--ink);padding-top:0}
.row dd{margin:0}
@media (max-width:620px){.row{grid-template-columns:minmax(0,1fr);gap:4px}}

/* tables */
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl{width:100%;border-collapse:collapse;font-size:16px}
.tbl th{text-align:left;font-family:var(--f-mono);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:0 0 10px;border-bottom:2px solid var(--ink)}
.tbl th:lang(ko){font-family:var(--f-body);letter-spacing:0;font-size:13.5px}
.tbl td{padding:15px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.tbl td + td,.tbl th + th{padding-left:24px}
.tbl .amt{text-align:right;font-family:var(--f-mono);font-size:16px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.tbl th.amt{font-size:12px}
.tbl tr.key td{font-weight:500;color:var(--ink)}
.tbl tr.key .amt{font-size:18px;font-weight:500}
.notes{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.notes li{position:relative;padding-left:22px;font-size:15.5px}
.notes li::before{content:"";position:absolute;left:2px;top:.72em;width:8px;height:8px;border:1.5px solid var(--teal);border-radius:50%}

.pill{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;line-height:1;padding:6px 10px;border-radius:999px;white-space:nowrap}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.pill.free{background:var(--teal-soft);color:var(--teal)}
.pill.full{background:var(--orange-soft);color:var(--orange-hi)}
.policy td:last-child{width:1%;white-space:nowrap}
.policy .out{display:grid;gap:6px;justify-items:start}
.policy .out span:last-child{font-size:14.5px;color:var(--text)}
@media (max-width:560px){.policy td:last-child{white-space:normal;width:auto}}
.callout{max-width:none;margin-top:20px;padding:14px 18px;border-left:3px solid var(--teal);background:var(--teal-soft);color:var(--ink);font-size:15.5px;border-radius:0 6px 6px 0}

/* numbered steps (a real sequence) */
.steps{list-style:none;margin:0;padding:0;counter-reset:step;border-top:1px solid var(--rule)}
.steps li{counter-increment:step;display:grid;grid-template-columns:64px minmax(0,1fr);gap:4px 16px;padding:18px 0;border-bottom:1px solid var(--rule)}
.steps li::before{content:counter(step,decimal-leading-zero);grid-row:span 2;font-family:var(--f-mono);font-size:14px;color:var(--orange-hi);padding-top:3px}
.steps b{font-weight:600;color:var(--ink)}
.steps span{color:var(--text);font-size:15.5px}

/* admissions plans */
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.plan{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r);display:flex;flex-direction:column;overflow:hidden}
.plan-head{padding:24px 26px 20px;border-bottom:1px solid var(--rule);display:grid;gap:6px}
.plan-head .kind{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.plan-head .kind:lang(ko){font-family:var(--f-body);letter-spacing:0;font-size:13px}
.plan-head h3{font-size:1.6rem}
.plan-price{display:flex;align-items:baseline;gap:10px;margin-top:8px;font-family:var(--f-mono);font-size:14px;color:var(--muted)}
.plan-price b{font-family:var(--f-display);font-size:1.45rem;font-weight:500;color:var(--ink)}
.plan-price b:lang(ko){font-weight:600;font-size:1.25rem}
.tbc{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:14px;color:var(--orange-hi);border:1.5px dashed var(--orange);border-radius:6px;padding:4px 10px;background:var(--orange-soft)}
.plan-body{padding:20px 26px 26px;display:flex;flex-direction:column;gap:16px;flex:1}
.plan-body ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.plan-body li{position:relative;padding-left:24px;font-size:15.5px}
.plan-body li::before{content:"";position:absolute;left:0;top:.55em;width:12px;height:7px;border-left:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:rotate(-45deg)}
.plan-body .btn{margin-top:auto;align-self:flex-start}
.plan.feature{border-color:var(--navy);box-shadow:0 24px 48px -32px rgba(14,26,53,.5)}
.plan.feature .plan-head{background:var(--navy);border-color:var(--navy)}
.plan.feature .plan-head h3{color:#fff}
.plan.feature .plan-head .kind{color:var(--on-dark-muted)}
.plan.feature .plan-price{color:var(--on-dark-muted)}
.plan.feature .plan-price b{color:#fff}
@media (max-width:820px){.plans{grid-template-columns:minmax(0,1fr)}}

.work{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.work li{padding:14px 0 14px 30px;border-top:1px solid var(--rule);position:relative;font-size:16px}
.work li::before{content:"→";position:absolute;left:2px;top:14px;font-family:var(--f-mono);color:var(--orange-hi)}
@media (max-width:720px){.work{grid-template-columns:minmax(0,1fr)}}

.bg-list{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.bg-list div{border-top:2px solid var(--ink);padding-top:12px;display:grid;gap:4px}
.bg-list dt{font-family:var(--f-display);font-size:1.2rem;color:var(--ink);font-weight:500}
.bg-list dt:lang(ko){font-weight:600;font-size:1.1rem}
.bg-list dd{margin:0;font-size:15.5px}
@media (max-width:760px){.bg-list{grid-template-columns:minmax(0,1fr)}}

/* courses */
.course{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);border:1px solid var(--rule);border-radius:var(--r);overflow:hidden;background:var(--paper)}
.course-main{padding:clamp(22px,3.4vw,36px);display:grid;gap:14px;align-content:start}
.course-main .status{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:12.5px;color:var(--teal)}
.course-main .status:lang(ko){font-family:var(--f-body);font-size:13.5px;font-weight:500}
.course-main .status::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px var(--teal-soft)}
.course-main h2{font-size:clamp(1.5rem,2.6vw,2rem)}
.course-main ul{margin:4px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}
.course-main li{position:relative;padding-left:22px;font-size:15.5px}
.course-main li::before{content:"";position:absolute;left:0;top:.55em;width:11px;height:6px;border-left:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:rotate(-45deg)}
.course-side{background:var(--tint);border-left:1px solid var(--rule);padding:clamp(22px,3.4vw,36px);display:grid;gap:14px;align-content:start}
.course-side dl{margin:0;display:grid;gap:0}
.course-side dl div{display:grid;gap:2px;padding:12px 0;border-bottom:1px solid var(--rule)}
.course-side dt{font-size:14px;color:var(--muted)}
.course-side dd{margin:0;font-family:var(--f-mono);font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums}
@media (max-width:820px){.course{grid-template-columns:minmax(0,1fr)}.course-side{border-left:0;border-top:1px solid var(--rule)}}
@media (max-width:520px){.course-main ul{grid-template-columns:minmax(0,1fr)}}
.next-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.next-list li{border:1px dashed var(--field);border-radius:8px;padding:14px 16px;font-size:15px;color:var(--ink);background:var(--paper)}
@media (max-width:820px){.next-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.yt{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;padding:24px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.yt div{display:grid;gap:4px}

/* about */
.about{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.about .stack p{font-size:1.06rem}
.portrait-img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:3px;background:var(--paper);border-bottom:4px solid var(--orange)}
.portrait{aspect-ratio:4/5;max-width:100%;border:1px solid var(--rule);border-radius:3px;background-color:var(--tint);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:20px 20px;display:grid;place-items:center;position:relative;overflow:hidden}
.portrait .mono-mark{font-family:var(--f-display);font-size:5.5rem;color:var(--navy);font-style:italic;letter-spacing:-.04em}
.portrait .ph-note{position:absolute;bottom:12px;left:12px;font-family:var(--f-mono);font-size:11.5px;color:var(--orange-hi);background:var(--orange-soft);border:1px dashed var(--orange);padding:3px 8px;border-radius:4px}
.creds{margin:0;display:grid;gap:0;border-top:2px solid var(--ink)}
.creds div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--rule)}
.creds dt{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.creds dt:lang(ko){font-family:var(--f-body);letter-spacing:0;font-size:14px;font-weight:600;color:var(--ink);padding-top:0}
.creds dd{margin:0;display:grid;gap:2px}
@media (max-width:860px){.about{grid-template-columns:minmax(0,1fr)}.portrait{max-width:320px}}
@media (max-width:520px){.creds div{grid-template-columns:minmax(0,1fr);gap:2px}}

/* FAQ (always open: every answer is readable at rest) */
.faq-group + .faq-group{margin-top:56px}
.faq-group > h2{font-size:1.5rem;margin-bottom:8px}
.qa{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8px 40px;padding:22px 0;border-top:1px solid var(--rule)}
.qa h3{font-family:var(--f-body);font-size:1.05rem;font-weight:600;line-height:1.45;letter-spacing:0;color:var(--ink)}
.qa p{font-size:16px}
@media (max-width:760px){.qa{grid-template-columns:minmax(0,1fr)}}

/* contact */
.contact{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
@media (max-width:900px){.contact{grid-template-columns:minmax(0,1fr)}}
.aside{position:sticky;top:calc(env(safe-area-inset-top,0px) + 92px);display:grid;gap:22px;background:var(--tint);border:1px solid var(--rule);border-radius:var(--r);padding:24px}
@media (max-width:900px){.aside{position:static}}
.aside ol{margin:0;padding:0;list-style:none;counter-reset:n;display:grid;gap:12px}
.aside ol li{counter-increment:n;display:grid;grid-template-columns:28px minmax(0,1fr);font-size:15px}
.aside ol li::before{content:counter(n);font-family:var(--f-mono);color:var(--orange-hi);font-size:13px;padding-top:2px}
.email-box{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding-top:18px;border-top:1px solid var(--rule)}
.email-box code{font-family:var(--f-mono);font-size:14.5px;color:var(--ink);user-select:all;overflow-wrap:anywhere}
.copy-btn{font:inherit;font-size:13px;font-weight:500;color:var(--navy);background:var(--paper);border:1px solid var(--field);border-radius:6px;padding:5px 10px;cursor:pointer}
.copy-btn:hover{border-color:var(--navy)}

.enq fieldset{border:0;margin:0 0 30px;padding:0;display:grid;gap:16px;min-width:0}
.enq legend{font-family:var(--f-mono);font-size:12.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:0 0 12px;margin:0;width:100%;border-bottom:1px solid var(--rule)}
.enq legend:lang(ko){font-family:var(--f-body);letter-spacing:0;font-size:14px;font-weight:600;color:var(--ink)}
.f2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:620px){.f2{grid-template-columns:minmax(0,1fr)}}
.fld{display:grid;gap:6px;font-size:14.5px;font-weight:500;color:var(--ink)}
.fld .req{font-family:var(--f-mono);font-size:11px;color:var(--orange-hi);font-weight:500;margin-left:6px;letter-spacing:.04em}
.enq input[type=text],.enq input[type=email],.enq input[type=tel],.enq select,.enq textarea{font:inherit;font-size:16px;font-weight:400;color:var(--ink);background:var(--paper);border:1px solid var(--field);border-radius:6px;padding:11px 12px;width:100%;min-width:0}
.enq textarea{min-height:120px;resize:vertical}
.enq input:focus,.enq select:focus,.enq textarea:focus{outline:2px solid var(--navy);outline-offset:0;border-color:var(--navy)}
.enq ::placeholder{color:#8A94A8}
.types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (max-width:620px){.types{grid-template-columns:minmax(0,1fr)}}
.type{display:grid;grid-template-columns:20px minmax(0,1fr);gap:2px 10px;align-items:start;align-content:start;padding:13px 14px;border:1px solid var(--field);border-radius:8px;background:var(--paper);cursor:pointer;font-weight:500;color:var(--ink);font-size:15.5px}
.type input{margin:4px 0 0;accent-color:var(--navy)}
.type small{grid-column:2;font-size:13.5px;font-weight:400;color:var(--muted)}
.type:has(input:checked){border-color:var(--navy);background:var(--tint);box-shadow:inset 0 0 0 1px var(--navy)}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.check{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--field);border-radius:999px;padding:7px 14px;font-size:15px;font-weight:400;color:var(--ink);cursor:pointer;background:var(--paper)}
.check input{margin:0;accent-color:var(--navy)}
.check:has(input:checked){border-color:var(--navy);background:var(--tint)}
.consent{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;font-size:14.5px;font-weight:400;color:var(--text);align-items:start}
.consent input{margin:4px 0 0;accent-color:var(--navy)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sent{border:1px solid var(--teal);background:var(--teal-soft);border-radius:var(--r);padding:22px 24px;display:grid;gap:6px}
.sent h3{font-family:var(--f-body);font-size:1.1rem;font-weight:600;letter-spacing:0}
.sent.pv{border-color:#E3C766;background:#FFF6D8}
.form-err{color:var(--orange-hi);font-size:15px;margin-top:12px}

/* ---------- footer ---------- */
.ftr{background:var(--night);color:var(--on-dark-muted);font-size:15px}
.ftr .wrap{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:32px;padding-block:56px 28px}
.ftr .brand{color:#fff;font-size:1.5rem}
.ftr p{margin-top:12px;max-width:30em;line-height:1.6}
.ftr h4{margin:0 0 12px;font-family:var(--f-mono);font-size:11.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-muted)}
.ftr h4:lang(ko){font-family:var(--f-body);letter-spacing:0;font-size:13px}
.ftr ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.ftr a{color:#fff;text-decoration:none}
.ftr a:hover{text-decoration:underline;text-underline-offset:3px}
.ftr .ext{font-family:var(--f-mono);font-size:12px;margin-left:4px;color:var(--on-dark-muted)}
.ftr .email-box{border-top:0;padding-top:14px}
.ftr .email-box code{color:#fff}
.ftr .copy-btn{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.legal{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;border-top:1px solid rgba(255,255,255,.14);padding-top:20px;font-size:13px}
@media (max-width:860px){.ftr .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.ftr .fbrand{grid-column:1/-1}}
@media (max-width:480px){.ftr .wrap{grid-template-columns:minmax(0,1fr)}}


/* evaluation period: three phases on a timeline */
.phases{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink)}
.phases li{position:relative;display:grid;gap:8px;align-content:start;padding:26px 28px 6px 0}
.phases li::before{content:"";position:absolute;top:-8px;left:0;width:14px;height:14px;border-radius:50%;background:var(--tint);border:2px solid var(--orange)}
.phases li:last-child::before{background:var(--orange)}
.phases .when{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-hi)}
.phases .when:lang(ko){font-family:var(--f-body);letter-spacing:0;font-size:13px;font-weight:600}
.phases h3{font-size:1.35rem}
.phases p{font-size:15.5px}
:lang(ko) .phases p{font-size:15px;line-height:1.8}
@media (max-width:820px){
  .phases{grid-template-columns:minmax(0,1fr);border-top:0;border-left:2px solid var(--ink);margin-left:6px}
  .phases li{padding:0 0 26px 26px}
  .phases li::before{top:2px;left:-8px}
}

/* universities by country (expandable) */
.unis{border-top:2px solid var(--ink)}
.uni{border-bottom:1px solid var(--rule)}
.uni summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto 22px;gap:16px;align-items:baseline;padding:15px 2px;cursor:pointer}
.uni summary::-webkit-details-marker{display:none}
.uni summary:hover .c{color:var(--navy)}
.uni .c{font-family:var(--f-display);font-size:1.22rem;font-weight:500;color:var(--ink)}
.uni .c:lang(ko){font-weight:600;font-size:1.1rem}
.uni .n{font-family:var(--f-mono);font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.uni .n:lang(ko){font-family:var(--f-body)}
.uni summary::after{content:"+";font-family:var(--f-mono);font-size:20px;line-height:1;color:var(--orange-hi);text-align:right}
.uni[open] summary::after{content:"−"}
.uni ul{margin:0;padding:0 0 20px;list-style:none;columns:2 240px;column-gap:32px}
.uni li{break-inside:avoid;padding:5px 0;font-size:15.5px;color:var(--text)}

.stat-link{align-content:center}
.prose{max-width:720px}
.consent a{color:var(--navy)}


/* testimonials: letters wall + lightbox */
.letters{columns:3 280px;column-gap:20px}
.letter{break-inside:avoid;margin:0 0 20px;display:block;width:100%;padding:0;border:0;background:var(--paper);cursor:zoom-in;text-align:left;border-radius:6px;overflow:hidden;box-shadow:0 1px 0 var(--rule),0 12px 28px -18px rgba(19,26,69,.45);transition:transform .15s}
.letter:hover{transform:translateY(-2px)}
.letter img{display:block;width:100%;height:auto}
.letter .who{display:flex;justify-content:space-between;gap:8px;padding:9px 12px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--rule)}
.letter .who:lang(ko){font-family:var(--f-body);letter-spacing:0;font-size:12.5px}
.video{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:center}
.video-frame{position:relative;border-radius:8px;overflow:hidden;background:var(--night);aspect-ratio:16/9}
.video-frame video,.video-frame img{display:block;width:100%;height:100%;object-fit:cover}
.video-note{position:absolute;left:12px;bottom:12px;background:rgba(9,14,43,.82);color:#fff;font-family:var(--f-mono);font-size:12px;padding:6px 10px;border-radius:4px}
.video-note:lang(ko){font-family:var(--f-body)}
@media (max-width:820px){.video{grid-template-columns:minmax(0,1fr)}}
.lb{border:0;padding:0;background:transparent;max-width:min(96vw,1100px);max-height:94vh;width:auto}
.lb::backdrop{background:rgba(9,14,43,.86)}
.lb-inner{position:relative;display:grid;gap:10px;justify-items:center}
.lb img{display:block;max-width:min(96vw,1100px);max-height:82vh;width:auto;height:auto;border-radius:4px;background:#fff}
.lb-bar{display:flex;gap:8px;align-items:center}
.lb-bar button{font:inherit;font-size:14px;font-weight:500;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:8px 14px;cursor:pointer}
.lb-bar button:hover{background:rgba(255,255,255,.22)}
.lb-bar span{color:var(--on-dark);font-family:var(--f-mono);font-size:13px;min-width:64px;text-align:center}
.letters-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start;margin-top:32px}
.letters-strip a{display:block;border-radius:6px;overflow:hidden;box-shadow:0 1px 0 var(--rule),0 10px 24px -18px rgba(19,26,69,.5);background:var(--paper)}
.letters-strip img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:top center}
@media (max-width:760px){.letters-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
.quote-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px 32px}


/* admissions services */
.plans.four{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:820px){.plans.four{grid-template-columns:minmax(0,1fr)}}
.plan-price b.tbd{font-family:var(--f-body);font-size:1rem;font-weight:500;color:var(--ink)}
.plan.feature .plan-price b.tbd{color:#fff}
.tracks{display:grid;gap:8px}
.tracks > span{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tracks > span:lang(ko){font-family:var(--f-body);letter-spacing:0;font-size:13px;font-weight:600}
.plan-body .tracks ul.chips{display:flex;flex-wrap:wrap;gap:6px}
.plan-body .tracks .chips li{font-size:13.5px;padding:5px 11px}
.plan-body .tracks .chips li::before{display:none}
.work.one{grid-template-columns:minmax(0,1fr)}
.country-row{display:grid;gap:10px;margin-top:10px}
.bg-list.four{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 24px}
@media (max-width:980px){.bg-list.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.bg-list.four{grid-template-columns:minmax(0,1fr)}}


/* testimonials: text messages */
.msgs{columns:2 380px;column-gap:20px}
.msg{break-inside:avoid;margin:0 0 20px;padding:24px 24px 20px;background:var(--paper);border:1px solid var(--rule);border-top:3px solid var(--navy);border-radius:6px;display:grid;gap:12px}
.msg blockquote{margin:0;display:grid;gap:10px;font-size:15.5px;line-height:1.7;color:var(--ink)}
.msg blockquote:lang(ko){font-family:"IBM Plex Sans KR",var(--f-body);word-break:keep-all}
.msg blockquote::before{content:"\201C";font-family:var(--f-display);font-size:2.6rem;line-height:.5;color:var(--orange);display:block;height:14px}
.msg figcaption{font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:10px;border-top:1px solid var(--rule)}
.msg figcaption:lang(ko){font-family:var(--f-body);letter-spacing:0;font-size:13px;text-transform:none}
.msg .tr summary{cursor:pointer;font-size:13.5px;font-weight:500;color:var(--navy);list-style:none}
.msg .tr summary::-webkit-details-marker{display:none}
.msg .tr summary::before{content:"+ ";font-family:var(--f-mono);color:var(--orange-hi)}
.msg .tr[open] summary::before{content:"− "}
.msg .tr p{font-size:14.5px;color:var(--text);margin-top:8px}


/* experience strip: figures that open their lists in place */
button.stat{font:inherit;color:inherit;text-align:left;background:transparent;border:0;border-left:1px solid var(--lav-2);margin:0;cursor:pointer;width:100%;transition:background-color .15s}
button.stat:hover{background:rgba(25,42,136,.06)}
button.stat[aria-expanded="true"]{background:var(--paper);box-shadow:inset 0 -3px 0 var(--navy)}
.stat .cue{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-family:var(--f-mono);font-size:12px;letter-spacing:.04em;color:var(--navy)}
.stat .cue:lang(ko){font-family:var(--f-body);font-size:13px;font-weight:500;letter-spacing:0}
.stat .cue::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .15s}
button.stat[aria-expanded="true"] .cue::after{transform:rotate(-135deg) translateY(-1px)}
.stat-panel{grid-column:1/-1;background:var(--paper);border:1px solid var(--lav-2);border-radius:8px;padding:22px 24px;margin:0 0 24px}
.stats.three .wrap{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.stats.three .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}}
.grp-lists{display:grid;gap:22px}
.grp-lists .grp h3{font-family:var(--f-body);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--orange-hi);margin-bottom:8px}
.grp-lists .grp h3:lang(ko){letter-spacing:0;font-size:14px}
.grp-lists ul{margin:0;padding:0;list-style:none;columns:3 220px;column-gap:28px}
.grp-lists li{break-inside:avoid;padding:4px 0;font-size:15px;color:var(--ink);border-bottom:1px dashed var(--lav-2)}
.grp-lists.open ul{columns:2 240px}


.stat .cue.down::after{transform:rotate(45deg) translateY(-2px)}
.ftr .facts{grid-column:1/-1;margin:0;max-width:none;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);font-family:var(--f-mono);font-size:12.5px;letter-spacing:.04em;color:var(--on-dark)}
.ftr .facts:lang(ko){font-family:var(--f-body);letter-spacing:0;font-size:13.5px}
.ftr .facts + .legal{border-top:0;padding-top:4px}


/* free preview lessons (link out to Teachable) */
.lessons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:720px){.lessons{grid-template-columns:minmax(0,1fr)}}
.lesson{display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit;background:var(--paper);transition:box-shadow .15s,transform .15s}
.lesson:hover{box-shadow:0 18px 36px -24px rgba(19,26,69,.5);transform:translateY(-2px)}
.lesson-thumb{position:relative;display:block;aspect-ratio:16/9;background:#0c1a50}
.lesson-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.lesson-thumb::after{content:"";position:absolute;inset:0;background:rgba(9,14,43,.35);opacity:0;transition:opacity .15s}
.play{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:var(--orange);box-shadow:0 8px 22px -8px rgba(0,0,0,.6);opacity:0;transform:scale(.9);transition:opacity .15s,transform .15s;z-index:1}
.play::after{content:"";position:absolute;left:25px;top:19px;border-left:19px solid var(--navy-deep);border-top:13px solid transparent;border-bottom:13px solid transparent}
.lesson:hover .lesson-thumb::after,.lesson:focus-visible .lesson-thumb::after{opacity:1}
.lesson:hover .play,.lesson:focus-visible .play{opacity:1;transform:none}
.lesson-cue::before{content:"";display:inline-block;margin-right:7px;vertical-align:1px;border-left:8px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent}
.lesson-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.lesson-badge{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-deep);background:var(--orange);padding:3px 7px;border-radius:2px}
.lesson-badge:lang(ko){font-family:var(--f-body);letter-spacing:0;font-size:11.5px;font-weight:600}
.lesson-body{display:grid;gap:6px;align-content:center;padding:18px 20px}
.lesson-topic{font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.lesson-topic:lang(ko){font-family:var(--f-body);letter-spacing:0;font-size:13px}
.lesson-title{font-family:var(--f-display);font-size:1.25rem;color:var(--ink);line-height:1.3}
.lesson-cue{font-size:14.5px;font-weight:500;color:var(--navy)}
.lesson-cue .arr{margin-left:4px;font-family:var(--f-mono)}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.unis-sec{scroll-margin-top:84px}
