/* CHARME 10 — editorial design system. Last-layer overrides only: no form or routing changes. */
:root{
  --ch-forest:#183a31;--ch-forest-deep:#142e28;--ch-ink:#20352d;--ch-text:#33463d;
  --ch-muted:#5d6d63;--ch-brass:#a77d44;--ch-cream:#fbfaf6;--ch-wash:#f2f2e9;
  --ch-border:#d9dfd4;--ch-focus:#b68b52;--ch-shadow:0 26px 65px rgba(22,48,35,.075);
  --ink:var(--ch-forest);--fg:var(--ch-text);--paper:var(--ch-cream);--muted:var(--ch-muted);
  --line:var(--ch-border);--gold:var(--ch-brass);
}
html{scroll-padding-top:148px}*,*::before,*::after{box-sizing:border-box}
body{background:var(--ch-cream);color:var(--ch-text);font-family:'Noto Sans KR',system-ui,sans-serif;font-size:16px;line-height:1.85;letter-spacing:-.025em;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}::selection{background:#e9d5b2;color:#1d352c}
:where(a,button,input,textarea,select,summary):focus-visible{outline:3px solid var(--ch-focus)!important;outline-offset:3px!important}
:where(a,button,input,textarea,select){-webkit-tap-highlight-color:transparent}
a{text-underline-offset:.23em}img{max-width:100%}
.wrap{width:min(1260px,calc(100% - 96px))}.section{padding-block:clamp(76px,8vw,126px)}
.section-heading{gap:25px;align-items:end}.section-heading h2,.section h2,.company-page h2,.services-page h2{line-height:1.36;letter-spacing:-.058em}
h1,h2,h3{color:inherit;word-break:keep-all}h1{letter-spacing:-.062em}h2{font-size:clamp(29px,3.4vw,49px)}h3{line-height:1.4}
p{overflow-wrap:break-word}.section-heading>p,.section-heading>div>p:not(.eyebrow),.section-lead{line-height:1.95}
.eyebrow{display:flex;align-items:center;gap:12px;color:#8b693c;font-size:11px;letter-spacing:.17em;font-weight:700;line-height:1.5}
.eyebrow:not(.light):before{content:'';width:24px;height:1px;background:#aa8856;flex:none}
.eyebrow:has(>span):before{display:none}
/* Sitewide header and navigation */
.top,.top.solid{height:88px;background:rgba(251,250,246,.97);border-bottom:1px solid #e5e4dc;box-shadow:0 6px 28px #172f2510;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.top .wrap{gap:24px}.logo{gap:13px}.logo-word{font-size:31px;font-weight:700;letter-spacing:-.085em;color:#183a31}.logo-word span{color:#97743e}.logo-english{letter-spacing:.14em;font-size:8px;color:#536458;line-height:1.5}
.nav{gap:clamp(12px,1.8vw,27px)}.nav a{font-size:13px;font-weight:600;color:#3d5046;white-space:nowrap;text-decoration:none;transition:color .2s}
.nav a:hover,.nav a[aria-current=page]{color:#8a6539}.nav a[aria-current=page]::after{background:#ad8350;height:2px}
.header-cta{background:var(--ch-forest);color:white;border:1px solid var(--ch-forest);border-radius:50px;padding:13px 20px;min-height:47px;display:inline-flex;align-items:center;white-space:nowrap;font-weight:700;box-shadow:0 7px 18px #183a311c;transition:background .2s,transform .2s}
.header-cta:hover{background:#285b49;transform:translateY(-2px)}
.menu-btn{min-width:44px;min-height:44px;border-radius:50%;border:1px solid #dde3d9}
.drawer-panel{background:var(--ch-cream);border-left:1px solid #e3e6dd}.drawer nav a{border-bottom:1px solid #e4e5dd;color:#243d31;font-size:20px;font-weight:600;min-height:57px}.drawer-head{padding-bottom:19px;border-bottom:1px solid var(--ch-border)}
.skip-link{z-index:999}
/* Shared interactive elements */
.btn,.home-search button,.form button[type=submit]{font-weight:700;letter-spacing:-.025em;border-radius:7px;transition:background .2s,transform .2s,box-shadow .2s;min-height:54px}
.btn:hover,.home-search button:hover,.form button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 9px 25px #122b211f}
.btn-ink{background:var(--ch-forest);color:white}.btn-ink:hover{background:#285b49}.btn-gold{background:#e7cf9f;color:#18372d}.btn-gold:hover{background:#f2daab}
.text-link{font-weight:700;color:var(--ch-forest);text-decoration-color:#af8f5a}
.breadcrumb{font-size:12px!important;color:#617167;letter-spacing:.015em;gap:12px}.breadcrumb a{text-decoration:none;color:#46604e}.breadcrumb a:hover{text-decoration:underline}
/* Homepage intro + live statistics */
.homepage main>.public-livebar{margin-top:88px}.public-livebar{position:relative;z-index:41;min-height:46px;background:#183a31;color:#f4f1e9;display:flex;align-items:center;justify-content:flex-end;gap:27px;padding:9px max(28px,calc((100vw - 1260px)/2));font-size:12px;letter-spacing:.015em}
.public-livebar span{display:inline-flex;gap:8px;align-items:baseline}.public-livebar strong{font-size:16px;color:#f4d79f;font-weight:700}.public-livebar time{color:#e6e6db;font-weight:500;font-variant-numeric:tabular-nums;font-size:12px}
.page-progress{margin-top:0;top:88px;height:50px;gap:clamp(14px,2.8vw,46px);border-bottom-color:#dfe3d7;background:#fbfaf6ee;font-size:12px}
.page-progress a{font-weight:600;color:#526458;white-space:nowrap}
.hero{background:radial-gradient(ellipse at 14% 16%,#f6f1e5 0,transparent 55%),var(--ch-cream);min-height:735px}
.hero-slides,.hero-shade{right:28px;inset-block:25px;height:calc(100% - 50px);width:46.5%;border-radius:12px 12px 110px 12px}
.hero-slides{box-shadow:0 25px 70px #18372a1f}.hero-shade{background:linear-gradient(180deg,transparent 50%,#1c3325bd)}
.hero-content{padding-top:70px;padding-bottom:65px}.hero-content>*{max-width:48%}
.hero .eyebrow{font-size:12px;font-weight:700;color:#8a6739}
.hero h1{font-size:clamp(48px,5.15vw,77px);line-height:1.19;margin-bottom:26px;letter-spacing:-.075em}
.hero h1 em{color:#987343}.hero-description{font-size:16px;line-height:2;color:#526458}
.hero-actions{margin-top:36px;gap:26px}.hero .btn{min-height:58px;padding-inline:23px}.hero-text-link{font-size:14px;font-weight:700}
.hero-editorial{bottom:105px}.hero-editorial b{font-size:clamp(22px,2.4vw,32px)}
.hero-controls{margin-top:49px}.hero-controls button{min-height:44px}
.quick-discover{padding:43px 0;background:#fff;border-block-color:#e8e6df}.quick-discover h2{font-size:clamp(23px,2.3vw,32px);letter-spacing:-.06em}.quick-discover p:not(.eyebrow){font-size:14px}
.home-search{border-bottom:2px solid var(--ch-forest)}.home-search input{font-size:19px}.home-search button{border-radius:6px}
.promise-strip{background:#f1f1e8}.promise-grid{padding-block:28px}.promise-grid strong{color:#2e4738;font-size:15px}.promise-label{color:#8d6c3f}
/* Section rhythm and premium cards */
.about-section,.reviews-section,.home-discovery,.catalog-section,.program-section,.business-section{background:var(--ch-cream)}
.about-grid,.request-grid{gap:clamp(40px,6.5vw,108px)}.about-visual>img{border-radius:12px 12px 95px 12px;box-shadow:var(--ch-shadow)}
.about-copy>p:not(.eyebrow):not(.section-lead),.origin-note p,.company-story p,.company-statement{font-size:clamp(15px,1.2vw,17px);line-height:2;color:#485e50}
.origin-note{background:#f2f2e9;border:1px solid #e2e3d9;border-radius:10px;padding:23px}
.process-section{background:#f7f6f0}.process-grid{gap:17px}.process-grid li{border:1px solid #dfe3d7;background:#fff;border-radius:12px;min-height:240px;padding:29px;box-shadow:0 9px 26px #223a2c08;transition:transform .2s,box-shadow .2s}.process-grid li:hover{transform:translateY(-5px);box-shadow:0 22px 40px #223a2c12}.process-grid h3{font-size:21px}.process-grid p{color:#536559;font-size:14px;line-height:1.9}
.strength-section,.join-banner,.company-charme-story,.service-brief-section{background:#17392f;color:#fff}.strength-section .eyebrow.light,.join-banner .eyebrow.light,.service-brief-section .eyebrow.light{color:#ddbf85}
.strength-section p,.strength-section .section-heading>p,.join-banner p:not(.eyebrow){color:#d6e3d7}.strength-grid p{color:#d1dfd2;font-size:15px;line-height:1.9}
.discovery-grid{gap:20px}.discovery-grid>a,.purpose-grid article,.program-card{border-radius:12px;border:1px solid #d9ded1;background:#f4f4ed;box-shadow:0 8px 25px #163a2808;transition:transform .2s,box-shadow .2s}.discovery-grid>a:hover,.purpose-grid article:hover,.program-card:hover{background:#edeee4;transform:translateY(-4px);box-shadow:var(--ch-shadow)}
.discovery-grid h3{font-size:clamp(20px,1.8vw,26px)}.discovery-grid p,.scene-card>p,.program-body p{font-size:14px;line-height:1.85}
.faculty-section{background:#f1f2ec}.scene-image,.profile-card,.program-image{border-radius:12px;overflow:hidden}.scene-card h3{font-size:clamp(20px,1.8vw,25px)}.profile-card{box-shadow:var(--ch-shadow)}
.quotes{gap:20px}.quotes blockquote{border-radius:12px;background:#f3f4ed;border:1px solid #dfe2d7;padding:29px}.quotes p{font-size:16px;line-height:1.9}.quotes footer{font-size:13px}
.review-gallery{border-radius:14px;background:#173b31}.faq-section{background:#f1f2e9}.faq-list details{border-bottom:1px solid #d5dbcf}.faq-list summary{font-size:17px;font-weight:600;min-height:65px;line-height:1.65}.faq-list p{font-size:15px;line-height:2}
/* Forms and privacy: readability / touch targets */
.request-section,.application-section{background:linear-gradient(125deg,#f3f3e9,#fafaf5 58%,#f0f1e8)}
.request-form,.application-form{padding:clamp(24px,3.5vw,48px);border-radius:16px;border:1px solid #dfe5da;background:white;box-shadow:0 28px 80px #1b3e2912}
.form{font-size:15px}.form label{font-weight:600;font-size:14px;color:#3d5546;line-height:1.7}
.form input,.form select,.form textarea{font-size:16px!important;line-height:1.6;border:1px solid #cbd6ca;border-radius:8px!important;background:#fcfdf9;min-height:50px;padding:13px 14px;color:#233e30}
.form input:focus,.form select:focus,.form textarea:focus{border-color:#9c7846;box-shadow:0 0 0 3px #c5a36a26;outline:none!important;background:#fff}
.form input::placeholder,.form textarea::placeholder{color:#718076;opacity:1}
.form textarea{min-height:150px;line-height:1.85}.form-heading{margin-bottom:20px}.form-heading h3{font-size:27px}.form-heading span{font-size:12px;color:#6a756c}
.form .consent{background:#f5f6ef;border:1px solid #dce5d8;border-radius:8px;padding:15px;align-items:flex-start;line-height:1.9}
.form .consent input{accent-color:#244c3b;min-height:20px;width:20px;height:20px;margin-top:4px;flex:none}.form .consent a{font-weight:700;text-decoration:underline}
.form-footnote,.form .input-hint,.form .upload-feedback{font-size:12px;color:#5b7061;line-height:1.85}
.brief-helper,.application-help{border-radius:9px;border-color:#d9e0d3;background:#f6f7f1}.brief-helper summary,.application-help summary{font-size:14px;font-weight:700;min-height:50px}
.notice{background:#fff8e9;border:1px solid #e2cea2;color:#544523;line-height:1.8;border-radius:10px}
/* Inner pages */
.subpage main{padding-top:88px}.service-hero,.company-hero,.privacy-hero,.application-section{padding-top:clamp(45px,6vw,80px)}
.service-hero h1,.company-hero h1,.application-copy h1,.privacy-hero h1{font-size:clamp(37px,4.6vw,69px);line-height:1.27}
.service-hero-copy>p:not(.eyebrow),.company-hero p:not(.eyebrow),.application-copy>p:not(.eyebrow),.privacy-hero p:not(.eyebrow){font-size:clamp(15px,1.35vw,18px);line-height:2;color:#54665b}
.service-hero-visual,.company-hero-visual,.application-copy>img{border-radius:13px 13px 85px 13px;overflow:hidden;box-shadow:var(--ch-shadow)}
.purpose-grid article{padding:30px}.purpose-grid p,.learning-bridge p{font-size:15px;line-height:1.95}
.catalog-tools{background:#f5f6f0;border-radius:12px}.catalog-search{border-radius:9px;min-height:54px}.catalog-search input{font-size:16px}.catalog-filters button{min-height:46px;border-radius:50px;font-size:13px}
.catalog-card{border:1px solid #d9e1d5;border-radius:11px;background:white;box-shadow:0 8px 30px #243a2808;overflow:hidden}.catalog-card[open]{border-color:#afbead;box-shadow:0 14px 34px #14321d11}.catalog-card summary{min-height:96px;line-height:1.65}.catalog-card-title{font-size:clamp(18px,1.7vw,23px)}.catalog-card-intro,.catalog-audience{line-height:1.85}.topic-buttons button{min-height:44px;border-radius:7px}
.program-card{overflow:hidden}.program-body{padding:27px}.program-card h3{line-height:1.45}.learning-bridge{background:#edf0e5}
.application-steps{gap:12px;flex-wrap:wrap}.application-steps span{font-size:12px}.application-copy>ul{line-height:2.1;color:#4c6353;font-size:15px}.application-form-title{font-size:11px;letter-spacing:.13em;color:#8a6b3f}
.privacy-hero{background:linear-gradient(125deg,#eef0e5,#fafaf6)}.privacy-layout{gap:clamp(25px,5vw,75px)}.privacy-nav{border-radius:12px}.privacy-layout section{scroll-margin-top:155px}.privacy-layout section h2{font-size:clamp(23px,2vw,30px)}.privacy-layout section p{font-size:16px;line-height:2.1;color:#445b4d}.privacy-bottom{border-radius:12px}
.company-hero,.company-story,.company-directory{overflow-x:clip}.company-statement{max-width:70ch}
/* Modal, footer and floating tools */
.site-footer{background:#142e28;color:#e6eee5}.footer-main{padding-block:52px}.footer-links a{min-height:42px;display:inline-flex;align-items:center}.footer-ecosystem{border-bottom-color:#ffffff24}
.float{z-index:46;background:#edd5a6;border:1px solid #e2c48b;box-shadow:0 12px 34px #132c2850;color:#173d31;border-radius:50px;font-size:14px;font-weight:700;min-height:54px}
.float:hover{background:#f8e4bb}.sheet{background:#fdfcf9;border-radius:16px 16px 0 0}.sheet h2{font-size:30px}.back-top{min-width:46px;min-height:46px}
/* Tablet */
@media(max-width:1180px){.wrap{width:calc(100% - 64px)}.hero h1{font-size:clamp(46px,5vw,61px)}.top .wrap{gap:14px}.nav{gap:15px}}
@media(max-width:980px){html{scroll-padding-top:128px}.top,.top.solid{height:78px}.subpage main{padding-top:78px}.page-progress{top:78px;margin-top:0}.homepage main>.public-livebar{margin-top:78px}.hero{min-height:650px}.hero-slides,.hero-shade{inset-block:20px;height:calc(100% - 40px);right:20px;width:44%}.hero-content>*{max-width:52%}.hero h1{font-size:clamp(40px,5vw,53px)}.hero-description{font-size:15px}.hero-editorial{bottom:75px}}
/* Phone: keep copy legible, remove horizontal scrolling, generous interaction targets */
@media(max-width:760px){
 html{scroll-padding-top:119px}.wrap{width:calc(100% - 38px)}body{font-size:15.5px;line-height:1.9}
 .top,.top.solid{height:70px}.top .wrap{width:calc(100% - 30px)}.subpage main{padding-top:70px}
 .logo-word{font-size:27px}.header-cta{font-size:11px;min-height:43px;padding:9px 12px;box-shadow:none}.menu-btn{min-width:44px;min-height:44px}
 .homepage main>.public-livebar{margin-top:70px}.page-progress{margin-top:0;top:70px;gap:0;height:46px;justify-content:space-around;padding-inline:5px;font-size:11px}
 .page-progress a{padding:0 7px;white-space:nowrap}
 .public-livebar{padding:9px 19px;gap:5px 18px;justify-content:space-between;font-size:11px}.public-livebar strong{font-size:14px}.public-livebar time{flex-basis:100%;text-align:left;font-size:11px;margin:0}
 .hero{min-height:0;padding-bottom:calc((100vw - 38px) / 1.33 + 50px)}.hero-content{width:calc(100% - 38px);padding-top:37px;padding-bottom:22px}.hero-content>*{max-width:100%}
 .hero h1{font-size:clamp(37px,10vw,50px);line-height:1.25;margin-bottom:20px}.hero-description{font-size:14.5px;line-height:1.93}.hero .eyebrow{font-size:11px}
 .hero-actions{gap:15px;margin-top:24px}.hero .btn{min-height:52px}.hero-text-link{font-size:13px}
 .hero-slides,.hero-shade{right:auto;left:0;inset-block:auto;bottom:24px;width:calc(100% - 38px);margin-inline:19px;height:auto;aspect-ratio:1.33;border-radius:10px 10px 50px 10px}
 .hero-shade{height:auto}.hero-controls{z-index:4;left:24px;bottom:33px}.hero-editorial{display:none}.image-caption{z-index:3}
 .section{padding-block:72px}.section-heading{gap:18px}.section h2,.section-heading h2{font-size:clamp(29px,7.5vw,39px)}
 .quick-discover{padding:27px 0}.quick-discover-grid{gap:18px}.quick-discover h2{font-size:25px}.home-search input{font-size:16px}.home-search input::placeholder{font-size:14px}.home-search button{min-height:45px;padding:8px 14px}
 .promise-grid{gap:15px;padding-block:20px}.promise-grid strong{font-size:13px}.promise-label{font-size:9px}
 .about-grid,.request-grid{gap:32px}.about-visual>img{border-radius:10px 10px 60px 10px}.process-grid li{min-height:0;padding:24px}.discovery-grid>a{padding:24px}
 .strength-grid p{font-size:14px}.quotes blockquote{padding:25px}.review-gallery{padding:24px;border-radius:12px}
 .request-form,.application-form{padding:24px 19px;border-radius:13px}.form label{font-size:13.5px}.form-heading h3{font-size:23px}.form .consent{padding:12px}
 .service-hero,.company-hero,.privacy-hero,.application-section{padding-top:36px}.service-hero h1,.company-hero h1,.application-copy h1,.privacy-hero h1{font-size:clamp(36px,9vw,47px)}
 .service-hero-visual,.company-hero-visual,.application-copy>img{border-radius:10px 10px 54px 10px}.catalog-card summary{min-height:83px}.catalog-tools{padding:16px}
 .application-steps{gap:7px}.application-steps i{font-size:11px}.privacy-layout section p{font-size:15px}
 .footer-main{padding-block:40px}.float{right:16px;bottom:16px;min-height:50px;padding:10px 17px;font-size:12px}
}
@media(max-width:390px){.wrap{width:calc(100% - 30px)}.header-cta{font-size:10px;padding:8px 9px}.hero h1{font-size:36px}.page-progress a{font-size:10px;padding:0 4px}.hero-slides,.hero-shade{width:calc(100% - 30px);margin-inline:15px}.hero{padding-bottom:calc((100vw - 30px) / 1.33 + 50px)}.hero .btn{padding:12px 14px;font-size:12px}.public-livebar{gap:4px 12px;padding-inline:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
