.hero-section {
   position: relative;
   border-bottom: 1px solid var(--line);
   background-color: var(--ground);
   overflow: hidden;
}


.hero-grid {
   display: grid;
   grid-template-columns: 1fr;
}


@media (min-width: 960px) {
   .hero-grid { grid-template-columns: minmax(0, 1.85fr) minmax(0, 1.15fr); }
}


.hero-left {
   padding: clamp(2.5rem, 1.8rem + 3vw, 5rem) clamp(1rem, 0.6rem + 2vw, 2.5rem);
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   border-bottom: 1px solid var(--line);
}


@media (min-width: 960px) {
   .hero-left {
      border-bottom: none;
      border-right: 1px solid var(--line);
   }
}


.hero-meta-strip {
   display: flex;
   flex-wrap: wrap;
   gap: var(--space-xs);
   align-items: center;
   margin-bottom: var(--space-lg);
}


.hero-headline {
   font-family: var(--tuhu-98c);
   font-size: clamp(2.25rem, 1.75rem + 2.5vw, 4.25rem);
   font-weight: 700;
   line-height: var(--leading-tight);
   letter-spacing: var(--tracking-tight);
   color: var(--ink);
   margin-bottom: var(--space-md);
   text-align: left;
}


.hero-headline span.accent { color: var(--accent-hover); }


.hero-lead-text {
   font-family: var(--tuhu-a82);
   font-size: clamp(1rem, 0.95rem + 0.35vw, 1.25rem);
   line-height: var(--leading-loose);
   color: #1e293b;
   max-width: 58ch;
   margin-bottom: var(--space-xl);
   text-align: left;
}


.hero-cta-group {
   display: flex;
   flex-wrap: wrap;
   gap: var(--space-sm);
   align-items: center;
   margin-bottom: var(--space-xl);
}


.hero-stats-band {
   display: grid;
   grid-template-columns: 1fr;
   border-top: 1px solid var(--line);
   padding-top: var(--space-md);
   gap: var(--space-sm);
}


@media (min-width: 560px) {
   .hero-stats-band { grid-template-columns: repeat(3, 1fr); }
}


.hero-stat-cell {
   display: flex;
   flex-direction: column;
   gap: 2px;
}


.hero-stat-num {
   font-family: var(--tuhu-c97);
   font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.75rem);
   font-weight: 700;
   color: var(--ink);
   line-height: var(--leading-none);
}


.hero-stat-label {
   font-family: var(--tuhu-c97);
   font-size: var(--text-2xs);
   color: var(--ink-muted);
   letter-spacing: var(--tracking-wider);
   text-transform: uppercase;
}


.hero-right {
   display: flex;
   flex-direction: column;
   background-color: var(--ground-subtle);
}


.hero-media-wrapper {

   position: relative;
   width: 100%;
   height: 100%;
   min-height: 320px;
   background-color: var(--surface);
   display: flex;
   flex-direction: column;
}


@media (min-width: 960px) {
   .hero-media-wrapper { min-height: 100%; }
}


.hero-media-wrapper img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   flex: 1;
}


.hero-telemetry-overlay {
   background-color: var(--surface);
   border-top: 1px solid var(--line);
   padding: var(--space-xs) var(--space-sm);
   display: flex;
   flex-direction: column;
   gap: var(--space-3xs);
   font-family: var(--tuhu-c97);
   font-size: var(--text-xs);
   color: var(--ink-muted);
}


@media (min-width: 640px) {
   .hero-telemetry-overlay {
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
   }
}


.section-split-asymm-a {
   display: grid;
   grid-template-columns: 1fr;
   border-bottom: 1px solid var(--line);
}


@media (min-width: 920px) {
   .section-split-asymm-a { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
}


.section-split-asymm-b {
   display: grid;
   grid-template-columns: 1fr;
   border-bottom: 1px solid var(--line);
}


@media (min-width: 920px) {
   .section-split-asymm-b { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
}


.panel-col-main {
   padding: clamp(2rem, 1.5rem + 2vw, 4rem) clamp(1rem, 0.6rem + 2vw, 2.5rem);
   border-bottom: 1px solid var(--line);
}


@media (min-width: 920px) {
   .panel-col-main {
      border-bottom: none;
      border-right: 1px solid var(--line);
   }
}


.panel-col-side {
   padding: clamp(1.5rem, 1.2rem + 1.5vw, 3rem) clamp(1rem, 0.6rem + 2vw, 2rem);
   background-color: var(--ground-subtle);
   display: flex;
   flex-direction: column;
   gap: var(--space-md);
}


.panel-title {
   font-family: var(--tuhu-98c);
   font-size: clamp(1.5rem, 1.25rem + 1vw, 2.25rem);
   font-weight: 700;
   line-height: var(--leading-tight);
   color: var(--ink);
   margin-bottom: var(--space-sm);

   text-align: left;
}


.panel-summary {
   font-family: var(--tuhu-a82);
   font-size: var(--text-base);
   line-height: var(--leading-loose);
   color: var(--ink-muted);
   max-width: 68ch;
   margin-bottom: var(--space-md);
   text-align: left;
}


.calc-section-wrapper {
   background-color: var(--ground);
   border-bottom: 1px solid var(--line);
   padding: clamp(2rem, 1.5rem + 2vw, 4rem) clamp(1rem, 0.6rem + 2vw, 2.5rem);
}


.calc-section-intro {
   margin-bottom: var(--space-lg);
   max-width: 78ch;
}


.calc-matrix-table {
   width: 100%;
   margin-top: var(--space-md);
   border: 1px solid var(--line);
   background-color: var(--surface-pure);
}


.calc-matrix-table th,
.calc-matrix-table td {
   padding: 0.625rem 0.875rem;
   border-bottom: 1px solid var(--line);
   font-size: var(--text-xs);
   text-align: left;
}


.calc-matrix-table th {
   background-color: var(--ground-subtle);
   font-family: var(--tuhu-c97);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wider);
}


.calc-sync-notice {
   font-family: var(--tuhu-c97);
   font-size: var(--text-xs);
   color: var(--status-ok);
   display: inline-flex;
   align-items: center;
   gap: var(--space-2xs);
   margin-top: var(--space-xs);
}


.catalog-index-header {
   padding: clamp(2.5rem, 1.8rem + 3vw, 4.5rem) clamp(1rem, 0.6rem + 2vw, 2.5rem);
   border-bottom: 1px solid var(--line);
   background-color: var(--ground);
}


.catalog-rate-grid {
   display: grid;
   grid-template-columns: 1fr;
   border-bottom: 1px solid var(--line);
}


@media (min-width: 800px) {
   .catalog-rate-grid { grid-template-columns: 1fr 1fr; }
}


.rate-cell {
   padding: clamp(1.5rem, 1.2rem + 1.2vw, 2.5rem) clamp(1rem, 0.6rem + 2vw, 2rem);
   border-bottom: 1px solid var(--line);
   background-color: var(--surface-pure);
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   gap: var(--space-md);
}


@media (min-width: 800px) {
   .rate-cell:nth-child(odd) { border-right: 1px solid var(--line); }
   .rate-cell:nth-last-child(-n+2) { border-bottom: none; }
}


.rate-cell-top {
   display: flex;
   flex-direction: column;
   gap: var(--space-2xs);
}


.rate-cell-badge { align-self: flex-start; }


.rate-cell-title {
   font-family: var(--tuhu-98c);
   font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.625rem);
   font-weight: 700;
   color: var(--ink);
   line-height: var(--leading-tight);
}


.rate-cell-figure {
   font-family: var(--tuhu-c97);
   font-size: clamp(1.5rem, 1.3rem + 0.8vw, 2rem);
   font-weight: 700;
   color: var(--accent-hover);
   line-height: var(--leading-none);
   margin: var(--space-2xs) 0;
}


.rate-cell-desc {
   font-size: var(--text-sm);
   line-height: var(--leading-normal);
   color: var(--ink-muted);
}


.rate-cell-specs {
   border-top: 1px solid var(--line);
   padding-top: var(--space-sm);
   display: flex;
   flex-direction: column;
   gap: var(--space-3xs);
   font-family: var(--tuhu-c97);
   font-size: var(--text-2xs);
   color: var(--ink-muted);
}


.service-subhead-banner {

   padding: clamp(2rem, 1.5rem + 2vw, 3.5rem) clamp(1rem, 0.6rem + 2vw, 2.5rem);
   background-color: var(--surface-pure);
   border-bottom: 1px solid var(--line);
}


.service-specs-strip {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
   border-bottom: 1px solid var(--line);
   background-color: var(--ground-subtle);
}


.service-spec-item {
   padding: var(--space-sm) var(--space-md);
   border-right: 1px solid var(--line);
   border-bottom: 1px solid var(--line);
   display: flex;
   flex-direction: column;
   gap: 2px;
}


@media (min-width: 880px) {
   .service-spec-item { border-bottom: none; }
}


.service-spec-k {
   font-family: var(--tuhu-c97);
   font-size: var(--text-2xs);
   color: var(--ink-muted);
   letter-spacing: var(--tracking-wider);
   text-transform: uppercase;
}


.service-spec-v {
   font-family: var(--tuhu-c97);
   font-size: var(--text-sm);
   font-weight: 600;
   color: var(--ink);
}


.technical-data-grid {
   display: grid;
   grid-template-columns: 1fr;
   border-bottom: 1px solid var(--line);
}


@media (min-width: 800px) {
   .technical-data-grid { grid-template-columns: 1fr 1fr; }
}


.data-grid-item {
   padding: clamp(1.25rem, 1rem + 1vw, 2rem);
   border-bottom: 1px solid var(--line);
   background-color: var(--surface-pure);
}


@media (min-width: 800px) {
   .data-grid-item:nth-child(odd) { border-right: 1px solid var(--line); }
}


.data-grid-k {
   font-family: var(--tuhu-c97);
   font-size: var(--text-xs);
   font-weight: 600;
   color: var(--accent-hover);
   letter-spacing: var(--tracking-wider);
   text-transform: uppercase;
   margin-bottom: var(--space-2xs);
}


.data-grid-v {
   font-size: var(--text-sm);
   line-height: var(--leading-normal);
   color: var(--ink);
}


.contact-layout-grid {
   display: grid;
   grid-template-columns: 1fr;
   border-bottom: 1px solid var(--line);
}


@media (min-width: 920px) {
   .contact-layout-grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
}


.contact-form-side {
   padding: clamp(2rem, 1.5rem + 2vw, 4rem) clamp(1rem, 0.6rem + 2vw, 2.5rem);
   background-color: var(--surface-pure);
   border-bottom: 1px solid var(--line);
}


@media (min-width: 920px) {
   .contact-form-side {
      border-bottom: none;
      border-right: 1px solid var(--line);
   }
}


.contact-info-side {
   padding: clamp(2rem, 1.5rem + 2vw, 4rem) clamp(1rem, 0.6rem + 2vw, 2rem);
   background-color: var(--ground-subtle);
   display: flex;
   flex-direction: column;
   gap: var(--space-xl);
}


.contact-card-block {
   border: 1px solid var(--line);
   background-color: var(--surface-pure);
   padding: var(--space-md);
   display: flex;
   flex-direction: column;
   gap: var(--space-xs);
}


.contact-card-title {
   font-family: var(--tuhu-c97);
   font-size: var(--text-xs);
   font-weight: 600;
   letter-spacing: var(--tracking-wider);
   text-transform: uppercase;
   color: var(--ink);
   border-bottom: 1px solid var(--line);
   padding-bottom: var(--space-3xs);
}


.contact-card-text {
   font-size: var(--text-sm);
   line-height: var(--leading-normal);
   color: var(--ink-muted);
}


.contact-card-text a {
   color: var(--ink);
   font-weight: 600;
   transition: color var(--dur-fast) var(--ease-out-quad);
}


.contact-card-text a:hover { color: var(--accent); }


.contact-card-text a:focus-visible {
   outline: var(--focus-ring);
   outline-offset: 2px;
}


.faq-accordion-group {
   display: flex;
   flex-direction: column;
   border-top: 1px solid var(--line);
   border-bottom: 1px solid var(--line);
}


.faq-accordion-item { border-bottom: 1px solid var(--line); }


.faq-accordion-item:last-child { border-bottom: none; }


.faq-accordion-trigger {
   width: 100%;
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: var(--space-md);
   padding: 1.125rem clamp(1rem, 0.6rem + 2vw, 2.5rem);
   min-height: 52px;
   background-color: var(--surface-pure);
   font-family: var(--tuhu-98c);
   font-size: clamp(1rem, 0.95rem + 0.3vw, 1.25rem);
   font-weight: 600;
   color: var(--ink);
   letter-spacing: var(--tracking-snug);
   text-align: left;
   cursor: pointer;
   transition: background-color var(--dur-fast) var(--ease-out-quad), color var(--dur-fast) var(--ease-out-quad);
}


.faq-accordion-trigger:hover {
   background-color: var(--ground-elevated);
   color: var(--accent-hover);
}


.faq-accordion-trigger:active { background-color: var(--ground-subtle); }


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


.faq-accordion-trigger[aria-expanded="true"] {
   background-color: var(--ground-subtle);
   color: var(--accent-hover);
}


.faq-accordion-trigger .faq-icon {
   width: 1.25rem;
   height: 1.25rem;
   flex-shrink: 0;
   transition: transform var(--dur-fast) var(--ease-out-quad);
}


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


.faq-accordion-panel {
   display: none;
   padding: var(--space-md) clamp(1rem, 0.6rem + 2vw, 2.5rem);
   background-color: var(--surface-pure);
   border-top: 1px dashed var(--line);
   font-family: var(--tuhu-a82);
   font-size: var(--text-base);
   line-height: var(--leading-loose);
   color: var(--ink);
}


.faq-accordion-panel.is-open,
.faq-accordion-panel:not([hidden]) { display: block; }


.legal-page-header {
   padding: clamp(2.5rem, 1.8rem + 3vw, 4.5rem) clamp(1rem, 0.6rem + 2vw, 2.5rem);
   background-color: var(--ground);
   border-bottom: 1px solid var(--line);
   display: flex;
   flex-direction: column;
   gap: var(--space-xs);
}


.legal-header-meta {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: var(--space-sm);
   font-family: var(--tuhu-c97);
   font-size: var(--text-xs);
   color: var(--ink-muted);
}


.legal-page-title {
   font-family: var(--tuhu-98c);
   font-size: clamp(2rem, 1.6rem + 1.8vw, 3.5rem);
   font-weight: 700;
   letter-spacing: var(--tracking-tight);
   color: var(--ink);
   line-height: var(--leading-tight);
}


.legal-page-subtitle {
   font-size: var(--text-md);
   line-height: var(--leading-normal);
   color: var(--ink-muted);
   max-width: 72ch;
}


.privacy-glance-section {
   background-color: var(--surface-pure);
   border-bottom: 1px solid var(--line);
   padding: clamp(2rem, 1.5rem + 2vw, 3.5rem) clamp(1rem, 0.6rem + 2vw, 2.5rem);
}


.glance-table {
   width: 100%;
   border: 1px solid var(--line);
   background-color: var(--surface-pure);
   font-family: var(--tuhu-a82);
   margin-top: var(--space-md);
}


.glance-table th,
.glance-table td {
   padding: 0.875rem 1rem;
   border-bottom: 1px solid var(--line);
   vertical-align: top;
}


.glance-table tr:last-child th,
.glance-table tr:last-child td { border-bottom: none; }


.glance-table th {
   background-color: var(--ground-subtle);
   font-family: var(--tuhu-c97);
   font-size: var(--text-xs);
   font-weight: 600;
   letter-spacing: var(--tracking-wide);
   text-transform: uppercase;
   color: var(--ink);
   width: 28%;
   white-space: normal;
}


@media (max-width: 768px) {
   .glance-table,
   .glance-table tbody,
   .glance-table tr,
   .glance-table th,
   .glance-table td {
      display: block !important;
      width: 100% !important;
   }
   .glance-table th {
      border-bottom: none !important;
      padding: 0.5rem 0.75rem 0.25rem 0.75rem !important;
      background-color: var(--ground-subtle) !important;
      font-size: var(--text-xs) !important;
   }
   .glance-table td {
      padding: 0.25rem 0.75rem 0.75rem 0.75rem !important;
      border-bottom: 1px solid var(--line) !important;
   }
}


.glance-table td {
   font-size: var(--text-sm);
   line-height: var(--leading-normal);
   color: var(--ink);
}


.privacy-prose-body {
   padding: clamp(2.5rem, 1.8rem + 3vw, 5rem) clamp(1rem, 0.6rem + 2vw, 2.5rem);
   background-color: var(--ground);
}


.privacy-prose-measure {
   max-width: 78ch;
   display: flex;
   flex-direction: column;
   gap: var(--space-lg);
}


.privacy-prose-measure h2 {
   font-size: clamp(1.35rem, 1.2rem + 0.6vw, 1.875rem);
   margin-top: var(--space-xl);
   border-top: 1px solid var(--line);
   padding-top: var(--space-lg);
}


.privacy-prose-measure h3 {
   font-size: clamp(1.125rem, 1.05rem + 0.3vw, 1.35rem);
   margin-top: var(--space-md);
}


.privacy-prose-measure p {
   font-size: var(--text-base);
   line-height: var(--leading-loose);
   color: var(--ink);
}


.cookies-questions-stream {
   background-color: var(--surface-pure);
   border-bottom: 1px solid var(--line);
}


.cookie-q-block {
   padding: clamp(2rem, 1.5rem + 2vw, 4rem) clamp(1rem, 0.6rem + 2vw, 2.5rem);
   border-bottom: 1px solid var(--line);
   display: flex;
   flex-direction: column;
   gap: var(--space-md);
}


.cookie-q-block:last-child { border-bottom: none; }


.cookie-q-question {
   font-family: var(--tuhu-98c);
   font-size: clamp(1.5rem, 1.3rem + 1vw, 2.25rem);
   font-weight: 700;
   line-height: var(--leading-snug);
   letter-spacing: var(--tracking-tight);
   color: var(--ink);
   max-width: 72ch;
}


.cookie-q-answer {
   font-family: var(--tuhu-a82);
   font-size: var(--text-base);
   line-height: var(--leading-loose);
   color: var(--ink);
   max-width: 80ch;
   display: flex;
   flex-direction: column;
   gap: var(--space-sm);
}


.terms-statute-container {
   padding: clamp(2rem, 1.5rem + 2vw, 4rem) clamp(1rem, 0.6rem + 2vw, 2.5rem);
   background-color: var(--surface-pure);
   border-bottom: 1px solid var(--line);
}


.statute-columns {
   column-gap: var(--space-2xl);
   column-rule: 1px solid var(--line);
}


@media (min-width: 840px) {
   .statute-columns { column-count: 2; }
}


.statute-entry {
   break-inside: avoid-column;
   margin-bottom: var(--space-lg);
   font-family: var(--tuhu-a82);
   font-size: var(--text-sm);
   line-height: var(--leading-loose);
   color: var(--ink);
   text-align: justify;
}


.statute-heading {
   font-family: var(--tuhu-c97);
   font-size: var(--text-xs);
   font-weight: 700;
   letter-spacing: var(--tracking-widest);
   text-transform: uppercase;
   color: var(--ink);
   margin-right: var(--space-2xs);
   display: inline;
}


.statute-heading::after {
   content: " — ";
   color: var(--accent-hover);
   font-weight: bold;
}


.dsar-panel-box {
   margin-top: var(--space-xl);
   border: 1px solid var(--line);
   background-color: var(--ground-subtle);
   padding: var(--space-md);
}


.error-404-canvas {
   padding: clamp(3rem, 2rem + 4vw, 7rem) clamp(1rem, 0.6rem + 2vw, 2.5rem);
   background-color: var(--ground);
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   gap: var(--space-md);
   border-bottom: 1px solid var(--line);
}


.error-404-code {
   font-family: var(--tuhu-c97);
   font-size: clamp(3.5rem, 3rem + 4vw, 7rem);
   font-weight: 700;
   color: var(--ink-faint);
   line-height: var(--leading-none);
   letter-spacing: var(--tracking-tight);
}


.error-404-title {
   font-family: var(--tuhu-98c);
   font-size: clamp(1.75rem, 1.4rem + 1.5vw, 2.75rem);
   font-weight: 700;
   color: var(--ink);
}


.error-404-desc {
   font-size: var(--text-md);
   line-height: var(--leading-normal);
   color: var(--ink-muted);
   max-width: 60ch;
}


.equipment-diagram-grid {
   display: grid;
   grid-template-columns: 1fr;
   border-bottom: 1px solid var(--line);
}


@media (min-width: 840px) {
   .equipment-diagram-grid { grid-template-columns: 1fr 1fr; }
}


.diagram-item {
   padding: clamp(1.5rem, 1.2rem + 1.5vw, 3rem) clamp(1rem, 0.6rem + 2vw, 2.5rem);
   border-bottom: 1px solid var(--line);
   background-color: var(--surface-pure);
   display: flex;
   flex-direction: column;
   gap: var(--space-sm);
}


@media (min-width: 840px) {
   .diagram-item:nth-child(odd) { border-right: 1px solid var(--line); }
}


.diagram-item-num {
   font-family: var(--tuhu-c97);
   font-size: var(--text-xs);
   font-weight: 600;
   color: var(--accent);
   letter-spacing: var(--tracking-wider);
}


.diagram-item-heading {
   font-family: var(--tuhu-98c);
   font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.625rem);
   font-weight: 700;
   color: var(--ink);
}


.diagram-item-body {
   font-size: var(--text-base);
   line-height: var(--leading-loose);
   color: var(--ink-muted);
}


.about-bio-stage {
   display: grid;
   grid-template-columns: 1fr;
   border-bottom: 1px solid var(--line);
}


@media (min-width: 920px) {
   .about-bio-stage { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
}


.about-bio-prose {
   padding: clamp(2rem, 1.5rem + 2vw, 4rem) clamp(1rem, 0.6rem + 2vw, 2.5rem);
   background-color: var(--surface-pure);
   border-bottom: 1px solid var(--line);
}


@media (min-width: 920px) {
   .about-bio-prose {
      border-bottom: none;
      border-right: 1px solid var(--line);
   }
}


.about-facts-sidebar {
   padding: clamp(2rem, 1.5rem + 2vw, 4rem) clamp(1rem, 0.6rem + 2vw, 2rem);
   background-color: var(--ground-subtle);
   display: flex;
   flex-direction: column;
   gap: var(--space-lg);
}


.verified-fact-card {
   border: 1px solid var(--line);
   background-color: var(--surface-pure);
   padding: var(--space-md);
   display: flex;
   flex-direction: column;
   gap: var(--space-2xs);
}


.verified-fact-num {
   font-family: var(--tuhu-c97);
   font-size: clamp(1.75rem, 1.5rem + 0.8vw, 2.5rem);
   font-weight: 700;
   color: var(--ink);
   line-height: var(--leading-none);
}


.verified-fact-k {
   font-family: var(--tuhu-c97);
   font-size: var(--text-xs);
   font-weight: 600;
   color: var(--accent-hover);
   letter-spacing: var(--tracking-wider);
   text-transform: uppercase;
}


.verified-fact-d {
   font-size: var(--text-sm);
   line-height: var(--leading-normal);
   color: var(--ink-muted);
}
