@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css");


500;600;700;800&family=Noto+Serif+KR:wght@500;600&display=swap');

:root{
  --green-900:#1d5f2c;
  --green-700:#2f7d32;
  --green-500:#78b36f;
  --green-100:#edf6eb;
  --orange:#f2a922;
  --navy:#365a7d;
  --ink:#202622;
  --muted:#69736b;
  --line:#e4e8e2;
  --surface:#ffffff;
  --surface-soft:#f7f8f5;
  --cream:#fbf7ef;
  --shadow:0 10px 30px rgba(31,67,41,.08);
  --radius-sm:10px;
  --radius-md:16px;
  --radius-lg:24px;
  --container:1240px;
  --header-h:74px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:#fff;
  font-family: "Pretendard", sans-serif;
  line-height:1.65;
  word-break:keep-all;
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}
.section{padding:84px 0}
.section-sm{padding:54px 0}
.section-soft{background:var(--surface-soft)}
.section-cream{background:var(--cream)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}
.section-head h2{margin:0;font-size:clamp(1.65rem,3vw,2.3rem);letter-spacing:-.04em}
.section-head p{margin:8px 0 0;color:var(--muted)}
.more-link{font-weight:700;color:var(--green-700)}
.eyebrow{display:block;color:var(--green-700);font-size:.83rem;font-weight:800;letter-spacing:.08em;margin-bottom:10px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1.3}
.muted{color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:0 20px;border-radius:8px;border:1px solid transparent;
  font-weight:700;transition:.2s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--green-700);color:white}
.btn-primary:hover{background:var(--green-900)}
.btn-outline{background:white;border-color:#bfc8bf;color:var(--ink)}
.btn-outline:hover{border-color:var(--green-700);color:var(--green-700)}
.btn-ghost{background:transparent;color:var(--green-700)}
.btn-sm{min-height:40px;padding:0 15px;font-size:.9rem}
.btn-block{width:100%}
.icon-btn{
  width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);
  border-radius:8px;background:white;
}

/* Header */
.topbar{height:30px;border-bottom:1px solid var(--line);font-size:.72rem;color:var(--muted)}
.topbar .container{height:100%;display:flex;align-items:center;justify-content:flex-end;gap:18px}
.site-header{
  position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.95);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--line)
}
.header-inner{height:var(--header-h);display:flex;align-items:center;gap:36px}
.brand{display:flex;align-items:center;gap:10px;min-width:max-content}
.brand img{width:42px;height:42px}
.brand strong{display:block;font-size:.96rem;letter-spacing:-.03em}
.brand small{display:block;font-size:.57rem;color:var(--muted)}
.nav{display:flex;align-items:center;gap:28px;margin-left:auto}
.nav a{font-size:.9rem;font-weight:700;position:relative}
.nav a:hover,.nav a.active{color:var(--green-700)}
.nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:2px;background:var(--green-700)}
.header-actions{display:flex;align-items:center;gap:8px}
.menu-btn{display:none}

/* Hero */
.hero{background:linear-gradient(90deg,#fffaf1 0%,#f5f8ef 100%);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;min-height:520px;align-items:stretch}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:70px 30px 70px 0}
.hero-copy h1{
  font-family: "Pretendard", sans-serif;font-size:clamp(2.5rem,5vw,4.5rem);
  font-weight:500;letter-spacing:-.065em;margin-bottom:24px
}
.hero-copy h1 strong{display:block;color:var(--green-700);font-weight:600}
.hero-copy p{font-size:1.04rem;color:#4f5851;max-width:590px}
.hero-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.hero-media{display:flex;align-items:flex-end;justify-content:center;position:relative}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:0}

/* Trust stats */
.trust-strip{border-bottom:1px solid var(--line);background:white}
.trust-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.trust-item{padding:23px 16px;text-align:center;position:relative}
.trust-item:not(:last-child):after{content:"";position:absolute;right:0;top:25%;height:50%;width:1px;background:var(--line)}
.trust-icon{font-size:1.25rem;color:var(--orange);margin-right:6px}
.trust-item strong{font-size:1.05rem}
.trust-item span{display:block;font-size:.78rem;color:var(--muted);margin-top:4px}

/* Journey cards */
.journey-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.journey-card{
  border:1px solid var(--line);border-radius:var(--radius-md);padding:24px;background:white;
  transition:.2s ease;min-height:205px;display:flex;flex-direction:column
}
.journey-card:hover{border-color:#a7c8a4;box-shadow:var(--shadow);transform:translateY(-3px)}
.journey-icon{
  width:50px;height:50px;border-radius:50%;display:grid;place-items:center;
  background:var(--green-100);color:var(--green-700);font-size:1.4rem;margin-bottom:18px
}
.journey-card:nth-child(2) .journey-icon,.journey-card:nth-child(3) .journey-icon{background:#fff4dc;color:#da8d0c}
.journey-card:nth-child(4) .journey-icon{background:#fff0ec;color:#d5684a}
.journey-card h3{font-size:1.04rem;margin-bottom:8px}
.journey-card p{font-size:.88rem;color:var(--muted);margin-bottom:auto}
.journey-card a{margin-top:18px;color:var(--green-700);font-size:.86rem;font-weight:700}

/* Course card */
.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.course-card{
  border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;overflow:hidden;
  transition:.2s ease;display:flex;flex-direction:column
}
.course-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.course-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#edf2ed}
.course-thumb img{width:100%;height:100%;object-fit:cover;transition:.35s}
.course-card:hover .course-thumb img{transform:scale(1.03)}
.badge{
  position:absolute;left:12px;top:12px;background:var(--orange);color:#fff;
  padding:4px 9px;border-radius:999px;font-size:.7rem;font-weight:800
}
.badge.green{background:var(--green-700)}.badge.blue{background:var(--navy)}
.course-body{padding:18px;display:flex;flex-direction:column;flex:1}
.course-meta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}
.chip{font-size:.7rem;padding:4px 7px;border:1px solid var(--line);border-radius:5px;color:var(--muted);background:white}
.course-title{font-size:1rem;margin:0 0 8px;letter-spacing:-.03em}
.course-desc{font-size:.82rem;color:var(--muted);margin-bottom:12px}
.course-price{font-weight:800;margin-top:auto}
.rating{font-size:.75rem;color:#b27800;margin-top:6px}

/* Institution */
.institution-panel{
  background:linear-gradient(120deg,#faf7f0,#f3f7ef);border:1px solid #ece8dc;
  border-radius:var(--radius-lg);padding:36px;display:grid;grid-template-columns:1fr 1.4fr;gap:36px;align-items:center
}
.institution-panel h2{font-size:clamp(1.55rem,3vw,2.2rem);margin-bottom:12px}
.institution-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.inst-step{text-align:center;font-size:.78rem;color:var(--muted)}
.inst-icon{width:48px;height:48px;border:1px solid #b9d2b8;color:var(--green-700);border-radius:50%;display:grid;place-items:center;margin:0 auto 8px;font-weight:800}

/* Promo cards */
.promo-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.promo-card{border-radius:var(--radius-md);border:1px solid var(--line);padding:28px;min-height:230px;position:relative;overflow:hidden}
.promo-card.award{background:#fff8eb}
.promo-card.case{background:#f2f5f2}
.promo-card img{position:absolute;right:0;bottom:0;width:48%;height:100%;object-fit:contain}
.promo-card .content{position:relative;z-index:1;max-width:56%}
.promo-card h3{font-size:1.35rem}

/* Footer */
.footer{background:#242b26;color:#fff;padding:46px 0 26px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px}
.footer .brand small,.footer .muted{color:#aeb8b0}
.footer-links{display:grid;gap:8px;font-size:.85rem;color:#d0d7d1}
.footer-title{font-weight:800;margin-bottom:12px}
.footer-bottom{margin-top:30px;padding-top:18px;border-top:1px solid #3c453e;font-size:.75rem;color:#aeb8b0}

/* Listing page */
.page-hero{text-align:center;padding:68px 0 38px}
.page-hero h1{font-size:clamp(2.1rem,4vw,3rem);margin-bottom:12px}
.category-tabs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:18px}
.category-tab{border:0;background:transparent;padding:10px 16px;font-weight:700;border-radius:999px}
.category-tab.active,.category-tab:hover{background:var(--green-700);color:white}
.catalog-layout{display:grid;grid-template-columns:220px 1fr;gap:28px}
.filters{border:1px solid var(--line);border-radius:var(--radius-md);align-self:start;position:sticky;top:98px;background:#fff}
.filter-group{padding:18px;border-bottom:1px solid var(--line)}
.filter-group:last-child{border-bottom:0}
.filter-group h3{font-size:.9rem;margin-bottom:12px}
.check{display:flex;align-items:center;gap:8px;font-size:.82rem;color:#556059;margin:8px 0}
.check input{accent-color:var(--green-700)}
.catalog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.catalog-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sort-select{border:1px solid var(--line);border-radius:8px;padding:10px 34px 10px 12px;background:white}
.mobile-filter-btn{display:none}

/* Detail */
.breadcrumbs{padding:20px 0;font-size:.75rem;color:var(--muted)}
.detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:stretch;padding-bottom:42px}
.detail-summary{padding:20px 0}
.detail-summary h1{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em;margin-bottom:14px}
.detail-summary .price{font-size:1.9rem;font-weight:800;margin:20px 0 8px}
.detail-image{border-radius:var(--radius-md);overflow:hidden;background:#eef3ec;min-height:360px}
.detail-image img{width:100%;height:100%;object-fit:cover}
.detail-tags{display:flex;gap:7px;flex-wrap:wrap}
.detail-actions{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-top:20px}
.detail-tabs{position:sticky;top:74px;background:#fff;z-index:50;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.detail-tabs .container{display:flex;gap:36px}
.detail-tabs a{padding:18px 0;font-size:.86rem;font-weight:700;white-space:nowrap}
.detail-tabs a.active{color:var(--green-700);border-bottom:2px solid var(--green-700)}
.outcomes{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.outcome{text-align:center}
.outcome-icon{width:64px;height:64px;border-radius:50%;background:var(--green-100);display:grid;place-items:center;margin:0 auto 12px;color:var(--green-700);font-size:1.45rem}
.curriculum{border-top:1px solid var(--line)}
.accordion-item{border-bottom:1px solid var(--line)}
.accordion-btn{
  width:100%;border:0;background:white;padding:20px 8px;display:flex;align-items:center;justify-content:space-between;text-align:left;font-weight:700
}
.accordion-content{display:none;padding:0 16px 20px;color:var(--muted);font-size:.88rem}
.accordion-item.open .accordion-content{display:block}
.instructor-card{display:grid;grid-template-columns:160px 1fr;gap:28px;align-items:center;padding:28px;border:1px solid var(--line);border-radius:var(--radius-md)}
.instructor-avatar{aspect-ratio:1;border-radius:12px;background:linear-gradient(145deg,#dfe8dd,#91b68a);display:grid;place-items:center;font-size:4rem}
.review-list{display:grid;gap:12px}
.review{border-bottom:1px solid var(--line);padding:18px 0}
.mobile-buybar{display:none}

/* Mobile nav drawer */
.drawer{display:none}
.overlay{display:none}

/* responsive */
@media(max-width:1080px){
  .nav{gap:18px}
  .nav a{font-size:.82rem}
  .course-grid{grid-template-columns:repeat(3,1fr)}
  .catalog-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:880px){
  .topbar{display:none}
  .nav,.header-actions .search,.header-actions .btn{display:none}
  .header-actions{margin-left:auto}
  .menu-btn{display:grid}
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{padding:56px 0 28px;text-align:center;align-items:center}
  .hero-media{min-height:360px}
  .trust-grid{grid-template-columns:repeat(3,1fr)}
  .trust-item:nth-child(3):after{display:none}
  .journey-grid{grid-template-columns:repeat(2,1fr)}
  .course-grid{grid-template-columns:repeat(2,1fr)}
  .institution-panel{grid-template-columns:1fr}
  .catalog-layout{grid-template-columns:1fr}
  .filters{display:none;position:fixed;inset:0 0 0 18%;z-index:1200;border-radius:0;overflow:auto;padding-top:70px}
  .filters.open{display:block}
  .mobile-filter-btn{display:inline-flex}
  .detail-hero{grid-template-columns:1fr}
  .detail-image{order:-1;min-height:300px}
  .outcomes{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .drawer{
    display:block;position:fixed;right:-100%;top:0;bottom:0;width:min(86%,380px);z-index:1300;
    background:white;padding:22px;transition:.25s ease
  }
  .drawer.open{right:0}
  .drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}
  .drawer-nav{display:grid}
  .drawer-nav a{padding:16px 4px;border-bottom:1px solid var(--line);font-weight:700}
  .overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1250}
  .overlay.show{display:block}
}
@media(max-width:620px){
  .container{width:min(calc(100% - 28px),var(--container))}
  .section{padding:64px 0}
  .header-inner{height:64px}
  .brand strong{font-size:.82rem}.brand small{display:none}.brand img{width:36px;height:36px}
  .hero-copy h1{font-size:2.45rem}
  .hero-copy p{font-size:.93rem}
  .hero-actions{width:100%}.hero-actions .btn{flex:1}
  .hero-media{min-height:280px}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .trust-item:nth-child(2n):after{display:none}
  .trust-item:nth-child(3):after{display:block}
  .trust-item:last-child{grid-column:1/-1}
  .journey-grid,.course-grid,.catalog-grid,.promo-grid{grid-template-columns:1fr}
  .journey-card{min-height:auto}
  .course-grid.mobile-scroll{
    display:flex;overflow:auto;scroll-snap-type:x mandatory;margin-right:-14px;padding-right:14px
  }
  .course-grid.mobile-scroll .course-card{min-width:78vw;scroll-snap-align:start}
  .institution-panel{padding:24px}
  .institution-steps{grid-template-columns:repeat(3,1fr)}
  .promo-card .content{max-width:70%}
  .promo-card img{opacity:.65}
  .section-head{align-items:flex-start}
  .section-head .more-link{display:none}
  .page-hero{padding:48px 0 24px}
  .category-tabs{justify-content:flex-start;overflow:auto;flex-wrap:nowrap}
  .category-tab{white-space:nowrap}
  .catalog-top{gap:12px}
  .sort-select{max-width:130px}
  .detail-summary{padding-top:0}
  .detail-actions{grid-template-columns:1fr 1fr}
  .detail-actions .icon-btn{display:none}
  .detail-tabs{top:64px;overflow:auto}
  .detail-tabs .container{gap:24px;width:max-content;padding:0 16px}
  .outcomes{grid-template-columns:repeat(2,1fr);gap:24px 10px}
  .instructor-card{grid-template-columns:90px 1fr;padding:20px}
  .footer-grid{grid-template-columns:1fr}
  .mobile-buybar{
    display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:white;border-top:1px solid var(--line);z-index:900
  }
  body.detail-page{padding-bottom:76px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


/* =========================================================
   BEAUTIFUL SCHOOL BRAND SYSTEM
   Logo-led visual language: pink school + green trees
========================================================= */
:root{
  --brand-pink:#df3f95;
  --brand-pink-dark:#bc2877;
  --brand-pink-soft:#fff0f7;
  --brand-green:#149c4b;
  --brand-green-dark:#0d7036;
  --brand-green-soft:#edf9f1;
  --brand-cream:#fffaf4;
  --brand-yellow:#f7bd4a;
  --brand-ink:#252525;
  --brand-gray:#6f746f;
  --brand-line:#ece7e9;

  --green-900:var(--brand-green-dark);
  --green-700:var(--brand-green);
  --green-500:#65ba82;
  --green-100:var(--brand-green-soft);
  --orange:var(--brand-yellow);
  --navy:var(--brand-pink-dark);
  --ink:var(--brand-ink);
  --muted:var(--brand-gray);
  --line:var(--brand-line);
  --surface-soft:#fbfaf8;
  --cream:var(--brand-cream);
  --shadow:0 12px 34px rgba(105,41,76,.09);
}

/* Header */
.topbar{
  background:var(--brand-green-dark);
  color:#fff;
  border:0;
}
.topbar a{color:#fff;opacity:.88}
.site-header{
  border-bottom:1px solid var(--brand-line);
  background:rgba(255,255,255,.96);
}
.header-inner{height:82px}
.brand img{
  width:auto;
  height:54px;
  max-width:230px;
  object-fit:contain;
}
.nav a{
  color:#3d3d3d;
}
.nav a:hover,.nav a.active{
  color:var(--brand-pink);
}
.nav a.active:after{
  background:var(--brand-pink);
}
.header-actions .btn-primary{
  background:var(--brand-green);
}
.header-actions .btn-primary:hover{
  background:var(--brand-green-dark);
}

/* Buttons by purpose */
.btn-primary{
  background:var(--brand-green-dark);
  color:white;
}
.btn-primary:hover{background:var(--brand-green-dark)}
.btn-pink{
  background:var(--brand-pink-dark);
  color:white;
}
.btn-pink:hover{background:var(--brand-pink-dark)}
.btn-outline{
  border-color:#d9ced4;
}
.btn-outline:hover{
  border-color:var(--brand-pink);
  color:var(--brand-pink);
}

/* Hero */
.hero{
  position:relative;
  background:
    radial-gradient(circle at 8% 12%,rgba(20,156,75,.12),transparent 24%),
    radial-gradient(circle at 88% 20%,rgba(223,63,149,.12),transparent 28%),
    linear-gradient(90deg,#fffaf5 0%,#fff 45%,#f4fbf6 100%);
}
.hero:before{
  content:"";
  position:absolute;
  left:-60px;
  bottom:-120px;
  width:310px;
  height:250px;
  border-radius:55% 45% 50% 50%;
  background:var(--brand-green);
  opacity:.08;
}
.hero:after{
  content:"";
  position:absolute;
  right:-80px;
  top:-100px;
  width:330px;
  height:300px;
  border-radius:45% 55% 48% 52%;
  background:var(--brand-pink);
  opacity:.07;
}
.hero-grid{position:relative;z-index:1}
.hero-copy .eyebrow{
  color:var(--brand-pink);
}
.hero-copy h1 strong{
  color:var(--brand-pink);
}
.hero-copy p{
  color:#555;
}
.hero-media{
  padding:34px 0 0 24px;
}
.hero-media img{
  border-radius:38px 38px 90px 38px;
  box-shadow:0 20px 60px rgba(84,72,55,.12);
  background:#fff;
}

/* Trust */
.trust-strip{
  background:#fff;
}
.trust-icon{
  color:var(--brand-pink);
}
.trust-item:nth-child(even) .trust-icon{
  color:var(--brand-green);
}

/* Journey cards */
.journey-card{
  border-color:var(--brand-line);
  border-radius:18px;
  position:relative;
  overflow:hidden;
}
.journey-card:before{
  content:"";
  position:absolute;
  width:74px;height:74px;
  right:-26px;top:-26px;
  border-radius:50%;
  background:var(--brand-pink-soft);
}
.journey-card:nth-child(even):before{
  background:var(--brand-green-soft);
}
.journey-card:hover{
  border-color:#f0a8ce;
  box-shadow:0 14px 34px rgba(188,40,119,.10);
}
.journey-card:nth-child(even):hover{
  border-color:#8fd0a7;
  box-shadow:0 14px 34px rgba(13,112,54,.10);
}
.journey-icon{
  background:var(--brand-pink-soft);
  color:var(--brand-pink);
  border-radius:16px 16px 26px 16px;
}
.journey-card:nth-child(even) .journey-icon{
  background:var(--brand-green-soft);
  color:var(--brand-green);
}
.journey-card a{color:var(--brand-pink)}
.journey-card:nth-child(even) a{color:var(--brand-green-dark)}

/* Course cards */
.course-card{
  border-color:var(--brand-line);
  border-radius:18px;
}
.course-card:hover{
  box-shadow:0 16px 38px rgba(74,46,61,.10);
}
.badge{
  background:var(--brand-pink);
}
.badge.green{
  background:var(--brand-green);
}
.badge.blue{
  background:var(--brand-pink-dark);
}
.course-title a:hover{
  color:var(--brand-pink);
}
.chip{
  background:#fff;
  border-color:#e7dde2;
}
.rating{
  color:#c87900;
}

/* Institution section */
.institution-panel{
  background:
    radial-gradient(circle at 93% 8%,rgba(223,63,149,.08),transparent 23%),
    linear-gradient(120deg,#f4fbf6,#fff 65%);
  border:1px solid #dcefe1;
}
.institution-panel .eyebrow{color:var(--brand-green-dark)}
.inst-icon{
  border-color:#a9d9b8;
  color:var(--brand-green-dark);
  background:#fff;
}

/* Promo areas */
.promo-card.award{
  background:
    radial-gradient(circle at 86% 18%,rgba(223,63,149,.16),transparent 28%),
    var(--brand-pink-soft);
  border-color:#f5c9df;
}
.promo-card.award .eyebrow,
.promo-card.award h3{
  color:var(--brand-pink-dark);
}
.promo-card.award .btn{
  border-color:var(--brand-pink);
  color:var(--brand-pink-dark);
}
.promo-card.case{
  background:
    radial-gradient(circle at 92% 16%,rgba(20,156,75,.12),transparent 28%),
    var(--brand-green-soft);
  border-color:#cfe8d7;
}
.promo-card.case .eyebrow,
.promo-card.case h3{
  color:var(--brand-green-dark);
}

/* Page and tabs */
.page-hero{
  background:
    radial-gradient(circle at 18% 20%,rgba(223,63,149,.10),transparent 18%),
    radial-gradient(circle at 84% 18%,rgba(20,156,75,.10),transparent 20%),
    linear-gradient(180deg,#fffaf7,#fff);
}
.page-hero h1{
  font-family: "Pretendard", sans-serif;
}
.category-tab.active,.category-tab:hover{
  background:var(--brand-pink);
}
.check input{accent-color:var(--brand-pink)}
.filter-group h3{color:var(--brand-green-dark)}
.detail-summary .eyebrow{
  color:var(--brand-pink);
}
.detail-tabs a.active{
  color:var(--brand-pink);
  border-bottom-color:var(--brand-pink);
}
.outcome-icon{
  background:var(--brand-green-soft);
  color:var(--brand-green);
}
.outcome:nth-child(even) .outcome-icon{
  background:var(--brand-pink-soft);
  color:var(--brand-pink);
}
.accordion-item.open .accordion-btn{
  color:var(--brand-pink-dark);
}
.instructor-avatar{
  background:linear-gradient(145deg,var(--brand-green-soft),#aad9b8);
}

/* Footer */
.footer{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#155c33,#0b3f22 70%);
}
.footer:before{
  content:"";
  position:absolute;
  right:-90px;top:-110px;
  width:320px;height:320px;
  border-radius:50%;
  background:var(--brand-pink);
  opacity:.13;
}
.footer:after{
  content:"";
  position:absolute;
  left:-100px;bottom:-150px;
  width:300px;height:300px;
  border-radius:50%;
  background:#fff;
  opacity:.05;
}
.footer .container{position:relative;z-index:1}
.footer .brand{
  display:inline-block;
  background:#fff;
  padding:10px 16px;
  border-radius:14px;
}
.footer .brand img{
  height:52px;
  width:auto;
}
.footer-title{
  color:#ffd8eb;
}
.footer-links a:hover{
  color:#fff;
  text-decoration:underline;
}
.footer-bottom{
  border-top-color:rgba(255,255,255,.17);
}

/* Mobile */
@media(max-width:880px){
  .brand img{
    height:46px;
    max-width:190px;
  }
  .drawer .brand img{
    height:48px;
  }
  .drawer{
    background:linear-gradient(180deg,#fff,#fff8fb);
  }
  .drawer-nav a:hover{
    color:var(--brand-pink);
  }
}
@media(max-width:620px){
  .header-inner{height:68px}
  .brand img{
    height:40px;
    max-width:155px;
  }
  .hero-media{
    padding:10px 0 0;
  }
  .hero-media img{
    border-radius:28px 28px 64px 28px;
  }
  .hero-copy h1 strong{
    display:inline;
  }
}

.notice-box{padding:24px;border:1px solid var(--brand-line);border-left:5px solid var(--brand-pink);border-radius:16px;background:#fff}
.catalog-grid .course-card h3{font-size:1.05rem}
.catalog-grid .course-card .course-body{min-height:210px}
.course-card .more-link{margin-top:auto}
.course-track-pills{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin:12px 0;
}
.course-track-pills span{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:7px 8px;
  border-radius:9px;
  background:var(--bs-green-050);
  color:var(--bs-green-900);
  font-size:.72rem;
  font-weight:900;
  text-align:center;
}
.course-track-pills span+span{
  background:var(--bs-pink-050);
  color:var(--bs-pink-800);
}
@media(max-width:620px){.catalog-grid .course-card .course-body{min-height:auto}}


/* =========================================================
   COURSE SALES DETAIL
========================================================= */
.course-sales-hero{
  padding:56px 0 72px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 18%,rgba(223,63,149,.24),transparent 24%),
    linear-gradient(135deg,var(--bs-ink-950),var(--bs-green-900));
}
.course-sales-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 380px;
  gap:42px;
  align-items:start;
}
.course-sales-copy h1{
  margin:16px 0 18px;
  max-width:850px;
  font-size:clamp(2.8rem,5.2vw,5.6rem);
  line-height:1.06;
  letter-spacing:-.065em;
}
.course-sales-copy p{
  max-width:780px;
  color:rgba(255,255,255,.72);
  font-size:1.08rem;
  line-height:1.75;
}
.course-sales-copy .chip{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.18);
  color:#fff;
}
.course-sales-media{
  margin-top:34px;
  max-width:720px;
  aspect-ratio:16/7;
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:rgba(255,255,255,.08);
}
.course-sales-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.course-apply-panel{
  position:sticky;
  top:110px;
  padding:26px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--radius-lg);
  background:#fff;
  color:var(--bs-ink-950);
  box-shadow:0 30px 80px rgba(0,0,0,.26);
}
.course-apply-panel .panel-label{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:var(--bs-pink-050);
  color:var(--bs-pink-800);
  font-size:.72rem;
  font-weight:900;
}
.course-apply-panel>strong{
  display:block;
  margin:18px 0 4px;
  font-size:2rem;
  letter-spacing:-.04em;
}
.course-apply-panel>p{
  margin:0 0 20px;
  color:var(--muted);
}
.course-apply-panel dl{
  margin:0 0 22px;
  border-top:1px solid var(--line);
}
.course-apply-panel dl div{
  display:grid;
  grid-template-columns:88px 1fr;
  gap:12px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.course-apply-panel dt{
  color:var(--muted);
  font-size:.82rem;
}
.course-apply-panel dd{
  margin:0;
  font-weight:800;
  font-size:.9rem;
}
.course-track-actions{
  display:grid;
  gap:10px;
}
.course-track-action{
  padding:16px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:#fff;
}
.course-track-action.primary{
  background:var(--bs-green-050);
}
.course-track-action b{
  display:inline-flex;
  margin-bottom:8px;
  padding:4px 8px;
  border-radius:999px;
  background:var(--bs-ink-950);
  color:#fff;
  font-size:.7rem;
}
.course-track-action strong{
  display:block;
  font-size:1.05rem;
}
.course-track-action p{
  margin:7px 0 14px;
  color:var(--muted);
  font-size:.82rem;
}
.course-detail-section{
  background:#fff;
}
.course-detail-two{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:60px;
  align-items:start;
}
.course-detail-two h2,
.course-content-layout h2{
  margin:12px 0 24px;
  font-size:clamp(2rem,3.3vw,3.4rem);
  line-height:1.16;
}
.course-audience-list{
  list-style:none;
  padding:0;
  display:grid;
  gap:10px;
}
.course-audience-list li{
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--bs-green-050);
  font-weight:850;
}
.course-point-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.course-point-grid article{
  min-height:210px;
  padding:26px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-soft);
}
.course-point-grid b,
.course-sticky-summary span{
  color:var(--bs-pink-700);
  font-size:.68rem;
  letter-spacing:.13em;
  font-weight:900;
}
.course-point-grid strong{
  display:block;
  margin-top:62px;
  font-size:1.25rem;
  line-height:1.45;
}
.course-content-layout{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:50px;
  align-items:start;
}
.course-sticky-summary{
  position:sticky;
  top:125px;
  padding:26px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-soft);
}
.course-sticky-summary strong{
  display:block;
  margin:12px 0;
  font-size:1.35rem;
  line-height:1.35;
}
.course-sticky-summary p{
  color:var(--muted);
  font-size:.86rem;
}
.course-sticky-summary .btn{
  margin-top:18px;
}
.course-overview-section{
  padding:96px 0;
  background:linear-gradient(180deg,#fff,var(--bs-cream-050));
}
.course-overview-head{
  max-width:880px;
  margin-bottom:34px;
}
.course-overview-head h2{
  margin:12px 0 18px;
  font-size:clamp(2.45rem,4.4vw,4.7rem);
  line-height:1.08;
  letter-spacing:-.065em;
}
.course-overview-head p{
  max-width:760px;
  color:var(--muted);
  line-height:1.75;
}
.course-track-roadmap{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.2);
  box-shadow:var(--shadow-soft);
}
.course-track-roadmap article{
  min-height:260px;
  padding:30px;
  background:var(--bs-ink-950);
  color:#fff;
}
.course-track-roadmap article:nth-child(2){
  background:var(--bs-green-900);
}
.course-track-roadmap article:nth-child(3){
  background:var(--bs-pink-800);
}
.course-track-roadmap b{
  color:rgba(255,255,255,.62);
  font-size:.7rem;
  letter-spacing:.14em;
}
.course-track-roadmap strong{
  display:block;
  margin:72px 0 12px;
  font-size:1.45rem;
}
.course-track-roadmap p{
  margin:0;
  color:rgba(255,255,255,.7);
  line-height:1.68;
}
.course-result-panel{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:40px;
  margin-top:18px;
  padding:34px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-soft);
}
.course-result-panel span{
  color:var(--bs-pink-700);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.13em;
}
.course-result-panel h3{
  margin:12px 0 0;
  font-size:2rem;
  line-height:1.25;
}
.course-result-panel ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}
.course-result-panel li{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:12px;
  align-items:center;
  padding:15px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--bs-green-050);
}
.course-result-panel li:nth-child(even){
  background:var(--bs-pink-050);
}
.course-result-panel li span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:var(--bs-ink-950);
}
.course-result-panel li strong{
  font-size:.95rem;
}
@media(max-width:1020px){
  .course-sales-grid,
  .course-detail-two,
  .course-content-layout,
  .course-result-panel{
    grid-template-columns:1fr;
  }
  .course-apply-panel,
  .course-sticky-summary{
    position:static;
  }
  .course-point-grid{
    grid-template-columns:1fr 1fr;
  }
  .course-track-roadmap{
    grid-template-columns:1fr;
  }
  .course-track-roadmap article{
    min-height:auto;
  }
  .course-track-roadmap strong{
    margin-top:34px;
  }
}
@media(max-width:700px){
  .course-sales-hero{
    padding:38px 0 52px;
  }
  .course-sales-grid{
    gap:24px;
  }
  .course-sales-copy h1{
    font-size:2.55rem;
  }
  .course-sales-media{
    aspect-ratio:16/10;
  }
  .course-apply-panel{
    padding:20px;
  }
  .course-point-grid{
    grid-template-columns:1fr;
  }
  .course-point-grid article{
    min-height:auto;
  }
  .course-point-grid strong{
    margin-top:28px;
  }
  .course-overview-section{
    padding:68px 0;
  }
  .course-result-panel{
    padding:22px;
  }
  .course-result-panel h3{
    font-size:1.45rem;
  }
}

/* =========================================================
   BEAUTIFUL SCHOOL AWARD APPLICATION
========================================================= */
.apply-hero{
  padding:72px 0;
  background:
    radial-gradient(circle at 8% 20%,rgba(20,156,75,.12),transparent 22%),
    radial-gradient(circle at 92% 15%,rgba(223,63,149,.14),transparent 26%),
    linear-gradient(135deg,#fffaf5,#fff 55%,#f3fbf5);
}
.apply-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:52px;align-items:center}
.apply-hero h1{font-family: "Pretendard", sans-serif;font-size:clamp(2.7rem,5.5vw,5rem);letter-spacing:-.065em;font-weight:500;margin:18px 0 24px}
.apply-hero h1 strong{color:var(--brand-pink)}
.apply-hero p{font-size:1.05rem;color:#555;max-width:720px}
.status-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;background:#fff;border:1px solid var(--brand-line);font-size:.8rem;font-weight:800}
.status-pill span{width:8px;height:8px;border-radius:50%;background:var(--brand-yellow);box-shadow:0 0 0 5px rgba(247,189,74,.18)}
.apply-summary-card{background:#fff;border:1px solid #efd9e4;border-radius:24px;padding:28px;box-shadow:var(--shadow)}
.apply-summary-card .summary-label{color:var(--brand-pink);font-size:.75rem;font-weight:800;letter-spacing:.08em}
.apply-summary-card>strong{display:block;font-size:1.45rem;margin:6px 0 18px}
.apply-summary-card dl{margin:0}
.apply-summary-card dl div{display:grid;grid-template-columns:95px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.apply-summary-card dt{font-size:.82rem;color:var(--muted)}
.apply-summary-card dd{margin:0;font-size:.86rem;font-weight:700}

.apply-quick{background:#fff;border-bottom:1px solid var(--line)}
.apply-quick-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.apply-quick-grid a{padding:24px;display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;border-right:1px solid var(--line)}
.apply-quick-grid a:last-child{border-right:0}
.apply-quick-grid span{grid-row:1/3;width:38px;height:38px;border-radius:12px;background:var(--brand-pink-soft);color:var(--brand-pink);display:grid;place-items:center;font-weight:800}
.apply-quick-grid a:nth-child(even) span{background:var(--brand-green-soft);color:var(--brand-green)}
.apply-quick-grid strong{font-size:.9rem}
.apply-quick-grid small{color:var(--muted)}

.lead-copy{max-width:520px;color:var(--muted)}
.apply-principles{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.apply-principles article{padding:24px 18px;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:center}
.principle-icon{width:52px;height:52px;margin:0 auto 14px;border-radius:18px 18px 28px 18px;background:var(--brand-pink-soft);color:var(--brand-pink);display:grid;place-items:center;font-weight:900}
.apply-principles article:nth-child(even) .principle-icon{background:var(--brand-green-soft);color:var(--brand-green)}
.apply-principles h3{font-size:1rem}
.apply-principles p{font-size:.82rem;color:var(--muted);margin:0}

.apply-two-col{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}
.checklist-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;display:grid;gap:14px}
.checklist-card label{display:flex;gap:10px;align-items:flex-start;font-weight:600}
.checklist-card input{accent-color:var(--brand-green);margin-top:5px}

.criteria-table{border-top:2px solid var(--brand-pink);border-bottom:1px solid var(--line)}
.criteria-row{display:grid;grid-template-columns:160px 1.2fr 1fr;gap:20px;padding:18px 16px;border-bottom:1px solid var(--line);align-items:start}
.criteria-row:last-child{border-bottom:0}
.criteria-head{background:var(--brand-pink-soft);font-size:.82rem;font-weight:800}
.criteria-row strong{color:var(--brand-pink-dark)}
.criteria-row span{font-size:.88rem;color:#535853}

.document-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.document-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}
.document-grid article>span{display:inline-flex;padding:4px 8px;border-radius:999px;background:var(--brand-green-soft);color:var(--brand-green-dark);font-size:.7rem;font-weight:800}
.document-grid article:nth-child(-n+3)>span{background:var(--brand-pink-soft);color:var(--brand-pink-dark)}
.document-grid h3{font-size:1rem;margin:14px 0 8px}
.document-grid p{font-size:.82rem;color:var(--muted);margin:0}

.apply-form-section{background:linear-gradient(180deg,#fff,#fff9fc)}
.apply-layout{display:grid;grid-template-columns:230px 1fr;gap:28px;align-items:start}
.form-steps{position:sticky;top:100px;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}
.form-step{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;padding:16px;display:flex;gap:12px;align-items:center;text-align:left}
.form-step:last-child{border-bottom:0}
.form-step>span{width:34px;height:34px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:#f4f1f2;color:var(--muted);font-weight:800}
.form-step strong,.form-step small{display:block}
.form-step small{font-size:.72rem;color:var(--muted);margin-top:2px}
.form-step.active{background:var(--brand-pink-soft)}
.form-step.active>span{background:var(--brand-pink);color:#fff}
.form-step.completed>span{background:var(--brand-green);color:#fff}

.application-form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:0 12px 38px rgba(80,40,62,.06)}
.form-panel{display:none}
.form-panel.active{display:block}
.panel-head{padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.panel-head>span{font-size:.72rem;color:var(--brand-pink);font-weight:900;letter-spacing:.1em}
.panel-head h3{font-size:1.6rem;margin:6px 0 6px}
.panel-head p{font-size:.86rem;color:var(--muted);margin:0}
.field em,.consent-list em{color:var(--brand-pink);font-style:normal}
.field small.char-count{align-self:flex-end;color:var(--muted)}
.checkbox-field{border:1px solid var(--line);border-radius:14px;padding:18px}
.checkbox-field legend{font-weight:800;padding:0 8px}
.checkbox-field label{display:inline-flex;align-items:center;gap:7px;margin:8px 18px 8px 0;font-size:.86rem}
.checkbox-field input,.consent-list input{accent-color:var(--brand-pink)}
.file-drop{position:relative;border:2px dashed #dfc7d4;border-radius:16px;padding:34px;text-align:center;background:#fffafd}
.file-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.file-drop strong,.file-drop small{display:block}
.file-drop small{color:var(--muted);margin-top:7px}
.file-list{list-style:none;padding:0;margin:12px 0 0}
.file-list li{display:flex;justify-content:space-between;padding:8px 10px;background:var(--surface-soft);border-radius:8px;margin-top:6px;font-size:.8rem}
.review-card{border:1px solid var(--line);border-radius:16px;padding:22px;background:var(--surface-soft);margin-bottom:22px}
.review-card dl{display:grid;grid-template-columns:140px 1fr;gap:10px 18px;margin:0}
.review-card dt{color:var(--muted);font-size:.82rem}
.review-card dd{margin:0;font-weight:600;font-size:.86rem;white-space:pre-wrap}
.consent-list{display:grid;gap:12px;margin:20px 0}
.consent-list label{display:flex;gap:10px;align-items:flex-start;font-size:.86rem}
.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.form-actions-right{display:flex;gap:8px}
.form-message{margin-top:14px;font-size:.86rem;font-weight:700}
.form-message.success{color:var(--brand-green-dark)}
.form-message.error{color:#c03b43}
.invalid{border-color:#d94a58!important;box-shadow:0 0 0 3px rgba(217,74,88,.10)}

@media(max-width:980px){
  .apply-hero-grid,.apply-two-col{grid-template-columns:1fr}
  .apply-principles{grid-template-columns:repeat(3,1fr)}
  .document-grid{grid-template-columns:repeat(2,1fr)}
  .apply-layout{grid-template-columns:1fr}
  .form-steps{position:static;display:grid;grid-template-columns:repeat(4,1fr)}
  .form-step{border-bottom:0;border-right:1px solid var(--line);padding:12px}
  .form-step:last-child{border-right:0}
  .form-step small{display:none}
  .criteria-row{grid-template-columns:130px 1fr}
  .criteria-row span:last-child{grid-column:2}
}
@media(max-width:680px){
  .apply-hero{padding:48px 0}
  .apply-hero h1{font-size:2.6rem}
  .apply-quick-grid{grid-template-columns:repeat(2,1fr)}
  .apply-quick-grid a:nth-child(2){border-right:0}
  .apply-quick-grid a:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .apply-principles,.document-grid{grid-template-columns:1fr}
  .form-steps{grid-template-columns:repeat(4,1fr)}
  .form-step{justify-content:center}
  .form-step div{display:none}
  .application-form{padding:20px 16px;border-radius:16px}
  .criteria-row,.criteria-head{grid-template-columns:1fr}
  .criteria-head{display:none}
  .criteria-row span:last-child{grid-column:auto}
  .criteria-row strong{font-size:1rem}
  .form-actions{align-items:stretch}
  .form-actions-right{flex:1;display:grid;grid-template-columns:1fr 1fr}
  #submitApplication{grid-column:1/-1}
  .review-card dl{grid-template-columns:1fr}
}


/* Accessibility and cross-browser hardening */
.skip-link{position:fixed;left:16px;top:12px;z-index:9999;padding:12px 16px;background:#111;color:#fff;border-radius:8px;transform:translateY(-160%);transition:transform .15s ease}
.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid #1b63d9;outline-offset:3px}
@supports not selector(:focus-visible){a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:3px solid #1b63d9;outline-offset:3px}}
button,a,input,select,textarea{touch-action:manipulation}
button,.btn,.icon-btn,.category-tab,.form-step{min-width:24px;min-height:44px}
[hidden]{display:none!important}
.drawer{-webkit-overflow-scrolling:touch}
.site-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
input,select,textarea{-webkit-appearance:none;appearance:none}
select{background-image:linear-gradient(45deg,transparent 50%,#555 50%),linear-gradient(135deg,#555 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:38px}
input[type="checkbox"],input[type="radio"]{-webkit-appearance:auto;appearance:auto}
.error-summary{border:2px solid #b4232f;background:#fff4f4;color:#5d1118;border-radius:12px;padding:18px;margin-bottom:22px}
.error-summary h3{font-size:1rem;margin-bottom:8px}.error-summary ul{margin:0;padding-left:20px}.error-summary a{text-decoration:underline}
[aria-invalid="true"]{border-color:#b4232f!important;box-shadow:0 0 0 3px rgba(180,35,47,.14)!important}
.field-error{display:block;color:#a31520;font-size:.8rem;margin-top:4px}
.form-message.error{color:#a31520}.form-message.success{color:#0d7036}
.criteria-table{width:100%;border-collapse:collapse;border-top:2px solid var(--brand-pink-dark);border-bottom:1px solid var(--line)}
.criteria-table th,.criteria-table td{text-align:left;vertical-align:top;padding:18px 16px;border-bottom:1px solid var(--line);font-size:.88rem}
.criteria-table thead th{background:var(--brand-pink-soft);font-weight:800}.criteria-table tbody th{color:var(--brand-pink-dark);width:160px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:680px){.criteria-table,.criteria-table thead,.criteria-table tbody,.criteria-table tr,.criteria-table th,.criteria-table td{display:block}.criteria-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.criteria-table tr{padding:16px 0;border-bottom:1px solid var(--line)}.criteria-table th,.criteria-table td{border:0;padding:5px 10px;width:auto!important}.criteria-table tbody th{font-size:1rem}.criteria-table td:before{display:block;font-size:.72rem;font-weight:800;color:var(--muted);margin-bottom:2px}.criteria-table td:nth-child(2):before{content:"주요 질문"}.criteria-table td:nth-child(3):before{content:"확인 자료"}}
@media(forced-colors:active){.btn,.icon-btn,.category-tab,.form-step{border:1px solid ButtonText}.skip-link{border:2px solid CanvasText}}

:root{--portal-blue:#1f5ca9;--portal-blue-dark:#153f76;--portal-border:#dfe5eb;--portal-text:#1f2933}
body{font-family: "Pretendard", sans-serif;color:var(--portal-text);letter-spacing:-.015em}
.official-bar{min-height:34px;background:#f5f6f7;border-bottom:1px solid #e2e5e8;font-size:.76rem;color:#4b5560}.official-bar .container{min-height:34px;display:flex;align-items:center;gap:8px}.official-mark{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--brand-green-dark);color:#fff;font-size:.65rem}.official-spacer{flex:1}
.site-header{box-shadow:0 2px 10px rgba(28,48,67,.06)}.header-inner{height:78px}.nav{gap:30px}.nav a{font-size:.92rem;font-weight:700}
.portal-hero{background:linear-gradient(135deg,#f9fbfe 0%,#f7fbf7 58%,#fff7fb 100%);padding:64px 0 52px;border-bottom:1px solid var(--portal-border)}.portal-hero-inner{max-width:980px;text-align:center}.portal-copy h1{font-family: "Pretendard", sans-serif;font-size:clamp(2.45rem,5vw,4.3rem);font-weight:800;line-height:1.18;letter-spacing:-.055em;margin:10px 0 18px}.portal-copy h1 strong{color:var(--brand-pink-dark)}.portal-copy p{max-width:680px;margin:0 auto 28px;color:#59636c;font-size:1.02rem}
.portal-search{display:grid;grid-template-columns:1fr 96px;max-width:780px;margin:0 auto;background:#fff;border:3px solid var(--brand-green-dark);border-radius:12px;overflow:hidden;box-shadow:0 14px 34px rgba(35,76,50,.12)}.portal-search input{border:0;border-radius:0;min-height:58px;padding:0 20px;font-size:1rem;background:#fff}.portal-search input:focus{outline:3px solid rgba(223,63,149,.25);outline-offset:-3px}.portal-search button{border:0;background:var(--brand-green-dark);color:#fff;font-weight:800;font-size:.95rem}.keyword-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:16px;font-size:.78rem}.keyword-links span{font-weight:800;color:var(--brand-green-dark)}.keyword-links a{color:#5d6670;text-decoration:underline;text-underline-offset:3px}
.quick-services{background:#fff;border-bottom:1px solid var(--portal-border);padding:30px 0}.quick-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.quick-head h2{font-size:1.35rem;margin:0}.quick-head a{font-size:.8rem;color:#53606c}.quick-service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.quick-service-grid a{min-height:132px;padding:18px 10px;border:1px solid var(--portal-border);border-radius:14px;text-align:center;background:#fff;transition:.2s}.quick-service-grid a:hover{border-color:var(--brand-green);box-shadow:0 8px 22px rgba(21,85,47,.08);transform:translateY(-2px)}.quick-service-grid span{width:48px;height:48px;margin:0 auto 10px;display:grid;place-items:center;border-radius:15px;background:var(--brand-green-soft);color:var(--brand-green-dark);font-size:1.25rem;font-weight:900}.quick-service-grid a:nth-child(3n) span,.quick-service-grid a:nth-child(4n) span{background:var(--brand-pink-soft);color:var(--brand-pink-dark)}.quick-service-grid strong,.quick-service-grid small{display:block}.quick-service-grid strong{font-size:.9rem}.quick-service-grid small{font-size:.72rem;color:#6b7480;margin-top:4px}
.portal-dashboard{padding-top:64px;padding-bottom:64px}.dashboard-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:24px}.headline-card{border:1px solid var(--portal-border);border-radius:20px;padding:38px;background:linear-gradient(145deg,#fff,#f8fbf7)}.headline-label{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--brand-pink-soft);color:var(--brand-pink-dark);font-size:.72rem;font-weight:800}.headline-card h2{font-size:clamp(1.8rem,3.2vw,2.7rem);margin:16px 0 12px}.headline-card p{color:#59636c;max-width:680px}.status-panel{border-radius:20px;background:var(--portal-blue-dark);color:#fff;padding:30px}.status-panel h2{font-size:1.15rem;margin-bottom:18px}.status-panel dl{margin:0}.status-panel dl div{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.18)}.status-panel dl div:last-child{border-bottom:0}.status-panel dt{font-size:.82rem;color:#d9e6f5}.status-panel dd{margin:0;font-size:1.18rem;font-weight:800}
.catalog-shortcuts{display:flex;gap:8px;overflow:auto;padding-bottom:20px;margin-bottom:8px}.catalog-shortcuts a{white-space:nowrap;padding:9px 15px;border:1px solid #dce2e7;border-radius:999px;background:#fff;font-size:.82rem;font-weight:700}.catalog-shortcuts a:hover{background:var(--portal-blue-dark);border-color:var(--portal-blue-dark);color:#fff}
.civic-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:24px}.board-card,.participation-card{border:1px solid var(--portal-border);border-radius:18px;background:#fff;padding:28px}.board-head{display:flex;justify-content:space-between;align-items:center}.board-head h2{font-size:1.45rem}.board-head a{font-size:.8rem;color:#59636c}.board-tabs{display:flex;gap:24px;border-bottom:1px solid var(--portal-border);margin-bottom:8px}.board-tabs button{border:0;background:transparent;padding:12px 2px;font-weight:700;color:#707982}.board-tabs button.active{color:var(--brand-pink-dark);border-bottom:3px solid var(--brand-pink-dark)}.board-card [role="tabpanel"] a{display:grid;grid-template-columns:74px 1fr 88px;gap:12px;align-items:center;padding:15px 4px;border-bottom:1px solid #edf0f2}.board-card [role="tabpanel"] a:last-child{border-bottom:0}.board-card [role="tabpanel"] span{font-size:.72rem;color:var(--portal-blue);font-weight:800}.board-card [role="tabpanel"] strong{font-size:.88rem}.board-card time{text-align:right;font-size:.76rem;color:#75808a}.participation-card{background:linear-gradient(145deg,var(--brand-green-dark),#104e2b);color:#fff}.participation-card .eyebrow{color:#cbeed6}.participation-card h2{font-size:1.75rem}.participation-links{display:grid;margin-top:22px}.participation-links a{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.2);font-weight:700}.participation-links a:last-child{border-bottom:0}
.service-directory{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--portal-text);border-bottom:1px solid var(--portal-border)}.service-directory>div{padding:24px;border-right:1px solid var(--portal-border)}.service-directory>div:last-child{border-right:0}.service-directory h3{font-size:1rem;margin-bottom:14px}.service-directory a{display:block;padding:6px 0;font-size:.83rem;color:#5c6670}.service-directory a:hover{color:var(--brand-pink-dark);text-decoration:underline}
@media(max-width:980px){.quick-service-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid,.civic-grid{grid-template-columns:1fr}.service-directory{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.official-bar .container{font-size:.7rem}.official-bar .official-spacer,.official-bar a{display:none}.portal-hero{padding:44px 0 38px}.portal-copy h1{font-size:2.5rem}.portal-search{grid-template-columns:1fr 74px}.portal-search input{font-size:.9rem;padding:0 12px}.quick-service-grid{grid-template-columns:repeat(2,1fr)}.quick-service-grid a{min-height:118px}.headline-card,.status-panel,.board-card,.participation-card{padding:22px}.service-directory{grid-template-columns:1fr}.service-directory>div{border-right:0;border-bottom:1px solid var(--portal-border)}.board-card [role="tabpanel"] a{grid-template-columns:58px 1fr}.board-card time{grid-column:2;text-align:left}.keyword-links{justify-content:flex-start}.portal-hero-inner{text-align:left}.portal-copy p{margin-left:0}.portal-search{margin-left:0}}


/* =========================================================
   CMK-INSPIRED INTERACTION SYSTEM
   Pointer spotlight · tactile press · subtle parallax
   Accessible and reduced-motion aware
========================================================= */
:root{
  --motion-fast:160ms;
  --motion-base:280ms;
  --motion-slow:520ms;
  --ease-out:cubic-bezier(.22,1,.36,1);
  --ease-spring:cubic-bezier(.2,.9,.25,1.18);
}

/* Interactive surfaces */
.journey-card,
.course-card,
.promo-card,
.institution-panel,
.apply-summary-card,
.apply-principles article,
.document-grid article,
.service-quick-item,
.impact-stat{
  --spot-x:50%;
  --spot-y:50%;
  --lift:0px;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  transform:translate3d(0,var(--lift),0);
  transition:
    transform var(--motion-base) var(--ease-out),
    box-shadow var(--motion-base) var(--ease-out),
    border-color var(--motion-fast) ease;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}

.journey-card::after,
.course-card::after,
.promo-card::after,
.apply-summary-card::after,
.apply-principles article::after,
.document-grid article::after,
.service-quick-item::after,
.impact-stat::after{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:-1;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(
      220px circle at var(--spot-x) var(--spot-y),
      rgba(255,255,255,.72),
      rgba(223,63,149,.08) 35%,
      transparent 70%
    );
  transition:opacity var(--motion-base) ease;
}

@media (hover:hover) and (pointer:fine){
  .journey-card:hover,
  .course-card:hover,
  .promo-card:hover,
  .apply-summary-card:hover,
  .apply-principles article:hover,
  .document-grid article:hover,
  .service-quick-item:hover,
  .impact-stat:hover{
    --lift:-7px;
    box-shadow:0 22px 48px rgba(52,38,47,.13);
  }

  .journey-card:hover::after,
  .course-card:hover::after,
  .promo-card:hover::after,
  .apply-summary-card:hover::after,
  .apply-principles article:hover::after,
  .document-grid article:hover::after,
  .service-quick-item:hover::after,
  .impact-stat:hover::after{
    opacity:1;
  }

  .course-card:hover .course-thumb img,
  .promo-card:hover img{
    transform:scale(1.055);
  }

  .journey-card:hover .journey-icon,
  .apply-principles article:hover .principle-icon{
    transform:translateY(-3px) rotate(-4deg) scale(1.06);
  }
}

/* Touch / mouse press feedback */
.is-pressed{
  --lift:1px!important;
  transform:translate3d(0,1px,0) scale(.985)!important;
  transition-duration:90ms!important;
}

.btn,
.icon-btn,
.category-tab,
.form-step,
.apply-quick-grid a{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  transition:
    transform var(--motion-fast) var(--ease-out),
    box-shadow var(--motion-fast) ease,
    background-color var(--motion-fast) ease,
    color var(--motion-fast) ease,
    border-color var(--motion-fast) ease;
}

.btn::after,
.icon-btn::after,
.category-tab::after,
.form-step::after,
.apply-quick-grid a::after{
  content:"";
  position:absolute;
  width:12px;
  height:12px;
  left:var(--ripple-x,50%);
  top:var(--ripple-y,50%);
  border-radius:50%;
  pointer-events:none;
  background:currentColor;
  opacity:0;
  transform:translate(-50%,-50%) scale(0);
}

.is-rippling::after{
  animation:tapRipple 560ms ease-out;
}

@keyframes tapRipple{
  0%{opacity:.18;transform:translate(-50%,-50%) scale(0)}
  70%{opacity:.08}
  100%{opacity:0;transform:translate(-50%,-50%) scale(26)}
}

.btn:active,
.icon-btn:active,
.category-tab:active,
.form-step:active,
.apply-quick-grid a:active{
  transform:translateY(1px) scale(.975);
}

.btn-primary,
.btn-pink{
  box-shadow:0 8px 18px rgba(13,112,54,.16);
}
.btn-pink{box-shadow:0 8px 18px rgba(188,40,119,.17)}

@media (hover:hover){
  .btn:hover{
    transform:translateY(-2px);
  }
  .btn-primary:hover,
  .btn-pink:hover{
    box-shadow:0 13px 24px rgba(34,34,34,.18);
  }
  .more-link{
    display:inline-flex;
    align-items:center;
    gap:5px;
  }
  .more-link::after{
    content:"→";
    transition:transform var(--motion-base) var(--ease-out);
  }
  .more-link:hover::after,
  a:hover > .more-link::after{
    transform:translateX(5px);
  }
}

/* Icon motion */
.journey-icon,
.principle-icon,
.outcome-icon,
.inst-icon{
  transition:
    transform var(--motion-base) var(--ease-spring),
    background-color var(--motion-fast) ease,
    color var(--motion-fast) ease;
}

/* Image motion */
.course-thumb img,
.promo-card img,
.hero-media img{
  will-change:transform;
  transition:transform var(--motion-slow) var(--ease-out);
}

/* Hero interactive stage */
.hero-media{
  perspective:1000px;
}
.hero-media img{
  --hero-x:0deg;
  --hero-y:0deg;
  --hero-tx:0px;
  --hero-ty:0px;
  transform:
    translate3d(var(--hero-tx),var(--hero-ty),0)
    rotateX(var(--hero-x))
    rotateY(var(--hero-y));
  transform-origin:center;
}
.hero-media::before,
.hero-media::after{
  content:"";
  position:absolute;
  pointer-events:none;
  border-radius:50%;
  filter:blur(1px);
  transition:transform var(--motion-slow) var(--ease-out);
}
.hero-media::before{
  width:110px;height:110px;
  right:7%;top:11%;
  background:rgba(223,63,149,.12);
  transform:translate3d(var(--float-x,0),var(--float-y,0),0);
}
.hero-media::after{
  width:75px;height:75px;
  left:9%;bottom:13%;
  background:rgba(20,156,75,.12);
  transform:translate3d(calc(var(--float-x,0) * -.55),calc(var(--float-y,0) * -.55),0);
}

/* Current focus gains the same visual affordance as hover */
.journey-card:focus-within,
.course-card:focus-within,
.promo-card:focus-within,
.service-quick-item:focus-within{
  --lift:-4px;
  border-color:var(--brand-pink);
  box-shadow:0 17px 38px rgba(52,38,47,.12);
}

/* Mobile: clear touch feedback, no sticky hover */
@media (hover:none), (pointer:coarse){
  .journey-card:active,
  .course-card:active,
  .promo-card:active,
  .apply-summary-card:active,
  .apply-principles article:active,
  .document-grid article:active,
  .service-quick-item:active,
  .impact-stat:active{
    transform:scale(.985);
    box-shadow:0 8px 18px rgba(52,38,47,.10);
  }

  .course-card:active .course-thumb img,
  .promo-card:active img{
    transform:scale(1.025);
  }

  .apply-quick-grid a:active{
    background:var(--brand-pink-soft);
  }
}

/* Respect user motion preferences */
@media (prefers-reduced-motion:reduce){
  .journey-card,
  .course-card,
  .promo-card,
  .institution-panel,
  .apply-summary-card,
  .apply-principles article,
  .document-grid article,
  .service-quick-item,
  .impact-stat,
  .btn,
  .icon-btn,
  .category-tab,
  .form-step,
  .apply-quick-grid a,
  .journey-icon,
  .principle-icon,
  .outcome-icon,
  .inst-icon,
  .course-thumb img,
  .promo-card img,
  .hero-media img{
    transition:none!important;
    transform:none!important;
  }
  .is-rippling::after{animation:none!important}
  .journey-card::after,
  .course-card::after,
  .promo-card::after,
  .apply-summary-card::after,
  .apply-principles article::after,
  .document-grid article::after,
  .service-quick-item::after,
  .impact-stat::after{
    display:none!important;
  }
}

/* Prevent visual effects in Windows High Contrast */
@media (forced-colors:active){
  .journey-card::after,
  .course-card::after,
  .promo-card::after,
  .apply-summary-card::after,
  .apply-principles article::after,
  .document-grid article::after,
  .service-quick-item::after,
  .impact-stat::after,
  .hero-media::before,
  .hero-media::after{
    display:none;
  }
}


/* =========================================================
   CMK STRUCTURE & PAGE SYSTEM
========================================================= */
:root{
  --cmk-black:#111513;
  --cmk-charcoal:#1d2420;
  --cmk-mint:#b7efcc;
  --cmk-cream:#f5f1e8;
  --cmk-blue:#1b4160;
}
body{overflow-x:hidden}
.cmk-header{top:0;background:rgba(255,255,255,.92);border:0}
.cmk-header .header-inner{height:86px}
.btn-quiet{background:#f3f5f3;color:#27312a}
.cmk-nav{gap:34px}
.nav-group{position:static}
.nav-top{border:0;background:transparent;padding:28px 0;font-weight:800;color:#252a27}
.nav-top:hover,.nav-top:focus-visible{color:var(--brand-pink)}
.mega-panel{
  position:absolute;left:0;right:0;top:100%;display:grid;grid-template-columns:1fr 2fr;
  gap:50px;padding:42px max(40px,calc((100vw - var(--container))/2));
  background:#fff;border-top:1px solid var(--line);box-shadow:0 22px 50px rgba(20,30,24,.12);
  opacity:0;visibility:hidden;transform:translateY(-10px);transition:.25s var(--ease-out)
}
.nav-group:hover .mega-panel,.nav-group:focus-within .mega-panel,.nav-group.open .mega-panel{opacity:1;visibility:visible;transform:translateY(0)}
.mega-intro span{font-size:.72rem;letter-spacing:.14em;color:var(--brand-pink);font-weight:900}
.mega-intro strong{display:block;margin-top:10px;font-family: "Pretendard", sans-serif;font-size:1.65rem;line-height:1.45}
.mega-links{display:grid;grid-template-columns:repeat(3,1fr);align-content:start;gap:0 28px}
.mega-links a{padding:14px 0;border-bottom:1px solid var(--line);font-weight:700}
.mega-links a:hover{color:var(--brand-pink);padding-left:6px}
.mega-business-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.mega-business-grid a{padding:20px;border:1px solid var(--line);border-radius:14px}
.mega-business-grid b,.mega-business-grid strong,.mega-business-grid small{display:block}
.mega-business-grid b{color:var(--brand-pink);font-size:.75rem}
.mega-business-grid strong{margin:20px 0 4px}
.mega-business-grid small{color:var(--muted)}
.mega-business-grid a:hover{background:var(--brand-pink-soft);border-color:#efb2d1}
.cmk-drawer details{border-bottom:1px solid var(--line)}
.cmk-drawer summary{padding:18px 4px;font-weight:800;cursor:pointer}
.cmk-drawer details a{display:block;padding:10px 18px;color:var(--muted)}
.drawer-actions{display:grid;gap:10px;margin-top:24px}

/* main hero */
.cmk-main-hero{min-height:calc(100vh - 86px);background:var(--cmk-black);color:#fff;position:relative;display:flex;align-items:center;overflow:hidden}
.hero-noise{position:absolute;inset:0;background:radial-gradient(circle at 15% 10%,rgba(223,63,149,.25),transparent 28%),radial-gradient(circle at 80% 75%,rgba(20,156,75,.22),transparent 30%);filter:saturate(1.1)}
.cmk-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;padding-top:50px;padding-bottom:70px}
.hero-kicker{font-size:.72rem;letter-spacing:.2em;color:var(--cmk-mint);font-weight:900}
.cmk-hero-copy h1{font-size:clamp(3rem,6.5vw,6.5rem);line-height:1.03;letter-spacing:-.075em;font-family: "Pretendard", sans-serif;font-weight:500;margin:24px 0}
.cmk-hero-copy h1 strong{color:#ff8bc6;font-weight:500}
.cmk-hero-copy p{max-width:660px;color:rgba(255,255,255,.73);font-size:1.03rem}
.btn-glass{border:1px solid rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.06)}
.hero-impact-wheel{width:min(44vw,560px);aspect-ratio:1;position:relative;margin-left:auto;animation:floatWheel 7s ease-in-out infinite}
.wheel-item{position:absolute;width:44%;height:44%;border-radius:50%;display:flex;flex-direction:column;justify-content:center;padding:8%;color:#fff;border:1px solid rgba(255,255,255,.16);transition:.45s var(--ease-out);backdrop-filter:blur(10px)}
.wheel-item span{font-size:.7rem;letter-spacing:.12em;opacity:.7}.wheel-item strong{font-size:2rem;margin:5px 0}.wheel-item small{opacity:.74}
.wheel-award{left:2%;top:2%;background:rgba(223,63,149,.52)}
.wheel-learn{right:2%;top:20%;background:rgba(20,156,75,.45)}
.wheel-connect{left:24%;bottom:0;background:rgba(43,94,122,.52)}
.wheel-item:hover{transform:scale(1.08);z-index:2;background-color:rgba(255,255,255,.14)}
.wheel-center{position:absolute;left:39%;top:39%;width:22%;height:22%;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;align-content:center;z-index:3}
.wheel-center img{width:44%}.wheel-center span{font-size:.56rem;font-weight:900;margin-top:3px}
.hero-scroll{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;font-size:.6rem;letter-spacing:.18em;color:rgba(255,255,255,.55)}
.hero-scroll i{display:block;width:46px;height:1px;background:rgba(255,255,255,.45)}
@keyframes floatWheel{50%{transform:translateY(-12px) rotate(1.2deg)}}

/* mission */
.cmk-mission-section{padding:150px 0;background:#fff}
.cmk-section-intro span{display:block;color:var(--brand-pink);font-size:.72rem;letter-spacing:.16em;font-weight:900;margin-bottom:18px}
.cmk-section-intro h2{font-family: "Pretendard", sans-serif;font-size:clamp(2.2rem,4.3vw,4.2rem);font-weight:500;letter-spacing:-.055em;line-height:1.3}
.mission-statement{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:80px;font-size:clamp(2rem,5vw,5rem);font-weight:900;color:#d8dcd9}
.mission-statement p:nth-of-type(1){color:var(--brand-pink)}.mission-statement p:nth-of-type(2){color:var(--brand-green)}.mission-statement p:nth-of-type(3){color:var(--cmk-blue)}
.mission-statement i{width:70px;height:1px;background:#ccd2ce}

/* business panels */
.cmk-business-section{padding:110px 0;background:var(--cmk-charcoal);color:#fff}
.section-head.light p{color:rgba(255,255,255,.55)}
.cmk-business-panels{display:grid;grid-template-columns:repeat(3,1fr);height:570px;gap:12px}
.cmk-business-panel{position:relative;overflow:hidden;border-radius:6px;color:#fff;isolation:isolate}
.panel-bg{position:absolute;inset:0;transition:.6s var(--ease-out);background-size:cover}
.panel-1 .panel-bg{background:linear-gradient(145deg,#a32169,#ef88bd)}
.panel-2 .panel-bg{background:linear-gradient(145deg,#086b37,#62c487)}
.panel-3 .panel-bg{background:linear-gradient(145deg,#153d59,#5a8eae)}
.panel-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 20%,rgba(0,0,0,.62))}
.panel-number{position:absolute;right:22px;top:18px;font-size:4rem;font-weight:900;color:rgba(255,255,255,.14)}
.panel-content{position:absolute;left:28px;right:28px;bottom:28px;transition:.45s var(--ease-out)}
.panel-content span{font-size:.68rem;letter-spacing:.14em}.panel-content h3{font-size:1.8rem;margin:10px 0}.panel-content p{color:rgba(255,255,255,.72);max-width:320px}.panel-content b{display:block;margin-top:24px}
.cmk-business-panel:hover .panel-bg{transform:scale(1.07)}.cmk-business-panel:hover .panel-content{transform:translateY(-12px)}

/* impact */
.cmk-impact-section{padding:140px 0;background:var(--cmk-cream)}
.impact-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.impact-copy h2{font-family: "Pretendard", sans-serif;font-size:clamp(2.2rem,4vw,4rem);font-weight:500}
.text-arrow{display:inline-flex;margin-top:30px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:6px}
.impact-numbers{display:grid;grid-template-columns:1fr 1fr}
.impact-stat{padding:36px;border-left:1px solid #d9d4ca;border-bottom:1px solid #d9d4ca}
.impact-stat:nth-child(3),.impact-stat:nth-child(4){border-bottom:0}
.impact-stat strong{display:block;font-size:clamp(2.8rem,5vw,5rem);line-height:1;color:var(--brand-pink)}.impact-stat span{display:block;margin-top:12px;color:var(--muted)}

/* news */
.cmk-news-section{padding:120px 0}
.cmk-news-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:50px}
.featured-story>a{display:grid;grid-template-columns:1fr 1fr;background:#f6f4ef}
.story-visual{min-height:380px;background:var(--brand-pink-soft);display:grid;place-items:center}.story-visual img{width:82%}
.story-visual.story-photo{background:#12251a;overflow:hidden}
.story-visual.story-photo img{display:block;width:100%;height:100%;min-height:380px;object-fit:cover;object-position:center}
.story-copy{padding:38px}.story-copy span{font-size:.7rem;color:var(--brand-pink);font-weight:900}.story-copy h3{font-size:1.6rem;margin:18px 0}.story-copy p{color:var(--muted)}
.news-list{border-top:2px solid #222}
.news-list a{display:grid;grid-template-columns:90px 1fr 24px;gap:16px;padding:24px 0;border-bottom:1px solid var(--line);align-items:center}
.news-list time{color:var(--muted);font-size:.78rem}.news-list span{transition:.25s}.news-list a:hover span{transform:translate(4px,-4px)}
.cmk-archive-teaser{padding:120px 0;background:#14281c;color:#fff}
.archive-teaser-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.archive-copy span{font-size:.7rem;letter-spacing:.15em;color:var(--cmk-mint);font-weight:900}.archive-copy h2{font-family: "Pretendard", sans-serif;font-size:clamp(2.3rem,4vw,4rem);font-weight:500}.archive-copy p{color:rgba(255,255,255,.68)}
.btn-light{background:#fff;color:#18221b}
.archive-stack{height:360px;position:relative}
.archive-card{position:absolute;width:72%;height:250px;border-radius:10px;padding:28px;font-size:1.4rem;font-weight:900;box-shadow:0 22px 50px rgba(0,0,0,.28);transition:.5s var(--ease-out)}
.card-a{left:0;top:70px;background:#e74b9b;transform:rotate(-7deg)}.card-b{right:2%;top:40px;background:#46a36b;transform:rotate(7deg)}.card-c{left:14%;top:0;background:#f0e9d8;color:#18221b}
.archive-stack:hover .card-a{transform:translateX(-26px) rotate(-10deg)}.archive-stack:hover .card-b{transform:translateX(26px) rotate(10deg)}.archive-stack:hover .card-c{transform:translateY(-20px)}

/* subpages */
.sub-visual{min-height:430px;background:var(--cmk-black);color:#fff;position:relative;overflow:hidden;display:flex;align-items:center}
.sub-visual .breadcrumbs{position:absolute;top:28px;color:rgba(255,255,255,.55);padding:0;display:flex;gap:10px}
.sub-visual-content{padding-top:60px;position:relative;z-index:2}.sub-visual-content>span{font-size:.72rem;letter-spacing:.18em;color:var(--cmk-mint);font-weight:900}.sub-visual h1{font-family: "Pretendard", sans-serif;font-size:clamp(3rem,6vw,6rem);font-weight:500;margin:18px 0}.sub-visual p{max-width:700px;color:rgba(255,255,255,.68)}
.sub-orbit{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.08)}.orbit-a{width:460px;height:460px;right:-60px;top:-80px}.orbit-b{width:260px;height:260px;right:170px;bottom:-130px;background:rgba(223,63,149,.15)}
.subnav{position:sticky;top:86px;background:#fff;border-bottom:1px solid var(--line);z-index:20}.subnav .container{display:flex;gap:35px;overflow:auto}.subnav a{padding:20px 0;font-weight:700;white-space:nowrap}
.editorial-grid{display:grid;grid-template-columns:220px 1fr;gap:60px}.editorial-label span{font-size:.7rem;letter-spacing:.16em;color:var(--brand-pink);font-weight:900}.editorial-body h2{font-family: "Pretendard", sans-serif;font-size:clamp(2.2rem,4vw,4rem);font-weight:500}.large-copy{font-size:1.28rem;max-width:800px}
.vision-stage{background:#f3f0e8}.vision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d8d4cb;margin-top:50px}.vision-grid article{background:#fff;padding:38px}.vision-grid span{font-size:.68rem;color:var(--brand-pink);font-weight:900}.vision-grid strong{display:block;font-size:1.4rem;margin-top:25px}
.vision-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:25px}.vision-pillars div{padding:26px;border:1px solid #d8d4cb}.vision-pillars b{color:var(--brand-pink)}
.history-rail{border-top:1px solid var(--line)}.history-rail article{display:grid;grid-template-columns:130px 280px 1fr;gap:30px;padding:30px 0;border-bottom:1px solid var(--line)}.history-rail time{font-size:1.5rem;color:var(--brand-pink);font-weight:900}
.transparency-section{background:var(--cmk-charcoal);color:#fff}.document-links{display:grid;grid-template-columns:1fr 1fr}.document-links a{display:flex;justify-content:space-between;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.location-card{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:center}.location-map{height:320px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#edf1ed;box-shadow:0 18px 50px rgba(20,30,24,.08)}.location-map iframe{width:100%;height:100%;border:0;display:block}.location-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.location-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:999px;background:var(--cmk-black);color:#fff;font-size:.9rem;font-weight:800}.location-actions a+a{background:#fff;color:var(--cmk-black);border:1px solid var(--line)}
.business-intro .container,.course-business-intro .container{display:grid;grid-template-columns:1fr .7fr;gap:60px;align-items:center}.business-lead span{font-size:.7rem;letter-spacing:.15em;color:var(--brand-pink);font-weight:900}.business-lead h2{font-family: "Pretendard", sans-serif;font-size:clamp(2.3rem,4.3vw,4.4rem);font-weight:500}.business-symbol{font-size:11rem;text-align:center;color:var(--brand-pink);font-weight:900}.business-symbol small{font-size:1rem}.connect-symbol{color:var(--brand-green)}
.value-panels{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#dcdedc}.value-panels article{background:#fff;padding:28px 22px}.value-panels b{color:var(--brand-pink)}
.process-line{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,1fr);counter-reset:none}.process-line li{padding:24px;border-top:2px solid var(--line);position:relative}.process-line li:before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--brand-pink)}.process-line span{font-size:.7rem;color:var(--muted);display:block;margin-bottom:20px}
.winners-feature,.partnership-history{background:var(--cmk-charcoal);color:#fff}.winner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.14)}.winner-grid article{background:var(--cmk-charcoal);padding:36px}.winner-grid span{color:#ff94ca;font-size:.72rem}.winner-grid p{color:rgba(255,255,255,.65)}
.course-highlight{display:grid;grid-template-columns:auto 1fr;gap:12px 20px;align-items:end}.course-highlight strong{font-size:3rem;color:var(--brand-pink)}.course-highlight span{padding-bottom:8px;color:var(--muted)}
.program-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.program-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:11px 18px;font-weight:700}.program-tabs button.active{background:var(--brand-pink);color:#fff;border-color:var(--brand-pink)}
.institution-cta{background:var(--brand-green-dark);color:#fff}.institution-cta .container{display:flex;align-items:center;justify-content:space-between}.institution-cta span{font-size:.7rem;letter-spacing:.13em;color:var(--cmk-mint)}.light-circle{background:#fff;color:#18221b}
.service-bands article{display:grid;grid-template-columns:110px 1fr;padding:30px 0;border-top:1px solid var(--line)}.service-bands article:last-child{border-bottom:1px solid var(--line)}.service-bands span{font-size:2rem;color:var(--brand-pink)}
.board-head{display:flex;justify-content:space-between;align-items:end}.board-search{display:flex}.board-search input{border:1px solid var(--line);padding:12px}.board-search button{border:0;background:var(--cmk-black);color:#fff;padding:0 20px}.board-list{margin-top:30px;border-top:2px solid #222}.board-list a{display:grid;grid-template-columns:90px 1fr 100px;padding:22px 0;border-bottom:1px solid var(--line)}.board-type{color:var(--brand-pink);font-weight:800}.board-list time{text-align:right;color:var(--muted)}
.news-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.news-card-grid article{background:#fff;padding:28px;border:1px solid var(--line)}.news-card-grid span{color:var(--brand-pink);font-size:.75rem}.event-strip article{display:grid;grid-template-columns:160px 1fr;padding:34px 0;border-top:1px solid var(--line)}.event-strip time{font-size:2rem;color:var(--brand-pink);font-weight:900}
.archive-feature-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;grid-template-rows:1fr 1fr;gap:14px}.archive-feature{min-height:220px;background:#fff;padding:28px;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end}.archive-feature.big{grid-row:1/3;background:var(--brand-pink);color:#fff}.archive-feature span{font-size:.72rem}.archive-feature h3{font-size:1.5rem}.archive-feature p{color:var(--muted)}.archive-feature.big p{color:rgba(255,255,255,.72)}
.archive-case-grid{align-items:stretch}
.archive-case-card{overflow:hidden;background:#fff}
.archive-case-photo{position:relative;aspect-ratio:16/10;margin:0;overflow:hidden;background:#eef3ee;border-bottom:1px solid rgba(16,21,18,.08)}
.archive-case-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s var(--ease-out)}
.archive-case-card:hover .archive-case-photo img{transform:scale(1.035)}
.archive-case-card .course-body{min-height:178px}
.publication-row{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.publication-cover{aspect-ratio:3/4;padding:28px;display:flex;align-items:flex-end;font-size:2rem;font-weight:900}.cover-pink{background:#e94b9c;color:#fff}.cover-green{background:#4cae72;color:#fff}.cover-dark{background:#18221b;color:#fff}.publication-row h3{margin-top:18px}
.publication-books article{min-width:0}.publication-card-link{height:100%;display:block;border:1px solid var(--line);background:#fff;color:inherit;transition:.25s}.publication-card-link:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.publication-books .publication-cover{align-content:space-between;align-items:stretch;flex-direction:column;border-bottom:1px solid rgba(0,0,0,.06)}.publication-cover span{font-size:.72rem;letter-spacing:.16em}.publication-cover strong{display:block;font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.1}.publication-copy{padding:22px}.publication-copy>span{font-size:.72rem;color:var(--brand-pink);font-weight:900}.publication-copy h3{margin:8px 0 10px;font-size:1.2rem}.publication-copy p{color:var(--muted);font-size:.9rem;min-height:72px}.publication-copy b{display:inline-block;margin-top:10px;color:var(--brand-pink-dark)}.publication-recommend .publication-card-link{background:#fbfaf6}
.publication-cover-image{margin:0;padding:14px;background:#f5f2ea;overflow:hidden;display:grid!important;place-items:center}.publication-cover-image img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 14px 18px rgba(24,34,27,.14))}.publication-card-link:hover .publication-cover-image img{transform:scale(1.015);transition:transform .25s var(--ease-out)}
.media-placeholder{height:460px;background:linear-gradient(135deg,#1b2a20,#315c43);display:grid;place-items:center;align-content:center;color:#fff}.media-placeholder button{width:78px;height:78px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.1);color:#fff;font-size:1.5rem}
.media-video-card{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:28px;align-items:stretch}.media-video-frame{position:relative;aspect-ratio:16/9;background:#111713;overflow:hidden}.media-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.media-video-copy{border:1px solid var(--line);background:#fff;padding:30px;display:flex;flex-direction:column;justify-content:center}.media-video-copy span{font-size:.72rem;letter-spacing:.14em;color:var(--brand-pink);font-weight:900}.media-video-copy h3{font-size:1.5rem;margin:12px 0}.media-video-copy p{color:var(--muted);margin-bottom:22px}
.cmk-footer{padding-top:80px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:60px;border-bottom:1px solid rgba(255,255,255,.16);margin-bottom:45px}.footer-statement span{font-size:.65rem;letter-spacing:.15em;color:#b8efca}.footer-statement strong{display:block;font-family: "Pretendard", sans-serif;font-size:2.5rem;margin-top:12px}.footer-circle-link{width:120px;height:120px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--brand-pink);color:#fff;font-weight:800}.footer-circle-link b{font-size:1.4rem;margin-top:5px}

.reveal-on-scroll{opacity:0;transform:translateY(45px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.reveal-on-scroll.is-visible{opacity:1;transform:none}

/* responsive */
@media(max-width:1050px){
  .cmk-nav{display:none}.menu-btn{display:grid}
  .cmk-hero-inner{grid-template-columns:1fr}.hero-impact-wheel{width:min(70vw,500px);margin:20px auto 0}
  .cmk-business-panels{height:auto;grid-template-columns:1fr}.cmk-business-panel{min-height:380px}
  .impact-layout,.cmk-news-layout,.archive-teaser-grid,.business-intro .container,.course-business-intro .container{grid-template-columns:1fr}
  .editorial-grid{grid-template-columns:1fr}.value-panels{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
  .cmk-header .header-inner{height:70px}.subnav{top:70px}
  .cmk-main-hero{min-height:auto}.cmk-hero-inner{padding-top:90px;padding-bottom:100px}
  .cmk-hero-copy h1{font-size:3.1rem}.hero-impact-wheel{width:92vw}.wheel-item strong{font-size:1.3rem}.wheel-item small{font-size:.65rem}
  .cmk-mission-section,.cmk-business-section,.cmk-impact-section,.cmk-news-section,.cmk-archive-teaser{padding:80px 0}
  .mission-statement{gap:12px;font-size:2rem}.mission-statement i{width:24px}
  .featured-story>a{grid-template-columns:1fr}.story-visual{min-height:260px}.story-visual.story-photo img{min-height:260px}
  .impact-numbers,.vision-grid,.vision-pillars,.winner-grid,.news-card-grid,.publication-row,.media-video-card{grid-template-columns:1fr}
  .archive-stack{height:300px}.archive-card{height:210px}
  .sub-visual{min-height:340px}.sub-visual h1{font-size:3rem}
  .history-rail article{grid-template-columns:1fr;gap:8px}
  .document-links,.location-card{grid-template-columns:1fr}
  .value-panels{grid-template-columns:1fr 1fr}
  .process-line{grid-template-columns:1fr}.process-line li{display:grid;grid-template-columns:50px 1fr}
  .service-bands article{grid-template-columns:70px 1fr}
  .board-head{display:block}.board-search{margin-top:18px}.board-search input{flex:1;min-width:0}
  .board-list a{grid-template-columns:70px 1fr}.board-list time{grid-column:2;text-align:left;margin-top:6px}
  .archive-feature-grid{grid-template-columns:1fr;grid-template-rows:auto}.archive-feature.big{grid-row:auto}
  .footer-top{align-items:flex-start}.footer-statement strong{font-size:1.8rem}.footer-circle-link{width:96px;height:96px}
  .business-symbol{font-size:7rem}
}
@media(prefers-reduced-motion:reduce){
  .hero-impact-wheel{animation:none}.reveal-on-scroll{opacity:1;transform:none}
}


/* =========================================================
   GLOBAL TYPOGRAPHY — PRETENDARD
========================================================= */
html,
body,
button,
input,
select,
textarea,
optgroup,
option,
table,
th,
td,
a,
span,
strong,
small,
label,
legend,
summary,
details,
blockquote,
figcaption,
code,
pre,
h1,
h2,
h3,
h4,
h5,
h6,
p,
li,
dt,
dd,
time,
address,
::before,
::after{
  font-family: "Pretendard", sans-serif;
}

body{
  font-family: "Pretendard", sans-serif;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/* =========================================================
   LAYOUT SPACING RESTORE
   Pretendard 적용 후 달라진 체감 여백과 메뉴 높이 보정
========================================================= */

/* 전체 콘텐츠 좌우 안전 여백 */
.container{
  width:min(100%, var(--container));
  margin-inline:auto;
  padding-inline:56px;
}

/* 헤더 내부도 동일한 기준선 유지 */
.header-inner{
  width:min(100%, var(--container));
  margin-inline:auto;
  padding-inline:56px;
}

/* 메인 히어로와 모든 주요 섹션의 좌우 기준선 복원 */
.cmk-hero-inner,
.cmk-mission-section > .container,
.cmk-business-section > .container,
.cmk-impact-section > .container,
.cmk-news-section > .container,
.cmk-archive-teaser > .container,
.sub-visual > .container,
.section > .container,
.section-sm > .container,
.footer > .container{
  padding-left:56px;
  padding-right:56px;
}

/* 메가메뉴 높이와 상하 여백 복원 */
.mega-panel{
  padding-top:54px;
  padding-bottom:54px;
  padding-left:max(56px, calc((100vw - var(--container))/2 + 56px));
  padding-right:max(56px, calc((100vw - var(--container))/2 + 56px));
  min-height:230px;
  align-items:start;
}

.mega-intro{
  padding-top:4px;
}

.mega-intro strong{
  margin-top:14px;
  line-height:1.5;
}

.mega-links a{
  padding-top:17px;
  padding-bottom:17px;
  line-height:1.45;
}

.mega-business-grid a{
  min-height:138px;
  padding:24px 22px;
}

.mega-business-grid strong{
  margin-top:24px;
  line-height:1.4;
}

/* 상단 주메뉴 자체의 세로 높이 복원 */
.nav-top{
  min-height:86px;
  padding-top:31px;
  padding-bottom:31px;
  line-height:1.4;
}

/* 서브페이지 상단 비주얼의 좌우 여백과 텍스트 폭 */
.sub-visual-content{
  max-width:900px;
}

.sub-visual .breadcrumbs{
  left:56px;
}

/* 모바일/태블릿 */
@media(max-width:1050px){
  .container,
  .header-inner,
  .cmk-hero-inner,
  .cmk-mission-section > .container,
  .cmk-business-section > .container,
  .cmk-impact-section > .container,
  .cmk-news-section > .container,
  .cmk-archive-teaser > .container,
  .sub-visual > .container,
  .section > .container,
  .section-sm > .container,
  .footer > .container{
    padding-left:32px;
    padding-right:32px;
  }

  .sub-visual .breadcrumbs{
    left:32px;
  }
}

@media(max-width:620px){
  .container,
  .header-inner,
  .cmk-hero-inner,
  .cmk-mission-section > .container,
  .cmk-business-section > .container,
  .cmk-impact-section > .container,
  .cmk-news-section > .container,
  .cmk-archive-teaser > .container,
  .sub-visual > .container,
  .section > .container,
  .section-sm > .container,
  .footer > .container{
    padding-left:20px;
    padding-right:20px;
  }

  .sub-visual .breadcrumbs{
    left:20px;
  }

  .cmk-hero-inner{
    padding-top:90px;
    padding-bottom:96px;
  }
}


/* =========================================================
   THE 27TH BEAUTIFUL SCHOOL AWARD
========================================================= */
.award27-hero{min-height:760px;background:#101813;color:#fff;position:relative;display:flex;align-items:center;overflow:hidden}
.award27-hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 18% 22%,rgba(223,63,149,.34),transparent 25%),radial-gradient(circle at 82% 70%,rgba(20,156,75,.27),transparent 28%),linear-gradient(120deg,#111713,#17251c)}
.award27-hero-bg:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:60px 60px}
.award27-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr .7fr;align-items:center;gap:60px;padding-top:100px;padding-bottom:100px}
.award27-kicker{font-size:.72rem;letter-spacing:.18em;font-weight:900;color:#b8efca}
.award27-copy h1{font-size:clamp(3.2rem,6vw,6.6rem);line-height:1.04;letter-spacing:-.07em;margin:24px 0;font-weight:700}
.award27-copy h1 strong{color:#ff90c8}
.award27-copy p{max-width:700px;color:rgba(255,255,255,.72);font-size:1.05rem}
.award27-actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.award27-badge{width:min(36vw,430px);aspect-ratio:1;border:1px solid rgba(255,255,255,.2);border-radius:50%;margin-left:auto;display:grid;place-items:center;align-content:center;position:relative;background:rgba(255,255,255,.03);backdrop-filter:blur(8px);animation:awardFloat 7s ease-in-out infinite}
.award27-badge:before,.award27-badge:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.1)}
.award27-badge:before{inset:9%}.award27-badge:after{inset:21%}
.award27-badge span,.award27-badge small{font-size:.65rem;letter-spacing:.16em;color:rgba(255,255,255,.7);z-index:2}
.award27-badge strong{font-size:9rem;line-height:.9;color:#fff;z-index:2}
.award27-scroll{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);font-size:.6rem;letter-spacing:.18em;color:rgba(255,255,255,.5);display:flex;gap:12px;align-items:center}
.award27-scroll i{width:50px;height:1px;background:rgba(255,255,255,.5)}
@keyframes awardFloat{50%{transform:translateY(-14px) rotate(2deg)}}

.award27-sticky-nav{position:sticky;top:86px;background:#fff;border-bottom:1px solid var(--line);z-index:80}
.award27-sticky-nav .container{display:flex;justify-content:center;gap:32px;overflow:auto}
.award27-sticky-nav a{padding:20px 0;white-space:nowrap;font-weight:700}
.award27-sticky-nav .apply-link{margin-left:auto;color:var(--brand-pink-dark)}

.award27-section-head{display:grid;grid-template-columns:90px 1fr;gap:24px;align-items:start;margin-bottom:42px}
.award27-section-head>span{font-size:3rem;color:#ddd;font-weight:900;line-height:1}
.award27-section-head p{font-size:.7rem;letter-spacing:.16em;color:var(--brand-pink);font-weight:900;margin:0 0 8px}
.award27-section-head h2{font-size:2.5rem;margin:0}
.award27-section-head.light>span{color:rgba(255,255,255,.2)}.award27-section-head.light p{color:#ff9dcd}.award27-section-head.light h2{color:#fff}

.award27-overview-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}
.award27-overview-copy h3{font-size:2.2rem;line-height:1.35}.award27-overview-copy p{color:var(--muted);font-size:1rem}
.award27-info-list{border-top:2px solid #222;margin:0}
.award27-info-list div{display:grid;grid-template-columns:130px 1fr;padding:20px 0;border-bottom:1px solid var(--line)}
.award27-info-list dt{font-weight:800}.award27-info-list dd{margin:0;color:#4f5550}

.award27-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#ddd}
.award27-timeline article{background:#fff;padding:28px;min-height:235px}.award27-timeline span{font-size:.68rem;color:var(--brand-pink);font-weight:900}.award27-timeline h3{font-size:1.15rem;margin:32px 0 12px}.award27-timeline p{color:var(--muted)}.award27-timeline .highlight{background:var(--brand-pink);color:#fff}.award27-timeline .highlight span,.award27-timeline .highlight p{color:#fff}.award27-timeline small{display:block;margin-top:10px}
.award27-notice{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:20px 24px;background:#fff6e2;margin-top:18px;border-left:4px solid #e2a32e}.award27-notice p{margin:0;color:#5f5749}

.award27-criteria-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.award27-criteria-grid article{border:1px solid var(--line);padding:28px;min-height:320px;transition:.3s}.award27-criteria-grid article:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.award27-criteria-grid article>div{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--brand-pink-soft);color:var(--brand-pink);font-weight:900}.award27-criteria-grid h3{font-size:1.4rem;margin:28px 0 12px}.award27-criteria-grid p{color:var(--muted)}.award27-criteria-grid ul{padding-left:18px;color:#4f5550}

.award27-documents{background:#18221b;color:#fff}
.award27-document-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.15)}
.award27-document-grid article{background:#18221b;padding:30px;min-height:240px}.award27-document-grid b{font-size:.7rem;color:#ff9dcd}.award27-document-grid h3{font-size:1.35rem;margin:28px 0 10px}.award27-document-grid p{color:rgba(255,255,255,.65)}
.award27-download-row{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}.award27-download-row .btn small{margin-left:8px;opacity:.6}

.award27-impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ddd}.award27-impact-grid article{background:#fff;padding:34px;text-align:center}.award27-impact-grid span{display:block;font-size:3rem;color:var(--brand-pink);font-weight:900}.award27-impact-grid strong{display:block;margin:14px 0}.award27-impact-grid p{color:var(--muted);font-size:.85rem}

.award27-process{list-style:none;padding:0;margin:0;display:grid;gap:0}.award27-process li{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:26px 0;border-top:1px solid var(--line)}.award27-process li:last-child{border-bottom:1px solid var(--line)}.award27-process li>span{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--brand-pink);color:#fff;font-weight:900}.award27-process p{margin:4px 0 0;color:var(--muted)}

.award27-final-cta{padding:90px 0;background:linear-gradient(120deg,#b52671,#ea70af);color:#fff}.award27-final-cta .container{display:flex;justify-content:space-between;align-items:center}.award27-final-cta span{font-size:.7rem;letter-spacing:.16em}.award27-final-cta h2{font-size:3rem;margin:15px 0 0}.award27-round-link{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;align-content:center;background:#fff;color:#b52671;text-align:center;font-weight:900}.award27-round-link b{font-size:1.5rem}

/* application */
.award27-apply-hero{background:#111713;color:#fff;padding:100px 0 70px}.award27-apply-hero .breadcrumbs{color:rgba(255,255,255,.55);display:flex;gap:10px}.award27-apply-hero h1{font-size:4.2rem;margin:25px 0 16px}.award27-apply-hero h1 strong{color:#ff90c8}.award27-apply-hero p{color:rgba(255,255,255,.68);max-width:700px}
.award27-apply-quick{background:#fff;border-bottom:1px solid var(--line)}.award27-apply-quick .container{display:grid;grid-template-columns:repeat(3,1fr)}.award27-apply-quick div{padding:22px;border-right:1px solid var(--line)}.award27-apply-quick div:last-child{border-right:0}.award27-apply-quick span,.award27-apply-quick strong{display:block}.award27-apply-quick span{font-size:.72rem;color:var(--muted)}.award27-apply-quick strong{margin-top:5px}
.award27-apply-layout{display:grid;grid-template-columns:240px 1fr;gap:30px;align-items:start}
.award27-side{position:sticky;top:120px;border:1px solid var(--line);background:#fff}.award27-progress-title{padding:22px;border-bottom:1px solid var(--line)}.award27-progress-title span,.award27-progress-title strong{display:block}.award27-progress-title span{font-size:.66rem;color:var(--brand-pink);font-weight:900}.award27-progress-title strong{margin-top:5px}
.award27-step{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;padding:17px;display:flex;gap:12px;text-align:left;align-items:center}.award27-step>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#f1eff0;color:#777;font-size:.72rem;font-weight:900}.award27-step strong,.award27-step small{display:block}.award27-step small{color:var(--muted);font-size:.7rem}.award27-step.active{background:var(--brand-pink-soft)}.award27-step.active>span{background:var(--brand-pink);color:#fff}.award27-step.completed>span{background:var(--brand-green);color:#fff}
.award27-receipt-btn{width:100%;border:0;background:#18221b;color:#fff;padding:18px;font-weight:800}
.award27-form{border:1px solid var(--line);background:#fff}.award27-form-toolbar{display:flex;justify-content:space-between;align-items:center;padding:22px 28px;border-bottom:1px solid var(--line);background:#faf9f7}.award27-form-toolbar strong,.award27-form-toolbar small{display:block}.award27-form-toolbar small{color:var(--muted);margin-top:4px}.award27-form-toolbar em{color:var(--brand-pink);font-style:normal}
.award27-form-panel{padding:34px 30px}.award27-form-panel[hidden]{display:none!important}.award27-panel-head{border-bottom:2px solid #222;padding-bottom:20px;margin-bottom:25px}.award27-panel-head span{font-size:.7rem;color:var(--brand-pink);font-weight:900}.award27-panel-head h2{font-size:1.8rem;margin:7px 0}.award27-panel-head p{color:var(--muted);margin:0}
.award27-check-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.award27-check-grid legend{font-weight:800;margin-bottom:10px}.award27-check-grid label{border:1px solid var(--line);padding:14px}.award27-check-grid input{accent-color:var(--brand-pink)}
.award27-file-drop{position:relative;border:2px dashed #dcb9ca;padding:36px;text-align:center;background:#fffafd}.award27-file-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.award27-file-drop strong,.award27-file-drop small{display:block}.award27-file-drop small{color:var(--muted);margin-top:8px}
.award27-review{background:#f7f6f2;padding:24px;margin-bottom:22px}.award27-review dl{display:grid;grid-template-columns:140px 1fr;gap:12px}.award27-review dt{color:var(--muted)}.award27-review dd{margin:0;font-weight:700}
.award27-consent{display:grid;gap:12px}.award27-consent label{display:flex;gap:10px}.award27-consent input{accent-color:var(--brand-pink)}.award27-privacy-box{padding:20px;background:#f4f6f3;margin-top:20px}.award27-privacy-box p{font-size:.82rem;color:var(--muted)}
.award27-form-actions{display:flex;justify-content:space-between;padding:22px 30px;border-top:1px solid var(--line)}.award27-form-actions>div{display:flex;gap:8px}
.award27-modal{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:2000;display:none;align-items:center;justify-content:center;padding:20px}.award27-modal.open{display:flex}.award27-modal-panel{width:min(100%,460px);background:#fff;padding:34px;position:relative}.award27-modal-close{position:absolute;right:18px;top:15px;border:0;background:transparent;font-size:2rem}.award27-modal-panel h2{font-size:2rem}.award27-modal-panel p{color:var(--muted)}

@media(max-width:1000px){
  .award27-hero-inner,.award27-overview-grid{grid-template-columns:1fr}.award27-badge{width:min(75vw,420px);margin:20px auto 0}.award27-timeline{grid-template-columns:repeat(2,1fr)}.award27-criteria-grid,.award27-document-grid,.award27-impact-grid{grid-template-columns:repeat(2,1fr)}.award27-apply-layout{grid-template-columns:1fr}.award27-side{position:static;display:grid;grid-template-columns:repeat(4,1fr)}.award27-progress-title,.award27-receipt-btn{grid-column:1/-1}.award27-step div{display:none}.award27-step{justify-content:center}
}
@media(max-width:650px){
  .award27-hero{min-height:auto}.award27-hero-inner{padding-top:100px;padding-bottom:80px}.award27-copy h1{font-size:3.1rem}.award27-badge strong{font-size:6rem}
  .award27-sticky-nav{top:70px}.award27-sticky-nav .container{justify-content:flex-start}.award27-sticky-nav .apply-link{margin-left:0}
  .award27-section-head{grid-template-columns:56px 1fr}.award27-section-head>span{font-size:2rem}.award27-section-head h2{font-size:2rem}
  .award27-timeline,.award27-criteria-grid,.award27-document-grid,.award27-impact-grid{grid-template-columns:1fr}
  .award27-notice{grid-template-columns:1fr}.award27-final-cta .container{display:block}.award27-final-cta h2{font-size:2.3rem}.award27-round-link{margin-top:30px;width:120px;height:120px}
  .award27-apply-hero h1{font-size:3rem}.award27-apply-quick .container{grid-template-columns:1fr}.award27-apply-quick div{border-right:0;border-bottom:1px solid var(--line)}
  .award27-form-toolbar{display:block}.award27-form-toolbar .btn{margin-top:15px}.award27-form-panel{padding:24px 16px}.award27-check-grid{grid-template-columns:1fr 1fr}.award27-form-actions{padding:18px 16px;gap:10px}.award27-form-actions>div{display:grid;grid-template-columns:1fr 1fr;flex:1}.award27-form-actions #award27Submit{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){.award27-badge{animation:none}}


/* =========================================================
   CONNECTED IMPACT WHEEL
   발굴 · 교육 · 연결을 중앙 로고 허브와 시각적으로 연결
========================================================= */
.hero-impact-wheel{
  isolation:isolate;
}

.wheel-connectors{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:1;
  overflow:visible;
  pointer-events:none;
}

.connector-line{
  stroke:rgba(255,255,255,.28);
  stroke-width:.55;
  stroke-linecap:round;
  stroke-dasharray:2.4 2.1;
  vector-effect:non-scaling-stroke;
  transition:
    stroke .3s ease,
    stroke-width .3s ease,
    opacity .3s ease,
    filter .3s ease;
}

.connector-node{
  fill:rgba(255,255,255,.62);
  transition:
    fill .3s ease,
    r .3s ease,
    filter .3s ease;
}

.node-center{
  fill:#fff;
  filter:url(#connectorGlow);
}

.wheel-item{
  z-index:3;
}

.wheel-center{
  z-index:4;
  width:24%;
  height:24%;
  left:38%;
  top:38%;
  padding:1.2%;
  border:1px solid rgba(255,255,255,.8);
  box-shadow:
    0 0 0 10px rgba(255,255,255,.06),
    0 14px 35px rgba(0,0,0,.25);
  transition:
    transform .35s var(--ease-out),
    box-shadow .35s ease,
    background-color .35s ease;
}

.wheel-center-ring{
  position:absolute;
  inset:-15%;
  border:1px solid rgba(255,255,255,.2);
  border-radius:50%;
  animation:centerPulse 3.2s ease-in-out infinite;
}

.wheel-center img{
  width:38%;
  position:relative;
  z-index:2;
}

.wheel-center strong{
  display:block;
  position:relative;
  z-index:2;
  margin-top:2px;
  font-size:clamp(.5rem,.8vw,.72rem);
  line-height:1.15;
  color:#173121;
  white-space:nowrap;
}

.wheel-center > span:last-child{
  position:relative;
  z-index:2;
  margin-top:2px;
  font-size:clamp(.42rem,.58vw,.56rem);
  letter-spacing:.08em;
}

.hero-impact-wheel.is-award-active .line-award,
.hero-impact-wheel.is-learn-active .line-learn,
.hero-impact-wheel.is-connect-active .line-connect{
  stroke:#fff;
  stroke-width:1.25;
  stroke-dasharray:none;
  filter:url(#connectorGlow);
}

.hero-impact-wheel.is-award-active .node-award,
.hero-impact-wheel.is-learn-active .node-learn,
.hero-impact-wheel.is-connect-active .node-connect{
  fill:#fff;
  r:2.1;
  filter:url(#connectorGlow);
}

.hero-impact-wheel.is-award-active .wheel-center,
.hero-impact-wheel.is-learn-active .wheel-center,
.hero-impact-wheel.is-connect-active .wheel-center{
  transform:scale(1.08);
  box-shadow:
    0 0 0 14px rgba(255,255,255,.08),
    0 18px 42px rgba(0,0,0,.3);
}

.hero-impact-wheel.is-award-active .wheel-center{
  background:#fff0f7;
}

.hero-impact-wheel.is-learn-active .wheel-center{
  background:#edf9f1;
}

.hero-impact-wheel.is-connect-active .wheel-center{
  background:#eef5fa;
}

@keyframes centerPulse{
  0%,100%{transform:scale(.94);opacity:.28}
  50%{transform:scale(1.08);opacity:.72}
}

@media(max-width:720px){
  .wheel-center{
    width:26%;
    height:26%;
    left:37%;
    top:37%;
  }

  .wheel-center strong{
    font-size:.54rem;
  }

  .wheel-center > span:last-child{
    font-size:.4rem;
  }

  .connector-line{
    stroke-width:.8;
  }
}

@media(prefers-reduced-motion:reduce){
  .wheel-center-ring{
    animation:none;
  }
}


/* =========================================================
   2026 REFINED DESIGN SYSTEM
   서울시형 안정적 레이아웃 + 아름다운학교 톤온톤 브랜드
========================================================= */
:root{
  /* Brand tone-on-tone palette */
  --bs-pink-900:#7d1f4f;
  --bs-pink-800:#98265f;
  --bs-pink-700:#b52f73;
  --bs-pink-600:#cf4389;
  --bs-pink-500:#df5a9a;
  --bs-pink-200:#f5c9df;
  --bs-pink-100:#fceaf3;
  --bs-pink-050:#fff7fb;

  --bs-green-900:#123d26;
  --bs-green-800:#18512f;
  --bs-green-700:#1d6c3d;
  --bs-green-600:#26894d;
  --bs-green-500:#43a969;
  --bs-green-200:#bfe4ca;
  --bs-green-100:#e6f5eb;
  --bs-green-050:#f5fbf7;

  --bs-ink-950:#101512;
  --bs-ink-900:#171d19;
  --bs-ink-800:#252c27;
  --bs-ink-700:#3c453f;
  --bs-ink-600:#59625c;
  --bs-ink-500:#737c76;
  --bs-ink-300:#b8beb9;
  --bs-ink-200:#d7dcd8;
  --bs-ink-100:#e9ece9;
  --bs-ink-050:#f6f7f6;

  --bs-cream-300:#e8e0d2;
  --bs-cream-200:#f1ebdf;
  --bs-cream-100:#f7f3eb;
  --bs-cream-050:#fbf9f5;

  /* Layout */
  --layout-max:1360px;
  --content-max:1280px;
  --page-gutter:40px;
  --section-space:112px;
  --section-space-sm:80px;
  --content-gap:32px;
  --card-gap:20px;

  /* Shape */
  --radius-xs:8px;
  --radius-sm:12px;
  --radius-md:18px;
  --radius-lg:24px;
  --radius-xl:32px;
  --radius-pill:999px;

  /* Elevation */
  --shadow-soft:0 8px 28px rgba(22,38,27,.07);
  --shadow-card:0 14px 42px rgba(22,38,27,.10);
  --shadow-float:0 24px 64px rgba(16,21,18,.16);

  /* Existing variable normalization */
  --brand-pink:var(--bs-pink-700);
  --brand-pink-dark:var(--bs-pink-900);
  --brand-pink-soft:var(--bs-pink-100);
  --brand-green:var(--bs-green-600);
  --brand-green-dark:var(--bs-green-900);
  --brand-green-soft:var(--bs-green-100);
  --surface-soft:var(--bs-ink-050);
  --line:var(--bs-ink-100);
  --muted:var(--bs-ink-600);
  --shadow:var(--shadow-card);
  --cmk-black:var(--bs-ink-950);
  --cmk-charcoal:var(--bs-ink-900);
  --cmk-cream:var(--bs-cream-100);
  --cmk-mint:var(--bs-green-200);
}

html{
  scroll-padding-top:148px;
  background:var(--bs-cream-050);
}

body{
  background:#fff;
  color:var(--bs-ink-900);
  letter-spacing:-.012em;
  line-height:1.65;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

img{
  max-width:100%;
  height:auto;
}

/* ---------------------------------------------------------
   Stable Seoul-style content rails
--------------------------------------------------------- */
.container,
.header-inner{
  width:100%;
  max-width:var(--layout-max);
  margin-inline:auto;
  padding-inline:var(--page-gutter);
}

main > section:not(.cmk-main-hero):not(.award27-hero):not(.award27-final-cta):not(.award27-apply-hero):not(.sub-visual){
  position:relative;
}

.section{
  padding-block:var(--section-space);
}

.section-sm{
  padding-block:var(--section-space-sm);
}

.section + .section{
  border-top:0;
}

.section-soft{
  background:var(--bs-cream-050);
}

.section:nth-of-type(even).section-soft{
  background:var(--bs-green-050);
}

.section-head,
.award27-section-head{
  margin-bottom:48px;
}

.section-head{
  align-items:end;
  gap:48px;
}

.section-head h2,
.award27-section-head h2{
  letter-spacing:-.045em;
  line-height:1.2;
}

.section-head > p,
.section-head .lead-copy{
  max-width:520px;
  margin-left:auto;
}

/* Consistent vertical rhythm */
h1,h2,h3,h4,p,ul,ol,dl{
  margin-top:0;
}

p:last-child,
ul:last-child,
ol:last-child,
dl:last-child{
  margin-bottom:0;
}

h1{
  text-wrap:balance;
}

h2,h3{
  text-wrap:pretty;
}

/* ---------------------------------------------------------
   Header and mega navigation
--------------------------------------------------------- */
.cmk-header{
  background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(16,21,18,.07);
  box-shadow:0 1px 0 rgba(255,255,255,.85);
  -webkit-backdrop-filter:blur(18px) saturate(1.15);
  backdrop-filter:blur(18px) saturate(1.15);
}

.cmk-header .header-inner{
  min-height:88px;
  height:auto;
  gap:28px;
}

.brand img{
  display:block;
  max-height:58px;
}

.cmk-nav{
  gap:36px;
}

.nav-top{
  min-height:88px;
  padding:31px 0 29px;
  font-size:.95rem;
  letter-spacing:-.025em;
}

.header-actions{
  gap:9px;
}

.header-actions .btn{
  min-height:44px;
  padding-inline:17px;
}

.mega-panel{
  min-height:252px;
  padding-top:52px;
  padding-bottom:52px;
  padding-left:max(var(--page-gutter), calc((100vw - var(--layout-max))/2 + var(--page-gutter)));
  padding-right:max(var(--page-gutter), calc((100vw - var(--layout-max))/2 + var(--page-gutter)));
  gap:64px;
  border-top:1px solid var(--bs-ink-100);
  border-bottom:1px solid var(--bs-ink-100);
  box-shadow:var(--shadow-float);
}

.mega-intro strong{
  font-size:1.72rem;
  line-height:1.42;
  letter-spacing:-.04em;
}

.mega-links{
  gap:0 34px;
}

.mega-links a{
  min-height:55px;
  padding:16px 2px;
  display:flex;
  align-items:center;
  border-bottom:1px solid var(--bs-ink-100);
}

.mega-business-grid{
  gap:14px;
}

.mega-business-grid a{
  min-height:148px;
  padding:24px;
  border-radius:var(--radius-md);
  background:var(--bs-ink-050);
  border-color:transparent;
  transition:transform .25s var(--ease-out),background .25s ease,box-shadow .25s ease;
}

.mega-business-grid a:nth-child(1),
.mega-business-grid a:nth-child(3){
  background:var(--bs-pink-050);
}

.mega-business-grid a:nth-child(2),
.mega-business-grid a:nth-child(4){
  background:var(--bs-green-050);
}

.mega-business-grid a:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-soft);
}

/* ---------------------------------------------------------
   Main hero refinements
--------------------------------------------------------- */
.cmk-main-hero{
  min-height:calc(100svh - 88px);
  background:
    radial-gradient(circle at 16% 17%,rgba(181,47,115,.28),transparent 29%),
    radial-gradient(circle at 82% 76%,rgba(38,137,77,.23),transparent 30%),
    linear-gradient(135deg,#101512 0%,#162019 52%,#101512 100%);
}

.cmk-hero-inner{
  max-width:var(--layout-max);
  min-height:calc(100svh - 88px);
  padding:96px var(--page-gutter) 112px;
  gap:clamp(48px,6vw,88px);
}

.cmk-hero-copy{
  max-width:760px;
}

.cmk-hero-copy h1{
  margin:26px 0 28px;
  font-size:clamp(3.6rem,6.25vw,6.7rem);
  line-height:1.02;
  letter-spacing:-.072em;
}

.cmk-hero-copy p{
  max-width:640px;
  font-size:1.05rem;
  line-height:1.78;
}

.hero-actions{
  gap:12px;
  margin-top:34px;
}

.hero-actions .btn{
  min-height:52px;
  padding:14px 24px;
  border-radius:var(--radius-pill);
}

.hero-impact-wheel{
  width:min(41vw,550px);
  min-width:420px;
  filter:drop-shadow(0 28px 60px rgba(0,0,0,.24));
}

.wheel-item{
  border-color:rgba(255,255,255,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}

.wheel-award{
  background:linear-gradient(145deg,rgba(181,47,115,.84),rgba(207,67,137,.55));
}

.wheel-learn{
  background:linear-gradient(145deg,rgba(29,108,61,.84),rgba(67,169,105,.48));
}

.wheel-connect{
  background:linear-gradient(145deg,rgba(36,73,59,.86),rgba(78,124,104,.52));
}

.wheel-item strong{
  font-size:clamp(1.45rem,2vw,2.15rem);
  letter-spacing:-.04em;
}

.wheel-center{
  background:rgba(255,255,255,.96);
  box-shadow:
    0 0 0 11px rgba(255,255,255,.055),
    0 20px 44px rgba(0,0,0,.27);
}

.connector-line{
  stroke:rgba(255,255,255,.34);
}

/* ---------------------------------------------------------
   Main section system
--------------------------------------------------------- */
.cmk-mission-section,
.cmk-business-section,
.cmk-impact-section,
.cmk-news-section,
.cmk-archive-teaser{
  padding-block:var(--section-space);
}

.cmk-section-intro{
  max-width:980px;
}

.cmk-section-intro h2{
  font-size:clamp(2.5rem,4.3vw,4.3rem);
  line-height:1.24;
}

.mission-statement{
  margin-top:72px;
  gap:28px;
}

.cmk-business-section{
  background:linear-gradient(155deg,var(--bs-ink-950),#1c2921);
}

.cmk-business-panels{
  height:560px;
  gap:16px;
}

.cmk-business-panel{
  border-radius:var(--radius-lg);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}

.panel-content{
  left:34px;
  right:34px;
  bottom:34px;
}

.panel-content h3{
  margin:12px 0 13px;
  font-size:1.95rem;
}

.panel-content p{
  line-height:1.7;
}

.impact-layout{
  gap:clamp(56px,7vw,96px);
}

.impact-copy{
  max-width:560px;
}

.impact-copy h2{
  margin:14px 0 24px;
}

.impact-copy p{
  line-height:1.8;
}

.impact-numbers{
  background:rgba(255,255,255,.48);
  border:1px solid rgba(16,21,18,.07);
  border-radius:var(--radius-xl);
  overflow:hidden;
}

.impact-stat{
  min-height:190px;
  padding:38px;
  border-color:rgba(16,21,18,.08);
}

.impact-stat strong{
  color:var(--bs-pink-700);
}

.cmk-news-layout{
  gap:32px;
}

.featured-story > a{
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--bs-cream-050);
  box-shadow:var(--shadow-soft);
}

.story-copy{
  padding:42px;
}

.news-list{
  border-top-color:var(--bs-ink-900);
}

.news-list a{
  min-height:88px;
  padding:24px 2px;
}

.cmk-archive-teaser{
  background:linear-gradient(145deg,var(--bs-green-900),#1b4f30);
}

.archive-teaser-grid{
  gap:80px;
}

/* ---------------------------------------------------------
   Sub pages — stable institutional spacing
--------------------------------------------------------- */
.sub-visual{
  min-height:440px;
  background:
    radial-gradient(circle at 86% 28%,rgba(181,47,115,.21),transparent 24%),
    linear-gradient(135deg,var(--bs-ink-950),#1b2920);
}

.sub-visual > .container{
  max-width:var(--layout-max);
}

.sub-visual-content{
  max-width:880px;
  padding-top:54px;
}

.sub-visual h1{
  margin:20px 0;
  letter-spacing:-.06em;
}

.sub-visual p{
  max-width:720px;
  line-height:1.75;
}

.subnav{
  top:88px;
  background:rgba(255,255,255,.96);
  border-bottom-color:var(--bs-ink-100);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}

.subnav .container{
  gap:34px;
}

.subnav a{
  min-height:64px;
  display:flex;
  align-items:center;
  padding:18px 0;
}

.editorial-grid{
  grid-template-columns:200px minmax(0,1fr);
  gap:72px;
}

.editorial-body{
  max-width:920px;
}

.editorial-body h2{
  margin-bottom:28px;
}

.large-copy{
  margin-bottom:20px;
  line-height:1.7;
}

.vision-grid{
  gap:14px;
  background:transparent;
}

.vision-grid article{
  min-height:240px;
  padding:36px;
  border-radius:var(--radius-lg);
  border:1px solid var(--bs-cream-300);
  box-shadow:var(--shadow-soft);
}

.vision-pillars{
  gap:16px;
  margin-top:18px;
}

.vision-pillars div{
  padding:28px;
  border-radius:var(--radius-md);
  background:rgba(255,255,255,.58);
}

.history-rail article{
  grid-template-columns:130px 280px minmax(0,1fr);
  gap:34px;
  padding:32px 4px;
}

.about-history-2026{
  background:linear-gradient(180deg,#fff,var(--bs-cream-050));
  overflow:hidden;
}

.about-history-layout{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:48px;
  align-items:start;
}

.about-history-layout aside{
  position:sticky;
  top:120px;
  padding:28px;
  border-radius:var(--radius-lg);
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}

.about-history-layout aside span,
.about-recent-grid span{
  color:var(--bs-pink-700);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.13em;
}

.about-history-layout aside h3{
  margin:12px 0;
  font-size:1.7rem;
}

.about-history-layout aside p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}

.about-history-timeline{
  position:relative;
  display:grid;
  gap:16px;
}

.about-history-timeline:before{
  content:"";
  position:absolute;
  left:116px;
  top:18px;
  bottom:18px;
  width:1px;
  background:var(--bs-ink-100);
}

.about-history-timeline article{
  position:relative;
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:28px;
  align-items:start;
}

.about-history-timeline time{
  position:relative;
  z-index:1;
  color:var(--bs-pink-800);
  font-weight:900;
  font-size:1.05rem;
}

.about-history-timeline time:after{
  content:"";
  position:absolute;
  right:-35px;
  top:8px;
  width:13px;
  height:13px;
  border-radius:50%;
  background:var(--bs-pink-700);
  box-shadow:0 0 0 6px var(--bs-pink-100);
}

.about-history-timeline article>div{
  padding:24px 28px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-soft);
}

.about-history-timeline h3{
  margin:0 0 10px;
  font-size:1.25rem;
}

.about-history-timeline p{
  margin:0;
  color:var(--muted);
  line-height:1.76;
}

.about-recent-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:70px;
}

.about-recent-grid article{
  min-height:240px;
  padding:28px;
  border-radius:var(--radius-lg);
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow-soft);
}

.about-recent-grid article:nth-child(even){
  background:var(--bs-pink-050);
}

.about-recent-grid h3{
  margin:54px 0 12px;
  font-size:1.35rem;
}

.about-recent-grid p{
  color:var(--muted);
  line-height:1.72;
}

.business-intro .container,
.course-business-intro .container{
  gap:80px;
}

.value-panels{
  gap:14px;
  background:transparent;
}

.value-panels article{
  min-height:230px;
  padding:28px;
  border:1px solid var(--bs-ink-100);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);
}

.process-line{
  gap:14px;
}

.process-line li{
  min-height:150px;
  padding:26px 20px;
  border:1px solid var(--bs-ink-100);
  border-radius:var(--radius-md);
  background:#fff;
}

.process-line li::before{
  top:-1px;
  left:20px;
  width:42px;
  height:3px;
  border-radius:0 0 4px 4px;
}

.winner-grid{
  gap:14px;
  background:transparent;
}

.winner-grid article{
  border-radius:var(--radius-lg);
  border:1px solid rgba(255,255,255,.1);
}

.service-bands article{
  min-height:150px;
  padding:30px 4px;
}

.board-list a{
  min-height:74px;
  align-items:center;
}

.news-card-grid{
  gap:20px;
}

.news-card-grid article{
  min-height:240px;
  padding:30px;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);
}

.notice-board-section{
  background:linear-gradient(180deg,#fff,var(--bs-cream-050));
}

.notice-board-shell{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:44px;
  align-items:start;
}

.notice-board-aside{
  position:sticky;
  top:120px;
  padding:30px;
  border-radius:var(--radius-lg);
  background:linear-gradient(145deg,var(--bs-ink-950),var(--bs-green-900));
  color:#fff;
}

.notice-board-aside h2{
  margin:12px 0;
  font-size:2.1rem;
}

.notice-board-aside p{
  color:rgba(255,255,255,.68);
  line-height:1.75;
}

.notice-admin-link{
  display:inline-flex;
  margin-top:20px;
  padding:11px 15px;
  border-radius:999px;
  background:#fff;
  color:var(--bs-green-900);
  font-weight:900;
}

.notice-board-main{
  min-width:0;
}

.notice-board-toolbar{
  display:grid;
  gap:18px;
  margin-bottom:18px;
}

.notice-category-tabs{
  display:flex;
  gap:8px;
  overflow:auto;
  padding-bottom:2px;
}

.notice-category-tabs button{
  min-height:40px;
  padding:9px 15px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--bs-ink-700);
  font-weight:800;
  white-space:nowrap;
}

.notice-category-tabs button.active{
  border-color:var(--bs-pink-800);
  background:var(--bs-pink-800);
  color:#fff;
}

.notice-search{
  display:grid;
  grid-template-columns:120px 1fr 92px;
  min-height:52px;
  border:1px solid var(--bs-ink-100);
  border-radius:var(--radius-md);
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow-soft);
}

.notice-search select,
.notice-search input,
.notice-search button{
  border:0;
  min-width:0;
}

.notice-search select{
  padding:0 14px;
  border-right:1px solid var(--bs-ink-100);
  background:#fff;
  font-weight:800;
}

.notice-search input{
  padding:0 16px;
}

.notice-search button{
  background:var(--bs-ink-950);
  color:#fff;
  font-weight:900;
}

.notice-board-meta{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin:18px 0;
  color:var(--muted);
  font-size:.86rem;
}

.notice-board-meta span:first-child{
  color:var(--bs-ink-900);
  font-weight:900;
}

.notice-list-modern{
  border-top:2px solid var(--bs-ink-950);
}

.notice-row{
  width:100%;
  border:0;
  border-bottom:1px solid var(--bs-ink-100);
  background:#fff;
  display:grid;
  grid-template-columns:84px minmax(0,1fr) 128px;
  gap:22px;
  align-items:center;
  padding:22px 18px;
  text-align:left;
  cursor:pointer;
  transition:background .2s ease,box-shadow .2s ease;
}

.notice-row:hover{
  background:var(--bs-cream-050);
  box-shadow:inset 4px 0 0 var(--bs-pink-700);
}

.notice-row.is-pinned{
  background:var(--bs-pink-050);
}

.notice-row-index{
  display:grid;
  gap:6px;
}

.notice-row-index b{
  font-size:.78rem;
  color:var(--bs-pink-800);
}

.notice-row-index span{
  color:var(--muted);
  font-size:.78rem;
}

.notice-row-title{
  min-width:0;
}

.notice-row-title strong{
  display:block;
  color:var(--bs-ink-950);
  font-size:1.05rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.notice-row-title p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:.88rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.notice-row-meta{
  display:grid;
  gap:7px;
  justify-items:end;
  color:var(--muted);
  font-size:.8rem;
}

.notice-row-meta .has-file{
  color:var(--bs-green-800);
  font-weight:900;
}

.notice-empty{
  padding:50px;
  border:1px solid var(--bs-ink-100);
  border-top:0;
  background:#fff;
  text-align:center;
  color:var(--muted);
}

.notice-detail-dialog{
  width:min(760px,calc(100% - 32px));
  border:0;
  border-radius:var(--radius-lg);
  padding:0;
  box-shadow:0 28px 90px rgba(0,0,0,.28);
}

.notice-detail-dialog::backdrop{
  background:rgba(10,15,12,.58);
}

.notice-detail-dialog article{
  position:relative;
  padding:34px;
  background:#fff;
}

.notice-detail-close{
  position:absolute;
  right:18px;
  top:16px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:var(--bs-ink-050);
  font-size:1.6rem;
}

.notice-detail-kicker{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  color:var(--bs-pink-800);
  font-weight:900;
  font-size:.78rem;
}

.notice-detail-dialog h3{
  margin:14px 44px 12px 0;
  font-size:1.8rem;
}

.notice-detail-body{
  margin-top:22px;
  padding-top:22px;
  border-top:1px solid var(--line);
  color:var(--bs-ink-700);
  line-height:1.85;
  white-space:pre-wrap;
}

.notice-detail-link{
  display:inline-flex;
  margin-top:24px;
  padding:12px 16px;
  border-radius:999px;
  background:var(--bs-green-900);
  color:#fff;
  font-weight:900;
}

@media(max-width:980px){
  .notice-board-shell{
    grid-template-columns:1fr;
  }
  .notice-board-aside{
    position:static;
  }
}

@media(max-width:680px){
  .notice-board-aside{
    padding:24px;
  }
  .notice-search{
    grid-template-columns:1fr;
  }
  .notice-search select{
    min-height:46px;
    border-right:0;
    border-bottom:1px solid var(--bs-ink-100);
  }
  .notice-search input,
  .notice-search button{
    min-height:48px;
  }
  .notice-board-meta{
    display:grid;
  }
  .notice-row{
    grid-template-columns:1fr;
    gap:11px;
    padding:20px 14px;
  }
  .notice-row-title strong,
  .notice-row-title p{
    white-space:normal;
  }
  .notice-row-meta{
    justify-items:start;
    display:flex;
    flex-wrap:wrap;
  }
  .notice-detail-dialog article{
    padding:28px 20px;
  }
}

.event-strip article{
  padding:34px 4px;
}

.archive-feature-grid{
  gap:18px;
}

.archive-feature{
  min-height:230px;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);
}

.publication-row{
  gap:24px;
}

/* ---------------------------------------------------------
   Award 27 — tone-on-tone and consistent spacing
--------------------------------------------------------- */
.award27-hero{
  min-height:560px;
  background:var(--bs-ink-950);
}

.award27-hero-bg{
  background:
    radial-gradient(circle at 16% 22%,rgba(181,47,115,.32),transparent 28%),
    radial-gradient(circle at 84% 72%,rgba(38,137,77,.22),transparent 31%),
    linear-gradient(130deg,#101512,#18241c);
}

.award27-hero-inner{
  max-width:var(--layout-max);
  padding:74px var(--page-gutter) 78px;
  gap:56px;
}

.award27-copy{
  max-width:760px;
}

.award27-copy h1{
  font-size:clamp(2.85rem,5vw,5.3rem);
  margin:16px 0 18px;
}

.award27-copy p{
  max-width:610px;
  line-height:1.65;
}

.award27-badge{
  width:min(30vw,320px);
  background:rgba(255,255,255,.035);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 28px 60px rgba(0,0,0,.22);
}

.award27-badge strong{
  font-size:7rem;
}

.award27-breadcrumbs{
  display:flex;
  gap:9px;
  align-items:center;
  margin-bottom:20px;
  color:rgba(255,255,255,.52);
  font-size:.82rem;
  font-weight:700;
}

.award27-breadcrumbs a{
  color:rgba(255,255,255,.72);
}

.award27-sticky-nav{
  top:88px;
  background:rgba(255,255,255,.96);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}

.award27-sticky-nav .container{
  min-height:64px;
  gap:30px;
}

.award27-sticky-nav a{
  min-height:64px;
  display:flex;
  align-items:center;
  padding:17px 0;
}

.award27-section-head{
  grid-template-columns:72px 1fr;
  gap:22px;
  margin-bottom:48px;
}

.award27-section-head > span{
  font-size:2.65rem;
  color:var(--bs-ink-200);
}

.award27-overview-grid{
  gap:80px;
}

.award27-overview-copy{
  max-width:520px;
}

.award27-info-list div{
  min-height:74px;
  padding:20px 0;
  align-items:start;
}

.award27-timeline{
  gap:14px;
  background:transparent;
}

.award27-timeline article{
  min-height:242px;
  padding:28px;
  border:1px solid var(--bs-ink-100);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);
}

.award27-timeline .highlight{
  border-color:transparent;
  background:linear-gradient(145deg,var(--bs-pink-800),var(--bs-pink-600));
}

.award27-notice{
  margin-top:20px;
  padding:22px 26px;
  border-left:0;
  border-radius:var(--radius-md);
  background:#fff8e9;
  box-shadow:inset 4px 0 0 #d89a2b;
}

.award27-criteria-grid{
  gap:18px;
}

.award27-criteria-grid article{
  min-height:330px;
  padding:30px;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);
}

.award27-criteria-grid article:nth-child(odd){
  background:var(--bs-pink-050);
}

.award27-criteria-grid article:nth-child(even){
  background:var(--bs-green-050);
}

.award27-documents{
  background:linear-gradient(145deg,var(--bs-ink-950),#1b2b21);
}

.award27-document-grid{
  gap:14px;
  background:transparent;
}

.award27-document-grid article{
  min-height:252px;
  padding:30px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.035);
}

.award27-impact-grid{
  gap:16px;
  background:transparent;
}

.award27-impact-grid article{
  min-height:220px;
  padding:34px;
  border-radius:var(--radius-lg);
  background:var(--bs-cream-050);
  box-shadow:var(--shadow-soft);
}

.award27-winners{
  overflow:hidden;
}

.award27-winners-lead{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:end;
  margin:-20px 0 30px;
}

.award27-winners-lead p{
  max-width:720px;
  margin:0;
  color:var(--muted);
  line-height:1.8;
}

.award27-winners-lead div{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}

.award27-winners-lead span{
  display:inline-flex;
  min-height:34px;
  align-items:center;
  padding:7px 12px;
  border:1px solid var(--bs-ink-100);
  border-radius:999px;
  background:#fff;
  color:var(--bs-ink-700);
  font-size:.78rem;
  font-weight:800;
}

.award27-winner-panels{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.award27-winner-panel{
  border:1px solid var(--bs-ink-100);
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}

.award27-winner-panel-head{
  min-height:188px;
  padding:30px;
  background:linear-gradient(145deg,var(--bs-ink-950),var(--bs-green-900));
  color:#fff;
}

.award27-winner-panel.esg .award27-winner-panel-head{
  background:linear-gradient(145deg,var(--bs-pink-900),#5f274c);
}

.award27-winner-panel-head span{
  display:block;
  color:rgba(255,255,255,.65);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.14em;
}

.award27-winner-panel-head h3{
  margin:14px 0 12px;
  font-size:1.75rem;
}

.award27-winner-panel-head p{
  margin:0;
  color:rgba(255,255,255,.72);
  line-height:1.7;
}

.award27-winner-panel details{
  border-top:1px solid var(--bs-ink-100);
}

.award27-winner-panel summary{
  min-height:70px;
  padding:20px 24px;
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  color:var(--bs-ink-950);
  font-weight:900;
}

.award27-winner-panel summary::-webkit-details-marker{
  display:none;
}

.award27-winner-panel summary:after{
  content:"+";
  flex:0 0 auto;
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--bs-cream-100);
  color:var(--bs-ink-700);
  font-weight:900;
}

.award27-winner-panel details[open] summary:after{
  content:"-";
  background:var(--bs-pink-100);
  color:var(--bs-pink-800);
}

.award27-winner-panel summary span{
  color:var(--muted);
  font-size:.78rem;
  font-weight:700;
  white-space:nowrap;
}

.award27-winner-list{
  padding:0 24px 22px;
  display:grid;
  gap:10px;
}

.award27-winner-list p{
  margin:0;
  padding:14px 16px;
  border-radius:var(--radius-sm);
  background:var(--bs-cream-050);
  color:var(--bs-ink-700);
  line-height:1.75;
}

.award27-winner-list b{
  color:var(--bs-ink-950);
}

.award27-process{
  gap:12px;
}

.award27-process li{
  min-height:112px;
  padding:24px 26px;
  border:1px solid var(--bs-ink-100);
  border-radius:var(--radius-md);
  background:#fff;
  align-items:center;
}

.award27-process li:last-child{
  border-bottom:1px solid var(--bs-ink-100);
}

.award27-final-cta{
  padding-block:46px;
  background:linear-gradient(135deg,var(--bs-pink-900),var(--bs-pink-600));
}

.award27-final-cta .container{
  max-width:var(--layout-max);
  padding-inline:var(--page-gutter);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.award27-final-cta span{
  display:block;
  color:rgba(255,255,255,.72);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.14em;
}

.award27-final-cta h2{
  margin:8px 0 0;
  color:#fff;
  font-size:clamp(1.75rem,3vw,2.55rem);
}

.award27-cta-link{
  min-height:52px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 22px;
  border-radius:999px;
  background:#fff;
  color:var(--bs-pink-900);
  font-weight:900;
  white-space:nowrap;
}

.award27-cta-link b{
  font-size:1.05rem;
}

.award27-final-cta + .cmk-footer{
  padding-top:52px;
}

/* ---------------------------------------------------------
   Application form — calm, reliable public-service layout
--------------------------------------------------------- */
.award27-apply-hero{
  padding:104px 0 76px;
  background:
    radial-gradient(circle at 84% 25%,rgba(181,47,115,.18),transparent 23%),
    linear-gradient(135deg,var(--bs-ink-950),#1a281f);
}

.award27-apply-hero > .container{
  max-width:var(--layout-max);
}

.award27-apply-quick{
  border-bottom-color:var(--bs-ink-100);
}

.award27-apply-quick .container{
  max-width:var(--layout-max);
}

.award27-apply-quick div{
  min-height:94px;
  padding:24px 28px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.award27-apply-layout{
  gap:32px;
}

.award27-side,
.award27-form{
  border-color:var(--bs-ink-100);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
}

.award27-side{
  top:124px;
}

.award27-progress-title{
  padding:24px;
  background:var(--bs-cream-050);
}

.award27-step{
  min-height:75px;
  padding:17px 20px;
}

.award27-step.active{
  background:var(--bs-pink-050);
}

.award27-receipt-btn{
  min-height:56px;
  background:var(--bs-green-900);
}

.award27-form-toolbar{
  min-height:80px;
  padding:22px 30px;
  background:var(--bs-cream-050);
}

.award27-form-panel{
  padding:38px 32px 42px;
}

.award27-panel-head{
  margin-bottom:30px;
  padding-bottom:22px;
  border-bottom-color:var(--bs-ink-900);
}

.form-grid{
  column-gap:20px;
  row-gap:22px;
}

.field label,
.field legend{
  margin-bottom:8px;
}

.field input,
.field select,
.field textarea{
  min-height:50px;
  border-radius:var(--radius-sm);
  border-color:var(--bs-ink-200);
  background:#fff;
  padding:12px 14px;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.field textarea{
  min-height:150px;
  line-height:1.7;
  resize:vertical;
}

.field input:hover,
.field select:hover,
.field textarea:hover{
  border-color:var(--bs-ink-300);
}

.field input:focus,
.field select:focus,
.field textarea:focus{
  border-color:var(--bs-pink-700);
  box-shadow:0 0 0 4px rgba(181,47,115,.1);
  outline:0;
}

.award27-check-grid{
  gap:12px;
}

.award27-check-grid label{
  min-height:52px;
  padding:14px 16px;
  border-radius:var(--radius-sm);
  background:var(--bs-ink-050);
}

.award27-file-drop{
  min-height:150px;
  padding:40px 24px;
  border-radius:var(--radius-md);
  background:var(--bs-pink-050);
  border-color:var(--bs-pink-200);
}

.award27-review,
.award27-privacy-box{
  padding:26px;
  border-radius:var(--radius-md);
}

.award27-review{
  background:var(--bs-cream-050);
}

.award27-privacy-box{
  background:var(--bs-green-050);
}

.award27-form-actions{
  min-height:88px;
  padding:20px 30px;
  align-items:center;
  background:var(--bs-ink-050);
}

/* ---------------------------------------------------------
   Buttons and interactive polish
--------------------------------------------------------- */
.btn{
  min-height:46px;
  padding:12px 20px;
  border-radius:var(--radius-pill);
  font-weight:750;
  letter-spacing:-.018em;
}

.btn-pink{
  background:var(--bs-pink-800);
  border-color:var(--bs-pink-800);
}

.btn-pink:hover{
  background:var(--bs-pink-900);
  border-color:var(--bs-pink-900);
}

.btn-primary{
  background:var(--bs-green-800);
  border-color:var(--bs-green-800);
}

.btn-primary:hover{
  background:var(--bs-green-900);
  border-color:var(--bs-green-900);
}

.btn-outline{
  border-color:var(--bs-ink-300);
  background:#fff;
}

.text-arrow{
  padding-bottom:7px;
}

/* ---------------------------------------------------------
   Footer
--------------------------------------------------------- */
.cmk-footer{
  padding-top:88px;
  background:var(--bs-ink-950);
}

.footer-top{
  padding-bottom:56px;
  margin-bottom:48px;
}

.footer-grid{
  gap:36px;
}

.footer-links{
  gap:10px;
}

.footer-bottom{
  margin-top:48px;
  padding:24px 0 30px;
  border-top:1px solid rgba(255,255,255,.12);
}

/* ---------------------------------------------------------
   Responsive rails
--------------------------------------------------------- */
@media(max-width:1180px){
  :root{
    --page-gutter:32px;
    --section-space:96px;
    --section-space-sm:72px;
  }

  .hero-impact-wheel{
    min-width:380px;
  }

  .mega-panel{
    padding-left:var(--page-gutter);
    padding-right:var(--page-gutter);
  }
}

@media(max-width:1050px){
  .cmk-hero-inner{
    padding-inline:var(--page-gutter);
  }

  .hero-impact-wheel{
    width:min(72vw,520px);
    min-width:0;
  }

  .editorial-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .about-history-layout{
    grid-template-columns:1fr;
  }

  .about-recent-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .about-history-layout aside{
    position:static;
  }

  .award27-hero-inner{
    padding-inline:var(--page-gutter);
  }

  .award27-final-cta .container{
    padding-inline:var(--page-gutter);
  }
}

@media(max-width:760px){
  :root{
    --page-gutter:20px;
    --section-space:72px;
    --section-space-sm:56px;
    --content-gap:24px;
    --card-gap:14px;
  }

  html{
    scroll-padding-top:126px;
  }

  .cmk-header .header-inner{
    min-height:70px;
  }

  .brand img{
    max-height:48px;
  }

  .section-head,
  .award27-section-head{
    margin-bottom:34px;
  }

  .cmk-hero-inner{
    min-height:auto;
    padding:88px var(--page-gutter) 96px;
  }

  .cmk-hero-copy h1{
    font-size:clamp(2.85rem,13vw,4.1rem);
    margin-bottom:24px;
  }

  .hero-impact-wheel{
    width:100%;
    max-width:470px;
  }

  .cmk-business-panels{
    gap:14px;
  }

  .cmk-business-panel{
    min-height:350px;
  }

  .impact-stat{
    min-height:150px;
    padding:28px 22px;
  }

  .story-copy{
    padding:30px 24px;
  }

  .sub-visual{
    min-height:350px;
  }

  .subnav{
    top:70px;
  }

  .subnav .container{
    gap:24px;
  }

  .subnav a{
    min-height:56px;
    padding:15px 0;
  }

  .value-panels{
    grid-template-columns:1fr;
  }

  .process-line{
    gap:10px;
  }

  .about-recent-grid{
    grid-template-columns:1fr;
  }

  .about-recent-grid article{
    min-height:auto;
  }

  .about-history-timeline:before{
    left:7px;
  }

  .about-history-timeline article{
    grid-template-columns:1fr;
    gap:8px;
    padding-left:28px;
  }

  .about-history-timeline time:after{
    left:-28px;
    right:auto;
  }

  .about-history-timeline article>div{
    padding:22px;
  }

  .award27-hero-inner{
    padding:72px var(--page-gutter) 66px;
  }

  .award27-sticky-nav{
    top:70px;
  }

  .award27-sticky-nav .container{
    min-height:56px;
  }

  .award27-sticky-nav a{
    min-height:56px;
    padding:14px 0;
  }

  .award27-section-head{
    grid-template-columns:46px 1fr;
    gap:14px;
  }

  .award27-overview-grid{
    gap:40px;
  }

  .award27-timeline,
  .award27-criteria-grid,
  .award27-document-grid,
  .award27-impact-grid,
  .award27-winner-panels{
    gap:12px;
  }

  .award27-winners-lead{
    grid-template-columns:1fr;
  }

  .award27-winners-lead div{
    justify-content:flex-start;
  }

  .award27-timeline article,
  .award27-criteria-grid article,
  .award27-document-grid article,
  .award27-impact-grid article{
    min-height:auto;
  }

  .award27-final-cta{
    padding-block:40px;
  }

  .award27-final-cta .container{
    display:grid;
    gap:18px;
  }

  .award27-cta-link{
    justify-content:center;
  }

  .award27-apply-hero{
    padding:88px 0 60px;
  }

  .award27-apply-layout{
    gap:20px;
  }

  .award27-form-toolbar{
    min-height:auto;
    padding:20px;
  }

  .award27-form-panel{
    padding:28px 18px 32px;
  }

  .award27-form-actions{
    min-height:auto;
    padding:18px;
  }

  .award27-winner-panels{
    grid-template-columns:1fr;
  }

  .cmk-footer{
    padding-top:70px;
  }
}

@media(max-width:480px){
  .header-actions .btn{
    display:none;
  }

  .hero-actions,
  .award27-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .hero-actions .btn,
  .award27-actions .btn{
    width:100%;
  }

  .mission-statement{
    font-size:1.75rem;
    gap:9px;
  }

  .mission-statement i{
    width:18px;
  }

  .award27-check-grid{
    grid-template-columns:1fr;
  }

  .award27-winner-panel-head{
    min-height:auto;
    padding:24px 20px;
  }

  .award27-winner-panel summary{
    display:grid;
    grid-template-columns:1fr auto;
    align-items:start;
    padding:18px 18px;
  }

  .award27-winner-panel summary span{
    grid-column:1/-1;
    white-space:normal;
  }

  .award27-winner-list{
    padding:0 16px 18px;
  }

  .award27-form-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .award27-form-actions > div{
    width:100%;
  }
}

/* Reduced motion should preserve spacing and hierarchy */
@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto;
  }
}


/* =========================================================
   AI EDUCATION INNOVATION
========================================================= */
.ai-innovation-page{
  background:#fff;
}
.aii-hero{
  position:relative;
  min-height:780px;
  display:flex;
  align-items:center;
  overflow:hidden;
  color:#fff;
  background:linear-gradient(135deg,#0d1511 0%,#15251b 52%,#0f1813 100%);
}
.aii-hero-grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(to bottom,#000,transparent 90%);
}
.aii-orb{
  position:absolute;border-radius:50%;filter:blur(4px);pointer-events:none;
}
.aii-orb-pink{
  width:460px;height:460px;left:-180px;top:-120px;
  background:radial-gradient(circle,rgba(181,47,115,.32),transparent 68%);
}
.aii-orb-green{
  width:620px;height:620px;right:-220px;bottom:-260px;
  background:radial-gradient(circle,rgba(38,137,77,.28),transparent 68%);
}
.aii-hero-inner{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center;
  padding-top:110px;padding-bottom:110px;
}
.aii-eyebrow,.aii-mini-label{
  display:block;font-size:.7rem;letter-spacing:.18em;font-weight:900;color:var(--bs-green-200);
}
.aii-hero-copy h1{
  margin:24px 0 28px;font-size:clamp(3.5rem,6vw,6.5rem);line-height:1.03;letter-spacing:-.072em;
}
.aii-hero-copy h1 strong{color:#ff91c8}
.aii-hero-copy>p{
  max-width:690px;font-size:1.05rem;line-height:1.82;color:rgba(255,255,255,.72);
}
.aii-hero-actions{display:flex;gap:12px;margin-top:34px}
.aii-hero-points{
  list-style:none;padding:0;margin:48px 0 0;display:flex;gap:0;border-top:1px solid rgba(255,255,255,.13);
}
.aii-hero-points li{padding:22px 34px 0 0;margin-right:34px;border-right:1px solid rgba(255,255,255,.13)}
.aii-hero-points li:last-child{border-right:0}
.aii-hero-points b,.aii-hero-points span{display:block}
.aii-hero-points b{font-size:1.2rem}.aii-hero-points span{font-size:.75rem;color:rgba(255,255,255,.55);margin-top:3px}

.aii-hero-visual{position:relative}
.aii-hero-visual svg{width:100%;height:auto;overflow:visible;filter:drop-shadow(0 28px 60px rgba(0,0,0,.25))}
.aii-links line{stroke:rgba(255,255,255,.26);stroke-width:1.5;stroke-dasharray:5 7;transition:.3s}
.aii-node-group{cursor:pointer}
.aii-node-group circle{stroke:rgba(255,255,255,.2);stroke-width:1;transition:.35s var(--ease-out)}
.node-learning circle{fill:rgba(181,47,115,.7)}
.node-work circle{fill:rgba(38,137,77,.68)}
.node-content circle{fill:rgba(72,111,93,.78)}
.node-ethics circle{fill:rgba(132,83,113,.73)}
.aii-node-group text,.aii-center-node text{text-anchor:middle;fill:#fff;font-size:20px;font-weight:800;pointer-events:none}
.aii-node-group text.small{font-size:10px;fill:rgba(255,255,255,.68);font-weight:500}
.aii-center-node circle{fill:#fff;stroke:rgba(255,255,255,.35);stroke-width:10}
.aii-center-node text{fill:#143d27;font-size:27px}
.aii-node-group:hover circle,.aii-node-group.active circle{transform:scale(1.08);transform-origin:center;filter:drop-shadow(0 15px 28px rgba(0,0,0,.25))}
.aii-visual-caption{text-align:center;font-size:.72rem;color:rgba(255,255,255,.48);margin-top:-10px}

.aii-sticky-nav{position:sticky;top:88px;z-index:70;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.aii-sticky-nav .container{display:flex;justify-content:center;gap:34px;overflow:auto}
.aii-sticky-nav a{min-height:64px;display:flex;align-items:center;white-space:nowrap;font-weight:750}

.aii-section-head{max-width:900px;margin-bottom:52px}
.aii-section-head>span{display:block;color:var(--bs-pink-700);font-size:.7rem;letter-spacing:.17em;font-weight:900;margin-bottom:14px}
.aii-section-head h2{font-size:clamp(2.4rem,4vw,4.2rem);line-height:1.22;letter-spacing:-.055em;margin-bottom:22px}
.aii-section-head p{max-width:760px;color:var(--muted);font-size:1rem;line-height:1.8}
.aii-section-head.light h2{color:#fff}.aii-section-head.light p{color:rgba(255,255,255,.66)}.aii-section-head.light>span{color:#ff9dce}

.aii-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.aii-value-grid article{position:relative;min-height:310px;padding:32px;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;transition:.3s var(--ease-out)}
.aii-value-grid article:nth-child(1){background:var(--bs-pink-050)}
.aii-value-grid article:nth-child(2){background:var(--bs-green-050)}
.aii-value-grid article:nth-child(3){background:var(--bs-cream-050)}
.aii-value-grid article>span{position:absolute;right:24px;top:18px;font-size:3.5rem;color:rgba(16,21,18,.08);font-weight:900}
.aii-value-icon{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;background:#fff;font-size:1.5rem;box-shadow:var(--shadow-soft)}
.aii-value-grid h3{font-size:1.35rem;margin:54px 0 14px}.aii-value-grid p{color:var(--muted);line-height:1.75}
.aii-value-grid article:hover{transform:translateY(-7px);box-shadow:var(--shadow-card)}

.aii-diagnosis-section{background:linear-gradient(145deg,var(--bs-ink-950),#1a2b20)}
.aii-diagnosis-shell{border-radius:var(--radius-xl);overflow:hidden;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.25)}
.aii-diagnosis-start,.aii-question-view,.aii-result-view{padding:54px}
.aii-diagnosis-shell [hidden]{display:none!important}
.aii-start-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
.aii-start-graphic{width:min(100%,360px);aspect-ratio:1;border-radius:50%;position:relative;display:grid;place-items:center;background:radial-gradient(circle,var(--bs-pink-100),var(--bs-green-100));margin:auto}
.aii-start-graphic strong{font-size:6rem;color:var(--bs-green-900)}
.aii-start-graphic .ring{position:absolute;border-radius:50%;border:1px solid rgba(18,61,38,.16)}
.aii-start-graphic .ring-a{inset:12%;animation:aiRing 4s ease-in-out infinite}
.aii-start-graphic .ring-b{inset:25%;animation:aiRing 4s ease-in-out infinite reverse}
@keyframes aiRing{50%{transform:scale(1.1);opacity:.45}}
.aii-start-card h3{font-size:2.4rem;margin:14px 0 20px}.aii-start-card ul{padding-left:20px;color:var(--muted);line-height:2}.aii-start-card .btn{margin-top:20px}

.aii-progress-wrap{margin-bottom:36px}
.aii-progress-top{display:flex;justify-content:space-between;margin-bottom:11px}.aii-progress-top span{font-size:.75rem;color:var(--muted)}.aii-progress-top strong{color:var(--bs-pink-700)}
.aii-progress-track{height:6px;border-radius:99px;background:var(--bs-ink-100);overflow:hidden}.aii-progress-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--bs-pink-700),var(--bs-green-600));transition:width .35s}
.aii-question-card{min-height:370px;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:30px}
.aii-question-tag{font-size:.68rem;letter-spacing:.16em;color:var(--bs-pink-700);font-weight:900}
.aii-question-card h3{font-size:clamp(1.65rem,3vw,2.45rem);max-width:820px;margin:18px auto 42px;line-height:1.45}
.aii-answer-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.aii-answer-scale button{min-height:110px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bs-ink-050);padding:15px;transition:.25s}
.aii-answer-scale button span,.aii-answer-scale button strong{display:block}.aii-answer-scale button span{font-size:1.4rem;color:var(--bs-pink-700);margin-bottom:7px}.aii-answer-scale button strong{font-size:.78rem}
.aii-answer-scale button:hover,.aii-answer-scale button.selected{transform:translateY(-4px);border-color:var(--bs-pink-700);background:var(--bs-pink-050);box-shadow:var(--shadow-soft)}
.aii-question-actions{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px}

.aii-result-header{text-align:center;margin-bottom:40px}.aii-result-header h3{font-size:2.6rem;margin:12px 0}.aii-result-header p{color:var(--muted)}
.aii-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.aii-chart-card,.aii-profile-card{border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px;background:var(--bs-ink-050)}
.aii-chart-card canvas{width:100%;height:auto}
.aii-profile-card>span{font-size:.7rem;color:var(--muted)}.aii-profile-card>strong{display:block;font-size:2.2rem;color:var(--bs-pink-700);margin:8px 0 16px}.aii-profile-card>p{color:var(--muted)}
.aii-score-list{margin-top:26px;display:grid;gap:15px}.aii-score-item>div{display:flex;justify-content:space-between;margin-bottom:6px;font-size:.82rem}.aii-score-bar{height:7px;background:var(--bs-ink-100);border-radius:99px;overflow:hidden}.aii-score-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--bs-pink-700),var(--bs-green-600))}
.aii-recommendation{margin-top:24px;padding:30px;border-radius:var(--radius-lg);background:var(--bs-green-050)}.aii-recommendation>div:first-child span{font-size:.68rem;letter-spacing:.14em;color:var(--bs-green-700);font-weight:900}.aii-recommendation h4{font-size:1.45rem;margin:5px 0 20px}
.aii-recommend-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.aii-recommend-grid article{background:#fff;padding:20px;border-radius:var(--radius-md);border:1px solid rgba(18,61,38,.08)}.aii-recommend-grid span{font-size:.68rem;color:var(--bs-pink-700);font-weight:900}.aii-recommend-grid strong{display:block;margin:9px 0 5px}.aii-recommend-grid p{font-size:.78rem;color:var(--muted)}
.aii-result-actions{display:flex;justify-content:center;gap:10px;margin-top:28px}

.aii-framework{background:var(--bs-cream-050)}
.aii-framework-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.aii-framework-grid article{min-height:340px;padding:34px;border-radius:var(--radius-lg);border:1px solid var(--bs-cream-300);background:#fff;transition:.3s}
.aii-framework-grid article:nth-child(1),.aii-framework-grid article:nth-child(3){background:var(--bs-pink-050)}
.aii-framework-grid article:nth-child(2),.aii-framework-grid article:nth-child(4){background:var(--bs-green-050)}
.aii-framework-top{display:flex;justify-content:space-between}.aii-framework-top span{font-size:3rem;color:rgba(16,21,18,.1);font-weight:900}.aii-framework-top b{font-size:.68rem;letter-spacing:.13em;color:var(--bs-pink-700)}
.aii-framework-grid h3{font-size:1.6rem;margin:38px 0 13px}.aii-framework-grid p{color:var(--muted);max-width:500px}.aii-framework-grid ul{padding-left:18px;margin-top:24px;color:var(--bs-ink-700);line-height:1.9}
.aii-framework-grid article:hover{transform:translateY(-7px);box-shadow:var(--shadow-card)}

.aii-program-tabs{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:24px}.aii-program-tabs button{min-height:48px;padding:10px 20px;border:1px solid var(--line);border-radius:99px;background:#fff;font-weight:750}.aii-program-tabs button.active{background:var(--bs-ink-950);border-color:var(--bs-ink-950);color:#fff}
.aii-program-panel{min-height:420px;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--bs-ink-950),#1c3023);color:#fff;padding:48px}
.aii-program-content{display:grid;grid-template-columns:.75fr 1.25fr;gap:65px}.aii-program-intro span{font-size:.68rem;letter-spacing:.14em;color:var(--bs-green-200);font-weight:900}.aii-program-intro h3{font-size:2.5rem;margin:14px 0 17px}.aii-program-intro p{color:rgba(255,255,255,.65)}
.aii-course-list{display:grid;gap:10px}.aii-course-list article{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:16px;padding:20px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:rgba(255,255,255,.04);transition:.25s}.aii-course-list article:hover{background:rgba(255,255,255,.09);transform:translateX(5px)}.aii-course-list b{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1)}.aii-course-list strong,.aii-course-list small{display:block}.aii-course-list small{color:rgba(255,255,255,.55);margin-top:3px}.aii-course-list em{font-style:normal;color:#ff9dce}

.aii-step-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.aii-step-list li{min-height:205px;padding:26px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.aii-step-list li>span{display:block;color:var(--bs-pink-700);font-size:.72rem;font-weight:900}.aii-step-list strong{display:block;font-size:1.1rem;margin:50px 0 10px}.aii-step-list p{color:var(--muted);font-size:.84rem}

.aii-organization{padding:112px 0;background:linear-gradient(135deg,var(--bs-green-900),#1b5131);color:#fff}
.aii-org-grid{display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:center}.aii-org-grid h2{font-size:clamp(2.4rem,4vw,4.2rem);line-height:1.24;margin:18px 0 22px}.aii-org-grid p{max-width:660px;color:rgba(255,255,255,.68)}.aii-org-actions{display:flex;gap:10px;margin-top:30px}
.aii-org-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.aii-org-metrics article{aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;align-content:center;background:rgba(255,255,255,.04)}.aii-org-metrics strong{font-size:2rem;color:#ff9dce}.aii-org-metrics span{font-size:.78rem;margin-top:5px}

.panel-ai .panel-bg{background:linear-gradient(145deg,#4e1d3b,#c24b86)}
.cmk-business-panels:has(.panel-ai){grid-template-columns:repeat(4,1fr)}
.cmk-business-panels:has(.panel-ai) .panel-content h3{font-size:1.55rem}
.cmk-business-panels:has(.panel-ai) .panel-content{left:24px;right:24px;bottom:28px}

@media(max-width:1100px){
  .aii-hero-inner,.aii-start-card,.aii-program-content,.aii-org-grid{grid-template-columns:1fr}
  .aii-hero-visual{max-width:620px;margin:0 auto}
  .aii-value-grid{grid-template-columns:1fr}
  .aii-framework-grid{grid-template-columns:1fr 1fr}
  .aii-step-list{grid-template-columns:repeat(3,1fr)}
  .cmk-business-panels:has(.panel-ai){grid-template-columns:1fr 1fr;height:auto}
}
@media(max-width:760px){
  .aii-hero{min-height:auto}.aii-hero-inner{padding-top:96px;padding-bottom:90px;gap:40px}.aii-hero-copy h1{font-size:3.05rem}.aii-hero-actions{display:grid}.aii-hero-points{margin-top:36px}.aii-hero-points li{padding-right:16px;margin-right:16px}
  .aii-sticky-nav{top:70px}.aii-sticky-nav .container{justify-content:flex-start;gap:24px}.aii-sticky-nav a{min-height:56px}
  .aii-section-head{margin-bottom:36px}
  .aii-diagnosis-start,.aii-question-view,.aii-result-view{padding:28px 18px}
  .aii-start-card{gap:36px}.aii-start-graphic{max-width:260px}.aii-start-graphic strong{font-size:4.4rem}
  .aii-answer-scale{grid-template-columns:1fr}.aii-answer-scale button{min-height:64px;display:grid;grid-template-columns:40px 1fr;align-items:center;text-align:left}.aii-answer-scale button span{margin:0}
  .aii-result-grid,.aii-framework-grid{grid-template-columns:1fr}
  .aii-recommend-grid{grid-template-columns:1fr}
  .aii-program-panel{padding:30px 20px}.aii-program-intro h3{font-size:2rem}.aii-course-list article{grid-template-columns:46px 1fr}.aii-course-list em{grid-column:2}
  .aii-step-list{grid-template-columns:1fr 1fr}.aii-step-list li{min-height:170px}.aii-step-list strong{margin-top:32px}
  .aii-organization{padding:80px 0}.aii-org-actions{display:grid}.aii-org-metrics{max-width:480px}
  .cmk-business-panels:has(.panel-ai){grid-template-columns:1fr}
}
@media(max-width:480px){
  .aii-hero-points{display:grid;grid-template-columns:repeat(3,1fr)}.aii-hero-points li{margin:0;padding:18px 9px 0;text-align:center}
  .aii-step-list{grid-template-columns:1fr}
  .aii-org-metrics{gap:8px}
}
@media(prefers-reduced-motion:reduce){
  .aii-start-graphic .ring{animation:none}
}


/* =========================================================
   MISSION STATEMENT — 발견 · 배움 · 확산 한 줄 유지
========================================================= */
.mission-statement{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:center;
  gap:clamp(12px,2.2vw,30px);
  white-space:nowrap;
  overflow:visible;
}

.mission-statement p{
  flex:0 0 auto;
  margin:0;
  font-size:clamp(1.7rem,4.7vw,5rem);
  line-height:1;
  letter-spacing:-.05em;
}

.mission-statement i{
  flex:0 1 clamp(20px,5vw,70px);
  width:clamp(20px,5vw,70px);
  min-width:20px;
  height:1px;
}

@media(max-width:620px){
  .mission-statement{
    gap:8px;
    width:100%;
  }

  .mission-statement p{
    font-size:clamp(1.55rem,8.5vw,2.3rem);
  }

  .mission-statement i{
    flex-basis:clamp(12px,5vw,24px);
    width:clamp(12px,5vw,24px);
    min-width:12px;
  }
}

@media(max-width:390px){
  .mission-statement{
    gap:6px;
  }

  .mission-statement p{
    font-size:1.42rem;
  }

  .mission-statement i{
    flex-basis:11px;
    width:11px;
    min-width:11px;
  }
}


/* =========================================================
   NONPROFIT MEMBERSHIP SYSTEM
========================================================= */
[hidden]{display:none!important}
.member-hero{min-height:690px;display:flex;align-items:center;color:#fff;background:radial-gradient(circle at 18% 20%,rgba(181,47,115,.3),transparent 26%),radial-gradient(circle at 82% 74%,rgba(38,137,77,.25),transparent 30%),linear-gradient(135deg,var(--bs-ink-950),#17271d)}
.member-hero-grid{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:center;padding-top:100px;padding-bottom:100px}
.member-kicker{font-size:.7rem;letter-spacing:.17em;color:var(--bs-green-200);font-weight:900}
.member-hero h1{font-size:clamp(3.2rem,5.8vw,6rem);line-height:1.04;letter-spacing:-.07em;margin:24px 0}.member-hero h1 strong{color:#ff91c8}.member-hero p{max-width:670px;color:rgba(255,255,255,.7);line-height:1.8}.member-actions{display:flex;gap:10px;margin-top:32px}
.member-network{position:relative;width:min(42vw,500px);aspect-ratio:1;margin-left:auto}
.member-center,.member-node{position:absolute;border-radius:50%;display:grid;place-items:center;text-align:center;z-index:3}
.member-center{width:28%;height:28%;left:36%;top:36%;background:#fff;color:var(--bs-green-900);font-size:1.2rem;font-weight:900;box-shadow:0 0 0 14px rgba(255,255,255,.06)}
.member-node{width:28%;height:28%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);backdrop-filter:blur(8px);font-weight:800}
.node-a{left:3%;top:5%;background:rgba(181,47,115,.55)}.node-b{right:2%;top:10%;background:rgba(38,137,77,.5)}.node-c{right:5%;bottom:4%;background:rgba(72,111,93,.58)}.node-d{left:4%;bottom:6%;background:rgba(132,83,113,.56)}
.member-line{position:absolute;left:50%;top:50%;width:32%;height:1px;background:rgba(255,255,255,.28);transform-origin:left center}.line-a{transform:rotate(-136deg)}.line-b{transform:rotate(-42deg)}.line-c{transform:rotate(43deg)}.line-d{transform:rotate(136deg)}

.member-section-head{max-width:880px;margin-bottom:50px}.member-section-head>span{font-size:.7rem;letter-spacing:.17em;color:var(--bs-pink-700);font-weight:900}.member-section-head h2{font-size:clamp(2.4rem,4vw,4rem);line-height:1.24;margin:14px 0 20px}.member-section-head p{color:var(--muted);max-width:760px}
.member-benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.member-benefit-grid article{min-height:285px;padding:30px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-soft)}.member-benefit-grid article:nth-child(odd){background:var(--bs-pink-050)}.member-benefit-grid article:nth-child(even){background:var(--bs-green-050)}.member-benefit-grid span{color:var(--bs-pink-700);font-size:.7rem;font-weight:900}.member-benefit-grid h3{font-size:1.35rem;margin:56px 0 13px}.member-benefit-grid p{color:var(--muted)}
.member-types{background:var(--bs-cream-050)}.member-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}.member-type-grid article{padding:34px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;display:flex;flex-direction:column}.member-type-grid article.featured{background:linear-gradient(145deg,var(--bs-pink-900),var(--bs-pink-600));color:#fff;transform:translateY(-10px);box-shadow:var(--shadow-card)}.member-type-grid article>span{font-size:.68rem;letter-spacing:.14em;color:var(--bs-pink-700);font-weight:900}.member-type-grid .featured>span{color:#ffd0e7}.member-type-grid h3{font-size:1.65rem;margin:20px 0 12px}.member-type-grid p{color:var(--muted)}.member-type-grid .featured p{color:rgba(255,255,255,.7)}.member-type-grid ul{padding-left:18px;line-height:2;margin-bottom:28px}.member-type-grid .btn{margin-top:auto}
.member-protection{background:var(--bs-green-900);color:#fff}.member-protection-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.member-protection span{font-size:.7rem;letter-spacing:.17em;color:var(--bs-green-200);font-weight:900}.member-protection h2{font-size:clamp(2.3rem,4vw,4rem);line-height:1.25;margin-top:15px}.member-protection p{color:rgba(255,255,255,.67);line-height:1.8}

.member-auth-page{background:var(--bs-cream-050);min-height:calc(100vh - 88px)}.member-auth-shell{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 88px)}.member-auth-side{padding:9vw;display:flex;flex-direction:column;justify-content:center;color:#fff;background:radial-gradient(circle at 20% 20%,rgba(181,47,115,.28),transparent 30%),linear-gradient(145deg,var(--bs-ink-950),var(--bs-green-900))}.member-auth-side>span{font-size:.7rem;letter-spacing:.17em;color:var(--bs-green-200);font-weight:900}.member-auth-side h1{font-size:clamp(2.7rem,4.5vw,4.8rem);line-height:1.15;margin:18px 0}.member-auth-side p{color:rgba(255,255,255,.65);max-width:560px}
.member-auth-card{max-width:600px;width:100%;margin:auto;padding:60px}.member-auth-card .member-kicker{color:var(--bs-pink-700)}.member-auth-card h2{font-size:2.4rem;margin:12px 0 30px}.member-auth-card form{display:grid;gap:18px}.member-consent{display:flex;gap:9px;font-size:.85rem}.member-consent input{accent-color:var(--bs-pink-700)}.member-auth-foot{text-align:center;margin-top:24px;color:var(--muted)}.member-auth-foot a{color:var(--bs-pink-700);font-weight:800}

.member-login-page{background:#f6f7f3}.member-login-shell{display:grid;grid-template-columns:minmax(440px,.92fr) minmax(420px,1.08fr);min-height:calc(100vh - var(--header-h));background:linear-gradient(90deg,#102417 0%,#102417 42%,#f6f7f3 42%,#f6f7f3 100%)}.member-login-copy{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:720px;padding:76px max(42px,7vw);color:#fff;overflow:hidden}.member-login-copy:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 16%,rgba(255,145,200,.28),transparent 29%),radial-gradient(circle at 84% 72%,rgba(120,179,111,.34),transparent 32%);pointer-events:none}.member-login-copy>*{position:relative;z-index:1}.member-login-logo{display:inline-flex;align-items:center;gap:12px;margin-bottom:70px;color:#fff;font-weight:900}.member-login-logo img{width:44px;height:44px;background:#fff;border-radius:50%;padding:3px}.member-login-kicker{font-size:.72rem;letter-spacing:.18em;color:#b9dfb2;font-weight:900}.member-login-copy h1{max-width:640px;margin:18px 0 22px;font-size:clamp(2.6rem,4.4vw,4.7rem);line-height:1.12;letter-spacing:-.065em}.member-login-copy p{max-width:570px;color:rgba(255,255,255,.72);font-size:1rem;line-height:1.8}.member-login-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:650px;margin-top:46px}.member-login-benefits article{min-height:132px;padding:20px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(255,255,255,.07);backdrop-filter:blur(10px)}.member-login-benefits strong,.member-login-benefits span{display:block}.member-login-benefits strong{font-size:1.05rem}.member-login-benefits span{margin-top:12px;color:rgba(255,255,255,.62);font-size:.82rem;line-height:1.55}.member-login-panel{display:flex;align-items:center;justify-content:center;padding:64px max(28px,6vw)}.member-login-card{width:min(100%,470px);padding:42px 38px;border:1px solid #e0e5dc;border-radius:8px;background:#fff;box-shadow:0 24px 70px rgba(24,40,30,.12)}.member-login-card-head{text-align:left;margin-bottom:28px}.member-login-card .member-kicker{color:var(--bs-pink-700)}.member-login-card h2{font-size:2.35rem;line-height:1.1;letter-spacing:-.05em;margin:8px 0 10px}.member-login-card-head p{margin:0;color:var(--muted);font-size:.92rem}.member-login-card form{display:grid;gap:16px}.floating-field label{display:block;margin-bottom:8px;color:#323b34;font-size:.86rem;font-weight:800}.floating-field input{width:100%;height:54px;padding:0 15px;border:1px solid #d8dfd4;border-radius:8px;background:#fbfcfa;color:var(--ink);outline:none;transition:.18s ease}.floating-field input:focus{border-color:var(--bs-green-700);box-shadow:0 0 0 4px rgba(47,125,50,.1);background:#fff}.password-control{display:flex;align-items:center;border:1px solid #d8dfd4;border-radius:8px;background:#fbfcfa;transition:.18s ease}.password-control:focus-within{border-color:var(--bs-green-700);box-shadow:0 0 0 4px rgba(47,125,50,.1);background:#fff}.password-control input{border:0;box-shadow:none;background:transparent}.password-control input:focus{box-shadow:none}.password-control button{min-width:62px;height:38px;margin-right:7px;border:0;border-radius:7px;background:#edf3ea;color:var(--bs-green-800);font-size:.82rem;font-weight:900}.member-login-options{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:2px 0 4px;color:var(--muted);font-size:.84rem}.member-login-options label{display:flex;align-items:center;gap:7px}.member-login-options input{accent-color:var(--bs-pink-700)}.member-login-options a,.member-login-help a{color:var(--bs-pink-700);font-weight:850}.member-login-submit{min-height:54px;margin-top:4px}.member-login-divider{display:flex;align-items:center;gap:14px;margin:26px 0 18px;color:#858e86;font-size:.78rem}.member-login-divider:before,.member-login-divider:after{content:"";height:1px;background:#e5e9e2;flex:1}.member-login-actions{display:grid;gap:10px}.member-login-help{margin:18px 0 0;text-align:center;color:var(--muted);font-size:.82rem}.member-login-page .form-message{min-height:22px;margin:0;font-size:.86rem}.member-login-page .form-message.error{color:#b42318}.member-login-page .form-message.success{color:var(--bs-green-800)}

.member-signup-page{background:#f6f7f3}.member-signup-shell{display:grid;grid-template-columns:minmax(430px,.86fr) minmax(560px,1.14fr);min-height:calc(100vh - var(--header-h));background:linear-gradient(90deg,#102417 0%,#102417 38%,#f6f7f3 38%,#f6f7f3 100%)}.member-signup-copy{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:780px;padding:76px max(42px,6.5vw);color:#fff;overflow:hidden}.member-signup-copy:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 18%,rgba(255,145,200,.3),transparent 28%),radial-gradient(circle at 78% 78%,rgba(120,179,111,.34),transparent 32%);pointer-events:none}.member-signup-copy>*{position:relative;z-index:1}.member-signup-copy h1{max-width:680px;margin:18px 0 22px;font-size:clamp(2.55rem,4vw,4.5rem);line-height:1.13;letter-spacing:-.065em}.member-signup-copy p{max-width:590px;color:rgba(255,255,255,.72);line-height:1.82}.member-signup-steps{display:grid;gap:12px;margin-top:44px;max-width:560px}.member-signup-steps article{display:grid;grid-template-columns:44px 1fr;gap:4px 14px;align-items:center;padding:16px 18px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(255,255,255,.07);backdrop-filter:blur(10px)}.member-signup-steps b{grid-row:1/3;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--bs-green-900)}.member-signup-steps strong{font-size:1rem}.member-signup-steps span{color:rgba(255,255,255,.62);font-size:.84rem}.member-signup-panel{display:flex;align-items:center;justify-content:center;padding:54px max(28px,5vw)}.member-signup-card{width:min(100%,720px);padding:38px;border:1px solid #e0e5dc;border-radius:8px;background:#fff;box-shadow:0 24px 70px rgba(24,40,30,.12)}.member-signup-card form{display:grid;gap:16px}.member-type-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0;padding:0;border:0}.member-type-choice legend{margin-bottom:9px;color:#323b34;font-size:.86rem;font-weight:900}.member-type-choice label{display:flex;min-height:112px;padding:16px;border:1px solid #dfe5db;border-radius:8px;background:#fbfcfa;cursor:pointer;transition:.18s ease}.member-type-choice input{position:absolute;opacity:0;pointer-events:none}.member-type-choice span,.member-type-choice strong,.member-type-choice small{display:block}.member-type-choice strong{font-size:1rem}.member-type-choice small{margin-top:9px;color:var(--muted);font-size:.78rem;line-height:1.45}.member-type-choice label:has(input:checked){border-color:var(--bs-pink-700);background:var(--bs-pink-050);box-shadow:0 0 0 3px rgba(181,47,115,.08)}.signup-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.floating-field small{display:block;margin-top:7px;color:#7a837b;font-size:.76rem}.signup-agreement-box{display:grid;gap:7px;margin-top:4px;padding:16px;border:1px solid #e3e8df;border-radius:8px;background:#fbfcfa}.signup-agreement-box .member-consent{align-items:flex-start;margin:0;color:#4e584f}.agreement-all{padding-bottom:10px;border-bottom:1px solid #e4e9e1;font-weight:900;color:var(--ink)}.member-signup-page .form-message{min-height:22px;margin:0;font-size:.86rem}.member-signup-page .form-message.error{color:#b42318}.member-signup-page .form-message.success{color:var(--bs-green-800)}
.member-signup-page .signup-result-message{padding:14px 16px;border:1px solid #b9d9b3;border-radius:8px;background:#f0f7ed;color:#12451f;line-height:1.65}
.member-signup-page .signup-result-message span{display:block;margin-top:4px;color:#426044;font-weight:750}
.member-login-submit:disabled{cursor:not-allowed;opacity:.72;box-shadow:none}
.floating-field select,.floating-field textarea{width:100%;border:1px solid #d8dfd4;border-radius:8px;background:#fbfcfa;color:var(--ink);outline:none;transition:.18s ease;font:inherit}
.floating-field select{height:54px;padding:0 15px}
.floating-field textarea{min-height:142px;padding:15px;line-height:1.65;resize:vertical}
.floating-field select:focus,.floating-field textarea:focus{border-color:var(--bs-green-700);box-shadow:0 0 0 4px rgba(47,125,50,.1);background:#fff}
.institution-inquiry-page .member-signup-shell{grid-template-columns:minmax(420px,.82fr) minmax(600px,1.18fr)}
.institution-inquiry-page .member-signup-copy h1{max-width:720px}
.institution-inquiry-card{width:min(100%,780px)}
.institution-program-choice{grid-template-columns:repeat(3,1fr)}
.institution-program-choice label{min-height:104px}
.institution-inquiry-page .form-message.success{padding:14px 16px;border:1px solid #b9d9b3;border-radius:8px;background:#f0f7ed;color:#12451f;line-height:1.65}
.institution-inquiry-page .form-message.error{color:#b42318}

.member-dashboard-hero,.member-library-hero{padding:105px 0 72px;color:#fff;background:linear-gradient(135deg,var(--bs-ink-950),var(--bs-green-900))}.member-dashboard-hero h1,.member-library-hero h1{font-size:clamp(2.7rem,4.5vw,4.8rem);line-height:1.15;margin:18px 0}.member-library-hero p{color:rgba(255,255,255,.65)}
.member-dashboard-grid{display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:start}.member-side-menu{position:sticky;top:110px;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:#fff}.member-side-menu a,.member-side-menu button{width:100%;display:block;padding:17px 20px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;font-weight:750}.member-side-menu .active{background:var(--bs-pink-050);color:var(--bs-pink-800)}
.member-status-card{display:flex;justify-content:space-between;gap:30px;padding:32px;border-radius:var(--radius-lg);background:var(--bs-cream-050);border:1px solid var(--line)}.member-status-card>div>span{font-size:.68rem;letter-spacing:.14em;color:var(--bs-pink-700);font-weight:900}.member-status-card h2{font-size:2rem;margin:8px 0}.member-status-badges{display:flex;gap:8px;align-items:flex-start}.member-status-badges span{padding:8px 12px;border-radius:99px;background:#fff;border:1px solid var(--line);font-size:.78rem;font-weight:800}
.member-dashboard-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.member-dashboard-cards article{min-height:250px;padding:26px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.member-dashboard-cards article>span{font-size:.7rem;color:var(--bs-pink-700);font-weight:900}.member-dashboard-cards strong{display:block;font-size:1.25rem;margin:40px 0 10px}.member-dashboard-cards p{color:var(--muted);font-size:.85rem}.member-dashboard-cards a{color:var(--bs-pink-700);font-weight:800}

.member-library-toolbar{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:30px;padding-bottom:22px;border-bottom:2px solid var(--bs-ink-900)}.member-library-toolbar p{color:var(--muted);margin-top:4px}.member-resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.member-resource-card{min-height:260px;padding:28px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-soft)}.member-resource-card:nth-child(odd){background:var(--bs-pink-050)}.member-resource-card:nth-child(even){background:var(--bs-green-050)}.member-resource-card>span{font-size:.68rem;color:var(--bs-pink-700);font-weight:900}.member-resource-card h3{font-size:1.3rem;margin:42px 0 12px}.member-resource-card p{color:var(--muted)}.member-resource-card .locked-note{display:inline-block;margin-top:16px;font-size:.75rem;color:var(--bs-green-800);font-weight:800}

@media(max-width:1000px){.member-hero-grid,.member-protection-grid{grid-template-columns:1fr}.member-network{width:min(80vw,480px);margin:30px auto 0}.member-benefit-grid,.member-type-grid{grid-template-columns:1fr 1fr}.member-type-grid article.featured{transform:none}.member-auth-shell{grid-template-columns:1fr}.member-auth-side{min-height:420px;padding:70px 32px}.member-login-shell,.member-signup-shell{grid-template-columns:1fr;background:#f6f7f3}.member-login-copy,.member-signup-copy{min-height:auto;padding:58px 32px}.member-login-logo{margin-bottom:42px}.member-login-panel,.member-signup-panel{padding:38px 24px 64px}.member-dashboard-grid{grid-template-columns:1fr}.member-side-menu{position:static;display:flex;overflow:auto}.member-side-menu a,.member-side-menu button{white-space:nowrap;border-bottom:0;border-right:1px solid var(--line)}.member-dashboard-cards,.member-resource-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.member-hero{min-height:auto}.member-hero-grid{padding-top:90px;padding-bottom:80px}.member-hero h1{font-size:3rem}.member-actions{display:grid}.member-benefit-grid,.member-type-grid,.member-dashboard-cards,.member-resource-grid{grid-template-columns:1fr}.member-auth-card{padding:44px 20px}.member-login-copy,.member-signup-copy{padding:42px 20px}.member-login-copy h1,.member-signup-copy h1{font-size:2.55rem}.member-login-benefits,.member-type-choice,.signup-form-grid{grid-template-columns:1fr}.member-login-panel,.member-signup-panel{padding:22px 16px 50px}.member-login-card,.member-signup-card{padding:30px 22px}.member-login-card h2{font-size:2rem}.member-login-options{align-items:flex-start;flex-direction:column;gap:9px}.member-status-card{display:block}.member-status-badges{margin-top:20px}.member-library-toolbar{display:block}.member-library-toolbar .btn{margin-top:15px}}

/* Membership pricing-style guide */
.membership2026{
  background:#f6f7f3;
}
.membership2026 .member-kicker{
  display:inline-block;
  color:#b9dfb2;
  letter-spacing:0;
}
.membership2026-hero{
  padding:78px 0 74px;
  color:#fff;
  background:linear-gradient(135deg,#102417 0%,#173522 58%,#26313f 100%);
}
.membership2026-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.62fr);
  gap:34px;
  align-items:center;
}
.membership2026-hero-copy h1{
  max-width:760px;
  margin:16px 0 18px;
  font-size:4.35rem;
  line-height:1.12;
  letter-spacing:0;
}
.membership2026-hero-copy p{
  max-width:690px;
  margin:0;
  color:rgba(255,255,255,.76);
  font-size:1.05rem;
  line-height:1.82;
}
.membership2026-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}
.membership2026-status-strip{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:28px;
  color:rgba(255,255,255,.72);
  font-size:.9rem;
  font-weight:850;
}
.membership2026-status-strip span{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  background:rgba(255,255,255,.07);
}
.membership2026-status-strip i{
  width:18px;
  height:1px;
  background:rgba(255,255,255,.36);
}
.membership2026-current{
  padding:28px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:8px;
  background:rgba(255,255,255,.08);
  box-shadow:0 24px 70px rgba(0,0,0,.18);
}
.membership2026-current>span{
  color:#ffd0e7;
  font-size:.76rem;
  font-weight:900;
}
.membership2026-current>strong{
  display:block;
  margin:12px 0 24px;
  color:#fff;
  font-size:1.8rem;
  line-height:1.28;
  letter-spacing:0;
}
.membership2026-current dl{
  display:grid;
  gap:10px;
  margin:0;
}
.membership2026-current dl div{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:14px 0;
  border-top:1px solid rgba(255,255,255,.16);
}
.membership2026-current dt{
  color:rgba(255,255,255,.66);
  font-weight:750;
}
.membership2026-current dd{
  margin:0;
  color:#fff;
  text-align:right;
  font-weight:900;
}
.membership2026-quick{
  margin-top:-32px;
  position:relative;
  z-index:2;
}
.membership2026-quick-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.membership2026-quick-grid div{
  min-height:100px;
  padding:20px;
  border:1px solid #e0e5dc;
  border-radius:8px;
  background:#fff;
  box-shadow:0 18px 52px rgba(24,40,30,.1);
}
.membership2026-quick-grid span{
  display:block;
  color:var(--bs-pink-700);
  font-size:.76rem;
  font-weight:900;
}
.membership2026-quick-grid strong{
  display:block;
  margin-top:10px;
  color:#222923;
  font-size:1.02rem;
  line-height:1.5;
}
.membership2026-plans{
  padding-top:70px;
}
.membership2026-section-head{
  max-width:820px;
  margin-bottom:32px;
}
.membership2026-section-head.compact{
  max-width:760px;
}
.membership2026-section-head>span{
  display:block;
  color:var(--bs-pink-700);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:0;
}
.membership2026-section-head h2{
  margin:12px 0 12px;
  color:#1f2922;
  font-size:2.55rem;
  line-height:1.22;
  letter-spacing:0;
}
.membership2026-section-head p{
  max-width:720px;
  margin:0;
  color:#657066;
  line-height:1.78;
}
.membership2026-plan-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.membership2026-plan-card{
  position:relative;
  min-height:520px;
  display:flex;
  flex-direction:column;
  padding:28px 24px;
  border:1px solid #e0e5dc;
  border-radius:8px;
  background:#fff;
  box-shadow:0 18px 52px rgba(24,40,30,.08);
}
.membership2026-plan-card.featured{
  color:#fff;
  border-color:#98265f;
  background:linear-gradient(145deg,var(--bs-pink-900),var(--bs-pink-600));
}
.membership2026-plan-card.annual{
  border:2px solid var(--bs-green-700);
  background:#fbfff9;
}
.membership2026-plan-card.organization{
  background:#f8faf6;
}
.membership2026-plan-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.membership2026-plan-top span{
  color:var(--bs-pink-700);
  font-size:.72rem;
  font-weight:900;
}
.membership2026-plan-top b{
  color:#303a32;
  font-size:.96rem;
}
.membership2026-plan-card.featured .membership2026-plan-top span,
.membership2026-plan-card.featured .membership2026-plan-top b{
  color:#ffd0e7;
}
.membership2026-plan-card h3{
  margin:28px 0 12px;
  color:#1f2922;
  font-size:2rem;
  line-height:1.1;
  letter-spacing:0;
}
.membership2026-plan-card.featured h3{
  color:#fff;
}
.membership2026-plan-card p{
  min-height:88px;
  margin:0;
  color:#677168;
  line-height:1.72;
}
.membership2026-plan-card.featured p{
  color:rgba(255,255,255,.78);
}
.membership2026-plan-card ul{
  display:grid;
  gap:10px;
  margin:26px 0 26px;
  padding:0;
  list-style:none;
}
.membership2026-plan-card li{
  position:relative;
  padding-left:22px;
  color:#39433c;
  line-height:1.55;
}
.membership2026-plan-card li:before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--bs-green-700);
}
.membership2026-plan-card.featured li{
  color:rgba(255,255,255,.86);
}
.membership2026-plan-card.featured li:before{
  background:#ffd0e7;
}
.membership2026-plan-card .btn{
  margin-top:auto;
}
.membership2026-plan-badge{
  position:absolute;
  top:16px;
  right:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  background:var(--bs-green-700);
  color:#fff;
  font-size:.78rem;
  font-weight:900;
}
.membership2026-table{
  overflow:hidden;
  border:1px solid #dce4da;
  border-radius:8px;
  background:#fff;
  box-shadow:0 18px 52px rgba(24,40,30,.08);
}
.membership2026-table [role="row"]{
  display:grid;
  grid-template-columns:1.15fr repeat(3,1fr);
  min-height:66px;
  border-top:1px solid #e5ebe3;
}
.membership2026-table [role="row"]:first-child{
  border-top:0;
}
.membership2026-table .head{
  min-height:58px;
  background:#102417;
  color:#fff;
}
.membership2026-table span,
.membership2026-table b{
  display:flex;
  align-items:center;
  padding:16px 18px;
  border-left:1px solid #e5ebe3;
  line-height:1.45;
}
.membership2026-table .head span{
  border-left:1px solid rgba(255,255,255,.12);
}
.membership2026-table span:first-child,
.membership2026-table b:first-child{
  border-left:0;
}
.membership2026-table [role="rowheader"]{
  color:#2b342e;
  font-weight:900;
}
.membership2026-table b{
  color:#536057;
  font-weight:850;
}
.membership2026-flow{
  background:#fff;
}
.membership2026-flow-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.membership2026-flow-grid article{
  min-height:230px;
  padding:26px;
  border:1px solid #e0e5dc;
  border-radius:8px;
  background:#f8faf6;
}
.membership2026-flow-grid article:nth-child(2),
.membership2026-flow-grid article:nth-child(4){
  background:#fff7fb;
}
.membership2026-flow-grid span{
  color:var(--bs-pink-700);
  font-size:.78rem;
  font-weight:900;
}
.membership2026-flow-grid h3{
  margin:42px 0 10px;
  font-size:1.25rem;
  letter-spacing:0;
}
.membership2026-flow-grid p{
  margin:0;
  color:#657066;
  line-height:1.7;
}
.membership2026-bylaws{
  background:#f6f7f3;
}
.membership2026-legal-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.membership2026-legal-grid article{
  min-height:250px;
  padding:26px;
  border:1px solid #e0e5dc;
  border-radius:8px;
  background:#fff;
}
.membership2026-legal-grid article.primary{
  color:#fff;
  border-color:#173522;
  background:#173522;
}
.membership2026-legal-grid span{
  color:var(--bs-pink-700);
  font-size:.78rem;
  font-weight:900;
}
.membership2026-legal-grid article.primary span{
  color:#b9dfb2;
}
.membership2026-legal-grid h3{
  margin:36px 0 12px;
  font-size:1.24rem;
  line-height:1.34;
  letter-spacing:0;
}
.membership2026-legal-grid p{
  margin:0;
  color:#657066;
  line-height:1.7;
}
.membership2026-legal-grid article.primary p{
  color:rgba(255,255,255,.76);
}
.membership2026-note{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  margin-top:14px;
  padding:22px;
  border:1px solid #e0e5dc;
  border-radius:8px;
  background:#fff;
}
.membership2026-note p{
  margin:0;
  color:#58625a;
}
@media(max-width:1100px){
  .membership2026-plan-grid,
  .membership2026-flow-grid,
  .membership2026-legal-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .membership2026-hero-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .membership2026-hero{
    padding:56px 0 58px;
  }
  .membership2026-hero-copy h1{
    font-size:2.7rem;
  }
  .membership2026-current{
    padding:22px;
  }
  .membership2026-current>strong{
    font-size:1.42rem;
  }
  .membership2026-quick-grid,
  .membership2026-plan-grid,
  .membership2026-flow-grid,
  .membership2026-legal-grid{
    grid-template-columns:1fr;
  }
  .membership2026-section-head h2{
    font-size:2.05rem;
  }
  .membership2026-plan-card{
    min-height:auto;
  }
  .membership2026-plan-card p{
    min-height:auto;
  }
  .membership2026-table{
    overflow-x:auto;
  }
  .membership2026-table [role="row"]{
    min-width:720px;
  }
  .membership2026-note{
    display:grid;
  }
  .membership2026-note .btn{
    width:100%;
  }
}

/* Award application form aligned with membership UX */
.award27-application{background:#f6f7f3}
.award27-apply-hero{position:relative;padding:68px 0 76px;background:linear-gradient(135deg,#102417 0%,#102417 54%,#173522 100%);color:#fff;overflow:hidden}
.award27-apply-hero .container{position:relative;z-index:1}
.award27-apply-hero .breadcrumbs{margin-bottom:34px;color:rgba(255,255,255,.58);font-size:.82rem;font-weight:750}
.award27-apply-hero .breadcrumbs a:hover{color:#fff}
.award27-apply-hero .award27-kicker,.award27-modal-panel .award27-kicker{display:block;color:#b9dfb2;font-size:.72rem;font-weight:900;letter-spacing:.18em}
.award27-apply-hero h1{max-width:820px;margin:16px 0 18px;font-size:4.05rem;line-height:1.12;letter-spacing:0}
.award27-apply-hero h1 strong{color:#ff91c8}
.award27-apply-hero p{max-width:690px;margin:0;color:rgba(255,255,255,.72);font-size:1rem;line-height:1.82}
.award27-apply-quick{position:relative;z-index:2;margin-top:-38px;background:transparent;border:0}
.award27-apply-quick .container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.award27-apply-quick div{min-height:104px;padding:19px 20px;border:1px solid #e0e5dc;border-radius:8px;background:#fff;box-shadow:0 18px 52px rgba(24,40,30,.11)}
.award27-apply-quick div:last-child{border-right:1px solid #e0e5dc}
.award27-apply-quick span{display:block;color:var(--bs-pink-700);font-size:.72rem;font-weight:900;letter-spacing:.12em}
.award27-apply-quick strong{display:block;margin-top:10px;color:#222923;font-size:.96rem;line-height:1.48}
.award27-application>.section{padding-top:54px;background:#f6f7f3}
.award27-apply-layout{display:grid;grid-template-columns:minmax(235px,280px) minmax(0,1fr);gap:28px;align-items:start}
.award27-side{position:sticky;top:98px;overflow:hidden;border:1px solid #e0e5dc;border-radius:8px;background:#fff;box-shadow:0 18px 48px rgba(24,40,30,.1)}
.award27-progress-title{padding:22px 20px;border-bottom:0;background:#102417;color:#fff}
.award27-progress-title span{display:block;color:#b9dfb2;font-size:.68rem;font-weight:900;letter-spacing:.17em}
.award27-progress-title strong{display:block;margin-top:6px;font-size:1.12rem}
.award27-step{width:100%;min-height:76px;padding:16px 18px;border:0;border-bottom:1px solid #edf0eb;background:#fff;color:#2d352f;display:flex;gap:13px;align-items:center;text-align:left;transition:background .18s ease,color .18s ease}
.award27-step:hover{background:#fbfcfa}
.award27-step>span{width:36px;height:36px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:#edf3ea;color:var(--bs-green-800);font-size:.72rem;font-weight:900}
.award27-step strong,.award27-step small{display:block}
.award27-step strong{font-size:.96rem}
.award27-step small{margin-top:2px;color:#7a837b;font-size:.73rem;line-height:1.35}
.award27-step.active{background:var(--bs-pink-050);color:var(--bs-pink-900)}
.award27-step.active>span{background:var(--bs-pink-800);color:#fff}
.award27-step.completed>span{background:var(--bs-green-800);color:#fff}
.award27-receipt-btn{width:100%;min-height:56px;border:0;background:#102417;color:#fff;font-weight:900;transition:.18s ease}
.award27-receipt-btn:hover{background:var(--bs-green-900)}
.award27-form{overflow:hidden;border:1px solid #e0e5dc;border-radius:8px;background:#fff;box-shadow:0 24px 70px rgba(24,40,30,.12)}
.award27-form-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:82px;padding:23px 30px;border-bottom:1px solid #e5e9e2;background:#fff}
.award27-form-toolbar strong,.award27-form-toolbar small{display:block}
.award27-form-toolbar strong{font-size:1.05rem;color:#1f2822}
.award27-form-toolbar small{margin-top:4px;color:#778179;font-size:.82rem}
.award27-form-toolbar em,.award27-form .field em,.award27-consent em{color:var(--bs-pink-700);font-style:normal}
.award27-form-panel{padding:34px 32px 38px}
.award27-form-panel[hidden]{display:none!important}
.award27-panel-head{margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid #e5e9e2}
.award27-panel-head span{display:block;color:var(--bs-pink-700);font-size:.72rem;font-weight:900;letter-spacing:.16em}
.award27-panel-head h2{margin:8px 0 8px;color:#171d19;font-size:2rem;line-height:1.18;letter-spacing:0}
.award27-panel-head p{margin:0;color:#6c766e;font-size:.92rem;line-height:1.65}
.award27-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px}
.award27-form .field.full{grid-column:1/-1}
.award27-form .field label,.award27-form .field legend,.award27-modal-panel .field label{display:block;margin-bottom:8px;color:#323b34;font-size:.86rem;font-weight:850}
.award27-form .field input,.award27-form .field select,.award27-form .field textarea,.award27-modal-panel .field input{width:100%;border:1px solid #d8dfd4;border-radius:8px;background:#fbfcfa;color:var(--ink);outline:0;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.award27-form .field input,.award27-form .field select,.award27-modal-panel .field input{height:54px;padding:0 15px}
.award27-form .field textarea{min-height:164px;padding:14px 15px;line-height:1.72;resize:vertical}
.award27-form .field input:focus,.award27-form .field select:focus,.award27-form .field textarea:focus,.award27-modal-panel .field input:focus{border-color:var(--bs-green-700);background:#fff;box-shadow:0 0 0 4px rgba(47,125,50,.1)}
.award27-form .field small{display:block;margin-top:7px;color:#7a837b;font-size:.76rem}
.award27-check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0;border:0}
.award27-check-grid legend{grid-column:1/-1;margin-bottom:0;color:#323b34;font-size:.86rem;font-weight:900}
.award27-check-grid label{display:flex;align-items:center;gap:8px;min-height:56px;padding:14px 15px;border:1px solid #dfe5db;border-radius:8px;background:#fbfcfa;color:#374039;font-weight:750}
.award27-check-grid input,.award27-consent input{accent-color:var(--bs-pink-700)}
.award27-check-grid label:has(input:checked){border-color:var(--bs-pink-700);background:var(--bs-pink-050);box-shadow:0 0 0 3px rgba(181,47,115,.08)}
.award27-file-drop{position:relative;min-height:158px;padding:38px 24px;border:2px dashed #e7b9d2;border-radius:8px;background:var(--bs-pink-050);text-align:center;transition:border-color .18s ease,background .18s ease}
.award27-file-drop:hover{border-color:var(--bs-pink-700);background:#fff}
.award27-file-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.award27-file-drop strong,.award27-file-drop small{display:block}
.award27-file-drop strong{color:#242d27;font-size:1rem}
.award27-file-drop small{margin-top:8px;color:#78827a;font-size:.8rem}
.file-list{list-style:none;margin:12px 0 0;padding:0}
.file-list li{display:flex;justify-content:space-between;gap:12px;margin-top:7px;padding:10px 12px;border:1px solid #e3e8df;border-radius:8px;background:#fbfcfa;color:#4c574f;font-size:.82rem}
.award27-review{margin-bottom:20px;padding:24px;border:1px solid #e3e8df;border-radius:8px;background:var(--bs-cream-050)}
.award27-review dl{display:grid;grid-template-columns:132px 1fr;gap:10px 18px;margin:0}
.award27-review dt{color:#78827a;font-size:.82rem}
.award27-review dd{margin:0;color:#29322c;font-size:.88rem;font-weight:750;white-space:pre-wrap}
.award27-consent{display:grid;gap:8px}
.award27-consent label{display:flex;gap:10px;align-items:flex-start;padding:14px 15px;border:1px solid #e3e8df;border-radius:8px;background:#fbfcfa;color:#4e584f;font-size:.88rem;line-height:1.55}
.award27-privacy-box{margin-top:16px;padding:18px 20px;border:1px solid #d9e8dc;border-radius:8px;background:var(--bs-green-050)}
.award27-privacy-box strong{display:block;color:var(--bs-green-900);font-size:.92rem}
.award27-privacy-box p{margin:8px 0 0;color:#607066;font-size:.82rem;line-height:1.7}
.award27-form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 30px;border-top:1px solid #e5e9e2;background:#fbfcfa}
.award27-form-actions>div{display:flex;gap:8px}
.award27-form .form-message{min-height:22px;margin:0;padding:0 30px 24px;font-size:.86rem;font-weight:850}
.award27-modal{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(10,20,14,.62);backdrop-filter:blur(5px)}
.award27-modal.open{display:flex}
.award27-modal-panel{position:relative;width:min(100%,470px);padding:38px;border:1px solid #e0e5dc;border-radius:8px;background:#fff;box-shadow:0 24px 70px rgba(10,20,14,.22)}
.award27-modal-close{position:absolute;right:14px;top:12px;width:38px;height:38px;border:0;border-radius:8px;background:#f1f5ef;color:#263128;font-size:1.45rem;line-height:1}
.award27-modal-panel h2{margin:8px 0 10px;color:#171d19;font-size:2.1rem;letter-spacing:0}
.award27-modal-panel p{margin-bottom:22px;color:#6c766e;font-size:.92rem}
.award27-modal-panel .field{margin-bottom:14px}
.award27-modal-panel .form-message{min-height:22px;margin-top:14px;font-size:.86rem;font-weight:850}

@media(max-width:1000px){
  .award27-apply-hero{padding:58px 0 70px}
  .award27-apply-hero h1{font-size:3.3rem}
  .award27-apply-layout{grid-template-columns:1fr}
  .award27-side{position:static;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
  .award27-progress-title,.award27-receipt-btn{grid-column:1/-1}
  .award27-step{justify-content:center;min-height:64px;padding:12px}
  .award27-step div{display:none}
}

@media(max-width:720px){
  .award27-apply-hero{padding:42px 0 60px}
  .award27-apply-hero .breadcrumbs{margin-bottom:24px;overflow:auto;white-space:nowrap}
  .award27-apply-hero h1{font-size:2.55rem;line-height:1.15}
  .award27-apply-quick{margin-top:-26px}
  .award27-apply-quick .container{grid-template-columns:1fr}
  .award27-apply-quick div{min-height:auto;padding:17px 18px}
  .award27-application>.section{padding-top:38px}
  .award27-side{grid-template-columns:repeat(4,1fr)}
  .award27-step{min-height:58px}
  .award27-step>span{width:34px;height:34px}
  .award27-form-toolbar{display:block;padding:22px}
  .award27-form-toolbar .btn{margin-top:14px;width:100%}
  .award27-form-panel{padding:26px 20px 30px}
  .award27-panel-head h2{font-size:1.65rem}
  .award27-form .form-grid,.award27-check-grid{grid-template-columns:1fr}
  .award27-form-actions{display:grid;grid-template-columns:1fr;padding:18px 20px}
  .award27-form-actions>div{display:grid;grid-template-columns:1fr 1fr}
  .award27-form-actions #award27Submit{grid-column:1/-1}
  .award27-form .form-message{padding:0 20px 22px}
  .award27-review dl{grid-template-columns:1fr}
  .award27-modal-panel{padding:32px 22px}
}

/* Credential path MVP */
.credential-bridge-section{background:#f7f8f3;padding:86px 0;border-top:1px solid var(--line)}
.credential-bridge-head{max-width:760px;margin-bottom:32px}
.credential-bridge-head span,.credential-kicker{display:block;font-size:.72rem;letter-spacing:.16em;font-weight:900;color:var(--brand-pink)}
.credential-bridge-head h2,.credential-hero h1{font-size:clamp(2.1rem,4vw,4.4rem);line-height:1.12;margin:12px 0}
.credential-bridge-head p,.credential-hero p{color:var(--muted);font-size:1rem}
.credential-bridge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#dfe3da;border:1px solid #dfe3da}
.credential-bridge-grid a{display:block;min-height:220px;background:#fff;padding:28px;color:inherit}
.credential-bridge-grid b{display:block;color:var(--brand-pink);font-size:.78rem;margin-bottom:44px}
.credential-bridge-grid strong{display:block;font-size:1.28rem;margin-bottom:10px}
.credential-bridge-grid span{display:block;color:var(--muted);font-size:.9rem}
.credential-bridge-actions,.credential-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.credential-course-flow{grid-template-columns:repeat(6,1fr)}
.course-credential-tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.course-credential-tags span{border:1px solid #dfe7dd;background:#f8fbf7;color:#375141;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:800}
.credential-hero{padding:110px 0 78px;background:#111713;color:#fff}
.credential-hero.compact{padding:92px 0 64px}
.credential-hero-grid{display:grid;grid-template-columns:1fr 360px;gap:36px;align-items:end}
.credential-hero p{color:rgba(255,255,255,.7);max-width:760px}
.path-status-card{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);padding:30px;border-radius:18px}
.path-status-card b,.path-status-card strong{display:block}.path-status-card b{color:#b8efca}.path-status-card strong{font-size:1.4rem;margin:12px 0}
.path-goal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px}
.path-goal-grid button,.credential-tabs button,.credential-filter button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px;text-align:left;font-weight:800}
.path-goal-grid button.active,.credential-tabs button.active,.credential-filter button.active{background:var(--bs-ink-950);color:#fff;border-color:var(--bs-ink-950)}
.credential-tabs,.credential-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.path-panel{border:1px solid var(--line);background:#fff;padding:30px}
.path-panel-head h3{font-size:2rem;margin:8px 0}
.path-step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#e3e5de;margin-top:22px}
.path-step-grid article{background:#fff;padding:24px;min-height:210px}.path-step-grid b,.path-step-grid strong{display:block}.path-step-grid strong{color:var(--brand-green);margin:18px 0 10px}
.credential-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.credential-type-grid details{border:1px solid var(--line);border-radius:16px;background:#fff;padding:24px}.credential-type-grid summary{cursor:pointer}.credential-type-grid summary span,.credential-type-grid summary b{display:block}.credential-type-grid summary span{color:var(--brand-pink);font-weight:900;font-size:.78rem}.credential-type-grid summary b{font-size:1.24rem;margin-top:8px}
.credential-state,.verify-result{border:1px solid var(--line);background:#fff;padding:22px;margin-bottom:18px;color:var(--muted)}
.credential-empty-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.credential-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.credential-card{display:grid;grid-template-columns:72px 1fr;gap:18px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:22px}.credential-mark{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#f2f7ff;color:#25436f;font-weight:900}.credential-card h3{font-size:1.2rem;margin:6px 0}.credential-card p,.credential-card small{color:var(--muted)}.credential-card div:last-child div{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.credential-detail-section{background:#f7f8f3}.credential-detail-card{background:#fff;border:1px solid var(--line);padding:36px;max-width:860px;margin:auto}.credential-detail-card h1{font-size:2.3rem}.credential-detail-card dl{border-top:2px solid #222}.credential-detail-card dl div{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid var(--line);padding:14px 0}.credential-detail-card dt{font-weight:900}.credential-detail-card dd{margin:0;color:var(--muted)}.credential-detail-status{display:inline-flex;padding:8px 12px;border-radius:999px;background:#e7f6ec;color:#126b32;font-weight:900}
.verify-search{border:1px solid var(--line);background:#fff;padding:24px;margin-bottom:18px}.verify-search label{display:block;font-weight:900;margin-bottom:10px}.verify-search div{display:grid;grid-template-columns:1fr auto;gap:8px}.verify-search input,.award-winner-filter input,.award-winner-filter select,.admin-credential-form input,.admin-credential-form select,.admin-credential-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px 14px;background:#fff}
.award-winner-filter{display:grid;grid-template-columns:1fr 160px 160px auto;gap:8px;margin-bottom:22px}.award-winner-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.award-winner-list article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}.award-winner-list span{color:var(--brand-pink);font-weight:900}.award-winner-list p{color:var(--muted)}
.award-winner-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.admin-credential-layout{display:grid;grid-template-columns:240px 1fr;gap:28px}.admin-credential-form{border:1px solid var(--line);background:#fff;padding:24px}.admin-credential-form .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:18px}.admin-credential-form .field{display:grid;gap:8px}.admin-credential-form .field.full{grid-column:1/-1}
@media(max-width:1024px){.credential-bridge-grid,.path-goal-grid,.path-step-grid{grid-template-columns:repeat(2,1fr)}.credential-course-flow{grid-template-columns:repeat(3,1fr)}.credential-hero-grid,.admin-credential-layout{grid-template-columns:1fr}.credential-list,.award-winner-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.credential-bridge-section,.credential-hero{padding:70px 0}.credential-bridge-grid,.path-goal-grid,.path-step-grid,.credential-type-grid,.credential-list,.award-winner-list,.credential-course-flow{grid-template-columns:1fr}.credential-bridge-grid a{min-height:auto}.verify-search div,.award-winner-filter,.admin-credential-form .form-grid{grid-template-columns:1fr}.credential-detail-card{padding:24px 18px}.credential-detail-card dl div{grid-template-columns:1fr;gap:4px}.credential-card{grid-template-columns:1fr}.credential-mark{width:58px;height:58px}}

/* Digital badge introduction page */
.badge-intro-page{background:#f6f7f3;color:#171d19}
.badge-hero{position:relative;overflow:hidden;padding:96px 0 80px;background:linear-gradient(135deg,#0f2317 0%,#173421 58%,#24172a 100%);color:#fff}
.badge-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.04),transparent 44%),linear-gradient(180deg,transparent,rgba(0,0,0,.18));pointer-events:none}
.badge-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,500px);gap:54px;align-items:center}
.badge-hero-copy h1{max-width:820px;margin:18px 0 20px;font-size:5.1rem;line-height:1.08;letter-spacing:0}
.badge-hero-copy p{max-width:680px;color:rgba(255,255,255,.72);font-size:1.05rem;line-height:1.82}
.badge-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.badge-hero-visual{position:relative;min-height:520px}
.badge-hero-visual img{display:block;border-radius:8px;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.badge-hero-main{position:absolute;right:8%;top:9%;width:70%;max-width:410px}
.badge-hero-secondary{position:absolute;width:44%;max-width:230px}
.badge-float-a{left:0;bottom:5%;transform:rotate(-5deg)}
.badge-float-b{right:0;bottom:0;transform:rotate(6deg)}
.badge-proof-strip{position:relative;margin-top:-42px;z-index:2}
.badge-proof-strip .container{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.badge-proof-strip article{min-height:112px;padding:22px;border:1px solid #e0e5dc;border-radius:8px;background:#fff;box-shadow:0 18px 52px rgba(24,40,30,.11)}
.badge-proof-strip strong{display:block;color:var(--bs-pink-800);font-size:1.55rem;line-height:1;font-weight:950}
.badge-proof-strip span{display:block;margin-top:12px;color:#59625c;font-size:.86rem;font-weight:850}
.badge-section-head{max-width:900px;margin-bottom:36px}
.badge-section-head h2{margin:12px 0 14px;font-size:3.8rem;line-height:1.2;letter-spacing:0}
.badge-section-head p{max-width:760px;color:#667069;font-size:1rem;line-height:1.78}
.badge-value-section{background:#f6f7f3}
.badge-value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.badge-value-grid article{min-height:260px;padding:28px;border:1px solid #e0e5dc;border-radius:8px;background:#fff;box-shadow:0 10px 30px rgba(24,40,30,.06)}
.badge-value-grid article:nth-child(odd){background:#fff7fb}
.badge-value-grid article:nth-child(even){background:#f5fbf7}
.badge-value-grid b{display:block;color:var(--bs-pink-700);font-size:.75rem;letter-spacing:.12em}
.badge-value-grid strong{display:block;margin:52px 0 12px;color:#171d19;font-size:1.35rem}
.badge-value-grid p{margin:0;color:#626d65;font-size:.9rem;line-height:1.7}
.badge-track-section{background:#fff}
.badge-track-block{display:grid;grid-template-columns:310px minmax(0,1fr);gap:26px;align-items:start;padding:28px;border:1px solid #e0e5dc;border-radius:8px;background:#fbfaf6}
.badge-track-block+.badge-track-block{margin-top:18px}
.badge-track-block.ai-track{background:#f7fbf8}
.badge-track-copy{position:sticky;top:100px;padding:8px 0}
.badge-track-copy span{display:block;color:var(--bs-pink-700);font-size:.72rem;font-weight:900;letter-spacing:.16em}
.badge-track-copy h3{margin:12px 0 14px;color:#171d19;font-size:2rem;line-height:1.18}
.badge-track-copy p{margin:0;color:#657069;font-size:.94rem;line-height:1.75}
.badge-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.badge-card{display:flex;flex-direction:column;min-height:100%;overflow:hidden;border:1px solid #dfe5db;border-radius:8px;background:#fff;box-shadow:0 12px 32px rgba(24,40,30,.08)}
.badge-card img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#fbf8f1;border-bottom:1px solid #ece4d6}
.badge-card div{padding:18px}
.badge-card span{display:block;color:var(--bs-pink-700);font-size:.7rem;font-weight:950;letter-spacing:.14em}
.badge-card h4{margin:8px 0 8px;color:#171d19;font-size:1.18rem;line-height:1.24}
.badge-card p{margin:0;color:#626d65;font-size:.84rem;line-height:1.62}
.badge-system-section{background:#102417;color:#fff}
.badge-system-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:54px;align-items:start}
.badge-system-grid h2{margin:14px 0 16px;font-size:3.6rem;line-height:1.22;letter-spacing:0}
.badge-system-grid p{max-width:680px;color:rgba(255,255,255,.68);line-height:1.82}
.badge-system-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.badge-system-list li{display:grid;grid-template-columns:148px 1fr;gap:16px;padding:20px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(255,255,255,.06)}
.badge-system-list b{color:#f2d69b;font-size:.96rem}
.badge-system-list span{color:rgba(255,255,255,.72);font-size:.92rem;line-height:1.65}
.badge-final-cta{padding:78px 0;background:#f7f3eb}
.badge-final-cta .container{display:flex;align-items:center;justify-content:space-between;gap:26px}
.badge-final-cta h2{margin:12px 0 0;font-size:3.25rem;line-height:1.2;letter-spacing:0}
.badge-final-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1080px){
  .badge-hero-grid,.badge-track-block,.badge-system-grid{grid-template-columns:1fr}
  .badge-hero-copy h1{font-size:4rem}
  .badge-section-head h2,.badge-system-grid h2{font-size:3rem}
  .badge-final-cta h2{font-size:2.8rem}
  .badge-hero-visual{min-height:430px;max-width:620px}
  .badge-track-copy{position:static}
  .badge-value-grid,.badge-proof-strip .container{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .badge-hero{padding:68px 0 58px}
  .badge-hero-copy h1{font-size:2.7rem}
  .badge-hero-visual{min-height:360px}
  .badge-hero-main{right:6%;width:76%}
  .badge-hero-secondary{width:43%}
  .badge-proof-strip{margin-top:-24px}
  .badge-proof-strip .container,.badge-value-grid,.badge-card-grid{grid-template-columns:1fr}
  .badge-proof-strip article{min-height:auto}
  .badge-track-block{padding:20px}
  .badge-section-head h2,.badge-system-grid h2,.badge-final-cta h2{font-size:2.25rem}
  .badge-system-list li{grid-template-columns:1fr;gap:8px}
  .badge-final-cta .container{display:block}
  .badge-final-actions{justify-content:flex-start;margin-top:24px}
}

/* =========================================================
   SUSTAINABLE SCHOOL MANAGEMENT TRAINING
========================================================= */
.training-hero{position:relative;min-height:760px;display:flex;align-items:center;overflow:hidden;color:#fff;background:linear-gradient(135deg,#101512,#173020)}
.training-hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 15% 18%,rgba(181,47,115,.28),transparent 27%),radial-gradient(circle at 84% 72%,rgba(38,137,77,.3),transparent 30%);pointer-events:none}
.training-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .7fr;gap:80px;align-items:center;padding-top:110px;padding-bottom:110px}
.training-kicker{font-size:.7rem;letter-spacing:.17em;color:var(--bs-green-200);font-weight:900}
.training-hero-copy h1{font-size:clamp(3.6rem,6vw,6.4rem);line-height:1.04;letter-spacing:-.072em;margin:24px 0}.training-hero-copy h1 strong{color:#ff91c8}.training-hero-copy>p{max-width:760px;color:rgba(255,255,255,.72);font-size:1.04rem;line-height:1.85}
.training-hero-actions{display:flex;gap:10px;margin-top:32px}.training-trust-row{display:flex;margin-top:52px;border-top:1px solid rgba(255,255,255,.14)}.training-trust-row div{padding:22px 35px 0 0;margin-right:35px;border-right:1px solid rgba(255,255,255,.13)}.training-trust-row div:last-child{border-right:0}.training-trust-row strong,.training-trust-row span{display:block}.training-trust-row strong{font-size:1.25rem}.training-trust-row span{font-size:.72rem;color:rgba(255,255,255,.55)}
.training-map-card{padding:42px;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-xl);background:rgba(255,255,255,.055);backdrop-filter:blur(12px);box-shadow:0 28px 70px rgba(0,0,0,.24)}.training-map-shape{height:180px;border-radius:50% 45% 55% 40%;display:grid;place-items:center;background:linear-gradient(145deg,rgba(181,47,115,.7),rgba(38,137,77,.55));font-size:2.8rem;font-weight:900;letter-spacing:.18em;transform:rotate(-6deg);margin-bottom:35px}.training-map-card>span{font-size:.68rem;letter-spacing:.15em;color:var(--bs-green-200);font-weight:900}.training-map-card h2{font-size:2.4rem;line-height:1.25;margin:13px 0 20px}.training-map-card ul{padding-left:18px;color:rgba(255,255,255,.68);line-height:1.9}
.training-sticky-nav{position:sticky;top:88px;z-index:70;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.training-sticky-nav .container{display:flex;justify-content:center;gap:34px;overflow:auto}.training-sticky-nav a{min-height:64px;display:flex;align-items:center;white-space:nowrap;font-weight:750}
.training-section-head{max-width:900px;margin-bottom:50px}.training-section-head>span{font-size:.7rem;letter-spacing:.17em;color:var(--bs-pink-700);font-weight:900}.training-section-head h2{font-size:clamp(2.5rem,4.3vw,4.3rem);line-height:1.22;margin:15px 0 22px}.training-section-head p{max-width:800px;color:var(--muted);line-height:1.82}.training-section-head.light h2{color:#fff}.training-section-head.light p{color:rgba(255,255,255,.65)}.training-section-head.light>span{color:#ff9dce}
.training-evolution{display:grid;grid-template-columns:1fr 80px 1fr;gap:18px;align-items:center}.training-evolution article{min-height:300px;padding:34px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bs-cream-050)}.training-evolution article.current{background:linear-gradient(145deg,var(--bs-pink-900),var(--bs-pink-600));color:#fff}.training-evolution article>span{font-size:.7rem;color:var(--bs-pink-700);font-weight:900}.training-evolution .current>span{color:#ffd1e8}.training-evolution h3{font-size:1.7rem;margin:65px 0 16px}.training-evolution p{color:var(--muted)}.training-evolution .current p{color:rgba(255,255,255,.7)}.training-evolution-arrow{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--bs-green-100);color:var(--bs-green-900);font-size:1.6rem;margin:auto}
.training-history{background:linear-gradient(145deg,var(--bs-ink-950),#1a2b20)}.training-history-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.training-history-numbers article{min-height:260px;padding:30px;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);background:rgba(255,255,255,.045);color:#fff}.training-history-numbers strong{display:block;font-size:2.5rem;color:#ff91c8}.training-history-numbers span{display:block;margin-top:38px;font-weight:800}.training-history-numbers p{color:rgba(255,255,255,.55);font-size:.84rem;margin-top:10px}
.training-days{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.training-days article{min-height:360px;padding:34px;border-radius:var(--radius-lg);border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-soft)}.training-days article:nth-child(1){background:var(--bs-pink-050)}.training-days article:nth-child(2){background:var(--bs-green-050)}.training-days article:nth-child(3){background:var(--bs-cream-050)}.training-days span{font-size:.7rem;color:var(--bs-pink-700);font-weight:900}.training-days h3{font-size:1.6rem;margin:70px 0 20px}.training-days ul{padding-left:18px;color:var(--muted);line-height:2}
.training-difference{background:var(--bs-cream-050)}.training-difference-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.training-difference-grid article{min-height:260px;padding:32px;border-radius:var(--radius-lg);background:#fff;border:1px solid var(--bs-cream-300)}.training-difference-grid span{font-size:.7rem;color:var(--bs-pink-700);font-weight:900}.training-difference-grid h3{font-size:1.45rem;margin:52px 0 14px}.training-difference-grid p{color:var(--muted)}
.training-security{background:linear-gradient(145deg,var(--bs-green-900),#1a5130);color:#fff}.training-security-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.training-security span{font-size:.7rem;letter-spacing:.17em;color:var(--bs-green-200);font-weight:900}.training-security h2{font-size:clamp(2.5rem,4vw,4rem);line-height:1.25;margin-top:15px}.training-security p,.training-security li{color:rgba(255,255,255,.68)}.training-security ul{padding-left:18px;line-height:2}.training-security .btn{margin-top:20px}
.training-interest-card{display:flex;justify-content:space-between;gap:50px;align-items:center;padding:48px;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--bs-pink-050)}.training-interest-card span{font-size:.7rem;color:var(--bs-pink-700);font-weight:900}.training-interest-card h2{font-size:2.5rem;margin:13px 0}.training-interest-card p{max-width:660px;color:var(--muted)}.training-interest-actions{display:flex;gap:10px;flex-wrap:wrap}

.member-training-summary,.member-training-apply{padding:30px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bs-cream-050)}.member-training-summary h2{font-size:2rem;margin:10px 0}.member-training-summary p{color:var(--muted)}.member-training-watermark{margin:14px 0;padding:10px 14px;border:1px dashed var(--bs-pink-200);background:var(--bs-pink-050);color:var(--bs-pink-800);font-size:.75rem;text-align:right}.member-training-apply{margin-top:20px;background:var(--bs-green-050)}.member-training-apply>span{font-size:.68rem;color:var(--bs-green-700);font-weight:900}.member-training-apply textarea{width:100%;min-height:130px;margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);resize:vertical}.member-training-resources{margin-top:38px}

@media(max-width:1000px){.training-hero-grid,.training-security-grid{grid-template-columns:1fr}.training-map-card{max-width:600px}.training-history-numbers{grid-template-columns:1fr 1fr}.training-evolution{grid-template-columns:1fr}.training-evolution-arrow{transform:rotate(90deg)}}
@media(max-width:760px){.training-hero{min-height:auto}.training-hero-grid{padding-top:92px;padding-bottom:82px}.training-hero-copy h1{font-size:3rem}.training-hero-actions{display:grid}.training-trust-row div{padding-right:14px;margin-right:14px}.training-sticky-nav{top:70px}.training-sticky-nav .container{justify-content:flex-start;gap:24px}.training-sticky-nav a{min-height:56px}.training-history-numbers,.training-days,.training-difference-grid{grid-template-columns:1fr}.training-interest-card{display:block;padding:30px}.training-interest-actions{margin-top:24px}.training-evolution h3{margin-top:45px}}


/* =========================================================
   AWARD APPLICATION FORM ALIGNMENT
   학교정보 입력영역 좌측 기준선 및 필드 정렬 통일
========================================================= */
.award27-form-panel .form-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  column-gap:24px;
  row-gap:24px;
  align-items:start;
}

.award27-form-panel .field{
  width:100%;
  min-width:0;
  margin:0;
  text-align:left;
  align-self:start;
}

.award27-form-panel .field.full{
  grid-column:1 / -1;
}

.award27-form-panel .field > label,
.award27-form-panel .field > legend{
  display:block;
  width:100%;
  margin:0 0 9px;
  padding:0;
  text-align:left;
  line-height:1.45;
}

.award27-form-panel .field input,
.award27-form-panel .field select,
.award27-form-panel .field textarea{
  display:block;
  width:100%;
  max-width:none;
  margin:0;
  text-align:left;
}

.award27-form-panel .field input,
.award27-form-panel .field select{
  height:52px;
  min-height:52px;
}

.award27-form-panel .field textarea{
  min-height:160px;
}

.award27-form-panel .field > small{
  display:block;
  width:100%;
  margin-top:7px;
  text-align:left;
  color:var(--muted);
}

/* 체크박스 그룹도 왼쪽 정렬 */
.award27-check-grid{
  text-align:left;
}

.award27-check-grid legend{
  grid-column:1 / -1;
}

.award27-check-grid label{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:9px;
  text-align:left;
}

/* 파일 업로드 안내문도 왼쪽 정렬 */
.award27-file-drop{
  text-align:left;
}

.award27-file-drop strong,
.award27-file-drop small{
  text-align:left;
}

/* 모바일에서는 한 열로 자연스럽게 전환 */
@media(max-width:760px){
  .award27-form-panel .form-grid{
    grid-template-columns:1fr;
    column-gap:0;
    row-gap:20px;
  }

  .award27-form-panel .field.full{
    grid-column:auto;
  }
}


/* =========================================================
   FOOTER — ACCESSIBLE LIGHT VERSION
========================================================= */
.cmk-footer,
.footer{
  padding:54px 0 28px;
  background:#f8faf7 !important;
  color:#1f2937 !important;
  border-top:1px solid #cfd8d1;
}

.cmk-footer a,
.footer a{
  color:#374151;
  font-weight:650;
  text-decoration-thickness:.08em;
  text-underline-offset:.18em;
}

.cmk-footer a:hover,
.cmk-footer a:focus-visible,
.footer a:hover,
.footer a:focus-visible{
  color:#8a1d58;
  text-decoration:underline;
}

.cmk-footer a:focus-visible,
.footer a:focus-visible{
  outline:3px solid rgba(15,107,58,.32);
  outline-offset:3px;
  border-radius:4px;
}

.cmk-footer .footer-top,
.footer .footer-top{
  border-bottom-color:#cfd8d1;
}

.cmk-footer .footer-grid,
.footer .footer-grid{
  grid-template-columns:minmax(260px,1.35fr) minmax(140px,.75fr) minmax(180px,.9fr) minmax(220px,1fr);
  gap:46px;
  align-items:start;
  color:#374151;
}

.cmk-footer .footer-brand-block,
.footer .footer-brand-block{
  display:grid;
  gap:14px;
  max-width:320px;
}

.cmk-footer .footer-brand-text,
.footer .footer-brand-text{
  display:inline-flex;
  width:fit-content;
  color:#111827;
  font-size:1.24rem;
  line-height:1.28;
  font-weight:900;
  letter-spacing:0;
}

.cmk-footer .footer-brand-block p,
.footer .footer-brand-block p{
  margin:0;
  color:#4b5563;
  font-size:.9rem;
  line-height:1.72;
}

.cmk-footer .footer-title,
.footer .footer-title,
.cmk-footer .footer-grid strong,
.footer .footer-grid strong,
.cmk-footer .footer-brand strong,
.footer .footer-brand strong{
  color:#111827;
}

.cmk-footer .footer-grid p,
.footer .footer-grid p,
.cmk-footer address,
.footer address,
.cmk-footer .footer-bottom,
.footer .footer-bottom,
.cmk-footer small,
.footer small{
  color:#4b5563;
}

.cmk-footer .footer-links,
.footer .footer-links,
.cmk-footer .footer-links span,
.footer .footer-links span{
  color:#374151;
}

.cmk-footer .footer-links a,
.footer .footer-links a{
  color:#374151;
  font-weight:650;
}

.cmk-footer .footer-links a:hover,
.cmk-footer .footer-links a:focus-visible,
.footer .footer-links a:hover,
.footer .footer-links a:focus-visible{
  color:#8a1d58;
}

.cmk-footer .footer-bottom,
.footer .footer-bottom{
  margin-top:42px;
  padding:22px 0 0;
  border-top:1px solid #cfd8d1;
}

@media(max-width:900px){
  .cmk-footer .footer-grid,
  .footer .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:34px 28px;
  }
}

@media(max-width:620px){
  .cmk-footer,
  .footer{
    padding-top:42px;
  }

  .cmk-footer .footer-grid,
  .footer .footer-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .cmk-footer .footer-brand-text,
  .footer .footer-brand-text{
    font-size:1.12rem;
  }
}

.cmk-footer .footer-social a,
.footer .footer-social a{
  background:#fff;
  border:1px solid #cfd8d1;
  color:#0f6b3a;
}

.cmk-footer .footer-social a:hover,
.footer .footer-social a:hover{
  background:#fff7fb;
  border-color:#8a1d58;
  color:#8a1d58;
}

/* =========================================================
   FLOATING CHATBOT
========================================================= */
.bs-chatbot{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:1800;
  font-family:inherit;
}

.bs-chatbot-toggle{
  min-width:82px;
  height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:0;
  border-radius:999px;
  background:#18131b;
  color:#fff;
  font-weight:900;
  box-shadow:0 18px 45px rgba(24,19,27,.24);
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.bs-chatbot-toggle span{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#b52f73;
  color:#fff;
  font-size:1rem;
  line-height:1;
}

.bs-chatbot-toggle b{
  font-size:.92rem;
  letter-spacing:0;
}

.bs-chatbot-toggle:hover,
.bs-chatbot-toggle:focus-visible{
  transform:translateY(-2px);
  background:#0f2418;
  box-shadow:0 22px 55px rgba(15,36,24,.28);
}

.bs-chatbot-toggle:focus-visible,
.bs-chatbot-close:focus-visible,
.bs-chatbot-quick button:focus-visible,
.bs-chatbot-links a:focus-visible{
  outline:3px solid rgba(181,47,115,.32);
  outline-offset:3px;
}

.bs-chatbot-panel{
  position:absolute;
  right:0;
  bottom:70px;
  width:min(360px,calc(100vw - 32px));
  max-height:calc(100vh - 104px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #dfe6dc;
  border-radius:18px;
  background:#fff;
  box-shadow:0 28px 80px rgba(18,25,20,.24);
}

.bs-chatbot-head{
  flex:0 0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:22px 22px 18px;
  background:linear-gradient(135deg,#102417 0%,#24382a 100%);
  color:#fff;
}

.bs-chatbot-head span{
  display:block;
  margin-bottom:7px;
  color:#ff9dce;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.13em;
}

.bs-chatbot-head strong{
  display:block;
  font-size:1.18rem;
  line-height:1.32;
}

.bs-chatbot-close{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.2);
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:1.25rem;
  line-height:1;
  cursor:pointer;
}

.bs-chatbot-body{
  min-height:0;
  display:grid;
  gap:14px;
  padding:18px;
  overflow-y:auto;
  background:#f8faf7;
}

.bs-chatbot-message{
  max-width:100%;
  padding:13px 14px;
  border-radius:14px;
  font-size:.9rem;
  line-height:1.62;
}

.bs-chatbot-message.bot{
  border-top-left-radius:5px;
  background:#fff;
  color:#263129;
  box-shadow:0 10px 24px rgba(30,45,34,.08);
}

.bs-chatbot-message.user{
  justify-self:end;
  border-top-right-radius:5px;
  background:#b52f73;
  color:#fff;
  font-weight:850;
}

.bs-chatbot-quick{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.bs-chatbot-quick button{
  min-height:42px;
  padding:10px 12px;
  border:1px solid #dfe6dc;
  border-radius:999px;
  background:#fff;
  color:#263129;
  font-size:.82rem;
  font-weight:850;
  cursor:pointer;
  transition:border-color .18s ease, color .18s ease, background .18s ease;
}

.bs-chatbot-quick button:hover{
  border-color:#b52f73;
  background:#fff5fa;
  color:#8a1d58;
}

.bs-chatbot-answer{
  display:grid;
  gap:12px;
}

.bs-chatbot-links{
  display:grid;
  gap:8px;
}

.bs-chatbot-links a{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 13px;
  border:1px solid #dfe6dc;
  border-radius:10px;
  background:#fff;
  color:#0f6b3a;
  font-size:.86rem;
  font-weight:900;
}

.bs-chatbot-links a:hover{
  border-color:#0f6b3a;
  background:#f1f8f3;
}

.bs-chatbot-form{
  display:grid;
  gap:10px;
}

.bs-chatbot-form label{
  display:grid;
  gap:6px;
  color:#263129;
  font-size:.78rem;
  font-weight:850;
}

.bs-chatbot-form input,
.bs-chatbot-form select,
.bs-chatbot-form textarea{
  width:100%;
  border:1px solid #dfe6dc;
  border-radius:10px;
  background:#fff;
  color:#1f2937;
  font:inherit;
  font-size:.86rem;
  line-height:1.45;
  padding:11px 12px;
}

.bs-chatbot-form textarea{
  min-height:92px;
  resize:vertical;
}

.bs-chatbot-consent{
  display:flex !important;
  grid-template-columns:auto 1fr;
  align-items:flex-start;
  gap:8px !important;
  color:#4b5563 !important;
  font-size:.76rem !important;
  font-weight:700 !important;
  line-height:1.55;
}

.bs-chatbot-consent input{
  width:16px;
  height:16px;
  margin-top:2px;
  flex:0 0 auto;
}

.bs-chatbot-submit{
  min-height:46px;
  border:0;
  border-radius:999px;
  background:#b52f73;
  color:#fff;
  font-weight:900;
  cursor:pointer;
}

.bs-chatbot-submit:hover,
.bs-chatbot-submit:focus-visible{
  background:#8a1d58;
}

.bs-chatbot-submit:disabled{
  cursor:wait;
  opacity:.72;
}

.bs-chatbot-form-message{
  min-height:20px;
  margin:0;
  color:#176238;
  font-size:.78rem;
  font-weight:800;
}

.bs-chatbot-form-message.error{
  color:#b42318;
}

@media(max-width:620px){
  .bs-chatbot{
    right:14px;
    bottom:14px;
  }

  .bs-chatbot-toggle{
    min-width:58px;
    width:58px;
    padding:0;
  }

  .bs-chatbot-toggle b{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
  }

  .bs-chatbot-panel{
    right:0;
    bottom:68px;
    width:calc(100vw - 28px);
  }

  .bs-chatbot-quick{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   BYLAWS & LEGAL MEMBERSHIP
========================================================= */
.bylaws-hero{
  padding:112px 0 92px;
  color:#fff;
  background:
    radial-gradient(circle at 83% 22%,rgba(181,47,115,.22),transparent 25%),
    linear-gradient(135deg,var(--bs-ink-950),var(--bs-green-900));
}
.bylaws-hero .breadcrumbs{display:flex;gap:10px;color:rgba(255,255,255,.56);margin-bottom:40px}
.bylaws-kicker{font-size:.7rem;letter-spacing:.17em;color:var(--bs-green-200);font-weight:900}
.bylaws-hero h1{font-size:clamp(3.3rem,5.8vw,6rem);line-height:1.05;letter-spacing:-.07em;margin:22px 0}
.bylaws-hero h1 strong{color:#ff91c8}
.bylaws-hero p{max-width:720px;color:rgba(255,255,255,.7);line-height:1.8}
.bylaws-actions{display:flex;gap:10px;margin-top:30px;flex-wrap:wrap}

.bylaws-summary{background:#fff;border-bottom:1px solid var(--line)}
.bylaws-summary-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.bylaws-summary article{min-height:175px;padding:28px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}
.bylaws-summary article:last-child{border-right:0}
.bylaws-summary span{font-size:.7rem;color:var(--muted)}
.bylaws-summary strong{font-size:1.55rem;color:var(--bs-pink-700);margin:7px 0}
.bylaws-summary p{font-size:.82rem;color:var(--muted)}

.bylaws-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:54px;align-items:start}
.bylaws-nav{position:sticky;top:116px;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:#fff}
.bylaws-nav strong{display:block;padding:21px;background:var(--bs-cream-050)}
.bylaws-nav a{display:block;padding:12px 20px;border-top:1px solid var(--line);font-size:.82rem;color:var(--bs-ink-700)}
.bylaws-nav a:hover{background:var(--bs-pink-050);color:var(--bs-pink-800)}
.bylaws-nav .bylaws-pdf-link{background:var(--bs-green-900);color:#fff}
.bylaws-document{min-width:0}
.bylaws-notice{padding:22px 25px;border-radius:var(--radius-md);background:#fff8e8;border-left:4px solid #d69a2b;margin-bottom:42px}
.bylaws-notice p{margin-top:5px;color:var(--muted)}
.bylaws-chapter{scroll-margin-top:150px;margin-bottom:72px}
.bylaws-chapter-head{display:grid;grid-template-columns:70px 1fr;gap:20px;align-items:center;padding-bottom:22px;border-bottom:2px solid var(--bs-ink-900)}
.bylaws-chapter-head span{font-size:2.6rem;color:var(--bs-ink-200);font-weight:900}
.bylaws-chapter-head h2{font-size:2rem;margin:0}
.bylaws-article{border-bottom:1px solid var(--line)}
.bylaws-article-toggle{width:100%;min-height:70px;padding:20px 4px;display:flex;justify-content:space-between;gap:20px;align-items:center;border:0;background:#fff;text-align:left}
.bylaws-article-toggle strong{font-size:1rem}
.bylaws-article-toggle span{font-size:1.45rem;color:var(--bs-pink-700);transition:transform .2s}
.bylaws-article-toggle[aria-expanded="true"] span{transform:rotate(45deg)}
.bylaws-article-content{padding:0 18px 24px}
.bylaws-article-content ol{margin:0;padding-left:23px;color:var(--bs-ink-700)}
.bylaws-article-content li{padding:5px 0;line-height:1.75}
.bylaws-addendum{padding:26px;background:var(--bs-cream-050);border-radius:var(--radius-md);margin-top:20px}
.bylaws-addendum ol{columns:2;column-gap:50px;padding-left:22px}
.bylaws-addendum li{break-inside:avoid;padding:4px 0;color:var(--muted)}

.member-legal-highlight{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}
.member-legal-highlight>div{padding:28px;border-radius:var(--radius-lg);border:1px solid var(--line)}
.member-legal-highlight>div:first-child{background:linear-gradient(145deg,var(--bs-pink-900),var(--bs-pink-600));color:#fff}
.member-legal-highlight>div:last-child{background:var(--bs-green-050)}
.member-legal-highlight span,.member-legal-highlight strong{display:block}
.member-legal-highlight span{font-size:.7rem;font-weight:900;letter-spacing:.08em}
.member-legal-highlight strong{font-size:1.35rem;margin:14px 0 9px}
.member-legal-highlight p{color:inherit;opacity:.74}

.member-type-legal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.member-type-legal-grid article{min-height:245px;padding:27px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;display:flex;flex-direction:column}
.member-type-legal-grid article:nth-child(odd){background:var(--bs-pink-050)}
.member-type-legal-grid article:nth-child(even){background:var(--bs-green-050)}
.member-type-legal-grid article.featured{background:linear-gradient(145deg,var(--bs-pink-900),var(--bs-pink-600));color:#fff}
.member-type-legal-grid article>span{font-size:.7rem;color:var(--bs-pink-700);font-weight:900}
.member-type-legal-grid article.featured>span{color:#ffd1e7}
.member-type-legal-grid h3{font-size:1.35rem;margin:44px 0 11px}
.member-type-legal-grid p{color:var(--muted)}
.member-type-legal-grid article.featured p{color:rgba(255,255,255,.72)}
.member-type-legal-grid a{margin-top:auto;color:var(--bs-pink-700);font-weight:800}
.member-type-legal-grid article.featured a{color:var(--bs-pink-900)}
.member-bylaws-note{display:grid;grid-template-columns:1fr 1fr auto;gap:18px;align-items:center;margin-top:20px;padding:26px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bs-cream-050)}
.member-bylaws-note p{color:var(--muted);font-size:.84rem;margin-top:5px}

@media(max-width:1000px){
  .bylaws-summary-grid{grid-template-columns:1fr 1fr}
  .bylaws-summary article:nth-child(2){border-right:0}
  .bylaws-summary article:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .bylaws-layout{grid-template-columns:1fr}
  .bylaws-nav{position:static;display:grid;grid-template-columns:repeat(3,1fr)}
  .bylaws-nav strong,.bylaws-nav .bylaws-pdf-link{grid-column:1/-1}
  .member-type-legal-grid{grid-template-columns:1fr 1fr}
  .member-bylaws-note{grid-template-columns:1fr 1fr}
  .member-bylaws-note .btn{grid-column:1/-1;justify-self:start}
}
@media(max-width:680px){
  .bylaws-hero{padding:90px 0 70px}
  .bylaws-hero h1{font-size:3rem}
  .bylaws-actions{display:grid}
  .bylaws-summary-grid,.member-legal-highlight,.member-type-legal-grid{grid-template-columns:1fr}
  .bylaws-summary article{border-right:0;border-bottom:1px solid var(--line)}
  .bylaws-nav{grid-template-columns:1fr 1fr}
  .bylaws-chapter-head{grid-template-columns:48px 1fr}
  .bylaws-chapter-head span{font-size:2rem}
  .bylaws-addendum ol{columns:1}
  .member-bylaws-note{grid-template-columns:1fr}
  .member-bylaws-note .btn{grid-column:auto}
}


/* =========================================================
   SNS ARCHIVE — CMK-INSPIRED EDITORIAL GRID
========================================================= */
.sns-archive-hero{
  padding:112px 0 86px;
  color:#fff;
  background:
    radial-gradient(circle at 84% 20%,rgba(181,47,115,.23),transparent 24%),
    linear-gradient(135deg,var(--bs-ink-950),var(--bs-green-900));
}
.sns-archive-hero .breadcrumbs{
  display:flex;gap:10px;margin-bottom:42px;color:rgba(255,255,255,.55);
}
.sns-archive-kicker{
  font-size:.7rem;letter-spacing:.18em;color:var(--bs-green-200);font-weight:900;
}
.sns-archive-hero h1{
  margin:18px 0 14px;
  font-size:clamp(4rem,8vw,8rem);
  line-height:.95;
  letter-spacing:-.075em;
}
.sns-archive-hero p{
  max-width:650px;
  color:rgba(255,255,255,.68);
  font-size:1.03rem;
}

.sns-subnav{
  position:sticky;
  top:88px;
  z-index:70;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(14px);
}
.sns-subnav .container{
  display:flex;
  justify-content:center;
  gap:34px;
  overflow:auto;
}
.sns-subnav a{
  position:relative;
  min-height:64px;
  display:flex;
  align-items:center;
  white-space:nowrap;
  font-weight:750;
  color:var(--bs-ink-600);
}
.sns-subnav a.active{
  color:var(--bs-ink-950);
}
.sns-subnav a.active::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:3px;
  border-radius:3px 3px 0 0;
  background:var(--bs-pink-700);
}

.sns-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:40px;
  padding-bottom:30px;
  border-bottom:2px solid var(--bs-ink-900);
}
.sns-toolbar-label{
  display:block;
  font-size:.7rem;
  letter-spacing:.14em;
  color:var(--bs-pink-700);
  font-weight:900;
}
.sns-toolbar h2{
  margin:7px 0 0;
  font-size:clamp(2.3rem,4vw,4rem);
  letter-spacing:-.055em;
}
.sns-source-note{
  max-width:620px;
  margin:12px 0 0;
  color:var(--bs-ink-600);
  font-size:.9rem;
  line-height:1.65;
}
.sns-profile-link{
  display:inline-flex;
  align-items:center;
  gap:14px;
  min-height:48px;
  padding:10px 20px;
  border:1px solid var(--bs-ink-300);
  border-radius:999px;
  font-weight:750;
  transition:.25s;
}
.sns-profile-link:hover{
  background:var(--bs-ink-950);
  border-color:var(--bs-ink-950);
  color:#fff;
}

.sns-filter-row{
  display:flex;
  gap:8px;
  margin:28px 0 34px;
}
.sns-filter-row button{
  min-height:43px;
  padding:9px 18px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--bs-ink-600);
  font-weight:750;
}
.sns-filter-row button.active{
  background:var(--bs-ink-950);
  border-color:var(--bs-ink-950);
  color:#fff;
}

.sns-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:24px;
  row-gap:56px;
  min-height:400px;
}
.sns-card{
  min-width:0;
}
.sns-card-link{
  display:block;
}
.sns-card-media{
  position:relative;
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:var(--radius-sm);
  background:var(--bs-cream-100);
}
.sns-card-media.has-embed{
  aspect-ratio:auto;
  min-height:560px;
  overflow:visible;
  background:#fff;
}
.sns-card-fallback{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:28px;
  color:var(--bs-ink-900);
  background:
    radial-gradient(circle at 82% 16%,rgba(255,255,255,.75),transparent 22%),
    linear-gradient(145deg,var(--bs-pink-100),var(--bs-green-100));
}
.sns-card-fallback[data-theme="pink"]{
  background:linear-gradient(145deg,#fbe5f0,#efbfd7);
}
.sns-card-fallback[data-theme="green"]{
  background:linear-gradient(145deg,#e5f4e9,#bfe3ca);
}
.sns-card-fallback[data-theme="cream"]{
  background:linear-gradient(145deg,#fbf8f1,#ece3d4);
}
.sns-card-fallback span{
  font-size:.68rem;
  letter-spacing:.15em;
  font-weight:900;
}
.sns-card-fallback strong{
  max-width:85%;
  font-size:clamp(1.45rem,2.3vw,2.3rem);
  line-height:1.25;
  letter-spacing:-.05em;
}
.sns-card-image-link{
  position:absolute;
  inset:0;
  z-index:2;
  display:block;
}
.sns-card-media.has-embed .sns-card-fallback{
  display:none;
}
.sns-instagram-embed{
  position:relative;
  z-index:2;
  width:100%;
  min-height:540px;
}
.sns-instagram-embed .instagram-media{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  border-color:#e3e8df!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
.sns-card-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:2;
  transition:transform .55s var(--ease-out),opacity .25s;
}
.sns-card-media img.is-error{
  opacity:0;
}
.sns-card-platform{
  position:absolute;
  left:18px;
  top:18px;
  z-index:3;
  display:flex;
  align-items:center;
  gap:7px;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(16,21,18,.78);
  color:#fff;
  font-size:.68rem;
  font-weight:800;
  backdrop-filter:blur(8px);
}
.sns-card-platform::before{
  content:"";
  width:7px;height:7px;border-radius:50%;
  background:#ff85c1;
}
.sns-card-arrow{
  position:absolute;
  right:18px;
  bottom:18px;
  z-index:4;
  width:46px;height:46px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#fff;
  color:var(--bs-ink-950);
  font-size:1.25rem;
  transform:translateY(7px);
  opacity:0;
  transition:.25s;
}
.sns-card-image-link:hover img{
  transform:scale(1.045);
}
.sns-card-image-link:hover .sns-card-arrow,
.sns-card-image-link:focus-visible .sns-card-arrow{
  opacity:1;
  transform:translateY(0);
}
.sns-card-copy{
  padding-top:20px;
}
.sns-card-meta{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--bs-ink-500);
  font-size:.75rem;
}
.sns-card-meta b{
  color:var(--bs-pink-700);
}
.sns-card-copy h3{
  margin:11px 0 9px;
  font-size:1.22rem;
  line-height:1.45;
  letter-spacing:-.035em;
}
.sns-card-copy h3 a{
  color:inherit;
}
.sns-card-copy h3 a:hover,
.sns-card-copy h3 a:focus-visible{
  color:var(--bs-pink-700);
}
.sns-card-copy p{
  color:var(--muted);
  font-size:.84rem;
  line-height:1.7;
}

.sns-pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin-top:72px;
}
.sns-pagination>button,
.sns-pagination #snsPageNumbers button{
  width:42px;height:42px;
  display:inline-grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  font-weight:800;
}
.sns-pagination #snsPageNumbers{
  display:flex;
  gap:7px;
}
.sns-pagination #snsPageNumbers button.active{
  background:var(--bs-ink-950);
  border-color:var(--bs-ink-950);
  color:#fff;
}
.sns-pagination button:disabled{
  opacity:.35;
  cursor:not-allowed;
}
.sns-loading{
  grid-column:1/-1;
  padding:80px 0;
  text-align:center;
  color:var(--muted);
}
.sns-empty-verified{
  grid-column:1/-1;
  display:block;
  padding:46px;
  border:1px solid #dfe8df;
  border-radius:8px;
  background:
    linear-gradient(135deg,rgba(18,61,38,.08),rgba(166,33,103,.07)),
    #fff;
  color:var(--bs-ink-900);
}
.sns-empty-verified span{
  display:block;
  color:var(--bs-pink-700);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.14em;
}
.sns-empty-verified h3{
  max-width:780px;
  margin:12px 0 12px;
  font-size:clamp(1.65rem,3vw,2.6rem);
  line-height:1.28;
  letter-spacing:-.04em;
}
.sns-empty-verified p{
  max-width:720px;
  margin:0 0 24px;
  color:var(--bs-ink-600);
  line-height:1.75;
}

.sns-follow-section{
  padding:96px 0;
  color:#fff;
  background:linear-gradient(135deg,var(--bs-pink-900),var(--bs-pink-600));
}
.sns-follow-grid{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:70px;
}
.sns-follow-grid>div>span{
  font-size:.7rem;
  letter-spacing:.17em;
  color:#ffd3e8;
  font-weight:900;
}
.sns-follow-grid h2{
  margin:15px 0 18px;
  font-size:clamp(2.5rem,4.5vw,4.5rem);
  line-height:1.2;
  letter-spacing:-.055em;
}
.sns-follow-grid p{
  max-width:650px;
  color:rgba(255,255,255,.72);
}
.sns-round-link{
  flex:0 0 160px;
  width:160px;height:160px;
  display:grid;
  place-items:center;
  align-content:center;
  border-radius:50%;
  background:#fff;
  color:var(--bs-pink-900);
  text-align:center;
  font-weight:900;
  transition:transform .3s var(--ease-out);
}
.sns-round-link:hover{
  transform:rotate(-5deg) scale(1.05);
}
.sns-round-link b{
  font-size:1.45rem;
  margin-top:7px;
}

.archive-feature-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.archive-feature-grid .archive-feature.big{
  grid-column:span 2;
}

@media(max-width:1000px){
  .sns-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .archive-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .sns-archive-hero{padding:90px 0 68px}
  .sns-archive-hero h1{font-size:4.5rem}
  .sns-subnav{top:70px}
  .sns-subnav .container{justify-content:flex-start;gap:24px}
  .sns-subnav a{min-height:56px}
  .sns-toolbar{display:block}
  .sns-profile-link{margin-top:20px}
  .sns-filter-row{overflow:auto;padding-bottom:4px}
  .sns-card-grid{grid-template-columns:1fr;row-gap:42px}
  .sns-card-media.has-embed{min-height:520px}
  .sns-instagram-embed{min-height:500px}
  .sns-card-copy h3{font-size:1.18rem}
  .sns-pagination{margin-top:54px}
  .sns-follow-grid{display:block}
  .sns-round-link{margin-top:36px;width:130px;height:130px;flex-basis:130px}
  .archive-feature-grid{grid-template-columns:1fr}
  .archive-feature-grid .archive-feature.big{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){
  .sns-card-media img,
  .sns-card-arrow,
  .sns-round-link{transition:none}
}


/* =========================================================
   EDUBLOC LMS CONNECTION
========================================================= */
.lms-course-intro .container{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:70px;
  align-items:center;
}
.lms-quick-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}
.lms-highlight{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px 18px;
  padding:30px;
  border-radius:var(--radius-lg);
  background:linear-gradient(145deg,var(--bs-ink-950),var(--bs-green-900));
  color:#fff;
}
.lms-highlight strong{
  font-size:1.25rem;
  color:#ff9dce;
}
.lms-highlight span{
  color:rgba(255,255,255,.65);
  align-self:center;
}

.lms-flow-section{
  padding:100px 0;
  background:var(--bs-cream-050);
}
.lms-flow-head{
  max-width:850px;
  margin-bottom:48px;
}
.lms-flow-head>span,
.lms-operation-grid>div:first-child>span{
  font-size:.7rem;
  letter-spacing:.16em;
  color:var(--bs-pink-700);
  font-weight:900;
}
.lms-flow-head h2,
.lms-operation-grid h2{
  margin:14px 0 18px;
  font-size:clamp(2.4rem,4vw,4.1rem);
  line-height:1.22;
  letter-spacing:-.055em;
}
.lms-flow-head p,
.lms-operation-grid>div:first-child>p{
  color:var(--muted);
  max-width:720px;
}
.lms-flow-list{
  list-style:none;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.lms-flow-list li{
  min-height:250px;
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:#fff;
}
.lms-flow-list b{
  color:var(--bs-pink-700);
  font-size:.72rem;
}
.lms-flow-list strong{
  display:block;
  margin:62px 0 10px;
  font-size:1.25rem;
}
.lms-flow-list p{
  color:var(--muted);
  font-size:.84rem;
}
.lms-identity-note{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  margin-top:24px;
  padding:28px 30px;
  border:1px solid var(--bs-pink-200);
  border-radius:var(--radius-lg);
  background:var(--bs-pink-050);
}
.lms-identity-note span{
  display:block;
  font-size:.68rem;
  color:var(--bs-pink-700);
  font-weight:900;
  letter-spacing:.1em;
}
.lms-identity-note strong{
  display:block;
  margin:8px 0;
  font-size:1.1rem;
}
.lms-identity-note p{
  color:var(--muted);
  font-size:.84rem;
}

.lms-course-card .course-thumb{
  position:relative;
}
.lms-card-label{
  position:absolute;
  left:14px;
  bottom:14px;
  z-index:3;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(16,21,18,.82);
  color:#fff;
  font-size:.62rem;
  letter-spacing:.08em;
  font-weight:900;
}
.course-card-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:18px;
}
.course-card-actions .btn{
  justify-content:center;
}

.lms-operation-section{
  background:#fff;
}
.lms-operation-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:70px;
  align-items:start;
}
.lms-operation-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.lms-operation-cards article{
  min-height:205px;
  padding:26px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:var(--bs-green-050);
  display:flex;
  flex-direction:column;
}
.lms-operation-cards article:nth-child(odd){
  background:var(--bs-pink-050);
}
.lms-operation-cards strong{
  font-size:1.2rem;
}
.lms-operation-cards p{
  margin-top:8px;
  color:var(--muted);
  font-size:.84rem;
}
.lms-operation-cards a{
  margin-top:auto;
  color:var(--bs-pink-700);
  font-weight:800;
}

.lms-guide-hero{
  padding:112px 0 92px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 18%,rgba(181,47,115,.25),transparent 25%),
    linear-gradient(135deg,var(--bs-ink-950),var(--bs-green-900));
}
.lms-guide-hero .breadcrumbs{
  display:flex;
  gap:10px;
  margin-bottom:40px;
  color:rgba(255,255,255,.55);
}
.lms-guide-hero>div>span{
  font-size:.7rem;
  letter-spacing:.17em;
  color:var(--bs-green-200);
  font-weight:900;
}
.lms-guide-hero h1{
  margin:20px 0;
  font-size:clamp(3.3rem,5.8vw,6rem);
  line-height:1.05;
  letter-spacing:-.07em;
}
.lms-guide-hero h1 strong{
  color:#ff91c8;
}
.lms-guide-hero p{
  max-width:680px;
  color:rgba(255,255,255,.68);
}
.lms-guide-actions{
  display:flex;
  gap:10px;
  margin-top:30px;
}
.lms-guide-steps{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:13px;
}
.lms-guide-steps article{
  min-height:235px;
  padding:25px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:#fff;
}
.lms-guide-steps article:nth-child(odd){
  background:var(--bs-pink-050);
}
.lms-guide-steps article:nth-child(even){
  background:var(--bs-green-050);
}
.lms-guide-steps span{
  font-size:.7rem;
  color:var(--bs-pink-700);
  font-weight:900;
}
.lms-guide-steps h2{
  margin:54px 0 10px;
  font-size:1.25rem;
}
.lms-guide-steps p{
  color:var(--muted);
  font-size:.82rem;
}
.lms-guide-links{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-top:28px;
}
.lms-guide-links a{
  min-height:100px;
  padding:22px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-radius:var(--radius-md);
  background:var(--bs-ink-950);
  color:#fff;
  font-weight:800;
}
.lms-guide-links a:hover{
  background:var(--bs-pink-800);
}

@media(max-width:1000px){
  .lms-course-intro .container,
  .lms-operation-grid{
    grid-template-columns:1fr;
  }
  .lms-flow-list{
    grid-template-columns:1fr 1fr;
  }
  .lms-guide-steps{
    grid-template-columns:repeat(3,1fr);
  }
  .lms-guide-links{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:700px){
  .lms-quick-actions,
  .lms-guide-actions{
    display:grid;
  }
  .lms-flow-list,
  .lms-operation-cards,
  .lms-guide-steps,
  .lms-guide-links{
    grid-template-columns:1fr;
  }
  .lms-identity-note{
    display:block;
  }
  .lms-identity-note .btn{
    margin-top:18px;
  }
  .course-card-actions{
    grid-template-columns:1fr;
  }
  .lms-guide-hero{
    padding:90px 0 70px;
  }
  .lms-guide-hero h1{
    font-size:3rem;
  }
}

.member-login-support-actions{
  margin:-4px 0 4px;
}
.member-login-support-actions button{
  width:100%;
  min-height:42px;
  border:1px solid #dfe6dc;
  border-radius:8px;
  background:#f7faf5;
  color:var(--bs-green-800);
  font-weight:850;
  cursor:pointer;
}
.member-login-support-actions button:hover{
  background:#eef6eb;
}
.member-login-support-actions button:disabled{
  cursor:wait;
  opacity:.65;
}
.member-reset-page .member-login-card form{
  display:grid;
  gap:16px;
}
.member-reset-card .form-message{
  margin-top:14px;
}
.form-message.with-action{
  line-height:1.7;
}
.form-message .inline-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  margin-left:6px;
  padding:4px 10px;
  border:1px solid #d8dfd4;
  border-radius:7px;
  background:#fff;
  color:var(--bs-green-800);
  font-weight:850;
  text-decoration:none;
  cursor:pointer;
}
.form-message .inline-action:hover{
  background:#f1f7ef;
}
