:root {
  --navy: #06162f;
  --blue: #2768ff;
  --sky: #d9eaff;
  --mint: #b9f0e7;
  --lavender: #ddd5ff;
  --cream: #f7f8f4;
  --ink: #07152f;
  --muted: #647187;
  --line: rgba(7, 21, 47, .15);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: "DM Sans", "Noto Sans KR", sans-serif; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }

.site-header { height: 82px; padding: 0 5vw; display: flex; align-items: center; justify-content: space-between; position: absolute; z-index: 20; width: 100%; color: #fff; border-bottom: 1px solid rgba(255, 255, 255, .18); }
.brand { display: flex; align-items: center; gap: 12px; font-weight: 700; }
.brand i { display: block; width: 25px; height: 30px; border-radius: 4px; background: linear-gradient(165deg, #fff 0 45%, #70aaff 46%); transform: skew(-14deg); }
.brand b { color: #72a9ff; }
.site-header nav { display: flex; gap: clamp(18px, 2.7vw, 42px); font-size: 12px; }
.site-header nav a { opacity: .6; }
.site-header nav a:hover, .site-header nav a.active { opacity: 1; }
.menu-button { display: none; width: 40px; border: 0; background: none; }
.menu-button span { display: block; height: 1px; margin: 8px 0; background: #fff; }

.sub-visual { height: 470px; padding: 145px 7vw 55px; position: relative; overflow: hidden; color: #fff; background: radial-gradient(circle at 75% 35%, #2557aa, #0a285d 27%, #06162f 65%); }
.sub-visual::after { content: ""; position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(140, 180, 255, .18) 1px, transparent 1px), linear-gradient(90deg, rgba(140, 180, 255, .18) 1px, transparent 1px); background-size: 80px 80px; mask-image: linear-gradient(90deg, transparent, #000, transparent); }
.breadcrumb { position: relative; z-index: 2; display: flex; gap: 11px; font-size: 9px; letter-spacing: .12em; color: #94aed6; }
.breadcrumb b { color: #fff; }
.sub-title { position: relative; z-index: 2; margin-top: 64px; }
.sub-title p { margin: 0 0 12px; color: #82abff; font-size: 10px; letter-spacing: .19em; }
.sub-title h1 { margin: 0 0 13px; font-size: clamp(48px, 6vw, 82px); letter-spacing: -.065em; line-height: 1; }
.sub-title > span { color: #b5c9e9; font-size: 14px; }
.page-index { position: absolute; z-index: 2; right: 7vw; bottom: 55px; display: flex; align-items: center; gap: 15px; color: #a6bddf; font-size: 8px; letter-spacing: .15em; }
.page-index i { width: 45px; height: 1px; background: #a6bddf; }
.visual-orbit { position: absolute; right: 11%; top: 80px; width: 320px; aspect-ratio: 1; border: 1px solid rgba(135, 177, 255, .17); border-radius: 50%; }
.visual-orbit i { position: absolute; inset: 20%; border: 1px solid rgba(135, 177, 255, .2); border-radius: 50%; transform: rotateX(65deg); }
.visual-orbit i:nth-child(2) { transform: rotateY(65deg); }
.visual-orbit span { position: absolute; right: 12%; top: 25%; width: 20px; height: 20px; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #fff, #6da9ff 35%, #555ad6); box-shadow: 0 0 25px #6090ef; }

.local-nav { height: 68px; padding: 0 7vw; display: flex; align-items: center; justify-content: center; gap: clamp(30px, 5vw, 75px); position: sticky; top: 0; z-index: 10; background: rgba(247, 248, 244, .95); border-bottom: 1px solid var(--line); backdrop-filter: blur(15px); font-size: 13px; }
.local-nav a { height: 68px; display: flex; align-items: center; position: relative; color: #788398; }
.local-nav a.active { color: var(--blue); font-weight: 700; }
.local-nav a.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--blue); }

.content-section { max-width: 1280px; margin: auto; padding: 120px 50px; }
.section-number { display: flex; gap: 16px; font-size: 9px; letter-spacing: .16em; color: var(--blue); }
.section-number span { color: var(--ink); }
.section-number.light { color: #fff; }
.section-number.light span { color: #92a9cd; }
.section-heading { margin: 72px 0 45px; }
.section-heading p, .label { margin: 0 0 15px; color: var(--blue); font-size: 10px; letter-spacing: .16em; }
.section-heading h2, .text-area h2, .program-intro h2 { margin: 0; font-size: clamp(45px, 5.5vw, 78px); line-height: .98; letter-spacing: -.065em; }
.section-heading h2 em, .contact h2 em { color: var(--blue); font-style: normal; }
.lead-copy { width: 56%; margin: 0 0 68px auto; padding-top: 22px; border-top: 1px solid var(--line); }
.lead-copy strong { display: block; margin-bottom: 14px; font-size: 17px; }
.lead-copy p, .text-area > p, .program-intro > p { color: var(--muted); font-size: 14px; line-height: 1.9; }

.image-area { margin: 0; overflow: hidden; border-radius: 20px; }
.image-area--hero { background: linear-gradient(135deg, var(--sky), var(--lavender)); }
.image-placeholder { min-height: 520px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #6580aa; background-image: linear-gradient(rgba(255,255,255,.3) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.3) 1px, transparent 1px); background-size: 50px 50px; }
.image-placeholder span { font-size: 9px; letter-spacing: .17em; }
.image-placeholder b { margin: 18px 0 12px; color: #234877; font-size: 28px; text-align: center; line-height: 1.35; }
.image-placeholder small { font-size: 10px; opacity: .7; }
.image-area figcaption { padding: 15px 0 0; background: var(--cream); color: #7d899d; font-size: 10px; }
.image-area figcaption span { margin-right: 12px; color: var(--blue); }

.learning { padding-top: 70px; }
.split-block { display: grid; grid-template-columns: 1.05fr .95fr; gap: 8%; align-items: center; margin-top: 80px; }
.split-block.reverse .image-area { order: 2; }
.split-block.reverse .text-area { order: 1; }
.split-block .image-placeholder { min-height: 460px; }
.learning-image {
  aspect-ratio: 786 / 575;
  box-shadow: 0 22px 55px rgba(7, 21, 47, .1);
}
.learning-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.pastel-blue { background: var(--sky); }
.pastel-mint { background: var(--mint); }
.pastel-lavender { background: var(--lavender); }
.text-area h2 { margin-bottom: 28px; font-size: clamp(35px, 4vw, 58px); }
.text-area ul { margin: 35px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.text-area li { padding: 15px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.text-area li span { margin-right: 25px; color: var(--blue); font-size: 10px; }
.line-link { display: inline-block; margin-top: 25px; padding-bottom: 7px; border-bottom: 1px solid; font-size: 12px; font-weight: 700; }
.line-link span { margin-left: 30px; }

.feature-section { padding: 120px 7vw; color: #fff; background: var(--navy); }
.content-width { max-width: 1180px; margin: auto; }
.feature-title { margin: 70px 0 55px; display: flex; justify-content: space-between; align-items: end; }
.feature-title h2 { margin: 0; font-size: clamp(48px, 6vw, 82px); line-height: .93; letter-spacing: -.07em; }
.feature-title h2 em { color: #72a3ff; font-style: normal; }
.feature-title p { color: #8ca3c9; font-size: 12px; line-height: 1.8; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.feature-grid article { min-height: 420px; padding: 28px; color: var(--ink); border-radius: 17px; }
.feature-grid article:nth-child(1) { background: var(--sky); }
.feature-grid article:nth-child(2) { background: var(--mint); }
.feature-grid article:nth-child(3) { background: var(--lavender); }
.feature-grid article > span { font-size: 8px; letter-spacing: .14em; }
.feature-grid h3 { margin: 16px 0 10px; font-size: 24px; }
.feature-grid p { color: #536177; font-size: 12px; line-height: 1.7; }
.mini-graphic { height: 240px; position: relative; display: flex; align-items: center; justify-content: center; }
.mini-graphic i { display: block; width: 125px; height: 125px; border: 1px solid rgba(39,104,255,.35); border-radius: 50%; box-shadow: 0 0 0 30px rgba(255,255,255,.2); }
.mini-graphic.time i { border-radius: 25px; transform: rotate(-12deg); background: linear-gradient(145deg, #fff, #5ed7c2); }
.mini-graphic.data i { border-radius: 50% 50% 10px 50%; transform: rotate(45deg); background: linear-gradient(145deg, #fff, #8874ff); }

.program-intro { display: grid; grid-template-columns: 1fr .7fr; gap: 12%; align-items: end; margin: 70px 0; }
.program-intro h2 { font-size: clamp(45px, 5vw, 72px); }
.program-list { border-top: 1px solid var(--line); }
.program-list article { min-height: 205px; padding: 28px 0; display: grid; grid-template-columns: 70px 1fr 260px; gap: 30px; align-items: center; border-bottom: 1px solid var(--line); }
.program-list article > span { color: var(--blue); font-size: 10px; }
.program-list small { color: var(--blue); font-size: 8px; letter-spacing: .15em; }
.program-list h3 { margin: 8px 0; font-size: 27px; letter-spacing: -.035em; }
.program-list p { margin: 0; color: var(--muted); font-size: 12px; }
.thumb { height: 145px; display: flex; align-items: center; justify-content: center; border-radius: 13px; color: rgba(7,21,47,.4); font-size: 9px; letter-spacing: .16em; }
.program-thumb {
  width: 260px;
  height: auto;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #edf2ff;
  box-shadow: 0 14px 32px rgba(7, 21, 47, .1);
}
.program-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.guide-section { padding: 120px max(7vw, calc((100vw - 1180px) / 2)); display: grid; grid-template-columns: .65fr 1.35fr; gap: 8%; align-items: center; color: #fff; background: var(--navy); }
.guide-copy h2 { margin: 60px 0 25px; font-size: clamp(45px, 5vw, 70px); line-height: .98; letter-spacing: -.06em; }
.guide-copy > p { color: #8da5cb; font-size: 13px; line-height: 1.9; }
.open-poster { margin-top: 25px; padding: 13px 18px; color: var(--ink); background: #fff; border: 0; border-radius: 99px; font-size: 11px; cursor: pointer; }
.open-poster span { margin-left: 25px; }
.poster { padding: 0; overflow: hidden; border: 0; border-radius: 16px; background: none; box-shadow: 0 30px 80px rgba(0,0,0,.3); cursor: zoom-in; }
.poster img { display: block; width: 100%; height: auto; }

.contact { min-height: 570px; padding: 90px 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: linear-gradient(135deg, #c9e5ff, #dcd4ff 55%, #c4f0e9); }
.contact > p { font-size: 9px; letter-spacing: .2em; }
.contact h2 { margin: 30px 0; font-size: clamp(50px, 7vw, 95px); line-height: .95; letter-spacing: -.07em; }
.contact a { padding: 14px 20px; color: #fff; background: var(--ink); border-radius: 99px; font-size: 11px; }
.contact a span { margin-left: 25px; }
/* footer { padding: 60px 6vw; display: grid; grid-template-columns: 1fr 1fr 2fr 1fr; gap: 40px; color: #8295b6; background: #041024; font-size: 10px; line-height: 1.8; } */
footer .brand { color: #fff; }
footer address { font-style: normal; }
footer > a:last-child { color: #b9d1ff; }

dialog { width: min(92vw, 1000px); max-height: 90vh; padding: 0; overflow: auto; border: 0; border-radius: 17px; }
dialog::backdrop { background: rgba(2,10,25,.82); backdrop-filter: blur(8px); }
dialog img { display: block; width: 100%; }
.close-poster { position: fixed; top: 25px; right: 30px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #fff; font-size: 25px; cursor: pointer; }

@media (max-width: 960px) {
  .site-header nav { display: none; position: fixed; inset: 0; padding: 105px 7vw; flex-direction: column; gap: 12px; background: var(--navy); font-size: 32px; }
  .site-header nav.open { display: flex; }
  .menu-button { display: block; z-index: 2; }
  .menu-button.open span:first-child { transform: translateY(4.5px) rotate(45deg); }
  .menu-button.open span:last-child { transform: translateY(-4.5px) rotate(-45deg); }
  .local-nav { justify-content: flex-start; overflow-x: unset; overflow-y: clip;}
  .local-nav a { flex: 0 0 auto; }
  .split-block { gap: 5%; }
  .feature-grid { grid-template-columns: 1fr 1fr; }
  .feature-grid article:last-child { grid-column: 1 / -1; }
  .program-list article { grid-template-columns: 55px 1fr 190px; }
  .program-list .program-thumb { width: 190px; }
  .guide-section { grid-template-columns: 1fr; gap: 55px; }
  footer { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  .site-header { height: 70px; padding: 0 20px; }
  .sub-visual { height: 410px; padding: 120px 20px 40px; }
  .sub-title { margin-top: 55px; }
  .sub-title > span { font-size: 12px; }
  .page-index { right: 20px; bottom: 30px; }
  .visual-orbit { right: -150px; top: 75px; opacity: .6; }
  .local-nav { height: 58px; padding: 0 20px; gap: 30px; }
  .local-nav a { height: 58px; }
  .content-section { padding: 85px 20px; }
  .section-heading { margin-top: 55px; }
  .lead-copy { width: 100%; margin-top: 45px; }
  .image-placeholder { min-height: 320px; }
  .split-block, .split-block.reverse { grid-template-columns: 1fr; gap: 35px; margin-top: 65px; }
  .split-block.reverse .image-area { order: 1; }
  .split-block.reverse .text-area { order: 2; }
  .split-block .image-placeholder { min-height: 330px; }
  .feature-section { padding: 85px 20px; }
  .feature-title { display: block; margin-top: 55px; }
  .feature-title p { margin-top: 28px; }
  .feature-grid { display: block; }
  .feature-grid article { min-height: 390px; margin-bottom: 13px; }
  .program-intro { display: block; margin-top: 55px; }
  .program-intro > p { margin-top: 30px; }
  .program-list article { grid-template-columns: 35px 1fr; min-height: 190px; }
  .program-list .program-thumb {
    width: 100%;
    max-width: 491px;
    margin: 22px auto 0;
    display: block;
    grid-column: 2;
  }
  .guide-section { padding: 85px 20px; }
  .contact { min-height: 500px; }
  footer { grid-template-columns: 1fr; }
}

/* English Castle sub page */
.english-castle-page { background: var(--cream); }
.english-castle-page .site-header { position: fixed; background: rgba(6,22,47,.88); backdrop-filter: blur(14px); }
.english-castle-page .brand { display: flex; align-items: center; gap: 10px; color: #fff; font-weight: 700; }
.english-castle-page .brand i { width: 26px; height: 34px; display: block; border-radius: 6px 2px; transform: skew(-14deg); background: linear-gradient(180deg,#fff 0 35%,#6ea7ff 35%); }
.english-castle-page .brand b { color: #72a3ff; }
.english-visual { height: 610px; padding-top: 175px; background: radial-gradient(circle at 78% 28%,#4344a1,#132a68 34%,#06162f 72%); }
.english-visual .sub-title h1 { color: #fff; font-size: clamp(72px,10vw,138px); line-height: .8; letter-spacing: -.085em; }
.english-visual .sub-title p { color: #9da8ff; }
.english-visual .sub-title span { color: #b8c7df; }
.english-overview-grid { margin-top: 75px; display: grid; grid-template-columns: 1fr .8fr; gap: 10%; align-items: center; }
.english-logo { width: 150px; height: auto; margin-bottom: 35px; }
.english-overview-copy h2 { margin: 10px 0 22px; font-size: clamp(58px,7vw,96px); line-height: .88; letter-spacing: -.075em; }
.english-overview-copy h2 em,.english-section-heading em { color: var(--blue); font-style: normal; }
.english-overview-copy .product-number { color: var(--blue); font-size: 11px; font-weight: 700; }
.english-overview-copy h3 { margin: 48px 0 15px; font-size: 24px; line-height: 1.45; }
.english-overview-copy > p:last-child { color: var(--muted); font-size: 14px; line-height: 1.9; }
.english-main-image { color: var(--muted); font-size: 11px; text-align: center; }
.english-main-image img { width: min(100%,436px); height: auto; display: block; margin: auto; filter: drop-shadow(0 28px 45px rgba(21,19,70,.17)); transition: transform .3s ease; }
.english-main-image:hover img { transform: translateY(-7px); }
.english-main-image span { margin-top: 16px; display: block; }
.english-feature-grid { margin-top: 100px; display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.english-feature-grid article { min-height: 245px; padding: 28px; border-radius: 17px; background: #fff; box-shadow: 0 15px 35px rgba(7,21,47,.06); }
.english-feature-grid article:nth-child(2n) { background: var(--lavender); }
.english-feature-grid article:nth-child(3) { background: var(--sky); }
.english-feature-grid span { color: var(--blue); font-size: 10px; }
.english-feature-grid h3 { margin: 58px 0 13px; font-size: 22px; }
.english-feature-grid p { color: var(--muted); font-size: 12px; line-height: 1.75; }
.english-learning,.english-modules { padding: 120px 7vw; color: #fff; background: var(--navy); }
.english-section-heading { margin: 65px 0 55px; display: flex; justify-content: space-between; gap: 8%; align-items: end; }
.english-section-heading h2 { margin: 0; font-size: clamp(50px,6vw,82px); line-height: .95; letter-spacing: -.07em; }
.english-section-heading > p { max-width: 390px; color: #8da5cb; font-size: 13px; line-height: 1.9; }
.english-section-heading.dark > p { color: var(--muted); }
.english-shot-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.english-shot-grid img { width: 100%; height: auto; display: block; border-radius: 14px; box-shadow: 0 18px 48px rgba(0,0,0,.24); }
.english-learning-list { margin: 48px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; list-style: none; border-top: 1px solid rgba(255,255,255,.15); }
.english-learning-list li { padding: 18px 20px; border-bottom: 1px solid rgba(255,255,255,.15); color: #b8c7df; font-size: 13px; }
.english-learning-list span { margin-right: 22px; color: #8f91ff; font-size: 10px; }
.system-list { display: grid; grid-template-columns: repeat(5,1fr); gap: 12px; }
.system-list article { min-height: 280px; padding: 28px 24px; border-radius: 17px; background: #fff; box-shadow: 0 15px 35px rgba(7,21,47,.06); }
.system-list article:nth-child(2n) { background: var(--lavender); }
.system-list article:nth-child(3) { background: var(--mint); }
.system-list span { color: var(--blue); font-size: 10px; }
.system-list h3 { margin: 75px 0 15px; font-size: 21px; }
.system-list p { color: var(--muted); font-size: 12px; line-height: 1.75; }
.module-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.module-grid article { min-height: 260px; padding: 30px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 17px; color: var(--ink); background: var(--lavender); }
.module-grid article:nth-child(2),.module-grid article:nth-child(6) { background: var(--sky); }
.module-grid article:nth-child(3),.module-grid article:nth-child(4) { background: var(--mint); }
.module-grid img { width: 110px; height: 100px; object-fit: contain; }
.module-grid h3 { margin: 18px 0 0; font-size: 18px; }
.english-faq .english-section-heading { display: block; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { padding: 24px 10px; cursor: pointer; font-size: 18px; font-weight: 700; list-style: none; }
.faq-list summary::before { content: "Q"; margin-right: 30px; color: var(--blue); font-size: 11px; }
.faq-list details p { margin: 0; padding: 0 45px 28px; color: var(--muted); font-size: 14px; line-height: 1.85; }
.faq-list details b { color: var(--blue); }
.english-mobile-menu { display: none; }

@media (max-width: 960px) {
  .english-castle-page .desktop-nav { display: none; }
  .english-mobile-menu { position: fixed; inset: 0; z-index: 19; padding: 115px 7vw 40px; overflow-y: auto; color: #fff; background: var(--navy); }
  .english-mobile-menu.open { display: block; }
  .english-mobile-menu > a,.english-mobile-menu button { width: 100%; padding: 14px 0; display: flex; justify-content: space-between; border: 0; color: #fff; background: none; font: inherit; font-size: 31px; font-weight: 700; text-align: left; }
  .english-mobile-menu nav { max-height: 0; padding-left: 20px; overflow: hidden; transition: max-height .25s ease; }
  .english-mobile-menu nav.open { max-height: 260px; }
  .english-mobile-menu nav a { padding: 8px 0; display: block; color: #8da5cb; font-size: 17px; }
  body.menu-open { overflow: hidden; }
  .english-feature-grid { grid-template-columns: 1fr 1fr; }
  .system-list { grid-template-columns: 1fr 1fr; }
  .system-list article:last-child { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  .english-visual { height: 500px; padding: 140px 20px 40px; }
  .english-visual .sub-title h1 { font-size: 68px; }
  .english-overview-grid { margin-top: 55px; grid-template-columns: 1fr; gap: 55px; }
  .english-logo { width: 125px; }
  .english-overview-copy h2 { font-size: 62px; }
  .english-main-image { max-width: 390px; margin: auto; }
  .english-feature-grid { margin-top: 70px; grid-template-columns: 1fr; }
  .english-feature-grid article { min-height: 210px; }
  .english-learning,.english-modules { padding: 85px 20px; }
  .english-section-heading { margin-top: 55px; display: block; }
  .english-section-heading h2 { font-size: 46px; }
  .english-section-heading > p { margin-top: 26px; }
  .english-shot-grid { grid-template-columns: 1fr; }
  .english-learning-list { grid-template-columns: 1fr; }
  .system-list,.module-grid { grid-template-columns: 1fr; }
  .system-list article:last-child { grid-column: auto; }
  .system-list article { min-height: 220px; }
  .module-grid article { min-height: 225px; }
  .faq-list summary { padding: 21px 0; font-size: 16px; line-height: 1.5; }
  .faq-list summary::before { margin-right: 14px; }
  .faq-list details p { padding: 0 0 24px; font-size: 13px; }
}

/* 클래스링크 사이트 연결 이미지 */
.classlink-site-link {
  width: 100%;
  margin: 70px auto 0;
  text-align: center;
}

.classlink-site-link a {
  width: min(100%, 561px);
  margin: 0 auto;
  display: block;
}

.classlink-site-link img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.classlink-site-link .caption {
  margin-top: 18px;
  text-align: center;
}

/* Sejong Phonics AI sub page */
.phonics-page { background: var(--cream); }
.phonics-page .site-header { position: fixed; background: rgba(6,22,47,.88); backdrop-filter: blur(14px); }
.phonics-page .brand { display: flex; align-items: center; gap: 10px; color: #fff; font-weight: 700; }
.phonics-page .brand i { width: 26px; height: 34px; display: block; border-radius: 6px 2px; transform: skew(-14deg); background: linear-gradient(180deg,#fff 0 35%,#6ea7ff 35%); }
.phonics-page .brand b { color: #72a3ff; }
.phonics-visual { height: 610px; padding-top: 175px; background: radial-gradient(circle at 78% 28%,#7645c5,#27337d 34%,#06162f 72%); }
.phonics-visual .sub-title h1 { color: #fff; font-size: clamp(66px,9vw,128px); line-height: .82; letter-spacing: -.08em; }
.phonics-visual .sub-title p { color: #c29cff; }
.phonics-visual .sub-title span { color: #c4cbe0; }
.phonics-overview-grid { margin-top: 75px; display: grid; grid-template-columns: 1fr .8fr; gap: 10%; align-items: center; }
.phonics-logo { width: 142px; height: auto; margin-bottom: 35px; }
.phonics-overview h2 { margin: 10px 0 28px; font-size: clamp(58px,7vw,96px); line-height: .9; letter-spacing: -.075em; }
.phonics-overview h2 em,.phonics-heading em,.phonics-step-title em { color: var(--blue); font-style: normal; }
.phonics-overview blockquote { margin: 48px 0 18px; font-size: 23px; font-weight: 700; line-height: 1.55; }
.phonics-overview-grid > div > p:last-child { color: var(--muted); font-size: 14px; line-height: 1.9; }
.phonics-main-image { color: var(--muted); font-size: 11px; text-align: center; }
.phonics-main-image img { width: min(100%,512px); height: auto; display: block; margin: auto; filter: drop-shadow(0 28px 45px rgba(31,18,83,.17)); transition: transform .3s ease; }
.phonics-main-image:hover img { transform: translateY(-7px); }
.phonics-main-image span { margin-top: 16px; display: block; }
.phonics-features,.phonics-books { padding: 120px 7vw; color: #fff; background: var(--navy); }
.phonics-heading,.phonics-step-title { margin: 65px 0 55px; display: flex; justify-content: space-between; gap: 8%; align-items: end; }
.phonics-heading h2,.phonics-step-title h2 { margin: 0; font-size: clamp(50px,6vw,82px); line-height: .95; letter-spacing: -.07em; }
.phonics-heading img { width: 145px; height: auto; }
.phonics-step-title > p { max-width: 390px; color: var(--muted); font-size: 13px; line-height: 1.9; }
.phonics-step-title.light > p { color: #8da5cb; }
.phonics-feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.phonics-feature-grid article { min-height: 390px; padding: 42px; border-radius: 18px; color: var(--ink); background: var(--lavender); }
.phonics-feature-grid article:last-child { background: var(--sky); }
.phonics-feature-grid span { color: var(--blue); font-size: 10px; }
.phonics-feature-grid h3 { margin: 75px 0 20px; font-size: 28px; }
.phonics-feature-grid p { color: var(--muted); font-size: 13px; line-height: 1.85; }
.step-flow { margin: 0 0 80px; display: grid; grid-template-columns: repeat(5,1fr); overflow: hidden; border-radius: 12px; }
.step-flow span { padding: 20px 12px; color: #fff; background: #6f7cff; font-size: 13px; font-weight: 700; text-align: center; }
.step-flow span:nth-child(2) { background: #806ef1; }.step-flow span:nth-child(3) { background: #8b5fe8; }.step-flow span:nth-child(4) { background: #974ddc; }.step-flow span:nth-child(5) { background: #a43bd0; }
.phonics-gallery { margin-top: 100px; display: grid; grid-template-columns: .65fr 1.35fr; gap: 7%; align-items: center; }
.phonics-gallery.reverse { grid-template-columns: 1.35fr .65fr; }
.phonics-gallery.reverse .gallery-copy { order: 2; }.phonics-gallery.reverse .gallery-images { order: 1; }
.gallery-copy > span { color: var(--blue); font-size: 10px; letter-spacing: .15em; }
.gallery-copy h3 { margin: 18px 0 20px; font-size: clamp(38px,4vw,58px); line-height: 1.05; letter-spacing: -.055em; }
.gallery-copy p { color: var(--muted); font-size: 13px; line-height: 1.9; }
.gallery-images { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.gallery-images img { width: 100%; height: auto; display: block; border-radius: 14px; box-shadow: 0 16px 38px rgba(7,21,47,.16); }
.gallery-images.listening img,.gallery-images.reading img { height: 100%; aspect-ratio: 410 / 226; object-fit: cover; }
.book-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.book-grid article { min-height: 450px; padding: 34px; border-radius: 18px; color: var(--ink); background: var(--lavender); }
.book-grid article:nth-child(2) { background: var(--sky); }.book-grid article:nth-child(3) { background: var(--mint); }
.book-grid img { width: 100%; height: 245px; object-fit: contain; display: block; }
.book-grid h3 { margin: 22px 0 16px; font-size: 24px; }
.book-grid ul { margin: 0; padding-left: 18px; color: var(--muted); font-size: 13px; line-height: 1.8; }

@media (max-width: 960px) {
  .phonics-page .desktop-nav { display: none; }
}

@media (max-width: 640px) {
  .phonics-visual { height: 500px; padding: 140px 20px 40px; }
  .phonics-visual .sub-title h1 { font-size: 58px; }
  .phonics-overview-grid { margin-top: 55px; grid-template-columns: 1fr; gap: 55px; }
  .phonics-logo { width: 120px; }
  .phonics-overview h2 { font-size: 60px; }
  .phonics-overview blockquote { margin-top: 38px; font-size: 19px; }
  .phonics-main-image { max-width: 420px; margin: auto; }
  .phonics-features,.phonics-books { padding: 85px 20px; }
  .phonics-heading,.phonics-step-title { margin-top: 55px; display: block; }
  .phonics-heading h2,.phonics-step-title h2 { font-size: 45px; }
  .phonics-heading img { width: 105px; margin: 28px 0 0; }
  .phonics-step-title > p { margin-top: 24px; }
  .phonics-feature-grid { grid-template-columns: 1fr; }
  .phonics-feature-grid article { min-height: 330px; padding: 30px; }
  .phonics-feature-grid h3 { margin-top: 55px; }
  .step-flow { margin-bottom: 65px; grid-template-columns: 1fr; }
  .step-flow span { padding: 14px; }
  .phonics-gallery,.phonics-gallery.reverse { margin-top: 75px; grid-template-columns: 1fr; gap: 35px; }
  .phonics-gallery.reverse .gallery-copy { order: 1; }.phonics-gallery.reverse .gallery-images { order: 2; }
  .gallery-copy h3 { font-size: 40px; }
  .gallery-images { gap: 8px; }
  .book-grid { grid-template-columns: 1fr; }
  .book-grid article { min-height: 400px; }
}

@media (max-width: 640px) {
  .classlink-site-link {
    margin-top: 45px;
  }

  .classlink-site-link a {
    width: min(100%, 480px);
  }

  .classlink-site-link .caption {
    margin-top: 14px;
    font-size: 12px;
  }
}

/* Checkbada sub page */
.checkbada-page { background: var(--cream); }
.checkbada-page .site-header { position: fixed; background: rgba(6,22,47,.88); backdrop-filter: blur(14px); }
.checkbada-page .brand { display:flex;align-items:center;gap:10px;color:#fff;font-weight:700; }
.checkbada-page .brand i { width:26px;height:34px;display:block;border-radius:6px 2px;transform:skew(-14deg);background:linear-gradient(180deg,#fff 0 35%,#6ea7ff 35%); }
.checkbada-page .brand b { color:#72a3ff; }
.checkbada-visual { height:610px;padding-top:175px;background:radial-gradient(circle at 78% 28%,#23a37b,#164f6b 34%,#06162f 72%); }
.checkbada-visual .sub-title h1 { color:#fff;font-size:clamp(72px,10vw,138px);line-height:.8;letter-spacing:-.085em; }
.checkbada-visual .sub-title p { color:#65e2b7; }.checkbada-visual .sub-title span { color:#b8d7d0; }
.check-overview-grid { margin-top:75px;display:grid;grid-template-columns:1fr .8fr;gap:10%;align-items:center; }
.check-logo { width:250px;height:auto;margin-bottom:38px; }
.check-overview h2 { margin:10px 0 30px;font-size:clamp(52px,6vw,86px);line-height:.94;letter-spacing:-.07em; }
.check-overview h2 em,.check-heading em { color:var(--blue);font-style:normal; }
.check-overview h3 { margin:48px 0 15px;font-size:24px;line-height:1.45; }
.check-overview-grid > div > p:last-child { color:var(--muted);font-size:14px;line-height:1.9; }
.check-main-image { color:var(--muted);font-size:11px;text-align:center; }
.check-main-image img { width:min(100%,512px);height:auto;display:block;margin:auto;filter:drop-shadow(0 28px 45px rgba(12,72,55,.16));transition:transform .3s ease; }
.check-main-image:hover img { transform:translateY(-7px); }.check-main-image span { margin-top:16px;display:block; }
.check-process,.check-benefits { padding:120px 7vw;color:#fff;background:var(--navy); }
.check-heading { margin:65px 0 55px;display:flex;justify-content:space-between;gap:8%;align-items:end; }
.check-heading h2 { margin:0;font-size:clamp(50px,6vw,82px);line-height:.95;letter-spacing:-.07em; }
.check-heading > p { max-width:390px;color:#8da5cb;font-size:13px;line-height:1.9; }.check-heading.dark > p { color:var(--muted); }
.process-steps { margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);list-style:none;border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16); }
.process-steps li { min-height:130px;padding:24px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16); }
.process-steps span { color:#65e2b7;font-size:10px; }.process-steps h3 { margin:35px 0 0;font-size:20px; }
.process-images { margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:14px; }
.process-images img { width:100%;height:280px;display:block;object-fit:contain;border-radius:16px;background:#fff; }
.process-result { margin:32px 0 0;color:#65e2b7;font-size:20px;font-weight:700;text-align:center; }
.device-card { padding:50px;overflow:hidden;border-radius:20px;background:var(--lavender);box-shadow:0 20px 50px rgba(7,21,47,.09); }
.device-card img { width:min(100%,644px);height:auto;display:block;margin:auto; }
.device-card div { max-width:650px;margin:22px auto 0;display:flex;justify-content:space-around;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.12em; }
.benefit-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }
.benefit-grid article { min-height:390px;padding:38px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:18px;color:var(--ink);background:var(--lavender);text-align:center; }
.benefit-grid article:nth-child(2) { background:var(--sky); }.benefit-grid article:nth-child(3) { background:var(--mint); }
.benefit-grid img { width:135px;height:125px;object-fit:contain; }
.benefit-grid h3 { margin:24px 0 15px;color:var(--blue);font-size:25px; }.benefit-grid p { max-width:260px;color:var(--muted);font-size:13px;line-height:1.8; }
@media(max-width:960px){.checkbada-page .desktop-nav{display:none}.process-images img{height:220px}}
@media(max-width:640px){.checkbada-visual{height:500px;padding:140px 20px 40px}.checkbada-visual .sub-title h1{font-size:66px}.check-overview-grid{margin-top:55px;grid-template-columns:1fr;gap:55px}.check-logo{width:210px}.check-overview h2{font-size:48px}.check-overview h3{margin-top:38px;font-size:20px}.check-main-image{max-width:420px;margin:auto}.check-process,.check-benefits{padding:85px 20px}.check-heading{margin-top:55px;display:block}.check-heading h2{font-size:45px}.check-heading>p{margin-top:25px}.process-steps{grid-template-columns:1fr 1fr}.process-steps li{min-height:110px;padding:18px}.process-steps h3{margin-top:25px;font-size:17px}.process-images{grid-template-columns:1fr}.process-images img{height:auto;min-height:180px}.process-result{font-size:17px;line-height:1.5}.device-card{padding:22px 14px}.device-card div{font-size:10px}.benefit-grid{grid-template-columns:1fr}.benefit-grid article{min-height:330px}}

/* Sejong Korean sub page */
.hangul-page{background:var(--cream)}.hangul-page .site-header{position:fixed;background:rgba(6,22,47,.88);backdrop-filter:blur(14px)}.hangul-page .brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700}.hangul-page .brand i{width:26px;height:34px;display:block;border-radius:6px 2px;transform:skew(-14deg);background:linear-gradient(180deg,#fff 0 35%,#6ea7ff 35%)}.hangul-page .brand b{color:#72a3ff}
.hangul-visual{height:610px;padding-top:175px;background:radial-gradient(circle at 78% 28%,#db676f,#6d3d75 34%,#06162f 72%)}.hangul-visual .sub-title h1{color:#fff;font-size:clamp(68px,9vw,128px);line-height:.82;letter-spacing:-.08em}.hangul-visual .sub-title p{color:#ffaaa4}.hangul-visual .sub-title span{color:#e1c5ca}
.hangul-overview-grid{margin-top:75px;display:grid;grid-template-columns:1fr .8fr;gap:10%;align-items:center}.hangul-logo{width:164px;height:auto;margin-bottom:38px}.hangul-overview h2{margin:10px 0 30px;font-size:clamp(54px,6vw,88px);line-height:.92;letter-spacing:-.07em}.hangul-overview h2 em,.hangul-heading em{color:var(--blue);font-style:normal}.hangul-overview h3{margin:48px 0 15px;font-size:24px;line-height:1.45}.hangul-overview-grid>div>p:last-child{color:var(--muted);font-size:14px;line-height:1.9}.hangul-main-image{margin:0}.hangul-main-image img{width:min(100%,392px);height:auto;display:block;margin:auto;filter:drop-shadow(0 28px 45px rgba(87,32,39,.16))}
.hangul-features,.hangul-words{padding:120px 7vw;color:#fff;background:var(--navy)}.hangul-heading{margin:65px 0 55px;display:flex;justify-content:space-between;gap:8%;align-items:end}.hangul-heading h2{margin:0;font-size:clamp(50px,6vw,82px);line-height:.95;letter-spacing:-.07em}.hangul-heading>p{max-width:390px;color:#8da5cb;font-size:13px;line-height:1.9}.hangul-heading.dark>p{color:var(--muted)}
.hangul-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hangul-feature-grid article{min-height:300px;padding:38px;border-radius:18px;color:var(--ink);background:var(--lavender)}.hangul-feature-grid article:nth-child(2){background:var(--sky)}.hangul-feature-grid article:nth-child(3){background:var(--mint)}.hangul-feature-grid span{color:var(--blue);font-size:10px}.hangul-feature-grid h3{margin:60px 0 18px;font-size:26px}.hangul-feature-grid p{color:var(--muted);font-size:13px;line-height:1.85}
.hangul-level-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hangul-level-grid img{width:100%;height:auto;display:block;border-radius:15px;box-shadow:0 17px 42px rgba(7,21,47,.13)}.hangul-flow{margin:40px auto 0;display:flex;align-items:center;justify-content:center;gap:18px}.hangul-flow span{padding:14px 22px;color:#fff;background:var(--blue);border-radius:99px;font-size:12px;font-weight:700}.hangul-flow i{color:#9aa8bd;font-style:normal}
.word-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.word-step-grid article{padding:28px;border-radius:18px;color:var(--ink);background:var(--lavender)}.word-step-grid article:nth-child(2){background:var(--sky)}.word-step-grid article:nth-child(3){background:var(--mint)}.word-step-grid span,.conversation-columns article span,.writing-step span{display:block;color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.1em}.word-step-grid img{width:100%;height:260px;margin-top:24px;display:block;object-fit:contain}
.conversation-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px}.conversation-columns>div{padding:28px;border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(7,21,47,.07)}.conversation-columns>div>h3{margin:0 0 28px;font-size:27px}.conversation-columns article{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.conversation-columns article img{width:100%;height:230px;margin-top:12px;display:block;object-fit:contain}.writing-step{max-width:650px;margin:45px auto 0;padding:28px;border-radius:18px;background:var(--lavender)}.writing-step img{width:100%;height:auto;margin-top:18px;display:block}
@media(max-width:960px){.hangul-page .desktop-nav{display:none}.word-step-grid{grid-template-columns:1fr 1fr}.word-step-grid article:last-child{grid-column:1/-1}}
@media(max-width:640px){.hangul-visual{height:500px;padding:140px 20px 40px}.hangul-visual .sub-title h1{font-size:57px}.hangul-overview-grid{margin-top:55px;grid-template-columns:1fr;gap:55px}.hangul-logo{width:135px}.hangul-overview h2{font-size:52px}.hangul-overview h3{margin-top:38px;font-size:20px}.hangul-main-image{max-width:340px;margin:auto}.hangul-features,.hangul-words{padding:85px 20px}.hangul-heading{margin-top:55px;display:block}.hangul-heading h2{font-size:45px}.hangul-heading>p{margin-top:25px}.hangul-feature-grid,.hangul-level-grid,.word-step-grid,.conversation-columns{grid-template-columns:1fr}.hangul-feature-grid article{min-height:260px;padding:30px}.hangul-feature-grid h3{margin-top:48px}.hangul-flow{flex-wrap:wrap;gap:8px}.hangul-flow span{padding:11px 16px}.word-step-grid article:last-child{grid-column:auto}.word-step-grid img{height:auto}.conversation-columns>div{padding:20px}.conversation-columns article img{height:auto}.writing-step{padding:20px}}

/* Traditional Kiln AR sub page */
.gama-page{background:var(--cream)}.gama-page .site-header{position:fixed;background:rgba(6,22,47,.88);backdrop-filter:blur(14px)}.gama-page .brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700}.gama-page .brand i{width:26px;height:34px;display:block;border-radius:6px 2px;transform:skew(-14deg);background:linear-gradient(180deg,#fff 0 35%,#6ea7ff 35%)}.gama-page .brand b{color:#72a3ff}
.gama-visual{height:610px;padding-top:175px;background:radial-gradient(circle at 78% 28%,#c25d35,#593643 35%,#06162f 72%)}.gama-visual .sub-title h1{color:#fff;font-size:clamp(64px,8.5vw,120px);line-height:.82;letter-spacing:-.075em}.gama-visual .sub-title p{color:#ff9b69}.gama-visual .sub-title span{color:#dac4c2}
.gama-overview-grid{margin-top:75px;display:grid;grid-template-columns:1fr .7fr;gap:12%;align-items:center}.gama-overview h2{margin:10px 0 30px;font-size:clamp(52px,6vw,86px);line-height:.94;letter-spacing:-.07em}.gama-overview h2 em,.gama-heading em{color:var(--blue);font-style:normal}.gama-overview h3{margin:48px 0 15px;font-size:24px;line-height:1.45}.gama-overview-grid>div>p{color:var(--muted);font-size:14px;line-height:1.9}.gama-overview .line-link{margin-top:30px;display:inline-block}.gama-phone{color:var(--muted);font-size:11px;text-align:center}.gama-phone img{width:min(100%,203px);height:auto;display:block;margin:auto;filter:drop-shadow(0 25px 42px rgba(72,30,21,.2));transition:transform .3s ease}.gama-phone:hover img{transform:translateY(-7px)}.gama-phone span{margin-top:18px;display:block}
.gama-mission{padding:120px 7vw;color:#fff;background:var(--navy)}.gama-heading{margin:65px 0 55px;display:flex;justify-content:space-between;gap:8%;align-items:end}.gama-heading h2{margin:0;font-size:clamp(50px,6vw,82px);line-height:.95;letter-spacing:-.07em}.gama-heading>p{max-width:390px;color:#8da5cb;font-size:13px;line-height:1.9}.gama-heading.dark>p{color:var(--muted)}
.mission-card{padding:30px;display:grid;grid-template-columns:1.1fr .9fr;gap:7%;align-items:center;border-radius:20px;color:var(--ink);background:var(--lavender)}.mission-card img{width:100%;height:auto;display:block;border-radius:15px}.mission-card span{color:var(--blue);font-size:10px}.mission-card h3{margin:25px 0;font-size:32px;line-height:1.35}.mission-card ul{margin:0;padding:0;list-style:none;border-top:1px solid rgba(7,21,47,.12)}.mission-card li{padding:12px 0;border-bottom:1px solid rgba(7,21,47,.12);color:var(--muted);font-size:13px}
.gama-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px}.gama-gallery figure{margin:0;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(7,21,47,.09)}.gama-gallery img{width:100%;height:auto;aspect-ratio:420/203;display:block;object-fit:cover}.gama-gallery figcaption{padding:16px 20px;color:var(--muted);font-size:12px}
@media(max-width:960px){.gama-page .desktop-nav{display:none}.mission-card{grid-template-columns:1fr}}
@media(max-width:640px){.gama-visual{height:500px;padding:140px 20px 40px}.gama-visual .sub-title h1{font-size:51px}.gama-overview-grid{margin-top:55px;grid-template-columns:1fr;gap:55px}.gama-overview h2{font-size:47px}.gama-overview h3{margin-top:38px;font-size:20px}.gama-phone{max-width:180px;margin:auto}.gama-mission{padding:85px 20px}.gama-heading{margin-top:55px;display:block}.gama-heading h2{font-size:45px}.gama-heading>p{margin-top:25px}.mission-card{padding:18px;gap:30px}.mission-card h3{font-size:25px}.gama-gallery{grid-template-columns:1fr;gap:14px}}

/* Nursing VR sub page */
.nurse-page { background:var(--cream); }
.nurse-page .site-header { position:fixed;background:rgba(6,22,47,.88);backdrop-filter:blur(14px); }
.nurse-page .brand { display:flex;align-items:center;gap:10px;color:#fff;font-weight:700; }
.nurse-page .brand i { width:26px;height:34px;display:block;border-radius:6px 2px;transform:skew(-14deg);background:linear-gradient(180deg,#fff 0 35%,#6ea7ff 35%); }
.nurse-page .brand b { color:#72a3ff; }
.nurse-visual { height:610px;padding-top:175px;background:radial-gradient(circle at 78% 28%,#43c9dd,#235c86 36%,#06162f 72%); }
.nurse-visual .sub-title h1 { color:#fff;font-size:clamp(64px,8.5vw,120px);line-height:.82;letter-spacing:-.075em; }
.nurse-visual .sub-title p { color:#76e6f3; }
.nurse-visual .sub-title span { color:#bed7e7; }
.nurse-overview-grid { margin-top:75px;display:grid;grid-template-columns:1fr .8fr;gap:10%;align-items:center; }
.nurse-overview h2 { margin:10px 0 30px;font-size:clamp(52px,6vw,86px);line-height:.94;letter-spacing:-.07em; }
.nurse-overview h2 em,.nurse-heading em { color:var(--blue);font-style:normal; }
.nurse-overview h3 { margin:48px 0 15px;font-size:24px;line-height:1.45; }
.nurse-overview-grid>div>p:last-child { color:var(--muted);font-size:14px;line-height:1.9; }
.nurse-main-image { margin:0; }
.nurse-main-image img { width:min(100%,430px);aspect-ratio:1;display:block;margin:auto;border-radius:22px;object-fit:cover;box-shadow:0 28px 55px rgba(18,77,98,.18); }
.nurse-value { padding:120px 7vw;color:#fff;background:var(--navy); }
.nurse-heading { margin:65px 0 55px;display:flex;justify-content:space-between;gap:8%;align-items:end; }
.nurse-heading h2 { margin:0;font-size:clamp(50px,6vw,82px);line-height:.95;letter-spacing:-.07em; }
.nurse-heading>p { max-width:390px;color:#8da5cb;font-size:13px;line-height:1.9; }
.nurse-heading.dark>p { color:var(--muted); }
.nurse-value-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }
.nurse-value-grid article { min-height:300px;padding:38px;border-radius:18px;color:var(--ink);background:var(--mint); }
.nurse-value-grid article:nth-child(2) { background:var(--sky); }
.nurse-value-grid article:nth-child(3) { background:var(--lavender); }
.nurse-value-grid span { color:var(--blue);font-size:10px;font-weight:700; }
.nurse-value-grid h3 { margin:65px 0 18px;font-size:27px; }
.nurse-value-grid p { color:var(--muted);font-size:13px;line-height:1.85; }
.nurse-gallery { max-width:920px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:18px; }
.nurse-gallery figure { margin:0;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(7,21,47,.09); }
.nurse-gallery img { width:100%;aspect-ratio:1;display:block;object-fit:cover; }
.nurse-gallery figcaption { padding:16px 20px;color:var(--muted);font-size:12px; }
@media(max-width:960px) {
  .nurse-page .desktop-nav { display:none; }
}
@media(max-width:640px) {
  .nurse-visual { height:500px;padding:140px 20px 40px; }
  .nurse-visual .sub-title h1 { font-size:50px; }
  .nurse-overview-grid { margin-top:55px;grid-template-columns:1fr;gap:55px; }
  .nurse-overview h2 { font-size:48px; }
  .nurse-overview h3 { margin-top:38px;font-size:20px; }
  .nurse-main-image { max-width:390px;margin:auto; }
  .nurse-value { padding:85px 20px; }
  .nurse-heading { margin-top:55px;display:block; }
  .nurse-heading h2 { font-size:44px; }
  .nurse-heading>p { margin-top:25px; }
  .nurse-value-grid { grid-template-columns:1fr; }
  .nurse-value-grid article { min-height:250px;padding:30px; }
  .nurse-value-grid h3 { margin-top:48px; }
  .nurse-gallery { grid-template-columns:1fr 1fr;gap:10px; }
  .nurse-gallery figure { border-radius:12px; }
  .nurse-gallery figcaption { padding:11px 12px;font-size:10px; }
}

/* Multi VR mirroring sub page */
.mirror-page { background:var(--cream); }
.mirror-page .site-header { position:fixed;background:rgba(6,22,47,.88);backdrop-filter:blur(14px); }
.mirror-page .brand { display:flex;align-items:center;gap:10px;color:#fff;font-weight:700; }
.mirror-page .brand i { width:26px;height:34px;display:block;border-radius:6px 2px;transform:skew(-14deg);background:linear-gradient(180deg,#fff 0 35%,#6ea7ff 35%); }
.mirror-page .brand b { color:#72a3ff; }
.mirror-visual { height:610px;padding-top:175px;background:radial-gradient(circle at 78% 28%,#786eff,#254c99 36%,#06162f 72%); }
.mirror-visual .sub-title h1 { color:#fff;font-size:clamp(61px,8.2vw,116px);line-height:.82;letter-spacing:-.075em; }
.mirror-visual .sub-title p { color:#9bb4ff; }
.mirror-visual .sub-title span { color:#c4d2ed; }
.mirror-overview-grid { margin-top:75px;display:grid;grid-template-columns:1fr .9fr;gap:9%;align-items:center; }
.mirror-overview h2 { margin:10px 0 30px;font-size:clamp(52px,6vw,86px);line-height:.94;letter-spacing:-.07em; }
.mirror-overview h2 em,.mirror-heading em { color:var(--blue);font-style:normal; }
.mirror-overview h3 { margin:48px 0 15px;font-size:24px;line-height:1.45; }
.mirror-overview-grid>div>p:last-child { color:var(--muted);font-size:14px;line-height:1.9; }
.mirror-main-image { margin:0;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 28px 55px rgba(25,54,115,.15); }
.mirror-main-image img { width:100%;height:520px;display:block;object-fit:cover;object-position:center top; }
.vr_img1 { aspect-ratio:8 / 5; }
.vr_img1 img { width:100%;height:100%;object-fit:contain;object-position:center;background:#101318; }
.mirror-features,.mirror-cases { padding:120px 7vw;color:#fff;background:var(--navy); }
.mirror-heading { margin:65px 0 55px;display:flex;justify-content:space-between;gap:8%;align-items:end; }
.mirror-heading h2 { margin:0;font-size:clamp(50px,6vw,82px);line-height:.95;letter-spacing:-.07em; }
.mirror-heading>p { max-width:390px;color:#8da5cb;font-size:13px;line-height:1.9; }
.mirror-heading.dark>p { color:var(--muted); }
.mirror-feature-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }
.mirror-feature-grid article { min-height:590px;padding:38px;border-radius:18px;color:var(--ink);background:var(--sky); }
.mirror-feature-grid article:nth-child(2) { background:var(--mint); }
.mirror-feature-grid article:nth-child(3) { background:var(--lavender); }
.mirror-feature-grid span { color:var(--blue);font-size:10px;font-weight:700; }
.feature-media { width:100%;height:auto;aspect-ratio:888 / 756;margin:24px 0 28px;display:grid;place-items:center;overflow:hidden;border-radius:14px; }
.feature-media.vr_img2 { background:#202535; }
.feature-media.vr_img2 img { width:100%;height:100%;display:block;object-fit:contain;object-position:center; }
.feature-icon { color:#2463ff;background:rgba(255,255,255,.48); }
.feature-icon img { width:145px;height:145px;display:block;object-fit:contain; }
.feature-icon svg { width:145px;height:145px; }
.feature-icon .icon-fill { fill:currentColor;stroke:none; }
.feature-icon .icon-wave { fill:none;stroke:currentColor;stroke-width:10;stroke-linecap:round; }
.feature-icon .icon-cut { fill:#fff;stroke:none; }
.mirror-feature-grid h3 { margin:0 0 18px;font-size:27px; }
.mirror-feature-grid p { color:var(--muted);font-size:13px;line-height:1.85; }
.mirror-proplus { margin-top:70px;display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;border-radius:22px;color:var(--ink);background:#fff;box-shadow:0 25px 55px rgba(0,0,0,.16); }
.mirror-proplus .vr_img3 { min-height:560px;margin:0; }
.mirror-proplus .vr_img3 img { width:100%;height:100%;display:block;object-fit:cover;object-position:center; }
.mirror-proplus-copy { padding:54px 48px;display:flex;flex-direction:column;justify-content:center; }
.mirror-proplus-copy>span { color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.13em; }
.mirror-proplus-copy h3 { margin:22px 0 25px;font-size:48px;line-height:.9;letter-spacing:-.06em; }
.mirror-proplus-copy h3 em { color:var(--blue);font-style:normal; }
.mirror-proplus-copy h4 { margin:0 0 24px;font-size:18px;line-height:1.55; }
.mirror-proplus-copy p { margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.85; }
.mirror-excellence { margin-top:70px;padding:55px 48px;border-radius:22px;color:var(--ink);background:#fff;box-shadow:0 25px 55px rgba(0,0,0,.14); }
.mirror-excellence-title { display:flex;align-items:end;justify-content:space-between;gap:40px; }
.mirror-excellence-title>span { color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.13em; }
.mirror-excellence-title h3 { margin:0;font-size:38px;line-height:1.15;letter-spacing:-.05em;text-align:right; }
.mirror-excellence-title h3 em { color:var(--blue);font-style:normal; }
.excellence-points { margin:45px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none; }
.excellence-points li { min-height:390px;padding:20px;display:flex;flex-direction:column;border-radius:14px;background:var(--sky); }
.excellence-points li:nth-child(2) { background:var(--mint); }
.excellence-points li:nth-child(3) { background:var(--lavender); }
.excellence-image { height:292px;display:grid;place-items:center;overflow:hidden;border-radius:12px;background:#fff; }
.excellence-image img { max-width:100%;max-height:100%;width:auto;height:auto;display:block;object-fit:contain; }
.excellence-copy { padding-top:20px;display:flex;align-items:flex-start;gap:15px; }
.excellence-points b { width:31px;height:31px;display:grid;place-items:center;flex:none;border-radius:50%;color:#fff;background:var(--blue);font-size:10px; }
.excellence-points span { font-size:15px;font-weight:700;line-height:1.55; }
.excellence-summary { margin:30px 0 0;padding:0;list-style:none;border-top:1px solid var(--line); }
.excellence-summary li { padding:18px 5px;border-bottom:1px solid var(--line);color:var(--muted);font-size:14px;line-height:1.65; }
.excellence-summary li::before { content:'•';margin-right:12px;color:var(--blue);font-weight:800; }
.excellence-summary strong { color:var(--ink);font-weight:700; }
.mirror-wide-image,.mirror-product-image,.mirror-case-image { margin:55px 0 0;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 25px 55px rgba(0,0,0,.15); }
.mirror-wide-image img,.mirror-product-image img,.mirror-case-image img { width:100%;display:block;object-fit:cover;object-position:center top; }
.mirror-wide-image img { height:650px; }
.mirror-wide-image img { object-position:center 29%; }
.mirror-product-grid { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.mirror-product-grid article { min-height:230px;padding:32px;display:grid;grid-template-columns:56px 1fr;gap:22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(7,21,47,.06); }
.mirror-product-grid strong { width:46px;height:46px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--blue); }
.mirror-product-grid span { color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.1em; }
.mirror-product-grid h3 { margin:24px 0 12px;font-size:27px; }
.mirror-product-grid p { color:var(--muted);font-size:13px;line-height:1.8; }
.mirror-product-image img { height:720px; }
.mirror-product-image img { object-position:center 62%; }
.mirror-case-image img { height:720px;object-position:center 88%; }
.mirror-contact { margin-top:30px;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-radius:18px;color:var(--ink);background:var(--sky); }
.mirror-contact p { margin:0;font-size:13px;line-height:1.8; }
.mirror-contact div { display:flex;gap:10px; }
.mirror-contact a { padding:14px 18px;border-radius:99px;color:#fff;background:var(--blue);font-size:11px;font-weight:700; }
.mirror-downloads { padding:110px 7vw;background:linear-gradient(135deg,#dbe8ff 0%,#e7deff 52%,#d7f4f2 100%); }
.mirror-downloads>.content-width>span { color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.14em; }
.mirror-downloads h2 { margin:28px 0 50px;color:var(--ink);font-size:clamp(42px,5vw,72px);line-height:.98;letter-spacing:-.06em; }
.mirror-downloads h2 em { color:var(--blue);font-style:normal; }
.mirror-download-buttons { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.mirror-download-buttons a { min-height:135px;padding:28px 32px;display:flex;align-items:center;gap:22px;border:1px solid rgba(36,99,255,.13);border-radius:18px;color:#fff;background:var(--blue);box-shadow:0 18px 38px rgba(36,99,255,.2);transition:transform .25s ease,box-shadow .25s ease,background .25s ease; }
.mirror-download-buttons a:nth-child(2) { background:#6f7ff0; }
.mirror-download-buttons a:hover { transform:translateY(-5px);box-shadow:0 25px 46px rgba(36,99,255,.3);background:#174ed9; }
.mirror-download-buttons svg { width:43px;height:43px;flex:none;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round; }
.mirror-download-buttons a>span { font-size:18px;font-weight:700;line-height:1.4; }
.mirror-download-buttons small { margin-bottom:6px;display:block;color:rgba(255,255,255,.68);font-size:9px;letter-spacing:.12em; }
.poster-slice { position:relative;margin:0;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 25px 55px rgba(7,21,47,.13); }
.poster-slice img { position:absolute;inset:0 auto auto 0;width:100%;height:auto;max-width:none;display:block; }
.slice-overview { aspect-ratio:1360 / 2300; }
.slice-overview img { transform:translateY(0); }
.slice-features { margin-top:55px;aspect-ratio:1360 / 2500; }
.slice-features img { transform:translateY(-21.18%); }
.slice-products { margin-top:55px;aspect-ratio:1360 / 1900; }
.slice-products img { transform:translateY(-43.33%); }
.mirror-case-grid { display:grid;grid-template-columns:1fr 1fr;gap:18px; }
.mirror-case-grid article { padding:22px;display:flex;flex-direction:column;border-radius:20px;color:var(--ink);background:#fff; }
.mirror-case-grid h3 { margin:0 0 20px;font-size:25px; }
.case-image-stack { margin:0;display:grid;grid-template-rows:1fr 1fr;gap:12px;flex:1; }
.case-image-stack img { width:100%;height:100%;aspect-ratio:16 / 9;display:block;border-radius:12px;object-fit:cover;object-position:center;background:#eef3fb; }
.slice-broadcast,.slice-school { aspect-ratio:1360 / 1900;box-shadow:none;border-radius:14px; }
.slice-broadcast img { transform:translateY(-59.69%); }
.slice-school img { transform:translateY(-76.06%); }
@media(max-width:960px) {
  .mirror-page .desktop-nav { display:none; }
  .mirror-main-image img { height:430px; }
  .vr_img1 img { height:100%; }
  .mirror-product-image img,.mirror-case-image img { height:600px; }
}
@media(max-width:640px) {
  .mirror-visual { height:500px;padding:140px 20px 40px; }
  .mirror-visual .sub-title h1 { font-size:42px; }
  .mirror-overview-grid { margin-top:55px;grid-template-columns:1fr;gap:55px; }
  .mirror-overview h2 { font-size:47px; }
  .mirror-overview h3 { margin-top:38px;font-size:20px; }
  .mirror-main-image img { height:420px; }
  .vr_img1 img { height:100%; }
  .mirror-features,.mirror-cases { padding:85px 20px; }
  .mirror-heading { margin-top:55px;display:block; }
  .mirror-heading h2 { font-size:43px; }
  .mirror-heading>p { margin-top:25px; }
  .mirror-feature-grid,.mirror-product-grid { grid-template-columns:1fr; }
  .mirror-feature-grid article { min-height:0;padding:30px; }
  .feature-media { height:auto;margin:22px 0 26px; }
  .feature-icon svg { width:130px;height:130px; }
  .feature-icon img { width:130px;height:130px; }
  .mirror-proplus { margin-top:45px;grid-template-columns:1fr; }
  .mirror-proplus .vr_img3 { min-height:0;aspect-ratio:3 / 2; }
  .mirror-proplus-copy { padding:34px 26px; }
  .mirror-proplus-copy h3 { font-size:39px; }
  .mirror-proplus-copy h4 { font-size:16px; }
  .mirror-excellence { margin-top:45px;padding:34px 20px; }
  .mirror-excellence-title { display:block; }
  .mirror-excellence-title h3 { margin-top:18px;font-size:29px;text-align:left; }
  .excellence-points { grid-template-columns:1fr;gap:10px; }
  .excellence-points li { min-height:0; }
  .excellence-image { height:auto;min-height:0;padding:14px; }
  .excellence-image img { width:100%;height:auto;max-height:none;object-fit:contain; }
  .excellence-summary li { font-size:13px; }
  .mirror-wide-image img { height:470px; }
  .mirror-product-grid article { min-height:210px;padding:24px;grid-template-columns:44px 1fr;gap:16px; }
  .mirror-product-grid strong { width:40px;height:40px; }
  .mirror-product-grid h3 { font-size:22px; }
  .mirror-product-image img,.mirror-case-image img { height:520px; }
  .mirror-contact { padding:24px;display:block; }
  .mirror-contact div { margin-top:20px;display:grid; }
  .mirror-contact a { text-align:center; }
  .mirror-downloads { padding:80px 20px; }
  .mirror-downloads h2 { margin-bottom:38px;font-size:39px; }
  .mirror-download-buttons { grid-template-columns:1fr; }
  .mirror-download-buttons a { min-height:112px;padding:23px 20px;gap:16px; }
  .mirror-download-buttons svg { width:35px;height:35px; }
  .mirror-download-buttons a>span { font-size:15px; }
  .mirror-case-grid { grid-template-columns:1fr; }
  .mirror-case-grid article { padding:16px; }
  .mirror-case-grid h3 { font-size:21px; }
}
.landscaping-page{background:var(--cream)}
.landscaping-page .site-header{position:fixed;background:rgba(6,22,47,.88);backdrop-filter:blur(14px)}
.landscaping-page .brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700}.landscaping-page .brand i{width:26px;height:34px;display:block;border-radius:6px 2px;transform:skew(-14deg);background:linear-gradient(180deg,#fff 0 35%,#6ea7ff 35%)}.landscaping-page .brand b{color:#72a3ff}
.landscaping-visual{height:610px;padding-top:175px;background:radial-gradient(circle at 78% 28%,#5aa77e,#275d69 36%,#06162f 72%)}.landscaping-visual .sub-title h1{color:#fff;font-size:clamp(64px,8.5vw,120px);line-height:.82;letter-spacing:-.075em}.landscaping-visual .sub-title p{color:#8de4b1}.landscaping-visual .sub-title span{color:#c1dcd4}
.landscaping-overview-grid{margin-top:75px;display:grid;grid-template-columns:1fr .8fr;gap:10%;align-items:center}.landscaping-overview h2{margin:10px 0 30px;font-size:clamp(52px,6vw,86px);line-height:.94;letter-spacing:-.07em}.landscaping-overview h2 em,.landscaping-heading em{color:var(--blue);font-style:normal}.landscaping-overview h3{margin:48px 0 15px;font-size:24px;line-height:1.45}.landscaping-overview-grid>div>p:last-child{color:var(--muted);font-size:14px;line-height:1.9}.landscaping-main-image{margin:0}.landscaping-main-image img{width:min(100%,430px);aspect-ratio:1;display:block;margin:auto;border-radius:22px;object-fit:cover;box-shadow:0 28px 55px rgba(23,83,57,.2)}
.landscaping-value{padding:120px 7vw;color:#fff;background:var(--navy)}.landscaping-heading{margin:65px 0 55px;display:flex;justify-content:space-between;gap:8%;align-items:end}.landscaping-heading h2{margin:0;font-size:clamp(50px,6vw,82px);line-height:.95;letter-spacing:-.07em}.landscaping-heading>p{max-width:390px;color:#8da5cb;font-size:13px;line-height:1.9}.landscaping-heading.dark>p{color:var(--muted)}
.landscaping-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.landscaping-value-grid article{min-height:300px;padding:38px;border-radius:18px;color:var(--ink);background:var(--mint)}.landscaping-value-grid article:nth-child(2){background:var(--sky)}.landscaping-value-grid article:nth-child(3){background:var(--lavender)}.landscaping-value-grid span{color:var(--blue);font-size:10px;font-weight:700}.landscaping-value-grid h3{margin:65px 0 18px;font-size:27px}.landscaping-value-grid p{color:var(--muted);font-size:13px;line-height:1.85}
.landscaping-gallery{max-width:920px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:18px}.landscaping-gallery figure{margin:0;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(7,21,47,.09)}.landscaping-gallery img{width:100%;aspect-ratio:1;display:block;object-fit:cover}.landscaping-gallery figcaption{padding:16px 20px;color:var(--muted);font-size:12px}
@media(max-width:960px){.landscaping-page .desktop-nav{display:none}}
@media(max-width:640px){.landscaping-visual{height:500px;padding:140px 20px 40px}.landscaping-visual .sub-title h1{font-size:48px}.landscaping-overview-grid{margin-top:55px;grid-template-columns:1fr;gap:55px}.landscaping-overview h2{font-size:46px}.landscaping-overview h3{margin-top:38px;font-size:20px}.landscaping-main-image{max-width:390px;margin:auto}.landscaping-value{padding:85px 20px}.landscaping-heading{margin-top:55px;display:block}.landscaping-heading h2{font-size:43px}.landscaping-heading>p{margin-top:25px}.landscaping-value-grid{grid-template-columns:1fr}.landscaping-value-grid article{min-height:250px;padding:30px}.landscaping-value-grid h3{margin-top:48px}.landscaping-gallery{grid-template-columns:1fr 1fr;gap:10px}.landscaping-gallery figure{border-radius:12px}.landscaping-gallery figcaption{padding:11px 12px;font-size:10px}}
.cs-page{background:var(--cream)}
.cs-page .site-header{position:fixed;background:rgba(6,22,47,.88);backdrop-filter:blur(14px)}
.cs-page .brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700}.cs-page .brand i{width:26px;height:34px;display:block;border-radius:6px 2px;transform:skew(-14deg);background:linear-gradient(180deg,#fff 0 35%,#6ea7ff 35%)}.cs-page .brand b{color:#72a3ff}
.cs-visual{height:610px;padding-top:175px;background:radial-gradient(circle at 78% 28%,#446fce,#183d7b 36%,#06162f 72%)}.cs-visual .sub-title h1{color:#fff;font-size:clamp(68px,9vw,126px);line-height:.86;letter-spacing:-.075em}.cs-visual .sub-title p{color:#84b2ff}.cs-visual .sub-title span{color:#b9cbe8}
.cs-content{padding-bottom:150px}.cs-heading{margin:72px 0 60px}.cs-heading>p{margin:0 0 22px;color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.2em}.cs-heading h2{margin:0;font-size:clamp(48px,6.3vw,88px);line-height:.98;letter-spacing:-.065em}.cs-heading h2 em{color:var(--blue);font-style:normal}.cs-heading>span{max-width:620px;margin-top:30px;display:block;color:var(--muted);font-size:14px;line-height:1.9}
.cs-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cs-card{min-height:390px;padding:38px;position:relative;overflow:hidden;border-radius:20px;color:var(--ink);background:var(--sky);transition:transform .3s ease,box-shadow .3s ease}.cs-card:nth-child(2){background:var(--mint)}.cs-card:hover{transform:translateY(-7px);box-shadow:0 24px 55px rgba(7,21,47,.12)}.cs-card small{color:var(--blue);font-size:9px;font-weight:700;letter-spacing:.15em}.cs-card h3{margin:48px 0 12px;font-size:30px}.cs-card strong{display:block;font-family:'DM Sans',sans-serif;font-size:clamp(22px,2.7vw,38px);letter-spacing:-.04em}.cs-card>span{position:absolute;right:38px;bottom:35px;color:var(--muted);font-size:11px;font-weight:700}
.cs-icon{width:72px;height:72px;margin-top:42px;position:relative;border-radius:50%;background:#fff}.cs-icon-mail::before{content:"";width:32px;height:23px;position:absolute;left:20px;top:24px;border:3px solid var(--blue);border-radius:3px}.cs-icon-mail::after{content:"";width:22px;height:22px;position:absolute;left:25px;top:17px;border-right:3px solid var(--blue);border-bottom:3px solid var(--blue);transform:rotate(45deg)}.cs-icon-phone::before{content:"";width:28px;height:43px;position:absolute;left:22px;top:14px;border:4px solid var(--blue);border-radius:8px}.cs-icon-phone::after{content:"";width:8px;height:3px;position:absolute;left:32px;bottom:20px;border-radius:3px;background:var(--blue)}
.cs-notice{margin-top:18px;padding:34px 38px;display:flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid #d7deea;border-radius:18px}.cs-notice span{color:var(--blue);font-size:9px;font-weight:700;letter-spacing:.18em}.cs-notice p{margin:0;font-size:20px;font-weight:700}
@media(max-width:960px){.cs-page .desktop-nav{display:none}}
@media(max-width:640px){.cs-visual{height:500px;padding:145px 20px 40px}.cs-visual .sub-title h1{font-size:57px}.cs-content{padding-bottom:95px}.cs-heading{margin:55px 0 42px}.cs-heading h2{font-size:43px}.cs-heading>span{font-size:13px}.cs-card-grid{grid-template-columns:1fr}.cs-card{min-height:330px;padding:30px}.cs-card h3{margin-top:38px;font-size:26px}.cs-card strong{font-size:24px}.cs-card>span{right:30px;bottom:28px}.cs-icon{margin-top:32px}.cs-notice{padding:26px;display:block}.cs-notice p{margin-top:13px;font-size:17px;line-height:1.6}}
.terms-page{color:var(--ink);background:var(--cream);font-family:'Noto Sans KR',sans-serif}
.terms-page>#header,.terms-page>.btn_gotop,.terms-page .nav_mobile_free{display:none!important}
.terms-page .site-header{position:fixed;background:rgba(6,22,47,.88);backdrop-filter:blur(14px)}
.terms-page .brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700}.terms-page .brand i{width:26px;height:34px;display:block;border-radius:6px 2px;transform:skew(-14deg);background:linear-gradient(180deg,#fff 0 35%,#6ea7ff 35%)}.terms-page .brand b{color:#72a3ff}
.terms-visual{height:610px;padding-top:175px;background:radial-gradient(circle at 78% 28%,#456ed1,#183c78 36%,#06162f 72%)}.terms-visual .sub-title h1{color:#fff;font-size:clamp(64px,8.5vw,116px);line-height:.86;letter-spacing:-.075em}.terms-visual .sub-title p{color:#85b3ff}.terms-visual .sub-title span{color:#b8c9e5}
.privacy-visual{background:radial-gradient(circle at 78% 28%,#6b61d7,#283d86 37%,#06162f 72%)}
.terms-page #main_content{padding:0;background:var(--cream)}.terms-page .content_area{width:auto!important;max-width:1180px;margin:0 auto!important;padding:110px 50px 140px!important}.terms-page .termsofuse,.terms-page .termsofuse_form,.terms-page .customer_center02{width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important}.terms-page .page-body{padding:70px 76px;border:1px solid #dbe1eb;border-radius:22px;background:#fff;box-shadow:0 18px 55px rgba(7,21,47,.06)}
.terms-page .page-body>h1{margin:0 0 42px;padding-bottom:30px;border-bottom:1px solid #dbe1eb;font-size:clamp(34px,4.5vw,58px);letter-spacing:-.055em}.terms-page .page-body h2{margin:52px 0 16px;color:var(--ink);font-size:21px;line-height:1.5;letter-spacing:-.025em}.terms-page .page-body p,.terms-page .page-body li{color:#526078;font-size:13px;line-height:1.9;word-break:keep-all}.terms-page .page-body p{margin:8px 0}.terms-page .page-body ul{margin:8px 0;padding-left:20px}.terms-page .page-body li::marker{color:var(--blue)}.terms-page .page-body strong{color:var(--ink)}
.privacy-page .page-body h3{margin:46px 0 15px;color:var(--ink);font-size:20px;line-height:1.5}.privacy-page .page-body ol{margin:10px 0;padding-left:24px}.privacy-page .page-body ol ol{margin:8px 0}.privacy-page .page-body li{margin:5px 0}
.terms-page>.wide-footer{margin:0;padding:65px 5vw 30px!important;display:block!important;color:#8191ad!important;background:radial-gradient(circle at 38% 10%,rgba(27,55,94,.28),transparent 35%),#061327!important;font-size:11px!important;line-height:1.75}
.wide-footer-top{min-height:125px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;border-bottom:1px solid rgba(151,174,211,.22)}.footer-logo{display:flex;align-items:center;gap:10px;color:#fff!important;font-size:15px}.footer-logo i{width:26px;height:30px;display:block;clip-path:polygon(50% 0,95% 24%,95% 72%,50% 100%,5% 72%,5% 24%);background:linear-gradient(145deg,#70c6d6,#32718f)}.wide-footer-top p{margin:0;color:#8b9ab5;line-height:1.8}.footer-back{justify-self:end;color:#fff!important;font-size:9px;font-weight:700;letter-spacing:.15em}
.wide-footer-info{min-height:150px;padding:45px 0 35px;display:grid;grid-template-columns:.75fr 1.2fr 1.3fr .75fr;gap:5%;border-bottom:1px solid rgba(151,174,211,.22)}.wide-footer-info div{display:flex;flex-direction:column;gap:5px}.wide-footer-info strong{color:#fff;font-size:14px}.wide-footer-info address{margin:0;color:#8191ad;font-style:normal}.wide-footer-info a{color:#9db0cf}
.wide-footer-bottom{padding-top:25px;display:flex;justify-content:space-between;color:#5e718f;font-size:9px;letter-spacing:.1em}.wide-footer-bottom a{color:#5e718f}
@media(max-width:960px){.terms-page .desktop-nav{display:none}}
@media(max-width:640px){.terms-visual{height:500px;padding:145px 20px 40px}.terms-visual .sub-title h1{font-size:51px}.terms-page .content_area{padding:70px 16px 90px!important}.terms-page .page-body{padding:35px 22px;border-radius:16px}.terms-page .page-body>h1{margin-bottom:28px;padding-bottom:22px;font-size:34px}.terms-page .page-body h2{margin-top:38px;font-size:18px}.terms-page .page-body p,.terms-page .page-body li{font-size:12px;line-height:1.85;word-break:normal}.terms-page>.wide-footer{padding:45px 24px 25px!important}.wide-footer-top{min-height:145px;grid-template-columns:1fr auto}.wide-footer-top p{grid-column:1/-1;margin-top:25px}.wide-footer-info{padding:35px 0;grid-template-columns:1fr;gap:25px}.wide-footer-bottom{gap:20px;line-height:1.6}.footer-back{font-size:8px}}

/* Education activity styles merged from edu-activity-update */
.case-experience-heading {
    margin: 72px 0 42px;
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(260px, 0.62fr);
    gap: 8%;
    align-items: end;
}

.case-experience-heading .label {
    grid-column: 1 / -1;
    margin: 0 0 -18px;
    color: var(--blue);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.case-experience-heading h2 {
    margin: 0;
    font-size: clamp(42px, 5vw, 70px);
    line-height: 1.04;
    letter-spacing: -0.065em;
}

.case-experience-heading > p:last-child {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.9;
}

.case-experience-image {
    margin: 0;
    overflow: hidden;
    border-radius: 20px;
    background: #fff6f6;
    box-shadow: 0 24px 70px rgba(7, 21, 47, 0.12);
}

.case-experience-image img {
    display: block;
    width: 100%;
    height: auto;
}

.case-experience-image figcaption {
    padding: 12px 20px 14px;
    color: #7d8491;
    background: #fff;
    font-size: 11px;
    text-align: right;
}

@media (max-width: 800px) {
    .case-experience-heading {
        margin-top: 55px;
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .case-experience-heading .label {
        margin-bottom: -5px;
    }
}

@media (max-width: 640px) {
    .case-experience-heading {
        margin: 48px 0 30px;
    }

    .case-experience-heading h2 {
        font-size: 36px;
    }

    .case-experience-heading > p:last-child {
        font-size: 13px;
        line-height: 1.8;
    }

    .case-experience-image {
        border-radius: 12px;
    }

    .case-experience-image figcaption {
        padding: 10px 12px;
        font-size: 9px;
    }
}

.program-intro strong {
  display: inline-block;
  margin-top: 12px;
  color: var(--blue);
}

.program-list .thumb {
  flex-direction: column;
  gap: 8px;
  text-align: center;
}

.program-list .thumb b {
  color: var(--ink);
  font-size: 18px;
}

.program-list .thumb small {
  color: rgba(7, 21, 47, .58);
  letter-spacing: 0;
}

.lesson-setup {
  margin-top: 80px;
  padding: 55px;
  display: grid;
  grid-template-columns: .65fr 1.35fr;
  gap: 8%;
  border-radius: 20px;
  background: linear-gradient(135deg, var(--mint), var(--sky));
}

.lesson-setup h3 {
  margin: 12px 0 0;
  font-size: clamp(30px, 3.5vw, 48px);
  line-height: 1.1;
  letter-spacing: -.05em;
}

.lesson-setup ol {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line);
}

.lesson-setup li {
  padding: 17px 0;
  display: grid;
  grid-template-columns: 42px 1fr;
  border-bottom: 1px solid var(--line);
}

.lesson-setup li span {
  color: var(--blue);
  font-size: 10px;
}

.lesson-setup li p {
  grid-column: 2;
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 11px;
}

@media (max-width: 640px) {
  .lesson-setup {
    margin-top: 55px;
    padding: 30px 22px;
    grid-template-columns: 1fr;
    gap: 35px;
  }
}

/* Education activity — content split into editable HTML sections */
.activity-visual{background:radial-gradient(circle at 74% 34%,#2557aa,#0b295e 28%,#06162f 66%)}
.protect-heading{margin:72px 0 60px;display:grid;grid-template-columns:1fr .7fr;gap:12%;align-items:end}.protect-heading h2,.case-copy h2,.sample-section h2{margin:0;font-size:clamp(45px,5vw,72px);line-height:.98;letter-spacing:-.065em}.protect-heading h2 em,.sample-section h2 em{color:var(--blue);font-style:normal}.protect-heading strong{font-size:18px}.protect-heading p,.case-copy p,.sample-section p{color:var(--muted);font-size:13px;line-height:1.9}.protect-values{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.protect-values article{min-height:220px;padding:30px;border-radius:17px}.protect-values article:nth-child(1){background:var(--sky)}.protect-values article:nth-child(2){background:var(--mint)}.protect-values article:nth-child(3){background:var(--lavender)}.protect-values span{color:var(--blue);font-size:9px}.protect-values h3{margin:45px 0 10px;font-size:25px}.protect-values p{color:var(--muted);font-size:12px;line-height:1.7}
.types-section,.game-section{padding:120px 7vw;color:#fff;background:var(--navy)}.types-heading,.game-heading{margin:70px 0 50px;display:flex;justify-content:space-between;align-items:end}.types-heading h2,.game-heading h2{margin:0;font-size:clamp(48px,6vw,84px);line-height:.94;letter-spacing:-.07em}.types-heading em,.game-heading em{color:#72a3ff;font-style:normal}.types-heading p,.game-heading p{max-width:340px;color:#8ca3c9;font-size:12px;line-height:1.8}.types-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16)}.types-grid span{min-height:95px;padding:20px;display:flex;align-items:end;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);font-size:14px}
.case-block{margin-top:80px;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.case-block.reverse .case-visual{order:2}.case-block.reverse .case-copy{order:1}.case-visual{min-height:470px;padding:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:20px;text-align:center}.mint-card{background:var(--mint)}.lavender-card{background:var(--lavender)}.case-visual b{font-size:clamp(40px,5vw,70px);line-height:.92;letter-spacing:-.06em}.case-visual span{margin-top:25px;color:var(--muted);font-size:12px}.case-copy h2{margin:10px 0 25px;font-size:clamp(38px,4vw,58px)}.case-copy ul{margin:30px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.case-copy li{padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}
.case-image{min-height:0;padding:0;display:block;overflow:hidden;aspect-ratio:1572/1150;box-shadow:0 22px 55px rgba(7,21,47,.12)}.case-image img{display:block;width:100%;height:100%;object-fit:cover}
.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.game-grid article{min-height:420px;padding:28px;color:var(--ink);border-radius:17px}.game-grid article:nth-child(1){background:var(--sky)}.game-grid article:nth-child(2){background:var(--lavender)}.game-grid article:nth-child(3){background:var(--mint)}.game-grid article>span{font-size:8px;letter-spacing:.14em}.game-thumbnail{height:210px;margin:28px 0 30px;overflow:hidden;border-radius:13px;background:#fff;box-shadow:0 18px 35px rgba(20,62,140,.15)}.game-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}.game-grid h3{margin:0 0 10px;font-size:25px}.game-grid p{color:var(--muted);font-size:12px;line-height:1.7}
.sample-section{padding:110px max(7vw,calc((100vw - 1180px)/2));display:flex;align-items:end;justify-content:space-between;background:linear-gradient(135deg,#c9e5ff,#ddd4ff 55%,#c4f0e9)}.sample-section h2{margin:55px 0 25px}.sample-section a{flex:0 0 auto;padding:16px 22px;color:#fff;background:var(--ink);border-radius:99px;font-size:11px}.sample-section a span{margin-left:25px}.floating-top-button{position:fixed;right:25px;bottom:25px;z-index:1100;width:58px;height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;background:rgba(7,21,47,.9);border:1px solid rgba(255,255,255,.25);border-radius:50%;font-size:9px}
@media(max-width:800px){.protect-heading{grid-template-columns:1fr}.protect-heading>div:last-child{margin-top:30px}.protect-values,.game-grid{grid-template-columns:1fr}.types-grid{grid-template-columns:1fr 1fr}.case-block,.case-block.reverse{grid-template-columns:1fr}.case-block.reverse .case-visual{order:1}.case-block.reverse .case-copy{order:2}.sample-section{align-items:flex-start;flex-direction:column;gap:30px}}
@media(max-width:640px){.types-section,.game-section{padding:85px 20px}.types-heading,.game-heading{display:block;margin-top:55px}.types-heading p,.game-heading p{margin-top:25px}.types-grid{grid-template-columns:1fr 1fr}.types-grid span{min-height:75px;padding:14px;font-size:12px}.case-visual{min-height:330px}.sample-section{padding:85px 20px}.floating-top-button{right:16px;bottom:16px;width:52px;height:52px}}

.violation-guide-image {
    margin: 70px 0 0;
    overflow: hidden;
    border-radius: 20px;
    background: #fff3ce;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
}

.violation-guide-image img {
    display: block;
    width: 100%;
    height: auto;
}

.violation-guide-image figcaption {
    padding: 12px 20px 14px;
    color: #6e7890;
    background: #fff;
    font-size: 11px;
    text-align: right;
}

.violation-story {
    margin-top: 32px;
    padding: 48px 52px;
    display: grid;
    grid-template-columns: minmax(280px, 0.8fr) 1.2fr;
    gap: 8%;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.06);
}

.violation-story .label {
    grid-column: 1 / -1;
    margin: 0 0 -12px;
    color: #72a3ff;
    font-size: 10px;
    letter-spacing: 0.18em;
}

.violation-story h3 {
    margin: 0;
    font-size: clamp(30px, 3.4vw, 48px);
    line-height: 1.18;
    letter-spacing: -0.055em;
}

.violation-story-copy p {
    margin: 0 0 13px;
    color: #b8c7df;
    font-size: 14px;
    line-height: 1.9;
}

.violation-story-copy p:last-child {
    margin-bottom: 0;
}

@media (max-width: 800px) {
    .violation-guide-image {
        margin-top: 48px;
        border-radius: 14px;
    }

    .violation-story {
        padding: 34px 30px;
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .violation-story .label {
        margin-bottom: -4px;
    }
}

@media (max-width: 640px) {
    .violation-guide-image {
        margin-top: 38px;
        border-radius: 10px;
    }

    .violation-guide-image figcaption {
        padding: 10px 12px;
        font-size: 9px;
    }

    .violation-story {
        margin-top: 20px;
        padding: 28px 22px;
        border-radius: 14px;
    }

    .violation-story h3 {
        font-size: 28px;
    }

    .violation-story-copy p {
        font-size: 13px;
        line-height: 1.8;
    }
}

.npc-quiz-feature {
    margin-top: 80px;
    padding: 28px;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
    gap: 6%;
    align-items: center;
    border-radius: 22px;
    background: var(--sky);
}

.npc-quiz-image {
    margin: 0;
    overflow: hidden;
    border-radius: 15px;
    background: #dfe9fc;
    box-shadow: 0 18px 45px rgba(20, 62, 140, 0.13);
}

.npc-quiz-image img {
    display: block;
    width: 100%;
    height: auto;
}

.npc-quiz-copy {
    padding: 28px 32px 28px 0;
}

.npc-quiz-copy .label {
    margin: 0 0 15px;
    color: var(--blue);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.15em;
}

.npc-quiz-copy h2 {
    margin: 0;
    font-size: clamp(38px, 4vw, 58px);
    line-height: 1.02;
    letter-spacing: -0.06em;
}

.npc-quiz-copy h3 {
    margin: 28px 0 16px;
    font-size: 19px;
    line-height: 1.5;
    letter-spacing: -0.025em;
}

.npc-quiz-copy > p:not(.label) {
    margin: 0 0 10px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.8;
}

.npc-quiz-copy > p:last-child {
    margin-bottom: 0;
}

@media (max-width: 900px) {
    .npc-quiz-feature {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .npc-quiz-copy {
        padding: 38px 12px 12px;
    }
}

@media (max-width: 640px) {
    .npc-quiz-feature {
        margin-top: 52px;
        padding: 16px;
        border-radius: 15px;
    }

    .npc-quiz-image {
        border-radius: 10px;
    }

    .npc-quiz-copy {
        padding: 28px 6px 8px;
    }

    .npc-quiz-copy h2 {
        font-size: 34px;
    }

    .npc-quiz-copy h3 {
        margin-top: 22px;
        font-size: 17px;
    }

    .npc-quiz-copy > p:not(.label) {
        font-size: 13px;
    }

    .case-visual.case-image {
        min-height: 0;
    }
}
