@view-transition {
  navigation:auto;
}

.hero-section {
  position:relative;
  width:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border-bottom:var(--ledger-rule-thick);
  background-color:var(--ground);
  overflow:hidden;

}

.hero-media {
  position:relative;
  width:100%;
  aspect-ratio:16 / 9;
  z-index:1;
  view-transition-name:hero;
  overflow:hidden;
  border-bottom:var(--ledger-rule);
}

.hero-media img {
  width:100%;
  height:100%;
  aspect-ratio:16 / 9;
  object-fit:cover;
  object-position:60% 28%;
}

@media (max-width: 768px) {
  .hero-section {
    min-height:auto;
    justify-content:flex-start;
  }
  .hero-media {
    position:relative;
    inset:auto;
    width:100%;
    height:48vh;
    min-height:260px;
  }
  .hero-media img {
    height:100%;
    object-position:60% 25%;
  }
  .hero-content {
    background-color:var(--ground);
    padding-block:var(--space-lg) var(--space-xl);
  }
}

.hero-overlay-ledger { display:none; }

.hero-content {
  position:relative;
  z-index:3;
  width:100%;
  background-color:var(--ground);
  padding-block:var(--space-lg) var(--space-xl);
}

.hero-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-md);
  align-items:start;
}

@media (min-width: 960px) {
  .hero-grid {
    grid-template-columns:1.3fr 1fr;
    gap:var(--space-2xl);
  }
}

.hero-headline {
  margin-bottom:0;
  font-size:clamp(2.25rem, 1.8rem + 1.8vw, 3.4rem);
  line-height:1.08;
  letter-spacing:-0.035em;
  font-weight:700;
  color:var(--ink);
  text-wrap:balance;
  view-transition-name:hero-headline;
}

.hero-brief {
  display:flex;
  flex-direction:column;
  gap:var(--space-md);
}

.hero-lede {
  font-size:var(--text-base);
  line-height:1.6;
  color:var(--ink-soft);
  max-width:var(--measure-body);
  margin-bottom:0;
}

.hero-action {
  display:flex;
  align-items:center;
}

.page-intro {
  padding-block:var(--space-xl) var(--space-lg);
  border-bottom:var(--ledger-rule-thick);
  background-color:var(--ground);
  position:relative;
}

.page-intro--accent-edge { border-left:4px solid var(--accent); }

.page-intro__grid {
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-md);
}

@media (min-width: 960px) {
  .page-intro__grid {
    grid-template-columns:2fr 1fr;
    gap:var(--space-xl);
  }
}

.page-intro__title {
  font-size:clamp(1.85rem, 1.5rem + 1.8vw, 3.25rem);
  line-height:1.1;
  margin-bottom:var(--space-xs);
  view-transition-name:page-headline;
}

.page-intro__meta {
  border-left:var(--ledger-rule);
  padding-left:var(--space-md);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:var(--space-xs);
}

.page-intro__meta-item {
  font-family:var(--wafe-16f);
  font-size:var(--text-xs);
  color:var(--ink-soft);
  line-height:1.4;
}

.page-intro__meta-val {
  color:var(--ink);
  font-weight:600;
}

.section-ledger {
  padding-block:var(--space-2xl);
  border-bottom:var(--ledger-rule);
  position:relative;
}

.section-ledger:nth-of-type(even) { padding-block:var(--space-xl); }

.section-ledger--surface { background-color:var(--surface); }

.section-ledger--thick { border-bottom:var(--ledger-rule-thick); }

.offcenter-split-2-1 {
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-lg);
}

@media (min-width: 960px) {
  .offcenter-split-2-1 {
    grid-template-columns:2fr 1fr;
    gap:var(--space-2xl);
  }
}

.offcenter-split-1-2 {
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-lg);
}

@media (min-width: 960px) {
  .offcenter-split-1-2 {

    grid-template-columns:1fr 2fr;
    gap:var(--space-2xl);
  }
}

.question-heading {
  font-size:clamp(1.5rem, 1.3rem + 1vw, 2.25rem);
  line-height:1.2;
  letter-spacing:-0.025em;
  margin-bottom:var(--space-md);
}

.question-heading--lg {
  font-size:clamp(1.75rem, 1.45rem + 1.4vw, 2.75rem);
  line-height:1.15;
}

.answer-lead {
  font-size:var(--text-md);
  line-height:1.5;
  font-weight:500;
  color:var(--ink);
  margin-bottom:var(--space-md);
}

.break-figure {
  width:100%;
  margin-block:var(--space-xl);
  border-top:var(--ledger-rule);
  border-bottom:var(--ledger-rule);
  background-color:var(--surface);
  position:relative;
}

.break-figure__frame {
  width:100%;
  max-height:620px;
  overflow:hidden;
  position:relative;
}

.break-figure__img {
  width:100%;
  height:100%;
  object-fit:cover;
  clip-path:inset(0 0 0 0);
  transition:clip-path var(--duration-slow) var(--ease-ledger);
}

.break-figure__caption-bar {
  display:flex;
  flex-direction:column;
  gap:var(--space-3xs);
  padding:0.75rem clamp(1rem, 0.8rem + 1.25vw, 2.5rem);
  background-color:var(--surface);
  border-top:var(--ledger-rule);
  font-family:var(--wafe-16f);
  font-size:var(--text-xs);
  color:var(--ink-soft);
}

@media (min-width: 768px) {
  .break-figure__caption-bar {
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }
}

.sidebar-ledger {
  border-top:var(--ledger-rule-thick);
  padding-top:var(--space-sm);
  display:flex;
  flex-direction:column;
  gap:var(--space-md);
}

@media (min-width: 960px) {
  .sidebar-ledger {
    border-top:none;
    border-left:var(--ledger-rule);
    padding-top:0;
    padding-left:var(--space-lg);
  }
}

.sidebar-ledger__title {
  font-family:var(--wafe-a27);
  font-size:var(--text-sm);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.05em;
  color:var(--ink);
  margin-bottom:var(--space-3xs);
}

.sidebar-ledger__data-list {
  list-style:none;
  display:flex;

  flex-direction:column;
  gap:var(--space-xs);
}

.sidebar-ledger__data-item {
  border-bottom:var(--ledger-rule);
  padding-bottom:var(--space-xs);
  display:flex;
  flex-direction:column;
  gap:0.2rem;
}

.sidebar-ledger__data-label {
  font-family:var(--wafe-16f);
  font-size:var(--text-xs);
  color:var(--ink-soft);
}

.sidebar-ledger__data-value {
  font-family:var(--wafe-a27);
  font-size:var(--text-base);
  font-weight:600;
  color:var(--ink);
}

.matrix-table-wrap {
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin-block:var(--space-md);
  border:var(--ledger-rule);
}

.matrix-table {
  width:100%;
  min-width:600px;
  border-collapse:collapse;
  background-color:var(--ground);
}

.matrix-table th,
.matrix-table td {
  padding:0.85rem var(--space-sm);
  text-align:left;
  border-bottom:var(--ledger-rule);
  font-size:var(--text-sm);
}

.matrix-table th {
  font-family:var(--wafe-a27);
  font-size:var(--text-xs);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.04em;
  background-color:var(--surface);
  color:var(--ink);
  border-bottom:var(--ledger-rule-thick);
}

.matrix-table tbody tr:hover { background-color:var(--surface-2); }

.matrix-table .col-tier {
  font-family:var(--wafe-a27);
  font-weight:700;
  color:var(--ink);
}

.matrix-table .col-cost {
  font-family:var(--wafe-16f);
  font-weight:600;
  color:var(--ink);
  white-space:nowrap;
}

.package-cards-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-md);
  margin-block:var(--space-lg);
}

@media (min-width: 768px) {
  .package-cards-grid { grid-template-columns:repeat(2, 1fr); }
}

.package-sheet {
  background-color:var(--surface);
  border:var(--ledger-rule);
  padding:var(--space-lg);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
  transition:border-color var(--duration-fast) var(--ease-mechanical),
              background-color var(--duration-fast) var(--ease-mechanical);
}

.package-sheet:hover {
  border-color:var(--ink);
  background-color:var(--ground);
}

.package-sheet__header {
  border-bottom:var(--ledger-rule);
  padding-bottom:var(--space-sm);
  margin-bottom:var(--space-md);
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:var(--space-xs);
}

.package-sheet__title {
  font-family:var(--wafe-a27);
  font-size:var(--text-lg);
  font-weight:700;
}

.package-sheet__fee {
  font-family:var(--wafe-16f);
  font-size:var(--text-md);
  font-weight:600;
  color:var(--ink);
  white-space:nowrap;
}

.package-sheet__specs {
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:0.5rem;
  margin-bottom:var(--space-lg);
}

.package-sheet__spec-item {
  font-size:var(--text-sm);
  display:flex;
  align-items:flex-start;
  gap:0.5rem;
  color:var(--ink);
}

.package-sheet__spec-item .icon {
  width:1rem;
  height:1rem;
  color:var(--accent);
  margin-top:0.2rem;
}

.criteria-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-sm);
  margin-block:var(--space-md);
}

@media (min-width: 600px) {
  .criteria-grid { grid-template-columns:repeat(2, 1fr); }
}

@media (min-width: 1024px) {
  .criteria-grid { grid-template-columns:repeat(3, 1fr); }
}

.criteria-cell {
  background-color:var(--surface);
  border:var(--ledger-rule);
  padding:var(--space-sm);
}

.criteria-cell__title {
  font-family:var(--wafe-a27);
  font-size:var(--text-sm);
  font-weight:700;
  margin-bottom:0.25rem;
}

.criteria-cell__desc {
  font-size:var(--text-xs);
  color:var(--ink-soft);
  margin-bottom:0;
  line-height:1.4;
}

.contact-layout {
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-xl);
  padding-block:var(--space-xl);
}

@media (min-width: 960px) {
  .contact-layout {
    grid-template-columns:1.1fr 1.9fr;
    gap:var(--space-2xl);
  }
}

.contact-details-panel {
  border-right:none;
  display:flex;
  flex-direction:column;
  gap:var(--space-lg);
}

@media (min-width: 960px) {
  .contact-details-panel {
    border-right:var(--ledger-rule);
    padding-right:var(--space-xl);
  }
}

.contact-data-block {
  border-bottom:var(--ledger-rule);
  padding-bottom:var(--space-md);
}

.contact-data-block:last-child { border-bottom:none; }

.contact-data-block__label {
  font-family:var(--wafe-16f);
  font-size:var(--text-xs);
  text-transform:uppercase;
  color:var(--ink-soft);
  margin-bottom:var(--space-3xs);
}

.contact-data-block__val {
  font-family:var(--wafe-a27);
  font-size:var(--text-base);
  font-weight:600;
}

.contact-form-panel {
  background-color:var(--surface);
  border:var(--ledger-rule);
  padding:clamp(1rem, 0.8rem + 1.25vw, 2.5rem);
}

.contact-form-panel__title {
  font-size:var(--text-xl);
  margin-bottom:var(--space-xs);
}

.contact-form-panel__note {
  font-size:var(--text-sm);
  color:var(--ink-soft);
  margin-bottom:var(--space-lg);
}

.form-grid-2col {
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-sm);
}

@media (min-width: 640px) {
  .form-grid-2col {
    grid-template-columns:1fr 1fr;
    gap:var(--space-md);
  }
}

.form-status-alert {
  padding:1rem;
  margin-bottom:var(--space-md);
  border:1px solid transparent;
  font-size:var(--text-sm);
  display:none;
}

.form-status-alert--success {
  display:block;
  background-color:#E6EFE6;
  border-color:#4A7C59;
  color:#1F4229;
}

.form-status-alert--error {
  display:block;
  background-color:#F8E7E4;
  border-color:var(--accent);
  color:#5C1D0F;
}

.privacy-tabs-container {
  width:100%;
  margin-block:var(--space-xl);
}

.privacy-tablist {
  display:flex;
  flex-wrap:wrap;
  border-bottom:var(--ledger-rule-thick);
  background-color:var(--surface);
  list-style:none;
}

@media (min-width: 1024px) {
  button#tab-rights { display:none !important; }
}

.privacy-tab-btn {
  appearance:none;
  background:none;
  border:none;
  border-right:var(--ledger-rule);
  border-bottom:3px solid transparent;
  padding:0.85rem 1.25rem;
  font-family:var(--wafe-a27);
  font-size:var(--text-sm);
  font-weight:600;
  color:var(--ink-soft);
  cursor:pointer;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  transition:color var(--duration-fast) var(--ease-mechanical),
              background-color var(--duration-fast) var(--ease-mechanical),
              border-color var(--duration-fast) var(--ease-mechanical);
}

.privacy-tab-btn:hover {
  color:var(--ink);
  background-color:var(--ground);
}

.privacy-tab-btn:active { background-color:var(--surface-2); }

.privacy-tab-btn:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:-2px;
}

.privacy-tab-btn[aria-selected='true'] {
  color:var(--ink);
  background-color:var(--ground);
  border-bottom-color:var(--accent);
  font-weight:700;
}

.privacy-accordion-toggle { display:none; }

.privacy-tabpanel {
  padding-block:var(--space-xl);
  display:none;
}

.privacy-tabpanel.is-active,
.privacy-tabpanel[aria-hidden='false'] { display:block; }

@media (max-width: 767px) {
  .privacy-tablist { display:none; }

  .privacy-tabpanel {
    display:block;
    border-bottom:var(--ledger-rule-thick);
    padding-block:var(--space-md);
  }

  .privacy-accordion-toggle {
  display:flex;
  width:100%;
  align-items:center;
  justify-content:space-between;
  min-height:48px;
  padding:0.75rem var(--space-xs);
  background-color:var(--surface);
  border:var(--ledger-rule);
  font-family:var(--wafe-a27);
  font-size:var(--text-base);
  font-weight:700;
  color:var(--ink);
  margin-bottom:var(--space-sm);
  transition:background-color var(--duration-fast) var(--ease-mechanical),
              border-color var(--duration-fast) var(--ease-mechanical);
}

.privacy-accordion-toggle:hover {
  background-color:var(--surface-2);
  border-color:var(--ink);
}

.privacy-accordion-toggle:active { background-color:var(--ground); }

.privacy-accordion-toggle:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:2px;
}

  .privacy-accordion-toggle .icon { transition:transform var(--duration-fast) var(--ease-mechanical); }

  .privacy-accordion-toggle[aria-expanded='false'] .icon { transform:rotate(-90deg); }

  .privacy-tabpanel-inner { padding-top:var(--space-xs); }

  .privacy-tabpanel[aria-hidden='true'] .privacy-tabpanel-inner { display:none; }
}

.disclosures-toolbar {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-sm);
  padding:var(--space-sm) 0;
  border-bottom:var(--ledger-rule);
  margin-bottom:var(--space-lg);
}

.disclosures-toolbar__meta {
  font-family:var(--wafe-16f);
  font-size:var(--text-xs);
  color:var(--ink-soft);
}

.disclosures-toolbar__actions {
  display:flex;
  gap:var(--space-xs);
}

.disclosures-stack {
  display:flex;
  flex-direction:column;
  gap:var(--space-sm);
  margin-block:var(--space-lg);
}

.disclosure-block {
  border:var(--ledger-rule);
  background-color:var(--ground);
  transition:border-color var(--duration-fast) var(--ease-mechanical);
}

.disclosure-block[open] {
  border-color:var(--ink);
  background-color:var(--surface);
}

.disclosure-summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:48px;
  padding:1rem var(--space-md);
  cursor:pointer;
  background-color:var(--surface);
  font-family:var(--wafe-a27);
  font-size:var(--text-base);
  font-weight:600;
  list-style:none;
  user-select:none;
}

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

.disclosure-summary:hover { background-color:var(--surface-2); }

.disclosure-summary:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:-2px;
}

.disclosure-summary .disclosure-title {
  display:flex;
  align-items:center;
  gap:0.5rem;
}

.disclosure-summary .disclosure-indicator { transition:transform var(--duration-fast) var(--ease-mechanical); }

.disclosure-block[open] .disclosure-summary .disclosure-indicator { transform:rotate(180deg); }

.disclosure-content {
  padding:var(--space-md);
  border-top:var(--ledger-rule);
  background-color:var(--ground);
}

.clause-ledger-wrap {
  width:100%;
  margin-block:var(--space-xl);
}

.clause-ledger-table {
  width:100%;
  border-collapse:collapse;
  border-top:var(--ledger-rule-thick);
  border-bottom:var(--ledger-rule-thick);
}

.clause-ledger-table th {
  background-color:var(--surface);
  font-family:var(--wafe-a27);
  font-size:var(--text-xs);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.05em;
  padding:0.85rem var(--space-sm);
  border-bottom:var(--ledger-rule-thick);
  text-align:left;
}

.clause-ledger-table td {
  padding:var(--space-md) var(--space-sm);
  border-bottom:var(--ledger-rule);
  vertical-align:top;
  font-size:var(--text-sm);
  line-height:1.5;
}

.clause-ledger-table tbody tr:hover { background-color:rgba(218, 208, 191, 0.4); }

.clause-title-cell {
  width:25%;
  font-family:var(--wafe-a27);
  font-size:var(--text-base);
  font-weight:700;
  color:var(--ink);
}

.clause-meaning-cell {
  width:45%;
  color:var(--ink);
}

.clause-application-cell {
  width:30%;
  font-size:var(--text-xs);
  color:var(--ink-soft);
  font-family:var(--wafe-c06);
}

@media (max-width: 768px) {
  .clause-ledger-table,
  .clause-ledger-table thead,
  .clause-ledger-table tbody,
  .clause-ledger-table th,
  .clause-ledger-table td,
  .clause-ledger-table tr {
    display:block;
    width:100%;
  }

  .clause-ledger-table thead { display:none; }

  .clause-ledger-table tr {
    margin-bottom:var(--space-md);
    border:var(--ledger-rule);
    background-color:var(--surface);
    padding:var(--space-sm);
  }

  .clause-ledger-table td {
    padding:var(--space-2xs) 0;
    border-bottom:none;
  }

  .clause-title-cell {
    font-size:var(--text-md);
    border-bottom:var(--ledger-rule) !important;
    padding-bottom:var(--space-2xs) !important;
    margin-bottom:var(--space-2xs);
  }

  .clause-meaning-cell::before {
    content:'Plain Meaning: ';
    font-family:var(--wafe-a27);
    font-weight:700;
    font-size:var(--text-xs);
    text-transform:uppercase;
    display:block;
    color:var(--ink-soft);
  }

  .clause-application-cell {
    margin-top:var(--space-2xs);
    padding-top:var(--space-2xs) !important;
    border-top:var(--ledger-rule-dashed) !important;
  }

  .clause-application-cell::before {
    content:'Why It Applies: ';
    font-family:var(--wafe-a27);
    font-weight:700;
    font-size:var(--text-xs);
    text-transform:uppercase;
    display:block;
    color:var(--ink-soft);
  }
}

.faq-ledger {
  margin-block:var(--space-lg);
  border-top:var(--ledger-rule-thick);
}

.faq-item { border-bottom:var(--ledger-rule); }

.faq-trigger {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:52px;
  padding:var(--space-sm) 0;
  font-family:var(--wafe-a27);
  font-size:var(--text-md);
  font-weight:700;
  color:var(--ink);
  cursor:pointer;
  background:none;
  border:none;
  text-align:left;
  transition:color var(--duration-fast) var(--ease-mechanical);
}

.faq-trigger:hover { color:var(--accent); }

.faq-trigger:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:2px;
}

.faq-trigger .icon {
  width:1.25rem;
  height:1.25rem;
  transition:transform var(--duration-fast) var(--ease-mechanical);
}

.faq-trigger[aria-expanded='true'] .icon { transform:rotate(180deg); }

.faq-body {
  padding-bottom:var(--space-md);
  font-size:var(--text-sm);
  color:var(--ink);
  display:none;
}

.faq-body.is-open { display:block; }

.notfound-container {
  padding-block:var(--space-3xl) var(--space-2xl);
  min-height:calc(100vh - var(--header-height-full) - var(--dock-height));
  min-height:calc(100svh - var(--header-height-full) - var(--dock-height));
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.notfound-code {
  font-family:var(--wafe-16f);
  font-size:clamp(3rem, 2rem + 4vw, 6rem);
  font-weight:700;
  line-height:1;
  color:var(--accent);
  margin-bottom:var(--space-xs);
}

.notfound-title {
  font-size:clamp(1.75rem, 1.4rem + 1.2vw, 2.75rem);
  margin-bottom:var(--space-md);
}

.notfound-actions {
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-sm);
  margin-top:var(--space-lg);
}

.org-ledger-banner {
  background-color:var(--surface);
  border-top:var(--ledger-rule);
  border-bottom:var(--ledger-rule);
  padding:var(--space-md) 0;
  margin-block:var(--space-lg);
}

.org-ledger-stats {
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:var(--space-md);
}

@media (min-width: 768px) {
  .org-ledger-stats { grid-template-columns:repeat(4, 1fr); }
}

.org-stat-item {
  display:flex;
  flex-direction:column;
  border-left:2px solid var(--accent);
  padding-left:var(--space-sm);
}

.org-stat-num {
  font-family:var(--wafe-16f);
  font-size:var(--text-xl);
  font-weight:700;
  color:var(--ink);
}

.org-stat-label {
  font-size:var(--text-xs);
  color:var(--ink-soft);
  text-transform:uppercase;
  letter-spacing:0.03em;
}

.credential-card {
  border:var(--ledger-rule);
  background-color:var(--surface);
  padding:var(--space-md);
  margin-bottom:var(--space-sm);
}

.credential-card__header {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  margin-bottom:var(--space-xs);
  border-bottom:var(--ledger-rule);
  padding-bottom:var(--space-2xs);
}

.credential-card__name {
  font-family:var(--wafe-a27);
  font-size:var(--text-md);
  font-weight:700;
}

.credential-card__tenure {
  font-family:var(--wafe-16f);
  font-size:var(--text-xs);
  color:var(--ink-soft);
}

.credential-card__detail {
  font-size:var(--text-sm);
  color:var(--ink);
  margin-bottom:0;
}
