@import url('https://fonts.googleapis.com/css2?family=Nanum+Pen+Script&display=swap');
@charset "utf-8";
:root{
  --m2-blue:#2563eb;
  --m2-blue2:#113cbe;
  --m2-navy:#07142f;
  --m2-ink:#101828;
  --m2-text:#344054;
  --m2-muted:#667085;
  --m2-line:#e4e7ec;
  --m2-soft:#f5f7fb;
  --m2-soft2:#eef4ff;
  --m2-white:#fff;
  --m2-radius:18px;
  --m2-shadow:0 18px 50px rgba(16,24,40,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--m2-ink);font-family:'Pretendard',Arial,sans-serif;word-break:keep-all}
a{text-decoration:none;color:inherit}
img{width:100%;height:100%;object-fit:cover;display:block}
button{font:inherit}
.mepa-main{overflow:hidden;background:#fff}
.mepa-wrap{width:min(1240px,calc(100% - 64px));margin:0 auto}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .72s ease,transform .72s cubic-bezier(.22,.61,.36,1)}
.reveal.show{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}

/* header */
.mepa-header{position:fixed;left:0;right:0;top:0;z-index:1000;color:#fff;transition:.28s ease;background:linear-gradient(180deg,rgba(3,10,28,.58),rgba(3,10,28,0))}
.mepa-head-inner{height:78px;width:min(1440px,calc(100% - 56px));margin:auto;display:flex;align-items:center;gap:32px}
.mepa-logo{width:250px;display:block;filter:brightness(0) invert(1);transition:.25s ease;flex:0 0 auto}.mepa-logo img{height:auto;object-fit:contain}
.mepa-nav{margin-left:auto;display:flex;gap:30px;align-items:center}.mepa-nav a{font-size:14px;font-weight:600;color:rgba(255,255,255,.9);position:relative}.mepa-nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:#fff;transition:.22s}.mepa-nav a:hover:after{width:100%}
.mepa-apply-head{border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:12px 18px;font-size:13px;font-weight:700;color:#fff;transition:.2s}
.mepa-apply-head:hover{background:#fff;color:var(--m2-navy)}
.mepa-header.scrolled{background:rgba(255,255,255,.98);box-shadow:0 2px 18px rgba(16,24,40,.08);color:var(--m2-ink)}
.mepa-header.scrolled .mepa-logo{filter:none}.mepa-header.scrolled .mepa-nav a{color:#344054}.mepa-header.scrolled .mepa-nav a:after{background:var(--m2-blue)}.mepa-header.scrolled .mepa-apply-head{background:var(--m2-blue);border-color:var(--m2-blue);color:#fff}
.mepa-menu-btn{display:none;width:42px;height:42px;border:0;background:none;padding:0}.mepa-menu-btn span{display:block;width:24px;height:2px;background:currentColor;margin:6px auto}.mepa-mobile-nav{display:none}

/* hero */
.hero-section{height:760px;position:relative;background:var(--m2-navy);color:#fff}
.hero-bg,.hero-shade{position:absolute;inset:0}.hero-bg img{object-position:center 48%}
.hero-shade{background:linear-gradient(90deg,rgba(4,16,49,.96) 0%,rgba(4,16,49,.83) 38%,rgba(7,19,46,.48) 64%,rgba(7,19,46,.24) 100%),linear-gradient(0deg,rgba(0,0,0,.18),rgba(0,0,0,0))}
.hero-inner{position:relative;z-index:2;height:100%;padding-top:150px;display:grid;grid-template-columns:1.05fr .75fr;grid-template-rows:auto auto;gap:28px 80px;align-content:center}
.brand-kicker{font-size:14px;font-weight:700;letter-spacing:.05em;margin:0 0 6px;color:#cfe0ff}.brand-en{font-family:'Montserrat';font-size:12px;letter-spacing:.12em;color:#9eb9ef;margin:0 0 26px}
.hero-copy h1{font-size:52px;line-height:1.18;letter-spacing:-.045em;margin:0 0 24px;font-weight:750}.hero-lead{font-size:17px;line-height:1.8;color:#d7e2f7;margin:0}.hero-month{display:flex;align-items:end;gap:10px;margin-top:28px}.hero-month span{font-family:'Montserrat';font-size:11px;letter-spacing:.18em;color:#8fb3ff}.hero-month strong{font-size:22px;color:#fff}
.hero-questions{align-self:end;background:rgba(8,19,46,.64);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px);border-radius:16px;padding:26px 28px}.hero-questions p{margin:0;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:15px;color:#f2f5fb}.hero-questions p:last-child{border-bottom:0}
.hero-bottom{grid-column:1/3;border-top:1px solid rgba(255,255,255,.2);padding-top:20px;display:flex;justify-content:space-between;align-items:flex-start}.hero-bottom strong{font-size:18px}.hero-bottom p{margin:0;max-width:600px;font-size:14px;line-height:1.8;color:#cdd7e7}

/* generic section heads */
.section-title h2,.major-section-title h2,.section-display-title{font-size:36px;line-height:1.28;letter-spacing:-.04em;margin:0;font-weight:750}.major-section-title{margin-bottom:42px}.major-section-title p,.section-eyebrow{font-family:'Montserrat';font-size:12px;letter-spacing:.16em;color:var(--m2-blue);font-weight:700;margin:0 0 10px}.major-section-title.light h2{color:#fff}.major-section-title.light p{color:#8fb3ff}

/* problem = lead solution */
.editorial-section{padding:120px 0;background:#fff}.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:110px;align-items:start}.section-copy{padding-top:4px}.section-copy p{font-size:16px;line-height:1.85;color:var(--m2-text);margin:0 0 14px}.section-copy .accent-line{font-size:20px;color:var(--m2-blue);font-weight:750;margin-top:28px}.formula-block{margin-top:64px;background:var(--m2-soft);border-radius:22px;padding:34px 38px;display:grid;grid-template-columns:1fr 80px 1.3fr;align-items:center;gap:24px;font-size:15px;line-height:1.8;color:var(--m2-text)}.formula-arrow{text-align:center;font-size:28px;color:var(--m2-blue)}.editorial-note{margin-top:20px;padding:0 4px}.editorial-note p{font-size:14px;color:var(--m2-muted);line-height:1.7}

/* authority = customer case style */
.authority-section{display:grid;grid-template-columns:1fr 1.25fr;min-height:760px;background:var(--m2-soft)}.authority-photo{min-height:760px;position:relative}.authority-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 72%,rgba(245,247,251,.86))}.authority-content{padding:90px 8vw 80px 70px;align-self:center}.authority-intro{font-size:20px;line-height:1.75;font-weight:650;letter-spacing:-.02em;margin:0 0 28px}.authority-checks{list-style:none;padding:0;margin:0 0 40px;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.authority-checks li{font-size:14px;color:var(--m2-text);line-height:1.55}.president-head{display:flex;align-items:end;gap:16px;padding-top:30px;border-top:1px solid #d9dee8}.president-head small{font-size:12px;color:var(--m2-blue);font-weight:800}.president-head h2{font-size:38px;margin:0}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px}.metrics div{background:#fff;border:1px solid var(--m2-line);border-radius:14px;padding:22px}.metrics strong{display:block;font-size:32px;color:var(--m2-blue2);margin-bottom:6px}.metrics span{font-size:13px;color:var(--m2-muted)}
.profile-details{margin-top:20px;border-top:1px solid #d9dee8}.profile-details summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:700;font-size:14px;display:flex;justify-content:space-between}.profile-list{padding:0 0 16px}.profile-list p{font-size:13px;line-height:1.65;color:var(--m2-muted);margin:3px 0}

/* story = services/content split */
.story-section{background:#fff;padding:110px 0}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.story-copy p{font-size:15px;line-height:1.85;color:var(--m2-text)}.story-stat{margin-top:28px;border-left:4px solid var(--m2-blue);padding:14px 0 14px 22px;line-height:1.7;color:var(--m2-text)}.story-stat strong{font-size:20px;color:var(--m2-blue2)}.story-image{height:500px;border-radius:20px;overflow:hidden;box-shadow:var(--m2-shadow)}
.story-dark{margin-top:42px;background:var(--m2-navy);border-radius:22px;padding:42px 46px;display:grid;grid-template-columns:1fr 1fr;gap:50px;color:#fff}.story-dark p{font-size:14px;line-height:1.8;color:#ced8ea}.story-close{margin-top:26px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.story-close p,.story-close strong{margin:0;border:1px solid var(--m2-line);border-radius:14px;padding:24px;background:#fff;line-height:1.65}.story-close p{font-size:14px;color:var(--m2-text)}.story-close strong{background:var(--m2-soft2);color:var(--m2-blue2);font-size:20px}

/* weeks = NHN-like major solution accordion */
.weeks-section{padding:120px 0;background:var(--m2-soft)}.weeks-head{width:100%;margin-bottom:34px}.weeks-section .mepa-wrap{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px}.weeks-section .weeks-head{flex:0 0 100%}.week-row{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) 43%;gap:28px;background:#fff;border:1px solid var(--m2-line);border-radius:14px;overflow:hidden;min-height:510px;flex:0 0 74px;transition:none;cursor:default}.week-row.active{flex:1 1 720px;box-shadow:var(--m2-shadow);border-color:#cfd8ef;cursor:default}.week-row:not(.active){background:#111827;border-color:#1f2937;color:#fff}.week-num{font-family:'Montserrat';font-size:13px;font-weight:700;padding:24px 0;text-align:center;color:var(--m2-blue)}.week-row:not(.active) .week-num{writing-mode:vertical-rl;text-orientation:upright;transform:none;color:#fff;margin:auto}.week-copy{padding:34px 0;min-width:0;opacity:1;transition:.25s}.week-row:not(.active) .week-copy{position:absolute;inset:70px 12px 20px;display:flex;align-items:flex-start;justify-content:center;opacity:1;padding:0}.week-row:not(.active) .week-copy>*{display:none}.week-row:not(.active) .week-copy h3{display:block;writing-mode:vertical-rl;text-orientation:upright;transform:none;font-size:15px;color:#fff;line-height:1.5;margin:0;letter-spacing:.08em}.week-copy h3{font-size:25px;margin:0 0 8px;letter-spacing:-.035em}.week-copy h4{font-size:16px;margin:0 0 24px;color:var(--m2-blue2)}.week-copy p{font-size:14px;line-height:1.78;color:var(--m2-text);margin:0 0 14px}.flow-line{font-size:13px;line-height:1.65;color:var(--m2-blue2);background:var(--m2-soft2);padding:13px 16px;border-radius:10px;margin:18px 0}.week-image{height:100%;min-height:510px;overflow:hidden}.week-row:not(.active) .week-image{display:none}.week-image img{transition:none}.week-row.active:hover .week-image img{transform:none}

/* curriculum = services list */
.curriculum-section{padding:120px 0;background:#fff}.curriculum-head{display:grid;grid-template-columns:300px 1fr;gap:60px;padding:34px 0;border-top:1px solid var(--m2-line);border-bottom:1px solid var(--m2-line)}.curriculum-head h2{font-size:28px;margin:0}.schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.schedule-grid div{padding:13px 0;border-bottom:1px solid var(--m2-line);display:flex;justify-content:space-between;gap:18px}.schedule-grid b{font-size:13px;color:var(--m2-blue2)}.schedule-grid span{font-size:13px;color:var(--m2-muted);text-align:right}.total-time{grid-column:2;margin:16px 0 0;font-size:13px;color:var(--m2-muted);line-height:1.6}
.qualification-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:52px}.qualification-card{border:1px solid var(--m2-line);border-radius:16px;padding:34px;background:#fff;box-shadow:0 10px 32px rgba(16,24,40,.04)}.qualification-card>span{font-family:'Montserrat';color:var(--m2-blue);font-size:12px;font-weight:800;letter-spacing:.14em}.qualification-card h3{font-size:23px;line-height:1.4;margin:12px 0 4px}.qualification-card small{font-size:11px;color:#98a2b3}.qualification-card ul{list-style:none;padding:20px 0 0;margin:20px 0 0;border-top:1px solid var(--m2-line)}.qualification-card li{font-size:13px;line-height:1.65;color:var(--m2-text);padding:7px 0}.detail-open{border:0;background:none;padding:14px 0 0;color:var(--m2-blue);font-size:13px;font-weight:700;cursor:pointer}.license-copy{display:grid;grid-template-columns:repeat(4,1fr);margin-top:24px;border:1px solid var(--m2-line);border-radius:14px;overflow:hidden}.license-copy p{margin:0;padding:22px;font-size:13px;line-height:1.65;border-right:1px solid var(--m2-line);color:var(--m2-text)}.license-copy p:last-child{border-right:0}.detail-area{margin-top:20px}.detail-box{display:none;background:var(--m2-soft);padding:28px;border-radius:14px}.detail-box.open{display:block}.detail-box h5{font-size:15px;margin:0 0 12px}.detail-box p{font-size:13px;line-height:1.75;color:var(--m2-text)}

/* fit/price = helpful guides */
.fit-price-section{padding:120px 0;background:#fff}.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fit-card{padding:30px;border-radius:16px;background:var(--m2-soft2);border:1px solid #dbe6ff}.fit-card.muted{background:#f7f7f8;border-color:#e8eaed}.fit-card h3{font-size:22px;margin:0 0 20px}.fit-card p{font-size:14px;line-height:1.65;color:var(--m2-text);margin:10px 0}.price-block{margin-top:70px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.price-block h3{font-size:32px;margin:0 0 20px}.price-block>div:first-child p{font-size:14px;line-height:1.75;color:var(--m2-text)}.price-card{background:var(--m2-navy);color:#fff;border-radius:18px;padding:34px}.price-card h4{font-size:20px;margin:0 0 16px}.price-card p{font-size:13px;line-height:1.8;color:#d2dbee}.price-card .prices{font-size:21px;line-height:1.75;padding:22px 0;border-top:1px solid #294066;border-bottom:1px solid #294066;margin:18px 0}.price-card .prices strong{color:#9fc0ff}.price-card small{color:#9aa9c2;font-size:11px}.apply-notice{margin-top:22px;background:#f6f8fc;border:1px solid var(--m2-line);border-radius:14px;padding:26px;display:grid;grid-template-columns:220px 1fr auto;gap:30px;align-items:center}.apply-notice h4{margin:0;font-size:16px}.apply-notice p{margin:0;font-size:13px;line-height:1.65;color:var(--m2-muted)}.apply-notice a{background:var(--m2-blue);color:#fff;padding:12px 18px;border-radius:999px;font-size:12px;font-weight:700}

/* faq/location */
.faq-location-section{padding:120px 0;background:var(--m2-soft)}.faq-location-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px}.faq-wrap h3,.location-wrap h3{font-size:28px;margin:0 0 26px}.faq-item{border-top:1px solid #d8dde7}.faq-item:last-child{border-bottom:1px solid #d8dde7}.faq-item summary{list-style:none;cursor:pointer;padding:18px 4px;font-size:14px;font-weight:650;display:flex;justify-content:space-between}.faq-answer{padding:0 4px 20px;font-size:13px;line-height:1.75;color:var(--m2-muted)}.location-image{height:340px;border-radius:16px;overflow:hidden;margin-bottom:20px}.location-wrap p{font-size:13px;line-height:1.75;color:var(--m2-text);margin:8px 0}

/* final */
.final-section{min-height:650px;position:relative;display:flex;align-items:center;background:var(--m2-navy);color:#fff}.final-image,.final-shade{position:absolute;inset:0}.final-image img{object-position:center}.final-shade{background:linear-gradient(90deg,rgba(3,14,38,.97),rgba(3,14,38,.82) 48%,rgba(3,14,38,.2))}.final-copy{position:relative;z-index:2;padding:100px 0;max-width:1240px}.final-copy>*{max-width:620px}.final-copy p{font-size:14px;line-height:1.85;color:#d3dceb}.final-copy h2{font-size:32px;margin:30px 0 16px}.final-highlight{font-size:22px!important;color:#fff!important;font-weight:650}.final-cta{display:inline-flex;margin-top:24px;border-radius:999px;background:var(--m2-blue);padding:14px 22px;color:#fff;font-size:13px;font-weight:700}
.mobile-fixed-cta{display:none}

/* footer */
.mepa-footer{background:#0a0f1b!important;color:#fff!important;padding:64px 0 28px}.mepa-footer-grid{width:min(1240px,calc(100% - 64px))!important;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px}.mepa-foot-logo{font-family:'Montserrat';font-size:22px;font-weight:800;letter-spacing:.12em}.mepa-footer strong{font-size:11px;letter-spacing:.08em;color:#8fb3ff}.mepa-footer p{font-size:12px!important;line-height:1.7;color:#98a2b3!important}.mepa-foot-links{display:flex;gap:18px;align-items:flex-start}.mepa-foot-links a{font-size:12px;color:#d0d5dd}.mepa-copy{width:min(1240px,calc(100% - 64px));margin:36px auto 0;padding-top:20px;border-top:1px solid #1f2937;color:#667085;font-size:11px}

@media(max-width:1100px){
 .mepa-nav{gap:18px}.mepa-nav a{font-size:12px}.mepa-logo{width:210px}.authority-content{padding-right:50px}.week-row.active{flex-basis:620px}.week-row{grid-template-columns:48px 1fr 40%}.license-copy{grid-template-columns:1fr 1fr}.license-copy p:nth-child(2){border-right:0}.license-copy p:nth-child(-n+2){border-bottom:1px solid var(--m2-line)}
}
@media(max-width:820px){
 .mepa-wrap{width:calc(100% - 40px)}.mepa-head-inner{width:calc(100% - 36px);height:66px}.mepa-logo{width:190px}.mepa-nav,.mepa-apply-head{display:none}.mepa-menu-btn{display:block;margin-left:auto;color:#fff}.mepa-header.scrolled .mepa-menu-btn{color:var(--m2-ink)}.mepa-mobile-nav{position:absolute;top:66px;left:0;right:0;background:#fff;box-shadow:0 16px 30px rgba(16,24,40,.12);padding:14px 20px;display:none}.mepa-mobile-nav.open{display:grid}.mepa-mobile-nav a{padding:12px 0;border-bottom:1px solid var(--m2-line);color:var(--m2-ink);font-size:14px}
 .hero-section{height:auto;min-height:820px}.hero-inner{padding-top:120px;display:block}.hero-copy h1{font-size:40px}.hero-questions{margin-top:34px}.hero-bottom{display:block;margin-top:34px}.hero-bottom p{margin-top:14px}
 .editorial-section,.story-section,.weeks-section,.curriculum-section,.reviews-section,.fit-price-section,.faq-location-section{padding:86px 0}.two-col,.story-grid,.story-dark,.authority-section,.faq-location-grid,.price-block{grid-template-columns:1fr}.formula-block{grid-template-columns:1fr;padding:26px}.formula-arrow{transform:rotate(90deg)}.authority-photo{min-height:560px}.authority-photo:after{display:none}.authority-content{padding:60px 24px}.authority-checks{grid-template-columns:1fr}.story-image{height:380px}.story-close{grid-template-columns:1fr 1fr}
 .weeks-section .mepa-wrap{display:block}.week-row,.week-row.active{display:grid;grid-template-columns:42px 1fr;min-height:auto;flex:none;margin-bottom:12px;cursor:default}.week-row:not(.active){background:#fff;border-color:var(--m2-line);color:var(--m2-ink)}.week-row:not(.active) .week-num{writing-mode:initial;transform:none;color:var(--m2-blue);margin:0}.week-row:not(.active) .week-copy{position:static;display:block;padding:26px 20px 26px 0}.week-row:not(.active) .week-copy>*{display:block}.week-row:not(.active) .week-copy h3{writing-mode:initial;transform:none;color:var(--m2-ink);font-size:23px}.week-image,.week-row:not(.active) .week-image{display:block;grid-column:1/3;height:300px;min-height:0}.week-copy{padding:26px 20px 26px 0}.week-num{padding:30px 0}.week-copy h3{font-size:23px}
 .curriculum-head{grid-template-columns:1fr;gap:24px}.total-time{grid-column:auto}.qualification-grid,.fit-grid{grid-template-columns:1fr}.license-copy{grid-template-columns:1fr}.license-copy p{border-right:0!important;border-bottom:1px solid var(--m2-line)}.license-copy p:last-child{border-bottom:0}.apply-notice{grid-template-columns:1fr;gap:12px}.reviews-grid.reviews-balanced{margin-right:-20px}.review-card{flex-basis:84vw;min-height:0!important}.review-card-01{flex-basis:88vw}.location-image{height:300px}.mobile-fixed-cta{display:flex;position:fixed;z-index:999;left:12px;right:12px;bottom:12px;height:54px;border-radius:999px;background:var(--m2-blue);color:#fff;align-items:center;justify-content:center;font-size:14px;font-weight:750;box-shadow:0 12px 30px rgba(37,99,235,.28)}.mepa-footer{padding-bottom:92px}.mepa-footer-grid{width:calc(100% - 40px)!important;grid-template-columns:1fr}.mepa-copy{width:calc(100% - 40px)}
}
@media(max-width:520px){
 .mepa-wrap{width:calc(100% - 30px)}.hero-copy h1{font-size:34px}.hero-lead{font-size:15px}.section-title h2,.major-section-title h2,.section-display-title{font-size:30px}.formula-block{margin-top:40px}.authority-photo{min-height:460px}.authority-intro{font-size:18px}.metrics{grid-template-columns:1fr}.story-close{grid-template-columns:1fr}.week-copy h3,.week-row:not(.active) .week-copy h3{font-size:21px}.week-image,.week-row:not(.active) .week-image{height:240px}.schedule-grid{grid-template-columns:1fr}.schedule-grid div{display:block}.schedule-grid span{display:block;text-align:left;margin-top:4px}.qualification-card{padding:26px 20px}.price-card{padding:28px 22px}.final-copy h2{font-size:27px}.final-highlight{font-size:19px!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.week-row,.week-image img{transition:none}}

/* =========================================================
   MEPA2 refinement — NHN Cloud definition selectively applied
   Layout/content preserved. Typography, interaction and motion only.
   ========================================================= */
:root{
  --m2-blue:#125DE6;
  --m2-blue2:#00338F;
  --m2-ink:#111111;
  --m2-text:#51565F;
  --m2-muted:#727781;
  --m2-line:#ECEEF2;
  --m2-soft:#F8F9FA;
  --m2-soft2:#E9F1FF;
  --m2-focus:#125DE6;
}

body,
button,
input,
select,
textarea{
  font-family:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,'Segoe UI','Apple SD Gothic Neo','Noto Sans KR',sans-serif;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Header: transparent over hero → white surface after scroll */
.mepa-head-inner{height:72px}
.mepa-header{transition:background-color .3s ease-out,box-shadow .3s ease-out,color .3s ease-out}
.mepa-logo{width:230px;transition:filter .3s ease-out,opacity .15s cubic-bezier(.4,0,.2,1)}
.mepa-nav a{font-size:15px;font-weight:600;transition:color .15s cubic-bezier(.4,0,.2,1)}
.mepa-nav a:after{height:1px;bottom:-7px;transition:width .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1)}
.mepa-nav a:hover{color:#A6C6FF}
.mepa-header.scrolled .mepa-nav a:hover{color:var(--m2-blue)}
.mepa-apply-head{min-height:42px;display:inline-flex;align-items:center;padding:0 22px;font-size:14px;font-weight:600;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1)}
.mepa-apply-head:hover{transform:translateY(-2px)}

/* Hero: keep the photo dominant; dim only the copy side */
.hero-shade{
  background:linear-gradient(90deg,rgba(4,16,49,.78) 0%,rgba(4,16,49,.62) 34%,rgba(7,19,46,.28) 62%,rgba(7,19,46,.08) 100%),linear-gradient(0deg,rgba(0,0,0,.22),rgba(0,0,0,0) 42%);
}
.hero-copy{max-width:540px}
.hero-copy h1{font-size:48px;line-height:1.29;letter-spacing:-.035em;font-weight:700;margin-bottom:20px}
.hero-lead{font-size:16px;line-height:1.72;font-weight:400}
.brand-kicker{font-size:14px;font-weight:600}
.hero-month strong{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.hero-questions p{font-size:15px;line-height:1.6;font-weight:400}
.hero-bottom strong{font-size:18px;line-height:1.55;font-weight:700}.hero-bottom p{font-size:15px;line-height:1.7}

/* Typography hierarchy */
.section-title h2,.major-section-title h2,.section-display-title{font-size:40px;line-height:1.4;letter-spacing:-.035em;font-weight:700}
.major-section-title p,.section-eyebrow{font-size:12px;font-weight:600}
.section-copy p{font-size:17px;line-height:1.76;font-weight:400}.section-copy .accent-line{font-size:20px;line-height:1.5;font-weight:700}
.formula-block{font-size:16px;line-height:1.72}.editorial-note p{font-size:15px;line-height:1.7}
.authority-intro{font-size:20px;line-height:1.7;font-weight:600}.authority-checks li{font-size:15px;line-height:1.65}
.president-head small{font-weight:600}.president-head h2{font-size:36px;font-weight:700}.metrics strong{font-size:30px;font-weight:700;font-variant-numeric:tabular-nums}.metrics span{font-size:14px;line-height:1.5}
.week-copy h3{font-size:24px;line-height:1.42;font-weight:700}.week-copy h4{font-size:18px;line-height:1.55;font-weight:600}.week-copy p{font-size:17px;line-height:1.76}.flow-line{font-size:15px;line-height:1.7}
.qualification-card h3{font-size:24px;line-height:1.42;font-weight:700}.qualification-card li{font-size:16px;line-height:1.72}.detail-open{font-size:15px;font-weight:600}
.review-card small{font-size:13px;font-weight:600}.review-card p{font-size:16px!important;line-height:1.76!important}.review-card b{font-size:14px;font-weight:600}
.fit-card h3{font-size:24px;font-weight:700}.fit-card p{font-size:16px;line-height:1.72}.price-block h3{font-size:30px;font-weight:700}.price-block>div:first-child p{font-size:16px;line-height:1.72}.price-card h4{font-size:20px;font-weight:700}.price-card p{font-size:15px;line-height:1.72}.price-card .prices{font-size:20px;line-height:1.72;font-variant-numeric:tabular-nums}
.faq-wrap h3,.location-wrap h3{font-size:30px;font-weight:700}.faq-item summary{font-size:16px;line-height:1.55;font-weight:600}.faq-answer,.location-wrap p{font-size:15px;line-height:1.75}
.final-copy p{font-size:16px;line-height:1.75}.final-copy h2{font-size:30px;line-height:1.4;font-weight:700}.final-highlight{font-size:20px!important;line-height:1.65!important;font-weight:600}.final-cta{min-height:42px;align-items:center;padding:0 22px;font-size:14px;font-weight:600}

/* Precision motion: short, state-focused */
.reveal{opacity:0;transform:translateY(12px);transition:opacity .45s ease-out,transform .3s ease-out}
.reveal.show{opacity:1;transform:none}
.delay-1{transition-delay:.05s}.delay-2{transition-delay:.1s}
.week-row{transition:flex-basis .5s ease-out,box-shadow .3s ease-out,border-color .15s cubic-bezier(.4,0,.2,1)}
.week-copy{transition:opacity .3s ease-out}
.week-image img{transition:transform .3s ease-out}
.week-row.active:hover .week-image img{transform:scale(1.015)}
.detail-open,.final-cta,.apply-notice a{transition:color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1)}
.final-cta:hover,.apply-notice a:hover{transform:translateY(-2px);background:#00338F}

/* Cards: no exaggerated floating */
.metrics div,.fit-card,.qualification-card,.review-card,.price-card,.apply-notice{transition:border-color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1)}
.metrics div:hover,.fit-card:hover,.qualification-card:hover{box-shadow:0 8px 24px rgba(16,24,40,.06);border-color:#D9E3F5}

/* Keyboard focus */
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--m2-focus);outline-offset:3px;border-radius:4px}
.mepa-apply-head:focus-visible,.final-cta:focus-visible,.apply-notice a:focus-visible,.mobile-fixed-cta:focus-visible{border-radius:999px}

@media(max-width:820px){
  .mepa-head-inner{height:64px}.mepa-mobile-nav{top:64px}
  .hero-copy h1{font-size:26px;line-height:1.31;letter-spacing:-.025em}.hero-lead{font-size:15px;line-height:1.73}.hero-questions p{font-size:15px}
  .section-title h2,.major-section-title h2,.section-display-title{font-size:22px;line-height:1.45}
  .section-copy p,.week-copy p,.fit-card p,.price-block>div:first-child p,.final-copy p{font-size:15px;line-height:1.73}
  .week-copy h3,.week-row:not(.active) .week-copy h3{font-size:20px;line-height:1.5}.week-copy h4{font-size:16px}
  .review-card p{font-size:15px!important;line-height:1.73!important}
  .faq-item summary{font-size:15px}.faq-answer,.location-wrap p{font-size:15px;line-height:1.73}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.15s!important}
  .reveal{opacity:1!important;transform:none!important}
  .week-image img{transform:none!important}
}

/* 2026-08-21: inactive WEEK tab number direction fix */
@media (min-width:901px){
  .week-row:not(.active) .week-num{
    writing-mode:horizontal-tb;
    text-orientation:mixed;
    position:absolute;
    top:24px;
    left:0;
    width:100%;
    padding:0;
    margin:0;
    text-align:center;
    line-height:1;
    letter-spacing:.08em;
    z-index:3;
  }
  .week-row:not(.active) .week-copy{
    inset:58px 12px 20px;
  }
}

/* =========================================================
   MEPА2 motion speed refinement
   Faster, crisp B2B interaction timing
   ========================================================= */
:root{
  --m2-motion-fast:.12s;
  --m2-motion-base:.2s;
  --m2-motion-emphasis:.28s;
}

/* scroll reveal: quick and subtle */
.reveal{
  opacity:0;
  transform:translateY(8px);
  transition:opacity var(--m2-motion-base) ease-out,transform var(--m2-motion-base) ease-out;
}
.reveal.show{opacity:1;transform:none}
.delay-1{transition-delay:.03s}
.delay-2{transition-delay:.06s}

/* header / nav */
.mepa-header{transition:background-color var(--m2-motion-base) ease-out,box-shadow var(--m2-motion-base) ease-out,color var(--m2-motion-base) ease-out}
.mepa-logo{transition:filter var(--m2-motion-base) ease-out,opacity var(--m2-motion-fast) cubic-bezier(.4,0,.2,1)}
.mepa-nav a,.mepa-nav a:after,.mepa-apply-head{transition-duration:var(--m2-motion-fast)}
.mepa-apply-head:hover{transform:translateY(-1px)}

/* 4-week accordion: noticeably quicker */
.week-row{
  transition:flex-basis var(--m2-motion-emphasis) cubic-bezier(.22,.61,.36,1),box-shadow var(--m2-motion-base) ease-out,border-color var(--m2-motion-fast) cubic-bezier(.4,0,.2,1);
}
.week-copy{transition:opacity var(--m2-motion-base) ease-out}
.week-image img{transition:transform var(--m2-motion-base) ease-out}
.week-row.active:hover .week-image img{transform:scale(1.01)}

/* buttons, cards, detail panels */
.detail-open,.final-cta,.apply-notice a{
  transition:color var(--m2-motion-fast) cubic-bezier(.4,0,.2,1),background-color var(--m2-motion-fast) cubic-bezier(.4,0,.2,1),border-color var(--m2-motion-fast) cubic-bezier(.4,0,.2,1),transform var(--m2-motion-fast) cubic-bezier(.4,0,.2,1);
}
.final-cta:hover,.apply-notice a:hover{transform:translateY(-1px)}
.metrics div,.fit-card,.qualification-card,.review-card,.price-card,.apply-notice{
  transition:border-color var(--m2-motion-fast) cubic-bezier(.4,0,.2,1),background-color var(--m2-motion-fast) cubic-bezier(.4,0,.2,1),box-shadow var(--m2-motion-fast) cubic-bezier(.4,0,.2,1);
}

@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
  .week-row,.week-copy,.week-image img,.mepa-header,.mepa-logo,.mepa-nav a,.mepa-nav a:after,.mepa-apply-head,.detail-open,.final-cta,.apply-notice a,.metrics div,.fit-card,.qualification-card,.review-card,.price-card,.apply-notice{transition:none!important}
}


/* =========================================================
   MEPА2 refinement 2026-08-21
   Fast BUT smooth motion + desktop content width refinement
   ========================================================= */
:root{
  --m2-content-max:1280px;
  --m2-page-gutter:48px;
  --m2-ease-smooth:cubic-bezier(.22,.61,.36,1);
  --m2-ease-ui:cubic-bezier(.4,0,.2,1);
  --m2-motion-fast:.18s;
  --m2-motion-base:.28s;
  --m2-motion-emphasis:.38s;
}

/* Main desktop grid: keep generous breathing room while using the viewport better */
.mepa-wrap{
  width:min(var(--m2-content-max),calc(100% - (var(--m2-page-gutter) * 2)));
  margin-left:auto;
  margin-right:auto;
}
.mepa-head-inner{
  width:min(1440px,calc(100% - (var(--m2-page-gutter) * 2)));
}

/* Fast enough to feel responsive, long enough to interpolate smoothly */
.reveal{
  opacity:0;
  transform:translate3d(0,10px,0);
  transition:
    opacity var(--m2-motion-base) var(--m2-ease-smooth),
    transform var(--m2-motion-emphasis) var(--m2-ease-smooth);
  will-change:opacity,transform;
}
.reveal.show{
  opacity:1;
  transform:translate3d(0,0,0);
}
.delay-1{transition-delay:.04s}
.delay-2{transition-delay:.08s}

/* Header transition */
.mepa-header{
  transition:
    background-color var(--m2-motion-base) ease-out,
    box-shadow var(--m2-motion-base) ease-out,
    color var(--m2-motion-base) ease-out;
}
.mepa-logo{
  transition:
    filter var(--m2-motion-base) ease-out,
    opacity var(--m2-motion-fast) var(--m2-ease-ui);
}
.mepa-nav a,
.mepa-nav a:after,
.mepa-apply-head{
  transition-duration:var(--m2-motion-fast);
  transition-timing-function:var(--m2-ease-ui);
}

/* Week accordion: quick response without the 'snap' feeling */
.week-row{
  transition:
    flex-basis var(--m2-motion-emphasis) var(--m2-ease-smooth),
    box-shadow var(--m2-motion-base) var(--m2-ease-ui),
    border-color var(--m2-motion-fast) var(--m2-ease-ui),
    background-color var(--m2-motion-fast) var(--m2-ease-ui);
  will-change:flex-basis;
}
.week-copy{
  transition:
    opacity var(--m2-motion-base) var(--m2-ease-smooth);
}
.week-image img{
  transition:
    transform var(--m2-motion-emphasis) var(--m2-ease-smooth),
    filter var(--m2-motion-base) var(--m2-ease-ui);
  will-change:transform;
}
.week-row.active:hover .week-image img{transform:scale(1.012)}

/* UI micro interactions */
.detail-open,
.final-cta,
.apply-notice a{
  transition:
    color var(--m2-motion-fast) var(--m2-ease-ui),
    background-color var(--m2-motion-fast) var(--m2-ease-ui),
    border-color var(--m2-motion-fast) var(--m2-ease-ui),
    transform var(--m2-motion-fast) var(--m2-ease-smooth);
}
.final-cta:hover,
.apply-notice a:hover{transform:translate3d(0,-1px,0)}

.metrics div,
.fit-card,
.qualification-card,
.review-card,
.price-card,
.apply-notice{
  transition:
    border-color var(--m2-motion-fast) var(--m2-ease-ui),
    background-color var(--m2-motion-fast) var(--m2-ease-ui),
    box-shadow var(--m2-motion-base) var(--m2-ease-ui);
}

/* Intermediate desktop/tablet gutters */
@media(max-width:1360px){
  :root{--m2-page-gutter:32px}
}
@media(max-width:900px){
  :root{--m2-page-gutter:20px}
  .mepa-wrap{
    width:calc(100% - 40px);
  }
  .mepa-head-inner{
    width:calc(100% - 36px);
  }
}
@media(max-width:560px){
  :root{--m2-page-gutter:15px}
  .mepa-wrap{width:calc(100% - 30px)}
}

@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
  .week-row,.week-copy,.week-image img,.mepa-header,.mepa-logo,.mepa-nav a,.mepa-nav a:after,.mepa-apply-head,.detail-open,.final-cta,.apply-notice a,.metrics div,.fit-card,.qualification-card,.review-card,.price-card,.apply-notice{
    transition:none!important;
  }
}


/* =========================================================
   MEPА2 container width refinement
   Desktop 60px / Tablet 32px / Mobile 20px side gutters
   ========================================================= */
:root{
  --m2-page-gutter:60px;
}

/* Full-width sections/backgrounds remain full bleed.
   Main text/card/grid areas use viewport minus fixed side gutters. */
.mepa-wrap{
  width:calc(100% - (var(--m2-page-gutter) * 2));
  max-width:none;
  margin-left:auto;
  margin-right:auto;
}

.mepa-head-inner{
  width:calc(100% - (var(--m2-page-gutter) * 2));
  max-width:none;
  margin-left:auto;
  margin-right:auto;
}

/* Keep long-form reading widths comfortable inside the wider grid */
.hero-copy,
.section-lead,
.authority-copy,
.story-copy,
.week-copy,
.qualification-card .copy,
.faq-copy,
.final-copy{
  max-width:720px;
}

/* 1440 desktop => 1320px content / 1920 desktop => 1800px content */
@media (max-width:1024px){
  :root{--m2-page-gutter:32px}
}

@media (max-width:640px){
  :root{--m2-page-gutter:20px}
  .mepa-wrap,
  .mepa-head-inner{
    width:calc(100% - 40px);
  }
}


/* =========================================================
   MEPA2 — section-specific width system
   Full-width backgrounds + wide visual sections + focused content sections
   ========================================================= */
:root{
  --m2-shell-wide: calc(100% - 120px);   /* 60px desktop grid */
  --m2-content: 1320px;                   /* NHN-style focused content zone */
  --m2-content-narrow: 1240px;            /* text/list-heavy sections */
  --m2-reading: 720px;
}

/* Base shell: background/full-bleed sections can still use the screen */
.mepa-wrap{
  width:var(--m2-shell-wide);
  max-width:none;
  margin-left:auto;
  margin-right:auto;
}

/* 1. Wide visual sections — intentionally broad */
.weeks-section .mepa-wrap{
  width:var(--m2-shell-wide);
  max-width:none;
}

/* 2. General information sections — centered, not stretched to full shell */
.problem-section > .mepa-wrap,
.story-section > .mepa-wrap,
.curriculum-section > .mepa-wrap,
.fit-price-section > .mepa-wrap,
.faq-location-section > .mepa-wrap,
.reviews-section > .mepa-wrap{
  width:min(var(--m2-content), var(--m2-shell-wide));
  max-width:var(--m2-content);
  margin-left:auto;
  margin-right:auto;
}

/* 3. Curriculum is more text/list heavy: keep it slightly tighter */
.curriculum-section > .mepa-wrap{
  width:min(var(--m2-content-narrow), var(--m2-shell-wide));
  max-width:var(--m2-content-narrow);
}

/* 4. Authority remains split/full width, but its copy is constrained */
.authority-section{
  width:100%;
}
.authority-content{
  max-width:700px;
}

/* 5. Story and split-information blocks: keep readable columns */
.story-grid,
.two-col,
.faq-location-grid,
.price-block{
  column-gap:clamp(72px,6vw,96px);
}
.story-copy,
.section-copy,
.price-block > div:first-child,
.faq-wrap{
  max-width:620px;
}

/* 6. Section title baseline and lead width */
.major-section-title,
.weeks-head{
  max-width:640px;
}
.major-section-title{
  margin-left:0;
  margin-right:0;
}

/* 7. Curriculum schedule: NHN-like centered two-column list inside focused width */
.curriculum-head{
  grid-template-columns:300px minmax(0,1fr);
  gap:56px;
}
.schedule-grid{
  grid-template-columns:1fr 1fr;
  column-gap:40px;
}
.schedule-grid div{
  min-width:0;
}

/* 8. Qualification/cards stay inside the focused content width */
.qualification-grid,
.license-copy,
.detail-area{
  width:100%;
  max-width:none;
}

/* 9. Reviews can breathe slightly wider but still stay centered */
.reviews-section > .mepa-wrap{
  width:min(1380px, var(--m2-shell-wide));
  max-width:1380px;
}

/* 10. Footer/header retain the 60px desktop system */
.mepa-head-inner,
.mepa-footer-grid,
.mepa-copy{
  width:var(--m2-shell-wide)!important;
  max-width:none!important;
  margin-left:auto;
  margin-right:auto;
}

/* Laptop: 40px outer grid, focused content still capped */
@media (min-width:1024px) and (max-width:1279px){
  :root{
    --m2-shell-wide: calc(100% - 80px);
    --m2-content: 1180px;
    --m2-content-narrow: 1100px;
  }
}

/* Tablet: 32px outer grid; information sections use full available content width */
@media (min-width:768px) and (max-width:1023px){
  :root{
    --m2-shell-wide: calc(100% - 64px);
    --m2-content: 100%;
    --m2-content-narrow: 100%;
  }
  .problem-section > .mepa-wrap,
  .story-section > .mepa-wrap,
  .curriculum-section > .mepa-wrap,
  .fit-price-section > .mepa-wrap,
  .faq-location-section > .mepa-wrap,
  .reviews-section > .mepa-wrap,
  .weeks-section .mepa-wrap{
    width:var(--m2-shell-wide);
    max-width:none;
  }
  .curriculum-head{
    grid-template-columns:1fr;
    gap:28px;
  }
}

/* Mobile: exact 20px gutters, one content width */
@media (max-width:767px){
  :root{
    --m2-shell-wide: calc(100% - 40px);
    --m2-content: 100%;
    --m2-content-narrow: 100%;
  }
  .mepa-wrap,
  .problem-section > .mepa-wrap,
  .story-section > .mepa-wrap,
  .curriculum-section > .mepa-wrap,
  .fit-price-section > .mepa-wrap,
  .faq-location-section > .mepa-wrap,
  .reviews-section > .mepa-wrap,
  .weeks-section .mepa-wrap,
  .mepa-head-inner,
  .mepa-footer-grid,
  .mepa-copy{
    width:var(--m2-shell-wide)!important;
    max-width:none!important;
  }
}


/* =========================================================
   CURRICULUM schedule — NHN service-list benchmark
   MPFI/MPRI cards below are intentionally untouched.
   ========================================================= */
.curriculum-section .major-section-title{
  margin-bottom:48px;
}
.curriculum-section .major-section-title p{
  font-size:12px;
  line-height:16px;
  font-weight:700;
  letter-spacing:.18em;
  color:#125de6;
  margin:0 0 14px;
}
.curriculum-section .major-section-title h2{
  font-size:40px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:-.035em;
  color:#111;
  margin:0;
}

.curriculum-head--service{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:70px;
  padding:0;
  border:0;
  align-items:start;
}
.curriculum-head-copy{
  padding-top:6px;
}
.curriculum-head--service .curriculum-head-copy h2{
  font-size:28px;
  line-height:1.45;
  font-weight:600;
  letter-spacing:-.03em;
  color:#111827;
  margin:0 0 22px;
}
.curriculum-total{
  font-size:16px;
  line-height:1.55;
  font-weight:600;
  color:#344054;
  margin:0 0 8px;
}
.curriculum-note{
  max-width:230px;
  font-size:13px;
  line-height:1.7;
  font-weight:400;
  color:#98a2b3;
  margin:0;
}

.schedule-grid--service{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:42px;
  row-gap:0;
}
.schedule-grid--service .schedule-service-item{
  position:relative;
  display:grid;
  grid-template-columns:76px minmax(0,1fr) 28px;
  align-items:center;
  gap:20px;
  min-height:132px;
  padding:24px 0;
  border-bottom:1px solid #e2e6ec;
}
.schedule-icon{
  width:76px;
  height:76px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #dce2ea;
  border-radius:14px;
  background:#fff;
}
.schedule-icon img{
  width:42px;
  height:42px;
  display:block;
}
.schedule-text{
  min-width:0;
}
.schedule-text b{
  display:block;
  font-size:13px;
  line-height:1.35;
  font-weight:500;
  color:#98a2b3;
  letter-spacing:0;
  margin:0 0 5px;
}
.schedule-text strong{
  display:block;
  font-size:18px;
  line-height:1.45;
  font-weight:700;
  letter-spacing:-.025em;
  color:#111;
  margin:0 0 7px;
  word-break:keep-all;
}
.schedule-text span{
  display:block;
  font-size:16px;
  line-height:1.65;
  font-weight:400;
  color:#51565f;
  text-align:left;
  word-break:keep-all;
}
.schedule-service-item > i{
  font-style:normal;
  font-size:28px;
  line-height:1;
  font-weight:300;
  color:#c2c8d0;
  justify-self:end;
  transition:transform .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1);
}
.schedule-service-item:hover > i{
  transform:translateX(4px);
  color:#125de6;
}
.schedule-service-item:hover .schedule-icon{
  border-color:#bfd2f7;
  background:#f8fbff;
}

/* Keep existing qualifications visually separated from the schedule list */
.qualification-grid{
  margin-top:72px;
}

@media (max-width:1100px){
  .curriculum-head--service{
    grid-template-columns:220px minmax(0,1fr);
    gap:42px;
  }
  .schedule-grid--service{
    column-gap:28px;
  }
  .schedule-grid--service .schedule-service-item{
    grid-template-columns:66px minmax(0,1fr) 24px;
    gap:16px;
  }
  .schedule-icon{
    width:66px;
    height:66px;
  }
  .schedule-icon img{
    width:36px;
    height:36px;
  }
  .schedule-text strong{
    font-size:17px;
  }
  .schedule-text span{
    font-size:15px;
  }
}

@media (max-width:900px){
  .curriculum-head--service{
    grid-template-columns:1fr;
    gap:28px;
  }
  .curriculum-note{
    max-width:600px;
  }
  .schedule-grid--service{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  .curriculum-section .major-section-title{
    margin-bottom:36px;
  }
  .curriculum-section .major-section-title p{
    font-size:11px;
    margin-bottom:10px;
  }
  .curriculum-section .major-section-title h2{
    font-size:28px;
    line-height:1.4;
  }
  .curriculum-head--service .curriculum-head-copy h2{
    font-size:22px;
    margin-bottom:14px;
  }
  .curriculum-total{
    font-size:15px;
  }
  .curriculum-note{
    font-size:12px;
  }
  .schedule-grid--service .schedule-service-item{
    grid-template-columns:58px minmax(0,1fr) 20px;
    gap:14px;
    min-height:104px;
    padding:18px 0;
  }
  .schedule-icon{
    width:58px;
    height:58px;
    border-radius:12px;
  }
  .schedule-icon img{
    width:32px;
    height:32px;
  }
  .schedule-text b{
    font-size:11px;
  }
  .schedule-text strong{
    font-size:15px;
    margin-bottom:4px;
  }
  .schedule-text span{
    font-size:14px;
  }
  .schedule-service-item > i{
    font-size:22px;
  }
  .qualification-grid{
    margin-top:52px;
  }
}


/* =========================================================
   CURRICULUM — NHN "주요 서비스" layout match
   Title above / 2 columns x 3 rows / icon + label + title + description + arrow
   ========================================================= */
.curriculum-section{
  background:#f8f9fb;
  padding:118px 0 132px;
}
.curriculum-section > .mepa-wrap{
  width:min(1320px,calc(100% - 120px));
  max-width:1320px;
}

.curriculum-section .major-section-title{
  max-width:none;
  margin:0 0 18px;
}
.curriculum-section .major-section-title p{
  font-size:12px;
  line-height:16px;
  font-weight:700;
  letter-spacing:.18em;
  color:#125de6;
  margin:0 0 10px;
}
.curriculum-section .major-section-title h2{
  font-size:40px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:-.035em;
  color:#111;
  margin:0;
}

.curriculum-service-intro{
  margin:0 0 46px;
}
.curriculum-service-intro h3{
  margin:0 0 10px;
  font-size:28px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:-.03em;
  color:#111;
}
.curriculum-service-intro p{
  margin:0;
  font-size:15px;
  line-height:1.7;
  font-weight:400;
  color:#667085;
}

.schedule-grid--nhn{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:54px;
  row-gap:0;
}

.schedule-grid--nhn .schedule-service-item{
  display:grid;
  grid-template-columns:86px minmax(0,1fr) 34px;
  align-items:center;
  gap:20px;
  min-height:142px;
  padding:22px 0;
  border-bottom:1px solid #dfe3e8;
  background:transparent;
}

.schedule-grid--nhn .schedule-icon{
  width:86px;
  height:86px;
  border:1px solid #d8dee6;
  border-radius:14px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}
.schedule-grid--nhn .schedule-icon img{
  width:44px;
  height:44px;
  display:block;
  object-fit:contain;
}

.schedule-grid--nhn .schedule-text{
  min-width:0;
}
.schedule-grid--nhn .schedule-text b{
  display:block;
  margin:0 0 5px;
  font-size:12px;
  line-height:1.4;
  font-weight:500;
  color:#98a2b3;
  letter-spacing:0;
}
.schedule-grid--nhn .schedule-text strong{
  display:block;
  margin:0 0 8px;
  font-size:18px;
  line-height:1.42;
  font-weight:700;
  letter-spacing:-.025em;
  color:#111;
  word-break:keep-all;
}
.schedule-grid--nhn .schedule-text span{
  display:block;
  margin:0;
  font-size:15px;
  line-height:1.65;
  font-weight:400;
  color:#51565f;
  text-align:left;
  word-break:keep-all;
}

.schedule-grid--nhn .schedule-service-item > i{
  justify-self:end;
  font-style:normal;
  font-size:28px;
  line-height:1;
  font-weight:300;
  color:#bdc4ce;
  transition:
    transform .16s cubic-bezier(.4,0,.2,1),
    color .16s cubic-bezier(.4,0,.2,1);
}
.schedule-grid--nhn .schedule-service-item:hover > i{
  transform:translateX(4px);
  color:#125de6;
}
.schedule-grid--nhn .schedule-service-item:hover .schedule-icon{
  border-color:#bed0f2;
  background:#fff;
}

/* qualification cards below remain as the original MEPA layout */
.curriculum-section .qualification-grid{
  margin-top:76px;
}

@media (max-width:1279px){
  .curriculum-section > .mepa-wrap{
    width:calc(100% - 80px);
    max-width:none;
  }
  .schedule-grid--nhn{
    column-gap:38px;
  }
  .schedule-grid--nhn .schedule-service-item{
    grid-template-columns:76px minmax(0,1fr) 30px;
    gap:16px;
  }
  .schedule-grid--nhn .schedule-icon{
    width:76px;
    height:76px;
  }
  .schedule-grid--nhn .schedule-icon img{
    width:40px;
    height:40px;
  }
}

@media (max-width:900px){
  .curriculum-section > .mepa-wrap{
    width:calc(100% - 64px);
  }
  .schedule-grid--nhn{
    grid-template-columns:1fr;
  }
  .curriculum-service-intro{
    margin-bottom:30px;
  }
}

@media (max-width:767px){
  .curriculum-section{
    padding:84px 0 96px;
  }
  .curriculum-section > .mepa-wrap{
    width:calc(100% - 40px);
  }
  .curriculum-section .major-section-title{
    margin-bottom:16px;
  }
  .curriculum-section .major-section-title h2{
    font-size:28px;
  }
  .curriculum-service-intro h3{
    font-size:22px;
  }
  .curriculum-service-intro p{
    font-size:14px;
  }
  .schedule-grid--nhn .schedule-service-item{
    grid-template-columns:62px minmax(0,1fr) 22px;
    gap:14px;
    min-height:112px;
    padding:18px 0;
  }
  .schedule-grid--nhn .schedule-icon{
    width:62px;
    height:62px;
    border-radius:12px;
  }
  .schedule-grid--nhn .schedule-icon img{
    width:34px;
    height:34px;
  }
  .schedule-grid--nhn .schedule-text b{
    font-size:11px;
  }
  .schedule-grid--nhn .schedule-text strong{
    font-size:15px;
    margin-bottom:4px;
  }
  .schedule-grid--nhn .schedule-text span{
    font-size:13px;
  }
  .schedule-grid--nhn .schedule-service-item > i{
    font-size:22px;
  }
  .curriculum-section .qualification-grid{
    margin-top:54px;
  }
}


/* =========================================================
   Curriculum heading center alignment only
   Existing layout/code preserved.
   ========================================================= */
.curriculum-section .major-section-title{
  max-width:none;
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.curriculum-section .major-section-title p,
.curriculum-section .major-section-title h2{
  text-align:center;
}

.curriculum-service-intro{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.curriculum-service-intro h3,
.curriculum-service-intro p{
  text-align:center;
}
.curriculum-service-intro p{
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
}

/* Service list itself stays left aligned for readability */
.schedule-grid--nhn,
.schedule-grid--nhn .schedule-text,
.schedule-grid--nhn .schedule-text span{
  text-align:left;
}


/* =========================================================
   CURRICULUM — MPEA editorial timeline
   Professional program brochure direction:
   no icon cards / typography + line + restrained brand accent
   ========================================================= */

/* Turn off the previous NHN service-list presentation */
.schedule-grid--nhn{display:none!important}

/* Heading remains centered as requested */
.curriculum-section .major-section-title,
.curriculum-service-intro{
  text-align:center;
}
.curriculum-service-intro{
  margin-bottom:64px;
}
.curriculum-service-intro h3{
  font-size:28px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:-.035em;
  margin-bottom:10px;
}
.curriculum-service-intro p{
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
  font-size:15px;
  line-height:1.7;
  color:#667085;
}

/* Main 5-step schedule */
.curriculum-timeline{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  width:100%;
  border-bottom:1px solid #d9dee7;
}

.curriculum-stage{
  position:relative;
  min-height:250px;
  padding:0 30px 38px;
  border-left:1px solid #e2e6ed;
}
.curriculum-stage:first-child{
  border-left:0;
  padding-left:0;
}
.curriculum-stage:last-child{
  padding-right:0;
}

.stage-top{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:14px;
  margin-bottom:22px;
}
.stage-index{
  display:block;
  font-size:42px;
  line-height:1;
  font-weight:500;
  letter-spacing:-.055em;
  color:#18243a;
  font-variant-numeric:tabular-nums;
}
.stage-label{
  display:block;
  font-size:11px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:.12em;
  color:#9aa5b5;
  text-transform:uppercase;
}

.stage-line{
  position:relative;
  width:100%;
  height:2px;
  margin-bottom:28px;
  background:#d8dde6;
  overflow:hidden;
}
.stage-line span{
  position:absolute;
  inset:0 auto 0 0;
  width:32%;
  background:#173b70;
}
.curriculum-stage--final .stage-line span{
  width:100%;
  background:#ef7c68;
}

.curriculum-stage h4{
  margin:0 0 12px;
  max-width:210px;
  font-size:18px;
  line-height:1.5;
  font-weight:700;
  letter-spacing:-.025em;
  color:#101828;
  word-break:keep-all;
}
.curriculum-stage p{
  margin:0;
  max-width:210px;
  font-size:14px;
  line-height:1.72;
  font-weight:400;
  color:#667085;
  word-break:keep-all;
}

/* Final week gets one restrained accent */
.curriculum-stage--final .stage-index{
  color:#ef7c68;
}
.curriculum-stage--final .stage-label{
  color:#d26959;
}

/* Total summary: editorial strip, not another card */
.curriculum-summary{
  display:grid;
  grid-template-columns:190px minmax(0,1fr) auto;
  align-items:center;
  gap:38px;
  margin-top:34px;
  padding:30px 0 0;
}
.summary-number{
  display:flex;
  align-items:flex-end;
  gap:8px;
  white-space:nowrap;
}
.summary-number small{
  align-self:flex-start;
  padding-top:7px;
  font-size:10px;
  line-height:1;
  font-weight:700;
  letter-spacing:.14em;
  color:#98a2b3;
}
.summary-number strong{
  font-size:58px;
  line-height:.9;
  font-weight:500;
  letter-spacing:-.06em;
  color:#173b70;
  font-variant-numeric:tabular-nums;
}
.summary-number em{
  padding-bottom:4px;
  font-size:11px;
  line-height:1;
  font-style:normal;
  font-weight:700;
  letter-spacing:.08em;
  color:#98a2b3;
}

.summary-copy{
  padding-left:38px;
  border-left:1px solid #dfe3ea;
}
.summary-copy b{
  display:block;
  margin:0 0 6px;
  font-size:16px;
  line-height:1.5;
  font-weight:700;
  color:#101828;
}
.summary-copy p{
  margin:0;
  font-size:13px;
  line-height:1.7;
  color:#7a8494;
}

.summary-word{
  align-self:end;
  padding-bottom:4px;
  font-size:10px;
  line-height:1.4;
  font-weight:600;
  letter-spacing:.16em;
  color:#b0b7c2;
  white-space:nowrap;
}

/* More separation before MPFI/MPRI without changing those cards */
.curriculum-section .qualification-grid{
  margin-top:92px;
}

@media (max-width:1100px){
  .curriculum-timeline{
    grid-template-columns:repeat(3,1fr);
    border-bottom:0;
  }
  .curriculum-stage{
    min-height:220px;
    padding:0 24px 34px;
    border-bottom:1px solid #d9dee7;
  }
  .curriculum-stage:nth-child(4){
    border-left:0;
    padding-left:0;
    padding-top:34px;
  }
  .curriculum-stage:nth-child(5){
    padding-top:34px;
  }
  .curriculum-summary{
    grid-template-columns:160px 1fr;
  }
  .summary-word{display:none}
}

@media (max-width:767px){
  .curriculum-service-intro{
    margin-bottom:50px;
  }
  .curriculum-service-intro h3{
    font-size:22px;
  }

  .curriculum-timeline{
    display:block;
  }
  .curriculum-stage,
  .curriculum-stage:first-child,
  .curriculum-stage:last-child,
  .curriculum-stage:nth-child(4),
  .curriculum-stage:nth-child(5){
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    grid-template-areas:
      "top top"
      "line line"
      "title desc";
    column-gap:20px;
    min-height:0;
    padding:24px 0;
    border-left:0;
    border-bottom:1px solid #dfe3e9;
  }
  .stage-top{
    grid-area:top;
    margin-bottom:14px;
  }
  .stage-index{
    font-size:34px;
  }
  .stage-line{
    grid-area:line;
    margin-bottom:18px;
  }
  .curriculum-stage h4{
    grid-area:title;
    margin:0;
    font-size:16px;
  }
  .curriculum-stage p{
    grid-area:desc;
    font-size:13px;
  }

  .curriculum-summary{
    display:block;
    margin-top:26px;
    padding-top:24px;
  }
  .summary-number{
    margin-bottom:18px;
  }
  .summary-number strong{
    font-size:48px;
  }
  .summary-copy{
    padding-left:0;
    padding-top:18px;
    border-left:0;
    border-top:1px solid #dfe3ea;
  }

  .curriculum-section .qualification-grid{
    margin-top:66px;
  }
}


/* =========================================================
   Curriculum TOTAL — single professional table / centered emphasis
   ========================================================= */
.curriculum-summary--table{
  display:grid;
  grid-template-columns:88px 220px 210px minmax(0,1fr);
  align-items:center;
  gap:0;
  width:100%;
  margin-top:34px;
  padding:0;
  border-top:1px solid #cfd6e1;
  border-bottom:1px solid #cfd6e1;
  background:#fff;
}

.curriculum-summary--table > div{
  min-height:118px;
  display:flex;
  align-items:center;
  padding:24px 28px;
  border-left:1px solid #e1e5eb;
}
.curriculum-summary--table > div:first-child{
  border-left:0;
}

.summary-icon{
  justify-content:center;
}
.summary-icon img{
  width:44px;
  height:44px;
  display:block;
}

.summary-heading{
  flex-direction:column;
  align-items:flex-start!important;
  justify-content:center;
}
.summary-heading small{
  display:block;
  margin:0 0 7px;
  font-size:10px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.15em;
  color:#98a2b3;
}
.summary-heading strong{
  display:block;
  font-size:17px;
  line-height:1.45;
  font-weight:700;
  color:#101828;
  letter-spacing:-.025em;
}

.summary-hours{
  justify-content:center;
  gap:10px;
  background:#f7f9fc;
}
.summary-hours strong{
  display:block;
  font-size:56px;
  line-height:.9;
  font-weight:500;
  letter-spacing:-.055em;
  color:#173b70;
  font-variant-numeric:tabular-nums;
}
.summary-hours span{
  align-self:flex-end;
  padding-bottom:5px;
  font-size:15px;
  line-height:1;
  font-weight:700;
  color:#475467;
}

.summary-note{
  justify-content:center;
}
.summary-note p{
  width:100%;
  margin:0;
  font-size:14px;
  line-height:1.75;
  font-weight:400;
  color:#667085;
  text-align:center;
  word-break:keep-all;
}

/* Overall block is centered visually, but information remains readable */
.curriculum-summary--table{
  max-width:1080px;
  margin-left:auto;
  margin-right:auto;
}

/* qualification section keeps enough separation */
.curriculum-summary--table + .qualification-grid,
.curriculum-section .qualification-grid{
  margin-top:84px;
}

@media (max-width:1000px){
  .curriculum-summary--table{
    grid-template-columns:76px 190px 180px minmax(0,1fr);
  }
  .curriculum-summary--table > div{
    padding:20px;
  }
  .summary-hours strong{
    font-size:48px;
  }
}

@media (max-width:767px){
  .curriculum-summary--table{
    grid-template-columns:70px minmax(0,1fr) 120px;
    max-width:none;
  }
  .curriculum-summary--table > div{
    min-height:92px;
    padding:17px 14px;
  }
  .summary-note{
    grid-column:1 / -1;
    min-height:auto!important;
    border-left:0!important;
    border-top:1px solid #e1e5eb;
    padding:16px 14px!important;
  }
  .summary-note p{
    font-size:12px;
  }
  .summary-heading strong{
    font-size:15px;
  }
  .summary-hours{
    gap:6px;
  }
  .summary-hours strong{
    font-size:40px;
  }
  .summary-hours span{
    font-size:13px;
  }
  .summary-icon img{
    width:36px;
    height:36px;
  }
}


/* =========================================================
   Curriculum TOTAL refinement
   - summary table width matches timeline exactly
   - 20 hours becomes the visual focal point
   ========================================================= */
.curriculum-summary--table{
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
  grid-template-columns:88px 220px 240px minmax(0,1fr);
  border-top:1px solid #cfd6e1;
  border-bottom:1px solid #cfd6e1;
}

/* stronger total-hours cell without making the section playful */
.curriculum-summary--table .summary-hours{
  min-height:118px;
  background:#173b70;
  justify-content:center;
  gap:10px;
}
.curriculum-summary--table .summary-hours strong{
  font-size:64px;
  line-height:.88;
  font-weight:600;
  color:#fff;
  letter-spacing:-.06em;
}
.curriculum-summary--table .summary-hours span{
  padding-bottom:6px;
  font-size:15px;
  font-weight:700;
  color:#ef9a88;
}

/* Slightly strengthen the heading so the block reads as one table */
.curriculum-summary--table .summary-heading strong{
  font-size:18px;
  color:#101828;
}
.curriculum-summary--table .summary-heading small{
  color:#8792a3;
}

/* Keep note centered and visually balanced across the same width */
.curriculum-summary--table .summary-note{
  min-height:118px;
}
.curriculum-summary--table .summary-note p{
  max-width:560px;
  margin-left:auto;
  margin-right:auto;
}

/* Exact visual alignment with the timeline above */
.curriculum-timeline,
.curriculum-summary--table{
  box-sizing:border-box;
}

@media (max-width:1000px){
  .curriculum-summary--table{
    grid-template-columns:76px 180px 210px minmax(0,1fr);
  }
  .curriculum-summary--table .summary-hours strong{
    font-size:56px;
  }
}

@media (max-width:767px){
  .curriculum-summary--table{
    grid-template-columns:64px minmax(0,1fr) 130px;
  }
  .curriculum-summary--table .summary-hours{
    min-height:92px;
  }
  .curriculum-summary--table .summary-hours strong{
    font-size:44px;
  }
  .curriculum-summary--table .summary-hours span{
    font-size:12px;
  }
}


/* =========================================================
   MPFI / MPRI — wide two-row editorial program layout
   Real MPEA education photos + 2-column curriculum list.
   ========================================================= */
.curriculum-section .qualification-programs{
  display:grid;
  grid-template-columns:1fr;
  gap:26px;
  margin-top:92px;
}
.curriculum-section .qualification-program{
  display:grid;
  grid-template-columns:260px 300px minmax(0,1fr);
  grid-template-areas:
    "photo head list"
    "detail detail detail";
  border-top:1px solid #cfd6e1;
  border-bottom:1px solid #cfd6e1;
  background:#fff;
  overflow:hidden;
}
.qp-photo{
  grid-area:photo;
  position:relative;
  min-height:390px;
  overflow:hidden;
  background:#e9edf3;
}
.qp-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(10,21,42,.02),rgba(10,21,42,.30));
}
.qp-photo img{
  width:100%;
  height:100%;
  min-height:390px;
  object-fit:cover;
  object-position:58% 45%;
  display:block;
  transition:transform .42s cubic-bezier(.22,.61,.36,1);
}
.qualification-program--reverse .qp-photo img{object-position:62% 45%}
.qualification-program:hover .qp-photo img{transform:scale(1.015)}
.qp-photo-label{
  position:absolute;
  left:20px;
  bottom:18px;
  z-index:2;
  font-size:9px;
  font-weight:700;
  letter-spacing:.16em;
  color:rgba(255,255,255,.9);
}
.qp-head{
  grid-area:head;
  padding:34px 30px;
  border-right:1px solid #e1e5eb;
}
.qp-index{
  display:block;
  margin-bottom:40px;
  font-size:42px;
  line-height:1;
  font-weight:500;
  letter-spacing:-.055em;
  color:#d6dce5;
}
.qp-code{
  display:inline-flex;
  align-items:center;
  height:26px;
  padding:0 9px;
  margin-bottom:14px;
  border-radius:999px;
  background:#eef4ff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
  color:#173b70;
}
.qualification-program--reverse .qp-code{
  background:#fff0ed;
  color:#c86150;
}
.qp-head h3{
  margin:0 0 8px;
  font-size:21px;
  line-height:1.45;
  font-weight:700;
  letter-spacing:-.035em;
  color:#101828;
  word-break:keep-all;
}
.qp-head small{
  display:block;
  max-width:235px;
  font-size:11px;
  line-height:1.55;
  color:#98a2b3;
}
.qp-list{
  grid-area:list;
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:27px 34px 0;
}
.qp-list ul{
  counter-reset:module;
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:34px;
  list-style:none;
  margin:0;
  padding:0;
  border:0;
}
.qp-list li{
  counter-increment:module;
  position:relative;
  min-height:58px;
  padding:11px 0 11px 36px;
  border-bottom:1px solid #edf0f4;
  font-size:13px;
  line-height:1.6;
  color:#475467;
  word-break:keep-all;
}
.qp-list li:before{
  content:counter(module, decimal-leading-zero);
  position:absolute;
  left:0;
  top:13px;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  color:#a3acb9;
}
.qp-more{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:58px;
  margin-top:auto!important;
  padding:16px 0!important;
  border:0!important;
  border-top:1px solid #d9dfe8!important;
  background:transparent!important;
  color:#173b70!important;
  text-align:left;
}
.qualification-program--reverse .qp-more{color:#b95748!important}
.qp-more span{
  font-size:13px;
  font-weight:700;
}
.qp-more span b{
  margin-right:12px;
  font-size:9px;
  letter-spacing:.14em;
  color:#98a2b3;
}
.qp-more i{
  font-style:normal;
  font-size:24px;
  transition:transform .2s cubic-bezier(.4,0,.2,1);
}
.qp-more:hover i{transform:translateX(5px)}
.qp-more.active i{transform:rotate(90deg)}
.qp-detail{
  grid-area:detail;
  display:none;
  margin:0!important;
  padding:34px 36px!important;
  border-radius:0!important;
  border-top:1px solid #dfe4eb;
  background:#f5f7fa!important;
}
.qp-detail.open{
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:40px;
}
.qp-detail h5{
  grid-column:1/-1;
  margin:0 0 4px!important;
  font-size:15px!important;
  line-height:1.5;
  color:#101828;
}
.qp-detail p{
  margin:0!important;
  font-size:13px!important;
  line-height:1.9!important;
  color:#475467!important;
}
.curriculum-section .license-copy{margin-top:26px}

@media(max-width:1200px){
  .curriculum-section .qualification-program{
    grid-template-columns:220px 270px minmax(0,1fr);
  }
  .qp-list{padding-left:26px;padding-right:26px}
  .qp-list ul{column-gap:24px}
}
@media(max-width:900px){
  .curriculum-section .qualification-program{
    grid-template-columns:220px minmax(0,1fr);
    grid-template-areas:
      "photo head"
      "photo list"
      "detail detail";
  }
  .qp-head{border-right:0;border-bottom:1px solid #e1e5eb;padding:28px}
  .qp-index{margin-bottom:18px}
  .qp-list{padding:20px 28px 0}
  .qp-list ul{grid-template-columns:1fr}
  .qp-photo,.qp-photo img{min-height:100%}
  .qp-detail.open{grid-template-columns:1fr}
}
@media(max-width:640px){
  .curriculum-section .qualification-program{display:block}
  .qp-photo{height:210px;min-height:210px}
  .qp-photo img{min-height:210px}
  .qp-head{padding:24px 20px 20px}
  .qp-index{font-size:34px;margin-bottom:16px}
  .qp-head h3{font-size:19px}
  .qp-list{padding:4px 20px 0}
  .qp-list li{min-height:auto;padding:12px 0 12px 32px}
  .qp-detail{padding:24px 20px!important}
}


/* =========================================================
   MPFI / MPRI refinement v2
   Wider editorial rows, larger typography, more vertical breathing room
   ========================================================= */

.curriculum-section .qualification-programs{
  gap:40px;
  margin-top:96px;
}

.curriculum-section .qualification-program{
  grid-template-columns:300px 360px minmax(0,1fr);
  min-height:520px;
  border-top:1px solid #c9d1dd;
  border-bottom:1px solid #c9d1dd;
  background:#fff;
}

/* Photo is taller and feels architectural rather than like a thumbnail */
.qp-photo{
  min-height:520px;
}
.qp-photo img{
  min-height:520px;
  object-position:60% 45%;
}
.qualification-program--reverse .qp-photo img{
  object-position:64% 45%;
}
.qp-photo-label{
  left:24px;
  bottom:22px;
  font-size:10px;
  letter-spacing:.18em;
}

/* Program title block gets more breathing room and stronger hierarchy */
.qp-head{
  padding:44px 36px;
}
.qp-index{
  margin-bottom:58px;
  font-size:56px;
  color:#d2d8e2;
}
.qp-code{
  height:30px;
  padding:0 11px;
  margin-bottom:18px;
  font-size:11px;
}
.qp-head h3{
  max-width:300px;
  margin-bottom:12px;
  font-size:28px;
  line-height:1.38;
  letter-spacing:-.045em;
}
.qp-head small{
  max-width:290px;
  font-size:13px;
  line-height:1.6;
}

/* Main curriculum list: larger and less dense */
.qp-list{
  padding:36px 42px 0;
}
.qp-list ul{
  column-gap:42px;
}
.qp-list li{
  min-height:78px;
  padding:18px 0 18px 42px;
  font-size:16px;
  line-height:1.7;
  letter-spacing:-.018em;
}
.qp-list li::before{
  top:21px;
  font-size:11px;
  color:#98a2b3;
}

/* Make the 'detail curriculum' action feel like an intentional footer row */
.qp-more{
  min-height:76px;
  padding:22px 0!important;
  border-top:1px solid #cfd6e1!important;
}
.qp-more span{
  font-size:15px;
}
.qp-more span b{
  margin-right:14px;
  font-size:10px;
}
.qp-more i{
  font-size:28px;
}

/* Expanded details also scale up */
.qp-detail{
  padding:44px 44px!important;
}
.qp-detail.open{
  gap:50px;
}
.qp-detail h5{
  font-size:18px!important;
  line-height:1.55;
  margin-bottom:8px!important;
}
.qp-detail p{
  font-size:15px!important;
  line-height:1.95!important;
}

/* Strengthen distinction between the two rows without card styling */
.qualification-program:first-child .qp-head{
  background:linear-gradient(180deg,#fbfcff 0%,#fff 100%);
}
.qualification-program--reverse .qp-head{
  background:linear-gradient(180deg,#fffaf8 0%,#fff 100%);
}

/* Desktop large screens: allow a generous max width inside current section container */
@media(min-width:1440px){
  .curriculum-section .qualification-program{
    grid-template-columns:320px 380px minmax(0,1fr);
  }
  .qp-head{
    padding-left:40px;
    padding-right:40px;
  }
}

/* Mid-size desktops */
@media(max-width:1200px){
  .curriculum-section .qualification-program{
    grid-template-columns:250px 320px minmax(0,1fr);
    min-height:500px;
  }
  .qp-photo,
  .qp-photo img{
    min-height:500px;
  }
  .qp-head{
    padding:38px 30px;
  }
  .qp-head h3{
    font-size:24px;
  }
  .qp-list{
    padding:30px 30px 0;
  }
  .qp-list li{
    min-height:72px;
    font-size:15px;
  }
}

/* Tablet: retain horizontal feel longer, then stack cleanly */
@media(max-width:980px){
  .curriculum-section .qualification-program{
    grid-template-columns:260px minmax(0,1fr);
    grid-template-areas:
      "photo head"
      "photo list"
      "detail detail";
  }
  .qp-photo,
  .qp-photo img{
    min-height:620px;
  }
  .qp-head{
    padding:34px 30px;
  }
  .qp-index{
    margin-bottom:24px;
    font-size:46px;
  }
  .qp-list{
    padding:22px 30px 0;
  }
  .qp-list ul{
    grid-template-columns:1fr;
  }
  .qp-list li{
    min-height:auto;
    padding:15px 0 15px 38px;
    font-size:15px;
  }
}

/* Mobile */
@media(max-width:640px){
  .curriculum-section .qualification-programs{
    gap:28px;
    margin-top:72px;
  }
  .qp-photo{
    height:260px;
    min-height:260px;
  }
  .qp-photo img{
    min-height:260px;
  }
  .qp-head{
    padding:30px 20px 24px;
  }
  .qp-index{
    font-size:42px;
    margin-bottom:20px;
  }
  .qp-code{
    margin-bottom:14px;
  }
  .qp-head h3{
    max-width:none;
    font-size:23px;
  }
  .qp-head small{
    max-width:none;
    font-size:12px;
  }
  .qp-list{
    padding:12px 20px 0;
  }
  .qp-list li{
    padding:14px 0 14px 34px;
    font-size:14px;
    line-height:1.7;
  }
  .qp-more{
    min-height:64px;
  }
  .qp-more span{
    font-size:14px;
  }
  .qp-detail{
    padding:30px 20px!important;
  }
  .qp-detail h5{
    font-size:16px!important;
  }
  .qp-detail p{
    font-size:14px!important;
  }
}


/* =========================================================
   MPFI / MPRI — alternating sticky image/title + long curriculum text
   ========================================================= */
.curriculum-section .qualification-sticky-section{
  margin-top:96px;
  display:flex;
  flex-direction:column;
  gap:110px;
}

.qualification-sticky-row{
  display:grid;
  grid-template-columns:minmax(360px,42%) minmax(0,58%);
  gap:72px;
  align-items:start;
}
.qualification-sticky-row--right{
  grid-template-columns:minmax(0,58%) minmax(360px,42%);
}

/* Sticky visual/title block */
.qs-media-wrap{
  position:relative;
  min-height:860px;
}
.qs-media-sticky{
  position:sticky;
  top:96px;
}
.qs-photo{
  position:relative;
  height:620px;
  overflow:hidden;
  background:#101828;
}
.qs-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:58% 45%;
  display:block;
  transform:scale(1.002);
}
.qualification-sticky-row--right .qs-photo img{
  object-position:62% 45%;
}
.qs-photo-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(6,17,39,.05) 20%,rgba(6,17,39,.72) 100%);
}
.qs-photo-title{
  position:absolute;
  left:34px;
  right:34px;
  bottom:34px;
  z-index:2;
  color:#fff;
}
.qs-no{
  display:block;
  margin-bottom:22px;
  font-size:58px;
  line-height:.9;
  font-weight:500;
  letter-spacing:-.06em;
  color:rgba(255,255,255,.50);
}
.qs-code{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  margin-bottom:15px;
  border-radius:999px;
  background:#eaf1ff;
  color:#173b70;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
}
.qs-code.coral{
  background:#fff0ed;
  color:#c45d4d;
}
.qs-photo-title h3{
  max-width:430px;
  margin:0 0 9px;
  font-size:30px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:-.045em;
  color:#fff;
  word-break:keep-all;
}
.qs-photo-title small{
  display:block;
  max-width:390px;
  font-size:12px;
  line-height:1.55;
  color:rgba(255,255,255,.72);
}

/* Long content side */
.qs-content{
  min-width:0;
  padding-top:4px;
}
.qs-content-head{
  padding:0 0 28px;
  border-bottom:2px solid #18243a;
}
.qs-content-head span{
  display:block;
  margin-bottom:11px;
  font-size:10px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.16em;
  color:#98a2b3;
}
.qs-content-head h4{
  margin:0;
  font-size:28px;
  line-height:1.45;
  font-weight:700;
  letter-spacing:-.04em;
  color:#101828;
  word-break:keep-all;
}
.qs-list{
  counter-reset:qsitem;
  list-style:none;
  margin:0;
  padding:0;
}
.qs-list li{
  counter-increment:qsitem;
  position:relative;
  min-height:86px;
  display:flex;
  align-items:center;
  padding:22px 20px 22px 58px;
  border-bottom:1px solid #dfe4eb;
  font-size:17px;
  line-height:1.65;
  font-weight:400;
  letter-spacing:-.018em;
  color:#344054;
  word-break:keep-all;
}
.qs-list li::before{
  content:counter(qsitem, decimal-leading-zero);
  position:absolute;
  left:4px;
  top:50%;
  transform:translateY(-50%);
  font-size:11px;
  line-height:1;
  font-weight:700;
  letter-spacing:.08em;
  color:#a2aab7;
}
.qs-list li:nth-child(odd){
  background:#fbfcfd;
}

/* Modal CTA becomes a designed footer line */
.qs-modal-open{
  width:100%;
  min-height:86px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin:24px 0 0;
  padding:0 4px;
  border:0;
  border-top:1px solid #173b70;
  border-bottom:1px solid #173b70;
  background:transparent;
  color:#173b70;
  cursor:pointer;
}
.qualification-sticky-row--right .qs-modal-open{
  color:#b95b4c;
  border-color:#d9968b;
}
.qs-modal-open span{
  font-size:16px;
  line-height:1.4;
  font-weight:700;
}
.qs-modal-open b{
  display:inline-block;
  margin-right:16px;
  font-size:10px;
  letter-spacing:.14em;
  color:#98a2b3;
}
.qs-modal-open i{
  font-style:normal;
  font-size:30px;
  line-height:1;
  transition:transform .2s cubic-bezier(.4,0,.2,1);
}
.qs-modal-open:hover i{
  transform:translate(4px,-4px);
}

/* Modal */
body.qs-modal-lock{overflow:hidden}
.qs-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px;
  opacity:0;
  visibility:hidden;
  transition:opacity .22s ease,visibility .22s ease;
}
.qs-modal.open{
  opacity:1;
  visibility:visible;
}
.qs-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(8,15,30,.72);
  backdrop-filter:blur(5px);
}
.qs-modal-panel{
  position:relative;
  z-index:1;
  width:min(1080px,100%);
  max-height:84vh;
  overflow:auto;
  padding:54px 56px 50px;
  background:#fff;
  box-shadow:0 30px 80px rgba(0,0,0,.22);
  transform:translateY(14px);
  transition:transform .28s cubic-bezier(.22,.61,.36,1);
}
.qs-modal.open .qs-modal-panel{transform:translateY(0)}
.qs-modal-close{
  position:absolute;
  top:20px;
  right:22px;
  width:42px;
  height:42px;
  border:0;
  background:transparent;
  color:#667085;
  font-size:34px;
  line-height:1;
  cursor:pointer;
}
.qs-modal-kicker{
  margin-bottom:12px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  color:#173b70;
}
.qs-modal-kicker.coral{color:#c45d4d}
.qs-modal-panel>h3{
  margin:0 0 34px;
  font-size:32px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:-.04em;
  color:#101828;
}
.qs-modal-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:42px;
}
.qs-modal-grid.one{grid-template-columns:1fr}
.qs-modal-grid section{
  padding-top:22px;
  border-top:1px solid #dfe4eb;
}
.qs-modal-grid h4{
  margin:0 0 15px;
  font-size:18px;
  line-height:1.55;
  color:#101828;
}
.qs-modal-grid p{
  margin:0;
  font-size:15px;
  line-height:1.95;
  color:#475467;
}

/* Hide obsolete inline detail boxes if any legacy markup survives elsewhere */
.qualification-sticky-section + .detail-area{display:none!important}

@media(max-width:1100px){
  .qualification-sticky-row,
  .qualification-sticky-row--right{
    grid-template-columns:minmax(320px,40%) minmax(0,60%);
    gap:48px;
  }
  .qualification-sticky-row--right{
    grid-template-columns:minmax(0,60%) minmax(320px,40%);
  }
  .qs-photo{height:570px}
  .qs-media-wrap{min-height:820px}
  .qs-photo-title h3{font-size:26px}
  .qs-list li{font-size:16px}
}

@media(max-width:850px){
  .qualification-sticky-row,
  .qualification-sticky-row--right{
    display:flex;
    flex-direction:column;
    gap:30px;
  }
  .qualification-sticky-row--right .qs-content{order:2}
  .qualification-sticky-row--right .qs-media-wrap{order:1}
  .qs-media-wrap{
    width:100%;
    min-height:0;
  }
  .qs-media-sticky{
    position:relative;
    top:auto;
  }
  .qs-photo{height:480px}
  .qs-list li{
    min-height:76px;
  }
}

@media(max-width:640px){
  .curriculum-section .qualification-sticky-section{
    margin-top:72px;
    gap:72px;
  }
  .qs-photo{height:360px}
  .qs-photo-title{left:22px;right:22px;bottom:24px}
  .qs-no{font-size:46px;margin-bottom:14px}
  .qs-photo-title h3{font-size:23px}
  .qs-content-head h4{font-size:22px}
  .qs-list li{
    min-height:auto;
    padding:17px 8px 17px 44px;
    font-size:15px;
  }
  .qs-modal-open{min-height:72px}
  .qs-modal-open span{font-size:14px}
  .qs-modal{
    padding:16px;
    align-items:flex-end;
  }
  .qs-modal-panel{
    width:100%;
    max-height:90vh;
    padding:44px 22px 32px;
  }
  .qs-modal-panel>h3{font-size:24px}
  .qs-modal-grid{grid-template-columns:1fr;gap:28px}
  .qs-modal-grid h4{font-size:16px}
  .qs-modal-grid p{font-size:14px}
}


/* =========================================================
   STICKY FIX — keep photo/title fixed until EACH program row ends
   ========================================================= */

/* position:sticky cannot work correctly while an ancestor clips scrolling */
.mepa-main{
  overflow:visible!important;
}
html,
body{
  overflow-x:clip;
}

/* The sticky column must be as tall as the entire opposite text column.
   align-items:start previously made the wrapper end too early. */
.qualification-sticky-row,
.qualification-sticky-row--right{
  align-items:stretch!important;
}

.qs-media-wrap{
  position:relative;
  align-self:stretch;
  height:auto;
  min-height:100%;
}

/* Hold the visual below the fixed header while the row is scrolling */
.qs-media-sticky{
  position:-webkit-sticky;
  position:sticky;
  top:92px;
  z-index:3;
}

/* Keep the visual comfortably inside shorter desktop viewports */
@media (min-width:851px){
  .qs-photo{
    height:min(620px,calc(100vh - 124px));
    min-height:520px;
  }
}

/* Sticky ends naturally at the bottom of each MPFI / MPRI row */
.qualification-sticky-row{
  position:relative;
}

/* Tablet/mobile intentionally revert to normal flow */
@media(max-width:850px){
  .mepa-main{
    overflow:hidden!important;
  }
  .qs-media-wrap{
    min-height:0;
    height:auto;
  }
  .qs-media-sticky{
    position:relative;
    top:auto;
  }
}


/* =========================================================
   FINAL RESTORE — curriculum total-hours summary
   Matches the last approved table-style design.
   ========================================================= */
.curriculum-summary--table{
  display:grid!important;
  grid-template-columns:88px 220px 240px minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:0!important;
  width:100%!important;
  max-width:none!important;
  margin:34px 0 0!important;
  padding:0!important;
  border-top:1px solid #cfd6e1!important;
  border-bottom:1px solid #cfd6e1!important;
  background:#fff!important;
}
.curriculum-summary--table > div{
  min-height:118px!important;
  display:flex!important;
  align-items:center!important;
  padding:24px 28px!important;
  border-left:1px solid #e1e5eb!important;
  box-sizing:border-box;
}
.curriculum-summary--table > div:first-child{
  border-left:0!important;
}
.curriculum-summary--table .summary-icon{
  justify-content:center!important;
}
.curriculum-summary--table .summary-icon img{
  width:44px!important;
  height:44px!important;
  display:block!important;
}
.curriculum-summary--table .summary-heading{
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
}
.curriculum-summary--table .summary-heading small{
  display:block!important;
  margin:0 0 7px!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:.15em!important;
  color:#8792a3!important;
}
.curriculum-summary--table .summary-heading strong{
  display:block!important;
  font-size:18px!important;
  line-height:1.45!important;
  font-weight:700!important;
  color:#101828!important;
  letter-spacing:-.025em!important;
}
.curriculum-summary--table .summary-hours{
  min-height:118px!important;
  justify-content:center!important;
  gap:10px!important;
  background:#173b70!important;
}
.curriculum-summary--table .summary-hours strong{
  font-size:64px!important;
  line-height:.88!important;
  font-weight:600!important;
  color:#fff!important;
  letter-spacing:-.06em!important;
  font-variant-numeric:tabular-nums;
}
.curriculum-summary--table .summary-hours span{
  align-self:flex-end!important;
  padding-bottom:6px!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:700!important;
  color:#ef9a88!important;
}
.curriculum-summary--table .summary-note{
  min-height:118px!important;
  justify-content:center!important;
}
.curriculum-summary--table .summary-note p{
  width:100%!important;
  max-width:560px!important;
  margin:0 auto!important;
  font-size:14px!important;
  line-height:1.75!important;
  font-weight:400!important;
  color:#667085!important;
  text-align:center!important;
  word-break:keep-all!important;
}
.curriculum-timeline,
.curriculum-summary--table{
  box-sizing:border-box!important;
}

@media(max-width:1000px){
  .curriculum-summary--table{
    grid-template-columns:76px 180px 210px minmax(0,1fr)!important;
  }
  .curriculum-summary--table .summary-hours strong{
    font-size:56px!important;
  }
}
@media(max-width:767px){
  .curriculum-summary--table{
    grid-template-columns:64px minmax(0,1fr) 130px!important;
  }
  .curriculum-summary--table > div{
    min-height:92px!important;
    padding:17px 14px!important;
  }
  .curriculum-summary--table .summary-note{
    grid-column:1 / -1!important;
    min-height:auto!important;
    border-left:0!important;
    border-top:1px solid #e1e5eb!important;
    padding:16px 14px!important;
  }
  .curriculum-summary--table .summary-hours{
    min-height:92px!important;
  }
  .curriculum-summary--table .summary-hours strong{
    font-size:44px!important;
  }
  .curriculum-summary--table .summary-hours span{
    font-size:12px!important;
  }
  .curriculum-summary--table .summary-icon img{
    width:36px!important;
    height:36px!important;
  }
  .curriculum-summary--table .summary-note p{
    font-size:12px!important;
  }
}


/* =========================================================
   Curriculum background separation
   Only overview area is white; MPFI/MPRI remains separate gray area.
   ========================================================= */
.curriculum-section{
  background:#f8f9fb !important;
  padding:0 0 132px !important;
}

.curriculum-overview{
  width:100%;
  background:#fff;
  padding:118px 0 96px;
  margin:0 0 96px;
}

.curriculum-overview > .mepa-wrap,
.curriculum-section > .mepa-wrap{
  width:min(1320px,calc(100% - 120px));
  max-width:1320px;
  margin-left:auto;
  margin-right:auto;
}

.curriculum-section .qualification-sticky-section{
  margin-top:0 !important;
}

.curriculum-overview .curriculum-summary--table{
  margin-bottom:0 !important;
}

@media(max-width:1279px){
  .curriculum-overview > .mepa-wrap,
  .curriculum-section > .mepa-wrap{
    width:calc(100% - 80px);
    max-width:none;
  }
}
@media(max-width:1023px){
  .curriculum-overview > .mepa-wrap,
  .curriculum-section > .mepa-wrap{
    width:calc(100% - 64px);
  }
}
@media(max-width:767px){
  .curriculum-section{
    padding-bottom:96px !important;
  }
  .curriculum-overview{
    padding:84px 0 72px;
    margin-bottom:72px;
  }
  .curriculum-overview > .mepa-wrap,
  .curriculum-section > .mepa-wrap{
    width:calc(100% - 40px);
  }
}


/* =========================================================
   MPEA Professional Program — section title
   ========================================================= */
.qualification-section-title{
  width:100%;
  margin:0 auto 72px;
  text-align:center;
}

.qualification-section-title span{
  display:block;
  margin:0 0 12px;
  font-size:12px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:.18em;
  color:#125de6;
}

.qualification-section-title h2{
  margin:0;
  font-size:40px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:-.04em;
  color:#101828;
}

@media(max-width:767px){
  .qualification-section-title{
    margin-bottom:48px;
  }
  .qualification-section-title span{
    margin-bottom:10px;
    font-size:11px;
  }
  .qualification-section-title h2{
    font-size:28px;
    line-height:1.4;
  }
}


/* =========================================================
   Recommended / Not Recommended editorial section
   ========================================================= */
.fit-editorial-wrap{display:grid;gap:34px;margin-bottom:72px}
.fit-editorial{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);align-items:stretch;background:#fff;border:1px solid #e7edf6;border-radius:28px;overflow:hidden;box-shadow:0 18px 40px rgba(15,23,42,.045)}
.fit-editorial.reverse{grid-template-columns:minmax(0,1fr) minmax(0,560px)}
.fit-editorial-media{position:relative;min-height:460px;background:#dfe7f5;overflow:hidden}
.fit-editorial-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.94)}
.fit-editorial-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,16,31,.08) 0%,rgba(9,16,31,.22) 100%)}
.fit-editorial-copy{padding:52px 54px 48px;display:flex;flex-direction:column;justify-content:center}
.fit-editorial-kicker{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-size:13px;line-height:1.3;font-weight:800;letter-spacing:.12em;color:#2563eb;text-transform:uppercase}
.fit-editorial-kicker span{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 7px;border-radius:999px;background:#2563eb;color:#fff;font-size:12px;letter-spacing:.04em}
.fit-editorial-kicker.muted{color:#64748b}
.fit-editorial-kicker.muted span{background:#64748b}
.fit-editorial-copy h3{margin:0 0 18px;font-size:40px;line-height:1.25;letter-spacing:-.04em;color:#0f172a}
.fit-editorial-lead{margin:0 0 28px;font-size:18px;line-height:1.8;color:#475467;word-break:keep-all}
.fit-editorial-lead strong{color:#0f172a}
.fit-editorial-list{border-top:2px solid #1e3a8a}
.fit-editorial-item{display:grid;grid-template-columns:56px 1fr;gap:0;align-items:flex-start;padding:22px 0;border-bottom:1px solid #d7deea}
.fit-editorial-item b{display:block;font-size:15px;line-height:1.2;font-weight:800;letter-spacing:.08em;color:#94a3b8}
.fit-editorial-item p{margin:0;padding-right:6px;font-size:20px;line-height:1.8;color:#334155;word-break:keep-all}
.fit-editorial-item.negative b{color:#cbd5e1}
.fit-editorial-item.negative p{color:#475467}

@media (max-width:1200px){
  .fit-editorial,.fit-editorial.reverse{grid-template-columns:1fr}
  .fit-editorial.reverse .fit-editorial-media{order:1}
  .fit-editorial.reverse .fit-editorial-copy{order:2}
  .fit-editorial-media{min-height:360px}
}

@media (max-width:767px){
  .fit-editorial-wrap{gap:22px;margin-bottom:52px}
  .fit-editorial{border-radius:22px}
  .fit-editorial-copy{padding:34px 22px 30px}
  .fit-editorial-kicker{font-size:11px;gap:8px;margin-bottom:12px}
  .fit-editorial-kicker span{min-width:24px;height:24px;font-size:11px}
  .fit-editorial-copy h3{font-size:28px;line-height:1.35;margin-bottom:12px}
  .fit-editorial-lead{font-size:15px;line-height:1.72;margin-bottom:18px}
  .fit-editorial-item{grid-template-columns:44px 1fr;padding:16px 0}
  .fit-editorial-item b{font-size:13px}
  .fit-editorial-item p{font-size:15px;line-height:1.72}
  .fit-editorial-media{min-height:260px}
}


/* =========================================================
   Recommended / Not Recommended list refinement
   - remove divider lines
   - replace number labels with checkbox marks
   ========================================================= */

.fit-editorial-list{
  border-top:0 !important;
  display:grid;
  gap:16px;
}

.fit-editorial-item{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:flex-start;
  gap:14px;
  padding:0 !important;
  border-bottom:0 !important;
}

/* hide old numeric labels visually */
.fit-editorial-item > b{
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
}

/* recommended = checked box */
.fit-editorial-item > b::before{
  content:"✓";
  display:flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  margin-top:4px;
  border:1.5px solid #2563eb;
  border-radius:5px;
  background:#eef4ff;
  color:#2563eb;
  font-size:14px;
  line-height:1;
  font-weight:800;
}

/* not recommended = x box */
.fit-editorial-item.negative > b::before{
  content:"×";
  border-color:#aeb7c4;
  background:#f5f6f8;
  color:#7b8492;
  font-size:15px;
}

.fit-editorial-item p{
  margin:0;
  font-size:19px;
  line-height:1.75;
  color:#334155;
  word-break:keep-all;
}

@media(max-width:767px){
  .fit-editorial-list{
    gap:14px;
  }
  .fit-editorial-item{
    grid-template-columns:26px minmax(0,1fr);
    gap:12px;
  }
  .fit-editorial-item > b::before{
    width:22px;
    height:22px;
    font-size:13px;
    border-radius:4px;
  }
  .fit-editorial-item p{
    font-size:15px;
    line-height:1.7;
  }
}


/* =========================================================
   Fit list icon refinement — branded illustration-style marks
   ========================================================= */
.fit-editorial-item{
  grid-template-columns:32px minmax(0,1fr) !important;
  gap:15px !important;
}

.fit-editorial-item > b{
  width:28px !important;
  height:28px !important;
  margin-top:1px !important;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
}

/* Replace CSS-built UI checkbox with custom line illustration asset */
.fit-editorial-item > b::before{
  content:"" !important;
  display:block !important;
  width:28px !important;
  height:28px !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:
    url("../img/icons/fit-check.svg")
    center / 28px 28px
    no-repeat !important;
}

.fit-editorial-item.negative > b::before{
  content:"" !important;
  border:0 !important;
  background:
    url("../img/icons/fit-cross.svg")
    center / 28px 28px
    no-repeat !important;
}

/* Keep the icon quiet and editorial, not like a form control */
.fit-editorial-item p{
  padding-top:1px;
}

@media(max-width:767px){
  .fit-editorial-item{
    grid-template-columns:28px minmax(0,1fr) !important;
    gap:12px !important;
  }
  .fit-editorial-item > b,
  .fit-editorial-item > b::before{
    width:25px !important;
    height:25px !important;
  }
  .fit-editorial-item > b::before{
    background-size:25px 25px !important;
  }
}


/* =========================================================
   FINAL FIT SECTION REFINE
   1) remove the large outer card/box
   2) unify both lists with the same illustrated check icon
   ========================================================= */

/* Remove the big rounded card container entirely */
.fit-price-section .fit-editorial{
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  overflow:visible !important;
}

/* Keep image + text as an editorial split layout, not a card */
.fit-price-section .fit-editorial-media{
  border-radius:0 !important;
  overflow:hidden !important;
}
.fit-price-section .fit-editorial-copy{
  background:transparent !important;
}

/* Give the two blocks breathing room instead of enclosing them */
.fit-price-section .fit-editorial-wrap{
  gap:110px !important;
}
.fit-price-section .fit-editorial + .fit-editorial{
  padding-top:0 !important;
}

/* Unified check icons — recommended and not-recommended both use CHECK */
.fit-price-section .fit-editorial-item > b,
.fit-price-section .fit-editorial-item.negative > b{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  margin-top:0 !important;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
}

.fit-price-section .fit-editorial-item > b::before,
.fit-price-section .fit-editorial-item.negative > b::before{
  content:"" !important;
  display:block !important;
  width:30px !important;
  height:30px !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background-color:transparent !important;
  background-image:url("../img/icons/fit-check-unified.svg") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:30px 30px !important;
}

/* Remove any legacy X styling that may still override the icon */
.fit-price-section .fit-editorial-item.negative > b::after{
  content:none !important;
  display:none !important;
}

/* Slightly softer alignment between icon and text */
.fit-price-section .fit-editorial-item{
  grid-template-columns:32px minmax(0,1fr) !important;
  gap:16px !important;
}

@media(max-width:767px){
  .fit-price-section .fit-editorial-wrap{
    gap:64px !important;
  }
  .fit-price-section .fit-editorial-item{
    grid-template-columns:28px minmax(0,1fr) !important;
    gap:12px !important;
  }
  .fit-price-section .fit-editorial-item > b,
  .fit-price-section .fit-editorial-item.negative > b,
  .fit-price-section .fit-editorial-item > b::before,
  .fit-price-section .fit-editorial-item.negative > b::before{
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
  }
  .fit-price-section .fit-editorial-item > b::before,
  .fit-price-section .fit-editorial-item.negative > b::before{
    background-size:26px 26px !important;
  }
}


/* =========================================================
   APPROVED BLUE CHECKBOX ICON
   Uses the newly selected icon image for both lists.
   ========================================================= */
.fit-price-section .fit-editorial-item{
  grid-template-columns:32px minmax(0,1fr) !important;
  gap:16px !important;
}

.fit-price-section .fit-editorial-item > b,
.fit-price-section .fit-editorial-item.negative > b{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  margin-top:1px !important;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
}

.fit-price-section .fit-editorial-item > b::before,
.fit-price-section .fit-editorial-item.negative > b::before{
  content:"" !important;
  display:block !important;
  width:30px !important;
  height:30px !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background-color:transparent !important;
  background-image:url("../img/icons/fit-check-blue.png") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:30px 30px !important;
}

/* kill every legacy X / CSS checkbox decoration */
.fit-price-section .fit-editorial-item.negative > b::after,
.fit-price-section .fit-editorial-item > b::after{
  content:none !important;
  display:none !important;
}

@media(max-width:767px){
  .fit-price-section .fit-editorial-item{
    grid-template-columns:28px minmax(0,1fr) !important;
    gap:12px !important;
  }
  .fit-price-section .fit-editorial-item > b,
  .fit-price-section .fit-editorial-item.negative > b,
  .fit-price-section .fit-editorial-item > b::before,
  .fit-price-section .fit-editorial-item.negative > b::before{
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
  }
  .fit-price-section .fit-editorial-item > b::before,
  .fit-price-section .fit-editorial-item.negative > b::before{
    background-size:26px 26px !important;
  }
}


/* =========================================================
   HERO TEXT ONLY — Photoshop reference alignment
   IMPORTANT: background/image/shade are not modified.
   ========================================================= */
@media (min-width:1101px){

  /* Use the hero as a free-positioned text canvas only */
  .hero-section .hero-inner{
    position:relative;
    display:block;
    height:100%;
    padding-top:0;
  }

  /* Main title block: move inward and upward like the supplied reference */
  .hero-section .hero-copy{
    position:relative;
    width:620px;
    max-width:620px;
    margin-left:13.5vw;
    padding-top:96px;
  }

  /* Reference emphasizes the headline, so the duplicated association kicker
     is visually suppressed in the hero only. Header/logo remain untouched. */
  .hero-section .hero-copy .brand-kicker,
  .hero-section .hero-copy .brand-en{
    display:none;
  }

  .hero-section .hero-copy h1{
    margin:0 0 24px;
    font-size:50px;
    line-height:1.18;
    font-weight:700;
    letter-spacing:-.045em;
    color:#fff;
  }

  .hero-section .hero-lead{
    margin:0;
    font-size:20px;
    line-height:1.75;
    font-weight:500;
    letter-spacing:-.018em;
    color:rgba(255,255,255,.82);
  }

  /* Questions: move under the lead copy instead of floating on the image side */
  .hero-section .hero-questions{
    position:absolute;
    left:13.5vw;
    top:365px;
    width:460px;
    margin:0;
    padding:10px 16px;
    align-self:auto;
  }

  .hero-section .hero-questions p{
    padding:11px 0;
    font-size:16px;
    line-height:1.55;
    font-weight:500;
  }

  /* ONE MONTH stays on the lower baseline as in the Photoshop reference */
  .hero-section .hero-month{
    position:absolute;
    left:0;
    bottom:166px;
    margin:0;
  }

  .hero-section .hero-month span{
    font-size:11px;
    letter-spacing:.20em;
  }

  .hero-section .hero-month strong{
    font-size:21px;
    line-height:1.2;
  }

  /* Bottom statement remains full-width, just anchored to the reference height */
  .hero-section .hero-bottom{
    position:absolute;
    left:0;
    right:0;
    bottom:34px;
    grid-column:auto;
    margin:0;
    padding-top:22px;
  }

  .hero-section .hero-bottom strong{
    font-size:18px;
    line-height:1.55;
  }

  .hero-section .hero-bottom p{
    font-size:15px;
    line-height:1.72;
  }
}

/* Laptop: keep the same hierarchy without forcing the deep desktop inset */
@media (min-width:851px) and (max-width:1100px){
  .hero-section .hero-copy{
    max-width:560px;
  }
}


/* =========================================================
   HERO QUESTION LIST REFINEMENT
   - remove dark box
   - remove bullets / divider lines
   - adjust placement so it sits cleanly under the hero lead
   ========================================================= */
@media (min-width:1101px){
  .hero-section .hero-copy{
    width:640px;
    max-width:640px;
    margin-left:13vw;
    padding-top:96px;
  }

  .hero-section .hero-copy h1{
    font-size:56px;
    line-height:1.12;
    letter-spacing:-.05em;
    margin:0 0 26px;
    max-width:620px;
  }

  .hero-section .hero-lead{
    font-size:20px;
    line-height:1.7;
    max-width:420px;
  }

  .hero-section .hero-questions{
    position:absolute;
    left:13vw;
    top:405px;
    width:520px;
    margin:0;
    padding:0;
    background:transparent;
    border:0;
    border-radius:0;
    backdrop-filter:none;
    box-shadow:none;
  }

  .hero-section .hero-questions p{
    margin:0 0 18px;
    padding:0;
    border:0;
    font-size:17px;
    line-height:1.58;
    font-weight:600;
    letter-spacing:-.018em;
    color:#ffffff;
    text-shadow:0 1px 8px rgba(0,0,0,.16);
  }

  .hero-section .hero-questions p:last-child{
    margin-bottom:0;
  }
}

/* Slightly scale down for narrower laptop widths */
@media (min-width:851px) and (max-width:1100px){
  .hero-section .hero-questions{
    background:transparent;
    border:0;
    padding:0;
    box-shadow:none;
    backdrop-filter:none;
  }

  .hero-section .hero-questions p{
    margin:0 0 14px;
    padding:0;
    border:0;
  }
}


/* =========================================================
   HERO FINAL MINIMAL CORRECTION
   Keep approved headline/lead/questions exactly.
   Only prevent overlap and hide the emptied bottom area.
   ========================================================= */
@media (min-width:1101px){
  .hero-section .hero-month{
    position:static !important;
    left:auto !important;
    bottom:auto !important;
    margin-top:24px !important;
  }

  .hero-section .hero-questions{
    top:440px !important;
  }

  .hero-section .hero-bottom:empty{
    display:none !important;
  }
}

@media (min-width:851px) and (max-width:1100px){
  .hero-section .hero-bottom:empty{
    display:none !important;
  }
}

@media (max-width:850px){
  .hero-section .hero-bottom:empty{
    display:none !important;
  }
}


/* =========================================================
   HERO TEXT SPACING FIX
   Text only. Background/image/header are untouched.
   ========================================================= */
@media (min-width:1101px){

  /* Keep the approved headline position, only clean vertical rhythm */
  .hero-section .hero-copy{
    width:660px;
    max-width:660px;
    margin-left:13vw;
    padding-top:96px;
  }

  .hero-section .hero-copy h1{
    max-width:650px;
    margin:0 0 28px;
    font-size:56px;
    line-height:1.12;
    font-weight:700;
    letter-spacing:-.05em;
  }

  .hero-section .hero-lead{
    max-width:440px;
    margin:0;
    font-size:17px;
    line-height:1.72;
    font-weight:500;
    letter-spacing:-.018em;
  }

  /* ONE MONTH follows the lead naturally */
  .hero-section .hero-month{
    position:static !important;
    margin:24px 0 0 !important;
  }

  /* Questions now remain in normal document flow:
     this prevents any overlap with the lead/month area. */
  .hero-section .hero-questions{
    position:static !important;
    width:520px;
    margin:32px 0 0 13vw !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
  }

  .hero-section .hero-questions p{
    margin:0 0 15px !important;
    padding:0 !important;
    border:0 !important;
    font-size:16px;
    line-height:1.55;
    font-weight:600;
    letter-spacing:-.018em;
    color:#fff;
    text-shadow:0 1px 8px rgba(0,0,0,.14);
  }

  .hero-section .hero-questions p:last-child{
    margin-bottom:0 !important;
  }

  .hero-section .hero-bottom:empty{
    display:none !important;
  }
}

@media (min-width:851px) and (max-width:1100px){
  .hero-section .hero-copy{
    padding-top:120px;
  }

  .hero-section .hero-copy h1{
    margin-bottom:24px;
  }

  .hero-section .hero-lead{
    font-size:16px;
    line-height:1.7;
  }

  .hero-section .hero-month{
    position:static !important;
    margin-top:20px !important;
  }

  .hero-section .hero-questions{
    position:static !important;
    margin:28px 0 0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
  }

  .hero-section .hero-questions p{
    margin:0 0 14px !important;
    padding:0 !important;
    border:0 !important;
    font-size:15px;
    line-height:1.55;
  }
}


/* =========================================================
   HERO MICRO REFINE
   1. remove ONE MONTH / 한 달
   2. enlarge lead copy and keep equal line spacing
   ========================================================= */
.hero-section .hero-month:empty{
  display:none !important;
}

@media (min-width:1101px){
  .hero-section .hero-lead{
    max-width:470px !important;
    margin:0 !important;
    font-size:19px !important;
    line-height:1.85 !important;
    font-weight:500 !important;
    letter-spacing:-.018em !important;
  }

  .hero-section .hero-questions{
    margin-top:30px !important;
  }
}

@media (min-width:851px) and (max-width:1100px){
  .hero-section .hero-lead{
    font-size:18px !important;
    line-height:1.85 !important;
  }
}

@media (max-width:850px){
  .hero-section .hero-lead{
    font-size:16px !important;
    line-height:1.8 !important;
  }
}


/* =========================================================
   HERO LEAD FONT SIZE ONLY
   ========================================================= */
@media (min-width:1101px){
  .hero-section .hero-lead{
    font-size:23px !important;
  }
}


/* =========================================================
   HERO LEAD LINE-HEIGHT ONLY
   ========================================================= */
@media (min-width:1101px){
  .hero-section .hero-lead{
    line-height:1.6 !important;
  }
}


/* HERO LEAD LINE-HEIGHT FINAL */
@media (min-width:1101px){
  .hero-section .hero-lead{
    line-height:1.45 !important;
  }
}


/* HERO QUESTIONS: tighter spacing + white check icons */
@media (min-width:1101px){
  .hero-section .hero-questions{
    margin-top:24px !important;
  }
  .hero-section .hero-questions p{
    display:flex !important;
    align-items:flex-start;
    gap:10px;
    margin:0 0 9px !important;
    font-size:16px;
    line-height:1.35 !important;
  }
  .hero-section .hero-questions p::before{
    content:"";
    width:16px;
    height:16px;
    flex:0 0 16px;
    margin-top:3px;
    background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2020%2020%27%20fill%3D%27none%27%3E%3Cpath%20d%3D%27M4.5%2010.4%208.1%2014l7.4-8%27%20stroke%3D%27white%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27/%3E%3C/svg%3E") center/contain no-repeat;
    opacity:0.98;
  }
}

@media (min-width:851px) and (max-width:1100px){
  .hero-section .hero-questions p{
    display:flex !important;
    align-items:flex-start;
    gap:9px;
    margin:0 0 10px !important;
    line-height:1.4 !important;
  }
  .hero-section .hero-questions p::before{
    content:"";
    width:15px;
    height:15px;
    flex:0 0 15px;
    margin-top:3px;
    background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2020%2020%27%20fill%3D%27none%27%3E%3Cpath%20d%3D%27M4.5%2010.4%208.1%2014l7.4-8%27%20stroke%3D%27white%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27/%3E%3C/svg%3E") center/contain no-repeat;
    opacity:0.98;
  }
}


/* =========================================================
   MEPA / PLANEE BENCHMARK V1
   Scope: HERO + global landing typography + section rhythm
   Existing content / images / section structures untouched.
   ========================================================= */

/* ---------- LANDING SCALE ---------- */
:root{
  --mepa-display:64px;
  --mepa-section-title:48px;
  --mepa-body-large:20px;
  --mepa-body:18px;
}

/* Planee-like scene rhythm: fewer "small boxes", larger visual breathing room */
@media (min-width:1280px){
  .editorial-section,
  .story-section,
  .weeks-section,
  .reviews-section,
  .fit-price-section,
  .faq-location-section{
    padding-top:140px;
    padding-bottom:140px;
  }
}

/* ---------- HERO ---------- */
@media (min-width:1280px){
  .hero-section{
    height:860px;
    min-height:860px;
  }

  .hero-section .hero-inner{
    height:100%;
  }

  .hero-section .hero-copy{
    width:760px;
    max-width:760px;
    margin-left:9vw;
    padding-top:150px;
  }

  .hero-section .hero-copy h1{
    max-width:760px;
    margin:0 0 32px;
    font-size:var(--mepa-display);
    line-height:1.13;
    font-weight:750;
    letter-spacing:-.055em;
  }

  .hero-section .hero-lead{
    max-width:560px !important;
    font-size:22px !important;
    line-height:1.52 !important;
    font-weight:500 !important;
    letter-spacing:-.025em !important;
    color:rgba(255,255,255,.84);
  }

  .hero-section .hero-questions{
    width:620px;
    margin:34px 0 0 9vw !important;
  }

  .hero-section .hero-questions p{
    gap:12px;
    margin:0 0 12px !important;
    font-size:18px;
    line-height:1.42 !important;
    font-weight:600;
    letter-spacing:-.02em;
  }

  .hero-section .hero-questions p::before{
    width:18px;
    height:18px;
    flex-basis:18px;
    margin-top:4px;
  }
}

/* 1024–1279: still feel like a landing hero, not a compressed desktop */
@media (min-width:1024px) and (max-width:1279px){
  .hero-section{
    min-height:800px;
  }

  .hero-section .hero-copy h1{
    font-size:56px;
    line-height:1.15;
  }

  .hero-section .hero-lead{
    font-size:20px !important;
    line-height:1.55 !important;
  }

  .hero-section .hero-questions p{
    font-size:17px;
  }
}

/* ---------- GLOBAL SECTION TITLES ---------- */
@media (min-width:1280px){
  .section-title h2,
  .major-section-title h2,
  .section-display-title,
  .qualification-section-title h2{
    font-size:var(--mepa-section-title);
    line-height:1.26;
    font-weight:750;
    letter-spacing:-.045em;
  }

  .major-section-title,
  .qualification-section-title{
    margin-bottom:64px;
  }

  .major-section-title p,
  .section-eyebrow,
  .qualification-section-title span{
    margin-bottom:14px;
    font-size:13px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.17em;
  }

  /* Large editorial statement gets one step more impact */
  .problem-section .section-title h2{
    font-size:52px;
    line-height:1.24;
    max-width:680px;
  }
}

/* ---------- BODY SCALE ---------- */
@media (min-width:1280px){
  .section-copy p,
  .story-copy p,
  .editorial-note p,
  .price-block > div:first-child p,
  .location-wrap p{
    font-size:var(--mepa-body);
    line-height:1.75;
  }

  .authority-intro{
    font-size:22px;
    line-height:1.7;
  }

  .formula-block{
    font-size:18px;
    line-height:1.72;
  }

  .review-card p{
    font-size:17px;
    line-height:1.78;
  }

  .price-block h3,
  .faq-wrap > h3,
  .location-wrap > h3{
    font-size:42px;
    line-height:1.3;
    letter-spacing:-.04em;
  }
}

/* ---------- TABLET / MOBILE HIERARCHY ---------- */
@media (max-width:1023px){
  .section-title h2,
  .major-section-title h2,
  .section-display-title,
  .qualification-section-title h2{
    font-size:34px;
    line-height:1.32;
  }
}

@media (max-width:767px){
  .hero-copy h1{
    font-size:40px !important;
    line-height:1.17 !important;
  }

  .hero-section .hero-lead{
    font-size:18px !important;
    line-height:1.55 !important;
  }

  .section-title h2,
  .major-section-title h2,
  .section-display-title,
  .qualification-section-title h2{
    font-size:30px;
    line-height:1.34;
  }
}


/* =========================================================
   SECTION TITLE UNIFY
   CURRICULUM = MPEA PROFESSIONAL PROGRAM title scale
   ========================================================= */
@media (min-width:1280px){
  .curriculum-section .major-section-title,
  .qualification-section-title{
    width:100%;
    margin:0 auto 64px;
    text-align:center;
  }

  .curriculum-section .major-section-title p,
  .qualification-section-title span{
    display:block;
    margin:0 0 14px;
    font-size:13px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.17em;
    color:#125de6;
  }

  .curriculum-section .major-section-title h2,
  .qualification-section-title h2{
    margin:0;
    font-size:48px;
    line-height:1.26;
    font-weight:750;
    letter-spacing:-.045em;
    color:#101828;
  }
}

@media (min-width:768px) and (max-width:1279px){
  .curriculum-section .major-section-title,
  .qualification-section-title{
    text-align:center;
    margin-bottom:56px;
  }

  .curriculum-section .major-section-title p,
  .qualification-section-title span{
    margin-bottom:12px;
    font-size:12px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.17em;
  }

  .curriculum-section .major-section-title h2,
  .qualification-section-title h2{
    font-size:40px;
    line-height:1.3;
    font-weight:750;
    letter-spacing:-.04em;
  }
}

@media (max-width:767px){
  .curriculum-section .major-section-title,
  .qualification-section-title{
    text-align:center;
    margin-bottom:48px;
  }

  .curriculum-section .major-section-title p,
  .qualification-section-title span{
    margin-bottom:10px;
    font-size:11px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.15em;
  }

  .curriculum-section .major-section-title h2,
  .qualification-section-title h2{
    font-size:30px;
    line-height:1.34;
    font-weight:750;
    letter-spacing:-.035em;
  }
}


/* =========================================================
   4 WEEK PROGRAM — CORRECTED
   - title centered
   - accordion group centered on screen
   - uses almost full viewport width
   - active panel + 3 inactive tabs stay in ONE ROW
   ========================================================= */
@media (min-width:1024px){

  .weeks-section .mepa-wrap{
    width:calc(100% - 120px);
    max-width:none;
    margin-left:auto;
    margin-right:auto;

    display:flex;
    flex-wrap:wrap;
    align-items:stretch;
    gap:8px;
  }

  /* Title occupies its own first row */
  .weeks-section .weeks-head{
    flex:0 0 100%;
    width:100%;
    max-width:none;
    margin:0 0 56px;
    text-align:center;
  }

  .weeks-section .weeks-head .section-eyebrow,
  .weeks-section .weeks-head .section-display-title{
    width:100%;
    max-width:none;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }

  /* All 4 week panels stay on the second row */
  .weeks-section .week-row{
    min-width:0;
  }

  .weeks-section .week-row.active{
    flex:1 1 0;
    min-width:0;
  }

  .weeks-section .week-row:not(.active){
    flex:0 0 74px;
    width:74px;
  }
}

/* 1024–1439: 40px side margin */
@media (min-width:1024px) and (max-width:1439px){
  .weeks-section .mepa-wrap{
    width:calc(100% - 80px);
  }
}

/* 1440+: 60px side margin */
@media (min-width:1440px){
  .weeks-section .mepa-wrap{
    width:calc(100% - 120px);
  }
}


/* =========================================================
   4 WEEK PROGRAM — FIXED HEIGHT / AUTO ROLL / BLUE STAGES
   Scope: week accordion only
   ========================================================= */
@media (min-width:1024px){

  /* One consistent fixed visual height for every state */
  .weeks-section .week-row,
  .weeks-section .week-row.active{
    height:620px;
    min-height:620px;
    max-height:620px;
    box-sizing:border-box;
  }

  /* Active content: use the empty width better so long copy fits the fixed height */
  .weeks-section .week-row.active{
    grid-template-columns:52px minmax(0, 56%) minmax(0, 44%);
  }

  .weeks-section .week-row.active .week-copy{
    box-sizing:border-box;
    height:100%;
    padding:28px 28px 24px 0;
    overflow:hidden;
  }

  .weeks-section .week-row.active .week-copy h3{
    margin:0 0 7px;
    font-size:25px;
    line-height:1.34;
  }

  .weeks-section .week-row.active .week-copy h4{
    margin:0 0 19px;
    font-size:17px;
    line-height:1.45;
  }

  .weeks-section .week-row.active .week-copy p{
    margin:0 0 9px;
    font-size:15px;
    line-height:1.53;
  }

  .weeks-section .week-row.active .flow-line{
    margin:13px 0;
    padding:11px 14px;
    font-size:14px;
    line-height:1.5;
  }

  .weeks-section .week-image{
    height:620px;
    min-height:620px;
  }

  .weeks-section .week-image img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  /* Inactive bands stay in the same fixed-height row */
  .weeks-section .week-row:not(.active){
    flex:0 0 74px;
    width:74px;
    height:620px;
    min-height:620px;
    max-height:620px;
    border-color:transparent;
    box-shadow:none;
  }

  /* Staged professional blues instead of black */
  .weeks-section .week-row:nth-of-type(1):not(.active){
    background:#173B70;
  }
  .weeks-section .week-row:nth-of-type(2):not(.active){
    background:#1D4D88;
  }
  .weeks-section .week-row:nth-of-type(3):not(.active){
    background:#245F9F;
  }
  .weeks-section .week-row:nth-of-type(4):not(.active){
    background:#2E72B5;
  }

  .weeks-section .week-row:not(.active) .week-num,
  .weeks-section .week-row:not(.active) .week-copy h3{
    color:#fff;
  }

  /* Keep transitions smooth during automatic and hover switching */
  .weeks-section .week-row{
    transition:
      flex-basis .42s cubic-bezier(.22,.61,.36,1),
      background-color .24s ease,
      border-color .24s ease,
      box-shadow .28s ease;
  }

  .weeks-section .week-copy{
    transition:opacity .24s ease;
  }

  /* Hover is the navigation action itself; no extra lift/scale */
  .weeks-section .week-row.active:hover .week-image img{
    transform:none;
  }
}

@media (min-width:1024px) and (max-width:1279px){
  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    height:600px;
    min-height:600px;
    max-height:600px;
  }

  .weeks-section .week-image{
    height:600px;
    min-height:600px;
  }

  .weeks-section .week-row.active .week-copy p{
    font-size:14px;
    line-height:1.5;
    margin-bottom:8px;
  }
}


/* =========================================================
   4 WEEK PROGRAM — SOFT FADE TRANSITION
   Primary motion is opacity; no flashing / hard staged swap.
   ========================================================= */
@media (min-width:1024px){

  /* Keep accordion width motion understated.
     The eye should perceive the fade first, not the panel resize. */
  .weeks-section .week-row{
    transition:
      flex-basis .58s cubic-bezier(.22,.61,.36,1),
      width .58s cubic-bezier(.22,.61,.36,1),
      background-color .34s ease,
      border-color .34s ease,
      box-shadow .34s ease !important;
  }

  /* Active content/image fade as one visual scene. */
  .weeks-section .week-row.active .week-copy,
  .weeks-section .week-row.active .week-image{
    opacity:1;
    transition:opacity .48s cubic-bezier(.22,.61,.36,1) !important;
  }

  /* Fade old scene completely before the active WEEK changes.
     The new scene starts at opacity 0 because this class remains
     during the class swap, then fades gently to 1. */
  .weeks-section .mepa-wrap.week-fade-out .week-row.active .week-copy,
  .weeks-section .mepa-wrap.week-fade-out .week-row.active .week-image{
    opacity:0 !important;
    transition:opacity .24s ease !important;
  }

  /* Avoid competing zoom/slide animations that create a flash. */
  .weeks-section .week-image img,
  .weeks-section .week-row.active:hover .week-image img{
    transform:none !important;
    transition:none !important;
  }

  /* Inactive vertical labels stay stable while the main panel fades. */
  .weeks-section .week-row:not(.active) .week-num,
  .weeks-section .week-row:not(.active) .week-copy h3{
    transition:color .28s ease, opacity .28s ease !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .weeks-section .week-row,
  .weeks-section .week-copy,
  .weeks-section .week-image{
    transition:none !important;
  }
}


/* =========================================================
   4 WEEK PROGRAM — EDITORIAL BACKGROUND LAYOUT
   Left: title / Right: three structured explanations / Background: photo
   ========================================================= */
@media (min-width:1024px){

  .weeks-section .week-row.active{
    position:relative;
    display:block !important;
    overflow:hidden;
    background:#0c172a;
  }

  .weeks-section .week-row.active .week-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:100%;
    z-index:0;
    display:block;
    opacity:1;
  }

  .weeks-section .week-row.active .week-image::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:
      linear-gradient(90deg,
        rgba(7,20,42,.94) 0%,
        rgba(7,20,42,.90) 24%,
        rgba(7,20,42,.70) 44%,
        rgba(7,20,42,.42) 66%,
        rgba(7,20,42,.22) 100%);
  }

  .weeks-section .week-row.active .week-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }

  .weeks-section .week-row.active .week-num{
    position:absolute;
    left:34px;
    top:32px;
    z-index:4;
    padding:0;
    color:rgba(255,255,255,.90);
    font-size:14px;
    line-height:1;
    text-align:left;
  }

  .weeks-section .week-row.active .week-copy{
    position:relative;
    z-index:3;
    width:100%;
    height:100%;
    display:grid !important;
    grid-template-columns:minmax(300px, 31%) minmax(520px, 46%);
    justify-content:start;
    align-content:center;
    column-gap:74px;
    padding:58px 58px 48px 92px !important;
    box-sizing:border-box;
    overflow:hidden;
    opacity:1;
    color:#fff;
  }

  .weeks-section .week-title-block{
    align-self:center;
    max-width:390px;
  }

  .weeks-section .week-title-block h3{
    margin:0 0 28px !important;
    font-size:44px !important;
    line-height:1.13 !important;
    font-weight:800 !important;
    letter-spacing:-.045em !important;
    color:#fff !important;
  }

  .weeks-section .week-title-block h4{
    margin:0 !important;
    padding-top:28px;
    position:relative;
    font-size:25px !important;
    line-height:1.55 !important;
    font-weight:600 !important;
    letter-spacing:-.03em;
    color:#9ec8ff !important;
  }

  .weeks-section .week-title-block h4::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:68px;
    height:3px;
    border-radius:999px;
    background:#9ec8ff;
  }

  .weeks-section .week-detail-list{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:22px;
    min-width:0;
  }

  .weeks-section .week-detail{
    display:grid;
    grid-template-columns:66px minmax(0,1fr);
    gap:24px;
    align-items:start;
  }

  .weeks-section .week-detail + .week-detail{
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.20);
  }

  .weeks-section .week-detail-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:62px;
    height:62px;
    color:#a8ccff;
  }

  .weeks-section .week-detail-icon img{
    width:62px;
    height:62px;
    display:block;
  }

  .weeks-section .week-detail h5{
    margin:0 0 8px;
    font-size:20px;
    line-height:1.4;
    font-weight:700;
    letter-spacing:-.025em;
    color:#fff;
  }

  .weeks-section .week-detail p{
    margin:0 !important;
    font-size:15px !important;
    line-height:1.68 !important;
    font-weight:500;
    color:rgba(255,255,255,.84) !important;
  }

  .weeks-section .week-detail-flow{
    margin-top:7px !important;
    color:#9ec8ff !important;
    font-weight:600 !important;
  }

  .weeks-section .week-closing{
    display:none;
  }

  /* keep inactive bands unchanged except their existing blue stage colors */
}

@media (min-width:1024px) and (max-width:1439px){
  .weeks-section .week-row.active .week-copy{
    grid-template-columns:minmax(260px, 30%) minmax(430px, 50%);
    column-gap:50px;
    padding:50px 44px 42px 80px !important;
  }

  .weeks-section .week-title-block h3{
    font-size:37px !important;
  }

  .weeks-section .week-title-block h4{
    font-size:20px !important;
  }

  .weeks-section .week-detail-list{
    gap:16px;
  }

  .weeks-section .week-detail{
    grid-template-columns:54px minmax(0,1fr);
    gap:18px;
  }

  .weeks-section .week-detail + .week-detail{
    padding-top:16px;
  }

  .weeks-section .week-detail-icon,
  .weeks-section .week-detail-icon img{
    width:50px;
    height:50px;
  }

  .weeks-section .week-detail h5{
    font-size:17px;
  }

  .weeks-section .week-detail p{
    font-size:13px !important;
    line-height:1.55 !important;
  }
}

/* mobile/tablet stack keeps its original readable layout */
@media (max-width:1023px){
  .weeks-section .week-title-block,
  .weeks-section .week-detail-list,
  .weeks-section .week-detail{
    display:block;
  }

  .weeks-section .week-detail-icon{
    display:none;
  }

  .weeks-section .week-detail h5{
    margin:18px 0 8px;
  }

  .weeks-section .week-detail p{
    margin-bottom:12px;
  }
}


/* =========================================================
   4 WEEK EDITORIAL FIX V2
   1. restore text on inactive bars
   2. white line icons
   3. prevent right-side description clipping
   4. no auto rolling — hover/click only via JS
   ========================================================= */
@media (min-width:1024px){

  /* Explicit vertical bar label */
  .weeks-section .week-bar-label{
    display:none;
  }

  .weeks-section .week-row:not(.active) .week-bar-label{
    position:absolute;
    inset:58px 8px 16px;
    z-index:4;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    writing-mode:vertical-rl;
    text-orientation:upright;
    text-align:center;
    color:#fff;
    font-size:15px;
    line-height:1.55;
    font-weight:700;
    letter-spacing:.06em;
    word-break:keep-all;
    overflow:hidden;
  }

  /* Active panel should never show the bar-only label */
  .weeks-section .week-row.active .week-bar-label{
    display:none !important;
  }

  /* Give the detail side more usable width and reduce dead space */
  .weeks-section .week-row.active .week-copy{
    grid-template-columns:minmax(280px, 29%) minmax(560px, 52%) !important;
    column-gap:56px !important;
    padding:46px 46px 38px 86px !important;
    align-content:center !important;
    overflow:visible !important;
  }

  .weeks-section .week-title-block{
    max-width:350px !important;
  }

  .weeks-section .week-title-block h3{
    font-size:40px !important;
    line-height:1.12 !important;
    margin-bottom:24px !important;
  }

  .weeks-section .week-title-block h4{
    font-size:21px !important;
    line-height:1.48 !important;
    padding-top:24px !important;
  }

  /* Compact but readable right-side blocks so nothing is cut */
  .weeks-section .week-detail-list{
    gap:14px !important;
    max-width:680px;
  }

  .weeks-section .week-detail{
    grid-template-columns:54px minmax(0,1fr) !important;
    gap:18px !important;
  }

  .weeks-section .week-detail + .week-detail{
    padding-top:14px !important;
  }

  .weeks-section .week-detail-icon,
  .weeks-section .week-detail-icon img{
    width:50px !important;
    height:50px !important;
  }

  .weeks-section .week-detail h5{
    margin-bottom:5px !important;
    font-size:17px !important;
    line-height:1.35 !important;
  }

  .weeks-section .week-detail p{
    font-size:13px !important;
    line-height:1.5 !important;
  }

  .weeks-section .week-detail-flow{
    margin-top:4px !important;
    font-size:12px !important;
    line-height:1.45 !important;
  }

  /* white icons */
  .weeks-section .week-detail-icon{
    color:#fff !important;
  }

  .weeks-section .week-detail-icon img{
    opacity:.96;
  }
}

@media (min-width:1440px){
  .weeks-section .week-row.active .week-copy{
    grid-template-columns:minmax(300px, 30%) minmax(620px, 50%) !important;
    column-gap:64px !important;
    padding:48px 54px 40px 92px !important;
  }

  .weeks-section .week-detail-list{
    max-width:720px;
  }

  .weeks-section .week-detail h5{
    font-size:18px !important;
  }

  .weeks-section .week-detail p{
    font-size:14px !important;
    line-height:1.52 !important;
  }
}


/* =========================================================
   PROBLEM SECTION — PLANEE-INSPIRED INTRO
   Scope: top message area only. Formula/note below are preserved.
   ========================================================= */
.problem-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 100%, rgba(91,229,210,.16) 0%, rgba(91,229,210,0) 34%),
    radial-gradient(circle at 84% 0%, rgba(87,166,255,.18) 0%, rgba(87,166,255,0) 38%),
    #fff;
}

.problem-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,.72));
}

.problem-section > *{
  position:relative;
  z-index:1;
}

.problem-section .problem-hero{
  width:min(1280px, calc(100% - 80px));
  margin:0 auto;
  padding:8px 0 24px;
  text-align:center;
}

.problem-section .problem-title{
  max-width:1040px;
  margin:0 auto;
}

.problem-section .problem-title h2{
  margin:0;
  font-size:64px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.055em;
  color:#191919;
  word-break:keep-all;
}

.problem-section .problem-highlight{
  margin:28px 0 0;
  font-size:31px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:-.035em;
  color:#202020;
}

.problem-section .problem-highlight strong{
  color:#0b72f4;
  font-weight:800;
  position:relative;
}

.problem-section .problem-highlight strong::before{
  content:"";
  position:absolute;
  left:-5px;
  right:-5px;
  bottom:2px;
  height:10px;
  background:linear-gradient(90deg, rgba(0,217,183,.28), rgba(0,149,255,.25));
  z-index:-1;
  border-radius:3px;
}

.problem-section .problem-lead{
  max-width:850px;
  margin:30px auto 0;
  color:#60656f;
}

.problem-section .problem-lead p{
  margin:0 0 8px;
  font-size:19px;
  line-height:1.68;
  font-weight:500;
  letter-spacing:-.018em;
  word-break:keep-all;
}

.problem-section .problem-lead p:last-child{
  margin-top:16px;
  margin-bottom:0;
}

/* preserve the existing lower explanatory blocks, but give them more breathing room */
.problem-section .formula-block{
  margin-top:72px;
}

@media (max-width:1279px){
  .problem-section .problem-title h2{
    font-size:54px;
  }
  .problem-section .problem-highlight{
    font-size:27px;
  }
}

@media (max-width:1023px){
  .problem-section .problem-hero{
    width:calc(100% - 64px);
  }
  .problem-section .problem-title h2{
    font-size:44px;
    line-height:1.2;
  }
  .problem-section .problem-highlight{
    margin-top:22px;
    font-size:24px;
  }
  .problem-section .problem-lead{
    margin-top:24px;
  }
  .problem-section .problem-lead p{
    font-size:17px;
    line-height:1.65;
  }
}

@media (max-width:767px){
  .problem-section .problem-hero{
    width:calc(100% - 40px);
    padding-top:0;
  }
  .problem-section .problem-title h2{
    font-size:34px;
    line-height:1.25;
  }
  .problem-section .problem-highlight{
    font-size:21px;
    line-height:1.45;
  }
  .problem-section .problem-lead p{
    font-size:16px;
    line-height:1.7;
  }
  .problem-section .problem-lead p br{
    display:none;
  }
  .problem-section .formula-block{
    margin-top:52px;
  }
}


/* =========================================================
   PROBLEM TITLE SIZE ONLY
   Slightly smaller than the 64px hero scale.
   ========================================================= */
@media (min-width:1280px){
  .problem-section .problem-title h2{
    font-size:56px !important;
    line-height:1.17 !important;
  }
}


/* PROBLEM TITLE WEIGHT ONLY */
@media (min-width:1280px){
  .problem-section .problem-title h2{
    font-weight:700 !important;
  }
}


/* =========================================================
   PROBLEM SECTION — MESSAGE BLOCKS V2
   Replaces document-like paragraph box with a visual 01 → 02 progression.
   Scope: formula + recommendation note only.
   ========================================================= */

.problem-section .formula-block--landing{
  width:min(1280px, calc(100% - 80px));
  margin:72px auto 0;
  padding:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);
  gap:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
  align-items:stretch;
}

.problem-section .formula-card{
  position:relative;
  min-height:310px;
  padding:52px 54px 48px;
  border:1px solid rgba(35,79,145,.12);
  background:rgba(255,255,255,.78);
  box-shadow:0 18px 48px rgba(29,78,140,.06);
  backdrop-filter:blur(10px);
  overflow:hidden;
}

.problem-section .formula-card--base{
  border-radius:28px 0 0 28px;
}

.problem-section .formula-card--expand{
  border-radius:0 28px 28px 0;
  background:
    linear-gradient(135deg, rgba(235,245,255,.92), rgba(255,255,255,.92));
}

.problem-section .formula-card::before{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  border-radius:50%;
  right:-88px;
  top:-112px;
  background:radial-gradient(circle, rgba(39,109,210,.11), rgba(39,109,210,0) 68%);
  pointer-events:none;
}

.problem-section .formula-index{
  display:block;
  margin:0 0 42px;
  font-family:'Montserrat', sans-serif;
  font-size:13px;
  line-height:1;
  font-weight:700;
  letter-spacing:.13em;
  color:#1565d8;
}

.problem-section .formula-card h3{
  max-width:460px;
  margin:0 0 20px;
  font-size:30px;
  line-height:1.28;
  font-weight:700;
  letter-spacing:-.04em;
  color:#172033;
  word-break:keep-all;
}

.problem-section .formula-card p{
  margin:0;
  max-width:500px;
  font-size:17px;
  line-height:1.8;
  font-weight:400;
  letter-spacing:-.018em;
  color:#626b79;
  word-break:keep-all;
}

.problem-section .formula-arrow--bridge{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:92px;
  background:transparent;
  transform:none;
  color:transparent;
}

.problem-section .formula-arrow--bridge::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:1px;
  background:linear-gradient(90deg, rgba(20,100,220,.14), rgba(20,100,220,.46), rgba(20,100,220,.14));
}

.problem-section .formula-arrow--bridge span{
  position:relative;
  z-index:1;
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid rgba(25,101,214,.24);
  background:#fff;
  box-shadow:0 8px 24px rgba(28,89,174,.10);
}

.problem-section .formula-arrow--bridge span::before{
  content:"";
  position:absolute;
  left:15px;
  top:22px;
  width:16px;
  height:1.5px;
  background:#1765d6;
}

.problem-section .formula-arrow--bridge span::after{
  content:"";
  position:absolute;
  right:14px;
  top:18px;
  width:8px;
  height:8px;
  border-top:1.5px solid #1765d6;
  border-right:1.5px solid #1765d6;
  transform:rotate(45deg);
}

.problem-section .editorial-note--landing{
  width:min(1060px, calc(100% - 80px));
  margin:28px auto 0;
  min-height:112px;
  padding:24px 38px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  border:1px solid rgba(34,103,205,.14);
  border-radius:20px;
  background:linear-gradient(90deg, rgba(241,247,255,.96), rgba(250,252,255,.96));
  box-shadow:none;
  text-align:left;
}

.problem-section .editorial-note-mark{
  flex:0 0 42px;
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#1765d6;
  color:#fff;
  font-size:18px;
  font-weight:700;
}

.problem-section .editorial-note--landing p{
  margin:0;
  font-size:19px;
  line-height:1.62;
  font-weight:600;
  letter-spacing:-.025em;
  color:#253247;
  word-break:keep-all;
}

@media (max-width:1100px){
  .problem-section .formula-block--landing{
    width:calc(100% - 64px);
    grid-template-columns:minmax(0,1fr) 68px minmax(0,1fr);
  }

  .problem-section .formula-card{
    min-height:290px;
    padding:42px 38px 40px;
  }

  .problem-section .formula-card h3{
    font-size:26px;
  }

  .problem-section .formula-card p{
    font-size:16px;
  }

  .problem-section .formula-arrow--bridge{
    min-width:68px;
  }

  .problem-section .editorial-note--landing{
    width:calc(100% - 64px);
  }
}

@media (max-width:767px){
  .problem-section .formula-block--landing{
    width:calc(100% - 40px);
    margin-top:52px;
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
  }

  .problem-section .formula-card{
    min-height:0;
    padding:34px 28px 32px;
    border-radius:20px !important;
  }

  .problem-section .formula-index{
    margin-bottom:24px;
  }

  .problem-section .formula-card h3{
    font-size:24px;
    line-height:1.35;
  }

  .problem-section .formula-card p{
    font-size:16px;
    line-height:1.7;
  }

  .problem-section .formula-card p br{
    display:none;
  }

  .problem-section .formula-arrow--bridge{
    min-width:0;
    height:34px;
  }

  .problem-section .formula-arrow--bridge::before{
    left:50%;
    right:auto;
    top:0;
    bottom:0;
    width:1px;
    height:auto;
    background:linear-gradient(180deg, rgba(20,100,220,.10), rgba(20,100,220,.38), rgba(20,100,220,.10));
  }

  .problem-section .formula-arrow--bridge span{
    width:36px;
    height:36px;
  }

  .problem-section .formula-arrow--bridge span::before{
    left:12px;
    top:17px;
    width:12px;
  }

  .problem-section .formula-arrow--bridge span::after{
    right:10px;
    top:13px;
  }

  .problem-section .editorial-note--landing{
    width:calc(100% - 40px);
    margin-top:18px;
    padding:22px 24px;
    align-items:flex-start;
    gap:14px;
  }

  .problem-section .editorial-note-mark{
    flex-basis:34px;
    width:34px;
    height:34px;
    font-size:15px;
  }

  .problem-section .editorial-note--landing p{
    font-size:16px;
    line-height:1.65;
  }

  .problem-section .editorial-note--landing p br{
    display:none;
  }
}


/* =========================================================
   PROBLEM RECOMMENDATION NOTE — NO BOX / CENTERED
   ========================================================= */
.problem-section .editorial-note--landing{
  width:min(980px, calc(100% - 80px));
  min-height:0;
  margin:34px auto 0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  text-align:center;
}

.problem-section .editorial-note-mark{
  flex:0 0 32px;
  width:32px;
  height:32px;
  border-radius:50%;
  background:#1765d6;
  color:#fff;
  font-size:15px;
}

.problem-section .editorial-note--landing p{
  margin:0;
  font-size:19px;
  line-height:1.62;
  font-weight:600;
  letter-spacing:-.025em;
  color:#253247;
  text-align:center;
}

@media (max-width:767px){
  .problem-section .editorial-note--landing{
    width:calc(100% - 40px);
    margin-top:26px;
    padding:0;
    gap:10px;
    align-items:flex-start;
  }

  .problem-section .editorial-note-mark{
    flex:0 0 28px;
    width:28px;
    height:28px;
    font-size:13px;
    margin-top:1px;
  }

  .problem-section .editorial-note--landing p{
    font-size:16px;
    line-height:1.65;
    text-align:left;
  }
}


/* =========================================================
   PROBLEM CARDS — NHN/PLANEE PASTEL CARD TONE
   Scope: 01/02 cards only
   ========================================================= */
.problem-section .formula-block--landing{
  grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr);
  gap:0;
}

.problem-section .formula-card{
  min-height:360px;
  padding:42px 46px 36px;
  border:0;
  border-radius:22px !important;
  box-shadow:none;
  backdrop-filter:none;
}

.problem-section .formula-card--base{
  background:#F2F0FF;
}

.problem-section .formula-card--expand{
  background:#EEF4FF;
}

.problem-section .formula-card::before{
  display:none;
}

.problem-section .formula-index{
  margin-bottom:34px;
  font-size:13px;
  color:#1765D6;
}

.problem-section .formula-card h3{
  margin-bottom:16px;
  font-size:29px;
  line-height:1.32;
  font-weight:700;
  color:#171A22;
}

.problem-section .formula-card p{
  max-width:430px;
  font-size:17px;
  line-height:1.75;
  color:#4E5A6D;
}

.problem-section .formula-illustration{
  position:absolute;
  right:34px;
  bottom:28px;
  width:104px;
  height:104px;
  object-fit:contain;
}

.problem-section .formula-arrow--bridge{
  min-width:74px;
}

.problem-section .formula-arrow--bridge::before{
  left:10px;
  right:10px;
}

.problem-section .formula-arrow--bridge span{
  width:42px;
  height:42px;
  border:0;
  box-shadow:none;
  background:transparent;
}

.problem-section .formula-arrow--bridge span::before{
  left:11px;
  top:20px;
  width:16px;
}

.problem-section .formula-arrow--bridge span::after{
  right:10px;
  top:16px;
}

/* Make the cards feel like a landing-page choice block rather than a document panel */
@media (min-width:1280px){
  .problem-section .formula-block--landing{
    width:min(1280px, calc(100% - 80px));
  }
}

@media (max-width:767px){
  .problem-section .formula-card{
    min-height:300px;
    padding:32px 26px 28px;
  }

  .problem-section .formula-illustration{
    width:82px;
    height:82px;
    right:22px;
    bottom:20px;
  }

  .problem-section .formula-card h3{
    font-size:24px;
  }

  .problem-section .formula-card p{
    padding-right:70px;
    font-size:16px;
  }
}


/* =========================================================
   RECOMMENDATION NOTE — REMOVE CHECK / BIGGER COPY
   ========================================================= */
.problem-section .editorial-note-mark{
  display:none !important;
}

.problem-section .editorial-note--landing{
  gap:0 !important;
}

.problem-section .editorial-note--landing p{
  font-size:24px !important;
  line-height:1.58 !important;
  font-weight:650 !important;
  letter-spacing:-.03em !important;
  text-align:center !important;
  color:#253247 !important;
}

@media (max-width:767px){
  .problem-section .editorial-note--landing p{
    font-size:19px !important;
    line-height:1.6 !important;
    text-align:center !important;
  }
}


/* =========================================================
   HERO FULL VIEWPORT REFINEMENT
   - make hero fill the first screen
   - keep existing content/layout, only adjust hero sizing
   ========================================================= */
.mepa-main .hero-section{
  height:100vh;
  min-height:100vh;
}

@supports (height: 100svh){
  .mepa-main .hero-section{
    height:100svh;
    min-height:100svh;
  }
}

.mepa-main .hero-section .hero-inner{
  min-height:100%;
  padding-top:clamp(112px, 10vh, 148px);
  padding-bottom:clamp(40px, 6.5vh, 64px);
  align-content:center;
}

.mepa-main .hero-section .hero-copy{
  align-self:center;
}

.mepa-main .hero-section .hero-questions{
  align-self:end;
}

.mepa-main .hero-section .hero-bottom{
  margin-top:auto;
}

@media (max-width:1279px){
  .mepa-main .hero-section{
    height:auto;
    min-height:100vh;
  }

  @supports (height: 100svh){
    .mepa-main .hero-section{
      min-height:100svh;
    }
  }

  .mepa-main .hero-section .hero-inner{
    padding-top:clamp(110px, 11vh, 132px);
    padding-bottom:36px;
  }
}

@media (max-width:767px){
  .mepa-main .hero-section{
    height:auto;
    min-height:100vh;
  }

  @supports (height: 100svh){
    .mepa-main .hero-section{
      min-height:100svh;
    }
  }

  .mepa-main .hero-section .hero-inner{
    padding-top:104px;
    padding-bottom:32px;
  }
}


/* =========================================================
   HERO — 2 TEXT SETS / FIXED ONE MONTH / FIXED CTA
   Scope: hero only.
   ========================================================= */

.mepa-main .hero-section{
  overflow:hidden;
}

.mepa-main .hero-section .hero-inner{
  position:relative;
  display:block;
}

.mepa-main .hero-rolling{
  position:absolute;
  left:0;
  right:0;
  top:0;
  bottom:118px;
}

.mepa-main .hero-slide{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  pointer-events:none;
  transition:
    opacity .72s cubic-bezier(.22,.61,.36,1),
    transform .72s cubic-bezier(.22,.61,.36,1),
    visibility 0s linear .72s;
}

.mepa-main .hero-slide.is-active{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
  transition-delay:0s;
}

.mepa-main .hero-slide .hero-copy{
  width:680px;
  max-width:680px;
  margin-left:9vw;
  padding-top:0;
}

.mepa-main .hero-slide .hero-copy h1{
  margin:0 0 28px;
  max-width:680px;
  font-size:64px;
  line-height:1.12;
  font-weight:750;
  letter-spacing:-.055em;
}

.mepa-main .hero-slide .hero-lead{
  margin:0;
  max-width:510px;
  font-size:23px;
  line-height:1.45;
  font-weight:500;
  letter-spacing:-.025em;
  color:rgba(255,255,255,.88);
}

.mepa-main .hero-slide .hero-questions{
  position:static;
  width:600px;
  margin:30px 0 0;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
}

.mepa-main .hero-slide .hero-questions p{
  position:relative;
  margin:0 0 10px;
  padding:0 0 0 27px;
  border:0;
  font-size:17px;
  line-height:1.45;
  font-weight:600;
  color:#fff;
}

.mepa-main .hero-slide .hero-questions p::before{
  content:"";
  position:absolute;
  left:0;
  top:.45em;
  width:7px;
  height:7px;
  border-right:2px solid rgba(255,255,255,.96);
  border-bottom:2px solid rgba(255,255,255,.96);
  transform:rotate(45deg);
}

.mepa-main .hero-copy--second{
  padding-top:8px;
}

.mepa-main .hero-set-kicker{
  margin:0 0 20px;
  font-family:'Montserrat',sans-serif;
  font-size:12px;
  line-height:1;
  font-weight:700;
  letter-spacing:.16em;
  color:#9ec8ff;
}

.mepa-main .hero-copy--second h1{
  margin-bottom:30px;
}

.mepa-main .hero-second-label{
  position:relative;
  margin:0 0 12px;
  padding-left:42px;
  font-size:18px;
  line-height:1.5;
  font-weight:650;
  color:#9ec8ff;
}

.mepa-main .hero-second-label::before{
  content:"";
  position:absolute;
  left:0;
  top:.74em;
  width:26px;
  height:1px;
  background:#9ec8ff;
}

.mepa-main .hero-lead--second{
  max-width:600px;
  font-size:25px;
  line-height:1.52;
  font-weight:600;
}

.mepa-main .hero-static{
  position:absolute;
  left:9vw;
  right:9vw;
  bottom:50px;
  z-index:8;
  display:flex;
  align-items:flex-end;
  gap:30px;
}

.mepa-main .hero-month-fixed{
  display:flex;
  align-items:flex-end;
  gap:12px;
  white-space:nowrap;
}

.mepa-main .hero-month-fixed span{
  padding-bottom:4px;
  font-family:'Montserrat',sans-serif;
  font-size:12px;
  line-height:1;
  font-weight:600;
  letter-spacing:.18em;
  color:#9ec8ff;
}

.mepa-main .hero-month-fixed strong{
  font-size:26px;
  line-height:1;
  font-weight:750;
  letter-spacing:-.03em;
  color:#fff;
}

.mepa-main .hero-slide-nav{
  display:flex;
  align-items:center;
  gap:7px;
  margin-left:2px;
  padding-bottom:3px;
}

.mepa-main .hero-slide-nav button{
  width:22px;
  height:3px;
  margin:0;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.32);
  cursor:pointer;
  transition:width .28s ease, background-color .28s ease;
}

.mepa-main .hero-slide-nav button.is-active{
  width:38px;
  background:#fff;
}

.mepa-main .hero-fixed-cta{
  position:fixed;
  right:28px;
  bottom:28px;
  z-index:95;
  min-width:220px;
  height:58px;
  padding:0 22px 0 26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  background:#1765d6;
  box-shadow:0 14px 34px rgba(16,56,122,.22);
  color:#fff;
  font-size:15px;
  line-height:1;
  font-weight:700;
  letter-spacing:-.02em;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.mepa-main .hero-fixed-cta b{
  font-size:20px;
  line-height:1;
  font-weight:400;
}

.mepa-main .hero-fixed-cta:hover{
  transform:translateY(-2px);
  background:#0f5ac7;
  box-shadow:0 18px 40px rgba(16,56,122,.28);
}

@media (max-width:1279px){
  .mepa-main .hero-slide .hero-copy{
    margin-left:7vw;
    width:620px;
    max-width:620px;
  }

  .mepa-main .hero-slide .hero-copy h1{
    font-size:54px;
  }

  .mepa-main .hero-slide .hero-lead{
    font-size:20px;
  }

  .mepa-main .hero-lead--second{
    font-size:22px;
  }

  .mepa-main .hero-static{
    left:7vw;
    right:7vw;
  }
}

@media (max-width:850px){
  .mepa-main .hero-rolling{
    position:relative;
    inset:auto;
    min-height:580px;
    padding-top:86px;
    padding-bottom:90px;
  }

  .mepa-main .hero-slide{
    align-items:flex-start;
  }

  .mepa-main .hero-slide .hero-copy{
    width:100%;
    max-width:none;
    margin-left:0;
    padding:0 4px;
  }

  .mepa-main .hero-slide .hero-copy h1{
    font-size:38px;
    line-height:1.18;
    margin-bottom:22px;
  }

  .mepa-main .hero-slide .hero-lead,
  .mepa-main .hero-lead--second{
    font-size:18px;
    line-height:1.55;
  }

  .mepa-main .hero-slide .hero-questions{
    width:100%;
    margin-top:24px;
  }

  .mepa-main .hero-slide .hero-questions p{
    font-size:15px;
    padding-left:24px;
    margin-bottom:9px;
  }

  .mepa-main .hero-static{
    left:20px;
    right:20px;
    bottom:28px;
  }

  .mepa-main .hero-month-fixed strong{
    font-size:23px;
  }

  .mepa-main .hero-fixed-cta{
    display:none;
  }
}

@media (prefers-reduced-motion:reduce){
  .mepa-main .hero-slide{
    transition:none;
    transform:none;
  }
}


/* =========================================================
   HERO ROLLING CORRECTED V2
   - both slides share the same left axis / width
   - desktop headline stays on 2 lines
   - ONE MONTH / 한 달 is fixed
   - CTA exists in BOTH rolling text sets
   ========================================================= */

.mepa-main .hero-fixed-cta{
  display:none !important;
}

@media (min-width:851px){
  .mepa-main .hero-section{
    height:100vh !important;
    min-height:760px !important;
  }

  @supports (height:100svh){
    .mepa-main .hero-section{
      height:100svh !important;
    }
  }

  .mepa-main .hero-section .hero-inner{
    position:relative;
    display:block !important;
    height:100%;
    min-height:100%;
    padding:0 !important;
  }

  .mepa-main .hero-rolling{
    position:absolute;
    inset:0 0 112px 0;
  }

  .mepa-main .hero-slide{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    opacity:0;
    visibility:hidden;
    transform:none !important;
    pointer-events:none;
    transition:opacity .65s ease, visibility 0s linear .65s !important;
  }

  .mepa-main .hero-slide.is-active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition-delay:0s !important;
  }

  .mepa-main .hero-slide .hero-copy{
    width:860px !important;
    max-width:860px !important;
    margin-left:9vw !important;
    padding:0 !important;
  }

  .mepa-main .hero-title{
    width:100%;
    max-width:none !important;
    margin:0 0 30px !important;
    font-size:58px !important;
    line-height:1.14 !important;
    font-weight:750 !important;
    letter-spacing:-.052em !important;
  }

  .mepa-main .hero-title span{
    display:block;
    white-space:nowrap;
  }

  .mepa-main .hero-slide .hero-lead{
    width:100%;
    max-width:560px !important;
    margin:0 !important;
    font-size:23px !important;
    line-height:1.45 !important;
    font-weight:500 !important;
    letter-spacing:-.025em !important;
  }

  .mepa-main .hero-slide .hero-questions{
    position:static !important;
    width:620px !important;
    margin:28px 0 0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
  }

  .mepa-main .hero-slide .hero-questions p{
    position:relative;
    margin:0 0 10px !important;
    padding:0 0 0 26px !important;
    border:0 !important;
    font-size:17px !important;
    line-height:1.42 !important;
    font-weight:600 !important;
    color:#fff !important;
  }

  .mepa-main .hero-slide .hero-questions p::before{
    content:"";
    position:absolute;
    left:1px;
    top:.42em;
    width:7px;
    height:4px;
    border-left:2px solid #fff;
    border-bottom:2px solid #fff;
    transform:rotate(-45deg);
  }

  .mepa-main .hero-slide-cta{
    width:238px;
    height:56px;
    margin-top:30px;
    padding:0 22px 0 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    border:1px solid rgba(255,255,255,.42);
    border-radius:999px;
    background:rgba(255,255,255,.10);
    backdrop-filter:blur(8px);
    color:#fff;
    font-size:15px;
    font-weight:700;
    letter-spacing:-.02em;
    transition:background-color .18s ease, border-color .18s ease;
  }

  .mepa-main .hero-slide-cta:hover{
    background:#1765d6;
    border-color:#1765d6;
  }

  .mepa-main .hero-slide-cta b{
    font-size:20px;
    font-weight:400;
  }

  .mepa-main .hero-set-kicker{
    margin:0 0 20px !important;
  }

  .mepa-main .hero-title--second{
    margin-bottom:28px !important;
  }

  .mepa-main .hero-second-label{
    margin:0 0 12px !important;
  }

  .mepa-main .hero-lead--second{
    max-width:650px !important;
    font-size:25px !important;
    line-height:1.5 !important;
    font-weight:600 !important;
  }

  .mepa-main .hero-static{
    position:absolute !important;
    left:9vw !important;
    right:9vw !important;
    bottom:38px !important;
    z-index:10;
    display:flex !important;
    align-items:center !important;
    gap:26px !important;
  }

  .mepa-main .hero-month-fixed{
    display:flex !important;
    align-items:flex-end !important;
    gap:11px !important;
  }

  .mepa-main .hero-month-fixed span{
    font-size:12px !important;
    letter-spacing:.18em !important;
  }

  .mepa-main .hero-month-fixed strong{
    font-size:26px !important;
  }
}

@media (min-width:851px) and (max-width:1279px){
  .mepa-main .hero-slide .hero-copy{
    width:720px !important;
    max-width:720px !important;
    margin-left:7vw !important;
  }

  .mepa-main .hero-title{
    font-size:50px !important;
  }

  .mepa-main .hero-title span{
    white-space:normal;
  }

  .mepa-main .hero-slide .hero-lead{
    font-size:20px !important;
  }

  .mepa-main .hero-static{
    left:7vw !important;
    right:7vw !important;
  }
}

@media (max-width:850px){
  .mepa-main .hero-title span{
    white-space:normal;
  }

  .mepa-main .hero-slide-cta{
    width:210px;
    height:50px;
    margin-top:24px;
    padding:0 18px 0 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border:1px solid rgba(255,255,255,.42);
    border-radius:999px;
    background:rgba(255,255,255,.10);
    color:#fff;
    font-size:14px;
    font-weight:700;
  }
}


/* =========================================================
   HERO FINAL CTA
   - no CTA inside rolling text sets
   - one CTA fixed at the lower-right of the viewport
   - ONE MONTH / 한 달 remains fixed inside the hero
   ========================================================= */

.mepa-main .hero-slide-cta{
  display:none !important;
}

.mepa-main .hero-fixed-cta--final{
  position:fixed !important;
  right:28px !important;
  bottom:28px !important;
  z-index:120 !important;
  width:auto !important;
  min-width:228px !important;
  height:58px !important;
  padding:0 22px 0 26px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:22px !important;
  border:1px solid rgba(255,255,255,.24) !important;
  border-radius:999px !important;
  background:#1765d6 !important;
  box-shadow:0 14px 34px rgba(16,56,122,.24) !important;
  color:#fff !important;
  font-size:15px !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:-.02em !important;
  text-decoration:none !important;
  transition:
    transform .18s ease,
    background-color .18s ease,
    box-shadow .18s ease !important;
}

.mepa-main .hero-fixed-cta--final b{
  font-size:20px !important;
  line-height:1 !important;
  font-weight:400 !important;
}

.mepa-main .hero-fixed-cta--final:hover{
  transform:translateY(-2px);
  background:#0f5ac7 !important;
  box-shadow:0 18px 40px rgba(16,56,122,.30) !important;
}

/* On mobile keep the CTA visible but compact and away from the bottom edge. */
@media (max-width:850px){
  .mepa-main .hero-fixed-cta--final{
    right:16px !important;
    bottom:16px !important;
    min-width:190px !important;
    height:50px !important;
    padding:0 17px 0 20px !important;
    font-size:14px !important;
  }
}


/* =========================================================
   HERO FINAL TYPOGRAPHY FIX
   Fix selector conflicts only:
   - restore large h1
   - keep 2-line desktop title
   - keep lead at 23px
   - keep questions below on same left axis
   - ONE MONTH / fixed CTA untouched
   ========================================================= */

@media (min-width:1280px){

  .mepa-main .hero-section .hero-slide .hero-copy{
    width:900px !important;
    max-width:900px !important;
    margin-left:9vw !important;
    padding:0 !important;
  }

  .mepa-main .hero-section .hero-slide .hero-copy h1.hero-title,
  .mepa-main .hero-section .hero-slide .hero-copy .hero-title{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 0 30px !important;
    padding:0 !important;

    font-family:inherit !important;
    font-size:58px !important;
    line-height:1.14 !important;
    font-weight:750 !important;
    letter-spacing:-.052em !important;

    color:#fff !important;
    text-align:left !important;
    word-break:keep-all !important;
  }

  .mepa-main .hero-section .hero-slide .hero-copy h1.hero-title span,
  .mepa-main .hero-section .hero-slide .hero-copy .hero-title span{
    display:block !important;
    white-space:nowrap !important;
    font:inherit !important;
    line-height:inherit !important;
    color:inherit !important;
  }

  .mepa-main .hero-section .hero-slide .hero-copy .hero-lead{
    display:block !important;
    width:100% !important;
    max-width:560px !important;
    margin:0 !important;
    padding:0 !important;

    font-size:23px !important;
    line-height:1.45 !important;
    font-weight:500 !important;
    letter-spacing:-.025em !important;

    color:rgba(255,255,255,.88) !important;
    text-align:left !important;
  }

  .mepa-main .hero-section .hero-slide .hero-copy .hero-questions{
    position:static !important;
    display:block !important;

    width:620px !important;
    max-width:620px !important;

    margin:28px 0 0 !important;
    padding:0 !important;

    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;

    text-align:left !important;
  }

  .mepa-main .hero-section .hero-slide .hero-copy .hero-questions p{
    position:relative !important;
    display:block !important;

    margin:0 0 10px !important;
    padding:0 0 0 26px !important;

    border:0 !important;

    font-size:17px !important;
    line-height:1.42 !important;
    font-weight:600 !important;
    letter-spacing:-.02em !important;

    color:#fff !important;
    text-align:left !important;
  }

  .mepa-main .hero-section .hero-slide .hero-copy .hero-questions p::before{
    content:"" !important;
    position:absolute !important;
    left:1px !important;
    top:.42em !important;

    width:7px !important;
    height:4px !important;

    border:0 !important;
    border-left:2px solid #fff !important;
    border-bottom:2px solid #fff !important;

    background:none !important;
    transform:rotate(-45deg) !important;
  }

  /* Second slide uses the same hierarchy and left axis */
  .mepa-main .hero-section .hero-slide .hero-copy--second h1.hero-title{
    font-size:58px !important;
    line-height:1.14 !important;
    margin-bottom:28px !important;
  }

  .mepa-main .hero-section .hero-slide .hero-copy--second .hero-lead{
    max-width:650px !important;
    font-size:25px !important;
    line-height:1.5 !important;
    font-weight:600 !important;
  }
}

@media (min-width:851px) and (max-width:1279px){

  .mepa-main .hero-section .hero-slide .hero-copy{
    width:760px !important;
    max-width:760px !important;
    margin-left:7vw !important;
  }

  .mepa-main .hero-section .hero-slide .hero-copy h1.hero-title{
    font-size:50px !important;
    line-height:1.16 !important;
    margin-bottom:26px !important;
    color:#fff !important;
  }

  .mepa-main .hero-section .hero-slide .hero-copy h1.hero-title span{
    display:block !important;
    white-space:nowrap !important;
  }

  .mepa-main .hero-section .hero-slide .hero-copy .hero-lead{
    font-size:20px !important;
    line-height:1.5 !important;
  }

  .mepa-main .hero-section .hero-slide .hero-copy .hero-questions{
    width:600px !important;
    margin-top:24px !important;
  }

  .mepa-main .hero-section .hero-slide .hero-copy .hero-questions p{
    font-size:16px !important;
    margin-bottom:9px !important;
  }
}

@media (max-width:850px){

  .mepa-main .hero-section .hero-slide .hero-copy h1.hero-title{
    display:block !important;
    margin:0 0 22px !important;
    padding:0 !important;
    font-size:38px !important;
    line-height:1.18 !important;
    font-weight:750 !important;
    letter-spacing:-.045em !important;
    color:#fff !important;
  }

  .mepa-main .hero-section .hero-slide .hero-copy h1.hero-title span{
    display:block !important;
    white-space:normal !important;
  }

  .mepa-main .hero-section .hero-slide .hero-copy .hero-lead{
    font-size:18px !important;
    line-height:1.55 !important;
    color:rgba(255,255,255,.9) !important;
  }

  .mepa-main .hero-section .hero-slide .hero-copy .hero-questions{
    width:100% !important;
    margin-top:22px !important;
  }

  .mepa-main .hero-section .hero-slide .hero-copy .hero-questions p{
    font-size:15px !important;
    line-height:1.45 !important;
    margin-bottom:9px !important;
  }
}


/* =========================================================
   HERO — MONTH ROLLS WITH EACH TEXT SET
   - ONE MONTH / 한 달 is part of each slide content
   - it fades/moves together with that slide
   - nav sits directly below each slide's text block
   - fixed CTA stays bottom-right
   ========================================================= */

.mepa-main .hero-static{
  display:none !important;
}

@media (min-width:1280px){
  .mepa-main .hero-section .hero-inner{
    position:relative !important;
    display:block !important;
    height:100% !important;
    padding:0 !important;
  }

  .mepa-main .hero-rolling{
    position:absolute !important;
    inset:0 !important;
  }

  .mepa-main .hero-slide{
    position:absolute !important;
    inset:0 !important;
    display:flex !important;
    align-items:center !important;
  }

  .mepa-main .hero-slide .hero-copy{
    width:900px !important;
    max-width:900px !important;
    margin-left:9vw !important;
    padding:0 !important;
  }

  .mepa-main .hero-month-inline{
    display:flex;
    align-items:flex-end;
    gap:12px;
    margin:0 0 26px;
    white-space:nowrap;
  }

  .mepa-main .hero-month-inline span{
    padding-bottom:4px;
    font-family:'Montserrat',sans-serif;
    font-size:12px;
    line-height:1;
    font-weight:600;
    letter-spacing:.18em;
    color:#9ec8ff;
  }

  .mepa-main .hero-month-inline strong{
    font-size:26px;
    line-height:1;
    font-weight:750;
    letter-spacing:-.03em;
    color:#fff;
  }

  .mepa-main .hero-copy--second .hero-set-kicker{
    margin-top:0 !important;
  }

  .mepa-main .hero-slide-nav--inline{
    position:static !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    margin:28px 0 0 !important;
    padding:0 !important;
  }

  .mepa-main .hero-slide-nav--inline button{
    width:28px !important;
    height:3px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.28) !important;
    cursor:pointer;
    transition:width .28s ease, background-color .28s ease !important;
  }

  .mepa-main .hero-slide-nav--inline button.is-active{
    width:46px !important;
    background:#fff !important;
  }
}

@media (min-width:851px) and (max-width:1279px){
  .mepa-main .hero-slide .hero-copy{
    width:760px !important;
    max-width:760px !important;
    margin-left:7vw !important;
  }

  .mepa-main .hero-month-inline{
    margin-bottom:22px;
  }

  .mepa-main .hero-slide-nav--inline{
    margin-top:24px !important;
  }
}

@media (max-width:850px){
  .mepa-main .hero-month-inline{
    display:flex;
    align-items:flex-end;
    gap:10px;
    margin:0 0 20px;
  }

  .mepa-main .hero-month-inline span{
    padding-bottom:3px;
    font-family:'Montserrat',sans-serif;
    font-size:10px;
    font-weight:600;
    letter-spacing:.16em;
    color:#9ec8ff;
  }

  .mepa-main .hero-month-inline strong{
    font-size:22px;
    line-height:1;
    color:#fff;
  }

  .mepa-main .hero-slide-nav--inline{
    position:static !important;
    display:flex !important;
    gap:7px !important;
    margin:22px 0 0 !important;
    padding:0 !important;
  }

  .mepa-main .hero-slide-nav--inline button{
    width:24px !important;
    height:3px !important;
    border:0 !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.28) !important;
  }

  .mepa-main .hero-slide-nav--inline button.is-active{
    width:40px !important;
    background:#fff !important;
  }
}


/* =========================================================
   AUTHORITY FINAL MERGE — authority only, hero untouched
   ========================================================= */
.authority-section{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  min-height:760px;
  background:var(--m2-soft);
}

.authority-section .authority-photo{
  position:relative;
  min-height:760px;
  overflow:hidden;
}

.authority-section .authority-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 18%;
  transform:scale(1.10);
  transform-origin:center top;
}

.authority-section .authority-content{
  padding:70px 8vw 76px 64px;
  align-self:center;
}

/* intro first */
.authority-section .authority-intro{
  margin:0 0 28px;
  font-size:27px;
  line-height:1.55;
  font-weight:500;
  letter-spacing:-.025em;
  color:var(--m2-text);
}

.authority-section .authority-intro strong,
.authority-section .authority-highlight,
.authority-section .authority-highlight--neutral{
  color:inherit;
  font-weight:800;
}

/* numeric proof: no background box */
.authority-section .metrics{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  margin:0 0 28px;
}

.authority-section .metrics div{
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}

.authority-section .metrics span{
  display:block;
  margin:0 0 8px;
  font-size:16px;
  line-height:1.5;
  font-weight:700;
  color:#535d6b;
}

.authority-section .metrics strong{
  display:block;
  margin:0;
  font-size:42px;
  line-height:1.05;
  font-weight:800;
  letter-spacing:-.025em;
  color:var(--m2-blue2);
  font-variant-numeric:tabular-nums;
}

.authority-section .authority-checks{
  list-style:none;
  padding:0;
  margin:0 0 0;
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.authority-section .authority-checks li{
  position:relative;
  padding-left:28px;
  font-size:17px;
  line-height:1.7;
  font-weight:500;
  color:var(--m2-text);
}

.authority-section .authority-checks li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  font-size:17px;
  font-weight:800;
  color:var(--m2-blue);
}

.authority-section .authority-checks strong{
  font-weight:800;
}

/* president title BELOW checklist */
.authority-section .president-head{
  display:flex;
  align-items:flex-end;
  gap:14px;
  margin:34px 0 22px;
  padding-top:24px;
  border-top:1px solid #d7dde8;
}

.authority-section .president-head small{
  font-size:13px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.14em;
  color:var(--m2-blue);
}

.authority-section .president-head h2{
  margin:0;
  font-size:42px;
  line-height:1;
  font-weight:800;
  color:var(--m2-text);
}

/* profile always open, darker text */
.authority-section .profile-details--open{
  margin-top:0;
  padding-top:0;
  border-top:0;
}

.authority-section .profile-details--open .profile-list{
  display:block;
  padding:0;
}

.authority-section .profile-details--open .profile-list p{
  margin:5px 0;
  font-size:15px;
  line-height:1.72;
  font-weight:500;
  color:#56606d;
}

@media (max-width:991px){
  .authority-section{grid-template-columns:1fr;}
  .authority-section .authority-photo{min-height:560px;}
  .authority-section .authority-photo img{object-position:center 16%; transform:scale(1.08);}
  .authority-section .authority-content{padding:56px 24px 64px;}
  .authority-section .authority-intro{font-size:22px;line-height:1.5;}
  .authority-section .metrics{grid-template-columns:1fr;gap:18px;}
}

@media (max-width:767px){
  .authority-section .authority-photo{min-height:440px;}
  .authority-section .authority-intro{font-size:20px;line-height:1.45;}
  .authority-section .metrics span{font-size:15px;}
  .authority-section .metrics strong{font-size:34px;}
  .authority-section .authority-checks li{font-size:15px;line-height:1.65;padding-left:24px;}
  .authority-section .president-head{display:block;margin-top:28px;padding-top:20px;}
  .authority-section .president-head h2{margin-top:6px;font-size:34px;}
  .authority-section .profile-details--open .profile-list p{font-size:14px;line-height:1.68;}
}


/* =========================================================
   STORY CUSTOMER PHOTO REBUILD — STORY SECTION ONLY
   다른 섹션에는 영향 없음
   ========================================================= */
.story-section{
  position:relative; overflow:hidden; padding:118px 0 128px;
  background:linear-gradient(180deg,#f6f8fc 0%,#fbfaf7 48%,#fff 100%);
}
.story-section .story-memory{
  position:relative; display:grid; grid-template-columns:minmax(0,.86fr) minmax(560px,1.14fr);
  gap:64px; align-items:start;
}
.story-section .story-script{
  position:absolute; right:0; top:-72px; z-index:0; pointer-events:none; user-select:none;
  font-family:"Brush Script MT","Segoe Script","Snell Roundhand",cursive; font-style:italic; font-weight:400;
  font-size:clamp(118px,15vw,205px); line-height:1; letter-spacing:-.05em; color:rgba(26,86,194,.06);
}
.story-section .story-letter{position:relative; z-index:1; padding-top:42px; max-width:570px;}
.story-section .story-letter p{margin:0 0 20px; font-size:18px; line-height:2.02; font-weight:500; letter-spacing:-.02em; color:#596374;}
.story-section .story-letter p:first-child{font-size:21px; line-height:1.88; color:#354052;}
.story-section .story-stat--memo{
  margin-top:38px; padding:26px 0 25px 24px; border-left:3px solid #2868db; border-top:0; border-bottom:0;
  background:transparent; font-size:16px; line-height:1.8; color:#5d6675;
}
.story-section .story-stat--memo strong{display:block; margin-top:5px; font-size:30px; line-height:1.45; font-weight:800; letter-spacing:-.03em; color:#1747a5;}
.story-section .story-collage{
  position:relative; z-index:1; min-height:700px; display:grid; grid-template-columns:repeat(12,1fr); grid-template-rows:190px 160px 135px 155px; gap:16px;
  padding:18px 0 8px;
}
.story-section .story-shot{margin:0; overflow:hidden; border-radius:20px; background:#fff; box-shadow:0 20px 44px rgba(15,23,42,.11);}
.story-section .story-shot img{width:100%; height:100%; display:block; object-fit:cover;}
.story-section .shot-a{grid-column:1 / span 7; grid-row:1 / span 2; transform:rotate(-1deg) translateY(12px);}
.story-section .shot-b{grid-column:8 / span 5; grid-row:1 / span 1; transform:rotate(1deg);}
.story-section .shot-c{grid-column:8 / span 5; grid-row:2 / span 2; transform:rotate(-.7deg);}
.story-section .shot-d{grid-column:1 / span 4; grid-row:3 / span 2; transform:rotate(.8deg);}
.story-section .shot-e{grid-column:5 / span 3; grid-row:3 / span 1; transform:rotate(-1.2deg);}
.story-section .shot-f{grid-column:5 / span 8; grid-row:4 / span 1; transform:rotate(.4deg);}
.story-section .story-reflection{
  margin-top:86px; padding-top:48px; display:grid; grid-template-columns:1fr 1fr; gap:70px; border-top:1px solid rgba(35,48,69,.12);
}
.story-section .story-reflection p{margin:0 0 19px; font-size:17px; line-height:1.98; font-weight:500; letter-spacing:-.018em; color:#606a79;}
.story-section .story-reflection .story-turn{font-size:24px; line-height:1.72; font-weight:750; color:#303a4b; margin-bottom:26px;}
.story-section .story-close{
  margin-top:54px; padding:42px 46px; display:grid; grid-template-columns:1fr 1fr; gap:18px 42px;
  background:rgba(255,255,255,.84); border:1px solid rgba(31,41,55,.08); border-radius:26px; box-shadow:0 18px 46px rgba(15,23,42,.055);
}
.story-section .story-close p{margin:0; font-size:17px; line-height:1.9; color:#596374;}
.story-section .story-close strong{grid-column:1 / -1; display:block; padding-top:8px; font-size:40px; line-height:1.42; font-weight:800; letter-spacing:-.04em; color:#202938;}
@media(max-width:1100px){
  .story-section .story-memory{grid-template-columns:1fr; gap:38px;}
  .story-section .story-script{top:-40px; font-size:138px;}
  .story-section .story-letter{max-width:760px;}
}
@media(max-width:820px){
  .story-section{padding:88px 0 96px;}
  .story-section .story-script{top:-18px; font-size:96px;}
  .story-section .story-letter{padding-top:20px;}
  .story-section .story-letter p{font-size:16px; line-height:1.9;}
  .story-section .story-letter p:first-child{font-size:18px;}
  .story-section .story-stat--memo strong{font-size:25px;}
  .story-section .story-collage{grid-template-columns:repeat(2,1fr); grid-template-rows:210px 155px 155px 170px; min-height:0; gap:12px;}
  .story-section .shot-a{grid-column:1 / -1; grid-row:1; transform:rotate(-.5deg);}
  .story-section .shot-b{grid-column:1; grid-row:2; transform:none;}
  .story-section .shot-c{grid-column:2; grid-row:2 / span 2; transform:none;}
  .story-section .shot-d{grid-column:1; grid-row:3; transform:none;}
  .story-section .shot-e{grid-column:1; grid-row:4; transform:none;}
  .story-section .shot-f{grid-column:2; grid-row:4; transform:none;}
  .story-section .story-reflection{grid-template-columns:1fr; gap:8px; margin-top:56px; padding-top:32px;}
  .story-section .story-reflection .story-turn{font-size:21px;}
  .story-section .story-close{grid-template-columns:1fr; padding:32px 24px;}
  .story-section .story-close strong{grid-column:auto; font-size:31px;}
}
@media(max-width:520px){
  .story-section .story-script{font-size:78px; top:-8px;}
  .story-section .story-stat--memo strong{font-size:22px;}
  .story-section .story-reflection p{font-size:15px;}
  .story-section .story-reflection .story-turn{font-size:19px;}
  .story-section .story-close p{font-size:16px;}
  .story-section .story-close strong{font-size:28px;}
}


/* =========================================================
   STORY DETAIL FINAL — .story-section ONLY
   ========================================================= */
.story-section .story-memory{
  position:relative;
}
/* Story watermark: title-like position behind the opening lead, not a real heading */
.story-section .story-script{
  left:22%;
  right:auto;
  top:-18px;
  transform:translateX(-50%) rotate(-4deg);
  font-family:"Segoe Script","Snell Roundhand","Brush Script MT",cursive;
  font-size:clamp(118px,12vw,176px);
  line-height:.88;
  font-style:italic;
  font-weight:400;
  letter-spacing:-.055em;
  color:rgba(34,91,178,.075);
  white-space:nowrap;
  z-index:0;
}
.story-section .story-letter,
.story-section .story-collage{
  position:relative;
  z-index:1;
}

/* Second story block: collage left / text right */
.story-section .story-reflection{
  margin-top:90px;
  padding-top:0;
  border-top:0;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:68px;
  align-items:center;
}
.story-section .story-reflection-collage{
  min-height:610px;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:190px 145px 125px 135px;
  gap:14px;
}
.story-section .story-reflection-shot{
  margin:0;
  overflow:hidden;
  border-radius:20px;
  background:#fff;
  box-shadow:0 18px 42px rgba(15,23,42,.10);
}
.story-section .story-reflection-shot img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.story-section .reflection-a{grid-column:1 / span 7;grid-row:1 / span 2;transform:rotate(-.7deg) translateY(5px)}
.story-section .reflection-b{grid-column:8 / span 5;grid-row:1;transform:rotate(.8deg)}
.story-section .reflection-c{grid-column:8 / span 5;grid-row:2 / span 2;transform:rotate(-.5deg)}
.story-section .reflection-d{grid-column:1 / span 4;grid-row:3 / span 2;transform:rotate(.5deg)}
.story-section .reflection-e{grid-column:5 / span 8;grid-row:4;transform:rotate(-.35deg)}
.story-section .story-reflection-copy{display:block;}
.story-section .story-reflection-left,
.story-section .story-reflection-right{margin:0;}
.story-section .story-reflection-right{margin-top:30px;}

/* Ending: remove card UI and let the story breathe */
.story-section .story-close{
  max-width:980px;
  margin:84px auto 0;
  padding:0;
  display:block;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  text-align:center;
}
.story-section .story-close p{
  margin:0 0 8px;
  padding:0;
  border:0;
  background:transparent;
  font-size:17px;
  line-height:1.6;
  color:#596374;
}
.story-section .story-close p:last-of-type{
  margin-bottom:26px;
}
.story-section .story-close strong{
  display:block;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  font-family:"Pretendard","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  font-size:30px;
  line-height:1.24;
  font-weight:500;
  font-style:normal;
  letter-spacing:-.02em;
  color:#202938;
}

@media(max-width:1100px){
  .story-section .story-script{left:50%;top:-8px;font-size:132px;}
  .story-section .story-reflection{grid-template-columns:1fr;gap:42px;}
  .story-section .story-reflection-collage{min-height:570px;}
}
@media(max-width:820px){
  .story-section .story-script{left:50%;top:5px;font-size:96px;}
  .story-section .story-reflection{margin-top:62px;}
  .story-section .story-reflection-collage{
    min-height:0;
    grid-template-columns:repeat(2,1fr);
    grid-template-rows:210px 145px 160px 145px;
    gap:12px;
  }
  .story-section .reflection-a{grid-column:1 / -1;grid-row:1;transform:none;}
  .story-section .reflection-b{grid-column:1;grid-row:2;transform:none;}
  .story-section .reflection-c{grid-column:2;grid-row:2 / span 2;transform:none;}
  .story-section .reflection-d{grid-column:1;grid-row:3;transform:none;}
  .story-section .reflection-e{grid-column:1 / -1;grid-row:4;transform:none;}
  .story-section .story-reflection-right{margin-top:22px;}
  .story-section .story-close{margin-top:62px;}
  .story-section .story-close strong{font-size:54px;}
}
@media(max-width:520px){
  .story-section .story-script{font-size:76px;top:15px;}
  .story-section .story-close strong{font-size:30px;}
}


/* STORY text line-height unified to 1.7 */
.story-section .story-letter p,
.story-section .story-reflection p,
.story-section .story-reflection .story-turn{
  line-height:1.7;
}


/* STORY opening centered higher + two-image collage only */
.story-section .story-memory{
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:56px 72px;
  align-items:start;
  padding-top:96px;
}
.story-section .story-script{
  left:50%;
  top:-6px;
  transform:translateX(-50%) rotate(-4deg);
}
.story-section .story-opening{
  grid-column:1 / -1;
  max-width:780px;
  margin:0 auto 8px;
  text-align:center;
  position:relative;
  z-index:1;
}
.story-section .story-opening-copy{
  margin:0;
  font-size:21px;
  line-height:1.7;
  font-weight:700;
  letter-spacing:-.02em;
  color:#445065;
}
.story-section .story-letter{
  padding-top:0;
  max-width:520px;
}
.story-section .story-letter p:first-child{
  font-size:18px;
  line-height:1.7;
  color:#596374;
}
.story-section .story-collage{
  min-height:600px;
  grid-template-columns:repeat(10,1fr);
  grid-template-rows:120px 180px 170px 130px;
  gap:16px;
  padding:0;
}
.story-section .story-collage .story-shot{border-radius:24px;}
.story-section .story-collage .shot-main{
  grid-column:4 / 11;
  grid-row:1 / span 3;
  transform:rotate(.8deg);
}
.story-section .story-collage .shot-sub{
  grid-column:1 / 7;
  grid-row:3 / span 2;
  transform:rotate(-1deg) translateY(6px);
}
.story-section .story-collage .shot-main img,
.story-section .story-collage .shot-sub img{
  object-fit:cover;
}
@media(max-width:1100px){
  .story-section .story-memory{
    grid-template-columns:1fr;
    gap:34px;
    padding-top:82px;
  }
  .story-section .story-opening{max-width:760px; margin-bottom:0;}
  .story-section .story-letter{max-width:760px;}
  .story-section .story-collage{
    min-height:0;
    max-width:760px;
    margin:0 auto;
    grid-template-columns:repeat(2,1fr);
    grid-template-rows:220px 180px;
  }
  .story-section .story-collage .shot-main{grid-column:2; grid-row:1 / span 2; transform:none;}
  .story-section .story-collage .shot-sub{grid-column:1; grid-row:1 / span 2; transform:none;}
}
@media(max-width:820px){
  .story-section .story-script{top:0;}
  .story-section .story-opening-copy{font-size:18px;}
  .story-section .story-collage{
    grid-template-columns:1fr;
    grid-template-rows:240px 220px;
  }
  .story-section .story-collage .shot-main,
  .story-section .story-collage .shot-sub{grid-column:1; transform:none;}
  .story-section .story-collage .shot-main{grid-row:1;}
  .story-section .story-collage .shot-sub{grid-row:2;}
}


/* STORY collage resize to text height with multiple images */
.story-section .story-collage{
  align-self:start;
  min-height:0;
  height:560px;
  grid-template-columns:repeat(12, 1fr);
  grid-template-rows:170px 170px 190px;
  gap:16px;
}
.story-section .story-collage .story-shot{
  overflow:hidden;
  border-radius:24px;
  box-shadow:0 16px 40px rgba(33, 55, 90, 0.10);
}
.story-section .story-collage .story-shot img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.story-section .story-collage .shot-a{
  grid-column:1 / 6;
  grid-row:1 / 2;
}
.story-section .story-collage .shot-b{
  grid-column:6 / 13;
  grid-row:1 / 3;
}
.story-section .story-collage .shot-c{
  grid-column:1 / 6;
  grid-row:2 / 4;
}
.story-section .story-collage .shot-d{
  grid-column:6 / 13;
  grid-row:3 / 4;
}
@media(max-width:1100px){
  .story-section .story-collage{
    height:auto;
    max-width:760px;
    margin:0 auto;
    grid-template-columns:repeat(2, 1fr);
    grid-template-rows:220px 220px;
    gap:14px;
  }
  .story-section .story-collage .shot-a,
  .story-section .story-collage .shot-b,
  .story-section .story-collage .shot-c,
  .story-section .story-collage .shot-d{
    grid-column:auto;
    grid-row:auto;
  }
}
@media(max-width:820px){
  .story-section .story-collage{
    grid-template-columns:1fr;
    grid-template-rows:220px 220px 220px 220px;
  }
}


/* STORY collage final: two images only, matched heights */
.story-section .story-collage{
  align-self:start;
  min-height:0;
  height:560px;
  grid-template-columns:1fr;
  grid-template-rows:1fr 1fr;
  gap:18px;
}
.story-section .story-collage .shot-b,
.story-section .story-collage .shot-c{
  grid-column:1;
  transform:none;
}
.story-section .story-collage .shot-b{grid-row:1;}
.story-section .story-collage .shot-c{grid-row:2;}
@media(max-width:1100px){
  .story-section .story-collage{
    height:auto;
    max-width:760px;
    margin:0 auto;
    grid-template-columns:1fr 1fr;
    grid-template-rows:300px;
    gap:14px;
  }
  .story-section .story-collage .shot-b{grid-column:1; grid-row:1;}
  .story-section .story-collage .shot-c{grid-column:2; grid-row:1;}
}
@media(max-width:820px){
  .story-section .story-collage{
    grid-template-columns:1fr;
    grid-template-rows:220px 220px;
  }
  .story-section .story-collage .shot-b,
  .story-section .story-collage .shot-c{grid-column:1;}
  .story-section .story-collage .shot-b{grid-row:1;}
  .story-section .story-collage .shot-c{grid-row:2;}
}

/* =========================================================
   MOBILE HOTFIX — PROBLEM FORMULA CARDS STACK
   Scope: mobile only, keep desktop unchanged
   ========================================================= */
@media (max-width: 820px){
  .problem-section .formula-block--landing{
    width: calc(100% - 32px);
    margin-top: 40px;
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .problem-section .formula-card{
    min-height: 0;
    padding: 28px 22px 24px;
    border-radius: 18px !important;
  }

  .problem-section .formula-index{
    margin-bottom: 18px;
  }

  .problem-section .formula-card h3{
    margin-bottom: 12px;
    font-size: 23px;
    line-height: 1.38;
    max-width: none;
  }

  .problem-section .formula-card p{
    max-width: none;
    padding-right: 0;
    font-size: 15px;
    line-height: 1.75;
    word-break: keep-all;
  }

  .problem-section .formula-card p br{
    display: none;
  }

  .problem-section .formula-illustration{
    position: static;
    display: block;
    width: 68px;
    height: 68px;
    margin: 18px 0 0 auto;
  }

  .problem-section .formula-arrow--bridge{
    min-width: 0;
    width: 100%;
    height: 34px;
  }

  .problem-section .formula-arrow--bridge::before{
    display: none;
  }

  .problem-section .formula-arrow--bridge span{
    width: 34px;
    height: 34px;
  }

  .problem-section .formula-arrow--bridge span::before{
    left: 50%;
    top: 8px;
    width: 1.5px;
    height: 11px;
    transform: translateX(-50%);
  }

  .problem-section .formula-arrow--bridge span::after{
    left: 50%;
    right: auto;
    top: 15px;
    width: 7px;
    height: 7px;
    border-top: none;
    border-right: 1.5px solid #1765d6;
    border-bottom: 1.5px solid #1765d6;
    transform: translateX(-50%) rotate(45deg);
  }

  .problem-section .editorial-note--landing{
    width: calc(100% - 32px);
    margin-top: 16px;
    padding: 18px 20px;
  }

  .problem-section .editorial-note--landing p{
    font-size: 16px;
    line-height: 1.6;
    text-align: center;
  }
}

/* =========================================================
   MOBILE 4 WEEK — FULL WIDTH COMPACT CARD
   Mobile only. Desktop week accordion remains untouched.
   ========================================================= */
@media (max-width:820px){
  .weeks-section{
    padding:72px 0 86px;
  }

  .weeks-section .mepa-wrap{
    width:calc(100% - 28px);
    display:block;
  }

  .weeks-section .weeks-head{
    margin-bottom:24px;
  }

  .weeks-section .weeks-head .section-eyebrow{
    margin-bottom:8px;
    font-size:11px;
  }

  .weeks-section .weeks-head .section-display-title{
    margin:0;
    font-size:28px;
    line-height:1.25;
    letter-spacing:-.04em;
  }

  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    position:relative;
    display:block !important;
    width:100%;
    min-height:0;
    margin:0 0 16px;
    padding:0;
    overflow:hidden;
    border:1px solid #d8e0ee;
    border-radius:18px;
    background:#fff;
    color:#172033;
    box-shadow:none;
    cursor:default;
  }

  /* Remove PC vertical-band elements on mobile */
  .weeks-section .week-bar-label,
  .weeks-section .week-image{
    display:none !important;
  }

  .weeks-section .week-num,
  .weeks-section .week-row:not(.active) .week-num{
    position:static;
    display:block;
    width:auto;
    margin:0;
    padding:22px 22px 0;
    writing-mode:horizontal-tb;
    text-orientation:mixed;
    transform:none;
    color:#1765d6;
    font-size:12px;
    line-height:1;
    font-weight:800;
    text-align:left;
  }

  .weeks-section .week-copy,
  .weeks-section .week-row.active .week-copy,
  .weeks-section .week-row:not(.active) .week-copy{
    position:static;
    inset:auto;
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-width:0;
    margin:0;
    padding:18px 22px 22px !important;
    opacity:1 !important;
    overflow:visible !important;
    color:#172033;
    box-sizing:border-box;
  }

  .weeks-section .week-row:not(.active) .week-copy > *{
    display:block !important;
  }

  .weeks-section .week-title-block{
    display:block !important;
    max-width:none !important;
    margin:0 0 18px;
  }

  .weeks-section .week-title-block h3,
  .weeks-section .week-row:not(.active) .week-copy h3{
    writing-mode:horizontal-tb;
    text-orientation:mixed;
    transform:none;
    margin:0 0 8px !important;
    font-size:22px !important;
    line-height:1.28 !important;
    font-weight:800 !important;
    letter-spacing:-.04em !important;
    color:#172033 !important;
  }

  .weeks-section .week-title-block h3 br{
    display:none;
  }

  .weeks-section .week-title-block h4{
    margin:0 !important;
    padding:0 !important;
    font-size:16px !important;
    line-height:1.45 !important;
    font-weight:700 !important;
    letter-spacing:-.025em;
    color:#1765d6 !important;
  }

  .weeks-section .week-title-block h4 br{
    display:none;
  }

  .weeks-section .week-title-block h4::before{
    display:none !important;
  }

  .weeks-section .week-detail-list{
    display:grid !important;
    grid-template-columns:1fr;
    gap:0 !important;
    max-width:none !important;
  }

  .weeks-section .week-detail,
  .weeks-section .week-row:not(.active) .week-detail{
    display:block !important;
    padding:12px 0 0 !important;
    margin:0;
    border-top:1px solid #edf1f6;
  }

  .weeks-section .week-detail + .week-detail{
    margin-top:10px;
  }

  .weeks-section .week-detail-icon{
    display:none !important;
  }

  .weeks-section .week-detail h5{
    margin:0 0 5px !important;
    font-size:14px !important;
    line-height:1.4 !important;
    font-weight:750 !important;
    letter-spacing:-.02em;
    color:#2f3a4d !important;
  }

  .weeks-section .week-detail p{
    margin:0 !important;
    font-size:12.5px !important;
    line-height:1.52 !important;
    font-weight:400 !important;
    letter-spacing:-.012em;
    color:#697487 !important;
    word-break:keep-all;
  }

  .weeks-section .week-detail-flow{
    margin-top:5px !important;
    padding:7px 9px;
    border-radius:8px;
    background:#f3f7fd;
    font-size:11px !important;
    line-height:1.45 !important;
    color:#1765d6 !important;
  }

  .weeks-section .week-closing{
    display:none !important;
  }
}

@media (max-width:430px){
  .weeks-section .weeks-head .section-display-title{
    font-size:25px;
  }

  .weeks-section .week-num,
  .weeks-section .week-row:not(.active) .week-num{
    padding:18px 18px 0;
  }

  .weeks-section .week-copy,
  .weeks-section .week-row.active .week-copy,
  .weeks-section .week-row:not(.active) .week-copy{
    padding:15px 18px 19px !important;
  }

  .weeks-section .week-title-block h3,
  .weeks-section .week-row:not(.active) .week-copy h3{
    font-size:20px !important;
  }

  .weeks-section .week-title-block h4{
    font-size:15px !important;
  }

  .weeks-section .week-detail h5{
    font-size:13.5px !important;
  }

  .weeks-section .week-detail p{
    font-size:12px !important;
    line-height:1.48 !important;
  }
}


/* =========================================================
   MOBILE WEEK PROGRAM — horizontal swipe cards
   Reference-like card rail instead of PPT-style stacked blocks
   Desktop/tablet unchanged
   ========================================================= */
@media (max-width: 820px){
  .weeks-section{
    overflow:hidden;
    padding:76px 0 84px;
  }

  .weeks-section .mepa-wrap{
    width:100%;
    display:block;
  }

  .weeks-section .weeks-head{
    width:calc(100% - 32px);
    margin:0 auto 26px;
  }

  .weeks-section .weeks-head h2{
    font-size:30px;
    line-height:1.25;
    letter-spacing:-.04em;
  }

  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    position:relative;
    display:block;
    min-height:0;
    height:auto;
    margin:0;
    flex:none;
    cursor:default;
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
    overflow:visible;
    color:var(--m2-ink);
  }

  .weeks-section .week-row{
    width:82vw;
    max-width:340px;
    scroll-snap-align:start;
  }

  .weeks-section .week-row + .week-row{
    margin-left:14px;
  }

  .weeks-section .week-num,
  .weeks-section .week-bar-label,
  .weeks-section .week-image{
    display:none !important;
  }

  .weeks-section .week-copy,
  .weeks-section .week-row:not(.active) .week-copy{
    position:relative;
    inset:auto;
    display:block;
    opacity:1;
    min-height:430px;
    padding:28px 24px 24px;
    border-radius:22px;
    background:#fff;
    border:1px solid rgba(24,85,174,.12);
    box-shadow:0 14px 32px rgba(30,69,125,.07);
  }

  .weeks-section .week-row:nth-of-type(1) .week-copy{background:#F2F0FF;}
  .weeks-section .week-row:nth-of-type(2) .week-copy{background:#EEF4FF;}
  .weeks-section .week-row:nth-of-type(3) .week-copy{background:#F2F7FF;}
  .weeks-section .week-row:nth-of-type(4) .week-copy{background:#EEF7F5;}

  .weeks-section .week-row:not(.active) .week-copy > *{
    display:block;
  }

  .weeks-section .week-title-block{
    margin-bottom:20px;
  }

  .weeks-section .week-title-block::before{
    display:block;
    margin-bottom:18px;
    font-family:'Montserrat',sans-serif;
    font-size:12px;
    font-weight:800;
    letter-spacing:.12em;
    color:#1765d6;
  }

  .weeks-section .week-row:nth-of-type(1) .week-title-block::before{content:"WEEK 01";}
  .weeks-section .week-row:nth-of-type(2) .week-title-block::before{content:"WEEK 02";}
  .weeks-section .week-row:nth-of-type(3) .week-title-block::before{content:"WEEK 03";}
  .weeks-section .week-row:nth-of-type(4) .week-title-block::before{content:"WEEK 04";}

  .weeks-section .week-copy h3,
  .weeks-section .week-row:not(.active) .week-copy h3{
    writing-mode:initial;
    transform:none;
    margin:0 0 10px;
    font-size:24px;
    line-height:1.35;
    font-weight:750;
    letter-spacing:-.04em;
    color:#172033;
  }

  .weeks-section .week-copy h3 br{
    display:none;
  }

  .weeks-section .week-copy h4{
    margin:0;
    font-size:16px;
    line-height:1.55;
    font-weight:700;
    color:#1765d6;
  }

  .weeks-section .week-detail-list{
    margin-top:22px;
  }

  .weeks-section .week-detail{
    display:block;
    padding:14px 0;
    border-top:1px solid rgba(23,101,214,.10);
  }

  .weeks-section .week-detail-icon{
    display:none;
  }

  .weeks-section .week-detail h5{
    margin:0 0 6px;
    font-size:15px;
    line-height:1.5;
    font-weight:700;
    color:#253247;
  }

  .weeks-section .week-detail p,
  .weeks-section .week-copy p{
    margin:0;
    font-size:14px;
    line-height:1.65;
    color:#667084;
    word-break:keep-all;
  }

  .weeks-section .week-detail-flow{
    margin-top:10px !important;
    padding:10px 12px;
    border-radius:10px;
    background:rgba(255,255,255,.58);
    color:#3f5f91 !important;
    font-size:12px !important;
    line-height:1.55 !important;
  }

  .weeks-section .week-closing{
    margin-top:18px !important;
    padding-top:16px;
    border-top:1px solid rgba(23,101,214,.10);
    font-size:13px !important;
    line-height:1.6 !important;
    color:#4d5b70 !important;
  }

  .weeks-section .mepa-wrap{
    display:flex;
    gap:14px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0 16px 14px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  .weeks-section .mepa-wrap::-webkit-scrollbar{
    display:none;
  }

  .weeks-section .weeks-head{
    flex:0 0 100%;
  }

  /* Keep the heading above the card rail rather than inside it */
  .weeks-section .mepa-wrap{
    flex-wrap:wrap;
  }
  .weeks-section .weeks-head{
    flex-basis:100%;
  }
  .weeks-section .week-row{
    flex:0 0 82vw;
  }
}

@media (max-width:520px){
  .weeks-section .week-row{
    flex-basis:84vw;
    width:84vw;
    max-width:330px;
  }

  .weeks-section .week-copy,
  .weeks-section .week-row:not(.active) .week-copy{
    min-height:410px;
    padding:25px 22px 22px;
  }

  .weeks-section .week-copy h3,
  .weeks-section .week-row:not(.active) .week-copy h3{
    font-size:22px;
  }
}


/* =========================================================
   MOBILE WEEK CAROUSEL FIX — real horizontal rail
   Desktop stays unchanged
   ========================================================= */
.weeks-section .weeks-card-rail{display:contents;}

@media (max-width:820px){
  .weeks-section{
    overflow:hidden;
    padding:74px 0 86px;
  }

  .weeks-section > .mepa-wrap{
    display:block;
    width:100%;
    padding:0;
    overflow:visible;
  }

  .weeks-section .weeks-head{
    width:calc(100% - 32px);
    margin:0 auto 24px;
  }

  .weeks-section .weeks-head h2{
    margin:0;
    font-size:29px;
    line-height:1.25;
    letter-spacing:-.04em;
  }

  .weeks-section .weeks-card-rail{
    display:flex;
    flex-wrap:nowrap;
    gap:14px;
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0 16px 18px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .weeks-section .weeks-card-rail::-webkit-scrollbar{display:none;}

  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    position:relative;
    flex:0 0 82vw;
    width:82vw;
    max-width:342px;
    min-height:0;
    height:auto;
    margin:0;
    display:block;
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    scroll-snap-align:start;
    color:var(--m2-ink);
  }

  .weeks-section .week-num,
  .weeks-section .week-bar-label,
  .weeks-section .week-image{display:none!important;}

  .weeks-section .week-copy,
  .weeks-section .week-row:not(.active) .week-copy{
    position:static;
    inset:auto;
    display:block;
    opacity:1;
    min-height:0;
    height:auto;
    padding:24px 22px 21px;
    border:1px solid rgba(29,92,190,.13);
    border-radius:22px;
    box-shadow:0 10px 26px rgba(29,75,143,.06);
    background:#F2F0FF;
  }
  .weeks-section .week-row:nth-child(2) .week-copy{background:#EEF4FF;}
  .weeks-section .week-row:nth-child(3) .week-copy{background:#F2F7FF;}
  .weeks-section .week-row:nth-child(4) .week-copy{background:#EEF7F5;}

  .weeks-section .week-row:not(.active) .week-copy > *{display:block;}

  .weeks-section .week-title-block{margin:0 0 15px;}
  .weeks-section .week-title-block::before{
    display:block;
    margin:0 0 13px;
    font-family:'Montserrat',sans-serif;
    font-size:11px;
    line-height:1;
    font-weight:800;
    letter-spacing:.12em;
    color:#1765d6;
  }
  .weeks-section .week-row:nth-child(1) .week-title-block::before{content:'WEEK 01';}
  .weeks-section .week-row:nth-child(2) .week-title-block::before{content:'WEEK 02';}
  .weeks-section .week-row:nth-child(3) .week-title-block::before{content:'WEEK 03';}
  .weeks-section .week-row:nth-child(4) .week-title-block::before{content:'WEEK 04';}

  .weeks-section .week-copy h3,
  .weeks-section .week-row:not(.active) .week-copy h3{
    display:block;
    writing-mode:initial;
    transform:none;
    margin:0 0 8px;
    font-size:21px;
    line-height:1.3;
    font-weight:750;
    letter-spacing:-.045em;
    color:#172033;
  }
  .weeks-section .week-copy h3 br{display:none;}

  .weeks-section .week-copy h4{
    margin:0;
    font-size:14px;
    line-height:1.45;
    font-weight:700;
    color:#1765d6;
  }
  .weeks-section .week-copy h4 br{display:none;}

  .weeks-section .week-detail-list{margin-top:15px;}
  .weeks-section .week-detail{
    display:block;
    padding:10px 0;
    border-top:1px solid rgba(23,101,214,.10);
  }
  .weeks-section .week-detail-icon{display:none;}
  .weeks-section .week-detail h5{
    margin:0 0 4px;
    font-size:13.5px;
    line-height:1.4;
    font-weight:700;
    color:#273349;
  }
  .weeks-section .week-detail p,
  .weeks-section .week-copy p{
    margin:0;
    font-size:12.5px;
    line-height:1.5;
    color:#687386;
    word-break:keep-all;
  }
  .weeks-section .week-detail-flow{
    margin-top:7px!important;
    padding:8px 10px;
    border-radius:9px;
    background:rgba(255,255,255,.58);
    font-size:11.5px!important;
    line-height:1.45!important;
    color:#4d6487!important;
  }
  .weeks-section .week-closing{
    margin-top:11px!important;
    padding-top:10px;
    border-top:1px solid rgba(23,101,214,.10);
    font-size:11.5px!important;
    line-height:1.5!important;
    color:#556278!important;
  }
}

@media(max-width:520px){
  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    flex-basis:84vw;
    width:84vw;
    max-width:328px;
  }
}


/* =========================================================
   MOBILE WEEK — TRUE HORIZONTAL CAROUSEL
   Dedicated track; desktop structure/design remains unchanged
   ========================================================= */
.week-carousel-track{
  display:contents;
}

@media (max-width:820px){
  .weeks-section{
    overflow:hidden;
    padding:72px 0 88px;
  }

  .weeks-section > .mepa-wrap{
    width:100%;
    display:block;
    overflow:visible;
    padding:0;
  }

  .weeks-section .weeks-head{
    width:calc(100% - 32px);
    margin:0 auto 28px;
  }

  .weeks-section .weeks-head h2{
    font-size:29px;
    line-height:1.28;
  }

  .weeks-section .week-carousel-track{
    display:flex;
    flex-wrap:nowrap;
    gap:14px;
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0 16px 18px;
    scroll-snap-type:x mandatory;
    scroll-padding-left:16px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  .weeks-section .week-carousel-track::-webkit-scrollbar{
    display:none;
  }

  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    flex:0 0 84vw;
    width:84vw;
    max-width:340px;
    min-width:0;
    min-height:0;
    margin:0;
    display:block;
    position:relative;
    border:0;
    border-radius:0;
    box-shadow:none;
    background:transparent;
    overflow:visible;
    scroll-snap-align:start;
    cursor:default;
    color:var(--m2-ink);
  }

  .weeks-section .week-num,
  .weeks-section .week-bar-label,
  .weeks-section .week-image{
    display:none !important;
  }

  .weeks-section .week-copy,
  .weeks-section .week-row:not(.active) .week-copy{
    position:relative;
    inset:auto;
    display:block;
    opacity:1;
    padding:25px 22px 22px;
    min-height:455px;
    border:1px solid rgba(31,90,186,.13);
    border-radius:22px;
    box-shadow:0 14px 30px rgba(25,67,125,.07);
    background:#fff;
  }

  .weeks-section .week-row:nth-child(1) .week-copy{background:#F2F0FF;}
  .weeks-section .week-row:nth-child(2) .week-copy{background:#EEF4FF;}
  .weeks-section .week-row:nth-child(3) .week-copy{background:#F3F7FF;}
  .weeks-section .week-row:nth-child(4) .week-copy{background:#EFF8F6;}

  .weeks-section .week-row:not(.active) .week-copy > *{
    display:block;
  }

  .weeks-section .week-title-block{
    margin:0 0 18px;
  }

  .weeks-section .week-title-block::before{
    display:block;
    margin-bottom:16px;
    font-family:'Montserrat',sans-serif;
    font-size:12px;
    line-height:1;
    font-weight:800;
    letter-spacing:.12em;
    color:#1765d6;
  }

  .weeks-section .week-row:nth-child(1) .week-title-block::before{content:"WEEK 01";}
  .weeks-section .week-row:nth-child(2) .week-title-block::before{content:"WEEK 02";}
  .weeks-section .week-row:nth-child(3) .week-title-block::before{content:"WEEK 03";}
  .weeks-section .week-row:nth-child(4) .week-title-block::before{content:"WEEK 04";}

  .weeks-section .week-copy h3,
  .weeks-section .week-row:not(.active) .week-copy h3{
    margin:0 0 9px;
    writing-mode:initial;
    text-orientation:mixed;
    transform:none;
    font-size:23px;
    line-height:1.32;
    font-weight:750;
    letter-spacing:-.04em;
    color:#172033;
  }

  .weeks-section .week-copy h3 br{
    display:none;
  }

  .weeks-section .week-copy h4{
    margin:0;
    font-size:15px;
    line-height:1.5;
    font-weight:700;
    color:#1765d6;
  }

  .weeks-section .week-detail-list{
    margin-top:20px;
  }

  .weeks-section .week-detail{
    display:block;
    padding:12px 0;
    border-top:1px solid rgba(23,101,214,.11);
  }

  .weeks-section .week-detail-icon{
    display:none;
  }

  .weeks-section .week-detail h5{
    margin:0 0 5px;
    font-size:14px;
    line-height:1.45;
    font-weight:700;
    color:#273247;
  }

  .weeks-section .week-detail p,
  .weeks-section .week-copy p{
    margin:0;
    font-size:13px;
    line-height:1.55;
    color:#687285;
    word-break:keep-all;
  }

  .weeks-section .week-detail-flow{
    margin-top:8px !important;
    padding:9px 10px;
    border-radius:9px;
    background:rgba(255,255,255,.60);
    font-size:11.5px !important;
    line-height:1.45 !important;
    color:#4c648b !important;
  }

  .weeks-section .week-closing{
    margin-top:14px !important;
    padding-top:12px;
    border-top:1px solid rgba(23,101,214,.11);
    font-size:12px !important;
    line-height:1.5 !important;
    color:#4f5d70 !important;
  }
}

@media (max-width:520px){
  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    flex-basis:82vw;
    width:82vw;
    max-width:320px;
  }

  .weeks-section .week-copy,
  .weeks-section .week-row:not(.active) .week-copy{
    min-height:435px;
  }
}


/* =========================================================
   MOBILE WEEK PHOTO CARD OVERRIDE
   - photo background cards
   - next card peeks on the right
   - bottom arrow button moves to next card
   - desktop remains unchanged
   ========================================================= */
.week-mobile-arrow{display:none;}

@media (max-width:820px){
  .weeks-section{
    padding:72px 0 94px;
    overflow:hidden;
  }

  .weeks-section > .mepa-wrap,
  .weeks-section .mepa-wrap{
    width:100%;
    padding:0;
  }

  .weeks-section .weeks-head{
    width:calc(100% - 32px);
    margin:0 auto 22px;
  }

  .weeks-section .weeks-head h2{
    font-size:28px;
    line-height:1.26;
    letter-spacing:-0.045em;
  }

  .weeks-section .week-carousel-track{
    display:flex;
    gap:14px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0 16px 18px;
    scroll-snap-type:x mandatory;
    scroll-padding-left:16px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .weeks-section .week-carousel-track::-webkit-scrollbar{display:none;}

  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    flex:0 0 82vw;
    width:82vw;
    max-width:340px;
    min-width:0;
    margin:0;
    position:relative;
    display:block;
    overflow:hidden;
    border-radius:24px;
    min-height:520px;
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 18px 34px rgba(12,26,56,.16);
    scroll-snap-align:start;
    background:#0f1728;
  }

  .weeks-section .week-num,
  .weeks-section .week-bar-label{display:none !important;}

  .weeks-section .week-image{
    display:block !important;
    position:absolute;
    inset:0;
    z-index:0;
  }
  .weeks-section .week-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    filter:saturate(.95);
  }

  .weeks-section .week-row::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(180deg, rgba(8,17,34,.18) 0%, rgba(8,17,34,.46) 28%, rgba(8,17,34,.86) 100%);
  }

  .weeks-section .week-copy,
  .weeks-section .week-row:not(.active) .week-copy{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    top:auto;
    z-index:2;
    min-height:0;
    padding:22px 20px 72px;
    background:transparent !important;
    border:0 !important;
    border-radius:0;
    box-shadow:none;
    color:#fff;
    opacity:1;
  }

  .weeks-section .week-title-block{
    margin:0 0 14px;
  }
  .weeks-section .week-title-block::before{
    display:block;
    margin-bottom:12px;
    font-family:'Montserrat',sans-serif;
    font-size:12px;
    line-height:1;
    font-weight:800;
    letter-spacing:.14em;
    color:#7eb0ff;
  }
  .weeks-section .week-row:nth-child(1) .week-title-block::before{content:'WEEK 01';}
  .weeks-section .week-row:nth-child(2) .week-title-block::before{content:'WEEK 02';}
  .weeks-section .week-row:nth-child(3) .week-title-block::before{content:'WEEK 03';}
  .weeks-section .week-row:nth-child(4) .week-title-block::before{content:'WEEK 04';}

  .weeks-section .week-copy h3,
  .weeks-section .week-row:not(.active) .week-copy h3{
    margin:0 0 8px;
    font-size:30px;
    line-height:1.15;
    font-weight:800;
    letter-spacing:-0.05em;
    color:#fff;
    writing-mode:initial;
    text-orientation:mixed;
    transform:none;
  }
  .weeks-section .week-copy h3 br{display:none;}

  .weeks-section .week-copy h4{
    margin:0;
    font-size:15px;
    line-height:1.45;
    font-weight:700;
    color:#d7e6ff;
  }

  .weeks-section .week-detail-list{
    margin-top:14px;
    display:grid;
    gap:8px;
  }
  .weeks-section .week-detail{
    display:block;
    padding:0;
    border:0;
  }
  .weeks-section .week-detail-icon,
  .weeks-section .week-detail p,
  .weeks-section .week-detail-flow,
  .weeks-section .week-closing{display:none !important;}

  .weeks-section .week-detail h5{
    position:relative;
    margin:0;
    padding-left:12px;
    font-size:13px;
    line-height:1.46;
    font-weight:600;
    color:rgba(255,255,255,.92);
  }
  .weeks-section .week-detail h5::before{
    content:'•';
    position:absolute;
    left:0;
    top:0;
    color:#fff;
  }

  .weeks-section .week-mobile-arrow{
    display:flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    right:16px;
    bottom:16px;
    z-index:3;
    width:42px;
    height:42px;
    border:1px solid rgba(255,255,255,.34);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    color:#fff;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(0,0,0,.16);
  }
  .weeks-section .week-mobile-arrow span{
    font-size:24px;
    line-height:1;
    transform:translateX(1px);
  }
}

@media (max-width:520px){
  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    flex-basis:82vw;
    width:82vw;
    max-width:none;
    min-height:500px;
  }
  .weeks-section .week-copy,
  .weeks-section .week-row:not(.active) .week-copy{
    padding:20px 18px 68px;
  }
  .weeks-section .week-copy h3,
  .weeks-section .week-row:not(.active) .week-copy h3{
    font-size:26px;
  }
}

/* =========================================================
   MOBILE WEEK PHOTO CARD — FULL BLEED FINAL
   Fix empty navy bottom / overlap / card height
   ========================================================= */
@media (max-width:820px){
  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    min-height:390px;
    height:390px;
    background:#111827;
  }

  .weeks-section .week-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:0;
    z-index:0;
    display:block !important;
  }

  .weeks-section .week-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    display:block;
    filter:none;
    transform:none;
  }

  .weeks-section .week-row::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(
      180deg,
      rgba(8,17,34,.08) 0%,
      rgba(8,17,34,.14) 28%,
      rgba(8,17,34,.56) 62%,
      rgba(8,17,34,.90) 100%
    );
  }

  .weeks-section .week-copy,
  .weeks-section .week-row:not(.active) .week-copy{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    top:auto;
    z-index:2;
    min-height:0;
    padding:22px 20px 62px;
    background:transparent !important;
    border:0 !important;
    box-shadow:none;
  }

  .weeks-section .week-title-block{
    margin:0 0 13px;
  }

  .weeks-section .week-title-block::before{
    margin-bottom:10px;
    color:#9fc4ff;
  }

  .weeks-section .week-copy h3,
  .weeks-section .week-row:not(.active) .week-copy h3{
    margin:0 0 7px;
    font-size:25px;
    line-height:1.18;
    color:#fff;
    text-shadow:0 1px 10px rgba(0,0,0,.22);
  }

  .weeks-section .week-copy h4{
    margin:0;
    font-size:14px;
    line-height:1.45;
    color:#d8e6ff;
    text-shadow:0 1px 8px rgba(0,0,0,.18);
  }

  .weeks-section .week-detail-list{
    margin-top:14px;
    display:grid;
    gap:6px;
  }

  .weeks-section .week-detail{
    padding:0;
    border:0;
  }

  .weeks-section .week-detail h5{
    margin:0;
    padding-left:12px;
    font-size:12.5px;
    line-height:1.42;
    font-weight:600;
    color:rgba(255,255,255,.92);
    text-shadow:0 1px 8px rgba(0,0,0,.22);
  }

  .weeks-section .week-detail h5::before{
    color:#fff;
  }

  .weeks-section .week-detail p,
  .weeks-section .week-detail-flow,
  .weeks-section .week-closing,
  .weeks-section .week-detail-icon{
    display:none !important;
  }

  .weeks-section .week-mobile-arrow{
    right:16px;
    bottom:14px;
    width:40px;
    height:40px;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.42);
    color:#fff;
  }
}

@media (max-width:520px){
  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    min-height:370px;
    height:370px;
  }

  .weeks-section .week-copy,
  .weeks-section .week-row:not(.active) .week-copy{
    padding:20px 18px 58px;
  }

  .weeks-section .week-copy h3,
  .weeks-section .week-row:not(.active) .week-copy h3{
    font-size:23px;
  }
}

/* =========================================================
   MOBILE WEEK CARD — REFERENCE MATCH FINAL
   photo full bleed / darker overlay / white copy / no dividers
   ========================================================= */
@media (max-width:820px){
  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    min-height:520px;
    height:520px;
    border:0;
    border-radius:26px;
    background:#111827;
    box-shadow:0 16px 34px rgba(15,23,42,.15);
  }

  .weeks-section .week-image{
    position:absolute;
    inset:0;
    z-index:0;
    display:block;
    width:100%;
    height:100%;
    min-height:0;
  }

  .weeks-section .week-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    filter:brightness(.76) saturate(.9);
  }

  .weeks-section .week-row::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(
      180deg,
      rgba(8,15,28,.20) 0%,
      rgba(8,15,28,.28) 38%,
      rgba(8,15,28,.56) 72%,
      rgba(8,15,28,.78) 100%
    );
  }

  .weeks-section .week-copy,
  .weeks-section .week-row:not(.active) .week-copy{
    position:absolute;
    inset:auto 0 0 0;
    z-index:2;
    min-height:0;
    padding:34px 28px 78px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  .weeks-section .week-title-block{
    margin:0 0 24px;
  }

  .weeks-section .week-title-block::before{
    margin:0 0 20px;
    font-size:13px;
    line-height:1;
    font-weight:800;
    letter-spacing:.12em;
    color:#fff;
  }

  .weeks-section .week-copy h3,
  .weeks-section .week-row:not(.active) .week-copy h3{
    margin:0 0 14px;
    font-size:31px;
    line-height:1.18;
    font-weight:800;
    letter-spacing:-.045em;
    color:#fff;
    text-shadow:0 2px 12px rgba(0,0,0,.22);
  }

  .weeks-section .week-copy h4{
    margin:0;
    font-size:16px;
    line-height:1.55;
    font-weight:650;
    color:rgba(255,255,255,.94);
    text-shadow:0 2px 10px rgba(0,0,0,.20);
  }

  .weeks-section .week-detail-list{
    margin-top:28px;
    display:grid;
    gap:18px;
  }

  .weeks-section .week-detail{
    padding:0;
    border:0;
    background:transparent;
  }

  .weeks-section .week-detail + .week-detail{
    border-top:0;
  }

  .weeks-section .week-detail h5{
    position:relative;
    margin:0;
    padding:0 0 0 18px;
    border:0;
    font-size:15px;
    line-height:1.52;
    font-weight:600;
    color:#fff;
    text-shadow:0 2px 10px rgba(0,0,0,.22);
  }

  .weeks-section .week-detail h5::before{
    content:"•";
    position:absolute;
    left:0;
    top:0;
    color:#fff;
  }

  .weeks-section .week-detail p,
  .weeks-section .week-detail-flow,
  .weeks-section .week-closing,
  .weeks-section .week-detail-icon{
    display:none;
  }

  .weeks-section .week-mobile-arrow{
    display:flex;
    align-items:center;
    justify-content:center;
    right:22px;
    bottom:22px;
    width:48px;
    height:48px;
    border:1px solid rgba(255,255,255,.65);
    border-radius:50%;
    background:rgba(8,15,28,.20);
    color:#fff;
    box-shadow:none;
  }

  .weeks-section .week-mobile-arrow span{
    font-size:28px;
    line-height:1;
    color:#fff;
  }
}

@media (max-width:520px){
  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    min-height:500px;
    height:500px;
  }

  .weeks-section .week-copy,
  .weeks-section .week-row:not(.active) .week-copy{
    padding:30px 24px 72px;
  }

  .weeks-section .week-copy h3,
  .weeks-section .week-row:not(.active) .week-copy h3{
    font-size:28px;
  }

  .weeks-section .week-detail-list{
    gap:16px;
  }

  .weeks-section .week-detail h5{
    font-size:14px;
  }
}


/* =========================================================
   MOBILE WEEK — NHN REFERENCE MATCH
   one card aligned left + next card peek / full photo bg / white text
   ========================================================= */
@media (max-width:820px){
  .weeks-section{
    overflow:hidden;
    padding:72px 0 88px;
  }

  .weeks-section > .mepa-wrap,
  .weeks-section .mepa-wrap{
    width:100%;
    padding:0;
    overflow:visible;
  }

  .weeks-section .weeks-head{
    width:calc(100% - 40px);
    margin:0 auto 28px;
  }

  .weeks-section .weeks-head h2{
    font-size:29px;
    line-height:1.26;
    letter-spacing:-.045em;
  }

  .weeks-section .week-carousel-track{
    display:flex;
    flex-wrap:nowrap;
    gap:14px;
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0 0 18px 20px;
    scroll-snap-type:x mandatory;
    scroll-padding-left:20px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .weeks-section .week-carousel-track::-webkit-scrollbar{display:none;}

  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    flex:0 0 calc(100vw - 78px);
    width:calc(100vw - 78px);
    max-width:330px;
    min-width:0;
    height:430px;
    min-height:430px;
    margin:0;
    position:relative;
    display:block;
    overflow:hidden;
    border:0;
    border-radius:18px;
    box-shadow:none;
    background:#111827;
    scroll-snap-align:start;
    cursor:default;
  }

  .weeks-section .week-num,
  .weeks-section .week-bar-label{display:none !important;}

  .weeks-section .week-image{
    display:block !important;
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:0;
  }
  .weeks-section .week-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    filter:none;
  }

  .weeks-section .week-row::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(
      180deg,
      rgba(8,14,24,.24) 0%,
      rgba(8,14,24,.34) 40%,
      rgba(8,14,24,.72) 100%
    );
  }

  .weeks-section .week-copy,
  .weeks-section .week-row:not(.active) .week-copy{
    position:absolute;
    inset:0;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    min-height:0;
    padding:28px 24px 52px;
    border:0 !important;
    border-radius:0;
    background:transparent !important;
    box-shadow:none !important;
    opacity:1;
  }

  .weeks-section .week-title-block{
    margin:0 0 18px;
  }
  .weeks-section .week-title-block::before{
    display:block;
    margin-bottom:12px;
    font-family:'Montserrat',sans-serif;
    font-size:11px;
    line-height:1;
    font-weight:800;
    letter-spacing:.12em;
    color:#fff !important;
  }
  .weeks-section .week-row:nth-child(1) .week-title-block::before{content:'WEEK 01';}
  .weeks-section .week-row:nth-child(2) .week-title-block::before{content:'WEEK 02';}
  .weeks-section .week-row:nth-child(3) .week-title-block::before{content:'WEEK 03';}
  .weeks-section .week-row:nth-child(4) .week-title-block::before{content:'WEEK 04';}

  .weeks-section .week-copy h3,
  .weeks-section .week-row:not(.active) .week-copy h3{
    margin:0 0 10px;
    writing-mode:initial;
    text-orientation:mixed;
    transform:none;
    font-size:25px;
    line-height:1.22;
    font-weight:800;
    letter-spacing:-.045em;
    color:#fff !important;
    text-shadow:0 2px 10px rgba(0,0,0,.22);
  }
  .weeks-section .week-copy h3 br{display:none;}

  .weeks-section .week-copy h4{
    margin:0;
    font-size:14px;
    line-height:1.5;
    font-weight:650;
    color:#fff !important;
    text-shadow:0 2px 10px rgba(0,0,0,.18);
  }

  .weeks-section .week-detail-list{
    margin-top:18px;
    display:grid;
    gap:9px;
  }

  .weeks-section .week-detail{
    display:block;
    padding:0 !important;
    margin:0;
    border:0 !important;
    background:transparent !important;
  }
  .weeks-section .week-detail + .week-detail{border-top:0 !important;}
  .weeks-section .week-detail-icon,
  .weeks-section .week-detail p,
  .weeks-section .week-detail-flow,
  .weeks-section .week-closing{display:none !important;}

  .weeks-section .week-detail h5{
    position:relative;
    margin:0;
    padding-left:12px;
    border:0 !important;
    font-size:13px;
    line-height:1.48;
    font-weight:600;
    color:#fff !important;
    text-shadow:0 2px 8px rgba(0,0,0,.20);
  }
  .weeks-section .week-detail h5::before{
    content:'•';
    position:absolute;
    left:0;
    top:0;
    color:#fff;
  }

  .weeks-section .week-mobile-arrow{
    display:flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    right:18px;
    bottom:14px;
    z-index:3;
    width:auto;
    height:auto;
    padding:0;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    color:#fff !important;
  }
  .weeks-section .week-mobile-arrow span{
    display:block;
    font-size:30px;
    line-height:1;
    font-weight:300;
    color:#fff !important;
  }
}

@media (max-width:520px){
  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    flex-basis:calc(100vw - 72px);
    width:calc(100vw - 72px);
    max-width:none;
    height:400px;
    min-height:400px;
  }
  .weeks-section .week-copy,
  .weeks-section .week-row:not(.active) .week-copy{
    padding:24px 20px 48px;
  }
  .weeks-section .week-copy h3,
  .weeks-section .week-row:not(.active) .week-copy h3{font-size:23px;}
  .weeks-section .week-copy h4{font-size:13px;}
  .weeks-section .week-detail h5{font-size:12.5px;}
}

/* =========================================================
   MOBILE WEEK — FINAL NAV OVERRIDE
   - cards 2~4 match card 1 styling
   - centered left/right nav buttons
   - hide per-card single arrow
   ========================================================= */
@media (max-width:820px){
  .weeks-section .weeks-card-rail{
    position:relative;
  }

  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    border-radius:18px;
    box-shadow:none;
  }

  .weeks-section .week-mobile-arrow{
    display:none !important;
  }

  .weeks-section .week-mobile-navs{
    position:absolute;
    inset:0 0 18px 0;
    pointer-events:none;
    z-index:6;
  }

  .weeks-section .week-mobile-nav{
    position:absolute;
    top:215px;
    transform:translateY(-50%);
    width:34px;
    height:34px;
    padding:0;
    border:0;
    background:transparent;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    pointer-events:auto;
    text-shadow:0 2px 12px rgba(0,0,0,.35);
  }

  .weeks-section .week-mobile-prev{left:28px;}
  .weeks-section .week-mobile-next{right:20px;}

  .weeks-section .week-mobile-nav span{
    display:block;
    font-size:34px;
    line-height:1;
    font-weight:300;
    color:#fff;
  }
}

@media (max-width:520px){
  .weeks-section .week-mobile-nav{
    top:200px;
    width:30px;
    height:30px;
  }
  .weeks-section .week-mobile-prev{left:24px;}
  .weeks-section .week-mobile-next{right:16px;}
  .weeks-section .week-mobile-nav span{font-size:31px;}
}

/* =========================================================
   MOBILE WEEK — FINAL VISUAL TUNING
   - hide previous card on the left
   - center bottom prev/next arrows
   - keep full photo visible across cards 2~4 as well
   ========================================================= */
@media (max-width:820px){
  .weeks-section .weeks-card-rail{
    position:relative;
    overflow:hidden;
    padding-left:10px;
  }

  .weeks-section .week-carousel-track{
    gap:14px;
    padding:0 28px 18px 0 !important;
    scroll-padding-left:0 !important;
  }

  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    background:#10192d;
  }

  .weeks-section .week-image,
  .weeks-section .week-image img{
    height:100% !important;
    min-height:100% !important;
  }

  .weeks-section .week-image img{
    object-fit:cover !important;
    object-position:center center !important;
    transform:scale(1.01);
  }

  .weeks-section .week-row::before{
    background:linear-gradient(
      180deg,
      rgba(9,16,30,.28) 0%,
      rgba(9,16,30,.36) 32%,
      rgba(9,16,30,.48) 68%,
      rgba(9,16,30,.60) 100%
    ) !important;
  }

  .weeks-section .week-copy,
  .weeks-section .week-row:not(.active) .week-copy{
    justify-content:flex-start;
    padding:28px 24px 62px;
  }

  .weeks-section .week-mobile-navs{
    left:50%;
    right:auto;
    top:auto;
    bottom:16px;
    inset:auto auto 16px 50%;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:56px;
    width:auto;
    height:auto;
    pointer-events:none;
  }

  .weeks-section .week-mobile-nav{
    position:static;
    transform:none;
    width:34px;
    height:34px;
    background:transparent;
    text-shadow:0 2px 10px rgba(0,0,0,.25);
  }

  .weeks-section .week-mobile-prev,
  .weeks-section .week-mobile-next{
    left:auto;
    right:auto;
  }

  .weeks-section .week-mobile-nav span{
    font-size:32px;
    font-weight:300;
  }
}

@media (max-width:520px){
  .weeks-section .weeks-card-rail{
    padding-left:8px;
  }

  .weeks-section .week-carousel-track{
    padding:0 24px 16px 0 !important;
  }

  .weeks-section .week-copy,
  .weeks-section .week-row:not(.active) .week-copy{
    padding:24px 18px 58px;
  }

  .weeks-section .week-mobile-navs{
    bottom:14px;
    inset:auto auto 14px 50%;
    gap:50px;
  }

  .weeks-section .week-mobile-nav{
    width:30px;
    height:30px;
  }

  .weeks-section .week-mobile-nav span{
    font-size:29px;
  }
}


/* =========================================================
   MOBILE WEEK — ARROW POSITION ONLY
   Preserve previous card/carousel structure exactly.
   ========================================================= */
@media (max-width:820px){
  .weeks-section .week-mobile-navs{
    position:absolute;
    left:50%;
    right:auto;
    top:auto;
    bottom:28px;
    width:auto;
    height:auto;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:48px;
    z-index:7;
    pointer-events:none;
  }

  .weeks-section .week-mobile-nav{
    position:static;
    transform:none;
    width:30px;
    height:30px;
    padding:0;
    margin:0;
    display:flex;
    align-items:center;
    justify-content:center;
    pointer-events:auto;
  }

  .weeks-section .week-mobile-prev,
  .weeks-section .week-mobile-next{
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
  }
}

@media (max-width:520px){
  .weeks-section .week-mobile-navs{
    bottom:26px;
    gap:44px;
  }
}

/* =========================================================
   MOBILE WEEK — ARROW VERTICAL TWEAK ONLY
   Keep current layout, move arrows slightly upward inside card.
   ========================================================= */
@media (max-width:820px){
  .weeks-section .week-mobile-navs{
    bottom:50px;
  }
}

@media (max-width:520px){
  .weeks-section .week-mobile-navs{
    bottom:46px;
  }
}

/* =========================================================
   MOBILE PROBLEM CARD — preserve latest accepted icon placement
   ========================================================= */
@media (max-width:820px){
  .problem-section .formula-card{
    position:relative;
    min-height:252px;
    padding:28px 22px 94px;
    border-radius:18px !important;
    overflow:hidden;
  }
  .problem-section .formula-card p{
    max-width:none;
    padding-right:78px;
    font-size:15px;
    line-height:1.75;
    word-break:keep-all;
  }
  .problem-section .formula-illustration{
    position:absolute;
    right:22px;
    bottom:22px;
    display:block;
    width:68px;
    height:68px;
    margin:0;
  }
}

/* =========================================================
   CURRICULUM — VISUAL TONE REFINEMENT ONLY
   Preserve existing 5-column layout and summary structure.
   ========================================================= */
.curriculum-overview{
  background:
    radial-gradient(circle at 50% 0%, rgba(34,103,205,.035), rgba(34,103,205,0) 32%),
    #fff;
}

.curriculum-overview .major-section-title{
  margin-bottom:64px;
}
.curriculum-overview .major-section-title p{
  margin-bottom:14px;
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.22em;
  color:#1765d6;
}
.curriculum-overview .major-section-title h2{
  font-size:46px;
  line-height:1.15;
  font-weight:750;
  letter-spacing:-.05em;
  color:#172033;
}

.curriculum-overview .curriculum-service-intro{
  margin-bottom:58px;
}
.curriculum-overview .curriculum-service-intro h3{
  margin:0 0 12px;
  font-size:28px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:-.035em;
  color:#172033;
}
.curriculum-overview .curriculum-service-intro p{
  font-size:15px;
  line-height:1.72;
  font-weight:400;
  color:#778397;
}

.curriculum-overview .curriculum-timeline{
  border-bottom:1px solid #e4e9f1;
}
.curriculum-overview .curriculum-stage{
  min-height:250px;
  padding:0 30px 38px;
  border-left:1px solid #edf0f5;
}
.curriculum-overview .curriculum-stage:first-child{
  border-left:0;
}

.curriculum-overview .stage-top{
  margin-bottom:22px;
}
.curriculum-overview .stage-index{
  font-size:40px;
  font-weight:520;
  letter-spacing:-.055em;
  color:#1b2940;
}
.curriculum-overview .stage-label{
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  color:#8a9ab0;
}
.curriculum-overview .stage-line{
  height:1px;
  margin-bottom:28px;
  background:#dfe5ee;
}
.curriculum-overview .stage-line span{
  width:32%;
  background:#1765d6;
}

.curriculum-overview .curriculum-stage h4{
  margin-bottom:11px;
  font-size:18px;
  line-height:1.5;
  font-weight:700;
  letter-spacing:-.025em;
  color:#172033;
}
.curriculum-overview .curriculum-stage p{
  font-size:14px;
  line-height:1.7;
  color:#778397;
}

/* Week 4 stays emphasized, but now within the MPEA blue system */
.curriculum-overview .curriculum-stage--final .stage-index{
  color:#1765d6;
}
.curriculum-overview .curriculum-stage--final .stage-label{
  color:#1765d6;
}
.curriculum-overview .curriculum-stage--final .stage-line span{
  width:100%;
  background:#1765d6;
}

/* Summary bar — same layout, cleaner brand treatment */
.curriculum-overview .curriculum-summary--table{
  margin-top:34px !important;
  border-top:1px solid #dbe2ec !important;
  border-bottom:1px solid #dbe2ec !important;
  background:rgba(255,255,255,.92) !important;
}
.curriculum-overview .curriculum-summary--table > div{
  border-left-color:#edf0f5 !important;
}

/* Replace missing/broken image with a light CSS clock mark, without changing the column */
.curriculum-overview .curriculum-summary--table .summary-icon img{
  display:none !important;
}
.curriculum-overview .curriculum-summary--table .summary-icon::before{
  content:"";
  width:34px;
  height:34px;
  display:block;
  border:1.5px solid #9aabc0;
  border-radius:50%;
  background:
    linear-gradient(#9aabc0,#9aabc0) 50% 8px / 1.5px 9px no-repeat,
    linear-gradient(90deg,#9aabc0,#9aabc0) calc(50% + 4px) calc(50% + 4px) / 8px 1.5px no-repeat;
  opacity:.9;
}
.curriculum-overview .curriculum-summary--table .summary-heading small{
  color:#8290a4 !important;
}
.curriculum-overview .curriculum-summary--table .summary-heading strong{
  color:#172033 !important;
}
.curriculum-overview .curriculum-summary--table .summary-hours{
  background:#174a91 !important;
}
.curriculum-overview .curriculum-summary--table .summary-hours strong{
  font-weight:600 !important;
}
.curriculum-overview .curriculum-summary--table .summary-hours span{
  color:#b9d3ff !important;
}
.curriculum-overview .curriculum-summary--table .summary-note p{
  color:#778397 !important;
}

@media(max-width:1000px){
  .curriculum-overview .major-section-title h2{
    font-size:40px;
  }
}

@media(max-width:767px){
  .curriculum-overview .major-section-title{
    margin-bottom:46px;
  }
  .curriculum-overview .major-section-title h2{
    font-size:34px;
  }
  .curriculum-overview .curriculum-service-intro{
    margin-bottom:40px;
  }
  .curriculum-overview .curriculum-service-intro h3{
    font-size:24px;
  }
  .curriculum-overview .curriculum-summary--table .summary-icon::before{
    width:30px;
    height:30px;
  }
}

/* =========================================================
   CURRICULUM — STRONG VISUAL REFINEMENT / LAYOUT PRESERVED
   Same 5-column information layout, stronger MPEA landing-page tone.
   ========================================================= */
.curriculum-section .curriculum-overview{
  padding-top:118px;
  padding-bottom:112px;
  background:#f6f8fc;
}

.curriculum-section .curriculum-overview .major-section-title{
  margin-bottom:54px;
}
.curriculum-section .curriculum-overview .major-section-title p{
  margin-bottom:12px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.22em;
  color:#1765d6;
}
.curriculum-section .curriculum-overview .major-section-title h2{
  font-size:48px;
  line-height:1.12;
  font-weight:760;
  letter-spacing:-.055em;
  color:#121b2c;
}

.curriculum-section .curriculum-overview .curriculum-service-intro{
  margin-bottom:44px;
  text-align:center;
}
.curriculum-section .curriculum-overview .curriculum-service-intro h3{
  margin:0 0 10px;
  font-size:28px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:-.035em;
  color:#172033;
}
.curriculum-section .curriculum-overview .curriculum-service-intro p{
  margin:0;
  font-size:15px;
  line-height:1.7;
  color:#6f7d91;
}

/* Same five columns, now contained in one refined panel */
.curriculum-section .curriculum-overview .curriculum-timeline{
  display:grid;
  grid-template-columns:repeat(5, minmax(0,1fr));
  overflow:hidden;
  border:1px solid #e2e8f2;
  border-radius:26px;
  background:#fff;
  box-shadow:0 18px 48px rgba(34,72,132,.065);
}

.curriculum-section .curriculum-overview .curriculum-stage{
  min-height:268px;
  padding:34px 30px 36px;
  border-left:1px solid #e8edf5;
  background:transparent;
}
.curriculum-section .curriculum-overview .curriculum-stage:first-child{
  border-left:0;
}
.curriculum-section .curriculum-overview .curriculum-stage--final{
  background:linear-gradient(180deg,#f1f6ff 0%,#f8fbff 100%);
}

.curriculum-section .curriculum-overview .stage-top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  margin-bottom:20px;
}
.curriculum-section .curriculum-overview .stage-index{
  font-size:44px;
  line-height:1;
  font-weight:560;
  letter-spacing:-.06em;
  color:#1d2c44;
}
.curriculum-section .curriculum-overview .stage-label{
  padding-bottom:4px;
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.12em;
  color:#7d8ca3;
}

.curriculum-section .curriculum-overview .stage-line{
  position:relative;
  height:2px;
  margin-bottom:28px;
  background:#e5eaf2;
  overflow:hidden;
}
.curriculum-section .curriculum-overview .stage-line span{
  display:block;
  width:32%;
  height:100%;
  background:#246fd6;
}
.curriculum-section .curriculum-overview .curriculum-stage--final .stage-index,
.curriculum-section .curriculum-overview .curriculum-stage--final .stage-label{
  color:#1765d6;
}
.curriculum-section .curriculum-overview .curriculum-stage--final .stage-line span{
  width:100%;
  background:#1765d6;
}

.curriculum-section .curriculum-overview .curriculum-stage h4{
  margin:0 0 10px;
  font-size:18px;
  line-height:1.45;
  font-weight:720;
  letter-spacing:-.025em;
  color:#172033;
}
.curriculum-section .curriculum-overview .curriculum-stage p{
  margin:0;
  font-size:14px;
  line-height:1.7;
  color:#728096;
}

/* Summary remains the same row layout, now visually connected */
.curriculum-section .curriculum-overview .curriculum-summary--table{
  margin-top:18px !important;
  min-height:118px;
  overflow:hidden;
  border:1px solid #e2e8f2 !important;
  border-radius:22px;
  background:#fff !important;
  box-shadow:0 14px 38px rgba(34,72,132,.05);
}
.curriculum-section .curriculum-overview .curriculum-summary--table > div{
  border-left-color:#e8edf5 !important;
}
.curriculum-section .curriculum-overview .curriculum-summary--table .summary-icon{
  background:#f5f8fd;
}
.curriculum-section .curriculum-overview .curriculum-summary--table .summary-icon img{
  display:none !important;
}
.curriculum-section .curriculum-overview .curriculum-summary--table .summary-icon::before{
  content:"";
  width:42px;
  height:42px;
  display:block;
  border-radius:50%;
  background:
    linear-gradient(#1765d6,#1765d6) 50% 11px / 2px 10px no-repeat,
    linear-gradient(90deg,#1765d6,#1765d6) calc(50% + 5px) calc(50% + 5px) / 9px 2px no-repeat,
    #eaf2ff;
  box-shadow:inset 0 0 0 1px #cfe0fb;
}
.curriculum-section .curriculum-overview .curriculum-summary--table .summary-heading small{
  color:#7c8aa0 !important;
  letter-spacing:.12em;
}
.curriculum-section .curriculum-overview .curriculum-summary--table .summary-heading strong{
  color:#172033 !important;
}
.curriculum-section .curriculum-overview .curriculum-summary--table .summary-hours{
  background:#183f78 !important;
}
.curriculum-section .curriculum-overview .curriculum-summary--table .summary-hours strong{
  color:#fff !important;
  font-weight:600 !important;
}
.curriculum-section .curriculum-overview .curriculum-summary--table .summary-hours span{
  color:#b9d5ff !important;
}
.curriculum-section .curriculum-overview .curriculum-summary--table .summary-note p{
  color:#68778e !important;
}

@media(max-width:1000px){
  .curriculum-section .curriculum-overview .curriculum-timeline{
    grid-template-columns:repeat(3,1fr);
  }
  .curriculum-section .curriculum-overview .curriculum-stage:nth-child(4),
  .curriculum-section .curriculum-overview .curriculum-stage:nth-child(5){
    border-top:1px solid #e8edf5;
  }
}

@media(max-width:767px){
  .curriculum-section .curriculum-overview{
    padding-top:86px;
    padding-bottom:88px;
  }
  .curriculum-section .curriculum-overview .major-section-title h2{
    font-size:36px;
  }
  .curriculum-section .curriculum-overview .curriculum-service-intro h3{
    font-size:24px;
  }
  .curriculum-section .curriculum-overview .curriculum-timeline{
    grid-template-columns:1fr;
    border-radius:20px;
  }
  .curriculum-section .curriculum-overview .curriculum-stage,
  .curriculum-section .curriculum-overview .curriculum-stage:first-child{
    min-height:0;
    padding:26px 24px 28px;
    border-left:0;
    border-top:1px solid #e8edf5;
  }
  .curriculum-section .curriculum-overview .curriculum-stage:first-child{
    border-top:0;
  }
  .curriculum-section .curriculum-overview .stage-index{
    font-size:38px;
  }
}

/* ===== curriculum slight font size up (user request) ===== */
.curriculum-section .curriculum-overview .curriculum-stage h4{
  font-size:19px;
  line-height:1.48;
}
.curriculum-section .curriculum-overview .curriculum-stage p{
  font-size:15px;
  line-height:1.72;
}
@media (max-width: 767px){
  .curriculum-section .curriculum-overview .curriculum-stage h4{
    font-size:18px;
  }
  .curriculum-section .curriculum-overview .curriculum-stage p{
    font-size:14px;
  }
}

/* ===== curriculum visible refinement fix v2 ===== */
.curriculum-section .curriculum-overview .curriculum-service-intro{
  text-align:center !important;
}
.curriculum-section .curriculum-overview .curriculum-service-intro h3,
.curriculum-section .curriculum-overview .curriculum-service-intro p{
  text-align:center !important;
}
.curriculum-section .curriculum-overview .curriculum-service-intro p{
  max-width:720px;
  margin:0 auto !important;
}

/* make the stage typography visibly, but slightly, larger */
.curriculum-section .curriculum-overview .curriculum-stage h4{
  font-size:20px !important;
  line-height:1.48 !important;
}
.curriculum-section .curriculum-overview .curriculum-stage p{
  font-size:15px !important;
  line-height:1.72 !important;
}

/* restore proper clock icon instead of the temporary CSS mark */
.curriculum-section .curriculum-overview .curriculum-summary--table .summary-icon{
  justify-content:center !important;
  align-items:center !important;
}
.curriculum-section .curriculum-overview .curriculum-summary--table .summary-icon::before{
  content:none !important;
  display:none !important;
}
.curriculum-section .curriculum-overview .curriculum-summary--table .summary-icon img{
  display:block !important;
  width:44px !important;
  height:44px !important;
  object-fit:contain;
}

@media (max-width:767px){
  .curriculum-section .curriculum-overview .curriculum-stage h4{
    font-size:18px !important;
  }
  .curriculum-section .curriculum-overview .curriculum-stage p{
    font-size:14px !important;
  }
}


/* ===== curriculum overall typography up (latest request) ===== */
.curriculum-section .curriculum-overview .major-section-title h2{
  font-size:52px !important;
}
.curriculum-section .curriculum-overview .curriculum-service-intro h3{
  font-size:32px !important;
  line-height:1.34 !important;
}
.curriculum-section .curriculum-overview .curriculum-service-intro p{
  font-size:17px !important;
  line-height:1.8 !important;
}
.curriculum-section .curriculum-overview .stage-index{
  font-size:48px !important;
}
.curriculum-section .curriculum-overview .stage-label{
  font-size:11px !important;
}
.curriculum-section .curriculum-overview .curriculum-stage h4{
  font-size:22px !important;
  line-height:1.5 !important;
}
.curriculum-section .curriculum-overview .curriculum-stage p{
  font-size:16px !important;
  line-height:1.75 !important;
}
.curriculum-section .curriculum-overview .curriculum-summary--table .summary-heading small{
  font-size:12px !important;
}
.curriculum-section .curriculum-overview .curriculum-summary--table .summary-heading strong{
  font-size:18px !important;
  line-height:1.45 !important;
}
.curriculum-section .curriculum-overview .curriculum-summary--table .summary-hours strong{
  font-size:64px !important;
}
.curriculum-section .curriculum-overview .curriculum-summary--table .summary-hours span{
  font-size:18px !important;
}
.curriculum-section .curriculum-overview .curriculum-summary--table .summary-note p{
  font-size:15px !important;
  line-height:1.7 !important;
}

@media (max-width: 767px){
  .curriculum-section .curriculum-overview .major-section-title h2{
    font-size:38px !important;
  }
  .curriculum-section .curriculum-overview .curriculum-service-intro h3{
    font-size:26px !important;
  }
  .curriculum-section .curriculum-overview .curriculum-service-intro p{
    font-size:15px !important;
    line-height:1.75 !important;
  }
  .curriculum-section .curriculum-overview .stage-index{
    font-size:40px !important;
  }
  .curriculum-section .curriculum-overview .stage-label{
    font-size:10px !important;
  }
  .curriculum-section .curriculum-overview .curriculum-stage h4{
    font-size:19px !important;
  }
  .curriculum-section .curriculum-overview .curriculum-stage p{
    font-size:15px !important;
    line-height:1.72 !important;
  }
  .curriculum-section .curriculum-overview .curriculum-summary--table .summary-heading strong{
    font-size:17px !important;
  }
  .curriculum-section .curriculum-overview .curriculum-summary--table .summary-hours strong{
    font-size:54px !important;
  }
  .curriculum-section .curriculum-overview .curriculum-summary--table .summary-hours span{
    font-size:16px !important;
  }
  .curriculum-section .curriculum-overview .curriculum-summary--table .summary-note p{
    font-size:14px !important;
  }
}

/* =========================================================
   Curriculum visible refinement v2
   - make numeric indexes clearly blue
   - increase overall type size so changes are visibly applied
   ========================================================= */

/* Top overview timeline */
.curriculum-stage .stage-index{
  color:#2563eb;
  font-size:48px;
  font-weight:600;
}
.curriculum-stage .stage-label{
  font-size:12px;
}
.curriculum-stage h4{
  font-size:21px;
  line-height:1.5;
}
.curriculum-stage p{
  font-size:16px;
  line-height:1.75;
}
/* Keep final week blue too per request */
.curriculum-stage--final .stage-index,
.curriculum-stage--final .stage-label{
  color:#2563eb;
}
.curriculum-stage--final .stage-line span{
  background:#2563eb;
}

/* Sticky curriculum blocks */
.qs-no{
  color:#2563eb;
  font-size:64px;
  font-weight:600;
}
.qs-content-head h4{
  font-size:32px;
  line-height:1.42;
}
.qs-list li{
  font-size:19px;
  line-height:1.72;
}
.qs-list li::before{
  color:#2563eb;
  font-size:12px;
  font-weight:800;
}
.qs-modal-open span{
  font-size:18px;
}

/* Responsive tune so enlargement remains balanced */
@media(max-width:1100px){
  .curriculum-stage .stage-index{font-size:44px}
  .curriculum-stage h4{font-size:20px}
  .curriculum-stage p{font-size:15px}
  .qs-content-head h4{font-size:29px}
  .qs-list li{font-size:18px}
}

@media(max-width:640px){
  .curriculum-stage .stage-index{font-size:40px}
  .curriculum-stage h4{font-size:18px}
  .curriculum-stage p{font-size:14px}
  .qs-no{font-size:50px}
  .qs-content-head h4{font-size:24px}
  .qs-list li{font-size:16px}
}

/* =========================================================
   Replace boxed check icon with plain check mark
   ========================================================= */
.fit-price-section .fit-editorial-item > b,
.fit-price-section .fit-editorial-item.negative > b{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
}

.fit-price-section .fit-editorial-item > b::before,
.fit-price-section .fit-editorial-item.negative > b::before{
  content:"✓" !important;
  display:block !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  background:none !important;
  background-image:none !important;
  border:0 !important;
  border-radius:0 !important;
  color:var(--m2-blue) !important;
  font-size:23px !important;
  line-height:1 !important;
  font-weight:800 !important;
}

@media(max-width:767px){
  .fit-price-section .fit-editorial-item > b::before,
  .fit-price-section .fit-editorial-item.negative > b::before{
    font-size:21px !important;
  }
}

/* =========================================================
   Unify recommended/not-recommended section title font
   ========================================================= */
.fit-price-section .fit-editorial-copy > h3,
.fit-price-section .fit-editorial.reverse .fit-editorial-copy > h3{
  font-family:'Pretendard', Arial, sans-serif !important;
  font-size:40px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  letter-spacing:-0.04em !important;
  color:#0f172a !important;
  word-break:keep-all;
}

@media (max-width:767px){
  .fit-price-section .fit-editorial-copy > h3,
  .fit-price-section .fit-editorial.reverse .fit-editorial-copy > h3{
    font-size:28px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
  }
}

/* =========================================================
   TUITION SECTION — standalone emphasis block
   Scope: education fee only. Existing surrounding sections untouched.
   ========================================================= */
.tuition-section{
  padding:120px 0 126px;
  background:
    radial-gradient(circle at 86% 8%, rgba(37,99,235,.07), transparent 28%),
    linear-gradient(180deg,#fbfdff 0%,#f4f8ff 100%);
}

.tuition-section .mepa-wrap{
  width:min(1240px,calc(100% - 64px));
}

.tuition-head{
  max-width:860px;
  margin:0 auto 42px;
  text-align:center;
}
.tuition-eyebrow{
  margin:0 0 12px;
  font-size:13px;
  line-height:1;
  font-weight:800;
  letter-spacing:.22em;
  color:var(--m2-blue);
}
.tuition-head h2{
  margin:0;
  font-size:56px;
  line-height:1.12;
  font-weight:760;
  letter-spacing:-.055em;
  color:#101828;
}
.tuition-head-copy{
  margin:20px 0 0;
  font-size:18px;
  line-height:1.75;
  color:#667085;
}

.tuition-value-card{
  display:grid;
  grid-template-columns:92px minmax(0,1fr) minmax(0,1.45fr);
  align-items:center;
  gap:28px;
  min-height:150px;
  margin-bottom:16px;
  padding:28px 36px;
  border:1px solid #e2eaf6;
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 36px rgba(31,72,135,.07);
}
.tuition-value-mark{
  width:66px;
  height:66px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#edf4ff;
  color:#1765d6;
  font-size:31px;
  font-weight:800;
}
.tuition-value-copy{
  padding-right:24px;
  border-right:1px solid #e5eaf2;
}
.tuition-value-copy p{
  margin:0;
  font-size:17px;
  line-height:1.72;
  font-weight:500;
  color:#344054;
}
.tuition-quote{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:14px;
  align-items:start;
  padding-left:6px;
}
.tuition-quote > span{
  font-size:36px;
  line-height:1;
  color:#c5cfdd;
  font-family:Georgia,serif;
}
.tuition-quote p{
  margin:0;
  font-size:18px;
  line-height:1.7;
  color:#475467;
}
.tuition-quote strong{
  color:#1765d6;
  font-weight:750;
}

.tuition-price-panel{
  position:relative;
  display:grid;
  grid-template-columns:1.25fr repeat(3,1fr);
  align-items:center;
  gap:0;
  min-height:190px;
  padding:28px 30px 52px;
  overflow:hidden;
  border-radius:24px;
  background:linear-gradient(135deg,#0b1b3d 0%,#08204a 55%,#0b2f6d 100%);
  color:#fff;
  box-shadow:0 22px 46px rgba(8,31,74,.18);
}
.tuition-price-title{
  display:flex;
  align-items:center;
  gap:18px;
  padding-right:28px;
}
.tuition-price-icon{
  width:62px;
  height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(46,119,255,.18);
  color:#82adff;
  font-size:26px;
  transform:rotate(45deg);
}
.tuition-price-title h3{
  margin:0;
  font-size:25px;
  line-height:1.35;
  color:#fff;
}
.tuition-tier{
  min-height:112px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:0 18px;
  border-left:1px dashed rgba(255,255,255,.18);
  text-align:center;
}
.tuition-tier > span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:104px;
  height:30px;
  margin-bottom:10px;
  padding:0 14px;
  border-radius:999px;
  background:#1765d6;
  color:#fff;
  font-size:12px;
  font-weight:750;
}
.tuition-tier--regular > span{
  background:#778397;
}
.tuition-tier strong{
  font-size:48px;
  line-height:1;
  font-weight:720;
  letter-spacing:-.05em;
  color:#fff;
  font-variant-numeric:tabular-nums;
}
.tuition-tier--early1 strong{
  color:#8bb7ff;
}
.tuition-tier em{
  margin-left:5px;
  font-size:18px;
  font-style:normal;
  font-weight:650;
  letter-spacing:-.02em;
}
.tuition-price-note{
  position:absolute;
  left:calc(25% + 30px);
  right:30px;
  bottom:18px;
  display:block;
  font-size:11px;
  line-height:1.5;
  color:#9fb1cc;
}

.tuition-includes{
  display:grid;
  grid-template-columns:270px 1fr;
  gap:30px 48px;
  margin-top:16px;
  padding:30px 36px;
  border:1px solid #e2eaf6;
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 36px rgba(31,72,135,.055);
}
.tuition-includes-title{
  display:flex;
  align-items:center;
  gap:16px;
  align-self:start;
}
.tuition-includes-title > span{
  width:54px;
  height:54px;
  flex:0 0 54px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#edf4ff;
  color:#1765d6;
  font-size:25px;
  font-weight:800;
}
.tuition-includes-title h3{
  margin:0;
  font-size:25px;
  line-height:1.4;
  color:#101828;
}
.tuition-includes ul{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 34px;
  margin:0;
  padding:0;
  list-style:none;
}
.tuition-includes li{
  position:relative;
  padding-left:23px;
  font-size:16px;
  line-height:1.65;
  color:#344054;
}
.tuition-includes li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#1765d6;
  font-weight:800;
}
.tuition-apply-notice{
  grid-column:2;
  display:grid;
  grid-template-columns:190px 1fr;
  gap:20px;
  align-items:center;
  padding:16px 20px;
  border-radius:14px;
  background:#f4f7fb;
}
.tuition-apply-notice h4{
  margin:0;
  font-size:15px;
  color:#1765d6;
}
.tuition-apply-notice p{
  margin:0;
  font-size:12px;
  line-height:1.65;
  color:#6b778b;
}

.tuition-cta-wrap{
  margin-top:28px;
  text-align:center;
}
.tuition-cta{
  min-width:420px;
  min-height:66px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:0 34px;
  border-radius:14px;
  background:#1765d6;
  color:#fff;
  font-size:18px;
  font-weight:750;
  box-shadow:0 14px 28px rgba(23,101,214,.22);
  transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease;
}
.tuition-cta:hover{
  transform:translateY(-2px);
  background:#0e56c5;
  box-shadow:0 18px 34px rgba(23,101,214,.28);
}
.tuition-cta span{
  font-size:24px;
  font-weight:400;
}

@media (max-width:980px){
  .tuition-value-card{
    grid-template-columns:72px 1fr;
  }
  .tuition-quote{
    grid-column:1 / -1;
    padding:20px 0 0;
    border-top:1px solid #e8edf5;
  }
  .tuition-value-copy{
    border-right:0;
    padding-right:0;
  }
  .tuition-price-panel{
    grid-template-columns:1fr 1fr 1fr;
    padding-top:26px;
  }
  .tuition-price-title{
    grid-column:1 / -1;
    margin-bottom:22px;
    padding:0 0 20px;
    border-bottom:1px solid rgba(255,255,255,.14);
  }
  .tuition-tier:first-of-type{
    border-left:0;
  }
  .tuition-price-note{
    left:30px;
  }
  .tuition-includes{
    grid-template-columns:1fr;
  }
  .tuition-includes ul,
  .tuition-apply-notice{
    grid-column:1;
  }
}

@media (max-width:767px){
  .tuition-section{
    padding:86px 0 96px;
  }
  .tuition-section .mepa-wrap{
    width:calc(100% - 30px);
  }
  .tuition-head{
    margin-bottom:30px;
  }
  .tuition-eyebrow{
    font-size:11px;
  }
  .tuition-head h2{
    font-size:38px;
  }
  .tuition-head-copy{
    font-size:15px;
    line-height:1.7;
  }
  .tuition-value-card{
    grid-template-columns:1fr;
    gap:18px;
    padding:24px 22px;
    border-radius:20px;
  }
  .tuition-value-mark{
    width:50px;
    height:50px;
    font-size:24px;
  }
  .tuition-value-copy p,
  .tuition-quote p{
    font-size:15px;
  }
  .tuition-quote{
    grid-template-columns:auto 1fr auto;
    gap:8px;
  }
  .tuition-quote > span{
    font-size:28px;
  }
  .tuition-price-panel{
    grid-template-columns:1fr;
    gap:0;
    padding:24px 20px 54px;
    border-radius:20px;
  }
  .tuition-price-title{
    grid-column:1;
    margin-bottom:8px;
  }
  .tuition-price-icon{
    width:48px;
    height:48px;
    font-size:20px;
  }
  .tuition-price-title h3{
    font-size:22px;
  }
  .tuition-tier{
    min-height:90px;
    flex-direction:row;
    justify-content:space-between;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.12);
    text-align:left;
  }
  .tuition-tier > span{
    margin:0;
  }
  .tuition-tier strong{
    font-size:38px;
  }
  .tuition-tier em{
    font-size:15px;
  }
  .tuition-price-note{
    left:20px;
    right:20px;
    bottom:16px;
    font-size:10px;
  }
  .tuition-includes{
    padding:24px 22px;
    border-radius:20px;
  }
  .tuition-includes-title h3{
    font-size:22px;
  }
  .tuition-includes ul{
    grid-template-columns:1fr;
    gap:10px;
  }
  .tuition-includes li{
    font-size:15px;
  }
  .tuition-apply-notice{
    grid-template-columns:1fr;
    gap:8px;
    padding:16px;
  }
  .tuition-cta{
    width:100%;
    min-width:0;
    min-height:60px;
    font-size:16px;
  }
}

/* TUITION editorial reference style */
.tuition-section{position:relative;padding:132px 0 126px;background:radial-gradient(circle at 86% 12%,rgba(37,99,235,.07),transparent 30%),linear-gradient(180deg,#fbfdff 0%,#f3f8ff 100%);overflow:hidden}.tuition-wrap{position:relative;z-index:1}.tuition-head{max-width:880px;margin:0 auto 56px;text-align:center}.tuition-kicker{margin:0 0 12px;font-size:13px;line-height:1;font-weight:800;letter-spacing:.22em;color:#2563eb}.tuition-head h2{margin:0 0 18px;font-size:58px;line-height:1.08;font-weight:760;letter-spacing:-.055em;color:#0f172a}.tuition-head-copy{margin:0;font-size:18px;line-height:1.8;color:#68778e}.tuition-reason-list{display:grid;gap:20px;margin-bottom:34px}.tuition-reason-card{display:grid;grid-template-columns:minmax(0,1fr) 130px minmax(0,1.05fr);align-items:center;gap:34px;min-height:164px;padding:34px 42px;border:1px solid #e5edf7;border-radius:24px;background:#fff;box-shadow:0 16px 42px rgba(53,91,146,.06)}.tuition-reason-left{display:grid;grid-template-columns:54px minmax(0,1fr);gap:18px;align-items:start}.tuition-reason-icon{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#eef5ff;color:#2563eb;font-size:13px;font-weight:800;letter-spacing:.04em}.tuition-reason-left h3{margin:0 0 8px;font-size:24px;line-height:1.38;font-weight:720;letter-spacing:-.035em;color:#111827}.tuition-reason-left p{margin:0;font-size:15px;line-height:1.75;color:#6b778c}.tuition-reason-line{display:block;width:100%;height:1px;background:#dfe6ef}.tuition-reason-card blockquote{position:relative;margin:0;padding:0 34px;font-size:17px;line-height:1.75;color:#5d6879;text-align:left}.tuition-reason-card blockquote:before,.tuition-reason-card blockquote:after{position:absolute;color:#c7cfdb;font-size:34px;line-height:1;font-family:Georgia,serif}.tuition-reason-card blockquote:before{content:'“';left:0;top:-2px}.tuition-reason-card blockquote:after{content:'”';right:0;bottom:-4px}.tuition-reason-card blockquote strong{color:#1765d6;font-weight:760}.tuition-price-band{position:relative;display:grid;grid-template-columns:1.15fr repeat(3,1fr);align-items:stretch;overflow:hidden;border-radius:26px;background:linear-gradient(110deg,#071a3f 0%,#0d2c65 58%,#0b2554 100%);color:#fff;box-shadow:0 22px 54px rgba(7,26,63,.18)}.tuition-price-label,.tuition-price-item{min-height:190px;display:flex;flex-direction:column;justify-content:center;padding:34px}.tuition-price-label{border-right:1px solid rgba(255,255,255,.15)}.tuition-price-label small{margin-bottom:8px;font-size:11px;font-weight:800;letter-spacing:.16em;color:#87b3ff}.tuition-price-label h3{margin:0;font-size:30px;line-height:1.3;font-weight:720}.tuition-price-item{align-items:center;text-align:center;border-right:1px dashed rgba(255,255,255,.18)}.tuition-price-item:last-of-type{border-right:0}.tuition-price-item>span{display:inline-flex;align-items:center;justify-content:center;min-width:108px;min-height:30px;margin-bottom:12px;padding:0 14px;border-radius:999px;background:#1f6feb;font-size:12px;font-weight:760}.tuition-price-item--regular>span{background:#76859c}.tuition-price-item strong{font-size:56px;line-height:1;font-weight:700;letter-spacing:-.045em;color:#fff}.tuition-price-item--early1 strong{color:#8cb8ff}.tuition-price-item em{margin-left:5px;font-size:18px;font-style:normal;font-weight:650}.tuition-price-note{grid-column:1/-1;margin:0;padding:0 34px 24px;font-size:12px;color:#9fb2d0;text-align:center}.tuition-includes{display:grid;grid-template-columns:260px minmax(0,1fr);gap:34px 48px;margin-top:20px;padding:36px 40px 32px;border:1px solid #e4ebf5;border-radius:24px;background:#fff;box-shadow:0 14px 40px rgba(53,91,146,.055)}.tuition-includes-title{display:flex;gap:14px;align-items:flex-start}.tuition-includes-mark{flex:0 0 36px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#eef5ff;color:#2563eb;font-size:18px;font-weight:800}.tuition-includes-title h3{margin:2px 0 0;font-size:26px;line-height:1.42;font-weight:720;letter-spacing:-.035em;color:#111827}.tuition-includes-list{display:grid;grid-template-columns:1fr 1fr;gap:16px 36px}.tuition-includes-list p{position:relative;margin:0;padding-left:22px;font-size:15px;line-height:1.65;color:#566276}.tuition-includes-list p:before{content:'✓';position:absolute;left:0;top:0;color:#2563eb;font-weight:800}.tuition-notice{grid-column:2;display:grid;grid-template-columns:170px minmax(0,1fr);align-items:center;gap:20px;margin-top:4px;padding:16px 18px;border-radius:14px;background:#f5f8fd}.tuition-notice strong{color:#1765d6;font-size:14px}.tuition-notice p{margin:0;font-size:12px;line-height:1.65;color:#7c8798}.tuition-cta-wrap{margin-top:28px;text-align:center}.tuition-cta{min-width:410px;min-height:66px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:0 34px;border-radius:16px;background:linear-gradient(90deg,#1f6feb,#1559d6);color:#fff;font-size:20px;font-weight:760;box-shadow:0 14px 28px rgba(31,111,235,.18)}.tuition-cta span{font-size:28px;font-weight:300;transition:transform .2s ease}.tuition-cta:hover span{transform:translateX(4px)}
@media(max-width:980px){.tuition-reason-card{grid-template-columns:1fr;gap:18px}.tuition-reason-line{display:none}.tuition-reason-card blockquote{padding-left:30px}.tuition-price-band{grid-template-columns:1fr 1fr}.tuition-price-label{grid-column:1/-1;min-height:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.tuition-price-item{border-right:1px dashed rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.12)}.tuition-price-item--regular{grid-column:1/-1;border-right:0}.tuition-includes{grid-template-columns:1fr}.tuition-notice{grid-column:1}}
@media(max-width:767px){.tuition-section{padding:88px 0 96px}.tuition-head{margin-bottom:34px}.tuition-head h2{font-size:40px}.tuition-head-copy{font-size:15px;line-height:1.75}.tuition-head-copy br{display:none}.tuition-reason-list{gap:14px}.tuition-reason-card{min-height:0;padding:24px 20px;border-radius:18px}.tuition-reason-left{grid-template-columns:42px 1fr;gap:12px}.tuition-reason-icon{width:38px;height:38px}.tuition-reason-left h3{font-size:20px}.tuition-reason-left p{font-size:14px}.tuition-reason-card blockquote{padding:0 24px;font-size:15px}.tuition-price-band{grid-template-columns:1fr;border-radius:20px}.tuition-price-label,.tuition-price-item{min-height:auto;padding:26px 22px;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.tuition-price-item--regular{grid-column:auto}.tuition-price-item strong{font-size:48px}.tuition-price-note{padding:20px 22px 24px;line-height:1.6}.tuition-includes{grid-template-columns:1fr;gap:24px;padding:26px 20px;border-radius:18px}.tuition-includes-title h3{font-size:22px}.tuition-includes-list{grid-template-columns:1fr;gap:12px}.tuition-includes-list p{font-size:14px}.tuition-notice{grid-column:auto;grid-template-columns:1fr;gap:8px}.tuition-cta{min-width:0;width:100%;min-height:60px;font-size:17px}}


/* ==== Tuition section refinement: reason-card styled includes ==== */
.tuition-price-band{padding:0 0 22px;overflow:hidden}.tuition-price-grid{display:grid;grid-template-columns:1.15fr repeat(3,1fr);align-items:stretch}.tuition-price-label,.tuition-price-item{min-height:210px;padding:38px 34px}.tuition-price-label{display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(255,255,255,.15)}.tuition-price-item{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-right:1px dashed rgba(255,255,255,.18)}.tuition-price-item:last-child{border-right:0}.tuition-price-item strong{display:flex;align-items:flex-end;gap:6px;line-height:.95}.tuition-price-item em{margin-left:0;line-height:1.2}.tuition-price-note{margin-top:12px;padding:0 34px;font-size:12px;line-height:1.6;color:#a9b7cf;text-align:center}

.tuition-feature-stack{display:grid;gap:18px;margin-top:22px}.tuition-feature-card{display:grid;grid-template-columns:320px 140px minmax(0,1fr);align-items:center;gap:32px;padding:30px 34px;border:1px solid #e3eaf4;border-radius:24px;background:#fff;box-shadow:0 14px 36px rgba(31,72,135,.055)}.tuition-feature-left{display:flex;align-items:center;gap:18px}.tuition-feature-icon{width:50px;height:50px;flex:0 0 50px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#edf4ff;color:#1765d6;font-size:24px;font-weight:800}.tuition-feature-left h3{margin:0;font-size:23px;line-height:1.45;font-weight:730;letter-spacing:-.035em;color:#111827}.tuition-feature-line{display:block;width:100%;height:1px;background:#dfe6ef}.tuition-feature-right{display:grid;gap:8px}.tuition-feature-right p{position:relative;margin:0;padding-left:18px;font-size:16px;line-height:1.75;color:#5a6679}.tuition-feature-right p::before{content:"“";position:absolute;left:0;top:0;color:#c5ccd7;font-size:18px;line-height:1}.tuition-feature-right p:last-child{margin-bottom:0}.tuition-feature-right--notice p{padding-left:0}.tuition-feature-right--notice p::before{display:none}.tuition-feature-right strong{color:#1765d6}

@media(max-width:980px){.tuition-price-grid{grid-template-columns:1fr 1fr}.tuition-price-label{grid-column:1/-1;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.tuition-price-item{border-bottom:1px solid rgba(255,255,255,.12)}.tuition-price-item--regular{grid-column:1/-1;border-right:0}.tuition-feature-card{grid-template-columns:1fr;gap:18px}.tuition-feature-line{display:none}.tuition-feature-right{border-top:1px solid #e9eef5;padding-top:18px}}
@media(max-width:767px){.tuition-price-grid{grid-template-columns:1fr}.tuition-price-label,.tuition-price-item{min-height:auto;padding:26px 22px;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.tuition-price-item--regular{grid-column:auto}.tuition-price-note{padding:0 22px}.tuition-feature-stack{gap:14px}.tuition-feature-card{padding:24px 22px;border-radius:18px}.tuition-feature-left{align-items:flex-start;gap:14px}.tuition-feature-icon{width:42px;height:42px;flex-basis:42px;font-size:20px}.tuition-feature-left h3{font-size:20px;line-height:1.4}.tuition-feature-right p{font-size:14px;line-height:1.7}}


/* ==== Tuition price spacing adjustment ==== */
.tuition-price-band{
  padding-bottom:42px;
}
.tuition-price-grid{
  grid-template-columns: 0.98fr 1fr 1fr 1fr;
  align-items:stretch;
}
.tuition-price-label,
.tuition-price-item{
  min-height:188px;
  padding:36px 38px;
}
.tuition-price-label{
  justify-content:center;
  padding-left:32px;
  padding-right:32px;
}
.tuition-price-label small{
  margin-bottom:10px;
}
.tuition-price-label h3{
  line-height:1.22;
}
.tuition-price-item{
  justify-content:center;
}
.tuition-price-item > span{
  margin-bottom:16px;
}
.tuition-price-item strong{
  display:inline-flex;
  align-items:flex-end;
  justify-content:center;
  gap:4px;
  min-height:54px;
}
.tuition-price-item em{
  font-size:16px;
  line-height:1.1;
  margin-bottom:6px;
}
.tuition-price-note{
  left:24.5%;
  right:3%;
  bottom:18px;
  text-align:center;
  font-size:11px;
  letter-spacing:-0.01em;
}
@media(max-width:980px){
  .tuition-price-band{padding-bottom:18px;}
  .tuition-price-grid{grid-template-columns:1fr 1fr;}
  .tuition-price-label,
  .tuition-price-item{min-height:auto;padding:28px 26px;}
  .tuition-price-note{position:static;margin-top:12px;padding:0 22px;text-align:center;}
}
@media(max-width:767px){
  .tuition-price-label,
  .tuition-price-item{padding:24px 20px;}
  .tuition-price-item > span{margin-bottom:12px;}
}


/* =========================================================
   TUITION REASON SECTION — VERTICAL EDITORIAL CARDS
   기존 가로형 3행 -> 세로로 긴 3열 카드형
   ========================================================= */
.tuition-reason-list{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px !important;
  margin-bottom:42px !important;
}

.tuition-reason-card{
  position:relative;
  display:flex !important;
  flex-direction:column;
  align-items:stretch;
  gap:0 !important;
  min-height:540px;
  padding:0 !important;
  border:1px solid #e2eaf4 !important;
  border-radius:28px !important;
  overflow:hidden;
  background:#ffffff !important;
  box-shadow:0 20px 48px rgba(24,49,92,.08) !important;
}

.tuition-reason-left{
  display:block !important;
  min-height:318px;
  padding:34px 32px 30px !important;
  background:linear-gradient(180deg,#f6f9ff 0%,#eef5ff 100%);
}

.tuition-reason-icon{
  width:auto !important;
  height:36px !important;
  min-width:58px;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  margin-bottom:26px;
  padding:0 16px;
  border-radius:12px !important;
  background:#e4eeff !important;
  color:#1765d6 !important;
  font-size:14px !important;
  font-weight:800 !important;
  letter-spacing:.06em !important;
}

.tuition-reason-left h3{
  margin:0 0 18px !important;
  font-size:34px !important;
  line-height:1.26 !important;
  font-weight:760 !important;
  letter-spacing:-.045em !important;
  color:#101828 !important;
}

.tuition-reason-left p{
  margin:0 !important;
  font-size:17px !important;
  line-height:1.85 !important;
  color:#66758c !important;
  letter-spacing:-.015em;
}

.tuition-reason-line{
  display:block !important;
  width:calc(100% - 64px) !important;
  height:1px !important;
  margin:0 auto;
  background:#dde6f2 !important;
}

.tuition-reason-card blockquote{
  margin:0 !important;
  padding:28px 32px 34px !important;
  min-height:200px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  background:#ffffff;
  font-size:18px !important;
  line-height:1.82 !important;
  color:#5a6678 !important;
  text-align:left !important;
}

.tuition-reason-card blockquote:before{
  content:'“' !important;
  position:static !important;
  display:block;
  margin-bottom:8px;
  color:#c8d1de !important;
  font-size:38px !important;
  line-height:1 !important;
  font-family:Georgia,serif;
}

.tuition-reason-card blockquote:after{
  content:'”' !important;
  position:absolute !important;
  right:28px !important;
  bottom:22px !important;
  color:#c8d1de !important;
  font-size:34px !important;
  line-height:1 !important;
  font-family:Georgia,serif;
}

.tuition-reason-card blockquote strong{
  color:#1765d6 !important;
  font-weight:760 !important;
}

@media (max-width:1279px){
  .tuition-reason-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .tuition-reason-card{
    min-height:500px;
  }

  .tuition-reason-left{
    min-height:290px;
  }

  .tuition-reason-left h3{
    font-size:30px !important;
  }
}

@media (max-width:980px){
  .tuition-reason-list{
    grid-template-columns:1fr;
    gap:22px !important;
  }

  .tuition-reason-card{
    min-height:0;
  }

  .tuition-reason-left{
    min-height:0;
  }
}

@media (max-width:767px){
  .tuition-reason-list{
    gap:16px !important;
    margin-bottom:30px !important;
  }

  .tuition-reason-card{
    border-radius:22px !important;
  }

  .tuition-reason-left{
    padding:24px 22px 22px !important;
  }

  .tuition-reason-icon{
    height:32px !important;
    min-width:50px;
    margin-bottom:20px;
    padding:0 14px;
    font-size:13px !important;
    border-radius:10px !important;
  }

  .tuition-reason-left h3{
    font-size:25px !important;
    line-height:1.3 !important;
    margin-bottom:14px !important;
  }

  .tuition-reason-left p{
    font-size:15px !important;
    line-height:1.75 !important;
  }

  .tuition-reason-line{
    width:calc(100% - 44px) !important;
  }

  .tuition-reason-card blockquote{
    padding:22px 22px 26px !important;
    min-height:0;
    font-size:16px !important;
    line-height:1.75 !important;
  }

  .tuition-reason-card blockquote:before{
    margin-bottom:4px;
    font-size:32px !important;
  }

  .tuition-reason-card blockquote:after{
    right:18px !important;
    bottom:14px !important;
    font-size:28px !important;
  }
}


/* =========================================================
   TUITION VERTICAL CARDS — COLOR REFRESH
   reference-inspired pastel differentiation for stronger impact
   ========================================================= */
.tuition-reason-list{
  gap:30px !important;
}

.tuition-reason-card{
  border-color:#dfe7f1 !important;
  box-shadow:0 18px 42px rgba(24,49,92,.07) !important;
}

.tuition-reason-card:nth-child(1){
  background:#f4f1fb !important;
}
.tuition-reason-card:nth-child(1) .tuition-reason-left{
  background:linear-gradient(180deg,#efeafc 0%,#ebe5fb 100%) !important;
}
.tuition-reason-card:nth-child(1) .tuition-reason-icon{
  background:#ddd3fb !important;
  color:#4e4ea9 !important;
}
.tuition-reason-card:nth-child(1) .tuition-reason-line{
  background:#d9d3ee !important;
}
.tuition-reason-card:nth-child(1) blockquote{
  background:#f8f6fc !important;
}

.tuition-reason-card:nth-child(2){
  background:#eef4fb !important;
}
.tuition-reason-card:nth-child(2) .tuition-reason-left{
  background:linear-gradient(180deg,#e8eff8 0%,#e3ebf7 100%) !important;
}
.tuition-reason-card:nth-child(2) .tuition-reason-icon{
  background:#d9e6fb !important;
  color:#2e64b8 !important;
}
.tuition-reason-card:nth-child(2) .tuition-reason-line{
  background:#d6e1f1 !important;
}
.tuition-reason-card:nth-child(2) blockquote{
  background:#f6f9fd !important;
}

.tuition-reason-card:nth-child(3){
  background:#eff5ee !important;
}
.tuition-reason-card:nth-child(3) .tuition-reason-left{
  background:linear-gradient(180deg,#e8f0e6 0%,#e3ede1 100%) !important;
}
.tuition-reason-card:nth-child(3) .tuition-reason-icon{
  background:#d7e8d2 !important;
  color:#487b53 !important;
}
.tuition-reason-card:nth-child(3) .tuition-reason-line{
  background:#d5e0d2 !important;
}
.tuition-reason-card:nth-child(3) blockquote{
  background:#f6faf5 !important;
}

.tuition-reason-card blockquote strong{
  color:#1765d6 !important;
}

@media (max-width:767px){
  .tuition-reason-list{
    gap:18px !important;
  }
}


/* =========================================================
   EDUCATION PLACE — single unified section / FAQ untouched
   ========================================================= */
.education-place-section{
  padding:80px 0 140px;
  background:#ffffff;
  font-family:'Pretendard', Arial, sans-serif;
}
.education-place-section > .mepa-wrap{
  max-width:1280px;
  margin:0 auto;
  padding-left:36px;
  padding-right:36px;
}
.education-place-section .education-place-head{
  margin-bottom:34px;
}
.education-place-section .education-place-head span{
  display:block;
  margin:0 0 12px;
  font-size:13px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:.18em;
  color:#125de6;
  font-family:inherit;
}
.education-place-section .education-place-head h2{
  margin:0;
  font-size:52px;
  line-height:1.18;
  font-weight:700;
  letter-spacing:-.045em;
  color:#142038;
  font-family:inherit;
}
.education-place-panel{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);
  max-width:1220px;
  margin:0 auto;
  min-height:560px;
  overflow:hidden;
  border:1px solid #dfe6f0;
  border-radius:30px;
  background:#fff;
  box-shadow:0 16px 40px rgba(24,39,75,.055);
}
.education-place-panel .education-place-photo{
  min-height:560px;
  overflow:hidden;
}
.education-place-panel .education-place-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.education-place-content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:52px 54px;
  font-family:inherit;
}
.education-place-title small{
  display:block;
  margin:0 0 14px;
  font-size:12px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:.17em;
  color:#125de6;
  font-family:inherit;
}
.education-place-title h3{
  margin:0;
  font-size:36px;
  line-height:1.34;
  font-weight:700;
  letter-spacing:-.04em;
  color:#142038;
  font-family:inherit;
  word-break:keep-all;
}
.education-place-address{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:28px;
  padding:22px 0 24px;
  border-top:2px solid #1e3a8a;
  border-bottom:1px solid #e5eaf2;
}
.education-place-address strong{
  font-size:20px;
  line-height:1.55;
  font-weight:650;
  color:#26344a;
  font-family:inherit;
}
.education-place-address span{
  font-size:16px;
  line-height:1.7;
  font-weight:400;
  color:#66748b;
  font-family:inherit;
}
.education-place-info-list{
  margin-top:10px;
}
.education-place-info-row{
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  align-items:start;
  gap:18px;
  padding:16px 0;
  border-bottom:1px solid #e8edf4;
}
.education-place-info-row:last-child{
  border-bottom:0;
}
.education-place-info-row > span{
  font-size:15px;
  line-height:1.7;
  font-weight:700;
  color:#125de6;
  font-family:inherit;
}
.education-place-info-row p{
  margin:0;
  font-size:16px;
  line-height:1.7;
  font-weight:400;
  color:#58667b;
  font-family:inherit;
}

@media(max-width:1023px){
  .education-place-section{
    padding:56px 0 100px;
  }
  .education-place-section .education-place-head h2{
    font-size:40px;
  }
  .education-place-panel{
    grid-template-columns:1fr;
    min-height:0;
  }
  .education-place-panel .education-place-photo{
    min-height:420px;
  }
  .education-place-content{
    padding:42px 40px;
  }
}

@media(max-width:767px){
  .education-place-section{
    padding:44px 0 88px;
  }
  .education-place-section > .mepa-wrap{
    padding-left:20px;
    padding-right:20px;
  }
  .education-place-section .education-place-head{
    margin-bottom:26px;
  }
  .education-place-section .education-place-head span{
    font-size:11px;
  }
  .education-place-section .education-place-head h2{
    font-size:32px;
    line-height:1.28;
  }
  .education-place-panel{
    border-radius:22px;
  }
  .education-place-panel .education-place-photo{
    min-height:280px;
  }
  .education-place-content{
    padding:28px 22px 30px;
  }
  .education-place-title small{
    font-size:10px;
    margin-bottom:10px;
  }
  .education-place-title h3{
    font-size:25px;
    line-height:1.4;
  }
  .education-place-address{
    margin-top:20px;
    padding:18px 0;
  }
  .education-place-address strong{
    font-size:17px;
  }
  .education-place-address span{
    font-size:14px;
  }
  .education-place-info-row{
    grid-template-columns:88px minmax(0,1fr);
    gap:12px;
    padding:13px 0;
  }
  .education-place-info-row > span,
  .education-place-info-row p{
    font-size:14px;
    line-height:1.65;
  }
}

/* =========================================================
   FAQ FINAL ALIGNMENT
   - keep current FAQ structure/content
   - unify typography with the rest of the site
   - use the full available horizontal section width
   ========================================================= */
.faq-stack-section,
.faq-stack-section *{
  font-family:'Pretendard', Arial, sans-serif;
}

.faq-stack-section > .mepa-wrap{
  width:100% !important;
  max-width:none !important;
  padding-left:60px;
  padding-right:60px;
  margin-left:auto;
  margin-right:auto;
}

.faq-stack-head,
.faq-stack-list{
  width:100%;
  max-width:none;
}

.faq-stack-head h2{
  font-size:52px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:-.045em;
}

.faq-stack-head p{
  font-size:18px;
  line-height:1.75;
  font-weight:400;
}

.faq-question{
  font-size:24px;
  line-height:1.5;
  font-weight:700;
  letter-spacing:-.035em;
}

.faq-answer{
  font-size:17px;
  line-height:1.85;
  font-weight:400;
  letter-spacing:-.015em;
}

@media (max-width:1023px){
  .faq-stack-section > .mepa-wrap{
    padding-left:32px;
    padding-right:32px;
  }
  .faq-stack-head h2{font-size:40px;}
  .faq-question{font-size:21px;}
  .faq-answer{font-size:16px;}
}

@media (max-width:767px){
  .faq-stack-section > .mepa-wrap{
    width:100% !important;
    padding-left:20px;
    padding-right:20px;
  }
  .faq-stack-head h2{font-size:32px;}
  .faq-question{font-size:18px;}
  .faq-answer{font-size:15px;}
}

/* =========================================================
   FAQ WIDTH CORRECTION
   - keep current Q/A structure + typography
   - centered content width, NOT full-width
   ========================================================= */
.faq-stack-section > .mepa-wrap{
  width:min(1240px, calc(100% - 120px)) !important;
  max-width:1240px !important;
  padding-left:0 !important;
  padding-right:0 !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.faq-stack-head,
.faq-stack-list{
  width:100%;
  max-width:100%;
}

@media (max-width:1023px){
  .faq-stack-section > .mepa-wrap{
    width:calc(100% - 64px) !important;
    max-width:none !important;
  }
}

@media (max-width:767px){
  .faq-stack-section > .mepa-wrap{
    width:calc(100% - 40px) !important;
    max-width:none !important;
  }
}


/* =========================================================
   FINAL SECTION — HYBRID ALIGNMENT ENDING
   narrative left -> conclusion centered slightly left of screen center
   ========================================================= */
.final-section.final-section--hybrid{
  min-height:820px;
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#07152f;
  color:#fff;
}
.final-section--hybrid .final-image,
.final-section--hybrid .final-shade{
  position:absolute;
  inset:0;
}
.final-section--hybrid .final-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:62% center;
  display:block;
}
.final-section--hybrid .final-shade{
  background:
    linear-gradient(90deg,rgba(5,18,44,.98) 0%,rgba(5,18,44,.93) 31%,rgba(5,18,44,.72) 52%,rgba(5,18,44,.30) 72%,rgba(5,18,44,.10) 100%),
    linear-gradient(180deg,rgba(3,12,29,.10),rgba(3,12,29,.24));
}
.final-section--hybrid .final-copy{
  position:relative;
  z-index:2;
  width:min(1320px,calc(100% - 120px));
  max-width:1320px;
  margin:0 auto;
  padding:96px 0 88px;
}
.final-section--hybrid .final-copy > *{
  max-width:none;
}
.final-section--hybrid .final-story-copy{
  width:min(520px,42vw);
  text-align:left;
}
.final-section--hybrid .final-story-copy p{
  margin:0 0 16px;
  font-size:16px;
  line-height:1.72;
  font-weight:400;
  letter-spacing:-.018em;
  color:rgba(236,242,252,.78);
}
.final-section--hybrid .final-story-copy p:last-child{
  margin-bottom:0;
}
.final-section--hybrid .final-ending{
  width:min(780px,64vw);
  margin:54px 0 0 13%;
  text-align:center;
}
.final-section--hybrid .final-ending h2{
  margin:0 0 24px;
  font-size:34px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:-.04em;
  color:#fff;
}
.final-section--hybrid .final-highlight{
  margin:0 !important;
  font-size:42px !important;
  line-height:1.34 !important;
  font-weight:760 !important;
  letter-spacing:-.05em;
  color:#fff !important;
  text-wrap:balance;
}
.final-section--hybrid .final-ending-copy{
  margin:24px auto 0 !important;
  font-size:17px !important;
  line-height:1.75 !important;
  font-weight:400;
  color:rgba(236,242,252,.76) !important;
}
.final-section--hybrid .final-cta{
  min-width:290px;
  min-height:60px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin-top:30px;
  padding:0 30px;
  border-radius:999px;
  background:#1768e8;
  color:#fff;
  font-size:16px;
  line-height:1;
  font-weight:700;
  letter-spacing:-.02em;
  box-shadow:0 14px 30px rgba(23,104,232,.22);
}
.final-section--hybrid .final-cta span{
  font-size:24px;
  line-height:1;
  font-weight:300;
  transition:transform .2s ease;
}
.final-section--hybrid .final-cta:hover span{
  transform:translateX(4px);
}

@media(max-width:1279px){
  .final-section--hybrid .final-copy{
    width:calc(100% - 80px);
  }
  .final-section--hybrid .final-story-copy{
    width:48%;
  }
  .final-section--hybrid .final-ending{
    width:68%;
    margin-left:5%;
  }
  .final-section--hybrid .final-highlight{
    font-size:36px !important;
  }
}

@media(max-width:900px){
  .final-section.final-section--hybrid{
    min-height:auto;
  }
  .final-section--hybrid .final-image img{
    object-position:68% center;
  }
  .final-section--hybrid .final-shade{
    background:linear-gradient(180deg,rgba(5,18,44,.72) 0%,rgba(5,18,44,.84) 35%,rgba(5,18,44,.97) 100%);
  }
  .final-section--hybrid .final-copy{
    width:calc(100% - 64px);
    padding:72px 0 76px;
  }
  .final-section--hybrid .final-story-copy,
  .final-section--hybrid .final-ending{
    width:100%;
    max-width:720px;
    margin-left:auto;
    margin-right:auto;
  }
  .final-section--hybrid .final-story-copy{
    text-align:left;
  }
  .final-section--hybrid .final-ending{
    margin-top:52px;
  }
}

@media(max-width:767px){
  .final-section--hybrid .final-image img{
    object-position:66% top;
  }
  .final-section--hybrid .final-copy{
    width:calc(100% - 40px);
    padding:56px 0 96px;
  }
  .final-section--hybrid .final-story-copy p{
    margin-bottom:14px;
    font-size:15px;
    line-height:1.72;
  }
  .final-section--hybrid .final-ending{
    margin-top:42px;
  }
  .final-section--hybrid .final-ending h2{
    margin-bottom:18px;
    font-size:25px;
    line-height:1.4;
  }
  .final-section--hybrid .final-highlight{
    font-size:30px !important;
    line-height:1.38 !important;
  }
  .final-section--hybrid .final-ending-copy{
    margin-top:18px !important;
    font-size:15px !important;
    line-height:1.7 !important;
  }
  .final-section--hybrid .final-cta{
    width:100%;
    min-width:0;
    min-height:58px;
    margin-top:26px;
    font-size:16px;
  }
}


/* =========================================================
   FINAL SECTION — EDITORIAL LEFT ENDING
   One visual axis / image kept clear / strong ending hierarchy
   ========================================================= */
.final-section.final-section--editorial{
  position:relative;
  min-height:820px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#07152f;
  color:#fff;
}

.final-section--editorial .final-image,
.final-section--editorial .final-shade{
  position:absolute;
  inset:0;
}

.final-section--editorial .final-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:64% center;
}

.final-section--editorial .final-shade{
  background:
    linear-gradient(
      90deg,
      rgba(4,17,42,.98) 0%,
      rgba(4,17,42,.96) 28%,
      rgba(4,17,42,.86) 43%,
      rgba(4,17,42,.55) 56%,
      rgba(4,17,42,.18) 71%,
      rgba(4,17,42,.04) 100%
    ),
    linear-gradient(180deg,rgba(4,14,34,.05),rgba(4,14,34,.18));
}

.final-section--editorial .final-copy{
  position:relative;
  z-index:2;
  width:min(1320px,calc(100% - 120px));
  max-width:1320px;
  margin:0 auto;
  padding:86px 0 82px;
  text-align:left;
}

.final-section--editorial .final-copy > *{
  max-width:none;
}

.final-section--editorial .final-story-copy{
  width:520px;
  max-width:44vw;
}

.final-section--editorial .final-story-copy p{
  margin:0 0 15px;
  font-size:15px;
  line-height:1.72;
  font-weight:400;
  letter-spacing:-.018em;
  color:rgba(233,239,249,.76);
}

.final-section--editorial .final-story-copy p:last-child{
  margin-bottom:0;
}

.final-section--editorial .final-ending{
  width:690px;
  max-width:54vw;
  margin-top:58px;
  text-align:left;
}

.final-section--editorial .final-ending-rule{
  display:block;
  width:54px;
  height:3px;
  margin-bottom:22px;
  border-radius:999px;
  background:#2f7df0;
}

.final-section--editorial .final-ending h2{
  margin:0 0 19px;
  font-size:32px;
  line-height:1.35;
  font-weight:650;
  letter-spacing:-.04em;
  color:#fff;
}

.final-section--editorial .final-highlight{
  margin:0 !important;
  max-width:690px !important;
  font-size:47px !important;
  line-height:1.28 !important;
  font-weight:720 !important;
  letter-spacing:-.055em !important;
  color:#fff !important;
  word-break:keep-all;
}

.final-section--editorial .final-highlight strong{
  color:#74aaff;
  font-weight:780;
}

.final-section--editorial .final-ending-copy{
  margin:22px 0 0 !important;
  font-size:16px !important;
  line-height:1.72 !important;
  font-weight:400 !important;
  color:rgba(231,238,249,.72) !important;
}

.final-section--editorial .final-cta{
  min-width:272px;
  min-height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin-top:28px;
  padding:0 28px;
  border-radius:999px;
  background:#1768e8;
  color:#fff;
  font-size:15px;
  line-height:1;
  font-weight:700;
  letter-spacing:-.02em;
  box-shadow:0 14px 30px rgba(23,104,232,.22);
}

.final-section--editorial .final-cta span{
  font-size:23px;
  line-height:1;
  font-weight:300;
  transition:transform .2s ease;
}

.final-section--editorial .final-cta:hover span{
  transform:translateX(4px);
}

/* Avoid duplicate CTA while the ending is already on screen. */
body.final-section-in-view .mobile-fixed-cta{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(12px);
}

.mobile-fixed-cta{
  transition:opacity .2s ease, visibility .2s ease, transform .2s ease;
}

@media(max-width:1279px){
  .final-section--editorial .final-copy{
    width:calc(100% - 80px);
  }

  .final-section--editorial .final-story-copy{
    width:48%;
    max-width:520px;
  }

  .final-section--editorial .final-ending{
    width:58%;
    max-width:650px;
  }

  .final-section--editorial .final-highlight{
    font-size:40px !important;
  }
}

@media(max-width:900px){
  .final-section.final-section--editorial{
    min-height:auto;
  }

  .final-section--editorial .final-image img{
    object-position:66% center;
  }

  .final-section--editorial .final-shade{
    background:
      linear-gradient(180deg,rgba(4,17,42,.48) 0%,rgba(4,17,42,.74) 34%,rgba(4,17,42,.96) 76%,rgba(4,17,42,.99) 100%);
  }

  .final-section--editorial .final-copy{
    width:calc(100% - 64px);
    padding:340px 0 76px;
  }

  .final-section--editorial .final-story-copy,
  .final-section--editorial .final-ending{
    width:100%;
    max-width:700px;
  }

  .final-section--editorial .final-ending{
    margin-top:46px;
  }
}

@media(max-width:767px){
  .final-section--editorial .final-image img{
    object-position:65% top;
  }

  .final-section--editorial .final-copy{
    width:calc(100% - 40px);
    padding:265px 0 92px;
  }

  .final-section--editorial .final-story-copy p{
    margin-bottom:13px;
    font-size:14px;
    line-height:1.7;
  }

  .final-section--editorial .final-ending{
    margin-top:38px;
  }

  .final-section--editorial .final-ending-rule{
    width:42px;
    margin-bottom:17px;
  }

  .final-section--editorial .final-ending h2{
    margin-bottom:16px;
    font-size:24px;
    line-height:1.4;
  }

  .final-section--editorial .final-highlight{
    font-size:31px !important;
    line-height:1.36 !important;
  }

  .final-section--editorial .final-ending-copy{
    margin-top:17px !important;
    font-size:14px !important;
    line-height:1.7 !important;
  }

  .final-section--editorial .final-cta{
    width:100%;
    min-width:0;
    min-height:58px;
    margin-top:24px;
    font-size:15px;
  }
}


/* STORY — single actual president photo / face-safe crop */
.story-memory .story-collage.story-collage--single{
  display:block !important;
  height:auto !important;
  min-height:0 !important;
  grid-template-columns:none !important;
}
.story-memory .story-collage--single .story-shot--single{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:560px !important;
  margin:0 !important;
  overflow:hidden;
  border-radius:28px;
  background:#f4f6f9;
  box-shadow:0 18px 44px rgba(31,48,79,.08);
}
.story-memory .story-collage--single .story-shot--single img{
  width:100% !important;
  height:100% !important;
  display:block;
  object-fit:cover !important;
  object-position:50% 31% !important;
  transform:none !important;
}
@media(max-width:1023px){
  .story-memory .story-collage--single .story-shot--single{height:500px !important;}
  .story-memory .story-collage--single .story-shot--single img{object-position:50% 29% !important;}
}
@media(max-width:767px){
  .story-memory .story-collage--single .story-shot--single{height:420px !important;border-radius:22px;}
  .story-memory .story-collage--single .story-shot--single img{object-position:52% 27% !important;}
}


/* Reflection collage unique-image crop tuning */
.story-section .reflection-a img{object-position:center 38%;}
.story-section .reflection-b img{object-position:center 28%;}
.story-section .reflection-c img{object-position:center 52%;}
.story-section .reflection-d img{object-position:center 28%;}
.story-section .reflection-e img{object-position:center 40%;}


/* =========================================================
   HERO — real center photo / centered copy / no left dark overlay
   ========================================================= */
.mepa-main .hero-section .hero-shade{
  background:linear-gradient(180deg,
    rgba(16,16,16,.10) 0%,
    rgba(16,16,16,.16) 50%,
    rgba(16,16,16,.12) 100%
  ) !important;
}

.mepa-main .hero-section .hero-slide{
  justify-content:center !important;
  text-align:center !important;
}

.mepa-main .hero-section .hero-slide .hero-copy{
  width:min(920px,calc(100% - 120px)) !important;
  max-width:920px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:0 !important;
  text-align:center !important;
  text-shadow:0 2px 14px rgba(0,0,0,.30),0 1px 3px rgba(0,0,0,.22);
}

.mepa-main .hero-section .hero-month-inline{
  justify-content:center !important;
}

.mepa-main .hero-section .hero-slide .hero-copy h1.hero-title,
.mepa-main .hero-section .hero-slide .hero-copy .hero-lead,
.mepa-main .hero-section .hero-slide .hero-copy .hero-second-label{
  text-align:center !important;
}

.mepa-main .hero-section .hero-questions{
  position:static !important;
  width:min(620px,100%) !important;
  max-width:620px !important;
  margin:28px auto 0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  backdrop-filter:none !important;
  box-shadow:none !important;
}

.mepa-main .hero-section .hero-questions p{
  padding:6px 0 !important;
  border:0 !important;
  text-align:center !important;
  color:#fff !important;
  text-shadow:0 2px 10px rgba(0,0,0,.34),0 1px 2px rgba(0,0,0,.28);
}

.mepa-main .hero-section .hero-slide-nav--inline{
  justify-content:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (min-width:851px) and (max-width:1279px){
  .mepa-main .hero-section .hero-slide .hero-copy{
    width:min(800px,calc(100% - 80px)) !important;
    max-width:800px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (max-width:850px){
  .mepa-main .hero-section .hero-slide{
    justify-content:center !important;
  }
  .mepa-main .hero-section .hero-slide .hero-copy{
    width:calc(100% - 40px) !important;
    max-width:620px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }
  .mepa-main .hero-section .hero-questions{
    margin-top:22px !important;
  }
}


/* HERO — center alignment refinement + slightly darker neutral overlay */
.hero-shade{
  background:linear-gradient(
    180deg,
    rgba(18,18,18,.24) 0%,
    rgba(18,18,18,.32) 48%,
    rgba(18,18,18,.28) 100%
  ) !important;
}

.mepa-main .hero-section .hero-slide .hero-copy{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}

.mepa-main .hero-section .hero-slide .hero-copy h1.hero-title{
  width:100% !important;
  max-width:900px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.mepa-main .hero-section .hero-slide .hero-copy .hero-lead{
  width:100% !important;
  max-width:650px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.mepa-main .hero-section .hero-questions{
  width:min(560px,100%) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.mepa-main .hero-section .hero-questions p{
  width:100% !important;
  display:flex !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  text-align:left !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.mepa-main .hero-section .hero-slide-nav--inline{
  width:max-content !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (max-width:850px){
  .mepa-main .hero-section .hero-questions{
    width:min(500px,100%) !important;
  }
}


/* HERO text readability — soft black backing instead of directional shadow */
.mepa-main .hero-section .hero-title,
.mepa-main .hero-section .hero-lead,
.mepa-main .hero-section .hero-questions,
.mepa-main .hero-section .hero-month-inline,
.mepa-main .hero-section .hero-second-label{
  text-shadow:none !important;
}

.mepa-main .hero-section .hero-title span{
  display:table;
  margin-left:auto;
  margin-right:auto;
  padding:0 .10em .04em;
  background:rgba(0,0,0,.10);
  border-radius:.10em;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
}

.mepa-main .hero-section .hero-lead{
  padding:10px 18px 12px;
  background:rgba(0,0,0,.13);
  border-radius:14px;
  box-shadow:0 0 28px rgba(0,0,0,.08);
  backdrop-filter:blur(1.5px);
  -webkit-backdrop-filter:blur(1.5px);
}

.mepa-main .hero-section .hero-questions p{
  text-shadow:none !important;
}

@media (max-width:850px){
  .mepa-main .hero-section .hero-lead{
    padding:9px 14px 10px;
  }
}


/* =========================================================
   HERO — full image warm dark overlay instead of text bars
   ========================================================= */
.mepa-main .hero-section .hero-shade{
  background:
    linear-gradient(0deg, rgba(34,24,18,.44), rgba(34,24,18,.44)),
    linear-gradient(180deg, rgba(22,16,12,.12) 0%, rgba(22,16,12,.18) 100%) !important;
}

.mepa-main .hero-section .hero-title,
.mepa-main .hero-section .hero-lead,
.mepa-main .hero-section .hero-questions,
.mepa-main .hero-section .hero-month-inline,
.mepa-main .hero-section .hero-second-label{
  text-shadow:none !important;
}

.mepa-main .hero-section .hero-title span,
.mepa-main .hero-section .hero-lead{
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border-radius:0 !important;
  padding:0 !important;
}

.mepa-main .hero-section .hero-title{
  margin-bottom:26px !important;
}

.mepa-main .hero-section .hero-lead{
  max-width:720px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.mepa-main .hero-section .hero-questions p,
.mepa-main .hero-section .hero-title,
.mepa-main .hero-section .hero-lead{
  color:#fff !important;
}

@media (max-width:850px){
  .mepa-main .hero-section .hero-shade{
    background:
      linear-gradient(0deg, rgba(34,24,18,.50), rgba(34,24,18,.50)),
      linear-gradient(180deg, rgba(22,16,12,.14) 0%, rgba(22,16,12,.22) 100%) !important;
  }
}


/* STORY — opening copy left aligned only; all following story layout unchanged */
.story-section .story-opening{
  grid-column:1 / -1;
  width:100%;
  max-width:none;
  margin:0 0 8px;
  text-align:left;
}

.story-section .story-opening-copy{
  margin:0;
  text-align:left;
}

@media(max-width:1100px){
  .story-section .story-opening{
    width:100%;
    max-width:none;
    margin:0 0 8px;
    text-align:left;
  }
}


/* =========================================================
   STORY — requested emphasis + upper alignment only
   ========================================================= */
@media (min-width:1101px){
  .story-section .story-memory{
    row-gap:30px;
    column-gap:72px;
    align-items:start;
  }

  .story-section .story-letter,
  .story-section .story-collage--single{
    align-self:start;
    margin-top:0;
  }
}

/* Keep the first sentence normal, emphasize only the sentence after the BR. */
.story-section .story-letter p:first-child{
  font-weight:750;
}
.story-section .story-letter p:first-child::first-line{
  font-weight:500;
}

/* Keep '그 과정에서' lighter and emphasize the two requested lines below it. */
.story-section .story-stat--memo{
  font-weight:750;
}
.story-section .story-stat--memo::first-line{
  font-weight:500;
}
.story-section .story-stat--memo strong{
  font-weight:800;
}


/* =========================================================
   STORY — opening line stability / photo higher / watermark left
   ========================================================= */
@media (min-width:1101px){
  /* Keep the two intended opening lines from wrapping again */
  .story-section .story-opening-copy{
    width:max-content;
    max-width:100%;
    white-space:nowrap;
  }

  /* Raise only the right-side president photo */
  .story-section .story-collage--single{
    margin-top:-58px;
  }

  /* Move the pale Story watermark to the left */
  .story-section .story-script{
    left:28%;
    right:auto;
    transform:translateX(-50%) rotate(-4deg);
  }
}

@media (min-width:821px) and (max-width:1100px){
  .story-section .story-script{
    left:32%;
    right:auto;
    transform:translateX(-50%) rotate(-4deg);
  }
}


/* =========================================================
   STORY — allow wrapping, prioritize raising the right image
   ========================================================= */
@media (min-width:1101px){
  /* Allow the opening heading to wrap naturally instead of forcing one line */
  .story-section .story-opening-copy{
    width:auto !important;
    max-width:780px !important;
    white-space:normal !important;
    word-break:keep-all;
  }

  /* Raise the right-side image much more, as requested */
  .story-section .story-collage--single{
    margin-top:-132px !important;
    align-self:start;
  }

  /* Slightly tighten the block spacing so the image can visually sit higher */
  .story-section .story-memory{
    align-items:start;
    row-gap:24px;
  }
}

@media (min-width:821px) and (max-width:1100px){
  .story-section .story-opening-copy{
    width:auto !important;
    max-width:100% !important;
    white-space:normal !important;
    word-break:keep-all;
  }

  .story-section .story-collage--single{
    margin-top:-44px !important;
  }
}


/* =========================================================
   STORY — swap upper single photo and lower collage blocks
   upper right: activity collage / lower left: single president photo
   ========================================================= */
.story-section .story-top-collage{
  align-self:start;
  margin-top:-132px;
  width:100%;
  min-height:560px;
}

.story-section .story-reflection-single{
  width:100%;
  min-width:0;
}

.story-section .story-reflection-single-photo{
  margin:0;
  width:100%;
  height:610px;
  overflow:hidden;
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 42px rgba(15,23,42,.10);
}

.story-section .story-reflection-single-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 32%;
}

@media (min-width:1101px){
  .story-section .story-top-collage{
    margin-top:-132px;
  }
}

@media (min-width:821px) and (max-width:1100px){
  .story-section .story-top-collage{
    margin-top:-44px;
    min-height:520px;
  }
  .story-section .story-reflection-single-photo{
    height:520px;
  }
}

@media (max-width:820px){
  .story-section .story-top-collage{
    margin-top:0;
    min-height:0;
  }
  .story-section .story-reflection-single-photo{
    height:430px;
    border-radius:20px;
  }
  .story-section .story-reflection-single-photo img{
    object-position:52% 28%;
  }
}


/* STORY — inline emphasized turn sentence below investment memo */
.story-section .story-letter .story-turn-inline{
  margin:26px 0 0;
  font-size:24px;
  line-height:1.72;
  font-weight:750;
  letter-spacing:-.02em;
  color:#303a4b;
}

.story-section .story-letter .story-turn-inline strong{
  display:block;
  font:inherit;
  color:inherit;
}

.story-section .story-letter .story-turn-inline strong + strong{
  margin-top:2px;
}

@media (max-width:1100px){
  .story-section .story-letter .story-turn-inline{
    font-size:21px;
    line-height:1.68;
    margin-top:22px;
  }
}

@media (max-width:820px){
  .story-section .story-letter .story-turn-inline{
    font-size:19px;
    line-height:1.62;
    margin-top:18px;
  }
}


/* =========================================================
   WEEK SECTION PATCH
   1) hide right-side week arrows on desktop
   2) give active week cards more vertical room
   3) keep full week-1 manuscript visible without clipping
   ========================================================= */
@media (min-width:1024px){
  .weeks-section .week-mobile-arrow,
  .weeks-section .week-mobile-navs,
  .weeks-section .week-mobile-prev,
  .weeks-section .week-mobile-next,
  .weeks-section button[aria-label="이전 주차 보기"],
  .weeks-section button[aria-label="다음 주차 보기"]{
    display:none !important;
  }

  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    min-height:640px;
  }

  .weeks-section .week-image,
  .weeks-section .week-row.active .week-image{
    min-height:640px;
  }

  .weeks-section .week-row.active{
    flex:1 1 980px;
  }

  .weeks-section .week-row.active .week-copy{
    align-content:start !important;
    grid-template-columns:minmax(270px, 28%) minmax(0, 1fr) !important;
    column-gap:48px !important;
    padding:48px 40px 46px 82px !important;
  }

  .weeks-section .week-title-block{
    max-width:320px !important;
  }

  .weeks-section .week-title-block h3{
    font-size:40px !important;
    line-height:1.12 !important;
    margin-bottom:22px !important;
  }

  .weeks-section .week-title-block h4{
    font-size:20px !important;
    line-height:1.5 !important;
    padding-top:20px !important;
  }

  .weeks-section .week-detail-list{
    gap:16px !important;
    max-width:700px !important;
  }

  .weeks-section .week-detail{
    grid-template-columns:52px minmax(0,1fr) !important;
    gap:18px !important;
    align-items:flex-start !important;
  }

  .weeks-section .week-detail + .week-detail{
    padding-top:16px !important;
  }

  .weeks-section .week-detail h5{
    margin-bottom:6px !important;
    font-size:17px !important;
    line-height:1.42 !important;
  }

  .weeks-section .week-detail p{
    margin-bottom:0 !important;
    font-size:15px !important;
    line-height:1.72 !important;
  }

  .weeks-section .week-detail-flow{
    margin-top:10px !important;
    padding:13px 15px !important;
    font-size:13px !important;
    line-height:1.6 !important;
  }

  .weeks-section .week-closing{
    margin-top:18px !important;
    padding-top:16px !important;
    border-top:1px solid rgba(255,255,255,.16) !important;
    font-size:15px !important;
    line-height:1.72 !important;
    color:rgba(255,255,255,.92) !important;
  }

  .weeks-section .week-closing span,
  .weeks-section .week-closing strong{
    display:block;
  }

  .weeks-section .week-closing strong{
    margin-top:4px;
    font-size:15px;
    font-weight:700;
    color:#fff;
  }
}

/* =========================================================
   WEEK SECTION — PC WIDER LAYOUT
   Use horizontal space first, keep mobile unchanged.
   ========================================================= */
@media (min-width:1024px){
  .weeks-section > .mepa-wrap{
    width:min(1540px, calc(100% - 48px)) !important;
    max-width:none !important;
  }

  .weeks-section .week-row,
  .weeks-section .week-row:not(.active){
    flex-basis:64px !important;
  }

  .weeks-section .week-row.active{
    flex:1 1 1180px !important;
  }

  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    min-height:600px !important;
  }

  .weeks-section .week-image,
  .weeks-section .week-row.active .week-image{
    min-height:600px !important;
  }

  .weeks-section .week-row.active .week-copy{
    grid-template-columns:minmax(270px, 27%) minmax(0, 1fr) !important;
    column-gap:42px !important;
    padding:44px 42px 40px 76px !important;
    align-content:center !important;
    overflow:visible !important;
  }

  .weeks-section .week-title-block{
    max-width:340px !important;
  }

  .weeks-section .week-detail-list{
    max-width:none !important;
    width:100% !important;
    gap:15px !important;
  }

  .weeks-section .week-detail{
    grid-template-columns:52px minmax(0,1fr) !important;
    gap:16px !important;
  }

  .weeks-section .week-detail + .week-detail{
    padding-top:14px !important;
  }

  .weeks-section .week-detail p{
    font-size:14px !important;
    line-height:1.62 !important;
  }

  .weeks-section .week-detail-flow{
    margin-top:8px !important;
    padding:10px 13px !important;
    font-size:12.5px !important;
    line-height:1.52 !important;
  }

  .weeks-section .week-closing{
    margin-top:14px !important;
    padding-top:13px !important;
    font-size:14px !important;
    line-height:1.58 !important;
  }

  .weeks-section .week-closing strong{
    font-size:14px !important;
  }
}

@media (min-width:1600px){
  .weeks-section > .mepa-wrap{
    width:min(1600px, calc(100% - 64px)) !important;
  }
}


/* =========================================================
   4 WEEK PROGRAM — BEAUTY PASS
   - wider readable copy on desktop
   - slightly slimmer side tabs
   - softer editorial proportions
   - restore week 1 closing copy visibly
   ========================================================= */
@media (min-width:1024px){
  .weeks-section .mepa-wrap{
    width:calc(100% - 48px) !important;
    gap:10px !important;
  }

  .weeks-section .week-row:not(.active){
    flex:0 0 66px !important;
    width:66px !important;
  }

  .weeks-section .week-row.active .week-image::after{
    background:linear-gradient(90deg,
      rgba(8,20,40,.94) 0%,
      rgba(8,20,40,.88) 18%,
      rgba(8,20,40,.66) 36%,
      rgba(8,20,40,.40) 58%,
      rgba(8,20,40,.18) 100%) !important;
  }

  .weeks-section .week-row.active .week-copy{
    grid-template-columns:minmax(0, 280px) minmax(0, 1fr) !important;
    column-gap:38px !important;
    padding:48px 40px 44px 76px !important;
    align-content:center !important;
  }

  .weeks-section .week-title-block{
    max-width:280px !important;
    align-self:center;
  }

  .weeks-section .week-title-block h3{
    margin:0 0 24px !important;
    font-size:41px !important;
    line-height:1.12 !important;
    letter-spacing:-.045em !important;
  }

  .weeks-section .week-title-block h4{
    padding-top:22px !important;
    font-size:20px !important;
    line-height:1.5 !important;
    word-break:keep-all;
  }

  .weeks-section .week-title-block h4::before{
    width:72px !important;
  }

  .weeks-section .week-detail-list{
    width:100%;
    max-width:none !important;
    gap:16px !important;
    align-self:center;
  }

  .weeks-section .week-detail{
    grid-template-columns:52px minmax(0,1fr) !important;
    gap:16px !important;
  }

  .weeks-section .week-detail + .week-detail{
    padding-top:16px !important;
  }

  .weeks-section .week-detail-icon,
  .weeks-section .week-detail-icon img{
    width:48px !important;
    height:48px !important;
  }

  .weeks-section .week-detail h5{
    margin:0 0 6px !important;
    font-size:18px !important;
    line-height:1.4 !important;
  }

  .weeks-section .week-detail p{
    font-size:14px !important;
    line-height:1.62 !important;
    color:rgba(255,255,255,.88) !important;
  }

  .weeks-section .week-detail-flow{
    margin-top:6px !important;
    font-size:13px !important;
    line-height:1.5 !important;
    color:#b8d8ff !important;
  }

  .weeks-section .week-closing{
    display:block !important;
    margin:18px 0 0 !important;
    padding:16px 18px !important;
    border-radius:18px;
    background:rgba(9,22,44,.32);
    border:1px solid rgba(158,200,255,.24);
    backdrop-filter:blur(6px);
  }

  .weeks-section .week-closing span,
  .weeks-section .week-closing strong{
    display:block;
  }

  .weeks-section .week-closing span{
    margin-bottom:8px;
    font-size:14px !important;
    line-height:1.55 !important;
    font-weight:600;
    color:rgba(255,255,255,.92) !important;
  }

  .weeks-section .week-closing strong{
    font-size:15px !important;
    line-height:1.6 !important;
    font-weight:700;
    color:#d7e8ff !important;
  }

  .weeks-section .week-row:not(.active) .week-bar-label{
    inset:52px 8px 14px !important;
    font-size:14px !important;
    line-height:1.48 !important;
    letter-spacing:.04em !important;
  }
}

@media (min-width:1280px){
  .weeks-section .mepa-wrap{
    width:calc(100% - 40px) !important;
  }

  .weeks-section .week-row.active .week-copy{
    grid-template-columns:minmax(0, 292px) minmax(0, 1fr) !important;
    column-gap:42px !important;
    padding:52px 46px 46px 82px !important;
  }

  .weeks-section .week-title-block{
    max-width:292px !important;
  }

  .weeks-section .week-title-block h3{
    font-size:44px !important;
  }

  .weeks-section .week-title-block h4{
    font-size:21px !important;
  }

  .weeks-section .week-detail h5{
    font-size:19px !important;
  }

  .weeks-section .week-detail p{
    font-size:14px !important;
    line-height:1.64 !important;
  }
}

@media (min-width:1600px){
  .weeks-section .mepa-wrap{
    width:calc(100% - 32px) !important;
  }

  .weeks-section .week-row.active .week-copy{
    grid-template-columns:minmax(0, 304px) minmax(0, 1fr) !important;
    column-gap:48px !important;
    padding:54px 50px 46px 88px !important;
  }
}

/* =========================================================
   4 WEEK PROGRAM — FINAL READABLE DESKTOP LAYOUT
   Goal: use horizontal space for copy instead of stacking text narrowly.
   ========================================================= */
@media (min-width:1024px){
  .weeks-section > .mepa-wrap,
  .weeks-section .mepa-wrap{
    width:calc(100% - 24px) !important;
    max-width:none !important;
    gap:8px !important;
  }

  .weeks-section .week-row:not(.active){
    flex:0 0 56px !important;
    width:56px !important;
    min-width:56px !important;
  }

  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    height:auto !important;
    min-height:650px !important;
    max-height:none !important;
  }

  .weeks-section .week-row.active{
    flex:1 1 0 !important;
    min-width:0 !important;
  }

  .weeks-section .week-row.active .week-image,
  .weeks-section .week-row.active .week-image img{
    min-height:650px !important;
    height:100% !important;
  }

  .weeks-section .week-row.active .week-image::after{
    background:linear-gradient(90deg,
      rgba(7,19,39,.95) 0%,
      rgba(7,19,39,.91) 18%,
      rgba(7,19,39,.73) 38%,
      rgba(7,19,39,.43) 64%,
      rgba(7,19,39,.16) 100%) !important;
  }

  .weeks-section .week-row.active .week-copy{
    width:100% !important;
    min-height:650px !important;
    height:auto !important;
    display:grid !important;
    grid-template-columns:minmax(250px, 300px) minmax(560px, 1fr) !important;
    grid-auto-rows:auto !important;
    column-gap:40px !important;
    row-gap:0 !important;
    align-content:start !important;
    align-items:start !important;
    justify-content:stretch !important;
    padding:64px 42px 46px 76px !important;
    overflow:visible !important;
  }

  .weeks-section .week-title-block{
    width:100% !important;
    max-width:300px !important;
    align-self:start !important;
    padding-top:84px !important;
  }

  .weeks-section .week-title-block h3{
    margin:0 0 24px !important;
    font-size:42px !important;
    line-height:1.12 !important;
    letter-spacing:-.045em !important;
    word-break:keep-all !important;
  }

  .weeks-section .week-title-block h4{
    margin:0 !important;
    padding-top:22px !important;
    font-size:20px !important;
    line-height:1.48 !important;
    word-break:keep-all !important;
  }

  .weeks-section .week-detail-list{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
    align-self:start !important;
  }

  .weeks-section .week-detail{
    width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:46px minmax(0,1fr) !important;
    gap:16px !important;
    align-items:start !important;
    padding:0 0 18px !important;
  }

  .weeks-section .week-detail + .week-detail{
    padding-top:18px !important;
    border-top:1px solid rgba(255,255,255,.18) !important;
  }

  .weeks-section .week-detail > div{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }

  .weeks-section .week-detail-icon,
  .weeks-section .week-detail-icon img{
    width:44px !important;
    height:44px !important;
  }

  .weeks-section .week-detail h5{
    margin:0 0 6px !important;
    max-width:none !important;
    font-size:18px !important;
    line-height:1.4 !important;
    letter-spacing:-.02em !important;
    word-break:keep-all !important;
  }

  .weeks-section .week-detail p{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    font-size:14px !important;
    line-height:1.62 !important;
    font-weight:500 !important;
    color:rgba(255,255,255,.88) !important;
    word-break:keep-all !important;
  }

  .weeks-section .week-detail-flow{
    width:100% !important;
    max-width:none !important;
    margin:9px 0 0 !important;
    padding:10px 13px !important;
    border-radius:10px !important;
    background:rgba(13,35,67,.38) !important;
    font-size:13px !important;
    line-height:1.5 !important;
    color:#c2dcff !important;
    white-space:normal !important;
  }

  .weeks-section .week-closing{
    grid-column:2 !important;
    width:100% !important;
    max-width:none !important;
    margin:2px 0 0 !important;
    padding:14px 16px !important;
    border-radius:12px !important;
    border:1px solid rgba(159,202,255,.22) !important;
    background:rgba(8,23,47,.36) !important;
  }

  .weeks-section .week-closing span,
  .weeks-section .week-closing strong{
    display:inline !important;
    font-size:14px !important;
    line-height:1.6 !important;
  }

  .weeks-section .week-closing span{
    color:rgba(255,255,255,.88) !important;
  }

  .weeks-section .week-closing strong{
    margin-left:8px !important;
    color:#d7e9ff !important;
    font-weight:700 !important;
  }

  .weeks-section .week-row:not(.active) .week-bar-label{
    inset:50px 6px 14px !important;
    font-size:13px !important;
    line-height:1.42 !important;
    letter-spacing:.03em !important;
  }
}

@media (min-width:1440px){
  .weeks-section .week-row.active .week-copy{
    grid-template-columns:minmax(270px, 315px) minmax(650px, 1fr) !important;
    column-gap:46px !important;
    padding:64px 50px 48px 84px !important;
  }

  .weeks-section .week-title-block{
    max-width:315px !important;
  }

  .weeks-section .week-detail h5{
    font-size:19px !important;
  }

  .weeks-section .week-detail p{
    font-size:15px !important;
    line-height:1.6 !important;
  }
}

@media (min-width:1700px){
  .weeks-section .week-row.active .week-copy{
    grid-template-columns:minmax(285px, 330px) minmax(760px, 1fr) !important;
    column-gap:54px !important;
    padding-left:92px !important;
    padding-right:58px !important;
  }

  .weeks-section .week-title-block{
    max-width:330px !important;
  }
}

/* =========================================================
   4 WEEK PROGRAM — DESKTOP INACTIVE BAR FIX
   Keep the wide/readable active panel, restore clean side bars only.
   ========================================================= */
@media (min-width:1024px){
  .weeks-section .week-row:not(.active){
    flex:0 0 74px !important;
    width:74px !important;
    min-width:74px !important;
    position:relative !important;
    overflow:hidden !important;
  }

  /* Inactive bar: show only number + explicit vertical label */
  .weeks-section .week-row:not(.active) .week-copy,
  .weeks-section .week-row:not(.active) .week-image,
  .weeks-section .week-row:not(.active) .week-mobile-arrow{
    display:none !important;
  }

  .weeks-section .week-row:not(.active) .week-num{
    position:absolute !important;
    top:26px !important;
    left:0 !important;
    right:0 !important;
    z-index:5 !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
    transform:none !important;
    text-align:center !important;
    font-family:'Montserrat',sans-serif !important;
    font-size:14px !important;
    line-height:1 !important;
    font-weight:800 !important;
    letter-spacing:0 !important;
    color:#fff !important;
  }

  .weeks-section .week-row:not(.active) .week-bar-label{
    position:absolute !important;
    top:72px !important;
    bottom:26px !important;
    left:50% !important;
    right:auto !important;
    z-index:5 !important;
    display:block !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    writing-mode:vertical-rl !important;
    text-orientation:upright !important;
    transform:translateX(-50%) !important;
    text-align:start !important;
    white-space:normal !important;
    overflow:hidden !important;
    font-size:14px !important;
    line-height:1.45 !important;
    font-weight:700 !important;
    letter-spacing:.04em !important;
    color:#fff !important;
  }

  .weeks-section .week-row.active .week-bar-label{
    display:none !important;
  }
}

/* 2026-08-24: 4-week cards — vertically center active content across all cards */
@media (min-width:1024px){
  .weeks-section .week-row.active{
    min-height:clamp(560px, 62vh, 680px);
  }

  .weeks-section .week-row.active .week-copy{
    min-height:clamp(560px, 62vh, 680px);
    align-content:center;
    align-items:center;
  }

  .weeks-section .week-title-block,
  .weeks-section .week-detail-list{
    align-self:center;
  }
}

/* 2026-08-24: final desktop equal top/bottom spacing for active week cards */
@media (min-width:1024px){
  .weeks-section .week-row.active{
    min-height:clamp(560px, 62vh, 680px) !important;
    align-items:stretch !important;
  }

  .weeks-section .week-row.active .week-copy{
    display:grid !important;
    min-height:clamp(560px, 62vh, 680px) !important;
    height:100% !important;
    box-sizing:border-box !important;
    padding-top:56px !important;
    padding-bottom:56px !important;
    align-items:center !important;
    align-content:center !important;
  }

  .weeks-section .week-row.active .week-title-block,
  .weeks-section .week-row.active .week-detail-list{
    align-self:center !important;
  }

  .weeks-section .week-row.active .week-detail-list{
    margin-top:0 !important;
  }
}

/* 2026-08-24: curriculum total program — no box / editorial impact */
.curriculum-section .curriculum-overview .curriculum-summary--table{
  margin-top:34px !important;
  min-height:0 !important;
  display:grid !important;
  grid-template-columns:84px 210px 260px minmax(0,1fr) !important;
  align-items:center !important;
  gap:0 !important;
  padding:20px 0 18px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}

.curriculum-section .curriculum-overview .curriculum-summary--table > div{
  min-height:96px !important;
  display:flex !important;
  align-items:center !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.curriculum-section .curriculum-overview .curriculum-summary--table > div + div{
  position:relative;
}

.curriculum-section .curriculum-overview .curriculum-summary--table > div + div::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:1px;
  height:54px;
  transform:translateY(-50%);
  background:#d8e2ef;
}

.curriculum-section .curriculum-overview .curriculum-summary--table .summary-icon{
  justify-content:flex-start !important;
  padding:0 24px 0 0 !important;
}

.curriculum-section .curriculum-overview .curriculum-summary--table .summary-icon img{
  width:56px !important;
  height:56px !important;
  opacity:.95;
}

.curriculum-section .curriculum-overview .curriculum-summary--table .summary-heading{
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  padding:0 30px !important;
}

.curriculum-section .curriculum-overview .curriculum-summary--table .summary-heading small{
  margin:0 0 8px !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.16em !important;
  color:#6d86a8 !important;
}

.curriculum-section .curriculum-overview .curriculum-summary--table .summary-heading strong{
  font-size:24px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  letter-spacing:-.035em !important;
  color:#172033 !important;
}

.curriculum-section .curriculum-overview .curriculum-summary--table .summary-hours{
  justify-content:center !important;
  gap:12px !important;
  padding:0 34px !important;
  background:transparent !important;
}

.curriculum-section .curriculum-overview .curriculum-summary--table .summary-hours strong{
  font-size:86px !important;
  line-height:.9 !important;
  font-weight:700 !important;
  letter-spacing:-.06em !important;
  color:#155fda !important;
}

.curriculum-section .curriculum-overview .curriculum-summary--table .summary-hours span{
  align-self:flex-end !important;
  margin-bottom:8px !important;
  font-size:21px !important;
  line-height:1 !important;
  font-weight:800 !important;
  color:#1c4f9a !important;
}

.curriculum-section .curriculum-overview .curriculum-summary--table .summary-note{
  justify-content:flex-start !important;
  padding:0 0 0 38px !important;
}

.curriculum-section .curriculum-overview .curriculum-summary--table .summary-note p{
  margin:0 !important;
  font-size:15px !important;
  line-height:1.75 !important;
  font-weight:500 !important;
  color:#66758b !important;
}

@media (max-width:1000px){
  .curriculum-section .curriculum-overview .curriculum-summary--table{
    grid-template-columns:64px 1fr auto !important;
    row-gap:18px !important;
  }
  .curriculum-section .curriculum-overview .curriculum-summary--table .summary-note{
    grid-column:1 / -1;
    min-height:0 !important;
    padding:16px 0 0 !important;
    border-top:1px solid #dfe6ef !important;
  }
  .curriculum-section .curriculum-overview .curriculum-summary--table .summary-note::before{
    display:none !important;
  }
}

@media (max-width:767px){
  .curriculum-section .curriculum-overview .curriculum-summary--table{
    display:grid !important;
    grid-template-columns:54px minmax(0,1fr) auto !important;
    padding:18px 0 10px !important;
  }
  .curriculum-section .curriculum-overview .curriculum-summary--table > div{
    min-height:76px !important;
  }
  .curriculum-section .curriculum-overview .curriculum-summary--table > div + div::before{
    display:none !important;
  }
  .curriculum-section .curriculum-overview .curriculum-summary--table .summary-icon img{
    width:42px !important;
    height:42px !important;
  }
  .curriculum-section .curriculum-overview .curriculum-summary--table .summary-heading{
    padding:0 14px !important;
  }
  .curriculum-section .curriculum-overview .curriculum-summary--table .summary-heading strong{
    font-size:19px !important;
  }
  .curriculum-section .curriculum-overview .curriculum-summary--table .summary-hours{
    padding:0 !important;
    gap:6px !important;
  }
  .curriculum-section .curriculum-overview .curriculum-summary--table .summary-hours strong{
    font-size:58px !important;
  }
  .curriculum-section .curriculum-overview .curriculum-summary--table .summary-hours span{
    font-size:16px !important;
  }
}

/* 2026-08-24: CURRICULUM background only — keep all other styles unchanged */
.curriculum-section,
.curriculum-section .curriculum-overview{
  background:#fff !important;
}

/* =========================================================
   Curriculum CTA / sticky card visibility refinement
   - make detail links look like real buttons
   - make 01/02 numbers readable on image cards
   - enlarge MPFI/MPRI label chips
   ========================================================= */
.qs-modal-open{
  min-height:88px;
  margin:28px 0 0;
  padding:18px 22px;
  border:1px solid rgba(23,59,112,.16);
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#f6f9ff 100%);
  box-shadow:0 10px 28px rgba(15,23,42,.08);
  color:#173b70;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.qualification-sticky-row--right .qs-modal-open{
  border-color:rgba(196,93,77,.20);
  background:linear-gradient(180deg,#ffffff 0%,#fff7f4 100%);
  color:#c45d4d;
}
.qs-modal-open span{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 12px;
  font-size:18px;
  line-height:1.45;
  font-weight:800;
  text-align:left;
}
.qs-modal-open b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 10px;
  margin-right:0;
  border-radius:999px;
  background:#eef4ff;
  color:#173b70;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
}
.qualification-sticky-row--right .qs-modal-open b{
  background:#fff0ed;
  color:#c45d4d;
}
.qs-modal-open i{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 50px;
  width:50px;
  height:50px;
  border-radius:50%;
  background:#173b70;
  color:#fff;
  font-size:22px;
  box-shadow:0 10px 22px rgba(23,59,112,.22);
}
.qualification-sticky-row--right .qs-modal-open i{
  background:#c45d4d;
  box-shadow:0 10px 22px rgba(196,93,77,.24);
}
.qs-modal-open:hover,
.qs-modal-open:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(15,23,42,.12);
  border-color:rgba(23,59,112,.28);
}
.qualification-sticky-row--right .qs-modal-open:hover,
.qualification-sticky-row--right .qs-modal-open:focus-visible{
  border-color:rgba(196,93,77,.30);
}
.qs-modal-open:hover i,
.qs-modal-open:focus-visible i{
  transform:translate(3px,-3px);
}

.qs-no{
  color:#ffffff;
  text-shadow:0 10px 28px rgba(6,17,39,.34);
}
.qs-code{
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
}
.qs-photo-title small{
  font-size:13px;
  line-height:1.6;
}

@media (max-width: 767px){
  .qs-modal-open{
    min-height:78px;
    padding:16px 18px;
    border-radius:16px;
  }
  .qs-modal-open span{
    font-size:16px;
    gap:8px 10px;
  }
  .qs-modal-open i{
    flex:0 0 44px;
    width:44px;
    height:44px;
    font-size:19px;
  }
  .qs-code{
    min-height:32px;
    padding:0 12px;
    font-size:11px;
  }
}

/* =========================================================
   Curriculum detail CTA — unmistakable solid buttons
   ========================================================= */
.qs-modal-open{
  width:100%;
  min-height:82px;
  margin:28px 0 0;
  padding:16px 18px 16px 22px;
  border:0;
  border-radius:16px;
  background:#173b70;
  color:#fff;
  box-shadow:0 12px 26px rgba(23,59,112,.22);
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.qualification-sticky-row--right .qs-modal-open{
  background:#c45d4d;
  color:#fff;
  box-shadow:0 12px 26px rgba(196,93,77,.22);
}
.qs-modal-open span{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 12px;
  font-size:18px;
  line-height:1.4;
  font-weight:800;
  color:#fff;
}
.qs-modal-open b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:0 10px;
  margin:0;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.12em;
}
.qualification-sticky-row--right .qs-modal-open b{
  background:rgba(255,255,255,.15);
  color:#fff;
}
.qs-modal-open i{
  flex:0 0 46px;
  width:46px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:auto;
  border:1px solid rgba(255,255,255,.35);
  border-radius:50%;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:23px;
  line-height:1;
  box-shadow:none;
  transition:transform .18s ease, background .18s ease;
}
.qs-modal-open:hover,
.qs-modal-open:focus-visible{
  transform:translateY(-2px);
  filter:brightness(1.05);
  box-shadow:0 16px 32px rgba(23,59,112,.28);
}
.qualification-sticky-row--right .qs-modal-open:hover,
.qualification-sticky-row--right .qs-modal-open:focus-visible{
  box-shadow:0 16px 32px rgba(196,93,77,.28);
}
.qs-modal-open:hover i,
.qs-modal-open:focus-visible i{
  transform:translate(3px,-3px);
  background:rgba(255,255,255,.22);
}

@media (max-width:767px){
  .qs-modal-open{
    min-height:74px;
    padding:14px 14px 14px 16px;
    border-radius:14px;
  }
  .qs-modal-open span{
    font-size:16px;
    gap:8px 10px;
  }
  .qs-modal-open b{
    min-height:26px;
    padding:0 8px;
    font-size:10px;
  }
  .qs-modal-open i{
    flex-basis:40px;
    width:40px;
    height:40px;
    font-size:20px;
  }
}

/* =========================================================
   FAQ — FINAL MINIMAL ACCORDION RESTORE
   Scope: FAQ only. Other sections untouched.
   ========================================================= */
.faq-stack-section{
  padding:128px 0 132px;
  background:#f7f9fc;
}

.faq-stack-section > .mepa-wrap{
  width:min(1240px, calc(100% - 120px));
  max-width:1240px;
  margin:0 auto;
  padding:0;
}

.faq-stack-section .faq-stack-head{
  width:100%;
  margin:0 0 42px;
  padding:0 0 30px;
  border-bottom:1px solid #d9e2ee;
}

.faq-stack-section .faq-stack-head > span{
  display:block;
  margin:0 0 10px;
  font-size:13px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.16em;
  color:#145ede;
}

.faq-stack-section .faq-stack-head h2{
  margin:0;
  font-size:52px;
  line-height:1.16;
  font-weight:750;
  letter-spacing:-.05em;
  color:#101828;
}

.faq-stack-section .faq-stack-head p{
  margin:16px 0 0;
  font-size:17px;
  line-height:1.72;
  font-weight:400;
  letter-spacing:-.015em;
  color:#667085;
}

.faq-stack-section .faq-stack-list{
  display:block;
  width:100%;
  border-top:0;
}

.faq-stack-section .faq-stack-item{
  margin:0;
  border:0;
  border-bottom:1px solid #d9e2ee;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}

.faq-stack-section .faq-stack-item summary{
  list-style:none;
  display:grid;
  grid-template-columns:74px minmax(0,1fr) 42px;
  align-items:center;
  gap:24px;
  min-height:116px;
  padding:28px 4px;
  cursor:pointer;
  background:transparent;
}
.faq-stack-section .faq-stack-item summary::-webkit-details-marker{display:none;}

.faq-stack-section .faq-label-q{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:14px;
  background:#edf3ff;
  color:#145ede;
  font-size:16px;
  line-height:1;
  font-weight:800;
}

.faq-stack-section .faq-question{
  font-size:24px;
  line-height:1.5;
  font-weight:700;
  letter-spacing:-.035em;
  color:#13213a;
}

/* Explicit + / − control so the affordance cannot disappear */
.faq-stack-section .faq-toggle{
  position:relative;
  justify-self:end;
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border:1px solid #c9d8ef;
  border-radius:50%;
  color:#145ede;
  background:#fff;
  font-size:0;
  line-height:1;
}
.faq-stack-section .faq-toggle::before{
  content:"+";
  position:static;
  width:auto;
  height:auto;
  background:none;
  transform:none;
  font-size:25px;
  line-height:1;
  font-weight:400;
  color:#145ede;
}
.faq-stack-section .faq-toggle::after{
  display:none;
  content:none;
}
.faq-stack-section .faq-stack-item[open] .faq-toggle::before{
  content:"−";
  font-size:26px;
}

.faq-stack-section .faq-answer-wrap{
  position:relative;
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  gap:24px;
  padding:0 4px 42px;
}
.faq-stack-section .faq-answer-wrap::before{
  content:"";
  position:absolute;
  left:29px;
  top:6px;
  bottom:42px;
  width:1px;
  background:#bfd3fb;
}

.faq-stack-section .faq-label-a{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  margin-left:4px;
  border-radius:12px;
  background:#f0f4fb;
  color:#164aaf;
  font-size:15px;
  line-height:1;
  font-weight:800;
}

.faq-stack-section .faq-answer{
  padding-top:2px;
  font-size:17px;
  line-height:1.9;
  font-weight:400;
  letter-spacing:-.018em;
  color:#53627a;
}

.faq-stack-section .faq-stack-item[open] summary{
  padding-bottom:18px;
}

@media (max-width:1023px){
  .faq-stack-section{
    padding:96px 0 100px;
  }
  .faq-stack-section > .mepa-wrap{
    width:calc(100% - 64px);
  }
  .faq-stack-section .faq-stack-head h2{
    font-size:42px;
  }
  .faq-stack-section .faq-stack-item summary{
    grid-template-columns:62px minmax(0,1fr) 38px;
    gap:18px;
    min-height:104px;
    padding:24px 2px;
  }
  .faq-stack-section .faq-answer-wrap{
    grid-template-columns:62px minmax(0,1fr);
    gap:18px;
    padding:0 2px 36px;
  }
  .faq-stack-section .faq-answer-wrap::before{
    left:25px;
    bottom:36px;
  }
  .faq-stack-section .faq-label-q{width:48px;height:48px;}
  .faq-stack-section .faq-label-a{width:40px;height:40px;}
  .faq-stack-section .faq-question{font-size:21px;}
  .faq-stack-section .faq-answer{font-size:16px;}
}

@media (max-width:767px){
  .faq-stack-section{
    padding:76px 0 82px;
  }
  .faq-stack-section > .mepa-wrap{
    width:calc(100% - 40px);
  }
  .faq-stack-section .faq-stack-head{
    margin-bottom:28px;
    padding-bottom:22px;
  }
  .faq-stack-section .faq-stack-head > span{font-size:11px;}
  .faq-stack-section .faq-stack-head h2{font-size:34px;}
  .faq-stack-section .faq-stack-head p{font-size:15px;line-height:1.68;}
  .faq-stack-section .faq-stack-item summary{
    grid-template-columns:46px minmax(0,1fr) 34px;
    gap:12px;
    min-height:90px;
    padding:19px 0;
  }
  .faq-stack-section .faq-label-q{
    width:40px;
    height:40px;
    border-radius:11px;
    font-size:13px;
  }
  .faq-stack-section .faq-question{
    font-size:18px;
    line-height:1.5;
  }
  .faq-stack-section .faq-toggle{
    width:34px;
    height:34px;
  }
  .faq-stack-section .faq-toggle::before{font-size:22px;}
  .faq-stack-section .faq-stack-item[open] .faq-toggle::before{font-size:23px;}
  .faq-stack-section .faq-answer-wrap{
    grid-template-columns:46px minmax(0,1fr);
    gap:12px;
    padding:0 0 28px;
  }
  .faq-stack-section .faq-answer-wrap::before{
    left:19px;
    top:4px;
    bottom:28px;
  }
  .faq-stack-section .faq-label-a{
    width:36px;
    height:36px;
    margin-left:2px;
    border-radius:10px;
    font-size:13px;
  }
  .faq-stack-section .faq-answer{
    font-size:15px;
    line-height:1.82;
  }
}


/* 2026-08-24 FAQ conflict fix — layout only */
.faq-stack-section .faq-stack-list{
  width:100%;
}
.faq-stack-section .faq-stack-item > summary{
  width:100%;
  box-sizing:border-box;
}
.faq-stack-section .faq-question{
  display:block;
  min-width:0;
  width:auto;
  position:static;
  opacity:1;
  visibility:visible;
  transform:none;
}
.faq-stack-section .faq-toggle{
  position:relative;
  right:auto;
  top:auto;
  margin:0;
}
.faq-stack-section .faq-answer-wrap{
  width:100%;
  box-sizing:border-box;
}


/* =========================================================
   EDUCATION PLACE — typography scale only
   FAQ와 시각적 결을 맞추기 위한 폰트/간격 보강
   다른 섹션에는 영향 없음
   ========================================================= */
@media (min-width:1024px){
  .education-place-section .education-place-head{
    margin-bottom:40px;
  }
  .education-place-section .education-place-head span{
    font-size:14px;
    font-weight:800;
    letter-spacing:.19em;
  }
  .education-place-section .education-place-head h2{
    font-size:56px;
    line-height:1.16;
    font-weight:750;
  }
  .education-place-content{
    padding:58px 58px;
  }
  .education-place-title small{
    margin-bottom:16px;
    font-size:13px;
    font-weight:800;
    letter-spacing:.18em;
  }
  .education-place-title h3{
    font-size:41px;
    line-height:1.28;
    font-weight:750;
  }
  .education-place-address{
    margin-top:32px;
    padding:25px 0 27px;
    gap:8px;
  }
  .education-place-address strong{
    font-size:22px;
    line-height:1.5;
    font-weight:700;
  }
  .education-place-address span{
    font-size:17px;
    line-height:1.7;
  }
  .education-place-info-list{
    margin-top:12px;
  }
  .education-place-info-row{
    grid-template-columns:124px minmax(0,1fr);
    gap:20px;
    padding:18px 0;
  }
  .education-place-info-row > span{
    font-size:17px;
    line-height:1.65;
    font-weight:800;
  }
  .education-place-info-row p{
    font-size:17px;
    line-height:1.72;
  }
}

@media (min-width:768px) and (max-width:1023px){
  .education-place-section .education-place-head h2{
    font-size:44px;
  }
  .education-place-title h3{
    font-size:34px;
  }
  .education-place-address strong{
    font-size:21px;
  }
  .education-place-address span,
  .education-place-info-row > span,
  .education-place-info-row p{
    font-size:16px;
  }
}

@media (max-width:767px){
  .education-place-section .education-place-head h2{
    font-size:35px;
  }
  .education-place-title small{
    font-size:11px;
  }
  .education-place-title h3{
    font-size:28px;
    line-height:1.35;
  }
  .education-place-address strong{
    font-size:19px;
  }
  .education-place-address span{
    font-size:15px;
  }
  .education-place-info-row > span,
  .education-place-info-row p{
    font-size:15px;
    line-height:1.65;
  }
}

/* =========================================================
   2026-08-24 — EDUCATION PLACE / outer box removal only
   다른 영역 및 타이포그래피는 그대로 유지
   ========================================================= */
.education-place-panel{
  overflow:visible !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  column-gap:54px;
}

.education-place-panel .education-place-photo{
  border-radius:24px;
  overflow:hidden;
}

.education-place-content{
  padding-left:0 !important;
  padding-right:0 !important;
  background:transparent !important;
}

@media(max-width:1023px){
  .education-place-panel{
    gap:34px;
  }
}

@media(max-width:767px){
  .education-place-panel{
    gap:26px;
  }
  .education-place-panel .education-place-photo{
    border-radius:18px;
  }
}

/* 2026-08-24 — tuition reason cards: remove lower white box only */
.tuition-reason-card:nth-child(1) blockquote,
.tuition-reason-card:nth-child(2) blockquote,
.tuition-reason-card:nth-child(3) blockquote{
  background:transparent !important;
}

/* =========================================================
   PROGRAM FEE — title outside / 3 equal columns / note outside center
   ========================================================= */
.tuition-price-band{
  position:relative;
  padding:98px 0 0;
  background:transparent;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
}
.tuition-price-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  background:linear-gradient(110deg,#071a3f 0%,#0d2c65 58%,#0b2554 100%);
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 22px 54px rgba(7,26,63,.18);
}
.tuition-price-label{
  position:absolute;
  top:-80px;
  left:0;
  z-index:2;
  min-height:auto;
  padding:0;
  border:0;
  background:transparent;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  color:#0f172a;
}
.tuition-price-label small{
  margin:0 0 10px;
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.18em;
  color:#2563eb;
}
.tuition-price-label h3{
  margin:0;
  font-size:46px;
  line-height:1.08;
  font-weight:760;
  letter-spacing:-.05em;
  color:#0f172a;
}
.tuition-price-item{
  min-height:230px;
  padding:44px 26px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-right:1px dashed rgba(255,255,255,.18);
}
.tuition-price-item:last-child{
  border-right:0;
}
.tuition-price-item > span{
  margin-bottom:16px;
}
.tuition-price-item strong{
  display:inline-flex;
  align-items:flex-end;
  justify-content:center;
  gap:4px;
  min-height:54px;
}
.tuition-price-item em{
  margin-left:0;
  font-size:16px;
  line-height:1.1;
  margin-bottom:6px;
}
.tuition-price-note{
  position:static;
  margin:18px 0 0;
  padding:0;
  color:#6b778c;
  font-size:13px;
  line-height:1.7;
  text-align:center;
  letter-spacing:-.01em;
}
@media(max-width:980px){
  .tuition-price-band{
    padding-top:74px;
  }
  .tuition-price-grid{
    grid-template-columns:1fr;
    border-radius:24px;
  }
  .tuition-price-label{
    top:-60px;
  }
  .tuition-price-label h3{
    font-size:38px;
  }
  .tuition-price-item{
    min-height:auto;
    padding:30px 26px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .tuition-price-item:last-child{
    border-bottom:0;
  }
  .tuition-price-note{
    margin-top:14px;
    padding:0 8px;
  }
}
@media(max-width:767px){
  .tuition-price-band{
    padding-top:58px;
  }
  .tuition-price-label{
    top:-48px;
  }
  .tuition-price-label small{
    margin-bottom:8px;
    font-size:11px;
    letter-spacing:.16em;
  }
  .tuition-price-label h3{
    font-size:30px;
  }
  .tuition-price-item{
    padding:26px 20px;
  }
  .tuition-price-item > span{
    margin-bottom:12px;
  }
  .tuition-price-note{
    font-size:12px;
    line-height:1.65;
  }
}

/* PROGRAM FEE width correction only — prevent legacy parent grid from shrinking the 3-column price box */
.tuition-price-band{
  display:block;
  width:100%;
  grid-template-columns:none;
}
.tuition-price-grid{
  width:100%;
  max-width:none;
  grid-template-columns:repeat(3,minmax(0,1fr));
}

/* =========================================================
   2026-08-24 — PROGRAM FEE title restore only
   교육비 안내 글자를 박스 밖 소타이틀로 복구
   다른 영역은 건드리지 않음
   ========================================================= */
.tuition-price-band{
  position:relative;
  display:block !important;
  width:100%;
  padding-top:68px !important;
}

/* 기존 내부 타이틀은 숨기고, 박스 밖 외부 소타이틀로 교체 */
.tuition-price-label{
  display:none !important;
}

.tuition-price-band::before{
  content:"교육비 안내";
  position:absolute;
  top:0;
  left:0;
  display:block;
  margin:0;
  font-size:30px;
  line-height:1.15;
  font-weight:760;
  letter-spacing:-.04em;
  color:#0f172a;
  z-index:2;
}

/* 3칸 박스는 그대로 100% / 3등분 유지 */
.tuition-price-grid{
  width:100% !important;
  max-width:none !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

@media(max-width:980px){
  .tuition-price-band{
    padding-top:60px !important;
  }
  .tuition-price-band::before{
    font-size:26px;
  }
  .tuition-price-grid{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:767px){
  .tuition-price-band{
    padding-top:52px !important;
  }
  .tuition-price-band::before{
    font-size:22px;
  }
}

/* 2026-08-24 — PROGRAM FEE title center alignment only */
.tuition-price-band::before{
  left:0;
  right:0;
  width:100%;
  text-align:center;
}

/* =========================================================
   FINAL SECTION — PREMIUM SPECIALIST COURSE
   Existing source copy kept 100%; visual structure only
   ========================================================= */
.final-section.final-section--premium{
  min-height:960px;
  align-items:stretch;
  background:#06142d;
}
.final-section--premium .final-image img{
  object-position:63% center;
  filter:saturate(.9) contrast(1.02);
}
.final-section--premium .final-shade{
  background:
    radial-gradient(circle at 84% 10%,rgba(99,125,207,.26),transparent 30%),
    linear-gradient(90deg,rgba(3,15,37,.98) 0%,rgba(4,18,43,.95) 37%,rgba(7,23,52,.78) 61%,rgba(6,18,41,.42) 100%),
    linear-gradient(180deg,rgba(4,14,34,.12),rgba(4,14,34,.48));
}
.final-section--premium .final-premium-layout{
  position:relative;
  z-index:2;
  width:min(1500px,calc(100% - 100px));
  margin:0 auto;
  padding:76px 0 74px;
  display:grid;
  grid-template-columns:minmax(390px,.86fr) minmax(610px,1.35fr);
  gap:74px;
  align-items:center;
}
.final-section--premium .final-premium-story{
  position:relative;
  min-height:720px;
  padding:86px 54px 54px 66px;
  border:1px solid rgba(128,161,238,.34);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(5,20,49,.72),rgba(8,26,61,.57));
  box-shadow:inset 0 0 48px rgba(78,118,220,.07),0 26px 70px rgba(1,9,25,.18);
  backdrop-filter:blur(5px);
}
.final-section--premium .final-premium-quote{
  position:absolute;
  top:31px;
  left:52px;
  font-family:Georgia,serif;
  font-size:70px;
  line-height:1;
  color:#5c83df;
  opacity:.88;
}
.final-section--premium .final-premium-line{
  position:absolute;
  left:-1px;
  top:166px;
  width:3px;
  height:230px;
  border-radius:999px;
  background:linear-gradient(180deg,#72a5ff,rgba(114,165,255,.18));
  box-shadow:0 0 16px rgba(86,139,255,.5);
}
.final-section--premium .final-story-copy{
  width:auto;
  max-width:none;
}
.final-section--premium .final-story-copy p{
  margin:0 0 23px;
  font-size:17px;
  line-height:1.78;
  font-weight:430;
  letter-spacing:-.025em;
  color:rgba(244,247,255,.9);
  word-break:keep-all;
}
.final-section--premium .final-story-copy p:nth-child(1){
  font-weight:560;
  color:#fff;
}
.final-section--premium .final-story-copy p:last-child{
  margin-bottom:0;
}
.final-section--premium .final-premium-main{
  min-width:0;
  padding:8px 0 0;
}
.final-section--premium .final-premium-heading{
  text-align:center;
}
.final-section--premium .final-premium-kicker{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  margin-bottom:24px;
  color:#91b4ff;
  font-size:13px;
  line-height:1;
  font-weight:700;
  letter-spacing:.26em;
}
.final-section--premium .final-premium-kicker span{
  width:132px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(131,174,255,.68));
}
.final-section--premium .final-premium-kicker span:last-child{
  transform:scaleX(-1);
}
.final-section--premium .final-premium-heading h2{
  margin:0;
  font-size:56px;
  line-height:1.18;
  font-weight:720;
  letter-spacing:-.055em;
  color:#fff;
  text-shadow:0 3px 18px rgba(0,0,0,.22);
}
.final-section--premium .final-premium-heading > p{
  margin:20px 0 0;
  color:#82adff;
  font-size:20px;
  line-height:1.55;
  font-weight:500;
  letter-spacing:-.025em;
}
.final-section--premium .final-premium-features{
  margin-top:38px;
  padding:30px 0 28px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(143,176,239,.22);
  border-bottom:1px solid rgba(143,176,239,.22);
}
.final-section--premium .final-premium-feature{
  min-width:0;
  padding:0 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:14px;
  text-align:center;
  border-right:1px solid rgba(145,177,236,.18);
}
.final-section--premium .final-premium-feature:last-child{border-right:0}
.final-section--premium .final-premium-icon{
  width:60px;
  height:60px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#82adff;
}
.final-section--premium .final-premium-feature:nth-child(2) .final-premium-icon{color:#76b8ff}
.final-section--premium .final-premium-feature:nth-child(3) .final-premium-icon{color:#9a84ff}
.final-section--premium .final-premium-feature:nth-child(4) .final-premium-icon{color:#a9b7ff}
.final-section--premium .final-premium-icon svg{
  width:100%;
  height:100%;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.final-section--premium .final-premium-feature strong{
  font-size:15px;
  line-height:1.45;
  font-weight:650;
  color:rgba(239,244,255,.9);
  word-break:keep-all;
}
.final-section--premium .final-ending{
  width:auto;
  max-width:760px;
  margin:42px auto 0;
  text-align:center;
}
.final-section--premium .final-ending-rule{
  width:44px;
  height:2px;
  margin:0 auto 17px;
  background:#79a9ff;
  box-shadow:0 0 12px rgba(121,169,255,.4);
}
.final-section--premium .final-ending h3{
  margin:0 0 15px;
  font-size:21px;
  line-height:1.45;
  font-weight:650;
  letter-spacing:-.035em;
  color:#fff;
}
.final-section--premium .final-highlight{
  max-width:none !important;
  margin:0 !important;
  font-size:34px !important;
  line-height:1.35 !important;
  font-weight:720 !important;
  letter-spacing:-.05em !important;
  color:#fff !important;
  word-break:keep-all;
}
.final-section--premium .final-highlight strong{
  color:#76a9ff;
  font-weight:780;
}
.final-section--premium .final-ending-copy{
  margin:18px 0 0 !important;
  font-size:15px !important;
  line-height:1.7 !important;
  color:rgba(231,238,249,.72) !important;
}
.final-section--premium .final-cta{
  min-width:360px;
  min-height:62px;
  margin-top:25px;
  padding:0 34px;
  border:1px solid rgba(166,192,255,.48);
  background:linear-gradient(90deg,#276fe5,#3d7fec);
  box-shadow:0 15px 34px rgba(24,93,216,.26),inset 0 1px 0 rgba(255,255,255,.16);
  font-size:16px;
}
.final-section--premium .final-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 19px 40px rgba(24,93,216,.32),inset 0 1px 0 rgba(255,255,255,.16);
}

@media(max-width:1180px){
  .final-section--premium .final-premium-layout{
    width:calc(100% - 72px);
    grid-template-columns:minmax(340px,.9fr) minmax(520px,1.2fr);
    gap:44px;
  }
  .final-section--premium .final-premium-story{padding:78px 38px 46px 46px}
  .final-section--premium .final-premium-heading h2{font-size:46px}
  .final-section--premium .final-highlight{font-size:30px !important}
}
@media(max-width:900px){
  .final-section.final-section--premium{min-height:auto}
  .final-section--premium .final-image img{object-position:68% top}
  .final-section--premium .final-shade{
    background:linear-gradient(180deg,rgba(4,17,42,.62) 0%,rgba(4,17,42,.88) 36%,rgba(4,17,42,.98) 100%);
  }
  .final-section--premium .final-premium-layout{
    width:calc(100% - 48px);
    padding:300px 0 72px;
    grid-template-columns:1fr;
    gap:42px;
  }
  .final-section--premium .final-premium-story{
    min-height:0;
    padding:72px 40px 42px 48px;
  }
  .final-section--premium .final-premium-main{padding:0}
}
@media(max-width:767px){
  .final-section--premium .final-premium-layout{
    width:calc(100% - 32px);
    padding:235px 0 86px;
    gap:34px;
  }
  .final-section--premium .final-premium-story{
    padding:66px 22px 30px 30px;
    border-radius:20px;
  }
  .final-section--premium .final-premium-quote{top:22px;left:28px;font-size:58px}
  .final-section--premium .final-premium-line{top:130px;height:180px}
  .final-section--premium .final-story-copy p{
    margin-bottom:18px;
    font-size:14px;
    line-height:1.72;
  }
  .final-section--premium .final-premium-kicker{gap:10px;margin-bottom:18px;font-size:10px;letter-spacing:.18em}
  .final-section--premium .final-premium-kicker span{width:46px}
  .final-section--premium .final-premium-heading h2{font-size:34px;line-height:1.25}
  .final-section--premium .final-premium-heading > p{margin-top:13px;font-size:15px}
  .final-section--premium .final-premium-features{
    margin-top:26px;
    padding:24px 0 20px;
    grid-template-columns:1fr 1fr;
    row-gap:26px;
  }
  .final-section--premium .final-premium-feature:nth-child(2){border-right:0}
  .final-section--premium .final-premium-feature:nth-child(3),
  .final-section--premium .final-premium-feature:nth-child(4){padding-top:6px}
  .final-section--premium .final-premium-icon{width:50px;height:50px}
  .final-section--premium .final-premium-feature strong{font-size:13px}
  .final-section--premium .final-ending{margin-top:30px}
  .final-section--premium .final-ending h3{font-size:17px}
  .final-section--premium .final-highlight{font-size:26px !important;line-height:1.42 !important}
  .final-section--premium .final-ending-copy{font-size:13px !important}
  .final-section--premium .final-ending-copy br{display:none}
  .final-section--premium .final-cta{width:100%;min-width:0;min-height:58px;font-size:15px}
}

/* =========================================================
   HERO — body typography up + requested 2-line lead only
   ========================================================= */
@media (min-width:1280px){
  .mepa-main .hero-section .hero-slide .hero-copy .hero-lead{
    max-width:960px !important;
    font-size:26px !important;
    line-height:1.5 !important;
    font-weight:500 !important;
    letter-spacing:-.03em !important;
  }

  .mepa-main .hero-section .hero-slide .hero-copy .hero-questions{
    width:660px !important;
    max-width:660px !important;
    margin-top:30px !important;
  }

  .mepa-main .hero-section .hero-slide .hero-copy .hero-questions p{
    font-size:19px !important;
    line-height:1.5 !important;
    margin-bottom:11px !important;
  }
}

@media (min-width:851px) and (max-width:1279px){
  .mepa-main .hero-section .hero-slide .hero-copy .hero-lead{
    max-width:820px !important;
    font-size:23px !important;
    line-height:1.52 !important;
  }

  .mepa-main .hero-section .hero-slide .hero-copy .hero-questions p{
    font-size:17px !important;
    line-height:1.5 !important;
  }
}

/* 2026-08-25 — HERO main title size up only */
@media (min-width:1280px){
  .mepa-main .hero-section .hero-slide .hero-copy h1.hero-title{
    max-width:1080px !important;
    font-size:68px !important;
    line-height:1.10 !important;
    letter-spacing:-.055em !important;
  }
}

@media (min-width:851px) and (max-width:1279px){
  .mepa-main .hero-section .hero-slide .hero-copy h1.hero-title{
    max-width:940px !important;
    font-size:56px !important;
    line-height:1.12 !important;
  }
}


/* =========================================================
   2026-08-25 — MEPA2 weeks cleanup only
   - keep all 4 week rows expanded
   - remove rounded boxes / oversized white circles
   - improve alignment only for the week guide area
   ========================================================= */
@media (min-width:1024px){
  .weeks-section .week-carousel-track{
    display:flex !important;
    flex-direction:column !important;
    gap:92px !important;
  }

  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    display:grid !important;
    grid-template-columns:minmax(0, .92fr) minmax(560px, 1.08fr) !important;
    align-items:center !important;
    gap:56px !important;
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    flex:none !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
    opacity:1 !important;
  }

  .weeks-section .week-row.reverse,
  .weeks-section .week-row.reverse.active,
  .weeks-section .week-row.reverse:not(.active){
    grid-template-columns:minmax(560px, 1.08fr) minmax(0, .92fr) !important;
  }

  .weeks-section .week-row.reverse .week-copy{order:2 !important;}
  .weeks-section .week-row.reverse .week-image{order:1 !important;}

  .weeks-section .week-num,
  .weeks-section .week-bar-label,
  .weeks-section .week-mobile-arrow,
  .weeks-section .week-mobile-navs{
    display:none !important;
  }

  .weeks-section .week-copy,
  .weeks-section .week-row.active .week-copy,
  .weeks-section .week-row:not(.active) .week-copy{
    position:relative !important;
    z-index:2 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    gap:28px !important;
    width:100% !important;
    min-height:0 !important;
    height:auto !important;
    padding:18px 0 !important;
    background:transparent !important;
  }

  .weeks-section .week-title-block,
  .weeks-section .week-row.active .week-title-block,
  .weeks-section .week-row:not(.active) .week-title-block{
    width:100% !important;
    max-width:560px !important;
    padding:0 !important;
    align-self:auto !important;
  }

  .weeks-section .week-title-block h3{
    margin:0 0 24px !important;
    font-size:clamp(44px, 3.6vw, 64px) !important;
    line-height:1.08 !important;
    letter-spacing:-.045em !important;
    color:#14213b !important;
    word-break:keep-all !important;
  }

  .weeks-section .week-title-block h4{
    margin:0 !important;
    padding-top:22px !important;
    font-size:clamp(24px, 1.9vw, 31px) !important;
    line-height:1.5 !important;
    color:#2a6ae6 !important;
    word-break:keep-all !important;
  }

  .weeks-section .week-title-block h4::before{
    width:72px !important;
    background:#2a6ae6 !important;
  }

  .weeks-section .week-detail-list,
  .weeks-section .week-row.active .week-detail-list,
  .weeks-section .week-row:not(.active) .week-detail-list{
    width:100% !important;
    max-width:none !important;
    display:flex !important;
    flex-direction:column !important;
    gap:26px !important;
    margin:0 !important;
  }

  .weeks-section .week-detail,
  .weeks-section .week-detail + .week-detail{
    display:grid !important;
    grid-template-columns:24px minmax(0,1fr) !important;
    gap:18px !important;
    align-items:start !important;
    width:100% !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }

  .weeks-section .week-detail-icon,
  .weeks-section .week-row.active .week-detail-icon,
  .weeks-section .week-row:not(.active) .week-detail-icon{
    width:18px !important;
    height:18px !important;
    margin-top:7px !important;
    border:1.5px solid #b2cfff !important;
    border-radius:50% !important;
    background:#fff !important;
    box-shadow:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
  }

  .weeks-section .week-detail-icon img{display:none !important;}
  .weeks-section .week-detail-icon::after{
    content:"";
    width:7px;
    height:7px;
    border-radius:50%;
    background:#2f6be7;
    display:block;
  }

  .weeks-section .week-detail h5{
    margin:0 0 8px !important;
    font-size:clamp(21px, 1.55vw, 28px) !important;
    line-height:1.42 !important;
    color:#17253f !important;
    letter-spacing:-.02em !important;
    word-break:keep-all !important;
  }

  .weeks-section .week-detail p{
    margin:0 !important;
    font-size:17px !important;
    line-height:1.82 !important;
    color:#64758e !important;
    font-weight:500 !important;
    word-break:keep-all !important;
  }

  .weeks-section .week-detail-flow{
    margin-top:12px !important;
    padding:12px 0 0 !important;
    border:0 !important;
    border-top:1px solid #dce6f3 !important;
    border-radius:0 !important;
    background:transparent !important;
    font-size:15px !important;
    line-height:1.72 !important;
    color:#4f6f9f !important;
    font-weight:700 !important;
  }

  .weeks-section .week-closing{
    margin:2px 0 0 !important;
    padding:20px 0 0 !important;
    border:0 !important;
    border-top:1px solid #dce6f3 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    width:100% !important;
  }

  .weeks-section .week-closing span,
  .weeks-section .week-closing strong{
    display:block !important;
  }

  .weeks-section .week-closing span{
    font-size:16px !important;
    line-height:1.8 !important;
    color:#52627b !important;
    font-weight:600 !important;
  }

  .weeks-section .week-closing strong{
    margin-top:6px !important;
    font-size:18px !important;
    line-height:1.72 !important;
    color:#143056 !important;
    font-weight:800 !important;
  }

  .weeks-section .week-image,
  .weeks-section .week-row.active .week-image,
  .weeks-section .week-row:not(.active) .week-image{
    position:relative !important;
    display:block !important;
    min-height:620px !important;
    height:100% !important;
    border-radius:0 !important;
    overflow:hidden !important;
  }

  .weeks-section .week-image img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  .weeks-section .week-image::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,
      rgba(8,20,42,.76) 0%,
      rgba(8,20,42,.42) 22%,
      rgba(8,20,42,.10) 46%,
      rgba(8,20,42,0) 66%) !important;
  }

  .weeks-section .week-row.reverse .week-image::after{
    background:linear-gradient(270deg,
      rgba(8,20,42,.76) 0%,
      rgba(8,20,42,.42) 22%,
      rgba(8,20,42,.10) 46%,
      rgba(8,20,42,0) 66%) !important;
  }
}

@media (min-width:1024px) and (max-width:1399px){
  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    gap:42px !important;
    grid-template-columns:minmax(0, .96fr) minmax(480px, 1.04fr) !important;
  }

  .weeks-section .week-row.reverse,
  .weeks-section .week-row.reverse.active,
  .weeks-section .week-row.reverse:not(.active){
    grid-template-columns:minmax(480px, 1.04fr) minmax(0, .96fr) !important;
  }

  .weeks-section .week-image{min-height:560px !important;}
  .weeks-section .week-detail h5{font-size:20px !important;}
  .weeks-section .week-detail p{font-size:16px !important; line-height:1.76 !important;}
}


/* =========================================================
   2026-08-25 — MEPA weeks center alignment refinement only
   - center image/text around a clear middle axis
   - reduce face-focused feel with cleaner image framing
   - add more left/right breathing room in copy
   - keep changes limited to weeks guide section
   ========================================================= */
@media (min-width:1200px){
  .weeks-section{
    overflow:hidden;
  }

  .weeks-section .mepa-wrap{
    width:min(1680px, calc(100% - 72px)) !important;
    margin:0 auto !important;
  }

  .weeks-section .weeks-head{
    margin-bottom:58px !important;
    text-align:center !important;
  }

  .weeks-section .week-carousel-track{
    gap:108px !important;
  }

  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    max-width:1600px !important;
    margin:0 auto !important;
    padding:0 22px !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:76px !important;
    align-items:center !important;
  }

  .weeks-section .week-row.reverse,
  .weeks-section .week-row.reverse.active,
  .weeks-section .week-row.reverse:not(.active){
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  }

  .weeks-section .week-num,
  .weeks-section .week-bar-label{
    display:none !important;
  }

  .weeks-section .week-copy,
  .weeks-section .week-row.active .week-copy,
  .weeks-section .week-row:not(.active) .week-copy{
    max-width:640px !important;
    width:100% !important;
    justify-self:center !important;
    align-self:center !important;
    padding:30px 18px !important;
    margin:0 !important;
  }

  .weeks-section .week-row:not(.active) .week-copy > *{
    display:block !important;
  }

  .weeks-section .week-title-block,
  .weeks-section .week-detail-list,
  .weeks-section .week-closing{
    max-width:100% !important;
  }

  .weeks-section .week-title-block h3{
    font-size:clamp(42px, 3.25vw, 58px) !important;
    line-height:1.1 !important;
    margin:0 0 28px !important;
  }

  .weeks-section .week-title-block h4{
    font-size:clamp(25px, 1.9vw, 32px) !important;
    line-height:1.55 !important;
    padding-top:24px !important;
    margin:0 !important;
  }

  .weeks-section .week-detail-list{
    gap:28px !important;
  }

  .weeks-section .week-detail,
  .weeks-section .week-detail + .week-detail{
    grid-template-columns:22px minmax(0,1fr) !important;
    gap:16px !important;
  }

  .weeks-section .week-detail-icon,
  .weeks-section .week-row.active .week-detail-icon,
  .weeks-section .week-row:not(.active) .week-detail-icon{
    width:14px !important;
    height:14px !important;
    margin-top:10px !important;
    border:1.5px solid #c5d8ff !important;
  }

  .weeks-section .week-detail-icon::after{
    width:6px !important;
    height:6px !important;
  }

  .weeks-section .week-detail h5{
    font-size:clamp(22px, 1.6vw, 30px) !important;
    margin:0 0 10px !important;
  }

  .weeks-section .week-detail p,
  .weeks-section .week-row.active .week-copy p{
    font-size:18px !important;
    line-height:1.88 !important;
  }

  .weeks-section .week-detail-flow{
    margin-top:14px !important;
    padding-top:14px !important;
    font-size:16px !important;
    line-height:1.8 !important;
  }

  .weeks-section .week-closing{
    margin-top:8px !important;
    padding-top:24px !important;
  }

  .weeks-section .week-closing span{
    font-size:18px !important;
  }

  .weeks-section .week-closing strong{
    font-size:21px !important;
  }

  .weeks-section .week-image,
  .weeks-section .week-row.active .week-image,
  .weeks-section .week-row:not(.active) .week-image{
    width:100% !important;
    max-width:760px !important;
    min-height:600px !important;
    justify-self:center !important;
    align-self:center !important;
  }

  .weeks-section .week-image::after,
  .weeks-section .week-row.reverse .week-image::after{
    background:linear-gradient(180deg,
      rgba(10,22,44,.10) 0%,
      rgba(10,22,44,.04) 35%,
      rgba(10,22,44,.16) 100%) !important;
  }

  .weeks-section .week-image img,
  .weeks-section .week-row.active .week-image img,
  .weeks-section .week-row:not(.active) .week-image img{
    object-fit:cover !important;
    object-position:center center !important;
    transform:none !important;
    filter:saturate(.97) !important;
  }
}

@media (min-width:1200px) and (max-width:1440px){
  .weeks-section .mepa-wrap{
    width:min(1540px, calc(100% - 56px)) !important;
  }

  .weeks-section .week-row,
  .weeks-section .week-row.active,
  .weeks-section .week-row:not(.active){
    gap:56px !important;
    padding:0 12px !important;
  }

  .weeks-section .week-copy,
  .weeks-section .week-row.active .week-copy,
  .weeks-section .week-row:not(.active) .week-copy{
    max-width:590px !important;
    padding:24px 10px !important;
  }

  .weeks-section .week-image,
  .weeks-section .week-row.active .week-image,
  .weeks-section .week-row:not(.active) .week-image{
    max-width:700px !important;
    min-height:560px !important;
  }

  .weeks-section .week-title-block h3{
    font-size:clamp(38px, 3vw, 50px) !important;
  }

  .weeks-section .week-title-block h4{
    font-size:clamp(22px, 1.75vw, 28px) !important;
  }

  .weeks-section .week-detail p,
  .weeks-section .week-row.active .week-copy p{
    font-size:17px !important;
    line-height:1.82 !important;
  }
}


/* =========================================================
   2026-08-25 — WEEK TYPOGRAPHY REFINEMENT ONLY
   - week number as compact label
   - reduce oversized type and weight
   - preserve current centered image/text layout
   ========================================================= */
@media (min-width:1200px){
  .weeks-section .week-title-block h3,
  .weeks-section .week-row.active .week-title-block h3,
  .weeks-section .week-row:not(.active) .week-title-block h3{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:14px !important;
    margin:0 0 22px !important;
    font-size:inherit !important;
    line-height:1 !important;
    font-weight:inherit !important;
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
    transform:none !important;
  }

  .weeks-section .week-title-block .week-label{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:72px !important;
    height:32px !important;
    padding:0 14px !important;
    border-radius:999px !important;
    background:#eaf2ff !important;
    color:#1d67e6 !important;
    font-size:14px !important;
    line-height:1 !important;
    font-weight:700 !important;
    letter-spacing:.02em !important;
  }

  .weeks-section .week-title-block .week-main-title{
    display:block !important;
    max-width:100% !important;
    font-size:clamp(36px, 2.7vw, 48px) !important;
    line-height:1.16 !important;
    font-weight:700 !important;
    letter-spacing:-.04em !important;
    color:#14213b !important;
    word-break:keep-all !important;
  }

  .weeks-section .week-title-block h4{
    padding-top:18px !important;
    font-size:clamp(21px, 1.55vw, 26px) !important;
    line-height:1.5 !important;
    font-weight:650 !important;
    letter-spacing:-.025em !important;
  }

  .weeks-section .week-title-block h4::before{
    width:58px !important;
    height:2px !important;
  }

  .weeks-section .week-detail-list{
    gap:24px !important;
  }

  .weeks-section .week-detail h5{
    margin:0 0 7px !important;
    font-size:clamp(19px, 1.35vw, 24px) !important;
    line-height:1.42 !important;
    font-weight:650 !important;
    letter-spacing:-.02em !important;
  }

  .weeks-section .week-detail p,
  .weeks-section .week-row.active .week-copy p,
  .weeks-section .week-row:not(.active) .week-copy p{
    font-size:16px !important;
    line-height:1.78 !important;
    font-weight:450 !important;
  }

  .weeks-section .week-detail-flow{
    margin-top:12px !important;
    padding-top:12px !important;
    font-size:14px !important;
    line-height:1.7 !important;
    font-weight:600 !important;
  }

  .weeks-section .week-closing{
    padding-top:20px !important;
  }

  .weeks-section .week-closing span{
    font-size:15px !important;
    line-height:1.72 !important;
    font-weight:500 !important;
  }

  .weeks-section .week-closing strong{
    margin-top:5px !important;
    font-size:17px !important;
    line-height:1.68 !important;
    font-weight:700 !important;
  }
}

@media (min-width:1200px) and (max-width:1440px){
  .weeks-section .week-title-block .week-label{
    min-width:66px !important;
    height:30px !important;
    padding:0 12px !important;
    font-size:13px !important;
  }

  .weeks-section .week-title-block .week-main-title{
    font-size:clamp(32px, 2.5vw, 42px) !important;
  }

  .weeks-section .week-title-block h4{
    font-size:clamp(19px, 1.45vw, 23px) !important;
  }

  .weeks-section .week-detail h5{
    font-size:19px !important;
  }

  .weeks-section .week-detail p,
  .weeks-section .week-row.active .week-copy p,
  .weeks-section .week-row:not(.active) .week-copy p{
    font-size:15px !important;
    line-height:1.74 !important;
  }
}


/* =========================================================
   2026-08-25 — WEEKS FINAL EDITORIAL REDESIGN
   ========================================================= */
#weeks.weeks-section{
  position:relative;
  padding:150px 0 170px;
  overflow:hidden;
  background:#f7f9fc;
}
#weeks.weeks-section::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:1px;
  height:100%;
  background:rgba(21,48,93,.06);
}
#weeks .mepa-wrap{
  position:relative;
  z-index:1;
  width:min(1520px,calc(100% - 96px));
  margin:0 auto;
}
#weeks .weeks-head{
  max-width:900px;
  margin:0 auto 100px;
  text-align:center;
}
#weeks .weeks-head .section-eyebrow{
  margin-bottom:18px;
  color:#2f6fd8;
  font-size:13px;
  font-weight:700;
  letter-spacing:.22em;
}
#weeks .weeks-head .section-display-title{
  margin:0;
  color:#14213b;
  font-size:clamp(40px,4vw,62px);
  line-height:1.18;
  font-weight:720;
  letter-spacing:-.055em;
}
#weeks .weeks-card-rail,
#weeks .week-carousel-track{
  display:block;
}
#weeks .week-carousel-track{
  counter-reset:week;
}
#weeks .week-row{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);
  gap:90px;
  align-items:stretch;
  min-height:650px;
  margin:0 0 150px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
#weeks .week-row:last-child{margin-bottom:0}
#weeks .week-row.reverse{
  grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
}
#weeks .week-row.reverse .week-copy{order:2}
#weeks .week-row.reverse .week-image{order:1}
#weeks .week-copy{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:54px 8px 54px 44px;
}
#weeks .week-row.reverse .week-copy{padding:54px 44px 54px 8px}
#weeks .week-num{
  position:absolute;
  z-index:3;
  top:34px;
  right:calc(50% - 760px + 24px);
  width:auto;
  height:auto;
  color:rgba(20,33,59,.065);
  font-size:126px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.08em;
  pointer-events:none;
}
#weeks .week-row.reverse .week-num{
  right:auto;
  left:calc(50% - 760px + 24px);
}
#weeks .week-bar-label{display:none}
#weeks .week-title-block{
  position:relative;
  margin:0 0 42px;
  padding:0 0 34px;
  border-bottom:1px solid #dfe5ee;
}
#weeks .week-title-block::before{
  content:"";
  position:absolute;
  left:-44px;
  top:4px;
  width:3px;
  height:68px;
  background:#2f6fd8;
}
#weeks .week-row.reverse .week-title-block::before{
  left:-8px;
}
#weeks .week-title-block h3{
  display:block;
  margin:0 0 20px;
  padding:0;
  color:#14213b;
  font-size:inherit;
  line-height:1;
  writing-mode:horizontal-tb;
  transform:none;
}
#weeks .week-title-block .week-label{
  display:block;
  margin:0 0 12px;
  color:#2f6fd8;
  background:none;
  border:0;
  border-radius:0;
  width:auto;
  height:auto;
  padding:0;
  font-size:13px;
  line-height:1.2;
  font-weight:760;
  letter-spacing:.08em;
}
#weeks .week-title-block .week-main-title{
  display:block;
  color:#14213b;
  font-size:clamp(38px,3vw,52px);
  line-height:1.15;
  font-weight:720;
  letter-spacing:-.055em;
  word-break:keep-all;
}
#weeks .week-title-block h4{
  position:relative;
  margin:0;
  padding:0;
  color:#2f6fd8;
  font-size:clamp(22px,1.65vw,28px);
  line-height:1.5;
  font-weight:650;
  letter-spacing:-.035em;
  word-break:keep-all;
}
#weeks .week-title-block h4::before{display:none}
#weeks .week-detail-list{
  display:grid;
  gap:0;
  margin:0;
}
#weeks .week-detail{
  position:relative;
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  gap:18px;
  padding:24px 0;
  border-bottom:1px solid #e2e7ef;
}
#weeks .week-detail:first-child{padding-top:0}
#weeks .week-detail:last-child{border-bottom:0;padding-bottom:0}
#weeks .week-detail-icon{
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  width:auto;
  height:auto;
  margin:2px 0 0;
  border:0;
  border-radius:0;
  background:none;
  color:#91a0b8;
  font-size:12px;
}
#weeks .week-detail-icon img{display:none}
#weeks .week-detail-icon::before{
  content:"0" counter(weekDetail);
  display:block;
  color:#90a0b8;
  font-size:12px;
  line-height:1.4;
  font-weight:750;
  letter-spacing:.12em;
}
#weeks .week-detail-list{counter-reset:weekDetail}
#weeks .week-detail{counter-increment:weekDetail}
#weeks .week-detail-icon::after{display:none}
#weeks .week-detail h5{
  margin:0 0 8px;
  color:#17243d;
  font-size:21px;
  line-height:1.45;
  font-weight:680;
  letter-spacing:-.03em;
  word-break:keep-all;
}
#weeks .week-detail p,
#weeks .week-copy p{
  margin:0;
  color:#68758a;
  font-size:16px;
  line-height:1.82;
  font-weight:430;
  letter-spacing:-.018em;
  word-break:keep-all;
}
#weeks .week-detail-flow{
  position:relative;
  margin-top:17px;
  padding:15px 18px 15px 20px;
  border-left:2px solid #2f6fd8;
  background:linear-gradient(90deg,rgba(47,111,216,.075),rgba(47,111,216,.018));
  color:#36567f;
  font-size:14px;
  line-height:1.72;
  font-weight:600;
}
#weeks .week-closing{
  margin:31px 0 0;
  padding:23px 0 0 74px;
  border-top:1px solid #dfe5ee;
}
#weeks .week-closing span,
#weeks .week-closing strong{display:block}
#weeks .week-closing span{
  margin-bottom:5px;
  color:#8792a3;
  font-size:14px;
  line-height:1.7;
  font-weight:500;
}
#weeks .week-closing strong{
  color:#1e4f9e;
  font-size:17px;
  line-height:1.62;
  font-weight:700;
  letter-spacing:-.025em;
}
#weeks .week-image{
  position:relative;
  width:100%;
  min-height:650px;
  height:100%;
  overflow:hidden;
  background:#dfe6ef;
  border-radius:2px;
  box-shadow:0 28px 60px rgba(25,48,84,.10);
}
#weeks .week-image::before{
  content:"WEEK " attr(data-week);
  position:absolute;
  z-index:2;
  left:28px;
  top:27px;
  padding-bottom:9px;
  border-bottom:2px solid rgba(255,255,255,.78);
  color:#fff;
  font-size:12px;
  line-height:1;
  font-weight:750;
  letter-spacing:.18em;
  text-shadow:0 1px 5px rgba(0,0,0,.2);
}
#weeks .week-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(8,20,42,.18) 0%,transparent 28%,transparent 72%,rgba(8,20,42,.13) 100%);
  pointer-events:none;
}
#weeks .week-image img{
  display:block;
  width:100%;
  height:100%;
  min-height:650px;
  object-fit:cover;
  object-position:center;
  transform:none;
  filter:none;
}
#weeks .week-mobile-arrow,
#weeks .week-mobile-navs{display:none}

@media (max-width:1199px){
  #weeks.weeks-section{padding:110px 0 130px}
  #weeks .mepa-wrap{width:min(1100px,calc(100% - 56px))}
  #weeks .weeks-head{margin-bottom:76px}
  #weeks .week-row,
  #weeks .week-row.reverse{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:48px;
    min-height:580px;
    margin-bottom:110px;
  }
  #weeks .week-copy,
  #weeks .week-row.reverse .week-copy{padding:32px 0 32px 26px}
  #weeks .week-row.reverse .week-copy{padding-left:0;padding-right:26px}
  #weeks .week-title-block::before{left:-26px;height:58px}
  #weeks .week-row.reverse .week-title-block::before{left:auto;right:-26px}
  #weeks .week-detail{grid-template-columns:42px minmax(0,1fr);gap:12px;padding:19px 0}
  #weeks .week-detail h5{font-size:18px}
  #weeks .week-detail p,#weeks .week-copy p{font-size:15px;line-height:1.72}
  #weeks .week-image,#weeks .week-image img{min-height:580px}
  #weeks .week-num{display:none}
}

@media (max-width:767px){
  #weeks.weeks-section{
    padding:82px 0 96px;
    background:#fff;
  }
  #weeks.weeks-section::before{display:none}
  #weeks .mepa-wrap{width:100%}
  #weeks .weeks-head{
    margin:0 22px 58px;
    text-align:left;
  }
  #weeks .weeks-head .section-eyebrow{margin-bottom:13px;font-size:11px}
  #weeks .weeks-head .section-display-title{font-size:34px;line-height:1.25}
  #weeks .week-carousel-track{display:block;transform:none}
  #weeks .week-row,
  #weeks .week-row.reverse,
  #weeks .week-row.active,
  #weeks .week-row:not(.active){
    display:grid;
    grid-template-columns:1fr;
    grid-template-areas:"title" "image" "details" "closing";
    gap:0;
    min-height:0;
    margin:0 0 92px;
    padding:0;
    transform:none;
    opacity:1;
    overflow:visible;
  }
  #weeks .week-row:last-child{margin-bottom:0}
  #weeks .week-copy,
  #weeks .week-row.reverse .week-copy,
  #weeks .week-row.active .week-copy,
  #weeks .week-row:not(.active) .week-copy{
    display:contents;
  }
  #weeks .week-title-block{
    grid-area:title;
    margin:0 22px 28px;
    padding:0 0 24px;
    border-bottom:1px solid #e3e8ef;
  }
  #weeks .week-title-block::before,
  #weeks .week-row.reverse .week-title-block::before{
    left:0;
    right:auto;
    top:auto;
    bottom:-1px;
    width:52px;
    height:2px;
  }
  #weeks .week-title-block .week-label{
    margin-bottom:11px;
    font-size:11px;
    letter-spacing:.1em;
  }
  #weeks .week-title-block .week-main-title{
    font-size:35px;
    line-height:1.14;
    letter-spacing:-.06em;
  }
  #weeks .week-title-block h4{
    margin-top:15px;
    font-size:19px;
    line-height:1.48;
  }
  #weeks .week-image,
  #weeks .week-row.reverse .week-image{
    grid-area:image;
    order:initial;
    width:calc(100% - 22px);
    height:360px;
    min-height:360px;
    margin:0 0 34px 22px;
    border-radius:0;
    box-shadow:none;
  }
  #weeks .week-image img{
    min-height:0;
    height:100%;
    object-fit:cover;
  }
  #weeks .week-image::before{left:20px;top:20px;font-size:10px}
  #weeks .week-detail-list{
    grid-area:details;
    margin:0 22px;
  }
  #weeks .week-detail{
    grid-template-columns:34px minmax(0,1fr);
    gap:8px;
    padding:22px 0;
  }
  #weeks .week-detail:first-child{padding-top:0}
  #weeks .week-detail-icon::before{font-size:10px}
  #weeks .week-detail h5{
    margin-bottom:7px;
    font-size:18px;
    line-height:1.45;
  }
  #weeks .week-detail p,
  #weeks .week-copy p,
  #weeks .week-row.active .week-copy p,
  #weeks .week-row:not(.active) .week-copy p{
    font-size:15px;
    line-height:1.76;
  }
  #weeks .week-detail-flow{
    margin-top:14px;
    padding:13px 14px;
    font-size:13px;
    line-height:1.7;
  }
  #weeks .week-closing{
    grid-area:closing;
    margin:26px 22px 0 56px;
    padding:21px 0 0;
  }
  #weeks .week-closing span{font-size:13px}
  #weeks .week-closing strong{font-size:16px}
  #weeks .week-num,#weeks .week-bar-label,
  #weeks .week-mobile-arrow,#weeks .week-mobile-navs{display:none}
}


/* MEPA WEEK 1-4 — alignment cleanup */
#weeks .week-row,
#weeks .week-row.active,
#weeks .week-row:not(.active),
#weeks .week-copy,
#weeks .week-title-block,
#weeks .week-detail,
#weeks .week-detail-icon,
#weeks .week-detail-flow,
#weeks .week-closing,
#weeks .week-image{
  cursor:default !important;
}
#weeks .week-row:hover,
#weeks .week-row.active:hover,
#weeks .week-row:not(.active):hover,
#weeks .week-copy:hover,
#weeks .week-detail:hover,
#weeks .week-image:hover{
  cursor:default !important;
}
#weeks .week-image img,
#weeks .week-row:hover .week-image img,
#weeks .week-row.active:hover .week-image img{
  transform:none !important;
  transition:none !important;
}

/* blue decorative lines removed */
#weeks .week-title-block::before,
#weeks .week-row.reverse .week-title-block::before{
  content:none !important;
  display:none !important;
}
#weeks .week-detail-flow{
  border-left:0 !important;
  border-top:0 !important;
  background:transparent !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* plain numbers only — no circles/dots */
#weeks .week-detail,
#weeks .week-detail + .week-detail{
  grid-template-columns:30px minmax(0,1fr) !important;
  gap:10px !important;
  align-items:start !important;
}
#weeks .week-detail-icon,
#weeks .week-row.active .week-detail-icon,
#weeks .week-row:not(.active) .week-detail-icon{
  display:block !important;
  width:30px !important;
  height:auto !important;
  margin:4px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  color:#8b9ab0 !important;
  text-align:left !important;
}
#weeks .week-detail-icon::before{
  content:"0" counter(weekDetail) !important;
  display:block !important;
  width:auto !important;
  height:auto !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#8b9ab0 !important;
  font-size:12px !important;
  line-height:1.4 !important;
  font-weight:750 !important;
  letter-spacing:.08em !important;
}
#weeks .week-detail-icon::after{
  content:none !important;
  display:none !important;
}

/* left alignment */
#weeks .week-copy,
#weeks .week-row.reverse .week-copy{
  padding-left:0 !important;
  padding-right:0 !important;
  text-align:left !important;
}
#weeks .week-title-block,
#weeks .week-detail-list,
#weeks .week-detail,
#weeks .week-detail h5,
#weeks .week-detail p,
#weeks .week-detail-flow,
#weeks .week-closing,
#weeks .week-closing span,
#weeks .week-closing strong{
  text-align:left !important;
}
#weeks .week-closing{
  margin-left:0 !important;
  padding-left:0 !important;
}

@media (max-width:767px){
  #weeks .week-title-block{
    margin-left:22px !important;
    margin-right:22px !important;
  }
  #weeks .week-detail-list{
    margin-left:22px !important;
    margin-right:22px !important;
  }
  #weeks .week-closing{
    margin-left:22px !important;
    margin-right:22px !important;
  }
  #weeks .week-detail,
  #weeks .week-detail + .week-detail{
    grid-template-columns:26px minmax(0,1fr) !important;
    gap:8px !important;
  }
  #weeks .week-detail-icon,
  #weeks .week-row.active .week-detail-icon,
  #weeks .week-row:not(.active) .week-detail-icon{
    width:26px !important;
    margin-top:5px !important;
  }
  #weeks .week-detail-icon::before{
    font-size:11px !important;
  }
}


/* MEPA WEEK — definitive desktop alignment fix */
#weeks.weeks-section::before{
  content:none !important;
  display:none !important;
}

@media (min-width:1024px){
  /* keep the whole week composition centered in the viewport */
  #weeks .mepa-wrap{
    width:min(1600px, calc(100% - 96px)) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  #weeks .week-carousel-track{
    width:100% !important;
  }

  #weeks .week-row,
  #weeks .week-row.active,
  #weeks .week-row:not(.active),
  #weeks .week-row.reverse,
  #weeks .week-row.reverse.active,
  #weeks .week-row.reverse:not(.active){
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:76px !important;
    width:100% !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    align-items:center !important;
    min-height:0 !important;
    height:auto !important;
  }

  /* copy stays in its own half and is vertically centered against the image */
  #weeks .week-copy,
  #weeks .week-row.active .week-copy,
  #weeks .week-row:not(.active) .week-copy,
  #weeks .week-row.reverse .week-copy{
    width:100% !important;
    max-width:none !important;
    min-height:0 !important;
    height:auto !important;
    align-self:center !important;
    justify-self:stretch !important;
    justify-content:center !important;
    margin:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    box-sizing:border-box !important;
  }

  #weeks .week-row:not(.reverse) .week-copy{
    padding-left:18px !important;
    padding-right:0 !important;
  }
  #weeks .week-row.reverse .week-copy{
    padding-left:0 !important;
    padding-right:18px !important;
  }

  /* undo the previous absolute/stretch image experiment */
  #weeks .week-image,
  #weeks .week-row.active .week-image,
  #weeks .week-row:not(.active) .week-image,
  #weeks .week-row.reverse .week-image{
    position:relative !important;
    width:100% !important;
    max-width:none !important;
    height:clamp(620px, 36vw, 690px) !important;
    min-height:0 !important;
    align-self:center !important;
    justify-self:stretch !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }

  #weeks .week-image img,
  #weeks .week-row.active .week-image img,
  #weeks .week-row:not(.active) .week-image img,
  #weeks .week-row.reverse .week-image img{
    position:static !important;
    inset:auto !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
}

@media (min-width:1024px) and (max-width:1399px){
  #weeks .mepa-wrap{
    width:min(1320px, calc(100% - 56px)) !important;
  }
  #weeks .week-row,
  #weeks .week-row.active,
  #weeks .week-row:not(.active),
  #weeks .week-row.reverse,
  #weeks .week-row.reverse.active,
  #weeks .week-row.reverse:not(.active){
    gap:52px !important;
  }
  #weeks .week-image,
  #weeks .week-row.active .week-image,
  #weeks .week-row:not(.active) .week-image,
  #weeks .week-row.reverse .week-image{
    height:600px !important;
  }
}

/* 2026-08-25 — WEEK image height balance only */
@media (min-width:1400px){
  #weeks .week-image,
  #weeks .week-row.active .week-image,
  #weeks .week-row:not(.active) .week-image,
  #weeks .week-row.reverse .week-image{
    height:760px !important;
  }
}

@media (min-width:1024px) and (max-width:1399px){
  #weeks .week-image,
  #weeks .week-row.active .week-image,
  #weeks .week-row:not(.active) .week-image,
  #weeks .week-row.reverse .week-image{
    height:660px !important;
  }
}

/* 2026-08-25 — WEEK desktop image height correction (final override) */
@media (min-width:768px){
  #weeks.weeks-section .week-carousel-track > .week-row .week-image,
  #weeks.weeks-section .week-carousel-track > .week-row.active .week-image,
  #weeks.weeks-section .week-carousel-track > .week-row:not(.active) .week-image,
  #weeks.weeks-section .week-carousel-track > .week-row.reverse .week-image{
    height:760px !important;
    min-height:760px !important;
    max-height:none !important;
  }

  #weeks.weeks-section .week-carousel-track > .week-row .week-image > img,
  #weeks.weeks-section .week-carousel-track > .week-row.active .week-image > img,
  #weeks.weeks-section .week-carousel-track > .week-row:not(.active) .week-image > img,
  #weeks.weeks-section .week-carousel-track > .week-row.reverse .week-image > img{
    width:100% !important;
    height:100% !important;
    min-height:760px !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  #weeks.weeks-section .week-carousel-track > .week-row,
  #weeks.weeks-section .week-carousel-track > .week-row.active,
  #weeks.weeks-section .week-carousel-track > .week-row:not(.active),
  #weeks.weeks-section .week-carousel-track > .week-row.reverse{
    align-items:center !important;
  }

  #weeks.weeks-section .week-carousel-track > .week-row .week-copy,
  #weeks.weeks-section .week-carousel-track > .week-row.active .week-copy,
  #weeks.weeks-section .week-carousel-track > .week-row:not(.active) .week-copy,
  #weeks.weeks-section .week-carousel-track > .week-row.reverse .week-copy{
    align-self:center !important;
  }
}


/* =========================================================
   2026-08-28 — Reviews editorial redesign v4
   - freer human editorial layout
   - supplied reference captures used for type hierarchy / stickers / speech-bubble rhythm
   - review copy only; no fabricated scores or years
   ========================================================= */
.reviews-showcase{
  position:relative;overflow:hidden;padding:104px 0 76px;
  background:radial-gradient(circle at 12% 18%,rgba(44,105,204,.15),transparent 18%),linear-gradient(180deg,#06152f 0%,#051329 100%);color:#fff;
}
.reviews-showcase:before{content:"";position:absolute;right:8%;top:65px;width:230px;height:130px;opacity:.22;pointer-events:none;background:radial-gradient(circle,#79a8ff 1.5px,transparent 2px);background-size:54px 40px;transform:rotate(-8deg)}
.reviews-showcase>.mepa-wrap{position:relative;z-index:1;width:min(1540px,calc(100% - 72px));}

.reviews-heading{text-align:center;margin:0 auto 38px;position:relative;}
.reviews-eyebrow{margin:0 0 8px;color:#77a6f7;font:800 12px/1 'Montserrat',sans-serif;letter-spacing:.22em;}
.reviews-title-line{display:flex;align-items:center;justify-content:center;gap:26px;}
.reviews-heading h2{position:relative;margin:0;color:#fff;font-size:64px;line-height:1;font-weight:850;letter-spacing:-.06em;}
.reviews-heading h2:after{content:"";position:absolute;left:3%;right:4%;bottom:-7px;height:7px;border-top:3px solid #2f7de9;border-radius:50%;transform:rotate(-1deg)}
.reviews-hand{margin-top:14px;color:#9ec1ff;font-family:'Nanum Pen Script',cursive;font-size:22px;line-height:1.05;text-align:left;transform:rotate(-5deg);}
.reviews-subtitle{margin:15px 0 0;color:#a7b6cc;font-size:14px;line-height:1.7;}

.reviews-editorial{display:grid;grid-template-columns:1fr .96fr;grid-template-areas:"r1 r2" "r3 r4";gap:22px 26px;align-items:stretch;}
.review-card-01{grid-area:r1}.review-card-02{grid-area:r2}.review-card-03{grid-area:r3}.review-card-04{grid-area:r4}
.reviews-showcase .review-card{position:relative;min-width:0;min-height:310px;padding:27px 30px 28px;border:1px solid rgba(111,162,238,.28);border-radius:13px;background:linear-gradient(145deg,#0b2854,#0a2247);color:#fff;box-shadow:0 18px 46px rgba(0,0,0,.15);overflow:visible;}
.reviews-showcase .review-card-01{transform:rotate(.15deg)}
.reviews-showcase .review-card-02{margin-top:7px;background:#f8fbff;border-color:#e5ebf3;color:#152033;border-radius:18px 18px 18px 5px;transform:rotate(-.35deg);box-shadow:0 18px 40px rgba(3,18,45,.22)}
.reviews-showcase .review-card-02:after{content:"";position:absolute;left:48px;bottom:-18px;width:42px;height:28px;background:#f8fbff;clip-path:polygon(0 0,100% 0,13% 100%);}
.reviews-showcase .review-card-03{background:#071d3f;background-image:linear-gradient(rgba(116,161,229,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(116,161,229,.06) 1px,transparent 1px);background-size:22px 22px;}
.reviews-showcase .review-card-04{margin:8px -8px 0 10px;background:linear-gradient(145deg,#0b2348,#081c3b);border-color:#56718f;border-radius:3px 13px 7px 3px;transform:rotate(.7deg);box-shadow:8px 10px 0 rgba(237,241,248,.82),0 20px 40px rgba(0,0,0,.18)}

.review-card-head{display:flex;align-items:center;gap:15px;min-height:30px;margin-bottom:22px;}
.review-index{display:flex;align-items:baseline;gap:12px;}
.review-index>span{color:#70a6fb;font:800 29px/1 'Montserrat',sans-serif;letter-spacing:-.05em;}
.review-index small{color:#d5dfed;font-size:12px;font-weight:800;}
.review-card-02 .review-index small{color:#2c3542}.review-card-02 .review-index>span{color:#2257a9}
.review-stars{margin-left:4px;color:#f3c144;font-size:15px;letter-spacing:.12em;white-space:nowrap;}
.review-stars-soft{margin-left:auto;color:#b7c9e8;}
.review-label{margin-left:auto;display:inline-flex;align-items:center;min-height:30px;padding:0 16px;border:1px solid #2f6ebd;border-radius:999px;color:#78a9f7;background:rgba(14,47,99,.5);font:800 10px/1 'Montserrat',sans-serif;letter-spacing:.12em;}
.review-card-02 .review-label{margin-left:5px;border-color:#c9d8ee;background:#eff5fd;color:#214e91;}

.review-card-body{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(260px,.82fr);gap:36px;align-items:center;}
.review-card-02 .review-card-body{grid-template-columns:minmax(330px,1.05fr) minmax(245px,.72fr);}
.review-card-04 .review-card-body{grid-template-columns:minmax(310px,.95fr) minmax(270px,.86fr);}
.review-quote{position:relative;margin:0;padding:0 0 0 18px;color:#fff;font-size:30px;line-height:1.38;font-weight:850;letter-spacing:-.055em;}
.review-quote:before{content:'“';position:absolute;left:-4px;top:-6px;color:#fff;font:900 36px/1 Georgia,serif;}
.review-quote em{font-style:normal;color:#4a97ff;}
.review-card-03 .review-quote em{box-shadow:inset 0 -.22em rgba(53,132,246,.20)}
.review-card-02 .review-quote{color:#111827;font-size:31px;line-height:1.34;}
.review-card-02 .review-quote:before{color:#111827;}
.review-card-04 .review-quote{font-size:29px;}
.review-copy{display:grid;gap:16px;align-content:center;}
.reviews-showcase .review-copy p{margin:0;color:#c9d5e6;font-size:14px;line-height:1.78;letter-spacing:-.025em;}
.review-card-02 .review-copy p{color:#354052;}
.review-card-04 .review-copy strong{display:inline;background:linear-gradient(transparent 64%,rgba(45,114,218,.22) 64%);color:#eef5ff;font-weight:750;}
.review-answer{position:relative;margin:20px 0 0 12px;color:#4192ff;font-family:'Nanum Pen Script',cursive;font-size:27px;line-height:1.08;transform:rotate(-2deg);}
.review-answer:after{content:"";position:absolute;left:8px;bottom:-7px;width:88%;height:5px;border-top:2px solid #3c8ef9;border-radius:50%;transform:rotate(-1deg)}

.review-seal{position:absolute;right:24px;bottom:18px;width:74px;height:74px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #4b8ce6;border-radius:50%;color:#6ea8fb;font:700 9px/1.2 'Montserrat',sans-serif;letter-spacing:.07em;text-align:center;transform:rotate(-9deg);opacity:.82;}
.review-seal b{margin-top:5px;font-size:24px;line-height:1;color:#4b91f6}
.review-like{position:absolute;right:20px;bottom:16px;width:47px;height:47px;display:flex;align-items:center;justify-content:center;border-radius:12px 12px 16px 8px;background:#2e7be7;color:#fff;font-size:22px;box-shadow:0 8px 14px rgba(46,123,231,.27);transform:rotate(9deg)}
.review-paper-note{position:absolute;left:-28px;bottom:-10px;width:92px;height:92px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fbfbf6;color:#2768bb;font-family:'Nanum Pen Script',cursive;font-size:22px;line-height:1.05;text-align:center;transform:rotate(-8deg);box-shadow:0 7px 20px rgba(0,0,0,.18)}
.review-paper-note:before{content:"";position:absolute;left:18px;top:-17px;width:22px;height:34px;border:2px solid #9b8f78;border-bottom:0;border-radius:14px 14px 0 0;transform:rotate(11deg)}
.review-tape{position:absolute;z-index:3;left:43%;top:-18px;width:112px;height:29px;background:rgba(67,129,221,.66);transform:rotate(-2deg);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.review-sticky{margin-left:auto;display:inline-flex;padding:8px 14px;background:#ffe778;color:#4a3d12;font-family:'Nanum Pen Script',cursive;font-size:20px;line-height:1;transform:rotate(3deg);box-shadow:0 5px 9px rgba(0,0,0,.12)}

.reviews-footer{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:36px;padding-top:18px;}
.reviews-footer-copy{display:flex;align-items:center;gap:10px;color:#617596;font-size:12px;}
.reviews-footer-copy p{margin:0;}
.reviews-shield{display:flex;width:24px;height:24px;align-items:center;justify-content:center;border:1px solid #3d5b84;border-radius:50%;color:#6b8ebc;font-size:12px;font-weight:900;}
.reviews-cta{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-width:258px;padding:16px 22px;border:1px solid #5aa0ff;border-radius:999px;background:#1c72e8;color:#fff;font-size:14px;font-weight:800;box-shadow:0 10px 24px rgba(15,95,214,.22);transition:transform .18s ease,background-color .18s ease;}
.reviews-cta:hover{background:#0c66d8;transform:translateY(-2px)}.reviews-cta span{font-size:20px;line-height:1}

@media(max-width:1250px){
  .review-card-body,.review-card-02 .review-card-body,.review-card-04 .review-card-body{grid-template-columns:1fr;gap:20px}
  .review-quote,.review-card-02 .review-quote,.review-card-04 .review-quote{font-size:26px}
  .reviews-showcase .review-card{min-height:0}
  .review-seal,.review-like{opacity:.65}
}
@media(max-width:900px){
  .reviews-showcase{padding:80px 0 64px}.reviews-showcase>.mepa-wrap{width:calc(100% - 40px)}
  .reviews-heading h2{font-size:46px}.reviews-hand{font-size:18px}.reviews-title-line{gap:14px}
  .reviews-editorial{grid-template-columns:1fr;grid-template-areas:"r1" "r2" "r3" "r4";gap:18px}
  .reviews-showcase .review-card,.reviews-showcase .review-card-02,.reviews-showcase .review-card-04{margin:0;transform:none;padding:24px 22px;border-radius:14px;box-shadow:none}
  .reviews-showcase .review-card-02:after{display:none}.review-paper-note{left:auto;right:12px;bottom:12px;width:72px;height:72px;font-size:18px}.review-paper-note:before{display:none}.review-tape{left:50%;transform:translateX(-50%) rotate(-2deg)}
  .review-card-head{flex-wrap:wrap;margin-bottom:18px}.review-label{margin-left:auto}.review-stars-soft{display:none}
  .review-quote,.review-card-02 .review-quote,.review-card-04 .review-quote{font-size:24px;line-height:1.4}
  .reviews-showcase .review-copy p{font-size:14px;line-height:1.74}.review-answer{font-size:23px}
  .reviews-footer{align-items:stretch;flex-direction:column;margin-top:30px}.reviews-cta{width:100%;min-width:0}
}
@media(max-width:520px){
  .reviews-heading h2{font-size:40px}.reviews-hand{display:none}.reviews-subtitle{font-size:13px}
  .review-index>span{font-size:25px}.review-index small{font-size:11px}.review-stars{font-size:12px}.review-label{padding:0 11px;min-height:27px}
  .review-quote,.review-card-02 .review-quote,.review-card-04 .review-quote{font-size:22px}.review-copy{gap:12px}
  .review-seal,.review-like{display:none}
}
\n\n/* =========================================================
   MPEA Chairperson redesign - 2026-08-28
   ========================================================= */
.authority-redesign{position:relative;overflow:hidden;background:linear-gradient(135deg,#fbfdff 0%,#f7faff 55%,#eef5ff 100%);padding:76px 0 0;color:#12294c;isolation:isolate}
.authority-redesign-bg{position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 78% 25%,rgba(104,156,245,.18) 0 13%,transparent 13.2%),radial-gradient(circle at 72% 75%,rgba(114,173,255,.12) 0 21%,transparent 21.2%)}
.authority-redesign-bg:after{content:"";position:absolute;right:-10%;top:-9%;width:52%;height:120%;border-radius:54% 0 0 54%;background:linear-gradient(150deg,rgba(211,227,255,.38),rgba(239,246,255,.12));transform:rotate(8deg)}
.authority-redesign-wrap{width:min(1320px,calc(100% - 80px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(390px,.78fr);grid-template-areas:"copy portrait" "profile profile";column-gap:54px;align-items:end}
.authority-redesign-copy{grid-area:copy;padding:0 0 34px}
.authority-redesign-kicker{display:flex;align-items:center;gap:14px;margin:0 0 28px;font-size:15px;font-weight:800;letter-spacing:.02em;color:#1763dc}
.authority-redesign-kicker span{display:block;width:43px;height:2px;background:#1763dc}
.authority-redesign-intro{margin:0;font-family:"Noto Serif KR","Nanum Myeongjo",serif;font-size:35px;font-weight:500;line-height:1.47;letter-spacing:-.045em;color:#142a4c}
.authority-redesign-intro strong{font-weight:800;color:#142a4c}
.authority-redesign-metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px;max-width:670px}
.authority-metric-card{position:relative;padding:20px 28px 18px;border:1px solid #c7daf7;border-radius:9px;background:rgba(255,255,255,.74);box-shadow:0 10px 25px rgba(26,66,128,.045);backdrop-filter:blur(4px)}
.authority-metric-card:before{content:"";position:absolute;top:-15px;left:50%;width:32px;height:32px;border-radius:50%;transform:translateX(-50%);background:linear-gradient(180deg,#cfe0ff,#9cbef6);box-shadow:0 0 0 6px rgba(255,255,255,.6)}
.authority-metric-card span{display:block;margin-bottom:6px;font-size:13px;font-weight:700;color:#4f5f76}
.authority-metric-card strong{display:block;font-family:"Montserrat","Arial",sans-serif;font-size:45px;line-height:1;font-weight:800;letter-spacing:-.055em;color:#0d419f}
.authority-metric-card em{font-style:normal;font-size:20px;margin-left:5px;letter-spacing:-.04em}
.authority-redesign-checks{list-style:none;margin:24px 0 0;padding:0;max-width:690px}
.authority-redesign-checks li{position:relative;padding:9px 0 9px 31px;border-bottom:1px solid rgba(180,199,226,.35);font-size:14px;line-height:1.55;color:#46566d}
.authority-redesign-checks li:last-child{border-bottom:0}
.authority-redesign-checks li:before{content:"✓";position:absolute;left:0;top:8px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#246edc;color:#fff;font-size:11px;font-weight:900}
.authority-redesign-checks strong{color:#283b58}
.authority-redesign-portrait{grid-area:portrait;position:relative;min-height:690px;align-self:stretch;display:flex;align-items:flex-end;justify-content:center}
.authority-portrait-halo{position:absolute;right:-30px;bottom:0;width:640px;height:640px;border-radius:54% 46% 42% 58% / 46% 53% 47% 54%;background:linear-gradient(145deg,rgba(200,220,255,.58),rgba(235,243,255,.15));z-index:-1}
.authority-redesign-portrait img{display:block;width:auto;height:690px;max-width:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 20px 32px rgba(31,66,121,.08))}
.authority-redesign-profile{grid-area:profile;position:relative;z-index:4;display:grid;grid-template-columns:330px 1fr;gap:34px;margin-top:-2px;margin-bottom:60px;padding:26px 34px;border:1px solid rgba(197,214,238,.7);border-radius:12px;background:rgba(255,255,255,.92);box-shadow:0 18px 44px rgba(25,60,112,.07)}
.authority-profile-name{padding:8px 30px 6px 4px;border-right:1px solid #d6e2f2}
.authority-profile-name small{display:block;margin-bottom:5px;font-size:14px;font-weight:800;letter-spacing:.08em;color:#1763dc}
.authority-profile-name h2{margin:0 0 12px;font-family:"Noto Serif KR","Nanum Myeongjo",serif;font-size:48px;line-height:1;font-weight:600;letter-spacing:-.055em;color:#102d5a}
.authority-profile-name p{margin:0;padding-left:18px;position:relative;font-family:"Noto Serif KR","Nanum Myeongjo",serif;font-size:13px;line-height:1.8;color:#557099}
.authority-profile-name p:before{content:"“";position:absolute;left:0;top:-6px;font-size:28px;color:#c7d9f5}
.authority-profile-career{columns:2;column-gap:44px;align-content:start;padding-top:5px}
.authority-profile-career p{break-inside:avoid;margin:0 0 9px;font-size:13px;line-height:1.55;color:#40506a}
@media (max-width:1100px){
 .authority-redesign-wrap{width:min(100% - 44px,980px);grid-template-columns:1fr 390px;column-gap:30px}
 .authority-redesign-intro{font-size:30px}.authority-metric-card strong{font-size:38px}.authority-redesign-portrait{min-height:610px}.authority-redesign-portrait img{height:610px}.authority-redesign-profile{grid-template-columns:260px 1fr}.authority-profile-career{columns:1}.authority-profile-name h2{font-size:42px}
}
@media (max-width:820px){
 .authority-redesign{padding-top:56px}.authority-redesign-wrap{width:calc(100% - 32px);display:grid;grid-template-columns:1fr;grid-template-areas:"copy" "portrait" "profile";gap:0}.authority-redesign-copy{padding-bottom:10px}.authority-redesign-intro{font-size:25px;line-height:1.55}.authority-redesign-metrics{grid-template-columns:1fr 1fr;gap:9px}.authority-metric-card{padding:18px 16px 16px}.authority-metric-card strong{font-size:32px}.authority-metric-card span{font-size:11px}.authority-redesign-checks li{font-size:13px}.authority-redesign-portrait{min-height:520px;margin-top:6px}.authority-redesign-portrait img{height:520px}.authority-portrait-halo{width:470px;height:470px;right:50%;transform:translateX(50%)}.authority-redesign-profile{margin:0 0 44px;padding:24px;grid-template-columns:1fr;gap:20px}.authority-profile-name{border-right:0;border-bottom:1px solid #d6e2f2;padding:0 0 20px}.authority-profile-career{columns:1}
}
@media (max-width:520px){
 .authority-redesign-kicker{margin-bottom:20px}.authority-redesign-intro{font-size:21px;letter-spacing:-.04em}.authority-redesign-metrics{grid-template-columns:1fr}.authority-metric-card strong{font-size:39px}.authority-redesign-portrait{min-height:430px}.authority-redesign-portrait img{height:430px}.authority-redesign-profile{padding:21px 18px}.authority-profile-name h2{font-size:40px}.authority-profile-career p{font-size:12.5px}
}

/* =========================================================
   AUTHORITY CAPTURE MATCH FIX v2
   Fixes mid-size desktop proportions to match approved design
   ========================================================= */
.authority-redesign{
  padding:54px 0 0;
}
.authority-redesign-wrap{
  width:min(1380px,calc(100% - 72px));
  grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);
  column-gap:42px;
  align-items:end;
}
.authority-redesign-copy{
  padding:0 0 26px;
}
.authority-redesign-kicker{
  margin-bottom:22px;
  font-size:13px;
}
.authority-redesign-intro{
  max-width:700px;
  font-size:32px;
  line-height:1.48;
  letter-spacing:-.05em;
}
.authority-redesign-metrics{
  max-width:690px;
  margin-top:28px;
  gap:12px;
}
.authority-metric-card{
  padding:20px 24px 17px;
}
.authority-metric-card span{
  font-size:12px;
}
.authority-metric-card strong{
  font-size:43px;
}
.authority-redesign-checks{
  margin-top:20px;
  max-width:690px;
}
.authority-redesign-checks li{
  padding-top:7px;
  padding-bottom:7px;
  font-size:13px;
}
.authority-redesign-checks li:before{
  top:6px;
}
.authority-redesign-portrait{
  min-height:610px;
}
.authority-redesign-portrait img{
  height:610px;
  max-width:none;
}
.authority-portrait-halo{
  width:560px;
  height:560px;
  right:-5px;
  bottom:0;
  opacity:.78;
}
.authority-redesign-profile{
  grid-template-columns:330px 1fr;
  gap:30px;
  margin-top:0;
  margin-bottom:48px;
  padding:24px 30px;
}
.authority-profile-career{
  columns:2;
  column-gap:32px;
}

@media (min-width:1280px){
  .authority-redesign{padding-top:68px}
  .authority-redesign-wrap{grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);column-gap:58px}
  .authority-redesign-intro{font-size:35px}
  .authority-redesign-portrait{min-height:675px}
  .authority-redesign-portrait img{height:675px}
  .authority-portrait-halo{width:620px;height:620px}
}

@media (max-width:1100px) and (min-width:761px){
  .authority-redesign{padding-top:34px}
  .authority-redesign-wrap{
    width:calc(100% - 40px);
    max-width:none;
    grid-template-columns:minmax(0,1.12fr) minmax(315px,.88fr);
    column-gap:20px;
  }
  .authority-redesign-copy{padding-bottom:18px}
  .authority-redesign-kicker{margin-bottom:16px;font-size:12px}
  .authority-redesign-intro{
    font-size:26px;
    line-height:1.5;
    max-width:560px;
  }
  .authority-redesign-metrics{margin-top:22px;gap:10px}
  .authority-metric-card{padding:17px 16px 14px}
  .authority-metric-card:before{width:26px;height:26px;top:-12px}
  .authority-metric-card span{font-size:10px;white-space:nowrap}
  .authority-metric-card strong{font-size:34px}
  .authority-metric-card em{font-size:16px}
  .authority-redesign-checks{margin-top:16px}
  .authority-redesign-checks li{padding:6px 0 6px 26px;font-size:12px;line-height:1.45}
  .authority-redesign-checks li:before{top:5px;width:16px;height:16px;font-size:10px}
  .authority-redesign-portrait{min-height:500px}
  .authority-redesign-portrait img{height:500px}
  .authority-portrait-halo{width:430px;height:430px;right:-18px}
  .authority-redesign-profile{
    grid-template-columns:280px 1fr;
    gap:22px;
    margin-bottom:36px;
    padding:20px 22px;
  }
  .authority-profile-name{padding-right:20px}
  .authority-profile-name h2{font-size:39px}
  .authority-profile-name p{font-size:11.5px}
  .authority-profile-career{columns:2;column-gap:20px}
  .authority-profile-career p{font-size:11px;line-height:1.45;margin-bottom:6px}
}

@media (max-width:760px){
  .authority-redesign{padding-top:46px}
  .authority-redesign-wrap{
    width:calc(100% - 30px);
    grid-template-columns:1fr;
    grid-template-areas:"copy" "portrait" "profile";
  }
  .authority-redesign-intro{font-size:23px;line-height:1.52}
  .authority-redesign-metrics{grid-template-columns:1fr 1fr;gap:8px}
  .authority-metric-card span{font-size:10px}
  .authority-metric-card strong{font-size:30px}
  .authority-redesign-portrait{min-height:455px}
  .authority-redesign-portrait img{height:455px}
  .authority-portrait-halo{width:420px;height:420px;right:50%;transform:translateX(50%)}
  .authority-redesign-profile{grid-template-columns:1fr;padding:22px 20px}
  .authority-profile-name{border-right:0;border-bottom:1px solid #d6e2f2;padding:0 0 18px}
  .authority-profile-career{columns:1}
}


/* =========================================================
   AUTHORITY STRUCTURE RESET v3
   Important: .authority-section had legacy display:grid rules.
   The redesign has its own inner grid, so the outer section
   must be reset or the background + wrapper become grid items.
   ========================================================= */
section.authority-section.authority-redesign{
  display:block;
  grid-template-columns:none;
  min-height:0;
  width:100%;
}

section.authority-section.authority-redesign > .authority-redesign-bg{
  position:absolute;
  inset:0;
}

section.authority-section.authority-redesign > .authority-redesign-wrap{
  position:relative;
  z-index:1;
  display:grid;
}

/* approved desktop composition */
@media (min-width: 901px){
  section.authority-section.authority-redesign .authority-redesign-wrap{
    width:min(1380px, calc(100% - 72px));
    grid-template-columns:minmax(0, 1.08fr) minmax(390px, .92fr);
    grid-template-areas:
      "copy portrait"
      "profile profile";
    column-gap:48px;
    align-items:end;
  }

  section.authority-section.authority-redesign .authority-redesign-copy{
    grid-area:copy;
    min-width:0;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait{
    grid-area:portrait;
    min-width:0;
  }

  section.authority-section.authority-redesign .authority-redesign-profile{
    grid-area:profile;
  }
}

/* tablet: keep the approved left/right composition longer */
@media (min-width: 761px) and (max-width: 1100px){
  section.authority-section.authority-redesign .authority-redesign-wrap{
    width:calc(100% - 36px);
    grid-template-columns:minmax(0, 1.18fr) minmax(300px, .82fr);
    column-gap:18px;
  }

  section.authority-section.authority-redesign .authority-redesign-intro{
    font-size:25px;
    line-height:1.48;
    max-width:570px;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait{
    min-height:490px;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait img{
    height:490px;
  }

  section.authority-section.authority-redesign .authority-portrait-halo{
    width:420px;
    height:420px;
    right:-28px;
  }
}

/* mobile only becomes one column */
@media (max-width:760px){
  section.authority-section.authority-redesign .authority-redesign-wrap{
    display:grid;
    grid-template-columns:1fr;
    grid-template-areas:
      "copy"
      "portrait"
      "profile";
  }
}


/* =========================================================
   AUTHORITY VISUAL REFINEMENT v4
   - portrait transparent padding cropped
   - larger portrait / typography
   - portrait visually connected to profile panel
   - chairperson name beside portrait
   ========================================================= */

section.authority-section.authority-redesign{
  overflow:hidden;
}

@media (min-width:901px){
  section.authority-section.authority-redesign .authority-redesign-wrap{
    width:min(1460px, calc(100% - 76px));
    grid-template-columns:minmax(0, 1.03fr) minmax(500px, .97fr);
    column-gap:30px;
  }

  section.authority-section.authority-redesign .authority-redesign-copy{
    padding-bottom:10px;
  }

  section.authority-section.authority-redesign .authority-redesign-kicker{
    font-size:14px;
    margin-bottom:28px;
  }

  section.authority-section.authority-redesign .authority-redesign-intro{
    max-width:760px;
    font-size:39px;
    line-height:1.46;
    letter-spacing:-.055em;
  }

  section.authority-section.authority-redesign .authority-redesign-metrics{
    max-width:760px;
    margin-top:34px;
    gap:14px;
  }

  section.authority-section.authority-redesign .authority-metric-card{
    min-height:116px;
    padding:24px 26px 20px;
  }

  section.authority-section.authority-redesign .authority-metric-card span{
    font-size:14px;
    line-height:1.45;
  }

  section.authority-section.authority-redesign .authority-metric-card strong{
    margin-top:4px;
    font-size:49px;
    line-height:1.05;
  }

  section.authority-section.authority-redesign .authority-metric-card em{
    font-size:20px;
  }

  section.authority-section.authority-redesign .authority-redesign-checks{
    max-width:760px;
    margin-top:22px;
  }

  section.authority-section.authority-redesign .authority-redesign-checks li{
    padding:8px 0 8px 31px;
    font-size:15px;
    line-height:1.5;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait{
    min-height:650px;
    margin-bottom:-1px;
    justify-content:flex-end;
    padding-right:42px;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait img{
    position:relative;
    z-index:2;
    height:650px;
    max-width:none;
    object-fit:contain;
    object-position:right bottom;
    filter:drop-shadow(0 18px 28px rgba(28,61,111,.07));
  }

  section.authority-section.authority-redesign .authority-portrait-halo{
    width:650px;
    height:650px;
    right:-24px;
    bottom:-2px;
  }

  section.authority-section.authority-redesign .authority-portrait-name{
    position:absolute;
    z-index:5;
    right:6px;
    top:175px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-width:126px;
    padding-left:18px;
    border-left:1px solid rgba(23,99,220,.36);
    color:#173b72;
  }

  section.authority-section.authority-redesign .authority-portrait-name small{
    margin-bottom:5px;
    font-size:10px;
    font-weight:800;
    letter-spacing:.18em;
    color:#3c76d6;
  }

  section.authority-section.authority-redesign .authority-portrait-name span{
    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
    color:#6882a9;
  }

  section.authority-section.authority-redesign .authority-portrait-name strong{
    margin-top:3px;
    font-family:"Noto Serif KR","Nanum Myeongjo",serif;
    font-size:30px;
    line-height:1.15;
    font-weight:600;
    letter-spacing:-.045em;
    color:#102d5a;
  }

  section.authority-section.authority-redesign .authority-redesign-profile{
    position:relative;
    z-index:8;
    grid-template-columns:360px 1fr;
    gap:38px;
    margin-top:-1px;
    margin-bottom:52px;
    padding:31px 36px 30px;
    border-radius:12px;
  }

  section.authority-section.authority-redesign .authority-profile-name{
    padding:8px 34px 6px 4px;
  }

  section.authority-section.authority-redesign .authority-profile-name small{
    font-size:15px;
  }

  section.authority-section.authority-redesign .authority-profile-name h2{
    font-size:54px;
  }

  section.authority-section.authority-redesign .authority-profile-name p{
    font-size:14px;
    line-height:1.8;
  }

  section.authority-section.authority-redesign .authority-profile-career{
    columns:2;
    column-gap:44px;
    padding-top:8px;
  }

  section.authority-section.authority-redesign .authority-profile-career p{
    margin-bottom:10px;
    font-size:14px;
    line-height:1.55;
  }
}

@media (min-width:1200px){
  section.authority-section.authority-redesign .authority-redesign-portrait{
    min-height:705px;
  }
  section.authority-section.authority-redesign .authority-redesign-portrait img{
    height:705px;
  }
  section.authority-section.authority-redesign .authority-portrait-halo{
    width:700px;
    height:700px;
  }
}

@media (min-width:761px) and (max-width:1100px){
  section.authority-section.authority-redesign .authority-redesign-wrap{
    width:calc(100% - 36px);
    grid-template-columns:minmax(0,1.08fr) minmax(355px,.92fr);
    column-gap:16px;
  }

  section.authority-section.authority-redesign .authority-redesign-intro{
    font-size:29px;
    max-width:620px;
  }

  section.authority-section.authority-redesign .authority-metric-card span{
    font-size:11.5px;
  }

  section.authority-section.authority-redesign .authority-metric-card strong{
    font-size:39px;
  }

  section.authority-section.authority-redesign .authority-redesign-checks li{
    font-size:13px;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait{
    min-height:530px;
    padding-right:18px;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait img{
    height:530px;
  }

  section.authority-section.authority-redesign .authority-portrait-halo{
    width:490px;
    height:490px;
  }

  section.authority-section.authority-redesign .authority-portrait-name{
    right:-4px;
    top:145px;
    min-width:105px;
    padding-left:12px;
  }

  section.authority-section.authority-redesign .authority-portrait-name strong{
    font-size:24px;
  }

  section.authority-section.authority-redesign .authority-redesign-profile{
    grid-template-columns:300px 1fr;
    padding:25px 25px 24px;
  }

  section.authority-section.authority-redesign .authority-profile-name h2{
    font-size:46px;
  }

  section.authority-section.authority-redesign .authority-profile-career p{
    font-size:12.5px;
    line-height:1.5;
  }
}

@media (max-width:760px){
  section.authority-section.authority-redesign .authority-redesign-intro{
    font-size:25px;
  }

  section.authority-section.authority-redesign .authority-redesign-checks li{
    font-size:13.5px;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait{
    min-height:500px;
    margin-bottom:-1px;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait img{
    height:500px;
  }

  section.authority-section.authority-redesign .authority-portrait-name{
    position:absolute;
    z-index:5;
    right:8px;
    bottom:64px;
    top:auto;
    padding:10px 13px;
    border-left:0;
    border-radius:8px;
    background:rgba(255,255,255,.84);
    box-shadow:0 8px 24px rgba(29,61,111,.08);
  }

  section.authority-section.authority-redesign .authority-portrait-name small{
    display:block;
    font-size:9px;
    color:#3d72c7;
  }

  section.authority-section.authority-redesign .authority-portrait-name span{
    font-size:11px;
  }

  section.authority-section.authority-redesign .authority-portrait-name strong{
    display:block;
    font-family:"Noto Serif KR","Nanum Myeongjo",serif;
    font-size:24px;
    color:#102d5a;
  }

  section.authority-section.authority-redesign .authority-profile-career p{
    font-size:13px;
  }
}


/* Chairperson label v5: MPEA 협회장 한 줄 정렬 */
section.authority-section.authority-redesign .authority-portrait-role{
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  margin-bottom:4px;
}
section.authority-section.authority-redesign .authority-portrait-role small,
section.authority-section.authority-redesign .authority-portrait-role span{
  display:inline;
  margin:0;
  line-height:1.2;
}
section.authority-section.authority-redesign .authority-portrait-role small{
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  color:#3c76d6;
}
section.authority-section.authority-redesign .authority-portrait-role span{
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  color:#6882a9;
}
@media (max-width:760px){
  section.authority-section.authority-redesign .authority-portrait-role{
    gap:5px;
    margin-bottom:3px;
  }
  section.authority-section.authority-redesign .authority-portrait-role small{
    font-size:9px;
  }
  section.authority-section.authority-redesign .authority-portrait-role span{
    font-size:11px;
  }
}


/* =========================================================
   AUTHORITY FINAL TUNING v6
   - remove top "협회장 소개" label
   - larger portrait
   - name card moved beside the portrait arm
   - checklist text enlarged + optional icon circles
   ========================================================= */

section.authority-section.authority-redesign .authority-redesign-kicker{
  display:none !important;
}

@media (min-width:901px){
  section.authority-section.authority-redesign{
    padding-top:40px;
  }

  section.authority-section.authority-redesign .authority-redesign-wrap{
    width:min(1480px, calc(100% - 72px));
    grid-template-columns:minmax(0, 1.02fr) minmax(520px, .98fr);
    column-gap:14px;
  }

  section.authority-section.authority-redesign .authority-redesign-intro{
    max-width:770px;
    font-size:42px;
    line-height:1.42;
    margin-top:8px;
  }

  section.authority-section.authority-redesign .authority-redesign-metrics{
    max-width:770px;
    gap:16px;
    margin-top:34px;
  }

  section.authority-section.authority-redesign .authority-metric-card{
    min-height:122px;
    padding:22px 28px 20px;
  }

  section.authority-section.authority-redesign .authority-metric-card span{
    font-size:15px;
    line-height:1.45;
  }

  section.authority-section.authority-redesign .authority-metric-card strong{
    font-size:52px;
  }

  section.authority-section.authority-redesign .authority-metric-card em{
    font-size:22px;
  }

  section.authority-section.authority-redesign .authority-redesign-checks{
    max-width:790px;
    margin-top:20px;
    gap:0;
  }

  section.authority-section.authority-redesign .authority-redesign-checks li{
    display:flex;
    align-items:center;
    gap:14px;
    padding:12px 0;
    font-size:18px;
    line-height:1.55;
  }

  section.authority-section.authority-redesign .authority-check-icon{
    flex:0 0 34px;
    width:34px;
    height:34px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg,#2e72de,#1c56bc);
    color:#fff;
    font-size:14px;
    font-weight:800;
    box-shadow:0 8px 16px rgba(37,99,235,.18);
  }

  section.authority-section.authority-redesign .authority-check-text{
    display:block;
    flex:1;
  }

  section.authority-section.authority-redesign .authority-check-text strong{
    font-weight:800;
    color:#183c75;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait{
    min-height:790px;
    padding-right:22px;
    align-items:flex-end;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait img{
    height:790px;
    object-position:right bottom;
  }

  section.authority-section.authority-redesign .authority-portrait-halo{
    width:760px;
    height:760px;
    right:-40px;
    bottom:0;
  }

  section.authority-section.authority-redesign .authority-portrait-name{
    right:18px;
    top:auto;
    bottom:170px;
    min-width:132px;
    padding:12px 16px 12px 16px;
    border-left:0;
    border-radius:10px;
    background:rgba(255,255,255,.62);
    backdrop-filter:blur(6px);
    box-shadow:0 10px 26px rgba(17,43,88,.10);
  }

  section.authority-section.authority-redesign .authority-portrait-role{
    margin-bottom:2px;
  }

  section.authority-section.authority-redesign .authority-portrait-role small{
    font-size:10px;
  }

  section.authority-section.authority-redesign .authority-portrait-role span{
    font-size:13px;
    color:#5f789f;
  }

  section.authority-section.authority-redesign .authority-portrait-name strong{
    font-size:32px;
  }

  section.authority-section.authority-redesign .authority-redesign-profile{
    grid-template-columns:360px 1fr;
    gap:40px;
    padding:34px 40px 32px;
    margin-top:-52px;
    position:relative;
    z-index:10;
  }

  section.authority-section.authority-redesign .authority-profile-name small{
    font-size:16px;
  }

  section.authority-section.authority-redesign .authority-profile-name h2{
    font-size:58px;
    line-height:1.02;
  }

  section.authority-section.authority-redesign .authority-profile-name p{
    font-size:16px;
    line-height:1.82;
    margin-top:14px;
  }

  section.authority-section.authority-redesign .authority-profile-career{
    columns:2;
    column-gap:48px;
  }

  section.authority-section.authority-redesign .authority-profile-career p{
    font-size:15px;
    line-height:1.72;
    margin-bottom:9px;
  }
}

@media (min-width:1200px){
  section.authority-section.authority-redesign .authority-redesign-portrait{
    min-height:840px;
  }
  section.authority-section.authority-redesign .authority-redesign-portrait img{
    height:840px;
  }
  section.authority-section.authority-redesign .authority-portrait-halo{
    width:810px;
    height:810px;
  }
  section.authority-section.authority-redesign .authority-portrait-name{
    bottom:190px;
    right:28px;
  }
}

@media (min-width:761px) and (max-width:1100px){
  section.authority-section.authority-redesign .authority-redesign-wrap{
    width:calc(100% - 34px);
    grid-template-columns:minmax(0,1.05fr) minmax(370px,.95fr);
  }

  section.authority-section.authority-redesign .authority-redesign-intro{
    font-size:32px;
    line-height:1.45;
  }

  section.authority-section.authority-redesign .authority-metric-card span{
    font-size:13px;
  }

  section.authority-section.authority-redesign .authority-metric-card strong{
    font-size:42px;
  }

  section.authority-section.authority-redesign .authority-redesign-checks li{
    display:flex;
    align-items:center;
    gap:11px;
    font-size:15px;
    line-height:1.5;
  }

  section.authority-section.authority-redesign .authority-check-icon{
    flex:0 0 30px;
    width:30px;
    height:30px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg,#2e72de,#1c56bc);
    color:#fff;
    font-size:13px;
    font-weight:800;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait{
    min-height:620px;
    padding-right:10px;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait img{
    height:620px;
  }

  section.authority-section.authority-redesign .authority-portrait-halo{
    width:560px;
    height:560px;
    right:-16px;
  }

  section.authority-section.authority-redesign .authority-portrait-name{
    right:2px;
    bottom:128px;
    top:auto;
    min-width:118px;
    padding:10px 12px;
    border-left:0;
    border-radius:8px;
    background:rgba(255,255,255,.68);
  }

  section.authority-section.authority-redesign .authority-profile-name h2{
    font-size:48px;
  }

  section.authority-section.authority-redesign .authority-profile-career p{
    font-size:13.5px;
    line-height:1.62;
  }
}

@media (max-width:760px){
  section.authority-section.authority-redesign .authority-redesign-intro{
    font-size:27px;
    line-height:1.48;
  }

  section.authority-section.authority-redesign .authority-redesign-checks li{
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:15px;
    line-height:1.52;
    padding:11px 0;
  }

  section.authority-section.authority-redesign .authority-check-icon{
    flex:0 0 28px;
    width:28px;
    height:28px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg,#2e72de,#1c56bc);
    color:#fff;
    font-size:12px;
    font-weight:800;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait{
    min-height:560px;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait img{
    height:560px;
  }

  section.authority-section.authority-redesign .authority-portrait-name{
    right:10px;
    bottom:78px;
  }

  section.authority-section.authority-redesign .authority-redesign-profile{
    margin-top:-24px;
  }

  section.authority-section.authority-redesign .authority-profile-name h2{
    font-size:46px;
  }

  section.authority-section.authority-redesign .authority-profile-name p,
  section.authority-section.authority-redesign .authority-profile-career p{
    font-size:14px;
  }
}


/* =========================================================
   AUTHORITY CORRECTION v7
   1) checklist overlap/double-icon fix
   2) portrait label moved to viewer-left arm side, no box
   3) MPEA 협회장 enlarged
   4) portrait enlarged
   ========================================================= */

section.authority-section.authority-redesign .authority-redesign-checks li::before{
  content:none;
  display:none;
}

section.authority-section.authority-redesign .authority-redesign-profile{
  margin-top:12px;
}

section.authority-section.authority-redesign .authority-check-icon{
  flex:0 0 38px;
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#f5f9ff;
  border:1px solid #d8e6fb;
  box-shadow:none;
}

section.authority-section.authority-redesign .authority-check-icon img{
  width:23px;
  height:23px;
  object-fit:contain;
}

section.authority-section.authority-redesign .authority-redesign-checks li{
  padding-left:0;
}

section.authority-section.authority-redesign .authority-portrait-name{
  left:7%;
  right:auto;
  top:auto;
  bottom:190px;
  min-width:0;
  padding:0 0 0 16px;
  border-left:1px solid rgba(32,91,178,.42);
  border-radius:0;
  background:transparent;
  backdrop-filter:none;
  box-shadow:none;
}

section.authority-section.authority-redesign .authority-portrait-role{
  gap:7px;
  margin-bottom:6px;
}

section.authority-section.authority-redesign .authority-portrait-role small,
section.authority-section.authority-redesign .authority-portrait-role span{
  font-size:16px;
  font-weight:800;
  line-height:1;
  letter-spacing:.02em;
  color:#2d69c8;
}

section.authority-section.authority-redesign .authority-portrait-name strong{
  font-size:36px;
  line-height:1.05;
}

@media (min-width:1200px){
  section.authority-section.authority-redesign .authority-redesign-portrait{
    min-height:900px;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait img{
    height:900px;
  }

  section.authority-section.authority-redesign .authority-portrait-halo{
    width:860px;
    height:860px;
  }

  section.authority-section.authority-redesign .authority-portrait-name{
    left:5%;
    bottom:210px;
  }
}

@media (min-width:901px) and (max-width:1199px){
  section.authority-section.authority-redesign .authority-redesign-portrait{
    min-height:800px;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait img{
    height:800px;
  }

  section.authority-section.authority-redesign .authority-portrait-halo{
    width:740px;
    height:740px;
  }

  section.authority-section.authority-redesign .authority-portrait-name{
    left:4%;
    bottom:170px;
  }

  section.authority-section.authority-redesign .authority-portrait-role small,
  section.authority-section.authority-redesign .authority-portrait-role span{
    font-size:14px;
  }

  section.authority-section.authority-redesign .authority-portrait-name strong{
    font-size:31px;
  }
}

@media (min-width:761px) and (max-width:1100px){
  section.authority-section.authority-redesign .authority-redesign-checks li{
    padding:10px 0;
  }

  section.authority-section.authority-redesign .authority-check-icon{
    flex-basis:34px;
    width:34px;
    height:34px;
  }

  section.authority-section.authority-redesign .authority-check-icon img{
    width:20px;
    height:20px;
  }

  section.authority-section.authority-redesign .authority-redesign-profile{
    margin-top:8px;
  }
}

@media (max-width:760px){
  section.authority-section.authority-redesign .authority-check-icon{
    flex-basis:32px;
    width:32px;
    height:32px;
  }

  section.authority-section.authority-redesign .authority-check-icon img{
    width:19px;
    height:19px;
  }

  section.authority-section.authority-redesign .authority-portrait-name{
    left:16px;
    right:auto;
    bottom:92px;
    padding-left:13px;
    background:transparent;
    box-shadow:none;
  }

  section.authority-section.authority-redesign .authority-portrait-role small,
  section.authority-section.authority-redesign .authority-portrait-role span{
    font-size:13px;
  }

  section.authority-section.authority-redesign .authority-portrait-name strong{
    font-size:30px;
  }

  section.authority-section.authority-redesign .authority-redesign-profile{
    margin-top:0;
  }
}


/* =========================================================
   AUTHORITY FINAL POLISH v8
   1) checklist text larger + darker
   2) portrait connected more naturally to profile box so the arm
      doesn't look awkwardly cut off
   ========================================================= */

section.authority-section.authority-redesign .authority-redesign-checks li{
  color:#495c79;
  font-weight:500;
}
section.authority-section.authority-redesign .authority-check-text{
  color:#495c79;
}
section.authority-section.authority-redesign .authority-check-text strong{
  color:#183c75;
}
section.authority-section.authority-redesign .authority-redesign-checks li + li{
  border-top-color:#d7e1f0;
}

@media (min-width:901px){
  section.authority-section.authority-redesign .authority-redesign-checks{
    max-width:810px;
  }

  section.authority-section.authority-redesign .authority-redesign-checks li{
    padding:14px 0;
    font-size:21px;
    line-height:1.58;
  }

  section.authority-section.authority-redesign .authority-check-icon{
    flex:0 0 42px;
    width:42px;
    height:42px;
  }

  section.authority-section.authority-redesign .authority-check-icon img{
    width:25px;
    height:25px;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait{
    min-height:940px;
    margin-bottom:-96px;
    padding-right:18px;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait img{
    height:940px;
    object-position:right bottom;
  }

  section.authority-section.authority-redesign .authority-portrait-halo{
    width:900px;
    height:900px;
    right:-44px;
    bottom:8px;
  }

  section.authority-section.authority-redesign .authority-portrait-name{
    bottom:252px;
  }

  section.authority-section.authority-redesign .authority-redesign-profile{
    margin-top:-14px;
    padding-top:42px;
    position:relative;
    z-index:12;
  }
}

@media (min-width:1200px){
  section.authority-section.authority-redesign .authority-redesign-portrait{
    min-height:980px;
    margin-bottom:-112px;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait img{
    height:980px;
  }

  section.authority-section.authority-redesign .authority-portrait-halo{
    width:940px;
    height:940px;
    right:-54px;
    bottom:6px;
  }

  section.authority-section.authority-redesign .authority-portrait-name{
    bottom:272px;
  }

  section.authority-section.authority-redesign .authority-redesign-profile{
    margin-top:-24px;
  }
}

@media (min-width:901px) and (max-width:1199px){
  section.authority-section.authority-redesign .authority-redesign-checks li{
    font-size:18px;
    line-height:1.56;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait{
    min-height:860px;
    margin-bottom:-86px;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait img{
    height:860px;
  }

  section.authority-section.authority-redesign .authority-portrait-halo{
    width:780px;
    height:780px;
  }

  section.authority-section.authority-redesign .authority-portrait-name{
    bottom:216px;
  }

  section.authority-section.authority-redesign .authority-redesign-profile{
    margin-top:-6px;
    padding-top:36px;
  }
}

@media (min-width:761px) and (max-width:1100px){
  section.authority-section.authority-redesign .authority-redesign-checks li{
    font-size:16.5px;
    line-height:1.54;
  }

  section.authority-section.authority-redesign .authority-check-text{
    letter-spacing:-.01em;
  }
}

@media (max-width:760px){
  section.authority-section.authority-redesign .authority-redesign-checks li{
    font-size:16px;
    line-height:1.56;
    color:#4d5f7b;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait{
    min-height:610px;
    margin-bottom:-34px;
  }

  section.authority-section.authority-redesign .authority-redesign-portrait img{
    height:610px;
  }

  section.authority-section.authority-redesign .authority-redesign-profile{
    margin-top:0;
    padding-top:28px;
  }
}


/* =========================================================
   AUTHORITY METRIC CARDS v9
   - decorative top circles no longer overlap text/numbers
   - content centered inside each card
   - stronger numeric typography
   - subtle editorial accents around the numbers
   ========================================================= */

section.authority-section.authority-redesign .authority-metric-card{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:visible;
  padding:28px 26px 24px;
  min-height:132px;
}

/* 기존 중앙 원형 장식이 내용 위로 내려오는 현상 제거 */
section.authority-section.authority-redesign .authority-metric-card::before{
  top:-16px;
  left:50%;
  transform:translateX(-50%);
  width:32px;
  height:32px;
  border:6px solid #fff;
  background:linear-gradient(180deg,#cfe2ff 0%,#8eb7f8 100%);
  box-shadow:0 4px 12px rgba(49,103,190,.12);
}

/* 숫자 뒤에 얇은 강조선 추가 */
section.authority-section.authority-redesign .authority-metric-card::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:16px;
  width:54px;
  height:3px;
  transform:translateX(-50%);
  border-radius:999px;
  background:linear-gradient(90deg,#246edc 0%,#8bb7fb 100%);
  opacity:.7;
}

section.authority-section.authority-redesign .authority-metric-card span{
  display:block;
  margin-bottom:8px;
  color:#4a5f7d;
  font-size:15px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:-.02em;
}

section.authority-section.authority-redesign .authority-metric-card strong{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:4px;
  margin:0;
  color:#0d4eb3;
  font-size:56px;
  font-weight:850;
  line-height:1;
  letter-spacing:-.065em;
  text-shadow:0 7px 20px rgba(36,110,220,.08);
}

section.authority-section.authority-redesign .authority-metric-card em{
  position:relative;
  top:-4px;
  margin-left:3px;
  color:#174b9d;
  font-size:21px;
  font-style:normal;
  font-weight:800;
  letter-spacing:-.03em;
}

/* 숫자 양옆의 작은 점 포인트 */
section.authority-section.authority-redesign .authority-metric-card strong::before,
section.authority-section.authority-redesign .authority-metric-card strong::after{
  content:"";
  width:5px;
  height:5px;
  margin-bottom:13px;
  border-radius:50%;
  background:#8db8fa;
  opacity:.9;
}

@media (min-width:1200px){
  section.authority-section.authority-redesign .authority-metric-card{
    min-height:142px;
    padding:30px 30px 27px;
  }

  section.authority-section.authority-redesign .authority-metric-card span{
    font-size:16px;
  }

  section.authority-section.authority-redesign .authority-metric-card strong{
    font-size:61px;
  }

  section.authority-section.authority-redesign .authority-metric-card em{
    font-size:22px;
  }
}

@media (min-width:761px) and (max-width:1100px){
  section.authority-section.authority-redesign .authority-metric-card{
    min-height:118px;
    padding:25px 18px 22px;
  }

  section.authority-section.authority-redesign .authority-metric-card span{
    font-size:13px;
    margin-bottom:6px;
  }

  section.authority-section.authority-redesign .authority-metric-card strong{
    font-size:44px;
  }

  section.authority-section.authority-redesign .authority-metric-card em{
    font-size:18px;
  }
}

@media (max-width:760px){
  section.authority-section.authority-redesign .authority-metric-card{
    min-height:112px;
    padding:24px 14px 21px;
  }

  section.authority-section.authority-redesign .authority-metric-card::before{
    width:28px;
    height:28px;
    top:-14px;
    border-width:5px;
  }

  section.authority-section.authority-redesign .authority-metric-card span{
    font-size:12.5px;
  }

  section.authority-section.authority-redesign .authority-metric-card strong{
    font-size:39px;
  }

  section.authority-section.authority-redesign .authority-metric-card em{
    font-size:16px;
  }
}


/* =========================================================
   AUTHORITY HALO FIX v10
   큰 블루 원형 배경이 통계 카드 위까지 덮던 문제 수정
   ========================================================= */

/* 왼쪽 콘텐츠는 항상 블루 원형보다 위 */
section.authority-section.authority-redesign .authority-redesign-copy{
  position:relative;
  z-index:6;
}

/* 통계 카드도 명확하게 상단 레이어 유지 */
section.authority-section.authority-redesign .authority-redesign-metrics,
section.authority-section.authority-redesign .authority-metric-card{
  position:relative;
  z-index:7;
  background:#fff;
}

/* 인물 영역 내부에서만 블루 원형을 보이게 제한 */
section.authority-section.authority-redesign .authority-redesign-portrait{
  position:relative;
  overflow:hidden;
  z-index:2;
}

/* 원형은 인물보다 뒤, 왼쪽 콘텐츠보다도 뒤 */
section.authority-section.authority-redesign .authority-portrait-halo{
  z-index:0;
  pointer-events:none;
}

/* 누끼 인물은 원형보다 위 */
section.authority-section.authority-redesign .authority-redesign-portrait img{
  position:relative;
  z-index:2;
}

/* 이름 표시는 가장 위 */
section.authority-section.authority-redesign .authority-portrait-name{
  z-index:4;
}

/* 혹시 바깥 배경 장식이 있다면 왼쪽 카드 침범 방지 */
section.authority-section.authority-redesign .authority-redesign-bg{
  z-index:0;
  pointer-events:none;
}

section.authority-section.authority-redesign .authority-redesign-wrap{
  position:relative;
  z-index:1;
}

@media (min-width:901px){
  /* 원형 중심을 더 오른쪽으로 보내 카드 영역과 완전히 분리 */
  section.authority-section.authority-redesign .authority-portrait-halo{
    right:-120px;
  }
}

@media (min-width:1200px){
  section.authority-section.authority-redesign .authority-portrait-halo{
    right:-150px;
  }
}

@media (min-width:761px) and (max-width:1100px){
  section.authority-section.authority-redesign .authority-portrait-halo{
    right:-80px;
  }
}


/* =========================================================
   AUTHORITY HALO FIX v11
   - do NOT clip the large blue circle
   - keep the circle behind the copy / metric cards instead
   ========================================================= */

section.authority-section.authority-redesign .authority-redesign-portrait{
  overflow:visible;
  z-index:1;
}

section.authority-section.authority-redesign .authority-portrait-halo{
  z-index:0;
  border-radius:50%;
  overflow:visible;
}

section.authority-section.authority-redesign .authority-redesign-portrait img{
  position:relative;
  z-index:2;
}

section.authority-section.authority-redesign .authority-portrait-name{
  z-index:3;
}

/* 왼쪽 전체 콘텐츠를 원형보다 확실히 위로 */
section.authority-section.authority-redesign .authority-redesign-copy{
  position:relative;
  z-index:10;
}

section.authority-section.authority-redesign .authority-redesign-metrics,
section.authority-section.authority-redesign .authority-metric-card,
section.authority-section.authority-redesign .authority-redesign-checks{
  position:relative;
  z-index:11;
}

/* 카드 배경은 불투명하게 유지해서 뒤의 원형이 비치지 않게 */
section.authority-section.authority-redesign .authority-metric-card{
  background:#fff;
}

/* 큰 원형은 잘리지 않게 원래처럼 완전한 원 형태 유지 */
@media (min-width:1200px){
  section.authority-section.authority-redesign .authority-portrait-halo{
    width:940px;
    height:940px;
    right:-70px;
    bottom:10px;
  }
}

@media (min-width:901px) and (max-width:1199px){
  section.authority-section.authority-redesign .authority-portrait-halo{
    width:800px;
    height:800px;
    right:-55px;
    bottom:8px;
  }
}

@media (min-width:761px) and (max-width:1100px){
  section.authority-section.authority-redesign .authority-portrait-halo{
    width:600px;
    height:600px;
    right:-40px;
  }
}


/* =========================================================
   AUTHORITY SPACING / TYPOGRAPHY v12
   1) metric number weight reduced
   2) metric label text enlarged
   3) more breathing room before profile box
   4) checklist vertical spacing tightened
   ========================================================= */

section.authority-section.authority-redesign .authority-metric-card strong{
  font-weight:720;
}

section.authority-section.authority-redesign .authority-metric-card span{
  font-size:17px;
  font-weight:700;
  color:#3e5576;
}

section.authority-section.authority-redesign .authority-redesign-checks li{
  padding-top:9px;
  padding-bottom:9px;
}

section.authority-section.authority-redesign .authority-redesign-profile{
  margin-top:34px;
}

/* 프로필 사진 쪽은 건드리지 않고, 하단 프로필 박스만 내려 여백 확보 */
@media (min-width:1200px){
  section.authority-section.authority-redesign .authority-metric-card strong{
    font-weight:720;
    font-size:59px;
  }

  section.authority-section.authority-redesign .authority-metric-card span{
    font-size:18px;
  }

  section.authority-section.authority-redesign .authority-redesign-checks li{
    padding:9px 0;
    font-size:20px;
  }

  section.authority-section.authority-redesign .authority-redesign-profile{
    margin-top:42px;
  }
}

@media (min-width:901px) and (max-width:1199px){
  section.authority-section.authority-redesign .authority-metric-card strong{
    font-weight:720;
  }

  section.authority-section.authority-redesign .authority-metric-card span{
    font-size:16px;
  }

  section.authority-section.authority-redesign .authority-redesign-checks li{
    padding:8px 0;
    font-size:17px;
  }

  section.authority-section.authority-redesign .authority-redesign-profile{
    margin-top:30px;
  }
}

@media (min-width:761px) and (max-width:1100px){
  section.authority-section.authority-redesign .authority-metric-card span{
    font-size:14px;
  }

  section.authority-section.authority-redesign .authority-redesign-checks li{
    padding:7px 0;
    font-size:16px;
  }

  section.authority-section.authority-redesign .authority-redesign-profile{
    margin-top:24px;
  }
}

@media (max-width:760px){
  section.authority-section.authority-redesign .authority-metric-card strong{
    font-weight:700;
  }

  section.authority-section.authority-redesign .authority-metric-card span{
    font-size:13.5px;
  }

  section.authority-section.authority-redesign .authority-redesign-checks li{
    padding:7px 0;
    font-size:15.5px;
  }

  section.authority-section.authority-redesign .authority-redesign-profile{
    margin-top:22px;
  }
}


/* =========================================================
   CURRICULUM EDITORIAL v1
   카드 UI를 버리고 숫자·타이포·흐름 중심으로 재구성
   ========================================================= */
.curriculum-section .curriculum-overview.curriculum-editorial{
  padding:120px 0 94px;
  background:
    radial-gradient(circle at 92% 12%, rgba(37,99,235,.07), transparent 24%),
    linear-gradient(180deg,#fff 0%,#fbfcff 100%);
  border-bottom:1px solid #e7edf7;
}
.curriculum-editorial .mepa-wrap{
  width:min(1420px,calc(100% - 72px));
}
.ce-head{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);
  gap:80px;
  align-items:end;
  margin-bottom:82px;
}
.ce-head-main p{
  margin:0 0 17px;
  font-family:'Montserrat',sans-serif;
  font-size:13px;
  line-height:1;
  font-weight:800;
  letter-spacing:.22em;
  color:#1767d9;
}
.ce-head-main h2{
  margin:0;
  font-size:55px;
  line-height:1.18;
  letter-spacing:-.055em;
  font-weight:650;
  color:#101f3a;
}
.ce-head-main h2 strong{
  position:relative;
  font-weight:820;
  color:#0a4fb8;
}
.ce-head-main h2 strong::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-7px;
  height:7px;
  background:linear-gradient(90deg,rgba(37,99,235,.26),rgba(37,99,235,.04));
  transform:skewX(-18deg);
  border-radius:999px;
}
.ce-head-copy{
  max-width:530px;
  margin:0 0 7px auto;
  padding-left:28px;
  border-left:2px solid #d8e4f7;
  font-size:17px;
  line-height:1.85;
  color:#61708a;
}
.ce-head-copy b{color:#243c63;font-weight:750}

.ce-flow{
  position:relative;
  display:grid;
  grid-template-columns:.78fr repeat(3,1fr) 1.08fr;
  min-height:390px;
  border-top:1px solid #ced9ea;
  border-bottom:1px solid #ced9ea;
}
.ce-flow::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:49%;
  height:1px;
  background:#d7e1ef;
  z-index:0;
}
.ce-step{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-width:0;
  padding:38px 32px 35px;
  border-right:1px solid #dfe6f1;
  background:rgba(255,255,255,.88);
}
.ce-step:first-child{border-left:0}
.ce-step--ot{
  padding-left:8px;
  background:transparent;
}
.ce-step--final{
  padding-left:40px;
  background:linear-gradient(145deg,#0d346f 0%,#075ac5 100%);
  color:#fff;
  overflow:hidden;
}
.ce-step--final::before{
  content:"04";
  position:absolute;
  right:-25px;
  bottom:-52px;
  font-family:'Montserrat',sans-serif;
  font-size:190px;
  font-weight:800;
  line-height:1;
  color:rgba(255,255,255,.055);
}
.ce-final-tag{
  position:absolute;
  top:22px;
  right:22px;
  padding:8px 12px 7px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
  color:#d8e9ff;
}
.ce-num{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
}
.ce-num span{
  font-family:'Montserrat',sans-serif;
  font-size:72px;
  line-height:.9;
  font-weight:500;
  letter-spacing:-.06em;
  color:#152747;
}
.ce-num small{
  margin-bottom:6px;
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.16em;
  color:#8a99af;
  white-space:nowrap;
}
.ce-step:not(.ce-step--ot):not(.ce-step--final) .ce-num span{
  color:#1767d9;
}
.ce-step--final .ce-num span,
.ce-step--final .ce-num small{color:#fff}
.ce-copy{
  position:relative;
  z-index:1;
  padding-top:70px;
}
.ce-copy::before{
  content:"";
  position:absolute;
  left:0;
  top:46px;
  width:38px;
  height:3px;
  background:#1767d9;
}
.ce-step--final .ce-copy::before{background:#8cc3ff}
.ce-kicker{
  display:block;
  margin-bottom:11px;
  font-family:'Montserrat',sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  color:#7588a6;
}
.ce-step--final .ce-kicker{color:#a9cdfb}
.ce-copy h3{
  margin:0 0 21px;
  font-size:27px;
  line-height:1.35;
  font-weight:790;
  letter-spacing:-.04em;
  color:#17233a;
}
.ce-step--final .ce-copy h3{color:#fff}
.ce-copy p{
  margin:0 0 6px;
  font-size:16px;
  line-height:1.5;
  font-weight:720;
  color:#304766;
}
.ce-copy em{
  display:block;
  font-size:13px;
  line-height:1.5;
  font-style:normal;
  color:#8290a5;
}
.ce-step--final .ce-copy p{color:#fff}
.ce-step--final .ce-copy em{color:#c6daf5}

.ce-route{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:17px;
  margin:35px 0 0;
  padding:20px 30px;
  font-size:14px;
  line-height:1;
  color:#526681;
}
.ce-route span,.ce-route strong{
  white-space:nowrap;
}
.ce-route i{
  color:#a6b8d1;
  font-style:normal;
}
.ce-route strong{
  color:#0b5bc9;
  font-weight:800;
}

.ce-total{
  display:grid;
  grid-template-columns:180px 220px minmax(0,1fr);
  align-items:center;
  gap:0;
  margin-top:18px;
  padding:29px 35px;
  border-top:1px solid #d6e0ed;
  border-bottom:1px solid #d6e0ed;
}
.ce-total-label small{
  display:block;
  margin-bottom:5px;
  font-family:'Montserrat',sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  color:#1767d9;
}
.ce-total-label span{
  font-size:17px;
  font-weight:750;
  color:#1e304e;
}
.ce-total-number{
  display:flex;
  align-items:flex-end;
  gap:8px;
  padding:0 38px;
  border-left:1px solid #d9e2ef;
  border-right:1px solid #d9e2ef;
}
.ce-total-number strong{
  font-family:'Montserrat',sans-serif;
  font-size:70px;
  line-height:.85;
  font-weight:650;
  letter-spacing:-.05em;
  color:#1767d9;
}
.ce-total-number span{
  margin-bottom:5px;
  font-size:18px;
  font-weight:800;
  color:#25528f;
}
.ce-total p{
  margin:0;
  padding-left:40px;
  font-size:13px;
  line-height:1.65;
  color:#6e7c91;
}

@media(max-width:1180px){
  .curriculum-editorial .mepa-wrap{width:calc(100% - 48px)}
  .ce-head{grid-template-columns:1fr;gap:24px;margin-bottom:55px}
  .ce-head-copy{margin:0;max-width:680px}
  .ce-flow{grid-template-columns:repeat(5,1fr)}
  .ce-step{padding:30px 20px 28px}
  .ce-step--final{padding-left:26px}
  .ce-num span{font-size:58px}
  .ce-copy h3{font-size:22px}
  .ce-route{gap:11px;font-size:12px}
}
@media(max-width:820px){
  .curriculum-section .curriculum-overview.curriculum-editorial{padding:88px 0 70px}
  .curriculum-editorial .mepa-wrap{width:calc(100% - 34px)}
  .ce-head-main h2{font-size:40px}
  .ce-head-copy{font-size:15px;padding-left:18px}
  .ce-flow{
    display:block;
    min-height:0;
    border-top:0;
    border-bottom:0;
  }
  .ce-flow::before{display:none}
  .ce-step,.ce-step--ot,.ce-step--final{
    display:grid;
    grid-template-columns:96px 1fr;
    gap:20px;
    min-height:0;
    padding:25px 0;
    border-right:0;
    border-bottom:1px solid #dce4ef;
    background:transparent;
    color:inherit;
    overflow:visible;
  }
  .ce-step--final{
    margin-top:14px;
    padding:28px 22px;
    border:0;
    border-radius:14px;
    background:linear-gradient(135deg,#10386f,#075ac5);
  }
  .ce-step--final::before{font-size:120px}
  .ce-final-tag{top:18px;right:18px}
  .ce-num{display:block}
  .ce-num span{font-size:52px}
  .ce-num small{display:block;margin-top:9px}
  .ce-copy{padding-top:0}
  .ce-copy::before{display:none}
  .ce-copy h3{margin:0 0 12px;font-size:23px}
  .ce-copy h3 br{display:none}
  .ce-kicker{margin-bottom:7px}
  .ce-copy p{font-size:15px}
  .ce-copy em{font-size:13px}
  .ce-step--final .ce-copy h3,
  .ce-step--final .ce-copy p,
  .ce-step--final .ce-num span,
  .ce-step--final .ce-num small{color:#fff}
  .ce-route{
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:9px 12px;
    margin-top:24px;
    padding:20px 0;
    line-height:1.5;
  }
  .ce-total{
    grid-template-columns:1fr auto;
    gap:16px;
    padding:25px 0;
  }
  .ce-total-number{padding:0;border:0}
  .ce-total-number strong{font-size:60px}
  .ce-total p{grid-column:1/-1;padding:13px 0 0;border-top:1px solid #e0e7f1}
}
@media(max-width:480px){
  .ce-head-main h2{font-size:34px}
  .ce-step,.ce-step--ot{grid-template-columns:76px 1fr}
  .ce-num span{font-size:45px}
  .ce-copy h3{font-size:21px}
  .ce-route i{display:none}
}


/* =========================================================
   CURRICULUM EDITORIAL v2
   - 20 HOURS를 타이틀에 직접 강조
   - 설명문을 타이틀 아래로 이동
   - 의미 없던 화살표 흐름 대신 아이콘 기반 실전 프로세스
   - 5개 주차 영역의 박스감/과한 강조를 줄임
   ========================================================= */

.curriculum-section .curriculum-overview.curriculum-editorial-v2{
  padding:112px 0 88px;
  background:#fff;
}
.curriculum-editorial-v2 .mepa-wrap{
  width:min(1420px,calc(100% - 72px));
}

.ce2-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 370px;
  gap:72px;
  align-items:end;
  padding-bottom:54px;
  border-bottom:1px solid #dce4f0;
}
.ce2-title>p:first-child{
  margin:0 0 16px;
  font-family:'Montserrat',sans-serif;
  font-size:12px;
  font-weight:800;
  letter-spacing:.2em;
  color:#1767d9;
}
.ce2-title h2{
  display:flex;
  align-items:baseline;
  gap:28px;
  margin:0;
  letter-spacing:-.05em;
}
.ce2-title h2 span{
  font-size:34px;
  font-weight:760;
  color:#17233a;
}
.ce2-title h2 strong{
  font-family:'Montserrat',sans-serif;
  font-size:72px;
  line-height:.9;
  font-weight:650;
  letter-spacing:-.065em;
  color:#1767d9;
}
.ce2-title h3{
  margin:25px 0 15px;
  font-size:43px;
  line-height:1.28;
  letter-spacing:-.05em;
  font-weight:760;
  color:#14233d;
}
.ce2-intro{
  max-width:780px;
  margin:0;
  font-size:17px;
  line-height:1.8;
  color:#66758c;
}
.ce2-intro b{
  color:#253e65;
  font-weight:760;
}

.ce2-summary{
  padding:24px 0 6px 28px;
  border-left:1px solid #cad8eb;
}
.ce2-summary span{
  display:block;
  margin-bottom:7px;
  font-family:'Montserrat',sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  color:#1767d9;
}
.ce2-summary strong{
  display:block;
  margin-bottom:14px;
  font-family:'Montserrat',sans-serif;
  font-size:24px;
  font-weight:700;
  color:#163768;
}
.ce2-summary p{
  margin:0;
  font-size:14px;
  line-height:1.75;
  color:#7a879a;
}

.ce2-program{
  display:grid;
  grid-template-columns:.72fr repeat(3,1fr) 1.12fr;
  margin-top:48px;
  border-top:1px solid #d5dfed;
  border-bottom:1px solid #d5dfed;
}
.ce2-program article{
  position:relative;
  min-height:275px;
  padding:34px 28px 30px;
  border-right:1px solid #e0e6ef;
  background:#fff;
}
.ce2-program article:first-child{
  padding-left:4px;
}
.ce2-program article:last-child{
  border-right:0;
}
.ce2-program article b{
  display:block;
  margin-bottom:5px;
  font-family:'Montserrat',sans-serif;
  font-size:54px;
  line-height:1;
  font-weight:520;
  letter-spacing:-.055em;
  color:#1767d9;
}
.ce2-program article:first-child b{
  color:#17233a;
}
.ce2-program article span{
  display:block;
  margin-bottom:43px;
  font-family:'Montserrat',sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
  color:#8996a9;
}
.ce2-program article h4{
  margin:0 0 14px;
  font-size:22px;
  line-height:1.38;
  font-weight:760;
  letter-spacing:-.035em;
  color:#17233a;
}
.ce2-program article p{
  margin:0;
  font-size:13px;
  line-height:1.55;
  color:#7c899d;
}
.ce2-program .is-final{
  background:#f4f7fc;
}
.ce2-program .is-final::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:5px;
  height:100%;
  background:#1767d9;
}
.ce2-program .is-final b{
  color:#0e4fad;
}
.ce2-program .is-final h4{
  color:#0c3878;
}

.ce2-practice{
  display:grid;
  grid-template-columns:330px 1fr;
  gap:44px;
  align-items:center;
  margin-top:44px;
  padding:32px 36px;
  background:#f8faff;
  border-radius:20px;
}
.ce2-practice-title span{
  display:block;
  margin-bottom:8px;
  font-family:'Montserrat',sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  color:#1767d9;
}
.ce2-practice-title h3{
  margin:0 0 9px;
  font-size:24px;
  line-height:1.35;
  letter-spacing:-.035em;
  color:#182943;
}
.ce2-practice-title p{
  margin:0;
  font-size:13px;
  line-height:1.7;
  color:#76859a;
}
.ce2-practice-flow{
  display:grid;
  grid-template-columns:repeat(11,auto);
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.ce2-practice-flow div{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  min-width:78px;
}
.ce2-practice-flow img{
  width:42px;
  height:42px;
  object-fit:contain;
  display:block;
}
.ce2-practice-flow span{
  font-size:12px;
  font-weight:700;
  color:#425774;
  white-space:nowrap;
}
.ce2-practice-flow i{
  font-family:'Montserrat',sans-serif;
  font-size:10px;
  font-style:normal;
  font-weight:800;
  color:#b3bfd0;
}
.ce2-practice-flow .is-last span{
  color:#0b59c7;
}
.ce2-note{
  margin:17px 0 0;
  text-align:right;
  font-size:12px;
  color:#8895a8;
}

@media(max-width:1100px){
  .curriculum-editorial-v2 .mepa-wrap{width:calc(100% - 48px)}
  .ce2-head{grid-template-columns:1fr;gap:28px}
  .ce2-summary{max-width:680px}
  .ce2-title h2 strong{font-size:64px}
  .ce2-title h3{font-size:38px}
  .ce2-program article{padding:30px 20px}
  .ce2-program article b{font-size:46px}
  .ce2-program article h4{font-size:19px}
  .ce2-practice{grid-template-columns:1fr;gap:26px}
}
@media(max-width:820px){
  .curriculum-section .curriculum-overview.curriculum-editorial-v2{padding:84px 0 68px}
  .curriculum-editorial-v2 .mepa-wrap{width:calc(100% - 34px)}
  .ce2-head{padding-bottom:36px}
  .ce2-title h2{display:block}
  .ce2-title h2 span{display:block;margin-bottom:13px;font-size:27px}
  .ce2-title h2 strong{font-size:57px}
  .ce2-title h3{font-size:32px;margin-top:22px}
  .ce2-intro{font-size:15px}
  .ce2-summary{padding-left:18px}
  .ce2-program{display:block;margin-top:35px;border-top:0}
  .ce2-program article,
  .ce2-program article:first-child,
  .ce2-program .is-final{
    min-height:0;
    padding:24px 0;
    border-right:0;
    border-bottom:1px solid #e0e6ef;
    background:#fff;
  }
  .ce2-program .is-final{padding-left:18px}
  .ce2-program article b{font-size:42px}
  .ce2-program article span{margin-bottom:14px}
  .ce2-program article h4 br{display:none}
  .ce2-practice{padding:27px 20px}
  .ce2-practice-flow{
    grid-template-columns:repeat(3,1fr);
    gap:22px 10px;
  }
  .ce2-practice-flow i{display:none}
  .ce2-practice-flow div{min-width:0}
  .ce2-practice-flow span{white-space:normal;text-align:center}
  .ce2-note{text-align:left;line-height:1.6}
}


/* =========================================================
   CURRICULUM BRAND v3
   MPEA logo palette: navy + pink, blue only as a secondary accent
   Less "AI UI": fewer boxes, asymmetrical editorial composition
   ========================================================= */
.curriculum-section .curriculum-overview.curriculum-brand-v3{
  --cv3-navy:#17182f;
  --cv3-pink:#ec3ea8;
  --cv3-pink-soft:#fff0f8;
  --cv3-blue:#3e78d7;
  --cv3-ink:#1d2436;
  --cv3-muted:#71798a;
  --cv3-line:#e7e2e7;
  padding:118px 0 90px;
  background:
    radial-gradient(circle at 85% 4%, rgba(236,62,168,.075), transparent 23%),
    linear-gradient(180deg,#fff 0%,#fffdfd 100%);
}
.curriculum-brand-v3 .mepa-wrap{
  width:min(1390px,calc(100% - 72px));
}
.cv3-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 250px;
  gap:80px;
  align-items:end;
  padding-bottom:58px;
}
.cv3-kicker{
  margin:0 0 17px;
  font-family:'Montserrat',sans-serif;
  font-size:12px;
  font-weight:800;
  letter-spacing:.2em;
  color:var(--cv3-pink);
}
.cv3-head-copy h2{
  margin:0;
  font-size:50px;
  line-height:1.22;
  letter-spacing:-.055em;
  font-weight:720;
  color:var(--cv3-navy);
}
.cv3-head-copy h2 strong{
  position:relative;
  display:inline-block;
  color:var(--cv3-navy);
  font-weight:850;
  z-index:1;
}
.cv3-head-copy h2 strong::after{
  content:"";
  position:absolute;
  left:-4px;
  right:-6px;
  bottom:4px;
  height:13px;
  z-index:-1;
  background:rgba(236,62,168,.22);
  transform:rotate(-1deg);
  border-radius:3px 8px 4px 7px;
}
.cv3-lead{
  margin:28px 0 0;
  max-width:760px;
  font-size:18px;
  line-height:1.84;
  color:#697286;
}
.cv3-lead b{
  color:#30384b;
  font-weight:800;
}
.cv3-hours{
  position:relative;
  align-self:center;
  justify-self:end;
  width:218px;
  height:218px;
  border:1px solid rgba(236,62,168,.34);
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  transform:rotate(2deg);
  background:rgba(255,255,255,.75);
}
.cv3-hours::after{
  content:"";
  position:absolute;
  width:184px;
  height:184px;
  border-radius:50%;
  border:1px solid rgba(62,120,215,.16);
  transform:translate(9px,-7px);
}
.cv3-hours span{
  font-family:'Montserrat',sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
  color:#ad7192;
}
.cv3-hours strong{
  font-family:'Montserrat',sans-serif;
  margin-top:2px;
  font-size:82px;
  line-height:.92;
  font-weight:580;
  letter-spacing:-.08em;
  color:var(--cv3-pink);
}
.cv3-hours em{
  font-family:'Montserrat',sans-serif;
  font-size:17px;
  font-style:normal;
  font-weight:800;
  letter-spacing:.08em;
  color:var(--cv3-navy);
}

.cv3-ot{
  display:grid;
  grid-template-columns:105px 1fr auto auto;
  gap:26px;
  align-items:center;
  padding:24px 0;
  border-top:1px solid var(--cv3-line);
  border-bottom:1px solid var(--cv3-line);
}
.cv3-ot-num{
  font-family:'Montserrat',sans-serif;
  font-size:49px;
  line-height:1;
  font-weight:540;
  color:var(--cv3-navy);
}
.cv3-ot span{
  display:block;
  margin-bottom:3px;
  font-family:'Montserrat',sans-serif;
  font-size:9px;
  font-weight:800;
  letter-spacing:.15em;
  color:#9b8f98;
}
.cv3-ot h3{
  margin:0;
  font-size:20px;
  letter-spacing:-.035em;
  color:#282d3c;
}
.cv3-ot p,
.cv3-ot>strong{
  margin:0;
  white-space:nowrap;
  font-size:14px;
  font-weight:650;
  color:#747c8b;
}
.cv3-ot>strong{
  color:#454e62;
}

.cv3-weeks{
  display:grid;
  grid-template-columns:1fr 1fr;
  margin-top:55px;
  border-top:1px solid var(--cv3-line);
  border-left:1px solid var(--cv3-line);
}
.cv3-week{
  position:relative;
  display:grid;
  grid-template-columns:120px 1fr;
  min-height:260px;
  padding:40px 42px 38px;
  border-right:1px solid var(--cv3-line);
  border-bottom:1px solid var(--cv3-line);
  background:#fff;
}
.cv3-week:nth-child(2),
.cv3-week:nth-child(3){
  background:#fffafd;
}
.cv3-week-num{
  font-family:'Montserrat',sans-serif;
  font-size:76px;
  line-height:.9;
  font-weight:510;
  letter-spacing:-.07em;
  color:#bfc4ce;
}
.cv3-week--pink .cv3-week-num{
  color:#e894c5;
}
.cv3-week--final .cv3-week-num{
  color:var(--cv3-pink);
}
.cv3-week-body span{
  display:block;
  margin-bottom:14px;
  font-family:'Montserrat',sans-serif;
  font-size:9px;
  font-weight:800;
  letter-spacing:.16em;
  color:#a09aa1;
}
.cv3-week-body h3{
  display:inline;
  position:relative;
  margin:0;
  font-size:28px;
  line-height:1.35;
  font-weight:790;
  letter-spacing:-.045em;
  color:var(--cv3-ink);
}
.cv3-week--final .cv3-week-body h3::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-4px;
  height:7px;
  background:rgba(236,62,168,.18);
}
.cv3-week-body p{
  max-width:420px;
  margin:19px 0 23px;
  font-size:15px;
  line-height:1.75;
  color:#757d8c;
}
.cv3-week-body em{
  font-size:13px;
  font-style:normal;
  font-weight:650;
  color:#4f5b70;
}
.cv3-week--final::before{
  content:"FINAL";
  position:absolute;
  right:28px;
  top:28px;
  font-family:'Montserrat',sans-serif;
  font-size:9px;
  font-weight:800;
  letter-spacing:.16em;
  color:var(--cv3-pink);
}

.cv3-process{
  display:grid;
  grid-template-columns:330px 1fr;
  gap:58px;
  align-items:center;
  margin-top:58px;
  padding:36px 0 28px;
  border-top:1px solid var(--cv3-line);
  border-bottom:1px solid var(--cv3-line);
}
.cv3-process-title span{
  display:block;
  margin-bottom:7px;
  font-family:'Montserrat',sans-serif;
  font-size:9px;
  font-weight:800;
  letter-spacing:.17em;
  color:var(--cv3-pink);
}
.cv3-process-title h3{
  margin:0 0 10px;
  font-size:25px;
  line-height:1.38;
  letter-spacing:-.04em;
  color:var(--cv3-navy);
}
.cv3-process-list{
  position:relative;
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(6,1fr);
}
.cv3-process-list::before{
  content:"";
  position:absolute;
  left:7%;
  right:7%;
  top:18px;
  height:1px;
  background:linear-gradient(90deg,#e7d6e1,#d7dfed);
}
.cv3-process-list li{
  position:relative;
  z-index:1;
  text-align:center;
}
.cv3-process-list b{
  width:37px;
  height:37px;
  margin:0 auto 12px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid #d9dce5;
  font-family:'Montserrat',sans-serif;
  font-size:10px;
  font-weight:800;
  color:#8992a3;
}
.cv3-process-list li:nth-child(even) b{
  border-color:#f2bfdc;
  color:#d94a9e;
  background:#fff8fc;
}
.cv3-process-list .is-last b{
  background:var(--cv3-pink);
  border-color:var(--cv3-pink);
  color:#fff;
}
.cv3-process-list span{
  display:block;
  font-size:12px;
  font-weight:700;
  color:#526077;
}
.cv3-process-list .is-last span{
  color:#b52d7c;
}
.cv3-note{
  margin:14px 0 0;
  text-align:right;
  font-size:12px;
  color:#979ba5;
}

@media(max-width:1000px){
  .curriculum-brand-v3 .mepa-wrap{width:calc(100% - 48px)}
  .cv3-head{grid-template-columns:1fr 190px;gap:35px}
  .cv3-head-copy h2{font-size:43px}
  .cv3-hours{width:170px;height:170px}
  .cv3-hours::after{width:145px;height:145px}
  .cv3-hours strong{font-size:65px}
  .cv3-week{grid-template-columns:95px 1fr;padding:32px 28px}
  .cv3-week-num{font-size:61px}
  .cv3-process{grid-template-columns:1fr;gap:30px}
}
@media(max-width:720px){
  .curriculum-section .curriculum-overview.curriculum-brand-v3{padding:82px 0 65px}
  .curriculum-brand-v3 .mepa-wrap{width:calc(100% - 34px)}
  .cv3-head{display:block;padding-bottom:40px}
  .cv3-head-copy h2{font-size:36px}
  .cv3-lead{font-size:15px}
  .cv3-hours{margin:32px 0 0;width:145px;height:145px}
  .cv3-hours::after{width:122px;height:122px}
  .cv3-hours strong{font-size:56px}
  .cv3-ot{
    grid-template-columns:66px 1fr;
    gap:13px;
  }
  .cv3-ot p,.cv3-ot>strong{grid-column:2;white-space:normal}
  .cv3-weeks{display:block;margin-top:38px}
  .cv3-week{grid-template-columns:76px 1fr;min-height:0;padding:28px 22px}
  .cv3-week-num{font-size:52px}
  .cv3-week-body h3{font-size:23px}
  .cv3-process{margin-top:38px;padding-top:28px}
  .cv3-process-list{grid-template-columns:repeat(3,1fr);gap:24px 10px}
  .cv3-process-list::before{display:none}
  .cv3-note{text-align:left;line-height:1.6}
}


/* =========================================================
   CURRICULUM BROCHURE v4
   "디자이너가 편집한 교육 브로슈어를 웹으로 옮긴 느낌"
   사진/아이콘/카드 UI 최소화, 타이포/여백/비대칭 리듬 중심
   ========================================================= */
.curriculum-section .curriculum-overview.curriculum-brochure-v4{
  --cb4-navy:#17182f;
  --cb4-pink:#ef4da8;
  --cb4-pink-soft:#fff0f7;
  --cb4-blue:#496fae;
  --cb4-ink:#24283a;
  --cb4-muted:#777d8c;
  --cb4-line:#e7e1e5;
  padding:122px 0 94px;
  background:#fffdfa;
}
.curriculum-brochure-v4 .mepa-wrap{
  width:min(1360px,calc(100% - 72px));
}
.cb4-head{
  position:relative;
  padding-bottom:68px;
}
.cb4-kicker{
  margin:0 0 18px;
  font-family:'Montserrat',sans-serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:.22em;
  color:var(--cb4-pink);
}
.cb4-title-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:60px;
}
.cb4-title-copy h2{
  margin:0 0 14px;
  font-size:34px;
  line-height:1.2;
  font-weight:720;
  letter-spacing:-.045em;
  color:var(--cb4-navy);
}
.cb4-title-copy>p{
  margin:0;
  font-size:49px;
  line-height:1.28;
  font-weight:520;
  letter-spacing:-.055em;
  color:var(--cb4-navy);
}
.cb4-title-copy strong{
  position:relative;
  font-weight:830;
  color:var(--cb4-navy);
}
.cb4-title-copy strong::after{
  content:"";
  position:absolute;
  left:-3px;
  right:-7px;
  bottom:2px;
  height:11px;
  background:rgba(239,77,168,.18);
  z-index:-1;
  transform:rotate(-1.2deg);
}
.cb4-hours{
  flex:0 0 auto;
  display:flex;
  align-items:flex-end;
  gap:8px;
  padding:0 10px 7px 0;
  color:var(--cb4-pink);
}
.cb4-hours span{
  margin-bottom:11px;
  font-size:18px;
  font-weight:700;
  color:#8f7e88;
}
.cb4-hours strong{
  font-family:'Montserrat',sans-serif;
  font-size:104px;
  line-height:.77;
  font-weight:520;
  letter-spacing:-.09em;
  color:var(--cb4-pink);
}
.cb4-hours em{
  margin-bottom:10px;
  font-size:25px;
  font-style:normal;
  font-weight:800;
  color:var(--cb4-navy);
}
.cb4-intro{
  max-width:840px;
  margin:36px 0 0;
  padding-left:22px;
  border-left:2px solid rgba(239,77,168,.35);
  font-size:17px;
  line-height:1.85;
  color:#6f7481;
}
.cb4-intro b{
  color:#34394a;
  font-weight:800;
}

.cb4-orientation{
  display:grid;
  grid-template-columns:100px 1fr;
  align-items:center;
  gap:26px;
  padding:25px 0 27px;
  border-top:1px solid var(--cb4-line);
  border-bottom:1px solid var(--cb4-line);
}
.cb4-orientation-no{
  font-family:'Montserrat',sans-serif;
  font-size:47px;
  line-height:1;
  font-weight:500;
  letter-spacing:-.06em;
  color:#adb0b8;
}
.cb4-orientation-copy{
  display:grid;
  grid-template-columns:120px 1fr auto;
  gap:24px;
  align-items:center;
}
.cb4-orientation-copy span{
  font-size:12px;
  font-weight:800;
  color:#9a8c96;
}
.cb4-orientation-copy h3{
  margin:0;
  font-size:21px;
  font-weight:760;
  letter-spacing:-.035em;
  color:var(--cb4-ink);
}
.cb4-orientation-copy p{
  margin:0;
  font-size:13px;
  color:#818897;
}

.cb4-weeks{
  display:grid;
  grid-template-columns:1fr 1fr;
  margin-top:68px;
  border-top:1px solid var(--cb4-line);
}
.cb4-week{
  position:relative;
  min-height:330px;
  padding:48px 44px 42px;
  border-bottom:1px solid var(--cb4-line);
}
.cb4-week:nth-child(odd){
  border-right:1px solid var(--cb4-line);
}
.cb4-week-01,
.cb4-week-03{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:28px;
}
.cb4-week-02,
.cb4-week-04{
  display:grid;
  grid-template-columns:1fr 150px;
  gap:28px;
}
.cb4-week-02{
  background:linear-gradient(180deg,#fffdfd 0%,#fff9fc 100%);
}
.cb4-week-04{
  background:#fbf7fa;
}
.cb4-week-no{
  align-self:start;
  font-family:'Montserrat',sans-serif;
  font-size:112px;
  line-height:.78;
  font-weight:420;
  letter-spacing:-.09em;
  color:#d8d9dd;
}
.cb4-week-02 .cb4-week-no,
.cb4-week-03 .cb4-week-no{
  color:#f3bfdc;
}
.cb4-week-04 .cb4-week-no{
  color:var(--cb4-pink);
  opacity:.84;
}
.cb4-week-copy{
  padding-top:5px;
}
.cb4-week-copy>span{
  display:block;
  margin-bottom:18px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  color:#9b8793;
}
.cb4-week-copy h3{
  margin:0;
  font-size:34px;
  line-height:1.3;
  font-weight:600;
  letter-spacing:-.05em;
  color:var(--cb4-ink);
}
.cb4-week-copy h3 b{
  font-weight:850;
  color:var(--cb4-navy);
}
.cb4-week-copy p{
  max-width:420px;
  margin:24px 0 25px;
  font-size:15px;
  line-height:1.8;
  color:#747b89;
}
.cb4-week-copy em{
  display:inline-block;
  padding-top:10px;
  border-top:1px solid #ddd5da;
  font-size:13px;
  font-style:normal;
  font-weight:650;
  color:#555e70;
}
.cb4-final-mark{
  position:absolute;
  right:38px;
  top:24px;
  font-family:'Montserrat',sans-serif;
  font-size:9px;
  font-weight:800;
  letter-spacing:.19em;
  color:var(--cb4-pink);
}
.cb4-week-04 .cb4-week-copy h3 b{
  position:relative;
}
.cb4-week-04 .cb4-week-copy h3 b::after{
  content:"";
  position:absolute;
  left:-3px;
  right:-4px;
  bottom:2px;
  height:9px;
  background:rgba(239,77,168,.16);
  z-index:-1;
}

.cb4-process{
  display:grid;
  grid-template-columns:310px 1fr;
  gap:54px;
  align-items:start;
  margin-top:64px;
  padding:34px 0 22px;
  border-top:1px solid var(--cb4-line);
  border-bottom:1px solid var(--cb4-line);
}
.cb4-process-head p{
  margin:0;
  font-size:18px;
  line-height:1.6;
  font-weight:730;
  color:var(--cb4-navy);
}
.cb4-process-copy{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  align-items:baseline;
  font-size:22px;
  line-height:1.6;
  letter-spacing:-.035em;
}
.cb4-process-copy span{
  color:#7e8490;
}
.cb4-process-copy b{
  font-weight:780;
  color:#4a5570;
}
.cb4-process-copy strong{
  position:relative;
  font-weight:850;
  color:var(--cb4-pink);
}
.cb4-process-copy strong::before{
  content:"";
  position:absolute;
  left:-5px;
  right:-5px;
  bottom:1px;
  height:8px;
  background:rgba(239,77,168,.15);
  z-index:-1;
}

.cb4-note{
  margin:14px 0 0;
  text-align:right;
  font-size:12px;
  color:#9699a2;
}

@media(max-width:1020px){
  .curriculum-brochure-v4 .mepa-wrap{width:calc(100% - 48px)}
  .cb4-title-copy>p{font-size:42px}
  .cb4-hours strong{font-size:88px}
  .cb4-weeks{grid-template-columns:1fr}
  .cb4-week:nth-child(odd){border-right:0}
  .cb4-week-01,.cb4-week-02,.cb4-week-03,.cb4-week-04{
    grid-template-columns:130px 1fr;
  }
  .cb4-week-02 .cb4-week-copy,
  .cb4-week-04 .cb4-week-copy{order:2}
  .cb4-week-02 .cb4-week-no,
  .cb4-week-04 .cb4-week-no{order:1}
  .cb4-process{grid-template-columns:1fr;gap:22px}
}
@media(max-width:720px){
  .curriculum-section .curriculum-overview.curriculum-brochure-v4{padding:82px 0 66px}
  .curriculum-brochure-v4 .mepa-wrap{width:calc(100% - 34px)}
  .cb4-title-row{display:block}
  .cb4-title-copy h2{font-size:27px}
  .cb4-title-copy>p{font-size:34px}
  .cb4-hours{margin-top:34px;justify-content:flex-start}
  .cb4-hours strong{font-size:75px}
  .cb4-intro{font-size:15px}
  .cb4-orientation{grid-template-columns:70px 1fr}
  .cb4-orientation-copy{display:block}
  .cb4-orientation-copy span{display:block;margin-bottom:5px}
  .cb4-orientation-copy h3{font-size:19px;margin-bottom:7px}
  .cb4-weeks{margin-top:45px}
  .cb4-week,.cb4-week-01,.cb4-week-02,.cb4-week-03,.cb4-week-04{
    grid-template-columns:80px 1fr;
    min-height:0;
    padding:30px 20px;
    gap:17px;
  }
  .cb4-week-no{font-size:62px}
  .cb4-week-copy h3{font-size:26px}
  .cb4-week-copy p{font-size:14px;margin:17px 0}
  .cb4-process-copy{font-size:18px}
  .cb4-note{text-align:left;line-height:1.6}
}


/* =========================================================
   CURRICULUM LANDING v5
   brochure editorial + landing page density
   no photo / no icon set / less UI component feeling
   ========================================================= */
.curriculum-section .curriculum-overview.curriculum-landing-v5{
  --cl5-navy:#17182f;
  --cl5-pink:#ec489f;
  --cl5-pink2:#f7b7d8;
  --cl5-rose:#fff4f8;
  --cl5-warm:#fbf8f7;
  --cl5-ink:#272a39;
  --cl5-muted:#737988;
  --cl5-line:#e7e0e4;
  padding:118px 0 96px;
  background:
    radial-gradient(circle at 88% 5%, rgba(236,72,159,.08), transparent 22%),
    linear-gradient(180deg,#fff 0%,#fffdfd 100%);
}
.curriculum-landing-v5 .mepa-wrap{
  width:min(1380px,calc(100% - 72px));
}

/* head */
.cl5-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:80px;
  align-items:end;
  padding-bottom:64px;
}
.cl5-kicker{
  margin:0 0 17px;
  font-family:'Montserrat',sans-serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:.22em;
  color:var(--cl5-pink);
}
.cl5-head-copy h2{
  margin:0 0 16px;
  font-size:34px;
  font-weight:720;
  letter-spacing:-.045em;
  color:var(--cl5-navy);
}
.cl5-head-copy h3{
  margin:0;
  font-size:51px;
  line-height:1.26;
  font-weight:540;
  letter-spacing:-.055em;
  color:var(--cl5-navy);
}
.cl5-head-copy h3 strong{
  position:relative;
  font-weight:850;
  z-index:1;
}
.cl5-head-copy h3 strong::after{
  content:"";
  position:absolute;
  left:-4px; right:-5px; bottom:2px;
  height:12px;
  z-index:-1;
  background:rgba(236,72,159,.18);
  transform:rotate(-.7deg);
}
.cl5-intro{
  max-width:760px;
  margin:28px 0 0;
  font-size:17px;
  line-height:1.85;
  color:#6d7381;
}
.cl5-intro b{color:#34394a;font-weight:800}
.cl5-head-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  margin-top:28px;
}
.cl5-head-points span{
  position:relative;
  padding-left:13px;
  font-size:13px;
  font-weight:700;
  color:#555c6e;
}
.cl5-head-points span::before{
  content:"";
  position:absolute;
  left:0; top:8px;
  width:5px; height:5px;
  border-radius:50%;
  background:var(--cl5-pink);
}
.cl5-hours{
  align-self:center;
  padding:30px 28px;
  border-top:4px solid var(--cl5-pink);
  border-bottom:1px solid var(--cl5-line);
  background:linear-gradient(180deg,#fff9fc 0%,#fff 100%);
}
.cl5-hours small{
  display:block;
  margin-bottom:13px;
  font-family:'Montserrat',sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
  color:#a66787;
}
.cl5-hours>div{
  display:flex;
  align-items:flex-end;
  gap:8px;
}
.cl5-hours span{
  margin-bottom:11px;
  font-size:16px;
  color:#8e7d88;
  font-weight:700;
}
.cl5-hours strong{
  font-family:'Montserrat',sans-serif;
  font-size:94px;
  line-height:.78;
  font-weight:540;
  letter-spacing:-.085em;
  color:var(--cl5-pink);
}
.cl5-hours em{
  margin-bottom:9px;
  font-size:24px;
  font-style:normal;
  font-weight:850;
  color:var(--cl5-navy);
}
.cl5-hours p{
  margin:18px 0 0;
  font-size:13px;
  color:#858b98;
}

/* orientation */
.cl5-orientation{
  display:grid;
  grid-template-columns:110px minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  padding:26px 0;
  border-top:1px solid var(--cl5-line);
  border-bottom:1px solid var(--cl5-line);
}
.cl5-ot-mark{
  font-family:'Montserrat',sans-serif;
  font-size:50px;
  line-height:1;
  font-weight:510;
  letter-spacing:-.06em;
  color:#b4b5bc;
}
.cl5-ot-copy span{
  display:block;
  margin-bottom:5px;
  font-size:11px;
  font-weight:800;
  color:#a18b98;
}
.cl5-ot-copy h3{
  margin:0 0 7px;
  font-size:22px;
  font-weight:780;
  letter-spacing:-.035em;
  color:#292e3e;
}
.cl5-ot-copy p{
  margin:0;
  font-size:13px;
  color:#858b97;
}
.cl5-ot-time{
  text-align:right;
}
.cl5-ot-time b{
  display:block;
  margin-bottom:5px;
  font-size:14px;
  color:#464e61;
}
.cl5-ot-time span{
  font-size:12px;
  color:#8b919d;
}

/* 4 weeks */
.cl5-weeks{
  display:grid;
  grid-template-columns:1fr 1fr;
  margin-top:58px;
  border-top:1px solid var(--cl5-line);
  border-left:1px solid var(--cl5-line);
}
.cl5-week{
  position:relative;
  min-height:360px;
  padding:48px 44px 42px;
  border-right:1px solid var(--cl5-line);
  border-bottom:1px solid var(--cl5-line);
  overflow:hidden;
}
.cl5-week-01{background:#fff}
.cl5-week-02{background:linear-gradient(145deg,#fff 0%,#fff7fb 100%)}
.cl5-week-03{background:linear-gradient(145deg,#fffdfa 0%,#fff 100%)}
.cl5-week-04{background:linear-gradient(145deg,#fff8fc 0%,#fbf6fa 100%)}
.cl5-eng{
  position:absolute;
  right:28px;
  top:24px;
  font-family:'Montserrat',sans-serif;
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
  color:#b8aeb5;
}
.cl5-week-no{
  position:absolute;
  right:-4px;
  bottom:-28px;
  font-family:'Montserrat',sans-serif;
  font-size:170px;
  line-height:1;
  font-weight:430;
  letter-spacing:-.085em;
  color:rgba(206,207,213,.32);
}
.cl5-week-02 .cl5-week-no,
.cl5-week-03 .cl5-week-no{color:rgba(241,179,213,.34)}
.cl5-week-04 .cl5-week-no{color:rgba(236,72,159,.20)}
.cl5-week-copy{
  position:relative;
  z-index:2;
  max-width:440px;
}
.cl5-week-label{
  display:block;
  margin-bottom:15px;
  font-size:11px;
  font-weight:800;
  color:#9d8995;
}
.cl5-week-copy h3{
  margin:0;
  font-size:36px;
  line-height:1.3;
  font-weight:610;
  letter-spacing:-.05em;
  color:var(--cl5-ink);
}
.cl5-week-copy h3 b{
  font-weight:860;
  color:var(--cl5-navy);
}
.cl5-week-copy p{
  margin:22px 0 19px;
  max-width:390px;
  font-size:15px;
  line-height:1.8;
  color:#737a88;
}
.cl5-week-copy ul{
  display:flex;
  gap:10px 18px;
  flex-wrap:wrap;
  margin:0 0 26px;
  padding:0;
  list-style:none;
}
.cl5-week-copy li{
  position:relative;
  padding-left:12px;
  font-size:12px;
  font-weight:700;
  color:#5f6574;
}
.cl5-week-copy li::before{
  content:"";
  position:absolute;
  left:0; top:7px;
  width:4px; height:4px;
  border-radius:50%;
  background:var(--cl5-pink);
}
.cl5-week-copy em{
  display:inline-block;
  padding-top:9px;
  border-top:1px solid #ddd5db;
  font-size:13px;
  font-style:normal;
  font-weight:650;
  color:#565f70;
}
.cl5-week-04 .cl5-week-copy h3 b{
  position:relative;
  z-index:1;
}
.cl5-week-04 .cl5-week-copy h3 b::after{
  content:"";
  position:absolute;
  left:-2px; right:-4px; bottom:1px;
  height:9px;
  z-index:-1;
  background:rgba(236,72,159,.16);
}

/* process */
.cl5-process{
  display:grid;
  grid-template-columns:300px 1fr;
  gap:48px;
  align-items:center;
  margin-top:56px;
  padding:34px 0;
  border-top:1px solid var(--cl5-line);
  border-bottom:1px solid var(--cl5-line);
}
.cl5-process-kicker{
  margin:0 0 7px;
  font-size:11px;
  font-weight:800;
  color:var(--cl5-pink);
}
.cl5-process-copy h3{
  margin:0;
  font-size:25px;
  line-height:1.45;
  letter-spacing:-.04em;
  color:var(--cl5-navy);
}
.cl5-process-steps{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:12px;
}
.cl5-process-steps div{
  position:relative;
  padding-top:22px;
  border-top:1px solid #dcd7db;
}
.cl5-process-steps div::before{
  content:"";
  position:absolute;
  top:-4px; left:0;
  width:7px; height:7px;
  border-radius:50%;
  background:#c7c1c6;
}
.cl5-process-steps .is-last::before{
  background:var(--cl5-pink);
}
.cl5-process-steps small{
  display:block;
  margin-bottom:7px;
  font-family:'Montserrat',sans-serif;
  font-size:9px;
  font-weight:800;
  color:#aaa1a7;
}
.cl5-process-steps span{
  font-size:12px;
  font-weight:730;
  color:#555e6f;
}
.cl5-process-steps .is-last span{
  color:#bb2f7e;
}

.cl5-closing{
  display:flex;
  justify-content:space-between;
  gap:40px;
  align-items:flex-end;
  margin-top:46px;
}
.cl5-closing p{
  margin:0;
  font-size:23px;
  line-height:1.55;
  letter-spacing:-.04em;
  color:#626877;
}
.cl5-closing p strong{
  color:var(--cl5-navy);
  font-weight:850;
}
.cl5-closing span{
  font-size:12px;
  color:#999ca5;
  text-align:right;
}

@media(max-width:1020px){
  .curriculum-landing-v5 .mepa-wrap{width:calc(100% - 48px)}
  .cl5-head{grid-template-columns:1fr 280px;gap:40px}
  .cl5-head-copy h3{font-size:43px}
  .cl5-hours strong{font-size:78px}
  .cl5-weeks{grid-template-columns:1fr}
  .cl5-week{min-height:320px}
  .cl5-process{grid-template-columns:1fr;gap:28px}
}
@media(max-width:720px){
  .curriculum-section .curriculum-overview.curriculum-landing-v5{padding:82px 0 66px}
  .curriculum-landing-v5 .mepa-wrap{width:calc(100% - 34px)}
  .cl5-head{display:block;padding-bottom:44px}
  .cl5-head-copy h2{font-size:27px}
  .cl5-head-copy h3{font-size:34px}
  .cl5-intro{font-size:15px}
  .cl5-hours{margin-top:34px}
  .cl5-hours strong{font-size:68px}
  .cl5-orientation{grid-template-columns:64px 1fr}
  .cl5-ot-time{grid-column:2;text-align:left}
  .cl5-weeks{margin-top:40px}
  .cl5-week{min-height:300px;padding:32px 22px}
  .cl5-week-copy h3{font-size:28px}
  .cl5-week-no{font-size:120px}
  .cl5-process-steps{grid-template-columns:repeat(3,1fr);gap:24px 10px}
  .cl5-closing{display:block}
  .cl5-closing p{font-size:20px}
  .cl5-closing span{display:block;margin-top:22px;text-align:left;line-height:1.6}
}


/* =========================================================
   CURRICULUM CAPTURE MATCH v11
   사용자가 선택한 캡처 구조 기준
   - 20 hours 소문자
   - 숫자 축소
   - 설명/제목 확대
   ========================================================= */
.curriculum-section .curriculum-overview.curriculum-capture-v11{
  --cc-blue:#1965d8;
  --cc-navy:#121b36;
  --cc-text:#68768d;
  --cc-line:#dce4ef;
  --cc-soft:#f4f7fb;
  padding:0;
  background:#fff;
}
.curriculum-capture-v11 .mepa-wrap{
  width:min(1440px,calc(100% - 80px));
}

/* top */
.cc11-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 370px;
  gap:90px;
  align-items:end;
  padding:72px 0 66px;
  border-bottom:1px solid var(--cc-line);
}
.cc11-kicker{
  margin:0 0 22px;
  font-family:'Montserrat',sans-serif;
  font-size:13px;
  font-weight:850;
  letter-spacing:.18em;
  color:var(--cc-blue);
}
.cc11-title-row{
  display:flex;
  align-items:flex-end;
  gap:28px;
  margin-bottom:22px;
}
.cc11-title-row h2{
  margin:0 0 8px;
  font-size:37px;
  line-height:1;
  font-weight:850;
  letter-spacing:-.05em;
  color:var(--cc-navy);
}
.cc11-hours{
  display:flex;
  align-items:flex-end;
  gap:8px;
}
.cc11-hours strong{
  font-family:'Montserrat',sans-serif;
  font-size:76px;
  line-height:.82;
  font-weight:760;
  letter-spacing:-.07em;
  color:var(--cc-blue);
}
.cc11-hours span{
  margin-bottom:8px;
  font-family:'Montserrat',sans-serif;
  font-size:31px;
  line-height:1;
  font-weight:700;
  letter-spacing:-.035em;
  color:var(--cc-blue);
  text-transform:none;
}
.cc11-main>h3{
  margin:0;
  font-size:49px;
  line-height:1.28;
  font-weight:820;
  letter-spacing:-.055em;
  color:var(--cc-navy);
}
.cc11-intro{
  margin:24px 0 0;
  font-size:18px;
  line-height:1.75;
  color:var(--cc-text);
}
.cc11-intro strong{
  color:#31415b;
  font-weight:850;
}
.cc11-program{
  padding:24px 0 10px 30px;
  border-left:1px solid #bdcde3;
}
.cc11-program small{
  display:block;
  margin-bottom:8px;
  font-family:'Montserrat',sans-serif;
  font-size:10px;
  font-weight:850;
  letter-spacing:.13em;
  color:var(--cc-blue);
}
.cc11-program>strong{
  display:block;
  font-family:'Montserrat',sans-serif;
  font-size:25px;
  line-height:1.25;
  font-weight:800;
  color:#1e3863;
}
.cc11-program p{
  margin:18px 0 0;
  font-size:15px;
  line-height:1.75;
  color:#7a879c;
}

/* 5-column curriculum */
.cc11-weeks{
  display:grid;
  grid-template-columns:.72fr repeat(4,1fr);
  margin-top:48px;
  border-top:1px solid var(--cc-line);
  border-bottom:1px solid var(--cc-line);
}
.cc11-card{
  position:relative;
  min-height:300px;
  padding:38px 28px 30px;
  border-right:1px solid var(--cc-line);
}
.cc11-card:last-child{border-right:0}
.cc11-final{
  background:#f2f6fc;
  border-left:5px solid var(--cc-blue);
}
.cc11-no{
  margin-bottom:7px;
  font-family:'Montserrat',sans-serif;
  font-size:46px;
  line-height:1;
  font-weight:710;
  letter-spacing:-.055em;
  color:var(--cc-blue);
}
.cc11-ot .cc11-no{
  color:var(--cc-navy);
}
.cc11-card>small{
  display:block;
  margin-bottom:44px;
  font-family:'Montserrat',sans-serif;
  font-size:10px;
  font-weight:850;
  letter-spacing:.1em;
  color:#8a9ab3;
}
.cc11-card h4{
  margin:0;
  font-size:26px;
  line-height:1.36;
  font-weight:850;
  letter-spacing:-.045em;
  color:var(--cc-navy);
}
.cc11-card p{
  position:absolute;
  left:28px;
  bottom:31px;
  margin:0;
  font-size:15px;
  line-height:1.5;
  font-weight:500;
  color:#7e8ca2;
}
.cc11-final h4{
  color:#174d9c;
}

/* process */
.cc11-process{
  display:grid;
  grid-template-columns:330px minmax(0,1fr);
  gap:55px;
  align-items:center;
  margin-top:42px;
  padding:35px 38px;
  border-radius:22px;
  background:var(--cc-soft);
}
.cc11-process-copy small{
  display:block;
  margin-bottom:8px;
  font-family:'Montserrat',sans-serif;
  font-size:10px;
  font-weight:850;
  letter-spacing:.1em;
  color:var(--cc-blue);
}
.cc11-process-copy h3{
  margin:0;
  font-size:24px;
  line-height:1.35;
  font-weight:500;
  letter-spacing:-.04em;
  color:#25354f;
}
.cc11-process-copy p{
  margin:13px 0 0;
  font-size:13px;
  line-height:1.7;
  color:#8794a8;
}
.cc11-flow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:13px;
}
.cc11-flow div{
  min-width:90px;
  text-align:center;
}
.cc11-flow b{
  display:block;
  margin-bottom:8px;
  font-family:'Montserrat',sans-serif;
  font-size:12px;
  font-weight:850;
  color:#a8b4c7;
}
.cc11-flow span{
  display:block;
  font-size:14px;
  line-height:1.4;
  font-weight:760;
  color:#42546f;
}
.cc11-flow .is-last span{
  color:var(--cc-blue);
}
.cc11-flow i{
  font-style:normal;
  font-size:15px;
  color:#c4cedd;
}
.cc11-note{
  margin:16px 0 0;
  padding-bottom:48px;
  text-align:right;
  font-size:12px;
  color:#97a2b3;
}

/* responsive */
@media(max-width:1100px){
  .curriculum-capture-v11 .mepa-wrap{width:calc(100% - 48px)}
  .cc11-head{grid-template-columns:1fr 300px;gap:55px}
  .cc11-main>h3{font-size:42px}
  .cc11-hours strong{font-size:68px}
  .cc11-card{padding-left:22px;padding-right:22px}
  .cc11-card p{left:22px}
  .cc11-process{grid-template-columns:1fr}
}
@media(max-width:760px){
  .curriculum-capture-v11 .mepa-wrap{width:calc(100% - 34px)}
  .cc11-head{display:block;padding:58px 0 48px}
  .cc11-title-row{display:block}
  .cc11-title-row h2{font-size:31px;margin-bottom:20px}
  .cc11-hours strong{font-size:62px}
  .cc11-hours span{font-size:27px}
  .cc11-main>h3{font-size:34px}
  .cc11-intro{font-size:16px}
  .cc11-program{margin-top:38px;padding-left:20px}
  .cc11-weeks{display:block}
  .cc11-card{min-height:235px;border-right:0;border-bottom:1px solid var(--cc-line)}
  .cc11-final{border-left:4px solid var(--cc-blue)}
  .cc11-card>small{margin-bottom:25px}
  .cc11-card h4{font-size:24px}
  .cc11-card p{font-size:14px}
  .cc11-process{padding:28px 22px}
  .cc11-flow{display:grid;grid-template-columns:1fr 1fr;gap:26px 18px}
  .cc11-flow i{display:none}
  .cc11-note{text-align:left;line-height:1.6}
}


/* =========================================================
   CURRICULUM CAPTURE TUNE v13
   요청 재반영:
   - 제목은 키우지 않음
   - 제목 볼드만 완화
   - 숫자는 더 작게
   - WEEK/ORIENTATION 라벨 확대
   - 하단 시간 안내 확대
   - 작은 네모 AI 아이콘 제거 -> 카드 배경형 라인 심볼
   ========================================================= */

.cc11-card {
  min-height: 300px;
  padding: 38px 28px 30px;
  overflow: hidden;
}

/* 숫자 축소 */
.cc11-no {
  position: relative;
  z-index: 2;
  font-size: 38px;
  line-height: 1;
  font-weight: 650;
  letter-spacing: -0.05em;
  margin-bottom: 8px;
}

/* WEEK / ORIENTATION 글자는 확실히 키움 */
.cc11-card > small {
  position: relative;
  z-index: 2;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 780;
  letter-spacing: .10em;
  margin-bottom: 42px;
  color: #788ba8;
}

/* 제목 크기는 v11 수준 유지, 볼드만 줄임 */
.cc11-card h4 {
  position: relative;
  z-index: 2;
  margin: 0;
  font-size: 26px;
  line-height: 1.38;
  font-weight: 680;
  letter-spacing: -0.04em;
  color: var(--cc-navy);
}

.cc11-final h4 {
  color: #174d9c;
  font-weight: 700;
}

/* 사용자가 첫 번째 캡처에서 지적한 하단 안내 글자 확대 */
.cc11-card p {
  position: absolute;
  z-index: 2;
  left: 28px;
  bottom: 30px;
  margin: 0;
  font-size: 17px;
  line-height: 1.5;
  font-weight: 500;
  color: #6f7f98;
}

/* 작은 박스 아이콘 대신, 디자이너식 배경 그래픽 */
.cc13-symbol {
  position: absolute;
  z-index: 1;
  right: 18px;
  top: 44px;
  width: 96px;
  height: 96px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: .085;
  pointer-events: none;
}

.cc11-final .cc13-symbol {
  opacity: .12;
}

.s-ot { background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2080%2080%27%20fill%3D%27none%27%20stroke%3D%27%231965d8%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2740%27%20cy%3D%2740%27%20r%3D%2724%27/%3E%3Ccircle%20cx%3D%2740%27%20cy%3D%2740%27%20r%3D%278%27/%3E%3Cpath%20d%3D%27M40%208v13M72%2040H59M40%2072V59M8%2040h13%27/%3E%3C/svg%3E"); }
.s-w1 { background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2080%2080%27%20fill%3D%27none%27%20stroke%3D%27%231965d8%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%3E%3Cpath%20d%3D%27M18%2022h44M18%2036h34M18%2050h26%27/%3E%3Cpath%20d%3D%27M18%2064h18%27/%3E%3C/svg%3E"); }
.s-w2 { background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2080%2080%27%20fill%3D%27none%27%20stroke%3D%27%231965d8%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2740%27%20cy%3D%2724%27%20r%3D%2710%27/%3E%3Cpath%20d%3D%27M22%2062c4-14%2011-21%2018-21s14%207%2018%2021%27/%3E%3Cpath%20d%3D%27M30%2048c4%205%208%208%2010%208s6-3%2010-8%27/%3E%3C/svg%3E"); }
.s-w3 { background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2080%2080%27%20fill%3D%27none%27%20stroke%3D%27%231965d8%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M24%2030a22%2022%200%200%201%2034-5%27/%3E%3Cpath%20d%3D%27M56%2019v10H46%27/%3E%3Cpath%20d%3D%27M56%2050a22%2022%200%200%201-34%205%27/%3E%3Cpath%20d%3D%27M24%2061V51h10%27/%3E%3C/svg%3E"); }
.s-w4 { background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2080%2080%27%20fill%3D%27none%27%20stroke%3D%27%231965d8%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2740%27%20cy%3D%2740%27%20r%3D%2725%27/%3E%3Cpath%20d%3D%27m27%2041%209%209%2018-21%27/%3E%3C/svg%3E"); }

@media(max-width:760px){
  .cc11-no {
    font-size: 34px;
  }

  .cc11-card > small {
    font-size: 12px;
    margin-bottom: 30px;
  }

  .cc11-card h4 {
    font-size: 24px;
  }

  .cc11-card p {
    left: 22px;
    bottom: 24px;
    font-size: 15px;
  }

  .cc13-symbol {
    width: 78px;
    height: 78px;
    right: 12px;
    top: 34px;
  }
}


/* =========================================================
   CURRICULUM CAPTURE TUNE v14
   - 코드로 그린 SVG 아이콘 제거
   - PNG 아이콘으로 교체
   - 우측 상단 OT + 4 WEEKS 박스 제거
   ========================================================= */

.cc11-head{
  grid-template-columns: minmax(0, 1fr);
  align-items: end;
}

.cc11-main{
  max-width: 980px;
}

.cc11-program{
  display:none !important;
}

/* 이미지 아이콘 */
.cc13-symbol{
  position:absolute;
  z-index:1;
  right:18px;
  top:18px;
  width:88px;
  height:88px;
  opacity:.28;
  pointer-events:none;
}

.cc13-symbol img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter: saturate(92%);
}

.cc11-final .cc13-symbol{
  opacity:.32;
}

@media(max-width:760px){
  .cc13-symbol{
    width:70px;
    height:70px;
    right:12px;
    top:14px;
    opacity:.25;
  }
}

.cc13-symbol.s-ot,
.cc13-symbol.s-w1,
.cc13-symbol.s-w2,
.cc13-symbol.s-w3,
.cc13-symbol.s-w4{
  background-image:none !important;
}



/* =========================================================
   CURRICULUM CAPTURE TUNE v15
   - 상단 20 hours 비율 재정리
   - 카드 설명 가독성 확대
   - 카드 상단 단순화된 직접 제작 SVG 아이콘 사용
   - 아이콘은 동그라미 배지 + 화살표 연결
   - 마지막 04는 아웃라인 배지
   ========================================================= */

.cc11-title-row{
  gap:22px;
  margin-bottom:18px;
  align-items:flex-end;
}
.cc11-title-row h2{
  margin-bottom:6px;
}
.cc11-hours{
  gap:8px;
}
.cc11-hours strong{
  font-size:68px;
  line-height:.86;
  font-weight:730;
  letter-spacing:-.06em;
}
.cc11-hours span{
  margin-bottom:7px;
  font-size:24px;
  font-weight:680;
  letter-spacing:-.03em;
}
.cc11-main > h3{
  max-width:900px;
}
.cc11-intro{
  margin-top:26px;
  max-width:1040px;
  font-size:20px;
  line-height:1.78;
}

/* 기존 우측 텍스트 블록 제거 유지 */
.cc11-program{
  display:none !important;
}

/* 카드 안의 예전 아이콘 제거 */
.cc13-symbol{
  display:none !important;
}

.cc11-weeks{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:18px;
  margin-top:54px;
  padding-top:82px;
  border:0;
  overflow:visible;
}
.cc11-step-rail{
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:82px;
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  align-items:center;
  pointer-events:none;
}
.cc11-step-item{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:82px;
}
.cc11-step-item:not(:last-child)::after{
  content:"";
  position:absolute;
  left:calc(50% + 40px);
  top:50%;
  width:calc(100% - 80px);
  height:1px;
  background:#d8e0ec;
}
.cc11-step-item:not(:last-child)::before{
  content:"";
  position:absolute;
  right:calc(-50% + 34px);
  top:calc(50% - 4px);
  width:9px;
  height:9px;
  border-top:1.8px solid #a6b5ca;
  border-right:1.8px solid #a6b5ca;
  transform:rotate(45deg);
}
.cc11-step-badge{
  width:70px;
  height:70px;
  border-radius:50%;
  background:#fff;
  border:1px solid #dbe4f1;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 24px rgba(15,34,63,.06);
}
.cc11-step-badge img{
  display:block;
  width:30px;
  height:30px;
  object-fit:contain;
}
.cc11-step-badge--final{
  border:2px solid var(--cc-blue);
  background:transparent;
  box-shadow:none;
}

.cc11-card{
  position:relative;
  min-height:300px;
  padding:34px 28px 28px;
  display:flex;
  flex-direction:column;
  border:1px solid var(--cc-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 32px rgba(17,34,68,.03);
}
.cc11-card:last-child{
  border-right:1px solid var(--cc-line);
}
.cc11-final{
  background:#f7faff;
  border:1px solid #d2e0f7;
  border-left:4px solid var(--cc-blue);
}
.cc11-no{
  margin-bottom:8px;
  font-size:40px;
  line-height:1;
  font-weight:650;
  letter-spacing:-.05em;
}
.cc11-card > small{
  display:block;
  margin-bottom:28px;
  font-size:13px;
  line-height:1.2;
  font-weight:820;
  letter-spacing:.12em;
  color:#7c8ea9;
}
.cc11-card h4{
  margin:0;
  font-size:22px;
  line-height:1.46;
  font-weight:720;
  letter-spacing:-.035em;
  color:var(--cc-navy);
}
.cc11-final h4{
  color:#1e56aa;
}
.cc11-card p{
  position:static;
  left:auto;
  bottom:auto;
  margin:26px 0 0;
  padding-top:26px;
  border-top:1px solid #eef2f7;
  font-size:16px;
  line-height:1.55;
  font-weight:560;
  color:#71829a;
}
.cc11-final p{
  color:#657892;
}

.cc11-process{
  margin-top:36px;
  padding:36px 38px;
  gap:46px;
  border-radius:24px;
}
.cc11-process-copy h3{
  font-size:28px;
  line-height:1.4;
  font-weight:560;
}
.cc11-process-copy p{
  font-size:15px;
  line-height:1.8;
}
.cc11-flow{
  gap:18px;
  align-items:flex-start;
}
.cc11-flow div{
  min-width:92px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.cc11-flow b{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  margin:0 0 10px;
  border-radius:50%;
  background:#fff;
  border:1px solid #dae3ef;
  font-size:12px;
  font-weight:820;
  color:#93a3bb;
}
.cc11-flow span{
  font-size:15px;
  line-height:1.4;
  font-weight:680;
  color:#41526f;
}
.cc11-flow .is-last b{
  border-color:var(--cc-blue);
  color:var(--cc-blue);
  background:#f5f8ff;
}
.cc11-flow .is-last span{
  color:var(--cc-blue);
}
.cc11-flow i{
  align-self:center;
  margin-top:12px;
  font-size:16px;
  color:#b4c0d2;
}

@media (max-width: 1100px){
  .cc11-weeks{
    grid-template-columns:repeat(5, minmax(180px,1fr));
    overflow-x:auto;
    padding-bottom:6px;
  }
  .cc11-step-rail{
    min-width:990px;
  }
  .cc11-weeks .cc11-card{
    min-width:180px;
  }
}

@media (max-width: 760px){
  .cc11-title-row{
    display:flex;
    align-items:flex-end;
    flex-wrap:wrap;
    gap:14px;
  }
  .cc11-hours strong{
    font-size:54px;
  }
  .cc11-hours span{
    font-size:20px;
    margin-bottom:6px;
  }
  .cc11-main > h3{
    font-size:34px;
  }
  .cc11-intro{
    font-size:17px;
    line-height:1.7;
  }
  .cc11-weeks{
    display:block;
    padding-top:22px;
    margin-top:38px;
  }
  .cc11-step-rail{
    display:none;
  }
  .cc11-card{
    min-height:auto;
    margin-bottom:14px;
    padding:28px 22px 24px;
    border-radius:16px;
  }
  .cc11-no{
    font-size:36px;
  }
  .cc11-card > small{
    margin-bottom:22px;
    font-size:12px;
  }
  .cc11-card h4{
    font-size:24px;
  }
  .cc11-card p{
    margin-top:22px;
    padding-top:20px;
    font-size:15px;
  }
  .cc11-process{
    padding:28px 22px;
  }
  .cc11-flow{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px 16px;
  }
  .cc11-flow i{
    display:none;
  }
}


/* =========================================================
   CURRICULUM INFOGRAPHIC v16
   - 별도 아이콘 레일 제거
   - 각 단계 자체를 원형 인포그래픽으로 구성
   - 단계 사이 화살표 연결
   - 마지막 04는 테두리 강조
   ========================================================= */

.cc11-weeks,
.cc11-step-rail{
  display:none !important;
}

.cc16-timeline{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:54px;
  align-items:center;
  margin-top:64px;
  padding:20px 0 26px;
}

.cc16-step{
  position:relative;
  min-width:0;
}

.cc16-circle{
  position:relative;
  width:100%;
  aspect-ratio:1 / 1;
  max-width:245px;
  margin:0 auto;
  border-radius:50%;
  border:1px solid #dbe3ef;
  background:#fff;
  box-shadow:0 16px 38px rgba(25,53,93,.055);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:28px 24px;
  text-align:center;
}

.cc16-icon{
  width:34px;
  height:34px;
  margin-bottom:10px;
  object-fit:contain;
}

.cc16-no{
  font-family:'Montserrat',sans-serif;
  font-size:34px;
  line-height:1;
  font-weight:650;
  letter-spacing:-.05em;
  color:var(--cc-blue);
  margin-bottom:6px;
}

.cc16-step-ot .cc16-no{
  color:var(--cc-navy);
}

.cc16-circle small{
  display:block;
  margin-bottom:18px;
  font-family:'Montserrat',sans-serif;
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.11em;
  color:#7e90aa;
}

.cc16-circle h4{
  margin:0;
  font-size:20px;
  line-height:1.42;
  font-weight:700;
  letter-spacing:-.035em;
  color:var(--cc-navy);
}

.cc16-circle p{
  margin:18px 0 0;
  font-size:14px;
  line-height:1.45;
  font-weight:560;
  color:#73839a;
}

.cc16-arrow{
  position:absolute;
  top:50%;
  left:calc(100% + 12px);
  transform:translateY(-50%);
  width:30px;
  text-align:center;
  font-size:26px;
  line-height:1;
  font-weight:400;
  color:#aab8cc;
}

.cc16-step-final .cc16-circle{
  border:3px solid var(--cc-blue);
  background:#f8fbff;
  box-shadow:none;
}

.cc16-step-final .cc16-circle h4,
.cc16-step-final .cc16-no{
  color:#1959b6;
}

.cc16-step-final .cc16-circle p{
  color:#637791;
}

/* 연결선: 화살표 뒤에 아주 얇은 선 */
.cc16-step:not(:last-child)::after{
  content:"";
  position:absolute;
  top:50%;
  left:calc(100% - 8px);
  width:54px;
  height:1px;
  background:#dbe3ee;
  transform:translateY(-50%);
  z-index:-1;
}

/* 하단 프로세스는 카드 느낌을 줄이고 인포그래픽과 연결되도록 가볍게 */
.cc11-process{
  margin-top:54px;
  padding:34px 38px;
  border-radius:20px;
}
.cc11-process-copy h3{
  font-size:26px;
  font-weight:560;
}
.cc11-process-copy p{
  font-size:15px;
}
.cc11-flow b{
  width:38px;
  height:38px;
  font-size:11px;
}
.cc11-flow span{
  font-size:14px;
}

@media(max-width:1180px){
  .cc16-timeline{
    grid-template-columns:repeat(5, 220px);
    overflow-x:auto;
    gap:48px;
    padding-bottom:18px;
  }
  .cc16-circle{
    width:220px;
    max-width:none;
  }
}

@media(max-width:760px){
  .cc16-timeline{
    display:block;
    overflow:visible;
    margin-top:40px;
    padding:0;
  }

  .cc16-step{
    display:flex;
    flex-direction:column;
    align-items:center;
    margin-bottom:48px;
  }

  .cc16-circle{
    width:min(280px, 88vw);
    max-width:280px;
  }

  .cc16-arrow{
    position:static;
    transform:none;
    width:auto;
    margin-top:18px;
    font-size:24px;
    transform:rotate(90deg);
  }

  .cc16-step:not(:last-child)::after{
    display:none;
  }
}


/* v17 - 원형 상단 아이콘 완전 제거 */
.cc16-icon{
  display:none !important;
}
.cc16-circle{
  justify-content:center;
}
.cc16-no{
  margin-top:0;
}


/* =========================================================
   CURRICULUM INFOGRAPHIC v18
   - 깨진 아이콘 경로 문자열 제거
   - 완전한 정원형
   - 디자인 화살표 PNG 적용
   ========================================================= */

.cc16-timeline{
  display:grid;
  grid-template-columns:repeat(5, 230px);
  justify-content:space-between;
  gap:0;
  align-items:center;
  margin-top:64px;
  padding:24px 0 30px;
  overflow:visible;
}

.cc16-step{
  position:relative;
  width:230px;
  min-width:230px;
  height:230px;
}

.cc16-circle{
  width:230px;
  height:230px;
  max-width:none;
  aspect-ratio:auto;
  box-sizing:border-box;
  margin:0;
  border-radius:50%;
  padding:28px 24px;
  overflow:hidden;
}

.cc16-no{
  font-size:34px;
  margin-bottom:5px;
}

.cc16-circle small{
  margin-bottom:16px;
  font-size:12px;
}

.cc16-circle h4{
  font-size:19px;
  line-height:1.42;
}

.cc16-circle p{
  margin-top:17px;
  font-size:13px;
  line-height:1.45;
  white-space:nowrap;
}

/* 마지막 04는 정원 테두리 강조 */
.cc16-step-final .cc16-circle{
  width:230px;
  height:230px;
  border-radius:50%;
  border:3px solid var(--cc-blue);
  box-sizing:border-box;
}

/* 텍스트 화살표 대신 실제 디자인 PNG */
.cc16-arrow{
  position:absolute;
  z-index:4;
  top:44%;
  left:calc(100% - 5px);
  width:72px;
  height:28px;
  transform:translateY(-50%);
  pointer-events:none;
  overflow:visible;
  color:transparent;
  font-size:0;
}

.cc16-arrow img{
  display:block;
  width:72px;
  height:22px;
  object-fit:fill;
}

/* 기존 단순 연결선 제거 */
.cc16-step:not(:last-child)::after{
  display:none;
}

/* 화살표가 원 위에 살짝 겹치도록 */
.cc16-step:not(:last-child) .cc16-arrow{
  margin-left:0;
}

@media(max-width:1320px){
  .cc16-timeline{
    grid-template-columns:repeat(5, 220px);
    justify-content:start;
    gap:48px;
    overflow-x:auto;
    padding-bottom:20px;
  }
  .cc16-step,
  .cc16-circle,
  .cc16-step-final .cc16-circle{
    width:220px;
    min-width:220px;
    height:220px;
  }
  .cc16-arrow{
    left:calc(100% + 4px);
    width:62px;
  }
  .cc16-arrow img{
    width:62px;
  }
}

@media(max-width:760px){
  .cc16-timeline{
    display:block;
    overflow:visible;
  }

  .cc16-step{
    width:auto;
    min-width:0;
    height:auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    margin-bottom:48px;
  }

  .cc16-circle,
  .cc16-step-final .cc16-circle{
    width:230px;
    height:230px;
  }

  .cc16-arrow{
    position:static;
    width:58px;
    height:24px;
    margin:16px auto 0;
    transform:rotate(90deg);
  }

  .cc16-arrow img{
    width:58px;
    height:20px;
  }
}


/* =========================================================
   CURRICULUM INFOGRAPHIC v19
   - 원 크기 확대
   - 화살표 길이 축소
   - 모든 원에 얇은 블루 테두리
   - 은은한 그라데이션 배경
   ========================================================= */

.cc16-timeline{
  grid-template-columns:repeat(5, 252px);
  justify-content:space-between;
  gap:0;
  padding:28px 0 34px;
}

.cc16-step{
  width:252px;
  min-width:252px;
  height:252px;
}

.cc16-circle{
  width:252px;
  height:252px;
  padding:32px 26px;
  border-radius:50%;
  border:1.5px solid rgba(37,99,235,.48);
  background:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.98) 0%, rgba(255,255,255,.92) 38%, rgba(239,246,255,.92) 100%);
  box-shadow:
    0 18px 42px rgba(37,99,235,.08),
    inset 0 0 0 1px rgba(255,255,255,.72);
}

.cc16-step-ot .cc16-circle{
  border-color:rgba(37,99,235,.42);
}

.cc16-step-final .cc16-circle{
  width:252px;
  height:252px;
  border:2px solid var(--cc-blue);
  background:
    radial-gradient(circle at 32% 28%, #fff 0%, #f7fbff 46%, #eef5ff 100%);
  box-shadow:
    0 20px 46px rgba(37,99,235,.12),
    inset 0 0 0 1px rgba(255,255,255,.72);
}

/* 원이 커진 만큼 내부 타이포를 약간만 보정 */
.cc16-no{
  font-size:36px;
  margin-bottom:6px;
}

.cc16-circle small{
  margin-bottom:18px;
  font-size:12px;
}

.cc16-circle h4{
  font-size:20px;
  line-height:1.44;
}

.cc16-circle p{
  margin-top:20px;
  font-size:13px;
}

/* 화살표는 짧고 더 정돈되게 */
.cc16-arrow{
  top:50%;
  left:calc(100% - 3px);
  width:44px;
  height:22px;
  transform:translateY(-50%);
}

.cc16-arrow img{
  width:44px;
  height:18px;
  object-fit:fill;
}

/* 화살표가 원과 원 사이 중앙에 가깝게 */
.cc16-step:not(:last-child) .cc16-arrow{
  margin-left:0;
}

@media(max-width:1380px){
  .cc16-timeline{
    grid-template-columns:repeat(5, 238px);
    gap:36px;
    justify-content:start;
    overflow-x:auto;
    padding-bottom:22px;
  }

  .cc16-step,
  .cc16-circle,
  .cc16-step-final .cc16-circle{
    width:238px;
    min-width:238px;
    height:238px;
  }

  .cc16-arrow{
    left:calc(100% + 4px);
    width:38px;
  }

  .cc16-arrow img{
    width:38px;
  }
}

@media(max-width:760px){
  .cc16-step{
    width:auto;
    min-width:0;
    height:auto;
  }

  .cc16-circle,
  .cc16-step-final .cc16-circle{
    width:252px;
    height:252px;
  }

  .cc16-arrow{
    width:42px;
    height:20px;
    margin-top:14px;
  }

  .cc16-arrow img{
    width:42px;
    height:17px;
  }
}


/* =========================================================
   CURRICULUM INFOGRAPHIC v20
   - 원형 스텝 추가 확대
   ========================================================= */

.cc16-timeline{
  grid-template-columns:repeat(5, 285px);
  padding:32px 0 38px;
}

.cc16-step{
  width:285px;
  min-width:285px;
  height:285px;
}

.cc16-circle,
.cc16-step-final .cc16-circle{
  width:285px;
  height:285px;
  padding:38px 30px;
}

/* 원이 커진 만큼 내부 여백과 글자만 살짝 보정 */
.cc16-no{
  font-size:39px;
  margin-bottom:7px;
}

.cc16-circle small{
  margin-bottom:20px;
  font-size:13px;
}

.cc16-circle h4{
  font-size:22px;
  line-height:1.45;
}

.cc16-circle p{
  margin-top:22px;
  font-size:14px;
}

/* 원이 커져도 화살표는 짧게 유지 */
.cc16-arrow{
  width:38px;
  left:calc(100% - 1px);
}

.cc16-arrow img{
  width:38px;
}

@media(max-width:1510px){
  .cc16-timeline{
    grid-template-columns:repeat(5, 265px);
    gap:30px;
    justify-content:start;
    overflow-x:auto;
  }

  .cc16-step,
  .cc16-circle,
  .cc16-step-final .cc16-circle{
    width:265px;
    min-width:265px;
    height:265px;
  }
}

@media(max-width:760px){
  .cc16-circle,
  .cc16-step-final .cc16-circle{
    width:285px;
    height:285px;
  }
}


/* =========================================================
   CURRICULUM INFOGRAPHIC v21
   요청 수정:
   - 원 크기는 v19 수준으로 복구
   - 글자만 확대
   - 그림자 완전 제거
   ========================================================= */

.cc16-timeline{
  grid-template-columns:repeat(5, 252px);
  padding:28px 0 34px;
}

.cc16-step{
  width:252px;
  min-width:252px;
  height:252px;
}

.cc16-circle,
.cc16-step-final .cc16-circle{
  width:252px;
  height:252px;
  padding:30px 24px;
  box-shadow:none !important;
}

/* 내부 글자 확대 */
.cc16-no{
  font-size:42px;
  margin-bottom:8px;
}

.cc16-circle small{
  font-size:14px;
  margin-bottom:20px;
}

.cc16-circle h4{
  font-size:24px;
  line-height:1.42;
  font-weight:700;
}

.cc16-circle p{
  margin-top:22px;
  font-size:16px;
  line-height:1.5;
}

/* 최종 04도 그림자 제거 */
.cc16-step-final .cc16-circle{
  box-shadow:none !important;
}

/* 혹시 이전 버전 inset shadow까지 남아있으면 제거 */
.cc16-circle{
  filter:none !important;
}

/* 화살표는 짧게 유지 */
.cc16-arrow{
  width:38px;
  left:calc(100% - 1px);
}
.cc16-arrow img{
  width:38px;
}

@media(max-width:1380px){
  .cc16-timeline{
    grid-template-columns:repeat(5, 238px);
    gap:36px;
    justify-content:start;
    overflow-x:auto;
  }

  .cc16-step,
  .cc16-circle,
  .cc16-step-final .cc16-circle{
    width:238px;
    min-width:238px;
    height:238px;
  }

  .cc16-no{font-size:40px;}
  .cc16-circle small{font-size:13px;}
  .cc16-circle h4{font-size:23px;}
  .cc16-circle p{font-size:15px;}
}

@media(max-width:760px){
  .cc16-circle,
  .cc16-step-final .cc16-circle{
    width:252px;
    height:252px;
  }
}


/* =========================================================
   CURRICULUM INFOGRAPHIC v22
   - 원형 255px
   - 하단 시간/안내 문구 살짝 위로
   - 04 하단 문구 줄바꿈
   ========================================================= */

.cc16-timeline{
  grid-template-columns:repeat(5, 255px);
}

.cc16-step{
  width:255px;
  min-width:255px;
  height:255px;
}

.cc16-circle,
.cc16-step-final .cc16-circle{
  width:255px;
  height:255px;
}

/* 젤 하단 텍스트를 살짝 위로 */
.cc16-circle p{
  margin-top:17px;
}

/* 04 하단 안내 줄바꿈 + 원 안에서 여유 */
.cc16-final-note{
  line-height:1.42;
  white-space:normal !important;
  text-align:center;
}

/* 원 커져도 화살표는 그대로 짧게 */
.cc16-arrow{
  left:calc(100% - 1px);
  width:36px;
}
.cc16-arrow img{
  width:36px;
}

@media(max-width:1380px){
  .cc16-timeline{
    grid-template-columns:repeat(5, 242px);
  }

  .cc16-step,
  .cc16-circle,
  .cc16-step-final .cc16-circle{
    width:242px;
    min-width:242px;
    height:242px;
  }
}

@media(max-width:760px){
  .cc16-circle,
  .cc16-step-final .cc16-circle{
    width:255px;
    height:255px;
  }
}


/* =========================================================
   CURRICULUM INFOGRAPHIC v24
   요청 정정:
   - 원 크기 255px 그대로 유지
   - OT / 01 / 02 / 03 / 04 숫자만 축소
   ========================================================= */

.cc16-timeline{
  grid-template-columns:repeat(5, 255px);
}

.cc16-step{
  width:255px;
  min-width:255px;
  height:255px;
}

.cc16-circle,
.cc16-step-final .cc16-circle{
  width:255px;
  height:255px;
}

/* 상단 번호만 축소 */
.cc16-no{
  font-size:35px;
  line-height:1;
  margin-bottom:8px;
}

/* 나머지 텍스트 크기는 v22 유지 */
.cc16-circle small{
  font-size:14px;
}

.cc16-circle h4{
  font-size:24px;
}

.cc16-circle p{
  font-size:16px;
}

@media(max-width:1380px){
  .cc16-timeline{
    grid-template-columns:repeat(5, 242px);
  }

  .cc16-step,
  .cc16-circle,
  .cc16-step-final .cc16-circle{
    width:242px;
    min-width:242px;
    height:242px;
  }

  .cc16-no{
    font-size:34px;
  }
}

@media(max-width:760px){
  .cc16-circle,
  .cc16-step-final .cc16-circle{
    width:255px;
    height:255px;
  }

  .cc16-no{
    font-size:35px;
  }
}


/* =========================================================
   CURRICULUM FLOW ANIMATION v25
   스크롤 진입 시 OT → 01 → 02 → 03 → 04 순차 노출
   ========================================================= */

/* 시작 상태 */
#curriculumFlow .cc16-step{
  opacity:0;
  transform:translateY(18px) scale(.965);
  transition:
    opacity .62s cubic-bezier(.22,.61,.36,1),
    transform .62s cubic-bezier(.22,.61,.36,1);
}

/* 각 스텝 사이 연결 화살표도 처음에는 감춤 */
#curriculumFlow .cc16-step .cc16-arrow{
  opacity:0;
  transform:translateY(-50%) scaleX(.35);
  transform-origin:left center;
  transition:
    opacity .38s ease .18s,
    transform .46s cubic-bezier(.22,.61,.36,1) .14s;
}

/* 스텝 등장 */
#curriculumFlow .cc16-step.is-show{
  opacity:1;
  transform:translateY(0) scale(1);
}

/* 스텝이 보이면 다음 화살표도 자연스럽게 이어짐 */
#curriculumFlow .cc16-step.is-show .cc16-arrow{
  opacity:1;
  transform:translateY(-50%) scaleX(1);
}

/* 등장 순간 테두리 살짝 강조 */
#curriculumFlow .cc16-step.is-show .cc16-circle{
  animation:cc16CircleFocus .72s ease both;
}

@keyframes cc16CircleFocus{
  0%{
    border-color:rgba(37,99,235,.25);
  }
  55%{
    border-color:rgba(37,99,235,.72);
  }
  100%{
    border-color:rgba(37,99,235,.48);
  }
}

/* 마지막 04는 기존 진한 테두리 유지 */
#curriculumFlow .cc16-step-final.is-show .cc16-circle{
  animation:cc16FinalFocus .78s ease both;
}

@keyframes cc16FinalFocus{
  0%{
    border-color:rgba(37,99,235,.35);
  }
  55%{
    border-color:#2563eb;
  }
  100%{
    border-color:var(--cc-blue);
  }
}

/* 모바일: 세로 흐름에서도 자연스럽게 */
@media(max-width:760px){
  #curriculumFlow .cc16-step{
    transform:translateY(22px) scale(.98);
  }

  #curriculumFlow .cc16-step .cc16-arrow{
    transform:rotate(90deg) scaleX(.35);
    transform-origin:center center;
  }

  #curriculumFlow .cc16-step.is-show .cc16-arrow{
    transform:rotate(90deg) scaleX(1);
  }
}

/* 모션 최소화 설정 대응 */
@media(prefers-reduced-motion:reduce){
  #curriculumFlow .cc16-step,
  #curriculumFlow .cc16-step .cc16-arrow{
    opacity:1;
    transform:none;
    transition:none;
    animation:none;
  }
}


/* =========================================================
   CURRICULUM FLOW FIX v26
   - 화살표 항상 표시
   - 스텝만 순차 등장
   ========================================================= */

#curriculumFlow .cc16-step .cc16-arrow{
  opacity:1 !important;
  transform:translateY(-50%) scaleX(1) !important;
  transition:none !important;
}

#curriculumFlow .cc16-step .cc16-arrow img{
  opacity:1 !important;
  display:block !important;
}

@media(max-width:760px){
  #curriculumFlow .cc16-step .cc16-arrow{
    transform:rotate(90deg) scaleX(1) !important;
  }
}


/* =========================================================
   CURRICULUM ARROW LAYER FIX v27
   - 화살표가 원형 뒤로 숨지 않도록 레이어/위치 수정
   ========================================================= */

.cc16-step{
  z-index:1;
  overflow:visible;
}

.cc16-circle{
  position:relative;
  z-index:2;
}

/* 화살표는 원보다 위 레이어 */
.cc16-arrow,
#curriculumFlow .cc16-step .cc16-arrow{
  z-index:6 !important;
  left:calc(100% - 8px) !important;
  top:50% !important;
  overflow:visible !important;
  pointer-events:none;
}

/* 이미지 자체도 확실히 위에 */
.cc16-arrow img,
#curriculumFlow .cc16-step .cc16-arrow img{
  position:relative;
  z-index:7;
  display:block !important;
}

/* 다음 원 위로 너무 깊게 들어가지 않도록 살짝 바깥으로 */
.cc16-step:not(:last-child) .cc16-arrow{
  margin-left:6px;
}

@media(max-width:760px){
  .cc16-arrow,
  #curriculumFlow .cc16-step .cc16-arrow{
    left:auto !important;
    top:auto !important;
    margin-left:0;
  }
}


/* =========================================================
   CURRICULUM ARROW VISIBILITY FIX v28
   원에 가려지는 문제 해결:
   - 화살표를 원 바깥 중앙에 완전히 분리 배치
   - 화살표용 여백 확보
   ========================================================= */

.cc16-timeline{
  grid-template-columns:repeat(5, 255px);
  column-gap:54px !important;
  justify-content:center;
  overflow:visible !important;
}

.cc16-step{
  position:relative;
  width:255px;
  min-width:255px;
  height:255px;
  overflow:visible !important;
  z-index:auto;
}

.cc16-circle{
  position:relative;
  z-index:1 !important;
  overflow:hidden;
}

/* 화살표를 원과 원 사이 독립 영역으로 이동 */
.cc16-arrow,
#curriculumFlow .cc16-step .cc16-arrow{
  position:absolute !important;
  left:100% !important;
  top:50% !important;
  width:54px !important;
  height:22px !important;
  margin-left:0 !important;
  transform:translateY(-50%) !important;
  z-index:20 !important;
  overflow:visible !important;
  opacity:1 !important;
  display:block !important;
  pointer-events:none;
}

.cc16-arrow img,
#curriculumFlow .cc16-step .cc16-arrow img{
  display:block !important;
  width:54px !important;
  height:18px !important;
  object-fit:fill;
  position:relative;
  z-index:21 !important;
}

/* 다음 원이 화살표 영역을 덮지 않게 */
.cc16-step + .cc16-step{
  z-index:1;
}

/* 기존 화살표 강제 위치값 무력화 */
.cc16-step:not(:last-child) .cc16-arrow{
  margin-left:0 !important;
}

/* 좁은 화면에서는 가로스크롤로라도 겹침 방지 */
@media(max-width:1500px){
  .cc16-timeline{
    justify-content:flex-start;
    grid-template-columns:repeat(5, 255px);
    column-gap:54px !important;
    overflow-x:auto !important;
    padding-bottom:18px;
  }
}

@media(max-width:760px){
  .cc16-timeline{
    display:block;
    overflow:visible !important;
  }

  .cc16-step{
    width:auto;
    min-width:0;
    height:auto;
  }

  .cc16-arrow,
  #curriculumFlow .cc16-step .cc16-arrow{
    position:static !important;
    width:48px !important;
    height:20px !important;
    margin:16px auto 0 !important;
    transform:rotate(90deg) !important;
  }

  .cc16-arrow img,
  #curriculumFlow .cc16-step .cc16-arrow img{
    width:48px !important;
    height:17px !important;
  }
}


/* =========================================================
   CURRICULUM PROCESS v35
   두 번째 시안 디자인을 코드로 구현
   - 상단 원형 커리큘럼은 손대지 않음
   ========================================================= */

.cc35-process{
  position:relative;
  margin-top:58px;
  padding:56px 54px 88px;
  border-radius:28px;
  overflow:hidden;
  background:
    linear-gradient(135deg,#fbfdff 0%,#f7faff 54%,#f4f8fe 100%);
  border:1px solid rgba(31,101,216,.06);
  isolation:isolate;
}

/* 우측 상단 도트 패턴 */
.cc35-process::before{
  content:"";
  position:absolute;
  z-index:-2;
  right:-12px;
  top:-18px;
  width:410px;
  height:240px;
  background:
    radial-gradient(circle,rgba(73,137,231,.16) 1.3px,transparent 1.5px) 0 0/14px 14px;
  opacity:.55;
  -webkit-mask-image:linear-gradient(135deg,transparent 0%,#000 42%,#000 100%);
  mask-image:linear-gradient(135deg,transparent 0%,#000 42%,#000 100%);
  pointer-events:none;
}

/* 하단 파형 */
.cc35-process::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:-5%;
  right:-5%;
  bottom:-86px;
  height:190px;
  border-radius:50% 46% 0 0 / 58% 64% 0 0;
  background:
    linear-gradient(180deg,rgba(209,227,252,.06),rgba(198,220,252,.28));
  transform:rotate(-1.2deg);
  pointer-events:none;
}

.cc35-head{
  max-width:480px;
}

.cc35-head small{
  display:block;
  margin-bottom:14px;
  font-family:'Montserrat',sans-serif;
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.12em;
  color:#1764d7;
}

.cc35-head h3{
  margin:0;
  font-size:42px;
  line-height:1.22;
  font-weight:700;
  letter-spacing:-.055em;
  color:#182744;
}

.cc35-head h3 strong{
  color:#1764d7;
  font-weight:700;
}

.cc35-head p{
  margin:22px 0 0;
  font-size:17px;
  line-height:1.9;
  font-weight:430;
  letter-spacing:-.025em;
  color:#72829a;
}

/* 상단 진행선 */
.cc35-line{
  position:relative;
  height:28px;
  margin:56px 30px 22px;
  border-top:2px solid #2c72df;
}

.cc35-line::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-2px;
  height:2px;
  background:
    repeating-linear-gradient(
      90deg,
      transparent 0 9.2%,
      #2c72df 9.2% 10.2%
    );
  opacity:.85;
}

.cc35-line-dot{
  position:absolute;
  top:-9px;
  width:18px;
  height:18px;
  border-radius:50%;
  border:2px solid #2c72df;
  background:#fff;
  box-shadow:0 0 0 3px rgba(44,114,223,.05);
  transform:translateX(-50%);
  z-index:2;
}

.cc35-line-dot.is-start{left:0%;background:#2c72df;border:3px solid #fff;box-shadow:0 0 0 2px #2c72df}
.cc35-line-dot.d2{left:20%}
.cc35-line-dot.d3{left:40%}
.cc35-line-dot.d4{left:60%}
.cc35-line-dot.d5{left:80%}
.cc35-line-dot.is-end{left:100%;background:#2c72df;border:3px solid #fff;box-shadow:0 0 0 2px #2c72df}

/* 카드 6개 */
.cc35-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}

.cc35-card{
  position:relative;
  min-height:190px;
  padding:28px 24px 26px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(70,121,200,.13);
  clip-path:polygon(0 0,87% 0,100% 50%,87% 100%,0 100%,7% 50%);
  box-shadow:0 12px 24px rgba(47,82,132,.05);
  transition:transform .28s ease,border-color .28s ease,background .28s ease;
}

.cc35-card:first-child{
  clip-path:polygon(0 0,87% 0,100% 50%,87% 100%,0 100%);
}

.cc35-card:hover{
  transform:translateY(-4px);
  border-color:rgba(37,99,235,.30);
}

.cc35-card-top{
  display:flex;
  align-items:center;
  gap:15px;
  min-height:58px;
}

.cc35-card-top b{
  flex:0 0 auto;
  font-family:'Montserrat',sans-serif;
  font-size:31px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.055em;
  color:#6c85ad;
}

.cc35-divider{
  width:1px;
  height:44px;
  background:#b9c8dd;
}

.cc35-card-top img{
  display:block;
  width:46px;
  height:46px;
  object-fit:contain;
}

.cc35-card h4{
  margin:24px 0 0;
  font-size:18px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:-.04em;
  color:#21304a;
}

.cc35-card-final{
  background:linear-gradient(145deg,#fbfdff 0%,#eef5ff 100%);
  border-color:rgba(37,99,235,.23);
}

.cc35-card-final .cc35-card-top b,
.cc35-card-final h4{
  color:#1764d7;
}

/* 기존 cc11 note는 그대로 사용하되 시안처럼 우측 정렬 */
.cc35-process + .cc11-note{
  margin-top:18px;
  text-align:right;
  font-size:13px;
  color:#8998ad;
}

/* 진입 효과 */
.cc35-process.reveal.show .cc35-card{
  animation:cc35CardIn .58s cubic-bezier(.22,.61,.36,1) both;
}
.cc35-process.reveal.show .cc35-card:nth-child(1){animation-delay:.05s}
.cc35-process.reveal.show .cc35-card:nth-child(2){animation-delay:.12s}
.cc35-process.reveal.show .cc35-card:nth-child(3){animation-delay:.19s}
.cc35-process.reveal.show .cc35-card:nth-child(4){animation-delay:.26s}
.cc35-process.reveal.show .cc35-card:nth-child(5){animation-delay:.33s}
.cc35-process.reveal.show .cc35-card:nth-child(6){animation-delay:.40s}

@keyframes cc35CardIn{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:1180px){
  .cc35-process{
    padding:46px 34px 72px;
  }

  .cc35-grid{
    grid-template-columns:repeat(3,1fr);
    gap:18px;
  }

  .cc35-line{
    display:none;
  }

  .cc35-card,
  .cc35-card:first-child{
    clip-path:none;
    border-radius:16px;
  }
}

@media(max-width:640px){
  .cc35-process{
    margin-top:42px;
    padding:36px 22px 54px;
    border-radius:22px;
  }

  .cc35-head h3{
    font-size:31px;
  }

  .cc35-head p{
    font-size:15px;
  }

  .cc35-grid{
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-top:34px;
  }

  .cc35-card{
    min-height:150px;
    padding:22px 18px;
  }

  .cc35-card-top{
    gap:11px;
  }

  .cc35-card-top b{
    font-size:25px;
  }

  .cc35-card-top img{
    width:38px;
    height:38px;
  }

  .cc35-card h4{
    margin-top:18px;
    font-size:16px;
  }
}


/* =========================================================
   CURRICULUM PROCESS v36
   - 배경 완전 제거
   - 시안 비율에 맞춘 가로형 화살표 박스
   - 상단 커리큘럼은 수정 없음
   ========================================================= */

.cc36-process{
  position:relative;
  margin-top:64px;
  padding:8px 0 26px;
  background:none !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:visible;
}

.cc36-process::before,
.cc36-process::after{
  display:none !important;
}

.cc36-head{
  max-width:760px;
}

.cc36-head small{
  display:block;
  margin-bottom:12px;
  font-family:'Montserrat',sans-serif;
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.12em;
  color:#1764d7;
}

.cc36-head h3{
  margin:0;
  font-size:34px;
  line-height:1.28;
  font-weight:650;
  letter-spacing:-.045em;
  color:#182744;
}

.cc36-head h3 strong{
  color:#1764d7;
  font-weight:700;
}

.cc36-head p{
  margin:15px 0 0;
  font-size:16px;
  line-height:1.75;
  font-weight:430;
  color:#7a8aa1;
}

/* 진행선 */
.cc36-track{
  position:relative;
  height:20px;
  margin:58px 30px 22px;
  border-top:1.5px solid #2b72df;
}

.cc36-track::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-7px;
  height:12px;
  background:
    linear-gradient(135deg,transparent 46%,#2b72df 47% 53%,transparent 54%) 10% 0/20% 12px repeat-x;
  opacity:.95;
  pointer-events:none;
}

.cc36-track-dot{
  position:absolute;
  top:-8px;
  width:16px;
  height:16px;
  border-radius:50%;
  border:2px solid #2b72df;
  background:#fff;
  transform:translateX(-50%);
  z-index:2;
}

.cc36-track-dot.d1{left:0;background:#2b72df;border:3px solid #fff;box-shadow:0 0 0 2px #2b72df}
.cc36-track-dot.d2{left:20%}
.cc36-track-dot.d3{left:40%}
.cc36-track-dot.d4{left:60%}
.cc36-track-dot.d5{left:80%}
.cc36-track-dot.d6{left:100%;background:#2b72df;border:3px solid #fff;box-shadow:0 0 0 2px #2b72df}

/* 6개 가로형 */
.cc36-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:20px;
}

.cc36-step{
  min-width:0;
  text-align:left;
}

.cc36-box{
  position:relative;
  height:122px;
  padding:0 28px;
  display:flex;
  align-items:center;
  background:#fff;
  border:1px solid #e2e9f3;
  clip-path:polygon(0 0,88% 0,100% 50%,88% 100%,0 100%);
  box-shadow:0 8px 18px rgba(34,71,125,.035);
}

.cc36-step:not(:first-child) .cc36-box{
  clip-path:polygon(7% 0,88% 0,100% 50%,88% 100%,7% 100%,0 50%);
}

.cc36-box-top{
  display:flex;
  align-items:center;
  gap:16px;
  width:100%;
}

.cc36-box-top b{
  flex:0 0 auto;
  font-family:'Montserrat',sans-serif;
  font-size:30px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.055em;
  color:#758db2;
}

.cc36-box-top span{
  flex:0 0 auto;
  width:1px;
  height:42px;
  background:#b7c7de;
}

.cc36-box-top img{
  display:block;
  width:44px;
  height:44px;
  object-fit:contain;
}

.cc36-step h4{
  margin:18px 0 0 4px;
  font-size:18px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:-.035em;
  color:#22314c;
}

.cc36-step-final .cc36-box{
  background:linear-gradient(145deg,#fbfdff 0%,#eef5ff 100%);
  border-color:#c7daf8;
}

.cc36-step-final .cc36-box-top b,
.cc36-step-final h4{
  color:#1764d7;
}

/* 기존 하단 안내문은 우측 정렬 유지 */
.cc36-process + .cc11-note{
  margin-top:16px;
  text-align:right;
  font-size:13px;
  color:#8998ad;
}

/* 순차 등장 */
.cc36-process.reveal.show .cc36-step{
  animation:cc36In .52s cubic-bezier(.22,.61,.36,1) both;
}
.cc36-process.reveal.show .cc36-step:nth-child(1){animation-delay:.04s}
.cc36-process.reveal.show .cc36-step:nth-child(2){animation-delay:.10s}
.cc36-process.reveal.show .cc36-step:nth-child(3){animation-delay:.16s}
.cc36-process.reveal.show .cc36-step:nth-child(4){animation-delay:.22s}
.cc36-process.reveal.show .cc36-step:nth-child(5){animation-delay:.28s}
.cc36-process.reveal.show .cc36-step:nth-child(6){animation-delay:.34s}

@keyframes cc36In{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:1180px){
  .cc36-grid{
    grid-template-columns:repeat(3,1fr);
  }

  .cc36-track{
    display:none;
  }

  .cc36-box,
  .cc36-step:not(:first-child) .cc36-box{
    clip-path:none;
    border-radius:14px;
  }
}

@media(max-width:640px){
  .cc36-head h3{
    font-size:28px;
  }

  .cc36-head p{
    font-size:15px;
  }

  .cc36-grid{
    grid-template-columns:1fr 1fr;
    gap:18px 14px;
    margin-top:36px;
  }

  .cc36-box{
    height:108px;
    padding:0 20px;
  }

  .cc36-box-top{
    gap:12px;
  }

  .cc36-box-top b{
    font-size:25px;
  }

  .cc36-box-top img{
    width:36px;
    height:36px;
  }

  .cc36-step h4{
    margin-top:12px;
    font-size:16px;
  }
}


/* =========================================================
   CURRICULUM PROCESS v37
   - 제안 시안의 설명문 + 아이콘 반영
   - 배경 없음
   ========================================================= */
.cc37-process{
  margin-top:64px;
  padding:8px 0 28px;
  background:none!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible;
}
.cc37-process::before,.cc37-process::after{display:none!important}

.cc37-head small{
  display:block;margin-bottom:12px;
  font-family:'Montserrat',sans-serif;font-size:12px;font-weight:800;
  letter-spacing:.12em;color:#1764d7;
}
.cc37-head h3{
  margin:0;font-size:34px;line-height:1.28;font-weight:650;
  letter-spacing:-.045em;color:#182744;
}
.cc37-head h3 strong{color:#1764d7}
.cc37-head p{
  margin:15px 0 0;font-size:16px;line-height:1.75;color:#7a8aa1;
}

/* 얇은 진행선 */
.cc37-track{
  position:relative;height:18px;margin:56px 30px 22px;
  border-top:1.5px solid #2b72df;
}
.cc37-track::after{
  content:"";position:absolute;left:0;right:0;top:-6px;height:10px;
  background:linear-gradient(135deg,transparent 46%,#2b72df 47% 53%,transparent 54%) 10% 0/20% 10px repeat-x;
}
.cc37-dot{
  position:absolute;top:-8px;width:16px;height:16px;border-radius:50%;
  border:2px solid #2b72df;background:#fff;transform:translateX(-50%);z-index:2;
}
.cc37-dot.d1{left:0;background:#2b72df;border:3px solid #fff;box-shadow:0 0 0 2px #2b72df}
.cc37-dot.d2{left:20%}.cc37-dot.d3{left:40%}.cc37-dot.d4{left:60%}.cc37-dot.d5{left:80%}
.cc37-dot.d6{left:100%;background:#2b72df;border:3px solid #fff;box-shadow:0 0 0 2px #2b72df}

/* 카드 */
.cc37-grid{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;
}
.cc37-box{
  height:122px;padding:0 27px;display:flex;align-items:center;
  background:#fff;border:1px solid #e2e9f3;
  clip-path:polygon(0 0,88% 0,100% 50%,88% 100%,0 100%);
}
.cc37-step:not(:first-child) .cc37-box{
  clip-path:polygon(7% 0,88% 0,100% 50%,88% 100%,7% 100%,0 50%);
}
.cc37-top{display:flex;align-items:center;gap:15px;width:100%}
.cc37-top b{
  font-family:'Montserrat',sans-serif;font-size:30px;line-height:1;font-weight:800;
  letter-spacing:-.055em;color:#758db2;
}
.cc37-top span{width:1px;height:43px;background:#b7c7de}
.cc37-top img{width:48px;height:48px;object-fit:contain}

.cc37-step h4{
  margin:18px 0 0 4px;font-size:18px;line-height:1.4;font-weight:700;
  letter-spacing:-.035em;color:#22314c;
}
.cc37-step>p{
  margin:12px 0 0 4px;font-size:14px;line-height:1.72;font-weight:430;
  letter-spacing:-.025em;color:#6f8098;
}
.cc37-final .cc37-box{
  background:linear-gradient(145deg,#fbfdff 0%,#eef5ff 100%);
  border-color:#c7daf8;
}
.cc37-final .cc37-top b,.cc37-final h4{color:#1764d7}

/* 기존 하단 주석 */
.cc37-process + .cc11-note{
  margin-top:18px;text-align:right;font-size:13px;color:#8998ad;
}

/* 순차 등장 */
.cc37-process.reveal.show .cc37-step{animation:cc37In .52s cubic-bezier(.22,.61,.36,1) both}
.cc37-process.reveal.show .cc37-step:nth-child(1){animation-delay:.04s}
.cc37-process.reveal.show .cc37-step:nth-child(2){animation-delay:.10s}
.cc37-process.reveal.show .cc37-step:nth-child(3){animation-delay:.16s}
.cc37-process.reveal.show .cc37-step:nth-child(4){animation-delay:.22s}
.cc37-process.reveal.show .cc37-step:nth-child(5){animation-delay:.28s}
.cc37-process.reveal.show .cc37-step:nth-child(6){animation-delay:.34s}
@keyframes cc37In{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:1180px){
  .cc37-grid{grid-template-columns:repeat(3,1fr)}
  .cc37-track{display:none}
  .cc37-box,.cc37-step:not(:first-child) .cc37-box{clip-path:none;border-radius:14px}
}
@media(max-width:640px){
  .cc37-head h3{font-size:28px}
  .cc37-head p{font-size:15px}
  .cc37-grid{grid-template-columns:1fr 1fr;gap:24px 14px;margin-top:34px}
  .cc37-box{height:108px;padding:0 20px}
  .cc37-top{gap:11px}.cc37-top b{font-size:25px}.cc37-top img{width:40px;height:40px}
  .cc37-step h4{margin-top:12px;font-size:16px}
  .cc37-step>p{font-size:13px;line-height:1.65}
}


/* =========================================================
   CURRICULUM PROCESS v39
   승인 시안 구조를 실제 코드 + 생성 PNG 자산으로 구현
   ========================================================= */
.cc39-process{
  margin-top:64px;
  padding:10px 0 30px;
  background:none!important;
  border:0!important;
  overflow:visible;
}
.cc39-process::before,.cc39-process::after{display:none!important}

.cc39-head small{
  display:block;
  margin-bottom:12px;
  font-family:'Montserrat',sans-serif;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  color:#1764d7;
}
.cc39-head h3{
  margin:0;
  font-size:36px;
  line-height:1.28;
  font-weight:670;
  letter-spacing:-.047em;
  color:#182744;
}
.cc39-head h3 strong{color:#1764d7;font-weight:720}
.cc39-head p{
  margin:16px 0 0;
  font-size:16px;
  line-height:1.75;
  color:#73839b;
}

/* CSS로 대충 만든 선이 아니라 실제 제작 PNG 타임라인 */
.cc39-track{
  margin:54px 18px 24px;
  height:34px;
  display:flex;
  align-items:center;
}
.cc39-track img{
  display:block;
  width:100%;
  height:34px;
  object-fit:fill;
}

/* 시안 비율: 넓고 낮은 6개 화살표 카드 */
.cc39-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:20px;
}
.cc39-step{text-align:left;min-width:0}

.cc39-box{
  position:relative;
  height:126px;
  padding:0 27px;
  display:flex;
  align-items:center;
  gap:17px;
  background:#fff;
  border:1px solid #dde6f2;
  clip-path:polygon(0 0,87% 0,100% 50%,87% 100%,0 100%);
  filter:drop-shadow(0 7px 9px rgba(29,66,121,.05));
}
.cc39-step:not(:first-child) .cc39-box{
  clip-path:polygon(7% 0,87% 0,100% 50%,87% 100%,7% 100%,0 50%);
}

.cc39-box b{
  flex:0 0 auto;
  font-family:'Montserrat',sans-serif;
  font-size:30px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.055em;
  color:#7089af;
}
.cc39-box span{
  flex:0 0 auto;
  width:1px;
  height:48px;
  background:#b9c8dd;
}

/* 실제 새로 생성한 PNG를 시안처럼 크게 */
.cc39-box img{
  display:block;
  width:72px;
  height:72px;
  object-fit:contain;
  flex:0 0 auto;
}

.cc39-step h4{
  margin:20px 0 0 5px;
  font-size:19px;
  line-height:1.4;
  font-weight:720;
  letter-spacing:-.038em;
  color:#1d2d49;
}
.cc39-step>p{
  margin:13px 0 0 5px;
  font-size:14px;
  line-height:1.75;
  color:#687990;
  letter-spacing:-.025em;
}

/* 마지막 단계는 시안처럼 전체 카드 톤 강조 */
.cc39-final .cc39-box{
  background:linear-gradient(145deg,#fbfdff 0%,#edf5ff 100%);
  border-color:#bcd3f6;
}
.cc39-final .cc39-box b,
.cc39-final h4{color:#1764d7}
.cc39-final .cc39-box img{
  width:76px;
  height:76px;
}

.cc39-process + .cc11-note{
  margin-top:18px;
  text-align:right;
  font-size:13px;
  color:#8998ad;
}

/* 시안처럼 순차적으로 흘러 들어오는 효과 */
.cc39-process.reveal.show .cc39-step{
  animation:cc39In .54s cubic-bezier(.22,.61,.36,1) both;
}
.cc39-process.reveal.show .cc39-step:nth-child(1){animation-delay:.04s}
.cc39-process.reveal.show .cc39-step:nth-child(2){animation-delay:.11s}
.cc39-process.reveal.show .cc39-step:nth-child(3){animation-delay:.18s}
.cc39-process.reveal.show .cc39-step:nth-child(4){animation-delay:.25s}
.cc39-process.reveal.show .cc39-step:nth-child(5){animation-delay:.32s}
.cc39-process.reveal.show .cc39-step:nth-child(6){animation-delay:.39s}
@keyframes cc39In{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:1180px){
  .cc39-grid{grid-template-columns:repeat(3,1fr)}
  .cc39-track{display:none}
  .cc39-box,.cc39-step:not(:first-child) .cc39-box{
    clip-path:none;
    border-radius:15px;
  }
}
@media(max-width:640px){
  .cc39-head h3{font-size:29px}
  .cc39-head p{font-size:15px}
  .cc39-grid{grid-template-columns:1fr 1fr;gap:26px 14px;margin-top:34px}
  .cc39-box{height:112px;padding:0 18px;gap:11px}
  .cc39-box b{font-size:24px}
  .cc39-box span{height:38px}
  .cc39-box img{width:52px;height:52px}
  .cc39-final .cc39-box img{width:56px;height:56px}
  .cc39-step h4{margin-top:13px;font-size:16px}
  .cc39-step>p{font-size:13px;line-height:1.65}
}


/* =========================================================
   CURRICULUM PROCESS v40
   - 승인 시안의 타임라인 디테일을 코드로 재현
   - PNG 타임라인 사용 안 함
   ========================================================= */

.cc39-track{display:none!important;}

.cc40-track{
  position:relative;
  height:34px;
  margin:54px 28px 24px;
}

/* 메인 얇은 블루 라인 */
.cc40-track::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:16px;
  height:2px;
  background:linear-gradient(
    90deg,
    #2c72df 0%,
    #3d81ea 50%,
    #2c72df 100%
  );
  border-radius:999px;
}

/* 노드 */
.cc40-node{
  position:absolute;
  top:7px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#fff;
  border:2px solid #2c72df;
  box-sizing:border-box;
  z-index:3;
  transform:translateX(-50%);
}

/* 시작/끝 노드: 시안처럼 파란 코어 + 화이트 링 */
.cc40-node.is-active{
  background:#1764d7;
  border:4px solid #fff;
  box-shadow:0 0 0 2px #2c72df;
}

.cc40-node.n1{left:0%}
.cc40-node.n2{left:20%}
.cc40-node.n3{left:40%}
.cc40-node.n4{left:60%}
.cc40-node.n5{left:80%}
.cc40-node.n6{left:100%}

/* 각 구간 중앙의 얇은 화살표 */
.cc40-arrow{
  position:absolute;
  top:10px;
  width:12px;
  height:12px;
  z-index:4;
  transform:translateX(-50%) rotate(45deg);
  border-top:2px solid #1764d7;
  border-right:2px solid #1764d7;
  box-sizing:border-box;
}

/* 화살표 바로 전 얇은 연결 꼬리 */
.cc40-arrow::before{
  content:"";
  position:absolute;
  width:8px;
  height:2px;
  background:#1764d7;
  top:4px;
  right:4px;
  transform:rotate(-45deg) translateX(-4px);
  transform-origin:right center;
  border-radius:999px;
}

.cc40-arrow.a1{left:10%}
.cc40-arrow.a2{left:30%}
.cc40-arrow.a3{left:50%}
.cc40-arrow.a4{left:70%}
.cc40-arrow.a5{left:90%}

/* 시안보다 너무 기계적으로 보이지 않게 미세한 하이라이트 */
.cc40-track::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:15px;
  height:1px;
  background:rgba(255,255,255,.58);
  pointer-events:none;
}

/* 등장 시 라인도 자연스럽게 그려짐 */
.cc39-process.reveal.show .cc40-track::before{
  animation:cc40LineIn .78s ease both;
  transform-origin:left center;
}
.cc39-process.reveal.show .cc40-node,
.cc39-process.reveal.show .cc40-arrow{
  animation:cc40PointIn .34s ease both;
}
.cc39-process.reveal.show .cc40-node.n1{animation-delay:.02s}
.cc39-process.reveal.show .cc40-arrow.a1{animation-delay:.10s}
.cc39-process.reveal.show .cc40-node.n2{animation-delay:.16s}
.cc39-process.reveal.show .cc40-arrow.a2{animation-delay:.22s}
.cc39-process.reveal.show .cc40-node.n3{animation-delay:.28s}
.cc39-process.reveal.show .cc40-arrow.a3{animation-delay:.34s}
.cc39-process.reveal.show .cc40-node.n4{animation-delay:.40s}
.cc39-process.reveal.show .cc40-arrow.a4{animation-delay:.46s}
.cc39-process.reveal.show .cc40-node.n5{animation-delay:.52s}
.cc39-process.reveal.show .cc40-arrow.a5{animation-delay:.58s}
.cc39-process.reveal.show .cc40-node.n6{animation-delay:.64s}

@keyframes cc40LineIn{
  from{transform:scaleX(0);opacity:.35}
  to{transform:scaleX(1);opacity:1}
}
@keyframes cc40PointIn{
  from{opacity:0;transform:translateX(-50%) scale(.72)}
  to{opacity:1;transform:translateX(-50%) scale(1)}
}

/* 화살표는 rotate 유지해야 해서 개별 오버라이드 */
.cc39-process.reveal.show .cc40-arrow{
  animation-name:cc40ArrowIn;
}
@keyframes cc40ArrowIn{
  from{opacity:0;transform:translateX(-50%) rotate(45deg) scale(.72)}
  to{opacity:1;transform:translateX(-50%) rotate(45deg) scale(1)}
}

@media(max-width:1180px){
  .cc40-track{display:none}
}


/* =========================================================
   CURRICULUM v41
   - 커리큘럼 헤더 아래 회색 구분선 제거
   ========================================================= */

.curriculum-section .cc16-head,
.curriculum-section .cc16-intro,
.curriculum-section .cc16-head-wrap,
.curriculum-section .cc16-copy{
  border-bottom:0 !important;
}

/* 실제 보이는 얇은 구분선 제거 */
.curriculum-section hr,
.curriculum-section .cc16-divider,
.curriculum-section .section-divider,
.curriculum-section .major-section-title::after{
  display:none !important;
  border:0 !important;
}


/* =========================================================
   CURRICULUM v42
   - 실제 회색 구분선 제거
   ========================================================= */

.curriculum-capture-v11 .cc11-head{
  border-bottom:none !important;
}


/* =========================================================
   CURRICULUM v43
   - OT~04 원형 타임라인 전체를 위로 이동
   ========================================================= */

#curriculumFlow{
  margin-top:34px !important;
}

.cc16-timeline{
  margin-top:34px !important;
}


/* =========================================================
   FIT PROFILE v44
   - 사진 없이 중앙 집중형
   - 참고 이미지의 '시원한 정보 전달 방식'만 차용
   - 기존 MPEA 네이비/블루 톤 유지
   ========================================================= */

.fit44-section{
  padding:128px 0 120px;
  background:#fff;
}

.fit44-section .mepa-wrap{
  max-width:1360px;
}

.fit44-block{
  position:relative;
  text-align:center;
}

.fit44-block + .fit44-block{
  margin-top:150px;
}

/* 중앙 헤드 */
.fit44-heading{
  max-width:980px;
  margin:0 auto 54px;
}

.fit44-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 18px;
  font-family:'Montserrat',sans-serif;
  font-size:13px;
  line-height:1;
  font-weight:800;
  letter-spacing:.12em;
  color:#1764d7;
}

.fit44-kicker span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#1764d7;
  color:#fff;
  font-size:11px;
  letter-spacing:0;
}

.fit44-kicker-muted{
  color:#6f8098;
}
.fit44-kicker-muted span{
  background:#6f8098;
}

.fit44-heading h2{
  margin:0;
  font-size:54px;
  line-height:1.18;
  font-weight:760;
  letter-spacing:-.055em;
  color:#131f38;
}

.fit44-heading h2 strong{
  color:#1764d7;
}

.fit44-not .fit44-heading h2 strong{
  color:#586b87;
}

.fit44-lead{
  margin:26px 0 0;
  font-size:18px;
  line-height:1.85;
  font-weight:420;
  letter-spacing:-.025em;
  color:#718199;
}

.fit44-lead b{
  color:#2c3b56;
  font-weight:700;
}

/* 추천 영역의 중앙 대형 포인트 */
.fit44-focus{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:25px;
  width:min(920px,100%);
  margin:0 auto 36px;
  padding:30px 42px;
  border:1px solid #cfe0fa;
  background:linear-gradient(90deg,#f8fbff 0%,#fff 48%,#f4f8ff 100%);
  border-radius:22px;
}

.fit44-focus::before,
.fit44-focus::after{
  content:"";
  position:absolute;
  top:50%;
  width:70px;
  height:1px;
  background:#cfe0fa;
}
.fit44-focus::before{left:-92px}
.fit44-focus::after{right:-92px}

.fit44-focus-mark{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  width:56px;
  height:56px;
  border-radius:50%;
  background:#1764d7;
  color:#fff;
  font-size:28px;
  font-weight:700;
}

.fit44-focus p{
  margin:0;
  text-align:left;
  font-size:21px;
  line-height:1.55;
  color:#283752;
  letter-spacing:-.035em;
}

.fit44-focus em{
  color:#1764d7;
  font-style:normal;
  font-weight:750;
}

/* 추천 2x2 — 동일 카드 반복이 아니라 좌우 오프셋 */
.fit44-reco-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 26px;
  max-width:1120px;
  margin:0 auto;
}

.fit44-reco-item{
  position:relative;
  display:grid;
  grid-template-columns:72px 1fr;
  align-items:center;
  min-height:124px;
  padding:22px 34px 22px 26px;
  text-align:left;
  border:1px solid #e0e8f4;
  background:#fff;
}

.fit44-reco-item:nth-child(1),
.fit44-reco-item:nth-child(4){
  border-radius:36px 10px 36px 10px;
}
.fit44-reco-item:nth-child(2),
.fit44-reco-item:nth-child(3){
  border-radius:10px 36px 10px 36px;
}

.fit44-reco-item:nth-child(2),
.fit44-reco-item:nth-child(4){
  transform:translateY(18px);
}

.fit44-num{
  font-family:'Montserrat',sans-serif;
  font-size:26px;
  font-weight:800;
  color:#1764d7;
}

.fit44-reco-item p{
  margin:0;
  padding-left:22px;
  border-left:1px solid #d8e3f1;
  font-size:16px;
  line-height:1.72;
  color:#53647e;
}

.fit44-reco-item strong{
  color:#22314b;
  font-weight:700;
}

/* 비추천: 넓은 한 장 안에 4개 정보 블럭 */
.fit44-not{
  padding-top:10px;
}

.fit44-not::before{
  content:"";
  position:absolute;
  left:50%;
  top:-74px;
  width:1px;
  height:42px;
  background:#d8e1ec;
}

.fit44-not-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  max-width:1180px;
  margin:0 auto;
}

.fit44-not-item{
  position:relative;
  min-height:190px;
  padding:34px 26px 28px;
  text-align:left;
  border-top:3px solid #8190a6;
  background:#f8f9fb;
}

.fit44-not-item:nth-child(even){
  margin-top:28px;
}

.fit44-not-item span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  margin-bottom:24px;
  border:1px solid #b6c1d0;
  border-radius:50%;
  color:#6c7c92;
  font-size:25px;
  line-height:1;
}

.fit44-not-item p{
  margin:0;
  font-size:16px;
  line-height:1.72;
  color:#65758b;
}

.fit44-not-item strong{
  display:inline-block;
  margin-top:4px;
  color:#303e55;
  font-weight:700;
}

/* 마지막 한줄 광고형 포인트 */
.fit44-bottom-note{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:26px;
  max-width:880px;
  margin:68px auto 0;
  padding-top:26px;
  border-top:1px solid #dce4ef;
  text-align:left;
}

.fit44-bottom-note span{
  font-family:'Montserrat',sans-serif;
  font-size:12px;
  font-weight:800;
  letter-spacing:.13em;
  color:#1764d7;
}

.fit44-bottom-note p{
  margin:0;
  font-size:17px;
  line-height:1.65;
  color:#687990;
}

.fit44-bottom-note strong{
  color:#1f2e48;
}
.fit44-bottom-note b{
  color:#1764d7;
}

@media(max-width:960px){
  .fit44-section{padding:90px 0}
  .fit44-heading h2{font-size:44px}
  .fit44-focus::before,.fit44-focus::after{display:none}
  .fit44-not-grid{grid-template-columns:1fr 1fr}
  .fit44-not-item:nth-child(even){margin-top:0}
}

@media(max-width:680px){
  .fit44-block + .fit44-block{margin-top:105px}
  .fit44-heading{margin-bottom:40px}
  .fit44-heading h2{font-size:35px}
  .fit44-lead{font-size:15px}
  .fit44-focus{
    align-items:flex-start;
    padding:24px 22px;
    gap:16px;
  }
  .fit44-focus-mark{width:44px;height:44px;font-size:22px}
  .fit44-focus p{font-size:17px}

  .fit44-reco-grid,
  .fit44-not-grid{
    grid-template-columns:1fr;
  }

  .fit44-reco-item:nth-child(2),
  .fit44-reco-item:nth-child(4){
    transform:none;
  }

  .fit44-reco-item{
    grid-template-columns:54px 1fr;
    min-height:108px;
    padding:18px 20px;
  }

  .fit44-num{font-size:21px}
  .fit44-reco-item p{font-size:14px;padding-left:16px}

  .fit44-not-item{
    min-height:auto;
    padding:24px 22px;
  }

  .fit44-bottom-note{
    align-items:flex-start;
    margin-top:48px;
  }
}


/* =========================================================
   FIT PROFILE v45
   승인한 중앙형 시안 그대로 코드 구현
   ========================================================= */

.fit45-section{
  padding:118px 0 118px;
  background:#fff;
}

.fit45-section .mepa-wrap{
  max-width:1280px;
}

.fit45-group{
  text-align:center;
}

.fit45-head{
  max-width:980px;
  margin:0 auto 48px;
}

.fit45-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 16px;
  font-family:'Montserrat',sans-serif;
  font-size:13px;
  line-height:1;
  font-weight:800;
  letter-spacing:.13em;
  color:#1764d7;
}

.fit45-kicker span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#1764d7;
  color:#fff;
  font-size:11px;
  letter-spacing:0;
}

.fit45-kicker-muted{
  color:#6f8098;
}

.fit45-kicker-muted span{
  background:#6f8098;
}

.fit45-head h2{
  margin:0;
  font-size:52px;
  line-height:1.18;
  font-weight:760;
  letter-spacing:-.055em;
  color:#131f38;
}

.fit45-head p{
  margin:24px 0 0;
  font-size:18px;
  line-height:1.82;
  letter-spacing:-.025em;
  color:#72829a;
}

/* 추천 - 승인 시안의 넓은 가로 체크리스트 */
.fit45-list{
  max-width:930px;
  margin:0 auto;
}

.fit45-row{
  display:flex;
  align-items:center;
  gap:24px;
  min-height:78px;
  padding:18px 28px;
  margin-top:14px;
  text-align:left;
  border:1px solid #cfdef7;
  border-radius:18px;
  background:#fff;
}

.fit45-check{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:50%;
  background:#eef5ff;
  color:#1764d7;
  font-size:26px;
  font-weight:800;
}

.fit45-row p{
  margin:0;
  font-size:17px;
  line-height:1.6;
  color:#2f3e58;
}

.fit45-row strong{
  color:#1764d7;
  font-weight:750;
}

/* 중앙 얇은 구분선 */
.fit45-divider{
  position:relative;
  height:90px;
  margin:20px 0 10px;
}

.fit45-divider::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:1px;
  background:#e1e7ef;
}

.fit45-divider span{
  position:absolute;
  left:50%;
  top:50%;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#86aef0;
  transform:translate(-50%,-50%);
}

/* 비추천 - 승인 시안의 4칸 가로 카드 */
.fit45-not-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  max-width:1180px;
  margin:0 auto;
}

.fit45-not-card{
  min-height:184px;
  padding:28px 24px;
  border:1px solid #e1e7ef;
  border-radius:14px;
  background:#fff;
  text-align:center;
}

.fit45-x{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin:0 auto 24px;
  border-radius:50%;
  background:#f7eeee;
  color:#d74444;
  font-size:28px;
  font-weight:700;
}

.fit45-not-card p{
  margin:0;
  font-size:16px;
  line-height:1.7;
  color:#303f59;
}

.fit45-not-card strong{
  color:#d74444;
  font-weight:750;
}

/* 등장 효과 */
.fit45-group.reveal.show .fit45-row,
.fit45-group.reveal.show .fit45-not-card{
  animation:fit45In .52s cubic-bezier(.22,.61,.36,1) both;
}

.fit45-group.reveal.show .fit45-row:nth-child(1),
.fit45-group.reveal.show .fit45-not-card:nth-child(1){animation-delay:.04s}
.fit45-group.reveal.show .fit45-row:nth-child(2),
.fit45-group.reveal.show .fit45-not-card:nth-child(2){animation-delay:.10s}
.fit45-group.reveal.show .fit45-row:nth-child(3),
.fit45-group.reveal.show .fit45-not-card:nth-child(3){animation-delay:.16s}
.fit45-group.reveal.show .fit45-row:nth-child(4),
.fit45-group.reveal.show .fit45-not-card:nth-child(4){animation-delay:.22s}

@keyframes fit45In{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:960px){
  .fit45-section{padding:90px 0}
  .fit45-head h2{font-size:44px}
  .fit45-not-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:640px){
  .fit45-head h2{font-size:34px}
  .fit45-head p{font-size:15px}
  .fit45-row{
    gap:15px;
    padding:16px 18px;
  }
  .fit45-check{
    width:40px;
    height:40px;
    font-size:22px;
  }
  .fit45-row p{font-size:14px}
  .fit45-divider{height:72px}
  .fit45-not-grid{grid-template-columns:1fr}
  .fit45-not-card{
    min-height:auto;
    padding:24px 20px;
  }
}


/* =========================================================
   FIT PROFILE v46
   - 더 크고 시원하게
   - 중앙 광고형 리듬 강화
   - 단순 AI 카드 느낌 줄이고 디자인 요소 추가
   ========================================================= */

.fit45-section{
  padding:150px 0 150px;
}

.fit45-section .mepa-wrap{
  max-width:1420px;
}

/* 제목 훨씬 크게 */
.fit45-head{
  max-width:1120px;
  margin-bottom:62px;
}

.fit45-kicker{
  font-size:14px;
  margin-bottom:20px;
}

.fit45-kicker span{
  width:34px;
  height:34px;
  font-size:12px;
}

.fit45-head h2{
  font-size:66px;
  line-height:1.12;
  letter-spacing:-.06em;
}

.fit45-head p{
  margin-top:28px;
  font-size:21px;
  line-height:1.8;
}

/* 추천 체크리스트 더 큼직하게 */
.fit45-list{
  max-width:1080px;
}

.fit45-row{
  position:relative;
  min-height:96px;
  padding:22px 34px;
  margin-top:16px;
  gap:28px;
  border-radius:22px;
  background:
    linear-gradient(90deg,#fbfdff 0%,#fff 65%,#f7faff 100%);
  border:1px solid #c9daf6;
  overflow:hidden;
}

/* 왼쪽 블루 포인트 바 */
.fit45-row::before{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:4px;
  border-radius:999px;
  background:linear-gradient(180deg,#1764d7,#73a3ed);
}

/* 오른쪽 장식 점 */
.fit45-row::after{
  content:"";
  position:absolute;
  right:24px;
  top:50%;
  width:7px;
  height:7px;
  transform:translateY(-50%);
  border-radius:50%;
  background:#1764d7;
  box-shadow:
    -12px 0 0 rgba(23,100,215,.24),
    -24px 0 0 rgba(23,100,215,.10);
}

.fit45-check{
  width:54px;
  height:54px;
  font-size:30px;
  background:linear-gradient(145deg,#edf4ff,#dfeaff);
  border:1px solid #c8daf7;
}

.fit45-row p{
  font-size:20px;
  line-height:1.55;
  padding-right:70px;
}

/* 추천 리스트 전체 좌우에 가이드 라인 */
.fit45-list{
  position:relative;
}
.fit45-list::before,
.fit45-list::after{
  content:"";
  position:absolute;
  top:-34px;
  width:90px;
  height:1px;
  background:#cfdcf0;
}
.fit45-list::before{left:-116px}
.fit45-list::after{right:-116px}

/* 구분선 더 디자인스럽게 */
.fit45-divider{
  height:128px;
  margin:34px 0 18px;
}

.fit45-divider::before{
  left:7%;
  right:7%;
  background:linear-gradient(90deg,transparent,#dfe5ee 14%,#dfe5ee 86%,transparent);
}

.fit45-divider span{
  width:10px;
  height:10px;
  background:#1764d7;
  box-shadow:
    0 0 0 6px #fff,
    0 0 0 7px #dbe5f3;
}

/* 비추천 제목도 크게 */
.fit45-not .fit45-head h2{
  font-size:60px;
}

/* 비추천 4개 카드 더 크고 시원하게 */
.fit45-not-grid{
  max-width:1280px;
  gap:22px;
}

.fit45-not-card{
  position:relative;
  min-height:230px;
  padding:38px 28px 34px;
  border-radius:18px;
  background:
    linear-gradient(180deg,#fff 0%,#fbfbfc 100%);
  border:1px solid #dde4ec;
  overflow:hidden;
}

/* 위쪽 번호 라인 */
.fit45-not-card::before{
  content:"";
  position:absolute;
  left:28px;
  right:28px;
  top:0;
  height:3px;
  background:linear-gradient(90deg,#9aa8bb,transparent);
}

/* 큰 희미한 숫자 */
.fit45-not-card::after{
  content:"0" counter(fit45card);
  counter-increment:fit45card;
  position:absolute;
  right:18px;
  bottom:-18px;
  font-family:'Montserrat',sans-serif;
  font-size:86px;
  line-height:1;
  font-weight:800;
  color:rgba(78,95,120,.05);
  letter-spacing:-.07em;
}

.fit45-not-grid{
  counter-reset:fit45card;
}

.fit45-x{
  width:56px;
  height:56px;
  margin-bottom:28px;
  font-size:30px;
  background:#f5f1f1;
  border:1px solid #e5d7d7;
}

.fit45-not-card p{
  font-size:18px;
  line-height:1.75;
}

/* 양 끝 카드 살짝 변주 */
.fit45-not-card:nth-child(1),
.fit45-not-card:nth-child(4){
  transform:translateY(14px);
}

/* 섹션 양쪽에 얇은 장식선 */
.fit45-group{
  position:relative;
}
.fit45-recommended::before,
.fit45-not::after{
  content:"";
  position:absolute;
  width:140px;
  height:1px;
  background:#d9e3f1;
}
.fit45-recommended::before{
  left:0;
  top:42px;
}
.fit45-not::after{
  right:0;
  top:42px;
}

/* 모바일 */
@media(max-width:960px){
  .fit45-section{padding:110px 0}
  .fit45-head h2{font-size:54px}
  .fit45-not .fit45-head h2{font-size:50px}
  .fit45-head p{font-size:18px}
  .fit45-row p{font-size:17px}
  .fit45-list::before,.fit45-list::after,
  .fit45-recommended::before,.fit45-not::after{display:none}
  .fit45-not-grid{grid-template-columns:1fr 1fr}
  .fit45-not-card:nth-child(1),
  .fit45-not-card:nth-child(4){transform:none}
}

@media(max-width:640px){
  .fit45-section{padding:82px 0}
  .fit45-head h2{font-size:40px}
  .fit45-not .fit45-head h2{font-size:38px}
  .fit45-head p{font-size:15px}
  .fit45-row{
    min-height:84px;
    padding:18px 18px;
  }
  .fit45-row p{
    font-size:15px;
    padding-right:42px;
  }
  .fit45-check{
    width:44px;
    height:44px;
    font-size:24px;
  }
  .fit45-not-grid{grid-template-columns:1fr}
  .fit45-not-card{
    min-height:auto;
    padding:28px 22px;
  }
  .fit45-not-card p{font-size:15px}
}


/* =========================================================
   FIT PROFILE v47
   - 박스/좌측 블루바 제거
   - 리스트를 밑줄/라인 중심으로 정리
   ========================================================= */

/* 추천 리스트 박스 해제 */
.fit45-row{
  min-height:auto !important;
  padding:24px 6px 24px 0 !important;
  margin-top:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  overflow:visible !important;
  border-bottom:1px solid #d9e3f1 !important;
}

/* 좌측 블루 세로바 제거 */
.fit45-row::before{
  display:none !important;
}

/* 우측 도트 장식 제거 */
.fit45-row::after{
  display:none !important;
}

/* 체크 아이콘은 박스 없이 간결하게 */
.fit45-check{
  width:44px !important;
  height:44px !important;
  background:none !important;
  border:0 !important;
  border-radius:0 !important;
  color:#1764d7 !important;
  font-size:30px !important;
}

/* 텍스트는 시원하게 */
.fit45-row p{
  padding-right:0 !important;
  font-size:21px !important;
  line-height:1.65 !important;
}

/* 리스트 좌우 가이드 장식 제거 */
.fit45-list::before,
.fit45-list::after{
  display:none !important;
}

/* 비추천 카드도 박스 제거, 라인형으로 */
.fit45-not-grid{
  gap:0 !important;
  border-top:1px solid #d9e0e8;
}

.fit45-not-card{
  min-height:auto !important;
  padding:28px 18px 28px 0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  transform:none !important;
  text-align:left !important;
  border-bottom:1px solid #d9e0e8 !important;
}

/* 기존 카드 장식 전부 제거 */
.fit45-not-card::before,
.fit45-not-card::after{
  display:none !important;
}

/* X 아이콘도 박스 없이 */
.fit45-x{
  width:auto !important;
  height:auto !important;
  margin:0 0 14px !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  color:#7b8798 !important;
  font-size:26px !important;
}

/* 비추천 텍스트 확대 */
.fit45-not-card p{
  font-size:18px !important;
  line-height:1.7 !important;
}

/* 양 끝 높낮이 변주 제거 */
.fit45-not-card:nth-child(1),
.fit45-not-card:nth-child(4){
  transform:none !important;
}

/* 섹션 양쪽 장식선 제거 */
.fit45-recommended::before,
.fit45-not::after{
  display:none !important;
}

/* 중앙 구분선은 유지하되 더 얇게 */
.fit45-divider::before{
  height:1px !important;
  background:linear-gradient(90deg,transparent,#e1e6ed 18%,#e1e6ed 82%,transparent) !important;
}

.fit45-divider span{
  width:6px !important;
  height:6px !important;
  box-shadow:none !important;
  background:#9ab8e8 !important;
}

@media(max-width:960px){
  .fit45-not-grid{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:640px){
  .fit45-row{
    padding:20px 0 !important;
  }
  .fit45-row p{
    font-size:16px !important;
  }
  .fit45-not-grid{
    grid-template-columns:1fr !important;
  }
  .fit45-not-card{
    padding:22px 0 !important;
  }
  .fit45-not-card p{
    font-size:15px !important;
  }
}


/* =========================================================
   FIT PROFILE v48
   - 상단 추천 영역은 그대로 유지
   - 하단 비추천 영역만 재디자인
   - 박스 없이 2x2 대형 라인형
   ========================================================= */

.fit45-not-grid{
  counter-reset:notitem;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:0 56px !important;
  max-width:1120px !important;
  margin:0 auto !important;
  border-top:1px solid #d9e0e8 !important;
}

.fit45-not-card{
  counter-increment:notitem;
  position:relative;
  display:grid !important;
  grid-template-columns:74px 1fr !important;
  align-items:center !important;
  min-height:132px !important;
  padding:26px 8px 26px 0 !important;
  margin:0 !important;
  border:0 !important;
  border-bottom:1px solid #d9e0e8 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  transform:none !important;
  text-align:left !important;
  overflow:visible !important;
}

/* 큰 번호 */
.fit45-not-card::before{
  content:"0" counter(notitem) !important;
  display:block !important;
  position:static !important;
  width:auto !important;
  height:auto !important;
  background:none !important;
  font-family:'Montserrat',sans-serif;
  font-size:28px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.05em;
  color:#9ba8b8;
}

/* 기존 희미한 숫자 장식 제거 */
.fit45-not-card::after{
  display:none !important;
}

/* X는 문장 앞 작은 포인트로 */
.fit45-x{
  position:absolute !important;
  left:45px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:24px !important;
  height:24px !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid #e3caca !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#d94b4b !important;
  font-size:17px !important;
  line-height:1 !important;
}

.fit45-not-card p{
  margin:0 !important;
  padding-left:22px !important;
  border-left:1px solid #dfe5ec;
  font-size:19px !important;
  line-height:1.7 !important;
  color:#526279 !important;
  letter-spacing:-.025em;
}

.fit45-not-card strong{
  color:#d94747 !important;
  font-weight:750 !important;
}

/* 위아래 리듬 */
.fit45-not-grid .fit45-not-card:nth-child(1),
.fit45-not-grid .fit45-not-card:nth-child(2){
  border-top:0 !important;
}

.fit45-not-grid .fit45-not-card:nth-child(3),
.fit45-not-grid .fit45-not-card:nth-child(4){
  padding-top:30px !important;
}

/* 가운데 세로 분리감 */
.fit45-not-grid .fit45-not-card:nth-child(odd){
  padding-right:28px !important;
}

.fit45-not-grid .fit45-not-card:nth-child(even){
  padding-left:28px !important;
}

.fit45-not-grid .fit45-not-card:nth-child(even)::before{
  margin-left:0;
}

@media(max-width:760px){
  .fit45-not-grid{
    grid-template-columns:1fr !important;
    gap:0 !important;
  }

  .fit45-not-card{
    grid-template-columns:62px 1fr !important;
    min-height:108px !important;
    padding:22px 0 !important;
  }

  .fit45-not-card:nth-child(even),
  .fit45-not-card:nth-child(odd){
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .fit45-not-card::before{
    font-size:24px !important;
  }

  .fit45-x{
    left:36px !important;
    width:22px !important;
    height:22px !important;
    font-size:15px !important;
  }

  .fit45-not-card p{
    font-size:16px !important;
    padding-left:16px !important;
  }
}


/* =========================================================
   FIT PROFILE v49
   - 현재 레이아웃 유지
   - 비추천 번호/X 겹침 수정
   - 배경에만 아주 옅은 디자인 요소 추가
   ========================================================= */

/* 기존 pseudo 번호와 X 완전 제거 */
.fit45-not-card::before,
.fit45-not-card::after,
.fit45-x{
  display:none !important;
}

/* 번호 + X를 하나의 명확한 좌측 영역으로 */
.fit45-not-card{
  grid-template-columns:112px 1fr !important;
  column-gap:0 !important;
}

.fit49-index{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:52px;
  padding-right:22px;
  border-right:1px solid #dfe5ec;
}

.fit49-index b{
  font-family:'Montserrat',sans-serif;
  font-size:31px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.06em;
  color:#8798ae;
}

.fit49-index i{
  display:flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  flex:0 0 28px;
  border:1px solid #e9bcbc;
  border-radius:50%;
  background:#fff;
  color:#dc5353;
  font-style:normal;
  font-size:18px;
  font-weight:700;
  line-height:1;
}

.fit45-not-card p{
  padding-left:28px !important;
  border-left:0 !important;
}

/* ---------------------------------------------------------
   구조는 유지하고 배경 장식만 아주 약하게 추가
   --------------------------------------------------------- */

.fit45-section{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

/* 우측 상단 얇은 곡선 패턴 */
.fit45-section::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:520px;
  height:300px;
  right:-130px;
  top:90px;
  opacity:.34;
  background:
    radial-gradient(ellipse at center,
      transparent 0 47%,
      rgba(64,126,223,.11) 47.5% 48%,
      transparent 48.5% 56%,
      rgba(64,126,223,.07) 56.5% 57%,
      transparent 57.5% 65%,
      rgba(64,126,223,.045) 65.5% 66%,
      transparent 66.5%);
  transform:rotate(-18deg);
  pointer-events:none;
}

/* 좌측 하단 아주 옅은 도트 페이드 */
.fit45-section::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:-30px;
  bottom:70px;
  width:320px;
  height:220px;
  opacity:.28;
  background:
    radial-gradient(circle, rgba(23,100,215,.14) 1.2px, transparent 1.4px) 0 0/15px 15px;
  -webkit-mask-image:linear-gradient(135deg,#000 0%,transparent 76%);
  mask-image:linear-gradient(135deg,#000 0%,transparent 76%);
  pointer-events:none;
}

/* 추천 타이틀 옆 작은 선형 모티프 */
.fit45-recommended .fit45-head{
  position:relative;
}

.fit45-recommended .fit45-head::after{
  content:"";
  display:block;
  width:74px;
  height:4px;
  margin:26px auto 0;
  border-radius:999px;
  background:linear-gradient(90deg,#1764d7 0 34%,#a9c4ef 34% 68%,#dfe9f8 68% 100%);
}

/* 비추천 타이틀은 회색 짧은 포인트 라인 */
.fit45-not .fit45-head{
  position:relative;
}

.fit45-not .fit45-head::after{
  content:"";
  display:block;
  width:74px;
  height:3px;
  margin:26px auto 0;
  border-radius:999px;
  background:linear-gradient(90deg,#6f8098 0 34%,#b6c1cf 34% 68%,#e3e8ee 68% 100%);
}

/* 비추천 2x2 영역 가운데 아주 얇은 세로 축 */
.fit45-not-grid{
  position:relative;
}

.fit45-not-grid::before{
  content:"";
  position:absolute;
  left:50%;
  top:18px;
  bottom:18px;
  width:1px;
  background:linear-gradient(180deg,transparent,#e4e9ef 12%,#e4e9ef 88%,transparent);
  pointer-events:none;
}

/* 추천 리스트에 미세한 블루 점만 */
.fit45-row{
  position:relative;
}

.fit45-row > .fit45-check{
  position:relative;
}

.fit45-row > .fit45-check::after{
  content:"";
  position:absolute;
  width:5px;
  height:5px;
  right:-7px;
  bottom:1px;
  border-radius:50%;
  background:#a8c5f1;
}

/* 모바일 */
@media(max-width:760px){
  .fit45-not-card{
    grid-template-columns:90px 1fr !important;
  }

  .fit49-index{
    padding-right:14px;
    gap:9px;
  }

  .fit49-index b{
    font-size:25px;
  }

  .fit49-index i{
    width:24px;
    height:24px;
    flex-basis:24px;
    font-size:15px;
  }

  .fit45-not-card p{
    padding-left:18px !important;
  }

  .fit45-not-grid::before{
    display:none;
  }

  .fit45-section::before{
    width:320px;
    height:200px;
    right:-160px;
    top:50px;
  }

  .fit45-section::after{
    width:200px;
    height:150px;
  }
}


/* =========================================================
   TUITION PRICE REDESIGN v50
   - 얼리버드 상세페이지형 가격 영역
   - 실제 생성 이미지 자산 적용
   - 기존 상단 교육비 설명/하단 포함내용 유지
   ========================================================= */

.tuition50-price{
  position:relative;
  margin-top:52px;
  padding:58px 42px 38px;
  border:1px solid #e1eaf6;
  border-radius:34px;
  background:
    radial-gradient(circle at 92% 8%,rgba(63,125,228,.10),transparent 24%),
    linear-gradient(180deg,#fbfdff 0%,#f5f9ff 100%);
  overflow:visible;
  box-shadow:0 22px 54px rgba(46,82,137,.08);
}

.tuition50-price::before{
  content:"";
  position:absolute;
  left:-60px;
  bottom:60px;
  width:220px;
  height:220px;
  opacity:.22;
  background:
    radial-gradient(circle,rgba(50,112,213,.18) 1px,transparent 1.4px) 0 0/15px 15px;
  -webkit-mask-image:linear-gradient(135deg,#000 0%,transparent 72%);
  mask-image:linear-gradient(135deg,#000 0%,transparent 72%);
  pointer-events:none;
}

.tuition50-top{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(420px,.75fr);
  gap:44px;
  align-items:center;
  min-height:280px;
}

.tuition50-copy{
  padding-left:26px;
}

.tuition50-eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 18px;
  font-size:15px;
  line-height:1.4;
  font-weight:640;
  letter-spacing:-.025em;
  color:#33435f;
}

.tuition50-eyebrow span{
  width:5px;
  height:26px;
  border-radius:999px;
  background:#1764d7;
}

.tuition50-copy h3{
  margin:0;
  font-size:64px;
  line-height:1.08;
  font-weight:790;
  letter-spacing:-.06em;
  color:#0e1e3e;
}

.tuition50-copy > p:last-child{
  margin:26px 0 0;
  font-size:19px;
  line-height:1.75;
  letter-spacing:-.025em;
  color:#53627a;
}

.tuition50-copy strong{
  color:#1764d7;
  font-weight:760;
}

.tuition50-hero{
  position:relative;
  min-height:270px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.tuition50-hero img{
  display:block;
  width:min(520px,100%);
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 18px 26px rgba(33,86,174,.12));
}

.tuition50-cards{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:end;
  margin-top:22px;
}

.tuition50-card{
  position:relative;
  min-height:410px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border:1px solid #d6e0ee;
  border-radius:24px;
  background:rgba(255,255,255,.96);
  overflow:visible;
  box-shadow:0 14px 30px rgba(44,77,126,.07);
}

.tuition50-card--early1{
  border-color:#7ca8ed;
}

.tuition50-card--early2{
  min-height:438px;
  border:2px solid #3f86ec;
  box-shadow:0 20px 42px rgba(39,103,209,.16);
  transform:translateY(-10px);
}

.tuition50-card--regular{
  background:linear-gradient(180deg,#fff,#f9fbfe);
}

.tuition50-card-body{
  position:relative;
  z-index:2;
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:72px 28px 34px;
  text-align:center;
}

.tuition50-pill{
  min-width:150px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 22px;
  border-radius:999px;
  background:#0d2b5f;
  color:#fff;
  font-size:17px;
  font-weight:760;
  letter-spacing:-.025em;
}

.tuition50-card--early2 .tuition50-pill{
  background:linear-gradient(90deg,#1764d7,#1f72ed);
}

.tuition50-card--regular .tuition50-pill{
  background:#74839a;
}

.tuition50-desc{
  margin:22px 0 8px;
  font-size:16px;
  line-height:1.55;
  font-weight:520;
  color:#435169;
}

.tuition50-price{
  position:relative;
  z-index:3;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:8px;
  margin-top:8px;
}

.tuition50-price strong{
  font-family:'Montserrat',sans-serif;
  font-size:86px;
  line-height:.95;
  font-weight:780;
  letter-spacing:-.065em;
  color:#1764d7;
}

.tuition50-card--regular .tuition50-price strong{
  color:#071b3e;
}

.tuition50-price em{
  padding-bottom:10px;
  font-size:20px;
  line-height:1;
  font-style:normal;
  font-weight:760;
  color:#0e1e3d;
}

.tuition50-card-foot{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:18px 20px;
  border-radius:0 0 22px 22px;
  background:#0d2b5f;
  color:#fff;
}

.tuition50-card--early2 .tuition50-card-foot{
  background:linear-gradient(90deg,#1764d7,#0d56c7);
}

.tuition50-card--regular .tuition50-card-foot{
  background:#edf2f8;
  color:#394961;
}

.tuition50-card-foot b{
  font-size:15px;
  line-height:1.4;
  font-weight:680;
}

.tuition50-foot-icon{
  font-size:20px;
  line-height:1;
}

.tuition50-limited{
  position:absolute;
  z-index:5;
  left:18px;
  top:-16px;
  width:66px;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 8px 10px rgba(23,100,215,.18));
}

.tuition50-popular{
  position:absolute;
  z-index:6;
  top:-38px;
  left:50%;
  width:280px;
  max-width:78%;
  height:auto;
  transform:translateX(-50%);
  object-fit:contain;
  filter:drop-shadow(0 9px 12px rgba(23,100,215,.16));
}

.tuition50-laurel{
  position:absolute;
  z-index:1;
  left:50%;
  bottom:78px;
  width:76%;
  height:auto;
  transform:translateX(-50%);
  opacity:.34;
  object-fit:contain;
  pointer-events:none;
}

.tuition50-certificate{
  position:absolute;
  z-index:1;
  right:-18px;
  bottom:52px;
  width:150px;
  height:auto;
  opacity:.52;
  object-fit:contain;
  pointer-events:none;
}

.tuition50-note{
  width:min(760px,100%);
  min-height:58px;
  margin:28px auto 0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:12px 24px;
  border:1px solid #e2e9f3;
  border-radius:999px;
  background:#fff;
  box-shadow:0 10px 24px rgba(48,82,133,.05);
}

.tuition50-note p{
  margin:0;
  font-size:14px;
  line-height:1.55;
  color:#65758c;
}

.tuition50-clock{
  color:#1764d7;
  font-size:22px;
  line-height:1;
}

/* 기존 가격밴드의 ::before 타이틀 등 무효화 */
.tuition-price-band,
.tuition-price-grid,
.tuition-price-label,
.tuition-price-item,
.tuition-price-note{
  display:none !important;
}

@media(max-width:1100px){
  .tuition50-top{
    grid-template-columns:1fr 380px;
  }
  .tuition50-copy h3{
    font-size:54px;
  }
  .tuition50-price strong{
    font-size:72px;
  }
}

@media(max-width:900px){
  .tuition50-price{
    padding:44px 24px 32px;
  }
  .tuition50-top{
    grid-template-columns:1fr;
    gap:12px;
  }
  .tuition50-copy{
    text-align:center;
    padding-left:0;
  }
  .tuition50-eyebrow{
    justify-content:center;
  }
  .tuition50-hero{
    min-height:210px;
    justify-content:center;
  }
  .tuition50-hero img{
    max-width:430px;
  }
  .tuition50-cards{
    grid-template-columns:1fr;
    gap:22px;
    max-width:620px;
    margin:32px auto 0;
  }
  .tuition50-card,
  .tuition50-card--early2{
    min-height:360px;
    transform:none;
  }
  .tuition50-popular{
    width:250px;
  }
}

@media(max-width:640px){
  .tuition50-price{
    margin-top:36px;
    padding:34px 16px 26px;
    border-radius:24px;
  }
  .tuition50-copy h3{
    font-size:42px;
  }
  .tuition50-copy > p:last-child{
    font-size:15px;
  }
  .tuition50-hero{
    min-height:170px;
  }
  .tuition50-card-body{
    padding:62px 18px 28px;
  }
  .tuition50-price strong{
    font-size:68px;
  }
  .tuition50-price em{
    font-size:17px;
  }
  .tuition50-note{
    align-items:flex-start;
    border-radius:18px;
    padding:14px 16px;
  }
  .tuition50-note p{
    font-size:12px;
  }
}


/* =========================================================
   TUITION v51 — class collision fix
   .tuition50-price = 전체 교육비 섹션
   .tuition50-amount = 카드 내부 금액
   ========================================================= */

.tuition50-amount{
  position:relative;
  z-index:3;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:8px;
  margin-top:8px;
}

.tuition50-amount strong{
  font-family:'Montserrat',sans-serif;
  font-size:86px;
  line-height:.95;
  font-weight:780;
  letter-spacing:-.065em;
  color:#1764d7;
}

.tuition50-card--regular .tuition50-amount strong{
  color:#071b3e;
}

.tuition50-amount em{
  padding-bottom:10px;
  font-size:20px;
  line-height:1;
  font-style:normal;
  font-weight:760;
  color:#0e1e3d;
}

/* 카드 레이아웃 정상화 */
.tuition50-card{
  overflow:hidden;
}

.tuition50-card--early2{
  overflow:visible;
}

/* 1차 배지 너무 안쪽으로 침범하지 않게 */
.tuition50-limited{
  left:18px !important;
  top:-14px !important;
  width:58px !important;
}

/* 인기 리본을 카드 위에 안정적으로 */
.tuition50-popular{
  top:-30px !important;
  width:230px !important;
  max-width:72% !important;
}

/* 가격 숫자는 항상 카드 내부에서만 */
.tuition50-card-body .tuition50-amount{
  width:auto !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  overflow:visible !important;
}

/* 섹션 전체는 기존 의도대로 */
section.tuition50-price{
  position:relative;
  display:block;
  width:auto;
}

/* 영웅 일러스트 너무 아래로 내려오지 않게 */
.tuition50-hero img{
  max-height:270px;
  width:auto;
  max-width:100%;
}

/* 3개 가격카드가 한 줄에서 안정적으로 유지 */
.tuition50-cards{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:stretch;
}

.tuition50-card{
  min-width:0;
}

@media(max-width:1100px){
  .tuition50-amount strong{
    font-size:72px;
  }
}

@media(max-width:900px){
  .tuition50-cards{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:640px){
  .tuition50-amount strong{
    font-size:64px;
  }
  .tuition50-amount em{
    font-size:17px;
  }
}


/* =========================================================
   TUITION v52
   - 바깥 큰 박스 제거
   - 정가 카드 하단 컬러/텍스트 가독성 개선
   - 기존 3개 가격카드/일러스트 구조 유지
   ========================================================= */

/* 전체를 감싸던 큰 네모박스 제거 */
section.tuition50-price{
  margin-top:52px !important;
  padding:18px 0 28px !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  overflow:visible !important;
}

/* 큰 박스용 도트 장식도 제거 */
section.tuition50-price::before{
  display:none !important;
}

/* 상단 카피/일러스트는 그대로 두되 조금 더 자연스럽게 */
.tuition50-top{
  padding:0 18px;
}

/* 카드들만 독립적으로 떠 있도록 */
.tuition50-cards{
  padding:0 4px;
}

/* 정가 카드 하단을 회색바 대신 컬러감 있는 슬레이트 블루로 */
.tuition50-card--regular .tuition50-card-foot{
  background:linear-gradient(90deg,#e8eef7 0%,#dfe8f5 100%) !important;
  color:#29415f !important;
  border-top:1px solid #cfdae9;
}

/* 아이콘과 문구를 더 정확하게 중앙 정렬 */
.tuition50-card--regular .tuition50-card-foot{
  gap:10px;
  justify-content:center;
  min-height:72px;
}

.tuition50-card--regular .tuition50-card-foot b{
  display:block;
  margin:0;
  font-size:15px;
  line-height:1.35;
  font-weight:760;
  letter-spacing:-.025em;
  color:#29415f;
  white-space:nowrap;
}

.tuition50-card--regular .tuition50-foot-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#fff;
  border:1px solid #b8c8dc;
  color:#476786;
  font-size:14px;
  line-height:1;
}

/* 정가 라벨도 회색 덩어리감 줄이고 브랜드 톤 섞기 */
.tuition50-card--regular .tuition50-pill{
  background:linear-gradient(90deg,#687b96,#7f91aa) !important;
  color:#fff;
}

/* 정가 가격/인증서 이미지가 겹치지 않도록 */
.tuition50-card--regular .tuition50-card-body{
  padding-right:34px;
  padding-left:34px;
}

.tuition50-certificate{
  right:4px !important;
  bottom:64px !important;
  width:128px !important;
  opacity:.34 !important;
}

/* 1,2차 하단 문구도 세로 중앙 정렬 보정 */
.tuition50-card-foot{
  line-height:1.3;
}
.tuition50-card-foot b{
  margin:0;
  display:block;
}

/* 안내 pill도 바깥 박스 제거 후 너무 둥둥 뜨지 않게 */
.tuition50-note{
  margin-top:30px;
  box-shadow:none !important;
  border-color:#dfe7f1 !important;
  background:#f9fbfe !important;
}

/* 모바일 */
@media(max-width:900px){
  section.tuition50-price{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .tuition50-top{
    padding:0;
  }
}

@media(max-width:640px){
  .tuition50-card--regular .tuition50-card-foot b{
    font-size:14px;
    white-space:normal;
  }
}


/* =========================================================
   TUITION v53
   - 얼리버드 메인카피 줄바꿈/크기 정상화
   ========================================================= */

.tuition50-copy .tuition50-maincopy{
  margin:24px 0 0 !important;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
  font-size:18px !important;
  line-height:1.55 !important;
  letter-spacing:-.028em;
  color:#5f6f86;
}

.tuition50-copy .tuition50-maincopy > span{
  display:block;
  white-space:nowrap;
}

.tuition50-copy .tuition50-mainline{
  display:flex !important;
  align-items:baseline;
  gap:8px;
  margin-top:2px;
  font-size:18px;
  color:#53647d;
}

.tuition50-copy .tuition50-mainline strong{
  display:inline-block;
  font-size:46px !important;
  line-height:1.08 !important;
  font-weight:800 !important;
  letter-spacing:-.055em;
  color:#1764d7 !important;
  white-space:nowrap;
}

@media(max-width:1100px){
  .tuition50-copy .tuition50-mainline strong{
    font-size:40px !important;
  }
}

@media(max-width:900px){
  .tuition50-copy .tuition50-maincopy{
    align-items:center;
    text-align:center;
  }
  .tuition50-copy .tuition50-maincopy > span{
    white-space:normal;
  }
  .tuition50-copy .tuition50-mainline{
    justify-content:center;
  }
}

@media(max-width:640px){
  .tuition50-copy .tuition50-maincopy{
    font-size:15px !important;
    gap:4px;
  }
  .tuition50-copy .tuition50-mainline{
    font-size:15px;
  }
  .tuition50-copy .tuition50-mainline strong{
    font-size:32px !important;
  }
}


/* =========================================================
   TUITION v54
   - 승인 시안(첫 번째 캡처)에 맞춘 코드 보정
   - 이미지 생성 없음
   - 기존 생성 자산 재사용
   ========================================================= */

/* 전체 영역 폭/여백 */
section.tuition50-price{
  max-width:1280px;
  margin:44px auto 0 !important;
  padding:30px 8px 18px !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
}

/* 상단: 좌측 카피 / 우측 일러스트 */
.tuition50-top{
  grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr) !important;
  gap:34px !important;
  min-height:260px !important;
  padding:0 18px 8px !important;
  align-items:start !important;
}

.tuition50-copy{
  padding:10px 0 0 10px !important;
}

.tuition50-eyebrow{
  margin-bottom:14px !important;
  font-size:14px !important;
}

.tuition50-copy h3{
  font-size:58px !important;
  line-height:1.05 !important;
  margin-bottom:0 !important;
}

/* 시안처럼 설명 3줄 리듬 */
.tuition50-copy .tuition50-maincopy{
  margin-top:18px !important;
  gap:2px !important;
  align-items:flex-start !important;
  text-align:left !important;
  font-size:16px !important;
  line-height:1.52 !important;
}

.tuition50-copy .tuition50-mainline{
  margin-top:0 !important;
  font-size:16px !important;
  line-height:1.35 !important;
}

.tuition50-copy .tuition50-mainline strong{
  font-size:38px !important;
  line-height:1.05 !important;
  letter-spacing:-.05em !important;
}

/* 우측 얼리버드 일러스트: 시안처럼 더 크고 위쪽 */
.tuition50-hero{
  min-height:250px !important;
  align-items:flex-start !important;
  justify-content:flex-end !important;
  padding-top:0 !important;
}

.tuition50-hero img{
  width:470px !important;
  max-width:100% !important;
  max-height:none !important;
  margin-top:-2px !important;
  filter:drop-shadow(0 14px 24px rgba(33,86,174,.10)) !important;
}

/* 카드 3개: 시안처럼 낮고 안정적으로 */
.tuition50-cards{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
  margin-top:12px !important;
  padding:0 !important;
  align-items:end !important;
}

.tuition50-card{
  min-height:360px !important;
  border-radius:18px !important;
  box-shadow:0 12px 26px rgba(44,77,126,.06) !important;
}

.tuition50-card--early2{
  min-height:382px !important;
  transform:translateY(-8px) !important;
  border-width:2px !important;
}

/* 내부 여백 줄여 시안 비율 맞춤 */
.tuition50-card-body{
  padding:58px 22px 22px !important;
}

.tuition50-card--early2 .tuition50-card-body{
  padding-top:66px !important;
}

.tuition50-pill{
  min-width:126px !important;
  min-height:38px !important;
  padding:0 18px !important;
  font-size:15px !important;
}

.tuition50-desc{
  margin:18px 0 4px !important;
  font-size:14px !important;
  line-height:1.45 !important;
}

/* 가격 숫자 */
.tuition50-amount{
  margin-top:4px !important;
  gap:6px !important;
}

.tuition50-amount strong{
  font-size:78px !important;
}

.tuition50-amount em{
  padding-bottom:8px !important;
  font-size:17px !important;
}

/* 카드 하단바 */
.tuition50-card-foot{
  min-height:64px !important;
  padding:15px 16px !important;
  border-radius:0 0 17px 17px !important;
}

.tuition50-card-foot b{
  font-size:14px !important;
  white-space:nowrap;
}

/* 1차 한정수량 배지: 잘리지 않게 */
.tuition50-card--early1{
  overflow:visible !important;
}

.tuition50-limited{
  left:14px !important;
  top:-2px !important;
  width:52px !important;
  z-index:10 !important;
  filter:drop-shadow(0 6px 8px rgba(23,100,215,.16)) !important;
}

/* 2차 인기 리본 */
.tuition50-popular{
  top:-24px !important;
  width:210px !important;
  max-width:68% !important;
  z-index:10 !important;
}

/* 월계수는 가격 뒤에서만 */
.tuition50-laurel{
  bottom:62px !important;
  width:72% !important;
  opacity:.30 !important;
}

/* 정가 인증서: 시안처럼 우측 아래 */
.tuition50-certificate{
  right:-10px !important;
  bottom:52px !important;
  width:118px !important;
  opacity:.42 !important;
}

/* 정가 하단바는 시안처럼 아주 연한 블루그레이 */
.tuition50-card--regular .tuition50-card-foot{
  background:#edf3fa !important;
  color:#314660 !important;
  border-top:1px solid #d9e3ef !important;
}

.tuition50-card--regular .tuition50-card-foot b{
  color:#314660 !important;
}

.tuition50-card--regular .tuition50-foot-icon{
  background:transparent !important;
  border:0 !important;
  color:#5d7591 !important;
  width:auto !important;
  height:auto !important;
  font-size:18px !important;
}

/* 안내문: 시안처럼 하단 중앙 작은 pill */
.tuition50-note{
  width:min(620px,100%) !important;
  min-height:50px !important;
  margin:18px auto 0 !important;
  padding:10px 20px !important;
  background:#fff !important;
  border:1px solid #e1e8f1 !important;
  border-radius:999px !important;
}

.tuition50-note p{
  font-size:12px !important;
}

/* 데스크탑에서 카드 높이 차이를 과하게 만들지 않음 */
@media(min-width:901px){
  .tuition50-card--early1,
  .tuition50-card--regular{
    margin-top:10px;
  }
}

/* 태블릿 */
@media(max-width:1100px){
  .tuition50-top{
    grid-template-columns:1fr 380px !important;
  }

  .tuition50-copy h3{
    font-size:50px !important;
  }

  .tuition50-copy .tuition50-mainline strong{
    font-size:34px !important;
  }

  .tuition50-amount strong{
    font-size:68px !important;
  }
}

/* 모바일 */
@media(max-width:900px){
  section.tuition50-price{
    padding:24px 0 12px !important;
  }

  .tuition50-top{
    grid-template-columns:1fr !important;
    gap:12px !important;
    min-height:0 !important;
  }

  .tuition50-copy{
    padding:0 !important;
    text-align:center !important;
  }

  .tuition50-copy .tuition50-maincopy{
    align-items:center !important;
    text-align:center !important;
  }

  .tuition50-hero{
    justify-content:center !important;
    min-height:190px !important;
  }

  .tuition50-hero img{
    width:390px !important;
  }

  .tuition50-cards{
    grid-template-columns:1fr !important;
    max-width:620px !important;
    margin:24px auto 0 !important;
  }

  .tuition50-card,
  .tuition50-card--early2{
    min-height:330px !important;
    transform:none !important;
    margin-top:0 !important;
  }
}


/* =========================================================
   TUITION v55
   - 상단 메인카피 3줄 모두 "얼리버드 혜택으로" 수준으로 확대
   - 사용자가 표시한 이미지 속 문장만 대상
   ========================================================= */

.tuition50-copy .tuition50-maincopy{
  margin-top:18px !important;
  gap:4px !important;
}

.tuition50-copy .tuition50-mainline{
  font-size:26px !important;
  line-height:1.28 !important;
  letter-spacing:-.035em !important;
  color:#5d6d84 !important;
}

.tuition50-copy .tuition50-mainline strong{
  font-size:64px !important;
  line-height:1.03 !important;
  letter-spacing:-.055em !important;
  font-weight:800 !important;
}

@media(max-width:1100px){
  .tuition50-copy .tuition50-mainline{
    font-size:23px !important;
  }
  .tuition50-copy .tuition50-mainline strong{
    font-size:56px !important;
  }
}

@media(max-width:900px){
  .tuition50-copy .tuition50-maincopy{
    gap:6px !important;
  }
  .tuition50-copy .tuition50-mainline{
    font-size:21px !important;
    line-height:1.32 !important;
  }
  .tuition50-copy .tuition50-mainline strong{
    font-size:46px !important;
    line-height:1.06 !important;
  }
}


/* =========================================================
   TUITION v56
   - 사용자가 표시한 문장 전체를 "얼리버드 혜택으로"와 동일 크기로 통일
   ========================================================= */

.tuition50-copy .tuition50-maincopy{
  margin-top:18px !important;
  gap:6px !important;
  font-size:64px !important;
  line-height:1.05 !important;
  font-weight:800 !important;
  letter-spacing:-.055em !important;
}

.tuition50-copy .tuition50-maincopy > span{
  display:block !important;
  font-size:64px !important;
  line-height:1.05 !important;
  font-weight:800 !important;
  letter-spacing:-.055em !important;
  color:#1764d7 !important;
  white-space:nowrap !important;
}

.tuition50-copy .tuition50-mainline{
  display:block !important;
  margin:0 !important;
  font-size:64px !important;
  line-height:1.05 !important;
  font-weight:800 !important;
  letter-spacing:-.055em !important;
  color:#1764d7 !important;
}

.tuition50-copy .tuition50-mainline strong{
  display:inline !important;
  font-size:64px !important;
  line-height:1.05 !important;
  font-weight:800 !important;
  letter-spacing:-.055em !important;
  color:#1764d7 !important;
}

@media(max-width:1100px){
  .tuition50-copy .tuition50-maincopy,
  .tuition50-copy .tuition50-maincopy > span,
  .tuition50-copy .tuition50-mainline,
  .tuition50-copy .tuition50-mainline strong{
    font-size:54px !important;
  }
}

@media(max-width:900px){
  .tuition50-copy .tuition50-maincopy,
  .tuition50-copy .tuition50-maincopy > span,
  .tuition50-copy .tuition50-mainline,
  .tuition50-copy .tuition50-mainline strong{
    font-size:42px !important;
    white-space:normal !important;
  }
}

@media(max-width:640px){
  .tuition50-copy .tuition50-maincopy,
  .tuition50-copy .tuition50-maincopy > span,
  .tuition50-copy .tuition50-mainline,
  .tuition50-copy .tuition50-mainline strong{
    font-size:32px !important;
  }
}


/* =========================================================
   TUITION v57
   - v56 과대확대 수정
   - 이미지에 표시된 3줄만 "기존 얼리버드 혜택으로" 크기(38px)로 통일
   - 강조 색상은 얼리버드 문구만 블루 유지
   ========================================================= */

.tuition50-copy .tuition50-maincopy{
  margin-top:20px !important;
  gap:6px !important;
  font-size:38px !important;
  line-height:1.22 !important;
  font-weight:620 !important;
  letter-spacing:-.045em !important;
}

.tuition50-copy .tuition50-maincopy > span{
  display:block !important;
  font-size:38px !important;
  line-height:1.22 !important;
  font-weight:620 !important;
  letter-spacing:-.045em !important;
  color:#5f6f86 !important;
  white-space:nowrap !important;
}

.tuition50-copy .tuition50-mainline{
  display:block !important;
  margin:0 !important;
  font-size:38px !important;
  line-height:1.22 !important;
  font-weight:620 !important;
  letter-spacing:-.045em !important;
  color:#5f6f86 !important;
}

.tuition50-copy .tuition50-mainline strong{
  display:inline !important;
  font-size:38px !important;
  line-height:1.22 !important;
  font-weight:800 !important;
  letter-spacing:-.045em !important;
  color:#1764d7 !important;
}

/* '지금'은 일반 본문색, 강조어만 블루 */
.tuition50-copy .tuition50-mainline{
  color:#5f6f86 !important;
}

/* 데스크탑에서 우측 일러스트 침범 방지 */
@media(min-width:1101px){
  .tuition50-copy{
    max-width:690px;
  }
  .tuition50-copy .tuition50-maincopy > span{
    white-space:normal !important;
  }
}

/* 태블릿 */
@media(max-width:1100px){
  .tuition50-copy .tuition50-maincopy,
  .tuition50-copy .tuition50-maincopy > span,
  .tuition50-copy .tuition50-mainline,
  .tuition50-copy .tuition50-mainline strong{
    font-size:32px !important;
  }
}

/* 모바일 */
@media(max-width:900px){
  .tuition50-copy .tuition50-maincopy,
  .tuition50-copy .tuition50-maincopy > span,
  .tuition50-copy .tuition50-mainline,
  .tuition50-copy .tuition50-mainline strong{
    font-size:28px !important;
    white-space:normal !important;
  }
}

@media(max-width:640px){
  .tuition50-copy .tuition50-maincopy,
  .tuition50-copy .tuition50-maincopy > span,
  .tuition50-copy .tuition50-mainline,
  .tuition50-copy .tuition50-mainline strong{
    font-size:24px !important;
  }
}


/* =========================================================
   TUITION v58
   - 메인카피 25px
   - "얼리버드 혜택으로"만 bold
   - 나머지 문장은 regular
   ========================================================= */

.tuition50-copy .tuition50-maincopy,
.tuition50-copy .tuition50-maincopy > span,
.tuition50-copy .tuition50-mainline{
  font-size:25px !important;
  line-height:1.45 !important;
  font-weight:400 !important;
  letter-spacing:-.035em !important;
  color:#5f6f86 !important;
}

.tuition50-copy .tuition50-mainline strong{
  font-size:25px !important;
  line-height:1.45 !important;
  font-weight:800 !important;
  letter-spacing:-.035em !important;
  color:#1764d7 !important;
}

/* 반응형에서도 동일한 위계 유지 */
@media(max-width:1100px){
  .tuition50-copy .tuition50-maincopy,
  .tuition50-copy .tuition50-maincopy > span,
  .tuition50-copy .tuition50-mainline,
  .tuition50-copy .tuition50-mainline strong{
    font-size:23px !important;
  }
}

@media(max-width:900px){
  .tuition50-copy .tuition50-maincopy,
  .tuition50-copy .tuition50-maincopy > span,
  .tuition50-copy .tuition50-mainline,
  .tuition50-copy .tuition50-mainline strong{
    font-size:21px !important;
  }
}

@media(max-width:640px){
  .tuition50-copy .tuition50-maincopy,
  .tuition50-copy .tuition50-maincopy > span,
  .tuition50-copy .tuition50-mainline,
  .tuition50-copy .tuition50-mainline strong{
    font-size:19px !important;
  }
}


/* =========================================================
   TUITION v59
   - 인기선택 리본 / 한정수량 배지 확대
   - 한정수량 배지를 카드 상단 테두리에 정확히 걸치도록 보정
   ========================================================= */

/* 2차 얼리버드 상단 인기 리본 확대 */
.tuition50-popular{
  top:-34px !important;
  width:270px !important;
  max-width:76% !important;
  z-index:12 !important;
  filter:drop-shadow(0 10px 14px rgba(23,100,215,.18)) !important;
}

/* 1차 카드: 배지가 카드 밖으로 걸쳐질 수 있게 */
.tuition50-card--early1{
  overflow:visible !important;
}

/* 한정수량 띠 확대 + 카드 상단선에 정확히 걸침 */
.tuition50-limited{
  left:22px !important;
  top:-20px !important;
  width:76px !important;
  height:auto !important;
  z-index:12 !important;
  object-fit:contain !important;
  filter:drop-shadow(0 8px 12px rgba(23,100,215,.18)) !important;
}

/* 배지 뒤 카드 테두리가 어색하게 비치지 않도록 상단 여백 보정 */
.tuition50-card--early1 .tuition50-card-body{
  padding-top:70px !important;
}

/* 인기 카드도 리본이 커진 만큼 상단 여백 확보 */
.tuition50-card--early2 .tuition50-card-body{
  padding-top:76px !important;
}

@media(max-width:900px){
  .tuition50-popular{
    width:245px !important;
    top:-30px !important;
  }

  .tuition50-limited{
    width:68px !important;
    left:18px !important;
    top:-18px !important;
  }
}

@media(max-width:640px){
  .tuition50-popular{
    width:220px !important;
    top:-27px !important;
  }

  .tuition50-limited{
    width:62px !important;
    left:16px !important;
    top:-16px !important;
  }
}


/* =========================================================
   EDUCATION PLACE v60
   - 실사 대신 간단 약도
   - 레퍼런스 시안 기반 웹 코드 구현
   ========================================================= */

.education-place-v60{
  padding:110px 0 120px;
  background:#fff;
}
.education-place-v60 .mepa-wrap{max-width:1420px}

.place60-layout{
  display:grid;
  grid-template-columns:minmax(560px,.94fr) minmax(560px,1.06fr);
  gap:62px;
  align-items:center;
  margin-top:42px;
}

/* map */
.place60-map{
  position:relative;
  height:660px;
  border:1px solid #cbd6e5;
  border-radius:28px;
  background:
    linear-gradient(180deg,rgba(247,250,254,.98),rgba(252,253,255,.98));
  overflow:hidden;
}
.place60-road{position:absolute;background:#e5ebf3}
.place60-road-station{left:76px;top:0;bottom:0;width:22px;background:#244e9f}
.place60-road-station::after{
  content:"";position:absolute;left:8px;top:0;bottom:0;width:6px;
  background:repeating-linear-gradient(180deg,#fff 0 18px,transparent 18px 38px);
  border-radius:4px;
}
.place60-road-h1{left:98px;right:0;top:196px;height:22px}
.place60-road-h2{left:0;right:0;bottom:188px;height:20px;transform:rotate(-2deg)}
.place60-road-v1{left:368px;top:0;bottom:0;width:22px}
.place60-road-v2{right:72px;top:124px;bottom:0;width:18px}

.place60-station{
  position:absolute;left:30px;top:168px;width:132px;text-align:center;z-index:4
}
.place60-station-icon{
  width:68px;height:68px;margin:0 auto 10px;border-radius:50%;background:#fff;
  display:grid;place-items:center;box-shadow:0 7px 18px rgba(31,100,216,.12)
}
.place60-station-icon img{width:42px;height:42px}
.place60-station strong{
  display:block;padding:10px 14px;border-radius:999px;background:#244e9f;color:#fff;
  font-size:20px;line-height:1.1
}
.place60-station span{
  display:inline-flex;margin-top:8px;padding:5px 9px;border:2px solid #244e9f;border-radius:999px;
  background:#fff;color:#244e9f;font-size:14px;font-weight:800
}

.place60-landmark{position:absolute;z-index:3;text-align:center;color:#283650}
.place60-landmark-icon{
  width:54px;height:54px;margin:0 auto 8px;border-radius:50%;display:grid;place-items:center;background:#fff;
  box-shadow:0 6px 16px rgba(38,76,129,.08)
}
.place60-landmark-icon img{width:32px;height:32px}
.place60-landmark b{font-size:17px;line-height:1.35}
.place60-landmark-lotte{right:82px;top:230px}
.place60-landmark-cgv{left:220px;bottom:78px}
.place60-landmark-cgv i{
  display:block;width:16px;height:16px;margin:0 auto 8px;border-radius:50%;background:#a7b3c4
}
.place60-park{
  position:absolute;right:24px;bottom:236px;padding:9px 18px;border-radius:10px;
  background:#e5f6e4;color:#6a8f68;font-size:15px;font-weight:700;z-index:2
}

.place60-route{position:absolute;inset:0;z-index:5;pointer-events:none}
.place60-route-h{
  position:absolute;left:138px;top:206px;width:270px;border-top:5px dotted #1d61d9
}
.place60-route-v{
  position:absolute;left:405px;top:206px;height:255px;border-left:5px dotted #1d61d9
}
.place60-route-end{
  position:absolute;left:405px;top:458px;width:58px;border-top:5px dotted #1d61d9
}
.place60-route-end::after{
  content:"";position:absolute;right:-2px;top:-9px;width:14px;height:14px;
  border-top:5px solid #1d61d9;border-right:5px solid #1d61d9;transform:rotate(45deg)
}

.place60-walk{
  position:absolute;left:224px;top:154px;z-index:7;display:flex;align-items:center;gap:10px;
  padding:10px 16px;border-radius:12px;background:#1556d7;color:#fff;box-shadow:0 9px 18px rgba(21,86,215,.16)
}
.place60-walk img{width:26px;height:26px}
.place60-walk strong{font-size:15px}

.place60-destination{
  position:absolute;left:394px;bottom:28px;width:230px;text-align:center;z-index:8
}
.place60-pin{width:70px;height:70px;margin-bottom:-5px}
.place60-building{
  width:92px;height:66px;margin:-15px auto 10px;padding:12px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:#d8e9ff;border-radius:8px 8px 2px 2px;
  box-shadow:0 8px 18px rgba(30,83,160,.08)
}
.place60-building span{background:#fff;border:1px solid #b7d4f6;border-radius:2px}
.place60-destination strong{
  display:block;padding:9px 12px;border-radius:10px;background:#1458db;color:#fff;font-size:16px;line-height:1.35
}
.place60-destination small{display:block;margin-top:8px;color:#1458db;font-size:15px;font-weight:800}

/* right */
.place60-content{padding:20px 0}
.education-place-v60 .education-place-title small{
  color:#1764d7;font-size:13px;letter-spacing:.18em;font-weight:800
}
.education-place-v60 .education-place-title h3{
  margin:18px 0 24px;font-size:38px;line-height:1.25;letter-spacing:-.045em;color:#18243b
}
.place60-address{
  display:flex;align-items:flex-start;gap:18px;padding:24px 0 26px;border-top:2px solid #1f64d8
}
.place60-address img{width:30px;height:30px;flex:0 0 30px}
.place60-address strong{display:block;font-size:20px;line-height:1.45;color:#27364f}
.place60-address span{display:block;margin-top:7px;font-size:15px;color:#74839a}

.place60-info-list{margin-top:8px}
.place60-info-row{
  display:grid;grid-template-columns:42px 130px minmax(0,1fr);gap:16px;align-items:center;
  min-height:72px;border-bottom:1px solid #e1e7ef
}
.place60-info-row img{width:30px;height:30px}
.place60-info-row b{font-size:16px;color:#1764d7}
.place60-info-row p{margin:0;font-size:16px;color:#66758c}

.place60-tip{
  display:flex;gap:16px;align-items:flex-start;margin-top:26px;padding:22px 24px;border-radius:18px;
  background:linear-gradient(90deg,#f3f7fd,#edf4ff)
}
.place60-tip img{width:28px;height:28px;flex:0 0 28px}
.place60-tip strong{display:block;color:#1764d7;font-size:17px}
.place60-tip p{margin:7px 0 0;font-size:14px;line-height:1.7;color:#4f5f76}

@media(max-width:1100px){
  .place60-layout{grid-template-columns:1fr;gap:42px}
  .place60-map{max-width:760px;width:100%;margin:0 auto}
  .place60-content{max-width:760px;width:100%;margin:0 auto}
}

@media(max-width:700px){
  .education-place-v60{padding:80px 0}
  .place60-map{height:520px;border-radius:20px}
  .place60-road-station{left:52px;width:18px}
  .place60-road-h1{left:70px;top:160px}
  .place60-road-h2{bottom:145px}
  .place60-road-v1{left:270px}
  .place60-road-v2{right:42px}
  .place60-station{left:10px;top:132px;width:112px}
  .place60-station-icon{width:58px;height:58px}
  .place60-station strong{font-size:17px}
  .place60-landmark-lotte{right:44px;top:188px}
  .place60-landmark-cgv{left:146px;bottom:50px}
  .place60-park{right:10px;bottom:182px;font-size:12px;padding:7px 10px}
  .place60-route-h{left:115px;top:170px;width:175px}
  .place60-route-v{left:286px;top:170px;height:190px}
  .place60-route-end{left:286px;top:356px;width:45px}
  .place60-walk{left:130px;top:120px;padding:8px 12px}
  .place60-walk strong{font-size:13px}
  .place60-destination{left:250px;bottom:18px;width:180px}
  .place60-pin{width:58px;height:58px}
  .place60-building{width:76px;height:54px}
  .place60-destination strong{font-size:13px}
  .education-place-v60 .education-place-title h3{font-size:30px}
  .place60-info-row{grid-template-columns:34px 100px 1fr;gap:10px}
  .place60-info-row b,.place60-info-row p{font-size:14px}
}


/* =========================================================
   FINAL SECTION v61
   - 좌우 2단 제거
   - 전문가 과정 메인 내용을 상단 중앙
   - 기존 왼쪽 스토리 박스를 하단 중앙으로 이동
   - 세로형 긴 섹션으로 재구성
   ========================================================= */

.final-section.final-section--premium{
  min-height:1380px !important;
}

/* 배경을 긴 세로 구성에 맞게 */
.final-section--premium .final-image{
  position:absolute;
  inset:0;
}
.final-section--premium .final-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top !important;
}

.final-section--premium .final-shade{
  background:
    radial-gradient(circle at 50% 12%,rgba(80,124,215,.20),transparent 28%),
    linear-gradient(180deg,
      rgba(4,17,42,.78) 0%,
      rgba(4,17,42,.88) 38%,
      rgba(3,15,37,.95) 72%,
      rgba(3,13,32,.98) 100%) !important;
}

/* 핵심: 2단 grid를 세로 flex로 변경 */
.final-section--premium .final-premium-layout{
  width:min(1180px,calc(100% - 80px)) !important;
  margin:0 auto !important;
  padding:96px 0 90px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:72px !important;
  align-items:center !important;
}

/* HTML 순서는 story -> main 이지만 화면에서는 main을 먼저 */
.final-section--premium .final-premium-main{
  order:1 !important;
  width:100% !important;
  max-width:1080px !important;
  padding:0 !important;
}

/* 기존 왼쪽 박스를 아래로 */
.final-section--premium .final-premium-story{
  order:2 !important;
  width:min(860px,100%) !important;
  min-height:0 !important;
  margin:0 auto !important;
  padding:82px 72px 64px 78px !important;
  border-radius:28px !important;
}

/* 상단 제목 영역을 더 중앙 집중 */
.final-section--premium .final-premium-heading{
  max-width:980px;
  margin:0 auto;
  text-align:center;
}

.final-section--premium .final-premium-kicker{
  margin-bottom:22px !important;
}

.final-section--premium .final-premium-heading h2{
  font-size:60px !important;
  line-height:1.14 !important;
}

.final-section--premium .final-premium-heading > p{
  margin-top:18px !important;
  font-size:20px !important;
}

/* 4개 핵심영역을 제목 바로 아래 넓게 */
.final-section--premium .final-premium-features{
  max-width:1040px;
  width:100%;
  margin:42px auto 0 !important;
  padding:30px 0 28px !important;
}

/* 목표/강조문/CTA도 중앙 정렬 유지 */
.final-section--premium .final-ending{
  max-width:900px !important;
  margin:48px auto 0 !important;
}

.final-section--premium .final-ending h3{
  font-size:22px !important;
}

.final-section--premium .final-highlight{
  font-size:38px !important;
  line-height:1.38 !important;
}

.final-section--premium .final-ending-copy{
  margin-top:20px !important;
  font-size:15px !important;
}

.final-section--premium .final-cta{
  min-width:370px !important;
  min-height:64px !important;
  margin-top:28px !important;
}

/* 아래 스토리 박스 텍스트 가독성 */
.final-section--premium .final-premium-quote{
  top:28px !important;
  left:58px !important;
}

.final-section--premium .final-premium-line{
  top:156px !important;
  height:250px !important;
}

.final-section--premium .final-story-copy{
  max-width:690px !important;
}

.final-section--premium .final-story-copy p{
  font-size:17px !important;
  line-height:1.82 !important;
  margin-bottom:24px !important;
}

/* 태블릿 */
@media(max-width:1000px){
  .final-section.final-section--premium{
    min-height:auto !important;
  }

  .final-section--premium .final-premium-layout{
    width:calc(100% - 56px) !important;
    padding:84px 0 82px !important;
    gap:58px !important;
  }

  .final-section--premium .final-premium-heading h2{
    font-size:50px !important;
  }

  .final-section--premium .final-highlight{
    font-size:32px !important;
  }

  .final-section--premium .final-premium-story{
    padding:76px 54px 52px 62px !important;
  }
}

/* 모바일 */
@media(max-width:767px){
  .final-section--premium .final-premium-layout{
    width:calc(100% - 32px) !important;
    padding:72px 0 70px !important;
    gap:42px !important;
  }

  .final-section--premium .final-premium-heading h2{
    font-size:35px !important;
  }

  .final-section--premium .final-premium-heading > p{
    font-size:15px !important;
  }

  .final-section--premium .final-premium-features{
    margin-top:28px !important;
    grid-template-columns:1fr 1fr !important;
  }

  .final-section--premium .final-ending{
    margin-top:32px !important;
  }

  .final-section--premium .final-highlight{
    font-size:27px !important;
  }

  .final-section--premium .final-cta{
    min-width:0 !important;
    width:100% !important;
  }

  .final-section--premium .final-premium-story{
    width:100% !important;
    padding:66px 24px 34px 32px !important;
    border-radius:22px !important;
  }

  .final-section--premium .final-premium-quote{
    left:30px !important;
  }

  .final-section--premium .final-story-copy p{
    font-size:14px !important;
    line-height:1.74 !important;
  }
}
