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

.hero-split-grid {
   display: grid;
   grid-template-columns: 1fr;
   min-height: calc(100vh - 84px);
   min-height: calc(100svh - 84px);
}

@media (min-width: 960px) {
   .hero-split-grid {
      grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
      align-items: stretch;
   }
}

.hero-text-pane {

   display: flex;
   flex-direction: column;
   justify-content: center;
   padding-block: var(--space-md) var(--space-lg);
   padding-inline: var(--gutter);
   position: relative;
   z-index: 2;
}

@media (min-width: 960px) {
   .hero-text-pane {
      padding-block: var(--space-2xl) var(--space-2xl);
      padding-inline-start: var(--gutter);
      padding-inline-end: var(--space-xl);
      max-width: 720px;
      margin-left: auto;
      margin-right: 0;
      width: 100%;
   }
}

.hero-eyebrow {
   display: inline-flex;
   align-items: center;
   gap: var(--space-xs);
   font-family: var(--ravu-caa);
   font-size: var(--text-xs);
   letter-spacing: var(--tracking-caps);
   text-transform: uppercase;
   color: var(--ink-soft);
   margin-bottom: var(--space-sm);
}

.hero-eyebrow::before {
   content: "";
   display: inline-block;
   width: 14px;
   height: 2px;
   background-color: var(--accent);
}

.hero-title-lockup {
   position: relative;
   margin-bottom: var(--space-md);
}

.hero-title-lockup h1 {
   font-family: var(--ravu-ce5);
   font-size: clamp(2.5rem, 2.1rem + 3.4vw, 5.2rem);
   line-height: 1.02;
   letter-spacing: var(--tracking-tight);
   color: var(--ink);
   margin-bottom: var(--space-xs);
   text-wrap: balance;
}

.hero-title-lockup .title-accent-phrase {
   display: block;
   font-family: var(--ravu-ce5);
   font-style: italic;
   font-weight: 400;
   color: var(--ink-soft);
   padding-left: clamp(1rem, 0.8rem + 1.8vw, 3rem);
   position: relative;
}

.hero-title-lockup .lockup-slash-rule {
   position: absolute;
   left: 0;
   top: 54%;
   width: clamp(1.8rem, 1.2rem + 1.8vw, 3.8rem);
   height: 1px;
   background-color: var(--accent);
}

.hero-lede {
   font-size: var(--text-md);
   line-height: 1.48;
   color: var(--ink);
   max-width: var(--measure-compact);
   margin-bottom: var(--space-lg);
}

.hero-action-row {
   display: flex;
   align-items: center;
   gap: var(--space-md);
}

.hero-visual-pane {
   position: relative;
   background-color: var(--surface);
   min-height: 380px;
}

@media (max-width: 959.98px) {
   .hero-visual-pane {
      order: -1;
      min-height: 0;
      max-height: 45vh;
      aspect-ratio: 16 / 10;
   }
}

@media (min-width: 960px) {
   .hero-visual-pane {
      margin-right: 0;
      margin-top: 0;
      height: 100%;
      min-height: 100%;
      align-self: stretch;
      aspect-ratio: 1200 / 800;
   }
}

.hero-photo-cover {
   width: 100%;
   height: 100%;
   aspect-ratio: 1200 / 800;
   object-fit: cover;
   object-position: 58% 30%;
   display: block;
}

.hero-caption-plate {
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   background-color: #2B261C;
   border-top: 1px solid var(--line);
   padding: var(--space-xs) var(--space-sm);
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: var(--space-xs);
}

.hero-caption-plate span {
   font-family: var(--ravu-caa);
   font-size: var(--text-xs);
   letter-spacing: var(--tracking-wide);
   color: #FFF;
}

.hero-caption-plate .badge-live {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   color: #F8D7B0;
   font-weight: 600;
   text-transform: uppercase;
   flex-shrink: 0;
}

.hero-caption-plate .badge-live::before {
   content: "";
   width: 8px;
   height: 8px;
   background-color: #F8D7B0;
   border-radius: 50%;
}

.pipeline-spine-band {
   background-color: var(--surface);
   border-bottom: 1px solid var(--line);
   padding-block: var(--space-2xl) var(--space-3xl);
   position: relative;
}

.drawing-spine-container {
   position: relative;
   width: 100%;
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-xl);
   overflow: visible;
}

@media (min-width: 900px) {
   .drawing-spine-container {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1.8fr);
      align-items: start;
      gap: clamp(2rem, 1.5rem + 3vw, 5rem);
   }
}

.spine-lead-col {
   display: flex;
   flex-direction: column;
   gap: var(--space-xs);
   position: sticky;
   top: var(--space-xl);
}

.spine-lead-title {
   font-family: var(--ravu-ce5);
   font-size: clamp(2rem, 1.6rem + 1.8vw, 3.2rem);
   line-height: 1.08;
   color: var(--ink);
   letter-spacing: var(--tracking-tight);
}

.spine-lead-desc {
   font-size: var(--text-md);
   line-height: var(--lh-body);
   color: var(--ink-soft);
   max-width: var(--measure-compact);
}

.spine-track-col {
   position: relative;
   width: 100%;
}

.drawing-spine-svg {
   position: absolute;
   left: clamp(14px, 10px + 1vw, 24px);
   top: 0;
   bottom: 0;
   width: 24px;
   height: 100%;
   pointer-events: none;
   z-index: 1;
}

.drawing-path-track {
   stroke: var(--surface-2);
   stroke-width: 2px;
   fill: none;
}

.drawing-path-active {
   stroke: var(--accent);
   stroke-width: 3px;
   stroke-linecap: square;
   stroke-linejoin: miter;
   fill: none;
   stroke-dasharray: 2000;
   stroke-dashoffset: 0;
   transition: stroke-dashoffset 0.1s linear;
}

.spine-timeline-flow {
   position: relative;
   z-index: 2;
   display: flex;
   flex-direction: column;

   gap: var(--space-xl);
   padding-left: clamp(44px, 36px + 2vw, 68px);
}

.spine-timeline-step {
   position: relative;
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   max-width: var(--measure-prose);
}

.spine-timeline-step:nth-child(2) {
   margin-top: 0;
   margin-bottom: 0;
}

.spine-timeline-step:nth-child(2) .spine-step-meta {
   background: transparent;
   border: 0;

   border-left: 2px solid var(--line);
}

.spine-step-marker {
   position: absolute;
   left: clamp(-44px, -36px - 2vw, -68px);
   top: 6px;
   width: clamp(24px, 20px + 1vw, 32px);
   height: clamp(24px, 20px + 1vw, 32px);
   background-color: var(--ground);
   border: 2px solid var(--accent);
   display: grid;
   place-content: center;
   font-family: var(--ravu-caa);
   font-size: 0.72rem;
   font-weight: 600;
   color: var(--ink);
   box-shadow: 0 0 0 4px var(--ground);
}

.spine-step-title {
   font-family: var(--ravu-ce5);
   font-size: var(--text-xl);
   line-height: var(--lh-snug);
   color: var(--ink);
   margin-bottom: var(--space-3xs);
}

.spine-step-desc {
   font-size: var(--text-base);
   color: var(--ink-soft);
   margin-bottom: var(--space-xs);
}

.spine-step-meta {
   font-family: var(--ravu-caa);
   font-size: var(--text-xs);
   letter-spacing: var(--tracking-wide);
   color: var(--accent);
   background-color: var(--surface);
   border: 1px solid var(--line);
   padding: 0.25rem 0.6rem;
   display: inline-block;
}

.section-single-verb {
   padding-block: var(--space-2xl) var(--space-3xl);
   position: relative;
   border-bottom: 1px solid var(--line);
}

.verb-layout-asymmetric {
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-lg);
}

@media (min-width: 900px) {
   .verb-layout-asymmetric.split-2-1 { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); }
   .verb-layout-asymmetric.split-1-2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); }
}

.verb-lead-pane {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
}

.verb-display-head {
   font-family: var(--ravu-ce5);
   font-size: clamp(2.8rem, 2.2rem + 3.5vw, 5.4rem);
   line-height: 0.98;
   letter-spacing: var(--tracking-tight);
   color: var(--ink);
   margin-bottom: var(--space-sm);
   display: block;
}

.verb-reading-pane {
   display: flex;
   flex-direction: column;
   gap: var(--space-sm);
   max-width: var(--measure-prose);
}

.verb-reading-pane p {
   font-size: var(--text-base);
   line-height: var(--lh-body);
   color: var(--ink);
}

.verb-reading-pane .verb-standfirst {
   font-size: var(--text-md);
   line-height: 1.44;
   color: var(--ink);
   font-weight: 500;
}

.verb-meta-pane {
   background-color: var(--surface);
   border: 1px solid var(--line);
   padding: var(--space-md);
   display: flex;
   flex-direction: column;
   gap: var(--space-sm);
   align-self: flex-start;
   width: 100%;
}

.verb-meta-title {
   font-family: var(--ravu-caa);
   font-size: var(--text-xs);
   letter-spacing: var(--tracking-caps);
   text-transform: uppercase;
   color: var(--ink-soft);
   border-bottom: 1px solid var(--line);
   padding-bottom: var(--space-3xs);
}

.full-bleed-photo-break {
   width: 100vw;
   position: relative;
   left: 50%;
   right: 50%;
   margin-left: -50vw;
   margin-right: -50vw;
   border-block: 1px solid var(--line);
   background-color: var(--surface);
   overflow: hidden;
}

.full-bleed-photo-break img {
   width: 100%;
   height: auto;
   aspect-ratio: 3 / 2;
   object-fit: cover;
   display: block;
}

.photo-break-caption {
   position: absolute;
   bottom: var(--space-md);
   left: var(--space-md);
   right: var(--space-md);
   max-width: calc(100vw - 2 * var(--space-md));
   width: fit-content;
   background-color: #DED2BC;
   border: 1px solid var(--line);
   padding: 0.4rem 0.8rem;
   z-index: 5;
}

.photo-break-caption span {
   font-family: var(--ravu-caa);
   font-size: var(--text-xs);
   color: #1A160F;
   letter-spacing: var(--tracking-wide);
   display: inline-block;
   white-space: normal;
   overflow-wrap: break-word;
}

.page-intro-header {
   padding-block: var(--space-2xl) var(--space-xl);
   border-bottom: 1px solid var(--line);
   background-color: var(--ground);
}

.intro-lockup {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   max-width: var(--container-max);
}

.intro-pre-title {
   font-family: var(--ravu-caa);
   font-size: var(--text-xs);
   letter-spacing: var(--tracking-caps);
   text-transform: uppercase;
   color: var(--ink-soft);
   margin-bottom: var(--space-2xs);
}

.intro-main-title {
   font-family: var(--ravu-ce5);
   font-size: clamp(2.4rem, 2rem + 2.8vw, 4.4rem);
   line-height: 1.05;
   letter-spacing: var(--tracking-tight);
   color: var(--ink);
   margin-bottom: var(--space-sm);
   text-wrap: balance;
}

.intro-summary {
   font-size: var(--text-md);
   line-height: 1.5;
   color: var(--ink-soft);
   max-width: var(--measure-prose);
   margin-bottom: var(--space-md);
}

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

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

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

.tier-detail-card {
   background-color: var(--surface);
   border: 1px solid var(--line);
   padding: var(--space-lg);
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   gap: var(--space-md);
   position: relative;
   transition: border-color var(--dur-fast) var(--ease-craft),
                     box-shadow var(--dur-fast) var(--ease-craft);
}

.tier-detail-card:hover {
   border-color: var(--ink);
   box-shadow: var(--shadow-card);
}

.tier-detail-card.highlight {
   border-color: var(--accent);
   background-color: #D6C8AF;
}

.tier-badge {
   display: inline-block;
   align-self: flex-start;
   font-family: var(--ravu-caa);
   font-size: 0.72rem;
   letter-spacing: var(--tracking-caps);
   text-transform: uppercase;
   padding: 0.2rem 0.5rem;
   background-color: var(--surface-2);
   border: 1px solid var(--line);
   color: var(--ink);
}

.tier-price-figure {
   font-family: var(--ravu-ce5);
   font-size: clamp(2rem, 1.8rem + 1vw, 2.8rem);
   line-height: 1;
   color: var(--ink);
   margin-block: var(--space-2xs);
}

.tier-price-unit {
   font-family: var(--ravu-caa);
   font-size: var(--text-xs);
   letter-spacing: var(--tracking-wide);
   color: var(--ink-soft);
}

.technologist-callout {
   background-color: var(--surface);
   border: 1px solid var(--line);
   padding: var(--space-lg);
   margin-block: var(--space-xl);
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-md);
}

@media (min-width: 840px) {
   .technologist-callout {
      grid-template-columns: 180px 1fr;
      align-items: center;
   }
}

.technologist-badge-box {
   background-color: var(--surface-2);
   border: 1px solid var(--line);
   padding: var(--space-md);
   text-align: center;
   display: flex;
   flex-direction: column;
   justify-content: center;
   gap: var(--space-3xs);
}

.technologist-name {
   font-family: var(--ravu-ce5);
   font-size: var(--text-lg);
   color: var(--ink);
}

.technologist-role {
   font-family: var(--ravu-caa);
   font-size: var(--text-xs);
   color: var(--ink-soft);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wide);
}

.sauce-catalog-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-lg);
   margin-block: var(--space-xl);
}

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

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

.sauce-card {
   background-color: var(--surface);
   border: 1px solid var(--line);
   display: flex;
   flex-direction: column;
   overflow: hidden;
   transition: border-color var(--dur-fast) var(--ease-craft);
}

.sauce-card:hover { border-color: var(--ink); }

.sauce-card-media {
   position: relative;
   background-color: var(--surface-2);
   aspect-ratio: 16 / 10;
   overflow: hidden;
}

.sauce-card-media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform var(--dur-base) var(--ease-craft);
}

.sauce-card:hover .sauce-card-media img { transform: scale(1.02); }

.sauce-card-body {
   padding: var(--space-md);
   display: flex;
   flex-direction: column;
   flex: 1 1 auto;
}

.sauce-title {
   font-family: var(--ravu-ce5);
   font-size: var(--text-lg);
   line-height: var(--lh-snug);
   color: var(--ink);
   margin-bottom: var(--space-2xs);
}

.sauce-price {
   font-family: var(--ravu-caa);
   font-size: var(--text-sm);
   font-weight: 600;
   color: var(--accent);
   margin-bottom: var(--space-xs);
}

.sauce-desc {
   font-size: var(--text-sm);
   color: var(--ink-soft);
   margin-bottom: var(--space-sm);
   flex: 1 1 auto;
}

.heat-meter-row {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding-block: var(--space-2xs);
   border-top: 1px solid var(--surface-2);
   margin-top: auto;
}

.heat-label {
   font-family: var(--ravu-caa);
   font-size: 0.72rem;
   letter-spacing: var(--tracking-caps);
   text-transform: uppercase;
   color: var(--ink-soft);
}

.heat-pip-track {
   display: flex;
   gap: 4px;
}

.heat-pip {
   width: 10px;
   height: 10px;
   background-color: var(--surface-2);
   border: 1px solid var(--line);
}

.heat-pip.filled {
   background-color: var(--accent);
   border-color: var(--accent);
}

.privacy-layout {
   position: relative;
   width: 100%;
   padding-bottom: var(--space-3xl);
}

.pinned-chips-bar {
   position: sticky;
   top: 0;
   z-index: 70;
   background-color: rgba(222, 210, 188, 0.98);
   backdrop-filter: blur(6px);
   -webkit-backdrop-filter: blur(6px);
   border-bottom: 1px solid var(--line);
   padding-block: var(--space-xs);
   box-shadow: 0 1px 3px rgba(43, 38, 28, 0.05);
}

.chips-scroll-container {
   display: flex;
   align-items: center;
   gap: var(--space-xs);
   overflow-x: auto;
   -webkit-overflow-scrolling: touch;
   padding-bottom: 2px;
   scrollbar-width: none;
}

.chips-scroll-container::-webkit-scrollbar { display: none; }

.chip-jump-link {
   display: inline-flex;
   align-items: center;
   padding: 0.4rem 0.85rem;
   min-height: 44px;
   background-color: var(--surface);
   border: 1px solid var(--line);
   font-family: var(--ravu-caa);
   font-size: var(--text-xs);
   letter-spacing: var(--tracking-wide);
   color: var(--ink);
   text-decoration: none;
   white-space: nowrap;
   flex-shrink: 0;
   transition: background-color var(--dur-fast) var(--ease-craft),
                     border-color var(--dur-fast) var(--ease-craft),
                     color var(--dur-fast) var(--ease-craft);
}

.chip-jump-link:hover {
   background-color: var(--surface-2);
   border-color: var(--ink);
   color: var(--ink);
}

.chip-jump-link:active { background-color: var(--line); }

.chip-jump-link:focus-visible {
   outline: 2px solid var(--accent);
   outline-offset: 2px;
}

.chip-jump-link.is-active {
   background-color: var(--ink);
   color: var(--ground);
   border-color: var(--ink);
}

section.privacy-section .contact-details-box a { color: #603516 !important; }

.privacy-section {
   padding-block: var(--space-xl) var(--space-2xl);
   border-bottom: 1px solid var(--line);
   scroll-margin-top: calc(var(--space-2xl) + 48px);
}

.privacy-standfirst {
   font-family: var(--ravu-ce5);
   font-size: var(--text-lg);
   line-height: var(--lh-snug);
   color: var(--accent);
   margin-bottom: var(--space-sm);
   max-width: var(--measure-prose);
}

.statute-container {
   padding-block: var(--space-2xl) var(--space-3xl);
   background-color: var(--ground);
}

.statute-columns {
   column-gap: clamp(2rem, 1.5rem + 2.5vw, 4rem);
   column-rule: 1px solid var(--line);
   margin-top: var(--space-xl);
}

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

.statute-clause {
   break-inside: avoid;
   margin-bottom: var(--space-lg);
   border-bottom: 1px solid var(--surface-2);
   padding-bottom: var(--space-md);
}

.statute-clause:last-child { border-bottom: none; }

.statute-clause p {
   font-size: var(--text-base);
   line-height: var(--lh-loose);
   color: var(--ink);
   text-align: justify;
}

.statute-runin-heading {
   font-family: var(--ravu-caa);
   font-size: var(--text-xs);
   font-weight: 700;
   letter-spacing: var(--tracking-caps);
   text-transform: uppercase;
   color: var(--ink);
   display: inline;
   margin-right: 0.6ch;
}

.document-outer-wrap {
   padding-block: var(--space-2xl) var(--space-3xl);
   background-color: var(--ground);
   display: flex;
   justify-content: center;
}

.document-card {
   width: 100%;
   max-width: 940px;
   background-color: var(--surface);
   border: 1px solid var(--line);
   box-shadow: var(--shadow-paper);
   padding: clamp(1.4rem, 1rem + 2.5vw, 3.8rem);
   position: relative;
}

.document-masthead {
   border-bottom: 2px solid var(--line);
   padding-bottom: var(--space-md);
   margin-bottom: var(--space-xl);
   display: flex;
   flex-direction: column;
   gap: var(--space-xs);
}

.document-masthead-top {
   display: flex;
   flex-wrap: wrap;
   align-items: baseline;
   justify-content: space-between;
   gap: var(--space-xs);
}

.document-registry-code {
   font-family: var(--ravu-caa);
   font-size: var(--text-xs);
   letter-spacing: var(--tracking-caps);
   text-transform: uppercase;
   color: var(--ink-soft);
}

.document-title {
   font-family: var(--ravu-ce5);
   font-size: clamp(1.8rem, 1.5rem + 1.6vw, 3rem);
   line-height: 1.1;
   color: var(--ink);
   margin-block: var(--space-2xs);
}

.document-effective-meta {
   font-family: var(--ravu-caa);
   font-size: var(--text-xs);
   color: var(--ink-soft);
   display: flex;
   flex-wrap: wrap;
   gap: var(--space-md);
}

.clause-block {
   margin-bottom: var(--space-xl);
   padding-bottom: var(--space-md);
   border-bottom: 1px solid var(--surface-2);
}

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

.clause-title-line {
   display: flex;
   align-items: baseline;
   gap: var(--space-xs);
   margin-bottom: var(--space-xs);
}

.clause-index {
   font-family: var(--ravu-caa);
   font-size: var(--text-sm);
   font-weight: 600;
   color: var(--accent);
}

.clause-heading {
   font-family: var(--ravu-ce5);
   font-size: var(--text-lg);
   color: var(--ink);
}

.faq-accordion {
   border-top: 1px solid var(--line);
   margin-block: var(--space-lg);
}

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

.faq-trigger {
   width: 100%;
   appearance: none;
   background: none;
   border: 0;
   padding: var(--space-sm) 0;
   min-height: 48px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: var(--space-sm);
   text-align: left;
   cursor: pointer;
   font-family: var(--ravu-ce5);
   font-size: var(--text-md);
   color: var(--ink);
   transition: color var(--dur-fast) var(--ease-craft);
}

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

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

.faq-trigger-icon {
   width: 20px;
   height: 20px;
   flex-shrink: 0;
   transition: transform var(--dur-base) var(--ease-craft);
}

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

.faq-panel {
   display: none;
   padding-bottom: var(--space-md);
   padding-right: var(--space-lg);
}

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

.faq-panel p {
   font-size: var(--text-base);
   color: var(--ink-soft);
   line-height: var(--lh-body);
}

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

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

.contact-details-box {
   background-color: var(--surface);
   border: 1px solid var(--line);
   padding: var(--space-lg);
   display: flex;
   flex-direction: column;
   gap: var(--space-md);
}

.contact-fact-group {
   display: flex;
   flex-direction: column;
   gap: var(--space-3xs);
}

.contact-fact-label {
   font-family: var(--ravu-caa);
   font-size: var(--text-xs);
   letter-spacing: var(--tracking-caps);
   text-transform: uppercase;
   color: var(--ink-soft);
}

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

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

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

.error-page-wrapper {
   min-height: 70vh;
   display: flex;
   align-items: center;
   justify-content: center;
   padding-block: var(--space-3xl);
}

.error-content-box {
   max-width: 620px;
   background-color: var(--surface);
   border: 1px solid var(--line);
   padding: clamp(1.8rem, 1.5rem + 2vw, 3.5rem);
   box-shadow: var(--shadow-paper);
}

.error-code {
   font-family: var(--ravu-caa);
   font-size: clamp(3rem, 2.5rem + 3vw, 5.5rem);
   line-height: 1;
   color: var(--accent);
   margin-bottom: var(--space-xs);
   font-weight: 600;
}

.error-title {
   font-family: var(--ravu-ce5);
   font-size: var(--text-xl);
   color: var(--ink);
   margin-bottom: var(--space-sm);
}

.error-desc {
   font-size: var(--text-base);
   color: var(--ink-soft);
   margin-bottom: var(--space-lg);
}

.ad-disclosure-badge {
   display: inline-flex;
   align-items: center;
   gap: var(--space-2xs);
   background-color: var(--surface-2);
   border: 1px solid var(--line);
   padding: 0.3rem 0.6rem;
   font-family: var(--ravu-caa);
   font-size: var(--text-xs);
   color: var(--ink);
   margin-bottom: var(--space-xs);
}

.ad-disclosure-table-wrap {
   width: 100%;
   overflow-x: auto;
   border: 1px solid var(--line);
   margin-block: var(--space-md);
}

.ad-disclosure-table {
   width: 100%;
   min-width: 580px;
   border-collapse: collapse;
}

.ad-disclosure-table th,
.ad-disclosure-table td {
   padding: var(--space-xs) var(--space-sm);
   border-bottom: 1px solid var(--line);
   font-size: var(--text-sm);
}

.ad-disclosure-table th {
   background-color: var(--surface);
   font-family: var(--ravu-caa);
   font-size: var(--text-xs);
   text-transform: uppercase;
   letter-spacing: var(--tracking-caps);
   color: var(--ink-soft);
}

.ad-disclosure-table td code {
   background-color: var(--surface-2);
   padding: 2px 6px;
   border: 1px solid var(--line);
   font-size: 0.85em;
   color: var(--ink);
}

@media (max-width: 640px) {
   .hero-action-row {
      flex-direction: column;
      align-items: stretch;
   }
   .hero-action-row .btn { width: 100%; }
}
