/* 給与と暮らしを、計算・内訳・住まいの図でつなぐ。 */
[data-page="taigu"] { --tg-ink:#183c3f; --tg-main:#0f5f66; --tg-muted:#45686b; --tg-line:#bdd9d8; }
.tg-hero { background:#edf8f7; padding-bottom:0; }
.tg-hero > .wrap { width:min(1280px,calc(100% - 64px)); }
.tg-hero__layout { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:48px; padding:18px 0 48px; }
.tg-hero h1 { font-size:clamp(40px,4.5vw,64px); line-height:1.45; letter-spacing:-.035em; margin:0 0 30px; text-wrap:initial; }
.tg-hero h1 em { color:var(--tg-main); font-style:normal; white-space:nowrap; }
.tg-hero__lead { font-size:20px; font-weight:700; line-height:1.85; margin:0 0 24px; }
.tg-hero__body { font-size:14px; line-height:1.9; color:var(--tg-muted); margin:0; }
.tg-hero__visual { margin:0; }
.tg-drawing { display:block; width:100%; height:auto; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.tg-drawing__line { stroke:var(--tg-main); stroke-width:2; }
.tg-drawing__wash { fill:#d6f1f1; }
.tg-drawing__fill { fill:#78cdcf; }
.tg-drawing__paper-fill { fill:#fff; }
.tg-drawing__accent { stroke:var(--tg-main); stroke-width:3; }
.tg-hero__visual figcaption { font-size:14px; font-weight:700; color:var(--tg-main); text-align:center; margin-top:20px; }
.tg-hero__links { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--tg-line); }
.tg-hero__links a { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:26px 0; font-size:17px; font-weight:700; color:var(--tg-main); }
.tg-hero__links a:first-child { padding-right:40px; }
.tg-hero__links a + a { padding-left:40px; border-left:1px solid var(--tg-line); }
.tg-hero__links svg, .tg-text-link svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex:none; transition:transform .2s ease; }
.tg-hero__links a:hover svg { transform:translateY(4px); }
.tg-section { padding:88px 0; scroll-margin-top:86px; }
.tg-section--mint { background:#edf8f7; }
.tg-heading { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; margin-bottom:44px; }
.tg-heading h2 { font-size:clamp(27px,3vw,40px); line-height:1.5; color:var(--tg-ink); margin:0; }
.tg-heading > p,.tg-heading > div > p { font-size:16px; line-height:1.95; color:var(--tg-muted); margin:5px 0 0; }
.tg-heading > div > .tg-note,.tg-note { font-size:12px; line-height:1.9; color:var(--tg-muted); margin-top:16px; }
.tg-icon { width:64px; height:64px; fill:none; stroke:var(--tg-main); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; display:block; }
.tg-formula { display:grid; grid-template-columns:1fr 30px 1fr 30px 1.1fr; align-items:center; gap:24px; margin:0; }
.tg-formula > div { padding:24px 0; }
.tg-formula .tg-icon { margin-bottom:24px; }
.tg-formula strong { display:block; font-size:23px; color:var(--tg-main); line-height:1.6; }
.tg-formula p { margin:8px 0; font-size:14px; }
.tg-formula span { font-size:12px; color:var(--tg-muted); }
.tg-formula > .tg-formula__result { background:#edf8f7; padding:28px; }
.tg-operator { width:24px; height:24px; fill:none; stroke:var(--tg-main); stroke-width:1.6; }
.tg-salary-notes { display:grid; grid-template-columns:1fr 1fr; gap:32px; padding:24px 0; margin-top:24px; border-top:1px solid var(--tg-line); }
.tg-salary-notes p { font-size:13px; color:var(--tg-muted); margin:0; line-height:1.9; }
.tg-text-link { display:inline-flex; gap:22px; align-items:center; font-size:14px; line-height:1.8; min-height:44px; font-weight:700; color:var(--tg-main); text-underline-offset:5px; }
.tg-text-link:hover svg { transform:translateX(4px); }
.tg-text-link:focus-visible,.tg-hero__links a:focus-visible { outline:3px solid var(--c-orange); outline-offset:4px; }
.tg-example-basis { padding-top:16px; }
.tg-example-basis span { margin:0 10px; }
.tg-pay-chart { margin:0 0 20px; }
.tg-pay-legend { display:flex; align-items:center; gap:26px; margin-bottom:20px; font-size:12px; color:var(--tg-muted); }
.tg-pay-legend > span { display:flex; align-items:center; gap:8px; }
.tg-swatch { width:16px; height:10px; display:inline-block; }
.tg-swatch--base { background:var(--tg-main); }
.tg-swatch--allowance { background:#f98607; }
.tg-pay-row { display:grid; grid-template-columns:1fr auto; column-gap:30px; row-gap:12px; padding:28px 0; border-top:1px solid var(--tg-line); }
.tg-pay-row__label h3 { font-size:24px; line-height:1.6; margin:0; }
.tg-pay-row__label p { font-size:13px; color:var(--tg-muted); margin:6px 0 0; }
.tg-pay-row__number { display:flex; align-items:baseline; gap:10px; color:var(--tg-main); }
.tg-pay-row__number strong { font-family:var(--f-num); font-size:clamp(40px,4.5vw,60px); letter-spacing:-.02em; line-height:1.15; font-variant-numeric:tabular-nums; }
.tg-pay-row__number > span { font-size:13px; white-space:nowrap; }
.tg-pay-bar { grid-column:1/-1; display:flex; height:34px; background:#d6f1f1; margin-top:8px; }
.tg-pay-bar__base { display:block; flex:0 0 88.57142857%; background:var(--tg-main); transform-origin:left; }
.tg-pay-bar__allowance { display:block; flex:0 0 11.42857143%; background:#f98607; transform-origin:left; }
.tg-pay-row__detail { grid-column:1/-1; margin:0; font-size:13px; color:var(--tg-muted); }
.tg-pay-row__detail > span { padding-inline:8px; }
.tg-pay-chart figcaption { margin-top:10px; font-size:12px; line-height:1.9; color:var(--tg-muted); max-width:80em; }
.tg-benefits { margin-bottom:20px; }
.tg-benefits article { display:grid; grid-template-columns:72px 280px 1fr; gap:32px; align-items:start; border-top:1px solid var(--tg-line); padding:30px 0; }
.tg-benefits h3 { font-size:22px; line-height:1.6; margin:0; }
.tg-benefits h3 span { display:block; font-size:14px; font-weight:500; color:var(--tg-muted); margin-top:6px; }
.tg-benefits p { font-size:15px; line-height:1.9; margin:0; }
.tg-benefits p.tg-note { font-size:12px; margin-top:8px; }
.tg-dorm { display:grid; grid-template-columns:1fr 1.1fr; gap:72px; align-items:center; }
.tg-dorm__visual p { font-size:11px; line-height:1.8; color:var(--tg-muted); margin:18px 0 0; text-align:center; }
.tg-dorm__support h3 { font-size:23px; margin:0 0 20px; }
.tg-dorm__support dl { margin:0; }
.tg-dorm__support dl > div { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 0; border-top:1px solid var(--tg-line); }
.tg-dorm__support dt { font-weight:700; font-size:17px; }
.tg-dorm__support dt span { display:block; font-size:12px; font-weight:400; color:var(--tg-muted); margin-top:4px; }
.tg-dorm__support dd { margin:0; white-space:nowrap; color:var(--tg-main); font-size:14px; }
.tg-dorm__support dd strong { font-family:var(--f-num); font-size:48px; letter-spacing:-.03em; line-height:1.2; margin-inline:6px; }
.tg-travel { display:grid; grid-template-columns:1fr 1fr; gap:72px; padding-top:40px; margin-top:40px; border-top:1px solid var(--tg-line); }
.tg-travel h3 { font-size:20px; margin:0 0 12px; }
.tg-travel p { font-size:14px; line-height:1.9; margin:0; color:var(--tg-muted); }
.tg-checklist { list-style:none; padding:0; margin:0 0 24px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.tg-checklist li { border-top:1px solid var(--tg-line); padding-top:24px; }
.tg-checklist li > span { font-size:21px; font-weight:700; color:var(--tg-main); }
.tg-checklist p { font-size:14px; margin:12px 0 0; line-height:1.9; }
@media (max-width:1100px) {
 .tg-hero h1 { font-size:clamp(38px,4.3vw,50px); }
 .tg-hero__layout { gap:28px; }
 .tg-formula { gap:16px; }
 .tg-formula strong { font-size:20px; }
 .tg-benefits article { grid-template-columns:60px 220px 1fr; gap:24px; }
 .tg-dorm { gap:40px; }
}
@media (max-width:800px) {
 .tg-hero > .wrap { width:calc(100% - 40px); }
 .tg-hero__layout { grid-template-columns:1fr; gap:32px; padding-bottom:32px; }
 .tg-hero h1 { font-size:clamp(32px,8.2vw,56px); }
 .tg-hero__visual { max-width:480px; width:100%; margin-inline:auto; }
 .tg-hero__lead { font-size:18px; }
 .tg-heading { grid-template-columns:1fr; gap:22px; margin-bottom:32px; }
 .tg-heading > p,.tg-heading > div > p { font-size:15px; margin:0; }
 .tg-heading > div > .tg-note { font-size:12px; margin-top:16px; }
 .tg-formula { grid-template-columns:1fr 24px 1fr; gap:20px; }
 .tg-formula > svg:nth-of-type(2) { grid-column:1/-1; justify-self:center; }
 .tg-formula__result { grid-column:1/-1; text-align:center; }
 .tg-formula__result .tg-icon { margin:0 auto 12px; }
 .tg-benefits article { grid-template-columns:60px 1fr; gap:12px 24px; }
 .tg-benefits article > div { grid-column:2; }
 .tg-benefits article > .tg-icon { grid-row:1 / 3; }
 .tg-dorm { grid-template-columns:1fr; gap:28px; }
 .tg-dorm__visual { width:100%; max-width:400px; margin:auto; }
 .tg-travel { gap:32px; }
}
@media (max-width:560px) {
 .tg-section { padding:56px 0; }
 .tg-hero__body br { display:none; }
 .tg-hero__visual { max-width:380px; }
 .tg-hero__visual figcaption { font-size:12px; margin-top:10px; }
 .tg-hero__links a { font-size:13px; gap:8px; padding-block:22px; line-height:1.8; }
 .tg-hero__links a:first-child { padding-right:16px; }
 .tg-hero__links a + a { padding-left:16px; }
 .tg-hero__links svg { width:18px; height:18px; }
 .tg-formula { gap:12px; grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr); }
 .tg-formula strong { font-size:17px; }
 .tg-formula p { font-size:12px; }
 .tg-formula span { font-size:11px; }
 .tg-formula .tg-icon { width:52px; height:52px; margin-bottom:18px; }
 .tg-formula > div { padding:12px 0; }
 .tg-formula > .tg-formula__result { padding:24px; }
 .tg-formula__result .tg-icon { margin-inline:auto; }
 .tg-operator { width:18px; height:18px; }
 .tg-salary-notes { grid-template-columns:1fr; gap:10px; margin-top:28px; }
 .tg-pay-row { grid-template-columns:1fr; gap:14px; }
 .tg-pay-row__number strong { font-size:48px; }
 .tg-pay-row__label h3 { font-size:22px; }
 .tg-pay-row__detail { font-size:12px; line-height:1.9; }
 .tg-pay-row__detail > span { padding-inline:2px; }
 .tg-pay-bar { height:28px; }
 .tg-benefits article { grid-template-columns:48px minmax(0,1fr); column-gap:18px; }
 .tg-benefits .tg-icon { width:48px; height:48px; }
 .tg-benefits h3 { font-size:20px; }
 .tg-benefits p { font-size:14px; }
 .tg-dorm__support dd { font-size:12px; }
 .tg-dorm__support dd strong { font-size:40px; }
 .tg-dorm__support dt { font-size:15px; }
 .tg-travel { grid-template-columns:1fr; gap:28px; }
 .tg-checklist { grid-template-columns:1fr; gap:24px; }
 .tg-checklist li { padding-top:20px; }
}
@media (prefers-reduced-motion:reduce) {
 .tg-hero__links svg,.tg-text-link svg { transition:none; }
 .tg-hero__links a:hover svg,.tg-text-link:hover svg { transform:none; }
}

/* Annual perspective and a resident's choices, based on confirmed content. */
/* The four segments show the actual annual-income proportions, not a decorative progress bar. */
.tg-annual { padding-top:28px; border-top:1px solid var(--tg-line); }
.tg-annual__summary { display:grid; grid-template-columns:1.1fr 1fr; gap:56px; align-items:center; }
.tg-annual__label { margin:0; color:var(--tg-main); font-size:15px; font-weight:700; }
.tg-annual__amount { display:flex; align-items:baseline; gap:12px; color:var(--tg-main); margin:8px 0 32px; }
.tg-annual__amount strong { font-family:var(--f-num); font-size:clamp(96px,10vw,136px); font-weight:700; line-height:1.2; font-variant-numeric:tabular-nums; letter-spacing:-.03em; }
.tg-annual__amount span { font-size:25px; }
.tg-annual__conditions > p:not(.tg-note) { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 20px; margin:0 0 12px; }
.tg-annual__conditions strong { font-size:21px; color:var(--tg-main); }
.tg-annual__conditions span { font-size:13px; color:var(--tg-muted); }
.tg-annual__conditions > .tg-note { margin-top:16px; }
.tg-annual__stack { display:flex; gap:3px; height:36px; }
.tg-annual__stack > .tg-annual__base { flex:2790000; }
.tg-annual__stack > .tg-annual__field { flex:360000; }
.tg-annual__stack > .tg-annual__overtime { flex:508200; }
.tg-annual__stack > .tg-annual__bonus { flex:465000; }
.tg-annual__base { background:#0f5f66; }
.tg-annual__field { background:#4b989c; }
.tg-annual__overtime { background:#9cd4d3; }
.tg-annual__bonus { background:#f98607; }
.tg-annual__parts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin:26px 0 30px; }
.tg-annual__parts dt { display:flex; align-items:center; gap:9px; font-size:14px; font-weight:700; color:var(--tg-main); }
.tg-annual__parts i { display:inline-block; width:13px; height:13px; flex:none; }
.tg-annual__parts dd { font-size:13px; margin:8px 0 0; color:var(--tg-main); }
.tg-annual__parts strong { font-family:var(--f-num); font-size:38px; line-height:1.3; margin-right:4px; }
.tg-annual__parts small { display:block; margin:8px 0 0; color:var(--tg-muted); font-size:12px; line-height:1.8; }
.tg-annual__comparison { background:#edf8f7; padding:18px 24px; font-size:14px; line-height:1.9; color:var(--tg-main); margin:0; }
.tg-annual__comparison strong { display:inline-block; }
.tg-annual__calculation { border-block:1px solid var(--tg-line); margin-top:26px; }
.tg-annual__calculation summary { cursor:pointer; color:var(--tg-main); font-size:14px; font-weight:700; line-height:1.8; padding:20px 0; }
.tg-annual__calculation summary:focus-visible { outline:3px solid var(--c-orange); outline-offset:4px; }
.tg-annual__calculation > div { padding-bottom:24px; }
.tg-annual__calculation dl { margin:0; }
.tg-annual__calculation dl > div { display:grid; grid-template-columns:150px 1fr; gap:24px; padding:16px 0; border-top:1px solid var(--tg-line); }
.tg-annual__calculation dt { font-size:13px; font-weight:700; color:var(--tg-main); }
.tg-annual__calculation dd { font-size:13px; line-height:1.9; margin:0; }
#annual + #career { padding-top:24px; }
.tg-home-choice { margin:4px 0 64px; scroll-margin-top:100px; }
.tg-home-story { display:grid; grid-template-columns:1fr 1.1fr; gap:72px; align-items:center; padding:40px 0 56px; border-bottom:1px solid var(--tg-line); }
.tg-home-story + .tg-home-story { padding-top:56px; }
.tg-home-story--reverse { grid-template-columns:1.1fr 1fr; }
.tg-home-story--reverse .tg-home-story__art { grid-column:2; grid-row:1; }
.tg-home-story--reverse .tg-home-story__copy { grid-column:1; grid-row:1; }
.tg-home-story__art > p { font-size:11px; text-align:center; color:var(--tg-muted); margin:18px 0 0; line-height:1.8; }
.tg-home-story__copy h3 { font-size:clamp(25px,2.8vw,36px); line-height:1.55; color:var(--tg-main); margin:0 0 22px; }
.tg-home-story__copy > p { font-size:15px; line-height:1.95; margin:0 0 16px; }
.tg-home-story__copy > p.tg-note { font-size:12px; margin:20px 0 0; color:var(--tg-muted); }
.tg-choice-points { list-style:none; margin:22px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px 24px; }
.tg-choice-points li { font-size:13px; font-weight:700; color:var(--tg-main); padding:0 0 7px; border-bottom:1px solid var(--tg-line); }
@media (max-width:800px) {
 .tg-annual__summary { grid-template-columns:1fr; gap:0; }
 .tg-annual__conditions { margin-bottom:28px; }
 .tg-annual__conditions > .tg-note br { display:none; }
 .tg-annual__parts { gap:16px; }
 .tg-annual__parts strong { font-size:32px; }
 .tg-home-story,.tg-home-story--reverse { grid-template-columns:1fr; gap:28px; }
 .tg-home-story .tg-home-story__art { grid-column:1; grid-row:2; width:100%; max-width:480px; margin:auto; }
 .tg-home-story .tg-home-story__copy { grid-column:1; grid-row:1; }
 .tg-home-story__copy h3 { font-size:30px; }
}
@media (max-width:560px) {
 .tg-annual__amount { margin:8px 0 20px; gap:8px; }
 .tg-annual__amount strong { font-size:96px; }
 .tg-annual__amount span { font-size:21px; }
 .tg-annual__label { font-size:13px; }
 .tg-annual__conditions strong { font-size:18px; }
 .tg-annual__conditions span { font-size:12px; }
 .tg-annual__stack { height:28px; }
 .tg-annual__parts { grid-template-columns:1fr 1fr; gap:24px 16px; }
 .tg-annual__comparison { padding:16px 18px; font-size:13px; }
 .tg-annual__calculation dl > div { grid-template-columns:1fr; gap:8px; }
 .tg-home-choice { margin-bottom:36px; }
 .tg-home-story { padding:12px 0 36px; }
 .tg-home-story + .tg-home-story { padding-top:36px; }
 .tg-home-story__copy h3 { font-size:27px; }
 .tg-home-story__copy > p { font-size:14px; }
 .tg-home-story__copy > p br { display:none; }
 .tg-choice-points { gap:8px 18px; }
 .tg-choice-points li { font-size:12px; }
}

/* Income and housing form one offer; the supporting detail follows the decision. */
.tg-value-hero { background:#174e53; color:#fff; padding:24px 0 56px; }
.tg-value-hero .wrap { width:min(1280px,calc(100% - 64px)); }
.tg-value-hero .crumb,.tg-value-hero .crumb a { color:#d6f1f1; }
.tg-value-hero__layout { display:grid; grid-template-columns:1.2fr .8fr; gap:70px; align-items:center; padding:28px 0 0; }
.tg-value-hero h1 { color:#fff; font-size:clamp(34px,3.8vw,56px); line-height:1.5; letter-spacing:-.035em; margin:0 0 26px; text-wrap:initial; }
.tg-value-hero h1 em { font-style:normal; color:#a5dedf; white-space:nowrap; }
.tg-value-hero__lead { font-size:17px; line-height:1.95; color:#fff; margin:0 0 28px; }
.tg-value-hero__example { font-size:13px; line-height:1.8; color:#d6f1f1; margin:0; }
.tg-value-hero__example strong { display:block; font-size:28px; margin:7px 0 5px; color:#fff; }
.tg-value-hero__example > span { display:block; }
.tg-value-hero__note { font-size:11px; line-height:1.85; color:#d6f1f1; margin:18px 0 25px; }
.tg-value-hero__link,.tg-hero-home > a { display:inline-flex; gap:20px; align-items:center; min-height:44px; font-size:14px; color:#fff; font-weight:700; text-underline-offset:6px; }
.tg-value-hero__link svg,.tg-hero-home > a svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.6; transition:transform .2s ease; }
.tg-value-hero__link:hover svg { transform:translateY(4px); }
.tg-value-hero__link:focus-visible,.tg-hero-home > a:focus-visible { outline:3px solid #f98607; outline-offset:5px; }
.tg-hero-home { margin:0; text-align:center; max-width:430px; width:100%; justify-self:end; }
.tg-hero-home__roof { width:100%; height:45px; fill:none; stroke:#78cdcf; stroke-width:2; }
.tg-hero-home > p:first-of-type { font-size:17px; font-weight:700; margin:10px 0 8px; color:#fff; }
.tg-hero-home__zero { display:flex; justify-content:center; align-items:baseline; gap:18px; margin:0 0 12px; }
.tg-hero-home__zero strong { font-family:var(--f-num); font-size:96px; line-height:1; color:#f98607; }
.tg-hero-home__zero span { font-size:22px; font-weight:700; line-height:1.5; }
.tg-hero-home__zero span:first-child { align-self:center; font-size:17px; text-align:left; }
.tg-hero-home figcaption { font-size:15px; font-weight:700; color:#fff; }
.tg-hero-home .tg-drawing { width:90%; margin:16px auto 0; }
.tg-hero-home .tg-drawing__line { stroke:#d6f1f1; }
.tg-hero-home .tg-drawing__wash { fill:#245e63; }
.tg-hero-home > a { font-size:13px; gap:10px; margin-top:12px; }
.tg-hero-home > .tg-hero-home__note { font-size:10px; color:#d6f1f1; line-height:1.8; margin:8px auto 0; }
.tg-living-value { display:grid; grid-template-columns:1fr auto; gap:24px 48px; align-items:center; background:#edf8f7; padding:36px 40px; margin-top:32px; }
.tg-living-value > div:first-child { display:grid; grid-template-columns:64px 1fr; gap:12px 24px; align-items:center; }
.tg-living-value .tg-icon { grid-row:1/3; }
.tg-living-value h3 { font-size:26px; line-height:1.6; color:var(--tg-main); margin:0; }
.tg-living-value p { font-size:12px; line-height:1.9; margin:0; color:var(--tg-muted); }
.tg-living-value__amount { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; color:var(--tg-main); max-width:310px; }
.tg-living-value__amount > span { font-size:16px; }
.tg-living-value__amount strong { font-family:var(--f-num); font-size:88px; line-height:1.2; }
.tg-living-value__amount small { flex:0 0 100%; font-size:12px; text-align:right; }
.tg-living-value > .tg-living-value__total { grid-column:1/-1; width:100%; max-width:none; padding-top:24px; border-top:1px solid var(--tg-line); font-size:17px; color:var(--tg-main); }
.tg-living-value__total strong { font-size:23px; display:inline-block; }
.tg-living-value__total span { display:block; margin-top:10px; color:var(--tg-muted); font-size:11px; }
.tg-home-budget { display:grid; grid-template-columns:1fr 1fr; gap:64px; background:#fff; padding:42px; }
.tg-home-budget__control h3 { font-size:24px; color:var(--tg-main); line-height:1.65; margin:0 0 32px; }
.tg-home-budget__control label { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; justify-content:space-between; font-size:13px; font-weight:700; }
.tg-home-budget__control output { font-family:var(--f-num); font-size:28px; font-weight:700; color:var(--tg-main); }
.tg-home-budget__control input { display:block; width:100%; height:44px; margin:10px 0 0; accent-color:var(--tg-main); cursor:pointer; }
.tg-home-budget__control input:focus-visible { outline:3px solid #f98607; outline-offset:5px; }
.tg-home-budget__scale { display:flex; justify-content:space-between; font-size:11px; color:var(--tg-muted); }
.tg-home-budget__result > p:first-child { font-size:15px; font-weight:700; color:var(--tg-main); margin:0 0 12px; }
.tg-home-budget__zero { display:flex; gap:12px; align-items:baseline; color:var(--tg-main); margin-bottom:28px; }
.tg-home-budget__zero strong { font-family:var(--f-num); font-size:76px; line-height:1.1; font-variant-numeric:tabular-nums; }
.tg-home-budget__zero span { font-size:15px; white-space:nowrap; }
.tg-home-budget__bar { height:24px; display:flex; background:#d6f1f1; }
#rent-company-bar { flex:1; background:var(--tg-main); }
#rent-self-bar { flex:0 0 0%; background:#f98607; transition:flex-basis .25s ease; }
.tg-home-budget__result dl { margin:18px 0 0; }
.tg-home-budget__result dl > div { display:flex; justify-content:space-between; gap:12px; font-size:13px; margin-top:12px; }
.tg-home-budget__result dt { display:flex; align-items:center; gap:8px; }
.tg-home-budget__result dt::before { content:''; width:10px; height:10px; background:var(--tg-main); }
.tg-home-budget__result dl > div + div dt::before { background:#f98607; }
.tg-home-budget__result dd { margin:0; font-weight:700; font-variant-numeric:tabular-nums; }
.tg-home-budget__message { font-size:12px; color:var(--tg-muted); margin:22px 0 0; line-height:1.8; min-height:3.6em; }
.tg-dorm-levels { display:grid; grid-template-columns:1fr 1fr; gap:64px; margin-top:40px; }
.tg-dorm-levels > div { border-top:1px solid var(--tg-line); padding-top:24px; }
.tg-dorm-levels h3 { font-size:18px; margin:0 0 12px; }
.tg-dorm-levels p { font-size:12px; color:var(--tg-muted); margin:0; }
.tg-dorm-levels span { display:block; color:var(--tg-main); margin-top:4px; font-size:17px; }
.tg-dorm-levels strong { font-family:var(--f-num); font-size:54px; line-height:1.4; margin:0 8px; }
.tg-home-budget__costs { max-width:none; }
.tg-home-choice { margin-top:88px; }
.tg-home-choice__heading { padding-top:40px; border-top:1px solid var(--tg-line); }
.tg-income-flow { display:grid; grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr); gap:24px; }
.tg-income-flow article { padding:28px; background:#edf8f7; }
.tg-income-flow article:last-child { background:#174e53; color:#fff; }
.tg-income-flow h3 { font-size:23px; line-height:1.6; margin:0 0 6px; }
.tg-income-flow__stage { font-size:12px; margin:0 0 24px; color:var(--tg-muted); }
.tg-income-flow__value { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px; color:var(--tg-main); margin:0 0 24px; }
.tg-income-flow__value span:first-child { flex:0 0 100%; font-size:13px; }
.tg-income-flow__value strong { font-family:var(--f-num); font-size:clamp(36px,4.2vw,58px); line-height:1.25; letter-spacing:-.025em; }
.tg-income-flow__value span:last-child { font-size:15px; }
.tg-income-flow dl { margin:0; min-height:115px; }
.tg-income-flow dl > div { display:flex; justify-content:space-between; gap:12px; margin:10px 0; font-size:13px; }
.tg-income-flow dd { margin:0; font-variant-numeric:tabular-nums; font-weight:700; }
.tg-income-flow__home { font-size:11px; line-height:1.9; border-top:1px solid var(--tg-line); margin:18px 0 0; padding-top:18px; }
.tg-income-flow article:last-child .tg-income-flow__stage { color:#d6f1f1; }
.tg-income-flow article:last-child .tg-income-flow__value { color:#fff; }
.tg-income-flow__arrow { display:flex; align-items:center; }
.tg-income-flow__arrow svg { width:100%; fill:none; stroke:var(--tg-main); stroke-width:2; }
.tg-income-flow__retry { display:flex; flex-wrap:wrap; gap:20px 40px; align-items:center; justify-content:space-between; border-block:1px solid var(--tg-line); padding:24px 0; margin:28px 0 16px; }
.tg-income-flow__retry p { font-size:13px; line-height:1.9; color:var(--tg-muted); margin:0; }
.tg-income-flow__retry strong { font-size:17px; color:var(--tg-main); }
@media (max-width:1100px) {
 .tg-value-hero__layout { gap:36px; }
 .tg-value-hero__lead { font-size:15px; }
 .tg-living-value { padding:30px; }
 .tg-home-budget { padding:32px; gap:40px; }
 .tg-income-flow { gap:16px; grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr); }
 .tg-income-flow article { padding:24px; }
}
@media (max-width:800px) {
 .tg-value-hero .wrap { width:calc(100% - 40px); }
 .tg-value-hero__layout { grid-template-columns:1fr; gap:40px; }
 .tg-value-hero h1 { font-size:clamp(30px,6.3vw,48px); }
 .tg-value-hero__lead br { display:none; }
 .tg-hero-home { justify-self:center; max-width:380px; }
 .tg-value-hero__note br { display:none; }
 .tg-home-budget { grid-template-columns:1fr; gap:36px; }
 .tg-home-budget__result { padding-top:28px; border-top:1px solid var(--tg-line); }
 .tg-living-value { grid-template-columns:1fr; gap:20px; }
 .tg-living-value__amount { max-width:none; }
 .tg-living-value__amount small { text-align:left; }
 .tg-living-value h3 { font-size:24px; }
 .tg-income-flow { grid-template-columns:1fr; }
 .tg-income-flow__arrow { height:40px; justify-content:center; }
 .tg-income-flow__arrow svg { width:40px; transform:rotate(90deg); }
 .tg-income-flow__value strong { font-size:54px; }
 .tg-income-flow dl { min-height:0; }
}
@media (max-width:560px) {
 .tg-value-hero { padding-top:15px; padding-bottom:36px; }
 .tg-value-hero__layout { padding-top:8px; }
 .tg-value-hero h1 { font-size:clamp(27px,7.3vw,36px); margin-bottom:22px; }
 .tg-value-hero__example strong { font-size:25px; }
 .tg-value-hero__example { font-size:12px; }
 .tg-hero-home { border-top:1px solid #4b989c; padding-top:22px; }
 .tg-hero-home__roof { display:none; }
 .tg-hero-home .tg-drawing { max-width:300px; }
 .tg-living-value { padding:24px; }
 .tg-living-value > div:first-child { grid-template-columns:48px 1fr; gap:10px 16px; }
 .tg-living-value .tg-icon { width:48px; height:48px; }
 .tg-living-value h3 { font-size:21px; }
 .tg-living-value > div:first-child > p { grid-column:1/-1; }
 .tg-living-value__amount strong { font-size:72px; }
 .tg-living-value__amount span { font-size:15px; }
 .tg-living-value > .tg-living-value__total { font-size:14px; }
 .tg-living-value__total strong { font-size:20px; }
 .tg-home-budget { padding:24px 20px; }
 .tg-home-budget__control h3 { font-size:22px; }
 .tg-home-budget__zero strong { font-size:64px; }
 .tg-dorm-levels { gap:24px; }
 .tg-dorm-levels h3 { font-size:14px; }
 .tg-dorm-levels span { font-size:13px; }
 .tg-dorm-levels strong { font-size:40px; margin-inline:4px; }
 .tg-home-choice { margin-top:56px; }
 .tg-income-flow article { padding:24px; }
 .tg-income-flow h3 { font-size:21px; }
 .tg-income-flow__value strong { font-size:48px; }
 .tg-income-flow dl > div { font-size:12px; }
}
@media (prefers-reduced-motion:reduce) {
 #rent-self-bar,.tg-value-hero__link svg,.tg-hero-home > a svg { transition:none; }
 .tg-value-hero__link:hover svg { transform:none; }
}
.tg-income-flow article:last-child h3 { color:#fff; }
.tg-income-flow article:last-child .tg-income-flow__home { color:#d6f1f1; }
.tg-home-budget__inline { display:none; }
@media (max-width:800px) {
 .tg-home-budget__inline { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px; margin:20px 0 0; font-size:13px; color:var(--tg-main); }
 .tg-home-budget__inline strong { font-family:var(--f-num); font-size:25px; }
 .tg-home-budget__control h3 { margin-bottom:22px; }
}

/* Rank growth expands housing choices; each column is a stated support ceiling. */
.tg-hero-home > a.tg-hero-home__growth { display:block; margin:12px 0 20px; font-size:12px; line-height:1.8; text-decoration:underline; text-underline-offset:4px; font-weight:500; }
.tg-living-growth { margin:64px 0 52px; padding-top:48px; border-top:1px solid var(--tg-line); scroll-margin-top:108px; }
.tg-living-growth .tg-heading { margin-bottom:30px; }
.tg-living-growth h2 em { color:var(--tg-main); font-style:normal; }
.tg-rank-stairs { margin:0; padding:28px 36px 24px; background:#fff; }
.tg-rank-stairs figcaption { font-size:16px; font-weight:700; color:var(--tg-ink); }
.tg-rank-stairs figcaption > span { display:block; margin-top:6px; font-size:11px; font-weight:400; color:var(--tg-muted); }
.tg-rank-stairs__plot { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; padding:0; margin:12px 0 0; list-style:none; height:250px; }
.tg-rank-stairs__plot li { position:relative; text-align:center; }
.tg-rank-stairs__bar { position:absolute; inset:auto 0 32px; height:calc(var(--support-height) * .62); background:#b8dddd; }
.tg-rank-stairs__plot li:nth-child(2) .tg-rank-stairs__bar { background:#78b7ba; }
.tg-rank-stairs__plot li:nth-child(3) .tg-rank-stairs__bar { background:#3d8c93; }
.tg-rank-stairs__plot li:nth-child(4) .tg-rank-stairs__bar { background:var(--tg-main); }
.tg-rank-stairs__amount { position:absolute; bottom:calc(var(--support-height) * .62 + 38px); left:0; width:100%; white-space:nowrap; font-size:14px; color:var(--tg-main); }
.tg-rank-stairs__amount strong { font-family:var(--f-num); font-size:48px; line-height:1; margin-right:5px; }
.tg-rank-stairs__rank { position:absolute; bottom:0; left:0; width:100%; font-family:var(--f-num); font-weight:700; font-size:17px; color:var(--tg-ink); }
.tg-rank-stairs__caption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 24px; border-top:1px solid var(--tg-line); margin-top:20px; padding-top:20px; }
.tg-rank-stairs__caption p { margin:0; color:var(--tg-muted); font-size:13px; line-height:1.8; }
.tg-rank-stairs__caption strong { color:var(--tg-main); }
.tg-life-choices { display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:36px; }
.tg-life-choices article { display:flex; align-items:flex-start; gap:20px; }
.tg-life-choices .tg-icon { flex:0 0 48px; width:48px; height:48px; }
.tg-life-choices h3 { margin:0 0 12px; font-size:20px; line-height:1.6; color:var(--tg-ink); }
.tg-life-choices p { margin:0; font-size:14px; line-height:1.9; color:var(--tg-muted); }
.tg-living-growth > .tg-note { margin-top:26px; }
#rent-calculator { scroll-margin-top:108px; }
#rent-rank { display:block; width:100%; min-height:48px; margin:10px 0 24px; padding:10px 12px; background:#fff; border:1px solid #7da9ad; border-radius:4px; color:var(--tg-ink); font:inherit; font-size:16px; cursor:pointer; }
#rent-rank:focus-visible { outline:3px solid #f98607; outline-offset:3px; }
@media (max-width:800px) {
 .tg-living-growth { margin-top:44px; padding-top:36px; }
 .tg-life-choices { grid-template-columns:1fr; gap:28px; }
}
@media (max-width:560px) {
 .tg-rank-stairs { padding:24px 16px 20px; }
 .tg-rank-stairs figcaption { font-size:14px; }
 .tg-rank-stairs__plot { height:220px; gap:12px; margin-top:16px; }
 .tg-rank-stairs__amount { font-size:11px; }
 .tg-rank-stairs__amount strong { font-size:38px; margin-right:2px; }
 .tg-rank-stairs__rank { font-size:15px; }
 .tg-rank-stairs__caption { gap:6px; margin-top:18px; padding-top:16px; }
 .tg-rank-stairs__caption p { font-size:12px; }
 .tg-life-choices article { gap:16px; }
 .tg-life-choices .tg-icon { flex-basis:40px; width:40px; height:40px; }
 .tg-life-choices h3 { font-size:18px; }
 .tg-life-choices p { font-size:13px; }
}
