/* =========================================================
   2026년도 2회 한중 교육 국제교류 컨퍼런스 (온라인 ZOOM)
   주최 · 한국대학유학생실무자협의회 (유실협)
   ========================================================= */

:root{
  /* Palette — 深藍(ink) + 韓中 紅(red) + 金(gold) */
  --ink:#0A1428;
  --ink-2:#101F3A;
  --ink-3:#17294A;

  --red:#D0202B;
  --red-1:#F04A52;
  --red-2:#9C0F19;

  --gold:#C9A227;
  --gold-1:#EBCB78;
  --gold-2:#8A6D12;

  --blue:#12508F;

  --bg:#FBFAF7;
  --bg-2:#F3F1EB;
  --surface:#FFFFFF;

  --text:#111726;
  --text-2:#414B60;
  --muted:#6C7689;
  --line:#E4E0D7;

  --radius:18px;
  --radius-lg:26px;
  --shadow-sm:0 1px 2px rgba(10,20,40,.05), 0 4px 12px rgba(10,20,40,.05);
  --shadow-md:0 2px 6px rgba(10,20,40,.06), 0 18px 40px -12px rgba(10,20,40,.14);
  --shadow-lg:0 30px 70px -20px rgba(10,20,40,.30);

  --container:1140px;
  --nav-h:70px;

  --ease:cubic-bezier(.22,.61,.36,1);

  font-family:'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont,
              system-ui, 'Malgun Gothic', 'Apple SD Gothic Neo', sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth; scroll-padding-top:calc(var(--nav-h) + 16px); -webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-size:16px; line-height:1.65; letter-spacing:-.011em;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
  word-break:keep-all; overflow-wrap:anywhere;
}
img,svg{max-width:100%}
a{color:inherit; text-decoration:none}
button{font:inherit; color:inherit; border:0; background:none; cursor:pointer}
ul,ol{margin:0; padding:0; list-style:none}
h1,h2,h3{margin:0; line-height:1.25; letter-spacing:-.035em; font-weight:800}
p{margin:0}
::selection{background:var(--red); color:#fff}

.container{width:100%; max-width:var(--container); margin-inline:auto; padding-inline:24px}

/* SVG stroke icons */
svg.i, .card__ico svg, .cway__ico svg{
  fill:none; stroke:currentColor; stroke-width:1.8;
  stroke-linecap:round; stroke-linejoin:round;
}
svg.fill, .cway__ico svg.fill{fill:currentColor; stroke:none}
svg.i{width:1.05em; height:1.05em; flex:none}

.grad{
  background:linear-gradient(100deg,var(--gold-1) 0%, var(--red-1) 55%, var(--gold-1) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* ============ 스크롤 리빌 ============ */
.reveal{opacity:0; transform:translateY(22px); transition:opacity .8s var(--ease), transform .8s var(--ease)}
.reveal.in{opacity:1; transform:none}
.reveal[data-delay="1"]{transition-delay:.08s}
.reveal[data-delay="2"]{transition-delay:.16s}
.reveal[data-delay="3"]{transition-delay:.24s}
.reveal[data-delay="4"]{transition-delay:.32s}
.reveal[data-delay="5"]{transition-delay:.40s}
.reveal[data-delay="6"]{transition-delay:.48s}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1; transform:none; transition:none}
  *{animation:none !important}
}

/* ============ 버튼 ============ */
.btn{
  --btn-bg:transparent; --btn-fg:var(--text); --btn-bd:transparent;
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  padding:.78em 1.35em; border-radius:999px;
  background:var(--btn-bg); color:var(--btn-fg); border:1px solid var(--btn-bd);
  font-weight:700; font-size:.95rem; letter-spacing:-.02em; white-space:nowrap;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease),
             background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease);
}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn:focus-visible{outline:2px solid var(--gold-1); outline-offset:3px}
.btn--sm{padding:.6em 1.05em; font-size:.86rem}
.btn--lg{padding:1em 1.9em; font-size:1.03rem}

.btn--primary{
  --btn-fg:#fff;
  background:linear-gradient(135deg,var(--red-1),var(--red) 55%,var(--red-2));
  box-shadow:0 10px 26px -8px rgba(208,32,43,.6), inset 0 1px 0 rgba(255,255,255,.22);
}
.btn--primary:hover{box-shadow:0 16px 34px -8px rgba(208,32,43,.7), inset 0 1px 0 rgba(255,255,255,.3)}

.btn--ghost{--btn-fg:var(--text); --btn-bd:var(--line); background:rgba(255,255,255,.7); backdrop-filter:blur(8px)}
.btn--ghost:hover{--btn-bd:var(--text); background:#fff}

.btn--dark{--btn-fg:#fff; background:var(--ink); box-shadow:var(--shadow-sm)}
.btn--dark:hover{background:var(--ink-3)}

.hero .btn--ghost, .section--dark .btn--ghost{
  --btn-fg:#F2EEE4; --btn-bd:rgba(240,235,220,.28); background:rgba(255,255,255,.05);
}
.hero .btn--ghost:hover, .section--dark .btn--ghost:hover{--btn-bd:rgba(240,235,220,.6); background:rgba(255,255,255,.1)}

/* ============ 네비게이션 ============ */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:100; height:var(--nav-h);
  transition:background .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
  border-bottom:1px solid transparent;
}
.nav__inner{
  max-width:var(--container); height:var(--nav-h); margin-inline:auto; padding-inline:24px;
  display:flex; align-items:center; gap:24px;
}
.nav.is-stuck{
  background:rgba(251,250,247,.82); backdrop-filter:saturate(180%) blur(16px);
  border-bottom-color:var(--line); box-shadow:0 4px 24px -16px rgba(10,20,40,.5);
}

.brand{display:flex; align-items:center; gap:11px; margin-right:auto; min-width:0}
.brand__mark{
  width:30px; height:30px; border-radius:50%; flex:none; position:relative; overflow:hidden;
  background:conic-gradient(from 220deg, var(--red) 0 40%, var(--gold) 40% 72%, var(--ink-3) 72% 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.25), 0 3px 10px -3px rgba(208,32,43,.55);
}
.brand__mark::after{
  content:""; position:absolute; inset:7px; border-radius:50%;
  background:rgba(251,250,247,.92);
}
.nav.is-stuck .brand__mark::after{background:var(--bg)}
.brand__text{display:flex; flex-direction:column; line-height:1.25; min-width:0}
.brand__text strong{font-size:.94rem; font-weight:800; letter-spacing:-.03em; white-space:nowrap}
.brand__text small{font-size:.7rem; color:var(--muted); letter-spacing:-.01em; white-space:nowrap}

.nav__links{display:flex; align-items:center; gap:4px}
.nav__links a{
  position:relative; padding:.5em .85em; border-radius:999px;
  font-size:.9rem; font-weight:600; color:var(--text-2);
  transition:color .2s var(--ease), background .2s var(--ease);
}
.nav__links a:hover{color:var(--text); background:rgba(17,23,38,.05)}
.nav__links a.active{color:var(--red); background:rgba(208,32,43,.08)}

.nav__actions{display:flex; align-items:center; gap:10px}
.nav__toggle{display:none; width:40px; height:40px; border-radius:12px; padding:10px 9px; flex-direction:column; justify-content:space-between}
.nav__toggle span{display:block; height:2px; background:var(--text); border-radius:2px; transition:transform .3s var(--ease), opacity .2s}
.nav__toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.nav__progress{
  position:absolute; left:0; bottom:-1px; height:2px; width:0;
  background:linear-gradient(90deg,var(--gold),var(--red));
}

/* 상단(히어로) 위 네비 — 밝은 글자 */
.nav:not(.is-stuck) .brand__text strong{color:#F5F1E6}
.nav:not(.is-stuck) .brand__text small{color:rgba(233,226,209,.62)}
.nav:not(.is-stuck) .nav__links a{color:rgba(233,226,209,.72)}
.nav:not(.is-stuck) .nav__links a:hover{color:#fff; background:rgba(255,255,255,.08)}
.nav:not(.is-stuck) .nav__links a.active{color:var(--gold-1); background:rgba(235,203,120,.12)}
.nav:not(.is-stuck) .nav__toggle span{background:#F5F1E6}

/* ============ 히어로 ============ */
.hero{
  position:relative; min-height:100svh; display:flex; align-items:center;
  padding:calc(var(--nav-h) + 56px) 0 88px; overflow:hidden;
  background:
    radial-gradient(120% 90% at 50% -20%, #1B3059 0%, transparent 60%),
    linear-gradient(180deg,#0A1428 0%, #0B1A33 50%, #08111F 100%);
  color:#EDE7DA;
}
.hero__bg{position:absolute; inset:0; pointer-events:none}
.hero__grid{
  position:absolute; inset:0; opacity:.28;
  background-image:
    linear-gradient(rgba(233,214,168,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(233,214,168,.055) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(90% 70% at 50% 40%, #000 0%, transparent 78%);
  -webkit-mask-image:radial-gradient(90% 70% at 50% 40%, #000 0%, transparent 78%);
}
.orb{position:absolute; border-radius:50%; filter:blur(90px); opacity:.5}
.orb--red{width:520px; height:520px; left:-140px; top:-90px; background:radial-gradient(circle,#D0202B,transparent 68%); animation:float1 22s ease-in-out infinite}
.orb--gold{width:480px; height:480px; right:-120px; top:18%; background:radial-gradient(circle,#C9A227,transparent 68%); opacity:.34; animation:float2 26s ease-in-out infinite}
.orb--blue{width:600px; height:600px; left:38%; bottom:-260px; background:radial-gradient(circle,#1E5FA8,transparent 70%); opacity:.42; animation:float1 30s ease-in-out infinite reverse}
@keyframes float1{0%,100%{transform:translate(0,0)}50%{transform:translate(50px,44px)}}
@keyframes float2{0%,100%{transform:translate(0,0)}50%{transform:translate(-46px,54px)}}

.hero__emblem{
  position:absolute; right:-6%; top:50%; transform:translateY(-50%);
  width:min(56vw,660px); aspect-ratio:1; opacity:.16; pointer-events:none;
  animation:spin 90s linear infinite;
}
@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}

.hero__inner{position:relative; z-index:2; max-width:var(--container)}

.hero__eyebrow{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px}
.chip{
  display:inline-flex; align-items:center; gap:7px;
  padding:.42em 1em; border-radius:999px;
  font-size:.8rem; font-weight:700; letter-spacing:.01em;
  background:linear-gradient(135deg,rgba(235,203,120,.22),rgba(201,162,39,.12));
  border:1px solid rgba(235,203,120,.36); color:var(--gold-1);
}
.chip--ghost{background:rgba(255,255,255,.06); border-color:rgba(237,231,218,.2); color:rgba(237,231,218,.8)}
.chip--alert{background:rgba(208,32,43,.18); border-color:rgba(240,74,82,.45); color:#FFC5C8}
.chip--alert i{width:6px; height:6px; border-radius:50%; background:#FF6B72; box-shadow:0 0 0 0 rgba(255,107,114,.7); animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(255,107,114,0)}100%{box-shadow:0 0 0 0 rgba(255,107,114,0)}}

.hero__title{
  font-size:clamp(2.7rem, 8.2vw, 5.6rem); font-weight:900;
  letter-spacing:-.05em; line-height:1.03; color:#FFFDF7;
  text-shadow:0 18px 50px rgba(0,0,0,.4);
}
.hero__cn{
  margin-top:18px; font-size:clamp(.9rem,2.2vw,1.12rem); font-weight:500;
  letter-spacing:.22em; color:rgba(235,203,120,.75);
}
.hero__lead{
  margin-top:22px; max-width:36em;
  font-size:clamp(1rem,2.4vw,1.16rem); line-height:1.75; color:rgba(237,231,218,.78);
}
.hero__lead b{color:#FFFDF7; font-weight:700}

.hero__facts{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px;
  margin-top:40px; max-width:900px;
  background:rgba(237,231,218,.14); border:1px solid rgba(237,231,218,.14);
  border-radius:var(--radius); overflow:hidden;
  backdrop-filter:blur(6px);
}
.fact{display:flex; flex-direction:column; gap:5px; padding:20px 22px; background:rgba(10,20,40,.42)}
.fact__k{font-size:.72rem; font-weight:700; letter-spacing:.14em; color:var(--gold-1); text-transform:uppercase}
.fact__v{font-size:1.06rem; font-weight:800; letter-spacing:-.03em; color:#FFFDF7}
.fact__v em{font-style:normal; color:var(--gold-1)}
.fact__s{font-size:.85rem; color:rgba(237,231,218,.62)}

.hero__cta{display:flex; flex-wrap:wrap; gap:12px; margin-top:34px}

.countdown{display:flex; align-items:center; gap:20px; margin-top:40px; flex-wrap:wrap}
.countdown__label{
  font-size:.74rem; font-weight:700; letter-spacing:.18em;
  color:rgba(237,231,218,.5); text-transform:uppercase;
}
.countdown__units{display:flex; gap:10px}
.cu{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-width:64px; padding:10px 12px; border-radius:14px;
  background:rgba(255,255,255,.05); border:1px solid rgba(237,231,218,.14);
}
.cu span{font-size:1.5rem; font-weight:800; line-height:1; color:#FFFDF7; font-variant-numeric:tabular-nums}
.cu small{margin-top:4px; font-size:.68rem; color:rgba(237,231,218,.55); letter-spacing:.06em}

.hero__scroll{
  position:absolute; left:50%; bottom:26px; translate:-50% 0; z-index:3;
  width:24px; height:38px; border:1.5px solid rgba(237,231,218,.3); border-radius:14px;
}
.hero__scroll span{
  position:absolute; left:50%; top:8px; translate:-50% 0;
  width:3px; height:7px; border-radius:2px; background:var(--gold-1);
  animation:scrollDot 1.9s var(--ease) infinite;
}
@keyframes scrollDot{0%{opacity:0; transform:translateY(0)}30%{opacity:1}100%{opacity:0; transform:translateY(14px)}}

/* ============ 섹션 공통 ============ */
.section{padding:clamp(76px,10vw,124px) 0; position:relative}
.section--tint{background:var(--bg-2)}
.section--dark{
  background:linear-gradient(180deg,#0B1A33,#0A1428);
  color:#EDE7DA;
}
.section--dark .sec-title{color:#FFFDF7}
.section--dark .sec-desc{color:rgba(237,231,218,.7)}

.sec-head{max-width:44rem; margin-bottom:52px}
.sec-head--center{margin-inline:auto; text-align:center}
.sec-kicker{
  display:inline-block; margin-bottom:14px;
  font-size:.74rem; font-weight:800; letter-spacing:.22em; text-transform:uppercase;
  color:var(--red);
}
.section--dark .sec-kicker{color:var(--gold-1)}
.sec-title{font-size:clamp(1.85rem,4.2vw,2.9rem); letter-spacing:-.045em; font-weight:850}
.sec-desc{margin-top:18px; font-size:1.03rem; line-height:1.8; color:var(--text-2)}

/* ============ 개요 카드 ============ */
.cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px}
.card{
  position:relative; padding:32px 28px 30px; border-radius:var(--radius-lg);
  background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow-sm);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
  overflow:hidden;
}
.card::before{
  content:""; position:absolute; inset:0 0 auto 0; height:3px;
  background:linear-gradient(90deg,var(--red),var(--gold));
  transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease);
}
.card:hover{transform:translateY(-5px); box-shadow:var(--shadow-md); border-color:transparent}
.card:hover::before{transform:scaleX(1)}
.card__ico{
  width:46px; height:46px; border-radius:14px; margin-bottom:20px;
  display:grid; place-items:center; color:var(--red);
  background:linear-gradient(135deg,rgba(208,32,43,.1),rgba(201,162,39,.1));
}
.card__ico svg{width:22px; height:22px}
.card h3{font-size:1.16rem; margin-bottom:10px; letter-spacing:-.035em}
.card p{font-size:.95rem; line-height:1.72; color:var(--text-2)}

.callout{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px;
  margin-top:26px; padding:20px 26px; border-radius:var(--radius);
  background:linear-gradient(120deg,rgba(208,32,43,.05),rgba(201,162,39,.06));
  border:1px dashed rgba(208,32,43,.28);
}
.callout__k{font-size:.76rem; font-weight:800; letter-spacing:.14em; color:var(--red); text-transform:uppercase}
.callout__v{font-size:.98rem; color:var(--text-2)}
.callout__v b{color:var(--text); font-weight:700}

/* ============ 연사 ============ */
.speaker{
  display:flex; align-items:center; gap:clamp(24px,4vw,52px);
  padding:clamp(28px,4vw,44px); border-radius:var(--radius-lg);
  background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.028));
  border:1px solid rgba(237,231,218,.14);
  backdrop-filter:blur(8px);
}
.speaker--alt{margin-top:20px; padding:26px clamp(28px,4vw,44px)}

.speaker__portrait{
  position:relative; flex:none; width:clamp(110px,15vw,160px); aspect-ratio:1;
  display:grid; place-items:center; border-radius:50%;
  background:radial-gradient(circle at 32% 28%, #24406E, #0C1830);
  border:1px solid rgba(235,203,120,.28);
  box-shadow:0 24px 60px -22px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,255,255,.1);
}
.speaker__portrait--sm{width:clamp(72px,9vw,96px)}
.speaker__initial{
  font-size:clamp(2.4rem,5vw,3.6rem); font-weight:800; line-height:1;
  background:linear-gradient(140deg,var(--gold-1),var(--red-1));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.speaker__portrait--sm .speaker__initial{font-size:clamp(1.6rem,3vw,2.2rem)}
.speaker__ring{
  position:absolute; inset:-11px; border-radius:50%;
  border:1px solid rgba(235,203,120,.22); border-top-color:rgba(240,74,82,.6);
  animation:spin2 12s linear infinite;
}
@keyframes spin2{to{transform:rotate(360deg)}}

.speaker__body{min-width:0}
.speaker__role{
  font-size:.74rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase;
  color:var(--gold-1); margin-bottom:8px;
}
.speaker__name{font-size:clamp(1.7rem,3.6vw,2.35rem); color:#FFFDF7; letter-spacing:-.045em}
.speaker__name small{font-size:.5em; font-weight:600; color:rgba(237,231,218,.62); margin-left:.35em; letter-spacing:-.02em}
.speaker__name--sm{font-size:clamp(1.3rem,2.6vw,1.7rem)}
.speaker__creds{margin:16px 0 0; display:flex; flex-direction:column; gap:8px}
.speaker__creds li{display:flex; align-items:center; gap:11px; font-size:1rem; color:rgba(237,231,218,.88)}
.speaker__creds span{
  flex:none; width:26px; height:23px; border-radius:7px; display:grid; place-items:center;
  font-size:.72rem; font-weight:800;
  background:rgba(235,203,120,.16); color:var(--gold-1); border:1px solid rgba(235,203,120,.28);
}
.speaker__note{margin-top:16px; font-size:.95rem; line-height:1.78; color:rgba(237,231,218,.62); max-width:42em}

/* ============ 타임라인 ============ */
.timeline{position:relative; display:flex; flex-direction:column; gap:18px}
.tl{display:grid; grid-template-columns:132px 1fr; gap:26px; align-items:start; position:relative}
.tl::before{
  content:""; position:absolute; left:150px; top:26px; bottom:-22px; width:1px;
  background:linear-gradient(180deg,var(--line),transparent);
}
.tl:last-child::before{display:none}
.tl__time{
  display:flex; flex-direction:column; align-items:flex-end; padding-top:22px; position:relative;
  font-variant-numeric:tabular-nums;
}
.tl__time span{font-size:1.02rem; font-weight:800; letter-spacing:-.03em; color:var(--text)}
.tl__time i{font-style:normal; font-size:.78rem; color:var(--muted); line-height:1.2}
.tl__time::after{
  content:""; position:absolute; right:-24px; top:27px;
  width:11px; height:11px; border-radius:50%;
  background:var(--surface); border:2.5px solid var(--red);
  box-shadow:0 0 0 4px rgba(208,32,43,.1);
}
.tl__card{
  padding:26px 30px; border-radius:var(--radius);
  background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow-sm);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.tl__card:hover{transform:translateX(4px); box-shadow:var(--shadow-md)}
.tl__tag{
  display:inline-block; margin-bottom:11px; padding:.28em .8em; border-radius:999px;
  font-size:.72rem; font-weight:800; letter-spacing:.04em;
}
.tl__tag--red{background:rgba(208,32,43,.1); color:var(--red-2)}
.tl__tag--gold{background:rgba(201,162,39,.14); color:var(--gold-2)}
.tl__tag--blue{background:rgba(18,80,143,.1); color:var(--blue)}
.tl__card h3{font-size:1.2rem; letter-spacing:-.038em}
.tl__list{margin-top:12px; display:flex; flex-direction:column; gap:6px}
.tl__list li{position:relative; padding-left:16px; font-size:.95rem; color:var(--text-2)}
.tl__list li::before{
  content:""; position:absolute; left:2px; top:.65em;
  width:5px; height:5px; border-radius:50%; background:var(--gold);
}
.tl__by{
  margin-top:14px; padding-top:12px; border-top:1px solid var(--line);
  font-size:.88rem; font-weight:700; color:var(--muted);
}
.tl__by::before{content:"발표 · "; font-weight:500; color:var(--muted)}

.cal-actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:36px; justify-content:center}

/* ============ 선착순 배너 ============ */
.limit{
  display:flex; align-items:center; gap:18px; flex-wrap:wrap;
  margin-bottom:26px; padding:22px 26px; border-radius:var(--radius);
  background:linear-gradient(115deg,var(--ink),var(--ink-3));
  color:#F3EEE2; box-shadow:var(--shadow-md); position:relative; overflow:hidden;
}
.limit::after{
  content:""; position:absolute; right:-60px; top:-60px; width:220px; height:220px; border-radius:50%;
  background:radial-gradient(circle,rgba(208,32,43,.5),transparent 68%); filter:blur(30px);
}
.limit__pulse{
  flex:none; width:11px; height:11px; border-radius:50%; background:#FF6B72;
  box-shadow:0 0 0 0 rgba(255,107,114,.7); animation:pulse 2s infinite;
}
.limit__text{display:flex; flex-direction:column; gap:3px; margin-right:auto; min-width:0; position:relative}
.limit__text strong{font-size:1.06rem; font-weight:800; letter-spacing:-.03em}
.limit__text span{font-size:.9rem; color:rgba(243,238,226,.68)}
.limit__num{display:flex; align-items:baseline; gap:3px; position:relative}
.limit__num b{
  font-size:2.2rem; font-weight:900; line-height:1; letter-spacing:-.035em;
  font-variant-numeric:tabular-nums; white-space:nowrap;
  background:linear-gradient(140deg,var(--gold-1),var(--red-1));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.limit__num small{font-size:.95rem; font-weight:700; color:var(--gold-1)}

/* ============ 참가비 ============ */
.fees{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px}
.fee{
  position:relative; padding:34px 30px; border-radius:var(--radius-lg);
  background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow-sm);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.fee:hover{transform:translateY(-4px); box-shadow:var(--shadow-md)}
.fee--feature{
  border-color:transparent;
  box-shadow:0 0 0 2px var(--red), var(--shadow-md);
}
.fee__badge{
  display:inline-block; padding:.36em .95em; border-radius:999px; margin-bottom:20px;
  font-size:.78rem; font-weight:800; letter-spacing:.02em;
  background:linear-gradient(135deg,var(--red-1),var(--red)); color:#fff;
}
.fee__badge--plain{background:var(--bg-2); color:var(--text-2); border:1px solid var(--line)}
.fee__price{display:flex; align-items:baseline; gap:5px}
.fee__price b{font-size:2.6rem; font-weight:900; letter-spacing:-.055em; font-variant-numeric:tabular-nums}
.fee__price span{font-size:1.05rem; font-weight:700; color:var(--muted)}
.fee__desc{margin-top:10px; font-size:.93rem; color:var(--text-2)}
.fee__list{margin-top:22px; padding-top:20px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:11px}
.fee__list li{position:relative; padding-left:26px; font-size:.94rem; color:var(--text-2)}
.fee__list li::before{
  content:""; position:absolute; left:0; top:.28em; width:16px; height:16px; border-radius:50%;
  background:rgba(208,32,43,.1);
}
.fee__list li::after{
  content:""; position:absolute; left:5px; top:.62em; width:6px; height:3px;
  border-left:1.8px solid var(--red); border-bottom:1.8px solid var(--red);
  transform:rotate(-45deg);
}

/* ============ 계좌 ============ */
.bank{
  margin-top:24px; padding:28px 30px; border-radius:var(--radius-lg);
  background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow-sm);
}
.bank__head{margin-bottom:14px}
.bank__row{display:flex; flex-wrap:wrap; align-items:center; gap:18px}
.bank__info{margin-right:auto; min-width:0}
.bank__name{font-size:.88rem; font-weight:700; color:var(--muted)}
.bank__no{
  font-size:clamp(1.5rem,4vw,2.05rem); font-weight:900; letter-spacing:-.03em;
  font-variant-numeric:tabular-nums; line-height:1.25;
}
.bank__owner{font-size:.9rem; color:var(--text-2); margin-top:2px}
.bank__note{
  margin-top:18px; padding-top:16px; border-top:1px dashed var(--line);
  font-size:.88rem; color:var(--muted);
}
.bank__note b{color:var(--text); font-weight:700}

/* ============ 신청 CTA ============ */
.apply{
  display:flex; flex-wrap:wrap; align-items:center; gap:22px;
  margin-top:24px; padding:32px 34px; border-radius:var(--radius-lg);
  background:linear-gradient(120deg,rgba(208,32,43,.06),rgba(201,162,39,.08));
  border:1px solid rgba(208,32,43,.16);
}
.apply__text{margin-right:auto; min-width:0}
.apply__text h3{font-size:1.24rem; letter-spacing:-.038em}
.apply__text p{margin-top:7px; font-size:.94rem; color:var(--text-2)}
.apply__text b{color:var(--red); font-weight:800}

/* ============ 문의 ============ */
.contact{
  max-width:820px; margin-inline:auto; padding:32px;
  border-radius:var(--radius-lg); background:var(--surface);
  border:1px solid var(--line); box-shadow:var(--shadow-sm);
}
.contact__who{display:flex; align-items:center; gap:15px; padding-bottom:24px; border-bottom:1px solid var(--line)}
.contact__avatar{
  width:52px; height:52px; flex:none; border-radius:50%; display:grid; place-items:center;
  font-size:1.2rem; font-weight:800; color:#fff;
  background:linear-gradient(140deg,var(--red-1),var(--red-2));
  box-shadow:0 8px 20px -8px rgba(208,32,43,.6);
}
.contact__who strong{display:block; font-size:1.1rem; letter-spacing:-.03em}
.contact__who small{display:block; font-size:.86rem; color:var(--muted)}

.contact__ways{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; margin-top:24px}
.cway{
  display:flex; align-items:center; gap:13px; width:100%; text-align:left;
  padding:15px 17px; border-radius:14px;
  background:var(--bg); border:1px solid var(--line);
  transition:transform .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);
}
.cway:hover{transform:translateY(-3px); border-color:var(--red); background:#fff; box-shadow:var(--shadow-sm)}
.cway__ico{
  width:38px; height:38px; flex:none; border-radius:11px; display:grid; place-items:center;
  color:var(--red); background:rgba(208,32,43,.09);
}
.cway__ico svg{width:19px; height:19px}
.cway--kakao .cway__ico{color:#3C1E1E; background:#FEE500}
.cway__t{display:flex; flex-direction:column; min-width:0; line-height:1.35}
.cway__t small{font-size:.72rem; font-weight:700; letter-spacing:.1em; color:var(--muted); text-transform:uppercase}
.cway__t strong{font-size:.98rem; font-weight:800; letter-spacing:-.02em; overflow:hidden; text-overflow:ellipsis}
.cway__copy{
  margin-left:auto; flex:none; padding:.28em .6em; border-radius:7px;
  font-size:.72rem; font-weight:700; color:var(--muted); background:var(--bg-2);
}
.cway:hover .cway__copy{color:var(--red); background:rgba(208,32,43,.1)}

/* ============ 마무리 ============ */
.finale{
  position:relative; overflow:hidden; text-align:center;
  padding:clamp(84px,11vw,140px) 0;
  background:linear-gradient(160deg,#0A1428 0%,#0B1B36 55%,#08111F 100%);
  color:#EDE7DA;
}
.finale__bg{position:absolute; inset:0; pointer-events:none}
.finale__bg .orb--red{width:460px; height:460px; left:-10%; top:-30%; opacity:.4}
.finale__bg .orb--gold{width:420px; height:420px; right:-8%; bottom:-30%; opacity:.3}
.finale__inner{position:relative; z-index:2}
.finale__kicker{
  font-size:.8rem; font-weight:800; letter-spacing:.2em; color:var(--gold-1);
  text-transform:uppercase; margin-bottom:18px;
}
.finale__title{font-size:clamp(1.9rem,5.2vw,3.4rem); color:#FFFDF7; letter-spacing:-.048em; margin-bottom:34px}

/* ============ 푸터 ============ */
.footer{background:#08111F; color:rgba(237,231,218,.62); padding-top:52px}
.footer__inner{display:flex; flex-wrap:wrap; gap:26px 40px; align-items:flex-start; padding-bottom:36px}
.footer__brand{display:flex; align-items:center; gap:13px; margin-right:auto}
.footer__brand .brand__mark::after{background:#08111F}
.footer__brand strong{display:block; font-size:1.02rem; font-weight:800; color:#F5F1E6; letter-spacing:-.03em}
.footer__brand small{display:block; font-size:.8rem; margin-top:3px; color:rgba(237,231,218,.5)}
.footer__meta{display:flex; flex-direction:column; gap:5px; font-size:.88rem; text-align:right}
.footer__meta a:hover{color:var(--gold-1)}
.footer__bar{
  border-top:1px solid rgba(237,231,218,.1); padding:18px 0;
  font-size:.8rem; color:rgba(237,231,218,.4);
}

/* ============ 모바일 고정 CTA ============ */
.sticky-cta{
  position:fixed; left:12px; right:12px; bottom:12px; z-index:90;
  display:none; align-items:center; gap:14px;
  padding:11px 12px 11px 18px; border-radius:999px;
  background:rgba(10,20,40,.92); backdrop-filter:blur(14px);
  box-shadow:var(--shadow-lg); border:1px solid rgba(237,231,218,.14);
  transform:translateY(140%); transition:transform .45s var(--ease);
  padding-bottom:max(11px, env(safe-area-inset-bottom));
}
.sticky-cta.show{transform:none}
.sticky-cta__info{display:flex; flex-direction:column; margin-right:auto; min-width:0; line-height:1.3}
.sticky-cta__info strong{font-size:.9rem; color:#FFFDF7; font-weight:800; letter-spacing:-.02em}
.sticky-cta__info small{font-size:.74rem; color:rgba(237,231,218,.6); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}

/* ============ 토스트 ============ */
.toast{
  position:fixed; left:50%; bottom:88px; z-index:200;
  translate:-50% 12px; opacity:0; pointer-events:none;
  padding:.8em 1.4em; border-radius:999px;
  background:var(--ink); color:#F5F1E6; font-size:.9rem; font-weight:600;
  box-shadow:var(--shadow-lg);
  transition:opacity .3s var(--ease), translate .3s var(--ease);
}
.toast.show{opacity:1; translate:-50% 0}

/* ============ 회장 인사말 ============ */
.greeting{
  position:relative; max-width:820px; margin:0 auto; overflow:hidden;
  padding:clamp(34px,5vw,52px) clamp(26px,5vw,56px);
  border-radius:var(--radius-lg);
  background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow-sm);
}
.greeting::before{
  content:""; position:absolute; inset:0 auto 0 0; width:4px;
  background:linear-gradient(180deg,var(--red),var(--gold));
}
.greeting__quote{
  position:absolute; right:clamp(22px,3.5vw,40px); top:clamp(4px,1.6vw,12px);
  font-size:clamp(4.2rem,9vw,6.4rem); line-height:1; font-weight:900;
  color:rgba(201,162,39,.18); pointer-events:none; user-select:none;
}
.greeting__body{margin:0; position:relative}
.greeting__body p{margin-top:15px; font-size:1rem; line-height:1.92; color:var(--text-2)}
.greeting__body b{color:var(--text); font-weight:700}
.greeting__body .greeting__lead{
  margin-top:0; font-size:clamp(1.06rem,2.4vw,1.2rem); font-weight:700;
  line-height:1.7; letter-spacing:-.03em; color:var(--text);
}
.greeting__sign{
  display:flex; flex-direction:column; align-items:flex-end; gap:4px; text-align:right;
  margin-top:28px; padding-top:22px; border-top:1px solid var(--line);
}
.greeting__org{font-size:.9rem; color:var(--muted)}
.greeting__name{
  display:inline-flex; align-items:center; gap:11px;
  font-size:1.14rem; font-weight:800; letter-spacing:-.035em; color:var(--text);
}
.greeting__name::before{content:""; width:26px; height:1px; background:var(--gold)}

/* ============ 온라인 표시 점 ============ */
.chip .dot{
  width:6px; height:6px; border-radius:50%; background:#5BD6A0;
  box-shadow:0 0 0 0 rgba(91,214,160,.7); animation:pulse2 2.4s infinite;
}
@keyframes pulse2{70%{box-shadow:0 0 0 8px rgba(91,214,160,0)}100%{box-shadow:0 0 0 0 rgba(91,214,160,0)}}

.callout__x{display:block; margin-top:5px; font-size:.88rem; color:var(--muted)}

/* ============ 기대 효과 ============ */
.effects{
  margin-top:22px; padding:26px 30px; border-radius:var(--radius);
  background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow-sm);
}
.effects__title{
  font-size:.76rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase;
  color:var(--red); margin-bottom:16px;
}
.effects__list{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px 24px}
.effects__list li{position:relative; padding-left:26px; font-size:.96rem; color:var(--text-2)}
.effects__list li b{color:var(--text); font-weight:700}
.effects__list li::before{
  content:""; position:absolute; left:0; top:.3em; width:17px; height:17px; border-radius:50%;
  background:linear-gradient(135deg,rgba(208,32,43,.12),rgba(201,162,39,.16));
}
.effects__list li::after{
  content:""; position:absolute; left:5px; top:.64em; width:6px; height:3px;
  border-left:1.9px solid var(--red); border-bottom:1.9px solid var(--red);
  transform:rotate(-45deg);
}

/* ============ 강사 약력 ============ */
.bio{
  margin-top:20px; padding:clamp(24px,3.4vw,34px) clamp(24px,4vw,44px);
  border-radius:var(--radius-lg);
  background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border:1px solid rgba(237,231,218,.12);
}
.bio__title{
  font-size:.74rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold-1); margin:0 0 20px;
}
.bio__list{display:flex; flex-direction:column; gap:0}
.bio__list li{
  position:relative; display:grid; grid-template-columns:190px 1fr; gap:20px;
  padding:13px 0 13px 26px; border-top:1px solid rgba(237,231,218,.09);
}
.bio__list li:first-child{border-top:0}
.bio__list li::before{
  content:""; position:absolute; left:3px; top:1.35em;
  width:7px; height:7px; border-radius:50%;
  background:rgba(235,203,120,.45);
}
.bio__list li::after{
  content:""; position:absolute; left:6px; top:2.1em; bottom:-.35em; width:1px;
  background:rgba(237,231,218,.13);
}
.bio__list li:last-child::after{display:none}
.bio__list li.is-now::before{
  background:var(--red-1); box-shadow:0 0 0 4px rgba(240,74,82,.16);
}
.bio__when{
  font-size:.9rem; font-weight:700; letter-spacing:-.01em;
  font-variant-numeric:tabular-nums; color:var(--gold-1);
}
.bio__what{font-size:.98rem; color:rgba(237,231,218,.86)}
.bio__list li.is-now .bio__what{color:#FFFDF7; font-weight:700}

/* ============ 인원 제한 없음 안내 ============ */
.perk{
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
  margin-bottom:26px; padding:18px 24px; border-radius:var(--radius);
  background:linear-gradient(120deg,rgba(201,162,39,.1),rgba(208,32,43,.05));
  border:1px solid rgba(201,162,39,.3);
}
.perk__ico{
  width:42px; height:42px; flex:none; border-radius:12px; display:grid; place-items:center;
  color:var(--gold-2); background:rgba(201,162,39,.16);
}
.perk__ico svg{
  width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8;
  stroke-linecap:round; stroke-linejoin:round;
}
.perk__text{display:flex; flex-direction:column; gap:2px; min-width:0}
.perk__text strong{font-size:1.02rem; font-weight:800; letter-spacing:-.03em}
.perk__text span{font-size:.9rem; color:var(--text-2)}

/* ============ 신청 절차 ============ */
.steps{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(232px,1fr)); gap:14px;
  margin-top:24px;
}
.steps li{
  display:flex; align-items:flex-start; gap:14px;
  padding:20px 22px; border-radius:var(--radius);
  background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow-sm);
}
.steps__n{
  width:30px; height:30px; flex:none; border-radius:50%; display:grid; place-items:center;
  font-size:.9rem; font-weight:800; color:#fff;
  background:linear-gradient(140deg,var(--red-1),var(--red-2));
  box-shadow:0 6px 14px -6px rgba(208,32,43,.6);
}
.steps li strong{display:block; font-size:1rem; letter-spacing:-.03em}
.steps li small{display:block; margin-top:3px; font-size:.87rem; color:var(--text-2); line-height:1.6}

/* ============ 반응형 ============ */
@media (max-width:1024px){
  .hero__facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero__emblem{opacity:.1; right:-22%}
}

@media (max-width:820px){
  :root{--nav-h:62px}
  .nav__links{
    position:fixed; inset:var(--nav-h) 0 auto 0;
    flex-direction:column; align-items:stretch; gap:2px; padding:14px 20px 22px;
    background:rgba(251,250,247,.97); backdrop-filter:blur(18px);
    border-bottom:1px solid var(--line); box-shadow:0 20px 40px -20px rgba(10,20,40,.4);
    transform:translateY(-120%); opacity:0; visibility:hidden;
    transition:transform .4s var(--ease), opacity .3s var(--ease), visibility .3s;
  }
  .nav__links.open{transform:none; opacity:1; visibility:visible}
  .nav:not(.is-stuck) .nav__links a,
  .nav__links a{color:var(--text-2); border-radius:12px; padding:.75em 1em; font-size:.98rem}
  .nav:not(.is-stuck) .nav__links a.active,
  .nav__links a.active{color:var(--red); background:rgba(208,32,43,.08)}
  .nav__toggle{display:flex}
  .nav__actions .btn--primary{display:none}
  .brand__text small{display:none}

  .hero{min-height:auto; padding:calc(var(--nav-h) + 48px) 0 76px}
  .hero__scroll{display:none}
  .hero__emblem{display:none}
  .hero__facts{grid-template-columns:1fr 1fr}
  .fact{padding:16px 18px}
  .countdown{gap:14px}
  .cu{min-width:56px; padding:9px 8px}
  .cu span{font-size:1.24rem}

  .speaker{flex-direction:column; text-align:center}
  .speaker__creds li{justify-content:center; text-align:left}
  .speaker__note{margin-inline:auto}

  .bio__list li{grid-template-columns:1fr; gap:3px}
  .bio__list li::after{top:2.3em}

  .tl{grid-template-columns:1fr; gap:10px}
  .tl::before{display:none}
  .tl__time{flex-direction:row; align-items:center; gap:6px; padding-top:0; justify-content:flex-start}
  .tl__time::after{display:none}
  .tl__card:hover{transform:none}

  .apply{flex-direction:column; align-items:stretch; text-align:center}
  .apply .btn{width:100%}

  .footer__inner{flex-direction:column}
  .footer__meta{text-align:left}

  .sticky-cta{display:flex}
  body{padding-bottom:76px}
}

@media (max-width:420px){
  .container{padding-inline:18px}
  .hero__facts{grid-template-columns:1fr}
  .fee__price b{font-size:2.2rem}
  .limit__num b{font-size:2rem}
  .cal-actions{flex-direction:column}
  .cal-actions .btn{width:100%}
}
