/* Groundwork's tools share a quiet document surface. The city remains a place
   to explore; forms and long evidence can use the whole page. */
.gw-workspace {
  --gw-gutter: clamp(20px, 4.4vw, 64px);
  --gw-width: 1280px;
  background: var(--gw-paper);
  color: var(--gw-ink);
  font-family: 'IBM Plex Sans', 'Plex Sans', Arial, sans-serif;
  font-size: 17px;
  line-height: 1.65;
  margin: 0;
  -webkit-font-smoothing: antialiased;
}
.gw-workspace *, .gw-workspace *::before, .gw-workspace *::after { box-sizing: border-box; }
.gw-workspace [hidden] { display: none !important; }
.gw-workspace :focus-visible { outline: 3px solid var(--gw-accent); outline-offset: 4px; }
.gw-workspace .gw-masthead {
  position: relative;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  width: 100%; max-width: none; min-height: 88px; padding: 16px var(--gw-gutter);
  border: 0; background: var(--gw-paper); margin: 0;
}
.gw-workspace .gw-brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; color: var(--gw-ink); white-space: nowrap; }
.gw-workspace .gw-mark { width: 24px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.25; }
.gw-workspace .gw-wordmark { font-size: 15px; font-weight: 500; letter-spacing: -.04em; }
.gw-workspace .gw-section { display: none; }
.gw-workspace .site-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 28px; }
.gw-workspace .site-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 5px 0; color: var(--gw-muted); text-decoration: none; font-size: 14px; font-weight: 400; border: 0; }
.gw-workspace .site-nav a:hover, .gw-workspace .site-nav a[aria-current] { color: var(--gw-ink); }
.gw-workspace .site-nav a[aria-current] { box-shadow: inset 0 -2px var(--gw-accent); }
.gw-workspace .gw-mobile-menu { display: none; }
.gw-workspace .gw-mobile-menu > summary::after { content: none; }
.gw-workspace .gw-section-bar { border-block: 1px solid var(--gw-line); padding: 0 var(--gw-gutter); display: flex; justify-content: space-between; gap: 20px; }
.gw-workspace .gw-section-bar nav { display: flex; gap: 28px; overflow-x: auto; scrollbar-width: thin; }
.gw-workspace .gw-section-bar a { display: inline-flex; align-items: center; min-height: 54px; white-space: nowrap; color: var(--gw-muted); font-size: 14px; text-decoration: none; }
.gw-workspace .gw-section-bar a[aria-current] { color: var(--gw-ink); box-shadow: inset 0 -2px var(--gw-ink); }
.gw-workspace .gw-shortlist { gap: 10px; flex-shrink: 0; }
.gw-workspace .gw-shortlist span { background: var(--gw-soft); border-radius: 4px; min-width: 24px; text-align: center; font-size: 12px; }
.gw-workspace a { color: inherit; text-underline-offset: .22em; }
.gw-workspace button, .gw-workspace input, .gw-workspace select, .gw-workspace textarea { font: inherit; }
.gw-workspace input:not([type=checkbox]):not([type=radio]), .gw-workspace select, .gw-workspace textarea {
  border: 1px solid var(--gw-input-line); border-radius: 6px; background: var(--gw-surface); color: var(--gw-ink);
  min-height: 48px; padding: 10px 13px; font-size: 16px; line-height: 1.5; max-width: 100%;
}
.gw-workspace input:disabled, .gw-workspace select:disabled { background: var(--gw-soft); color: var(--gw-muted); opacity: .7; }
.gw-workspace input[type=radio], .gw-workspace input[type=checkbox] { accent-color: var(--gw-accent); width: 18px; height: 18px; flex-shrink: 0; }
.gw-workspace button { cursor: pointer; }
.gw-workspace button:disabled { cursor: default; opacity: .5; }
.gw-workspace .primary-button { background: var(--gw-ink); color: var(--gw-surface); border: 1px solid var(--gw-ink); border-radius: 6px; padding: 12px 20px; min-height: 48px; font-size: 15px; font-weight: 500; display: inline-flex; align-items: center; gap: 12px; justify-content: center; text-decoration: none; }
.gw-workspace .primary-button:hover { background: var(--gw-hover); }
.gw-workspace .primary-button svg, .gw-workspace .text-link svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.gw-workspace .text-link { color: var(--gw-ink); font-size: 14px; min-height: 44px; border: 0; background: transparent; padding: 8px 0; text-decoration: underline; text-underline-offset: 5px; display: inline-flex; align-items: center; gap: 8px; }
.gw-workspace .section-path { color: var(--gw-muted); font-size: 12px; letter-spacing: .1em; line-height: 1.5; text-transform: uppercase; font-weight: 500; }
.gw-workspace .decision-main { max-width: var(--gw-width); padding: 0 var(--gw-gutter) 88px; margin: auto; font-size: 16px; container-type: inline-size; }
.gw-workspace .decision-hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(240px, 1fr); gap: 12px 60px; max-width: none; padding: 44px 0 0; }
.gw-workspace .decision-hero-copy { align-self: center; }
.gw-workspace .decision-hero .section-path { margin: 0 0 22px; }
.gw-workspace .decision-hero h1 { font-size: clamp(42px, 4.8vw, 68px); font-weight: 450; line-height: 1.05; letter-spacing: -.055em; margin: 0 0 22px; max-width: 15ch; }
.gw-workspace .decision-hero-copy > p:not(.section-path) { font-size: 19px; line-height: 1.65; max-width: 42ch; margin: 0; color: var(--gw-muted); }
.gw-workspace .gw-hero-scene { display: block; position: relative; align-self: center; text-decoration: none; padding-bottom: 28px; }
.gw-workspace .gw-hero-scene img { display: block; width: 100%; height: auto; }
.gw-workspace .gw-hero-scene > span { display: block; font-size: 15px; font-weight: 500; text-align: center; margin-top: -8px; }
.gw-workspace .gw-hero-scene small { display: block; color: var(--gw-muted); font-size: 12px; font-weight: 400; }
.gw-workspace .decision-hero nav { grid-column: 1/-1; display: grid; grid-template-columns: repeat(4,1fr); gap: 28px; margin: 28px 0 0; border-bottom: 1px solid var(--gw-line); counter-reset: decision-step; }
.gw-workspace .decision-hero nav a { min-height: 62px; display: flex; gap: 12px; align-items: center; padding: 12px 0 18px; border: 0; font-size: 14px; color: var(--gw-muted); text-decoration: none; }
.gw-workspace .decision-hero nav a::before { counter-increment: decision-step; content: '0' counter(decision-step); font-size: 12px; color: var(--gw-accent); }
.gw-workspace .decision-hero nav a:hover { color: var(--gw-ink); }
.gw-workspace .decision-section { display: grid; grid-template-columns: 225px minmax(0,1fr); gap: 40px; border: 0; border-bottom: 1px solid var(--gw-line); padding: 42px 0 48px; scroll-margin-top: 24px; }
.gw-workspace .decision-section-heading h2 { font-size: 28px; font-weight: 450; line-height: 1.16; letter-spacing: -.035em; margin: 0; max-width: 17ch; }
.gw-workspace .decision-section-body { min-width: 0; }
.gw-workspace #costs { display: block; }
.gw-workspace #costs .decision-section-heading { margin-bottom: 24px; }
.gw-workspace .decision-section-body > p:first-child { margin-top: 0; color: var(--gw-muted); font-size: 16px; }
.gw-workspace .decision-add { grid-template-columns: minmax(160px,1fr) minmax(180px,1.3fr) auto; padding: 12px 0 22px; gap: 14px; }
.gw-workspace .decision-main label > span { font-size: 13px; color: var(--gw-muted); margin-bottom: 8px; }
.gw-workspace .decision-selection { grid-template-columns: 24px minmax(0,1fr) auto; gap: 12px; padding: 18px 16px; border: 1px solid var(--gw-line); border-radius: 7px; background: var(--gw-surface); margin-top: 10px; }
.gw-workspace .decision-selection:has(input:checked) { border-color: var(--gw-selected-line); background: var(--gw-selected); }
.gw-workspace .decision-selection > input { margin: 0; }
.gw-workspace .decision-selection label { font-size: 17px; font-weight: 500; }
.gw-workspace .decision-selection label small { font-size: 13px; color: var(--gw-muted); margin-top: 4px; }
.gw-workspace .decision-selection label b { display: inline-block; margin-left: 10px; font-size: 12px; color: var(--gw-selected-text); font-weight: 500; }
.gw-workspace .decision-actions { gap: 10px 24px; margin-top: 18px; }
.gw-workspace .decision-fine { font-size: 13px; line-height: 1.65; color: var(--gw-muted); max-width: 76ch; }
.gw-workspace .decision-status:empty { display: none; }
.gw-workspace .decision-status { padding: 16px 20px; border: 1px solid var(--gw-line); background: var(--gw-soft); border-radius: 6px; }
.gw-workspace .decision-inputs { border: 1px solid var(--gw-line); border-radius: 7px; padding: 4px 18px; margin: 0 0 24px; background: var(--gw-surface); }
.gw-workspace .decision-inputs summary, .gw-workspace #decision-personal summary { min-height: 48px; font-size: 15px; padding: 12px 0; }
.gw-workspace .decision-input-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin: 20px 0 28px; }
.gw-workspace .decision-check { font-size: 14px; }
.gw-workspace #decision-costs { display: block; }
.gw-workspace .decision-table-scroll { overflow-x: auto; border: 1px solid var(--gw-line); border-radius: 8px; background: var(--gw-surface); }
.gw-workspace .decision-table-hint { display: none; position: sticky; left: 0; padding: 12px 16px; margin: 0; color: var(--gw-muted); font-size: 12px; background: var(--gw-soft); }
.gw-workspace .decision-cost-table { width: 100%; border-collapse: collapse; min-width: 580px; table-layout: fixed; font-size: 15px; }
.gw-workspace .decision-cost-table th, .gw-workspace .decision-cost-table td { padding: 18px; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--gw-line); }
.gw-workspace .decision-cost-table[data-plan-count="1"] { min-width: 0; }
.gw-workspace .decision-cost-table[data-plan-count="3"] { min-width: 850px; }
.gw-workspace .decision-cost-table[data-plan-count="4"] { min-width: 1040px; }
.gw-workspace .decision-cost-table tr:last-child > * { border-bottom: 0; }
.gw-workspace .decision-cost-table th:first-child { width: 23%; font-size: 13px; font-weight: 400; color: var(--gw-muted); }
.gw-workspace .decision-cost-table thead th { background: var(--gw-table-head); }
.gw-workspace .decision-cost-table h3 { font-size: 21px; line-height: 1.2; font-weight: 500; letter-spacing: -.025em; margin: 0 0 8px; }
.gw-workspace .decision-plan-name { font-size: 12px; line-height: 1.6; font-weight: 400; color: var(--gw-muted); margin: 0; }
.gw-workspace .decision-cost-table td > strong { display: block; font-size: 20px; font-weight: 450; line-height: 1.3; letter-spacing: -.025em; }
.gw-workspace .decision-cost-table td > small { display: block; margin-top: 6px; color: var(--gw-muted); font-size: 12px; line-height: 1.6; }
.gw-workspace .decision-cost-table .decision-total { background: var(--gw-table-total); }
.gw-workspace .decision-cost-table .decision-total td > strong { font-size: 29px; }
.gw-workspace .decision-cost-table .decision-delta td { color: var(--gw-accent); font-weight: 500; }
.gw-workspace .decision-cost-table details { font-size: 13px; line-height: 1.65; margin-bottom: 14px; }
.gw-workspace .decision-cost-table summary { cursor: pointer; min-height: 44px; }
.gw-workspace .decision-cost-table td > a { display: inline-block; font-size: 13px; }
.gw-workspace .decision-warning { color: var(--gw-accent); font-size: 12px; font-weight: 400; line-height: 1.6; }
.gw-workspace .decision-columns { grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); gap: 20px; }
.gw-workspace .decision-column { border: 1px solid var(--gw-line); border-radius: 7px; padding: 22px; background: var(--gw-surface); }
.gw-workspace .decision-column h3 { font-size: 23px; letter-spacing: -.03em; font-weight: 450; }
.gw-workspace .decision-times-label { display: block; margin-top: 20px; }
.gw-workspace #decision-commute { margin-top: 20px; }
.gw-workspace #decision-commute .decision-column { background: var(--gw-answer); border-color: var(--gw-answer-line); }
.gw-workspace .decision-commute-number { font-size: 32px; line-height: 1.25; }
.gw-workspace .decision-commute-number small { font-size: 13px; line-height: 1.6; margin-top: 6px; }
.gw-workspace .decision-feature-intro { grid-template-columns: minmax(0,1fr) minmax(230px,1fr); gap: 24px; }
.gw-workspace .decision-feature-intro p { font-size: 16px; margin-top: 0; color: var(--gw-muted); }
.gw-workspace .decision-features-table { font-size: 14px; margin: 26px 0; }
.gw-workspace .decision-features-table th, .gw-workspace .decision-features-table td { padding: 17px 14px; border-color: var(--gw-line); }
.gw-workspace .decision-features-table thead th { font-weight: 500; background: var(--gw-soft); }
.gw-workspace .decision-features-table tbody th { font-weight: 500; }
.gw-workspace .decision-features-table small { font-size: 12px; }
.gw-workspace #decision-personal { border-block: 1px solid var(--gw-line); padding: 8px 0; margin: 28px 0; }
.gw-workspace .decision-value-row { grid-template-columns: minmax(160px,1fr) minmax(100px,.6fr) minmax(150px,.7fr); gap: 16px; padding: 14px 0; border-color: var(--gw-line); }
.gw-workspace .decision-value-row > label { font-size: 15px; }
.gw-workspace .decision-value-answer { background: var(--gw-answer); color: var(--gw-ink); border: 1px solid var(--gw-answer-line); border-radius: 8px; padding: 28px; margin: 24px 0 32px; }
.gw-workspace .decision-value-answer strong { font-size: 28px; line-height: 1.2; font-weight: 450; }
.gw-workspace .decision-value-answer p { font-size: 14px; line-height: 1.75; }
.gw-workspace #decision-market h3 { font-size: 23px; font-weight: 450; letter-spacing: -.025em; }
.gw-workspace .decision-premium { border-color: var(--gw-line); padding: 20px 0; }
.gw-workspace .decision-premium small, .gw-workspace .decision-market-sources { font-size: 13px; line-height: 1.7; color: var(--gw-muted); }
.gw-workspace #method .decision-section-body { font-size: 15px; color: var(--gw-muted); max-width: 70ch; }
.gw-workspace .housing-footer { max-width: var(--gw-width); margin: 0 auto; padding: 40px var(--gw-gutter) 90px; border-top: 0; font-size: 13px; line-height: 1.7; color: var(--gw-muted); }
.gw-workspace .housing-footer p { font-size: 13px; max-width: 70ch; }
.gw-workspace .footer-wordmark { font-size: 13px; }
/* Housing discovery and the selected-plan reader use the same type and rhythm. */
.gw-workspace .housing-directory, .gw-workspace .profile-main { max-width: var(--gw-width); margin: auto; padding: 0 var(--gw-gutter) 80px; }
.gw-workspace .directory-hero { padding: 48px 0 32px; align-items: center; gap: 40px; }
.gw-workspace .directory-hero h1 { font-size: clamp(42px,4.8vw,64px); font-weight: 450; line-height: 1.1; letter-spacing: -.05em; margin: 0 0 18px; }
.gw-workspace .directory-hero .section-path { margin-bottom: 18px; }
.gw-workspace .directory-hero > div > p:last-child { font-size: 19px; color: var(--gw-muted); }
.gw-workspace .directory-overview { gap: 30px; }
.gw-workspace .directory-overview strong { font-size: 30px; font-weight: 400; }
.gw-workspace .directory-overview span, .gw-workspace .directory-overview a { font-size: 12px; }
.gw-workspace .housing-directory .explorer-controls { border: 1px solid var(--gw-line); border-radius: 8px; background: var(--gw-surface); padding: 22px; position: static; }
.gw-workspace #filters { gap: 18px; border: 0; }
.gw-workspace .housing-directory #filters > label:nth-child(n) { padding: 0; border: 0; }
.gw-workspace #filters > label > span { display: block; font-size: 13px; font-weight: 400; line-height: 1.5; color: var(--gw-muted); margin: 0 0 9px; }
.gw-workspace #filters input, .gw-workspace #filters select { border: 1px solid var(--gw-input-line); border-radius: 6px; padding: 10px 12px; min-height: 48px; font-size: 16px; background: var(--gw-surface); }
.gw-workspace #filters .search-field > div { position: relative; }
.gw-workspace #filters .search-field svg { position: absolute; width: 17px; height: 17px; left: 13px; top: 16px; }
.gw-workspace #filters .search-field input { padding-left: 39px; }
.gw-workspace .housing-directory .filter-tools { border: 0; padding: 10px 0 0; margin-top: 4px; }
.gw-workspace .housing-directory .mobile-filters-toggle { font-size: 14px; gap: 12px; min-height: 44px; }
.gw-workspace .mobile-filters-toggle span { font-size: 12px; }
.gw-workspace .housing-directory .search-start { padding: 12px 0 0; margin: 0; border: 0; gap: 16px; }
.gw-workspace .housing-directory .search-presets { gap: 6px 18px; }
.gw-workspace .housing-directory .search-presets button { font-size: 13px; min-height: 44px; padding-block: 7px; border-color: var(--gw-line); }
.gw-workspace .housing-directory .quick-filters { gap: 10px 22px; }
.gw-workspace .housing-directory .quick-filters label { font-size: 14px; line-height: 1.6; min-height: 44px; display: flex; align-items: center; gap: 8px; }
.gw-workspace .housing-directory .date-filters { font-size: 14px; }
.gw-workspace .housing-directory .date-filters p { font-size: 13px; }
.gw-workspace .directory-evidence-notes { margin: 16px 0 30px; border-color: var(--gw-line); }
.gw-workspace .directory-evidence-notes > summary { min-height: 48px; font-size: 14px; }
.gw-workspace .directory-evidence-notes p, .gw-workspace .housing-directory .evidence-strip p { font-size: 13px; line-height: 1.7; }
.gw-workspace .housing-directory .explorer-workspace { grid-template-columns: minmax(0,1fr) 275px; gap: 44px; padding-top: 0; }
.gw-workspace .housing-directory .results-toolbar { align-items: center; gap: 16px; padding-bottom: 20px; }
.gw-workspace .housing-directory .results-toolbar h2 { font-size: 26px; font-weight: 450; letter-spacing: -.03em; margin-bottom: 6px; }
.gw-workspace #result-count { font-size: 13px; color: var(--gw-muted); }
.gw-workspace .housing-directory .view-switch { gap: 20px; }
.gw-workspace .housing-directory .view-switch button { font-size: 13px; min-height: 44px; }
.gw-workspace .housing-directory .property-row { display: block; padding: 26px 0; border-bottom: 1px solid var(--gw-line); }
.gw-workspace .housing-directory .browse-result-main { grid-template-columns: minmax(0,1fr) minmax(170px,.6fr); gap: 25px; }
.gw-workspace .housing-directory .listing-kicker { font-size: 12px; gap: 12px; }
.gw-workspace .housing-directory .browse-result-name h3 { font-size: 26px; font-weight: 450; line-height: 1.2; margin: 9px 0 12px; }
.gw-workspace .housing-directory .listing-tags { font-size: 13px; line-height: 1.65; gap: 5px 14px; }
.gw-workspace .browse-result-rate > strong { font-size: 29px; font-weight: 450; margin-block: 6px; }
.gw-workspace .browse-result-rate > small { font-size: 12px; line-height: 1.65; }
.gw-workspace .browse-result-rate .small-label, .gw-workspace .small-label { font-size: 11px; line-height: 1.6; }
.gw-workspace .browse-budget { font-size: 12px; margin-top: 10px; }
.gw-workspace .browse-result-actions { gap: 10px 22px; margin-top: 16px; }
.gw-workspace .browse-result-actions > a, .gw-workspace .browse-result-actions .save-button, .gw-workspace .browse-result-actions label { font-size: 14px; min-height: 44px; }
.gw-workspace .browse-result-actions > a { margin-right: auto; }
.gw-workspace .browse-result-details { margin-top: 10px; border-color: var(--gw-line); }
.gw-workspace .browse-result-details > summary { font-size: 13px; min-height: 46px; }
.gw-workspace .price-date, .gw-workspace .price-date-line, .gw-workspace .price-date-note, .gw-workspace .price-freshness { font-size: 12px; line-height: 1.6; }
.gw-workspace .neighborhood-preview { border: 1px solid var(--gw-line); border-radius: 8px; overflow: hidden; padding: 16px; background: var(--gw-map-tile); }
.gw-workspace .neighborhood-image { margin: -16px -16px 20px; border: 0; }
.gw-workspace .neighborhood-preview h2 { font-size: 23px; line-height: 1.2; margin: 12px 0; font-weight: 450; }
.gw-workspace .neighborhood-preview p { font-size: 14px; line-height: 1.7; }
.gw-workspace .workspace-aside .scenario-panel { padding: 24px 0; border-color: var(--gw-line); }
.gw-workspace .scenario-panel h2 { font-size: 23px; font-weight: 450; }
.gw-workspace .scenario-panel p, .gw-workspace .scenario-fields label > span { font-size: 13px; line-height: 1.6; }
.gw-workspace .profile-main { padding-top: 24px; }
.gw-workspace .profile-main .back-link { margin-bottom: 28px; font-size: 13px; min-height: 44px; display: inline-flex; align-items: center; }
.gw-workspace .profile-heading { padding: 0 0 20px; align-items: center; gap: 30px; }
.gw-workspace .profile-heading .section-path { margin-bottom: 14px; }
.gw-workspace .profile-heading h1 { font-size: clamp(42px,5vw,64px); font-weight: 450; margin: 0 0 15px; }
.gw-workspace .profile-address { font-size: 14px; line-height: 1.6; }
.gw-workspace .profile-actions { gap: 20px; }
.gw-workspace .secondary-button { min-height: 48px; border: 1px solid var(--gw-input-line); border-radius: 6px; background: var(--gw-surface); color: var(--gw-ink); padding: 11px 18px; font-size: 14px; display: inline-flex; align-items: center; gap: 10px; }
.gw-workspace .profile-main > .evidence-strip { padding: 14px 0 20px; margin: 0 0 28px; border-color: var(--gw-line); }
.gw-workspace .profile-main > .evidence-strip p { font-size: 13px; line-height: 1.7; max-width: 85ch; }
.gw-workspace .profile-content-grid { grid-template-columns: minmax(0,1fr) 310px; gap: 54px; }
.gw-workspace .profile-plan { margin-bottom: 18px; }
.gw-workspace .profile-plan label { font-size: 12px; color: var(--gw-muted); display: block; margin-bottom: 9px; }
.gw-workspace .profile-plan select { width: 100%; }
.gw-workspace .profile-reading-nav { margin: 8px 0 24px; border-color: var(--gw-line); }
.gw-workspace .profile-reading-nav > summary { font-size: 14px; min-height: 48px; }
.gw-workspace .profile-reading-nav a { font-size: 14px; }
.gw-workspace .profile-title-label { font-size: 12px; }
.gw-workspace .profile-price strong { font-size: 54px; line-height: 1.2; letter-spacing: -.05em; font-weight: 450; }
.gw-workspace .profile-price p { font-size: 15px; line-height: 1.6; }
.gw-workspace .profile-price .price-observation { font-size: 12px; line-height: 1.7; }
.gw-workspace .profile-quick-cost { border-block: 1px solid var(--gw-line); padding: 22px 0; margin: 24px 0; }
.gw-workspace .profile-quick-cost dl { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 20px; margin: 0 0 22px; }
.gw-workspace .profile-quick-cost dt { font-size: 12px; color: var(--gw-muted); }
.gw-workspace .profile-quick-cost dd { font-size: 24px; line-height: 1.3; letter-spacing: -.03em; margin: 9px 0; }
.gw-workspace .profile-quick-cost small { display: block; font-size: 12px; line-height: 1.65; color: var(--gw-muted); }
.gw-workspace .profile-quick-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.gw-workspace .profile-estimates { border: 1px solid var(--gw-line); border-radius: 8px; background: var(--gw-assumptions); padding: 24px; }
.gw-workspace .profile-estimates h2 { font-size: 25px; font-weight: 450; margin: 0 0 18px; }
.gw-workspace .profile-estimates > p { font-size: 13px; }
.gw-workspace .profile-estimates .scenario-fields label { padding: 12px 0; border-color: var(--gw-line); }
.gw-workspace .profile-estimates .scenario-fields label > span { font-size: 13px; }
.gw-workspace .profile-section { padding-block: 30px; }
.gw-workspace .profile-main h2 { font-size: 29px; letter-spacing: -.035em; line-height: 1.2; font-weight: 450; }
.gw-workspace .profile-main h3 { font-size: 22px; font-weight: 450; line-height: 1.3; }
.gw-workspace .profile-main p, .gw-workspace .profile-main li { font-size: 16px; line-height: 1.75; }
.gw-workspace .profile-main .cost-ledger { margin-block: 20px 28px; }
.gw-workspace .profile-main .cost-ledger > div { padding: 15px 0; border-color: var(--gw-line); }
.gw-workspace .cost-ledger dt { font-size: 14px; line-height: 1.6; }
.gw-workspace .cost-ledger dd { font-size: 18px; line-height: 1.5; }
.gw-workspace .cost-ledger dd small, .gw-workspace .profile-main .privacy-note, .gw-workspace .profile-main .small-note, .gw-workspace .profile-main .source-list, .gw-workspace .profile-main .campus-source { font-size: 13px; line-height: 1.7; }
.gw-workspace .condition-list li > span { font-size: 12px; margin-bottom: 8px; }
.gw-workspace .condition-list li { padding-block: 20px; }
.gw-workspace .profile-catalogue { padding-top: 36px; }
.gw-workspace .plan-table th, .gw-workspace .plan-table td { font-size: 14px; line-height: 1.7; padding: 20px 18px; border-color: var(--gw-line); }
.gw-workspace .plan-table th { font-weight: 500; background: var(--gw-soft); }
.gw-workspace .plan-table td small { font-size: 12px; line-height: 1.7; }
.gw-workspace .plan-table-wrap { border: 1px solid var(--gw-line); border-radius: 7px; }
.gw-workspace .compare-tray { background: var(--gw-ink); color: var(--gw-surface); border: 0; box-shadow: 0 -4px 25px var(--gw-tray-shadow); padding: 16px var(--gw-gutter); }
.gw-workspace .compare-tray .primary-button { background: var(--gw-surface); color: var(--gw-ink); border-color: var(--gw-surface); }
.gw-workspace .compare-tray .text-link { color: var(--gw-surface); }
.gw-workspace .compare-tray strong { font-size: 16px; }
.gw-workspace #compare-names { font-size: 13px; }
.gw-workspace dialog { background: var(--gw-surface); color: var(--gw-ink); border: 1px solid var(--gw-line); border-radius: 12px; padding: 32px; width: min(1120px,94vw); }
.gw-workspace dialog::backdrop { background: var(--gw-backdrop); backdrop-filter: blur(3px); }
.gw-workspace .dialog-heading { gap: 30px; }
.gw-workspace .dialog-heading h2 { font-size: 32px; font-weight: 450; }
.gw-workspace dialog p, .gw-workspace dialog label { font-size: 15px; line-height: 1.7; }
.gw-workspace dialog .icon-button { border-radius: 6px; min-width: 44px; min-height: 44px; }
.gw-workspace .comparison-table th, .gw-workspace .comparison-table td { font-size: 14px; line-height: 1.7; padding: 18px; }
/* Course exploration: a clear search surface, quiet tables, readable charts. */
.gw-workspace.gw-courses main { width: 100%; max-width: var(--gw-width); margin: auto; padding: 0 var(--gw-gutter) 72px; }
.gw-workspace .course-hero { padding: 50px 0 30px; }
.gw-workspace.gw-courses h1 { font-size: clamp(40px,4.5vw,62px); font-weight: 450; letter-spacing: -.05em; line-height: 1.08; max-width: 20ch; text-wrap: initial; }
.gw-workspace .course-dek { border: 0; padding-left: 0; color: var(--gw-muted); font-size: 19px; line-height: 1.65; margin-top: 22px; max-width: 62ch; }
.gw-workspace.gw-courses h2 { font-size: 31px; font-weight: 450; line-height: 1.2; letter-spacing: -.035em; }
.gw-workspace.gw-courses h3 { font-size: 23px; font-weight: 450; }
.gw-workspace .course-search { max-width: 820px; padding: 24px; border: 1px solid var(--gw-line); border-radius: 8px; background: var(--gw-surface); margin: 0 0 32px; }
.gw-workspace .course-search > label { font-size: 14px; color: var(--gw-muted); margin-bottom: 10px; }
.gw-workspace .course-search > div { display: flex; gap: 12px; }
.gw-workspace .course-search input { min-width: 0; flex: 1; font-size: 17px; }
.gw-workspace .course-search button { background: var(--gw-ink); color: var(--gw-surface); font-size: 15px; font-weight: 500; border-radius: 6px; padding-inline: 24px; }
.gw-workspace #search-status { font-size: 13px; line-height: 1.6; margin-top: 13px; color: var(--gw-muted); }
.gw-workspace #search-status:empty { display: none; }
.gw-workspace .search-results { border: 0; margin: 20px 0 0; padding: 0; }
.gw-workspace .search-results li { border-color: var(--gw-line); padding: 16px 0; }
.gw-workspace .search-results li > a { font-size: 17px; }
.gw-workspace .search-results li > span { font-size: 13px; line-height: 1.6; color: var(--gw-muted); }
.gw-workspace .course-chapters { gap: 8px 28px; font-size: 14px; padding: 0 0 20px; border-color: var(--gw-line); }
.gw-workspace .course-chapters a { min-height: 44px; text-decoration: none; }
.gw-workspace .course-chapters a:hover { text-decoration: underline; }
.gw-workspace .course-section { padding: 36px 0 42px; border-color: var(--gw-line); }
.gw-workspace .course-section .source-note, .gw-workspace .source-line, .gw-workspace .coverage-line { font-size: 13px; line-height: 1.75; color: var(--gw-muted); }
.gw-workspace .subject-controls label, .gw-workspace .course-list-controls label { font-size: 14px; font-weight: 400; }
.gw-workspace .subject-alphabet { gap: 8px; margin-block: 24px; }
.gw-workspace .subject-alphabet a { border-color: var(--gw-line); border-radius: 6px; background: var(--gw-surface); font-size: 14px; }
.gw-workspace .department-grid { gap: 0 36px; }
.gw-workspace .department-grid a { padding: 20px 0; border-color: var(--gw-line); }
.gw-workspace .department-grid strong { font-size: 20px; font-weight: 450; }
.gw-workspace .department-grid span { font-size: 15px; }
.gw-workspace .department-grid small { font-size: 12px; color: var(--gw-muted); }
.gw-workspace .answer-stats { border-color: var(--gw-line); margin-top: 28px; }
.gw-workspace .answer-stats > div { padding: 22px 16px 22px 0; }
.gw-workspace .answer-stats dd { font-size: 44px; font-weight: 450; letter-spacing: -.035em; }
.gw-workspace .answer-stats dt { font-size: 13px; color: var(--gw-muted); }
.gw-workspace .distribution-panel { max-width: none; background: var(--gw-surface); border: 1px solid var(--gw-line); border-radius: 8px; padding: 28px; }
.gw-workspace .distribution-controls { font-size: 14px; margin-bottom: 24px; }
.gw-workspace .grade-chart { height: 260px; gap: 14px; }
.gw-workspace .grade-column { border-color: var(--gw-line); }
.gw-workspace .grade-column rect { fill: var(--gw-chart); }
.gw-workspace .grade-bin:first-child .grade-column rect { fill: var(--gw-chart-emphasis); }
.gw-workspace .grade-share { font-size: 13px; color: var(--gw-muted); }
.gw-workspace .grade-letter { font-size: 14px; font-weight: 500; }
.gw-workspace .distribution-figure figcaption { font-size: 13px; line-height: 1.75; margin-top: 22px; }
.gw-workspace .grade-counts { border-color: var(--gw-line); margin: 0; }
.gw-workspace .grade-counts summary { font-size: 14px; }
.gw-workspace .course-table { font-size: 16px; }
.gw-workspace .course-table th, .gw-workspace .course-table td { padding: 20px 16px; border-color: var(--gw-line); }
.gw-workspace .course-table thead th { font-size: 13px; background: var(--gw-soft); padding-block: 15px; }
.gw-workspace .course-table tbody th { font-size: 18px; }
.gw-workspace .course-table th span { font-size: 14px; line-height: 1.7; }
.gw-workspace .course-footer { max-width: var(--gw-width); padding: 32px var(--gw-gutter) 60px; margin: auto; font-size: 14px; border-color: var(--gw-line); }
/* Resource hubs and readers. The same hierarchy works for prose and calculators. */
.gw-workspace.gw-resources main { width: 100%; max-width: var(--gw-width); margin: auto; padding-inline: var(--gw-gutter); }
.gw-workspace.gw-resources .query-hero { padding: 48px 0 36px; max-width: none; }
.gw-workspace.gw-resources h1 { font-size: clamp(40px,4.5vw,62px); font-weight: 450; letter-spacing: -.05em; line-height: 1.09; max-width: 21ch; text-wrap: initial; margin: 0 0 24px; }
.gw-workspace.gw-resources .query-path { font-size: 12px; letter-spacing: .09em; color: var(--gw-muted); margin: 0 0 20px; }
.gw-workspace.gw-resources .query-answer { font-size: 19px; line-height: 1.7; border: 0; padding: 0; color: var(--gw-muted); max-width: 62ch; }
.gw-workspace.gw-resources .query-answer p { font-size: inherit; }
.gw-workspace.gw-resources .query-byline { font-size: 13px; line-height: 1.7; color: var(--gw-muted); margin-top: 22px; }
.gw-workspace.gw-resources .query-primary { min-height: 48px; padding: 12px 20px; border: 1px solid var(--gw-ink); border-radius: 6px; background: var(--gw-ink); color: var(--gw-surface); font-size: 15px; text-decoration: none; display: inline-flex; align-items: center; gap: 10px; }
.gw-workspace.gw-resources .query-primary:hover { background: var(--gw-hover); }
.gw-workspace.gw-resources .query-hero:has(>.gw-plate-art) { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(250px,.8fr); column-gap: 64px; align-items: start; }
.gw-workspace.gw-resources .query-hero:has(>.gw-plate-art) > :not(.gw-plate-art) { grid-column: 1; }
.gw-workspace.gw-resources .query-hero:has(>.gw-plate-art) > .query-primary { justify-self: start; }
.gw-workspace.gw-resources .query-hero > .gw-plate-art { grid-column: 2; grid-row: 1/span 8; align-self: center; width: 100%; max-width: 370px; justify-self: end; margin: 0; }
.gw-workspace.gw-resources .gw-plate-art img { display: block; width: 100%; height: auto; }
.gw-workspace.gw-resources .gw-answer-date { border: 0; background: var(--gw-soft); border-radius: 6px; padding: 14px 18px; max-width: 390px; font-size: 13px; }
.gw-workspace.gw-resources .gw-answer-date strong { font-size: 25px; }
.gw-workspace.gw-resources .query-layout { grid-template-columns: 210px minmax(0,1fr); column-gap: 60px; padding-bottom: 72px; }
.gw-workspace.gw-resources .query-rail { font-size: 14px; line-height: 1.6; top: 24px; padding-top: 30px; }
.gw-workspace.gw-resources .query-rail h2 { font-size: 12px; letter-spacing: .06em; }
.gw-workspace.gw-resources .query-rail li { border-color: var(--gw-line); }
.gw-workspace.gw-resources .query-rail li a { min-height: 48px; padding-block: 14px; }
.gw-workspace.gw-resources .query-reading { max-width: 76ch; font-size: 18px; line-height: 1.8; }
.gw-workspace.gw-resources .query-reading section { border-color: var(--gw-line); padding: 32px 0 24px; }
.gw-workspace.gw-resources .query-reading h2 { font-size: 31px; line-height: 1.2; font-weight: 450; letter-spacing: -.035em; margin-bottom: 22px; text-wrap: initial; }
.gw-workspace.gw-resources .query-reading h3 { font-size: 23px; font-weight: 450; }
.gw-workspace.gw-resources .query-reading p, .gw-workspace.gw-resources .query-reading li { max-width: 68ch; }
.gw-workspace.gw-resources .query-source-note, .gw-workspace.gw-resources .query-note, .gw-workspace.gw-resources .query-findings small { font-size: 13px; line-height: 1.75; color: var(--gw-muted); }
.gw-workspace.gw-resources .query-reading .query-tool { border: 1px solid var(--gw-line); border-radius: 9px; background: var(--gw-surface); padding: 28px; margin: 24px 0 30px; font-size: 16px; line-height: 1.7; }
.gw-workspace.gw-resources .query-tool h3 { font-size: 26px; font-weight: 450; line-height: 1.2; margin: 0 0 18px; }
.gw-workspace.gw-resources .query-tool h4 { font-size: 21px; font-weight: 450; }
.gw-workspace.gw-resources .query-tool label { font-size: 14px; line-height: 1.6; gap: 9px; }
.gw-workspace.gw-resources .query-tool p { font-size: 15px; line-height: 1.75; }
.gw-workspace.gw-resources .query-tool-fields { gap: 20px; margin-block: 22px; }
.gw-workspace.gw-resources .query-tool button { background: var(--gw-ink); color: var(--gw-surface); border: 1px solid var(--gw-ink); border-radius: 6px; padding: 12px 18px; min-height: 48px; font-size: 14px; font-weight: 500; }
.gw-workspace.gw-resources .ut-tool-actions { gap: 12px; }
.gw-workspace.gw-resources .ut-tool-actions button + button, .gw-workspace.gw-resources [data-gpa-courses] button { background: transparent; color: var(--gw-muted); border-color: var(--gw-line); font-weight: 400; }
.gw-workspace.gw-resources [data-gpa-courses] fieldset { padding-block: 20px; border-color: var(--gw-line); }
.gw-workspace.gw-resources [data-gpa-courses] legend { font-size: 13px; color: var(--gw-muted); }
.gw-workspace.gw-resources [data-gpa-courses] .query-tool-fields { margin: 0; }
.gw-workspace.gw-resources [data-tool-result] { background: var(--gw-answer); border-radius: 6px; padding: 20px; font-size: 19px; line-height: 1.6; margin-top: 26px; }
.gw-workspace.gw-resources .query-table-scroll { border: 1px solid var(--gw-line); border-radius: 7px; background: var(--gw-surface); }
.gw-workspace.gw-resources table { font-size: 15px; line-height: 1.7; }
.gw-workspace.gw-resources th, .gw-workspace.gw-resources td { padding: 16px; border-color: var(--gw-line); }
.gw-workspace.gw-resources thead th { font-size: 13px; font-weight: 500; background: var(--gw-soft); }
.gw-workspace.gw-resources .query-faq summary { min-height: 48px; font-size: 17px; padding-block: 8px; }
.gw-workspace.gw-resources .query-footer { width: 100%; max-width: var(--gw-width); padding: 32px var(--gw-gutter) 60px; margin: auto; border-color: var(--gw-line); font-size: 13px; }
.gw-workspace .gw-featured-tools { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0 0 38px; border-block: 1px solid var(--gw-line); }
.gw-workspace .gw-featured-tools > a { padding: 28px; border-right: 1px solid var(--gw-line); text-decoration: none; display: block; }
.gw-workspace .gw-featured-tools > a:first-child { padding-left: 0; }
.gw-workspace .gw-featured-tools > a:last-child { border-right: 0; padding-right: 0; }
.gw-workspace .gw-featured-tools strong { display: flex; align-items: center; justify-content: space-between; gap: 14px; font-size: 24px; font-weight: 450; line-height: 1.2; letter-spacing: -.03em; margin-bottom: 12px; }
.gw-workspace .gw-featured-tools strong > span:not([data-nosnippet-text]) { font-size: 21px; color: var(--gw-accent); }
.gw-workspace .gw-featured-tools > a > span { display: block; font-size: 15px; line-height: 1.7; max-width: 31ch; color: var(--gw-muted); }
.gw-workspace .gw-featured-tools > a:hover strong { color: var(--gw-accent); }
.gw-workspace.gw-resources .ut-hub-filter { max-width: 580px; padding: 0 0 26px; margin: 0; }
.gw-workspace.gw-resources .ut-hub-filter label { font-size: 14px; font-weight: 400; margin-bottom: 2px; }
.gw-workspace.gw-resources .ut-hub-filter input { font-size: 17px; border-radius: 6px; background: var(--gw-surface); }
.gw-workspace.gw-resources .ut-hub-filter p:empty { display: none; }
.gw-workspace.gw-resources .ut-hub-filter p { font-size: 13px; color: var(--gw-muted); }
.gw-workspace.gw-resources main:has(#hub-filter:not(:placeholder-shown)) .gw-featured-tools { display: none; }
.gw-workspace .ut-task-nav { gap: 5px 28px; border-color: var(--gw-line); padding: 6px 0 20px; }
.gw-workspace .ut-task-nav a { font-size: 14px; text-decoration: none; min-height: 44px; }
.gw-workspace.gw-resources .ut-guide-index { max-width: none; }
.gw-workspace.gw-resources .ut-guide-index > section { padding-block: 36px; border-color: var(--gw-line); }
.gw-workspace.gw-resources .ut-guide-index h2 { font-size: 31px; font-weight: 450; margin-bottom: 22px; }
.gw-workspace.gw-resources .ut-guide-index li { padding-block: 22px; grid-template-columns: minmax(0,1fr) minmax(0,1.3fr); gap: 22px 60px; border-color: var(--gw-line); }
.gw-workspace.gw-resources .ut-guide-index li a { font-size: 22px; font-weight: 450; line-height: 1.35; letter-spacing: -.02em; }
.gw-workspace.gw-resources .ut-guide-index li p { font-size: 16px; line-height: 1.75; }
.gw-workspace.gw-resources .ut-hub-dates { max-width: none; padding: 0 0 28px; }
.gw-workspace.gw-resources .ut-hub-dates h2 { font-size: 14px; font-weight: 500; }
.gw-workspace.gw-resources .ut-hub-dates ol { border-top: 1px solid var(--gw-line); display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.gw-workspace.gw-resources .ut-hub-dates li { display: block; font-size: 13px; padding-block: 16px; border-color: var(--gw-line); }
.gw-workspace.gw-resources .ut-hub-dates time { display: block; margin-bottom: 7px; }
.gw-workspace.gw-ownership main { max-width: var(--gw-width); padding: 0 var(--gw-gutter) 70px; margin: auto; }
.gw-workspace.gw-ownership h1 { font-size: clamp(42px,4.5vw,62px); line-height: 1.1; letter-spacing: -.05em; font-weight: 450; }
.gw-workspace.gw-ownership .profile-hero, .gw-workspace.gw-ownership .text-hero { padding-top: 48px; }
.gw-workspace.gw-ownership h2 { font-size: 31px; font-weight: 450; letter-spacing: -.035em; line-height: 1.2; }
.gw-workspace.gw-ownership p, .gw-workspace.gw-ownership li { font-size: 17px; line-height: 1.75; }
.gw-workspace.gw-ownership .gw-section-bar button { background: transparent; border: 0; color: inherit; font-size: 14px; min-height: 48px; }
.gw-workspace .housing-guide, .gw-workspace .student-main { max-width: var(--gw-width); margin: auto; padding-inline: var(--gw-gutter); }
.gw-workspace .field-guide-hero { padding-block: 44px 32px; }
.gw-workspace .field-guide-hero h1, .gw-workspace .student-hero h1 { font-size: clamp(40px,4.5vw,62px); font-weight: 450; line-height: 1.08; letter-spacing: -.05em; }
.gw-workspace .field-guide-hero .guide-edition, .gw-workspace .guide-rail > p { font-size: 13px; line-height: 1.7; }
.gw-workspace .guide-entry-points > a > span { font-size: 12px; }
.gw-workspace .guide-entry-points strong { font-size: 16px; }
.gw-workspace .guide-rail > .small-label, .gw-workspace .guide-rail nav a { font-size: 13px; }
.gw-workspace .guide-search-bar { border-color: var(--gw-line); border-radius: 7px; background: var(--gw-surface); padding: 8px 12px; }
.gw-workspace .guide-search-bar button { font-size: 14px; min-height: 44px; }
.gw-workspace .student-main { padding-top: 24px; }
.gw-workspace .student-main > .back-link { margin-bottom: 22px; }
.gw-workspace .student-hero { padding-block: 8px 28px; }
.gw-workspace .student-hero > p:not(.section-path):not(.small-note) { font-size: 18px; color: var(--gw-muted); }
.gw-workspace .student-stat-row { border-color: var(--gw-line); }
.gw-workspace .student-stat-row strong { font-size: 32px; font-weight: 450; }
.gw-workspace .student-stat-row span { font-size: 13px; }
.gw-workspace .student-filters { background: var(--gw-surface); border: 1px solid var(--gw-line); border-radius: 8px; padding: 22px; gap: 20px; }
.gw-workspace .student-filters label { font-size: 13px; font-weight: 400; }
.gw-workspace .student-question-panel { background: var(--gw-soft); border: 1px solid var(--gw-line); border-radius: 8px; padding: 24px; }
.gw-workspace .student-fact { background: var(--gw-surface); border: 1px solid var(--gw-line); border-radius: 7px; padding: 25px; }
.gw-workspace .student-fact-meta, .gw-workspace .student-fact .student-date, .gw-workspace .student-citation small { font: 400 12px/1.7 var(--pd-font-body); text-transform: none; }
.gw-workspace .student-fact h3 { font-size: 23px; font-weight: 450; line-height: 1.3; }
.gw-workspace .student-fact p { font-size: 16px; line-height: 1.75; }
.gw-workspace .student-citation { font-size: 14px; }
.gw-workspace .student-citation summary { min-height: 44px; }
@media screen {
  @container (max-width: 1039px) { .gw-workspace .decision-table-scroll:has([data-plan-count="4"]) .decision-table-hint { display: block; } }
  @container (max-width: 849px) { .gw-workspace .decision-table-scroll:has([data-plan-count="3"]) .decision-table-hint { display: block; } }
  @container (max-width: 579px) { .gw-workspace .decision-table-scroll:has([data-plan-count="2"]) .decision-table-hint { display: block; } }
}
@media (max-width: 1050px) {
  .gw-workspace .gw-masthead { gap: 14px; }
  .gw-workspace .site-nav { gap: 4px 17px; }
  .gw-workspace .decision-section { grid-template-columns: 180px minmax(0,1fr); gap: 28px; }
  .gw-workspace .decision-add { grid-template-columns: 1fr 1fr; }
  .gw-workspace .decision-add button { grid-column: 1/-1; justify-self: start; }
  .gw-workspace .decision-hero { gap: 24px; }
  .gw-workspace .housing-directory .explorer-workspace { grid-template-columns: minmax(0,1fr) 250px; gap: 28px; }
  .gw-workspace .profile-content-grid { grid-template-columns: minmax(0,1fr) 285px; gap: 32px; }
  .gw-workspace .directory-overview { display: none; }
}
@media (max-width: 760px) {
  .gw-workspace .gw-masthead { display: flex; padding-block: 14px; min-height: 76px; }
  .gw-workspace .gw-brand { min-height: 32px; }
  .gw-workspace .gw-masthead > .site-nav { display: none; }
  .gw-workspace .gw-mobile-menu { display: block; margin: 0 0 0 auto; }
  .gw-workspace .gw-mobile-menu > summary { display: flex; align-items: center; justify-content: center; gap: 12px; list-style: none; font-size: 14px; min-height: 44px; padding: 9px 13px; border: 1px solid var(--gw-input-line); border-radius: 6px; cursor: pointer; }
  .gw-workspace .gw-mobile-menu > summary::-webkit-details-marker { display: none; }
  .gw-workspace .gw-mobile-menu .site-nav { position: absolute; top: calc(100% - 5px); left: var(--gw-gutter); right: var(--gw-gutter); z-index: 30; display: block; padding: 12px 20px; margin: 0; background: var(--gw-surface); border: 1px solid var(--gw-line); border-radius: 8px; box-shadow: 0 10px 24px var(--gw-menu-shadow); }
  .gw-workspace .gw-mobile-menu .site-nav a { display: flex; min-height: 48px; font-size: 15px; border-bottom: 1px solid var(--gw-line); box-shadow: none; }
  .gw-workspace .gw-mobile-menu .site-nav a:last-child { border: 0; }
  .gw-workspace .gw-mobile-menu .site-nav a[aria-current] { color: var(--gw-accent); }
  .gw-workspace .site-nav a { min-height: 48px; white-space: nowrap; font-size: 13px; }
  .gw-workspace .gw-section-bar { gap: 14px; padding-right: 0; }
  .gw-workspace.gw-ownership .gw-section-bar { padding-right: var(--gw-gutter); }
  .gw-workspace.gw-ownership .gw-section-bar > nav { flex: 1; min-width: 0; }
  .gw-workspace.gw-ownership .gw-section-bar > button { flex: none; }
  .gw-workspace .gw-section-bar nav { gap: 23px; }
  .gw-workspace .gw-section-bar a { min-height: 49px; font-size: 13px; }
  .gw-workspace.gw-housing .gw-section-bar .gw-shortlist { display: none; }
  .gw-workspace .decision-hero { display: block; padding: 42px 0 0; }
  .gw-workspace .decision-hero h1 { font-size: clamp(42px,8.5vw,58px); max-width: 15ch; margin-bottom: 20px; }
  .gw-workspace .decision-hero .section-path { margin-bottom: 20px; }
  .gw-workspace .decision-hero-copy > p:not(.section-path) { font-size: 17px; }
  .gw-workspace .gw-hero-scene { display: none; }
  .gw-workspace .decision-hero nav { margin-top: 28px; display: flex; overflow-x: auto; gap: 24px; }
  .gw-workspace .decision-hero nav a { white-space: nowrap; min-height: 58px; font-size: 13px; padding-bottom: 15px; }
  .gw-workspace .decision-section { display: block; padding: 32px 0 36px; }
  .gw-workspace .decision-section-heading h2 { max-width: none; font-size: 28px; margin-bottom: 22px; }
  .gw-workspace .decision-add { display: grid; grid-template-columns: 1fr; gap: 18px; }
  .gw-workspace .decision-add button { width: 100%; }
  .gw-workspace .decision-selection { padding: 16px 12px; align-items: start; gap: 10px; }
  .gw-workspace .decision-selection > input { margin-top: 5px; }
  .gw-workspace .decision-selection label { font-size: 16px; }
  .gw-workspace .decision-selection label b { display: block; margin: 4px 0; }
  .gw-workspace .decision-selection button { font-size: 12px; }
  .gw-workspace .decision-input-grid, .gw-workspace .decision-columns, .gw-workspace .decision-feature-intro { grid-template-columns: 1fr; }
  .gw-workspace .decision-input-grid { gap: 20px; }
  .gw-workspace .decision-value-row { grid-template-columns: 1fr 1fr; gap: 8px 14px; }
  .gw-workspace .decision-value-row > label { grid-column: 1/-1; }
  .gw-workspace .decision-cost-table th, .gw-workspace .decision-cost-table td { padding: 16px 14px; }
  .gw-workspace .decision-features-table { min-width: 550px; }
  .gw-workspace #decision-feature-comparison { overflow-x: auto; }
  .gw-workspace .decision-actions { gap: 4px 22px; }
  .gw-workspace .decision-value-answer { padding: 22px; }
  .gw-workspace .decision-value-answer strong { font-size: 25px; }
  .gw-workspace .housing-directory .directory-hero { padding: 36px 0 26px; display: block; }
  .gw-workspace .directory-hero > div > p:last-child { font-size: 17px; }
  .gw-workspace .housing-directory .explorer-controls { padding: 18px; }
  .gw-workspace #filters { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 14px; }
  .gw-workspace #filters > label:first-child { grid-column: 1/-1; }
  .gw-workspace .housing-directory .explorer-controls:not(.filters-open) #filters > label:nth-child(n+4) { display: none; }
  .gw-workspace .housing-directory .explorer-controls.filters-open #filters > label:nth-child(n+4) { display: block; padding: 0; border: 0; grid-column: auto; }
  .gw-workspace .housing-directory .mobile-filters-toggle { font-size: 13px; }
  .gw-workspace .mobile-filters-toggle span { display: none; }
  .gw-workspace .housing-directory .search-start { display: block; padding-top: 18px; }
  .gw-workspace .housing-directory .search-start .small-label { display: none; }
  .gw-workspace .housing-directory .search-presets { gap: 4px 18px; }
  .gw-workspace .housing-directory .search-presets button { font-size: 12px; text-align: left; }
  .gw-workspace .housing-directory .explorer-workspace { display: block; }
  .gw-workspace .housing-directory .workspace-aside { display: block; margin-top: 40px; }
  .gw-workspace .housing-directory .browse-result-main { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .gw-workspace .browse-result-rate { text-align: left; }
  .gw-workspace .browse-result-rate > strong { display: inline-block; margin: 0 0 6px; }
  .gw-workspace .housing-directory .listing-tags { display: flex; }
  .gw-workspace .browse-result-actions { gap: 6px 20px; }
  .gw-workspace .browse-result-actions > a { width: 100%; }
  .gw-workspace .housing-directory .browse-result-name h3 { font-size: 27px; }
  .gw-workspace .browse-mobile-rail { background: var(--gw-paper); border-color: var(--gw-line); }
  .gw-workspace .browse-mobile-rail p, .gw-workspace .browse-mobile-rail button { font-size: 13px; }
  .gw-workspace .profile-main { padding-top: 16px; }
  .gw-workspace .profile-main .back-link { margin-bottom: 20px; }
  .gw-workspace .profile-heading { display: block; }
  .gw-workspace .profile-actions { margin-top: 20px; gap: 10px 18px; }
  .gw-workspace .profile-content-grid { display: block; }
  .gw-workspace .profile-content-grid > div + div { margin-top: 36px; }
  .gw-workspace .profile-quick-cost dl { grid-template-columns: 1fr; gap: 18px; }
  .gw-workspace .profile-quick-cost dl > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 4px 16px; }
  .gw-workspace .profile-quick-cost dd { margin: 0; font-size: 23px; }
  .gw-workspace .profile-quick-cost small { grid-column: 1/-1; }
  .gw-workspace .profile-price strong { font-size: 47px; }
  .gw-workspace .compare-tray { gap: 16px; padding: 14px 20px; }
  .gw-workspace #compare-names { display: none; }
  .gw-workspace .compare-tray > div + div { gap: 15px; }
  .gw-workspace .compare-tray .primary-button { font-size: 13px; padding-inline: 12px; }
  .gw-workspace dialog { padding: 22px; }
  .gw-workspace .course-hero { padding: 36px 0 26px; }
  .gw-workspace .course-dek { font-size: 17px; }
  .gw-workspace .course-search { padding: 18px; }
  .gw-workspace .course-search > div { gap: 9px; }
  .gw-workspace .course-search button { padding-inline: 16px; }
  .gw-workspace .course-search input { font-size: 16px; }
  .gw-workspace .department-grid { grid-template-columns: 1fr; }
  .gw-workspace .distribution-panel { padding: 18px; }
  .gw-workspace .distribution-controls { display: block; }
  .gw-workspace .distribution-controls label { display: block; margin-bottom: 9px; }
  .gw-workspace .distribution-controls select { width: 100%; }
  .gw-workspace .grade-chart { height: 210px; gap: 6px; }
  .gw-workspace .grade-share { font-size: 10px; }
  .gw-workspace .grade-letter { font-size: 12px; }
  .gw-workspace .answer-stats dd { font-size: 32px; }
  .gw-workspace .answer-stats dt { font-size: 12px; }
  .gw-workspace.gw-resources .query-hero { padding: 36px 0 28px; }
  .gw-workspace.gw-resources h1 { font-size: clamp(38px,8.5vw,52px); max-width: 20ch; }
  .gw-workspace.gw-resources .query-answer { font-size: 17px; }
  .gw-workspace.gw-resources .query-hero:has(>.gw-plate-art) { display: block; }
  .gw-workspace.gw-resources .query-hero > .gw-plate-art { width: 170px; max-width: 45%; margin: 24px 0 0 auto; }
  .gw-workspace.gw-resources .query-layout { display: block; }
  .gw-workspace.gw-resources .query-reading { font-size: 17px; line-height: 1.8; }
  .gw-workspace.gw-resources .query-reading h2 { font-size: 29px; }
  .gw-workspace.gw-resources .query-reading .query-tool { padding: 20px; }
  .gw-workspace.gw-resources .query-tool-fields { gap: 18px; }
  .gw-workspace.gw-resources [data-gpa-courses] .query-tool-fields { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr) auto; gap: 10px; }
  .gw-workspace.gw-resources [data-gpa-courses] fieldset { padding-block: 16px; }
  .gw-workspace.gw-resources [data-gpa-courses] button { grid-column: auto; align-self: end; min-width: 58px; padding-inline: 10px; font-size: 12px; }
  .gw-workspace.gw-resources .query-tool button { padding: 11px 14px; }
  .gw-workspace .gw-featured-tools { display: block; margin-bottom: 30px; }
  .gw-workspace .gw-featured-tools > a, .gw-workspace .gw-featured-tools > a:first-child, .gw-workspace .gw-featured-tools > a:last-child { padding: 22px 0; border: 0; border-bottom: 1px solid var(--gw-line); }
  .gw-workspace .gw-featured-tools > a:last-child { border: 0; }
  .gw-workspace .gw-featured-tools strong { font-size: 23px; margin-bottom: 9px; }
  .gw-workspace .gw-featured-tools > a > span { max-width: 38ch; }
  .gw-workspace.gw-resources .ut-hub-dates ol { display: block; }
  .gw-workspace.gw-resources .ut-guide-index > section { padding-block: 30px; }
  .gw-workspace.gw-resources .ut-guide-index li { grid-template-columns: 1fr; gap: 10px; }
  .gw-workspace.gw-resources .ut-guide-index li a { font-size: 21px; }
  .gw-workspace.gw-resources .ut-guide-index li p { font-size: 16px; }
  .gw-workspace .field-guide-hero h1, .gw-workspace .student-hero h1 { font-size: 41px; }
  .gw-workspace .student-filters { padding: 18px; gap: 18px 14px; }
}
@media print {
  .gw-workspace { background: var(--gw-surface); font-size: 11pt; }
  .gw-workspace .gw-masthead, .gw-workspace .gw-section-bar, .gw-workspace .gw-hero-scene { display: none; }
  .gw-workspace .decision-main { max-width: none; padding: 0; }
  .gw-workspace .decision-hero { display: block; padding: 0; }
  .gw-workspace .decision-section { display: block; padding: 20px 0; }
  .gw-workspace .decision-section-heading h2 { margin-bottom: 15px; }
  .gw-workspace .decision-table-scroll { overflow: visible; border: 0; }
  .gw-workspace .decision-cost-table[data-plan-count] { min-width: 0; font-size: 10pt; }
  .gw-workspace .decision-cost-table td > strong { overflow-wrap: anywhere; }
  .gw-workspace .decision-cost-table tr { break-inside: avoid; }
  .gw-workspace .decision-cost-table th, .gw-workspace .decision-cost-table td { padding: 10px; }
  .gw-workspace .decision-cost-table td > strong { font-size: 13pt; }
  .gw-workspace .decision-cost-table .decision-total td > strong { font-size: 19pt; }
  .gw-workspace .decision-features-table { min-width: 0; }
  .gw-workspace #decision-feature-comparison { overflow: visible; }
}
