/* Shared editorial layout, scoped independently of university and fee pages. */
.student-guide-page { background:#fff; color:#183047; }
.guide-wrap { width:min(1240px,100%); margin-inline:auto; padding-inline:32px; }
.guide-skip { position:fixed; left:16px; top:-100px; z-index:10001; padding:12px 18px; background:#fff; color:#003d80; }
.guide-skip:focus { top:12px; }
.guide-hero { padding:126px 0 52px; background:#edf4fa; border-bottom:1px solid #d7e3ed; }
.guide-hero .study-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; font-size:.85rem; margin-bottom:32px; }
.guide-hero .study-breadcrumb a { color:#40576b; text-decoration:none; }
.guide-eyebrow { font-size:.76rem; text-transform:uppercase; letter-spacing:.1em; font-weight:700; color:#0054a8; margin-bottom:12px; }
.guide-hero h1 { max-width:960px; font-size:clamp(2rem,4.3vw,3.5rem); letter-spacing:-.035em; line-height:1.12; }
.guide-intro { max-width:790px; font-size:1.15rem; line-height:1.75; margin:22px 0; color:#3f5367; }
.guide-byline { font-size:.86rem; color:#455c70; }
.guide-byline a { color:#004f9e; }
.guide-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:52px; padding-top:44px; }
.guide-toc nav { position:sticky; top:100px; display:flex; flex-direction:column; gap:5px; }
.guide-toc strong { font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; margin-bottom:12px; }
.guide-toc a { display:flex; gap:10px; padding:9px 0; border-bottom:1px solid #e4eaf0; color:#425b70; font-size:.88rem; line-height:1.5; text-decoration:none; }
.guide-toc a span { color:#0865bb; font-size:.76rem; padding-top:2px; }
.guide-content { min-width:0; font-size:1.04rem; line-height:1.8; }
.guide-content section { margin-top:48px; scroll-margin-top:110px; }
.guide-content h2 { font-size:clamp(1.45rem,2.4vw,1.95rem); line-height:1.3; letter-spacing:-.025em; margin-bottom:20px; }
.guide-content h3 { font-size:1.15rem; line-height:1.4; margin-bottom:12px; }
.guide-content p { margin-bottom:16px; }
.guide-content a:not(.guide-button) { color:#0054a8; text-underline-offset:3px; }
.guide-content ul,.guide-content ol { padding-left:24px; margin:16px 0 24px; }
.guide-content li { margin-bottom:12px; padding-left:4px; }
.guide-answer { border-left:4px solid #0865bb; background:#f2f7fc; padding:24px 28px; }
.guide-answer p:last-child,.guide-note p:last-child { margin-bottom:0; }
.guide-note { background:#fff8e6; border-left:4px solid #b57c0a; padding:20px 24px; margin:24px 0; }
.guide-actions { display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 8px; }
.guide-button { display:inline-flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 18px; background:#005bb7; color:#fff; border:1px solid #005bb7; border-radius:6px; font-size:.88rem; font-weight:600; line-height:1.5; text-decoration:none; min-height:46px; }
.guide-button.secondary { background:#fff; color:#0054a8; border-color:#bbcfdf; }
.guide-button:hover { background:#003f80; color:white; }
.guide-table { overflow-x:auto; margin:22px 0; border:1px solid #d6e1ea; border-radius:6px; }
.guide-table table { width:100%; border-collapse:collapse; font-size:.88rem; line-height:1.65; text-align:left; }
.guide-table caption { text-align:left; font-weight:600; padding:14px 18px; background:#f2f6fa; color:#284259; }
.guide-table th,.guide-table td { padding:14px 16px; border-top:1px solid #dce5ed; vertical-align:top; min-width:120px; }
.guide-table th { font-weight:600; }
.guide-table thead { background:#143b5d; color:#fff; }
.guide-table tbody tr:nth-child(even) { background:#f7f9fc; }
.guide-photo-grid,.guide-campus-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:24px 0; }
.guide-photo-grid figure { min-width:0; margin:0; }
.guide-photo-grid img,.guide-campus img { display:block; width:100%; height:auto; aspect-ratio:20/13; object-fit:cover; border-radius:6px; }
.guide-photo-grid figcaption { font-size:.8rem; line-height:1.6; color:#4b6175; margin-top:10px; }
.guide-campus { border:1px solid #d8e3ed; border-radius:8px; overflow:hidden; display:flex; flex-direction:column; }
.guide-campus img { border-radius:0; }
.guide-campus>div { padding:22px; display:flex; flex-direction:column; flex:1; }
.guide-campus p { font-size:.91rem; }
.guide-campus .guide-eyebrow { font-size:.7rem; }
.guide-campus .guide-actions { margin-top:auto; padding-top:10px; }
.guide-campus .guide-button { width:100%; }
.guide-small,.guide-content .guide-small { font-size:.82rem; color:#486175; }
.guide-chart { padding:24px; margin:28px 0; border:1px solid #d6e1ea; border-radius:6px; }
.guide-chart figcaption { font-weight:700; margin-bottom:8px; }
.guide-bar-row { display:grid; grid-template-columns:150px minmax(20px,1fr) 62px; align-items:center; gap:12px; margin:13px 0; font-size:.8rem; line-height:1.4; }
.guide-bar-track { background:#edf2f7; height:22px; }
.guide-bar-track span { display:block; height:100%; background:#0967b9; }
.guide-process { counter-reset:stage; list-style:none; padding-left:0!important; }
.guide-process li { counter-increment:stage; padding:0 0 18px 58px; position:relative; border-bottom:1px solid #e0e8ef; }
.guide-process li:before { content:counter(stage,decimal-leading-zero); position:absolute; left:0; top:0; width:38px; height:38px; border-radius:50%; background:#e6f0fa; color:#0054a8; text-align:center; font-weight:700; line-height:38px; font-size:.85rem; }
.guide-process li p { margin:6px 0 0; }
.guide-faq { border-top:1px solid #d6e1ea; padding:18px 0; }
.guide-faq summary { cursor:pointer; font-weight:600; padding-right:12px; line-height:1.6; }
.guide-faq p { padding-top:14px; font-size:.95rem; }
.guide-sources { border-top:1px solid #d6e1ea; padding-top:28px; font-size:.85rem; color:#455d71; overflow-wrap:anywhere; }
.guide-next { padding:28px; background:#edf4fa; border-radius:8px; }
.guide-related { padding-top:64px; padding-bottom:64px; }
.guide-related h2 { font-size:1.55rem; margin-bottom:22px; }
.guide-related>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.guide-related a { display:flex; flex-direction:column; gap:9px; text-decoration:none; color:#183047; padding:20px; border:1px solid #d6e1ea; border-radius:6px; }
.guide-related a span { color:#0054a8; font-size:.8rem; }
.guide-hub-image { display:block; width:100%; height:100%; object-fit:cover; }
.student-guides-hub .main-header { background:#fff; }
.student-guide-page a:focus-visible,.student-guide-page summary:focus-visible,.guide-table:focus-visible { outline:3px solid #bd7500; outline-offset:4px; }
@media(max-width:1000px) { .guide-layout { grid-template-columns:1fr; gap:28px; }.guide-toc nav { position:static; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; }.guide-toc strong { grid-column:1/-1; }.guide-content { max-width:850px; } }
@media(max-width:600px) { .guide-wrap { padding-inline:20px; }.guide-hero { padding-top:106px; padding-bottom:32px; }.guide-hero .study-breadcrumb { font-size:.75rem; margin-bottom:24px; }.guide-intro { font-size:1rem; }.guide-byline { font-size:.77rem; }.guide-layout { padding-top:28px; }.guide-toc a { font-size:.79rem; }.guide-content { font-size:.98rem; }.guide-answer { padding:20px; }.guide-campus-grid,.guide-photo-grid,.guide-related>div { grid-template-columns:1fr; }.guide-content section { margin-top:36px; }.guide-button { width:100%; }.guide-chart { padding:16px; }.guide-bar-row { grid-template-columns:1fr 62px; gap:6px; }.guide-bar-row>span { grid-column:1/-1; }.guide-table table { min-width:580px; }.guide-next { padding:22px; } }
@media(prefers-reduced-motion:reduce) { .student-guide-page { scroll-behavior:auto; } html:has(.student-guide-page) { scroll-behavior:auto; } }
@media print { .guide-toc,#global-nav-placeholder,#global-footer-placeholder,.guide-related,.guide-skip { display:none; }.guide-layout { display:block; }.guide-hero { padding-top:0; }.guide-wrap { padding:0; }.guide-table { overflow:visible; }.guide-table table { min-width:0; }.guide-content section { break-inside:auto; }.guide-faq p { display:block; }.guide-actions { display:none; } }
