:root {
  --ink: #102027;
  --muted: #5f6f75;
  --line: #dce5e4;
  --paper: #ffffff;
  --mist: #f6f8f7;
  --teal: #0f766e;
  --teal-dark: #0b5e58;
  --blue: #2563eb;
  --gold: #f5c542;
  --coral: #d66b4d;
  --shadow: 0 16px 40px rgba(16, 32, 39, 0.12);
}

* {
  box-sizing: border-box;
}

html {
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}

body {
  margin: 0;
  background: var(--mist);
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea,
a {
  outline-offset: 3px;
}

:focus-visible {
  outline: 3px solid var(--gold);
}

.skip-link {
  background: #ffffff;
  border: 2px solid var(--teal-dark);
  border-radius: 8px;
  color: var(--ink);
  font-weight: 850;
  left: 16px;
  padding: 10px 14px;
  position: fixed;
  top: -80px;
  z-index: 100;
}

.skip-link:focus {
  top: 16px;
}

.site-shell {
  min-height: 100vh;
}

.topbar {
  align-items: center;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 8px 24px rgba(16, 32, 39, 0.06);
  backdrop-filter: blur(16px);
  display: flex;
  gap: 24px;
  min-height: 76px;
  justify-content: space-between;
  padding: 0 clamp(18px, 4vw, 56px);
  position: sticky;
  top: 0;
  z-index: 20;
}

.brand-link {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
}

.brand-logo {
  height: 44px;
  width: auto;
}

.nav-links {
  align-items: center;
  display: flex;
  gap: 6px;
  font-size: 15px;
  font-weight: 800;
}

.nav-link {
  border: 1px solid transparent;
  border-radius: 999px;
  color: #244047;
  line-height: 1;
  min-height: 38px;
  padding: 11px 13px;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}

.nav-link:hover {
  background: #f1f6f5;
  border-color: #d8e6e2;
  color: var(--teal-dark);
}

.nav-muted {
  color: var(--muted);
}

.nav-cta {
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(15, 118, 110, 0.22);
  min-height: 42px;
  padding-left: 18px;
  padding-right: 18px;
}

.container {
  margin: 0 auto;
  max-width: 1180px;
  padding: 0 clamp(18px, 4vw, 32px);
}

.btn {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  font-weight: 750;
  gap: 8px;
  justify-content: center;
  min-height: 44px;
  padding: 11px 18px;
  transition: transform 140ms ease, background-color 140ms ease, border-color 140ms ease;
}

.btn:hover {
  transform: translateY(-1px);
}

.btn-primary {
  background: var(--teal);
  color: #ffffff;
}

.btn-primary:hover {
  background: var(--teal-dark);
}

.btn-secondary {
  background: #ffffff;
  border-color: var(--line);
  color: var(--ink);
}

.btn-small {
  border-radius: 7px;
  font-size: 13px;
  min-height: 34px;
  padding: 7px 11px;
}

.nav-links .nav-cta {
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(15, 118, 110, 0.22);
  min-height: 42px;
}

.nav-dashboard-cta {
  padding-left: 16px;
  padding-right: 16px;
}

.mobile-nav-menu,
.public-site-mobile-menu {
  display: none;
}

.mobile-menu-icon {
  display: inline-grid;
  gap: 4px;
  width: 18px;
}

.mobile-menu-icon span {
  background: currentColor;
  border-radius: 999px;
  display: block;
  height: 2px;
}

.mobile-menu-label {
  font-size: 14px;
  font-weight: 900;
}

.mobile-nav-menu summary,
.public-site-mobile-menu summary,
.hoa-mobile-menu summary,
.tower-mobile-menu summary,
.haven-mobile-menu summary,
.rowhome-mobile-menu summary,
.vista-mobile-menu summary,
.shore-mobile-menu summary,
.atelier-mobile-menu summary,
.clerk-mobile-menu summary {
  align-items: center;
  display: inline-flex;
  gap: 8px;
  list-style: none;
  user-select: none;
}

.mobile-nav-menu summary::-webkit-details-marker,
.public-site-mobile-menu summary::-webkit-details-marker,
.hoa-mobile-menu summary::-webkit-details-marker,
.tower-mobile-menu summary::-webkit-details-marker,
.haven-mobile-menu summary::-webkit-details-marker,
.rowhome-mobile-menu summary::-webkit-details-marker,
.vista-mobile-menu summary::-webkit-details-marker,
.shore-mobile-menu summary::-webkit-details-marker,
.atelier-mobile-menu summary::-webkit-details-marker,
.clerk-mobile-menu summary::-webkit-details-marker {
  display: none;
}

.mobile-nav-menu,
.public-site-mobile-menu,
.hoa-mobile-menu,
.tower-mobile-menu,
.haven-mobile-menu,
.rowhome-mobile-menu,
.vista-mobile-menu,
.shore-mobile-menu,
.atelier-mobile-menu,
.clerk-mobile-menu {
  position: relative;
}

.mobile-nav-menu[open],
.public-site-mobile-menu[open],
.hoa-mobile-menu[open],
.tower-mobile-menu[open],
.haven-mobile-menu[open],
.rowhome-mobile-menu[open],
.vista-mobile-menu[open],
.shore-mobile-menu[open],
.atelier-mobile-menu[open],
.clerk-mobile-menu[open] {
  z-index: 80;
}

.mobile-nav-panel,
.community-mobile-panel {
  background: #ffffff;
  border: 1px solid rgba(15, 38, 45, 0.12);
  border-radius: 8px;
  box-shadow: 0 18px 44px rgba(15, 38, 45, 0.18);
  display: grid;
  gap: 4px;
  max-height: calc(100vh - 96px);
  overflow: auto;
  padding: 8px;
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  width: min(88vw, 340px);
}

.mobile-nav-menu:not([open]) > .mobile-nav-panel,
.public-site-mobile-menu:not([open]) > .community-mobile-panel,
.hoa-mobile-menu:not([open]) > .community-mobile-panel,
.tower-mobile-menu:not([open]) > .community-mobile-panel,
.haven-mobile-menu:not([open]) > .community-mobile-panel,
.rowhome-mobile-menu:not([open]) > .community-mobile-panel,
.vista-mobile-menu:not([open]) > .community-mobile-panel,
.shore-mobile-menu:not([open]) > .community-mobile-panel,
.atelier-mobile-menu:not([open]) > .community-mobile-panel,
.clerk-mobile-menu:not([open]) > .community-mobile-panel {
  display: none;
}

.mobile-nav-menu[open] > .mobile-nav-panel,
.public-site-mobile-menu[open] > .community-mobile-panel,
.hoa-mobile-menu[open] > .community-mobile-panel,
.tower-mobile-menu[open] > .community-mobile-panel,
.haven-mobile-menu[open] > .community-mobile-panel,
.rowhome-mobile-menu[open] > .community-mobile-panel,
.vista-mobile-menu[open] > .community-mobile-panel,
.shore-mobile-menu[open] > .community-mobile-panel,
.atelier-mobile-menu[open] > .community-mobile-panel,
.clerk-mobile-menu[open] > .community-mobile-panel {
  display: grid;
}

.mobile-nav-panel a,
.community-mobile-panel a {
  align-items: center;
  border-radius: 7px;
  display: flex;
  justify-content: flex-start;
  min-height: 42px;
  text-align: left;
}

.mobile-nav-panel .btn {
  justify-content: center;
  width: 100%;
}

.btn-text {
  color: var(--teal-dark);
  font-weight: 800;
}

.btn-link {
  background: transparent;
  border: 0;
  color: var(--teal-dark);
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  padding: 0;
}

.hero {
  background-image:
    linear-gradient(90deg, rgba(8, 28, 32, 0.76) 0%, rgba(8, 28, 32, 0.52) 45%, rgba(8, 28, 32, 0.08) 100%),
    url("/static/img/smartflow-hoa-board-hero.d1001ec00473.png");
  background-position: center;
  background-size: cover;
  color: #ffffff;
  min-height: min(560px, calc(100vh - 96px));
  padding: clamp(42px, 7vh, 72px) 0 clamp(28px, 5vh, 44px);
}

.hero-inner {
  max-width: 730px;
}

.eyebrow {
  color: var(--gold);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0;
  margin: 0 0 14px;
  text-transform: uppercase;
}

.hero h1 {
  font-size: clamp(38px, 6vw, 62px);
  letter-spacing: 0;
  line-height: 1.04;
  margin: 0;
}

.hero p {
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(17px, 2vw, 21px);
  margin: 18px 0 0;
  max-width: 640px;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 24px;
}

.hero-note {
  color: rgba(255, 255, 255, 0.82);
  font-size: 14px;
  font-weight: 700;
  margin-top: 12px;
}

.hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.hero-badges span {
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  padding: 7px 11px;
}

.hero-proof {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 22px;
  max-width: 720px;
}

.proof-item {
  border-left: 3px solid var(--gold);
  padding-left: 14px;
}

.proof-item strong {
  display: block;
  font-size: 18px;
}

.proof-item span {
  color: rgba(255, 255, 255, 0.78);
  font-size: 13px;
}

.conversion-strip {
  border-bottom: 1px solid var(--line);
  padding: 26px 0;
}

.conversion-strip-inner {
  align-items: center;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
}

.conversion-strip h2 {
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.12;
  margin: 0;
}

.conversion-strip p {
  color: var(--muted);
  font-size: 16px;
  margin: 0;
}

.launch-snapshot-section {
  padding-top: clamp(36px, 6vw, 68px);
}

.launch-snapshot {
  align-items: start;
  display: grid;
  gap: clamp(24px, 4vw, 42px);
  grid-template-columns: minmax(0, 0.86fr) minmax(340px, 1.14fr);
}

.launch-snapshot-copy h2 {
  font-size: clamp(32px, 5vw, 56px);
  line-height: 1.06;
  margin: 0;
}

.launch-snapshot-copy p {
  color: var(--muted);
  font-size: 18px;
  line-height: 1.55;
  margin: 16px 0 0;
}

.launch-snapshot-rows {
  display: grid;
  gap: 12px;
}

.launch-snapshot-rows article {
  background: #f7faf9;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 14px;
  grid-template-columns: 44px minmax(0, 1fr);
  padding: 18px;
}

.launch-snapshot-rows article:nth-child(2) {
  background: #fffaf0;
  border-color: #eed58a;
}

.launch-snapshot-rows span {
  align-items: center;
  background: var(--teal-dark);
  border-radius: 50%;
  color: #ffffff;
  display: inline-flex;
  font-size: 14px;
  font-weight: 900;
  height: 36px;
  justify-content: center;
  width: 36px;
}

.launch-snapshot-rows strong {
  color: var(--ink);
  display: block;
  font-size: 18px;
}

.launch-snapshot-rows p {
  color: var(--muted);
  line-height: 1.45;
  margin: 6px 0 0;
}

.strip-kicker {
  color: var(--coral) !important;
  font-size: 12px !important;
  font-weight: 850;
  margin-bottom: 6px !important;
  text-transform: uppercase;
}

.outcome-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.outcome-grid article {
  background: #f6f8f7;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 12px;
  padding: clamp(20px, 3vw, 26px);
}

.outcome-grid article:nth-child(2) {
  background: #fffaf0;
  border-color: #eed58a;
}

.outcome-grid span {
  color: var(--teal-dark);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.outcome-grid h2 {
  font-size: clamp(22px, 3vw, 30px);
  line-height: 1.12;
  margin: 0;
}

.outcome-grid p {
  color: var(--muted);
  font-size: 16px;
  margin: 0;
}

.conversion-grid {
  align-items: start;
  display: grid;
  gap: 34px;
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 1.05fr);
}

.conversion-copy h2 {
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.08;
  margin: 0;
}

.conversion-copy p {
  color: var(--muted);
  font-size: 17px;
  margin: 16px 0 0;
}

.switch-list {
  display: grid;
  gap: 14px;
}

.switch-list article,
.role-card {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 22px;
}

.switch-list article:first-child {
  border-left: 4px solid var(--coral);
}

.switch-list article:last-child {
  border-left: 4px solid var(--teal);
}

.switch-list span,
.role-card span {
  color: var(--coral);
  display: block;
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.switch-list p {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.45;
  margin: 0;
}

.role-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 32px;
}

.role-card {
  display: grid;
  gap: 12px;
}

.role-card h3 {
  font-size: 20px;
  line-height: 1.18;
  margin: 0;
}

.role-card p {
  color: var(--muted);
  margin: 0;
}

.section {
  padding: clamp(54px, 8vw, 92px) 0;
}

.section-white {
  background: #ffffff;
}

.section-header {
  max-width: 720px;
}

.section-header h2 {
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.1;
  margin: 0;
}

.section-header p {
  color: var(--muted);
  font-size: 17px;
  margin: 14px 0 0;
}

.feature-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 32px;
}

.pricing-hero {
  align-items: end;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
}

.pricing-assurance {
  background: #f6f8f7;
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold);
  border-radius: 8px;
  display: grid;
  gap: 6px;
  padding: 18px;
}

.pricing-assurance strong {
  font-size: 17px;
}

.pricing-assurance span {
  color: var(--muted);
}

.features-hero {
  background: #102027;
  color: #ffffff;
  padding: clamp(34px, 5vw, 58px) 0 clamp(28px, 4vw, 42px);
}

.features-hero-inner {
  align-items: center;
  display: grid;
  gap: clamp(28px, 5vw, 56px);
  grid-template-columns: minmax(0, 0.9fr) minmax(380px, 1.1fr);
}

.features-hero-copy h1 {
  color: #ffffff;
  font-size: clamp(40px, 6vw, 68px);
  line-height: 1.02;
  margin: 0;
  max-width: 760px;
}

.features-hero-copy p:not(.eyebrow) {
  color: #d9e8e5;
  font-size: 19px;
  line-height: 1.56;
  margin: 18px 0 0;
  max-width: 720px;
}

.features-hero-panel {
  background: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.24);
  color: var(--ink);
  overflow: hidden;
}

.features-hero-image {
  aspect-ratio: 16 / 9;
  background: #eaf2f0;
  max-height: 220px;
  object-fit: cover;
  object-position: center top;
  width: 100%;
}

.features-status-row {
  align-items: center;
  background: #fbf9ee;
  border-bottom: 1px solid #eadc9a;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 16px 18px;
}

.features-status-row span,
.features-command-list span,
.features-ai-console span,
.features-workflow-board span {
  color: var(--teal-dark);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.features-status-row strong {
  font-size: 17px;
}

.features-command-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.features-ai-mini {
  align-items: center;
  background: #102027;
  color: #ffffff;
  display: grid;
  gap: 8px 14px;
  grid-template-columns: minmax(116px, 0.24fr) minmax(0, 1fr) auto;
  padding: 15px 18px;
}

.features-ai-mini span {
  color: var(--gold);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.features-ai-mini strong {
  line-height: 1.28;
}

.features-ai-mini a {
  background: var(--gold);
  border-radius: 8px;
  color: var(--ink);
  font-weight: 900;
  min-height: 40px;
  padding: 9px 11px;
  text-align: center;
  white-space: nowrap;
}

.features-command-list article {
  display: grid;
  gap: 5px 7px;
  grid-template-columns: 1fr;
  padding: 13px 18px;
}

.features-command-list article + article {
  border-left: 1px solid var(--line);
}

.features-command-list strong {
  font-size: 17px;
  line-height: 1.22;
}

.features-command-list p {
  color: var(--muted);
  display: none;
  font-size: 14px;
  grid-column: auto;
  margin: 0;
}

.features-ai-spotlight {
  background: #f7faf9;
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  padding: clamp(42px, 7vw, 76px) 0;
}

.features-ai-grid {
  align-items: center;
  display: grid;
  gap: clamp(24px, 5vw, 54px);
  grid-template-columns: minmax(0, 0.82fr) minmax(360px, 1.18fr);
}

.features-ai-copy h2,
.features-proof-grid h2 {
  font-size: clamp(32px, 5vw, 54px);
  line-height: 1.06;
  margin: 0;
}

.features-ai-copy p:not(.eyebrow),
.features-proof-grid > div > p {
  color: var(--muted);
  font-size: 18px;
  line-height: 1.56;
  margin: 16px 0 0;
}

.features-ai-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.features-ai-console {
  background: #102027;
  border-radius: 8px;
  box-shadow: var(--shadow);
  color: #ffffff;
  overflow: hidden;
}

.features-ai-console-header {
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
  display: flex;
  justify-content: space-between;
  padding: 16px 18px;
}

.features-ai-console-header span,
.features-ai-prompt span,
.features-ai-output span {
  color: var(--gold);
}

.features-ai-console-header strong {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  font-size: 13px;
  padding: 6px 10px;
}

.features-ai-prompt,
.features-ai-output {
  display: grid;
  gap: 8px;
  margin: 18px;
  padding: 18px;
}

.features-ai-prompt {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
}

.features-ai-output {
  background: #ffffff;
  border-radius: 8px;
  color: var(--ink);
}

.features-ai-prompt p,
.features-ai-output p,
.features-ai-guardrail {
  line-height: 1.55;
  margin: 0;
}

.features-ai-prompt p {
  color: rgba(255, 255, 255, 0.82);
}

.features-ai-output p {
  color: var(--muted);
}

.features-ai-guardrail {
  border-top: 1px solid rgba(255, 255, 255, 0.13);
  color: rgba(255, 255, 255, 0.74);
  font-size: 14px;
  padding: 14px 18px 18px;
}

.features-workflow-board {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  margin-top: 32px;
  overflow: hidden;
}

.features-workflow-board article {
  align-items: center;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(150px, 0.22fr) minmax(0, 1fr) auto;
  min-height: 132px;
  padding: 22px clamp(18px, 3vw, 30px);
}

.features-workflow-board article + article {
  border-top: 1px solid var(--line);
}

.features-workflow-board article:nth-child(2n) {
  background: #f6f8f7;
}

.features-workflow-board h3 {
  font-size: clamp(22px, 3vw, 31px);
  line-height: 1.12;
  margin: 0;
}

.features-workflow-board p {
  color: var(--muted);
  line-height: 1.54;
  margin: 8px 0 0;
}

.features-workflow-board a {
  background: #e9f7f4;
  border: 1px solid #bce3dc;
  border-radius: 8px;
  color: var(--teal-dark);
  font-weight: 900;
  min-height: 42px;
  padding: 10px 12px;
  text-align: center;
  white-space: nowrap;
}

.features-proof-section {
  background: #fbf9ee;
  border-bottom: 1px solid #eadc9a;
  border-top: 1px solid #eadc9a;
  padding: clamp(42px, 7vw, 76px) 0;
}

.features-proof-grid {
  align-items: start;
  display: grid;
  gap: clamp(24px, 5vw, 50px);
  grid-template-columns: minmax(0, 0.82fr) minmax(360px, 1.18fr);
}

.features-proof-list {
  display: grid;
  gap: 12px;
}

.features-proof-list article {
  background: #ffffff;
  border: 1px solid #eadc9a;
  border-radius: 8px;
  display: grid;
  gap: 6px;
  padding: 18px;
}

.features-proof-list strong {
  color: var(--ink);
  font-size: 18px;
}

.features-proof-list span {
  color: var(--muted);
  line-height: 1.48;
}

.workflow-section {
  background: #f6f8f7;
}

.operating-layout {
  align-items: start;
  display: grid;
  gap: 36px;
  grid-template-columns: minmax(0, 0.88fr) minmax(360px, 1.12fr);
}

.operating-copy {
  position: sticky;
  top: 24px;
}

.operating-copy h2 {
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.08;
  margin: 0;
}

.operating-copy p {
  color: var(--muted);
  font-size: 17px;
  margin: 16px 0 0;
}

.operating-panel {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 20px 60px rgba(16, 32, 39, 0.08);
  overflow: hidden;
}

.operating-primary {
  background: #102027;
  color: #ffffff;
  padding: clamp(22px, 3vw, 30px);
}

.operating-primary span {
  color: var(--gold);
  display: block;
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.operating-primary h3 {
  font-size: clamp(23px, 3vw, 32px);
  line-height: 1.12;
  margin: 0;
}

.operating-primary p {
  color: rgba(255, 255, 255, 0.82);
  margin: 12px 0 0;
}

.operating-rows {
  display: grid;
}

.operating-row {
  align-items: center;
  border-top: 1px solid var(--line);
  color: var(--ink);
  display: grid;
  gap: 12px 18px;
  grid-template-columns: minmax(150px, 0.34fr) minmax(0, 1fr) auto;
  padding: 16px clamp(18px, 3vw, 26px);
}

.operating-row:hover {
  background: #f6f8f7;
}

.operating-row strong {
  font-size: 18px;
}

.operating-row span {
  color: var(--muted);
}

.operating-row::after {
  color: var(--teal-dark);
  content: "Explore";
  font-size: 13px;
  font-weight: 900;
}

.step-card,
.comparison-list article,
.faq-grid details {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.step-card h3,
.comparison-list h3 {
  font-size: 19px;
  line-height: 1.2;
  margin: 0;
}

.step-card p,
.comparison-list p {
  color: var(--muted);
  margin: 0;
}

.feature-card,
.price-card,
.workspace-card,
.stat-card {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.feature-card {
  padding: 24px;
}

.feature-card h3,
.workspace-card h3 {
  font-size: 19px;
  margin: 0 0 8px;
}

.feature-card p,
.workspace-card p {
  color: var(--muted);
  margin: 0;
}

.media-row {
  align-items: center;
  display: grid;
  gap: 34px;
  grid-template-columns: 1fr 1fr;
}

.media-panel {
  border-radius: 8px;
  box-shadow: var(--shadow);
  overflow: hidden;
}

.feature-showcase h2 {
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.12;
  margin: 0;
}

.feature-showcase p {
  color: var(--muted);
  font-size: 18px;
  line-height: 1.58;
  margin: 16px 0 0;
}

.media-note {
  border-left: 4px solid var(--gold);
  color: var(--ink) !important;
  font-size: 17px !important;
  font-weight: 750;
  line-height: 1.45;
  padding-left: 12px;
}

.comparison-grid {
  align-items: start;
  display: grid;
  gap: 36px;
  grid-template-columns: minmax(0, 0.88fr) minmax(320px, 1.12fr);
}

.comparison-list {
  display: grid;
  gap: 14px;
}

.comparison-list article {
  padding: 22px;
}

.included-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 32px;
}

.included-grid article {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 22px;
}

.included-grid h3 {
  font-size: 18px;
  margin: 0 0 8px;
}

.included-grid p {
  color: var(--muted);
  margin: 0;
}

.step-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 32px;
}

.step-card {
  padding: 22px;
}

.step-card span {
  align-items: center;
  background: #e9f7f4;
  border: 1px solid #bce3dc;
  border-radius: 8px;
  color: var(--teal-dark);
  display: inline-flex;
  font-weight: 900;
  height: 38px;
  justify-content: center;
  margin-bottom: 16px;
  width: 38px;
}

.ai-workflow-section {
  background: #102027;
  color: #ffffff;
}

.ai-workflow {
  align-items: center;
  display: grid;
  gap: 42px;
  grid-template-columns: minmax(0, 0.9fr) minmax(380px, 1.1fr);
}

.ai-workflow .eyebrow {
  color: var(--gold);
}

.ai-workflow-copy h2 {
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.08;
  margin: 0;
}

.ai-workflow-copy p {
  color: rgba(255, 255, 255, 0.84);
  font-size: 19px;
  line-height: 1.58;
  margin: 16px 0 0;
}

.ai-use-cases {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.ai-use-cases span {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  color: #ffffff;
  font-size: 13px;
  font-weight: 850;
  padding: 8px 11px;
}

.ai-control-note {
  background: rgba(255, 247, 223, 0.96);
  border: 1px solid rgba(255, 247, 223, 0.72);
  border-left: 4px solid var(--gold);
  border-radius: 8px;
  color: var(--ink) !important;
  font-size: 16px !important;
  font-weight: 800;
  padding: 14px 16px;
}

.ai-workspace-preview {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.22);
  overflow: hidden;
}

.ai-preview-header {
  align-items: center;
  background: #f6f8f7;
  border-bottom: 1px solid var(--line);
  color: #ffffff;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 18px 20px;
}

.ai-preview-header span {
  color: var(--teal-dark);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.ai-preview-header strong {
  color: var(--ink);
  font-size: 16px;
}

.ai-preview-prompt {
  background: #ffffff;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 8px;
  padding: 20px;
}

.ai-preview-prompt span {
  color: var(--coral);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.ai-preview-prompt p {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.45;
  margin: 0;
}

.ai-task-list {
  display: grid;
}

.ai-task-list div {
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 5px;
  padding: 18px 20px;
}

.ai-task-list span,
.ai-preview-output span {
  color: var(--teal-dark);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.ai-task-list p,
.ai-preview-output p {
  color: var(--ink);
  font-size: 17px;
  line-height: 1.45;
  margin: 0;
}

.ai-preview-output {
  background: #fff7df;
  display: grid;
  gap: 7px;
  padding: 18px 20px;
}

.faq-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 32px;
}

.faq-grid details {
  padding: 18px 20px;
}

.faq-grid summary {
  cursor: pointer;
  font-weight: 850;
}

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

.final-cta {
  background: #eaf3f1;
}

.final-cta-inner {
  align-items: center;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1fr) auto minmax(220px, 280px);
}

.final-cta h2 {
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.1;
  margin: 0;
}

.final-cta p {
  color: var(--muted);
  margin: 16px 0 0;
  max-width: 760px;
}

.final-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}

.final-contact-card {
  background: #ffffff;
  border: 1px solid #bfd8d3;
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(15, 118, 110, 0.12);
  display: grid;
  gap: 8px;
  padding: 18px;
}

.final-contact-card span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.final-contact-card a {
  color: var(--teal-dark);
  font-size: 20px;
  font-weight: 950;
}

.final-contact-card address {
  color: #31414a;
  font-style: normal;
  font-weight: 800;
  line-height: 1.45;
}

.page-hero h1,
.pricing-hero h1,
.signup-layout h1 {
  font-size: clamp(34px, 5vw, 54px);
  letter-spacing: 0;
  line-height: 1.06;
  margin: 0;
}

.page-hero p,
.pricing-hero p,
.signup-layout .section-header p {
  color: var(--muted);
  font-size: 17px;
  margin: 16px 0 0;
}

.page-actions {
  margin-top: 26px;
}

.page-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.page-proof span {
  background: #e9f7f4;
  border: 1px solid #bce3dc;
  border-radius: 999px;
  color: var(--teal-dark);
  font-size: 13px;
  font-weight: 850;
  padding: 7px 11px;
}

.related-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.related-links a {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--teal-dark);
  font-weight: 850;
  min-height: 44px;
  padding: 10px 14px;
}

.responsive-table {
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow-x: auto;
}

.responsive-table table {
  background: #ffffff;
  border-collapse: collapse;
  min-width: 760px;
  width: 100%;
}

.responsive-table th,
.responsive-table td {
  border-bottom: 1px solid var(--line);
  padding: 15px;
  text-align: left;
  vertical-align: top;
}

.responsive-table th {
  color: var(--ink);
  font-weight: 900;
}

.responsive-table td {
  color: var(--muted);
}

.check-list {
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 24px 0 0;
  padding: 0;
}

.check-list li {
  align-items: flex-start;
  display: flex;
  font-size: 16px;
  gap: 10px;
  line-height: 1.42;
}

.check-list li::before {
  color: var(--teal);
  content: "\2713";
  font-weight: 900;
}

.feature-showcase .check-list {
  gap: 14px;
  margin-top: 26px;
}

.feature-showcase .check-list li {
  color: var(--ink);
  font-size: 18px;
  font-weight: 750;
  line-height: 1.38;
}

.feature-showcase .check-list li::before {
  font-size: 18px;
  line-height: 1.35;
}

.pricing-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 32px;
}

.price-card {
  display: flex;
  flex-direction: column;
  min-height: 330px;
  padding: 24px;
  position: relative;
}

.price-card.is-highlighted {
  border-color: var(--teal);
  box-shadow: var(--shadow);
}

.price-card h2 {
  font-size: 24px;
  margin: 0;
}

.plan-badge {
  align-self: flex-start;
  background: #fff7df;
  border: 1px solid #eed58a;
  border-radius: 999px;
  color: #6f4d00;
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 12px;
  padding: 5px 9px;
  text-transform: uppercase;
}

.price {
  font-size: 34px;
  font-weight: 850;
  margin: 12px 0 0;
}

.unit-label {
  color: var(--muted);
  min-height: 34px;
}

.plan-summary {
  color: var(--muted);
  font-size: 14px;
  margin: 0 0 2px;
}

.price-card .btn {
  margin-top: auto;
}

.form-panel {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  margin: 32px auto 0;
  max-width: 760px;
  padding: clamp(24px, 4vw, 38px);
}

.signup-layout {
  align-items: start;
  display: grid;
  gap: clamp(26px, 5vw, 54px);
  grid-template-columns: minmax(0, 0.85fr) minmax(320px, 0.95fr);
}

.signup-assurance {
  margin-top: 28px;
}

.signup-form-panel {
  margin: 0;
  max-width: none;
}

.form-note {
  background: #fff7df;
  border: 1px solid #eed58a;
  border-radius: 8px;
  color: #5a4200;
  font-size: 14px;
  font-weight: 750;
  margin: 18px 0 0;
  padding: 12px 14px;
}

.sales-contact-panel {
  background: #e9f7f4;
  border: 1px solid #bce3dc;
  border-left: 4px solid var(--teal);
  border-radius: 8px;
  display: grid;
  gap: 4px;
  margin-top: 22px;
  padding: 16px 18px;
}

.sales-contact-panel span {
  color: var(--teal-dark);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.sales-contact-panel a {
  color: var(--ink);
  font-size: 26px;
  font-weight: 900;
  line-height: 1.15;
}

.sales-contact-panel p {
  color: var(--muted);
  font-size: 15px !important;
  margin: 4px 0 0 !important;
}

.plan-phone {
  color: var(--muted);
  font-size: 14px;
  font-weight: 750;
  margin: 14px 0 0;
}

.auth-page {
  background-image:
    linear-gradient(110deg, rgba(16, 32, 39, 0.9) 0%, rgba(16, 32, 39, 0.74) 46%, rgba(16, 32, 39, 0.18) 100%),
    url("/static/img/smartflow-hoa-board-hero.d1001ec00473.png");
  background-position: center;
  background-size: cover;
  min-height: calc(100vh - 76px);
  padding: clamp(44px, 7vw, 82px) 0;
}

.auth-shell {
  align-items: center;
  display: grid;
  gap: clamp(30px, 6vw, 72px);
  grid-template-columns: minmax(0, 0.9fr) minmax(340px, 480px);
}

.auth-shell-single {
  grid-template-columns: minmax(320px, 520px);
  justify-content: center;
}

.auth-copy {
  color: #ffffff;
}

.auth-copy h1 {
  font-size: clamp(36px, 5vw, 58px);
  letter-spacing: 0;
  line-height: 1.04;
  margin: 0;
}

.auth-copy p {
  color: rgba(255, 255, 255, 0.84);
  font-size: 19px;
  line-height: 1.58;
  margin: 18px 0 0;
  max-width: 620px;
}

.auth-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.auth-points span {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  color: #ffffff;
  font-size: 13px;
  font-weight: 850;
  padding: 8px 11px;
}

.auth-context-note {
  background: rgba(255, 255, 255, 0.12);
  border-left: 4px solid var(--gold);
  border-radius: 8px;
  font-weight: 800;
  padding: 12px 14px;
}

.auth-card {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.26);
  display: grid;
  gap: 22px;
  padding: clamp(24px, 4vw, 34px);
}

.auth-card-header span {
  color: var(--teal-dark);
  display: block;
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.auth-card h1,
.auth-card h2 {
  font-size: clamp(25px, 3vw, 32px);
  line-height: 1.12;
  margin: 0;
}

.auth-card-header p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.55;
  margin: 12px 0 0;
}

.field-label-row {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.field-label-row a {
  color: var(--teal-dark);
  font-size: 13px;
  font-weight: 850;
}

.auth-submit {
  margin-top: 8px;
  width: 100%;
}

.auth-divider {
  border-top: 1px solid var(--line);
}

.auth-actions {
  display: grid;
  gap: 12px;
}

.auth-actions p {
  color: var(--muted);
  font-weight: 750;
  margin: 0;
}

.auth-actions .btn {
  width: 100%;
}

.auth-message-card {
  text-align: center;
}

.resident-access-note {
  background: #fff7df;
  border: 1px solid #eed58a;
  border-left: 4px solid var(--gold);
  border-radius: 8px;
  display: grid;
  gap: 5px;
  padding: 14px 16px;
}

.resident-access-note strong {
  color: #5a4200;
  font-size: 15px;
}

.resident-access-note span {
  color: #6f5a18;
  font-size: 14px;
  line-height: 1.45;
}

.form-errors {
  background: #fff1ed;
  border: 1px solid #e6a08b;
  border-radius: 8px;
  color: #7f2e1b;
  font-size: 14px;
  padding: 12px 14px;
}

.form-errors .errorlist {
  padding-left: 18px;
}

.form-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: 1fr 1fr;
}

.field {
  display: grid;
  gap: 6px;
}

.field label {
  font-size: 14px;
  font-weight: 750;
  max-width: 100%;
}

.field input,
.field select,
.field textarea {
  border: 1px solid #cdd9d7;
  border-radius: 8px;
  color: var(--ink);
  display: block;
  font: inherit;
  max-width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  width: 100%;
}

.field input[type="file"] {
  overflow: hidden;
}

.field input[type="file"].file-input-native {
  block-size: 1px;
  border: 0;
  inline-size: 1px;
  margin: -1px;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
}

.field input[type="file"].file-input-native:focus-visible + .upload-zone {
  outline: 3px solid var(--gold);
}

.field input[type="checkbox"] {
  appearance: none;
  background: #ffffff;
  border: 1.5px solid #9fb7b3;
  border-radius: 6px;
  cursor: pointer;
  display: inline-grid;
  height: 20px;
  margin: 0;
  min-height: 20px;
  padding: 0;
  place-content: center;
  width: 20px;
}

.field input[type="checkbox"]::before {
  background: #ffffff;
  clip-path: polygon(14% 44%, 0 60%, 38% 100%, 100% 18%, 84% 4%, 36% 68%);
  content: "";
  height: 10px;
  transform: scale(0);
  transform-origin: center;
  transition: transform 120ms ease-in-out;
  width: 12px;
}

.field input[type="checkbox"]:checked {
  background: var(--teal);
  border-color: var(--teal);
}

.field input[type="checkbox"]:checked::before {
  transform: scale(1);
}

.field input[type="checkbox"]:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 2px;
}

.field input[type="checkbox"]:disabled {
  background: #eef3f2;
  cursor: not-allowed;
  opacity: 0.7;
}

.field:has(> input[type="checkbox"]) {
  align-items: center;
  grid-template-columns: auto minmax(0, 1fr);
  row-gap: 8px;
}

.field:has(> input[type="checkbox"]) > label {
  grid-column: 2;
  grid-row: 1;
}

.field:has(> input[type="checkbox"]) > input[type="checkbox"] {
  grid-column: 1;
  grid-row: 1;
}

.field:has(> input[type="checkbox"]) > .errorlist,
.field:has(> input[type="checkbox"]) > .help-text {
  grid-column: 1 / -1;
}

.field > label:has(input[type="checkbox"]) {
  align-items: center;
  display: inline-flex;
  gap: 10px;
  line-height: 1.35;
}

.field ul {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.field li label {
  align-items: center;
  display: inline-flex;
  gap: 10px;
  line-height: 1.35;
}

.help-text {
  color: var(--muted);
  font-size: 13px;
}

.announcement-body {
  color: var(--ink);
  line-height: 1.65;
}

.guide-section {
  border-top: 1px solid var(--line);
  margin-top: 28px;
  padding-top: 26px;
}

.guide-section h2 {
  font-size: clamp(22px, 3vw, 30px);
  line-height: 1.15;
  margin: 0 0 10px;
}

.field-full {
  grid-column: 1 / -1;
}

.upload-zone {
  align-items: center;
  background: #f8fbfa;
  border: 1px dashed #9fb7b3;
  border-radius: 8px;
  cursor: pointer;
  display: grid;
  gap: 6px;
  min-height: 92px;
  padding: 16px;
}

.upload-zone.is-dragging {
  background: #eef7f5;
  border-color: var(--teal);
  box-shadow: inset 0 0 0 2px rgba(15, 118, 110, 0.14);
}

.upload-zone strong {
  font-size: 15px;
}

.upload-zone span {
  color: var(--muted);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.upload-progress {
  background: #dce5e4;
  border-radius: 999px;
  height: 8px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.upload-progress[hidden] {
  display: none;
}

.upload-progress span {
  animation: upload-progress 1.1s ease-in-out infinite;
  background: var(--teal);
  border-radius: inherit;
  display: block;
  height: 100%;
  position: absolute;
  width: 42%;
}

@keyframes upload-progress {
  0% {
    left: -42%;
  }

  100% {
    left: 100%;
  }
}

.upload-preview {
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 12px;
  margin-top: 8px;
  padding: 12px;
}

.upload-preview[hidden] {
  display: none;
}

.upload-preview-frame {
  align-items: center;
  aspect-ratio: 16 / 9;
  background: #eef5f3;
  border: 1px solid #cdd9d7;
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  overflow: hidden;
  padding: 0;
  width: 100%;
}

.upload-preview-frame.is-dragging {
  border-color: var(--teal);
  box-shadow: inset 0 0 0 2px rgba(15, 118, 110, 0.18);
}

.upload-preview-frame img {
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.upload-preview-meta {
  display: grid;
  gap: 2px;
}

.upload-preview-meta strong {
  overflow-wrap: anywhere;
}

.upload-preview-meta span {
  color: var(--muted);
  font-size: 13px;
}

.upload-preview-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.photo-gallery {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 18px 0 22px;
}

.photo-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  margin: 0;
  overflow: hidden;
}

.photo-card a {
  background: #eef5f3;
  display: block;
}

.photo-card img {
  aspect-ratio: 4 / 3;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.photo-card figcaption {
  display: grid;
  gap: 2px;
  padding: 10px 12px 12px;
}

.photo-card strong {
  font-size: 14px;
  overflow-wrap: anywhere;
}

.photo-card span {
  color: var(--muted);
  font-size: 13px;
}

.photo-card-actions {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 8px;
  padding: 10px 12px 12px;
}

.photo-card-actions .btn {
  min-height: 38px;
  width: 100%;
}

.photo-details-form label {
  display: grid;
  gap: 6px;
}

.photo-details-form span {
  color: var(--ink);
  font-size: 13px;
  font-weight: 750;
}

.photo-details-form input[type="text"] {
  border: 1px solid #cdd9d7;
  border-radius: 8px;
  color: var(--ink);
  display: block;
  font: inherit;
  min-height: 38px;
  padding: 7px 9px;
  width: 100%;
}

.photo-details-form input[type="range"] {
  accent-color: var(--teal);
  width: 100%;
}

.photo-card-remove {
  padding-top: 0;
}

.photo-replace-control {
  display: grid;
  gap: 6px;
}

.photo-replace-control span {
  color: var(--ink);
  font-size: 13px;
  font-weight: 750;
}

.photo-replace-control input {
  border: 1px solid #cdd9d7;
  border-radius: 8px;
  color: var(--ink);
  display: block;
  font: inherit;
  min-height: 38px;
  padding: 7px 9px;
  width: 100%;
}

.archive-action {
  border-top: 1px solid var(--line);
  margin-top: 18px;
  padding-top: 18px;
}

.errorlist {
  color: #a33f2a;
  font-size: 14px;
  margin: 0;
  padding-left: 18px;
}

.message-list {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 12px clamp(18px, 4vw, 56px);
}

.message {
  background: #e9f7f4;
  border: 1px solid #bce3dc;
  border-radius: 8px;
  color: #0b5e58;
  padding: 10px 14px;
}

.dashboard {
  background: #f4f6f5;
  min-height: calc(100vh - 72px);
  padding: 32px 0 64px;
}

.dashboard-header {
  align-items: flex-end;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 24px;
}

.dashboard-kicker {
  color: var(--teal-dark);
  font-size: 13px;
  font-weight: 850;
  margin: 0 0 6px;
  text-transform: uppercase;
}

.dashboard h1 {
  font-size: clamp(26px, 3vw, 32px);
  line-height: 1.2;
  margin: 0;
}

.dashboard-helper {
  color: var(--muted);
  margin: 8px 0 0;
}

.stats-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.stat-card {
  padding: 18px;
}

.stat-card span {
  color: var(--muted);
  display: block;
  font-size: 13px;
  font-weight: 700;
}

.stat-card strong {
  display: block;
  font-size: 26px;
  margin-top: 4px;
}

.workspace-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 24px;
}

.workspace-card {
  padding: 20px;
}

.resident-action-grid,
.resident-unit-grid,
.resident-charge-summary,
.resident-two-column {
  display: grid;
  gap: 14px;
}

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

.resident-unit-grid,
.resident-charge-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.resident-two-column {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.resident-action-card,
.resident-unit-card,
.resident-charge-summary article,
.resident-panel {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 9px;
  padding: 18px;
}

.resident-action-card {
  color: var(--ink);
  text-decoration: none;
  transition: border-color 140ms ease, transform 140ms ease, box-shadow 140ms ease;
}

.resident-action-card:hover {
  border-color: #9fcfc6;
  box-shadow: 0 14px 32px rgba(16, 32, 39, 0.08);
  transform: translateY(-1px);
}

.resident-action-card span,
.resident-charge-summary span {
  color: var(--teal-dark);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.resident-action-card strong,
.resident-charge-summary strong {
  font-size: 18px;
  line-height: 1.22;
}

.resident-action-card p,
.resident-unit-card p,
.resident-charge-summary p,
.resident-panel p {
  color: var(--muted);
  margin: 0;
}

.resident-unit-card h3,
.resident-panel h3 {
  font-size: 20px;
  margin: 0;
}

.resident-unit-card small {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.resident-charge-summary {
  margin: 16px 0 6px;
}

.resident-charge-summary .btn {
  justify-self: start;
}

.account-action-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.account-card {
  display: grid;
  gap: 16px;
}

.account-card form {
  display: grid;
  gap: 16px;
}

.account-card .form-grid {
  margin-top: 0;
}

.form-grid-single {
  grid-template-columns: 1fr;
}

.account-users-panel {
  max-width: none;
}

.action-queue {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  margin-top: 24px;
  overflow: hidden;
}

.activation-panel {
  align-items: stretch;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 390px);
  margin-top: 24px;
}

.activation-copy,
.next-step-card {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: clamp(20px, 3vw, 28px);
}

.activation-copy h2,
.next-step-card h3 {
  font-size: clamp(22px, 3vw, 30px);
  line-height: 1.15;
  margin: 0;
}

.activation-copy p,
.next-step-card p {
  color: var(--muted);
  margin: 10px 0 0;
}

.activation-copy .progress-shell {
  margin-bottom: 0;
}

.next-step-card {
  border-left: 4px solid var(--gold);
  display: flex;
  flex-direction: column;
}

.next-step-card span {
  color: var(--teal-dark);
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.next-step-card .btn {
  margin-top: auto;
}

.queue-row {
  align-items: center;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 16px;
  grid-template-columns: 44px 1fr auto;
  padding: 16px 18px;
}

.setup-row {
  grid-template-columns: 44px 1fr auto auto;
}

.setup-current {
  background: #fbf9ee;
}

.queue-row:first-child {
  border-top: 0;
}

.queue-icon {
  align-items: center;
  background: #eef7f5;
  border-radius: 8px;
  color: var(--teal-dark);
  display: flex;
  font-weight: 900;
  height: 44px;
  justify-content: center;
  line-height: 1;
  text-align: center;
  width: 44px;
}

.setup-row .queue-icon {
  font-size: 12px;
}

.queue-row h3 {
  font-size: 16px;
  margin: 0;
}

.queue-row > div {
  min-width: 0;
}

.queue-row p {
  color: var(--muted);
  margin: 2px 0 0;
  overflow-wrap: anywhere;
}

.footer {
  background: #102027;
  color: #dbe8e6;
  padding: 42px 0 22px;
}

.footer-grid {
  align-items: start;
  display: grid;
  gap: 30px;
  grid-template-columns: minmax(260px, 1.3fr) minmax(140px, 0.65fr) minmax(150px, 0.7fr) minmax(230px, 0.9fr);
}

.footer-brand,
.footer-column,
.footer-contact {
  display: grid;
  gap: 8px;
}

.footer-brand p {
  color: #b8cbc7;
  line-height: 1.6;
  margin: 0;
  max-width: 360px;
}

.footer-trust-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}

.footer-trust-pills span {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(219, 232, 230, 0.15);
  border-radius: 999px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 850;
  padding: 6px 9px;
}

.footer-column span,
.footer-contact > span {
  color: #80d7c7;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.footer-column a {
  color: #dbe8e6;
  font-weight: 800;
}

.footer-contact {
  font-style: normal;
}

.footer-contact strong {
  color: #ffffff;
  font-size: 18px;
}

.footer-contact a {
  color: #ffffff;
  font-weight: 850;
}

.footer-contact p {
  color: #b8cbc7;
  line-height: 1.55;
  margin: 0;
}

.code-expression-credit {
  flex-basis: 100%;
  font-size: 12px;
  line-height: 1.5;
  margin: 8px 0 0;
  order: 20;
  text-align: center;
}

.code-expression-credit a {
  color: inherit;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.footer > .code-expression-credit {
  border-top: 1px solid rgba(219, 232, 230, 0.18);
  color: #b8cbc7;
  margin: 20px auto 0;
  max-width: 1180px;
  padding: 16px 20px 0;
}

.about-hero,
.contact-hero {
  background: #f6fbfa;
}

.about-hero-inner,
.contact-hero-inner,
.about-story-grid,
.about-builder-section,
.about-contact-inner,
.contact-workflow {
  align-items: start;
  display: grid;
  gap: 34px;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.55fr);
}

.about-identity-panel,
.contact-summary-card,
.about-builder-card,
.contact-info-card {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-soft);
  display: grid;
  gap: 10px;
  padding: 22px;
}

.about-identity-panel span,
.contact-summary-card span,
.contact-info-card span,
.trust-grid span {
  color: var(--teal-dark);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.about-identity-panel strong {
  font-size: 26px;
  line-height: 1.1;
}

.about-identity-panel p,
.contact-summary-card address,
.contact-info-card p,
.contact-info-card address {
  color: var(--muted);
  font-style: normal;
  line-height: 1.55;
  margin: 0;
}

.about-identity-panel a,
.contact-summary-card a,
.contact-info-card a {
  color: var(--teal-dark);
  font-weight: 900;
}

.about-proof-list {
  display: grid;
  gap: 14px;
}

.about-proof-list article {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  padding: 18px;
}

.about-proof-list span {
  align-items: center;
  background: #dff4ef;
  border-radius: 999px;
  color: var(--teal-dark);
  display: inline-flex;
  font-weight: 950;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.about-proof-list p {
  color: var(--muted);
  margin: 0;
}

.trust-grid,
.contact-card-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.trust-grid article {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 22px;
}

.trust-grid h3,
.contact-info-card h2 {
  margin: 8px 0 0;
}

.trust-grid p {
  color: var(--muted);
  margin: 10px 0 0;
}

.about-contact-strip {
  background: #eaf3f1;
}

.about-contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}

.contact-summary-card a {
  font-size: 26px;
}

.contact-topic-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.contact-topic-list span {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: #31414a;
  font-weight: 850;
  padding: 10px 12px;
}

.narrow-content {
  max-width: 820px;
}

.draft-note {
  background: #fff7df;
  border: 1px solid #eed58a;
  border-radius: 8px;
  color: #473600;
  margin: 22px 0;
  padding: 14px 16px;
}

.inline-action-form {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin: 14px 0 0;
}

.inline-action-form .help-text {
  display: block;
  flex: 1 1 220px;
  min-width: min(100%, 220px);
}

.progress-shell {
  background: #dce5e4;
  border-radius: 999px;
  height: 12px;
  margin: 18px 0 24px;
  overflow: hidden;
}

.progress-shell span {
  background: var(--teal);
  display: block;
  height: 100%;
}

.dashboard-command {
  background: #eef3f2;
}

.workspace-page {
  background: #eef3f2;
}

.workspace-header {
  margin-bottom: 18px;
}

.workspace-focus {
  align-items: stretch;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
  margin-bottom: 24px;
}

.workspace-focus-main,
.workspace-focus-side,
.workspace-section {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.workspace-focus-main {
  box-shadow: 0 20px 50px rgba(16, 32, 39, 0.08);
  display: grid;
  gap: 12px;
  padding: clamp(24px, 4vw, 34px);
}

.workspace-focus-main h2 {
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.08;
  margin: 0;
}

.workspace-focus-main p {
  color: var(--muted);
  font-size: 17px;
  line-height: 1.55;
  margin: 0;
  max-width: 720px;
}

.workspace-focus-main .btn {
  justify-self: start;
  margin-top: 6px;
}

.workspace-focus-side {
  display: grid;
  overflow: hidden;
}

.workspace-focus-side article {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 5px;
  padding: 16px 18px;
}

.workspace-focus-side article:first-child {
  background: #102027;
  border-top: 0;
  color: #ffffff;
}

.workspace-focus-side span,
.settings-map-card span,
.settings-link-card span,
.readiness-grid span,
.settings-email-test span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.workspace-focus-side article:first-child span,
.workspace-focus-side article:first-child p {
  color: #b9d8d3;
}

.workspace-focus-side strong {
  font-size: 26px;
  line-height: 1.1;
}

.workspace-focus-side p {
  color: var(--muted);
  margin: 0;
}

.workspace-section {
  margin-top: 24px;
  padding: clamp(20px, 3vw, 28px);
}

.ai-manual-page .workspace-header {
  align-items: start;
}

.ai-manual-hero {
  margin-bottom: 24px;
}

.ai-manual-layout {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
}

.ai-manual-nav {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 4px;
  padding: 16px;
  position: sticky;
  top: 96px;
}

.ai-manual-nav strong {
  display: block;
  font-size: 14px;
  margin-bottom: 6px;
}

.ai-manual-nav a {
  border-radius: 7px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 800;
  padding: 8px 10px;
}

.ai-manual-nav a:hover {
  background: #eef7f5;
  color: var(--teal-dark);
}

.ai-manual-content {
  display: grid;
  gap: 24px;
  min-width: 0;
}

.ai-manual-content .workspace-section {
  margin-top: 0;
  min-width: 0;
  overflow: hidden;
}

.ai-manual-content h2 {
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.15;
  margin: 0 0 12px;
}

.ai-manual-content h3 {
  font-size: 17px;
  line-height: 1.25;
  margin: 0;
}

.ai-manual-lead {
  color: var(--muted);
  font-size: 16px;
  margin: 0 0 18px;
  max-width: 780px;
}

.ai-manual-steps {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ai-manual-steps article,
.ai-manual-workflow article,
.ai-manual-prompts article,
.ai-manual-review-list article {
  background: #f6f8f7;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 7px;
  padding: 16px;
}

.ai-manual-steps span,
.ai-manual-review-list span {
  align-items: center;
  background: #102027;
  border-radius: 999px;
  color: #ffffff;
  display: inline-flex;
  font-size: 12px;
  font-weight: 900;
  height: 30px;
  justify-content: center;
  width: 30px;
}

.ai-manual-steps p,
.ai-manual-workflow p,
.ai-manual-prompts p,
.ai-manual-review-list p {
  color: var(--muted);
  margin: 0;
}

.ai-manual-formula {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 16px 0;
}

.ai-manual-formula span {
  background: #eef7f5;
  border: 1px solid #cde1dc;
  border-radius: 8px;
  color: var(--teal-dark);
  font-size: 13px;
  font-weight: 900;
  padding: 10px;
  text-align: center;
}

.ai-manual-example {
  background: #102027;
  border-radius: 8px;
  color: #ffffff;
  display: grid;
  gap: 8px;
  margin-top: 18px;
  padding: 18px;
}

.ai-manual-example p {
  color: #d7e6e3;
  line-height: 1.65;
  margin: 0;
}

.ai-manual-note {
  background: #fffaf0;
  border-left: 4px solid var(--gold);
  border-radius: 8px;
  color: #4f3c0a;
  margin-top: 16px;
  padding: 15px 16px;
}

.ai-manual-note p {
  margin: 4px 0 0;
}

.ai-manual-table td {
  vertical-align: top;
}

.ai-manual-content .data-table-wrap {
  max-width: 100%;
  min-width: 0;
  width: 100%;
}

.ai-manual-checklist,
.ai-manual-plain-list {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ai-manual-checklist li {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 4px;
  padding: 14px 0;
}

.ai-manual-checklist li:first-child {
  border-top: 0;
  padding-top: 0;
}

.ai-manual-checklist span,
.ai-manual-plain-list li {
  color: var(--muted);
}

.ai-manual-plain-list li {
  padding-left: 18px;
  position: relative;
}

.ai-manual-plain-list li::before {
  background: var(--teal);
  border-radius: 999px;
  content: "";
  height: 7px;
  left: 0;
  position: absolute;
  top: 9px;
  width: 7px;
}

.ai-manual-two-column,
.ai-manual-workflow,
.ai-manual-review-list {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ai-manual-two-column > div {
  display: grid;
  gap: 12px;
}

.ai-manual-prompts {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.board-standard {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  margin-top: 24px;
  padding: clamp(20px, 3vw, 28px);
}

.board-standard-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 18px;
}

.board-standard-grid article {
  background: #f6f8f7;
  border: 1px solid var(--line);
  border-left: 4px solid var(--teal);
  border-radius: 8px;
  display: grid;
  gap: 7px;
  padding: 16px;
}

.board-standard-grid span,
.guardrail-panel .resource-list strong {
  color: var(--teal-dark);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.board-standard-grid strong {
  font-size: 17px;
}

.board-standard-grid p {
  color: var(--muted);
  margin: 0;
}

.guardrail-panel {
  align-items: start;
  background: #f6f8f7;
  border: 1px solid var(--line);
  border-left: 5px solid var(--gold);
  border-radius: 8px;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 0.95fr) minmax(300px, 1.05fr);
  padding: clamp(18px, 3vw, 24px);
}

.guardrail-panel h2 {
  font-size: clamp(22px, 3vw, 30px);
  line-height: 1.12;
  margin: 0;
}

.guardrail-panel p {
  color: var(--muted);
  margin: 10px 0 0;
}

.guardrail-panel .resource-list {
  margin: 0;
}

.access-policy-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 18px;
}

.access-policy-grid article {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  padding: 16px;
}

.access-policy-grid span {
  color: var(--teal-dark);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.access-policy-grid strong {
  font-size: 17px;
  line-height: 1.25;
}

.access-policy-grid p {
  color: var(--muted);
  margin: 0;
}

.settings-map,
.settings-link-grid,
.readiness-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 16px;
}

.settings-map-card,
.settings-link-card {
  background: #f6f8f7;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  display: grid;
  gap: 7px;
  padding: 16px;
  text-decoration: none;
}

.settings-map-card span {
  align-items: center;
  background: #e8f5f2;
  border-radius: 8px;
  color: var(--teal-dark);
  display: flex;
  font-size: 13px;
  font-weight: 900;
  height: 32px;
  justify-content: center;
  width: 32px;
}

.settings-map-card strong,
.settings-link-card strong,
.readiness-grid strong {
  font-size: 17px;
}

.settings-map-card p,
.settings-link-card span,
.readiness-grid p {
  color: var(--muted);
  margin: 0;
}

.guided-list {
  border: 1px solid var(--line);
  border-radius: 8px;
  margin-top: 16px;
  overflow: hidden;
}

.guided-row {
  align-items: center;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 16px;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  padding: 15px 16px;
}

.guided-row:first-child {
  border-top: 0;
}

.guided-needed {
  background: #fffaf0;
}

.guided-marker {
  align-items: center;
  background: #eef7f5;
  border-radius: 8px;
  color: var(--teal-dark);
  display: flex;
  font-size: 12px;
  font-weight: 900;
  height: 42px;
  justify-content: center;
  line-height: 1;
  text-align: center;
  width: 42px;
}

.guided-needed .guided-marker {
  background: #fff0c6;
  color: #6f4d00;
}

.guided-row h3 {
  font-size: 17px;
  margin: 0;
}

.guided-row p {
  color: var(--muted);
  margin: 3px 0 0;
}

.settings-two-column {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 0.95fr) minmax(300px, 0.75fr);
}

.settings-explainer h2 {
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.14;
  margin: 0;
}

.settings-explainer > p {
  color: var(--muted);
  margin: 10px 0 0;
}

.settings-form-card {
  box-shadow: none;
  margin: 0;
}

.settings-form-card form {
  display: grid;
  gap: 14px;
  margin-top: 12px;
}

.settings-link-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.settings-email-test {
  align-items: center;
  background: #f6f8f7;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-top: 16px;
  padding: 16px;
}

.settings-email-test div {
  display: grid;
  gap: 4px;
}

.readiness-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.readiness-grid article {
  background: #f6f8f7;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 7px;
  padding: 14px;
}

.readiness-grid .readiness-needed {
  background: #fffaf0;
  border-color: #eed58a;
}

.readiness-ok span {
  color: var(--teal-dark);
}

.readiness-needed span {
  color: #6f4d00;
}

.settings-profile-section .form-panel {
  margin-left: 0;
  margin-right: 0;
}

.settings-profile-form {
  box-shadow: none;
  max-width: none;
}

.workspace-form-panel {
  box-shadow: none;
  margin: 0;
  max-width: none;
}

.workspace-form-panel .form-grid {
  margin-top: 0;
}

.subpage-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.detail-panel {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: clamp(20px, 3vw, 28px);
}

.detail-panel h2,
.detail-panel h3 {
  margin-top: 0;
}

.detail-action-bar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.workspace-search,
.workspace-filter {
  display: grid;
  gap: 14px;
}

.workspace-search {
  align-items: end;
  grid-template-columns: minmax(220px, 1fr) auto;
}

.workspace-filter {
  background: #f6f8f7;
  border: 1px solid var(--line);
  border-radius: 8px;
  margin-top: 16px;
  padding: 16px;
}

.workspace-filter .hero-actions {
  margin-top: 0;
}

.command-header {
  margin-bottom: 18px;
}

.section-heading {
  max-width: 760px;
}

.section-heading h2 {
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.14;
  margin: 0;
}

.section-heading p:not(.dashboard-kicker) {
  color: var(--muted);
  margin: 8px 0 0;
}

.section-heading-row {
  align-items: end;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  max-width: none;
}

.command-hero {
  align-items: stretch;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
}

.priority-panel,
.dashboard-scoreboard,
.attention-list,
.launch-summary,
.launch-stepper,
.workflow-group,
.activity-strip {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.priority-panel {
  box-shadow: 0 20px 50px rgba(16, 32, 39, 0.08);
  overflow: hidden;
}

.priority-panel .section-heading {
  padding: clamp(20px, 3vw, 28px) clamp(20px, 3vw, 30px) 12px;
}

.priority-list {
  display: grid;
}

.priority-action {
  align-items: center;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 18px clamp(20px, 3vw, 30px);
}

.priority-action span,
.workflow-group > div > span,
.attention-value span,
.activity-strip-list span,
.next-action-compact span {
  color: var(--teal-dark);
  display: block;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.priority-action h3 {
  font-size: clamp(20px, 3vw, 28px);
  line-height: 1.12;
  margin: 4px 0 0;
}

.priority-action p {
  color: var(--muted);
  margin: 6px 0 0;
}

.priority-featured {
  background: #f4fbf9;
  border-left: 4px solid var(--teal);
}

.priority-warning {
  border-left: 4px solid var(--gold);
}

.dashboard-scoreboard {
  align-content: start;
  display: grid;
  overflow: hidden;
}

.score-row {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 4px;
  padding: 16px 18px;
}

.score-row:first-child {
  border-top: 0;
}

.score-row span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
}

.score-row strong {
  font-size: 24px;
  line-height: 1.1;
}

.score-emphasis {
  background: #102027;
  color: #ffffff;
}

.score-emphasis span {
  color: #b9d8d3;
}

.attention-board,
.launch-guide,
.workflow-board,
.activity-strip {
  margin-top: 24px;
}

.attention-list {
  margin-top: 14px;
  overflow: hidden;
}

.attention-row {
  align-items: center;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(120px, 180px) minmax(0, 1fr) auto;
  padding: 16px 18px;
}

.attention-row:first-child {
  border-top: 0;
}

.attention-urgent {
  background: #fffaf0;
}

.attention-value strong {
  display: block;
  font-size: clamp(22px, 3vw, 30px);
  line-height: 1.05;
  overflow-wrap: anywhere;
}

.attention-copy h3 {
  font-size: 17px;
  margin: 0;
}

.attention-copy p {
  color: var(--muted);
  margin: 3px 0 0;
}

.launch-guide {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(300px, 0.86fr) minmax(0, 1.14fr);
}

.launch-summary {
  padding: clamp(20px, 3vw, 28px);
}

.launch-summary h2 {
  font-size: clamp(26px, 4vw, 42px);
  line-height: 1.08;
  margin: 0;
}

.launch-summary p {
  color: var(--muted);
  margin: 10px 0 0;
}

.next-action-compact {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 10px;
  margin-top: 20px;
  padding-top: 18px;
}

.next-action-compact strong {
  font-size: 19px;
}

.next-action-compact .btn {
  justify-self: start;
}

.launch-stepper {
  list-style: none;
  margin: 0;
  overflow: hidden;
  padding: 0;
}

.launch-step {
  align-items: center;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 14px;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  padding: 14px 16px;
}

.launch-step:first-child {
  border-top: 0;
}

.launch-step h3 {
  font-size: 16px;
  margin: 0;
}

.launch-step p {
  color: var(--muted);
  margin: 2px 0 0;
}

.launch-step a {
  color: var(--teal-dark);
  font-weight: 850;
}

.step-marker {
  align-items: center;
  background: #eef7f5;
  border-radius: 8px;
  color: var(--teal-dark);
  display: flex;
  font-size: 12px;
  font-weight: 900;
  height: 42px;
  justify-content: center;
  line-height: 1;
  text-align: center;
  width: 42px;
}

.launch-step.setup-current {
  background: #fbf9ee;
}

.workflow-board .section-heading {
  margin-bottom: 14px;
}

.workflow-groups {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.workflow-group {
  display: grid;
  gap: 18px;
  padding: clamp(20px, 3vw, 26px);
}

.workflow-group h3 {
  font-size: 21px;
  line-height: 1.18;
  margin: 5px 0 0;
}

.workflow-group p {
  color: var(--muted);
  margin: 8px 0 0;
}

.workflow-stats {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.workflow-stats div {
  background: #f6f8f7;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
}

.workflow-stats dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  margin: 0;
  text-transform: uppercase;
}

.workflow-stats dd {
  font-size: 24px;
  font-weight: 850;
  margin: 4px 0 0;
}

.workflow-links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
}

.import-roadmap,
.import-summary-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 18px;
}

.import-roadmap article,
.import-summary-grid article {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  padding: 16px;
}

.import-roadmap span,
.import-summary-grid span {
  align-items: center;
  background: #e9f7f4;
  border: 1px solid #bce3dc;
  border-radius: 999px;
  color: var(--teal-dark);
  display: inline-flex;
  font-size: 12px;
  font-weight: 900;
  height: 26px;
  justify-content: center;
  width: 26px;
}

.import-summary-grid span {
  background: transparent;
  border: 0;
  border-radius: 0;
  display: block;
  height: auto;
  justify-content: start;
  text-transform: uppercase;
  width: auto;
}

.import-roadmap strong,
.import-summary-grid strong {
  font-size: 18px;
  line-height: 1.22;
}

.import-roadmap p,
.import-summary-grid p {
  color: var(--muted);
  margin: 0;
}

.mapping-safety-note {
  background: #ffffff;
  border: 1px solid var(--line);
  border-left: 4px solid var(--teal);
  border-radius: 8px;
  display: grid;
  gap: 7px;
  margin: 16px 0;
  padding: 14px 16px;
}

.mapping-safety-note strong {
  font-size: 16px;
}

.mapping-safety-note span {
  color: var(--muted);
  display: block;
  font-size: 14px;
}

.announcement-check-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.announcement-check-grid article {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  padding: 16px;
}

.announcement-check-grid span {
  color: var(--teal-dark);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.announcement-check-grid strong {
  font-size: 17px;
  line-height: 1.24;
}

.announcement-check-grid p {
  color: var(--muted);
  margin: 0;
}

.activity-strip {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  padding: clamp(20px, 3vw, 26px);
}

.activity-strip h2 {
  font-size: 24px;
  line-height: 1.15;
  margin: 0;
}

.activity-strip-list {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.activity-strip-list article {
  background: #f6f8f7;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
}

.activity-strip-list strong {
  display: block;
  margin-top: 3px;
}

.activity-strip-list p {
  color: var(--muted);
  margin: 4px 0 0;
}

.import-preview {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  margin-top: 24px;
  padding: clamp(20px, 4vw, 28px);
}

.import-errors {
  background: #fff1ed;
  border: 1px solid #e6a08b;
  border-radius: 8px;
  color: #7f2e1b;
  margin: 16px 0;
  padding: 14px 16px;
}

.data-table-wrap {
  margin-top: 18px;
  overflow-x: auto;
}

.data-table {
  border-collapse: collapse;
  min-width: 680px;
  width: 100%;
}

.data-table th,
.data-table td {
  border-bottom: 1px solid var(--line);
  padding: 10px 12px;
  text-align: left;
}

.data-table th {
  color: var(--muted);
  font-size: 13px;
  text-transform: uppercase;
}

.data-table td strong {
  display: block;
}

.data-table td span {
  color: var(--muted);
  display: block;
  font-size: 13px;
  margin-top: 2px;
}

.data-table td .status-pill {
  display: inline-flex;
  margin-right: 6px;
  margin-top: 0;
}

.table-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.status-pill {
  border: 1px solid var(--line);
  border-radius: 999px;
  display: inline-flex;
  font-size: 12px;
  font-weight: 850;
  padding: 4px 10px;
}

.status-not_started,
.status-waiting_dns {
  background: #fff7df;
  border-color: #eed58a;
  color: #6f4d00;
}

.status-verified,
.status-connected {
  background: #e9f7f4;
  border-color: #bce3dc;
  color: #0b5e58;
}

.status-error {
  background: #fff1ed;
  border-color: #e6a08b;
  color: #7f2e1b;
}

.status-done {
  background: #e9f7f4;
  border-color: #bce3dc;
  color: #0b5e58;
}

.status-current {
  background: #fff7df;
  border-color: #eed58a;
  color: #6f4d00;
}

.status-draft,
.status-skipped {
  background: #f6f8f7;
  color: var(--muted);
}

.status-scheduled,
.status-queued,
.status-pending {
  background: #fff7df;
  border-color: #eed58a;
  color: #6f4d00;
}

.status-sent {
  background: #e9f7f4;
  border-color: #bce3dc;
  color: #0b5e58;
}

.status-active {
  background: #e9f7f4;
  border-color: #bce3dc;
  color: #0b5e58;
}

.status-owner {
  background: #e9f7f4;
  border-color: #bce3dc;
  color: #0b5e58;
}

.status-renter,
.status-resident {
  background: #edf3ff;
  border-color: #c8d8f8;
  color: #1d4f91;
}

.status-submitted,
.status-acknowledged,
.status-in_progress,
.status-under_review,
.status-needs_info {
  background: #fff7df;
  border-color: #eed58a;
  color: #6f4d00;
}

.status-resolved,
.status-closed,
.status-approved {
  background: #e9f7f4;
  border-color: #bce3dc;
  color: #0b5e58;
}

.status-cancelled {
  background: #fff1ed;
  border-color: #e6a08b;
  color: #7f2e1b;
}

.status-invited {
  background: #fff7df;
  border-color: #eed58a;
  color: #6f4d00;
}

.status-suspended,
.status-denied,
.status-canceled,
.status-inactive {
  background: #fff1ed;
  border-color: #e6a08b;
  color: #7f2e1b;
}

.status-failed {
  background: #fff1ed;
  border-color: #e6a08b;
  color: #7f2e1b;
}

.status-skipped {
  background: #f6f8f7;
  border-color: var(--line);
  color: var(--muted);
}

.status-upcoming {
  background: #f6f8f7;
  color: var(--muted);
}

.resident-charge-list {
  display: grid;
  gap: 10px;
  margin: 16px 0 22px;
}

.resident-charge {
  align-items: flex-start;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: flex;
  gap: 10px;
  padding: 12px;
}

.portal-status-cell {
  display: grid;
  gap: 6px;
  max-width: 280px;
}

.portal-row-actions {
  align-items: flex-start;
  display: grid;
  gap: 9px;
  min-width: 190px;
}

.portal-row-actions form,
.portal-secondary-actions form {
  margin: 0;
}

.portal-row-actions .btn-small {
  width: 100%;
}

.portal-secondary-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
}

.portal-row-actions .btn-text {
  border: 0;
  cursor: pointer;
  font: inherit;
  padding: 0;
}

.danger-link {
  color: #9a3412;
}

.fee-breakdown {
  background: #f6f8f7;
  border: 1px solid var(--line);
  border-radius: 8px;
  margin-top: 18px;
  padding: 16px;
}

.fee-line {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 4px;
  padding: 12px 0;
}

.fee-line:first-of-type {
  border-top: 0;
}

.resource-list {
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
}

.resource-list li {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 4px;
  padding-top: 12px;
}

.resource-list a {
  color: var(--teal-dark);
  font-weight: 800;
}

.resource-list span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.request-history-list p {
  color: var(--ink);
  line-height: 1.55;
  margin: 4px 0 0;
}

.folder-row {
  grid-template-columns: minmax(0, 1fr) auto;
}

.folder-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.folder-actions form {
  margin: 0;
}

.templates-hero {
  background: #102027;
  color: #ffffff;
  padding: clamp(48px, 8vw, 92px) 0 clamp(36px, 6vw, 70px);
}

.templates-hero-inner {
  align-items: center;
  display: grid;
  gap: clamp(28px, 5vw, 58px);
  grid-template-columns: minmax(0, 0.82fr) minmax(360px, 1.18fr);
}

.templates-hero-copy h1 {
  color: #ffffff;
  font-size: clamp(40px, 6vw, 72px);
  letter-spacing: 0;
  line-height: 1.02;
  margin: 0;
  max-width: 820px;
}

.templates-hero-copy p:not(.eyebrow) {
  color: #d8e7e4;
  font-size: 19px;
  line-height: 1.56;
  margin: 18px 0 0;
  max-width: 720px;
}

.templates-showcase {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.templates-showcase-card {
  background: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  color: var(--ink);
  display: grid;
  overflow: hidden;
}

.templates-showcase-card:nth-child(2) {
  margin-top: 32px;
}

.templates-showcase-card:nth-child(3) {
  margin-top: 64px;
}

.templates-showcase-card img {
  aspect-ratio: 4 / 5;
  object-fit: cover;
  width: 100%;
}

.templates-showcase-card span,
.templates-showcase-card strong {
  margin-left: 14px;
  margin-right: 14px;
}

.templates-showcase-card span {
  color: var(--coral);
  font-size: 12px;
  font-weight: 900;
  margin-top: 14px;
  text-transform: uppercase;
}

.templates-showcase-card strong {
  font-size: 18px;
  margin-bottom: 16px;
  margin-top: 3px;
}

.template-proof-band {
  background: #eef7f5;
  border-bottom: 1px solid var(--line);
  border-top: 1px solid #cae6e0;
}

.template-proof-grid {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.template-proof-grid article {
  border-left: 1px solid #cae6e0;
  display: grid;
  gap: 8px;
  padding: 22px 20px;
}

.template-proof-grid article:first-child {
  border-left: 0;
}

.template-proof-grid span,
.template-card-heading > span,
.template-card-meta span,
.template-media-label {
  color: var(--teal-dark);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.template-proof-grid strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.template-evaluator {
  border-bottom: 1px solid var(--line);
  padding: clamp(34px, 6vw, 64px) 0 0;
}

.template-evaluator-inner {
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 0.82fr) minmax(340px, 1fr);
}

.template-evaluator h2 {
  font-size: clamp(30px, 4vw, 50px);
  line-height: 1.08;
  margin: 0;
}

.template-evaluator p {
  color: var(--muted);
  font-size: 18px;
  line-height: 1.55;
  margin: 12px 0 0;
}

.template-evaluator-grid {
  display: grid;
  gap: 12px;
}

.template-evaluator-grid article,
.template-fit-box,
.template-demo-box {
  background: #f7faf9;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.template-evaluator-grid article {
  display: grid;
  gap: 6px;
  padding: 18px;
}

.template-evaluator-grid strong,
.template-fit-box strong,
.template-demo-box strong {
  color: var(--ink);
  font-size: 16px;
}

.template-evaluator-grid span,
.template-demo-box span {
  color: var(--muted);
  line-height: 1.45;
}

.theme-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 32px;
}

.template-gallery-grid {
  gap: 26px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.theme-card {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}

.template-card {
  display: grid;
  grid-template-rows: auto 1fr;
}

.theme-card img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
  width: 100%;
}

.template-card-media {
  background: #eef3f2;
  color: var(--ink);
  display: block;
  position: relative;
  text-decoration: none;
}

.template-card-media img {
  aspect-ratio: 16 / 9;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.template-media-label {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(15, 118, 110, 0.22);
  border-radius: 999px;
  left: 14px;
  padding: 7px 10px;
  position: absolute;
  top: 14px;
}

.template-card-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px;
}

.template-card-heading {
  display: grid;
  gap: 8px;
}

.template-card h3 {
  font-size: clamp(24px, 2.8vw, 34px);
  line-height: 1.08;
  margin: 0;
}

.template-card p {
  color: var(--muted);
  line-height: 1.5;
  margin: 0;
}

.template-card-heading p,
.template-includes {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.template-card-heading p {
  -webkit-line-clamp: 3;
}

.template-card-meta {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(170px, 0.82fr) minmax(0, 1.18fr);
  padding-top: 14px;
}

.template-card-meta div {
  display: grid;
  gap: 4px;
}

.template-card-meta strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.32;
}

.template-card-meta div:nth-child(2) strong {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.template-card-meta small {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.template-feature-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.template-feature-list li {
  background: #f6f8f7;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
  padding: 7px 10px;
}

.template-includes {
  border-top: 1px solid var(--line);
  font-size: 14px;
  -webkit-line-clamp: 2;
  padding-top: 12px;
}

.template-includes strong {
  color: var(--ink);
}

.template-card-actions,
.template-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.template-filter-row {
  background: #f6f8f7;
  border: 1px solid var(--line);
  border-radius: 8px;
  margin-top: 18px;
  padding: 10px;
}

.template-filter-row a {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 850;
  padding: 9px 12px;
  text-decoration: none;
}

.template-filter-row a:hover,
.template-filter-row a.is-active {
  background: var(--teal);
  border-color: var(--teal);
  color: #ffffff;
}

.empty-state-card {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 12px;
  grid-column: 1 / -1;
  justify-items: start;
  padding: 24px;
}

.empty-state-card h3 {
  margin: 0;
}

.empty-state-card p {
  color: var(--muted);
  margin: 0;
}

.template-bottom-cta {
  background: #fbf9ee;
  border-top: 1px solid #eadc9a;
  padding: clamp(34px, 6vw, 66px) 0;
}

.template-bottom-inner {
  align-items: center;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.template-bottom-inner h2 {
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
  margin: 0;
}

.template-bottom-inner p {
  color: var(--muted);
  font-size: 18px;
  line-height: 1.5;
  margin: 12px 0 0;
  max-width: 780px;
}

.hoa-site {
  background: #f8faf9;
  color: #132a2f;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  min-height: 100vh;
}

.hoa-site h1 {
  font-size: clamp(34px, 5vw, 58px);
  letter-spacing: 0;
  line-height: 1.05;
  margin: 0;
  overflow-wrap: anywhere;
}

.hoa-site h2 {
  font-size: clamp(22px, 3vw, 30px);
  line-height: 1.15;
  margin: 0 0 8px;
}

.hoa-site p {
  color: #52666b;
  margin: 0;
}

.site-kicker {
  color: #0f766e;
  display: block;
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.hoa-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.hoa-feature-row,
.hoa-doc-section,
.amenity-feature,
.condo-notice-board,
.townhome-schedule,
.accessible-events,
.lake-document-strip,
.luxury-service-panel,
.civic-records {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 0.9fr) minmax(280px, 1.1fr);
  padding: clamp(34px, 6vw, 72px) clamp(18px, 5vw, 72px);
}

.hoa-feature-row,
.amenity-feature,
.townhome-schedule,
.accessible-events,
.lake-document-strip,
.civic-records {
  background: #ffffff;
  border-top: 1px solid #dde7e4;
}

.hoa-feature-row h2,
.hoa-doc-section h2,
.amenity-feature h2,
.condo-notice-board h2,
.townhome-schedule h2,
.accessible-events h2,
.lake-document-strip h2,
.luxury-service-panel h2,
.civic-records h2 {
  font-size: clamp(28px, 4vw, 44px);
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0;
}

.hoa-feature-row > div > p:not(.eyebrow),
.hoa-doc-section > div > p,
.amenity-feature > div > p,
.condo-notice-board > div > p,
.townhome-schedule > div > p,
.accessible-events > div > p,
.lake-document-strip > div > p,
.luxury-service-panel > div > p,
.civic-records > div > p {
  font-size: 17px;
  line-height: 1.55;
  margin-top: 12px;
}

.hoa-update-list,
.hoa-doc-list {
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.hoa-update-list li,
.hoa-doc-list li {
  background: #f8faf9;
  border: 1px solid #dde7e4;
  border-radius: 8px;
  display: grid;
  gap: 5px;
  padding: 16px;
}

.hoa-update-list strong {
  font-size: 17px;
}

.hoa-update-list span {
  color: #52666b;
  line-height: 1.45;
}

.hoa-doc-list li {
  color: #132a2f;
  font-weight: 850;
}

.hoa-demo-footer {
  align-items: center;
  background: #132a2f;
  color: #ffffff;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  justify-content: space-between;
  padding: 18px clamp(18px, 5vw, 72px);
}

.hoa-demo-footer span {
  color: #c6d8d5;
}

.building-sidebar a {
  background: #ffffff;
  border-radius: 8px;
  color: #1f2937;
  display: inline-flex;
  font-weight: 850;
  margin-top: 22px;
  min-height: 44px;
  padding: 10px 14px;
}

.hoa-nav {
  align-items: center;
  background: #ffffff;
  border-bottom: 1px solid #dde7e4;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  min-height: 68px;
  padding: 14px clamp(18px, 4vw, 52px);
  position: sticky;
  top: 0;
  z-index: 10;
}

.hoa-nav strong {
  font-size: 18px;
  overflow-wrap: anywhere;
}

.hoa-nav > nav {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: flex-end;
}

.hoa-nav a {
  font-weight: 800;
}

.hoa-mobile-menu {
  display: none;
}

.hoa-mobile-menu summary {
  background: #102027;
  border-radius: 8px;
  color: #ffffff;
  cursor: pointer;
  font-weight: 850;
  min-height: 44px;
  padding: 10px 12px;
}

.hoa-mobile-menu a {
  display: block;
  padding: 9px 0;
}

.overlay-hero {
  background-position: center;
  background-size: cover;
  min-height: 620px;
  padding: clamp(50px, 10vw, 110px) clamp(18px, 5vw, 72px);
}

.hoa-hero-panel {
  background: rgba(255, 255, 255, 0.92);
  border-radius: 8px;
  max-width: 560px;
  padding: clamp(24px, 4vw, 42px);
}

.hoa-band,
.amenity-panels,
.large-info-list,
.simple-panels,
.editorial-sections {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: clamp(36px, 7vw, 72px) clamp(18px, 5vw, 72px);
}

.three-column {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hoa-band article,
.amenity-panels article,
.large-info-list article,
.simple-panels article,
.editorial-sections article,
.dense-rows article,
.hoa-row-list article,
.asymmetric-blocks article {
  background: #ffffff;
  border: 1px solid #dde7e4;
  border-radius: 8px;
  padding: 22px;
}

.hoa-contact-strip {
  align-items: center;
  background: #102027;
  color: #ffffff;
  display: flex;
  gap: 18px;
  justify-content: center;
  padding: 24px;
}

.condo-layout {
  display: grid;
  grid-template-columns: minmax(220px, 320px) 1fr;
}

.building-sidebar {
  background: #1f2937;
  color: #ffffff;
  min-height: 100%;
  padding: clamp(28px, 5vw, 48px);
}

.building-sidebar p {
  color: #d8e0e2;
  margin-top: 12px;
}

.split-hero {
  align-items: stretch;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
}

.split-hero img,
.editorial-hero img,
.luxury-hero img,
.accessible-hero img,
.civic-notice img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.split-hero div,
.accessible-hero div,
.civic-notice div {
  align-self: center;
  padding: clamp(28px, 5vw, 56px);
}

.hoa-row-list {
  display: grid;
  gap: 0;
  grid-column: 1 / -1;
}

.hoa-row-list article {
  border-radius: 0;
  border-width: 1px 0 0;
}

.transparent-nav,
.minimal-nav {
  background: #0f1e23;
  color: #ffffff;
}

.editorial-hero,
.luxury-hero {
  display: grid;
  grid-template-columns: 1fr;
  position: relative;
}

.editorial-hero img,
.luxury-hero img {
  max-height: 720px;
}

.editorial-copy,
.luxury-hero div {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 8px;
  bottom: clamp(24px, 5vw, 60px);
  left: clamp(18px, 5vw, 72px);
  max-width: 560px;
  padding: clamp(24px, 4vw, 42px);
  position: absolute;
}

.quick-links,
.action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.quick-links {
  bottom: clamp(24px, 5vw, 60px);
  position: absolute;
  right: clamp(18px, 5vw, 72px);
}

.quick-links a,
.action-row a {
  background: #ffffff;
  border: 1px solid #dde7e4;
  border-radius: 8px;
  font-weight: 850;
  min-height: 44px;
  padding: 10px 14px;
}

.quick-action-hero {
  display: grid;
  gap: 24px;
  grid-template-columns: 0.8fr 1.2fr;
  padding: clamp(30px, 6vw, 70px) clamp(18px, 5vw, 72px);
}

.quick-action-hero img {
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  object-fit: cover;
  width: 100%;
}

.quick-action-hero .action-row {
  grid-column: 1 / -1;
}

.dense-rows,
.asymmetric-blocks {
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr;
  padding: 0 clamp(18px, 5vw, 72px) clamp(40px, 7vw, 72px);
}

.accessible-hero,
.civic-notice {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
}

.theme-active-adult {
  font-size: 18px;
}

.theme-active-adult .hoa-nav,
.theme-active-adult .large-info-list article {
  border-color: #aebfba;
}

.rustic-hero {
  align-items: end;
  background-position: center;
  background-size: cover;
  display: flex;
  min-height: 680px;
  padding: clamp(28px, 6vw, 74px);
}

.rustic-hero div {
  background: rgba(250, 252, 247, 0.92);
  border-left: 6px solid #8a9a5b;
  border-radius: 8px;
  max-width: 590px;
  padding: clamp(24px, 4vw, 42px);
}

.asymmetric-blocks {
  grid-template-columns: 1.2fr 0.8fr;
}

.asymmetric-blocks article:first-child {
  grid-row: span 2;
}

.theme-luxury {
  background: #101416;
  color: #f6f3ed;
}

.theme-luxury p {
  color: #d8d0c6;
}

.theme-luxury .editorial-sections {
  background: #101416;
}

.theme-luxury .editorial-sections article {
  background: #1b2225;
  border-color: #3a474b;
}

.theme-luxury .site-kicker {
  color: #f0d98b;
}

.theme-luxury .luxury-service-panel {
  background: #101416;
  border-top: 1px solid #3a474b;
}

.theme-luxury .luxury-service-panel .hoa-update-list li {
  background: #1b2225;
  border-color: #3a474b;
}

.theme-luxury .luxury-service-panel .hoa-update-list span {
  color: #d8d0c6;
}

.civic-layout {
  background: #f5f6f1;
}

.civic-notice {
  border-bottom: 1px solid #d9dfd1;
}

.simple-panels {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.theme-suburban {
  background: #eef5f2;
  color: #102027;
}

.theme-suburban .suburban-nav {
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 10px 34px rgba(16, 32, 39, 0.08);
  min-height: 78px;
}

.suburban-brand {
  display: grid;
  gap: 1px;
  min-width: min(270px, 36vw);
}

.suburban-brand span {
  color: #102027;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.1;
}

.suburban-brand small {
  color: #6a7a52;
  font-size: 12px;
  font-weight: 850;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}

.theme-suburban .hoa-nav > nav {
  gap: 8px;
}

.theme-suburban .hoa-nav > nav a {
  border-radius: 8px;
  color: #30464a;
  font-size: 14px;
  min-height: 38px;
  padding: 9px 10px;
}

.theme-suburban .hoa-nav > nav a:hover {
  background: #eef7f4;
  color: #0b5e58;
}

.suburban-login {
  background: #102027;
  border: 1px solid #102027;
  border-radius: 8px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 900;
  min-height: 42px;
  padding: 10px 14px;
  white-space: nowrap;
}

.suburban-hero {
  background-image:
    linear-gradient(105deg, rgba(12, 32, 38, 0.9) 0%, rgba(12, 32, 38, 0.72) 46%, rgba(12, 32, 38, 0.16) 100%),
    var(--suburban-hero-image);
  background-position: center;
  background-size: cover;
  color: #ffffff;
  min-height: 560px;
  padding: clamp(42px, 7vw, 80px) clamp(18px, 5vw, 72px);
}

.suburban-hero-inner {
  align-items: end;
  display: grid;
  gap: clamp(24px, 5vw, 56px);
  grid-template-columns: minmax(0, 1fr) minmax(320px, 440px);
  margin: 0 auto;
  max-width: 1180px;
  min-height: 420px;
}

.suburban-hero-copy {
  max-width: 760px;
}

.suburban-hero .eyebrow,
.suburban-about .eyebrow,
.suburban-section-heading .eyebrow,
.suburban-flow .eyebrow,
.suburban-contact .eyebrow {
  color: #f5c542;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0;
  margin: 0 0 10px;
  text-transform: uppercase;
}

.suburban-hero h1 {
  font-size: clamp(38px, 6vw, 70px);
  max-width: 820px;
}

.suburban-hero-copy > p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(18px, 2.2vw, 23px);
  line-height: 1.5;
  margin-top: 16px;
  max-width: 720px;
}

.suburban-hero .btn-secondary {
  background: rgba(255, 255, 255, 0.92);
  border-color: rgba(255, 255, 255, 0.92);
}

.suburban-portal-panel {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.64);
  border-radius: 8px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
  color: #102027;
  display: grid;
  gap: 14px;
  padding: clamp(20px, 3vw, 28px);
}

.suburban-portal-panel span,
.suburban-action-grid article > span,
.suburban-notice-card span,
.suburban-document-list span {
  color: #0b5e58;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.suburban-portal-panel strong {
  font-size: clamp(21px, 3vw, 28px);
  line-height: 1.12;
}

.suburban-portal-panel ul {
  display: grid;
  gap: 9px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.suburban-portal-panel li {
  color: #52666b;
  line-height: 1.45;
  padding-left: 20px;
  position: relative;
}

.suburban-portal-panel li::before {
  background: #d6a73d;
  border-radius: 999px;
  content: "";
  height: 8px;
  left: 0;
  position: absolute;
  top: 0.6em;
  width: 8px;
}

.suburban-portal-panel a,
.suburban-action-grid a,
.suburban-document-list a {
  color: #0b5e58;
  font-weight: 900;
}

.suburban-action-grid,
.suburban-about,
.suburban-documents,
.suburban-flow,
.suburban-contact {
  margin: 0 auto;
  max-width: 1180px;
}

.suburban-action-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: clamp(26px, 5vw, 52px) clamp(18px, 5vw, 32px);
}

.suburban-action-grid article {
  background: #ffffff;
  border: 1px solid #d5e3df;
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(16, 32, 39, 0.08);
  display: grid;
  gap: 10px;
  min-height: 246px;
  padding: clamp(20px, 3vw, 28px);
}

.suburban-action-grid h2,
.suburban-about h2,
.suburban-section-heading h2,
.suburban-flow h2,
.suburban-contact h2 {
  color: #102027;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.08;
}

.suburban-action-grid h2 {
  font-size: clamp(24px, 3vw, 32px);
}

.suburban-action-grid p,
.suburban-about p,
.suburban-documents p,
.suburban-flow p,
.suburban-contact p {
  color: #52666b;
  line-height: 1.58;
}

.suburban-about {
  align-items: stretch;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  padding: clamp(18px, 4vw, 38px) clamp(18px, 5vw, 32px) clamp(34px, 6vw, 68px);
}

.suburban-about-copy,
.suburban-notice-card,
.suburban-documents,
.suburban-flow,
.suburban-contact {
  background: #ffffff;
  border: 1px solid #d5e3df;
  border-radius: 8px;
}

.suburban-about-copy {
  padding: clamp(26px, 5vw, 46px);
}

.suburban-about-copy p:not(.eyebrow) {
  font-size: 18px;
  margin-top: 14px;
}

.suburban-notice-card {
  background: #102027;
  display: grid;
  gap: 12px;
  padding: clamp(24px, 4vw, 38px);
}

.suburban-notice-card h3 {
  color: #ffffff;
  font-size: clamp(25px, 3vw, 34px);
  line-height: 1.12;
  margin: 0;
}

.suburban-notice-card p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 17px;
}

.suburban-documents,
.suburban-flow,
.suburban-contact {
  display: grid;
  gap: 24px;
  margin-bottom: clamp(28px, 5vw, 56px);
  padding: clamp(26px, 5vw, 48px);
}

.suburban-documents {
  grid-template-columns: minmax(0, 0.88fr) minmax(360px, 1.12fr);
}

.suburban-section-heading h2,
.suburban-flow h2,
.suburban-contact h2 {
  margin-bottom: 12px;
}

.suburban-document-list {
  display: grid;
  gap: 12px;
}

.suburban-document-list article {
  align-items: center;
  background: #f7faf8;
  border: 1px solid #dce7e3;
  border-radius: 8px;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(170px, 0.34fr) minmax(0, 1fr) auto;
  padding: 16px;
}

.suburban-document-list h3 {
  color: #102027;
  font-size: 18px;
  line-height: 1.18;
  margin: 3px 0 0;
}

.suburban-document-list p {
  font-size: 14px;
}

.suburban-flow {
  align-items: start;
  background: #eaf4f1;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
}

.suburban-flow-steps {
  display: grid;
  gap: 12px;
}

.suburban-flow-steps article {
  align-items: start;
  background: #ffffff;
  border: 1px solid #d5e3df;
  border-radius: 8px;
  display: grid;
  gap: 8px 14px;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 16px;
}

.suburban-flow-steps span {
  align-items: center;
  background: #d6a73d;
  border-radius: 8px;
  color: #102027;
  display: inline-flex;
  font-weight: 950;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.suburban-flow-steps strong,
.suburban-flow-steps p {
  grid-column: 2;
}

.suburban-flow-steps strong {
  font-size: 18px;
}

.suburban-contact {
  align-items: center;
  background: #102027;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 430px);
}

.suburban-contact h2 {
  color: #ffffff;
}

.suburban-contact p {
  color: rgba(255, 255, 255, 0.78);
}

.suburban-contact address {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  display: grid;
  font-style: normal;
  gap: 10px;
  padding: 20px;
}

.suburban-contact address a,
.suburban-contact address span {
  color: #ffffff;
  overflow-wrap: anywhere;
}

.suburban-contact address a {
  font-size: 18px;
  font-weight: 900;
}

.suburban-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.suburban-footer a {
  color: #ffffff;
  font-weight: 850;
}

.tower-site {
  background: #f4f1ea;
  color: #242832;
}

.tower-header {
  align-items: center;
  background: #fdfbf6;
  border-bottom: 1px solid #ddd6c8;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1.4fr) auto;
  min-height: 78px;
  padding: 14px clamp(18px, 4vw, 56px);
  position: sticky;
  top: 0;
  z-index: 10;
}

.tower-wordmark {
  display: grid;
  gap: 2px;
}

.tower-wordmark span {
  color: #242832;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.1;
}

.tower-wordmark small {
  color: #7a5b4d;
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
}

.tower-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}

.tower-nav a,
.tower-portal-link,
.tower-mobile-menu summary {
  border-radius: 8px;
  font-size: 14px;
  font-weight: 900;
  min-height: 40px;
  padding: 10px 11px;
}

.tower-nav a {
  color: #3d4652;
}

.tower-nav a:hover {
  background: #ece6db;
  color: #1f5f7a;
}

.tower-portal-link {
  background: #1f5f7a;
  color: #ffffff;
  white-space: nowrap;
}

.tower-mobile-menu {
  display: none;
}

.tower-mobile-menu summary {
  background: #ece6db;
  color: #242832;
  cursor: pointer;
}

.tower-mobile-menu a {
  display: block;
  font-weight: 850;
  padding: 9px 0;
}

.tower-page {
  margin: 0 auto;
  max-width: 1220px;
  padding: clamp(22px, 4vw, 48px) clamp(18px, 4vw, 32px);
}

.tower-hero {
  align-items: stretch;
  display: grid;
  gap: 0;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, 0.95fr);
  min-height: 520px;
}

.tower-media {
  background: #d8d1c4;
  border: 1px solid #ddd6c8;
  border-radius: 8px 0 0 8px;
  margin: 0;
  overflow: hidden;
  position: relative;
}

.tower-media img {
  height: 100%;
  min-height: 520px;
  object-fit: cover;
  width: 100%;
}

.tower-media figcaption {
  background: rgba(253, 251, 246, 0.92);
  border: 1px solid rgba(221, 214, 200, 0.84);
  border-radius: 8px;
  bottom: 22px;
  display: grid;
  gap: 4px;
  left: 22px;
  max-width: calc(100% - 44px);
  padding: 14px 16px;
  position: absolute;
}

.tower-media figcaption span,
.tower-kicker,
.tower-status span,
.tower-primary-notice span,
.tower-portal-desk span,
.tower-section-title span,
.tower-document-rows span,
.tower-contact-dock span {
  color: #bd5d46;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.tower-media figcaption strong {
  color: #242832;
  font-size: 17px;
  line-height: 1.15;
}

.tower-hero-copy {
  background: #242832;
  border-radius: 0 8px 8px 0;
  display: grid;
  padding: clamp(32px, 6vw, 62px);
}

.tower-hero-copy h1 {
  color: #ffffff;
  font-size: clamp(38px, 5vw, 64px);
  line-height: 1.02;
  margin: 0;
}

.tower-hero-copy > p:not(.tower-kicker) {
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(18px, 2vw, 21px);
  line-height: 1.55;
  margin: 16px 0 0;
  max-width: 620px;
}

.tower-hero-actions {
  align-self: end;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.tower-hero-actions .btn-primary {
  background: #bd5d46;
  border-color: #bd5d46;
}

.tower-hero-actions .btn-secondary {
  background: #fdfbf6;
  border-color: #fdfbf6;
  color: #242832;
}

.tower-status,
.tower-command-list,
.tower-notice-ledger,
.tower-document-desk,
.tower-contact-dock {
  margin-top: clamp(18px, 3vw, 28px);
}

.tower-status {
  align-items: center;
  background: #dfe8db;
  border: 1px solid #c9d8c4;
  border-radius: 8px;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(210px, 0.36fr) minmax(0, 1fr) auto;
  padding: 20px;
}

.tower-status h2 {
  color: #242832;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.12;
  margin: 3px 0 0;
}

.tower-status p,
.tower-command-list p,
.tower-primary-notice p,
.tower-portal-desk p,
.tower-document-desk p,
.tower-contact-dock p {
  color: #60646f;
  line-height: 1.58;
  margin: 0;
}

.tower-status a,
.tower-command-list a,
.tower-document-rows a,
.tower-access-links a {
  color: #1f5f7a;
  font-weight: 950;
}

.tower-command-list {
  background: #fdfbf6;
  border: 1px solid #ddd6c8;
  border-radius: 8px;
  overflow: hidden;
}

.tower-command-list article {
  align-items: center;
  display: grid;
  gap: 18px;
  grid-template-columns: 56px minmax(0, 1fr) minmax(130px, auto);
  min-height: 128px;
  padding: 20px clamp(18px, 3vw, 28px);
}

.tower-command-list article + article {
  border-top: 1px solid #ddd6c8;
}

.tower-command-list article > span {
  align-items: center;
  background: #ece6db;
  border-radius: 8px;
  color: #7a5b4d;
  display: inline-flex;
  font-weight: 950;
  height: 46px;
  justify-content: center;
  width: 46px;
}

.tower-command-list h2,
.tower-primary-notice h2,
.tower-portal-desk h2,
.tower-section-title h2,
.tower-contact-dock h2 {
  color: #242832;
  font-size: clamp(25px, 3vw, 38px);
  line-height: 1.1;
  margin: 0;
}

.tower-command-list h2 {
  font-size: clamp(23px, 3vw, 30px);
  margin-bottom: 6px;
}

.tower-notice-ledger {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.tower-primary-notice,
.tower-portal-desk,
.tower-document-desk,
.tower-contact-dock {
  background: #fdfbf6;
  border: 1px solid #ddd6c8;
  border-radius: 8px;
  padding: clamp(24px, 4vw, 38px);
}

.tower-primary-notice {
  background: #fff7ef;
  border-left: 6px solid #bd5d46;
}

.tower-primary-notice h2,
.tower-portal-desk h2 {
  margin: 8px 0 12px;
}

.tower-portal-desk {
  background: #eef5f7;
  border-left: 6px solid #1f5f7a;
}

.tower-access-links {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 18px;
}

.tower-document-desk {
  display: grid;
  gap: 26px;
  grid-template-columns: minmax(0, 0.82fr) minmax(360px, 1.18fr);
}

.tower-document-rows {
  display: grid;
  gap: 10px;
}

.tower-document-rows article {
  align-items: center;
  background: #ffffff;
  border: 1px solid #ddd6c8;
  border-radius: 8px;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 104px;
  padding: 16px 18px;
}

.tower-document-rows h3 {
  color: #242832;
  font-size: 18px;
  line-height: 1.18;
  margin: 3px 0 5px;
}

.tower-contact-dock {
  align-items: center;
  background: #242832;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 430px);
}

.tower-contact-dock h2 {
  color: #ffffff;
}

.tower-contact-dock p {
  color: rgba(255, 255, 255, 0.76);
}

.tower-contact-dock address {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  display: grid;
  font-style: normal;
  gap: 10px;
  padding: 18px;
}

.tower-contact-dock address a,
.tower-contact-dock address span {
  color: #ffffff;
  overflow-wrap: anywhere;
}

.tower-contact-dock address a {
  font-size: 18px;
  font-weight: 900;
}

.tower-footer {
  align-items: center;
  background: #1a1d24;
  color: #ffffff;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  justify-content: space-between;
  padding: 18px clamp(18px, 4vw, 56px);
}

.tower-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.tower-footer a {
  color: #ffffff;
  font-weight: 850;
}

.haven-site {
  background: #eef8fb;
  color: #17212b;
}

.haven-header {
  align-items: center;
  background: #ffffff;
  border-bottom: 1px solid #cde4ea;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(230px, 0.8fr) minmax(0, 1.35fr) auto;
  min-height: 76px;
  padding: 13px clamp(18px, 4vw, 58px);
  position: sticky;
  top: 0;
  z-index: 10;
}

.haven-brand {
  display: grid;
  gap: 2px;
}

.haven-brand strong {
  color: #17212b;
  font-size: 18px;
  line-height: 1.1;
}

.haven-brand span {
  color: #4f8f9f;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.haven-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}

.haven-nav a,
.haven-login,
.haven-mobile-menu summary {
  border-radius: 8px;
  font-size: 14px;
  font-weight: 900;
  min-height: 40px;
  padding: 10px 11px;
}

.haven-nav a {
  color: #2d4150;
}

.haven-nav a:hover {
  background: #e4f2f4;
  color: #367082;
}

.haven-login {
  background: #87b36a;
  color: #102312;
  white-space: nowrap;
}

.haven-mobile-menu {
  display: none;
}

.haven-mobile-menu summary {
  background: #e4f2f4;
  color: #17212b;
  cursor: pointer;
}

.haven-mobile-menu a {
  display: block;
  font-weight: 850;
  padding: 9px 0;
}

.haven-page {
  margin: 0 auto;
  max-width: 1240px;
  padding: clamp(22px, 4vw, 50px) clamp(18px, 4vw, 34px);
}

.haven-hero {
  align-items: stretch;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 0.94fr) minmax(420px, 1.06fr);
}

.haven-hero-copy,
.haven-pass,
.haven-announcement,
.haven-guide,
.haven-records,
.haven-contact {
  border-radius: 8px;
}

.haven-hero-copy {
  background: #ffffff;
  border: 1px solid #cde4ea;
  display: grid;
  min-height: 440px;
  padding: clamp(28px, 5vw, 54px);
}

.haven-kicker,
.haven-announcement span,
.haven-guide span,
.haven-records-copy span,
.haven-record-rows > article > span,
.haven-contact span {
  color: #b55b75;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.haven-hero-copy h1 {
  color: #17212b;
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.02;
  margin: 0;
}

.haven-hero-copy > p:not(.haven-kicker) {
  color: #526776;
  font-size: clamp(18px, 2vw, 21px);
  line-height: 1.55;
  margin: 16px 0 0;
}

.haven-hero-actions {
  align-self: end;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.haven-hero-actions .btn-primary {
  background: #367082;
  border-color: #367082;
}

.haven-hero-actions .btn-secondary {
  background: #e4f2f4;
  border-color: #b9dce3;
}

.haven-photo {
  background: #dceff3;
  border-radius: 8px;
  margin: 0;
  overflow: hidden;
}

.haven-photo img {
  height: 100%;
  min-height: 440px;
  object-fit: cover;
  width: 100%;
}

.haven-pass {
  align-items: center;
  background: #17212b;
  color: #ffffff;
  display: grid;
  gap: 14px;
  grid-column: 1 / -1;
  grid-template-columns: minmax(130px, 0.22fr) minmax(220px, 0.35fr) minmax(0, 1fr) auto;
  padding: clamp(22px, 4vw, 32px);
}

.haven-pass span {
  color: #9ccf7a;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.haven-pass strong {
  font-size: clamp(20px, 3vw, 28px);
  line-height: 1.12;
}

.haven-pass p {
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.55;
}

.haven-pass a {
  color: #9ccf7a;
  font-weight: 950;
}

.haven-announcement,
.haven-guide,
.haven-records,
.haven-contact {
  margin-top: clamp(18px, 3vw, 28px);
}

.haven-announcement {
  align-items: center;
  background: #ffffff;
  border: 1px solid #cde4ea;
  border-left: 6px solid #b55b75;
  display: grid;
  gap: 16px;
  grid-template-columns: 0.18fr minmax(260px, 0.52fr) minmax(0, 1fr);
  padding: 22px;
}

.haven-announcement h2,
.haven-guide h2,
.haven-records h2,
.haven-contact h2 {
  color: #17212b;
  font-size: clamp(25px, 3vw, 38px);
  line-height: 1.1;
  margin: 0;
}

.haven-announcement p,
.haven-guide p,
.haven-records p,
.haven-contact p {
  color: #526776;
  line-height: 1.58;
  margin: 0;
}

.haven-guide {
  background: #ffffff;
  border: 1px solid #cde4ea;
  overflow: hidden;
}

.haven-guide article {
  align-items: center;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(240px, 0.38fr) minmax(0, 1fr) minmax(120px, auto);
  min-height: 122px;
  padding: 20px clamp(18px, 3vw, 28px);
}

.haven-guide article + article {
  border-top: 1px solid #cde4ea;
}

.haven-guide article:nth-child(2n) {
  background: #f7fcfd;
}

.haven-guide h2 {
  font-size: clamp(23px, 3vw, 30px);
  margin-top: 4px;
}

.haven-guide a,
.haven-record-rows a {
  color: #367082;
  font-weight: 950;
}

.haven-records {
  background: #17212b;
  color: #ffffff;
  display: grid;
  gap: 26px;
  grid-template-columns: minmax(0, 0.78fr) minmax(360px, 1.22fr);
  padding: clamp(26px, 5vw, 46px);
}

.haven-records h2 {
  color: #ffffff;
}

.haven-records p {
  color: rgba(255, 255, 255, 0.75);
}

.haven-record-rows {
  display: grid;
  gap: 10px;
}

.haven-record-rows article {
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  display: grid;
  gap: 14px;
  grid-template-columns: 120px minmax(0, 1fr) auto;
  min-height: 104px;
  padding: 16px;
}

.haven-record-rows h3 {
  color: #ffffff;
  font-size: 18px;
  line-height: 1.18;
  margin: 0 0 5px;
}

.haven-record-rows a {
  color: #9ccf7a;
}

.haven-contact {
  align-items: center;
  background: #ffffff;
  border: 1px solid #cde4ea;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 430px);
  padding: clamp(24px, 4vw, 38px);
}

.haven-contact address {
  background: #e4f2f4;
  border: 1px solid #b9dce3;
  border-radius: 8px;
  display: grid;
  font-style: normal;
  gap: 10px;
  padding: 18px;
}

.haven-contact address a,
.haven-contact address span {
  color: #17212b;
  overflow-wrap: anywhere;
}

.haven-contact address a {
  font-size: 18px;
  font-weight: 900;
}

.haven-footer {
  align-items: center;
  background: #ffffff;
  border-top: 1px solid #cde4ea;
  color: #17212b;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  justify-content: space-between;
  padding: 18px clamp(18px, 4vw, 56px);
}

.haven-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.haven-footer a {
  color: #367082;
  font-weight: 850;
}

.rowhome-site {
  background: #f7fbfc;
  color: #1e252c;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  min-height: 100vh;
}

.rowhome-site a {
  color: #277382;
  text-decoration: none;
}

.rowhome-header {
  align-items: center;
  background: #ffffff;
  border-bottom: 1px solid #d4e6ea;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(230px, 0.72fr) minmax(0, 1.45fr) auto;
  min-height: 74px;
  padding: 13px clamp(18px, 4vw, 58px);
  position: sticky;
  top: 0;
  z-index: 10;
}

.rowhome-brand {
  display: grid;
  gap: 2px;
}

.rowhome-brand strong {
  color: #1e252c;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.rowhome-brand span {
  color: #b94b45;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.rowhome-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}

.rowhome-nav a,
.rowhome-login,
.rowhome-mobile-menu summary {
  border-radius: 8px;
  font-size: 14px;
  font-weight: 900;
  min-height: 40px;
  padding: 10px 11px;
}

.rowhome-nav a {
  color: #2f3b45;
}

.rowhome-nav a:hover {
  background: #e4f2f5;
  color: #277382;
}

.rowhome-login {
  background: #f3c14b;
  color: #1e252c;
  white-space: nowrap;
}

.rowhome-mobile-menu {
  display: none;
}

.rowhome-mobile-menu summary {
  background: #e4f2f5;
  color: #1e252c;
  cursor: pointer;
}

.rowhome-mobile-menu a {
  display: block;
  font-weight: 850;
  padding: 9px 0;
}

.rowhome-page {
  margin: 0 auto;
  max-width: 1240px;
  padding: clamp(18px, 3vw, 34px) clamp(18px, 4vw, 34px);
}

.rowhome-hero {
  align-items: stretch;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(150px, 0.24fr) minmax(430px, 1.15fr) minmax(320px, 0.74fr);
}

.rowhome-route-card,
.rowhome-hero-copy,
.rowhome-hero-media,
.rowhome-notice,
.rowhome-worklist,
.rowhome-records,
.rowhome-contact {
  border-radius: 8px;
}

.rowhome-route-card {
  background: #1e252c;
  border-top: 8px solid #f3c14b;
  color: #ffffff;
  display: grid;
  gap: 12px;
  padding: clamp(18px, 3vw, 24px);
}

.rowhome-route-card span,
.rowhome-kicker,
.rowhome-notice span,
.rowhome-label,
.rowhome-records-copy span,
.rowhome-record-list span,
.rowhome-contact span {
  color: #b94b45;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.rowhome-route-card span {
  color: #f3c14b;
}

.rowhome-route-card strong {
  font-size: clamp(21px, 2.5vw, 28px);
  line-height: 1.08;
}

.rowhome-route-card p {
  color: rgba(255, 255, 255, 0.74);
  line-height: 1.5;
}

.rowhome-route-card a {
  align-self: end;
  color: #f3c14b;
  font-weight: 950;
}

.rowhome-hero-copy {
  background: #ffffff;
  border: 1px solid #d4e6ea;
  display: grid;
  min-height: 360px;
  padding: clamp(24px, 4vw, 42px);
}

.rowhome-hero-copy h1 {
  color: #1e252c;
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.02;
  margin: 0;
  overflow-wrap: anywhere;
}

.rowhome-hero-copy > p:not(.rowhome-kicker) {
  color: #51626d;
  font-size: clamp(17px, 2vw, 21px);
  line-height: 1.55;
  margin: 16px 0 0;
}

.rowhome-hero-actions {
  align-self: end;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

.rowhome-hero-actions .btn-primary {
  background: #277382;
  border-color: #277382;
  color: #ffffff;
}

.rowhome-hero-actions .btn-secondary {
  background: #fff7df;
  border-color: #f3c14b;
  color: #1e252c;
}

.rowhome-hero-media {
  background: #d4e6ea;
  border: 1px solid #c2d9de;
  margin: 0;
  overflow: hidden;
  position: relative;
}

.rowhome-hero-media img {
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  width: 100%;
}

.rowhome-hero-media figcaption {
  background: rgba(255, 255, 255, 0.93);
  border: 1px solid rgba(212, 230, 234, 0.86);
  border-radius: 8px;
  bottom: 18px;
  display: grid;
  gap: 5px;
  left: 18px;
  max-width: calc(100% - 36px);
  padding: 13px 15px;
  position: absolute;
}

.rowhome-hero-media figcaption span {
  color: #277382;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.rowhome-hero-media figcaption strong {
  color: #1e252c;
  font-size: 16px;
  line-height: 1.18;
}

.rowhome-notice,
.rowhome-worklist,
.rowhome-records,
.rowhome-contact {
  margin-top: clamp(18px, 3vw, 28px);
}

.rowhome-notice {
  align-items: center;
  background: #fff7df;
  border: 1px solid #f0d78b;
  border-left: 7px solid #f3c14b;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(120px, 0.2fr) minmax(260px, 0.42fr) minmax(0, 1fr) auto;
  padding: 20px;
}

.rowhome-notice h2,
.rowhome-worklist h2,
.rowhome-records h2,
.rowhome-record-list h3,
.rowhome-contact h2 {
  color: #1e252c;
  line-height: 1.1;
  margin: 0;
}

.rowhome-notice h2,
.rowhome-records h2,
.rowhome-contact h2 {
  font-size: clamp(25px, 3vw, 38px);
}

.rowhome-notice p,
.rowhome-worklist p,
.rowhome-records p,
.rowhome-contact p {
  color: #51626d;
  line-height: 1.58;
  margin: 0;
}

.rowhome-notice a,
.rowhome-worklist a,
.rowhome-record-links a,
.rowhome-record-list a {
  color: #277382;
  font-weight: 950;
}

.rowhome-worklist {
  background: #ffffff;
  border: 1px solid #d4e6ea;
  overflow: hidden;
}

.rowhome-worklist article {
  align-items: center;
  display: grid;
  gap: 18px;
  grid-template-columns: 54px minmax(240px, 0.34fr) minmax(0, 1fr) minmax(110px, auto);
  min-height: 126px;
  padding: 20px clamp(18px, 3vw, 28px);
}

.rowhome-worklist article + article {
  border-top: 1px solid #d4e6ea;
}

.rowhome-worklist article:nth-child(2n) {
  background: #f2fafb;
}

.rowhome-step {
  align-items: center;
  background: #1e252c;
  border-radius: 8px;
  color: #f3c14b;
  display: inline-flex;
  font-weight: 950;
  height: 46px;
  justify-content: center;
  width: 46px;
}

.rowhome-worklist h2 {
  font-size: clamp(22px, 3vw, 30px);
  margin-top: 4px;
}

.rowhome-records {
  background: #1e252c;
  color: #ffffff;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 0.72fr) minmax(360px, 1.28fr);
  padding: clamp(24px, 4vw, 42px);
}

.rowhome-records h2 {
  color: #ffffff;
}

.rowhome-records-copy p,
.rowhome-record-list p {
  color: rgba(255, 255, 255, 0.74);
}

.rowhome-record-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

.rowhome-record-links a {
  background: #f3c14b;
  border-radius: 8px;
  color: #1e252c;
  min-height: 42px;
  padding: 10px 13px;
}

.rowhome-record-list {
  display: grid;
  gap: 10px;
}

.rowhome-record-list article {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  display: grid;
  gap: 5px 14px;
  grid-template-columns: minmax(130px, 0.28fr) minmax(0, 1fr) auto;
  padding: 15px;
}

.rowhome-record-list article > span {
  color: #7fd0da;
}

.rowhome-record-list h3 {
  color: #ffffff;
  font-size: 18px;
}

.rowhome-record-list p {
  grid-column: 2 / span 2;
}

.rowhome-record-list a {
  color: #f3c14b;
  grid-column: 3;
  grid-row: 1;
}

.rowhome-portal-card {
  border-left: 6px solid #b94b45;
}

.rowhome-contact {
  align-items: center;
  background: #ffffff;
  border: 1px solid #d4e6ea;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 430px);
  padding: clamp(24px, 4vw, 38px);
}

.rowhome-contact address {
  background: #e4f2f5;
  border: 1px solid #c2d9de;
  border-radius: 8px;
  display: grid;
  font-style: normal;
  gap: 10px;
  padding: 18px;
}

.rowhome-contact address a,
.rowhome-contact address span {
  color: #1e252c;
  overflow-wrap: anywhere;
}

.rowhome-contact address a {
  font-size: 18px;
  font-weight: 900;
}

.rowhome-footer {
  align-items: center;
  background: #ffffff;
  border-top: 1px solid #d4e6ea;
  color: #1e252c;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  justify-content: space-between;
  padding: 18px clamp(18px, 4vw, 56px);
}

.rowhome-footer span {
  color: #51626d;
}

.rowhome-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.rowhome-footer a {
  color: #277382;
  font-weight: 850;
}

.vista-site {
  background: #f8fbf7;
  color: #252025;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  min-height: 100vh;
}

.vista-site a {
  color: #2f7355;
  text-decoration: none;
}

.vista-header {
  align-items: center;
  background: #ffffff;
  border-bottom: 1px solid #d7e5da;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(240px, 0.78fr) minmax(0, 1.32fr) auto;
  min-height: 78px;
  padding: 14px clamp(18px, 4vw, 58px);
  position: sticky;
  top: 0;
  z-index: 10;
}

.vista-brand {
  display: grid;
  gap: 2px;
}

.vista-brand strong {
  color: #252025;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.vista-brand span {
  color: #8c3f67;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.vista-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}

.vista-nav a,
.vista-login,
.vista-mobile-menu summary {
  border-radius: 8px;
  font-size: 14px;
  font-weight: 900;
  min-height: 42px;
  padding: 11px 12px;
}

.vista-nav a {
  color: #332d34;
}

.vista-nav a:hover {
  background: #ecf7ef;
  color: #2f7355;
}

.vista-login {
  background: #8c3f67;
  color: #ffffff;
  white-space: nowrap;
}

.vista-mobile-menu {
  display: none;
}

.vista-mobile-menu summary {
  background: #ecf7ef;
  color: #252025;
  cursor: pointer;
}

.vista-mobile-menu a {
  display: block;
  font-weight: 850;
  padding: 10px 0;
}

.vista-page {
  margin: 0 auto;
  max-width: 1240px;
  padding: clamp(16px, 3vw, 24px) clamp(18px, 4vw, 34px);
}

.vista-hero {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.76fr);
}

.vista-hero-copy,
.vista-photo-panel,
.vista-care-note,
.vista-bulletin,
.vista-pathways,
.vista-welcome,
.vista-schedule,
.vista-library,
.vista-contact {
  border-radius: 8px;
}

.vista-hero-copy {
  background: #ffffff;
  border: 1px solid #d7e5da;
  display: grid;
  min-height: 350px;
  padding: clamp(24px, 4vw, 38px);
}

.vista-kicker,
.vista-care-note span,
.vista-bulletin span,
.vista-pathways span,
.vista-welcome span,
.vista-section-copy span,
.vista-document-list span,
.vista-contact span {
  color: #8c3f67;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.vista-hero-copy h1 {
  color: #252025;
  font-size: clamp(34px, 3.9vw, 48px);
  line-height: 1.02;
  margin: 0;
  overflow-wrap: anywhere;
}

.vista-hero-copy > p:not(.vista-kicker) {
  color: #554b55;
  font-size: clamp(18px, 1.8vw, 20px);
  line-height: 1.55;
  margin: 16px 0 0;
  max-width: 760px;
}

.vista-hero-actions {
  align-self: end;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.vista-hero-actions .btn-primary {
  background: #2f7355;
  border-color: #2f7355;
  color: #ffffff;
}

.vista-hero-actions .btn-secondary {
  background: #fceeea;
  border-color: #d86b5e;
  color: #252025;
}

.vista-photo-panel {
  background: #dceee6;
  border: 1px solid #c7dccf;
  margin: 0;
  overflow: hidden;
}

.vista-photo-panel img {
  height: 100%;
  min-height: 350px;
  object-fit: cover;
  width: 100%;
}

.vista-care-note {
  align-items: center;
  background: #252025;
  color: #ffffff;
  display: grid;
  gap: 16px;
  grid-column: 1 / -1;
  grid-template-columns: minmax(160px, 0.22fr) minmax(0, 1fr);
  padding: 14px clamp(18px, 3vw, 24px);
}

.vista-care-note span {
  color: #dff2e5;
}

.vista-care-note strong {
  font-size: clamp(18px, 2.2vw, 23px);
  line-height: 1.2;
}

.vista-bulletin,
.vista-pathways,
.vista-welcome,
.vista-schedule,
.vista-library,
.vista-contact {
  margin-top: clamp(18px, 3vw, 28px);
}

.vista-bulletin {
  align-items: center;
  background: #fceeea;
  border: 1px solid #f0c4bc;
  border-left: 7px solid #d86b5e;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(270px, 0.42fr) minmax(0, 1fr) auto;
  padding: 20px;
}

.vista-bulletin h2,
.vista-pathways h2,
.vista-welcome h2,
.vista-schedule h2,
.vista-library h2,
.vista-document-list h3,
.vista-contact h2 {
  color: #252025;
  line-height: 1.1;
  margin: 0;
}

.vista-bulletin h2,
.vista-welcome h2,
.vista-schedule h2,
.vista-library h2,
.vista-contact h2 {
  font-size: clamp(26px, 3vw, 38px);
}

.vista-bulletin p,
.vista-pathways p,
.vista-welcome p,
.vista-schedule p,
.vista-library p,
.vista-contact p {
  color: #554b55;
  line-height: 1.62;
  margin: 0;
}

.vista-bulletin a,
.vista-pathways a,
.vista-portal-actions a,
.vista-document-list a {
  color: #2f7355;
  font-weight: 950;
}

.vista-pathways {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.vista-pathways article {
  background: #ffffff;
  border: 1px solid #d7e5da;
  border-radius: 8px;
  display: grid;
  gap: 10px;
  min-height: 230px;
  padding: clamp(20px, 3vw, 28px);
}

.vista-pathways article:nth-child(2) {
  background: #ecf7ef;
}

.vista-pathways article:nth-child(3) {
  background: #f5f0f6;
}

.vista-pathways article:nth-child(4) {
  background: #eef8f8;
}

.vista-pathways h2 {
  font-size: clamp(24px, 3vw, 32px);
}

.vista-welcome {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.62fr);
}

.vista-welcome-copy,
.vista-portal-card {
  border-radius: 8px;
  padding: clamp(24px, 4vw, 42px);
}

.vista-welcome-copy {
  background: #ffffff;
  border: 1px solid #d7e5da;
}

.vista-welcome-copy p {
  font-size: 18px;
  margin-top: 14px;
}

.vista-portal-card {
  background: #2f7355;
  color: #ffffff;
  display: grid;
}

.vista-portal-card span {
  color: #dff2e5;
}

.vista-portal-card h2 {
  color: #ffffff;
}

.vista-portal-card p {
  color: rgba(255, 255, 255, 0.82);
  margin-top: 12px;
}

.vista-portal-actions {
  align-self: end;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.vista-portal-actions a {
  background: #ffffff;
  border-radius: 8px;
  color: #252025;
  min-height: 44px;
  padding: 11px 13px;
}

.vista-schedule,
.vista-library {
  background: #ffffff;
  border: 1px solid #d7e5da;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 0.7fr) minmax(360px, 1.3fr);
  padding: clamp(24px, 4vw, 42px);
}

.vista-section-copy p {
  margin-top: 12px;
}

.vista-schedule-list,
.vista-document-list {
  display: grid;
  gap: 10px;
}

.vista-schedule-list article,
.vista-document-list article {
  border-radius: 8px;
  display: grid;
  padding: 16px;
}

.vista-schedule-list article {
  align-items: center;
  background: #f8fbf7;
  border: 1px solid #d7e5da;
  gap: 12px;
  grid-template-columns: 52px minmax(0, 1fr) minmax(180px, 0.45fr);
  min-height: 82px;
}

.vista-schedule-list article span {
  align-items: center;
  background: #8c3f67;
  border-radius: 8px;
  color: #ffffff;
  display: inline-flex;
  font-weight: 950;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.vista-schedule-list article strong {
  color: #252025;
  font-size: 18px;
  line-height: 1.15;
}

.vista-document-list article {
  background: #f8fbf7;
  border: 1px solid #d7e5da;
  gap: 6px 14px;
  grid-template-columns: minmax(140px, 0.3fr) minmax(0, 1fr) auto;
  min-height: 104px;
}

.vista-document-list h3 {
  font-size: 19px;
}

.vista-document-list p {
  grid-column: 2 / span 2;
}

.vista-document-list a {
  grid-column: 3;
  grid-row: 1;
}

.vista-contact {
  align-items: center;
  background: #252025;
  color: #ffffff;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 430px);
  padding: clamp(24px, 4vw, 38px);
}

.vista-contact span {
  color: #dff2e5;
}

.vista-contact h2 {
  color: #ffffff;
}

.vista-contact p {
  color: rgba(255, 255, 255, 0.78);
}

.vista-contact address {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  display: grid;
  font-style: normal;
  gap: 10px;
  padding: 18px;
}

.vista-contact address a,
.vista-contact address span {
  color: #ffffff;
  overflow-wrap: anywhere;
}

.vista-contact address a {
  font-size: 18px;
  font-weight: 900;
}

.vista-footer {
  align-items: center;
  background: #ffffff;
  border-top: 1px solid #d7e5da;
  color: #252025;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  justify-content: space-between;
  padding: 18px clamp(18px, 4vw, 56px);
}

.vista-footer span {
  color: #554b55;
}

.vista-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.vista-footer a {
  color: #2f7355;
  font-weight: 850;
}

.shore-site {
  background: #eef6f2;
  color: #1f2e2b;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  min-height: 100vh;
}

.shore-site a {
  color: #226f8f;
  text-decoration: none;
}

.shore-header {
  align-items: center;
  background: #fbfff9;
  border-bottom: 1px solid #d8dfcf;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(240px, 0.78fr) minmax(0, 1.34fr) auto;
  min-height: 76px;
  padding: 14px clamp(18px, 4vw, 58px);
  position: sticky;
  top: 0;
  z-index: 10;
}

.shore-brand {
  display: grid;
  gap: 2px;
}

.shore-brand strong {
  color: #1f2e2b;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.shore-brand span {
  color: #8b5d18;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.shore-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}

.shore-nav a,
.shore-login,
.shore-mobile-menu summary {
  border-radius: 8px;
  font-size: 14px;
  font-weight: 900;
  min-height: 40px;
  padding: 10px 11px;
}

.shore-nav a {
  color: #2d3d39;
}

.shore-nav a:hover {
  background: #e6efe4;
  color: #226f8f;
}

.shore-site .shore-login {
  background: #1f2e2b;
  color: #ffffff;
  white-space: nowrap;
}

.shore-mobile-menu {
  display: none;
}

.shore-mobile-menu summary {
  background: #e6efe4;
  color: #1f2e2b;
  cursor: pointer;
}

.shore-mobile-menu a {
  display: block;
  font-weight: 850;
  padding: 9px 0;
}

.shore-page {
  margin: 0 auto;
  max-width: 1240px;
  padding: clamp(18px, 3vw, 32px) clamp(18px, 4vw, 34px);
}

.shore-hero {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(340px, 0.74fr) minmax(0, 1fr);
}

.shore-photo,
.shore-hero-copy,
.shore-field-card,
.shore-alert,
.shore-field-guide,
.shore-records,
.shore-portal-card,
.shore-contact {
  border-radius: 8px;
}

.shore-photo {
  background: #dce8e2;
  border: 1px solid #c9d9d1;
  margin: 0;
  overflow: hidden;
}

.shore-photo img {
  height: 100%;
  min-height: 410px;
  object-fit: cover;
  width: 100%;
}

.shore-hero-copy {
  background: #fbfff9;
  border: 1px solid #d8dfcf;
  display: grid;
  min-height: 410px;
  padding: clamp(26px, 5vw, 48px);
}

.shore-kicker,
.shore-field-card span,
.shore-alert span,
.shore-field-guide small,
.shore-records-copy span,
.shore-document-list span,
.shore-portal-card span,
.shore-contact span {
  color: #a85332;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.shore-hero-copy h1 {
  color: #1f2e2b;
  font-size: clamp(34px, 4.4vw, 58px);
  line-height: 1.02;
  margin: 0;
  overflow-wrap: anywhere;
}

.shore-hero-copy > p:not(.shore-kicker) {
  color: #53635c;
  font-size: clamp(18px, 2vw, 21px);
  line-height: 1.55;
  margin: 16px 0 0;
}

.shore-hero-actions {
  align-self: end;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

.shore-hero-actions .btn-primary {
  background: #226f8f;
  border-color: #226f8f;
  color: #ffffff;
}

.shore-hero-actions .btn-secondary {
  background: #f8eac9;
  border-color: #d3a851;
  color: #1f2e2b;
}

.shore-field-card {
  align-items: center;
  background: #1f2e2b;
  color: #ffffff;
  display: grid;
  gap: 14px;
  grid-column: 1 / -1;
  grid-template-columns: minmax(120px, 0.18fr) minmax(220px, 0.34fr) minmax(0, 1fr);
  padding: 18px clamp(18px, 3vw, 28px);
}

.shore-field-card span {
  color: #f8d277;
}

.shore-field-card strong {
  font-size: clamp(20px, 3vw, 28px);
  line-height: 1.12;
}

.shore-field-card p {
  color: rgba(255, 255, 255, 0.76);
  line-height: 1.55;
  margin: 0;
}

.shore-alert,
.shore-field-guide,
.shore-records,
.shore-portal-contact {
  margin-top: clamp(18px, 3vw, 28px);
}

.shore-alert {
  align-items: center;
  background: #f8eac9;
  border: 1px solid #dec37b;
  border-left: 7px solid #d3a851;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(250px, 0.42fr) minmax(0, 1fr) auto;
  padding: 20px;
}

.shore-alert h2,
.shore-field-guide h2,
.shore-records h2,
.shore-document-list h3,
.shore-portal-card h2,
.shore-contact h2 {
  color: #1f2e2b;
  line-height: 1.1;
  margin: 0;
}

.shore-alert h2,
.shore-records h2,
.shore-portal-card h2,
.shore-contact h2 {
  font-size: clamp(25px, 3vw, 38px);
}

.shore-alert p,
.shore-field-guide p,
.shore-records p,
.shore-portal-card p,
.shore-contact p {
  color: #53635c;
  line-height: 1.6;
  margin: 0;
}

.shore-alert a,
.shore-record-actions a,
.shore-document-list a,
.shore-portal-card a {
  color: #226f8f;
  font-weight: 950;
}

.shore-field-guide {
  background: #fbfff9;
  border: 1px solid #d8dfcf;
  overflow: hidden;
}

.shore-field-guide article {
  align-items: center;
  display: grid;
  gap: 18px;
  grid-template-columns: 56px minmax(240px, 0.36fr) minmax(0, 1fr);
  min-height: 128px;
  padding: 20px clamp(18px, 3vw, 28px);
}

.shore-field-guide article + article {
  border-top: 1px solid #d8dfcf;
}

.shore-field-guide article:nth-child(2n) {
  background: #eef6f2;
}

.shore-field-guide article > span {
  align-items: center;
  background: #226f8f;
  border-radius: 8px;
  color: #ffffff;
  display: inline-flex;
  font-weight: 950;
  height: 46px;
  justify-content: center;
  width: 46px;
}

.shore-field-guide h2 {
  font-size: clamp(23px, 3vw, 31px);
  margin-top: 4px;
}

.shore-records {
  background: #1f2e2b;
  color: #ffffff;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 0.72fr) minmax(360px, 1.28fr);
  padding: clamp(24px, 4vw, 42px);
}

.shore-records h2 {
  color: #ffffff;
}

.shore-records-copy p,
.shore-document-list p {
  color: rgba(255, 255, 255, 0.76);
}

.shore-record-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

.shore-record-actions a {
  background: #f8d277;
  border-radius: 8px;
  color: #1f2e2b;
  min-height: 42px;
  padding: 10px 13px;
}

.shore-document-list {
  display: grid;
  gap: 10px;
}

.shore-document-list article {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  display: grid;
  gap: 6px 14px;
  grid-template-columns: minmax(130px, 0.28fr) minmax(0, 1fr) auto;
  padding: 15px;
}

.shore-document-list span {
  color: #f8d277;
}

.shore-document-list h3 {
  color: #ffffff;
  font-size: 18px;
}

.shore-document-list p {
  grid-column: 2 / span 2;
}

.shore-document-list a {
  color: #f8d277;
  grid-column: 3;
  grid-row: 1;
}

.shore-portal-contact {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 0.58fr) minmax(0, 1fr);
}

.shore-portal-card,
.shore-contact {
  padding: clamp(24px, 4vw, 38px);
}

.shore-portal-card {
  background: #e6efe4;
  border: 1px solid #cbdcc8;
  display: grid;
}

.shore-portal-card p {
  margin-top: 12px;
}

.shore-portal-card a {
  align-self: end;
  margin-top: 20px;
}

.shore-contact {
  background: #fbfff9;
  border: 1px solid #d8dfcf;
  display: grid;
  gap: 12px;
}

.shore-contact address {
  background: #eef6f2;
  border: 1px solid #d8dfcf;
  border-radius: 8px;
  display: grid;
  font-style: normal;
  gap: 10px;
  margin-top: 4px;
  padding: 18px;
}

.shore-contact address a,
.shore-contact address span {
  color: #1f2e2b;
  overflow-wrap: anywhere;
}

.shore-contact address a {
  font-size: 18px;
  font-weight: 900;
}

.shore-footer {
  align-items: center;
  background: #fbfff9;
  border-top: 1px solid #d8dfcf;
  color: #1f2e2b;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  justify-content: space-between;
  padding: 18px clamp(18px, 4vw, 56px);
}

.shore-footer span {
  color: #53635c;
}

.shore-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.shore-footer a {
  color: #226f8f;
  font-weight: 850;
}

.atelier-site {
  background: #f7f9f7;
  color: #191716;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  min-height: 100vh;
}

.atelier-site a {
  color: #0d5f59;
  text-decoration: none;
}

.atelier-header {
  align-items: center;
  background: #ffffff;
  border-bottom: 1px solid #d8dfdc;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(250px, 0.76fr) minmax(0, 1.3fr) auto;
  min-height: 78px;
  padding: 14px clamp(18px, 4vw, 58px);
  position: sticky;
  top: 0;
  z-index: 10;
}

.atelier-brand {
  display: grid;
  gap: 3px;
}

.atelier-brand span,
.atelier-kicker,
.atelier-arrival-strip span,
.atelier-notice span,
.atelier-service-board span,
.atelier-ledger-copy span,
.atelier-document-stack span,
.atelier-portal-panel span,
.atelier-contact-panel span {
  color: #b95743;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.atelier-brand strong {
  color: #191716;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.atelier-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.atelier-nav a,
.atelier-login,
.atelier-mobile-menu summary {
  border-radius: 8px;
  font-size: 14px;
  font-weight: 900;
  min-height: 40px;
  padding: 10px 11px;
}

.atelier-nav a {
  color: #302d2a;
}

.atelier-nav a:hover {
  background: #ecf3f1;
  color: #0d5f59;
}

.atelier-site .atelier-login {
  background: #191716;
  color: #ffffff;
  white-space: nowrap;
}

.atelier-mobile-menu {
  display: none;
}

.atelier-mobile-menu summary {
  background: #ecf3f1;
  color: #191716;
  cursor: pointer;
}

.atelier-mobile-menu a {
  display: block;
  font-weight: 850;
  padding: 9px 0;
}

.atelier-page {
  margin: 0 auto;
  max-width: 1260px;
  padding: clamp(18px, 2vw, 22px) clamp(18px, 4vw, 34px);
}

.atelier-arrival {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(360px, 0.88fr) minmax(0, 1.12fr);
}

.atelier-copy,
.atelier-visual,
.atelier-arrival-strip,
.atelier-notice,
.atelier-service-board,
.atelier-ledger,
.atelier-portal-panel,
.atelier-contact-panel {
  border-radius: 8px;
}

.atelier-copy {
  background: #ffffff;
  border: 1px solid #d8dfdc;
  display: grid;
  min-height: clamp(330px, 32vw, 410px);
  padding: clamp(24px, 4vw, 38px);
}

.atelier-copy h1 {
  color: #191716;
  font-size: clamp(34px, 3.5vw, 48px);
  line-height: 1.02;
  margin: 0;
  overflow-wrap: anywhere;
}

.atelier-copy > p:not(.atelier-kicker) {
  color: #5b5753;
  font-size: clamp(18px, 2vw, 21px);
  line-height: 1.55;
  margin: 16px 0 0;
}

.atelier-actions {
  align-self: end;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

.atelier-actions .btn-primary {
  background: #0d5f59;
  border-color: #0d5f59;
  color: #ffffff;
}

.atelier-actions .btn-secondary {
  background: #f4d18a;
  border-color: #c99a3f;
  color: #191716;
}

.atelier-visual {
  background: #dbe5e2;
  border: 1px solid #cdd8d5;
  height: clamp(330px, 32vw, 410px);
  margin: 0;
  min-height: 0;
  overflow: hidden;
  position: relative;
}

.atelier-visual img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.atelier-visual figcaption {
  background: rgba(25, 23, 22, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  bottom: 16px;
  color: #ffffff;
  display: grid;
  gap: 4px;
  left: 16px;
  max-width: calc(100% - 32px);
  padding: 13px 15px;
  position: absolute;
}

.atelier-visual figcaption span {
  color: #f4d18a;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.atelier-visual figcaption strong {
  font-size: 16px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.atelier-arrival-strip {
  background: #191716;
  color: #ffffff;
  display: grid;
  gap: 1px;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
}

.atelier-arrival-strip article {
  background: #24211f;
  display: grid;
  gap: 6px;
  min-height: 94px;
  padding: 14px;
}

.atelier-arrival-strip span {
  color: #f4d18a;
}

.atelier-arrival-strip strong {
  font-size: 20px;
  line-height: 1.1;
}

.atelier-arrival-strip p,
.atelier-ledger-copy p,
.atelier-document-stack p {
  color: rgba(255, 255, 255, 0.74);
}

.atelier-arrival-strip p,
.atelier-notice p,
.atelier-service-board p,
.atelier-ledger p,
.atelier-portal-panel p,
.atelier-contact-panel p {
  line-height: 1.58;
  margin: 0;
}

.atelier-arrival-strip p {
  font-size: 14px;
  line-height: 1.38;
}

.atelier-notice,
.atelier-service-board,
.atelier-ledger,
.atelier-portal-contact {
  margin-top: clamp(18px, 3vw, 28px);
}

.atelier-notice {
  align-items: center;
  background: #ecf3f1;
  border: 1px solid #cbdad6;
  border-right: 7px solid #0d5f59;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(150px, 0.22fr) minmax(250px, 0.38fr) minmax(0, 1fr) auto;
  padding: 20px;
}

.atelier-notice h2,
.atelier-service-board h2,
.atelier-ledger h2,
.atelier-document-stack h3,
.atelier-portal-panel h2,
.atelier-contact-panel h2 {
  color: #191716;
  line-height: 1.1;
  margin: 0;
}

.atelier-notice h2,
.atelier-ledger h2,
.atelier-portal-panel h2,
.atelier-contact-panel h2 {
  font-size: clamp(25px, 3vw, 38px);
}

.atelier-notice p,
.atelier-service-board p,
.atelier-portal-panel p,
.atelier-contact-panel p {
  color: #5b5753;
}

.atelier-notice a,
.atelier-ledger-actions a,
.atelier-document-stack a,
.atelier-portal-panel a {
  color: #0d5f59;
  font-weight: 950;
}

.atelier-service-board {
  background: #ffffff;
  border: 1px solid #d8dfdc;
  overflow: hidden;
}

.atelier-service-board article {
  align-items: center;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(125px, 0.22fr) minmax(240px, 0.34fr) minmax(0, 1fr);
  min-height: 132px;
  padding: 22px clamp(18px, 3vw, 30px);
}

.atelier-service-board article + article {
  border-top: 1px solid #d8dfdc;
}

.atelier-service-board article:nth-child(2n) {
  background: #f2f6f5;
}

.atelier-service-board h2 {
  font-size: clamp(23px, 3vw, 32px);
}

.atelier-ledger {
  background: #191716;
  color: #ffffff;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 0.64fr) minmax(370px, 1.36fr);
  padding: clamp(24px, 4vw, 42px);
}

.atelier-ledger h2 {
  color: #ffffff;
}

.atelier-ledger-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

.atelier-ledger-actions a {
  background: #f4d18a;
  border-radius: 8px;
  color: #191716;
  min-height: 42px;
  padding: 10px 13px;
}

.atelier-document-stack {
  display: grid;
  gap: 10px;
}

.atelier-document-stack article {
  align-items: start;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(116px, 0.24fr) minmax(0, 1fr) auto;
  padding: 15px;
}

.atelier-document-stack span {
  color: #f4d18a;
}

.atelier-document-stack h3 {
  color: #ffffff;
  font-size: 18px;
}

.atelier-document-stack a {
  color: #f4d18a;
}

.atelier-portal-contact {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 0.58fr) minmax(0, 1fr);
}

.atelier-portal-panel,
.atelier-contact-panel {
  padding: clamp(24px, 4vw, 38px);
}

.atelier-portal-panel {
  background: #fff7e4;
  border: 1px solid #e5c77f;
  display: grid;
}

.atelier-portal-panel p {
  margin-top: 12px;
}

.atelier-portal-panel a {
  align-self: end;
  margin-top: 20px;
}

.atelier-contact-panel {
  background: #ffffff;
  border: 1px solid #d8dfdc;
  display: grid;
  gap: 12px;
}

.atelier-contact-panel address {
  background: #f2f6f5;
  border: 1px solid #d8dfdc;
  border-radius: 8px;
  display: grid;
  font-style: normal;
  gap: 10px;
  margin-top: 4px;
  padding: 18px;
}

.atelier-contact-panel address a,
.atelier-contact-panel address span {
  color: #191716;
  overflow-wrap: anywhere;
}

.atelier-contact-panel address a {
  font-size: 18px;
  font-weight: 900;
}

.atelier-footer {
  align-items: center;
  background: #ffffff;
  border-top: 1px solid #d8dfdc;
  color: #191716;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  justify-content: space-between;
  padding: 18px clamp(18px, 4vw, 56px);
}

.atelier-footer span {
  color: #5b5753;
}

.atelier-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.atelier-footer a {
  color: #0d5f59;
  font-weight: 850;
}

.clerk-site {
  background: #f6f7f2;
  color: #202124;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  min-height: 100vh;
}

.clerk-site a {
  color: #315f7d;
  text-decoration: none;
}

.clerk-header {
  align-items: center;
  background: #fffef9;
  border-bottom: 1px solid #d7d9d0;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1.3fr) auto;
  min-height: 74px;
  padding: 12px clamp(18px, 4vw, 56px);
  position: sticky;
  top: 0;
  z-index: 10;
}

.clerk-brand {
  display: grid;
  gap: 3px;
}

.clerk-brand strong {
  color: #202124;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.clerk-brand span,
.clerk-kicker,
.clerk-docket > span,
.clerk-notice > span,
.clerk-action-board span,
.clerk-records-copy span,
.clerk-document-list span,
.clerk-contact span {
  color: #b3261e;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.clerk-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}

.clerk-nav a,
.clerk-login,
.clerk-mobile-menu summary {
  border-radius: 8px;
  font-size: 14px;
  font-weight: 900;
  min-height: 40px;
  padding: 10px 11px;
}

.clerk-nav a {
  color: #343735;
}

.clerk-nav a:hover {
  background: #e7f4ec;
  color: #24526d;
}

.clerk-site .clerk-login {
  background: #315f7d;
  color: #ffffff;
  white-space: nowrap;
}

.clerk-mobile-menu {
  display: none;
}

.clerk-mobile-menu summary {
  background: #e7f4ec;
  color: #202124;
  cursor: pointer;
}

.clerk-mobile-menu a {
  display: block;
  font-weight: 850;
  padding: 9px 0;
}

.clerk-page {
  margin: 0 auto;
  max-width: 1280px;
  padding: clamp(16px, 2vw, 22px) clamp(18px, 4vw, 34px);
}

.clerk-hero {
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(330px, 0.84fr) minmax(320px, 0.88fr) minmax(255px, 0.48fr);
}

.clerk-copy,
.clerk-photo,
.clerk-docket,
.clerk-notice,
.clerk-action-board,
.clerk-records,
.clerk-contact {
  border-radius: 8px;
}

.clerk-copy {
  background: #fffef9;
  border: 1px solid #d7d9d0;
  display: grid;
  min-height: 340px;
  padding: 28px;
}

.clerk-copy h1 {
  color: #202124;
  font-size: 42px;
  line-height: 1.04;
  margin: 0;
  overflow-wrap: anywhere;
}

.clerk-copy > p:not(.clerk-kicker) {
  color: #4f5552;
  font-size: 18px;
  line-height: 1.55;
  margin: 14px 0 0;
}

.clerk-actions {
  align-self: end;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.clerk-actions .btn-primary {
  background: #b3261e;
  border-color: #b3261e;
  color: #ffffff;
}

.clerk-actions .btn-secondary {
  background: #ffd166;
  border-color: #d8a73f;
  color: #202124;
}

.clerk-photo {
  background: #dce4df;
  border: 1px solid #cfd7d2;
  height: 340px;
  margin: 0;
  overflow: hidden;
  position: relative;
}

.clerk-photo img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.clerk-photo figcaption {
  background: rgba(32, 33, 36, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  bottom: 14px;
  color: #ffffff;
  display: grid;
  gap: 4px;
  left: 14px;
  max-width: calc(100% - 28px);
  padding: 12px 14px;
  position: absolute;
}

.clerk-photo figcaption span {
  color: #ffd166;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.clerk-photo figcaption strong {
  font-size: 15px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.clerk-docket {
  background: #e7f4ec;
  border: 1px solid #bed9ca;
  display: grid;
  min-height: 340px;
  padding: 22px;
}

.clerk-docket h2 {
  color: #202124;
  font-size: 25px;
  line-height: 1.08;
  margin: 6px 0 0;
}

.clerk-docket dl {
  align-self: end;
  display: grid;
  gap: 9px;
  margin: 20px 0 0;
}

.clerk-docket dl div {
  background: #fffef9;
  border: 1px solid #cdd8cf;
  border-radius: 8px;
  display: grid;
  gap: 4px;
  padding: 12px;
}

.clerk-docket dt {
  color: #315f7d;
  font-size: 12px;
  font-weight: 950;
  margin: 0;
  text-transform: uppercase;
}

.clerk-docket dd {
  color: #202124;
  font-weight: 850;
  line-height: 1.25;
  margin: 0;
}

.clerk-notice,
.clerk-records,
.clerk-contact {
  margin-top: 16px;
}

.clerk-notice {
  align-items: center;
  background: #fff5d4;
  border: 1px solid #e5c872;
  border-left: 7px solid #b3261e;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(120px, 0.18fr) minmax(0, 1fr) auto;
  padding: 18px 20px;
}

.clerk-notice h2,
.clerk-action-board h2,
.clerk-records h2,
.clerk-contact h2 {
  color: #202124;
  line-height: 1.1;
  margin: 0;
}

.clerk-notice h2,
.clerk-records h2,
.clerk-contact h2 {
  font-size: 28px;
}

.clerk-notice p,
.clerk-action-board p,
.clerk-records p,
.clerk-contact p {
  color: #4f5552;
  line-height: 1.56;
  margin: 0;
}

.clerk-notice a,
.clerk-action-board a,
.clerk-record-actions a,
.clerk-document-list a {
  color: #315f7d;
  font-weight: 950;
}

.clerk-action-board {
  background: #fffef9;
  border: 1px solid #d7d9d0;
  margin-top: 16px;
  overflow: hidden;
}

.clerk-action-board article {
  align-items: center;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(112px, 0.18fr) minmax(0, 1fr) auto;
  min-height: 122px;
  padding: 20px clamp(18px, 3vw, 28px);
}

.clerk-action-board article + article {
  border-top: 1px solid #d7d9d0;
}

.clerk-action-board article:nth-child(2n) {
  background: #f1f4ef;
}

.clerk-action-board h2 {
  font-size: 26px;
}

.clerk-action-board a {
  background: #e7f4ec;
  border: 1px solid #bed9ca;
  border-radius: 8px;
  color: #24526d;
  min-height: 42px;
  padding: 10px 12px;
  text-align: center;
  white-space: nowrap;
}

.clerk-records {
  background: #202124;
  color: #ffffff;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 0.56fr) minmax(360px, 1.44fr);
  padding: 28px;
}

.clerk-records h2 {
  color: #ffffff;
}

.clerk-records p {
  color: rgba(255, 255, 255, 0.76);
  margin-top: 12px;
}

.clerk-records-copy span,
.clerk-document-list span {
  color: #ffd166;
}

.clerk-record-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.clerk-record-actions a {
  background: #ffd166;
  border-radius: 8px;
  color: #202124;
  min-height: 42px;
  padding: 10px 12px;
}

.clerk-document-list {
  display: grid;
  gap: 10px;
}

.clerk-document-list article {
  align-items: start;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(118px, 0.24fr) minmax(0, 1fr) auto;
  padding: 14px;
}

.clerk-document-list h3 {
  color: #ffffff;
  font-size: 18px;
  line-height: 1.18;
  margin: 0;
}

.clerk-document-list p {
  margin: 4px 0 0;
}

.clerk-document-list a {
  color: #ffd166;
}

.clerk-contact {
  align-items: start;
  background: #fffef9;
  border: 1px solid #d7d9d0;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 0.8fr) minmax(300px, 0.6fr);
  padding: 26px;
}

.clerk-contact address {
  background: #eef3f1;
  border: 1px solid #d3ddda;
  border-radius: 8px;
  display: grid;
  font-style: normal;
  gap: 10px;
  padding: 18px;
}

.clerk-contact address a,
.clerk-contact address span {
  color: #202124;
  overflow-wrap: anywhere;
}

.clerk-contact address a {
  font-size: 18px;
  font-weight: 900;
}

.clerk-footer {
  align-items: center;
  background: #fffef9;
  border-top: 1px solid #d7d9d0;
  color: #202124;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  justify-content: space-between;
  padding: 18px clamp(18px, 4vw, 56px);
}

.clerk-footer span {
  color: #4f5552;
}

.clerk-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.clerk-footer a {
  color: #315f7d;
  font-weight: 850;
}

.website-content-mini-preview {
  display: grid;
  gap: 14px;
}

.website-content-mini-preview article {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 16px;
}

.website-content-mini-preview span {
  color: var(--teal-dark);
  display: block;
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.website-content-mini-preview strong {
  display: block;
  font-size: 18px;
  line-height: 1.2;
}

.website-content-mini-preview p {
  color: var(--muted);
  margin: 6px 0 0;
}

.website-page-route-grid {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.website-page-route-grid article,
.contact-submission-card {
  background: #f7faf8;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 16px;
}

.website-page-route-grid span,
.contact-submission-card span,
.public-site-eyebrow,
.public-document-list span,
.public-contact-details address span {
  color: var(--teal-dark);
  display: block;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.website-page-route-grid strong {
  display: block;
  font-size: 17px;
  line-height: 1.25;
  margin: 4px 0 8px;
}

.section-heading-with-action {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: space-between;
}

.contact-submission-list {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.contact-submission-card {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.8fr);
}

.contact-submission-card h3 {
  font-size: 21px;
  margin: 4px 0 6px;
}

.contact-submission-card p {
  color: var(--muted);
  margin: 0;
}

.contact-submission-card dl {
  display: grid;
  gap: 10px;
  margin: 0;
}

.contact-submission-card dl div {
  border-bottom: 1px solid var(--line);
  padding-bottom: 8px;
}

.contact-submission-card dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.contact-submission-card dd {
  margin: 2px 0 0;
}

.empty-state {
  background: #f7faf8;
  border: 1px dashed #bfd0c8;
  border-radius: 8px;
  padding: 22px;
}

.empty-state h3 {
  margin: 0 0 6px;
}

.empty-state p {
  color: var(--muted);
  margin: 0;
}

.public-site-page {
  --public-bg: #f5f7f3;
  --public-ink: #172421;
  --public-muted: #596965;
  --public-line: #d8e1dc;
  --public-accent: #237066;
  --public-accent-dark: #143f39;
  --public-panel: #ffffff;
  background: var(--public-bg);
  color: var(--public-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.public-site-page-condo_highrise {
  --public-bg: #f4f7fb;
  --public-ink: #162333;
  --public-muted: #566677;
  --public-line: #d5dee9;
  --public-accent: #315f86;
  --public-accent-dark: #1d3c57;
}

.public-site-page-gated_masterplanned {
  --public-bg: #f6f5ef;
  --public-ink: #1f281d;
  --public-muted: #626b5d;
  --public-line: #ddd9ca;
  --public-accent: #4c6f3c;
  --public-accent-dark: #2f4528;
}

.public-site-page-townhome_row {
  --public-bg: #f8f5f2;
  --public-ink: #30231e;
  --public-muted: #705f58;
  --public-line: #e1d8d0;
  --public-accent: #8b4f34;
  --public-accent-dark: #573323;
}

.public-site-page-active_adult_55 {
  --public-bg: #f5f6fb;
  --public-ink: #252538;
  --public-muted: #626178;
  --public-line: #dadbed;
  --public-accent: #6c5d96;
  --public-accent-dark: #40375e;
}

.public-site-page-lake_rural {
  --public-bg: #f1f7f5;
  --public-ink: #1c2d2a;
  --public-muted: #5a6d68;
  --public-line: #cfe0dc;
  --public-accent: #2f746f;
  --public-accent-dark: #1d4845;
}

.public-site-page-luxury_resort_condo {
  --public-bg: #f8f7f3;
  --public-ink: #25231e;
  --public-muted: #6a655b;
  --public-line: #dfdbd1;
  --public-accent: #7b6240;
  --public-accent-dark: #4d3e29;
}

.public-site-page-simple_civic {
  --public-bg: #f7f8f6;
  --public-ink: #202622;
  --public-muted: #5d665f;
  --public-line: #d9dfd8;
  --public-accent: #315f7d;
  --public-accent-dark: #213f54;
}

.public-site-header {
  align-items: center;
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid var(--public-line);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  padding: 16px clamp(18px, 4vw, 56px);
  position: sticky;
  top: 0;
  z-index: 20;
}

.public-site-brand {
  color: var(--public-ink);
  display: grid;
  gap: 2px;
  min-width: min(280px, 52vw);
  text-decoration: none;
}

.public-site-brand span {
  font-size: 20px;
  font-weight: 900;
  line-height: 1.1;
}

.public-site-brand small {
  color: var(--public-muted);
  font-size: 13px;
  font-weight: 700;
}

.public-site-nav {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.public-site-nav a,
.public-site-button {
  align-items: center;
  border-radius: 8px;
  display: inline-flex;
  font-weight: 850;
  justify-content: center;
  min-height: 42px;
  padding: 10px 14px;
  text-decoration: none;
}

.public-site-nav a {
  color: var(--public-ink);
}

.public-site-nav a[aria-current="page"] {
  background: #e9f2ef;
  color: var(--public-accent-dark);
}

.public-site-nav .public-site-login,
.public-site-button {
  background: var(--public-accent);
  color: #ffffff;
}

.public-site-mobile-menu summary {
  background: var(--public-accent);
  border-radius: 8px;
  color: #ffffff;
  cursor: pointer;
  font-weight: 900;
  min-height: 42px;
  padding: 10px 12px;
}

.public-site-mobile-menu .community-mobile-panel a {
  color: var(--public-ink);
  font-weight: 850;
  padding: 10px 12px;
}

.public-site-mobile-menu .community-mobile-panel .public-site-login {
  background: var(--public-accent);
  color: #ffffff;
  justify-content: center;
}

.public-site-subhero {
  display: grid;
  gap: clamp(18px, 4vw, 42px);
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
  margin: 0 auto;
  max-width: 1180px;
  padding: clamp(44px, 7vw, 82px) clamp(18px, 4vw, 28px) clamp(28px, 5vw, 54px);
}

.public-site-subhero > div {
  display: grid;
  gap: 14px;
}

.public-site-subhero > div > p,
.public-site-subhero aside span {
  color: var(--public-accent-dark);
  font-size: 13px;
  font-weight: 900;
  margin: 0;
  text-transform: uppercase;
}

.public-site-subhero h1 {
  font-size: clamp(38px, 7vw, 72px);
  line-height: 0.98;
  margin: 0;
  max-width: 840px;
}

.public-site-lede {
  color: var(--public-muted);
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.55;
  max-width: 860px;
}

.public-site-subhero aside,
.public-site-main-copy,
.public-site-action-grid article,
.public-document-list article,
.public-contact-details,
.public-contact-form {
  background: var(--public-panel);
  border: 1px solid var(--public-line);
  border-radius: 8px;
}

.public-site-subhero aside {
  align-self: start;
  display: grid;
  gap: 10px;
  padding: 22px;
}

.public-site-subhero aside strong {
  font-size: 24px;
  line-height: 1.1;
}

.public-site-subhero aside p {
  color: var(--public-muted);
  margin: 0;
}

.public-site-content {
  margin: 0 auto;
  max-width: 1180px;
  padding: 0 clamp(18px, 4vw, 28px) clamp(44px, 7vw, 82px);
}

.public-site-about-layout,
.public-contact-layout {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1fr);
}

.public-site-main-copy,
.public-contact-details,
.public-contact-form {
  padding: clamp(22px, 4vw, 34px);
}

.public-site-main-copy h2,
.public-site-section-heading h2,
.public-contact-details h2 {
  font-size: clamp(26px, 4vw, 42px);
  line-height: 1.1;
  margin: 8px 0 12px;
}

.public-site-main-copy p,
.public-site-section-heading p,
.public-contact-details p,
.public-site-portal-note p {
  color: var(--public-muted);
  line-height: 1.6;
}

.public-site-action-grid,
.public-document-list {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.public-site-action-grid article,
.public-document-list article {
  display: grid;
  gap: 8px;
  padding: 20px;
}

.public-site-action-grid h3,
.public-document-list h3 {
  font-size: 22px;
  line-height: 1.15;
  margin: 0;
}

.public-site-action-grid p,
.public-document-list p {
  color: var(--public-muted);
  line-height: 1.55;
  margin: 0;
}

.public-site-section-heading {
  margin-bottom: 18px;
  max-width: 760px;
}

.public-site-empty-panel {
  grid-column: 1 / -1;
}

.public-contact-layout {
  grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1fr);
}

.public-contact-details address {
  border-top: 1px solid var(--public-line);
  display: grid;
  font-style: normal;
  gap: 8px;
  margin-top: 18px;
  padding-top: 18px;
}

.public-contact-details address a {
  color: var(--public-accent-dark);
  font-weight: 850;
  text-decoration: none;
}

.public-site-portal-note {
  background: #f4f8f6;
  border: 1px solid var(--public-line);
  border-radius: 8px;
  margin-top: 18px;
  padding: 16px;
}

.public-site-portal-note strong {
  display: block;
  font-size: 18px;
}

.public-contact-form {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.public-contact-form .field {
  display: grid;
  gap: 6px;
}

.public-contact-form .field-full,
.public-contact-form .errorlist,
.public-contact-form .public-site-button {
  grid-column: 1 / -1;
}

.public-contact-form label {
  color: var(--public-ink);
  font-size: 13px;
  font-weight: 900;
}

.public-contact-form input,
.public-contact-form select,
.public-contact-form textarea {
  background: #ffffff;
  border: 1px solid var(--public-line);
  border-radius: 8px;
  color: var(--public-ink);
  font: inherit;
  min-height: 44px;
  padding: 11px 12px;
  width: 100%;
}

.public-contact-form textarea {
  min-height: 140px;
  resize: vertical;
}

.public-site-footer {
  align-items: start;
  background: var(--public-ink);
  color: #ffffff;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  padding: 28px clamp(18px, 4vw, 56px) 0;
}

.public-site-footer > div {
  display: grid;
  gap: 4px;
}

.public-site-footer span,
.public-site-footer .code-expression-credit {
  color: rgba(255, 255, 255, 0.76);
}

.public-site-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}

.public-site-footer a {
  color: #ffffff;
  font-weight: 850;
}

.public-site-footer .code-expression-credit {
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  grid-column: 1 / -1;
  margin-top: 8px;
  padding: 16px 0;
  text-align: center;
}

.community-mobile-panel a {
  display: flex;
  font-weight: 850;
  justify-content: flex-start;
  padding: 10px 12px;
}

@media (max-width: 900px) {
  .contact-submission-card,
  .public-site-header,
  .public-site-subhero,
  .public-site-about-layout,
  .public-contact-layout,
  .public-site-footer {
    grid-template-columns: 1fr;
  }

  .public-site-header {
    align-items: start;
    display: grid;
  }

  .public-site-nav,
  .public-site-footer nav {
    justify-content: flex-start;
  }

  .public-site-action-grid,
  .public-document-list,
  .public-contact-form {
    grid-template-columns: 1fr;
  }

  .public-site-subhero {
    padding-top: 36px;
  }

  .public-site-footer {
    padding-top: 24px;
  }

  .nav-links {
    gap: 4px;
  }

  .nav-link {
    padding-left: 10px;
    padding-right: 10px;
  }

  .nav-cta {
    padding-left: 14px;
    padding-right: 14px;
  }

  .feature-grid,
  .auth-shell,
  .operating-layout,
  .launch-snapshot,
  .outcome-grid,
  .step-grid,
  .included-grid,
  .pricing-hero,
  .conversion-strip-inner,
  .comparison-grid,
  .conversion-grid,
  .features-hero-inner,
  .features-ai-grid,
  .features-proof-grid,
  .about-hero-inner,
  .contact-hero-inner,
  .about-story-grid,
  .about-builder-section,
  .about-contact-inner,
  .contact-workflow,
  .trust-grid,
  .contact-card-grid,
  .footer-grid,
  .ai-workflow,
  .faq-grid,
  .final-cta-inner,
  .signup-layout,
  .pricing-grid,
  .stats-grid,
  .workspace-grid,
  .resident-action-grid,
  .resident-unit-grid,
  .resident-charge-summary,
  .resident-two-column,
  .command-hero,
  .templates-hero-inner,
  .template-evaluator-inner,
  .templates-showcase,
  .template-proof-grid,
  .access-policy-grid,
  .import-roadmap,
  .import-summary-grid,
  .announcement-check-grid,
  .workspace-focus,
  .guardrail-panel,
  .settings-two-column,
  .ai-manual-layout,
  .ai-manual-steps,
  .ai-manual-formula,
  .ai-manual-two-column,
  .ai-manual-workflow,
  .ai-manual-review-list,
  .ai-manual-prompts,
  .launch-guide,
  .workflow-groups,
  .activity-strip,
  .media-row,
  .theme-grid,
  .template-gallery-grid,
  .template-card,
  .template-bottom-inner,
  .hoa-band,
  .amenity-panels,
  .large-info-list,
  .role-grid,
  .board-standard-grid,
  .simple-panels,
  .editorial-sections,
  .condo-layout,
  .split-hero,
  .quick-action-hero,
  .accessible-hero,
  .civic-notice,
  .hoa-feature-row,
  .hoa-doc-section,
  .amenity-feature,
  .condo-notice-board,
  .townhome-schedule,
  .accessible-events,
  .lake-document-strip,
  .luxury-service-panel,
  .civic-records,
  .asymmetric-blocks {
    grid-template-columns: 1fr;
  }

  .ai-manual-nav {
    position: static;
  }

  .features-hero-inner,
  .features-ai-grid,
  .features-proof-grid {
    align-items: start;
  }

  .features-workflow-board article {
    grid-template-columns: minmax(145px, 0.28fr) minmax(0, 1fr);
  }

  .features-workflow-board article a {
    grid-column: 2;
    justify-self: start;
  }

  .features-command-list {
    grid-template-columns: 1fr;
  }

  .features-command-list article + article {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .final-cta-actions {
    justify-content: flex-start;
  }

  .about-contact-actions {
    justify-content: flex-start;
  }

  .dashboard-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .activation-panel {
    grid-template-columns: 1fr;
  }

  .account-action-grid {
    grid-template-columns: 1fr;
  }

  .section-heading-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .dashboard-scoreboard {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-map,
  .readiness-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .score-row:nth-child(2) {
    border-top: 0;
  }

  .operating-copy {
    position: static;
  }

  .template-proof-grid article {
    border-left: 0;
    border-top: 1px solid #cae6e0;
  }

  .template-proof-grid article:first-child {
    border-top: 0;
  }

  .templates-showcase-card:nth-child(2),
  .templates-showcase-card:nth-child(3) {
    margin-top: 0;
  }

  .template-card-media img {
    min-height: 240px;
  }

  .template-bottom-inner {
    align-items: start;
  }

  .template-bottom-inner .btn {
    justify-self: start;
  }

  .hoa-demo-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .suburban-hero-inner,
  .suburban-action-grid,
  .suburban-about,
  .suburban-documents,
  .suburban-flow,
  .suburban-contact,
  .suburban-document-list article {
    grid-template-columns: 1fr;
  }

  .tower-header,
  .tower-hero,
  .tower-status,
  .tower-notice-ledger,
  .tower-document-desk,
  .tower-contact-dock {
    grid-template-columns: 1fr;
  }

  .haven-header,
  .haven-hero,
  .haven-announcement,
  .haven-records,
  .haven-contact {
    grid-template-columns: 1fr;
  }

  .haven-header {
    align-items: start;
  }

  .haven-nav {
    justify-content: flex-start;
  }

  .haven-hero-copy,
  .haven-photo img {
    min-height: 320px;
  }

  .haven-pass {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .haven-guide article {
    grid-template-columns: minmax(220px, 0.4fr) minmax(0, 1fr);
  }

  .haven-guide article a {
    grid-column: 2;
    justify-self: start;
  }

  .haven-record-rows article {
    grid-template-columns: minmax(110px, 0.26fr) minmax(0, 1fr);
  }

  .haven-record-rows article a {
    grid-column: 2;
    justify-self: start;
  }

  .tower-header {
    align-items: start;
  }

  .tower-nav {
    justify-content: flex-start;
  }

  .tower-media,
  .tower-hero-copy {
    border-radius: 8px;
  }

  .tower-media img {
    min-height: 360px;
  }

  .tower-command-list article {
    grid-template-columns: 48px minmax(0, 1fr);
  }

  .tower-command-list article a {
    grid-column: 2;
    justify-self: start;
  }

  .suburban-action-grid article {
    min-height: auto;
  }

  .suburban-document-list article {
    align-items: start;
  }

  .suburban-document-list article a {
    justify-self: start;
  }
}

@media (max-width: 820px) {
  .topbar {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 72px;
    padding-bottom: 12px;
    padding-top: 12px;
  }

  .brand-logo {
    height: 40px;
  }

  .nav-links {
    display: none;
  }

  .mobile-nav-menu {
    display: block;
    justify-self: end;
  }

  .mobile-nav-menu summary {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 8px;
    color: #244047;
    cursor: pointer;
    min-height: 42px;
    padding: 9px 12px;
  }

  .mobile-nav-menu[open] summary {
    border-color: #9ccbc4;
    color: var(--teal-dark);
  }

  .mobile-nav-panel .nav-link {
    background: #ffffff;
    border-color: transparent;
    color: #244047;
    padding: 11px 12px;
  }

  .mobile-nav-panel .nav-link:hover {
    background: #f1f6f5;
    border-color: #d8e6e2;
  }
}

@media (max-width: 760px) {
  .public-site-header {
    align-items: center;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .public-site-nav {
    display: none;
  }

  .public-site-mobile-menu {
    display: block;
    justify-self: end;
  }
}

@media (max-width: 680px) {
  .footer .container {
    align-items: flex-start;
    flex-direction: column;
  }

  .footer-contact {
    justify-items: start;
    text-align: left;
  }

  .features-hero {
    padding: 34px 0 30px;
  }

  .features-hero-copy h1 {
    font-size: 34px;
  }

  .features-hero-copy p:not(.eyebrow),
  .features-ai-copy p:not(.eyebrow),
  .features-proof-grid > div > p {
    font-size: 16px;
    line-height: 1.46;
  }

  .features-hero-image {
    display: none;
  }

  .features-status-row {
    display: none;
  }

  .features-command-list {
    display: none;
  }

  .features-ai-mini {
    grid-template-columns: 1fr;
    padding: 15px 16px;
  }

  .features-ai-mini a {
    justify-self: stretch;
  }

  .features-ai-spotlight,
  .features-proof-section {
    padding: 34px 0;
  }

  .features-ai-copy h2,
  .features-proof-grid h2 {
    font-size: 30px;
  }

  .features-ai-actions a {
    flex: 1 1 100%;
    text-align: center;
  }

  .features-ai-prompt,
  .features-ai-output {
    margin: 14px;
    padding: 15px;
  }

  .features-ai-guardrail {
    padding: 13px 14px 16px;
  }

  .features-workflow-board article {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 18px;
  }

  .features-workflow-board h3 {
    font-size: 22px;
  }

  .features-workflow-board article a {
    grid-column: auto;
    justify-self: stretch;
    text-align: center;
  }

  .features-proof-list article {
    padding: 16px;
  }

  .hoa-nav {
    align-items: flex-start;
  }

  .hoa-nav > nav {
    display: none;
  }

  .suburban-login {
    display: none;
  }

  .suburban-brand {
    min-width: 0;
  }

  .suburban-brand span {
    font-size: 16px;
  }

  .tower-header {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 72px;
  }

  .tower-wordmark span {
    font-size: 16px;
  }

  .tower-nav,
  .tower-portal-link {
    display: none;
  }

  .tower-mobile-menu {
    display: block;
  }

  .haven-header {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 72px;
  }

  .haven-brand strong {
    font-size: 16px;
  }

  .haven-nav,
  .haven-login {
    display: none;
  }

  .haven-mobile-menu {
    display: block;
  }

  .haven-page {
    padding-top: 18px;
  }

  .haven-hero {
    gap: 12px;
  }

  .haven-hero-copy {
    min-height: 0;
    padding: 20px;
  }

  .haven-hero-copy h1 {
    font-size: 28px;
  }

  .haven-hero-copy > p:not(.haven-kicker) {
    font-size: 16px;
    line-height: 1.45;
    margin-top: 10px;
  }

  .haven-hero-actions {
    margin-top: 16px;
  }

  .haven-photo img {
    max-height: 170px;
    min-height: 160px;
  }

  .haven-pass {
    min-height: 0;
    gap: 8px;
    padding: 14px 16px;
  }

  .haven-pass span {
    display: none;
  }

  .haven-pass strong {
    font-size: 20px;
  }

  .haven-pass p {
    display: none;
  }

  .haven-announcement {
    padding: 18px;
  }

  .haven-guide article,
  .haven-record-rows article {
    grid-template-columns: 1fr;
  }

  .haven-guide article {
    min-height: 0;
    padding: 16px;
  }

  .haven-guide article a,
  .haven-record-rows article a {
    grid-column: auto;
    justify-self: start;
  }

  .tower-page {
    padding-top: 18px;
  }

  .tower-hero {
    min-height: auto;
  }

  .tower-media img {
    max-height: 220px;
    min-height: 190px;
  }

  .tower-media figcaption {
    bottom: 12px;
    left: 12px;
    max-width: calc(100% - 24px);
  }

  .tower-hero-copy {
    padding: 20px;
  }

  .tower-hero-copy h1 {
    font-size: 31px;
  }

  .tower-hero-copy > p:not(.tower-kicker) {
    font-size: 16px;
    line-height: 1.45;
    margin-top: 10px;
  }

  .tower-hero-actions {
    margin-top: 16px;
  }

  .tower-status {
    padding: 18px;
  }

  .tower-status h2 {
    font-size: 24px;
  }

  .tower-command-list article {
    min-height: 0;
    padding: 16px;
  }

  .tower-command-list article,
  .tower-document-rows article {
    grid-template-columns: 1fr;
  }

  .tower-command-list article a,
  .tower-document-rows article a {
    grid-column: auto;
    justify-self: start;
  }

  .hoa-mobile-menu {
    display: block;
  }

  .hero {
    min-height: auto;
  }

  .home-hero .hero-badges,
  .home-hero .hero-proof {
    display: none;
  }

  .hero-actions .btn,
  .page-actions .btn,
  .template-card-actions .btn,
  .final-cta-actions .btn,
  .price-card .btn,
  .signup-form-panel .btn {
    flex: 1 1 100%;
    width: 100%;
  }

  .overlay-hero,
  .rustic-hero {
    min-height: 520px;
  }

  .suburban-hero {
    min-height: auto;
    padding-bottom: 34px;
    padding-top: 34px;
  }

  .suburban-hero-inner {
    min-height: auto;
  }

  .suburban-hero h1 {
    font-size: 38px;
  }

  .suburban-portal-panel {
    gap: 10px;
    padding: 18px;
  }

  .suburban-portal-panel strong {
    font-size: 20px;
  }

  .suburban-portal-panel ul {
    display: none;
  }

  .editorial-copy,
  .luxury-hero div,
  .quick-links {
    bottom: auto;
    left: auto;
    margin: 18px;
    position: static;
    right: auto;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .auth-page {
    min-height: auto;
    padding: 32px 0;
  }

  .auth-copy h1 {
    font-size: 34px;
  }

  .auth-copy p {
    font-size: 17px;
  }

  .photo-gallery {
    grid-template-columns: 1fr;
  }

  .queue-row {
    align-items: flex-start;
    grid-template-columns: 44px 1fr;
  }

  .setup-row {
    grid-template-columns: 44px 1fr;
  }

  .setup-row .status-pill {
    grid-column: 2;
    justify-self: start;
  }

  .queue-row .btn {
    grid-column: 1 / -1;
  }

  .priority-action,
  .attention-row,
  .launch-step {
    align-items: flex-start;
    grid-template-columns: 1fr;
  }

  .priority-action .btn,
  .priority-action .inline-action-form,
  .attention-row .btn-text,
  .launch-step a {
    justify-self: start;
  }

  .dashboard-scoreboard,
  .workspace-focus-side,
  .settings-map,
  .settings-link-grid,
  .readiness-grid,
  .workflow-stats,
  .activity-strip-list {
    grid-template-columns: 1fr;
  }

  .guided-row,
  .settings-email-test {
    align-items: flex-start;
    flex-direction: column;
    grid-template-columns: 1fr;
  }

  .settings-email-test .btn {
    width: 100%;
  }

  .workspace-search {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .inline-action-form {
    align-items: flex-start;
    flex-direction: column;
  }

  .inline-action-form .btn {
    width: 100%;
  }

  .inline-action-form .help-text {
    flex: none;
    width: 100%;
  }

  .ai-workflow-copy h2 {
    font-size: 32px;
  }

  .ai-workflow-copy p {
    font-size: 17px;
    line-height: 1.46;
  }

  .ai-use-cases {
    gap: 8px;
  }

  .ai-use-cases span {
    font-size: 12px;
    padding: 7px 9px;
  }

  .ai-preview-header,
  .ai-preview-prompt,
  .ai-task-list div,
  .ai-preview-output {
    padding: 15px 16px;
  }

  .ai-preview-prompt p,
  .ai-task-list p,
  .ai-preview-output p {
    font-size: 16px;
  }

  .operating-row {
    padding: 16px;
  }
}

@media (max-width: 480px) {
  .operating-row {
    align-items: start;
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .nav-cta {
    min-height: 40px;
  }

  .nav-dashboard-cta {
    flex: 0 0 auto;
    width: auto;
  }
}

@media (max-width: 560px) {
  .nav-dashboard-cta {
    flex: 1 1 100%;
    width: 100%;
  }
}

@media (max-width: 720px) {
  .template-gallery-grid {
    grid-template-columns: 1fr;
  }

  .template-card-meta {
    grid-template-columns: 1fr;
  }

  .template-card-body {
    padding: 18px;
  }
}

@media (max-width: 900px) {
  .vista-header,
  .vista-hero,
  .vista-care-note,
  .vista-welcome,
  .vista-schedule,
  .vista-library,
  .vista-contact {
    grid-template-columns: 1fr;
  }

  .vista-header {
    align-items: start;
  }

  .vista-nav {
    justify-content: flex-start;
  }

  .vista-hero-copy,
  .vista-photo-panel img {
    min-height: 330px;
  }

  .vista-bulletin {
    grid-template-columns: 1fr;
  }

  .vista-document-list article {
    grid-template-columns: minmax(130px, 0.28fr) minmax(0, 1fr);
  }

  .vista-document-list p,
  .vista-document-list a {
    grid-column: 2;
  }

  .vista-document-list a {
    grid-row: auto;
    justify-self: start;
  }

  .rowhome-header,
  .rowhome-hero,
  .rowhome-notice,
  .rowhome-records,
  .rowhome-contact {
    grid-template-columns: 1fr;
  }

  .rowhome-header {
    align-items: start;
  }

  .rowhome-nav {
    justify-content: flex-start;
  }

  .rowhome-route-card {
    grid-template-columns: minmax(100px, 0.22fr) minmax(180px, 0.34fr) minmax(0, 1fr) auto;
  }

  .rowhome-route-card a {
    align-self: center;
  }

  .rowhome-hero-copy,
  .rowhome-hero-media img {
    min-height: 330px;
  }

  .rowhome-worklist article {
    grid-template-columns: 54px minmax(0, 1fr);
  }

  .rowhome-worklist article p,
  .rowhome-worklist article a {
    grid-column: 2;
  }

  .rowhome-record-list article {
    grid-template-columns: minmax(120px, 0.28fr) minmax(0, 1fr);
  }

  .rowhome-record-list p,
  .rowhome-record-list a {
    grid-column: 2;
  }

  .rowhome-record-list a {
    grid-row: auto;
    justify-self: start;
  }

  .shore-header,
  .shore-hero,
  .shore-alert,
  .shore-records,
  .shore-portal-contact {
    grid-template-columns: 1fr;
  }

  .shore-header {
    align-items: start;
  }

  .shore-nav {
    justify-content: flex-start;
  }

  .shore-photo img,
  .shore-hero-copy {
    min-height: 330px;
  }

  .shore-field-card {
    grid-template-columns: minmax(100px, 0.22fr) minmax(180px, 0.34fr) minmax(0, 1fr);
  }

  .shore-alert a {
    justify-self: start;
  }

  .shore-document-list article {
    grid-template-columns: minmax(130px, 0.28fr) minmax(0, 1fr);
  }

  .shore-document-list p,
  .shore-document-list a {
    grid-column: 2;
  }

  .shore-document-list a {
    grid-row: auto;
    justify-self: start;
  }

  .atelier-header,
  .atelier-arrival,
  .atelier-notice,
  .atelier-ledger,
  .atelier-portal-contact {
    grid-template-columns: 1fr;
  }

  .atelier-header {
    align-items: start;
  }

  .atelier-nav {
    justify-content: flex-start;
  }

  .atelier-copy,
  .atelier-visual {
    min-height: 330px;
  }

  .atelier-arrival-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .atelier-service-board article {
    grid-template-columns: minmax(110px, 0.24fr) minmax(210px, 0.34fr) minmax(0, 1fr);
  }

  .atelier-notice a {
    justify-self: start;
  }

  .atelier-document-stack article {
    grid-template-columns: minmax(130px, 0.28fr) minmax(0, 1fr);
  }

  .atelier-document-stack a {
    grid-column: 2;
    justify-self: start;
  }

  .clerk-header,
  .clerk-hero,
  .clerk-notice,
  .clerk-records,
  .clerk-contact {
    grid-template-columns: 1fr;
  }

  .clerk-header {
    align-items: start;
  }

  .clerk-nav {
    justify-content: flex-start;
  }

  .clerk-copy,
  .clerk-photo,
  .clerk-docket {
    min-height: 300px;
  }

  .clerk-action-board article {
    grid-template-columns: minmax(110px, 0.24fr) minmax(0, 1fr) auto;
  }

  .clerk-notice a {
    justify-self: start;
  }

  .clerk-document-list article {
    grid-template-columns: minmax(130px, 0.28fr) minmax(0, 1fr);
  }

  .clerk-document-list a {
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 680px) {
  .vista-header {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 72px;
  }

  .vista-brand strong {
    font-size: 16px;
  }

  .vista-nav,
  .vista-login {
    display: none;
  }

  .vista-mobile-menu {
    display: block;
  }

  .vista-page {
    padding-top: 18px;
  }

  .vista-hero {
    gap: 12px;
  }

  .vista-hero-copy {
    min-height: 0;
    padding: 20px;
  }

  .vista-hero-copy h1 {
    font-size: 31px;
  }

  .vista-hero-copy > p:not(.vista-kicker) {
    font-size: 16px;
    line-height: 1.45;
    margin-top: 10px;
  }

  .vista-hero-actions {
    margin-top: 16px;
  }

  .vista-photo-panel img {
    max-height: 160px;
    min-height: 145px;
  }

  .vista-care-note {
    gap: 8px;
    padding: 16px;
  }

  .vista-care-note span {
    display: none;
  }

  .vista-care-note strong {
    font-size: 17px;
  }

  .vista-bulletin,
  .vista-welcome-copy,
  .vista-portal-card,
  .vista-schedule,
  .vista-library,
  .vista-contact {
    padding: 20px;
  }

  .vista-bulletin {
    gap: 10px;
  }

  .vista-bulletin h2,
  .vista-welcome h2,
  .vista-schedule h2,
  .vista-library h2,
  .vista-contact h2 {
    font-size: 24px;
  }

  .vista-pathways {
    grid-template-columns: 1fr;
  }

  .vista-pathways article {
    min-height: 0;
    padding: 18px;
  }

  .vista-schedule-list article,
  .vista-document-list article {
    grid-template-columns: 1fr;
  }

  .vista-schedule-list article p,
  .vista-document-list p,
  .vista-document-list a {
    grid-column: auto;
  }

  .vista-document-list a {
    grid-row: auto;
  }

  .vista-portal-actions a {
    flex: 1 1 100%;
    text-align: center;
  }

  .rowhome-header {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 72px;
  }

  .rowhome-brand strong {
    font-size: 16px;
  }

  .rowhome-nav,
  .rowhome-login {
    display: none;
  }

  .rowhome-mobile-menu {
    display: block;
  }

  .rowhome-page {
    padding-top: 18px;
  }

  .rowhome-hero {
    gap: 12px;
  }

  .rowhome-route-card {
    gap: 8px;
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .rowhome-route-card strong {
    font-size: 20px;
  }

  .rowhome-route-card p,
  .rowhome-route-card a {
    display: none;
  }

  .rowhome-hero-copy {
    min-height: 0;
    padding: 20px;
  }

  .rowhome-hero-copy h1 {
    font-size: 31px;
  }

  .rowhome-hero-copy > p:not(.rowhome-kicker) {
    font-size: 16px;
    line-height: 1.45;
    margin-top: 10px;
  }

  .rowhome-hero-actions {
    margin-top: 16px;
  }

  .rowhome-hero-media img {
    max-height: 190px;
    min-height: 170px;
  }

  .rowhome-hero-media figcaption {
    bottom: 12px;
    left: 12px;
    max-width: calc(100% - 24px);
    padding: 11px 12px;
  }

  .rowhome-hero-media figcaption strong {
    font-size: 14px;
  }

  .rowhome-notice {
    gap: 10px;
    padding: 16px;
  }

  .rowhome-notice h2 {
    font-size: 23px;
  }

  .rowhome-worklist article,
  .rowhome-record-list article {
    grid-template-columns: 1fr;
  }

  .rowhome-worklist article {
    min-height: 0;
    padding: 16px;
  }

  .rowhome-worklist article p,
  .rowhome-worklist article a,
  .rowhome-record-list p,
  .rowhome-record-list a {
    grid-column: auto;
  }

  .rowhome-step {
    height: 38px;
    width: 38px;
  }

  .rowhome-records,
  .rowhome-contact {
    padding: 20px;
  }

  .rowhome-record-links a {
    flex: 1 1 100%;
    text-align: center;
  }

  .shore-header {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 72px;
  }

  .shore-brand strong {
    font-size: 16px;
  }

  .shore-nav,
  .shore-login {
    display: none;
  }

  .shore-mobile-menu {
    display: block;
  }

  .shore-page {
    padding-top: 18px;
  }

  .shore-hero {
    gap: 12px;
  }

  .shore-photo img {
    max-height: 160px;
    min-height: 145px;
  }

  .shore-hero-copy {
    min-height: 0;
    padding: 20px;
  }

  .shore-hero-copy h1 {
    font-size: 31px;
  }

  .shore-hero-copy > p:not(.shore-kicker) {
    font-size: 16px;
    line-height: 1.45;
    margin-top: 10px;
  }

  .shore-hero-actions {
    margin-top: 16px;
  }

  .shore-hero-actions a {
    flex: 1 1 145px;
    font-size: 14px;
    padding-left: 12px;
    padding-right: 12px;
    text-align: center;
  }

  .shore-field-card {
    gap: 8px;
    grid-template-columns: 1fr;
    padding: 14px;
  }

  .shore-field-card strong {
    font-size: 20px;
  }

  .shore-field-card p {
    font-size: 14px;
    line-height: 1.4;
  }

  .shore-alert {
    gap: 10px;
    padding: 16px;
  }

  .shore-alert h2,
  .shore-records h2,
  .shore-portal-card h2,
  .shore-contact h2 {
    font-size: 24px;
  }

  .shore-field-guide article,
  .shore-document-list article {
    grid-template-columns: 1fr;
  }

  .shore-field-guide article {
    min-height: 0;
    padding: 16px;
  }

  .shore-field-guide article > span {
    height: 38px;
    width: 38px;
  }

  .shore-field-guide h2 {
    font-size: 23px;
  }

  .shore-document-list p,
  .shore-document-list a {
    grid-column: auto;
  }

  .shore-document-list a {
    grid-row: auto;
  }

  .shore-records,
  .shore-portal-card,
  .shore-contact {
    padding: 20px;
  }

  .shore-record-actions a {
    flex: 1 1 100%;
    text-align: center;
  }

  .atelier-header {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 72px;
  }

  .atelier-brand strong {
    font-size: 16px;
  }

  .atelier-nav,
  .atelier-login {
    display: none;
  }

  .atelier-mobile-menu {
    display: block;
  }

  .atelier-page {
    padding-top: 18px;
  }

  .atelier-arrival {
    gap: 12px;
  }

  .atelier-copy {
    min-height: 0;
    padding: 20px;
  }

  .atelier-copy h1 {
    font-size: 30px;
  }

  .atelier-copy > p:not(.atelier-kicker) {
    font-size: 16px;
    line-height: 1.45;
    margin-top: 10px;
  }

  .atelier-actions {
    margin-top: 16px;
  }

  .atelier-actions a {
    flex: 1 1 145px;
    font-size: 14px;
    padding-left: 12px;
    padding-right: 12px;
    text-align: center;
  }

  .atelier-visual {
    height: auto;
    min-height: 160px;
  }

  .atelier-visual img {
    max-height: 170px;
    min-height: 150px;
  }

  .atelier-visual figcaption {
    bottom: 12px;
    left: 12px;
    max-width: calc(100% - 24px);
    padding: 11px 12px;
  }

  .atelier-visual figcaption strong {
    font-size: 14px;
  }

  .atelier-arrival-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .atelier-arrival-strip article {
    min-height: 0;
    padding: 14px 16px;
  }

  .atelier-arrival-strip p {
    display: none;
  }

  .atelier-notice {
    gap: 10px;
    padding: 16px;
  }

  .atelier-notice h2,
  .atelier-ledger h2,
  .atelier-portal-panel h2,
  .atelier-contact-panel h2 {
    font-size: 24px;
  }

  .atelier-service-board article,
  .atelier-document-stack article {
    grid-template-columns: 1fr;
  }

  .atelier-service-board article {
    min-height: 0;
    padding: 16px;
  }

  .atelier-service-board h2 {
    font-size: 23px;
  }

  .atelier-document-stack a {
    grid-column: auto;
  }

  .atelier-ledger,
  .atelier-portal-panel,
  .atelier-contact-panel {
    padding: 20px;
  }

  .atelier-ledger-actions a {
    flex: 1 1 100%;
    text-align: center;
  }

  .clerk-header {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 72px;
  }

  .clerk-brand strong {
    font-size: 16px;
  }

  .clerk-nav,
  .clerk-login {
    display: none;
  }

  .clerk-mobile-menu {
    display: block;
  }

  .clerk-page {
    padding-top: 16px;
  }

  .clerk-hero {
    gap: 12px;
  }

  .clerk-copy {
    min-height: 0;
    padding: 16px;
  }

  .clerk-copy h1 {
    font-size: 27px;
  }

  .clerk-copy > p:not(.clerk-kicker) {
    font-size: 15px;
    line-height: 1.42;
    margin-top: 8px;
  }

  .clerk-actions {
    margin-top: 12px;
  }

  .clerk-actions a {
    flex: 1 1 135px;
    font-size: 14px;
    padding-left: 12px;
    padding-right: 12px;
    text-align: center;
  }

  .clerk-photo {
    height: auto;
    min-height: 130px;
  }

  .clerk-photo img {
    max-height: 138px;
    min-height: 128px;
  }

  .clerk-photo figcaption {
    bottom: 12px;
    left: 12px;
    max-width: calc(100% - 24px);
    padding: 11px 12px;
  }

  .clerk-photo figcaption strong {
    font-size: 14px;
  }

  .clerk-docket {
    min-height: 0;
    padding: 14px;
  }

  .clerk-docket h2 {
    font-size: 20px;
  }

  .clerk-docket dl {
    gap: 6px;
    margin-top: 10px;
  }

  .clerk-docket dl div {
    align-items: start;
    grid-template-columns: 74px minmax(0, 1fr);
    padding: 9px 10px;
  }

  .clerk-docket dt {
    font-size: 11px;
  }

  .clerk-docket dd {
    font-size: 13px;
    line-height: 1.2;
  }

  .clerk-notice {
    gap: 10px;
    padding: 16px;
  }

  .clerk-notice h2,
  .clerk-records h2,
  .clerk-contact h2 {
    font-size: 24px;
  }

  .clerk-action-board article,
  .clerk-document-list article {
    grid-template-columns: 1fr;
  }

  .clerk-action-board article {
    min-height: 0;
    padding: 16px;
  }

  .clerk-action-board h2 {
    font-size: 23px;
  }

  .clerk-action-board a,
  .clerk-document-list a {
    grid-column: auto;
    justify-self: stretch;
    text-align: center;
  }

  .clerk-records,
  .clerk-contact {
    padding: 20px;
  }

  .clerk-record-actions a {
    flex: 1 1 100%;
    text-align: center;
  }
}
