.hero-home {
  position:relative;
  padding-block:clamp(2.5rem, 6vw, 5.5rem);
  background:radial-gradient(circle at 80% 20%, rgba(201, 151, 88, 0.08) 0%, transparent 60%),
              radial-gradient(circle at 15% 85%, rgba(56, 20, 23, 0.75) 0%, transparent 70%);
  border-bottom:1px solid var(--border);
  overflow:hidden;
}


.hero-home::after {
  content:"";
  position:absolute;
  top:0;
  right:clamp(1rem, 5vw, 4rem);
  width:1px;

  height:100%;
  background:linear-gradient(180deg, transparent 0%, var(--border) 25%, var(--accent) 50%, var(--border) 75%, transparent 100%);
  opacity:0.4;
  pointer-events:none;
}


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


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


.hero-content {
  display:flex;
  flex-direction:column;
  gap:var(--space-md);
  position:relative;
  z-index:2;
}


.hero-eyebrow-row {
  display:flex;
  align-items:center;
  gap:0.75rem;
  flex-wrap:wrap;
}


.hero-pill {
  display:inline-flex;
  align-items:center;
  gap:0.45rem;
  padding:0.35rem 0.85rem;
  border:1px solid var(--border-strong);
  border-radius:var(--radius-full);
  background-color:var(--surface-sunken);
  font-family:var(--jigu-6c3);
  font-size:var(--text-2xs);
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--accent);
}


.hero-pill-secondary {
  border-color:var(--border-hairline);
  color:var(--ink-muted);
}


.hero-title {
  font-family:var(--jigu-b0c);
  font-size:var(--text-hero);
  font-weight:700;
  line-height:1.12;
  letter-spacing:0.02em;
  color:var(--ink);
  margin-block-end:0;
  word-wrap:break-word;
}


.hero-title [data-split] {
  display:inline-block;
  will-change:transform, opacity;
}


.hero-lead {
  font-size:var(--text-md);
  line-height:1.62;
  color:var(--ink-muted);
  max-width:58ch;
  margin-block-end:0;
}


.hero-cta-group {
  display:flex;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
  padding-top:0.5rem;
}


.hero-metrics-strip {
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:1rem;
  padding-top:var(--space-md);
  border-top:1px solid var(--border-hairline);
  margin-top:0.5rem;
}


@media (min-width: 480px) {
  .hero-metrics-strip {
    grid-template-columns:repeat(3, 1fr);
    gap:1.5rem;
  }
}


.hero-metric-item {
  display:flex;
  flex-direction:column;
  gap:0.2rem;
}


.hero-metric-value {
  font-family:var(--jigu-6c3);
  font-size:var(--text-lg);
  font-weight:700;
  color:var(--accent);
  line-height:1.2;
}


.hero-metric-label {
  font-family:var(--jigu-6c3);
  font-size:var(--text-2xs);
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--ink-dim);
}


.hero-frame-visual {
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;

}


.hero-image-wrapper {
  position:relative;
  width:100%;
  max-width:480px;
  aspect-ratio:4 / 5;
  background-color:var(--surface-sunken);
  border:1px solid var(--accent);
  padding:8px;
  box-shadow:var(--shadow-elevated);
}


.hero-image-wrapper img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}


.hero-image-wrapper::before {
  content:"";
  position:absolute;
  inset:-6px;
  border:1px dashed var(--border);
  pointer-events:none;
}


.hero-seal-floating {
  position:absolute;
  bottom:-24px;
  left:-20px;
  z-index:4;
  animation:sealFloat 6s ease-in-out infinite alternate;
}


@media (max-width: 600px) {
  .hero-seal-floating {
    bottom:-16px;
    left:8px;
    transform:scale(0.85);
  }
}


@keyframes sealFloat {
  0% { transform: translateY(0); }
  100% { transform: translateY(-8px); }
}


.page-header {
  position:relative;
  padding-block:clamp(2.5rem, 5vw, 4rem);
  background-color:var(--surface-sunken);
  border-bottom:1px solid var(--border);
}


.page-header-compact { padding-block:clamp(2rem, 4vw, 3rem); }


.page-header-inner {
  display:flex;
  flex-direction:column;
  gap:var(--space-xs);
}


.page-breadcrumb {
  display:flex;
  align-items:center;
  gap:0.5rem;
  font-family:var(--jigu-6c3);
  font-size:var(--text-2xs);
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--ink-muted);
  margin-block-end:0.25rem;
  flex-wrap:wrap;
}


.page-breadcrumb a {
  color:var(--accent);
  text-decoration:none;
}


.page-breadcrumb a:hover {
  color:var(--accent-hover);
  text-decoration:underline;
}


.page-title {
  font-family:var(--jigu-b0c);
  font-size:var(--text-2xl);
  font-weight:700;
  line-height:1.2;
  color:var(--ink);
  margin-block-end:0;
}


.page-desc {
  font-size:var(--text-md);
  color:var(--ink-muted);
  max-width:64ch;
  margin-block-end:0;
  line-height:1.6;
}


.home-tabs-section {
  padding-block:var(--space-2xl);
  border-bottom:1px solid var(--border);
}


.home-tabs-nav {
  position:sticky;
  top:var(--header-height);
  z-index:100;
  background-color:var(--ground);
  padding-block:0.75rem;
  border-bottom:1px solid var(--border);
  box-shadow:0 4px 12px rgba(24, 7, 9, 0.4);
}


.home-tabs-list {
  display:flex;
  align-items:center;
  gap:0.5rem;
  list-style:none;
  padding:0;
  margin:0;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}


.home-tab-btn {
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  min-height:44px;
  padding:0.6rem 1.25rem;
  font-family:var(--jigu-b0c);
  font-size:var(--text-xs);
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--ink-muted);
  background-color:var(--surface-sunken);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  cursor:pointer;
  white-space:nowrap;
  transition:color var(--dur-fast) ease, background-color var(--dur-fast) ease, border-color var(--dur-fast) ease, transform var(--dur-fast) ease;
}


.home-tab-btn:hover {
  color:var(--ink);
  border-color:var(--accent);
  background-color:var(--surface);
  transform:translateY(-1px);
}


.home-tab-btn:active {
  color:var(--accent);
  background-color:var(--ground-deep);
  transform:translateY(1px);
}


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


.home-tab-btn.is-active,
.home-tab-btn[aria-selected="true"] {

  color:var(--ground-deep);
  background-color:var(--accent);
  border-color:var(--accent);
  font-weight:700;
}


.home-tab-panel { padding-block-start:var(--space-xl); }


.home-tab-panel[hidden] { display:none; }


.drawn-journey-continuous {
  position:relative;
  padding-block:var(--space-xl);
}


.drawn-journey-continuous::before {
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:20px;
  width:2px;
  background-color:var(--accent);
  opacity:0.85;
}


@media (min-width: 768px) {
  .drawn-journey-continuous::before { left:48px; }
}


.stage-node-continuous {
  position:relative;
  padding-left:54px;
  margin-block-end:var(--space-2xl);
  min-width:0;
}


@media (max-width: 480px) {
  .drawn-journey-continuous::before { display:none; }


  .stage-node-continuous { padding-left:0; }
}


@media (min-width: 768px) {
  .stage-node-continuous {
    padding-left:104px;
    margin-block-end:var(--space-3xl);
  }
}


.stage-node-continuous:last-child { margin-block-end:0; }


.stage-shape-specs-grid {
  display:grid;
  grid-template-columns:repeat(1, 1fr);
  gap:1rem;
}


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


@media (min-width: 900px) {
  .stage-shape-specs-grid { grid-template-columns:repeat(3, 1fr); }
}


.spec-meter-box {
  background-color:var(--surface-sunken);
  border:1px solid var(--border-hairline);
  padding:1rem;
  border-radius:var(--radius-xs);
  display:flex;
  flex-direction:column;
  gap:0.35rem;
}


.spec-meter-title {
  font-family:var(--jigu-b0c);
  font-size:var(--text-xs);
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:var(--accent);
}


.spec-meter-val {
  font-family:var(--jigu-6c3);
  font-size:var(--text-base);
  font-weight:700;
  color:var(--ink);
}


.spec-meter-note {
  font-size:var(--text-xs);
  color:var(--ink-muted);
}


.stage-quote-block {
  padding:1.5rem 1.75rem;
  background-color:var(--surface-sunken);
  border-left:3px solid var(--accent);
  border-radius:var(--radius-xs);
  font-family:var(--jigu-46b);
  font-size:var(--text-md);
  font-style:italic;
  line-height:1.6;
  color:var(--ink);
}


.stage-quote-author {
  display:block;
  font-style:normal;
  font-family:var(--jigu-6c3);
  font-size:var(--text-2xs);
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--accent);
  margin-top:0.75rem;
}


.stage-item-checklist {
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:0.75rem;
}


.stage-item-check {
  display:flex;
  align-items:flex-start;
  gap:0.65rem;
  font-size:var(--text-sm);
  color:var(--ink);
  line-height:1.5;
}


.stage-item-check .icon {
  color:var(--accent);
  margin-top:0.2rem;
  flex-shrink:0;
}


.service-intro-band {
  padding-block:var(--space-xl);
  border-bottom:1px solid var(--border);
  background-color:var(--surface-subtle);
}


.service-intro-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-lg);
}


@media (min-width: 840px) {
  .service-intro-grid {
    grid-template-columns:1.2fr 0.8fr;
    align-items:start;
  }
}


.service-card-meta-panel {
  background-color:var(--surface-sunken);
  border:1px solid var(--accent);
  border-radius:var(--radius-sm);
  padding:var(--space-md);
  box-shadow:var(--shadow-subtle);
}


.service-card-meta-title {
  font-family:var(--jigu-b0c);
  font-size:var(--text-sm);
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--accent);
  margin-block-end:1rem;
  padding-bottom:0.5rem;
  border-bottom:1px solid var(--border);
}


.service-meta-list {
  display:flex;
  flex-direction:column;
  gap:0.75rem;
}


.service-meta-row {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:0.75rem;
  font-size:var(--text-sm);
  padding-bottom:0.5rem;
  border-bottom:1px solid var(--border-hairline);
}


.service-meta-row:last-child {
  border-bottom:none;
  padding-bottom:0;
}


.service-meta-label {
  font-family:var(--jigu-b0c);
  font-size:var(--text-xs);
  color:var(--ink-muted);
  flex-shrink:0;
  white-space:nowrap;
}


.service-meta-value {
  font-family:var(--jigu-6c3);
  font-size:var(--text-sm);
  font-weight:700;
  color:var(--accent-hover);
  text-align:right;
}


@media (max-width: 480px) {
  .service-meta-row {
    flex-direction:column;
    align-items:flex-start;
    gap:0.2rem;
  }
  .service-meta-value { text-align:left; }
}


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


.treatment-zone-grid > * {
  min-width:0;
  width:100%;
}


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


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


.zone-box {
  background-color:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:1.25rem;
  display:flex;
  flex-direction:column;
  gap:0.5rem;
  transition:border-color var(--dur-fast) ease, transform var(--dur-fast) ease;
}


.zone-box:hover {
  border-color:var(--accent);
  transform:translateY(-2px);
}


.zone-box-title {
  font-family:var(--jigu-b0c);
  font-size:var(--text-base);
  font-weight:600;
  color:var(--ink);
  margin-block-end:0;
}


.zone-box-units {
  font-family:var(--jigu-6c3);
  font-size:var(--text-xs);
  color:var(--accent);
  font-weight:700;
}


.zone-box-desc {
  font-size:var(--text-xs);
  color:var(--ink-muted);
  line-height:1.5;
  margin-block-end:0;
}


.quote-depends-panel {
  background-color:var(--surface);
  border:1px solid var(--border-strong);
  border-radius:var(--radius-sm);
  padding:clamp(1.25rem, 3vw, 2rem);
  margin-block:var(--space-xl);
  overflow-wrap:break-word;
}


@media (max-width: 480px) {
  .quote-depends-panel { padding:1.15rem 0.85rem; }
}


.quote-depends-title {
  font-family:var(--jigu-b0c);
  font-size:var(--text-lg);
  font-weight:600;
  color:var(--accent);
  margin-block-end:0.5rem;
}


.quote-depends-list {
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
  list-style:none;
  padding:0;
  margin:1.25rem 0 0 0;
}


.quote-depends-list > li {
  min-width:0;
  width:100%;
}


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


@media (min-width: 960px) {
  .quote-depends-list { grid-template-columns:repeat(3, 1fr); }
}


.quote-depends-item {
  background-color:var(--surface-sunken);
  border:1px solid var(--border-hairline);
  padding:1rem;
  border-radius:var(--radius-xs);
  display:flex;
  flex-direction:column;
  gap:0.25rem;
}


.quote-depends-item-name {
  font-family:var(--jigu-b0c);
  font-size:var(--text-xs);
  font-weight:600;
  color:var(--accent-hover);
  letter-spacing:0.04em;
  text-transform:uppercase;
}


.quote-depends-item-desc {
  font-size:var(--text-xs);
  color:var(--ink-muted);
  line-height:1.45;
  margin-block-end:0;
}


.pricing-table-wrapper {
  margin-block:var(--space-xl);
  background-color:var(--surface-sunken);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  overflow:hidden;
  box-shadow:var(--shadow-subtle);
}


.pricing-table {
  width:100%;
  border-collapse:collapse;
  margin-block-end:0;
}


.pricing-table th {
  padding:1rem 1.25rem;
  background-color:var(--ground-deep);
  border-bottom:2px solid var(--accent);
  font-family:var(--jigu-b0c);
  font-size:var(--text-xs);
  letter-spacing:0.08em;
  color:var(--accent);
  text-transform:uppercase;
}


.pricing-table td {
  padding:1.1rem 1.25rem;
  border-bottom:1px solid var(--border-hairline);
  font-size:var(--text-sm);
  vertical-align:middle;
}


.pricing-table tr:hover td { background-color:rgba(88, 37, 40, 0.4); }


.pricing-service-name {
  font-family:var(--jigu-b0c);
  font-weight:600;
  color:var(--ink);
  display:block;
}


.pricing-service-detail {
  font-size:var(--text-xs);
  color:var(--ink-muted);
  margin-top:0.2rem;
}


.pricing-rate-cell {
  font-family:var(--jigu-6c3);
  font-size:var(--text-base);
  font-weight:700;
  color:var(--accent-hover);
  white-space:nowrap;
}


.pricing-duration-cell {
  font-family:var(--jigu-6c3);
  font-size:var(--text-xs);
  color:var(--ink-dim);
  white-space:nowrap;
}


.facility-suite-grid {
  display:grid;
  grid-template-columns:repeat(1, 1fr);
  gap:var(--space-xl);
  margin-block:var(--space-2xl);
}


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


.suite-card {
  background-color:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}


.suite-card-image {
  aspect-ratio:16 / 10;
  background-color:var(--surface-sunken);
  overflow:hidden;
}


.suite-card-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform var(--dur-med) ease;
}


.suite-card:hover .suite-card-image img { transform:scale(1.03); }


.suite-card-body {
  padding:1.5rem;
  display:flex;
  flex-direction:column;
  gap:0.75rem;
  flex-grow:1;
}


.suite-card-title {
  font-family:var(--jigu-b0c);
  font-size:var(--text-lg);
  font-weight:600;
  color:var(--ink);
  margin-block-end:0;
}


.suite-card-desc {
  font-size:var(--text-sm);
  color:var(--ink-muted);
  line-height:1.55;
  margin-block-end:0;
}


.sanitation-panel {
  background-color:var(--ground-deep);
  border:1px solid var(--accent);
  border-radius:var(--radius-sm);
  padding:clamp(1.5rem, 3.5vw, 2.5rem);
  margin-block:var(--space-2xl);
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-lg);
}


@media (min-width: 800px) {
  .sanitation-panel {
    grid-template-columns:1.2fr 0.8fr;
    align-items:center;
  }
}


.sanitation-list {
  list-style:none;
  padding:0;
  margin:1rem 0 0 0;
  display:flex;
  flex-direction:column;
  gap:0.85rem;
}


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


.sanitation-item .icon {
  color:var(--accent);
  margin-top:0.15rem;
  flex-shrink:0;
}


.faq-accordion-group {
  margin-block:var(--space-xl);
  display:flex;
  flex-direction:column;
  gap:0.75rem;
}


.faq-item {
  background-color:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  overflow:hidden;
  transition:border-color var(--dur-fast) ease, background-color var(--dur-fast) ease;
}


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


.faq-item[open] {
  border-color:var(--accent);
  background-color:rgba(88, 37, 40, 0.9);
}


.faq-summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1.15rem 1.4rem;
  cursor:pointer;
  font-family:var(--jigu-b0c);
  font-size:var(--text-base);
  font-weight:600;
  color:var(--ink);
  list-style:none;
  user-select:none;
  min-height:48px;
  transition:color var(--dur-fast) ease, background-color var(--dur-fast) ease;
}


@media (max-width: 480px) {
  .faq-summary { padding:0.85rem 0.75rem; }
}


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


.faq-summary:hover {
  color:var(--accent-hover);
  background-color:var(--surface-subtle);
}


.faq-summary:active {
  color:var(--accent);
  background-color:var(--surface-sunken);
}


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


.faq-icon-marker {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border:1px solid var(--border);
  border-radius:var(--radius-full);
  color:var(--accent);
  flex-shrink:0;
  margin-left:1rem;
  transition:transform var(--dur-fast) ease, border-color var(--dur-fast) ease, background-color var(--dur-fast) ease;
}


.faq-item[open] .faq-icon-marker {
  transform:rotate(180deg);
  background-color:var(--accent);
  color:var(--ground-deep);
  border-color:var(--accent);
}


.faq-content {
  padding:0 1.4rem 1.4rem 1.4rem;
  font-size:var(--text-sm);
  color:var(--ink-muted);
  line-height:1.65;
  border-top:1px solid var(--border-hairline);
  margin-top:0.25rem;
  padding-top:1rem;
}


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


@media (min-width: 900px) {
  .contact-layout-grid { grid-template-columns:1fr 1.3fr; }
}


.contact-info-card {
  background-color:var(--surface-sunken);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:clamp(1.5rem, 3vw, 2.5rem);
  display:flex;
  flex-direction:column;
  gap:var(--space-lg);
  box-shadow:var(--shadow-subtle);
}


.contact-block {
  display:flex;
  flex-direction:column;
  gap:0.35rem;
}


.contact-block-label {
  font-family:var(--jigu-b0c);
  font-size:var(--text-xs);
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--accent);
}


.contact-block-value {
  font-size:var(--text-base);
  color:var(--ink);
  line-height:1.5;
}


.contact-block-value a {
  color:var(--ink);
  text-decoration:none;
}


.contact-block-value a:hover {
  color:var(--accent-hover);
  text-decoration:underline;
}


.contact-form-card {
  background-color:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:clamp(1.5rem, 3.5vw, 2.5rem);
  box-shadow:var(--shadow-subtle);
}


@media (max-width: 480px) {
  .contact-form-card { padding:1.15rem 0.85rem; }
}


.consultation-form-section { padding-block:var(--space-2xl); }


.at-a-glance-panel {
  background-color:var(--surface-sunken);
  border:2px solid var(--accent);
  border-radius:var(--radius-sm);
  padding:clamp(1.25rem, 3vw, 2rem);
  margin-block-end:var(--space-3xl);
  box-shadow:var(--shadow-elevated);
}


.at-a-glance-title {
  font-family:var(--jigu-b0c);
  font-size:var(--text-lg);
  font-weight:600;
  letter-spacing:0.04em;
  color:var(--accent);
  margin-block-end:1rem;
  padding-bottom:0.5rem;
  border-bottom:1px solid var(--border);
  display:flex;
  align-items:center;
  gap:0.6rem;
}


.glance-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
}


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


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


.glance-item {
  background-color:var(--surface);
  border:1px solid var(--border-hairline);
  padding:1rem;
  border-radius:var(--radius-xs);
  display:flex;
  flex-direction:column;
  gap:0.35rem;
}


.glance-term {
  font-family:var(--jigu-b0c);
  font-size:var(--text-xs);
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--accent);
}


.glance-def {
  font-family:var(--jigu-6c3);
  font-size:var(--text-xs);
  color:var(--ink);
  line-height:1.5;
  margin:0;
}


.summary-first-table {
  width:100%;
  border-collapse:collapse;
  margin-block-end:0;
}


.summary-first-table th,
.summary-first-table td {
  padding:0.85rem 1rem;
  border-bottom:1px solid var(--border-hairline);
  font-size:var(--text-sm);
  vertical-align:top;
  line-height:1.55;
}


.summary-first-table th[scope="row"] {
  font-family:var(--jigu-b0c);
  font-size:var(--text-xs);
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:var(--accent);
  text-align:left;
  white-space:normal;
  background-color:transparent;
  border-right:1px solid var(--border-hairline);
}


@media (max-width: 540px) {
  .summary-first-table,
  .summary-first-table tbody,
  .summary-first-table tr,
  .summary-first-table th,
  .summary-first-table td {
    display:block;
    width:100%;
  }


  .summary-first-table thead { display:none; }


  .summary-first-table tr {
    padding-block:0.75rem;
    border-bottom:1px solid var(--border-hairline);
  }


  .summary-first-table th[scope="row"] {
    border-right:none;
    padding-bottom:0.25rem;
    padding-inline:0;
  }


  .summary-first-table td {
    padding-top:0;
    padding-inline:0;
    border-bottom:none;
  }
}


.legal-prose-container {
  max-width:760px;
  margin-inline:auto;
}


.legal-prose-section { margin-block-end:var(--space-2xl); }


.legal-prose-section h2 {
  font-size:var(--text-xl);
  color:var(--accent);
  padding-bottom:0.4rem;
  border-bottom:1px solid var(--border-hairline);
  margin-block-end:0.75rem;
}


.legal-prose-section h3 {
  font-size:var(--text-md);
  color:var(--ink);
  margin-block-end:0.5rem;
}


.legal-prose-section p {
  font-size:var(--text-base);
  line-height:1.7;
  color:var(--ink);
  margin-block-end:1rem;
}


.disclosure-stack {
  display:flex;
  flex-direction:column;
  gap:1rem;
  margin-block:var(--space-2xl);
  max-width:880px;
  margin-inline:auto;
}


.disclosure-controls {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:0.75rem;
  margin-block-end:1rem;
  flex-wrap:wrap;
}


.disclosure-btn {
  font-family:var(--jigu-6c3);
  font-size:var(--text-xs);
  padding:0.5rem 1rem;
  min-height:44px;
  background-color:var(--surface-sunken);
  color:var(--accent);
  border:1px solid var(--border);
  border-radius:var(--radius-xs);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:0.45rem;
  transition:background-color var(--dur-fast) ease, border-color var(--dur-fast) ease, color var(--dur-fast) ease;
}


.disclosure-btn:hover {
  background-color:var(--surface);
  border-color:var(--accent);
  color:var(--accent-hover);
}


.disclosure-btn:active {
  background-color:var(--ground-deep);
  transform:translateY(1px);
}


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


.disclosure-item {
  background-color:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  overflow:hidden;
  transition:border-color var(--dur-fast) ease, background-color var(--dur-fast) ease;
}


.disclosure-item[open] {
  border-color:var(--accent);
  box-shadow:var(--shadow-subtle);
}


.disclosure-summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1.25rem 1.5rem;
  cursor:pointer;
  font-family:var(--jigu-b0c);
  font-size:var(--text-base);
  font-weight:600;
  color:var(--ink);
  list-style:none;
  user-select:none;
  min-height:48px;
  transition:color var(--dur-fast) ease, background-color var(--dur-fast) ease;
}


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


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


.disclosure-summary:active {
  color:var(--accent);
  background-color:var(--surface-sunken);
}


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


.disclosure-summary-text {
  flex-grow:1;
  padding-right:1rem;
  line-height:1.4;
}


.disclosure-toggle-icon {
  width:24px;
  height:24px;
  border:1px solid var(--border);
  border-radius:var(--radius-full);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--accent);
  flex-shrink:0;
  transition:transform var(--dur-fast) ease, background-color var(--dur-fast) ease, color var(--dur-fast) ease;
}


.disclosure-item[open] .disclosure-toggle-icon {
  transform:rotate(180deg);
  background-color:var(--accent);
  color:var(--ground-deep);
  border-color:var(--accent);
}


.disclosure-content {
  padding:1.25rem 1.5rem 1.75rem 1.5rem;
  border-top:1px solid var(--border-hairline);
  font-size:var(--text-sm);
  color:var(--ink-muted);
  line-height:1.68;
}


.disclosure-content p:last-child { margin-block-end:0; }


.framed-doc-wrapper { padding-block:var(--space-2xl); }


.framed-doc-card {
  max-width:860px;
  margin-inline:auto;
  background-color:var(--surface);
  border:1px solid var(--accent);
  border-radius:var(--radius-sm);
  padding:clamp(1.5rem, 5vw, 3.5rem);
  box-shadow:0 12px 40px rgba(24, 7, 9, 0.75), inset 0 0 0 1px var(--border-subtle);
  position:relative;
}


.framed-doc-card::before {
  content:"";
  position:absolute;
  inset:6px;
  border:1px dashed var(--border-hairline);
  pointer-events:none;
}


.doc-card-masthead {
  padding-bottom:var(--space-lg);
  border-bottom:2px solid var(--accent);
  margin-block-end:var(--space-xl);
  display:flex;
  flex-direction:column;
  gap:0.5rem;
}


.doc-card-tag {
  font-family:var(--jigu-6c3);
  font-size:var(--text-2xs);
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--accent);
}


.doc-card-title {
  font-family:var(--jigu-b0c);
  font-size:var(--text-2xl);
  font-weight:700;
  color:var(--ink);
  margin-block-end:0;
}


.doc-card-meta {
  display:flex;
  align-items:center;
  gap:1.5rem;
  font-family:var(--jigu-6c3);
  font-size:var(--text-xs);
  color:var(--ink-muted);
  flex-wrap:wrap;
  padding-top:0.25rem;
}


.doc-card-body {
  display:flex;
  flex-direction:column;
  gap:var(--space-xl);
}


.doc-clause {
  display:flex;
  flex-direction:column;
  gap:0.65rem;
}


.doc-clause-header {
  display:flex;
  align-items:baseline;
  gap:0.75rem;
  padding-bottom:0.35rem;
  border-bottom:1px solid var(--border-hairline);
}


.doc-clause-num {
  font-family:var(--jigu-6c3);
  font-size:var(--text-xs);
  font-weight:700;
  color:var(--accent);
  letter-spacing:0.05em;
}


.doc-clause-title {
  font-family:var(--jigu-b0c);
  font-size:var(--text-md);
  font-weight:600;
  color:var(--ink);
  margin-block-end:0;
}


.doc-clause-text {
  font-size:var(--text-sm);
  color:var(--ink-muted);
  line-height:1.65;
  margin-block-end:0;
}


.error-404-container {
  padding-block:clamp(3rem, 8vw, 6rem);
  text-align:center;
}


.error-404-card {
  max-width:640px;
  margin-inline:auto;
  background-color:var(--surface-sunken);
  border:1px solid var(--accent);
  border-radius:var(--radius-sm);
  padding:clamp(2rem, 5vw, 3.5rem);
  box-shadow:var(--shadow-elevated);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:var(--space-md);
}


.error-404-num {
  font-family:var(--jigu-6c3);
  font-size:clamp(3.5rem, 8vw, 5.5rem);
  font-weight:700;
  color:var(--accent);
  line-height:1;
}


.error-404-title {
  font-family:var(--jigu-b0c);
  font-size:var(--text-xl);
  font-weight:600;
  color:var(--ink);
  margin-block-end:0;
}


.error-404-desc {
  font-size:var(--text-base);
  color:var(--ink-muted);
  max-width:48ch;
  line-height:1.6;
}


.error-404-actions {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:0.5rem;
}


@media print {
  .site-header,
  .site-frame-strip,
  .cookie-banner,
  .chat-widget,
  .skip-link,
  .disclosure-controls { display:none !important; }


  body {
    background-color:#FFF !important;
    color:#111 !important;
  }


  .site-frame {
    border:none !important;
    box-shadow:none !important;
    margin:0 !important;
  }


  .disclosure-item {
    border:1px solid #CCC !important;
    break-inside:avoid;
    margin-block-end:1rem;
  }


  .disclosure-item[open],
  .disclosure-item:not([open]) { display:block !important; }


  .disclosure-content {
    display:block !important;
    color:#222 !important;
  }


  .framed-doc-card {
    border:1px solid #444 !important;
    box-shadow:none !important;
    background-color:transparent !important;
    color:#111 !important;
  }
}
