/*
 * MathLoom Editorial Ivory Light (2026-10-23)
 * Approved screenshot-derived design: warm ivory, deep navy, slate-blue accent.
 * Single light theme regardless of OS dark mode, no external fonts or trackers.
 * Added after legacy stylesheets; old route/functionality and print contrast remain intact.
 */
:root{
  color-scheme:light;
  --ml-paper:#faf8f2;
  --ml-paper-soft:#f5f1e9;
  --ml-ink:#1e314b;
  --ml-accent:#42698c;
  --ml-accent-hover:#315575;
  --ml-text:#4e6279;
  --ml-muted:#64758b;
  --ml-border:#e2dcd2;
  --ml-white:#fff;
  --ms-navy:var(--ml-ink);--ms-ink:var(--ml-ink);
  --ms-blue:var(--ml-accent);--ms-blue-hover:var(--ml-accent-hover);
  --ms-muted:var(--ml-muted);--ms-bg:var(--ml-paper);
  --ms-surface:var(--ml-white);--ms-soft:var(--ml-paper-soft);
  --ms-border:var(--ml-border);
  background:var(--ml-paper);color:var(--ml-ink);
}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body,.resource-center,.learning-page{background:var(--ml-paper)!important;color:var(--ml-ink);font-family:Inter,Pretendard,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif}
header,.rc-header,.learning-header{background:#faf8f2f5!important;border-bottom:1px solid var(--ml-border)!important;box-shadow:none!important}
header .wrap,.rc-header .wrap,.learning-header .wrap{max-width:1120px}
.brand,[data-k="brand"],.rc-brand>span,.learning-brand strong{color:var(--ml-ink);font-weight:900;letter-spacing:-.055em}
.brand{font-size:clamp(23px,2.3vw,29px)!important;gap:0}
.brand .logo,.learning-brand>span{display:none!important}
.rc-brand{font-size:0!important;gap:0!important;font-style:normal!important}
.rc-brand>span{font-size:24px!important;letter-spacing:-.045em!important}
.learning-brand{font-size:22px;letter-spacing:-.045em!important}
.learning-brand strong{font-size:24px}
nav a,.rc-nav nav a,.learning-nav nav a{color:var(--ml-text)!important}
nav a:hover,.rc-nav nav a:hover,.learning-nav nav a:hover{color:var(--ml-accent)!important}
#language,#site-lang,.lang-switch{background:#fff!important;border:1px solid var(--ml-border)!important;color:var(--ml-ink)!important;border-radius:5px!important}
.kicker,.rc-kicker,.learning-overline,.ms-eyebrow,.ml-feature-kicker{color:var(--ml-accent)!important;letter-spacing:.15em}
.primary,.rc-primary,.learning-hero-actions .primary,.hero .buttons .primary,.review-copy{
  background:var(--ml-accent)!important;color:#fff!important;border:1px solid var(--ml-accent)!important;
  border-radius:5px!important;box-shadow:none!important;
}
.primary:hover,.primary:focus-visible,.rc-primary:hover,.learning-hero-actions .primary:hover,.hero .buttons .primary:hover,
.review-copy:hover{background:var(--ml-accent-hover)!important;border-color:var(--ml-accent-hover)!important}
.secondary,.rc-secondary,.learning-secondary,.hero .buttons .secondary{background:transparent!important;color:var(--ml-ink)!important;border:1px solid var(--ml-border)!important;border-radius:5px!important;box-shadow:none!important}
.secondary:hover,.rc-secondary:hover,.learning-secondary:hover,.hero .buttons .secondary:hover{background:var(--ml-paper-soft)!important}
a{ text-underline-offset:3px }
:focus-visible{outline:3px solid #42698c!important;outline-offset:3px}
button,select,input,textarea{accent-color:var(--ml-accent)}
/* Screenshot-matched landing: single large left-aligned opening, cards within hero. */
.hero{background:var(--ml-paper)!important;padding:clamp(65px,7.5vw,110px) 0 75px!important}
.hero-grid{grid-template-columns:minmax(0,1fr)!important;gap:0!important}
.hero-copy{max-width:950px}
.hero .kicker{font-size:10px!important;font-weight:800;letter-spacing:.21em!important;margin:0 0 22px!important}
.hero h1{font-weight:900!important;font-size:clamp(35px,4.65vw,61px)!important;line-height:1.3!important;letter-spacing:-.058em!important;color:var(--ml-ink)!important;max-width:920px!important;margin:0 0 19px!important;word-break:keep-all}
.hero h1 em{font-style:normal;color:var(--ml-accent)!important}
.hero .intro{max-width:630px!important;font-size:clamp(13px,1.4vw,16px)!important;color:var(--ml-text)!important;line-height:1.95!important;margin:0 0 22px!important}
.hero .buttons{margin:24px 0 0!important;gap:10px!important;align-items:center!important}
.hero .buttons a{padding:13px 18px!important;min-height:49px!important;font-weight:800!important;font-size:13px!important;text-align:center}
.ml-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;border-top:1px solid var(--ml-border);margin:43px 0 0;padding:25px 0 0}
.ml-feature{display:flex;flex-direction:column;min-width:0;min-height:163px;padding:24px 27px 21px;background:#fff;border:1px solid var(--ml-border);border-radius:7px;text-decoration:none!important;color:var(--ml-ink)!important;transition:border-color .2s,transform .2s}
.ml-feature:hover,.ml-feature:focus-visible{border-color:#a2b4c4;transform:translateY(-2px)}
.ml-feature-kicker{font-size:10px;font-weight:900;margin-bottom:11px}
.ml-feature strong{font-size:clamp(17px,1.8vw,22px);letter-spacing:-.04em;line-height:1.4}
.ml-feature p{font-size:12px;color:var(--ml-muted);line-height:1.75;max-width:380px;margin:8px 0 14px;word-break:keep-all}
.ml-feature .ml-feature-link{margin-top:auto;font-size:12px;color:var(--ml-accent);font-weight:800}
.hero-proof{margin-top:27px!important;gap:11px}
.hero-proof span{background:#fff!important;border:1px solid var(--ml-border)!important;color:var(--ml-muted)!important;border-radius:4px!important;box-shadow:none!important}
.hero-signature{margin-top:26px!important;opacity:.9}
.hero .sub{color:var(--ml-muted);font-size:11px}
#method .mentor-board{width:100%;max-width:890px;margin:30px auto 4px;background:#fff;color:var(--ml-ink);border:1px solid var(--ml-border);box-shadow:none!important;border-radius:8px}
#method .mentor-board h2,#method .mentor-board strong{color:var(--ml-ink)}
#method .mentor-board .board-stamp,#method .mentor-board p{color:var(--ml-muted)}
/* Common home content: light surfaces, thin borders, no navy-band section. */
.section{scroll-margin-top:86px}
.social-proof,.program-section,.compact-resources,.learning-teaser,.trial-section,.dark#consult{background:var(--ml-paper-soft)!important;color:var(--ml-ink)!important}
.instructor-section,.teaching-section{background:var(--ml-paper)!important}
#consult h2,#consult p,#consult .section-intro,#consult .kicker,#consult label,#consult strong{color:var(--ml-ink)}
#consult .fine,#consult .sub{color:var(--ml-muted)!important}
#consult .public-contact a:not(.primary){color:var(--ml-accent)!important}
.social-proof h2,.program-section h2,.trial-section h2,.teaching-section h2,.instructor-section h2,.learning-teaser h2{color:var(--ml-ink)!important;letter-spacing:-.05em}
.review-summary-snapshot,.instructor-card,.ms-case-card,.program-choices article,.program-group,.home-section-details,
.ms-method-disclosure,.review-request-details,.trial-note,.rc-card,.rc-preview,.placement-gateway,
.tailored-diagnostic,.placement-status,.rc-report-paper,.learning-card,.learning-insight-card{
  border-color:var(--ml-border)!important;box-shadow:none!important;
}
.program-choices article,.program-disclosure .program-group,.trial-note,.review-request-details,.rc-card,.ms-case-card{
  background:#fff!important;border-radius:7px!important
}
.program-disclosure .program-scope{background:#f2f0eb;border-left-color:var(--ml-accent);color:var(--ml-text)}
.ms-case-card .ms-case-figure,.ms-feedback-visual,.ms-method-disclosure,.trial-section .trial-note,
.tailored-diagnostic,.placement-gateway{background:var(--ml-paper-soft)!important}
.review-request-details textarea{background:#fff!important;border-color:var(--ml-border);color:var(--ml-ink)}
footer,.rc-footer,.learning-footer{background:#f3f0e8!important;color:var(--ml-text)!important;border-top:1px solid var(--ml-border)}
footer a,.rc-footer a,.learning-footer a,footer b{color:var(--ml-ink)!important}
/* Course diagnostics, reports, and self-study: consistent warm ivory. */
.resource-center{--rc-ink:var(--ml-ink);--rc-muted:var(--ml-muted);--rc-green:var(--ml-accent)}
.learning-page{--study-ink:var(--ml-ink);--study-green:var(--ml-accent);--study-dim:var(--ml-muted)}
.rc-hero,.learning-hero{background:var(--ml-paper-soft)!important;border-bottom:1px solid var(--ml-border)}
.rc-hero h1,.learning-hero h1,.rc-section h2{color:var(--ml-ink)!important}
.rc-hero h1 em{color:var(--ml-accent)!important}
.rc-hero p:not(.rc-kicker,.los-status),.learning-lead,.rc-intro{color:var(--ml-text)!important}
.rc-hero-note,.learning-hero-art{background:#fff!important;color:var(--ml-ink)!important;border:1px solid var(--ml-border)!important;border-radius:7px;box-shadow:none!important}
.rc-note-tag,.rc-note-rows p,.art-header,.art-math{color:var(--ml-ink)!important}
.rc-note-rows{border-color:var(--ml-border)!important}
.rc-note-rows p{border-color:var(--ml-border)!important}
.rc-note-rows b{color:var(--ml-accent)!important}
.rc-hero-note small{color:var(--ml-muted)!important}
.rc-cards .rc-card,.rc-preview,.rc-report-paper{background:#fff!important;border-color:var(--ml-border)!important}
.rc-card h3,.rc-card p,.rc-formula-topic,.rc-formula-note{color:var(--ml-ink)}
.rc-card-link,.placement-gateway a,.tailored-diagnostic a{color:var(--ml-accent)!important}
.rc-card-tag{background:var(--ml-paper-soft)!important;color:var(--ml-accent)!important}
.rc-success,.feedback.correct{color:#167049!important}
.feedback.incorrect{color:#965c2e!important}
.placement-fields select,.resource-center select,.resource-center input[type="text"]{background:#fff!important;border-color:#c9c6c0!important;color:var(--ml-ink)!important}
.placement-supported,#placement-progress{background:#eaf1f6!important;color:#264c6e!important;border-color:#cfdae4!important}
.placement-pending{background:#f4f1ec!important;color:#64615a!important;border-color:#ded8cd!important}
.placement-guidance-item,.placement-guidance-item strong{border-color:var(--ml-border);color:var(--ml-ink)}
.learning-page .level-picker button[aria-pressed="true"]{background:var(--ml-accent)!important;border-color:var(--ml-accent)!important;color:#fff!important}
.learning-hero-actions .primary{box-shadow:none!important}
/* Contrast in forms and keyboard focus without changing actual form submission state. */
#consult form,.home-consult-details,.public-contact,.rc-test-panel{background:#fff;color:var(--ml-ink);border-color:var(--ml-border)}
#consult input,#consult textarea,#consult select{background:#fff;color:var(--ml-ink);border-color:#bcb9b1}
#consult input:disabled,#consult button:disabled{opacity:.62}
@media(max-width:850px){
 .hero{padding:61px 0 52px!important}
 .hero h1{font-size:clamp(32px,6.8vw,47px)!important}
 .ml-feature-grid{margin-top:36px}
 #method .mentor-board{max-width:100%}
}
@media(max-width:580px){
 .hero{padding:49px 0 40px!important}
 .hero h1{font-size:clamp(31px,8.7vw,41px)!important;letter-spacing:-.052em!important}
 .hero .intro{font-size:13px!important}
 .hero .buttons{gap:9px!important;align-items:stretch!important}
 .hero .buttons a{width:100%;justify-content:center}
 .ml-feature-grid{grid-template-columns:1fr;gap:10px;padding-top:17px;margin-top:27px}
 .ml-feature{min-height:0;padding:19px 20px;gap:2px}
 .ml-feature strong{font-size:18px}
 .ml-feature p{font-size:12px}
 .hero-proof{gap:6px}
 .hero-proof span{font-size:10px}
 .hero-signature{margin-top:17px!important}
 .rc-hero,.learning-hero{padding:45px 0!important}
 .rc-nav,.learning-nav{min-height:65px}
 .rc-brand>span,.learning-brand strong{font-size:21px!important}
 .review-template-grid,.trial-grid{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ml-feature{transition:none}}
@media print{
 :root{color-scheme:light!important}
 body,.resource-center,.learning-page,.rc-report-paper{background:#fff!important;color:#111!important}
 .rc-report-paper,.rc-preview,.rc-card{border-color:#bdbdbd!important;box-shadow:none!important}
 header,footer,.rc-header,.learning-header,.ml-feature-grid{display:none!important}
 a{text-decoration:underline;color:#111!important}
}

/* Wordmark: display only the approved MathLoom name (no symbol or period). */
.brand [data-k="brand"]::after,.rc-brand>span::after,.learning-brand strong::after{content:none!important}
/* Ensure all four navigation items remain visible on small screens, including English. */
@media(max-width:580px){
 .nav nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;overflow:visible!important;white-space:normal!important;align-items:stretch}
 .nav nav a{white-space:normal!important;min-width:0!important;min-height:44px!important;font-size:11px!important;line-height:1.3!important;text-align:center!important;justify-content:center!important;padding:6px 2px!important}
}

/* Parent-first consultation bridge: no tracking, no direct submission. */
.ml-consult-bridge{background:var(--ml-paper)!important;border-top:1px solid var(--ml-border);border-bottom:1px solid var(--ml-border);padding:clamp(52px,6vw,82px) 0!important}
.ml-consult-bridge h2{color:var(--ml-ink)!important;max-width:800px}
.ml-consult-bridge .section-intro{font-size:15px;line-height:1.85;color:var(--ml-text);max-width:800px}
.ml-consult-steps{list-style:none;padding:0;margin:27px 0 22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ml-consult-steps li{background:#fff;border:1px solid var(--ml-border);border-radius:7px;padding:21px 23px;min-width:0}
.ml-consult-steps li>span{display:block;color:var(--ml-accent);font-size:11px;font-weight:900;letter-spacing:.15em;margin-bottom:15px}
.ml-consult-steps li>strong{display:block;font-size:16px;color:var(--ml-ink);line-height:1.5;word-break:keep-all}
.ml-consult-steps li>p{font-size:13px;line-height:1.8;margin:9px 0 0;color:var(--ml-text);word-break:keep-all}
.ml-consult-bridge-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ml-consult-bridge-actions a{min-height:48px;display:inline-flex;align-items:center;justify-content:center;margin:0!important;padding:12px 18px!important;font-weight:800}
.ml-consult-bridge-note{color:var(--ml-muted);font-size:12px;line-height:1.7;margin:13px 0 0}
@media(max-width:720px){.ml-consult-steps{grid-template-columns:1fr;gap:9px}.ml-consult-steps li{padding:17px 19px}.ml-consult-steps li>span{margin-bottom:8px}.ml-consult-bridge-actions{flex-direction:column;align-items:stretch}.ml-consult-bridge-actions a{width:100%}}
@media print{.ml-consult-bridge-actions{display:none!important}}

/* Restrained vivid-blue highlights: preserve ivory surfaces, navy text, and muted-blue editorial details. */
:root{--ml-vivid:#2563eb;--ml-vivid-hover:#1d4ed8}
.primary,.rc-primary,.learning-hero-actions .primary,.hero .buttons .primary{
 background:var(--ml-vivid)!important;border-color:var(--ml-vivid)!important;color:#fff!important
}
.primary:hover,.primary:focus-visible,.rc-primary:hover,.rc-primary:focus-visible,
.learning-hero-actions .primary:hover,.hero .buttons .primary:hover{
 background:var(--ml-vivid-hover)!important;border-color:var(--ml-vivid-hover)!important
}
.nav nav a:hover,.nav nav a:focus-visible,.rc-nav nav a:hover,.learning-nav nav a:hover,
.nav nav a[aria-current="page"]{color:var(--ml-vivid)!important}
.case-tabs button[aria-selected="true"],.learning-page .level-picker button[aria-pressed="true"]{
 background:var(--ml-vivid)!important;border-color:var(--ml-vivid)!important;color:#fff!important
}
.ml-consult-steps li>span,.ml-feature .ml-feature-link,
.rc-card-link,.placement-gateway a,.tailored-diagnostic a{
 color:var(--ml-vivid)!important
}
:focus-visible{outline-color:var(--ml-vivid)!important}

/* Optional 1:1 KakaoTalk link appears only after an approved URL is configured. */
.ml-kakao-consult{display:inline-flex;align-items:center;justify-content:center;text-align:center;max-width:100%}
.ml-kakao-consult:focus-visible{outline:2px solid #42698C;outline-offset:3px}
/* MathLoom shared breadcrumb 20261023: low-visual-noise wayfinding */
.ml-site-breadcrumb{background:#FAF8F2;border-bottom:1px solid #E2DCD2;color:#1E314B}
.ml-site-breadcrumb .wrap{padding-top:9px;padding-bottom:9px}
.ml-site-breadcrumb nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;line-height:1.5}
.ml-site-breadcrumb a{display:inline-flex!important;color:#42698C;text-decoration:none;font-weight:650}
.ml-site-breadcrumb a:hover,.ml-site-breadcrumb a:focus-visible{text-decoration:underline}
.ml-site-breadcrumb span[aria-hidden]{color:#9B9A97}
.rc-header .rc-nav nav a[aria-current="page"]{border-bottom:2px solid #42698C}
@media(max-width:720px){
 .rc-header .rc-nav nav,.learning-header .learning-nav nav{display:flex;flex-wrap:wrap;justify-content:center;column-gap:12px;row-gap:5px}
 .rc-header .rc-nav nav a,.learning-header .learning-nav nav a{white-space:nowrap;font-size:11px}
 .ml-site-breadcrumb .wrap{padding-top:8px;padding-bottom:8px}
}
