/* 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(22px, 4.4vw, 64px);
  --gw-width: 1328px;
  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; }
/* The shared masthead is owned by system.css across every page family. */
.gw-workspace .gw-section-bar { border-bottom: 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-accent); color: var(--gw-surface); border: 1px solid var(--gw-accent); 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); border-color: 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: 72px 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: var(--gw-h1); font-weight: 400; 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: 56px 0 64px; scroll-margin-top: 24px; }
.gw-workspace .decision-section-heading h2 { font-size: 28px; font-weight: 400; 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: 400; 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: 400; }
.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: 400; }
.gw-workspace .decision-value-answer p { font-size: 14px; line-height: 1.75; }
.gw-workspace #decision-market h3 { font-size: 23px; font-weight: 400; 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: 72px 0 40px; align-items: center; gap: 40px; }
.gw-workspace .directory-hero h1 { font-size: var(--gw-h1); font-weight: 400; 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: 0; border-bottom: 1px solid var(--gw-line); border-radius: 0; background: transparent; padding: 0 0 28px; 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: 400; 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: 32px 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: 400; 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: 34px; font-weight: 400; line-height: 1.15; letter-spacing: -.04em; 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; color: var(--gw-accent); font-weight: 500; }
.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: 400; }
.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: 400; }
.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: var(--gw-h1); font-weight: 400; 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: clamp(46px, 4.6vw, 64px); line-height: 1.15; letter-spacing: -.05em; font-weight: 400; }
.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: 400; 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: 400; }
.gw-workspace .profile-main h3 { font-size: 22px; font-weight: 400; 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: 400; }
.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: 72px 0 40px; }
.gw-workspace.gw-courses h1 { font-size: var(--gw-h1); font-weight: 400; 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: var(--gw-h2); font-weight: 400; line-height: 1.15; letter-spacing: -.035em; }
.gw-workspace.gw-courses h3 { font-size: 23px; font-weight: 400; }
.gw-workspace .course-search { max-width: 820px; padding: 0; border: 0; background: transparent; margin: 0 0 48px; }
.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-accent); color: var(--gw-surface); font-size: 15px; font-weight: 400; border: 0; border-radius: 5px; 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-status:not(:empty) { padding-block: 14px; border-bottom: 1px solid var(--gw-line); }
.gw-workspace #search-status button { background: transparent; color: var(--gw-accent); padding: 8px 0; text-decoration: underline; text-underline-offset: 4px; }
.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: 400; }
.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: 400; 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: 72px 0 48px; max-width: none; }
.gw-workspace.gw-resources h1 { font-size: var(--gw-h1); font-weight: 400; 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-accent); border-radius: 5px; background: var(--gw-accent); 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; max-height: calc(100dvh - 48px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scroll-padding-block: 8px; }
.gw-workspace.gw-resources .query-rail h2 { font-size: 12px; letter-spacing: .06em; }
.gw-workspace.gw-resources .query-rail li { border: 0; }
.gw-workspace.gw-resources .query-rail li a { min-height: 48px; padding-block: 14px; }
.gw-workspace.gw-resources :is(.query-rail,.query-mobile-contents) a[aria-current="location"] { color: var(--gw-accent); font-weight: 500; }
.gw-workspace.gw-resources .query-rail a[aria-current="location"]::before { color: var(--gw-accent); }
.gw-workspace.gw-resources .gw-reader-current { display: none; }
.gw-workspace.gw-resources .query-reading { max-width: 68ch; font-size: 18px; line-height: 1.8; }
.gw-workspace.gw-resources .query-reading section { border-color: var(--gw-line); padding: 44px 0 36px; }
.gw-workspace.gw-resources .query-reading h2 { font-size: var(--gw-h2); line-height: 1.15; font-weight: 400; letter-spacing: -.035em; margin-bottom: 22px; text-wrap: initial; }
.gw-workspace.gw-resources .query-reading h3 { font-size: 23px; font-weight: 400; }
.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: 400; line-height: 1.2; margin: 0 0 18px; }
.gw-workspace.gw-resources .query-tool h4 { font-size: 21px; font-weight: 400; }
.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-accent); color: var(--gw-surface); border: 1px solid var(--gw-accent); 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)); gap: 32px; margin: 0 0 52px; border-block: 0; }
.gw-workspace .gw-featured-tools > a { padding: 28px 0; border-top: 1px solid var(--gw-line); border-right: 0; 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: 400; 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: 34ch; 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 12px; 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: 52px; border-color: var(--gw-line); }
.gw-workspace.gw-resources .ut-guide-index h2 { font-size: var(--gw-h2); font-weight: 400; margin-bottom: 28px; }
.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: 400; 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: var(--gw-h1); line-height: 1.1; letter-spacing: -.05em; font-weight: 400; }
.gw-workspace.gw-ownership .profile-hero, .gw-workspace.gw-ownership .text-hero { padding-top: 72px; }
.gw-workspace.gw-ownership h2 { font-size: var(--gw-h2); font-weight: 400; letter-spacing: -.035em; line-height: 1.15; }
.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: 72px 40px; }
.gw-workspace .field-guide-hero h1, .gw-workspace .student-hero h1 { font-size: var(--gw-h1); font-weight: 400; 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: 400; }
.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: 0; border-bottom: 1px solid var(--gw-line); border-radius: 0; padding: 28px 0; }
.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: 400; 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(max-width:800px){
  .gw-workspace.gw-resources .query-mobile-contents { margin-bottom: 24px; border-top: 0; border-bottom: 1px solid var(--gw-line); background: var(--gw-paper); }
  /* Only the enhanced disclosure closes after selection. A native, open
     no-JavaScript list must scroll away rather than cover its destination. */
  .gw-workspace.gw-resources .query-mobile-contents:has(.gw-reader-current) { position: sticky; top: 0; z-index: 8; }
  .gw-workspace.gw-resources .query-mobile-contents > summary { display: flex; align-items: center; gap: 16px; min-height: 56px; padding-block: 14px; list-style: none; font-size: 14px; font-weight: 400; }
  .gw-workspace.gw-resources .query-mobile-contents > summary::-webkit-details-marker { display: none; }
  .gw-workspace.gw-resources .query-mobile-contents > summary::after { content: '⌄'; margin-left: auto; color: var(--gw-muted); font-size: 18px; }
  .gw-workspace.gw-resources .query-mobile-contents[open] > summary::after { content: '⌃'; }
  .gw-workspace.gw-resources .query-mobile-contents .gw-reader-current { display: block; min-width: 0; max-width: 55%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin: 0 0 0 auto; color: var(--gw-muted); font-size: 12px; font-weight: 400; }
  .gw-workspace.gw-resources .query-mobile-contents .gw-reader-current:empty { display: none; }
  .gw-workspace.gw-resources .query-mobile-contents > nav { max-height: min(65dvh,440px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; padding-inline: 3px; }
  .gw-workspace.gw-resources .query-reading :is(section[id],h2[id],h3[id]) { scroll-margin-top: 80px; }
}
@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 .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-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: 26px 0 20px; display: block; }
  .gw-workspace .directory-hero > div > p:last-child { font-size: 17px; }
  .gw-workspace .housing-directory .explorer-controls { padding: 0 0 16px; }
  .gw-workspace #filters { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 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: block; margin: 8px 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: 10px; }
  .gw-workspace .profile-heading { display: block; }
  .gw-workspace .profile-actions { margin-top: 12px; gap: 6px 14px; }
  .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: 44px 0 32px; }
  .gw-workspace .course-dek { font-size: 17px; }
  .gw-workspace .course-search { padding: 0; }
  .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: 40px; }
  .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; }
}

/* Only a genuinely overflowing table needs a scrolling instruction. */
.gw-workspace .query-table-hint{display:none}.gw-workspace .query-table[data-overflow="true"]>.query-table-hint{display:block}

/* The listing owns the details; its identified model is a quiet companion. */
.gw-workspace .gw-listing-figure{display:block;float:right;width:168px;margin:0 0 8px 24px;text-decoration:none;color:var(--gw-muted)}.gw-listing-figure img{display:block;width:100%;height:150px;object-fit:contain}.gw-listing-figure span{font-size:12px;display:flex;justify-content:space-between;gap:8px;min-height:32px;align-items:center}.gw-workspace .gw-profile-figure{display:block;width:220px;flex:none;margin:0 0 0 auto}.gw-profile-figure img{width:100%;height:190px;object-fit:contain;display:block}.gw-profile-figure span{font-size:13px;display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:36px}
@media(max-width:700px){.gw-workspace .housing-directory .search-start{display:none}.gw-workspace .directory-evidence-notes{margin:8px 0 18px}.gw-workspace .housing-directory .results-toolbar{padding-bottom:12px}.gw-workspace .profile-main{padding-top:12px}.gw-workspace .profile-main .back-link{margin-bottom:6px;min-height:36px}.gw-workspace .profile-heading{gap:12px;padding-bottom:12px}.gw-workspace .profile-heading .section-path{margin-bottom:8px;font-size:12px}.gw-workspace .profile-heading h1{margin-bottom:8px}.gw-workspace .profile-main>.evidence-strip{padding:8px 0 12px;margin-bottom:14px}.gw-workspace .profile-main>.evidence-strip p{font-size:12px;line-height:1.55}.gw-workspace .profile-plan{margin-bottom:12px}.gw-workspace .profile-reading-nav{margin:4px 0 12px}.gw-workspace .profile-reading-nav>summary{min-height:40px}.gw-workspace .gw-listing-figure{width:112px;margin-left:16px}.gw-listing-figure img{height:112px}.gw-workspace .gw-profile-figure{width:126px;margin-left:12px;align-self:center}.gw-profile-figure img{height:130px}.gw-profile-figure span{font-size:12px}}

.gw-quick-starts{margin:8px 0}.gw-quick-starts>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:13px;color:var(--gw-muted);gap:12px}.gw-quick-starts>summary::after{content:'+';margin-left:auto}.gw-quick-starts[open]>summary::after{content:'−'}.gw-workspace .housing-directory .gw-quick-starts .search-start{display:flex;padding-top:0}

@media(max-width:700px){.gw-workspace .profile-heading:has(.gw-profile-figure){display:grid;grid-template-columns:minmax(0,1fr) 126px;gap:12px}.gw-workspace .profile-heading:has(.gw-profile-figure)>div:first-child{grid-column:1;grid-row:1;min-width:0}.gw-workspace .profile-heading:has(.gw-profile-figure)>.profile-actions{grid-column:1/-1;grid-row:2}.gw-workspace .profile-heading:has(.gw-profile-figure)>.gw-profile-figure{grid-column:2;grid-row:1;margin:0}}
/* Use the native reader's real state, including its city/focus controls. */
.housing-city-page.native-city-ready.native-city-expanded:not(.native-city-revealed),.housing-city-page.native-city-ready.native-city-expanded:not(.native-city-revealed) body{height:auto;min-height:100%;overflow:auto;background:var(--gw-paper)}
.housing-city-page.native-city-ready.native-city-expanded:not(.native-city-revealed) .native-city-world{visibility:hidden}
.housing-city-page.native-city-ready.native-city-expanded:not(.native-city-revealed) .native-city-panel{position:relative;inset:auto;width:100%;max-width:none;max-height:none;overflow:visible;border:0;background:var(--gw-paper);box-shadow:none;margin:0}
.housing-city-page.native-city-expanded:not(.native-city-revealed) .native-city-panel-bar{position:relative;top:auto;min-height:48px;max-width:1320px;margin:auto;padding:0 var(--gw-gutter);border-top:1px solid var(--gw-rule);border-bottom:1px solid var(--gw-rule);background:var(--gw-paper)}
.housing-city-page.native-city-expanded .native-city-panel-title{font-size:11px;color:var(--gw-muted)}
.housing-city-page.native-city-expanded .native-city-panel-actions{gap:24px}.housing-city-page.native-city-expanded .native-city-panel-actions button{font-size:12px;min-height:44px;color:var(--gw-ink)}
.housing-city-page.native-city-expanded:not(.native-city-revealed) .native-city-panel>main,.housing-city-page.native-city-expanded:not(.native-city-revealed) .native-city-panel>main.profile-main{max-width:1320px;padding:24px var(--gw-gutter) 56px;margin:auto}
.housing-city-page.native-city-expanded .native-city-panel .directory-hero{padding:32px 0 28px}.housing-city-page.native-city-expanded .native-city-panel .directory-overview{display:none}
.housing-city-page.native-city-expanded .native-city-panel h1{font-size:var(--gw-h1);font-weight:400;letter-spacing:-.045em;line-height:1.1}
.housing-city-page.native-city-expanded .native-city-panel .profile-heading:has(.gw-profile-figure){display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px 28px;align-items:center}
.housing-city-page.native-city-expanded .native-city-panel .profile-heading>div:first-child{grid-column:1;grid-row:1}.housing-city-page.native-city-expanded .native-city-panel .profile-actions{grid-column:1/-1;grid-row:2;margin-top:0;display:flex;flex-wrap:wrap;gap:12px 20px}
.housing-city-page.native-city-expanded .native-city-panel .gw-profile-figure{grid-column:2;grid-row:1;margin:0}
.housing-city-page.native-city-expanded .native-city-panel .profile-heading .section-path{font-size:11px;line-height:1.6;margin-bottom:10px}.housing-city-page.native-city-expanded .native-city-panel .profile-heading h1{margin-bottom:12px}
.housing-city-page.native-city-expanded .native-city-panel .profile-main>.back-link{margin-bottom:12px;min-height:36px}.housing-city-page.native-city-expanded .native-city-panel .profile-main>.evidence-strip{margin:0 0 18px;padding:12px 0 16px}.housing-city-page.native-city-expanded .native-city-panel .profile-price strong{font-size:clamp(46px,4.6vw,64px);font-weight:400;line-height:1.15;letter-spacing:-.05em}
.housing-city-page.native-city-ready:is(:not(.native-city-expanded),.native-city-revealed) body>.gw-masthead{position:fixed;inset:0 0 auto;z-index:30;min-height:80px;background:var(--gw-paper)}
.housing-city-page.native-city-ready:is(:not(.native-city-expanded),.native-city-revealed) body>.gw-section-bar{display:none}
@media(max-width:700px){.housing-city-page.native-city-expanded:not(.native-city-revealed) .native-city-panel>main,.housing-city-page.native-city-expanded:not(.native-city-revealed) .native-city-panel>main.profile-main{padding-top:16px}.housing-city-page.native-city-expanded .native-city-panel .directory-hero{padding:16px 0 22px}.housing-city-page.native-city-expanded .native-city-panel .profile-heading:has(.gw-profile-figure){grid-template-columns:minmax(0,1fr) 116px;gap:12px}.housing-city-page.native-city-expanded .native-city-panel .gw-profile-figure{width:116px}.housing-city-page.native-city-expanded .native-city-panel .profile-heading h1{font-size:34px}.housing-city-page.native-city-expanded .native-city-panel .profile-main>.back-link{margin-bottom:8px}.housing-city-page.native-city-expanded .native-city-panel .profile-main>.evidence-strip{padding:8px 0 10px;margin-bottom:12px}.housing-city-page.native-city-expanded .native-city-panel .profile-main>.evidence-strip p{font-size:12px;line-height:1.55}.housing-city-page.native-city-expanded .native-city-panel .profile-price strong{font-size:47px}.housing-city-page.native-city-expanded .native-city-panel-bar{padding-inline:20px}.housing-city-page.native-city-expanded .native-city-panel-actions{gap:16px}}
.housing-city-page.native-city-expanded .native-city-panel{color:var(--gw-ink);font-family:var(--gw-font)}
.housing-city-page.native-city-expanded .native-city-panel .housing-directory .explorer-controls:not(.filters-open){position:static;background:transparent;padding-inline:0}
.housing-city-page.native-city-expanded .native-city-panel #filters>label:nth-child(n){padding:0}
.housing-city-page.native-city-expanded .native-city-panel .profile-price+.evidence-strip{margin:12px 0 20px;padding:12px 0;border-top:1px solid var(--gw-rule);font-size:12px;line-height:1.6}
@media(max-width:700px){.housing-city-page.native-city-expanded:not(.native-city-revealed) body>.gw-section-bar{display:none}.housing-city-page.native-city-expanded .data-reading-index summary{min-height:40px;padding-block:8px}.housing-city-page.native-city-expanded .native-city-panel>main.profile-main{padding-top:12px}}
.housing-city-page.native-city-expanded .native-city-panel .housing-directory .results-tools{display:flex;align-items:center;gap:12px}
.housing-city-page.native-city-expanded .native-city-panel .housing-directory .results-tools .sort-control{min-width:0;max-width:none;flex:1}
.housing-city-page.native-city-expanded .native-city-panel .housing-directory .results-tools .sort-control select{width:100%;max-width:100%;min-width:0}
.housing-city-page.native-city-expanded .native-city-panel .housing-directory .results-tools>.icon-button{flex:0 0 44px}
