.deemed-page,
.deemed-page * { box-sizing: border-box; }
.deemed-page { color: #13243b; }
.deemed-page [hidden] { display: none !important; }
.deemed-page button,
.deemed-page input,
.deemed-page select { font: inherit; letter-spacing: 0; }
.deemed-heading { display: grid; grid-template-columns: minmax(0, 1fr) 148px; gap: 1.25rem; align-items: center; padding: 0 0 1.6rem; }
.deemed-heading > div { min-width: 0; }
.deemed-heading > img { display: block; width: 148px; height: 148px; border: 1px solid #d6e1e7; border-radius: 8px; object-fit: cover; }
.deemed-heading h1 { margin: .25rem 0 .65rem; color: #0b203a; font-size: 2.05rem; line-height: 1.25; letter-spacing: 0; }
.deemed-heading > div > p:last-of-type { margin: 0; color: #5c6d82; font-size: 1rem; line-height: 1.8; }
.deemed-eyebrow { margin: 0; color: #087f73; font-size: .82rem; font-weight: 800; }
.deemed-jump { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.1rem; }
.deemed-jump a { min-height: 42px; padding: .65rem .85rem; border: 1px solid #cbd9e5; border-radius: 6px; color: #30455f; font-size: .84rem; font-weight: 700; text-decoration: none; }
.deemed-jump a:hover { border-color: #0d8a7d; color: #08766b; }
.deemed-reference { margin: 1.35rem 0 0; padding: 1.15rem 1.2rem; border-left: 4px solid #0d8a7d; background: #f1f8f7; }
.deemed-reference h2 { margin: .3rem 0 .75rem; color: #12304a; font-size: 1.22rem; line-height: 1.45; letter-spacing: 0; }
.deemed-reference > div { display: flex; flex-wrap: wrap; gap: .45rem; }
.deemed-reference span { padding: .35rem .58rem; border: 1px solid #b9d8d4; border-radius: 4px; background: #fff; color: #086f65; font-size: .78rem; font-weight: 800; }
.deemed-reference > p:last-child { margin: .8rem 0 0; color: #52667a; line-height: 1.7; }
.deemed-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; margin-bottom: .8rem; padding: .35rem; border: 1px solid #cbd9e5; border-radius: 8px; background: #f4f7fa; }
.deemed-tabs button { min-height: 48px; padding: .65rem .8rem; border: 0; border-radius: 6px; background: transparent; color: #4c6077; font-weight: 800; cursor: pointer; }
.deemed-tabs button.is-active { background: #087f73; color: #fff; box-shadow: 0 2px 8px rgba(8,127,115,.18); }
.deemed-workspace { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(285px, .88fr); gap: 1rem; align-items: start; }
.deemed-form,
.deemed-result { min-width: 0; border: 1px solid #cfdae6; border-radius: 8px; background: #fff; }
.deemed-form { padding: 1.15rem; }
.deemed-form > header { margin-bottom: 1rem; }
.deemed-form > header h2 { margin: .25rem 0 .45rem; color: #102a45; font-size: 1.25rem; line-height: 1.4; letter-spacing: 0; }
.deemed-form > header p:last-child { margin: 0; color: #627389; font-size: .88rem; line-height: 1.65; }
.deemed-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.deemed-field { display: flex; min-width: 0; flex-direction: column; gap: .42rem; margin: 0; color: #213b56; font-weight: 700; }
.deemed-field > span { font-size: .88rem; }
.deemed-field > small { color: #718197; font-size: .74rem; font-weight: 500; line-height: 1.5; }
.deemed-wide { grid-column: 1 / -1; }
.deemed-field input,
.deemed-field select { width: 100%; min-width: 0; min-height: 46px; margin: 0; padding: .68rem .72rem; border: 1px solid #c7d5e3; border-radius: 6px; background: #fff; color: #112944; font-weight: 700; box-shadow: none; }
.deemed-field input:focus,
.deemed-field select:focus { border-color: #0d8a7d; outline: 3px solid rgba(13,138,125,.12); }
.deemed-unit { position: relative; min-width: 0; }
.deemed-unit input { padding-right: 3rem; }
.deemed-unit b { position: absolute; top: 50%; right: .75rem; color: #65768b; font-size: .8rem; transform: translateY(-50%); pointer-events: none; }
.deemed-list-head { display: flex; align-items: flex-end; justify-content: space-between; gap: .8rem; margin: 1.15rem 0 .65rem; }
.deemed-list-head h3 { margin: 0 0 .18rem; color: #17334f; font-size: 1rem; letter-spacing: 0; }
.deemed-list-head p { margin: 0; color: #738399; font-size: .73rem; line-height: 1.45; }
.deemed-list-head button,
.deemed-example-actions button { min-height: 40px; padding: .55rem .72rem; border: 1px solid #b8cddd; border-radius: 6px; background: #fff; color: #23506c; font-size: .78rem; font-weight: 800; cursor: pointer; }
.deemed-list-head button { flex: 0 0 auto; background: #eef7f6; border-color: #afd4cf; color: #08766b; }
.deemed-example-actions { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: .72rem; }
.deemed-house-list { display: grid; gap: .75rem; }
.deemed-house-card { min-width: 0; padding: .85rem; border: 1px solid #cfdae6; border-radius: 8px; background: #f9fbfd; }
.deemed-house-card > header { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-bottom: .75rem; }
.deemed-house-card > header span { display: block; color: #11304d; font-size: .92rem; font-weight: 900; }
.deemed-house-card > header small { color: #7b899a; font-size: .7rem; }
.deemed-house-card > header button { min-width: 44px; min-height: 40px; padding: .45rem .65rem; border: 1px solid #e4c3c3; border-radius: 6px; background: #fff; color: #a13f3f; font-size: .75rem; font-weight: 800; cursor: pointer; }
.deemed-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .55rem; margin-top: 1rem; }
.deemed-actions button,
.deemed-copy { min-height: 48px; padding: .7rem 1rem; border: 1px solid #087f73; border-radius: 6px; background: #087f73; color: #fff; font-weight: 900; cursor: pointer; }
.deemed-actions .secondary { border-color: #becddd; background: #fff; color: #304963; }
.deemed-status { min-height: 1.4rem; margin: .55rem 0 0; color: #08766b; font-size: .8rem; line-height: 1.5; }
.deemed-status[data-error="true"] { color: #a13f3f; }
.deemed-result { position: sticky; top: 1rem; overflow: hidden; }
.deemed-result-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .7rem; padding: 1.15rem; background: #102a45; color: #fff; }
.deemed-result-head p { margin: 0 0 .32rem; color: #b8d0df; font-size: .78rem; font-weight: 800; }
.deemed-result-head output { display: block; max-width: 100%; overflow-wrap: anywhere; color: #fff; font-size: 2rem; font-weight: 900; line-height: 1.15; }
.deemed-result-head > span { flex: 0 0 auto; padding: .38rem .54rem; border-radius: 4px; background: #d9f4e9; color: #08684d; font-size: .72rem; font-weight: 900; }
.deemed-result-head > span[data-status="exempt"] { background: #fff0cc; color: #7d5600; }
.deemed-commercial-head > div:last-child { text-align: right; }
.deemed-commercial-head > div:last-child strong { display: block; overflow-wrap: anywhere; color: #ffdc8a; font-size: 1.16rem; }
.deemed-reason { margin: 0; padding: .85rem 1.15rem; border-bottom: 1px solid #dbe4ec; background: #f2f7fa; color: #40566d; font-size: .82rem; line-height: 1.65; }
.deemed-breakdown { padding: .55rem 1.15rem; }
.deemed-breakdown > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: .7rem; padding: .62rem 0; border-bottom: 1px solid #e4eaf0; }
.deemed-breakdown span { color: #65758a; font-size: .77rem; }
.deemed-breakdown strong { min-width: 0; overflow-wrap: anywhere; color: #172e49; font-size: .8rem; text-align: right; }
.deemed-breakdown .deemed-minus strong { color: #a14d3c; }
.deemed-breakdown .deemed-total-row { border-bottom: 0; }
.deemed-breakdown .deemed-total-row strong { color: #08766b; font-size: 1rem; }
.deemed-house-result { padding: .2rem 1.15rem .75rem; }
.deemed-house-result > h3 { margin: .35rem 0 .55rem; color: #17334f; font-size: .88rem; letter-spacing: 0; }
.deemed-house-result article { padding: .65rem 0; border-top: 1px solid #e2e9ef; }
.deemed-house-result article > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.deemed-house-result article strong { color: #1a3855; font-size: .8rem; }
.deemed-house-result article span { display: inline-block; margin-left: .25rem; padding: .18rem .3rem; border-radius: 3px; background: #eef2f6; color: #506278; font-size: .62rem; font-weight: 800; }
.deemed-house-result article span[data-kind="small"] { background: #e8f4ee; color: #23664e; }
.deemed-house-result article span[data-kind="high"] { background: #fff0dd; color: #8a4b12; }
.deemed-house-result article span[data-kind="included"] { background: #e7f0fb; color: #285b91; }
.deemed-house-result dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; margin: .55rem 0 0; }
.deemed-house-result dl div { min-width: 0; }
.deemed-house-result dt { color: #7b8999; font-size: .63rem; }
.deemed-house-result dd { margin: .12rem 0 0; overflow-wrap: anywhere; color: #344b63; font-size: .68rem; font-weight: 700; }
.deemed-house-result article p { margin: .45rem 0 0; color: #47705d; font-size: .68rem; line-height: 1.5; }
.deemed-warnings { margin: 0 1.15rem .8rem; padding: .75rem .85rem .75rem 1.9rem; background: #fff8e8; color: #735821; font-size: .74rem; line-height: 1.55; }
.deemed-warnings:empty { display: none; }
.deemed-copy { width: calc(100% - 2.3rem); margin: 0 1.15rem 1.15rem; background: #fff; color: #08766b; }
.deemed-result-note { margin: 0 1.15rem .85rem; color: #6b7b8e; font-size: .72rem; line-height: 1.6; }
.deemed-advanced { margin-top: .9rem; padding: .8rem; border: 1px solid #d2dde7; border-radius: 6px; background: #f9fbfc; }
.deemed-advanced summary { color: #24445f; font-size: .88rem; font-weight: 900; cursor: pointer; }
.deemed-check { display: flex; align-items: flex-start; gap: .65rem; margin: .8rem 0; color: #24405b; cursor: pointer; }
.deemed-check input { width: 20px; height: 20px; margin: .15rem 0 0; accent-color: #087f73; }
.deemed-check span { display: grid; gap: .18rem; }
.deemed-check strong { font-size: .82rem; }
.deemed-check small { color: #718197; font-size: .72rem; font-weight: 500; line-height: 1.5; }
.deemed-legal { margin: 1.2rem 0 0; padding: .9rem 1rem; border-left: 4px solid #d59b2d; background: #fff9eb; color: #5f543f; line-height: 1.65; }
.deemed-legal strong { color: #7b5311; }
.deemed-section,
.deemed-table-section,
.deemed-guide,
.deemed-examples,
.deemed-faq,
.deemed-sources,
.deemed-related { margin-top: 2.1rem; padding-top: 2rem; border-top: 1px solid #d8e2eb; }
.deemed-section h2,
.deemed-table-section h2,
.deemed-examples > h2,
.deemed-faq > h2,
.deemed-sources > h2,
.deemed-related > h2 { margin: 0 0 .75rem; color: #102a45; font-size: 1.35rem; line-height: 1.4; letter-spacing: 0; }
.deemed-section p,
.deemed-table-section > p,
.deemed-sources > p { color: #5f7186; line-height: 1.8; }
.deemed-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid #d3dee8; border-radius: 6px; }
.deemed-table-wrap table { width: 100%; min-width: 610px; margin: 0; border-collapse: collapse; }
.deemed-table-wrap th,
.deemed-table-wrap td { padding: .72rem .8rem; border-bottom: 1px solid #dfe7ee; color: #425871; font-size: .78rem; text-align: left; }
.deemed-table-wrap thead th { background: #eef5f6; color: #173d50; font-weight: 900; }
.deemed-table-wrap tbody tr:last-child th,
.deemed-table-wrap tbody tr:last-child td { border-bottom: 0; }
.deemed-guide { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 1.7rem; }
.deemed-guide section { min-width: 0; }
.deemed-guide h2 { margin: 0 0 .45rem; color: #17334f; font-size: 1.03rem; line-height: 1.45; letter-spacing: 0; }
.deemed-guide p { margin: 0; color: #65758a; font-size: .84rem; line-height: 1.75; }
.deemed-examples > div,
.deemed-related > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.deemed-examples article,
.deemed-related a { min-width: 0; padding: .9rem; border: 1px solid #d2dee8; border-radius: 7px; background: #fff; }
.deemed-examples h3 { margin: 0 0 .38rem; color: #17334f; font-size: .9rem; letter-spacing: 0; }
.deemed-examples p { margin: 0; color: #65758a; font-size: .78rem; line-height: 1.65; }
.deemed-faq details { border-bottom: 1px solid #dce5ec; }
.deemed-faq summary { padding: .9rem .15rem; color: #17334f; font-weight: 800; cursor: pointer; }
.deemed-faq details p { margin: 0; padding: 0 .15rem 1rem; color: #65758a; line-height: 1.75; }
.deemed-sources > div { display: flex; flex-wrap: wrap; gap: .5rem; }
.deemed-sources a { padding: .58rem .7rem; border: 1px solid #cbd8e4; border-radius: 5px; color: #216078; font-size: .76rem; font-weight: 700; text-decoration: none; }
.deemed-related a { display: grid; gap: .35rem; color: inherit; text-decoration: none; }
.deemed-related strong { color: #17334f; font-size: .86rem; }
.deemed-related span { color: #718197; font-size: .74rem; line-height: 1.5; }

@media (max-width: 980px) {
  .deemed-workspace { grid-template-columns: 1fr; }
  .deemed-result { position: static; }
}

@media (max-width: 620px) {
  .deemed-heading { grid-template-columns: minmax(0, 1fr) 88px; gap: .8rem; align-items: start; }
  .deemed-heading > img { width: 88px; height: 88px; }
  .deemed-heading h1 { font-size: 1.7rem; }
  .deemed-tabs { grid-template-columns: 1fr; }
  .deemed-fields,
  .deemed-guide,
  .deemed-examples > div,
  .deemed-related > div { grid-template-columns: 1fr; }
  .deemed-wide { grid-column: auto; }
  .deemed-form { padding: .9rem; }
  .deemed-list-head { align-items: stretch; flex-direction: column; }
  .deemed-list-head button { width: 100%; }
  .deemed-actions { grid-template-columns: 1fr; }
  .deemed-result-head { flex-direction: column; }
  .deemed-commercial-head > div:last-child { text-align: left; }
  .deemed-result-head output { font-size: 1.6rem; }
  .deemed-breakdown > div { grid-template-columns: 1fr; gap: .18rem; }
  .deemed-breakdown strong { text-align: left; }
  .deemed-house-result article > div:first-child { align-items: flex-start; flex-direction: column; }
  .deemed-house-result article span { margin: 0 .25rem .2rem 0; }
  .deemed-house-result dl { grid-template-columns: 1fr; }
}

@media (max-width: 360px) {
  .deemed-page { min-width: 0; }
  .deemed-heading { grid-template-columns: 1fr; }
  .deemed-heading > img { display: none; }
  .deemed-heading h1 { font-size: 1.5rem; }
  .deemed-jump { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .deemed-jump a { width: auto; padding: .58rem .35rem; font-size: .72rem; text-align: center; }
  .deemed-reference,
  .deemed-form,
  .deemed-house-card { padding-left: .72rem; padding-right: .72rem; }
  .deemed-example-actions button { width: 100%; }
  .deemed-result-head output { font-size: 1.35rem; }
}
