
.page-hero {
   width: 100%;
   background-color: var(--ground-deep);
   border-bottom: var(--border-thick) solid var(--border-heavy);
   padding-block: clamp(3rem, 7vw, 6rem);
   position: relative;
}

.page-hero::after {
   content: "";
   position: absolute;
   bottom: -4px;
   left: 0;
   right: 0;
   height: 4px;
   background-color: var(--accent);
}

.hero-block-home {
   background-color: var(--ground-black);
   padding-block: clamp(3.5rem, 8vw, 7.5rem);
   border-bottom: var(--border-thick) solid var(--border-heavy);
   position: relative;
}

.hero-block-home::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 6px;
   background-image: var(--hazard-line);
}

.hero-headline {
   font-family: var(--rubi-16b);
   font-size: var(--rubi-8a8);
   font-weight: 800;
   line-height: var(--leading-none);
   letter-spacing: var(--tracking-tight);
   text-transform: uppercase;
   color: var(--ink);
   margin-block-end: var(--space-m);
   max-width: 22ch;
   text-wrap: balance;
   word-break: break-word;
}

.hero-headline mark {
   background: transparent;
   color: var(--accent);
}

.hero-deck {
   font-family: var(--rubi-796);
   font-size: var(--rubi-503);
   line-height: var(--leading-snug);
   color: var(--ink-muted);
   max-width: 48ch;
   margin-block-end: var(--space-l);
}

.hero-meta-bar {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 1rem 2rem;
   padding-block-start: var(--space-m);
   border-top: var(--border-width) solid var(--border-heavy);
   font-family: var(--rubi-43d);
   font-size: var(--step--1);
   color: var(--ink);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wide);
}

.hero-meta-bar span {
   display: inline-flex;
   align-items: center;
   gap: 0.5rem;
}

.hero-meta-bar strong { color: var(--accent); }

.hero-actions {
   display: flex;
   flex-wrap: wrap;
   gap: var(--space-s);
   margin-block-start: var(--space-m);
}

.statement-block {
   width: 100%;
   background-color: var(--ground);
   border-bottom: var(--border-thick) solid var(--border-heavy);
   padding-block: clamp(3.5rem, 7vw, 6.5rem);
   position: relative;
}

.statement-inner { max-width: var(--max-width-narrow); }

.statement-quote {
   border: 0;
   padding: 0;
   margin: 0 0 var(--space-m) 0;
   font-family: var(--rubi-16b);
   font-size: var(--rubi-31e);
   font-weight: 700;
   line-height: var(--leading-tight);
   text-transform: uppercase;
   letter-spacing: var(--tracking-tight);
   color: var(--ink);
}

.statement-quote mark {
   background: transparent;
   color: var(--accent);
}

.statement-attribution {
   font-family: var(--rubi-43d);
   font-size: var(--rubi-f3c);
   color: var(--ink-muted);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wide);
   display: flex;
   align-items: center;
   gap: 0.75rem;
}

.statement-attribution::before {
   content: "";
   display: inline-block;
   width: 28px;
   height: 2px;
   background-color: var(--accent);
}

.statement-prose {
   font-family: var(--rubi-796);
   font-size: var(--rubi-503);
   line-height: var(--leading-normal);
   color: var(--ink);
   max-width: 58ch;
   margin-block-start: var(--space-m);
}

.plate-section {
   width: 100%;
   border-bottom: var(--border-thick) solid var(--border-heavy);
   padding-block: clamp(3rem, 6vw, 5.5rem);
}

.plate-section-ground { background-color: var(--ground); }

.plate-section-deep { background-color: var(--ground-deep); }

.plate-section-black { background-color: var(--ground-black); }

.plate-frame {
   width: 100%;
   margin: 0;
}

.plate-window {
   width: 100%;
   background-color: var(--ground-black);
   border: var(--border-width) solid var(--border-heavy);
   position: relative;
   overflow: hidden;
}

.plate-window img {
   width: 100%;
   height: auto;
   aspect-ratio: 16 / 10;
   object-fit: cover;
   display: block;
   transition: transform var(--duration-slow) var(--ease-out);
}

.plate-window.aspect-panorama img { aspect-ratio: 21 / 9; }

.plate-window.aspect-compact img { aspect-ratio: 16 / 9; }

.plate-window.aspect-portrait img { aspect-ratio: 4 / 3; }

.plate-window:hover img { transform: scale(1.015); }

.plate-text-measure {
   margin-block-start: var(--space-m);
   max-width: var(--max-width-caption);
   padding-inline-start: var(--space-s);
   border-inline-start: var(--border-thick) solid var(--accent);
}

.plate-heading {
   font-family: var(--rubi-16b);
   font-size: var(--rubi-2d2);

   font-weight: 700;
   line-height: var(--leading-tight);
   text-transform: uppercase;
   letter-spacing: var(--tracking-tight);
   color: var(--ink);
   margin-block-end: 0.5rem;
}

.plate-copy {
   font-family: var(--rubi-796);
   font-size: var(--rubi-f3c);
   line-height: var(--leading-snug);
   color: var(--ink-muted);
   margin-block-end: var(--space-xs);
}

.plate-specs {
   display: flex;
   flex-wrap: wrap;
   gap: 0.5rem 1.25rem;
   font-family: var(--rubi-43d);
   font-size: var(--step--1);
   color: var(--ink);
   margin-block-start: var(--space-xs);
   padding-block-start: var(--space-xs);
   border-top: 1px solid var(--border-heavy);
}

.plate-specs dt {
   color: var(--ink-muted);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wide);
   word-break: break-word;
   overflow-wrap: break-word;
}

.plate-specs dd {
   margin: 0;
   color: var(--accent);
   font-weight: 600;
   word-break: break-word;
   overflow-wrap: break-word;
}

.plate-specs div {
   min-width: 0;
   max-width: 100%;
}

.plate-action-link {
   display: inline-flex;
   align-items: center;
   gap: 0.5rem;
   margin-block-start: var(--space-s);
   font-family: var(--rubi-43d);
   font-size: var(--step--1);
   font-weight: 600;
   text-transform: uppercase;
   letter-spacing: var(--tracking-wide);
   color: var(--accent);
   text-decoration: none;
   border-bottom: 2px solid var(--accent);
   padding-block-end: 0.2rem;
   transition: color var(--duration-fast) var(--ease-sharp),
                     border-color var(--duration-fast) var(--ease-sharp);
}

.plate-action-link:hover {
   color: var(--ink);
   border-bottom-color: var(--ink);
}

.plate-action-link:focus-visible {
   outline: var(--focus-ring);
   outline-offset: var(--focus-offset);
}

.offer-list-block {

   width: 100%;
   background-color: var(--ground-black);
   border-bottom: var(--border-thick) solid var(--border-heavy);
   padding-block: clamp(3rem, 6vw, 5.5rem);
}

.offer-block-title {
   font-family: var(--rubi-16b);
   font-size: var(--rubi-31e);
   font-weight: 800;
   text-transform: uppercase;
   letter-spacing: var(--tracking-tight);
   color: var(--ink);
   margin-block-end: var(--space-l);
   border-bottom: var(--border-width) solid var(--border-heavy);
   padding-block-end: var(--space-s);
}

.offer-inventory-table {
   width: 100%;
   border-collapse: collapse;
}

.offer-inventory-table tr {
   border-bottom: var(--border-width) solid var(--border-heavy);
   transition: background-color var(--duration-fast) var(--ease-sharp);
}

.offer-inventory-table tr:hover { background-color: var(--ground-deep); }

.offer-inventory-table th {
   padding: var(--space-s) var(--space-m);
   background-color: var(--ground-deep);
   color: var(--ink-muted);
   font-family: var(--rubi-43d);
   font-size: var(--step--1);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wide);
   border-bottom: var(--border-thick) solid var(--border-heavy);
}

.offer-inventory-table td {
   padding: var(--space-m);
   vertical-align: middle;
}

.offer-item-name {
   font-family: var(--rubi-16b);
   font-size: var(--rubi-c89);
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: var(--tracking-tight);
   color: var(--ink);
   display: block;
   margin-block-end: 0.25rem;
}

.offer-item-detail {
   font-family: var(--rubi-796);
   font-size: var(--step--1);
   color: var(--ink-muted);
   max-width: 48ch;
   line-height: var(--leading-snug);
}

.offer-item-spec {
   font-family: var(--rubi-43d);
   font-size: var(--step--1);
   color: var(--ink);
}

.offer-item-price {

   font-family: var(--rubi-43d);
   font-size: var(--rubi-f3c);
   font-weight: 600;
   color: var(--accent);
   white-space: nowrap;
}

.offer-item-action {
   text-align: right;
   white-space: nowrap;
}

.proof-block {
   width: 100%;
   background-color: var(--ground-deep);
   border-bottom: var(--border-thick) solid var(--border-heavy);
   padding-block: clamp(3rem, 6vw, 5.5rem);
}

.proof-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
   gap: var(--space-m);
   margin-block-start: var(--space-l);
}

.proof-cell {
   background-color: var(--ground-black);
   border: var(--border-width) solid var(--border-heavy);
   padding: var(--space-l) var(--space-m);
   border-top: var(--border-thick) solid var(--accent);
}

.proof-number-lockup {
   display: flex;
   align-items: baseline;
   gap: 0.35rem;
   margin-block-end: 0.5rem;
}

.proof-number {
   font-family: var(--rubi-16b);
   font-size: var(--rubi-8a8);
   font-weight: 800;
   line-height: var(--leading-none);
   color: var(--accent);
   letter-spacing: -0.02em;
}

.proof-suffix {
   font-family: var(--rubi-43d);
   font-size: var(--rubi-503);
   font-weight: 600;
   color: var(--ink);
}

.proof-label {
   font-family: var(--rubi-43d);
   font-size: var(--step--1);
   font-weight: 600;
   text-transform: uppercase;
   letter-spacing: var(--tracking-wide);
   color: var(--ink);
   display: block;
   margin-block-end: 0.5rem;
}

.proof-detail {
   font-family: var(--rubi-796);
   font-size: var(--step--1);
   line-height: var(--leading-snug);
   color: var(--ink-muted);
   margin: 0;
}

.model-showcase-section {
   width: 100%;
   background-color: var(--ground-black);
   border-bottom: var(--border-thick) solid var(--border-heavy);
   padding-block: clamp(3rem, 6vw, 5.5rem);
}

.model-stage-wrapper {
   margin-block: var(--space-m);
   background-color: var(--ground-deep);
   border: var(--border-width) solid var(--border-heavy);
   position: relative;
}

.model-caption-block {
   padding: var(--space-m);
   border-top: var(--border-width) solid var(--border-heavy);
   background-color: var(--ground-black);
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   align-items: center;
   gap: var(--space-s);
}

.model-caption-copy {
   font-family: var(--rubi-796);
   font-size: var(--rubi-f3c);
   color: var(--ink-muted);
   max-width: 50ch;
   margin: 0;
}

.model-caption-specs {
   font-family: var(--rubi-43d);
   font-size: var(--step--1);
   color: var(--accent);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wide);
}

.fit-checker-section {
   width: 100%;
   background-color: var(--ground-black);
   border-bottom: var(--border-thick) solid var(--border-heavy);
   padding-block: clamp(3.5rem, 7vw, 6rem);
   position: relative;
}

.fit-checker-section::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   height: 6px;
   background-image: var(--hazard-line);
}

.fit-checker-panel {
   background-color: var(--ground-deep);
   border: var(--border-thick) solid var(--border-heavy);
   padding: clamp(1.5rem, 4vw, 3rem);
   position: relative;
}

.fit-checker-header {
   border-bottom: var(--border-width) solid var(--border-heavy);
   padding-block-end: var(--space-m);
   margin-block-end: var(--space-l);
}

.fit-checker-title {
   font-family: var(--rubi-16b);
   font-size: var(--rubi-31e);
   font-weight: 800;
   text-transform: uppercase;
   letter-spacing: var(--tracking-tight);
   color: var(--ink);
   margin-block-end: 0.5rem;
}

.fit-checker-deck {
   font-family: var(--rubi-796);
   font-size: var(--rubi-f3c);
   color: var(--ink-muted);
   max-width: 60ch;
   margin: 0;
}

.fit-tool-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: var(--space-xl);
}

@media (max-width: 900px) {
   .fit-tool-grid { grid-template-columns: 1fr; }
}

.fit-tool-controls {
   display: flex;
   flex-direction: column;
   gap: var(--space-m);
}

.tool-input-card {
   background-color: var(--ground-black);
   border: var(--border-width) solid var(--border-heavy);
   padding: var(--space-m);
}

.tool-input-card label {
   font-family: var(--rubi-43d);
   font-size: var(--step--1);
   font-weight: 600;
   text-transform: uppercase;
   letter-spacing: var(--tracking-wide);
   color: var(--ink);
   display: block;
   margin-block-end: 0.5rem;
}

.tool-range-wrap {
   display: flex;
   align-items: center;
   gap: 1rem;
}

.tool-range-input {
   flex: 1;
   appearance: none;
   -webkit-appearance: none;
   height: 8px;
   background-color: var(--ground-surface);
   border: 1px solid var(--border-heavy);
   outline: none;
   cursor: pointer;
}

.tool-range-input::-webkit-slider-thumb {
   -webkit-appearance: none;
   width: 24px;
   height: 24px;
   background-color: var(--accent);
   border: 2px solid var(--ink);
   cursor: pointer;
   border-radius: 0;
   transition: background-color var(--duration-fast) var(--ease-sharp);
}

.tool-range-input::-webkit-slider-thumb:hover { background-color: var(--accent-hover); }

.tool-range-input::-moz-range-thumb {
   width: 24px;
   height: 24px;
   background-color: var(--accent);
   border: 2px solid var(--ink);
   cursor: pointer;
   border-radius: 0;
}

.tool-range-value {
   min-width: 50px;
   font-family: var(--rubi-43d);
   font-size: var(--rubi-503);
   font-weight: 700;
   color: var(--accent);
   text-align: right;
}

.tool-select-custom {
   width: 100%;
   min-height: 46px;
   padding: 0.65rem 0.85rem;
   background-color: var(--ground-surface);
   border: var(--border-width) solid var(--border-heavy);
   color: var(--ink);
   font-family: var(--rubi-43d);
   font-size: var(--step--1);
   cursor: pointer;
}

.tool-select-custom:focus {
   outline: none;
   border-color: var(--accent);
}

.fit-tool-console {
   background-color: var(--ground-black);
   border: var(--border-width) solid var(--border-heavy);
   padding: var(--space-m);
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   border-inline-start: var(--border-thick) solid var(--accent);
}

.fit-console-header {
   border-bottom: 1px solid var(--border-heavy);
   padding-block-end: var(--space-s);
   margin-block-end: var(--space-m);
}

.fit-console-title {
   font-family: var(--rubi-43d);
   font-size: var(--step--1);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wider);
   color: var(--ink-muted);
   display: flex;
   align-items: center;
   gap: 0.5rem;
}

.fit-console-title::before {
   content: "";
   display: inline-block;
   width: 10px;
   height: 10px;
   background-color: var(--accent);
}

.fit-score-readout { margin-block-end: var(--space-m); }

.fit-score-lockup {
   display: flex;
   align-items: baseline;
   gap: 0.5rem;
}

.fit-score-val {
   font-family: var(--rubi-16b);
   font-size: var(--rubi-8a8);
   font-weight: 800;
   line-height: var(--leading-none);
   color: var(--accent);
}

.fit-score-unit {
   font-family: var(--rubi-43d);
   font-size: var(--rubi-503);
   color: var(--ink-muted);
}

.fit-tier-badge {
   display: inline-block;
   padding: 0.35rem 0.75rem;
   font-family: var(--rubi-43d);
   font-size: var(--step--1);
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: var(--tracking-wide);
   background-color: var(--ground-surface);
   border: 1px solid var(--border-heavy);
   color: var(--ink);
   margin-block-start: 0.5rem;
}

.fit-notes-box {
   background-color: var(--ground-deep);
   border: 1px solid var(--border-heavy);
   padding: var(--space-s);
   margin-block-end: var(--space-m);
   font-family: var(--rubi-796);
   font-size: var(--step--1);
   line-height: var(--leading-snug);
   color: var(--ink-muted);
}

.fit-disclaimer-note {
   font-family: var(--rubi-43d);
   font-size: var(--step--1);
   color: var(--ink-muted);
   margin-block-start: var(--space-s);
   border-top: 1px solid var(--border-heavy);
   padding-block-start: var(--space-s);
}

.disclosure-page-shell {
   width: 100%;
   background-color: var(--ground);
   padding-block: clamp(3rem, 6vw, 5rem);
}

.disclosure-toolbar {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: space-between;
   gap: var(--space-s);
   margin-block-end: var(--space-l);
   padding: var(--space-s) var(--space-m);
   background-color: var(--ground-black);
   border: var(--border-width) solid var(--border-heavy);
}

.disclosure-toolbar-copy {
   font-family: var(--rubi-43d);
   font-size: var(--step--1);
   color: var(--ink-muted);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wide);
   margin: 0;
}

.disclosure-toolbar-actions {
   display: flex;
   flex-wrap: wrap;
   gap: 0.75rem;
}

.disclosure-stack {
   display: flex;
   flex-direction: column;
   gap: var(--space-s);
}

.disclosure-item {
   background-color: var(--ground-deep);
   border: var(--border-width) solid var(--border-heavy);
   transition: border-color var(--duration-fast) var(--ease-sharp),
                     background-color var(--duration-fast) var(--ease-sharp);
}

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

.disclosure-item:target {
   outline: 3px solid var(--accent);
   outline-offset: 2px;
}

.disclosure-summary {
   padding: var(--space-m);
   cursor: pointer;
   list-style: none;
   display: flex;
   align-items: baseline;
   justify-content: space-between;
   gap: var(--space-s);
   font-family: var(--rubi-16b);
   font-size: var(--rubi-c89);
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: var(--tracking-tight);
   color: var(--ink);
   user-select: none;
   transition: color var(--duration-fast) var(--ease-sharp);
}

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

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

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

.disclosure-indicator {
   font-family: var(--rubi-43d);
   font-size: var(--rubi-503);
   color: #f4c46a;
   flex-shrink: 0;
   transition: transform var(--duration-fast) var(--ease-sharp);
}

.disclosure-item[open] .disclosure-indicator { transform: rotate(45deg); }

.disclosure-body {
   padding: 0 var(--space-m) var(--space-m) var(--space-m);
   border-top: 1px solid var(--border-heavy);
   font-family: var(--rubi-796);
   font-size: var(--rubi-f3c);
   line-height: var(--leading-normal);
   color: var(--ink);
}

.disclosure-body p { margin-block-start: var(--space-s); }

.disclosure-body ul,
.disclosure-body ol {
   margin-block-start: var(--space-xs);
   color: var(--ink-muted);
}

.disclosure-body table { margin-block: var(--space-m); }

.cookies-page-shell {
   width: 100%;
   background-color: var(--ground);
   padding-block: clamp(3rem, 6vw, 5rem);
}

.sticky-index-layout {
   display: grid;
   grid-template-columns: 280px minmax(0, 1fr);
   gap: var(--space-xl);
   align-items: start;
   min-width: 0;
}

@media (max-width: 900px) {
   .sticky-index-layout {
      grid-template-columns: minmax(0, 1fr);
      gap: var(--space-l);
   }
}

.sticky-index-rail {
   position: sticky;
   top: 90px;
   background-color: var(--ground-black);
   border: var(--border-width) solid var(--border-heavy);
   padding: var(--space-m);
}

@media (max-width: 900px) {
   .sticky-index-rail { display: none; }
}

.sticky-index-title {
   font-family: var(--rubi-43d);
   font-size: var(--step--1);
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: var(--tracking-wider);
   color: var(--accent);
   margin-block-end: var(--space-s);
   border-bottom: 1px solid var(--border-heavy);
   padding-block-end: 0.5rem;
}

.sticky-index-menu {
   list-style: none;
   padding: 0;
   margin: 0;
   display: flex;
   flex-direction: column;
   gap: 0.25rem;
}

.sticky-index-menu li { margin: 0; }

.sticky-index-link {
   display: flex;
   align-items: center;
   gap: 0.5rem;
   padding: 0.5rem 0.65rem;
   font-family: var(--rubi-43d);
   font-size: var(--step--1);
   color: var(--ink-muted);
   text-decoration: none;
   border-inline-start: 2px solid transparent;
   transition: color var(--duration-fast) var(--ease-sharp),
                     border-color var(--duration-fast) var(--ease-sharp),
                     background-color var(--duration-fast) var(--ease-sharp);
}

.sticky-index-link:hover {
   color: var(--ink);
   background-color: var(--ground-deep);
}

.sticky-index-link.is-active,
.sticky-index-link[aria-current="location"] {
   color: var(--accent);
   border-inline-start-color: var(--accent);
   background-color: var(--ground-deep);
   font-weight: 600;
}

.sticky-mobile-jump-wrap {
   display: none;
   margin-block-end: var(--space-m);
}

@media (max-width: 900px) {
   .sticky-mobile-jump-wrap {
      display: block;
      background-color: var(--ground-black);
      border: var(--border-width) solid var(--border-heavy);
      padding: var(--space-s);
   }
}

.sticky-mobile-jump-label {
   display: block;
   font-family: var(--rubi-43d);
   font-size: var(--step--1);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wide);
   color: var(--ink-muted);
   margin-block-end: 0.4rem;
}

.sticky-reading-col {
   display: flex;
   flex-direction: column;
   gap: var(--space-xl);
   min-width: 0;
   max-width: 100%;
}

.cookie-clause-block {
   background-color: var(--ground-deep);
   border: var(--border-width) solid var(--border-heavy);
   padding: clamp(1rem, 3vw, var(--space-l));
   position: relative;
   min-width: 0;
   max-width: 100%;
}

.cookie-clause-block:target {
   outline: 3px solid var(--accent);
   outline-offset: 2px;
}

.cookie-clause-num-badge {
   display: inline-flex;
   align-items: center;
   gap: 0.5rem;
   padding: 0.25rem 0.65rem;
   background-color: var(--ground-black);
   border: 1px solid var(--border-heavy);
   font-family: var(--rubi-43d);
   font-size: var(--step--1);
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: var(--tracking-wide);
   color: var(--accent);
   margin-block-end: var(--space-s);
}

.cookie-clause-heading {
   font-family: var(--rubi-16b);
   font-size: var(--rubi-2d2);
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: var(--tracking-tight);
   color: var(--ink);
   margin-block-end: var(--space-s);
}

.cookie-clause-prose {
   font-family: var(--rubi-796);
   font-size: var(--rubi-f3c);
   line-height: var(--leading-normal);
   color: var(--ink-muted);
}

.cookie-clause-prose p { margin-block-end: var(--space-s); }

.terms-page-shell {
   width: 100%;
   background-color: var(--ground);
   padding-block: clamp(3rem, 6vw, 5.5rem);
}

.framed-doc-card {
   max-width: var(--max-width-narrow);
   margin-inline: auto;
   background-color: var(--ground-deep);
   border: 1px solid var(--border-light);
   box-shadow: 0 16px 40px rgba(7, 20, 20, 0.65);
   padding: clamp(2rem, 5vw, 4.5rem);
   position: relative;
}

.doc-masthead {
   border-bottom: 2px solid var(--accent);
   padding-block-end: var(--space-l);
   margin-block-end: var(--space-xl);
}

.doc-masthead-title {
   font-family: var(--rubi-16b);
   font-size: var(--rubi-426);
   font-weight: 800;
   text-transform: uppercase;
   letter-spacing: var(--tracking-tight);
   color: var(--ink);
   margin-block-end: var(--space-s);
}

.doc-meta-strip {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
   gap: var(--space-s) var(--space-m);
   padding-block-start: var(--space-s);
   border-top: 1px solid var(--border-heavy);
   font-family: var(--rubi-43d);
   font-size: var(--step--1);
}

.doc-meta-item dt {
   color: var(--ink-muted);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wider);
}

.doc-meta-item dd {
   margin: 0;
   color: var(--accent);
   font-weight: 600;
}

.doc-clause {
   margin-block-end: var(--space-xl);
   padding-block-end: var(--space-l);
   border-bottom: 1px solid var(--border-heavy);
}

.doc-clause:last-of-type {
   border-bottom: none;
   margin-block-end: 0;
   padding-block-end: 0;
}

.doc-clause:target {
   outline: 3px solid var(--accent);
   outline-offset: 4px;
}

.doc-clause-header { margin-block-end: var(--space-s); }

.doc-clause-code {
   font-family: var(--rubi-43d);
   font-size: var(--step--1);
   font-weight: 700;
   color: var(--accent);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wide);
   display: block;
   margin-block-end: 0.25rem;
}

.doc-clause-title {
   font-family: var(--rubi-16b);
   font-size: var(--rubi-c89);
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: var(--tracking-tight);
   color: var(--ink);
}

.doc-clause-text {
   font-family: var(--rubi-796);
   font-size: var(--rubi-f3c);
   line-height: var(--leading-normal);
   color: var(--ink);
}

.doc-clause-text p { margin-block-end: var(--space-s); }

.doc-clause-text ul,
.doc-clause-text ol {
   color: var(--ink-muted);
   margin-block-start: var(--space-xs);
}

.contact-page-shell {
   width: 100%;
   background-color: var(--ground);
   padding-block: clamp(3rem, 6vw, 5.5rem);
}

.contact-dispatch-grid {
   display: grid;
   grid-template-columns: 1fr 1.35fr;
   gap: var(--space-xl);
   align-items: start;
}

@media (max-width: 900px) {
   .contact-dispatch-grid { grid-template-columns: 1fr; }
}

.contact-info-panel {
   background-color: var(--ground-black);
   border: var(--border-width) solid var(--border-heavy);
   padding: var(--space-l);
   border-top: var(--border-thick) solid var(--accent);
}

.contact-panel-title {
   font-family: var(--rubi-16b);
   font-size: var(--rubi-2d2);
   font-weight: 800;
   text-transform: uppercase;
   letter-spacing: var(--tracking-tight);
   color: var(--ink);
   margin-block-end: var(--space-m);
   border-bottom: 1px solid var(--border-heavy);
   padding-block-end: var(--space-s);
}

.contact-fact-list {
   display: flex;
   flex-direction: column;
   gap: var(--space-m);
   margin-block-end: var(--space-l);
}

.contact-fact-item dt {
   font-family: var(--rubi-43d);
   font-size: var(--step--1);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wider);
   color: var(--ink-muted);
   margin-block-end: 0.25rem;
}

.contact-fact-item dd {
   font-family: var(--rubi-796);
   font-size: var(--rubi-503);
   color: var(--ink);
   margin: 0;
}

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

.contact-hours-table {
   width: 100%;
   border-collapse: collapse;
   margin-block-start: var(--space-s);
}

.contact-hours-table td {
   padding: 0.5rem 0;
   border-bottom: 1px solid var(--border-heavy);
   font-family: var(--rubi-43d);
   font-size: var(--step--1);
}

.contact-hours-table td:last-child {
   text-align: right;
   color: var(--accent);
   font-weight: 600;
}

.error-page-shell {
   width: 100%;
   min-height: 70vh;
   background-color: var(--ground-black);
   border-bottom: var(--border-thick) solid var(--border-heavy);
   padding-block: clamp(4rem, 10vw, 8rem);
   display: flex;
   align-items: center;
   position: relative;
}

.error-page-shell::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   height: 8px;
   background-image: var(--hazard-line);
}

.error-code {
   font-family: var(--rubi-16b);
   font-size: clamp(5rem, 15vw, 12rem);
   font-weight: 800;
   line-height: var(--leading-none);
   color: var(--accent);
   letter-spacing: -0.03em;
   margin-block-end: var(--space-s);
}

.error-title {
   font-family: var(--rubi-16b);
   font-size: var(--rubi-31e);
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: var(--tracking-tight);
   color: var(--ink);
   margin-block-end: var(--space-s);
}

.error-prose {
   font-family: var(--rubi-796);
   font-size: var(--rubi-503);
   color: var(--ink-muted);
   max-width: 50ch;
   margin-block-end: var(--space-l);
}

.error-actions {
   display: flex;
   flex-wrap: wrap;
   gap: var(--space-s);
}

@media print {
   body {
      background-color: #fff !important;
      color: #111 !important;
   }

   .site-header,
   .site-footer,
   .spec-ticker,
   .cookie-banner,
   .chat-launcher,
   .chat-panel,
   .disclosure-toolbar,
   .sticky-index-rail,
   .sticky-mobile-jump-wrap { display: none !important; }

   .framed-doc-card,
   .disclosure-item,
   .cookie-clause-block {
      background: transparent !important;
      border: 1px solid #666 !important;
      box-shadow: none !important;
      padding: 1rem !important;
      page-break-inside: avoid;
   }

   details.disclosure-item { display: block !important; }

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

   .hero-headline,
   .doc-masthead-title,
   .plate-heading,
   .cookie-clause-heading { color: #000 !important; }
}
