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

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

@media (min-width: 960px) {
   .hero-split-grid {
      grid-template-columns:minmax(0, 1.1fr) minmax(0, 0.9fr);
      align-items:stretch;
      min-height:calc(100vh - 64px - 33px);
      min-height:calc(100dvh - 64px - 33px);
   }
}

.hero-copy-column {
   padding:clamp(2rem, 1.5rem + 3vw, 4.5rem) var(--frame-pad);
   display:flex;
   flex-direction:column;
   justify-content:center;
   gap:1.25rem;
   position:relative;
   z-index:10;
   pointer-events:auto;
}

.hero-meta-kicker {
   font-family:var(--zehe-6a0);
   font-size:var(--text-xs);
   color:var(--ink-soft);
   text-transform:uppercase;
   letter-spacing:0.08em;
   display:flex;
   align-items:center;
   gap:0.5rem;
}

.hero-meta-kicker::before {
   content:"";
   display:inline-block;
   width:6px;
   height:6px;
   border-radius:var(--radius-xs);
   background-color:var(--accent);
}

.hero-headline {
   font-family:var(--zehe-808);
   font-size:var(--text-hero);
   font-weight:600;
   line-height:var(--leading-tight);
   color:var(--ink);
   letter-spacing:-0.025em;
   text-wrap:balance;
   max-width:100%;
}

.hero-headline .accent-line {
   color:var(--ink);
   display:block;
   font-style:italic;
   font-weight:500;
}

.hero-lede {
   font-size:var(--text-lg);
   line-height:var(--leading-relaxed);
   color:var(--ink-soft);
   max-width:52ch;
}

.hero-actions {

   display:flex;
   align-items:center;
   margin-top:0.25rem;
}

.hero-specs-row {
   display:grid;
   grid-template-columns:repeat(2, 1fr);
   gap:1.25rem;
   padding-top:1.5rem;
   border-top:1px solid var(--line);
   margin-top:1rem;
}

@media (min-width: 640px) {
   .hero-specs-row {
      grid-template-columns:repeat(4, auto);
      gap:1.75rem;
   }
}

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

.hero-spec-label {
   font-family:var(--zehe-6a0);
   font-size:var(--text-xs);
   color:var(--ink-soft);
   text-transform:uppercase;
   letter-spacing:0.05em;
}

.hero-spec-val {
   font-family:var(--zehe-6a0);
   font-size:var(--text-sm);
   font-weight:600;
   color:var(--ink);
}

/* Scrubbed Sequence opening stage: right column (tall bleed, 4:5 or taller) */
.hero-stage-column {
   position:relative;
   background-color:var(--surface);
   border-left:1px solid var(--line);
   overflow:hidden;
   z-index:1;
}

@media (max-width: 959px) {
   .hero-stage-column {
      order:-1;

      border-left:0;
      border-bottom:1px solid var(--line);
      width:100%;
      aspect-ratio:16 / 9;
      max-height:38vh;
   }
}

.sequence-stage {
   position:relative;
   width:100%;
   height:100%;
   min-height:100%;
   overflow:hidden;
}

@media (max-width: 959px) {
   .sequence-stage {
      aspect-ratio:16 / 9;
      max-height:38vh;
   }
   .hero-copy-column {
      padding:clamp(1.25rem, 1rem + 2vw, 2.5rem) var(--frame-pad);
      gap:0.85rem;
   }
   .hero-headline { font-size:clamp(1.75rem, 1.5rem + 1.8vw, 2.35rem); }
   .hero-lede { font-size:var(--text-base); }
   .hero-specs-row {
      margin-top:0.5rem;
      padding-top:1rem;
      gap:0.75rem;
   }
}

.sequence-frame {
   position:absolute;
   inset:0;
   width:100%;
   height:100%;
   object-fit:cover;
   object-position:68% 40%;
   opacity:0;
   visibility:hidden;
   transition:opacity var(--dur-med) var(--ease-out),
                     visibility var(--dur-med) var(--ease-out);
}

@media (min-width: 960px) {
   .hero-stage-column {
      display:flex;
      flex-direction:column;
      height:100%;
      aspect-ratio:3 / 2;
   }
   .sequence-stage {
      width:100%;

      height:100%;
      aspect-ratio:3 / 2;
   }
}

.sequence-frame.is-active,
.sequence-frame[data-frame="0"] {
   opacity:1;
   visibility:visible;
}

/* Captions and scrub indicators overlaid on sequence */
.sequence-caption-bar {
   position:absolute;
   bottom:0;
   left:0;
   right:0;
   padding:0.85rem 1.25rem;
   background-color:rgba(213, 220, 212, 0.92);
   backdrop-filter:blur(8px);
   border-top:1px solid var(--line);
   display:flex;
   align-items:center;
   justify-content:space-between;
   gap:1rem;
   z-index:5;
   font-size:var(--text-xs);
   color:var(--ink);
}

.sequence-caption-text {
   font-family:var(--zehe-90a);
   font-weight:500;
   line-height:1.2;
}

.sequence-progress-track {
   width:90px;
   height:3px;
   background-color:var(--line);
   border-radius:2px;
   overflow:hidden;
   flex-shrink:0;
}

.sequence-progress-fill {
   height:100%;
   width:33.33%;
   background-color:var(--accent);
   transition:width var(--dur-fast) var(--ease-out);
}

.tabs-control-section {
   background-color:var(--surface);
   border-bottom:1px solid var(--line);
}

.tabs-nav-wrapper {
   display:flex;
   align-items:stretch;
   overflow-x:auto;
   scrollbar-width:none;
   -ms-overflow-style:none;
}

.tabs-nav-wrapper::-webkit-scrollbar { display:none; }

.tab-trigger {
   appearance:none;
   background:none;
   border:0;
   border-right:1px solid var(--line);
   padding:1.1rem 1.75rem;
   font-family:var(--zehe-90a);
   font-size:var(--text-sm);
   font-weight:600;
   color:var(--ink-soft);
   cursor:pointer;
   white-space:nowrap;
   display:inline-flex;
   align-items:center;
   gap:0.5rem;
   transition:background-color var(--dur-fast) var(--ease-out),
                     color var(--dur-fast) var(--ease-out),
                     box-shadow var(--dur-fast) var(--ease-out);
}

.tab-trigger:hover {
   background-color:var(--surface-2);
   color:var(--ink);
}

.tab-trigger:active { background-color:var(--ground); }

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

.tab-trigger[aria-selected="true"],
.tab-trigger.is-active {
   background-color:var(--ground);
   color:var(--ink);
   box-shadow:inset 0 -3px 0 0 var(--accent);
}

.tab-content-panel {
   display:none;
   animation:fadeInPanel var(--dur-med) var(--ease-out);
}

.tab-content-panel.is-active { display:block; }

@keyframes fadeInPanel {
   from {
      opacity:0;
      transform:translateY(6px);
   }
   to {
      opacity:1;
      transform:translateY(0);
   }
}

.annotated-diagram-wrap {
   position:relative;
   background-color:var(--surface);
   border:1px solid var(--line);
   border-radius:var(--radius-xs);
   padding:clamp(1.5rem, 1rem + 2vw, 3rem);
   margin:2.5rem 0;
}

.diagram-header-note {
   display:flex;
   justify-content:space-between;
   align-items:baseline;
   border-bottom:1px solid var(--line);
   padding-bottom:1rem;
   margin-bottom:2rem;
   flex-wrap:wrap;
   gap:0.75rem;
}

.diagram-plate-title {
   font-family:var(--zehe-808);
   font-size:var(--text-2xl);
   font-weight:600;
   color:var(--ink);
}

.diagram-plate-meta {
   font-family:var(--zehe-6a0);
   font-size:var(--text-xs);
   color:var(--ink-soft);
   text-transform:uppercase;
}

.diagram-stage-grid {
   display:grid;
   grid-template-columns:1fr;
   gap:2rem;
   align-items:start;
}

@media (min-width: 860px) {
   .diagram-stage-grid {
      grid-template-columns:minmax(0, 1.15fr) minmax(0, 0.85fr);
      gap:3rem;
      align-items:start;
   }
}

.diagram-figure-box {
   position:relative;
   border:1px solid var(--line);
   background-color:var(--ground);
   border-radius:var(--radius-xs);
   overflow:hidden;
}

.diagram-figure-box img {
   width:100%;
   height:auto;
   aspect-ratio:4 / 3;
   object-fit:cover;
   filter:contrast(0.98) saturate(0.95);
}

/* Vector annotation overlay layer */
.diagram-overlay-svg {
   position:absolute;
   inset:0;
   width:100%;
   height:100%;
   pointer-events:none;
}

.diagram-callout-point {
   position:absolute;
   transform:translate(-50%, -50%);
   width:32px;
   height:32px;
   min-height:32px;
   min-width:32px;
   border-radius:var(--radius-xs);
   background-color:var(--ground);
   border:1px solid var(--line);
   color:var(--ink);
   font-family:var(--zehe-6a0);
   font-size:13px;
   font-weight:600;
   display:grid;
   place-content:center;
   box-shadow:0 2px 6px rgba(39, 42, 39, 0.1);
   cursor:pointer;
   pointer-events:auto;
   transition:background-color var(--dur-fast) var(--ease-out),
                     border-color var(--dur-fast) var(--ease-out),
                     color var(--dur-fast) var(--ease-out);
}

.diagram-callout-point:hover,
.diagram-callout-point.is-active {
   background-color:var(--accent);
   border-color:var(--accent);
   color:var(--accent-ink);
}

/* Callout legend editorial rows */
.diagram-legend-stack {
   display:flex;
   flex-direction:column;
   border-top:1px solid var(--line);
}

.diagram-card {
   padding:1.25rem 0;
   background-color:transparent;
   border:0;
   border-bottom:1px solid var(--line);
   border-left:3px solid transparent;
   padding-left:1rem;
   border-radius:0;
   box-shadow:none;
   transition:border-left-color var(--dur-fast) var(--ease-out),
                     background-color var(--dur-fast) var(--ease-out),
                     padding-left var(--dur-fast) var(--ease-out);
}

.diagram-card:hover,
.diagram-card.is-active {
   border-left-color:var(--accent);
   background-color:rgba(213, 220, 212, 0.45);
   padding-left:1.25rem;
}

.diagram-card-head {
   display:flex;
   justify-content:space-between;
   align-items:baseline;
   gap:0.5rem;
   margin-bottom:0.35rem;
}

.diagram-card-title {
   font-family:var(--zehe-808);
   font-size:var(--text-lg);
   font-weight:600;
   color:var(--ink);
}

.diagram-card-price {
   font-family:var(--zehe-6a0);
   font-size:var(--text-sm);
   color:var(--accent);
   font-weight:600;
}

.diagram-card-desc {
   font-size:var(--text-sm);
   color:var(--ink-soft);
   line-height:var(--leading-snug);
}

.prose-section {
   padding:var(--section-pad) var(--frame-pad);
   border-bottom:1px solid var(--line);
}

.prose-heading {
   font-family:var(--zehe-808);
   font-size:var(--text-3xl);
   font-weight:600;
   line-height:var(--leading-tight);
   color:var(--ink);
   margin-bottom:1.75rem;
   text-wrap:balance;
}

.prose-block {
   display:flex;
   flex-direction:column;
   gap:1.35rem;
}

.prose-block p {
   font-size:var(--text-base);
   line-height:var(--leading-relaxed);
   color:var(--ink-soft);
}

.prose-block p strong { color:var(--ink); }

/* Margin image: sits inside margin column */
.margin-image-card {
   border:1px solid var(--line);
   background-color:var(--ground);
   border-radius:var(--radius-xs);
   overflow:hidden;
   display:flex;
   flex-direction:column;
}

.margin-image-card picture {
   display:block;
   height:auto;
}

.margin-image-card img {
   width:100%;
   aspect-ratio:4 / 3;
   object-fit:cover;
   display:block;
}

.margin-image-caption {
   padding:0.65rem 0.85rem;
   font-size:var(--text-xs);
   font-family:var(--zehe-6a0);
   color:var(--ink-soft);
   border-top:1px solid var(--line);
   line-height:1.25;
   background-color:var(--ground);
   position:relative;
   z-index:1;
}

/* Full-bleed break image spanning reading and margin columns */
.bleed-break-figure {
   grid-column:1 / -1;
   margin:2.5rem 0;
   border:1px solid var(--line);
   background-color:var(--surface);
   border-radius:var(--radius-xs);
   overflow:hidden;
}

.bleed-break-figure img {
   width:100%;
   aspect-ratio:16 / 9;
   object-fit:cover;
   object-position:center 40%;
}

.bleed-break-caption {
   padding:0.75rem 1.25rem;
   border-top:1px solid var(--line);
   background-color:var(--ground);
   display:flex;
   justify-content:space-between;
   align-items:center;
   gap:1rem;
   font-size:var(--text-xs);
   font-family:var(--zehe-6a0);
   color:var(--ink-soft);
}

.service-header-strip {
   padding:clamp(2.5rem, 1.8rem + 3vw, 4.5rem) var(--frame-pad);
   border-bottom:1px solid var(--line);
   background-color:var(--surface);
}

.service-title-row {
   display:flex;
   flex-direction:column;
   gap:1rem;
   max-width:820px;
}

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

.service-badge {
   font-family:var(--zehe-6a0);
   font-size:var(--text-xs);
   color:var(--ink);
   background-color:var(--ground);
   border:1px solid var(--line);
   padding:0.3rem 0.65rem;
   border-radius:var(--radius-xs);
   letter-spacing:0.02em;
}

.service-badge.is-accent {
   background-color:var(--accent);
   color:#ffffff;
   border-color:var(--accent);
}

.service-spec-grid {
   display:grid;
   grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
   gap:1.5rem;
   padding:2rem 0;
   border-top:1px solid var(--line);
   border-bottom:1px solid var(--line);
   margin:2rem 0;
}

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

.service-spec-label {
   font-family:var(--zehe-6a0);
   font-size:var(--text-xs);
   color:var(--ink-soft);
   text-transform:uppercase;
   letter-spacing:0.05em;
}

.service-spec-value {
   font-family:var(--zehe-6a0);
   font-size:var(--text-lg);
   font-weight:600;
   color:var(--ink);
}

.service-spec-value.is-accent { color:var(--accent); }

/* Step list for treatment procedure */
.step-sequence {
   display:flex;
   flex-direction:column;
   border-top:1px solid var(--line);
   margin:1.5rem 0;
}

.step-row {
   display:grid;
   grid-template-columns:1fr;
   padding:1.5rem 0;
   border-bottom:1px solid var(--line);
   gap:0.85rem;
}

@media (min-width: 640px) {
   .step-row {
      grid-template-columns:180px 1fr;
      gap:2rem;
      align-items:baseline;
   }
}

.step-phase {
   font-family:var(--zehe-6a0);
   font-size:var(--text-xs);
   color:var(--accent);
   text-transform:uppercase;
   letter-spacing:0.05em;
   font-weight:600;
}

.step-body {
   display:flex;
   flex-direction:column;
   gap:0.35rem;
}

.step-name {
   font-family:var(--zehe-808);
   font-size:var(--text-xl);
   font-weight:600;
   color:var(--ink);
}

.step-desc {
   font-size:var(--text-sm);
   color:var(--ink-soft);
   line-height:var(--leading-snug);
}

.tool-container {
   background-color:var(--surface);
   border:1px solid var(--line);
   border-radius:var(--radius-xs);
   padding:clamp(1.5rem, 1.2rem + 2vw, 3rem);
   margin:2rem 0;
}

.tool-layout {
   display:grid;
   grid-template-columns:1fr;
   gap:2.5rem;
}

@media (min-width: 880px) {
   .tool-layout {
      grid-template-columns:minmax(0, 1.2fr) minmax(0, 0.8fr);
      align-items:start;
   }
}

.tool-inputs-stack {
   display:flex;
   flex-direction:column;
   gap:1.75rem;
}

.tool-group-label {
   font-family:var(--zehe-808);
   font-size:var(--text-lg);
   font-weight:600;
   color:var(--ink);
   margin-bottom:0.75rem;
   display:block;
}

.tool-options-grid {
   display:grid;
   grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
   gap:0.75rem;
}

.tool-option-card {
   position:relative;
   background-color:var(--ground);
   border:1px solid var(--line);
   border-radius:var(--radius-xs);
   padding:0.85rem;
   cursor:pointer;
   display:flex;
   flex-direction:column;
   gap:0.25rem;
   transition:border-color var(--dur-fast) var(--ease-out),
                     background-color var(--dur-fast) var(--ease-out),
                     box-shadow var(--dur-fast) var(--ease-out);
}

.tool-option-card:hover {
   border-color:var(--ink-soft);
   background-color:var(--surface-2);
}

.tool-option-card input[type='radio'],
.tool-option-card input[type='checkbox'] {
   position:absolute;
   opacity:0;
   width:0;
   height:0;
}

.tool-option-card:has(input:checked) {
   border-color:var(--accent);
   background-color:var(--ground);
   box-shadow:inset 0 0 0 1px var(--accent);
}

.tool-option-card:has(input:focus-visible) {
   outline:2px solid var(--focus-ring);
   outline-offset:2px;
}

.tool-option-title {
   font-size:var(--text-sm);
   font-weight:600;
   color:var(--ink);
}

.tool-option-sub {
   font-size:var(--text-xs);
   color:var(--ink-soft);
   font-family:var(--zehe-6a0);
}

/* Tool output summary card */
.tool-summary-card {
   background-color:var(--ground);
   border:1px solid var(--line);
   border-radius:var(--radius-xs);
   padding:1.75rem;
   display:flex;
   flex-direction:column;
   gap:1.5rem;
   position:sticky;
   top:1.5rem;
}

.tool-summary-heading {
   font-family:var(--zehe-808);
   font-size:var(--text-xl);
   font-weight:600;
   color:var(--ink);
   border-bottom:1px solid var(--line);
   padding-bottom:0.75rem;
}

.tool-metric-row {
   display:flex;
   justify-content:space-between;
   align-items:baseline;
   gap:1rem;
}

.tool-metric-label {
   font-family:var(--zehe-6a0);
   font-size:var(--text-xs);
   color:var(--ink-soft);
   text-transform:uppercase;
}

.tool-metric-number {
   font-family:var(--zehe-6a0);
   font-size:var(--text-2xl);
   font-weight:600;
   color:var(--accent);
}

.tool-note-box {
   background-color:var(--surface);
   border-left:3px solid var(--line);
   padding:0.85rem 1rem;
   font-size:var(--text-xs);
   color:var(--ink-soft);
   line-height:var(--leading-snug);
}

.tool-disclaimer {
   font-size:var(--text-xs);
   color:var(--ink-soft);
   border-top:1px solid var(--line);
   padding-top:0.85rem;
   line-height:1.35;
}

.privacy-stack-wrap {
   padding:clamp(2rem, 1.5rem + 2.5vw, 4.5rem) var(--frame-pad);
   max-width:900px;
   margin:0 auto;
}

.legal-page-header {
   border-bottom:1px solid var(--line);
   padding-bottom:2rem;
   margin-bottom:2.5rem;
}

.legal-page-title {
   font-family:var(--zehe-808);
   font-size:var(--text-3xl);
   font-weight:600;
   color:var(--ink);
   margin-bottom:0.85rem;
}

.legal-controls-bar {
   display:flex;
   flex-wrap:wrap;
   gap:1rem;
   align-items:center;
   margin-top:1.5rem;
}

.privacy-disclosure-stack {
   display:flex;
   flex-direction:column;
   gap:1.25rem;
}

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

.disclosure-item[open] {
   border-color:var(--ink-soft);
   background-color:var(--ground);
}

.disclosure-summary {
   padding:1.25rem 1.5rem;
   font-family:var(--zehe-808);
   font-size:var(--text-xl);
   font-weight:600;
   color:var(--ink);
   cursor:pointer;
   list-style:none;
   display:flex;
   align-items:center;
   justify-content:space-between;
   gap:1rem;
   user-select:none;
   background-color:var(--surface);
   transition:background-color var(--dur-fast) var(--ease-out),
                     color var(--dur-fast) var(--ease-out);
}

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

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

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

.disclosure-summary-icon {
   width:20px;
   height:20px;
   flex-shrink:0;
   transition:transform var(--dur-fast) var(--ease-out);
   color:var(--ink);
}

.disclosure-item[open] .disclosure-summary-icon {
   transform:rotate(180deg);
   color:var(--accent);
}

.disclosure-content {
   padding:1.5rem 1.5rem 2rem;
   border-top:1px solid var(--line);
   font-size:var(--text-base);
   line-height:var(--leading-relaxed);
   color:var(--ink-soft);
   display:flex;
   flex-direction:column;
   gap:1rem;
}

.disclosure-content p strong { color:var(--ink); }

.cookies-sticky-layout {
   padding:clamp(2rem, 1.5rem + 2.5vw, 4.5rem) var(--frame-pad);
   display:grid;
   grid-template-columns:1fr;
   gap:2.5rem;
}

@media (min-width: 900px) {
   .cookies-sticky-layout {
      grid-template-columns:260px minmax(0, 1fr);
      gap:3.5rem;
      align-items:start;
   }
}

.cookies-mobile-jump {
   display:flex;
   flex-direction:column;
   gap:0.5rem;
   background-color:var(--surface);
   border:1px solid var(--line);
   padding:1rem;
   border-radius:var(--radius-xs);
   margin-bottom:1.5rem;
}

@media (min-width: 900px) {
   .cookies-mobile-jump { display:none; }
}

.cookies-jump-select {
   width:100%;
   padding:0.65rem 0.85rem;
   min-height:44px;
   background-color:var(--ground);
   border:1px solid var(--line);
   color:var(--ink);
   font-size:16px;
   border-radius:var(--radius-xs);
}

@media (max-width: 48rem) {
   .cookies-jump-select { font-size:16px; }
}

/* Desktop sticky index rail */
.cookies-sticky-aside { display:none; }

@media (min-width: 900px) {
   .cookies-sticky-aside {
      display:block;
      position:sticky;
      top:2rem;
      background-color:var(--surface);
      border:1px solid var(--line);
      border-radius:var(--radius-xs);
      padding:1.25rem 1rem;
   }
}

.cookies-index-nav {
   display:flex;
   flex-direction:column;
   gap:0.35rem;
}

.cookies-index-link {
   display:flex;
   align-items:center;
   gap:0.65rem;
   padding:0.5rem 0.65rem;
   font-size:var(--text-xs);
   font-family:var(--zehe-90a);
   color:var(--ink-soft);
   text-decoration:none;
   border-radius:var(--radius-xs);
   min-height:40px;
   line-height:1.25;
   transition:background-color var(--dur-fast) var(--ease-out),
                     color var(--dur-fast) var(--ease-out);
}

.cookies-index-link:hover {
   background-color:var(--surface-2);
   color:var(--ink);
}

.cookies-index-link:active { background-color:var(--ground); }

.cookies-index-link:focus-visible {
   outline:2px solid var(--focus-ring);
   outline-offset:-1px;
}

.cookies-index-link.is-active {
   background-color:var(--ground);
   color:var(--accent);
   font-weight:600;
   box-shadow:inset 2px 0 0 0 var(--accent);
}

.cookies-index-num {
   font-family:var(--zehe-6a0);
   font-weight:600;
   font-size:11px;
   opacity:0.85;
}

/* Cookies reading column with numbered section blocks */
.cookies-reading-col {
   display:flex;
   flex-direction:column;
   gap:3.5rem;
   min-width:0;
}

.cookie-section-block {
   scroll-margin-top:2rem;
   border-bottom:1px solid var(--line);
   padding-bottom:2.5rem;
   display:flex;
   flex-direction:column;
   gap:1.25rem;
}

.cookie-section-number {
   font-family:var(--zehe-6a0);
   font-size:var(--text-xs);
   color:var(--accent);
   font-weight:600;
   letter-spacing:0.05em;
   text-transform:uppercase;
}

.cookie-section-title {
   font-family:var(--zehe-808);
   font-size:var(--text-2xl);
   font-weight:600;
   color:var(--ink);
}

.terms-statute-wrap {
   padding:clamp(2rem, 1.5rem + 2.5vw, 4.5rem) var(--frame-pad);
   max-width:1040px;
   margin:0 auto;
}

.statute-columns {
   column-count:1;
   column-gap:3.5rem;
   column-rule:1px solid var(--line);
   text-align:justify;
}

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

.statute-paragraph {
   font-size:var(--text-sm);
   line-height:var(--leading-relaxed);
   color:var(--ink-soft);
   margin-bottom:1.5rem;
   break-inside:avoid;
   hyphens:none;
}

.statute-lead-caps {
   font-family:var(--zehe-90a);
   font-variant:all-small-caps;
   font-weight:700;
   letter-spacing:0.06em;
   color:var(--ink);
   font-size:1.05em;
   margin-right:0.35rem;
}

.statute-clause-num {
   font-family:var(--zehe-6a0);
   font-weight:600;
   color:var(--accent);
   margin-right:0.35rem;
}

.data-table-container {
   width:100%;
   overflow-x:auto;
   border:1px solid var(--line);
   background-color:var(--ground);
   margin:1.75rem 0;
   border-radius:var(--radius-xs);
}

.data-legal-table {
   width:100%;
   border-collapse:collapse;
   font-size:var(--text-xs);
   min-width:580px;
}

.data-legal-table th,
.data-legal-table td {
   padding:0.85rem 1rem;
   border-bottom:1px solid var(--line);
   border-right:1px solid var(--line);
   text-align:left;
   vertical-align:top;
}

.data-legal-table th:last-child,
.data-legal-table td:last-child { border-right:0; }

.data-legal-table th {
   background-color:var(--surface);
   font-family:var(--zehe-6a0);
   font-weight:600;
   color:var(--ink);
   text-transform:uppercase;
   letter-spacing:0.04em;
}

.data-legal-table tr:last-child td { border-bottom:0; }

.code-badge {
   font-family:var(--zehe-6a0);
   background-color:var(--surface-2);
   padding:0.2rem 0.4rem;
   border-radius:var(--radius-xs);
   color:var(--ink);
   font-size:11px;
}

.faq-accordion-group {
   display:flex;
   flex-direction:column;
   gap:0.75rem;
   margin:2rem 0;
}

.faq-item {
   background-color:var(--surface);
   border:1px solid var(--line);
   border-radius:var(--radius-xs);
   transition:border-color var(--dur-fast) var(--ease-out);
}

.faq-item[open] {
   border-color:var(--ink);
   background-color:var(--ground);
}

.faq-trigger {
   padding:1.15rem 1.35rem;
   font-family:var(--zehe-808);
   font-size:var(--text-lg);
   font-weight:600;
   color:var(--ink);
   cursor:pointer;
   list-style:none;
   display:flex;
   justify-content:space-between;
   align-items:center;
   gap:1rem;
   user-select:none;
   transition:color var(--dur-fast) var(--ease-out);
}

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

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

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

.faq-icon {
   width:18px;
   height:18px;
   flex-shrink:0;
   transition:transform var(--dur-fast) var(--ease-out);
}

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

.faq-panel {
   padding:1.25rem 1.35rem 1.5rem;
   border-top:1px solid var(--line);
   font-size:var(--text-sm);
   line-height:var(--leading-relaxed);
   color:var(--ink-soft);
}

.contact-grid {
   display:grid;
   grid-template-columns:1fr;
   gap:3rem;
   padding:clamp(2rem, 1.5rem + 3vw, 4.5rem) var(--frame-pad);
}

@media (min-width: 900px) {
   .contact-grid {
      grid-template-columns:minmax(0, 1.1fr) minmax(0, 0.9fr);
      align-items:start;
      gap:4rem;
   }
}

.contact-card-box {
   background-color:var(--surface);
   border:1px solid var(--line);
   border-radius:var(--radius-xs);
   padding:clamp(1.5rem, 1.2rem + 2vw, 2.5rem);
   display:flex;
   flex-direction:column;
   gap:1.5rem;
}

.contact-fact-list {
   display:flex;
   flex-direction:column;
   gap:1.25rem;
}

.contact-fact-item {
   display:flex;
   gap:1rem;
   align-items:flex-start;
}

.contact-fact-icon {
   width:22px;
   height:22px;
   color:var(--accent);
   margin-top:0.15rem;
   flex-shrink:0;
}

.contact-fact-content {
   display:flex;
   flex-direction:column;
   gap:0.25rem;
}

.contact-fact-title {
   font-family:var(--zehe-6a0);
   font-size:var(--text-xs);
   color:var(--ink-soft);
   text-transform:uppercase;
   letter-spacing:0.05em;
}

.contact-fact-value {
   font-size:var(--text-base);
   color:var(--ink);
   font-weight:500;
}

.route-description-box {
   background-color:var(--ground);
   border:1px solid var(--line);
   border-left:3px solid var(--accent);
   padding:1.25rem;
   border-radius:var(--radius-xs);
   font-size:var(--text-sm);
   color:var(--ink-soft);
   line-height:var(--leading-relaxed);
}

.founder-feature-grid {
   display:grid;
   grid-template-columns:1fr;
   gap:2.5rem;
   align-items:center;
   margin:2.5rem 0;
}

@media (min-width: 860px) {
   .founder-feature-grid {
      grid-template-columns:minmax(0, 0.9fr) minmax(0, 1.1fr);
      gap:3.5rem;
   }
}

.founder-photo-frame {
   border:1px solid var(--line);
   background-color:var(--surface);
   border-radius:var(--radius-xs);
   overflow:hidden;
   position:relative;
}

.founder-photo-frame img {
   width:100%;
   aspect-ratio:4 / 5;
   object-fit:cover;
   object-position:center 25%;
}

.founder-credential-strip {
   padding:1rem 1.25rem;
   border-top:1px solid var(--line);
   background-color:var(--ground);
   display:flex;
   justify-content:space-between;
   align-items:baseline;
   font-family:var(--zehe-6a0);
   font-size:var(--text-xs);
}

.founder-stats-grid {
   display:grid;
   grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
   gap:1.25rem;
   margin-top:2rem;
   padding-top:1.75rem;
   border-top:1px solid var(--line);
}

.founder-stat-card {
   display:flex;
   flex-direction:column;
   gap:0.25rem;
}

.founder-stat-digit {
   font-family:var(--zehe-6a0);
   font-size:var(--text-3xl);
   font-weight:600;
   color:var(--accent);
   line-height:1;
}

.founder-stat-desc {
   font-size:var(--text-xs);
   color:var(--ink-soft);
   line-height:1.3;
}

.not-found-section {
   padding:clamp(4rem, 3rem + 5vw, 8rem) var(--frame-pad);
   text-align:center;
   display:flex;
   flex-direction:column;
   align-items:center;
   justify-content:center;
   gap:1.5rem;
   min-height:60vh;
}

.not-found-num {
   font-family:var(--zehe-6a0);
   font-size:clamp(4rem, 3rem + 4vw, 7rem);
   font-weight:600;
   color:var(--accent);
   line-height:1;
   letter-spacing:-0.05em;
}

.not-found-heading {
   font-family:var(--zehe-808);
   font-size:var(--text-3xl);
   font-weight:600;
   color:var(--ink);
   max-width:20ch;
}

.not-found-desc {
   font-size:var(--text-base);
   color:var(--ink-soft);
   max-width:45ch;
   margin-bottom:0.5rem;
}

.ad-compliance-tag {
   display:inline-flex;
   align-items:center;
   gap:0.35rem;
   font-family:var(--zehe-6a0);
   font-size:11px;
   color:var(--ink-soft);
   padding:0.2rem 0.5rem;
   background-color:var(--surface);
   border:1px solid var(--line);
   border-radius:var(--radius-xs);
}

@media print {
   body {
      background-color:#ffffff !important;
      color:#000000 !important;
      padding-bottom:0 !important;
   }

   .page-frame {
      border:0 !important;
      max-width:100% !important;
   }

   .site-header,
   .phone-dock,
   .cookie-banner,
   .chat-launcher,
   .chat-panel,
   .nav-drawer,
   .back-to-top,
   .legal-controls-bar { display:none !important; }

   .disclosure-item {
      border:1px solid #000000 !important;
      page-break-inside:avoid;
      margin-bottom:1rem;
   }

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

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

   .statute-columns {
      column-count:2 !important;
      column-rule:1px solid #999999 !important;
   }
}
