@import "tailwindcss";

:root {
  --ink: #101826;
  --ink-soft: #526071;
  --paper: #f8f8f6;
  --white: #ffffff;
  --rose: #be577b;
  --rose-dark: #9c3f61;
  --rose-pale: #f7eaf0;
  --navy: #15243f;
  --mint: #b9d8cf;
  --line: #e4e5e7;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font-geist-sans), "Pretendard", "Noto Sans KR", Arial, sans-serif; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }

.announcement { min-height: 38px; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 8px 24px; background: var(--navy); color: #fff; font-size: 12px; letter-spacing: -.1px; }
.announcement-dot { width: 6px; height: 6px; border-radius: 50%; background: #f79ab9; box-shadow: 0 0 0 4px rgba(247,154,185,.12); }
.announcement a { margin-left: 8px; color: #f6bed1; font-weight: 700; }

.site-header { height: 82px; display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(24px, 5vw, 84px); background: rgba(255,255,255,.92); border-bottom: 1px solid rgba(16,24,38,.08); position: sticky; top: 0; z-index: 50; backdrop-filter: blur(18px); }
.brand { display: inline-flex; align-items: center; gap: 11px; min-width: 180px; }
.brand-symbol { width: 42px; height: 42px; border-radius: 12px; object-fit: cover; box-shadow: 0 7px 20px rgba(126,0,35,.2); }
.brand-mark { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: var(--rose); position: relative; overflow: hidden; box-shadow: 0 7px 20px rgba(190,87,123,.25); }
.brand-mark:before, .brand-mark:after, .brand-mark i { content: ""; position: absolute; background: #fff; transform: rotate(-18deg); border-radius: 2px; }
.brand-mark:before { width: 5px; height: 22px; left: 10px; top: 7px; }
.brand-mark:after { width: 5px; height: 22px; right: 9px; top: 7px; }
.brand-mark i { width: 16px; height: 4px; left: 9px; top: 18px; }
.brand > span:last-child { display: flex; flex-direction: column; line-height: 1; }
.brand strong { font-size: 18px; letter-spacing: .08em; font-weight: 800; }
.brand small { font-size: 10px; margin-top: 5px; color: #697180; letter-spacing: .22em; font-weight: 650; }
.nav { display: flex; align-items: center; gap: clamp(22px, 3vw, 44px); }
.nav a { font-size: 14px; font-weight: 650; color: #303a49; position: relative; padding: 30px 0; }
.nav a:after { content: ""; position: absolute; left: 0; bottom: 22px; width: 100%; height: 2px; background: var(--rose); transform: scaleX(0); transition: transform .2s ease; }
.nav a:hover:after { transform: scaleX(1); }
.header-actions { display: flex; align-items: center; gap: 18px; }
.text-button { font-size: 13px; color: #586273; }
.account-link, .account-signup { border: 0; background: transparent; color: #4e5967; padding: 8px 0; font-size: 12px; font-weight: 700; cursor: pointer; }
.account-link:hover { color: var(--rose-dark); }
.account-signup { padding: 9px 13px; border: 1px solid #d9dce1; border-radius: 7px; }
.account-signup:hover { border-color: var(--rose); color: var(--rose-dark); background: var(--rose-pale); }
.mobile-account-actions { display: none; }
.button { border: 0; background: var(--rose); color: white; border-radius: 7px; min-height: 50px; padding: 0 23px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; font-weight: 750; font-size: 14px; cursor: pointer; box-shadow: 0 12px 28px rgba(190,87,123,.2); transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.button:hover { transform: translateY(-2px); background: var(--rose-dark); box-shadow: 0 15px 32px rgba(190,87,123,.28); }
.button.small { min-height: 40px; padding: 0 18px; box-shadow: none; }
.button.secondary { background: transparent; color: var(--ink); border: 1px solid #cfd3d9; box-shadow: none; }
.button.secondary:hover { border-color: var(--rose); color: var(--rose-dark); }
.menu-button { display: none; background: none; border: 0; padding: 8px; }
.menu-button span { display: block; width: 22px; height: 2px; background: var(--ink); margin: 5px 0; }

.student-toolbar { background: #fff; border-bottom: 1px solid var(--line); }
.student-toolbar-inner { max-width: 1360px; min-height: 58px; margin: auto; padding: 0 clamp(24px, 6vw, 84px); display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.student-toolbar-inner > strong { display: flex; align-items: center; gap: 9px; white-space: nowrap; color: #6e7784; font-size: 10px; letter-spacing: .08em; }
.student-toolbar-inner > strong > span { width: 7px; height: 7px; border-radius: 50%; background: var(--rose); box-shadow: 0 0 0 4px var(--rose-pale); }
.student-service-links { display: flex; align-items: stretch; margin-left: auto; }
.student-service-links button { min-height: 58px; min-width: 145px; padding: 0 18px; border: 0; border-left: 1px solid #eceef1; background: #fff; color: #3e4856; display: flex; align-items: center; gap: 9px; cursor: pointer; transition: color .2s ease, background .2s ease; }
.student-service-links button:last-child { border-right: 1px solid #eceef1; }
.student-service-links button:hover { background: var(--rose-pale); color: var(--rose-dark); }
.student-service-links i { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 7px; background: #f3f4f6; color: var(--rose-dark); font-size: 13px; font-style: normal; font-weight: 800; }
.student-service-links span { font-size: 11px; font-weight: 700; white-space: nowrap; }
.student-service-links span small { display: block; margin-top: 3px; color: #a25470; font-size: 7px; font-weight: 800; letter-spacing: .02em; }
.student-service-links span small.available { color: #348062; }
.student-service-links b { margin-left: auto; color: #a2a9b2; font-size: 11px; }

.hero { min-height: calc(100vh - 120px); display: flex; align-items: center; overflow: hidden; position: relative; background: linear-gradient(120deg, #fff 0%, #fff 52%, #f8edf2 100%); }
.hero-glow { position: absolute; width: 44vw; height: 44vw; right: -12vw; top: -18vw; border-radius: 50%; background: radial-gradient(circle, rgba(190,87,123,.16), rgba(190,87,123,0) 68%); }
.hero-grid { width: 100%; max-width: 1500px; margin: auto; padding: 72px clamp(24px, 7vw, 108px) 84px; display: grid; grid-template-columns: minmax(480px, .95fr) minmax(480px, 1.05fr); gap: clamp(30px, 6vw, 96px); align-items: center; position: relative; z-index: 1; }
.eyebrow { display: flex; align-items: center; gap: 10px; color: var(--rose); font-size: 11px; font-weight: 800; letter-spacing: .18em; margin: 0 0 26px; }
.eyebrow > span { width: 24px; height: 1px; background: currentColor; }
.eyebrow.dark { color: var(--rose-dark); }
.eyebrow.light { color: #eaa0b9; }
.hero h1 { margin: 0; font-size: clamp(48px, 5.1vw, 78px); line-height: 1.08; letter-spacing: -.055em; font-weight: 740; }
.hero h1 em { font-style: normal; color: var(--rose); }
.hero-description { max-width: 610px; margin: 30px 0 32px; color: var(--ink-soft); font-size: 17px; line-height: 1.85; letter-spacing: -.025em; }
.hero-actions { display: flex; gap: 12px; }
.hero-meta { display: flex; gap: 36px; margin-top: 45px; color: #6c7582; font-size: 11px; }
.hero-meta span { padding-left: 15px; border-left: 1px solid #dfe1e5; }
.hero-meta strong { display: block; color: var(--ink); font-size: 17px; margin-bottom: 4px; }

.hero-visual { height: 545px; position: relative; display: grid; place-items: center; }
.hero-visual:before { content: "AI"; position: absolute; font-size: 300px; line-height: 1; font-weight: 900; color: rgba(190,87,123,.045); letter-spacing: -.1em; }
.hero-wordmark-badge { position: absolute; left: -8px; top: 42px; z-index: 3; width: 136px; padding: 14px 13px 11px; display: flex; flex-direction: column; align-items: center; gap: 7px; border: 1px solid rgba(160,0,42,.12); border-radius: 17px; background: rgba(255,255,255,.94); box-shadow: 0 18px 45px rgba(37,43,54,.12); backdrop-filter: blur(10px); }
.hero-wordmark-badge img { width: 104px; height: auto; }
.hero-wordmark-badge span { color: #7b344a; font-size: 7px; font-weight: 850; letter-spacing: .13em; white-space: nowrap; }
.orbit { position: absolute; border: 1px solid rgba(190,87,123,.22); border-radius: 50%; }
.orbit-one { width: 465px; height: 465px; animation: orbit 18s linear infinite; }
.orbit-one:after { content: ""; position: absolute; width: 12px; height: 12px; background: var(--rose); border: 4px solid #f9e9ef; border-radius: 50%; left: 28px; top: 82px; }
.orbit-two { width: 350px; height: 350px; border-style: dashed; animation: orbit 22s linear infinite reverse; }
@keyframes orbit { to { transform: rotate(360deg); } }
.ai-card { background: rgba(255,255,255,.92); border: 1px solid rgba(190,87,123,.16); box-shadow: 0 30px 70px rgba(63,34,47,.14); backdrop-filter: blur(12px); }
.main-card { width: min(440px, 85%); padding: 24px; border-radius: 18px; z-index: 2; transform: rotate(-1.2deg); }
.ai-card-head { display: flex; align-items: center; gap: 8px; padding-bottom: 18px; border-bottom: 1px solid #ececf0; color: #505b6b; font-size: 10px; font-weight: 800; letter-spacing: .11em; }
.pulse { width: 7px; height: 7px; border-radius: 50%; background: #48b686; box-shadow: 0 0 0 4px #e6f6ee; }
.online { margin-left: auto; color: #48a77d; }
.chat-line { margin-top: 20px; border-radius: 12px; padding: 14px 16px; font-size: 13px; line-height: 1.5; }
.user-line { background: #f1f2f4; margin-left: 50px; color: #485365; }
.bot-line { display: flex; gap: 12px; background: var(--rose-pale); color: #47303a; }
.bot-line p { margin: 5px 0 0; color: #7c5c69; font-size: 11px; }
.mini-mark { flex: 0 0 25px; width: 25px; height: 25px; border-radius: 7px; display: grid; place-items: center; overflow: hidden; box-shadow: 0 4px 10px rgba(126,0,35,.16); }
.mini-mark img { width: 25px; height: 25px; object-fit: cover; }
.main-card button { width: 100%; border: 0; border-radius: 9px; background: var(--navy); color: #fff; padding: 14px 16px; margin-top: 16px; display: flex; justify-content: space-between; cursor: pointer; font-size: 12px; font-weight: 700; }
.float-card { position: absolute; z-index: 3; background: #fff; border-radius: 13px; box-shadow: 0 18px 45px rgba(37,43,54,.14); padding: 16px 18px; display: flex; flex-direction: column; }
.float-card span { font-size: 8px; font-weight: 800; letter-spacing: .15em; color: var(--rose); }
.float-card strong { font-size: 13px; margin-top: 6px; }
.float-top { right: -5px; top: 77px; width: 180px; }
.float-top i { font-style: normal; font-size: 9px; color: #8a929e; margin: 10px 0 5px; }
.float-top div { height: 4px; background: #eceef1; border-radius: 9px; overflow: hidden; }.float-top b { display: block; width: 84%; height: 100%; background: var(--rose); }
.float-bottom { left: 5px; bottom: 67px; width: 185px; }
.float-bottom small { color: #818995; font-size: 9px; margin-top: 7px; }

.section { max-width: 1360px; margin: auto; padding: 120px clamp(24px, 6vw, 84px); }
.section-heading { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 60px; margin-bottom: 52px; }
.section-heading.compact { align-items: center; margin-bottom: 36px; }
.section-heading h2, .guide-title h2, .support h2 { margin: 0; font-size: clamp(34px, 4vw, 54px); line-height: 1.14; letter-spacing: -.05em; }
.section-heading > p, .news-heading > div:last-child > p { margin: 0 0 5px; color: var(--ink-soft); line-height: 1.8; max-width: 500px; font-size: 14px; }
.finder { padding-top: 95px; padding-bottom: 95px; }
.goal-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.goal-card { min-height: 205px; text-align: left; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 25px; cursor: pointer; display: flex; flex-direction: column; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.goal-card:hover { transform: translateY(-5px); border-color: #daa1b5; box-shadow: 0 20px 45px rgba(20,25,35,.08); }
.goal-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 9px; background: var(--rose-pale); color: var(--rose); font-size: 18px; }
.goal-card strong { margin-top: 24px; font-size: 17px; }.goal-card small { color: #737d8a; margin-top: 7px; font-size: 12px; }.goal-card i { margin-top: auto; font-size: 11px; font-style: normal; color: var(--rose-dark); font-weight: 750; }

.navigator { max-width: none; padding-left: max(24px, calc((100% - 1192px)/2)); padding-right: max(24px, calc((100% - 1192px)/2)); background: var(--navy); color: #fff; }.navigator-heading > p { color: #aeb8c7; }.navigator-track-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }.navigator-track-grid article { min-height: 275px; padding: 25px; display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(255,255,255,.045); }.navigator-track-grid article > span { color: #f0a7c0; font-size: 10px; font-weight: 850; letter-spacing: .12em; }.navigator-track-grid article > small { width: fit-content; margin-top: 18px; padding: 6px 8px; border-radius: 999px; background: rgba(238,155,184,.12); color: #efb2c7; font-size: 9px; }.navigator-track-grid h3 { margin: auto 0 8px; font-size: 21px; letter-spacing: -.035em; }.navigator-track-grid b { color: #f0a7c0; font-size: 10px; }.navigator-track-grid p { min-height: 50px; margin: 13px 0 0; color: #a9b4c4; font-size: 10px; line-height: 1.7; }.research-basis { margin-top: 18px; padding: 20px 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-radius: 10px; background: rgba(255,255,255,.06); }.research-basis > strong { color: #efabc2; font-size: 9px; letter-spacing: .1em; white-space: nowrap; }.research-basis > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }.research-basis a { padding: 7px 9px; border: 1px solid rgba(255,255,255,.1); border-radius: 5px; color: #c7d0dd; font-size: 9px; transition: border-color .2s, color .2s; }.research-basis a:hover { border-color: #efa6be; color: #fff; }

.courses { background: #fff; max-width: none; padding-left: max(24px, calc((100% - 1192px)/2)); padding-right: max(24px, calc((100% - 1192px)/2)); }
.filters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 28px; }
.filters button { border: 1px solid #dfe2e6; background: #fff; color: #606b78; border-radius: 100px; padding: 10px 16px; font-size: 12px; cursor: pointer; }
.filters button.active { background: var(--navy); border-color: var(--navy); color: #fff; }
.course-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.course-card { min-height: 365px; border: 1px solid var(--line); border-radius: 12px; padding: 26px; display: flex; flex-direction: column; background: #fff; animation: reveal .35s both; animation-delay: var(--delay); transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease; }
@keyframes reveal { from { opacity: 0; transform: translateY(8px); } }
.course-card:hover { transform: translateY(-4px); border-color: #e0a6ba; box-shadow: 0 18px 42px rgba(33,38,47,.08); }
.course-top { min-height: 28px; display: flex; justify-content: space-between; align-items: flex-start; }
.category-badge, .support-badge, .special-badge { display: inline-flex; border-radius: 5px; padding: 6px 9px; background: var(--rose-pale); color: var(--rose-dark); font-size: 10px; font-weight: 750; }
.support-badge { background: #eaf5f0; color: #387c63; }
.special-badge { background: #eef0f6; color: #50617b; }
.course-card h3 { font-size: 21px; margin: 25px 0 12px; letter-spacing: -.035em; }.course-card > p { color: #687281; font-size: 13px; line-height: 1.65; margin: 0; }
.course-price { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; margin-top: 20px; padding: 14px 0 12px; border-top: 1px solid #eceef0; }
.course-price small { color: #7b8490; font-size: 10px; font-weight: 700; }.course-price strong { color: var(--rose-dark); font-size: 20px; letter-spacing: -.035em; }
.course-track { margin-bottom: 9px; color: #9b3f61; font-size: 8px; font-weight: 850; letter-spacing: .1em; }.course-details { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 18px; }.course-details span { font-size: 10px; color: #737c89; background: #f3f4f5; padding: 5px 8px; border-radius: 4px; }
.course-card button { margin-top: auto; padding: 18px 0 0; border: 0; border-top: 1px solid #eceef0; background: transparent; display: flex; justify-content: space-between; color: #313b49; font-size: 12px; font-weight: 750; cursor: pointer; }
.course-card button span { color: var(--rose); }.more-button { display: block; margin: 34px auto 0; border: 0; background: transparent; color: var(--rose-dark); font-size: 13px; font-weight: 750; cursor: pointer; }

.about-section { background: var(--navy); color: #fff; overflow: hidden; position: relative; }.about-section:after { content: "AX"; position: absolute; right: -4vw; bottom: -8vw; color: rgba(255,255,255,.025); font-size: 34vw; line-height: .75; font-weight: 900; }
.about-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(60px, 10vw, 150px); position: relative; z-index: 1; }
.about-copy h2 { margin: 0; font-size: clamp(38px, 4vw, 56px); line-height: 1.2; letter-spacing: -.05em; }.about-copy h2 em { color: #ef9ebb; font-style: normal; }.about-copy > p:not(.eyebrow) { color: #aeb8c8; line-height: 1.85; font-size: 14px; max-width: 490px; margin: 30px 0; }.about-copy > a { color: #f0adc4; font-size: 12px; font-weight: 750; }
.feature-list { display: flex; flex-direction: column; }.feature-list article { display: grid; grid-template-columns: 65px 1fr; gap: 20px; padding: 26px 0; border-top: 1px solid rgba(255,255,255,.13); }.feature-list article:last-child { border-bottom: 1px solid rgba(255,255,255,.13); }.feature-list article > span { color: #ef9ebb; font-size: 11px; letter-spacing: .14em; }.feature-list h3 { margin: 0 0 8px; font-size: 17px; }.feature-list p { margin: 0; color: #9eaabc; font-size: 12px; line-height: 1.7; }

.news { background: var(--paper); }.news-heading > div:last-child { align-self: end; }.news-heading a { display: inline-block; color: var(--rose-dark); font-weight: 750; font-size: 12px; margin-top: 14px; }
.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }.news-card { background: #fff; border: 1px solid var(--line); border-radius: 13px; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }.news-card:hover { transform: translateY(-5px); box-shadow: 0 22px 48px rgba(24,29,37,.09); }
.news-art { height: 170px; position: relative; overflow: hidden; padding: 22px; color: #fff; }.news-art.rose { background: linear-gradient(135deg, #9b3f61, #d47c9b); }.news-art.navy { background: linear-gradient(135deg, #15243f, #3f5b83); }.news-art.mint { background: linear-gradient(135deg, #346b66, #93c5b6); }.news-art > span { font-size: 70px; font-weight: 850; opacity: .15; position: absolute; right: 14px; bottom: -16px; }.news-art i, .news-art i:after, .news-art i:before { position: absolute; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; content: ""; }.news-art i { width: 126px; height: 126px; left: 50%; top: 50%; transform: translate(-50%,-50%); }.news-art i:before { width: 72px; height: 72px; left: 26px; top: 26px; }.news-art i:after { width: 12px; height: 12px; background: #fff; left: 55px; top: 55px; }.news-art b { position: absolute; left: 22px; bottom: 20px; font-size: 10px; letter-spacing: .12em; }.news-body { padding: 24px; }.news-body > span { color: var(--rose-dark); font-size: 10px; font-weight: 750; }.news-body h3 { font-size: 18px; line-height: 1.45; letter-spacing: -.03em; margin: 13px 0 10px; }.news-body p { color: #727c89; font-size: 12px; line-height: 1.7; margin: 0 0 20px; }.news-body strong { font-size: 11px; }

.guide-section { background: #fff; }.guide-title { text-align: center; margin-bottom: 50px; }.guide-title .eyebrow { justify-content: center; }.steps { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: 22px; align-items: center; }.steps article { min-height: 160px; padding: 22px; background: var(--paper); border-radius: 10px; }.steps article > span { font-size: 10px; color: var(--rose); font-weight: 800; }.steps h3 { margin: 28px 0 8px; font-size: 16px; }.steps p { margin: 0; color: #717b89; line-height: 1.6; font-size: 11px; }.steps > i { font-style: normal; color: #b9bec6; }.guide-cta { margin-top: 60px; padding: 34px 38px; border-radius: 13px; color: #fff; background: var(--navy); display: flex; align-items: center; justify-content: space-between; }.guide-cta strong { font-size: 18px; }.guide-cta p { color: #aeb7c5; margin: 8px 0 0; font-size: 12px; }

.support-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; }.support-intro { color: var(--ink-soft); font-size: 13px; line-height: 1.8; margin-top: 25px; max-width: 330px; }.faq-list { border-top: 1px solid #d9dce1; }.faq-list details { border-bottom: 1px solid #d9dce1; }.faq-list summary { list-style: none; padding: 23px 0; cursor: pointer; display: flex; justify-content: space-between; font-size: 14px; font-weight: 700; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary span { color: var(--rose); font-size: 20px; font-weight: 400; transition: transform .2s; }.faq-list details[open] summary span { transform: rotate(45deg); }.faq-list details p { color: #6a7481; font-size: 12px; line-height: 1.75; padding: 0 35px 23px 0; margin: 0; }

.notice-preview { background: #f4f4f1; }.notice-preview-heading > div:last-child { align-self: end; }.notice-preview-heading > div:last-child > p { margin: 0; color: var(--ink-soft); font-size: 13px; }.notice-preview-heading a { display: inline-block; margin-top: 14px; color: var(--rose-dark); font-size: 12px; font-weight: 800; }
.notice-preview-layout { display: grid; grid-template-columns: 1.35fr .65fr; gap: 28px; }.home-notice-list { border-top: 2px solid var(--navy); }.home-notice-list > a { min-height: 76px; display: grid; grid-template-columns: 62px 1fr 92px 18px; align-items: center; gap: 14px; border-bottom: 1px solid #d9dce0; transition: color .2s, padding .2s; }.home-notice-list > a:hover { color: var(--rose-dark); padding-left: 7px; }.home-notice-list > a > span { width: fit-content; padding: 5px 7px; border-radius: 4px; background: #e7e9ec; color: #66717e; font-size: 9px; font-weight: 800; }.home-notice-list > a > span.important { background: var(--rose-pale); color: var(--rose-dark); }.home-notice-list strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }.home-notice-list time { color: #828b96; font-size: 10px; }.home-notice-list i { color: var(--rose); font-style: normal; }
.home-support-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.home-support-grid > * { min-height: 132px; padding: 19px; display: flex; flex-direction: column; border: 1px solid #dfe1e4; border-radius: 11px; background: #fff; transition: transform .2s, border-color .2s; }.home-support-grid > *:hover { transform: translateY(-3px); border-color: #dba0b5; }.home-support-grid span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; background: var(--rose-pale); color: var(--rose-dark); font-size: 13px; font-weight: 850; }.home-support-grid strong { margin-top: auto; font-size: 12px; }.home-support-grid small { margin-top: 4px; color: #7a8490; font-size: 9px; }

footer { background: #0d1729; color: #fff; padding: 70px clamp(24px, 6vw, 90px) 25px; }.footer-main { max-width: 1190px; margin: auto; display: grid; grid-template-columns: 2fr 1fr 1fr 1.4fr; gap: 55px; }.footer-logo-link { display: inline-flex; width: fit-content; }.footer-logo { width: 176px; height: auto; }.footer-brand > p { color: #8f9bad; font-size: 12px; line-height: 1.8; margin-top: 24px; }.footer-main h3 { color: #dce2eb; font-size: 11px; letter-spacing: .08em; margin: 0 0 22px; }.footer-main > div:not(.footer-brand) { display: flex; flex-direction: column; gap: 12px; }.footer-main a, .footer-main p { color: #8996a8; font-size: 11px; line-height: 1.6; margin: 0; }.footer-main a:hover { color: #fff; }.footer-bottom { max-width: 1190px; margin: 60px auto 0; border-top: 1px solid rgba(255,255,255,.1); padding-top: 24px; display: flex; flex-direction: column; align-items: center; gap: 9px; color: #77859a; font-size: 10px; text-align: center; }.footer-bottom i { margin: 0 8px; color: #4f5d71; font-style: normal; }.footer-bottom nav { display: flex; align-items: center; flex-wrap: wrap; justify-content: center; }.footer-bottom a { color: #8e9aab; transition: color .2s ease; }.footer-bottom a:hover { color: #fff; }

.floating-help { position: fixed; right: 24px; bottom: 24px; width: 58px; height: 58px; padding: 5px; display: grid; place-items: center; overflow: visible; border: 1px solid rgba(126,0,35,.12); border-radius: 19px; background: #fff; box-shadow: 0 14px 32px rgba(114,45,71,.35); cursor: pointer; z-index: 45; }.floating-help img { width: 48px; height: 48px; border-radius: 15px; object-fit: cover; }.floating-help i { position: absolute; width: 11px; height: 11px; background: #4bd38e; border: 2px solid #fff; border-radius: 50%; right: -1px; top: 2px; }
.modal-backdrop { position: fixed; inset: 0; background: rgba(9,16,29,.64); display: grid; place-items: center; z-index: 100; padding: 20px; backdrop-filter: blur(8px); }.application-modal { width: min(510px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; background: #fff; border-radius: 18px; padding: 42px; position: relative; box-shadow: 0 30px 80px rgba(0,0,0,.25); }.modal-close { position: absolute; right: 18px; top: 14px; background: none; border: 0; color: #77808b; font-size: 28px; cursor: pointer; }.application-modal h2 { margin: 0; font-size: 33px; letter-spacing: -.04em; }.application-modal > p:not(.eyebrow) { color: #687280; line-height: 1.7; font-size: 12px; }.application-modal form { display: flex; flex-direction: column; gap: 16px; margin-top: 26px; }.application-modal label { display: flex; flex-direction: column; gap: 7px; font-size: 11px; font-weight: 700; }.application-modal input:not([type="checkbox"]), .application-modal select { width: 100%; height: 46px; border: 1px solid #d9dce1; border-radius: 7px; background: #fff; padding: 0 13px; color: var(--ink); outline: none; }.application-modal input:focus, .application-modal select:focus { border-color: var(--rose); box-shadow: 0 0 0 3px var(--rose-pale); }.application-modal .check { flex-direction: row; align-items: center; color: #697381; font-weight: 500; }.application-modal .check input { accent-color: var(--rose); }.application-modal form .button { width: 100%; margin-top: 6px; }.success-state { text-align: center; padding: 30px 0 10px; }.success-state > span { width: 58px; height: 58px; margin: auto; border-radius: 50%; display: grid; place-items: center; background: #e6f6ee; color: #31815d; font-size: 25px; }.success-state h2 { margin-top: 22px; }.success-state p { color: #687280; line-height: 1.7; font-size: 12px; margin-bottom: 25px; }
.service-modal { width: min(500px, 100%); background: #fff; border-radius: 18px; padding: 42px; position: relative; box-shadow: 0 30px 80px rgba(0,0,0,.25); }
.service-modal-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 15px; background: var(--rose-pale); color: var(--rose-dark); font-size: 24px; font-weight: 850; margin-bottom: 28px; }
.service-modal h2 { margin: 0; font-size: 33px; letter-spacing: -.04em; }
.service-modal > p:not(.eyebrow) { color: #687280; line-height: 1.7; font-size: 13px; margin: 12px 0 24px; }
.service-notice { padding: 18px; border-radius: 10px; background: #f5f6f7; display: flex; flex-direction: column; gap: 7px; }
.service-notice strong { font-size: 12px; }.service-notice span { color: #737d89; font-size: 11px; line-height: 1.65; }
.service-status-link { width: fit-content; margin-top: 5px; color: var(--rose-dark); font-size: 10px; font-weight: 800; }
.service-actions { display: flex; gap: 9px; margin-top: 24px; }.service-actions .button { flex: 1; min-height: 46px; padding: 0 15px; box-shadow: none; }
.account-modal { width: min(500px, 100%); background: #fff; border-radius: 18px; padding: 36px 42px 42px; position: relative; box-shadow: 0 30px 80px rgba(0,0,0,.25); }
.account-tabs { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid #e3e5e8; margin: 0 24px 30px; }
.account-tabs button, .account-tabs a { border: 0; border-bottom: 2px solid transparent; background: transparent; padding: 12px 5px; color: #7a838f; font-size: 12px; font-weight: 750; cursor: pointer; text-align: center; }
.account-tabs button.active { color: var(--rose-dark); border-bottom-color: var(--rose); }
.account-icon { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 14px; background: var(--rose-pale); color: var(--rose-dark); font-size: 22px; font-weight: 850; margin-bottom: 24px; }
.account-modal h2 { margin: 0; font-size: 31px; letter-spacing: -.04em; }
.account-modal > p:not(.eyebrow) { color: #687280; line-height: 1.7; font-size: 13px; margin: 12px 0 24px; }

@media (max-width: 1050px) {
  .nav { gap: 18px; }.nav a { font-size: 12px; }.text-button { display: none; }.header-actions { gap: 10px; }.account-link, .account-signup { font-size: 11px; }
  .student-toolbar-inner { padding-right: 24px; }.student-toolbar-inner > strong { display: none; }.student-service-links { width: 100%; }.student-service-links button { min-width: 0; flex: 1; }
  .hero-grid { grid-template-columns: 1fr 1fr; padding-left: 45px; padding-right: 45px; }.hero h1 { font-size: 54px; }.hero-visual { transform: scale(.9); }
  .goal-grid { grid-template-columns: repeat(2, 1fr); }.navigator-track-grid { grid-template-columns: repeat(2, 1fr); }.course-grid, .news-grid { grid-template-columns: repeat(2, 1fr); }.news-card:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: .65fr 1.35fr; }.news-card:last-child .news-art { height: 100%; min-height: 210px; }
  .notice-preview-layout { grid-template-columns: 1fr; }.home-support-grid { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 780px) {
  .announcement { font-size: 10px; }.announcement a { display: none; }
  .site-header { height: 68px; padding: 0 20px; }.brand { min-width: auto; }.brand strong { font-size: 15px; }.brand small { font-size: 8px; }.brand-mark { width: 31px; height: 31px; }.brand-symbol { width: 37px; height: 37px; border-radius: 10px; }
  .header-actions .button, .header-actions .text-button, .header-actions .account-link, .header-actions .account-signup { display: none; }.menu-button { display: block; }
  .student-toolbar-inner { padding: 0; }.student-service-links { display: grid; grid-template-columns: repeat(4, 1fr); }.student-service-links button { min-height: 68px; padding: 8px 5px; border-left: 0; border-right: 1px solid #eceef1; flex-direction: column; justify-content: center; gap: 5px; }.student-service-links button:last-child { border-right: 0; }.student-service-links b { display: none; }.student-service-links i { width: 27px; height: 27px; }.student-service-links span { font-size: 9px; }
  .nav { display: none; position: absolute; top: 68px; left: 0; right: 0; background: #fff; padding: 14px 24px 25px; border-bottom: 1px solid var(--line); box-shadow: 0 12px 30px rgba(0,0,0,.08); }.nav.open { display: flex; flex-direction: column; align-items: stretch; gap: 0; }.nav a { padding: 14px 0; border-bottom: 1px solid #eef0f2; }.nav a:after { display: none; }.mobile-account-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }.mobile-account-actions button, .mobile-account-actions a { min-height: 42px; border: 1px solid #d9dce1; border-radius: 7px; background: #fff; color: #46515f; font-size: 12px; font-weight: 750; display: grid; place-items: center; padding: 0; }.mobile-account-actions button:last-child { background: var(--rose); border-color: var(--rose); color: #fff; }
  .hero { min-height: auto; }.hero-grid { grid-template-columns: 1fr; padding: 65px 24px 40px; gap: 10px; }.hero h1 { font-size: clamp(42px, 13vw, 58px); }.hero-description { font-size: 15px; margin-top: 24px; }.hero-actions { flex-direction: column; align-items: stretch; }.hero-actions .button { width: 100%; }.hero-meta { gap: 15px; justify-content: space-between; margin-top: 35px; }.hero-meta span { padding-left: 9px; }.hero-meta strong { font-size: 14px; }
  .hero-visual { height: 440px; transform: scale(.9); margin: -10px -25px 0; }.hero-wordmark-badge { left: 10px; top: 24px; }.float-top { right: 0; }.float-bottom { left: 0; }
  .section { padding: 82px 24px; }.section-heading, .section-heading.compact { grid-template-columns: 1fr; gap: 20px; align-items: start; margin-bottom: 36px; }.section-heading h2, .guide-title h2, .support h2 { font-size: 38px; }.section-heading > p { font-size: 13px; }
  .goal-grid, .navigator-track-grid, .course-grid, .news-grid { grid-template-columns: 1fr; }.goal-card { min-height: 185px; }.navigator-track-grid article { min-height: 230px; }.research-basis { align-items: flex-start; flex-direction: column; }.research-basis > div { justify-content: flex-start; }.course-card { min-height: 285px; }.news-card:last-child { grid-column: auto; display: block; }.news-card:last-child .news-art { height: 170px; min-height: 0; }
  .about-grid, .support-grid { grid-template-columns: 1fr; gap: 60px; }.about-copy h2 { font-size: 40px; }
  .home-notice-list > a { grid-template-columns: 54px 1fr 18px; }.home-notice-list time { display: none; }.home-support-grid { grid-template-columns: 1fr 1fr; }
  .steps { grid-template-columns: 1fr; }.steps > i { transform: rotate(90deg); text-align: center; }.guide-cta { padding: 28px; flex-direction: column; align-items: stretch; gap: 25px; }.guide-cta .button { width: 100%; }
  .footer-main { grid-template-columns: 1fr 1fr; }.footer-brand { grid-column: 1 / -1; }.footer-bottom { gap: 10px; }.footer-bottom nav { row-gap: 8px; }
  .application-modal { padding: 34px 24px; }
  .service-modal { padding: 34px 24px; }.service-actions { flex-direction: column; }
  .account-modal { padding: 30px 24px 34px; }.account-tabs { margin-left: 0; margin-right: 0; }
}

/* Service build status */
.service-status-page { min-height: 100vh; background: #f7f7f5; }.service-status-header nav { display: flex; align-items: center; gap: 24px; }.service-status-header nav > a:first-child { color: #66717f; font-size: 11px; font-weight: 700; }.service-status-hero { min-height: 355px; padding: 76px max(24px, calc((100% - 1080px)/2)); display: flex; align-items: flex-end; justify-content: space-between; gap: 60px; background: linear-gradient(125deg, #15243f, #0d1729); color: #fff; position: relative; overflow: hidden; }.service-status-hero:after { content: "05"; position: absolute; right: -20px; bottom: -105px; color: rgba(255,255,255,.035); font-size: 330px; line-height: 1; font-weight: 900; }.service-status-hero > div { position: relative; z-index: 1; }.service-status-hero h1 { margin: 0; font-size: clamp(48px, 5vw, 70px); letter-spacing: -.06em; }.service-status-hero > div:first-child > p:last-child { margin: 18px 0 0; color: #aeb8c8; font-size: 13px; }.current-build-stage { width: min(370px, 100%); padding: 25px; border: 1px solid rgba(255,255,255,.12); border-radius: 13px; background: rgba(255,255,255,.06); backdrop-filter: blur(8px); }.current-build-stage > span { color: #efa6be; font-size: 9px; font-weight: 850; letter-spacing: .1em; }.current-build-stage strong { display: block; margin-top: 10px; font-size: 17px; }.current-build-stage p { margin: 8px 0 0; color: #9eabba; font-size: 10px; line-height: 1.6; }
.service-status-content { max-width: 1080px; margin: auto; padding: 75px 0 100px; }.status-intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: end; margin-bottom: 44px; }.status-intro h2 { margin: 0; font-size: 38px; letter-spacing: -.05em; }.status-intro > p { margin: 0; color: #697482; font-size: 12px; line-height: 1.85; }.service-roadmap { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }.roadmap-card { min-height: 175px; display: grid; grid-template-columns: 105px 1fr; border: 1px solid #e0e3e6; border-radius: 13px; background: #fff; overflow: hidden; }.roadmap-card.complete { border-color: #bedfce; }.roadmap-card.next { border-color: #d9a6b8; box-shadow: 0 18px 45px rgba(75,35,51,.08); }.roadmap-number { display: grid; place-items: center; background: #eef0f3; color: #8b95a1; font-size: 26px; font-weight: 850; }.roadmap-card.complete .roadmap-number { background: #e7f4ed; color: #3d8666; }.roadmap-card.next .roadmap-number { background: var(--rose-pale); color: var(--rose-dark); }.roadmap-body { padding: 26px 30px; }.roadmap-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }.roadmap-heading h3 { margin: 0; font-size: 20px; letter-spacing: -.03em; }.roadmap-heading span { padding: 6px 9px; border-radius: 999px; background: #eff1f3; color: #77818e; font-size: 8px; font-weight: 850; white-space: nowrap; }.roadmap-card.complete .roadmap-heading span { background: #e5f4ed; color: #347c5d; }.roadmap-card.next .roadmap-heading span { background: var(--rose); color: #fff; }.roadmap-body > p { margin: 11px 0 18px; color: #6f7986; font-size: 11px; line-height: 1.7; }.roadmap-body ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }.roadmap-body li { padding: 7px 9px; border-radius: 5px; background: #f4f5f6; color: #596573; font-size: 9px; }
.service-decision-section { margin-top: 65px; padding: 48px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; border-radius: 16px; background: var(--navy); color: #fff; }.decision-copy h2 { margin: 0; font-size: 34px; line-height: 1.25; letter-spacing: -.05em; }.decision-copy > p:last-child { margin: 18px 0 0; color: #9fabbc; font-size: 11px; line-height: 1.75; }.decision-list { display: grid; gap: 3px; }.decision-list article { padding: 17px 0; display: grid; grid-template-columns: 34px 1fr; gap: 12px; border-bottom: 1px solid rgba(255,255,255,.09); }.decision-list article:last-child { border-bottom: 0; }.decision-list article > span { color: #efa6be; font-size: 9px; font-weight: 850; }.decision-list strong { font-size: 12px; }.decision-list p { margin: 5px 0 0; color: #99a6b8; font-size: 10px; line-height: 1.6; }.service-safety-note { margin-top: 22px; padding: 32px; border: 1px solid #e1d0d7; border-radius: 13px; background: #fff9fb; }.service-safety-note > div:first-child { display: flex; align-items: center; gap: 10px; }.service-safety-note > div:first-child > span { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--rose-pale); color: var(--rose-dark); font-size: 11px; font-weight: 850; }.service-safety-note strong { font-size: 13px; }.service-safety-note > p { margin: 14px 0 0; color: #736771; font-size: 11px; line-height: 1.75; }.service-status-actions { margin-top: 24px; display: flex; gap: 9px; }.service-status-actions .button { min-height: 44px; box-shadow: none; }.service-status-page .policy-footer { margin-top: 0; }

@media (max-width: 1120px) { .service-status-content { margin-left: 30px; margin-right: 30px; } }

@media (max-width: 780px) {
  .service-status-header nav > a:first-child { display: none; }.service-status-hero { min-height: auto; padding: 58px 24px; flex-direction: column; align-items: stretch; gap: 35px; }.service-status-hero h1 { font-size: 47px; }.service-status-content { margin: 0; padding: 55px 20px 75px; }.status-intro { grid-template-columns: 1fr; gap: 20px; }.status-intro h2 { font-size: 32px; }.roadmap-card { grid-template-columns: 64px 1fr; }.roadmap-number { font-size: 18px; }.roadmap-body { padding: 23px 19px; }.roadmap-heading { align-items: flex-start; }.roadmap-heading h3 { font-size: 17px; }.roadmap-body ul { flex-direction: column; align-items: flex-start; }.service-decision-section { padding: 32px 24px; grid-template-columns: 1fr; gap: 32px; }.service-status-actions { flex-direction: column; }.service-status-actions .button { width: 100%; }
}

@media (max-width: 420px) {
  .hero-visual { transform: scale(.78); margin-left: -55px; margin-right: -55px; }.hero-meta { font-size: 9px; }.hero-meta strong { font-size: 13px; }
  .goal-grid { grid-template-columns: 1fr; }.footer-main { grid-template-columns: 1fr; }.footer-brand { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *:before, *:after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }

/* Announcements & learning support */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.notice-page { min-height: 100vh; background: #f7f7f5; }.notice-header nav { display: flex; align-items: center; gap: 20px; }.notice-header nav > a { color: #64707e; font-size: 11px; font-weight: 750; }.notice-header nav .account-signup { color: #fff; }
.notice-hero { min-height: 330px; padding: 72px max(24px, calc((100% - 1190px)/2)); display: flex; align-items: flex-end; justify-content: space-between; gap: 60px; background: linear-gradient(125deg, #15243f, #0d1729); color: #fff; position: relative; overflow: hidden; }.notice-hero:after { content: "NOTICE"; position: absolute; right: -18px; bottom: -62px; color: rgba(255,255,255,.03); font-size: 150px; font-weight: 900; letter-spacing: -.08em; }.notice-hero > * { position: relative; z-index: 1; }.notice-hero h1 { margin: 0; font-size: clamp(46px, 5vw, 68px); letter-spacing: -.06em; }.notice-hero > div > p:last-child { max-width: 610px; margin: 20px 0 0; color: #aeb9c8; font-size: 13px; line-height: 1.8; }.notice-hero aside { min-width: 250px; padding: 22px; display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.13); border-radius: 12px; background: rgba(255,255,255,.06); }.notice-hero aside span { color: #efa6be; font-size: 9px; font-weight: 850; letter-spacing: .1em; }.notice-hero aside strong { margin-top: 9px; font-size: 21px; }.notice-hero aside small { margin-top: 13px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.12); color: #aab5c5; font-size: 9px; }
.notice-content { max-width: 1190px; margin: auto; padding: 58px 0 105px; }.support-link-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }.support-link-grid > a { min-height: 106px; padding: 20px; display: grid; grid-template-columns: 36px 1fr 14px; align-items: center; gap: 12px; border: 1px solid #dfe2e5; border-radius: 11px; background: #fff; transition: transform .2s, border-color .2s; }.support-link-grid > a:hover { transform: translateY(-3px); border-color: #d99cb3; }.support-link-grid > a > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: var(--rose-pale); color: var(--rose-dark); font-size: 14px; font-weight: 850; }.support-link-grid strong { display: block; font-size: 12px; }.support-link-grid small { display: block; margin-top: 5px; color: #7a8490; font-size: 9px; line-height: 1.5; }.support-link-grid b { color: var(--rose); font-size: 11px; }
.notice-board-heading { margin: 82px 0 32px; display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 50px; }.notice-board-heading h2 { margin: 0; font-size: 42px; letter-spacing: -.05em; }.notice-board-heading > p { margin: 0; color: #707b88; font-size: 12px; line-height: 1.8; }
.notice-controls { display: flex; align-items: center; justify-content: space-between; gap: 20px; }.notice-tabs { display: flex; flex-wrap: wrap; gap: 7px; }.notice-tabs button { padding: 9px 14px; border: 1px solid #d9dde1; border-radius: 999px; background: #fff; color: #687381; font-size: 10px; font-weight: 750; cursor: pointer; }.notice-tabs button.active { border-color: var(--navy); background: var(--navy); color: #fff; }.notice-search { width: 260px; height: 42px; display: flex; align-items: center; border: 1px solid #d9dde1; border-radius: 8px; background: #fff; }.notice-search:focus-within { border-color: var(--rose); box-shadow: 0 0 0 3px rgba(171,55,94,.08); }.notice-search input { min-width: 0; flex: 1; height: 100%; padding: 0 0 0 14px; border: 0; outline: 0; background: transparent; color: #283441; font-size: 11px; }.notice-search i { padding: 0 13px; color: var(--rose-dark); font-style: normal; font-size: 16px; }
.notice-result-summary { margin: 25px 0 10px; color: #76818e; font-size: 10px; }.notice-result-summary strong { color: var(--rose-dark); font-size: 12px; }.notice-list { border-top: 2px solid var(--navy); background: #fff; }.notice-list-head { min-height: 45px; padding: 0 18px; display: grid; grid-template-columns: 90px 1fr 110px; align-items: center; border-bottom: 1px solid #dfe2e5; background: #f1f2f3; color: #66717e; font-size: 10px; font-weight: 800; text-align: center; }.notice-list-head span:nth-child(2) { text-align: left; }.notice-row { border-bottom: 1px solid #e1e3e6; }.notice-row summary { min-height: 78px; padding: 13px 18px; display: grid; grid-template-columns: 90px 1fr 110px 20px; align-items: center; gap: 0; cursor: pointer; list-style: none; }.notice-row summary::-webkit-details-marker { display: none; }.notice-kind { width: fit-content; justify-self: center; padding: 5px 7px; border-radius: 4px; background: #eef0f2; color: #687380; font-size: 9px; font-weight: 800; }.notice-kind.important { background: var(--rose-pale); color: var(--rose-dark); }.notice-title { min-width: 0; display: flex; flex-direction: column; gap: 6px; }.notice-title b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #2e3946; font-size: 13px; }.notice-title small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #818a95; font-size: 9px; }.notice-row time { color: #818a95; font-size: 10px; text-align: center; }.notice-row summary > i { color: var(--rose); font-style: normal; font-size: 18px; transition: transform .2s; }.notice-row[open] summary > i { transform: rotate(45deg); }.notice-detail { padding: 24px 128px 27px 108px; border-top: 1px solid #eceef0; background: #fafafa; }.notice-detail strong { color: var(--rose-dark); font-size: 10px; }.notice-detail p { margin: 10px 0 0; color: #626e7c; font-size: 11px; line-height: 1.8; }.notice-empty { padding: 70px 24px; display: flex; flex-direction: column; align-items: center; text-align: center; }.notice-empty span { color: var(--rose); font-size: 28px; }.notice-empty strong { margin-top: 14px; font-size: 14px; }.notice-empty p { margin: 7px 0 0; color: #7b8591; font-size: 10px; }
.academic-schedule { margin-top: 78px; padding: 48px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; border-radius: 16px; background: var(--navy); color: #fff; scroll-margin-top: 30px; }.academic-schedule h2 { margin: 0; font-size: 36px; letter-spacing: -.05em; }.academic-schedule > div:first-child > p:last-child { margin: 17px 0 0; color: #a9b4c4; font-size: 11px; line-height: 1.8; }.schedule-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.schedule-cards article { padding: 22px; border: 1px solid rgba(255,255,255,.12); border-radius: 11px; background: rgba(255,255,255,.06); }.schedule-cards article > span { color: #efa6be; font-size: 8px; font-weight: 850; letter-spacing: .12em; }.schedule-cards strong { display: block; margin-top: 13px; font-size: 14px; line-height: 1.5; }.schedule-cards p { margin: 15px 0; color: #9eabba; font-size: 9px; }.schedule-cards a { color: #f0aec4; font-size: 9px; font-weight: 800; }
.notice-contact { margin-top: 22px; padding: 30px 34px; display: flex; justify-content: space-between; align-items: center; gap: 35px; border: 1px solid #e0d0d6; border-radius: 12px; background: #fff9fb; }.notice-contact strong { font-size: 14px; }.notice-contact p { margin: 7px 0 0; color: #776b73; font-size: 10px; }.notice-contact > div:last-child { display: flex; gap: 8px; }.notice-contact .button { min-height: 43px; padding: 0 18px; box-shadow: none; }

@media (max-width: 1240px) { .notice-content { margin-left: 32px; margin-right: 32px; } }
@media (max-width: 900px) { .support-link-grid { grid-template-columns: 1fr 1fr; }.academic-schedule { grid-template-columns: 1fr; }.notice-controls { align-items: stretch; flex-direction: column; }.notice-search { width: 100%; } }
@media (max-width: 780px) { .notice-header nav > a:first-child { display: none; }.notice-hero { min-height: auto; padding: 58px 24px; align-items: stretch; flex-direction: column; gap: 34px; }.notice-hero aside { min-width: 0; }.notice-hero:after { font-size: 90px; }.notice-content { margin: 0; padding: 42px 20px 75px; }.notice-board-heading { margin-top: 58px; grid-template-columns: 1fr; gap: 16px; }.notice-board-heading h2 { font-size: 35px; }.notice-list-head { display: none; }.notice-row summary { min-height: 92px; padding: 14px 12px; grid-template-columns: 52px 1fr 18px; gap: 10px; }.notice-row time { display: none; }.notice-kind { justify-self: start; }.notice-title small { white-space: normal; line-height: 1.45; }.notice-detail { padding: 22px 25px; }.academic-schedule { padding: 32px 24px; }.schedule-cards { grid-template-columns: 1fr; }.notice-contact { align-items: stretch; flex-direction: column; }.notice-contact > div:last-child { flex-direction: column; }.notice-contact .button { width: 100%; } }
@media (max-width: 520px) { .support-link-grid { grid-template-columns: 1fr; }.notice-tabs { display: grid; grid-template-columns: repeat(3, 1fr); }.notice-tabs button { padding-left: 7px; padding-right: 7px; } }

/* Policy pages */
.policy-page { min-height: 100vh; background: #f7f7f5; }
.policy-header { height: 82px; padding: 0 clamp(24px, 6vw, 90px); display: flex; align-items: center; justify-content: space-between; background: #fff; border-bottom: 1px solid var(--line); }
.policy-home-link { color: #596473; font-size: 12px; font-weight: 750; }.policy-home-link span { margin-left: 8px; color: var(--rose); }
.policy-hero { max-width: 1190px; margin: auto; padding: 90px 0 74px; display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; border-bottom: 1px solid #dfe1e4; }
.policy-hero h1 { margin: 0; font-size: clamp(45px, 5vw, 68px); line-height: 1.13; letter-spacing: -.055em; }.policy-hero > div > p:last-child { color: #697380; font-size: 14px; margin: 24px 0 0; }
.policy-hero aside { min-width: 210px; padding: 22px; border-radius: 12px; background: var(--navy); color: #fff; display: flex; flex-direction: column; }.policy-hero aside span { color: #efa8bf; font-size: 10px; font-weight: 800; letter-spacing: .12em; }.policy-hero aside strong { margin-top: 9px; font-size: 20px; }.policy-hero aside small { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.13); color: #aeb8c7; font-size: 9px; }
.policy-layout { max-width: 1190px; margin: auto; padding: 70px 0 110px; display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 90px; align-items: start; }
.policy-toc { position: sticky; top: 25px; padding: 22px 0; border-top: 2px solid var(--rose); border-bottom: 1px solid #dcdfe3; }.policy-toc > strong { font-size: 12px; letter-spacing: .12em; }.policy-toc nav { display: flex; flex-direction: column; margin-top: 17px; max-height: calc(100vh - 120px); overflow-y: auto; }.policy-toc a { padding: 7px 0; color: #737d89; font-size: 10px; line-height: 1.4; }.policy-toc a:hover { color: var(--rose-dark); }
.policy-document { background: #fff; border: 1px solid #e2e4e7; border-radius: 16px; padding: clamp(30px, 5vw, 70px); box-shadow: 0 24px 60px rgba(29,35,44,.06); }
.policy-document section { scroll-margin-top: 30px; padding: 0 0 37px; margin: 0 0 38px; border-bottom: 1px solid #e7e8ea; }.policy-document section:last-of-type { margin-bottom: 0; }
.policy-document h2 { margin: 0 0 18px; color: #1f2937; font-size: 18px; letter-spacing: -.025em; }.policy-document p, .policy-document li, .policy-document dd { color: #596574; font-size: 13px; line-height: 1.9; }.policy-document p { margin: 0; }.policy-document ol, .policy-document ul { padding-left: 22px; margin: 0; }.policy-document li + li { margin-top: 8px; }.policy-document code { padding: 2px 6px; border-radius: 4px; background: #f2f3f5; color: var(--rose-dark); font-family: var(--font-geist-mono), monospace; font-size: .9em; }
.related-policies { margin-top: 22px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }.related-policies a { padding: 14px; border: 1px solid #e2e4e7; border-radius: 8px; display: flex; flex-direction: column; gap: 6px; transition: border-color .2s, background .2s; }.related-policies a:hover { border-color: #d79bb1; background: var(--rose-pale); }.related-policies span { color: #303b48; font-size: 11px; font-weight: 750; }.related-policies code { padding: 0; background: transparent; font-size: 9px; }.inline-policy-link { color: var(--rose-dark); font-weight: 750; }
.business-info { margin: 0; border-top: 1px solid #dfe2e5; }.business-info div { display: grid; grid-template-columns: 180px 1fr; gap: 22px; padding: 14px 0; border-bottom: 1px solid #e8e9eb; }.business-info dt { color: #343f4d; font-size: 11px; font-weight: 750; }.business-info dd { margin: 0; }
.policy-document .addendum { padding: 26px; border: 0; border-radius: 10px; background: var(--rose-pale); }.addendum h2 { color: var(--rose-dark); }.policy-back-button { margin-top: 34px; }
.policy-footer { padding: 30px 24px; display: flex; justify-content: center; gap: 30px; background: #0d1729; color: #7e8a9d; font-size: 9px; }.policy-footer i { color: #4e5a6d; font-style: normal; margin: 0 7px; }

@media (max-width: 1240px) {
  .policy-hero, .policy-layout { margin-left: 40px; margin-right: 40px; }
}

@media (max-width: 780px) {
  .policy-header { height: 68px; padding: 0 20px; }.policy-home-link { font-size: 10px; }
  .policy-hero { margin: 0 24px; padding: 65px 0 48px; align-items: stretch; flex-direction: column; }.policy-hero h1 { font-size: 42px; }.policy-hero aside { min-width: 0; }
  .policy-layout { margin: 0; padding: 40px 24px 75px; grid-template-columns: 1fr; gap: 24px; }.policy-toc { position: static; padding: 16px 0; }.policy-toc nav { display: none; }
  .policy-document { border-radius: 12px; padding: 30px 22px; }.policy-document h2 { font-size: 16px; }.policy-document p, .policy-document li, .policy-document dd { font-size: 12px; }.related-policies { grid-template-columns: 1fr; }.business-info div { grid-template-columns: 1fr; gap: 5px; }
  .policy-footer { flex-direction: column; align-items: center; text-align: center; gap: 8px; }
}

/* Refund policy */
.refund-layout { padding-top: 62px; }
.refund-document .refund-intro { padding: 24px; border: 0; border-radius: 10px; background: var(--navy); }.refund-intro p { color: #d6dde7; }
.refund-period { display: grid; grid-template-columns: 45px 1fr; gap: 20px; padding: 20px 0; }.refund-period + .refund-period { border-top: 1px solid #e7e8ea; }.refund-period > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: var(--rose-pale); color: var(--rose-dark); font-size: 10px; font-weight: 850; }.refund-period h3 { margin: 5px 0 14px; font-size: 15px; }.refund-period p { margin: 0; }
.refund-table { overflow: hidden; border: 1px solid #e0e3e6; border-radius: 9px; }.refund-table > div { display: grid; grid-template-columns: 210px 1fr; }.refund-table > div + div { border-top: 1px solid #e0e3e6; }.refund-table strong, .refund-table span { padding: 14px 16px; font-size: 11px; line-height: 1.6; }.refund-table strong { background: #f5f6f7; color: #394451; }.refund-table span { color: #65707e; }.refund-table .no-refund { color: #a53e61; font-weight: 800; }
.refund-contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }.refund-contact-grid > * { min-width: 0; padding: 17px; border: 1px solid #e1e3e6; border-radius: 9px; display: flex; flex-direction: column; gap: 8px; transition: border-color .2s, background .2s; }.refund-contact-grid a:hover { border-color: #d99eb3; background: var(--rose-pale); }.refund-contact-grid span { color: #7a8491; font-size: 9px; font-weight: 750; letter-spacing: .05em; }.refund-contact-grid strong { color: #313c4a; font-size: 11px; overflow-wrap: anywhere; }
.policy-bottom-actions { display: flex; gap: 9px; margin-top: 34px; }.policy-bottom-actions .policy-back-button { margin-top: 0; box-shadow: none; }

@media (max-width: 780px) {
  .refund-period { grid-template-columns: 1fr; }.refund-table > div { grid-template-columns: 1fr; }.refund-table strong { border-bottom: 1px solid #e0e3e6; }.refund-contact-grid { grid-template-columns: 1fr; }.policy-bottom-actions { flex-direction: column; }.policy-bottom-actions .button { width: 100%; }
}

/* Privacy policy */
.privacy-layout { padding-top: 62px; }.privacy-document .privacy-intro { padding: 24px; border: 0; border-radius: 10px; background: var(--navy); }.privacy-intro p { color: #d7dee8; }
.purpose-list { list-style: none; padding: 0 !important; margin-top: 18px !important; }.purpose-list li { min-height: 46px; padding: 10px 0; display: grid; grid-template-columns: 46px 1fr; align-items: center; border-bottom: 1px solid #e8e9eb; }.purpose-list li > span { color: var(--rose-dark); font-size: 9px; font-weight: 850; letter-spacing: .05em; }
.policy-subtitle { margin: 22px 0 12px; color: #35404e; font-size: 12px; }.privacy-data-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }.privacy-data-grid article { padding: 16px; border: 1px solid #e2e4e7; border-radius: 9px; }.privacy-data-grid span { color: var(--rose-dark); font-size: 9px; font-weight: 800; }.privacy-data-grid p { margin-top: 9px; font-size: 11px; line-height: 1.65; }
.privacy-related-link { margin-top: 17px; padding: 13px 15px; border-radius: 8px; background: var(--rose-pale); color: var(--rose-dark); display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 750; }.privacy-related-link code { margin-left: auto; }.privacy-related-link > span { margin-left: 3px; }
.rights-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 18px 0; }.rights-grid span { padding: 14px 16px; border: 1px solid #e1e3e6; border-radius: 8px; color: #4e5967; font-size: 11px; font-weight: 700; }.exercise-method { padding: 16px; border-left: 3px solid var(--rose); background: #f6f6f5; }.exercise-method strong { display: block; color: #303b48; font-size: 10px; }
.security-list { display: grid; gap: 8px; margin-top: 18px; }.security-list article { display: grid; grid-template-columns: 130px 1fr; gap: 15px; padding: 15px; border-radius: 8px; background: #f5f6f7; }.security-list span { color: var(--rose-dark); font-size: 10px; font-weight: 800; }.security-list p { font-size: 11px; }.privacy-contact a { color: var(--rose-dark); }.privacy-notice > div { display: flex; gap: 25px; margin-top: 16px; }.privacy-notice > div span { color: #785765; font-size: 10px; }.privacy-notice > div strong { display: block; margin-top: 4px; color: var(--rose-dark); font-size: 12px; }

@media (max-width: 780px) {
  .privacy-data-grid, .rights-grid { grid-template-columns: 1fr; }.security-list article { grid-template-columns: 1fr; gap: 6px; }.privacy-notice > div { flex-direction: column; gap: 10px; }.privacy-related-link { flex-wrap: wrap; }.privacy-related-link code { margin-left: 0; }
}

/* Cookie policy */
.cookies-layout { padding-top: 62px; }.cookies-document .cookies-intro { padding: 24px; border: 0; border-radius: 10px; background: var(--navy); }.cookies-intro p { color: #d8dfe9; }
.cookie-explainer { display: grid; grid-template-columns: 82px 1fr; gap: 24px; align-items: center; padding: 22px; border-radius: 12px; background: #f5f6f7; }.cookie-symbol { width: 68px; height: 68px; position: relative; display: block; border-radius: 50%; background: var(--rose); box-shadow: inset 12px -10px 0 rgba(94,36,57,.16); }.cookie-symbol:after { content: ""; position: absolute; width: 27px; height: 27px; right: -2px; top: -2px; border-radius: 50%; background: #f5f6f7; }.cookie-symbol i { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #7f2e4c; }.cookie-symbol i:nth-child(1) { left: 18px; top: 19px; }.cookie-symbol i:nth-child(2) { left: 40px; top: 34px; }.cookie-symbol i:nth-child(3) { left: 22px; top: 46px; }.cookie-explainer p { margin: 0; }
.cookie-purpose-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; margin-top: 18px; }.cookie-purpose-grid article { padding: 19px; border: 1px solid #e2e4e7; border-radius: 9px; }.cookie-purpose-grid article > span { display: inline-flex; padding: 5px 8px; border-radius: 5px; background: var(--rose-pale); color: var(--rose-dark); font-size: 8px; font-weight: 850; }.cookie-purpose-grid h3 { margin: 14px 0 7px; color: #303b48; font-size: 13px; }.cookie-purpose-grid p { font-size: 11px; }
.cookie-policy-note { padding: 20px; border-left: 3px solid var(--rose); background: #f5f6f7; }.cookie-policy-note strong { color: var(--rose-dark); font-size: 10px; }.cookie-policy-note p { margin-top: 7px; }
.browser-grid { display: grid; gap: 9px; margin-top: 20px; }.browser-grid article { padding: 16px; display: grid; grid-template-columns: 44px 1fr; gap: 15px; align-items: center; border: 1px solid #e2e4e7; border-radius: 9px; }.browser-mark { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; color: #fff; font-size: 13px; font-weight: 850; }.browser-mark.chrome { background: linear-gradient(135deg, #d9534f, #e8ac3f 45%, #4da867 46%, #377cca); }.browser-mark.edge { background: linear-gradient(135deg, #27a2db, #2670c9 50%, #32ae87); }.browser-mark.safari { background: linear-gradient(135deg, #6dc4ed, #277bc4); }.browser-grid h3 { margin: 0 0 5px; color: #303b48; font-size: 12px; }.browser-grid p { font-size: 11px; }.cookie-contact a { color: var(--rose-dark); }.cookie-dates > div { display: flex; gap: 25px; }.cookie-dates span { color: #785765; font-size: 10px; }.cookie-dates strong { display: block; margin-top: 5px; color: var(--rose-dark); font-size: 12px; }

@media (max-width: 780px) {
  .cookie-explainer { grid-template-columns: 1fr; }.cookie-purpose-grid { grid-template-columns: 1fr; }.cookie-dates > div { flex-direction: column; gap: 10px; }
}

/* Login */
.login-page { min-height: 100vh; background: #f7f7f5; }.login-header { background: rgba(255,255,255,.96); }.login-header-nav { display: flex; align-items: center; gap: 22px; }.login-header-nav a, .login-header-nav button { border: 0; background: transparent; color: #5e6876; font-size: 11px; font-weight: 700; cursor: pointer; }.login-header-nav a:hover, .login-header-nav button:hover { color: var(--rose-dark); }
.login-hero { min-height: 245px; padding: 65px max(24px, calc((100% - 1080px)/2)); display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; color: #fff; background: var(--navy); position: relative; overflow: hidden; }.login-hero:after { content: "AX"; position: absolute; right: -25px; bottom: -80px; color: rgba(255,255,255,.035); font-size: 290px; font-weight: 900; line-height: 1; }.login-hero > div { position: relative; z-index: 1; }.login-hero h1 { margin: 0; font-size: clamp(40px, 4vw, 58px); letter-spacing: -.05em; }.login-hero > div > p:last-child { margin: 15px 0 0; color: #adb8c9; font-size: 13px; }.login-breadcrumb { display: flex; align-items: center; gap: 9px; color: #8996a8; font-size: 10px; }.login-breadcrumb strong { color: #efa6be; }
.login-content { max-width: 1080px; margin: auto; padding: 58px 0 100px; }.login-stage-notice { display: flex; align-items: center; gap: 14px; padding: 14px 18px; margin-bottom: 18px; border: 1px solid #ead2db; border-radius: 9px; background: #fff9fb; }.login-stage-notice > span { flex: 0 0 24px; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: var(--rose-pale); color: var(--rose-dark); font-weight: 850; font-size: 11px; }.login-stage-notice p { margin: 0; color: #776671; font-size: 10px; line-height: 1.6; }.login-stage-notice strong { color: var(--rose-dark); }
.login-methods { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.login-methods > article { min-height: 535px; border-radius: 15px; padding: 38px; position: relative; overflow: hidden; }.login-card-label { font-size: 9px; font-weight: 850; letter-spacing: .14em; }.login-card-label > span { display: inline-flex; margin-right: 7px; padding: 5px 7px; border-radius: 4px; background: #f3a7bf; color: #6e2942; letter-spacing: 0; }
.certificate-login-card { background: linear-gradient(145deg, #172944, #0f1b31); color: #fff; }.certificate-login-card:after { content: ""; position: absolute; width: 280px; height: 280px; right: -120px; top: -100px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 55px rgba(255,255,255,.025), 0 0 0 110px rgba(255,255,255,.018); }.certificate-login-card .login-card-label { color: #9eabba; }.certificate-visual { width: 82px; height: 82px; margin: 46px 0 31px; border-radius: 18px; display: grid; place-items: center; background: linear-gradient(135deg, #ca6689, #973c5d); position: relative; box-shadow: 0 18px 36px rgba(0,0,0,.24); }.certificate-visual > span { width: 34px; height: 34px; display: grid; place-items: center; border: 2px solid #fff; border-radius: 50%; font-weight: 850; }.certificate-visual > i { position: absolute; width: 17px; height: 22px; right: -6px; bottom: -7px; background: #f3b0c7; clip-path: polygon(0 0,100% 0,85% 100%,50% 78%,15% 100%); }.login-methods h2 { margin: 0 0 13px; font-size: 26px; letter-spacing: -.04em; }.certificate-login-card > p { color: #aeb9c8; font-size: 12px; line-height: 1.75; max-width: 380px; }.certificate-button { width: 100%; margin-top: 25px; background: var(--rose); box-shadow: none; }.certificate-login-card ul { margin: 25px 0 0; padding: 20px 0 0; border-top: 1px solid rgba(255,255,255,.11); list-style: none; }.certificate-login-card li { padding: 5px 0 5px 18px; color: #94a2b5; font-size: 10px; position: relative; }.certificate-login-card li:before { content: "✓"; position: absolute; left: 0; color: #e99cb6; }
.general-login-card { background: #fff; border: 1px solid #e0e2e5; }.general-login-card .login-card-label { color: var(--rose-dark); margin-bottom: 48px; }.general-login-card > p { color: #707a87; font-size: 12px; }.general-login-card form { margin-top: 28px; }.general-login-card form > label { display: block; margin: 14px 0 7px; color: #3e4957; font-size: 10px; font-weight: 750; }.general-login-card input:not([type="checkbox"]) { width: 100%; height: 48px; padding: 0 14px; border: 1px solid #dfe2e5; border-radius: 7px; background: #f7f8f9; color: #929aa5; outline: none; font-size: 11px; }.login-options { display: flex; align-items: center; justify-content: space-between; margin: 13px 0 19px; color: #828b96; font-size: 9px; }.login-options label { display: flex; align-items: center; gap: 6px; }.login-options span { padding-left: 15px; position: relative; }.login-options span:before { content: ""; position: absolute; left: 0; top: 1px; width: 8px; height: 10px; border: 1px solid #9aa2ac; border-radius: 2px; }.general-login-button { width: 100%; background: var(--navy); box-shadow: none; }.account-help-links { display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 18px; }.account-help-links button, .account-help-links a { border: 0; background: transparent; color: #737d89; font-size: 9px; cursor: pointer; }.account-help-links button:hover, .account-help-links a:hover { color: var(--rose-dark); }.account-help-links i { width: 1px; height: 10px; background: #d7dade; }
.login-live-notice { margin-top: 14px; min-height: 48px; padding: 10px 14px; display: flex; align-items: center; gap: 11px; border-radius: 8px; background: var(--rose-pale); color: var(--rose-dark); }.login-live-notice > span { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--rose); color: #fff; font-size: 10px; font-weight: 850; }.login-live-notice p { margin: 0; font-size: 11px; font-weight: 700; }.login-live-notice button { margin-left: auto; border: 0; background: transparent; color: var(--rose-dark); font-size: 18px; cursor: pointer; }
.certificate-guide { margin-top: 50px; padding: 34px; border: 1px solid #e0e2e5; border-radius: 14px; background: #fff; }.certificate-guide-title { display: flex; gap: 14px; align-items: center; }.certificate-guide-title > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: var(--rose-pale); color: var(--rose-dark); font-weight: 850; }.certificate-guide h2 { margin: 0; font-size: 19px; }.certificate-guide-title p { margin: 5px 0 0; color: #77818d; font-size: 10px; }.certificate-guide-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 30px; }.certificate-guide-grid article { display: grid; grid-template-columns: 32px 1fr; gap: 10px; }.certificate-guide-grid article > span { color: var(--rose); font-size: 9px; font-weight: 850; }.certificate-guide-grid h3 { margin: 0 0 8px; font-size: 12px; }.certificate-guide-grid p { margin: 0; color: #737d89; font-size: 10px; line-height: 1.65; }
.login-service-note { margin-top: 18px; padding: 28px 32px; border-radius: 12px; background: #eef1f5; }.login-service-note > strong { font-size: 13px; }.login-service-note ul { list-style: none; padding: 0; margin: 16px 0 10px; }.login-service-note li { padding: 6px 0; color: #5f6b79; font-size: 10px; }.login-service-note li > span { display: inline-flex; width: 110px; color: var(--rose-dark); font-weight: 800; }.login-service-note > p { margin: 10px 0 0; padding-top: 12px; border-top: 1px solid #d9dde3; color: #87909a; font-size: 9px; }.login-contact { margin-top: 22px; display: flex; justify-content: center; align-items: center; gap: 18px; color: #6f7986; font-size: 10px; }.login-contact p { margin: 0; }.login-contact a { color: var(--rose-dark); font-weight: 750; }.login-footer nav { display: flex; gap: 8px; }.login-footer a { color: #8e9aaa; }

@media (max-width: 1120px) { .login-content { margin-left: 30px; margin-right: 30px; } }

@media (max-width: 780px) {
  .login-header-nav a:first-child { display: none; }.login-header-nav { gap: 12px; }.login-hero { min-height: 210px; padding: 50px 24px; align-items: flex-end; }.login-breadcrumb { display: none; }.login-content { margin: 0; padding: 35px 20px 70px; }.login-stage-notice { align-items: flex-start; }.login-methods { grid-template-columns: 1fr; }.login-methods > article { min-height: auto; padding: 29px 24px; }.certificate-visual { margin-top: 34px; }.general-login-card .login-card-label { margin-bottom: 34px; }.certificate-guide { padding: 25px 22px; }.certificate-guide-grid { grid-template-columns: 1fr; gap: 22px; }.login-service-note { padding: 24px 20px; }.login-service-note li > span { width: auto; display: block; margin-bottom: 3px; }.login-contact { flex-direction: column; gap: 7px; }.login-footer nav { display: flex; }
}

/* Registration */
.registration-page { min-height: 100vh; background: #f7f7f5; }.registration-hero { min-height: 220px; padding: 58px max(24px, calc((100% - 1080px)/2)); display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; background: linear-gradient(125deg, #fff 0%, #fff 64%, #f7e8ee 100%); border-bottom: 1px solid #e0e2e5; position: relative; overflow: hidden; }.registration-hero:after { content: "+"; position: absolute; right: 4vw; top: -100px; color: rgba(190,87,123,.045); font-size: 340px; line-height: 1; font-weight: 300; }.registration-hero > div { position: relative; z-index: 1; }.registration-hero h1 { margin: 0; font-size: clamp(42px, 4.5vw, 62px); letter-spacing: -.055em; }.registration-hero > div > p:last-child { margin: 14px 0 0; color: #6d7785; font-size: 13px; }.registration-breadcrumb { display: flex; align-items: center; gap: 9px; color: #8a939e; font-size: 10px; }.registration-breadcrumb strong { color: var(--rose-dark); }
.registration-content { max-width: 1080px; margin: auto; padding: 50px 0 100px; }.registration-steps { list-style: none; padding: 0; margin: 0 0 20px; display: grid; grid-template-columns: repeat(3, 1fr); background: #fff; border: 1px solid #e0e2e5; border-radius: 12px; overflow: hidden; }.registration-steps li { min-height: 92px; padding: 22px 28px; display: flex; align-items: center; gap: 14px; color: #929aa5; position: relative; }.registration-steps li + li { border-left: 1px solid #e5e7e9; }.registration-steps li > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: #eef0f2; color: #88919c; font-size: 10px; font-weight: 850; }.registration-steps li div { display: flex; flex-direction: column; gap: 4px; }.registration-steps small { font-size: 8px; letter-spacing: .1em; }.registration-steps strong { font-size: 13px; }.registration-steps li.active { background: var(--navy); color: #fff; }.registration-steps li.active > span { background: var(--rose); color: #fff; }.registration-steps li.complete > span { background: #e5f4ed; color: #368060; }
.registration-demo-note { display: flex; align-items: center; gap: 13px; margin-bottom: 38px; padding: 13px 17px; border: 1px solid #ead2db; border-radius: 8px; background: #fff9fb; }.registration-demo-note > span { width: 22px; height: 22px; flex: 0 0 22px; display: grid; place-items: center; border-radius: 50%; background: var(--rose-pale); color: var(--rose-dark); font-size: 10px; font-weight: 850; }.registration-demo-note p { margin: 0; color: #776671; font-size: 10px; line-height: 1.6; }.registration-demo-note strong { color: var(--rose-dark); }.registration-demo-note.live { border-color: #bfe0cf; background: #f5fcf8; }.registration-demo-note.live > span { background: #dff2e8; color: #2f7d5b; }.registration-demo-note.live strong { color: #2f7657; }
.registration-title { margin-bottom: 28px; }.registration-title > p { margin: 0 0 9px; color: var(--rose-dark); font-size: 9px; font-weight: 850; letter-spacing: .12em; }.registration-title h2 { margin: 0 0 10px; font-size: 30px; letter-spacing: -.04em; }.registration-title > span { color: #747e8b; font-size: 11px; }
.agree-all { min-height: 78px; padding: 18px 22px; display: flex; align-items: center; gap: 14px; border-radius: 11px; background: var(--navy); color: #fff; cursor: pointer; }.agree-all input, .agreement-card-head input { position: absolute; opacity: 0; pointer-events: none; }.custom-check { width: 27px; height: 27px; flex: 0 0 27px; display: grid; place-items: center; border: 1px solid #95a1b3; border-radius: 7px; color: transparent; font-size: 11px; }.agree-all input:checked + .custom-check, .agreement-card-head input:checked + .custom-check { border-color: var(--rose); background: var(--rose); color: #fff; }.agree-all > div { display: flex; flex-direction: column; gap: 5px; }.agree-all strong { font-size: 14px; }.agree-all small { color: #9faabc; font-size: 9px; }
.agreement-card { margin-top: 14px; border: 1px solid #dfe2e5; border-radius: 11px; background: #fff; overflow: hidden; }.agreement-card-head { min-height: 62px; padding: 15px 20px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #e5e7e9; }.agreement-card-head label { display: flex; align-items: center; gap: 11px; cursor: pointer; }.agreement-card-head .custom-check { width: 24px; height: 24px; flex-basis: 24px; border-color: #c4c9cf; }.agreement-card-head strong { font-size: 12px; }.agreement-card-head b { padding: 4px 7px; border-radius: 4px; background: var(--rose-pale); color: var(--rose-dark); font-size: 8px; }.agreement-card-head b.optional { background: #eef1f4; color: #6f7986; }.agreement-card-head > a { color: var(--rose-dark); font-size: 9px; font-weight: 750; }
.agreement-summary { max-height: 190px; overflow-y: auto; padding: 20px; background: #f8f8f7; }.agreement-summary h3 { margin: 0 0 10px; font-size: 12px; }.agreement-summary p, .agreement-summary li { color: #707a87; font-size: 10px; line-height: 1.7; }.agreement-summary p { margin: 0 0 12px; }.agreement-summary ul { margin: 0; padding-left: 18px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px 20px; }
.consent-table { margin: 18px; border: 1px solid #e1e3e6; border-radius: 8px; overflow: hidden; }.consent-table > div { display: grid; grid-template-columns: 155px 1fr; }.consent-table > div + div { border-top: 1px solid #e1e3e6; }.consent-table strong, .consent-table span { padding: 13px 15px; font-size: 10px; line-height: 1.55; }.consent-table strong { background: #f2f3f4; color: #3f4a58; }.consent-table span { color: #697481; }.consent-caption { margin: -4px 18px 18px; color: #87909b; font-size: 9px; }.marketing-channels { margin: 0 18px 18px; padding: 13px 15px; display: flex; align-items: center; gap: 22px; border-radius: 8px; background: #f5f6f7; color: #616c79; font-size: 10px; }.marketing-channels > span { font-weight: 800; }.marketing-channels label { display: flex; align-items: center; gap: 6px; }.marketing-channels input { accent-color: var(--rose); }
.registration-actions { display: flex; justify-content: center; gap: 9px; margin-top: 34px; }.registration-actions .button { min-width: 150px; box-shadow: none; }.registration-actions .button:disabled { background: #c7cbd0; color: #f4f4f4; cursor: not-allowed; transform: none; }
.member-info-stage, .agreement-stage { max-width: 880px; margin: auto; }.member-info-stage form { padding: 34px; border: 1px solid #e0e2e5; border-radius: 12px; background: #fff; }.member-info-stage fieldset { border: 0; padding: 0; margin: 0; }.member-info-stage fieldset + fieldset { margin-top: 32px; padding-top: 28px; border-top: 1px solid #e5e7e9; }.member-info-stage legend { margin-bottom: 20px; color: #303b49; font-size: 13px; font-weight: 800; }.registration-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }.registration-form-grid label > span { display: block; margin-bottom: 8px; color: #4a5563; font-size: 10px; font-weight: 750; }.registration-form-grid label b { color: var(--rose-dark); font-size: 8px; }.registration-form-grid input, .registration-form-grid select { width: 100%; height: 47px; padding: 0 13px; border: 1px solid #dce0e3; border-radius: 7px; background: #fff; color: #333e4c; outline: none; font-size: 11px; }.registration-form-grid input:focus, .registration-form-grid select:focus { border-color: var(--rose); box-shadow: 0 0 0 3px var(--rose-pale); }.registration-form-notice { padding: 12px 15px; margin: 22px 0 0; border-radius: 7px; background: var(--rose-pale); color: var(--rose-dark); font-size: 10px; font-weight: 750; }.registration-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }.registration-security-note { margin-top: 24px; padding: 18px; border: 1px solid #dce3eb; border-radius: 9px; background: #f4f7fa; }.registration-security-note strong { color: #354455; font-size: 11px; }.registration-security-note p { margin: 7px 0 0; color: #6c7886; font-size: 10px; line-height: 1.7; }
.registration-complete { max-width: 720px; margin: auto; padding: 65px 35px; border: 1px solid #e0e2e5; border-radius: 16px; background: #fff; text-align: center; }.complete-mark { width: 72px; height: 72px; margin: auto; display: grid; place-items: center; border-radius: 50%; background: #e6f5ed; color: #3d8a68; font-size: 26px; font-weight: 850; }.registration-complete .eyebrow { justify-content: center; margin-top: 28px; }.registration-complete h2 { margin: 0; font-size: 36px; line-height: 1.25; letter-spacing: -.05em; }.registration-complete > p:not(.eyebrow) { color: #717b88; font-size: 11px; line-height: 1.8; }.registration-complete > div { margin-top: 28px; display: flex; justify-content: center; gap: 9px; }.registration-complete .button { box-shadow: none; }.registration-footer nav { display: flex; gap: 8px; }.registration-footer a { color: #8e9aaa; }

@media (max-width: 1120px) { .registration-content { margin-left: 30px; margin-right: 30px; } }

@media (max-width: 780px) {
  .registration-hero { min-height: 190px; padding: 45px 24px; }.registration-breadcrumb { display: none; }.registration-content { margin: 0; padding: 30px 20px 70px; }.registration-steps li { min-height: 74px; padding: 14px 10px; gap: 7px; }.registration-steps li > span { width: 28px; height: 28px; flex: 0 0 28px; }.registration-steps small { display: none; }.registration-steps strong { font-size: 10px; }.registration-demo-note { align-items: flex-start; }.registration-title h2 { font-size: 25px; }.agree-all { padding: 16px; }.agreement-card-head { align-items: flex-start; }.agreement-card-head label { flex-wrap: wrap; }.agreement-summary ul { grid-template-columns: 1fr; }.consent-table > div { grid-template-columns: 1fr; }.consent-table strong { border-bottom: 1px solid #e1e3e6; }.marketing-channels { align-items: flex-start; flex-wrap: wrap; gap: 12px 18px; }.marketing-channels > span { flex-basis: 100%; }.registration-actions { flex-direction: column; }.registration-actions .button { width: 100%; }.member-info-stage form { padding: 25px 20px; }.registration-form-grid { grid-template-columns: 1fr; }.registration-complete { padding: 45px 22px; }.registration-complete h2 { font-size: 30px; }.registration-complete > div { flex-direction: column; }.registration-footer nav { display: flex; }
}

/* Member administration */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }.admin-members-page { min-height: 100vh; background: #f2f4f6; }.admin-header { height: 74px; padding: 0 34px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #dfe3e8; background: #fff; }.admin-header > div { display: flex; align-items: center; gap: 18px; color: #66717e; font-size: 10px; }.admin-header > div a { padding: 8px 11px; border: 1px solid #d8dde3; border-radius: 6px; font-weight: 750; }.admin-shell { min-height: calc(100vh - 74px); display: grid; grid-template-columns: 225px 1fr; }.admin-sidebar { padding: 34px 22px; background: #15243f; color: #fff; }.admin-sidebar > p { margin: 0 10px 24px; color: #8f9cae; font-size: 8px; font-weight: 850; letter-spacing: .14em; }.admin-sidebar nav { display: grid; gap: 5px; }.admin-sidebar nav a { padding: 13px 14px; border-radius: 7px; color: #aeb9c8; font-size: 11px; font-weight: 700; }.admin-sidebar nav a.active, .admin-sidebar nav a:hover { background: rgba(255,255,255,.1); color: #fff; }.admin-sidebar > div { margin-top: 45px; padding: 16px; border-radius: 8px; background: rgba(255,255,255,.06); }.admin-sidebar > div strong { color: #f0b2c6; font-size: 9px; }.admin-sidebar > div p { margin: 8px 0 0; color: #8f9cad; font-size: 8px; line-height: 1.7; }.admin-main { min-width: 0; padding: 48px clamp(24px, 5vw, 70px) 80px; }.admin-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }.admin-title p { margin: 0 0 8px; color: var(--rose-dark); font-size: 8px; font-weight: 850; letter-spacing: .13em; }.admin-title h1 { margin: 0; font-size: 38px; letter-spacing: -.05em; }.admin-title > div > span { display: block; margin-top: 9px; color: #717c89; font-size: 11px; }.admin-title .button { min-height: 42px; padding: 0 17px; box-shadow: none; }.admin-stats { margin-top: 35px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }.admin-stats article { min-height: 108px; padding: 20px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid #dfe3e7; border-radius: 10px; background: #fff; }.admin-stats span { color: #74808d; font-size: 9px; font-weight: 700; }.admin-stats strong { font-size: 29px; }.admin-member-panel { margin-top: 18px; border: 1px solid #dfe3e7; border-radius: 11px; background: #fff; overflow: hidden; }.admin-filters { padding: 17px; display: flex; align-items: center; gap: 9px; border-bottom: 1px solid #e6e9ec; }.admin-filters input, .admin-filters select { height: 39px; padding: 0 12px; border: 1px solid #d9dee3; border-radius: 6px; background: #fff; color: #3e4a58; outline: none; font-size: 10px; }.admin-filters input { width: 280px; }.admin-filters input:focus, .admin-filters select:focus { border-color: var(--rose); box-shadow: 0 0 0 3px var(--rose-pale); }.admin-filters > span { margin-left: auto; color: #7a8591; font-size: 9px; }.admin-notice { margin: 0; padding: 12px 18px; border-bottom: 1px solid #e3d6dc; background: #fff7fa; color: var(--rose-dark); font-size: 10px; font-weight: 700; }.admin-table-wrap { overflow-x: auto; }.admin-member-table { width: 100%; min-width: 930px; border-collapse: collapse; }.admin-member-table th { padding: 13px 14px; background: #f6f7f8; color: #717c89; font-size: 8px; font-weight: 800; text-align: left; white-space: nowrap; }.admin-member-table td { padding: 15px 14px; border-top: 1px solid #eceef0; color: #586473; font-size: 9px; vertical-align: middle; }.admin-member-table td:first-child strong { display: block; color: #2f3a48; font-size: 11px; }.admin-member-table td:first-child span { display: block; margin-top: 4px; color: #7e8894; }.admin-member-table td select { height: 32px; padding: 0 8px; border: 1px solid #d7dce1; border-radius: 5px; background: #fff; color: #4a5664; font-size: 9px; }.member-status { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 8px; font-weight: 850; white-space: nowrap; }.member-status.pending { background: #fff2d8; color: #90661c; }.member-status.active { background: #e5f4ed; color: #2e7b59; }.member-status.suspended { background: #f9e7ec; color: #9c3f61; }.member-status.withdrawn { background: #eceef0; color: #747e89; }.consent-on { color: #3b7f62; }.consent-off { color: #8a929b; }.admin-empty { padding: 55px !important; text-align: center; color: #89939e !important; }.admin-access-denied { min-height: 100vh; padding: 30px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #f5f6f7; text-align: center; }.admin-access-denied > span { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 50%; background: var(--rose-pale); color: var(--rose-dark); font-size: 23px; font-weight: 850; }.admin-access-denied h1 { margin: 24px 0 10px; font-size: 32px; }.admin-access-denied p { margin: 0 0 25px; color: #707b88; font-size: 12px; }

@media (max-width: 900px) { .admin-shell { grid-template-columns: 1fr; }.admin-sidebar { padding: 14px 20px; }.admin-sidebar > p, .admin-sidebar > div { display: none; }.admin-sidebar nav { display: flex; overflow-x: auto; }.admin-sidebar nav a { white-space: nowrap; }.admin-stats { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 600px) { .admin-header { padding: 0 18px; }.admin-header .brand small { display: none; }.admin-header > div > span { display: none; }.admin-main { padding: 35px 16px 60px; }.admin-title { align-items: flex-start; flex-direction: column; }.admin-title .button { width: 100%; }.admin-stats { grid-template-columns: 1fr 1fr; }.admin-filters { align-items: stretch; flex-direction: column; }.admin-filters input, .admin-filters label, .admin-filters select { width: 100%; }.admin-filters > span { margin-left: 0; }.admin-member-panel { border-radius: 8px; } }

/* Test checkout and payment results */
.payment-page, .payment-result-page { min-height: 100vh; background: #f4f5f7; }
.payment-header { height: 78px; padding: 0 clamp(24px, 5vw, 78px); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #dfe3e7; background: #fff; }
.payment-header nav { display: flex; gap: 24px; align-items: center; }.payment-header nav a, .payment-header > a:not(.brand) { color: #64707e; font-size: 11px; font-weight: 750; }
.payment-hero { min-height: 315px; padding: 62px max(24px, calc((100% - 1120px)/2)); display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; background: linear-gradient(125deg, #15243f, #0c1729); color: #fff; position: relative; overflow: hidden; }
.payment-hero:after { content: "₩"; position: absolute; right: 5vw; top: -85px; color: rgba(255,255,255,.035); font-size: 330px; font-weight: 800; }.payment-hero > * { position: relative; z-index: 1; }
.payment-hero h1 { margin: 0; font-size: clamp(50px, 5vw, 72px); letter-spacing: -.06em; }.payment-hero > div:first-child > p:last-child { margin: 17px 0 0; color: #a9b4c4; font-size: 12px; }
.test-mode-card { width: min(335px, 100%); padding: 23px; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; background: rgba(255,255,255,.06); }.test-mode-card > span { color: #f0a9c0; font-size: 8px; font-weight: 850; letter-spacing: .15em; }.test-mode-card strong { display: block; margin-top: 10px; font-size: 17px; }.test-mode-card p { margin: 7px 0 0; color: #9eabba; font-size: 9px; }
.checkout-shell { max-width: 1120px; margin: auto; padding: 55px 0 100px; display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 22px; align-items: start; }.checkout-form, .checkout-summary { border: 1px solid #dfe3e7; border-radius: 14px; background: #fff; }.checkout-form { padding: 38px; }.checkout-section-title { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: start; }.checkout-section-title + .test-course-list, .checkout-section-title + .checkout-fields { margin-top: 20px; }.checkout-section-title:not(:first-child) { margin-top: 44px; padding-top: 36px; border-top: 1px solid #e7e9ec; }.checkout-section-title > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; background: var(--rose-pale); color: var(--rose-dark); font-size: 9px; font-weight: 850; }.checkout-section-title h2 { margin: 0; font-size: 20px; letter-spacing: -.03em; }.checkout-section-title p { margin: 7px 0 0; color: #7a8490; font-size: 10px; }
.test-course-list { display: grid; gap: 10px; }.test-course-list label { min-height: 92px; padding: 18px; display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; border: 1px solid #dfe3e7; border-radius: 10px; cursor: pointer; transition: border-color .2s, background .2s; }.test-course-list label.selected { border-color: var(--rose); background: #fff9fb; box-shadow: inset 0 0 0 1px var(--rose); }.test-course-list input { accent-color: var(--rose); }.test-course-list label > span { display: flex; flex-direction: column; gap: 5px; }.test-course-list b { width: fit-content; padding: 3px 5px; border-radius: 4px; background: var(--rose-pale); color: var(--rose-dark); font-size: 7px; }.test-course-list strong { font-size: 13px; }.test-course-list small { color: #7a8491; font-size: 9px; }.test-course-list em { color: #263241; font-size: 14px; font-style: normal; font-weight: 800; }
.checkout-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.checkout-fields label { color: #4c5866; font-size: 10px; font-weight: 750; }.checkout-fields input { width: 100%; height: 48px; margin-top: 8px; padding: 0 13px; border: 1px solid #d9dee3; border-radius: 7px; outline: none; color: #34404e; font-size: 11px; }.checkout-fields input:focus { border-color: var(--rose); box-shadow: 0 0 0 3px var(--rose-pale); }.payment-agreement { margin-top: 24px; display: flex; align-items: flex-start; gap: 9px; color: #6d7885; font-size: 9px; line-height: 1.6; cursor: pointer; }.payment-agreement input { margin-top: 2px; accent-color: var(--rose); }.payment-error { margin: 16px 0 0; padding: 12px 14px; border-radius: 7px; background: #fff0f3; color: #a03f5e; font-size: 10px; font-weight: 700; }.payment-submit { width: 100%; min-height: 54px; margin-top: 22px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; border: 0; border-radius: 8px; background: var(--rose); color: #fff; cursor: pointer; font-size: 13px; font-weight: 800; }.payment-submit:disabled { background: #b8bec6; cursor: not-allowed; }.payment-submit b { font-size: 17px; }
.checkout-summary { position: sticky; top: 22px; padding: 28px; }.checkout-summary > p { margin: 0 0 16px; color: var(--rose-dark); font-size: 8px; font-weight: 850; letter-spacing: .13em; }.checkout-summary h2 { margin: 0; font-size: 21px; line-height: 1.35; letter-spacing: -.035em; }.checkout-summary > span { display: block; margin-top: 10px; color: #737e8b; font-size: 10px; line-height: 1.6; }.checkout-summary dl { margin: 27px 0 0; padding: 19px 0; border-top: 1px solid #e4e7e9; border-bottom: 1px solid #e4e7e9; }.checkout-summary dl div { display: flex; justify-content: space-between; gap: 18px; color: #6e7986; font-size: 9px; }.checkout-summary dl div + div { margin-top: 13px; }.checkout-summary dl div:last-child { padding-top: 14px; border-top: 1px dashed #d9dde2; color: #253140; font-weight: 850; }.checkout-summary dt, .checkout-summary dd { margin: 0; }.checkout-security { margin-top: 20px; padding: 14px; display: grid; grid-template-columns: 24px 1fr; gap: 10px; border-radius: 8px; background: #eef6f2; }.checkout-security > b { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; background: #d7ede2; color: #2f7c5a; font-size: 9px; }.checkout-security p { margin: 0; }.checkout-security strong, .checkout-security span { display: block; }.checkout-security strong { color: #315e4a; font-size: 9px; }.checkout-security span { margin-top: 4px; color: #5f7b6d; font-size: 8px; line-height: 1.55; }.checkout-summary > a { display: inline-block; margin-top: 18px; color: var(--rose-dark); font-size: 9px; font-weight: 800; }
.payment-result-page { display: flex; flex-direction: column; }.payment-result-card { width: min(680px, calc(100% - 40px)); margin: 80px auto; padding: 64px; border: 1px solid #dce2e6; border-radius: 18px; background: #fff; text-align: center; box-shadow: 0 25px 65px rgba(25,32,43,.07); }.result-mark { width: 72px; height: 72px; margin: auto; display: grid; place-items: center; border-radius: 50%; background: #e2f3ea; color: #347f5e; font-size: 27px; font-weight: 850; }.payment-result-card.failed .result-mark { background: var(--rose-pale); color: var(--rose-dark); }.result-mark.loading { color: var(--rose-dark); background: var(--rose-pale); letter-spacing: 3px; }.payment-result-card .eyebrow { justify-content: center; margin-top: 28px; }.payment-result-card h1 { margin: 0; font-size: 35px; letter-spacing: -.05em; }.payment-result-card > p:not(.eyebrow) { margin: 14px auto 0; color: #707b88; font-size: 11px; line-height: 1.75; }.payment-result-card > small { display: block; margin-top: 12px; color: #8a929c; }.payment-result-card dl { margin: 30px 0 0; padding: 8px 22px; border-radius: 10px; background: #f5f6f7; text-align: left; }.payment-result-card dl div { padding: 13px 0; display: grid; grid-template-columns: 110px 1fr; gap: 18px; border-bottom: 1px solid #e2e5e8; }.payment-result-card dl div:last-child { border-bottom: 0; }.payment-result-card dt { color: #7a8490; font-size: 9px; }.payment-result-card dd { margin: 0; color: #33404e; font-size: 10px; font-weight: 750; word-break: break-all; }.result-actions { margin-top: 30px; display: flex; justify-content: center; gap: 9px; }.result-actions .button { min-height: 44px; box-shadow: none; }
.admin-payment-table td:nth-child(2) strong, .admin-payment-table td:nth-child(4) strong { display: block; color: #364250; font-size: 10px; }.admin-payment-table td:nth-child(2) span, .admin-payment-table td:nth-child(4) span { display: block; margin-top: 4px; color: #838c96; font-size: 8px; }.payment-status { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 8px; font-weight: 850; white-space: nowrap; }.payment-status.done { background: #e5f4ed; color: #2e7b59; }.payment-status.cancelled { background: #f5e8ed; color: #9c3f61; }.admin-cancel-button { min-height: 32px; padding: 0 10px; border: 1px solid #d8adb9; border-radius: 5px; background: #fff; color: var(--rose-dark); font-size: 8px; font-weight: 800; cursor: pointer; }.admin-cancel-button:disabled { border-color: #dfe2e5; color: #a1a8b0; background: #f3f4f5; cursor: not-allowed; }

@media (max-width: 1160px) { .checkout-shell { margin-left: 28px; margin-right: 28px; } }
@media (max-width: 780px) { .payment-header { height: 68px; padding: 0 20px; }.payment-header nav a:first-child { display: none; }.payment-hero { min-height: auto; padding: 52px 24px; flex-direction: column; align-items: stretch; gap: 30px; }.payment-hero h1 { font-size: 48px; }.checkout-shell { margin: 0; padding: 28px 20px 70px; grid-template-columns: 1fr; }.checkout-form { padding: 27px 20px; }.checkout-summary { position: static; }.checkout-fields { grid-template-columns: 1fr; }.test-course-list label { grid-template-columns: auto 1fr; }.test-course-list em { grid-column: 2; }.payment-result-card { margin: 40px auto; padding: 46px 23px; }.payment-result-card h1 { font-size: 29px; }.payment-result-card dl { padding-left: 15px; padding-right: 15px; }.payment-result-card dl div { grid-template-columns: 85px 1fr; }.result-actions { flex-direction: column; }.result-actions .button { width: 100%; } }

/* Shared business information footer */
.business-footer { margin-top: auto; padding: 0 clamp(24px, 6vw, 90px) 38px; background: #0d1729; color: #fff; }
.business-footer-links { max-width: 1190px; min-height: 62px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 28px; border-bottom: 1px solid rgba(255,255,255,.12); }
.business-footer-links nav, .business-footer-links > div { display: flex; align-items: center; flex-wrap: wrap; gap: 0; }
.business-footer-links a { color: #b3bdca; font-size: 10px; font-weight: 700; transition: color .2s; }.business-footer-links a:hover { color: #fff; }
.business-footer-links i { margin: 0 10px; color: #4f5d71; font-style: normal; font-size: 9px; }
.business-footer-inner { max-width: 1190px; margin: auto; padding-top: 34px; display: grid; grid-template-columns: 205px minmax(0, 1fr); gap: 42px; align-items: center; }
.business-footer-logo { width: 176px; min-height: 132px; padding: 11px; display: grid; place-items: center; border-radius: 14px; background: #fff; box-shadow: 0 14px 35px rgba(0,0,0,.2); }
.business-footer-logo img { display: block; width: 150px; height: auto; }
.business-footer-copy { min-width: 0; }.business-footer-copy p { margin: 0; color: #8f9bad; font-size: 10px; line-height: 1.9; word-break: keep-all; }.business-footer-copy p + p { margin-top: 2px; }
.business-footer-copy strong { color: #d9dfe8; font-size: 11px; }.business-footer-copy a { color: #aeb9c8; }
.business-footer-copy span + span:before { content: "|"; margin: 0 9px; color: #4f5d71; }
.business-footer-copy .business-footer-copyright { margin-top: 14px; padding-top: 13px; border-top: 1px solid rgba(255,255,255,.08); color: #69778b; font-size: 9px; letter-spacing: .01em; }

@media (max-width: 780px) {
  .business-footer { padding: 0 22px 30px; }.business-footer-links { padding: 18px 0; flex-direction: column; align-items: flex-start; gap: 12px; }.business-footer-links nav { row-gap: 8px; }
  .business-footer-inner { padding-top: 28px; grid-template-columns: 1fr; gap: 24px; }.business-footer-logo { width: 145px; min-height: 110px; padding: 9px; }.business-footer-logo img { width: 123px; }
  .business-footer-copy p { line-height: 1.75; }.business-footer-copy span { display: block; }.business-footer-copy span + span:before { content: none; }.business-footer-copy p + p { margin-top: 8px; }
}

/* Website publishing guide */
.publishing-page { min-height: 100vh; background: #f6f3f1; color: var(--navy); }.publishing-header { background: #fff; }
.publishing-hero { min-height: 390px; padding: 82px clamp(24px, 8vw, 130px); display: flex; align-items: center; justify-content: space-between; gap: 60px; background: linear-gradient(135deg, #80172f 0%, #a9002a 52%, #301526 100%); color: #fff; }
.publishing-hero > div { max-width: 720px; }.publishing-hero h1 { margin: 14px 0 16px; font-size: clamp(42px, 6vw, 72px); letter-spacing: -.065em; }.publishing-hero > div > p:last-child { max-width: 620px; color: #efdce2; font-size: 14px; line-height: 1.8; }.publishing-hero aside { min-width: 290px; padding: 28px; border: 1px solid rgba(255,255,255,.24); border-radius: 14px; background: rgba(14,13,25,.24); backdrop-filter: blur(10px); }.publishing-hero aside span,.publishing-hero aside small { display: block; color: #e8bdc9; font-size: 10px; }.publishing-hero aside strong { display: block; margin: 10px 0 8px; font-size: 18px; }
.publishing-content { max-width: 1190px; margin: auto; padding: 70px 24px 100px; }.publishing-alert { padding: 25px 28px; display: flex; gap: 16px; align-items: flex-start; border: 1px solid #e3c5ce; border-radius: 13px; background: #fff7f9; }.publishing-alert > span { width: 28px; height: 28px; flex: 0 0 28px; display: grid; place-items: center; border-radius: 50%; background: var(--rose-dark); color: #fff; font-weight: 850; }.publishing-alert strong { font-size: 13px; }.publishing-alert p { margin: 7px 0 0; color: #75656b; font-size: 11px; line-height: 1.7; }
.publishing-heading { margin: 72px 0 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: end; }.publishing-heading .eyebrow { grid-column: 1 / -1; }.publishing-heading h2 { margin: 0; font-size: 38px; letter-spacing: -.05em; }.publishing-heading > p:last-child { margin: 0; color: #747b85; font-size: 11px; line-height: 1.7; }
.publishing-steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }.publishing-steps article { min-height: 150px; padding: 28px; display: grid; grid-template-columns: 48px 1fr; gap: 16px; border: 1px solid #e3dfdc; border-radius: 13px; background: #fff; }.publishing-steps article > span { color: var(--rose-dark); font-size: 12px; font-weight: 850; }.publishing-steps h3 { margin: 0 0 10px; font-size: 17px; }.publishing-steps p { margin: 0; color: #6e7580; font-size: 11px; line-height: 1.75; }
.domain-guide { margin-top: 65px; padding: 45px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 65px; border-radius: 16px; background: var(--navy); color: #fff; }.domain-guide h2 { margin: 12px 0 15px; font-size: 34px; }.domain-guide p:last-child { color: #a5afbd; font-size: 11px; line-height: 1.75; }.domain-guide dl { margin: 0; border-top: 1px solid rgba(255,255,255,.15); }.domain-guide dl div { padding: 16px 0; display: grid; grid-template-columns: 120px 1fr; border-bottom: 1px solid rgba(255,255,255,.12); }.domain-guide dt { color: #efa6be; font-size: 10px; font-weight: 800; }.domain-guide dd { margin: 0; color: #dfe4eb; font-size: 11px; }
.launch-gates { margin-top: 65px; display: grid; grid-template-columns: .7fr 1.3fr; gap: 60px; }.launch-gates h2 { margin: 12px 0 0; font-size: 32px; }.launch-gates ul { margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; list-style: none; }.launch-gates li { padding: 16px 17px 16px 42px; position: relative; border: 1px solid #e1ddda; border-radius: 10px; background: #fff; color: #5f6874; font-size: 10px; line-height: 1.5; }.launch-gates li:before { content: "✓"; position: absolute; left: 16px; color: var(--rose-dark); font-weight: 900; }
.publishing-cta { margin-top: 65px; padding: 30px 34px; display: flex; justify-content: space-between; align-items: center; gap: 28px; border-radius: 13px; background: #eee8e5; }.publishing-cta strong { font-size: 15px; }.publishing-cta p { margin: 7px 0 0; color: #747982; font-size: 10px; }.publishing-cta .button { flex: 0 0 auto; }

@media (max-width: 780px) {
  .publishing-hero { min-height: auto; padding: 58px 22px; flex-direction: column; align-items: flex-start; gap: 30px; }.publishing-hero aside { width: 100%; min-width: 0; }.publishing-content { padding: 45px 20px 70px; }.publishing-heading { margin-top: 50px; grid-template-columns: 1fr; }.publishing-heading .eyebrow { grid-column: auto; }.publishing-heading h2 { font-size: 30px; }.publishing-steps { grid-template-columns: 1fr; }.domain-guide { padding: 30px 24px; grid-template-columns: 1fr; gap: 25px; }.domain-guide dl div { grid-template-columns: 100px 1fr; }.launch-gates { grid-template-columns: 1fr; gap: 25px; }.launch-gates ul { grid-template-columns: 1fr; }.publishing-cta { align-items: flex-start; flex-direction: column; }
}

/* Readability scale: comfortable typography across the public site */
body { font-size: 16px; }
.announcement { min-height: 44px; font-size: 14px; }
.brand small { font-size: 12px; }
.nav a { font-size: 16px; }
.text-button, .account-link, .account-signup { font-size: 14px; }
.button { font-size: 16px; }
.student-toolbar-inner > strong { font-size: 12px; }
.student-service-links span { font-size: 13px; }
.student-service-links span small { font-size: 10px; }
.eyebrow { font-size: 13px; }
.hero-meta { font-size: 13px; }
.hero-meta strong { font-size: 19px; }
.ai-card-head { font-size: 12px; }
.chat-line { font-size: 15px; }
.bot-line p { font-size: 13px; }
.main-card button { font-size: 14px; }
.float-card span, .hero-wordmark-badge span { font-size: 10px; }
.float-card strong { font-size: 15px; }
.float-top i, .float-bottom small { font-size: 12px; }
.section-heading > p, .news-heading > div:last-child > p { font-size: 16px; }
.goal-card strong { font-size: 19px; }
.goal-card small, .goal-card i { font-size: 14px; }
.navigator-track-grid article > span, .navigator-track-grid article > small, .navigator-track-grid b { font-size: 12px; }
.navigator-track-grid p { font-size: 14px; }
.research-basis > strong, .research-basis a { font-size: 12px; }
.filters button { font-size: 14px; }
.category-badge, .support-badge, .special-badge { font-size: 12px; }
.course-card h3 { font-size: 23px; }
.course-card > p { font-size: 15px; }
.course-price small, .course-track, .course-details span { font-size: 12px; }
.course-card button, .more-button { font-size: 15px; }
.about-copy > p:not(.eyebrow) { font-size: 16px; }
.about-copy > a { font-size: 14px; }
.feature-list article > span { font-size: 13px; }
.feature-list h3 { font-size: 19px; }
.feature-list p { font-size: 14px; }
.news-heading a, .news-art b, .news-body > span { font-size: 13px; }
.news-body h3 { font-size: 21px; }
.news-body p { font-size: 15px; }
.news-body strong { font-size: 14px; }
.steps article > span { font-size: 12px; }
.steps h3 { font-size: 18px; }
.steps p, .guide-cta p { font-size: 14px; }
.support-intro { font-size: 15px; }
.faq-list summary { font-size: 17px; }
.faq-list details p { font-size: 15px; }
.notice-preview-heading > div:last-child > p { font-size: 15px; }
.notice-preview-heading a { font-size: 14px; }
.home-notice-list > a > span { font-size: 11px; }
.home-notice-list strong { font-size: 15px; }
.home-notice-list time { font-size: 12px; }
.home-support-grid strong { font-size: 14px; }
.home-support-grid small { font-size: 12px; }
.application-modal > p:not(.eyebrow), .application-modal label, .success-state p { font-size: 14px; }
.service-modal > p:not(.eyebrow), .service-notice strong, .service-notice span, .service-status-link { font-size: 14px; }
.account-tabs button, .account-tabs a, .account-modal > p:not(.eyebrow) { font-size: 14px; }

/* Secondary pages, forms and notices */
.policy-header nav a, .policy-home-link, .service-status-header nav > a:first-child,
.login-header-nav a, .login-header-nav button, .payment-header nav a,
.payment-header > a:not(.brand) { font-size: 14px; }
.policy-document p, .policy-document li, .policy-document dd,
.refund-table strong, .refund-table span, .privacy-data-grid p,
.security-list p, .cookie-purpose-grid p, .browser-grid p { font-size: 14px; }
.policy-document h2 { font-size: 20px; }
.policy-toc a, .related-policies span, .business-info dt,
.refund-contact-grid strong, .privacy-related-link, .rights-grid span,
.security-list span, .cookie-purpose-grid h3, .browser-grid h3 { font-size: 13px; }
.policy-footer, .business-footer-links a, .business-footer-copy p,
.business-footer-copy .business-footer-copyright { font-size: 12px; }
.business-footer-copy strong { font-size: 13px; }
.login-hero > div > p:last-child, .registration-hero > div > p:last-child { font-size: 15px; }
.login-breadcrumb, .registration-breadcrumb, .login-stage-notice p,
.login-card-label, .certificate-login-card li, .general-login-card form > label,
.general-login-card input:not([type="checkbox"]), .login-options,
.account-help-links button, .account-help-links a, .login-live-notice p,
.certificate-guide-title p, .certificate-guide-grid p, .login-service-note li,
.login-service-note > p, .login-contact { font-size: 13px; }
.certificate-login-card > p, .general-login-card > p { font-size: 15px; }
.registration-title > p, .registration-title > span, .agreement-summary p,
.agreement-summary li, .consent-table strong, .consent-table span,
.marketing-channels, .registration-form-grid label > span,
.registration-form-grid input, .registration-form-grid select,
.registration-form-notice, .registration-security-note p { font-size: 13px; }
.notice-hero > div > p:last-child, .notice-board-heading > p,
.notice-title small, .notice-detail p, .academic-schedule p,
.notice-contact p, .support-link-grid small { font-size: 14px; }
.notice-tabs button, .notice-search input, .notice-kind,
.notice-title b, .notice-row time, .support-link-grid strong { font-size: 13px; }
.publishing-hero > div > p:last-child { font-size: 16px; }
.publishing-hero aside span, .publishing-hero aside small,
.publishing-alert p, .publishing-heading > p:last-child,
.publishing-steps p, .domain-guide p:last-child,
.domain-guide dt, .domain-guide dd, .launch-gates li,
.publishing-cta p { font-size: 14px; }

@media (max-width: 1050px) {
  .nav a { font-size: 14px; }
  .account-link, .account-signup { font-size: 13px; }
}

@media (max-width: 780px) {
  .announcement { font-size: 12px; }
  .brand strong { font-size: 17px; }
  .brand small { font-size: 10px; }
  .nav a { font-size: 16px; }
  .mobile-account-actions button, .mobile-account-actions a { font-size: 14px; }
  .student-service-links span { font-size: 11px; }
  .student-service-links span small { font-size: 9px; }
  .hero-description { font-size: 17px; }
  .hero-meta { font-size: 12px; }
  .section-heading > p { font-size: 15px; }
  .section-heading h2, .guide-title h2, .support h2 { font-size: clamp(34px, 10vw, 42px); }
  .policy-document p, .policy-document li, .policy-document dd { font-size: 14px; }
  .business-footer-links a, .business-footer-copy p { font-size: 12px; }
}

/* Cybersecurity operations */
.security-page { min-height: 100vh; background: #f4f6f8; color: var(--navy); }
.security-header { background: #fff; }.security-header nav { display: flex; align-items: center; gap: 24px; }
.security-hero { min-height: 420px; padding: 82px max(24px, calc((100% - 1190px)/2)); display: flex; align-items: center; justify-content: space-between; gap: 70px; color: #fff; background: radial-gradient(circle at 82% 15%, rgba(72,172,143,.22), transparent 28%), linear-gradient(125deg, #0b1729, #142f46 62%, #153b43); }
.security-hero > div { max-width: 760px; }.security-hero h1 { margin: 12px 0 18px; font-size: clamp(48px, 6vw, 76px); letter-spacing: -.06em; }.security-hero > div > p:last-child { max-width: 650px; margin: 0; color: #bdcad6; font-size: 17px; line-height: 1.75; }
.security-hero aside { width: 350px; padding: 28px; border: 1px solid rgba(255,255,255,.16); border-radius: 15px; background: rgba(255,255,255,.07); }.security-hero aside span,.security-hero aside small { display: block; color: #9fcfc3; font-size: 13px; }.security-hero aside strong { display: block; margin: 12px 0 9px; color: #fff; font-size: 18px; line-height: 1.45; }
.security-content { max-width: 1190px; margin: auto; padding: 90px 24px 110px; }
.security-intro { display: grid; grid-template-columns: 1fr .85fr; gap: 80px; align-items: end; }.security-intro h2 { margin: 0; font-size: clamp(35px, 4vw, 52px); line-height: 1.2; letter-spacing: -.05em; }.security-intro > p { margin: 0 0 5px; color: #667483; font-size: 16px; line-height: 1.8; }
.security-control-grid { margin-top: 45px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }.security-control-grid article { min-height: 265px; padding: 28px; display: flex; flex-direction: column; border: 1px solid #dce2e7; border-radius: 14px; background: #fff; }.security-control-grid article > div { display: flex; align-items: center; justify-content: space-between; }.security-control-grid article > div > span { color: var(--rose-dark); font-size: 13px; font-weight: 850; letter-spacing: .1em; }.security-control-grid b { padding: 6px 9px; border-radius: 999px; background: #edf0f3; color: #677482; font-size: 11px; }.security-control-grid b.active { background: #def1e9; color: #2d765d; }.security-control-grid h3 { margin: auto 0 13px; font-size: 22px; letter-spacing: -.03em; }.security-control-grid p { margin: 0; color: #66727f; font-size: 14px; line-height: 1.75; }
.zero-trust-panel { margin-top: 70px; padding: 48px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; border-radius: 17px; color: #fff; background: #101f34; }.zero-trust-panel h2 { margin: 12px 0 0; font-size: 36px; line-height: 1.3; letter-spacing: -.045em; }.zero-trust-panel ol { margin: 0; padding: 0; list-style: none; }.zero-trust-panel li { padding: 18px 0; display: grid; grid-template-columns: 44px 1fr; gap: 14px; border-bottom: 1px solid rgba(255,255,255,.11); }.zero-trust-panel li:first-child { padding-top: 0; }.zero-trust-panel li:last-child { padding-bottom: 0; border-bottom: 0; }.zero-trust-panel li > span { color: #91cbbd; font-size: 12px; font-weight: 850; }.zero-trust-panel strong { font-size: 16px; }.zero-trust-panel li p { margin: 7px 0 0; color: #9eacba; font-size: 14px; line-height: 1.65; }
.security-schedule { margin-top: 70px; display: grid; grid-template-columns: .75fr 1.25fr; gap: 70px; }.security-schedule h2 { margin: 12px 0 15px; font-size: 36px; letter-spacing: -.045em; }.security-schedule > div > p:last-child { color: #677482; font-size: 14px; line-height: 1.75; }.security-schedule dl { margin: 0; border-top: 2px solid var(--navy); }.security-schedule dl div { padding: 18px 0; display: grid; grid-template-columns: 100px 1fr; border-bottom: 1px solid #d9dee3; }.security-schedule dt { color: var(--rose-dark); font-size: 14px; font-weight: 850; }.security-schedule dd { margin: 0; color: #596673; font-size: 14px; line-height: 1.6; }
.security-notice { margin-top: 65px; padding: 28px 30px; display: flex; gap: 17px; align-items: flex-start; border: 1px solid #e1cbd3; border-radius: 13px; background: #fff8fa; }.security-notice > span { width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--rose-dark); font-weight: 850; }.security-notice strong { font-size: 15px; }.security-notice p { margin: 8px 0 0; color: #71636a; font-size: 14px; line-height: 1.75; }

@media (max-width: 900px) {
  .security-control-grid { grid-template-columns: repeat(2, 1fr); }
  .security-intro, .zero-trust-panel, .security-schedule { grid-template-columns: 1fr; gap: 35px; }
}

@media (max-width: 780px) {
  .security-hero { min-height: auto; padding: 60px 22px; flex-direction: column; align-items: flex-start; gap: 35px; }.security-hero h1 { font-size: 47px; }.security-hero aside { width: 100%; }.security-content { padding: 65px 20px 80px; }.security-control-grid { grid-template-columns: 1fr; }.security-control-grid article { min-height: 225px; }.zero-trust-panel { padding: 32px 24px; }.zero-trust-panel h2,.security-schedule h2 { font-size: 31px; }.security-schedule dl div { grid-template-columns: 78px 1fr; }.security-notice { padding: 24px 20px; }
}

.security-event-table td:nth-child(3) strong,.security-event-table td:nth-child(3) span { display: block; }.security-event-table td:nth-child(3) span { margin-top: 4px; color: #7b8591; }.security-event-table code { color: #65717e; font-size: 11px; overflow-wrap: anywhere; }.security-event-kind { display: inline-flex; padding: 6px 9px; border-radius: 999px; background: #f8e8ee; color: #963b5c; font-size: 11px; font-weight: 800; white-space: nowrap; }.admin-security-footnote { margin: 18px 2px 0; color: #737f8c; font-size: 13px; line-height: 1.7; }
