/* Studio 01: visual layer only. Existing forms, calculations and visibility stay intact. */
.utility-page { --primary-main:var(--ds-brand); --primary-dark:#066457; --primary-light:#e7f2eb; --primary-bg:#edf4ef; --alt-surface:#f6f8f7; --base-300:#cad7ce; --base-500:var(--ds-muted); --base-600:var(--ds-muted); --base-700:var(--ds-ink); --base-800:var(--ds-ink); --base-900:var(--ds-ink); }
.utility-page .site-subheader { display:none; }
.utility-page :is(input,select,textarea) { font-family:inherit; color:var(--ds-ink); font-size:1rem; max-width:100%; }
.utility-page :is(input,select,textarea):focus-visible { outline:3px solid var(--ds-brand); outline-offset:3px; }
.utility-page :is(input,select) { min-height:50px; }
.utility-page textarea { min-height:130px; resize:vertical; }
.utility-page input:disabled { color:#607468; background:#eff3f0; }
.utility-page .contact-hero { background:var(--ds-paper); color:var(--ds-ink); padding:80px 0 64px; }
.utility-page .contact-hero .container { width:min(1200px,calc(100% - 64px)); max-width:1200px; margin:auto; grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr); gap:64px; }
.utility-page .contact-hero h1 { color:var(--ds-ink); font-size:clamp(2.7rem,4.7vw,4.5rem); line-height:1.06; letter-spacing:-.065em; font-weight:600; margin:24px 0; }
.utility-page .contact-hero p { color:var(--ds-muted); font-size:1rem; line-height:1.8; }
.utility-page .contact-hero .badge-inline { color:#27614d; }
.utility-page .contact-hero .card { background:#153b35!important; border:1px solid #153b35!important; border-radius:24px; padding:32px; box-shadow:var(--ds-shadow); }
.utility-page .contact-hero .card p, .utility-page .contact-hero .card li { color:#c5d8ce!important; }
.utility-page .contact-hero .card a { color:#f2f7f3; font-weight:500; }
.utility-page .contact-hero .card i { color:var(--ds-accent); }
.utility-page .contact-hero .card .list-check { gap:22px; }
.utility-page .contact-actions { display:flex; gap:12px; flex-wrap:wrap; }
.utility-page .contact-hero .btn-primary { background:var(--ds-brand); color:#fff; border:1px solid var(--ds-brand); }
.utility-page .contact-hero .btn-secondary { background:transparent; color:var(--ds-ink); border:1px solid #becfc6; }
.utility-page .contact-grid { width:min(1200px,calc(100% - 64px)); max-width:1200px; margin:64px auto 96px; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.utility-page .contact-grid > .contact-card { border:1px solid var(--ds-border); border-radius:20px; padding:32px; gap:24px; box-shadow:none; }
.utility-page .contact-grid h2 { font-size:1.7rem; letter-spacing:-.04em; line-height:1.25; margin:16px 0; }
.utility-page .contact-grid .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:18px; }
.utility-page .form-grid label { color:var(--ds-ink); font-size:.85rem; font-weight:500; line-height:1.6; min-width:0; }
.utility-page .form-grid :is(input,textarea,select) { width:100%; padding:12px 14px; border:1px solid #cad7ce; border-radius:10px; background:#fff; margin-top:7px; }
.utility-page .form-grid .contact-actions { grid-column:1/-1; }
.utility-page .contact-grid #connect-owner { grid-column:1/-1; background:var(--ds-paper); }
.utility-page .secondary-note { font-size:.8rem; line-height:1.75; color:var(--ds-muted); }
.utility-page .contact-card .info-grid { grid-template-columns:1fr; }
.utility-page .info-pill { background:var(--ds-paper); border:1px solid var(--ds-border); border-radius:12px; padding:14px; }
.utility-page .info-pill span { overflow-wrap:anywhere; }
.utility-page .alert { border-radius:12px; padding:16px; line-height:1.7; }
.utility-page .calculator-panel { background:#fff; padding:32px; border:1px solid var(--ds-border); border-radius:20px; box-shadow:none; }
.utility-page .calculator-panel > h2 { font-size:1.8rem!important; line-height:1.3; }
.utility-page .tab-selector { display:flex; gap:8px; flex-wrap:wrap; background:var(--ds-paper); padding:7px; border:1px solid var(--ds-border); border-radius:14px; }
.utility-page .tab-selector button { flex:1 1 160px; min-height:48px; padding:12px 16px; border:1px solid transparent; border-radius:10px; background:transparent; color:var(--ds-ink); font-weight:500; }
.utility-page .tab-selector button.active { color:#fff; background:var(--ds-brand); border-color:var(--ds-brand); }
.utility-page .calculator-panel .form-group { margin-bottom:22px; }
.utility-page .form-group label { font-weight:500; font-size:.9rem; }
.utility-page .form-group :is(input,select) { padding:13px 14px; border:1px solid #cad7ce; border-radius:10px; }
.utility-page .hidden-step.show { max-height:none; overflow:visible; }
.utility-page .hidden-step:not(.show) { visibility:hidden; }
.utility-page .tts-button { background:#edf4ee; border:1px solid #ccdcd2; border-radius:10px; color:#27614d; font-size:.8rem; min-height:44px; }
.utility-page .result-box { border:1px solid var(--ds-border)!important; background:var(--ds-paper)!important; border-radius:16px; padding:24px; }
.utility-page .result-value { color:var(--ds-brand)!important; font-size:2rem; font-weight:600; letter-spacing:-.04em; overflow-wrap:anywhere; }
.utility-page .result-label { font-size:.83rem; font-weight:500; line-height:1.6; }
.utility-page .ai-output-box,.utility-page .info-card { border:1px solid var(--ds-border); border-radius:16px; background:#fff; padding:26px; box-shadow:none; }
.utility-page .ai-output-box h3 { font-weight:600; color:var(--ds-ink)!important; }
.utility-page .ai-output-box p { font-size:.9rem; }
.utility-page .info-grid { gap:24px; }
.utility-page .message-box { background:#fff; border:1px solid var(--ds-border); border-radius:20px; box-shadow:0 24px 80px #12352b33; padding:26px; max-height:85vh; overflow:auto; }
.utility-page .overflow-x-auto,.utility-page .rate-table-container { overflow:auto; max-width:100%; }
.utility-page .calculator-panel table { min-width:520px; }
.utility-page .calculator-panel table :is(thead,tbody,tr,th,td) { background:transparent; color:var(--ds-ink); }
.utility-page .calculator-panel table :is(th,td) { border-color:var(--ds-border); font-size:.84rem; padding:12px; }
.utility-page .calculator-panel table th { background:#edf4ee; }
.utility-page .sf-wrap { max-width:1200px; width:calc(100% - 64px); margin:48px auto 96px; padding:0; background:#fff; }
.utility-page .sf-hero { padding:48px; border:0; border-radius:24px; background:var(--ds-paper); box-shadow:none; margin-bottom:32px; }
.utility-page .sf-hero h1 { font-size:clamp(2.5rem,4.3vw,4rem); color:var(--ds-ink); margin:24px 0; }
.utility-page .sf-hero p { color:var(--ds-muted); max-width:820px; }
.utility-page .sf-card { padding:32px; border:1px solid var(--ds-border); border-radius:20px; box-shadow:none; }
.utility-page .sf-card h2 { font-size:1.8rem; }
.utility-page .sf-card h3 { font-size:1.15rem; }
.utility-page .sf-inputs { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:24px 0; }
.utility-page .sf-inputs label { font-size:.85rem; font-weight:500; color:var(--ds-ink); min-width:0; }
.utility-page .sf-inputs input,.utility-page .sf-inputs select { background:#fff; border:1px solid #cad7ce; border-radius:10px; padding:13px 14px; width:100%; min-width:0; }
.utility-page .sf-pro { border:1px solid var(--ds-border); border-radius:14px; padding:20px; margin:24px 0; background:var(--ds-paper); }
.utility-page .sf-pro summary { min-height:44px; font-size:.92rem; font-weight:500; cursor:pointer; }
.utility-page .sf-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:50px; background:var(--ds-brand); color:#fff; border:1px solid var(--ds-brand); border-radius:12px; padding:14px 22px; font-weight:600; font-size:.88rem; line-height:1.5; text-align:center; }
.utility-page .sf-btn.alt { background:#fff; color:var(--ds-ink); border-color:#becfc6; }
.utility-page .sf-btn.report { background:#153b35; }
.utility-page .sf-glance { margin-top:32px; }
.utility-page .sf-glance-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.utility-page .sf-glance-group,.utility-page .sf-metric { background:var(--ds-paper); border:1px solid var(--ds-border); border-radius:16px; padding:20px; }
.utility-page .sf-glance-label { color:var(--ds-muted); font-size:.8rem; font-weight:400; }
.utility-page .sf-glance-value { color:var(--ds-ink); font-size:.88rem; font-weight:600; overflow-wrap:anywhere; }
.utility-page .sf-glance-item { border-color:var(--ds-border); }
.utility-page .sf-finance-line,.utility-page .sf-finance-note { background:var(--ds-paper); border:1px solid var(--ds-border); color:var(--ds-ink); }
.utility-page .sf-finance-table { min-width:700px; }
.utility-page .sf-finance-table :is(th,td) { color:var(--ds-ink); border:1px solid var(--ds-border); padding:16px; background:#fff; font-size:.86rem; text-align:left; }
.utility-page .sf-finance-table thead th { background:#edf4ee; }
.utility-page .sf-finance-table td:last-child { color:var(--ds-ink); font-size:.86rem; text-align:left; }
.utility-page .sf-finance-table tbody th { background:var(--ds-paper); white-space:normal; min-width:170px; }
.utility-page .sf-explainer-wrap { background:var(--ds-paper); padding:32px; border:0; border-radius:20px; }
.utility-page .sf-note { color:var(--ds-muted); font-size:.83rem; line-height:1.75; }
.utility-page [hidden] { display:none!important; }
@media(max-width:1000px) {
 .utility-page .contact-hero .container,.utility-page .contact-grid { width:calc(100% - 48px); }
 .utility-page .contact-hero .container { gap:32px; }
 .utility-page .contact-grid .form-grid { grid-template-columns:1fr!important; }
 .utility-page .sf-wrap { width:calc(100% - 48px); }
 .utility-page .sf-glance-grid,.utility-page .sf-inputs { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:800px) {
 .utility-page .contact-hero .container,.utility-page .contact-grid { grid-template-columns:1fr; }
 .utility-page .contact-grid #connect-owner { grid-column:auto; }
 .utility-page .sf-glance-grid { grid-template-columns:1fr; }
}
@media(max-width:700px) {
 .utility-page .contact-hero { padding:36px 0 44px; }
 .utility-page .contact-hero .container,.utility-page .contact-grid { width:calc(100% - 36px); }
 .utility-page .contact-hero h1 { font-size:clamp(2.4rem,10vw,3.5rem); }
 .utility-page .contact-grid { margin:40px auto 64px; padding:0!important; }
 .utility-page .contact-grid > .contact-card { padding:24px; }
 .utility-page .contact-actions { flex-direction:column; }
 .utility-page .contact-actions .btn { flex:none!important; width:100%; }
 .utility-page .contact-hero .card { padding:26px; }
 .utility-page .calculator-panel { padding:22px; }
 .utility-page .calculator-panel .grid { grid-template-columns:1fr!important; }
 .utility-page .info-grid { grid-template-columns:1fr; }
 .utility-page .info-card:last-child { grid-column:auto; }
 .utility-page .calculator-panel .flex { flex-wrap:wrap; gap:12px; }
 .utility-page .calculator-panel .tab-selector { flex-direction:column; }
 .utility-page .tab-selector button { flex:none; }
 .utility-page .sf-wrap { width:calc(100% - 36px); margin:24px auto 64px; padding:0!important; }
 .utility-page .sf-hero,.utility-page .sf-card,.utility-page .sf-explainer-wrap { padding:24px; }
 .utility-page .sf-hero h1 { font-size:2.5rem; }
 .utility-page .sf-card h2 { font-size:1.65rem; }
 .utility-page .sf-inputs,.utility-page .sf-results > .sf-grid { grid-template-columns:1fr!important; }
 .utility-page .sf-glance-group { padding:16px; }
 .utility-page .sf-glance-item { gap:16px; }
 .utility-page .sf-wrap .sf-btn { width:100%; }
 .utility-page .sf-wrap .sf-grid.cards { grid-template-columns:1fr; }
 .utility-page .sf-finance-summary { grid-template-columns:1fr; }
}
.utility-page .page-hero .lead { color:var(--ds-muted)!important; }
.utility-page .hidden { display:none!important; }
.utility-page main h4 { color:var(--ds-ink)!important; }
/* Preserve status meaning without low-contrast bright green or amber text. */
.utility-page #saving-vs-emi-message { color:#066457!important; }
.utility-page #saving-vs-emi-message[style*="245, 158, 11"] { color:#805515!important; }
