/* /diagnosis/assets/diagnosis.css */
:root {
    --diag-ink: #14213a;
    --diag-deep: #0f192b;
    --diag-muted: #667288;
    --diag-soft: #f5f7fb;
    --diag-line: #dfe5ee;
    --diag-white: #fff;
    --diag-accent: #315ba8;
    --diag-radius-xl: 30px;
    --diag-radius-lg: 22px;
    --diag-shadow: 0 20px 60px rgba(20, 33, 58, .08);
}

.diagnosis-page { background: #fff; color: var(--diag-ink); }
.diagnosis-page-shell { width: min(1240px, calc(100% - 40px)); margin: 0 auto; padding: 20px 0 80px; }
.diagnosis-subnav { position: sticky; top: 72px; z-index: 20; display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-bottom: 18px; padding: 6px; border: 1px solid var(--diag-line); border-radius: 16px; background: rgba(255,255,255,.94); backdrop-filter: blur(14px); box-shadow: 0 10px 30px rgba(20,33,58,.05); }
.diagnosis-subnav a { min-height: 42px; display:flex; align-items:center; justify-content:center; padding: 0 12px; border-radius: 11px; color: var(--diag-muted); font-size: 13px; font-weight: 800; text-decoration:none; }
.diagnosis-subnav a.active { background: #eef3fb; color: var(--diag-accent); }

.diagnosis-hero, .diagnosis-detail-hero { display:grid; grid-template-columns: 1.08fr .92fr; gap: 42px; align-items:center; min-height: 520px; padding: 56px; border-radius: var(--diag-radius-xl); background: linear-gradient(135deg,#f7f9fc 0%,#eef2f8 100%); overflow:hidden; }
.diagnosis-kicker, .diagnosis-section-head > span, .diagnosis-policy-card span, .diagnosis-notice-box > div > span, .diagnosis-final-cta > div > span { display:inline-block; margin-bottom: 14px; color: var(--diag-accent); font-size: 10px; font-weight: 900; letter-spacing: .14em; }
.diagnosis-hero h1, .diagnosis-detail-hero h1 { margin:0 0 20px; color:var(--diag-ink); font-size: clamp(38px, 5vw, 62px); line-height:1.1; letter-spacing:-.06em; }
.diagnosis-hero h1 em, .diagnosis-detail-hero h1 em { color:var(--diag-accent); font-style:normal; }
.diagnosis-title-nowrap {
    display:block;
    max-width:100%;
    white-space:normal;
    overflow-wrap:break-word;
    word-break:keep-all;
}
.diagnosis-hero p, .diagnosis-detail-hero p { max-width: 700px; margin:0; color:var(--diag-muted); font-size:16px; line-height:1.85; word-break:keep-all; }
.diagnosis-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.diagnosis-button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; padding:0 20px; border-radius:14px; font-size:14px; font-weight:900; text-decoration:none; }
.diagnosis-button.primary { background:var(--diag-accent); color:#fff; box-shadow:0 12px 30px rgba(49,91,168,.22); }
.diagnosis-button.secondary { border:1px solid var(--diag-line); background:#fff; color:var(--diag-ink); }
.diagnosis-button.white { background:#fff; color:var(--diag-deep); }
.diagnosis-hero-note, .diagnosis-price-note { display:block; margin-top:16px; color:var(--diag-muted); font-size:12px; }
.diagnosis-price-note strong { color:var(--diag-accent); font-size:15px; }

.diagnosis-hero-visual { display:grid; grid-template-columns:1fr auto 1fr; gap:12px; align-items:center; }
.model-card { min-height:170px; display:flex; flex-direction:column; justify-content:center; padding:24px; border:1px solid rgba(20,33,58,.08); border-radius:22px; background:#fff; box-shadow:var(--diag-shadow); }
.model-card span { color:var(--diag-accent); font-size:12px; font-weight:900; }
.model-card strong { margin:8px 0; font-size:23px; }
.model-card small { color:var(--diag-muted); line-height:1.5; }
.model-card-esp { grid-column:1 / -1; min-height:140px; background:var(--diag-deep); color:#fff; }
.model-card-esp strong { color:#fff; }
.model-card-esp small { color:#cbd4e2; }
.model-plus,.model-arrow { font-weight:900; color:var(--diag-muted); }

.diagnosis-flow-visual, .diagnosis-combine-visual { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px; padding:28px; border-radius:24px; background:#fff; box-shadow:var(--diag-shadow); }
.diagnosis-flow-visual span, .diagnosis-combine-visual article { padding:18px; border:1px solid var(--diag-line); border-radius:16px; background:#f8fafc; font-weight:800; text-align:center; }
.diagnosis-flow-visual span.active, .diagnosis-combine-visual article.active { background:var(--diag-deep); color:#fff; }
.diagnosis-combine-visual article span { display:block; color:var(--diag-accent); font-size:11px; margin-bottom:6px; }
.diagnosis-combine-visual article.active span { color:#c7d5f2; }

.diagnosis-section { margin:84px 0; }
.diagnosis-section-head { max-width:760px; margin-bottom:28px; }
.diagnosis-section-head h2 { margin:0 0 12px; font-size:34px; line-height:1.25; letter-spacing:-.05em; }
.diagnosis-section-head p { margin:0; color:var(--diag-muted); line-height:1.8; }

.diagnosis-program-grid, .diagnosis-feature-grid, .diagnosis-result-grid, .trait-grid { display:grid; gap:16px; }
.diagnosis-program-grid { grid-template-columns:repeat(3,1fr); }
.diagnosis-feature-grid.four, .diagnosis-result-grid { grid-template-columns:repeat(4,1fr); }
.diagnosis-feature-grid.two { grid-template-columns:repeat(2,1fr); }
.trait-grid { grid-template-columns:repeat(3,1fr); }
.diagnosis-program-card, .diagnosis-feature-grid article, .diagnosis-result-grid article, .trait-grid article { padding:26px; border:1px solid var(--diag-line); border-radius:var(--diag-radius-lg); background:#fff; box-shadow:0 12px 32px rgba(20,33,58,.045); }
.diagnosis-program-card { min-height:390px; display:flex; flex-direction:column; }
.diagnosis-program-card.featured { background:var(--diag-deep); color:#fff; }
.program-code { color:var(--diag-accent); font-weight:900; }
.diagnosis-program-card h3, .diagnosis-feature-grid h3 { margin:18px 0 12px; font-size:24px; letter-spacing:-.04em; }
.diagnosis-program-card p, .diagnosis-feature-grid p, .diagnosis-result-grid p, .trait-grid p { color:var(--diag-muted); line-height:1.7; }
.diagnosis-program-card.featured p, .diagnosis-program-card.featured li { color:#cbd4e2; }
.diagnosis-program-card ul { display:grid; gap:9px; margin:20px 0 26px; padding:0; list-style:none; }
.diagnosis-program-card li::before { content:"•"; margin-right:8px; color:var(--diag-accent); }
.diagnosis-program-card a { margin-top:auto; color:var(--diag-accent); font-weight:900; text-decoration:none; }
.diagnosis-program-card.featured a { color:#fff; }

.diagnosis-process { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0; padding:0; list-style:none; }
.diagnosis-process li { min-height:200px; padding:22px; border:1px solid var(--diag-line); border-radius:20px; background:var(--diag-soft); }
.diagnosis-process b, .diagnosis-report-list b { color:var(--diag-accent); font-size:11px; }
.diagnosis-process strong { display:block; margin:22px 0 10px; font-size:18px; }
.diagnosis-process p { margin:0; color:var(--diag-muted); font-size:13px; line-height:1.65; }

.diagnosis-result-section, .diagnosis-report-section { margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); padding:82px max(20px, calc((100vw - 1240px)/2)); background:var(--diag-deep); color:#fff; }
.diagnosis-section-head.light h2 { color:#fff; }
.diagnosis-section-head.light p { color:#b9c4d5; }
.diagnosis-result-grid strong { display:block; margin:16px 0 8px; font-size:20px; color:var(--diag-ink); }
.diagnosis-result-grid article > span { color:var(--diag-accent); font-size:11px; font-weight:900; }
.diagnosis-result-grid p { color:var(--diag-muted); }

/* Dark result section only */
.diagnosis-result-section .diagnosis-result-grid article,
.diagnosis-report-section .diagnosis-result-grid article {
    border-color:rgba(255,255,255,.1);
    background:#17243b;
    color:#fff;
}
.diagnosis-result-section .diagnosis-result-grid article > span,
.diagnosis-report-section .diagnosis-result-grid article > span {
    color:#9fb4dd;
}
.diagnosis-result-section .diagnosis-result-grid strong,
.diagnosis-report-section .diagnosis-result-grid strong {
    color:#fff;
}
.diagnosis-result-section .diagnosis-result-grid p,
.diagnosis-report-section .diagnosis-result-grid p {
    color:#b9c4d5;
}

.diagnosis-report-layout { display:grid; grid-template-columns:.95fr 1.05fr; gap:18px; }
.diagnosis-report-main, .diagnosis-report-list article { padding:28px; border:1px solid rgba(255,255,255,.1); border-radius:22px; background:#17243b; }
.diagnosis-report-main span { color:#9fb4dd; font-size:11px; font-weight:900; }
.diagnosis-report-main h3 { margin:18px 0 12px; font-size:30px; letter-spacing:-.045em; }
.diagnosis-report-main p, .diagnosis-report-list p { color:#bcc7d7; line-height:1.75; }
.diagnosis-report-list { display:grid; gap:12px; }
.diagnosis-report-list strong { display:block; margin:8px 0; font-size:18px; }
.report-subject-fit { display:flex; justify-content:space-between; margin-top:24px; padding:16px; border-radius:14px; background:rgba(255,255,255,.07); }

.subject-code-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.subject-code-card { padding:22px; border:1px solid var(--diag-line); border-radius:22px; }
.subject-code-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.subject-code-head span { font-weight:900; }
.subject-code-head strong { color:var(--diag-muted); font-size:12px; }
.code-chip-list { display:grid; gap:8px; }
.code-chip-list div { display:grid; grid-template-columns:34px 1fr; align-items:center; gap:10px; padding:10px; border-radius:12px; background:var(--diag-soft); }

.code-chip-list b { display:flex; width:34px; height:34px; align-items:center; justify-content:center; border-radius:10px; background:#fff; color:var(--diag-accent); }

.alp-code-label {
    position: relative;
    min-width: 0;
    line-height: 1.45;
}

.alp-code-label.has-tooltip {
    width: fit-content;
    max-width: 100%;
    cursor: help;
    border-bottom: 1px dashed #a8b2c3;
    outline-offset: 3px;
}

.alp-code-label.has-tooltip::before,
.alp-code-label.has-tooltip::after {
    position: absolute;
    left: 50%;
    z-index: 30;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}

.alp-code-label.has-tooltip::before {
    content: attr(data-description);
    bottom: calc(100% + 11px);
    width: max-content;
    max-width: min(300px, 72vw);
    padding: 10px 12px;
    border-radius: 10px;
    background: var(--diag-deep);
    color: #fff;
    box-shadow: 0 10px 26px rgba(15, 25, 43, .18);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.6;
    white-space: normal;
    word-break: keep-all;
    text-align: left;
    transform: translate(-50%, 5px);
}

.alp-code-label.has-tooltip::after {
    content: "";
    bottom: calc(100% + 5px);
    width: 0;
    height: 0;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    border-top: 6px solid var(--diag-deep);
    transform: translate(-50%, 5px);
}

.alp-code-label.has-tooltip:hover::before,
.alp-code-label.has-tooltip:hover::after,
.alp-code-label.has-tooltip:focus-visible::before,
.alp-code-label.has-tooltip:focus-visible::after {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}


.trait-grid article span { color:var(--diag-accent); font-size:11px; font-weight:900; }
.trait-grid strong { display:block; margin:14px 0 8px; font-size:20px; }

.diagnosis-policy-card { display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; margin:84px 0; padding:34px; border:1px solid var(--diag-line); border-radius:26px; background:#f6f8fc; }
.diagnosis-policy-card h2 { margin:0 0 10px; font-size:28px; letter-spacing:-.045em; }
.diagnosis-policy-card p { margin:0; color:var(--diag-muted); line-height:1.75; }
.diagnosis-policy-card > strong { font-size:30px; color:var(--diag-accent); }

.diagnosis-notice-box { display:grid; grid-template-columns:1fr .8fr; gap:30px; padding:34px; border:1px solid #e6ddc8; border-radius:26px; background:#fbf8f1; }
.diagnosis-notice-box h2 { margin:0 0 12px; }
.diagnosis-notice-box p { color:var(--diag-muted); line-height:1.75; }
.diagnosis-notice-box ul { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.diagnosis-notice-box li { padding:14px; border-radius:12px; background:#fff; font-weight:800; }

.diagnosis-faq { border-top:1px solid var(--diag-line); }
.diagnosis-faq details { border-bottom:1px solid var(--diag-line); }
.diagnosis-faq summary { cursor:pointer; padding:22px 4px; font-weight:900; }
.diagnosis-faq p { margin:0; padding:0 4px 22px; color:var(--diag-muted); line-height:1.75; }

.diagnosis-final-cta { display:grid; grid-template-columns:1fr auto; gap:28px; align-items:center; padding:46px; border-radius:30px; background:var(--diag-deep); color:#fff; }
.diagnosis-final-cta h2 { margin:0 0 12px; font-size:34px; line-height:1.25; letter-spacing:-.05em; }
.diagnosis-final-cta p { margin:0; color:#bdc8d8; line-height:1.7; }
.diagnosis-final-cta.compact .diagnosis-actions { margin-top:0; }

@media (max-width: 980px) {
    .diagnosis-hero,.diagnosis-detail-hero,.diagnosis-report-layout,.diagnosis-notice-box { grid-template-columns:1fr; }
    .diagnosis-program-grid,.trait-grid,.subject-code-grid { grid-template-columns:1fr; }
    .diagnosis-feature-grid.four,.diagnosis-result-grid { grid-template-columns:repeat(2,1fr); }
    .diagnosis-process { grid-template-columns:repeat(2,1fr); }
    .diagnosis-final-cta,.diagnosis-policy-card { grid-template-columns:1fr; }
}

@media (max-width: 720px) {
    .diagnosis-page-shell { width:min(100% - 24px,1240px); padding-top:12px; }
    .diagnosis-subnav { position:static; display:flex; overflow-x:auto; justify-content:flex-start; scrollbar-width:none; }
    .diagnosis-subnav a { flex:0 0 auto; white-space:nowrap; }
    .diagnosis-hero,.diagnosis-detail-hero { min-height:0; padding:28px 22px; border-radius:22px; }
    .diagnosis-hero h1,.diagnosis-detail-hero h1 { font-size:34px; }
    .diagnosis-hero h1 .diagnosis-title-nowrap { font-size:.94em; }
    .diagnosis-hero p,.diagnosis-detail-hero p { font-size:14px; }
    .diagnosis-actions { display:grid; grid-template-columns:1fr; width:100%; }
    .diagnosis-button { width:100%; }
    .diagnosis-hero-visual { grid-template-columns:1fr; }
    .model-card-esp { grid-column:auto; }
    .model-plus,.model-arrow { text-align:center; }
    .diagnosis-section { margin:58px 0; }
    .diagnosis-section-head h2 { font-size:26px; }
    .diagnosis-feature-grid.four,.diagnosis-feature-grid.two,.diagnosis-result-grid,.diagnosis-process { grid-template-columns:1fr; }
    .diagnosis-result-section,.diagnosis-report-section { padding-top:56px; padding-bottom:56px; }
    .diagnosis-policy-card { margin:58px 0; padding:24px; }
    .diagnosis-final-cta { padding:28px 22px; }
    .diagnosis-final-cta h2 { font-size:27px; }
}


/* =========================================================
   v4.1 — Sub navigation refinement
   - Quiet, right-aligned text navigation on desktop
   - Active state uses text color and a thin underline only
========================================================= */
@media (min-width: 721px) {
    .diagnosis-subnav {
        position: sticky;
        top: 72px;
        z-index: 20;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: 0;
        width: 100%;
        margin: 0 0 18px;
        padding: 0 4px;
        border: 0;
        border-radius: 0;
        background: rgba(255, 255, 255, .94);
        box-shadow: none;
        backdrop-filter: blur(12px);
    }

    .diagnosis-subnav::after {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        height: 1px;
        background: var(--diag-line);
    }

    .diagnosis-subnav a {
        position: relative;
        z-index: 1;
        min-height: 46px;
        padding: 0 14px;
        border-radius: 0;
        background: transparent;
        color: #7a8495;
        font-size: 12px;
        font-weight: 700;
        white-space: nowrap;
    }

    .diagnosis-subnav a:hover {
        color: var(--diag-ink);
    }

    .diagnosis-subnav a.active {
        background: transparent;
        color: var(--diag-ink);
        font-weight: 900;
    }

    .diagnosis-subnav a.active::after {
        content: "";
        position: absolute;
        right: 14px;
        bottom: 0;
        left: 14px;
        height: 2px;
        border-radius: 999px;
        background: var(--diag-accent);
    }
}

/* =========================================================
   v4.1 — Result/report section desktop layout repair
   Keep dark sections inside the page container instead of
   breaking out with viewport-based negative margins.
========================================================= */
.diagnosis-result-section,
.diagnosis-report-section {
    width: 100%;
    margin: 84px 0;
    padding: 64px;
    border-radius: 30px;
    box-sizing: border-box;
    overflow: hidden;
}

.diagnosis-result-section .diagnosis-section-head,
.diagnosis-report-section .diagnosis-section-head {
    max-width: 760px;
}

.diagnosis-result-grid {
    width: 100%;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.diagnosis-result-grid article {
    min-width: 0;
    min-height: 190px;
}

.diagnosis-result-grid strong,
.diagnosis-result-grid p {
    word-break: keep-all;
}

@media (max-width: 1100px) {
    .diagnosis-result-section,
    .diagnosis-report-section {
        padding: 48px 36px;
    }

    .diagnosis-result-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .diagnosis-subnav {
        margin-bottom: 14px;
        padding: 4px;
        border: 1px solid var(--diag-line);
        border-radius: 14px;
        background: #fff;
        box-shadow: none;
    }

    .diagnosis-subnav a {
        min-height: 38px;
        padding: 0 11px;
        border-radius: 10px;
        font-size: 11px;
    }

    .diagnosis-subnav a.active {
        background: #eef3fb;
    }

    .diagnosis-result-section,
    .diagnosis-report-section {
        width: 100%;
        margin: 58px 0;
        padding: 34px 20px;
        border-radius: 22px;
    }

    .diagnosis-result-grid {
        grid-template-columns: 1fr;
    }

    .diagnosis-result-grid article {
        min-height: 0;
    }
}


/* =========================================================
   v4.2 — Simplified mobile diagnosis navigation
========================================================= */
@media (max-width: 720px) {
    .diagnosis-subnav {
        position: static;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 0;
        width: 100%;
        margin: 0 0 12px;
        padding: 0;
        overflow-x: auto;
        border: 0;
        border-bottom: 1px solid var(--diag-line);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .diagnosis-subnav::-webkit-scrollbar {
        display: none;
    }

    .diagnosis-subnav a {
        position: relative;
        flex: 0 0 auto;
        min-height: 42px;
        padding: 0 12px;
        border-radius: 0;
        background: transparent;
        color: #7a8495;
        font-size: 11px;
        font-weight: 700;
        white-space: nowrap;
    }

    .diagnosis-subnav a:first-child {
        padding-left: 2px;
    }

    .diagnosis-subnav a.active {
        background: transparent;
        color: var(--diag-ink);
        font-weight: 900;
    }

    .diagnosis-subnav a.active::after {
        content: "";
        position: absolute;
        right: 12px;
        bottom: -1px;
        left: 12px;
        height: 2px;
        border-radius: 999px;
        background: var(--diag-accent);
    }

    .diagnosis-subnav a:first-child.active::after {
        left: 2px;
    }
}


/* =========================================================
   v4.4 — Overview visibility + hero title clipping fix
========================================================= */
.diagnosis-hero-copy {
    min-width: 0;
}

.diagnosis-hero h1 {
    max-width: 100%;
    overflow: visible;
}

.diagnosis-hero h1 .diagnosis-title-nowrap {
    display: block;
    width: 100%;
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: normal;
}

.diagnosis-hero-coverage strong {
    color: var(--diag-ink);
    font-weight: 900;
}

/* Light sections must keep readable light cards */
.diagnosis-section:not(.diagnosis-result-section):not(.diagnosis-report-section)
.diagnosis-result-grid article {
    background: #fff;
    border-color: var(--diag-line);
    color: var(--diag-ink);
}

.diagnosis-section:not(.diagnosis-result-section):not(.diagnosis-report-section)
.diagnosis-result-grid strong {
    color: var(--diag-ink);
}

.diagnosis-section:not(.diagnosis-result-section):not(.diagnosis-report-section)
.diagnosis-result-grid p {
    color: var(--diag-muted);
}

@media (min-width: 981px) {
    .diagnosis-hero {
        grid-template-columns: minmax(0, 1.12fr) minmax(420px, .88fr);
    }

    .diagnosis-hero h1 {
        font-size: clamp(40px, 4.35vw, 58px);
        line-height: 1.12;
        letter-spacing: -.055em;
    }
}

@media (max-width: 720px) {
    .diagnosis-hero h1 .diagnosis-title-nowrap {
        font-size: .92em;
        line-height: 1.22;
    }
}


/* =========================================================
   v4.5 — Diagnosis page header spacing
   Fixed header already occupies its own layout height, so
   remove the extra main-content top spacing on diagnosis pages.
========================================================= */
body.diagnosis-page .site-main {
    padding-top: 0 !important;
}

body.diagnosis-page .diagnosis-page-shell {
    padding-top: 8px;
}

@media (max-width: 720px) {
    body.diagnosis-page .diagnosis-page-shell {
        padding-top: 4px;
    }
}


/* =========================================================
   v4.6 — Header to diagnosis sub-navigation spacing
   Pull only the diagnosis sub-navigation upward so it sits
   directly beneath the fixed global header.
========================================================= */
@media (min-width: 721px) {
    body.diagnosis-page .diagnosis-page-shell {
        padding-top: 0;
    }

    body.diagnosis-page .diagnosis-subnav {
        margin-top: -28px;
        margin-bottom: 18px;
    }
}

@media (max-width: 720px) {
    body.diagnosis-page .diagnosis-page-shell {
        padding-top: 0;
    }

    body.diagnosis-page .diagnosis-subnav {
        margin-top: -10px;
    }
}


/* =========================================================
   v4.7 — Fix actual sticky offset of diagnosis sub-navigation
   Previous top:72px kept the subnav pushed down even when the
   surrounding content was moved upward.
========================================================= */
@media (min-width: 721px) {
    body.diagnosis-page .diagnosis-subnav {
        top: 22px !important;
        margin-top: 0 !important;
    }
}

/* =========================================================
   v4.8 — High school choice guide internal link
========================================================= */
.diagnosis-guide-link {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 12px !important;
    color: var(--diag-muted);
    font-size: 14px;
    line-height: 1.6;
    flex-wrap: wrap;
}

.diagnosis-guide-link a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid #cfd9e8;
    border-radius: 999px;
    background: #f7f9fc;
    color: var(--diag-accent);
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.diagnosis-guide-link a:hover {
    background: #eef3fb;
    border-color: #b9c9e2;
    transform: translateY(-1px);
}

.diagnosis-faq p a {
    color: var(--diag-accent);
    font-weight: 900;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.diagnosis-faq p a:hover {
    text-decoration-thickness: 2px;
}

@media (max-width: 720px) {
    .diagnosis-guide-link {
        display: block;
        margin-top: 14px !important;
    }

    .diagnosis-guide-link a {
        margin-top: 8px;
        width: fit-content;
        max-width: 100%;
    }
}

