/* =====================================================================
   꿈에그린학원 V40 — Warm Bright Elementary Academy
   큰 제목은 검정색 대신 섹션별 따뜻한 포인트 컬러를 사용하고,
   전체 배경은 밝고 깨끗한 아이보리/크림/민트 계열로 구성합니다.
   ===================================================================== */

:root{
  --v40-text:#67615c;
  --v40-text-soft:#847d76;
  --v40-line:rgba(116,96,84,.11);

  --v40-coral:#dc7669;
  --v40-coral-2:#c96067;
  --v40-rose:#bd6578;
  --v40-apricot:#ce874f;
  --v40-sage:#648f78;
  --v40-lavender:#806f9d;

  --v40-cream:#fff9f2;
  --v40-paper:#fffefb;
  --v40-blush:#fff0eb;
  --v40-mint:#eef8f1;
  --v40-lilac:#f5eff9;
  --v40-yellow:#fff5d8;

  --v40-shadow:0 18px 48px rgba(124,98,80,.075);

  /* 기존 UI 변수도 따뜻하고 밝게 교체 */
  --ink:var(--v40-text);
  --navy:#6b927c;
  --navy2:#7fa18e;
  --cream:var(--v40-cream);
  --paper:var(--v40-paper);
  --rose:#e58a7e;
  --rose-soft:#fbe6e1;
  --sage:#a8cdb8;
  --sage-soft:#e9f5ed;
  --gold:#d6aa64;
  --line:var(--v40-line);
  --muted:var(--v40-text-soft);
  --shadow:var(--v40-shadow);
}

/* 기본 화면 */
html{background:var(--v40-cream)}
body{
  color:var(--v40-text);
  background:linear-gradient(180deg,#fffefb 0%,#fffaf5 48%,#fffefb 100%);
}

/* 상단 */
.top-ribbon{
  background:linear-gradient(90deg,#fff0e9 0%,#fff5eb 48%,#edf7f0 100%);
  color:#92766b;
  border-bottom:1px solid rgba(128,104,91,.07);
}
.admin-link{color:#aa9489}
.admin-link:hover{color:#836f65}

.site-header{
  background:rgba(255,253,249,.95);
  border-bottom:1px solid rgba(115,96,84,.07);
  box-shadow:0 5px 20px rgba(116,91,73,.035);
}
.brand-mark{
  background:#fff8f4;
  border-color:rgba(226,136,124,.35);
  color:#d5796e;
}
.brand strong{color:#5e625f}
.brand small{color:#73967f}
.main-nav{color:#6e6964}
.main-nav>a:not(.nav-cta):hover{color:var(--v40-coral)}
.nav-cta{
  background:linear-gradient(135deg,#ed9486,#df7f73);
  color:#fff;
  box-shadow:0 9px 24px rgba(218,119,107,.18);
}
.menu-toggle span{background:#726c66}

/* =========================================================
   HERO
   가장 큰 제목은 전체를 따뜻한 코랄로, 강조어는 더 선명한 장밋빛으로
   ========================================================= */
.hero{
  background:
    radial-gradient(circle at 9% 15%,rgba(248,190,171,.34),transparent 28%),
    radial-gradient(circle at 88% 74%,rgba(173,211,190,.34),transparent 30%),
    radial-gradient(circle at 75% 5%,rgba(216,199,231,.20),transparent 22%),
    linear-gradient(135deg,#fffdfa 0%,#fff4e9 55%,#f1faf4 100%);
}
.hero:after{
  opacity:.11;
  background-image:radial-gradient(rgba(136,108,91,.14) .65px,transparent .65px);
}
.hero h1{
  color:#c96f61 !important;
  font-weight:700;
  text-shadow:0 1px 0 rgba(255,255,255,.38);
}
.hero h1 em{
  color:#c85f6b !important;
}
.hero h1 em:after{
  background:rgba(247,204,159,.44);
}
.hero-lead{color:#786f68}
.eyebrow{color:#d8796d}
.hero .eyebrow{color:#6f9b7e}

.btn-primary{
  background:linear-gradient(135deg,#ed9587,#df8074);
  color:#fff;
  box-shadow:0 10px 26px rgba(220,125,112,.19);
}
.btn-ghost{
  background:rgba(255,255,255,.66);
  border-color:rgba(118,99,87,.15);
  color:#716963;
}
.signature-line{color:#8b7f76}
.signature-line span{background:#d6aa64}

.paper-card{
  background:rgba(255,254,251,.97);
  border-color:rgba(139,113,95,.08);
  box-shadow:0 24px 64px rgba(128,103,85,.10);
}
.paper-pin{background:#eb8f82}
.paper-kicker{color:#dc7b70}
.paper-main strong{color:#6b6660}
.paper-main>p:not(.paper-kicker){color:#7f7770}
.paper-note span:nth-child(1){background:#fbe6e1;color:#ac655d}
.paper-note span:nth-child(2){background:#e9f5ed;color:#62836e}
.paper-note span:nth-child(3){background:#f2ecf8;color:#796990}

/* =========================================================
   섹션별 큰 제목 — 검정 대신 각각 따뜻한 컬러
   ========================================================= */
#about .section-heading h2{
  color:#c56d60 !important;
}
#director .director-copy h2{
  color:#b96274 !important;
}
#program .section-heading h2{
  color:#c7834c !important;
}
#learning .learning-head h2{
  color:#5f8d76 !important;
}
#stories .section-heading h2{
  color:#b96172 !important;
}
.latest .section-heading h2{
  color:#c7834c !important;
}
.cta-card h2{
  color:#b65f59 !important;
}

/* 작은 제목은 검정보다 부드러운 웜그레이 */
.belief-card h3,
.program-card h3,
.story-card h3,
.latest-card h3,
.learning-card h3,
.director-principles strong{
  color:#62645f;
}

/* OUR WAY */
.beliefs{
  background:linear-gradient(180deg,#fff 0%,#fffdfa 100%);
}
.section-heading>p:last-child,
.section-heading.split>p{
  color:#847c75;
}
.belief-card{
  border-color:var(--v40-line);
  box-shadow:0 10px 28px rgba(121,98,82,.04);
}
.belief-card:nth-child(1){
  background:linear-gradient(180deg,#fffdfc,#fff1ed);
}
.belief-card:nth-child(2){
  background:linear-gradient(180deg,#fff,#edf8f1);
}
.belief-card:nth-child(3){
  background:linear-gradient(180deg,#fff,#f4eff9);
}
.belief-card:nth-child(1):after{background:#f7d4cd}
.belief-card:nth-child(2):after{background:#cfe7d7}
.belief-card:nth-child(3):after{background:#dfd2eb}
.belief-card .num{color:#da776c}
.belief-card p{color:#7b756f}

/* DIRECTOR */
.director{
  background:
    radial-gradient(circle at 87% 15%,rgba(244,210,182,.24),transparent 24%),
    linear-gradient(180deg,#fff7ef 0%,#fffaf6 100%);
}
.director-visual{
  background:linear-gradient(145deg,#eaf5ed,#fcebe5 56%,#f1ebf8);
  box-shadow:0 20px 54px rgba(126,103,85,.09);
}
.director-placeholder{color:#698274}
.director-placeholder:before,
.director-placeholder:after{border-color:rgba(111,143,124,.13)}
.soft-label{background:#fbe6e1;color:#aa655e}
.director-copy .quote{
  color:#746c66;
  border-left-color:#e8998c !important;
}
.director-copy>p:not(.eyebrow):not(.quote){color:#7b756f}
.director-principles{
  background:linear-gradient(135deg,#fffef9,#f8f3e9);
  border-color:rgba(140,115,97,.10);
}
.director-principles ul{color:#7e7770}

/* PROGRAM */
.program{background:#fffdfb}
.program-card{
  border-color:var(--v40-line);
  box-shadow:0 10px 28px rgba(121,98,82,.04);
}
.program-card.english{background:linear-gradient(180deg,#fff,#fff0eb)}
.program-card.math{background:linear-gradient(180deg,#fff,#edf8f1)}
.program-card.care{background:linear-gradient(180deg,#fff,#f3edf8)}
.program-icon{background:#f8dcd6;color:#a85e56}
.program-card.math .program-icon{background:#dcefe2;color:#61806d}
.program-card.care .program-icon{background:#e9dff3;color:#77668a}
.program-card>p:not(.program-en){color:#7b756f}
.chip{
  background:rgba(255,255,255,.68);
  border-color:rgba(113,98,88,.13);
  color:#7b746e;
}

/* =========================================================
   LEARNING — 어두운 영역 제거, 깨끗한 민트/크림
   ========================================================= */
.learning{
  color:#66625d;
  background:
    radial-gradient(circle at 92% 10%,rgba(211,195,229,.22),transparent 24%),
    radial-gradient(circle at 10% 88%,rgba(248,205,174,.24),transparent 27%),
    linear-gradient(135deg,#edf8f1 0%,#f8fbf5 50%,#fff5e9 100%);
}
.learning:before{
  border-color:rgba(103,145,120,.10);
  box-shadow:
    0 0 0 60px rgba(255,255,255,.20),
    0 0 0 120px rgba(255,255,255,.12);
}
.learning .eyebrow.light{color:#6f9e84}
.learning-head>p{color:#7a7a73}
.student-learning-banner{
  border-color:rgba(110,143,123,.15);
  background:linear-gradient(100deg,rgba(255,255,255,.88),rgba(255,242,228,.88));
  box-shadow:0 14px 34px rgba(116,95,80,.065);
}
.student-learning-art{background:linear-gradient(145deg,#fff8dd,#fff0e6)}
.student-learning-copy small{color:#bf7568}
.student-learning-copy strong{color:#62645f}
.student-learning-copy em{color:#7b7771}
.student-learning-arrow{
  color:#668b76;
  border-color:rgba(97,138,114,.24);
  background:rgba(255,255,255,.67);
}
.learning-card{
  border-color:rgba(101,139,116,.13);
  background:rgba(255,255,255,.80);
  box-shadow:0 12px 30px rgba(111,92,78,.05);
}
.learning-card:hover{background:#fff}
.learning-preview:hover{background:rgba(255,255,255,.80)}
.learning-card .mini{color:#bc7368}
.learning-card p{color:#77746e}
.learning-info{
  background:#fff0e2;
  border-color:#f1dcc8;
  color:#8c6755;
  box-shadow:none;
}
.learning-start{
  background:linear-gradient(135deg,#79a78c,#68977b);
  border-color:transparent;
  color:#fff;
}

/* STORIES */
.stories{background:#fffdfb}
.story-card{
  border-color:var(--v40-line);
  background:linear-gradient(180deg,#fff,#fffcf8);
  box-shadow:0 8px 24px rgba(121,98,82,.035);
}
.story-tag{color:#b66e64}
.story-date{color:#9a928b}
.story-card p{color:#7c756f}
.story-card .go{color:#766a64}

/* LATEST */
.latest{
  background:
    radial-gradient(circle at 95% 13%,rgba(169,207,186,.15),transparent 22%),
    linear-gradient(180deg,#fff8ef 0%,#fffaf5 100%);
}
.latest-card{
  background:rgba(255,255,255,.92);
  border-color:var(--v40-line);
  box-shadow:0 8px 24px rgba(121,98,82,.035);
}
.latest-card small{color:#928a83}

/* CTA */
.cta{background:#fffdfb}
.cta-card{
  color:#665f59;
  background:
    radial-gradient(circle at 90% 24%,rgba(255,255,255,.43),transparent 23%),
    linear-gradient(135deg,#f9c8b2 0%,#f8d9bd 52%,#dcefe1 100%);
  box-shadow:0 22px 56px rgba(130,102,80,.10);
}
.cta-card:after{
  border-color:rgba(255,255,255,.33);
  box-shadow:
    0 0 0 60px rgba(255,255,255,.08),
    0 0 0 120px rgba(255,255,255,.045);
}
.cta-card>p:not(.eyebrow){color:#746c66}
.cta .eyebrow.light{color:#a9695f}
.btn-light{
  background:#fff;
  color:#647369;
  box-shadow:0 8px 19px rgba(116,94,78,.07);
}
.btn-outline-light{
  background:rgba(255,255,255,.34);
  border-color:rgba(105,94,86,.16);
  color:#6a625c;
}

/* FOOTER */
.site-footer{
  background:#fffaf4;
  border-top-color:rgba(110,94,83,.08);
}
.footer-grid>div:first-child>p,
.footer-links,
.copyright{color:#847d76}

/* 상담창 */
.consultation-backdrop{background:rgba(95,87,80,.40)}
.consultation-dialog{
  background:#fffdf9;
  box-shadow:0 30px 90px rgba(105,86,73,.19);
}
.consultation-dialog h2{color:#b96274}
.consultation-close{background:#fff0e7;color:#8a7064}
.consultation-dialog input,
.consultation-dialog select,
.consultation-dialog textarea{
  background:#fff;
  border-color:rgba(113,97,87,.14);
  color:#625c57;
}
.consultation-submit{
  background:linear-gradient(135deg,#ed9487,#df8074);
  box-shadow:0 9px 22px rgba(218,119,107,.17);
}

/* 모바일 */
@media (max-width:680px){
  .hero h1{
    color:#c96f61 !important;
  }
  .mobile-bar{
    background:rgba(255,253,249,.97);
    border-color:rgba(113,98,88,.10);
    box-shadow:0 13px 35px rgba(112,91,76,.12);
  }
  .mobile-bar a,
  .mobile-bar button{color:#6f6963}
  .mobile-bar .primary{
    background:linear-gradient(135deg,#ed9486,#df8073);
    color:#fff;
  }
  .main-nav{background:rgba(255,252,247,.99)}
}
