:root,
html[data-theme="dark"] {
  color-scheme: dark;

  --color-page: #171917;
  --color-page-soft: #202420;
  --color-shell: #1d1f1d;
  --color-shell-warm: #24221e;
  --color-shell-green: #1d2621;
  --color-shell-elevated: #262825;
  --color-panel: #262824;
  --color-panel-soft: #2e302b;
  --color-panel-muted: #312d25;
  --color-field: #2b2d29;

  --color-text: #f2eee4;
  --color-text-strong: #fffaf0;
  --color-muted: #d2cab8;
  --color-muted-soft: #a99f8d;

  --color-green: #0e8255;
  --color-green-hover: #159866;
  --color-green-active: #0b7149;
  --color-green-soft: rgba(14, 130, 85, 0.12);
  --color-green-border: rgba(14, 130, 85, 0.28);

  --color-gold: #d4a83a;
  --color-gold-hover: #e7c75a;
  --color-gold-soft: rgba(212, 168, 58, 0.14);
  --color-gold-border: rgba(212, 168, 58, 0.45);

  --color-hero-surface: #cfb34f;
  --color-hero-text: #2a2410;
  --color-hero-muted: #463e1d;

  --color-resource-band: #d7d1c4;
  --color-resource-band-strong: #272721;
  --color-resource-band-muted: #5f5a51;
  --color-resource-band-line: rgba(44, 40, 32, 0.16);

  --color-red: #b63f52;
  --color-red-hover: #c94b60;
  --color-red-soft: rgba(182, 63, 82, 0.14);
  --color-red-text: #ff6f6f;

  --color-border: rgba(255, 250, 240, 0.1);
  --color-border-strong: rgba(255, 250, 240, 0.18);
  --color-shadow: rgba(0, 0, 0, 0.26);

  --radius-shell: 14px;
  --radius-card: 12px;
  --radius-field: 8px;

  --container-width: 1200px;
  --form-shell-width: 1200px;
  --container-padding: 30px;
}

html[data-theme="light"] {
  color-scheme: light;

  --color-page: #f2ede1;
  --color-page-soft: #e7e0d1;
  --color-shell: #fbf8f0;
  --color-shell-warm: #f4efe2;
  --color-shell-green: #edf2ea;
  --color-shell-elevated: #f7f2e7;
  --color-panel: #fdfaf4;
  --color-panel-soft: #f1ebdf;
  --color-panel-muted: #ece5d7;
  --color-field: #fffdf8;

  --color-text: #23352b;
  --color-text-strong: #17231d;
  --color-muted: #506257;
  --color-muted-soft: #6f7e76;

  --color-green: #0e8255;
  --color-green-hover: #159866;
  --color-green-active: #0b7149;
  --color-green-soft: rgba(14, 130, 85, 0.12);
  --color-green-border: rgba(14, 130, 85, 0.28);

  --color-gold: #8a641b;
  --color-gold-hover: #6f5015;
  --color-gold-soft: rgba(138, 100, 27, 0.12);
  --color-gold-border: rgba(138, 100, 27, 0.32);

  --color-hero-surface: #d6c06a;
  --color-hero-text: #28230f;
  --color-hero-muted: #514723;

  --color-resource-band: #ece4d7;
  --color-resource-band-strong: #20231d;
  --color-resource-band-muted: #5b6059;
  --color-resource-band-line: rgba(38, 36, 31, 0.12);

  --color-red: #a53246;
  --color-red-hover: #8f293a;
  --color-red-soft: rgba(165, 50, 70, 0.1);
  --color-red-text: #a53246;

  --color-border: rgba(37, 45, 41, 0.1);
  --color-border-strong: rgba(37, 45, 41, 0.18);
  --color-shadow: rgba(40, 29, 10, 0.06);
}

html {
  background: var(--color-page);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  background:
    radial-gradient(circle at top, var(--color-gold-soft), transparent 24%),
    radial-gradient(circle at 20% 0%, var(--color-green-soft), transparent 32%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 20%),
    var(--color-page);
  color: var(--color-text);
  font-family: "Trebuchet MS", Verdana, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  min-height: 100vh;
}

a {
  color: var(--color-green);
  text-decoration: none;
}

a:hover {
  color: var(--color-green-hover);
}

img {
  max-width: 100%;
  height: auto;
}

button,
input,
select,
textarea {
  font: inherit;
}

[hidden] {
  display: none !important;
}

.prime-scroll-x {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.page-content,
#header_container,
#body1,
#bodymiddlePan,
#bodyBottomPan,
#bottomPan,
#footermainPan,
body.prime-form-page .prime-utility,
body.prime-form-page .form-container,
body.prime-form-page .page-wrap,
body.prime-form-page .wrap {
  width: min(calc(100% - 24px), var(--container-width));
  margin-left: auto;
  margin-right: auto;
}

#header_container,
#body1,
#bodymiddlePan,
#bodyBottomPan,
#bottomPan,
#footermainPan,
.page-panel {
  background: var(--color-shell);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-shell);
  box-shadow: 0 10px 26px var(--color-shadow);
}

.feature-card,
.resource-card,
.action-card,
.info-card,
.service-card,
.guide-card,
.task-card,
.link-list-card,
.faq-item,
.rate-table-wrap,
.content-card {
  background: var(--color-panel);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  box-shadow: none;
}

body:not(.prime-form-page) #header_container {
  height: auto;
  min-height: 0;
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, var(--color-shell) 0%, var(--color-shell-warm) 100%);
  margin-top: 24px;
  padding: 0;
}

body:not(.prime-form-page) #header {
  width: auto;
  height: auto;
  position: static;
  padding: 0;
  display: block;
}

.site-brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.site-masthead {
  padding: 24px var(--container-padding) 14px;
  text-align: center;
  border-bottom: 1px solid var(--color-border);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 72%),
    var(--color-shell);
}

.site-logo-card {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.site-brand img,
body:not(.prime-form-page) #header > a img,
.site-logo-card img {
  display: block;
  width: min(100%, 360px);
  max-height: 108px;
}

body:not(.prime-form-page) #header img {
  position: static;
  top: auto;
  left: auto;
  padding: 0;
}

.site-navrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px var(--container-padding);
  border-bottom: 1px solid var(--color-border);
  background: var(--color-shell-elevated);
}

.site-nav-main {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.site-nav {
  min-width: 0;
}

.site-utility {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
  flex-shrink: 0;
}

.menu-toggle,
.theme-toggle,
.portal-link,
.prime-link,
.btn,
.btn-primary,
.btn-secondary,
.btn-warning {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 16px;
  border-radius: var(--radius-field);
  border: 1px solid transparent;
  font-size: 0.98rem;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.menu-toggle,
.theme-toggle,
.btn-secondary,
.prime-link {
  background: rgba(255, 255, 255, 0.02);
  border-color: var(--color-border);
  color: var(--color-text);
}

.menu-toggle:hover,
.theme-toggle:hover,
.btn-secondary:hover,
.prime-link:hover {
  background: var(--color-panel-soft);
  border-color: var(--color-border-strong);
  color: var(--color-text-strong);
}

.portal-link,
.btn-primary,
.btn-warning {
  background: var(--color-green);
  border-color: var(--color-green);
  color: #ffffff;
}

.portal-link:hover,
.btn-primary:hover {
  background: var(--color-green-hover);
  border-color: var(--color-green-hover);
  color: #ffffff;
}

.portal-link:active,
.btn-primary:active {
  background: var(--color-green-active);
  border-color: var(--color-green-active);
}

.btn-warning {
  background: var(--color-red);
  border-color: var(--color-red);
  color: #ffffff;
}

.btn-warning:hover {
  background: var(--color-red-hover);
  border-color: var(--color-red-hover);
}

.btn-small {
  min-height: 36px;
  padding: 8px 14px;
  font-size: 0.92rem;
}

.theme-toggle {
  width: 42px;
  min-width: 42px;
  min-height: 42px;
  padding: 0;
  border-radius: 10px;
}

.theme-toggle-icon {
  display: block;
  font-size: 1rem;
  line-height: 1;
}

.theme-toggle,
.portal-link,
.language-select,
.menu-toggle,
.faq-trigger,
summary,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
  cursor: pointer;
}

.theme-toggle:focus-visible,
.portal-link:focus-visible,
.menu-toggle:focus-visible,
.language-select:focus-visible,
.faq-trigger:focus-visible,
summary:focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--color-green);
  outline-offset: 2px;
}

.language-select {
  min-height: 40px;
  max-width: 116px;
  padding: 8px 34px 8px 12px;
  border-radius: var(--radius-field);
  border: 1px solid var(--color-border);
  background: rgba(255, 255, 255, 0.01);
  color: var(--color-text);
  font-size: 0.9rem;
}

.site-navlinks,
body:not(.prime-form-page) #header ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 18px;
  width: auto;
  height: auto;
  position: static;
  top: auto;
  left: auto;
  background: none;
  list-style: none;
  padding: 0;
  margin: 0;
}

.site-navlinks li,
body:not(.prime-form-page) #header ul li {
  background: none;
  border: 0;
  font: inherit;
  margin: 0;
  padding: 0;
}

.site-navlinks li a,
body:not(.prime-form-page) #header ul li a {
  background: none;
  font-family: inherit;
  color: var(--color-text);
  font-size: 0.94rem;
  font-weight: 700;
  padding: 7px 0;
  border-bottom: 2px solid transparent;
}

.site-navlinks li.active a,
.site-navlinks li a[aria-current="page"],
body:not(.prime-form-page) #header ul li.active a,
body:not(.prime-form-page) #header ul li a[aria-current="page"] {
  color: var(--color-gold);
  border-bottom-color: var(--color-gold-border);
}

.site-page-title,
body:not(.prime-form-page) #header h1 + p,
.hero-copy,
.panel-copy,
.section-copy {
  color: var(--color-muted);
}

.menu-toggle {
  display: none;
}

.page-content {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 20px;
}

.page-panel {
  padding: 24px var(--container-padding);
}

.panel-kicker,
.section-kicker,
.card-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  color: var(--color-gold);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: none;
}

.panel-title,
.section-title,
.card-title {
  margin: 0;
  color: var(--color-text-strong);
}

.panel-title {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.8rem, 3vw, 2.35rem);
  line-height: 1.12;
}

.section-title {
  font-family: inherit;
  font-size: clamp(1.08rem, 1.72vw, 1.32rem);
  font-weight: 700;
  line-height: 1.26;
}

.card-title {
  font-size: 1.06rem;
  line-height: 1.25;
}

.panel-copy,
.section-copy,
.card-copy,
.content-copy,
.guide-copy {
  margin: 14px 0 0;
  color: var(--color-muted);
  font-size: 1rem;
}

.hero-layout,
.mission-layout,
.split-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.9fr);
  gap: 22px;
  align-items: start;
}

.hero-actions,
.cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

.feature-card,
.resource-card,
.action-card,
.info-card,
.service-card,
.guide-card,
.task-card,
.link-list-card,
.content-card,
.rate-table-wrap {
  padding: 22px 24px;
}

.action-grid,
.feature-grid,
.resource-grid,
.service-grid,
.task-grid,
.info-grid,
.guide-grid,
.stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.service-grid.compact,
.task-grid.compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-panel > .task-grid,
.page-panel > .info-grid,
.page-panel > .service-grid {
  margin-top: 22px;
}

.resource-card ul,
.link-list,
.service-list,
.plain-list,
.check-list {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.resource-card li,
.link-list li,
.service-list li,
.plain-list li,
.check-list li {
  margin: 0;
  padding: 10px 0;
  border-top: 1px solid var(--color-border);
}

.resource-card li:first-child,
.link-list li:first-child,
.service-list li:first-child,
.plain-list li:first-child,
.check-list li:first-child {
  border-top: 0;
  padding-top: 0;
}

.resource-card li:last-child,
.link-list li:last-child,
.service-list li:last-child,
.plain-list li:last-child,
.check-list li:last-child {
  padding-bottom: 0;
}

.resource-card a,
.link-list a,
.plain-list a {
  color: var(--color-green);
  font-weight: 700;
}

.resource-card a:hover,
.link-list a:hover,
.plain-list a:hover {
  color: var(--color-green-hover);
}

.portal-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
}

.portal-strip-copy {
  flex: 1 1 320px;
}

.mission-figure {
  margin: 0;
  padding: 18px;
  background: var(--color-panel);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
}

.mission-figure img {
  border-radius: 6px;
}

.mission-quote {
  margin: 14px 0 0;
  color: var(--color-muted);
  font-size: 0.94rem;
}

.public-intro-panel,
.portal-action-panel,
.workband-panel,
.resource-section-shell,
.guide-intro,
.service-cluster,
.rate-group,
.decision-card {
  border-radius: var(--radius-shell);
}

.public-intro-panel {
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
}

.public-intro-panel .hero-layout {
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.85fr);
  gap: 28px;
  align-items: stretch;
}

.intro-banner {
  position: relative;
  min-height: 224px;
  overflow: hidden;
  padding: 28px 32px;
  border: 1px solid rgba(80, 71, 28, 0.16);
  border-radius: var(--radius-shell);
  background:
    linear-gradient(96deg, rgba(214, 188, 97, 0.92) 0%, rgba(231, 214, 141, 0.9) 46%, rgba(244, 236, 198, 0.76) 74%, rgba(255, 255, 255, 0.2) 100%),
    var(--color-hero-surface);
  color: var(--color-hero-text);
}

.intro-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("images/banner.jpg");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
  opacity: 0.18;
  pointer-events: none;
}

.intro-banner > * {
  position: relative;
  z-index: 1;
  max-width: 34rem;
}

.public-intro-panel .panel-kicker,
.public-intro-panel .section-kicker,
.intro-banner .panel-kicker {
  color: rgba(58, 50, 19, 0.9);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.72rem;
}

.hero-supporting-line {
  margin: 16px 0 0;
  color: var(--color-hero-muted);
  font-size: 1rem;
  font-weight: 700;
}

.public-intro-panel .panel-copy {
  max-width: 33rem;
  color: var(--color-hero-muted);
}

.intro-banner .panel-title {
  color: var(--color-hero-text);
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  line-height: 1.02;
}

.intro-banner .hero-actions {
  margin-top: 22px;
}

.intro-support {
  align-self: stretch;
  padding: 22px;
  background: linear-gradient(180deg, var(--color-panel-soft), var(--color-panel));
  border: 1px solid var(--color-green-border);
  border-radius: var(--radius-shell);
}

.intro-support .card-kicker {
  color: var(--color-green);
}

.quick-action-stack {
  display: grid;
  gap: 0;
  margin-top: 18px;
}

.quick-action-stack {
  border-top: 1px solid var(--color-border);
}

.quick-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 6px;
  border-bottom: 1px solid var(--color-border);
  border-radius: 0;
  color: var(--color-text-strong);
  transition: background-color 0.2s ease, padding-left 0.2s ease, color 0.2s ease;
}

.quick-action:hover {
  background: rgba(14, 130, 85, 0.08);
  padding-left: 12px;
  color: var(--color-text-strong);
}

.quick-action-label {
  display: block;
  color: var(--color-muted);
  font-size: 0.84rem;
  font-weight: 600;
}

.quick-action strong {
  color: var(--color-green);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.portal-action-panel {
  padding: 18px 22px;
  background: linear-gradient(120deg, rgba(14, 130, 85, 0.12), transparent 40%), var(--color-shell-green);
  border: 1px solid var(--color-green-border);
}

.portal-action-panel .portal-strip {
  gap: 14px 18px;
  align-items: center;
}

.portal-action-panel .section-kicker {
  color: var(--color-green);
}

.workband-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(220px, 0.7fr);
  gap: 20px;
  padding: 18px 22px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 60%), var(--color-shell);
  border: 1px solid var(--color-border);
}

.workband-panel .section-kicker {
  color: var(--color-gold);
}

.workband-panel.about-flow {
  grid-template-columns: 1fr;
}

.band-note {
  align-self: stretch;
  padding: 16px 18px;
  background: var(--color-gold-soft);
  border-radius: var(--radius-card);
  border: 0;
  color: var(--color-text);
}

.mission-strip {
  padding: 18px 22px;
  background: linear-gradient(180deg, rgba(212, 168, 58, 0.06), transparent 65%);
  border-top: 1px solid var(--color-gold-border);
  border-bottom: 1px solid var(--color-border);
}

.mission-note {
  display: block;
  max-width: 60rem;
}

.mission-note .section-kicker {
  color: var(--color-gold);
}

.quote-accent {
  margin: 22px 0 0;
  padding: 4px 0 4px 20px;
  border-left: 3px solid var(--color-gold);
  color: var(--color-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  font-style: italic;
  line-height: 1.45;
}

.quote-accent strong {
  display: block;
  margin-top: 10px;
  color: var(--color-muted);
  font-family: "Trebuchet MS", Verdana, Arial, sans-serif;
  font-size: 0.92rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.mission-portrait img {
  border-radius: var(--radius-card);
  border: 1px solid var(--color-border);
  box-shadow: 0 10px 24px var(--color-shadow);
}

.action-row-shell {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.action-row-shell .section-kicker {
  color: var(--color-gold);
}

.action-spotlight-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.action-spotlight {
  padding: 24px;
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-shell);
  box-shadow: 0 14px 30px var(--color-shadow);
}

.action-spotlight .card-copy,
.action-spotlight .card-title {
  max-width: 18rem;
}

.action-spotlight-help {
  background: linear-gradient(180deg, rgba(212, 168, 58, 0.16), rgba(212, 168, 58, 0.02) 48%), var(--color-shell-warm);
  border-color: var(--color-gold-border);
}

.action-spotlight-help .card-kicker {
  color: var(--color-gold);
}

.action-spotlight-rates {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 34%), var(--color-shell-elevated);
  border-color: rgba(255, 255, 255, 0.16);
}

.action-spotlight-rates .card-kicker {
  color: var(--color-muted-soft);
}

.action-spotlight-forms {
  background: linear-gradient(180deg, rgba(14, 130, 85, 0.16), rgba(14, 130, 85, 0.02) 48%), var(--color-shell-green);
  border-color: var(--color-green-border);
}

.action-spotlight-forms .card-kicker {
  color: var(--color-green);
}

.resource-section-shell {
  padding: 24px var(--container-padding);
  background: linear-gradient(180deg, var(--color-shell-elevated), var(--color-shell-warm));
  border: 0;
}

.resource-band {
  padding-top: 22px;
  padding-bottom: 22px;
  background: var(--color-resource-band);
  border-color: transparent;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.12);
}

.resource-category-grid,
.decision-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px 22px;
  align-items: start;
}

.decision-grid {
  align-items: stretch;
}

.resource-category {
  padding: 18px 20px;
  background: var(--color-panel-soft);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  box-shadow: none;
}

.resource-band .section-kicker,
.resource-band .section-title,
.resource-band .card-title,
.resource-band .resource-list a {
  color: var(--color-resource-band-strong);
}

.resource-band .resource-helper,
.resource-band .resource-list,
.resource-band .resource-list li,
.resource-band .card-copy {
  color: var(--color-resource-band-muted);
}

.resource-band > .section-title {
  margin-top: 0;
  font-size: clamp(1.06rem, 1.6vw, 1.28rem);
}

.resource-band > .resource-category-grid {
  margin-top: 26px;
}

.resource-band .resource-category {
  padding: 0 18px 0 0;
  background: transparent;
  border: 0;
  border-right: 1px dotted var(--color-resource-band-line);
  border-radius: 0;
}

.resource-band .resource-category:last-child {
  border-right: 0;
  padding-right: 0;
}

.resource-band .resource-list li {
  border-top-color: var(--color-resource-band-line);
}

.resource-band .resource-list a:hover {
  color: var(--color-green-active);
}

.resource-band-practical {
  padding-top: 20px;
  padding-bottom: 20px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(0, 0, 0, 0.06)), var(--color-shell-warm);
  border-color: var(--color-border);
  box-shadow: none;
}

.resource-band-practical .resource-category-grid {
  gap: 18px 20px;
}

.resource-band-practical .resource-category {
  padding: 0 16px 0 0;
  background: transparent;
  border: 0;
  border-right: 1px dotted var(--color-border);
  border-radius: 0;
}

.resource-band-practical .resource-category:last-child {
  border-right: 0;
  padding-right: 0;
}

.resource-band-practical .section-kicker,
.resource-band-practical .section-title,
.resource-band-practical .card-title,
.resource-band-practical .resource-list a {
  color: var(--color-text-strong);
}

.resource-band-practical .resource-helper,
.resource-band-practical .resource-list,
.resource-band-practical .resource-list li,
.resource-band-practical .card-copy {
  color: var(--color-muted);
}

.resource-band-practical .resource-list li {
  border-top-color: var(--color-border);
}

.resource-band-practical .resource-list a:hover {
  color: var(--color-green-hover);
}

.resource-helper {
  margin: 10px 0 0;
  color: var(--color-muted);
}

.resource-list {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.resource-list li {
  margin: 0;
  padding: 6px 0;
}

.resource-list li:first-child {
  padding-top: 0;
}

.resource-list li:last-child {
  padding-bottom: 0;
}

.resource-list a {
  color: var(--color-text-strong);
  text-decoration: underline;
  text-decoration-color: var(--color-green-border);
  text-underline-offset: 0.14em;
}

.resource-list a:hover {
  color: var(--color-green);
  text-decoration-color: var(--color-green);
}

.resource-section-shell > .section-title,
.reference-tools-shell > .section-title {
  max-width: 34rem;
  font-size: clamp(1.1rem, 1.7vw, 1.32rem);
}

.resource-section-shell > .resource-category-grid,
.resource-section-shell > .task-grid,
.reference-tools-shell > .info-grid,
.service-cluster > .service-entry-grid {
  margin-top: 28px;
}

.service-cluster {
  padding: 28px var(--container-padding);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 65%), var(--color-shell-warm);
  border: 1px solid var(--color-border);
}

.service-cluster.cluster-accounting .section-kicker,
.service-cluster.cluster-setup .section-kicker {
  color: var(--color-gold);
}

.service-cluster.cluster-tax .section-kicker {
  color: var(--color-green);
}

.service-entry-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 22px;
}

.service-entry {
  padding: 20px 0;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--color-border);
  border-radius: 0;
}

.service-entry h3 {
  margin: 0;
  color: var(--color-text-strong);
  font-size: 1.12rem;
}

.service-entry:first-child {
  padding-top: 0;
  border-top: 0;
}

.service-entry p {
  margin: 12px 0 0;
  color: var(--color-muted);
}

.service-meta {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--color-border);
}

.service-meta p {
  margin: 10px 0 0;
}

.service-meta strong {
  color: var(--color-text-strong);
}

.service-meta a,
.card-copy a:not(.btn):not(.prime-link),
.section-copy a:not(.btn):not(.prime-link),
.decision-card a:not(.btn):not(.prime-link) {
  color: var(--color-text-strong);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: var(--color-green-border);
  text-underline-offset: 0.16em;
}

.service-meta a:hover,
.card-copy a:not(.btn):not(.prime-link):hover,
.section-copy a:not(.btn):not(.prime-link):hover,
.decision-card a:not(.btn):not(.prime-link):hover {
  color: var(--color-green);
  text-decoration-color: var(--color-green);
}

.rate-catalog {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.rate-group {
  padding: 0;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 75%), var(--color-shell-warm);
  border: 1px solid var(--color-border);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

.rate-group-header {
  padding: 22px var(--container-padding) 12px;
  background: rgba(212, 168, 58, 0.06);
}

.rate-group-title {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.5rem;
  color: var(--color-text-strong);
}

.rate-group-copy {
  margin: 12px 0 0;
  color: var(--color-muted);
}

.rate-group .rate-table-wrap {
  margin: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow-x: auto;
  max-width: 100%;
}

.decision-card {
  padding: 24px;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 65%), var(--color-shell-warm);
  border: 1px solid var(--color-border);
}

.decision-card .card-kicker {
  color: var(--color-gold);
}

.decision-card .cta-row {
  margin-top: 16px;
}

.guide-intro {
  padding: 22px var(--container-padding) 20px;
  background: linear-gradient(180deg, var(--color-shell-elevated), var(--color-shell-warm));
  border: 1px solid var(--color-border);
}

.guide-intro .section-kicker {
  color: var(--color-gold);
}

.guide-intro .section-title {
  margin-top: 0;
  font-size: clamp(1.16rem, 1.8vw, 1.4rem);
  max-width: 34rem;
}

.guide-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 55%), var(--color-panel);
}

.guide-card .card-title {
  max-width: 16rem;
  font-size: clamp(1.1rem, 1.45vw, 1.24rem);
}

.guide-card .plain-list {
  margin-top: 16px;
}

.guide-card .plain-list li {
  color: var(--color-text);
  line-height: 1.6;
  padding: 12px 0;
}

.guide-grid .guide-card:nth-child(2) .card-kicker {
  color: var(--color-green);
}

.reference-tools-shell {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 45%), var(--color-shell);
}

.reference-tools-shell .section-kicker {
  color: var(--color-muted-soft);
}

.reference-tools-shell .info-grid {
  align-items: stretch;
}

.reference-tools-shell .info-card {
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: rgba(255, 255, 255, 0.01);
  border-color: var(--color-border);
  box-shadow: none;
}

.reference-tools-shell .info-card .card-title {
  font-size: 1.04rem;
}

.reference-tools-shell .btn-secondary {
  background: transparent;
}

.task-card,
.action-spotlight,
.decision-card,
.info-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.page-panel .task-card,
.page-panel .info-card {
  padding: 20px 22px;
}

.task-card .cta-row,
.action-spotlight .cta-row,
.decision-card .cta-row,
.info-card .cta-row {
  margin-top: auto;
  padding-top: 18px;
}

.inline-note-block {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--color-gold-border);
}

.inline-note-block strong {
  display: block;
  color: var(--color-text-strong);
  font-size: 0.98rem;
}

.rate-table {
  width: 100%;
  border-collapse: collapse;
}

.rate-table th,
.rate-table td {
  padding: 14px 12px;
  border-bottom: 1px solid var(--color-border);
  text-align: left;
  vertical-align: top;
}

.rate-table th {
  color: var(--color-gold);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.rate-table td {
  color: var(--color-text);
}

.rate-table td strong {
  color: var(--color-text-strong);
}

.rate-note,
.inline-note,
.muted-note {
  margin-top: 0rem;
  color: var(--color-muted-soft);
  font-size: 0.8rem;
  padding: 0 2rem 1rem;
}

.faq-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.faq-item {
  overflow: hidden;
}

.faq-item summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 22px;
  color: var(--color-text-strong);
  font-weight: 700;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item summary::after {
  content: "+";
  color: var(--color-green);
  font-size: 1.2rem;
  font-weight: 700;
}

.faq-item[open] summary::after {
  content: "-";
}

.faq-answer {
  padding: 0 22px 20px;
  color: var(--color-muted);
}

.content-prose > * + * {
  margin-top: 14px;
}

.content-prose h2,
.content-prose h3,
.content-prose h4 {
  color: var(--color-text-strong);
}

.content-prose blockquote {
  margin: 18px 0;
  padding: 16px 18px;
  border-left: 3px solid var(--color-gold);
  background: var(--color-panel);
  color: var(--color-muted);
}

.content-prose table {
  width: 100%;
  border-collapse: collapse;
}

.content-prose th,
.content-prose td {
  padding: 12px;
  border-bottom: 1px solid var(--color-border);
  text-align: left;
}

.content-prose th {
  color: var(--color-gold);
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#footermainPan {
  height: auto;
  background: linear-gradient(180deg, rgba(212, 168, 58, 0.06), transparent 38%), var(--color-shell);
  margin-top: 12px;
  margin-bottom: 24px;
  padding: 16px var(--container-padding) 14px;
  border-top: 1px solid var(--color-gold-border);
  box-shadow: none;
}

#footerPan {
  width: auto;
  position: static;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.8fr) minmax(0, 0.9fr);
  gap: 14px 16px;
  align-items: start;
}

#footerPan ul,
#footerPan li,
#footerPan p.copyright {
  position: static;
  width: auto;
  background: none;
}

#footerPan li {
  float: none;
}

.footer-brand img {
  width: min(100%, 196px);
}

.footer-kicker,
.footer-heading {
  color: var(--color-gold);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: none;
}

.footer-brand p {
  margin: 8px 0 0;
  color: var(--color-muted);
  max-width: 30rem;
  font-size: 0.92rem;
}

.footer-column {
  min-width: 0;
}

.footer-links,
.footer-nav ul {
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
  display: grid;
  gap: 6px;
}

.footer-links a,
.footer-nav a {
  color: var(--color-text);
  font-size: 0.92rem;
}

.footer-links a:hover,
.footer-nav a:hover {
  color: var(--color-green);
}

.footer-links-secondary {
  margin-top: 10px;
}

.copyright {
  grid-column: 1 / -1;
  margin: 8px 0 0;
  color: var(--color-muted-soft);
  font-size: 0.84rem;
}

.footer-meta {
  grid-column: 1 / -1;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 18px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.footer-meta .copyright {
  grid-column: auto;
  margin: 0;
}

.anna-credit-footnote {
  margin: 6px 0 0;
  color: var(--color-muted-soft);
  font-size: 0.76rem;
  line-height: 1.45;
}

.anna-credit-footnote a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.anna-credit-footnote a:hover {
  color: var(--color-green);
}

#footerPan .anna-credit-footnote {
  margin: 0 0 0 auto;
  text-align: right;
}

#footerlogoPan,
#footerPanhtml,
#footerPancss,
a[href$="Visa_Mastercard_acceptance.jpg"],
img[src*="Visa_Mastercard_acceptance.jpg"] {
  display: none !important;
}

/* Neutralize legacy style.css chrome (pill backgrounds, bullet-image lists)
   leaking onto the themed shell on Tier C pages that still load style.css. */
#footerPan a,
#footerPan ul li a,
#bottomBorderPan a,
#bottomBorderPan ul li a,
#bodyBottomPan a,
#bodyBottomPan ul li a,
#bodymiddlePan ul li a {
  background: none;
  background-image: none;
}

#footerPan a,
#footerPan ul li a {
  color: var(--color-text);
  padding: 0;
}

#footerPan a:hover,
#footerPan ul li a:hover {
  color: var(--color-green);
}

#bottomBorderPan ul li a,
#bodyBottomPan ul li a {
  padding-left: 0;
  color: var(--color-text-strong);
  text-decoration: underline;
  text-decoration-color: var(--color-green-border);
  text-underline-offset: 0.14em;
}

#bottomBorderPan ul li a:hover,
#bodyBottomPan ul li a:hover {
  color: var(--color-green);
  text-decoration-color: var(--color-green);
}

#footerPan p.copyright,
#footerPan .copyright {
  color: var(--color-muted-soft);
}

/* Legacy style.css colors in-content links (#bodymiddlePan p a) a bright gold
   that is unreadable on the light theme. Give them the site's content-link look. */
#bodymiddlePan p a,
#bodymiddlePan li a,
#bodymiddlePan td a,
#bodyBottomPan p a,
#bodyBottomPan li a {
  color: var(--color-text-strong);
  text-decoration: underline;
  text-decoration-color: var(--color-green-border);
  text-underline-offset: 0.14em;
}

#bodymiddlePan p a:hover,
#bodymiddlePan li a:hover,
#bodymiddlePan td a:hover,
#bodyBottomPan p a:hover,
#bodyBottomPan li a:hover {
  color: var(--color-green);
  text-decoration-color: var(--color-green);
}

#body1,
#bodymiddlePan,
#bodyBottomPan,
#bottomPan {
  height: auto;
  min-height: 0;
  background: none;
  margin-top: 18px;
  padding: 22px var(--container-padding);
}

#body1:empty,
#bodyBottomPan:empty,
body #body1:not(:has(*)),
body #bodyBottomPan:not(:has(*)) {
  display: none;
}

#body1 form {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

#body1 form label {
  margin: 0;
  color: var(--color-muted);
  font-size: 0.95rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

#body1 form input[type="submit"],
#body1 form input[type="button"],
#body1 form button,
#bodyBottomPan p.view a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 16px;
  border: 0;
  border-radius: var(--radius-field);
  background: var(--color-green);
  color: #ffffff;
  font-weight: 800;
  text-decoration: none;
}

#bodymiddlePan h2,
#bodymiddlePan h3,
#bodyBottomPan h2,
#bottomBorderPan > h2,
#bottomBorderPan > h3,
#bottomBorderPan > h4 {
  position: static;
  width: auto;
  max-width: 100%;
  height: auto;
  left: auto;
  top: auto;
  margin: 0 0 14px;
  padding: 0;
  background: none;
  color: var(--color-green);
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#bodymiddlePan h2:not(:first-child),
#bodymiddlePan h3 {
  margin-top: 24px;
}

#bodymiddlePan p,
#bodymiddlePan li,
#bottomBorderPan a,
#bodyBottomPan p {
  color: var(--color-muted);
}

#bodymiddlePan a,
#bottomBorderPan a {
  color: var(--color-text-strong);
  overflow-wrap: anywhere;
}

#bodymiddlePan a:hover,
#bottomBorderPan a:hover {
  color: var(--color-green);
}

#bodymiddlePan img[align="left"] {
  float: none;
  display: block;
  margin: 0 0 18px;
  border-radius: 6px;
}

#bodyBottomPan {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

#infoPan,
#servicesPan,
#schedulePan {
  width: auto;
  height: auto;
  margin: 0;
  padding: 20px;
  background: var(--color-panel);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  box-shadow: none;
  color: var(--color-text);
}

#infoPan h2,
#servicesPan h2,
#schedulePan h2 {
  margin-bottom: 10px;
}

#bottomMainPan,
#bottomBorderPan {
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  float: none;
}

#bottomBorderPan {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 18px;
}

#bottomBorderPan > h2 {
  grid-column: 1;
}

#bottomBorderPan > h3 {
  grid-column: 2;
}

#bottomBorderPan > h4 {
  grid-column: 3;
}

#bottomBorderPan > ul {
  position: static;
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  min-width: 0;
}

#bottomBorderPan > ul:nth-of-type(1) {
  grid-column: 1;
}

#bottomBorderPan > ul:nth-of-type(2) {
  grid-column: 2;
}

#bottomBorderPan > ul:nth-of-type(3) {
  grid-column: 3;
}

#bottomBorderPan li {
  padding: 6px 0;
  border-top: 0;
}

#bottomBorderPan li:first-child {
  padding-top: 0;
}

body.prime-form-page {
  background:
    radial-gradient(circle at top, var(--color-green-soft), transparent 24%),
    var(--color-page);
}

body.prime-form-page .prime-utility,
body.prime-form-page .form-container,
body.prime-form-page .page-wrap,
body.prime-form-page .wrap,
body.prime-form-page #header {
  width: min(calc(100% - 24px), var(--form-shell-width));
  max-width: var(--form-shell-width);
  margin-left: auto;
  margin-right: auto;
}

body.prime-form-page .prime-utility {
  margin-top: 16px;
  padding: 10px 12px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 12px;
  background: var(--color-shell-elevated);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  box-shadow: none;
}

body.prime-form-page .prime-utility-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

body.prime-form-page .prime-utility-links .prime-link {
  min-height: 38px;
  padding: 8px 14px;
  font-size: 0.95rem;
}

body.prime-form-page .prime-utility-links .utility-link-home {
  background: rgba(255, 255, 255, 0.02);
  border-color: var(--color-border);
  color: var(--color-text);
}

body.prime-form-page .prime-utility-links .utility-link-home:hover {
  background: var(--color-panel-soft);
  border-color: var(--color-border-strong);
  color: var(--color-text-strong);
}

body.prime-form-page .prime-utility-links .utility-link-portal {
  background: var(--color-green-soft);
  border-color: var(--color-green-border);
  color: var(--color-text-strong);
}

body.prime-form-page .prime-utility-links .utility-link-portal:hover {
  background: var(--color-green);
  border-color: var(--color-green);
  color: #ffffff;
}

body.prime-form-page .prime-utility .theme-toggle {
  margin-left: auto;
  width: 38px;
  min-width: 38px;
  min-height: 38px;
  border-radius: 10px;
}

body.prime-form-page .form-container,
body.prime-form-page .page-wrap,
body.prime-form-page .wrap {
  margin-top: 16px;
  margin-bottom: 24px;
  background: var(--color-shell);
  border: 1px solid var(--color-border);
  border-radius: 14px;
  box-shadow: 0 12px 28px var(--color-shadow);
  padding: clamp(20px, 2.8vw, 28px);
}

body.prime-form-page .anna-credit-shell {
  width: min(calc(100% - 24px), var(--form-shell-width));
  max-width: var(--form-shell-width);
  display: flex;
  justify-content: flex-end;
  margin: -6px auto 24px;
  padding: 0 12px;
}

body.prime-form-page .anna-credit-footnote {
  margin: 0;
  text-align: right;
}

body.prime-form-page .panel,
body.prime-form-page .page-shell,
body.prime-form-page .notice-card,
body.prime-form-page .form-card,
body.prime-form-page .preview-card,
body.prime-form-page .preview-document,
body.prime-form-page .employee-table td,
body.prime-form-page .employee-table th {
  background: var(--color-panel);
  color: var(--color-text);
  border-color: var(--color-border);
}

body.prime-form-page .notice-card,
body.prime-form-page .form-card,
body.prime-form-page .preview-card,
body.prime-form-page .preview-document {
  box-shadow: none;
  border-radius: var(--radius-card);
}

/* When a .panel is the direct child of a themed form shell it would be a second
   card inside the shell (card-in-card). Flatten it so the shell is the single
   container. Covers Working.html and the Send*.php confirmation pages. */
body.prime-form-page .form-container > .panel,
body.prime-form-page .page-wrap > .panel,
body.prime-form-page .wrap > .panel {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}

body.prime-form-page .summary-row-card,
body.prime-form-page .dependent-card,
body.prime-form-page .radio-box,
body.prime-form-page .toll-card,
body.prime-form-page .item-row {
  background: var(--color-panel-soft);
  border: 1px solid var(--color-border);
  border-radius: 10px;
  box-shadow: none;
}

/* Confirmation / review step: the summary panel is a titled section wrapper and
   items are plain label/value pairs, so they must NOT be nested cards (that was
   the card-in-card look). Only .summary-row-card stays a single card level. */
body.prime-form-page .summary-panel {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}

body.prime-form-page .summary-panel + .summary-panel {
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid var(--color-border);
}

body.prime-form-page .summary-item {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}

body.prime-form-page .form-card.card-accent,
body.prime-form-page .preview-card.card-accent,
body.prime-form-page .preview-document.card-accent {
  background: linear-gradient(180deg, var(--color-green-soft), transparent 120px), var(--color-panel);
  border: 1px solid var(--color-green-border);
}

/* Invoice generator (Tier B2): its .page-wrap is the outer shell; flatten the
   redundant .page-shell bg layer so the section .form-cards sit on one shell
   instead of stacking (shell > panel > cards) into a card-in-card. */
body.prime-form-page .page-wrap > .page-shell {
  background: transparent;
}

body.prime-form-page .prime-table-scroll,
body.prime-form-page .row-sheet,
body.prime-form-page .sheet-wrap,
body.prime-form-page .shareholder-panel {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
}

body.prime-form-page .row-sheet,
body.prime-form-page .sheet-wrap,
body.prime-form-page .shareholder-panel,
body.prime-form-page .employee-table,
body.prime-form-page table#Tbl1 {
  background: var(--color-panel);
  border: 1px solid var(--color-border);
  border-radius: 10px;
  box-shadow: none;
}

body.prime-form-page .row-head,
body.prime-form-page .shareholder-head,
body.prime-form-page .employee-table th {
  background: var(--color-panel-soft);
  border-bottom: 1px solid var(--color-border);
}

body.prime-form-page .entry-row,
body.prime-form-page .shareholder-row,
body.prime-form-page .employee-table td,
body.prime-form-page table#Tbl1 td:nth-child(2) {
  background: var(--color-panel);
}

body.prime-form-page .entry-row:nth-child(even),
body.prime-form-page .shareholder-row:nth-child(even) {
  background: var(--color-shell-green);
}

body.prime-form-page .row-sheet-body {
  background: var(--color-panel);
}

body.prime-form-page .row-head > div,
body.prime-form-page .shareholder-head div {
  color: var(--color-green);
}

body.prime-form-page .row-number {
  border: 1px solid var(--color-green-border);
  background: var(--color-green-soft);
  color: var(--color-green);
}

body.prime-form-page .row-mobile-title {
  color: var(--color-green);
}

body.prime-form-page .hero h1,
body.prime-form-page .section-title,
body.prime-form-page h1,
body.prime-form-page h2,
body.prime-form-page h3 {
  color: var(--color-green);
}

body.prime-form-page .hero h1,
body.prime-form-page .form-header h2,
body.prime-form-page h1,
body.prime-form-page h2 {
  font-size: clamp(1.46rem, 1.72vw, 1.64rem);
  letter-spacing: 0.028em;
  line-height: 1.14;
  text-transform: uppercase;
}

body.prime-form-page .section-title,
body.prime-form-page .employee-table th,
body.prime-form-page .items-head,
body.prime-form-page .row-head,
body.prime-form-page .summary-panel h3,
body.prime-form-page .summary-label,
body.prime-form-page .cell-label,
body.prime-form-page .shareholder-head div,
body.prime-form-page .dependent-card h3,
body.prime-form-page .toll-card h3 {
  color: var(--color-green);
}

body.prime-form-page .section-title {
  margin: 20px 0 14px;
  padding-bottom: 7px;
  font-size: clamp(1.06rem, 1.12vw, 1.16rem);
  letter-spacing: 0.022em;
  border-bottom: 1px solid var(--color-green-border);
  text-transform: uppercase;
}

body.prime-form-page .lead,
body.prime-form-page .header-text,
body.prime-form-page .notice,
body.prime-form-page .helper,
body.prime-form-page .section-copy,
body.prime-form-page .message,
body.prime-form-page .footer,
body.prime-form-page .hint,
body.prime-form-page .preview-setting-note,
body.prime-form-page #header .tagline,
body.prime-form-page #header .thanks {
  color: var(--color-muted);
  font-size: 0.98rem;
}

body.prime-form-page #header {
  margin: 10px auto 0;
  padding: 0 12px;
  display: block;
  text-align: center;
}

body.prime-form-page #header .tagline,
body.prime-form-page #header .thanks {
  max-width: 46rem;
  margin-left: auto;
  margin-right: auto;
}

body.prime-form-page .form-header {
  padding: 4px 8px 0;
  margin-bottom: 6px;
}

body.prime-form-page .form-header h2 {
  padding-bottom: 4px;
  border-bottom-width: 1px;
}

body.prime-form-page .logo-container img,
body.prime-form-page #header img,
body.prime-form-page .panel img,
body.prime-form-page .hero img {
  display: block;
  margin: 0 auto 10px;
  filter: none;
  width: auto;
  max-width: clamp(240px, 34vw, 420px);
  max-height: 96px;
}

body.prime-form-page #personalForm,
body.prime-form-page #corporateForm {
  width: 100%;
  margin: 0;
}

body.prime-form-page .form-container > form,
body.prime-form-page .page-wrap > form,
body.prime-form-page .wrap > form {
  width: 100%;
  margin: 0;
}

body.prime-form-page label,
body.prime-form-page .field label,
body.prime-form-page .field-shell label {
  color: var(--color-text);
  font-size: 0.94rem;
}

body.prime-form-page input[type="text"],
body.prime-form-page input[type="date"],
body.prime-form-page input[type="email"],
body.prime-form-page input[type="tel"],
body.prime-form-page input[type="number"],
body.prime-form-page input[type="password"],
body.prime-form-page select,
body.prime-form-page textarea,
body.prime-form-page .field input,
body.prime-form-page .field select,
body.prime-form-page .field textarea,
body.prime-form-page .field-shell input,
body.prime-form-page .field-shell select,
body.prime-form-page .field-shell textarea {
  background: #282b27;
  color: #f4f1e8;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: var(--radius-field);
}

body.prime-form-page input[type="date"] {
  color-scheme: dark;
  padding-right: 2.9rem;
  font-variant-numeric: tabular-nums;
}

body.prime-form-page input[type="date"]::-webkit-datetime-edit,
body.prime-form-page input[type="date"]::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

body.prime-form-page input[type="date"]::-webkit-datetime-edit-text {
  padding: 0 1px;
  color: var(--color-muted-soft);
}

body.prime-form-page input:focus,
body.prime-form-page select:focus,
body.prime-form-page textarea:focus {
  border-color: var(--color-green-hover);
  box-shadow: 0 0 0 3px var(--color-green-soft);
  background: #242723;
  outline: none;
}

html[data-theme="light"] body.prime-form-page input[type="text"],
html[data-theme="light"] body.prime-form-page input[type="date"],
html[data-theme="light"] body.prime-form-page input[type="email"],
html[data-theme="light"] body.prime-form-page input[type="tel"],
html[data-theme="light"] body.prime-form-page input[type="number"],
html[data-theme="light"] body.prime-form-page input[type="password"],
html[data-theme="light"] body.prime-form-page select,
html[data-theme="light"] body.prime-form-page textarea,
html[data-theme="light"] body.prime-form-page .field input,
html[data-theme="light"] body.prime-form-page .field select,
html[data-theme="light"] body.prime-form-page .field textarea,
html[data-theme="light"] body.prime-form-page .field-shell input,
html[data-theme="light"] body.prime-form-page .field-shell select,
html[data-theme="light"] body.prime-form-page .field-shell textarea {
  background: #f7f3ea;
  color: var(--color-text-strong);
  border-color: rgba(35, 53, 43, 0.16);
}

html[data-theme="light"] body.prime-form-page input[type="date"] {
  color-scheme: light;
}

html[data-theme="light"] body.prime-form-page input:focus,
html[data-theme="light"] body.prime-form-page select:focus,
html[data-theme="light"] body.prime-form-page textarea:focus {
  background: #ffffff;
}

body.prime-form-page input::placeholder,
body.prime-form-page textarea::placeholder {
  color: var(--color-muted-soft);
  opacity: 1;
}

body.prime-form-page input[readonly],
body.prime-form-page input[disabled],
body.prime-form-page select[disabled],
body.prime-form-page textarea[disabled] {
  background: var(--color-panel-soft);
  color: var(--color-muted);
}

body.prime-form-page .field-error,
body.prime-form-page .required-mark {
  color: var(--color-red);
}

body.prime-form-page .alert-box,
body.prime-form-page .notice-card {
  border: 1px solid var(--color-border);
  border-left: 4px solid var(--color-gold);
  background: var(--color-panel-muted);
  color: var(--color-text);
  border-radius: 10px;
  padding: 14px 16px;
}

body.prime-form-page .alert-box a,
body.prime-form-page .notice-card a {
  color: var(--color-gold);
  font-weight: 700;
}

body.prime-form-page .alert-box a:hover,
body.prime-form-page .notice-card a:hover {
  color: var(--color-gold-hover);
}

body.prime-form-page .cta,
body.prime-form-page button:not([data-theme-toggle]):not(.secondary):not(.danger):not(.remove-btn):not(#editSpouseBtn),
body.prime-form-page input[type="submit"],
body.prime-form-page input[type="button"] {
  background: var(--color-green);
  color: #ffffff;
  border: 1px solid var(--color-green);
  border-radius: var(--radius-field);
  font-weight: 800;
}

body.prime-form-page .cta:hover,
body.prime-form-page button:not([data-theme-toggle]):not(.secondary):not(.danger):not(.remove-btn):not(#editSpouseBtn):hover,
body.prime-form-page input[type="submit"]:hover,
body.prime-form-page input[type="button"]:hover {
  background: var(--color-green-hover);
  border-color: var(--color-green-hover);
  color: #ffffff;
}

body.prime-form-page .cta:active,
body.prime-form-page button:not([data-theme-toggle]):not(.secondary):not(.danger):not(.remove-btn):not(#editSpouseBtn):active,
body.prime-form-page input[type="submit"]:active,
body.prime-form-page input[type="button"]:active {
  background: var(--color-green-active);
  border-color: var(--color-green-active);
}

body.prime-form-page input[type="reset"],
body.prime-form-page button.secondary,
body.prime-form-page .cta.secondary,
body.prime-form-page #btnBack {
  background: rgba(255, 255, 255, 0.02);
  color: var(--color-text);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-field);
  font-weight: 700;
}

body.prime-form-page input[type="reset"]:hover,
body.prime-form-page button.secondary:hover,
body.prime-form-page .cta.secondary:hover,
body.prime-form-page #btnBack:hover {
  background: var(--color-panel-soft);
  border-color: var(--color-border-strong);
  color: var(--color-text-strong);
  box-shadow: none;
}

body.prime-form-page .prime-utility .theme-toggle {
  background: rgba(255, 255, 255, 0.02);
  color: var(--color-text);
  border: 1px solid var(--color-border);
}

body.prime-form-page .prime-utility .theme-toggle:hover {
  background: var(--color-panel-soft);
  border-color: var(--color-border-strong);
  color: var(--color-text-strong);
}

body.prime-form-page button.danger,
body.prime-form-page .remove-btn,
body.prime-form-page #editSpouseBtn {
  background: var(--color-red);
  border-color: var(--color-red);
  color: #ffffff;
}

body.prime-form-page button.danger:hover,
body.prime-form-page .remove-btn:hover,
body.prime-form-page #editSpouseBtn:hover {
  background: var(--color-red-hover);
  border-color: var(--color-red-hover);
  box-shadow: none;
}

body.prime-form-page input[type="submit"]:disabled,
body.prime-form-page input[type="reset"]:disabled,
body.prime-form-page button:disabled {
  background: #555555;
  border-color: #555555;
  color: #bbbbbb;
  cursor: not-allowed;
  box-shadow: none;
  opacity: 0.8;
}

body.prime-form-page .footer a {
  color: var(--color-gold);
}

body.prime-form-page .footer a:hover {
  color: var(--color-gold-hover);
}

body.prime-form-page .message strong {
  color: var(--color-text-strong);
}

body.prime-form-page table#Tbl1 {
  width: 100% !important;
  max-width: none;
  margin: 0 auto 20px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
}

body.prime-form-page table#Tbl1 td {
  padding: 14px 16px;
  color: var(--color-text);
  border-bottom: 1px solid var(--color-border);
}

body.prime-form-page table#Tbl1 tr:last-child td {
  border-bottom: 0;
}

body.prime-form-page table#Tbl1 td:first-child {
  width: 34%;
  background: var(--color-panel-soft);
  border-right: 1px solid var(--color-border);
}

body.prime-form-page table#Tbl1 td:nth-child(2) {
  background: var(--color-panel);
}

body.prime-form-page table .section-title {
  background: transparent !important;
  color: var(--color-green) !important;
  text-align: left !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--color-green-border) !important;
  box-shadow: none !important;
  padding: 12px 16px !important;
  letter-spacing: 0.08em;
}

body.prime-form-page .employee-table {
  min-width: 760px;
}

body.prime-form-page .shareholder-head,
body.prime-form-page .shareholder-row {
  min-width: 620px;
}

body.prime-form-page .form-grid,
body.prime-form-page .identity-grid,
body.prime-form-page .question-grid,
body.prime-form-page .toll-grid,
body.prime-form-page .summary-grid {
  gap: 18px 20px;
}

body.prime-form-page input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(1) brightness(1.55);
  opacity: 0.92;
  padding: 6px;
  margin-right: -4px;
  border-radius: 7px;
  background: linear-gradient(180deg, rgba(255, 250, 240, 0.06), rgba(255, 250, 240, 0.02));
  border: 1px solid rgba(255, 250, 240, 0.1);
  cursor: pointer;
}

body.prime-form-page input[type="date"]::-webkit-calendar-picker-indicator:hover {
  background: var(--color-panel-soft);
  border-color: var(--color-border-strong);
}

html[data-theme="light"] body.prime-form-page input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(0.18) sepia(0.22) saturate(1.2) hue-rotate(84deg) brightness(0.82);
  background: linear-gradient(180deg, rgba(35, 53, 43, 0.05), rgba(35, 53, 43, 0.02));
  border-color: rgba(35, 53, 43, 0.14);
}

html[data-theme="light"] body.prime-form-page input[type="date"]::-webkit-calendar-picker-indicator:hover {
  background: rgba(35, 53, 43, 0.08);
}

body.prime-form-page input[type="checkbox"],
body.prime-form-page input[type="radio"] {
  accent-color: var(--color-green);
}

/* NewOrderForm service selectors hardcode a dark card + legacy green;
   theme them so they adapt to light mode and use the locked brand green. */
body.prime-form-page .option-card {
  background: var(--color-panel);
  border-color: var(--color-border);
}

body.prime-form-page .option-card:hover {
  border-color: var(--color-green-border);
  background: var(--color-panel-soft);
  box-shadow: none;
}

body.prime-form-page .option-card input {
  accent-color: var(--color-green);
}

body.prime-form-page .option-card strong {
  color: var(--color-text-strong);
}

body.prime-form-page .option-card span {
  color: var(--color-muted);
}

@media (min-width: 1381px) {
  body.prime-form-page .row-head,
  body.prime-form-page .entry-row {
    min-width: 1280px;
  }
}

@media (min-width: 761px) and (max-width: 1380px) {
  body.prime-form-page .entry-row {
    min-width: 1040px;
  }
}

@media (min-width: 761px) {
  body.prime-form-page .row-head,
  body.prime-form-page .entry-row,
  body.prime-form-page .row-sheet-body {
    width: max-content;
    min-width: 100%;
  }
}

@media (max-width: 960px) {
  .site-navrow {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .site-utility {
    justify-content: flex-start;
  }

  .hero-layout,
  .mission-layout,
  .split-layout,
  .workband-panel,
  .mission-note,
  #footerPan,
  .action-grid,
  .action-spotlight-grid,
  .feature-grid,
  .resource-grid,
  .resource-category-grid,
  .service-grid,
  .task-grid,
  .info-grid,
  .decision-grid,
  .guide-grid,
  #bodyBottomPan,
  #bottomBorderPan {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #footerPan {
    align-items: stretch;
  }

  #bottomBorderPan > h2,
  #bottomBorderPan > ul:nth-of-type(1) {
    grid-column: 1;
  }

  #bottomBorderPan > h3,
  #bottomBorderPan > ul:nth-of-type(2) {
    grid-column: 2;
  }

  #bottomBorderPan > h4,
  #bottomBorderPan > ul:nth-of-type(3) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  :root,
  html[data-theme="dark"],
  html[data-theme="light"] {
    --container-padding: 20px;
  }

  .menu-toggle {
    display: inline-flex;
  }

  .site-header-tools {
    flex-wrap: wrap;
  }

  .site-masthead {
    padding: 20px var(--container-padding) 12px;
  }

  .site-logo-card {
    width: min(100%, 360px);
    padding-inline: 14px;
  }

  .site-navrow {
    flex-direction: column;
    align-items: stretch;
  }

  .site-nav-main {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .site-nav {
    width: 100%;
  }

  .site-utility {
    width: 100%;
    justify-content: flex-start;
  }

  .site-navlinks,
  body:not(.prime-form-page) #header ul {
    display: none;
    flex-direction: column;
    gap: 12px;
    padding-top: 8px;
    border-top: 1px solid var(--color-border);
  }

  body:not(.prime-form-page) #header.nav-open .site-navlinks,
  body:not(.prime-form-page) #header.nav-open ul {
    display: flex;
  }

  .hero-layout,
  .mission-layout,
  .split-layout,
  .workband-panel,
  .mission-note,
  .action-grid,
  .action-spotlight-grid,
  .feature-grid,
  .resource-grid,
  .resource-category-grid,
  .service-grid,
  .task-grid,
  .service-grid.compact,
  .task-grid.compact,
  .service-entry-grid,
  .info-grid,
  .decision-grid,
  .guide-grid,
  #bodyBottomPan,
  #bottomBorderPan,
  #footerPan {
    grid-template-columns: 1fr;
  }

  .portal-action-panel,
  .resource-section-shell,
  .service-cluster,
  .guide-intro,
  .rate-group-header {
    padding-left: var(--container-padding);
    padding-right: var(--container-padding);
  }

  .intro-banner {
    padding: 24px 22px;
  }

  .intro-banner::after {
    display: none;
  }

  .mission-portrait {
    justify-self: start;
    max-width: 220px;
  }

  .public-intro-panel .hero-layout {
    grid-template-columns: 1fr;
  }

  .resource-band .resource-category {
    padding-right: 0;
    padding-bottom: 18px;
    border-right: 0;
    border-bottom: 1px dotted var(--color-resource-band-line);
  }

  .resource-band .resource-category:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }

  .resource-band-practical .resource-category {
    padding-right: 0;
    padding-bottom: 18px;
    border-right: 0;
    border-bottom: 1px dotted var(--color-border);
  }

  .resource-band-practical .resource-category:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }

  .rate-table-wrap {
    overflow-x: auto;
  }

  .rate-table {
    min-width: 0;
    table-layout: fixed;
  }

  .rate-table th,
  .rate-table td {
    padding: 12px 10px;
    word-break: break-word;
  }

  .rate-table th:first-child,
  .rate-table td:first-child {
    width: 62%;
  }

  .rate-table th:last-child,
  .rate-table td:last-child {
    width: 38%;
  }

  #bottomBorderPan > h2,
  #bottomBorderPan > h3,
  #bottomBorderPan > h4,
  #bottomBorderPan > ul:nth-of-type(1),
  #bottomBorderPan > ul:nth-of-type(2),
  #bottomBorderPan > ul:nth-of-type(3) {
    grid-column: 1;
  }

  body.prime-form-page .prime-utility {
    justify-content: flex-start;
    align-items: stretch;
    padding: 10px;
  }

  body.prime-form-page .prime-utility-links {
    flex: 1 1 100%;
  }

  body.prime-form-page .prime-utility-links .prime-link {
    flex: 1 1 auto;
  }

  body.prime-form-page .prime-utility .theme-toggle {
    margin-left: auto;
  }

  body.prime-form-page .form-container,
  body.prime-form-page .page-wrap,
  body.prime-form-page .wrap {
    padding: 18px 16px;
  }

  body.prime-form-page #header,
  body.prime-form-page #personalForm,
  body.prime-form-page #corporateForm {
    width: calc(100% - 16px);
  }

  body.prime-form-page .logo-container img,
  body.prime-form-page #header img {
    max-width: min(100%, 300px);
    max-height: 78px;
  }

  body.prime-form-page .form-header h2,
  body.prime-form-page h1,
  body.prime-form-page h2 {
    font-size: clamp(1.32rem, 5.2vw, 1.48rem);
    letter-spacing: 0.03em;
  }

  body.prime-form-page table#Tbl1 {
    min-width: 640px;
  }

  body.prime-form-page .employee-table {
    min-width: 720px;
  }

  body.prime-form-page .shareholder-head,
  body.prime-form-page .shareholder-row {
    min-width: 560px;
  }

  body.prime-form-page .form-grid,
  body.prime-form-page .identity-grid,
  body.prime-form-page .question-grid,
  body.prime-form-page .toll-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* ---------------------------------------------------------------------------
   Invoice generator light-mode reconciliation.
   invoice-generator.css ships an always-on dark screen theme (@media screen)
   whose dark surfaces ignore the site's data-theme toggle, so in LIGHT mode its
   summary/totals cards, readonly value chips, badge and return pill stay dark
   and clash on the light page. Re-map its --pa-* tokens and hardcoded-dark
   elements to the shared light palette. Dark mode keeps the tool's own design.
   prime-theme.css loads after invoice-generator.css, so these win. */
html[data-theme="light"] {
  --pa-bg: var(--color-page);
  --pa-bg-deep: var(--color-page-soft);
  --pa-surface: var(--color-shell);
  --pa-surface-soft: var(--color-panel-soft);
  --pa-surface-raised: var(--color-panel);
  --pa-field: var(--color-field);
  --pa-field-focus: #ffffff;
  --pa-border: var(--color-border);
  --pa-border-soft: var(--color-border);
  --pa-text: var(--color-text-strong);
  --pa-text-soft: var(--color-text);
  --pa-muted: var(--color-muted);
  --pa-green-soft: var(--color-green);
  --pa-green-panel: var(--color-green-soft);
}

html[data-theme="light"] input[readonly],
html[data-theme="light"] .item-calculated-value {
  background: var(--color-panel-soft);
  color: var(--color-text);
  border-color: var(--color-border);
}

html[data-theme="light"] .summary-tax-warning,
html[data-theme="light"] .preview-action-status.is-warning,
html[data-theme="light"] .manual-send-status.is-warning {
  background: var(--color-red-soft);
  border-color: var(--color-red);
  color: var(--color-red-text);
}

html[data-theme="light"] .item-badge {
  background: var(--color-green);
  color: #ffffff;
  border-color: var(--color-green);
}

html[data-theme="light"] .portal-return {
  background: var(--color-panel-soft);
  color: var(--color-text);
  border-color: var(--color-border);
}

html[data-theme="light"] .portal-return:hover {
  background: var(--color-panel);
}

html[data-theme="light"] .btn:disabled {
  background: #cbc5b8;
  color: #7d7669;
}

html[data-theme="light"] .preview-block-label,
html[data-theme="light"] .preview-meta-label,
html[data-theme="light"] .preview-notes-label {
  background: var(--color-green);
  color: #ffffff;
}

html[data-theme="light"] .preview-item-row {
  background: var(--color-panel);
}

html[data-theme="light"] .preview-item-row:nth-child(even) {
  background: var(--color-panel-soft);
}

html[data-theme="light"] .preview-sidebar .preview-card {
  background: var(--color-panel);
}

html[data-theme="light"] .preview-action-status.is-info,
html[data-theme="light"] .manual-send-status.is-info,
html[data-theme="light"] .preview-action-status.is-success,
html[data-theme="light"] .manual-send-status.is-success {
  background: var(--color-green-soft);
  border-color: var(--color-green-border);
  color: var(--color-green-active);
}
