:root {
  --ink: #103844;
  --ink-soft: #405f68;
  --teal: #0c686d;
  --teal-dark: #083f49;
  --orange: #df7c46;
  --paper: #f3f0e9;
  --surface: #fffefbf2;
  --line: #11494f33;
  --blue: #deeff1;
  --orange-soft: #fcebdd;
  --green: #e1efe5;
  --purple: #e9e7f5;
  --shadow: 0 14px 38px #0d393f1a;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  background: linear-gradient(180deg, #f8f5ee73 0%, #f8f5eec7 32%, #f8f5eeeb 100%), url(../../hero-v2.png) right 70px / min(980px, 70vw) auto fixed no-repeat, var(--paper);
  color: var(--ink);
  min-width: 320px;
  margin: 0;
  font-family: Noto Sans TC,Microsoft JhengHei,system-ui,sans-serif;
  font-size: 17px;
  line-height: 1.6;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  font: inherit;
}
button,a {
  -webkit-tap-highlight-color: transparent;
}
h1,h2,h3,h4,p {
  margin-top: 0;
}
:is(button:focus-visible,a:focus-visible) {
  outline-offset: 3px;
  outline: 3px solid #e88a56bf;
}
.sr-only {
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}
.site-shell {
  min-height: 100vh;
  overflow: hidden;
}
.section-frame {
  max-width: 1360px;
  margin: 0 auto;
  padding: 56px clamp(24px,5.5vw,72px);
}
section[id],article[id] {
  scroll-margin-top: 92px;
}
.topbar {
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--line);
  z-index: 20;
  background: #fffdf9e6;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 26px;
  min-height: 72px;
  padding: 10px clamp(22px,4vw,64px);
  display: grid;
  position: sticky;
  top: 0;
}
.brand {
  align-items: center;
  gap: 13px;
  min-width: 0;
  display: flex;
}
.brand-logo {
  object-fit: contain;
  width: auto;
  max-width: 210px;
  height: 39px;
  display: block;
}
.brand>span {
  color: var(--teal-dark);
  border-left: 1px solid #b8ceca;
  padding-left: 13px;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.35;
  white-space: nowrap;
}
.topnav {
  justify-content: center;
  align-items: center;
  gap: clamp(13px,1.5vw,24px);
  display: flex;
}
.topnav a {
  color: #365b64;
  white-space: nowrap;
  padding: 9px 0;
  font-size: 15px;
  font-weight: 800;
}
.topnav a:hover {
  color: var(--teal);
}
.official-site-link {
  background: var(--teal-dark);
  color: #fff;
  white-space: nowrap;
  border-radius: 999px;
  padding: 11px 16px;
  font-size: 15px;
  font-weight: 900;
}
.section-kicker {
  color: #26777d;
  letter-spacing: .08em;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.5;
  display: block;
}
.section-heading {
  grid-template-columns: minmax(0,1fr) minmax(300px,470px);
  align-items: end;
  gap: 28px;
  margin-bottom: 24px;
  display: grid;
}
.section-heading h2 {
  letter-spacing: -.04em;
  margin: 7px 0 0;
  font-size: clamp(30px,3.2vw,42px);
  line-height: 1.2;
}
.section-heading>p {
  color: var(--ink-soft);
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
}
.hero {
  grid-template-columns: minmax(0,.95fr) minmax(330px,.65fr);
  align-items: center;
  gap: clamp(30px,6vw,78px);
  max-width: 1360px;
  min-height: 460px;
  margin: 0 auto;
  padding: 42px clamp(24px,5.5vw,72px) 50px;
  display: grid;
  position: relative;
}
.hero-copy {
  max-width: 660px;
}
.hero-copy h1 {
  letter-spacing: -.05em;
  text-wrap: balance;
  margin: 11px 0 15px;
  font-size: clamp(40px,4.8vw,52px);
  line-height: 1.1;
}
.hero-copy h1 em {
  color: var(--orange);
  font-style: normal;
}
.hero-copy>p {
  color: #315861;
  max-width: 620px;
  margin-bottom: 20px;
  font-size: 18px;
  line-height: 1.68;
}
.hero-actions,.result-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 11px;
  display: flex;
}
.primary-button,.secondary-button {
  border-radius: 999px;
  justify-content: center;
  padding: 12px 18px;
  font-size: 15px;
  font-weight: 900;
  display: inline-flex;
}
.primary-button {
  background: var(--teal);
  border: 1px solid var(--teal);
  color: #fff;
}
.secondary-button {
  color: var(--teal);
  background: #fffdf9e0;
  border: 1px solid #89b3b1;
}
button.primary-button,button.secondary-button {
  cursor: pointer;
}
.hero-service-card {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: var(--shadow);
  background: #fffefbe0;
  border: 1px solid #ffffffeb;
  border-radius: 20px;
  margin-top: 44px;
  padding: 19px;
}
.hero-service-card>span {
  color: #39787e;
  letter-spacing: .07em;
  margin-bottom: 11px;
  font-size: 15px;
  font-weight: 900;
  display: block;
}
.hero-service-card ul {
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.hero-service-card li {
  border-top: 1px solid var(--line);
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  display: grid;
}
.hero-service-card li>svg {
  color: var(--teal);
  background: #e5f1ee;
  border-radius: 12px;
  width: 42px;
  height: 42px;
  padding: 9px;
}
.hero-service-card strong,.hero-service-card small {
  display: block;
}
.hero-service-card strong {
  font-size: 16px;
  line-height: 1.45;
}
.hero-service-card small {
  color: var(--ink-soft);
  margin-top: 2px;
  font-size: 15px;
  line-height: 1.5;
}
.quick-links {
  z-index: 2;
  grid-template-columns: repeat(4,1fr);
  gap: 12px;
  max-width: 1240px;
  margin: -31px auto 0;
  padding: 0 24px;
  display: grid;
  position: relative;
}
.quick-links>a {
  border: 1px solid var(--line);
  background: #fffefbf7;
  border-radius: 16px;
  grid-template-columns: 44px 1fr;
  align-items: center;
  gap: 12px;
  min-height: 84px;
  padding: 14px;
  transition: transform .18s,box-shadow .18s;
  display: grid;
  box-shadow: 0 8px 22px #14484d12;
}
.quick-links>a:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 30px #14484d21;
}
.quick-icon,.role-icon,.need-icon,.plan-icon,.detail-icon,.resource-icon,.contact-icon,.process-icon,.table-plan-icon {
  justify-content: center;
  align-items: center;
  display: grid;
}
.quick-icon {
  border-radius: 13px;
  width: 46px;
  height: 46px;
}
.quick-icon svg {
  width: 25px;
  height: 25px;
}
.quick-icon.blue {
  background: var(--blue);
  color: var(--teal);
}
.quick-icon.orange {
  background: var(--orange-soft);
  color: #af5d38;
}
.quick-icon.green {
  background: var(--green);
  color: #34745c;
}
.quick-icon.purple {
  background: var(--purple);
  color: #625c91;
}
.quick-links strong,.quick-links small {
  display: block;
}
.quick-links strong {
  font-size: 16px;
  line-height: 1.4;
}
.quick-links small {
  color: var(--ink-soft);
  margin-top: 2px;
  font-size: 15px;
  line-height: 1.45;
}
.guide-section {
  padding-top: 62px;
}
.journey-card {
  background: #fffefbf2;
  border: 1px solid #ffffffe6;
  border-radius: 23px;
  grid-template-columns: 235px 1fr;
  min-height: 460px;
  display: grid;
  overflow: hidden;
  box-shadow: 0 18px 44px #0d3d4221;
}
.journey-sidebar {
  color: #fff;
  background: linear-gradient(160deg,#083f49,#0b6668);
  padding: 24px 21px;
}
.journey-label {
  color: #96d8d8;
  letter-spacing: .08em;
  font-size: 15px;
  font-weight: 900;
  display: block;
}
.journey-sidebar ol {
  gap: 10px;
  margin: 19px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  position: relative;
}
.journey-sidebar li {
  color: #ffffff73;
  z-index: 1;
  border-radius: 14px;
  grid-template-columns: 36px 1fr;
  align-items: center;
  gap: 10px;
  padding: 10px;
  display: grid;
  position: relative;
}
.journey-sidebar li:not(:last-child):after {
""  content: ;
  border-top: 9px solid #ffffff57;
  border-left: 7px solid #0000;
  border-right: 7px solid #0000;
  position: absolute;
  bottom: -10px;
  left: 28px;
  transform: translate(-50%);
}
.journey-sidebar li.active:not(:last-child):after {
  border-top-color: #f3a171;
}
.journey-sidebar li.active {
  color: #fff;
}
.journey-sidebar li.current {
  background: #ffffff21;
  box-shadow: inset 3px 0 #f3a171;
}
.journey-sidebar li>span {
  border: 1px solid;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  font-size: 14px;
  font-weight: 900;
  display: grid;
}
.journey-sidebar li.active>span {
  background: var(--orange);
  border-color: var(--orange);
}
.journey-sidebar li strong,.journey-sidebar li small {
  display: block;
}
.journey-sidebar li strong {
  font-size: 16px;
}
.journey-sidebar li small {
  opacity: .86;
  margin-top: 2px;
  font-size: 14px;
  line-height: 1.45;
}
.journey-selection {
  border-top: 1px solid #ffffff2e;
  border-bottom: 1px solid #ffffff2e;
  gap: 5px;
  margin: 20px 10px 0;
  padding: 15px 0;
  display: grid;
}
.journey-selection small {
  color: #9dd4d5;
  font-size: 13px;
  font-weight: 800;
}
.journey-selection strong {
  font-size: 18px;
}
.journey-selection span {
  color: #ffffffd1;
  font-size: 14px;
  line-height: 1.45;
}
.journey-controls {
  flex-wrap: wrap;
  gap: 16px;
  margin: 16px 10px 0;
  display: flex;
}
.journey-controls button {
  color: #fff;
  cursor: pointer;
  background: 0 0;
  border: 0;
  border-bottom: 1px solid #ffffff8c;
  padding: 0 0 3px;
  font-size: 14px;
  font-weight: 800;
}
.journey-stage {
  flex-direction: column;
  justify-content: center;
  align-self: stretch;
  padding: clamp(26px,3.2vw,36px);
  display: flex;
  overflow: hidden;
}
.journey-stage:focus {
  outline: none;
}
.journey-pane {
  width: 100%;
}
.journey-pane.forward {
  animation: .42s cubic-bezier(.22,.8,.25,1) both journey-forward;
}
.journey-pane.backward {
  animation: .38s cubic-bezier(.22,.8,.25,1) both journey-backward;
}
@keyframes journey-forward {
  0% {
    opacity: 0;
    transform: translate(62px);
  }
  to {
    opacity: 1;
    transform: translate(0);
  }
}
@keyframes journey-backward {
  0% {
    opacity: 0;
    transform: translate(-62px);
  }
  to {
    opacity: 1;
    transform: translate(0);
  }
}
.stage-count {
  color: var(--teal);
  letter-spacing: .05em;
  font-size: 16px;
  font-weight: 900;
  display: block;
}
.stage-count.completed {
  color: #367a5a;
}
.journey-pane>h3,.assessment-heading h3 {
  letter-spacing: -.035em;
  margin: 8px 0 7px;
  font-size: clamp(28px,3vw,36px);
  line-height: 1.24;
}
.journey-pane>p {
  color: var(--ink-soft);
  margin-bottom: 16px;
  font-size: 16px;
  line-height: 1.65;
}
.role-grid {
  grid-template-columns: repeat(2,1fr);
  gap: 15px;
  display: grid;
}
.role-grid button {
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  background: #fffffff2;
  border: 1px solid #c8dbd8;
  border-radius: 18px;
  flex-direction: column;
  min-height: 190px;
  padding: 18px;
  transition: all .2s;
  display: flex;
}
.role-grid button:hover {
  border-color: #75afad;
  transform: translateY(-3px);
  box-shadow: 0 13px 26px #124c501f;
}
.role-icon {
  border-radius: 15px;
  width: 50px;
  height: 50px;
}
.role-icon.blue {
  background: var(--teal);
  color: #fff;
}
.role-icon.orange {
  background: var(--orange);
  color: #fff;
}
.role-icon svg {
  width: 29px;
  height: 29px;
}
.role-grid strong {
  letter-spacing: -.025em;
  margin-top: 14px;
  font-size: 22px;
}
.role-grid small {
  color: var(--ink-soft);
  margin: 6px 0 15px;
  font-size: 16px;
  line-height: 1.55;
}
.role-grid b {
  color: var(--teal);
  margin-top: auto;
  font-size: 15px;
}
.need-grid {
  grid-template-columns: repeat(2,1fr);
  gap: 11px;
  display: grid;
}
.need-grid.tenant {
  grid-template-columns: repeat(3,1fr);
}
.need-grid button {
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  background: #fff;
  border: 1px solid #cededb;
  border-radius: 15px;
  grid-template-columns: 45px 1fr;
  align-items: center;
  gap: 12px;
  min-height: 96px;
  padding: 15px;
  transition: all .18s;
  display: grid;
}
.need-grid.tenant button {
  grid-template-columns: 1fr;
  align-items: start;
  min-height: 150px;
}
.need-grid button:hover {
  border-color: #72adaa;
  transform: translateY(-2px);
  box-shadow: 0 10px 22px #144a4e1a;
}
.need-grid button.blue {
  background: #f5fbfc;
}
.need-grid button.orange {
  background: #fff8f3;
}
.need-grid button.green {
  background: #f5faf6;
}
.need-grid button.purple {
  background: #f8f7fd;
}
.need-icon {
  color: var(--teal);
  background: #e6f2ef;
  border-radius: 12px;
  width: 45px;
  height: 45px;
}
.need-grid .orange .need-icon {
  background: var(--orange-soft);
  color: #ad5a37;
}
.need-grid .green .need-icon {
  background: var(--green);
  color: #34745c;
}
.need-grid .purple .need-icon {
  background: var(--purple);
  color: #625c91;
}
.need-icon svg {
  width: 25px;
  height: 25px;
}
.need-grid strong,.need-grid small {
  display: block;
}
.need-grid strong {
  font-size: 17px;
  line-height: 1.4;
}
.need-grid small {
  color: var(--ink-soft);
  margin-top: 3px;
  font-size: 15px;
  line-height: 1.55;
}
.inline-guide-link {
  color: var(--teal);
  border-bottom: 1px solid #75a4a2;
  margin-top: 17px;
  padding-bottom: 3px;
  font-size: 15px;
  font-weight: 900;
  display: inline-block;
}
.result-path {
  color: #547178;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 9px 0 13px;
  font-size: 14px;
  font-weight: 800;
  display: flex;
}
.result-path span {
  background: #eaf3ef;
  border-radius: 999px;
  padding: 6px 10px;
}
.result-path b {
  color: #91a4a1;
  font-size: 19px;
}
.assessment-heading {
  justify-content: space-between;
  align-items: end;
  gap: 22px;
  margin-bottom: 17px;
  display: flex;
}
.assessment-heading h3 {
  margin-bottom: 5px;
}
.assessment-heading p {
  color: var(--ink-soft);
  margin: 0;
  font-size: 15px;
}
.assessment-heading>strong {
  color: var(--teal);
  background: #e9f3ef;
  border-radius: 999px;
  flex: none;
  padding: 9px 12px;
  font-size: 14px;
}
.question-list {
  gap: 10px;
  display: grid;
}
.assessment-question {
  background: #ffffffe6;
  border: 1px solid #d4e1de;
  border-radius: 15px;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 15px;
  display: grid;
}
.assessment-question.answered {
  background: #f5faf7;
  border-color: #9bc3b6;
}
.question-copy {
  grid-template-columns: 36px 1fr;
  align-items: start;
  gap: 12px;
  display: grid;
}
.question-copy>span {
  background: var(--orange-soft);
  color: #a65a38;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  font-size: 13px;
  font-weight: 900;
  display: grid;
}
.question-copy h4 {
  margin: 0 0 3px;
  font-size: 17px;
  line-height: 1.45;
}
.question-copy p {
  color: var(--ink-soft);
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
}
.answer-options {
  gap: 6px;
  display: flex;
}
.answer-options button {
  color: #365d65;
  cursor: pointer;
  background: #fff;
  border: 1px solid #afc8c4;
  border-radius: 999px;
  min-width: 56px;
  padding: 9px 12px;
  font-size: 15px;
  font-weight: 850;
}
.answer-options button.selected {
  background: var(--teal);
  border-color: var(--teal);
  color: #fff;
}
.assessment-footer {
  background: #eaf3ef;
  border-radius: 14px;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-top: 14px;
  padding: 14px 15px;
  display: flex;
}
.assessment-footer p {
  color: var(--ink-soft);
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
}
.assessment-footer button {
  background: var(--teal);
  color: #fff;
  cursor: pointer;
  border: 0;
  border-radius: 999px;
  flex: none;
  padding: 11px 15px;
  font-size: 15px;
  font-weight: 900;
}
.assessment-footer button:disabled {
  cursor: not-allowed;
  background: #a6bab7;
}
.result-verdict {
  border: 1px solid #bfdacb;
  border-radius: 18px;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 20px;
  margin-top: 13px;
  padding: 19px 20px;
  display: grid;
}
.result-verdict.likely {
  background: #edf7f0;
}
.result-verdict.review {
  background: #fff7e9;
  border-color: #e9d3aa;
}
.result-verdict.mismatch {
  background: #fff0ec;
  border-color: #e6c2b7;
}
.result-verdict>div>span {
  color: #39796d;
  font-size: 14px;
  font-weight: 900;
  display: block;
}
.result-verdict h3 {
  letter-spacing: -.035em;
  margin: 6px 0;
  font-size: 29px;
  line-height: 1.2;
}
.result-verdict p {
  color: var(--ink-soft);
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
}
.result-verdict>strong {
  color: var(--teal);
  text-align: center;
  background: #fffc;
  border-radius: 14px;
  min-width: 102px;
  padding: 11px;
  font-size: 30px;
  display: grid;
}
.result-verdict>strong small {
  color: var(--ink-soft);
  margin-top: 3px;
  font-size: 12px;
}
.result-grid {
  grid-template-columns: 1.05fr .95fr;
  gap: 11px;
  margin-top: 11px;
  display: grid;
}
.result-panel {
  background: #fff;
  border: 1px solid #d6e2df;
  border-radius: 16px;
  padding: 17px;
}
.panel-label {
  color: #397b80;
  letter-spacing: .07em;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 900;
  display: block;
}
.result-panel h4 {
  margin: 0 0 6px;
  font-size: 20px;
  line-height: 1.4;
}
.result-panel>p {
  color: var(--ink-soft);
  margin: 0;
  font-size: 15px;
  line-height: 1.65;
}
.tax-summary {
  background: #edf5f1;
  border-radius: 12px;
  gap: 4px;
  margin-top: 12px;
  padding: 12px;
  display: grid;
}
.tax-summary small {
  color: #397b80;
  font-size: 13px;
  font-weight: 900;
}
.tax-summary strong {
  font-size: 15px;
  line-height: 1.62;
}
.answer-review {
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.answer-review li {
  grid-template-columns: 58px 1fr;
  align-items: start;
  gap: 8px;
  display: grid;
}
.answer-review li>span {
  text-align: center;
  border-radius: 999px;
  padding: 5px 7px;
  font-size: 12px;
  font-weight: 900;
}
.answer-review p {
  color: #355961;
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
}
.answer-yes>span {
  color: #277159;
  background: #dcefe6;
}
.answer-no>span {
  color: #9e4f3e;
  background: #fae3dc;
}
.answer-unsure>span {
  color: #946126;
  background: #fff0d8;
}
.result-process {
  margin-top: 11px;
}
.result-process ol {
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.result-process li {
  grid-template-columns: 29px 1fr;
  align-items: start;
  gap: 11px;
  min-height: 43px;
  display: grid;
  position: relative;
}
.result-process li:not(:last-child):after {
""  content: ;
  background: #b7d0cb;
  width: 2px;
  height: calc(100% - 27px);
  position: absolute;
  top: 29px;
  left: 14px;
}
.result-process li>span {
  background: var(--teal);
  color: #fff;
  z-index: 1;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  height: 29px;
  font-size: 12px;
  font-weight: 900;
  display: grid;
  position: relative;
}
.result-process li p {
  color: #355961;
  margin: 3px 0 10px;
  font-size: 15px;
  line-height: 1.55;
}
.result-actions {
  margin-top: 13px;
}
.result-actions .primary-button,.result-actions .secondary-button {
  padding: 11px 15px;
  font-size: 14px;
}
.text-link {
  color: var(--teal);
  border-bottom: 1px solid #77a4a1;
  padding-bottom: 3px;
  font-size: 14px;
  font-weight: 900;
}
.result-alternatives {
  grid-template-columns: auto repeat(2,1fr);
  align-items: stretch;
  gap: 8px;
  margin-top: 13px;
  display: grid;
}
.result-alternatives>strong {
  align-self: center;
  padding-right: 4px;
  font-size: 14px;
}
.result-alternatives button {
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  background: #f7fbf9;
  border: 1px solid #c9ddda;
  border-radius: 12px;
  gap: 3px;
  padding: 10px 12px;
  display: grid;
}
.result-alternatives button span {
  font-size: 14px;
  font-weight: 900;
}
.result-alternatives button small {
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.4;
}
.result-note {
  color: #657c82;
  margin: 11px 0 0!important;
  font-size: 13px!important;
}
.plans-section {
  padding-top: 62px;
}
.plan-grid {
  --plan-gap: 14px;
  gap: var(--plan-gap);
  grid-template-columns: repeat(4,1fr);
  display: grid;
}
.plan-card {
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  text-align: left;
  border: 1px solid #0000;
  border-radius: 19px;
  flex-direction: column;
  width: 100%;
  min-height: 315px;
  padding: 19px;
  transition: all .2s;
  display: flex;
  position: relative;
}
.plan-card:before {
""  content: ;
  border-radius: 20px 20px 0 0;
  height: 6px;
  position: absolute;
  inset: 0 0 auto;
}
.plan-card.blue {
  --plan-accent: #478f97;
  background: linear-gradient(155deg,#e0f0f1fa,#fcfefdf7);
  border-color: #b9d6d9;
}
.plan-card.orange {
  --plan-accent: #d97945;
  background: linear-gradient(155deg,#faeadefa,#fffbf7f7);
  border-color: #e7c9b6;
}
.plan-card.green {
  --plan-accent: #568c6c;
  background: linear-gradient(155deg,#e4efe7fa,#fafdfaf7);
  border-color: #c2d7c7;
}
.plan-card.purple {
  --plan-accent: #746f9f;
  background: linear-gradient(155deg,#eceaf6fa,#fcfbfef7);
  border-color: #d2cee3;
}
.plan-card.blue:before {
  background: #4b9aa2;
}
.plan-card.orange:before {
  background: var(--orange);
}
.plan-card.green:before {
  background: #5b9874;
}
.plan-card.purple:before {
  background: #7973ad;
}
.plan-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 34px #11454a21;
}
.plan-card.active {
  transform: translateY(-4px);
}
.plan-card.active:after {
  border-left: 10px solid #0000;
  border-right: 10px solid #0000;
  border-top: 11px solid var(--plan-accent);
""  content: ;
  position: absolute;
  bottom: -12px;
  left: calc(50% - 10px);
}
.plan-card.blue.active {
  border-color: #4b9aa2;
  box-shadow: 0 0 0 3px #4b9aa22e,0 16px 34px #11454a21;
}
.plan-card.orange.active {
  border-color: #d97949;
  box-shadow: 0 0 0 3px #e88a562e,0 16px 34px #11454a21;
}
.plan-card.green.active {
  border-color: #5b9874;
  box-shadow: 0 0 0 3px #5b98742e,0 16px 34px #11454a21;
}
.plan-card.purple.active {
  border-color: #7973ad;
  box-shadow: 0 0 0 3px #7973ad2e,0 16px 34px #11454a21;
}
.plan-card-top {
  justify-content: space-between;
  align-items: center;
  display: flex;
}
.plan-icon {
  color: var(--teal);
  background: #ffffffd9;
  border: 1px solid #144b521a;
  border-radius: 14px;
  width: 52px;
  height: 52px;
}
.plan-icon svg {
  width: 29px;
  height: 29px;
}
.plan-card-top small {
  color: #487078;
  font-size: 14px;
  font-weight: 900;
}
.plan-eyebrow {
  color: var(--teal);
  letter-spacing: .06em;
  margin-top: 19px;
  font-size: 15px;
  font-weight: 900;
  display: block;
}
.plan-card h3 {
  letter-spacing: -.025em;
  margin: 6px 0 8px;
  font-size: 21px;
  line-height: 1.4;
}
.plan-card p {
  color: var(--ink-soft);
  margin-bottom: 12px;
  font-size: 16px;
  line-height: 1.62;
}
.plan-tags {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}
.plan-tags span {
  color: #365f67;
  background: #ffffffc2;
  border: 1px solid #144b5221;
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 14px;
  font-weight: 800;
}
.plan-card>b {
  color: var(--teal);
  border-top: 1px solid #144b5221;
  margin-top: auto;
  padding-top: 14px;
  font-size: 15px;
}
.plan-expand-hint {
  color: #4a6970;
  margin: 11px 2px 0;
  font-size: 15px;
  line-height: 1.6;
}
.plan-detail-expand {
  --connector-position: calc(12.5% - 5.25px);
  --expanded-accent: #4b9aa2;
  --expanded-border: #a9d1d5;
  --expanded-ink: #176670;
  --expanded-soft: #e8f5f6;
  grid-column: 1/-1;
  min-width: 0;
  margin-top: 14px;
  scroll-margin-top: 92px;
  animation: .46s cubic-bezier(.2,.78,.22,1) both plan-detail-open;
  position: relative;
}
.plan-detail-expand.orange {
  --expanded-accent: #de7b46;
  --expanded-border: #efc4a9;
  --expanded-ink: #9e4f2e;
  --expanded-soft: #fff1e8;
}
.plan-detail-expand.green {
  --expanded-accent: #4d8f69;
  --expanded-border: #b8d8c2;
  --expanded-ink: #2f6e52;
  --expanded-soft: #eaf5ed;
}
.plan-detail-expand.purple {
  --expanded-accent: #716ba8;
  --expanded-border: #c9c5e5;
  --expanded-ink: #514b87;
  --expanded-soft: #f0eefb;
}
"1".plan-detail-expand[data-plan-index=] {
  --connector-position: calc(37.5% - 1.75px);
}
"2".plan-detail-expand[data-plan-index=] {
  --connector-position: calc(62.5% + 1.75px);
}
"3".plan-detail-expand[data-plan-index=] {
  --connector-position: calc(87.5% + 5.25px);
}
.plan-detail-expand:before {
  background: var(--expanded-accent);
""  content: ;
  height: 28px;
  left: var(--connector-position);
  z-index: 2;
  width: 3px;
  position: absolute;
  top: -28px;
  transform: translate(-50%);
}
.plan-detail-expand:after {
  background: var(--expanded-accent);
  border: 4px solid var(--paper);
""  content: ;
  height: 15px;
  left: var(--connector-position);
  z-index: 3;
  border-radius: 50%;
  width: 15px;
  position: absolute;
  top: -8px;
  transform: translate(-50%);
}
@keyframes plan-detail-open {
  0% {
    clip-path: inset(0 0 82% round 23px);
    opacity: 0;
    transform: translateY(-15px)scale(.99);
  }
  to {
    clip-path: inset(0 round 23px);
    opacity: 1;
    transform: translateY(0)scale(1);
  }
}
.comparison-section {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  color: var(--ink);
  background: linear-gradient(#e8f1eef7,#f6f4effa);
}
.comparison-section .section-heading h2 {
  color: var(--ink);
}
.comparison-section .section-kicker {
  color: var(--teal);
}
.comparison-section .section-heading>p {
  color: var(--ink-soft);
}
.comparison-table-wrap {
  background: #fffdf9f7;
  border: 1px solid #b9ceca;
  border-radius: 18px;
  overflow-x: auto;
  box-shadow: 0 12px 32px #10414714;
}
.comparison-table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
  min-width: 1100px;
}
.comparison-table th,.comparison-table td {
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #c9d9d6;
  border-right: 1px solid #d4e0dd;
  padding: 16px;
}
.comparison-table tr:last-child th,.comparison-table tr:last-child td {
  border-bottom: 0;
}
.comparison-table th:last-child,.comparison-table td:last-child {
  border-right: 0;
}
.comparison-table thead th {
  color: var(--ink);
  background: #e8f2ef;
  font-size: 17px;
  line-height: 1.45;
}
.comparison-table thead th:first-child {
  color: var(--teal-dark);
  background: #dceae6;
  width: 145px;
}
.comparison-table tbody th {
  color: var(--teal);
  background: #f0f5f2;
  width: 145px;
  font-size: 15px;
  line-height: 1.5;
}
.comparison-table tbody tr:nth-child(2n) td {
  background: #fbfcfa;
}
.comparison-table td {
  color: #274d56;
  font-size: 16px;
  line-height: 1.65;
}
.table-plan-icon {
  background: var(--blue);
  color: #28747a;
  border-radius: 10px;
  width: 40px;
  height: 40px;
  margin-bottom: 9px;
}
.table-plan-icon.orange {
  background: var(--orange-soft);
  color: #a95736;
}
.table-plan-icon.green {
  background: var(--green);
  color: #34745c;
}
.table-plan-icon.purple {
  background: var(--purple);
  color: #625c91;
}
.table-plan-icon svg {
  width: 23px;
  height: 23px;
}
.table-note {
  color: #47656c;
  margin: 12px 0 0;
  font-size: 15px;
  line-height: 1.65;
}
.plan-detail {
  border: 1px solid var(--line);
  background: #fffefbf7;
  border-radius: 21px;
  padding: 24px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 12px 30px #10414714;
}
.plan-detail-expand .plan-detail {
  background: linear-gradient(180deg, var(--expanded-soft) 0, #fffdf9fa 190px);
  border-color: var(--expanded-border);
  box-shadow: 0 17px 40px #10414721;
}
.plan-detail:focus {
  outline: none;
}
.plan-detail:before {
""  content: ;
  width: 7px;
  position: absolute;
  inset: 0 auto 0 0;
}
.plan-detail.blue:before {
  background: #4b9aa2;
}
.plan-detail.orange:before {
  background: var(--orange);
}
.plan-detail.green:before {
  background: #5b9874;
}
.plan-detail.purple:before {
  background: #7973ad;
}
.plan-detail-expand .plan-detail:before {
  background: var(--expanded-accent);
}
.plan-detail-header {
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 17px;
  display: grid;
}
.detail-number {
  color: #7b969a;
  font-size: 14px;
  font-weight: 900;
}
.detail-icon {
  color: var(--teal);
  background: #e7f2ef;
  border-radius: 15px;
  width: 58px;
  height: 58px;
}
.plan-detail.orange .detail-icon {
  background: var(--orange-soft);
  color: #aa5937;
}
.plan-detail.green .detail-icon {
  background: var(--green);
  color: #34745c;
}
.plan-detail.purple .detail-icon {
  background: var(--purple);
  color: #625c91;
}
.plan-detail-expand .detail-icon {
  border: 1px solid var(--expanded-border);
  color: var(--expanded-ink);
  background: #fff;
}
.detail-icon svg {
  width: 32px;
  height: 32px;
}
.plan-detail-header .plan-eyebrow {
  margin: 0;
}
.plan-detail-header h3 {
  letter-spacing: -.035em;
  margin: 4px 0;
  font-size: clamp(25px,2.6vw,32px);
  line-height: 1.28;
}
.plan-detail-header p {
  color: var(--ink-soft);
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
}
.detail-intro {
  grid-template-columns: repeat(2,1fr);
  gap: 10px;
  margin-top: 18px;
  display: grid;
}
.detail-intro>div {
  background: #f0f6f3;
  border-radius: 13px;
  padding: 15px;
}
.plan-detail-expand .detail-intro>div {
  background: color-mix(in srgb, var(--expanded-soft) 76%, white);
  border: 1px solid var(--expanded-border);
}
.detail-intro span,.tax-grid span {
  color: #2e7378;
  letter-spacing: .05em;
  font-size: 15px;
  font-weight: 900;
  display: block;
}
.detail-intro p {
  color: #31555e;
  margin: 5px 0 0;
  font-size: 16px;
  line-height: 1.65;
}
.tax-grid {
  grid-template-columns: repeat(3,1fr);
  gap: 10px;
  margin-top: 12px;
  display: grid;
}
.tax-grid section {
  background: #fffdf9;
  border: 1px solid #d5e0dd;
  border-radius: 13px;
  flex-direction: column;
  min-height: 135px;
  padding: 15px;
  display: flex;
}
.plan-detail-expand .tax-grid section {
  border-color: var(--expanded-border);
  border-top: 4px solid var(--expanded-accent);
}
.tax-grid strong {
  margin-top: 7px;
  font-size: 17px;
  line-height: 1.55;
}
.tax-grid small {
  color: var(--ink-soft);
  margin-top: auto;
  padding-top: 7px;
  font-size: 14px;
  line-height: 1.55;
}
.detail-content-grid {
  grid-template-columns: 1.2fr .9fr .9fr;
  gap: 10px;
  margin-top: 10px;
  display: grid;
}
.detail-content-grid>section {
  border: 1px solid #d5e0dd;
  border-radius: 13px;
  padding: 15px;
}
.detail-content-grid h4 {
  color: #246a70;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  font-size: 17px;
  display: flex;
}
.detail-content-grid h4 svg {
  width: 22px;
  height: 22px;
}
.number-list,.check-list,.notice-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.number-list {
  gap: 0;
  display: grid;
}
.number-list li {
  grid-template-columns: 27px 1fr;
  align-items: start;
  gap: 10px;
  min-height: 39px;
  display: grid;
  position: relative;
}
.number-list li:not(:last-child):after {
""  content: ;
  background: #bfd2ce;
  width: 2px;
  height: calc(100% - 24px);
  position: absolute;
  top: 28px;
  left: 13px;
}
.number-list li>span {
  background: var(--teal);
  color: #fff;
  z-index: 1;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  height: 27px;
  font-size: 12px;
  font-weight: 900;
  display: grid;
  position: relative;
}
.number-list p {
  color: #31555e;
  margin: 3px 0 9px;
  font-size: 15px;
  line-height: 1.55;
}
.check-list,.notice-list {
  gap: 8px;
  display: grid;
}
.check-list li,.notice-list li {
  color: #31555e;
  padding-left: 22px;
  font-size: 15px;
  line-height: 1.55;
  position: relative;
}
.check-list li:before {
  color: #277159;
"✓"  content: ;
  background: #dcefe6;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 17px;
  height: 17px;
  font-size: 11px;
  font-weight: 900;
  display: grid;
  position: absolute;
  top: 2px;
  left: 0;
}
.notice-list li:before {
  color: #8e5e20;
"!"  content: ;
  background: #f7e3c5;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 17px;
  height: 17px;
  font-size: 11px;
  font-weight: 900;
  display: grid;
  position: absolute;
  top: 2px;
  left: 0;
}
.first-step {
  background: #fff7ea;
  border-radius: 11px;
  gap: 3px;
  margin-top: 12px;
  padding: 11px;
  display: grid;
}
.first-step span {
  color: #9a6730;
  font-size: 12px;
  font-weight: 900;
}
.first-step strong {
  font-size: 15px;
  line-height: 1.55;
}
.detail-links {
  border-top: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-top: 15px;
  padding-top: 15px;
  display: flex;
}
.detail-links>span {
  color: #3d656d;
  font-size: 15px;
  font-weight: 900;
}
.detail-links>div {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  display: flex;
}
.detail-links a {
  background: var(--teal);
  color: #fff;
  border-radius: 999px;
  padding: 10px 14px;
  font-size: 15px;
  font-weight: 900;
}
.detail-links a+a {
  color: var(--teal);
  background: #fff;
  border: 1px solid #9fc3c0;
}
.process-section {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  background: #eef2eef0;
}
.process-selector {
  grid-template-columns: repeat(4,1fr);
  gap: 10px;
  margin: -6px 0 16px;
  display: grid;
}
.process-selector button {
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  text-align: left;
  background: #fffefbdb;
  border: 1px solid #bfd4d0;
  border-radius: 14px;
  align-items: center;
  gap: 9px;
  min-height: 54px;
  padding: 9px 12px;
  font-size: 15px;
  font-weight: 900;
  transition: all .18s;
  display: flex;
}
.process-selector button:hover {
  border-color: var(--teal);
  transform: translateY(-1px);
}
.process-selector button.active {
  background: var(--teal);
  border-color: var(--teal);
  color: #fff;
  box-shadow: 0 8px 18px #115c622b;
}
.process-selector button.active.orange {
  background: #b65e39;
  border-color: #b65e39;
}
.process-selector button.active.green {
  background: #36745c;
  border-color: #36745c;
}
.process-selector button.active.purple {
  background: #625c91;
  border-color: #625c91;
}
.process-selector button span {
  color: var(--teal);
  background: #e4f1ed;
  border-radius: 9px;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 34px;
  height: 34px;
  display: flex;
}
.process-selector button.active span {
  color: #fff;
  background: #ffffff2e;
}
.process-selector svg {
  width: 21px;
  height: 21px;
}
.process-route {
  grid-template-columns: repeat(4,1fr);
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.process-route li {
  background: #fffefbe8;
  border: 1px solid #ceddd9;
  min-height: 220px;
  padding: 19px;
  position: relative;
}
.process-route li:first-child {
  border-radius: 18px 0 0 18px;
}
.process-route li:last-child {
  border-radius: 0 18px 18px 0;
}
.process-route li+li {
  border-left: 0;
}
.process-route li:not(:last-child):after {
  background: var(--orange);
""  content: ;
  z-index: 2;
  border: 4px solid #eef3ef;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 48px;
  right: -8px;
}
.process-icon {
  color: var(--teal);
  background: #e4f1ed;
  border-radius: 13px;
  width: 48px;
  height: 48px;
  margin-bottom: 15px;
}
.process-icon svg {
  width: 27px;
  height: 27px;
}
.process-route small {
  color: var(--orange);
  font-size: 13px;
  font-weight: 900;
}
.process-route h3 {
  margin: 6px 0 8px;
  font-size: 20px;
  line-height: 1.35;
}
.process-route p {
  color: var(--ink-soft);
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
}
.process-outcome {
  color: #155f64;
  background: #e5f0ec;
  border-radius: 999px;
  margin-top: 14px;
  padding: 7px 10px;
  font-size: 14px;
  line-height: 1.45;
  display: inline-block;
}
.process-actions {
  background: #fffefbeb;
  border: 1px solid #ceddd9;
  border-radius: 14px;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-top: 12px;
  padding: 13px 15px;
  display: flex;
}
.process-actions>strong {
  color: #315f66;
  font-size: 15px;
}
.process-actions>div {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  display: flex;
}
.process-actions a {
  background: var(--teal);
  color: #fff;
  border-radius: 999px;
  padding: 9px 13px;
  font-size: 14px;
  font-weight: 900;
}
.process-actions a+a {
  color: var(--teal);
  background: #fff;
  border: 1px solid #9fc3c0;
}
.process-empty {
  color: var(--teal);
  background: #fffefbeb;
  border: 1px dashed #9ebfba;
  border-radius: 18px;
  align-items: center;
  gap: 15px;
  min-height: 132px;
  padding: 22px;
  display: flex;
}
.process-empty>svg {
  flex: none;
  width: 38px;
  height: 38px;
}
.process-empty strong {
  color: var(--ink);
  font-size: 20px;
  display: block;
}
.process-empty p {
  color: var(--ink-soft);
  margin: 4px 0 0;
  font-size: 16px;
  line-height: 1.6;
}
.agency-heading {
  grid-template-columns: 1fr minmax(300px,570px);
  align-items: end;
  gap: 4px 26px;
  margin-top: 24px;
  display: grid;
}
.agency-heading span {
  color: var(--teal);
  letter-spacing: .08em;
  font-size: 14px;
  font-weight: 900;
}
.agency-heading h3 {
  margin: 0;
  font-size: 26px;
  line-height: 1.3;
}
.agency-heading p {
  color: var(--ink-soft);
  grid-area: 1/2/3;
  margin: 0;
  font-size: 16px;
  line-height: 1.65;
}
.agency-split {
  grid-template-columns: repeat(2,1fr);
  gap: 12px;
  margin-top: 14px;
  display: grid;
}
.agency-split>div {
  color: #fff;
  background: #0a5159;
  border-radius: 14px;
  padding: 16px 18px;
}
.agency-split span {
  color: #a3d8d8;
  font-size: 14px;
  font-weight: 900;
  display: block;
}
.agency-split strong {
  margin-top: 4px;
  font-size: 20px;
  display: block;
}
.agency-split p {
  color: #dcebea;
  margin: 5px 0 0;
  font-size: 15px;
  line-height: 1.6;
}
.calculator-section {
  border-bottom: 1px solid var(--line);
  background: linear-gradient(120deg,#e2efe9f7,#f9f3eaf7);
  grid-template-columns: .9fr 1.1fr;
  align-items: center;
  gap: clamp(26px,5vw,60px);
  padding: 50px clamp(24px,5.5vw,72px);
  display: grid;
}
.calculator-copy h2 {
  letter-spacing: -.04em;
  margin: 7px 0 12px;
  font-size: clamp(30px,3.2vw,42px);
  line-height: 1.2;
}
.calculator-copy>p {
  color: var(--ink-soft);
  margin-bottom: 11px;
  font-size: 16px;
  line-height: 1.7;
}
.calculator-copy ul {
  color: #365c64;
  gap: 4px;
  margin: 0;
  padding-left: 20px;
  font-size: 15px;
  line-height: 1.55;
  display: grid;
}
.calculator-card {
  box-shadow: var(--shadow);
  background: #fffefbf7;
  border: 1px solid #bfd5d1;
  border-radius: 19px;
  grid-template-columns: 56px 1fr;
  align-items: center;
  gap: 14px;
  padding: 21px;
  display: grid;
}
.calculator-card>span {
  background: var(--orange);
  color: #fff;
  border-radius: 15px;
  justify-content: center;
  align-items: center;
  width: 56px;
  height: 56px;
  display: grid;
}
.calculator-card>span svg {
  width: 31px;
  height: 31px;
}
.calculator-card small,.calculator-card strong {
  display: block;
}
.calculator-card small {
  color: #2f7378;
  font-size: 15px;
  font-weight: 900;
}
.calculator-card strong {
  margin-top: 3px;
  font-size: 20px;
  line-height: 1.4;
}
.calculator-card p {
  color: var(--ink-soft);
  margin: 4px 0 0;
  font-size: 16px;
  line-height: 1.55;
}
.calculator-card a {
  background: var(--teal);
  color: #fff;
  border-radius: 999px;
  grid-column: 1/-1;
  justify-self: start;
  padding: 12px 16px;
  font-size: 15px;
  font-weight: 900;
}
.resource-grid {
  gap: 13px;
  display: grid;
}
.tenant-grid {
  grid-template-columns: repeat(3,1fr);
}
.resource-card {
  border: 1px solid var(--line);
  background: #fffefbf7;
  border-radius: 16px;
  flex-direction: column;
  min-height: 220px;
  padding: 17px;
  transition: all .18s;
  display: flex;
}
.resource-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 26px #14494e1c;
}
.resource-icon {
  background: var(--blue);
  color: var(--teal);
  border-radius: 12px;
  width: 44px;
  height: 44px;
  margin-bottom: 11px;
}
.resource-card.orange .resource-icon {
  background: var(--orange-soft);
  color: #af5c39;
}
.resource-card.green .resource-icon {
  background: var(--green);
  color: #34745c;
}
.resource-card.purple .resource-icon {
  background: var(--purple);
  color: #625c91;
}
.resource-icon svg {
  width: 26px;
  height: 26px;
}
.resource-card>small {
  color: #416b72;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.45;
}
.resource-card>strong {
  margin: 5px 0 7px;
  font-size: 19px;
  line-height: 1.4;
}
.resource-card>p {
  color: var(--ink-soft);
  margin-bottom: 12px;
  font-size: 16px;
  line-height: 1.6;
}
.resource-card>b {
  border-top: 1px solid var(--line);
  color: var(--teal);
  margin-top: auto;
  padding-top: 11px;
  font-size: 15px;
}
.resources-section {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  background: #f2f0eaeb;
}
.official-grid {
  grid-template-columns: repeat(3,1fr);
}
.resource-card.official {
  min-height: 205px;
}
.contact-bar {
  color: #fff;
  background: #0a5159;
  border-radius: 16px;
  grid-template-columns: 50px 1fr auto;
  align-items: center;
  gap: 15px;
  margin-top: 14px;
  padding: 17px 19px;
  display: grid;
}
.contact-icon {
  background: #ffffff21;
  border-radius: 14px;
  width: 52px;
  height: 52px;
}
.contact-icon svg {
  width: 29px;
  height: 29px;
}
.contact-bar small {
  color: #b3dddd;
  font-size: 14px;
  font-weight: 900;
  display: block;
}
.contact-bar strong {
  margin-top: 3px;
  font-size: 18px;
  display: block;
}
.contact-bar p {
  color: #e2efef;
  margin: 3px 0 0;
  font-size: 15px;
  line-height: 1.5;
}
.contact-bar a {
  color: #173f47;
  white-space: nowrap;
  background: #f0a074;
  border-radius: 999px;
  padding: 10px 14px;
  font-size: 15px;
  font-weight: 900;
}
.faq-section {
  max-width: 1160px;
}
.faq-list {
  border-top: 1px solid var(--line);
}
.faq-list article {
  border-bottom: 1px solid var(--line);
}
.faq-list button {
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  background: 0 0;
  border: 0;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  width: 100%;
  padding: 16px 0;
  display: flex;
}
.faq-list button>span {
  align-items: center;
  gap: 15px;
  font-size: 17px;
  font-weight: 850;
  line-height: 1.45;
  display: flex;
}
.faq-list button small {
  color: var(--orange);
  letter-spacing: .08em;
  font-size: 13px;
}
.faq-list button b {
  color: var(--teal);
  font-size: 26px;
  font-weight: 500;
}
.faq-list article>p {
  color: var(--ink-soft);
  max-width: 900px;
  margin: -2px 46px 16px 39px;
  font-size: 16px;
  line-height: 1.7;
}
.faq-list article.open button {
  color: var(--teal);
}
.site-footer {
  border-top: 1px solid var(--line);
  background: #fffefbeb;
  grid-template-columns: auto 1fr minmax(320px,470px);
  align-items: start;
  gap: 22px;
  padding: 24px clamp(24px,5.5vw,72px);
  display: grid;
}
.site-footer strong,.site-footer span {
  display: block;
}
.site-footer strong {
  font-size: 16px;
}
.site-footer span {
  color: var(--ink-soft);
  margin-top: 3px;
  font-size: 15px;
}
.site-footer nav {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 20px;
  display: flex;
}
.site-footer nav a {
  color: var(--teal);
  font-size: 15px;
  font-weight: 900;
}
.site-footer p {
  color: #526f76;
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
}
.footer-notice {
  gap: 5px;
  display: grid;
}
.footer-notice small {
  color: #617b81;
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;
}
@media (max-width:1140px) {
  .topbar {
    grid-template-columns: auto 1fr auto;
  }
  .brand>span {
    display: none;
  }
  .topnav {
    justify-content: flex-end;
    gap: 14px;
  }
  .topnav a:nth-child(4),.topnav a:nth-child(5) {
    display: none;
  }
  .quick-links {
    grid-template-columns: repeat(2,1fr);
    margin-top: -18px;
  }
  .plan-grid,.official-grid {
    grid-template-columns: repeat(2,1fr);
  }
  .detail-content-grid {
    grid-template-columns: 1.2fr 1fr;
  }
  .detail-content-grid>section:last-child {
    grid-column: 1/-1;
  }
  .plan-detail-expand:before,.plan-detail-expand:after {
    display: none;
  }
}
@media (max-width:840px) {
  body {
    background-position: 50% 74px;
    background-size: 820px;
    background-attachment: scroll;
  }
  .section-frame {
    padding: 46px 21px;
  }
  .topbar {
    gap: 14px;
    min-height: 70px;
    padding: 9px 18px;
  }
  .brand-logo {
    max-width: 180px;
    height: 34px;
  }
  .topnav {
    display: none;
  }
  .official-site-link {
    justify-self: end;
  }
  .section-heading {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 12px;
  }
  .section-heading>p {
    max-width: 680px;
  }
  .hero {
    grid-template-columns: 1fr;
    gap: 20px;
    min-height: 0;
    padding: 36px 21px 46px;
  }
  .hero-copy {
    max-width: 620px;
  }
  .hero-service-card {
    max-width: 580px;
    margin: 0;
  }
  .journey-card {
    grid-template-columns: 1fr;
  }
  .journey-sidebar {
    padding: 19px;
  }
  .journey-sidebar ol {
    gap: 8px;
    margin-top: 15px;
    display: flex;
  }
  .journey-sidebar li {
    flex: 1;
    grid-template-columns: 32px 1fr;
    gap: 6px;
    padding: 8px;
  }
  .journey-sidebar li:not(:last-child):after {
    border: 7px solid #0000;
    border-left: 9px solid #ffffff57;
    border-right: 0;
    inset: 17px -9px auto auto;
    transform: none;
  }
  .journey-sidebar li.active:not(:last-child):after {
    border-top-color: #0000;
    border-left-color: #f3a171;
  }
  .journey-sidebar li>span {
    width: 32px;
    height: 32px;
  }
  .journey-sidebar li small {
    display: none;
  }
  .journey-selection {
    margin-top: 14px;
  }
  .journey-stage {
    padding: 25px 21px;
  }
  .need-grid.tenant {
    grid-template-columns: 1fr;
  }
  .need-grid.tenant button {
    grid-template-columns: 45px 1fr;
    align-items: center;
    min-height: 106px;
  }
  .result-grid {
    grid-template-columns: 1fr;
  }
  .plan-grid {
    grid-template-columns: repeat(2,1fr);
  }
  .comparison-section .section-frame {
    padding-left: 21px;
    padding-right: 21px;
  }
  .detail-intro,.tax-grid {
    grid-template-columns: 1fr;
  }
  .tax-grid section {
    min-height: 0;
  }
  .detail-content-grid {
    grid-template-columns: 1fr;
  }
  .detail-content-grid>section:last-child {
    grid-column: auto;
  }
  .process-selector {
    grid-template-columns: repeat(2,1fr);
  }
  .process-route {
    grid-template-columns: repeat(2,1fr);
    gap: 10px;
  }
  .process-route li,.process-route li:first-child,.process-route li:last-child {
    border: 1px solid #ceddd9;
    border-radius: 16px;
  }
  .process-route li+li {
    border-left: 1px solid #ceddd9;
  }
  .process-route li:after {
    display: none;
  }
  .agency-heading {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .agency-heading p {
    grid-area: auto;
  }
  .calculator-section {
    grid-template-columns: 1fr;
    padding: 44px 21px;
  }
  .tenant-grid {
    grid-template-columns: repeat(2,1fr);
  }
  .contact-bar {
    grid-template-columns: 52px 1fr;
  }
  .contact-bar a {
    grid-column: 1/-1;
    justify-self: start;
  }
  .site-footer {
    grid-template-columns: 1fr;
    padding: 24px 21px;
  }
  .site-footer nav {
    justify-content: flex-start;
  }
}
@media (max-width:560px) {
  body {
    font-size: 17px;
  }
  .section-frame {
    padding: 42px 18px;
  }
  .topbar {
    grid-template-columns: 1fr auto;
  }
  .brand-logo {
    max-width: 165px;
    height: 32px;
  }
  .official-site-link {
    padding: 9px 12px;
    font-size: 14px;
  }
  .hero-copy h1 {
    font-size: clamp(34px,10vw,42px);
  }
  .hero-copy>p {
    font-size: 17px;
  }
  .hero-actions a {
    width: 100%;
  }
  .hero-service-card {
    padding: 17px;
  }
  .quick-links {
    grid-template-columns: 1fr;
    margin-top: -23px;
    padding: 0 16px;
  }
  .quick-links>a {
    min-height: 78px;
  }
  .guide-section {
    padding-top: 52px;
  }
  .journey-card {
    border-radius: 20px;
  }
  .journey-sidebar li {
    text-align: center;
    justify-items: center;
    padding: 7px 3px;
    display: grid;
  }
  .journey-sidebar li>div {
    display: none;
  }
  .journey-stage {
    padding: 22px 16px;
  }
  .role-grid,.need-grid {
    grid-template-columns: 1fr;
  }
  .role-grid button {
    min-height: 165px;
  }
  .assessment-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .assessment-question {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .answer-options {
    grid-template-columns: repeat(3,1fr);
    padding-left: 48px;
    display: grid;
  }
  .answer-options button {
    min-width: 0;
  }
  .assessment-footer {
    flex-direction: column;
    align-items: stretch;
  }
  .assessment-footer button {
    width: 100%;
  }
  .result-verdict {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .result-verdict>strong {
    grid-template-columns: auto 1fr;
    justify-self: start;
    gap: 7px;
    min-width: 0;
  }
  .result-verdict>strong small {
    align-self: center;
    margin: 0;
  }
  .result-alternatives {
    grid-template-columns: 1fr;
  }
  .result-actions>* {
    width: 100%;
  }
  .result-actions .text-link {
    text-align: center;
    width: auto;
  }
  .plan-grid,.tenant-grid,.official-grid {
    grid-template-columns: 1fr;
  }
  .plan-grid>.plan-card:first-child {
    order: 1;
  }
  .plan-grid>.plan-card:nth-child(2) {
    order: 3;
  }
  .plan-grid>.plan-card:nth-child(3) {
    order: 5;
  }
  .plan-grid>.plan-card:nth-child(4) {
    order: 7;
  }
  .plan-grid>.plan-detail-expand {
    margin-top: 0;
  }
"0"  .plan-grid>.plan-detail-expand[data-plan-index=] {
    order: 2;
  }
"1"  .plan-grid>.plan-detail-expand[data-plan-index=] {
    order: 4;
  }
"2"  .plan-grid>.plan-detail-expand[data-plan-index=] {
    order: 6;
  }
"3"  .plan-grid>.plan-detail-expand[data-plan-index=] {
    order: 8;
  }
  .plan-card {
    min-height: 285px;
  }
  .plan-detail {
    padding: 20px 16px;
  }
  .plan-detail-header {
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 10px;
  }
  .detail-number {
    grid-column: 1/-1;
  }
  .detail-icon {
    width: 50px;
    height: 50px;
  }
  .detail-icon svg {
    width: 28px;
    height: 28px;
  }
  .detail-links {
    flex-direction: column;
    align-items: flex-start;
  }
  .detail-links>div {
    justify-content: flex-start;
  }
  .process-selector {
    grid-template-columns: 1fr;
  }
  .process-actions {
    flex-direction: column;
    align-items: flex-start;
  }
  .process-actions>div {
    justify-content: flex-start;
  }
  .process-route,.agency-split {
    grid-template-columns: 1fr;
  }
  .process-route li {
    min-height: 0;
  }
  .calculator-card {
    grid-template-columns: 52px 1fr;
    padding: 18px;
  }
  .calculator-card>span {
    width: 52px;
    height: 52px;
  }
  .contact-bar {
    grid-template-columns: 1fr;
  }
  .faq-list button>span {
    align-items: flex-start;
    font-size: 16px;
  }
  .faq-list article>p {
    margin-left: 0;
    margin-right: 20px;
  }
}
@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto;
  }
  .journey-pane.forward,.journey-pane.backward,.plan-detail-expand {
    animation: none;
  }
}
@media print {
  body {
    color: #123b48;
    background: #fff;
    font-size: 11pt;
  }
  .topbar,.hero,.quick-links,.section-heading,.journey-sidebar,.plans-section,.comparison-section,.process-section,.calculator-section,.tenant-section,.resources-section,.faq-section,.site-footer,.result-actions,.result-alternatives {
    display: none!important;
  }
  .guide-section {
    max-width: none;
    padding: 0;
  }
  .journey-card {
    box-shadow: none;
    border: 0;
    min-height: 0;
    display: block;
  }
  .journey-stage {
    padding: 0;
    display: block;
  }
  .result-panel,.result-verdict {
    break-inside: avoid;
    box-shadow: none;
  }
}

/* =========================================================
   Compact tenant services
   Messenger styles are maintained in assets/css/messenger.css.
   ========================================================= */

.contact-bar {
  display: none !important;
}

.tenant-primary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tenant-more {
  margin-top: 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fffefbf7;
  overflow: hidden;
}

.tenant-more > summary {
  color: var(--teal);
  cursor: pointer;
  list-style: none;
  padding: 15px 18px;
  font-size: 16px;
  font-weight: 900;
}

.tenant-more > summary::-webkit-details-marker {
  display: none;
}

.tenant-more > summary::after {
  content: "＋";
  float: right;
  font-size: 20px;
  line-height: 1.2;
}

.tenant-more[open] > summary {
  border-bottom: 1px solid var(--line);
}

.tenant-more[open] > summary::after {
  content: "−";
}

.tenant-secondary-grid {
  padding: 14px;
}

@media (max-width: 1140px) {
  .tenant-primary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .tenant-primary-grid,
  .tenant-secondary-grid {
    grid-template-columns: 1fr;
  }

  .tenant-secondary-grid {
    padding: 12px;
  }
}
