.hero-opening {
   position:relative;
   width:100%;
   min-height:calc(100vh - 130px);
   min-height:calc(100svh - 130px);
   display:flex;
   align-items:center;
   border-bottom:2px solid var(--ink);
   background-color:var(--ground);
   overflow:hidden;
   padding-block:var(--space-3xl);
}

.hero-opening[data-opening] { position:relative; }

.hero-media-backdrop {
   position:absolute;
   top:0;
   right:0;
   bottom:0;
   width:52%;
   height:100%;
   pointer-events:none;
   z-index:1;
   overflow:hidden;
}

.hero-media-backdrop img {
   width:100%;
   height:100%;

   object-fit:cover;
   object-position:80% center;
}

@media (max-width: 768px) {
   .hero-opening { flex-direction:column-reverse; }

   .hero-media-backdrop {
      position:relative;
      width:100%;
      height:auto;
      aspect-ratio:3 / 2;
      opacity:1;
   }

   .hero-media-backdrop img {
      width:100%;
      height:100%;
      aspect-ratio:3 / 2;
      object-fit:cover;
   }
}

.hero-frame {
   position:relative;
   width:100%;
   max-width:var(--max-width-page);
   margin-inline:auto;
   padding-inline:var(--space-grid);
   display:flex;
   align-items:center;
}

.hero-content {
   position:relative;
   z-index:3;
   width:100%;
   max-width:48ch;
   display:flex;
   flex-direction:column;
   align-items:flex-start;
   justify-content:center;
   padding-block:var(--space-2xl);
}

.hero-content h1 {
   font-size:var(--text-display);
   line-height:1.08;
   letter-spacing:var(--tracking-tight);
   color:var(--ink);
   margin-bottom:var(--space-md);
   text-wrap:balance;
   hyphens:none;
   word-break:normal;
   overflow-wrap:normal;
}

.hero-content .lede {
   font-size:var(--text-md);
   line-height:var(--line-height-snug);
   color:var(--ink);
   margin-bottom:var(--space-lg);
   max-width:52ch;
}

.hero-actions {
   display:flex;
   align-items:center;
   gap:var(--space-md);
   margin-bottom:var(--space-lg);
}

.hero-ledger-strip {
   display:grid;
   grid-template-columns:repeat(3, minmax(0, 1fr));
   gap:var(--space-md);
   width:100%;
   border-top:var(--border-hairline);
   padding-top:var(--space-md);
   margin-top:var(--space-sm);
}

.hero-ledger-item {
   display:flex;
   flex-direction:column;
   gap:var(--space-3xs);
}

.hero-ledger-num {
   font-family:var(--font-meta);
   font-size:var(--text-md);
   font-weight:var(--font-weight-bold);
   color:var(--ink);
   line-height:1;
}

.hero-ledger-label {
   font-family:var(--font-meta);

   font-size:var(--text-xs);
   color:var(--ink-soft);
   letter-spacing:var(--tracking-wide);
   text-transform:uppercase;
}

.hero-stage-visual {
   position:relative;
   z-index:2;
   width:100%;
   aspect-ratio:4 / 3;
   border:1px solid var(--ink);
   background-color:var(--surface);
   box-shadow:6px 6px 0px var(--line);
   overflow:hidden;
}

.hero-stage-visual img {
   width:100%;
   height:100%;
   object-fit:cover;
   object-position:right center;
}

.hero-stack-layer {
   position:absolute;
   inset:0;
   width:100%;
   height:100%;
   pointer-events:none;
}

.hero-stack-card-1 {
   position:absolute;
   top:8%;
   right:-4%;
   width:52%;
   height:72%;
   border:1px solid var(--ink);
   background-color:var(--surface-2);
   background-image:repeating-linear-gradient(to bottom, transparent, transparent 15px, var(--line) 15px, var(--line) 16px);
   transform:rotate(4deg);
   opacity:0.9;
   box-shadow:4px 4px 0px var(--line);
}

.hero-stack-card-2 {
   position:absolute;
   top:14%;
   right:6%;
   width:48%;
   height:68%;
   border:1px solid var(--accent);
   background-color:var(--surface);
   background-image:radial-gradient(var(--ink-soft) 1px, transparent 1px);
   background-size:12px 12px;
   transform:rotate(-3deg);
   opacity:0.95;
   box-shadow:3px 3px 0px var(--line);
}

.hero-stack-rule {
   position:absolute;
   bottom:0;
   left:0;
   height:3px;
   background-color:var(--accent);
   width:100%;
   transform-origin:left center;
}

/* Scroll-scene technique on first screen */
[data-scene] { position:relative; }

[data-opening] [data-scene="stack-card-1"],
[data-opening] [data-scene] .hero-stack-card-1,
[data-scene="scroll-scene"] .hero-stack-card-1,
[data-scene] .hero-stack-card-1 {
   animation-timeline:view();
   animation-range:exit -20% exit 100%;
}

[data-opening] [data-scene="stack-card-2"],
[data-opening] [data-scene] .hero-stack-card-2,
[data-scene="scroll-scene"] .hero-stack-card-2,
[data-scene] .hero-stack-card-2 {
   animation-timeline:view();
   animation-range:exit -20% exit 100%;
}

[data-opening] [data-scene="stack-rule"],
[data-opening] [data-scene] .hero-stack-rule,
[data-scene="scroll-scene"] .hero-stack-rule,
[data-scene] .hero-stack-rule {

   animation-timeline:view();
   animation-range:entry 0% cover 40%;
}

@supports (animation-timeline: view()) {
   [data-opening] [data-scene="stack-card-1"],
   [data-opening] [data-scene] .hero-stack-card-1,
   [data-scene="scroll-scene"] .hero-stack-card-1,
   [data-scene] .hero-stack-card-1,
   .hero-opening[data-opening] .hero-stack-card-1 {
      animation:fanLayerOne linear both;
      animation-timeline:view();
      animation-range:exit -20% exit 100%;
   }

   [data-opening] [data-scene="stack-card-2"],
   [data-opening] [data-scene] .hero-stack-card-2,
   [data-scene="scroll-scene"] .hero-stack-card-2,
   [data-scene] .hero-stack-card-2,
   .hero-opening[data-opening] .hero-stack-card-2 {
      animation:fanLayerTwo linear both;
      animation-timeline:view();
      animation-range:exit -20% exit 100%;
   }

   [data-opening] [data-scene="stack-rule"],
   [data-opening] [data-scene] .hero-stack-rule,
   [data-scene="scroll-scene"] .hero-stack-rule,
   [data-scene] .hero-stack-rule,
   .hero-opening[data-opening] .hero-stack-rule {
      animation:drawRuleLine linear both;
      animation-timeline:view();
      animation-range:entry 0% cover 40%;
   }

   @keyframes fanLayerOne {
      0% { transform:rotate(4deg) translate(0, 0); }
      100% { transform:rotate(14deg) translate(28px, -20px); }
   }

   @keyframes fanLayerTwo {
      0% { transform:rotate(-3deg) translate(0, 0); }
      100% { transform:rotate(-9deg) translate(-20px, 16px); }
   }

   @keyframes drawRuleLine {
      0% { transform:scaleX(0.1); }
      100% { transform:scaleX(1); }
   }
}

.pinned-deck-scene {
   position:relative;
   width:100%;
   border-bottom:2px solid var(--ink);
   background-color:var(--surface);
}

.pinned-deck-stage {
   position:sticky;
   top:0;
   height:100vh;
   height:100svh;
   display:flex;
   flex-direction:column;
   justify-content:space-between;
   padding:var(--space-xl) var(--space-grid);
   max-width:var(--max-width-page);
   margin-inline:auto;
   overflow:hidden;
}

.pinned-progress-indicator {
   position:absolute;
   top:0;
   left:0;
   height:4px;
   width:100%;
   background-color:var(--surface-2);
}

.pinned-progress-bar {
   height:100%;
   width:33%;
   background-color:var(--accent);
   transition:width var(--duration-quick) var(--ease-out-quad);
}

.pinned-deck-container {
   display:grid;
   grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
   gap:var(--space-2xl);
   align-items:center;
   flex:1 1 auto;
}

.pinned-deck-copy-stack {
   position:relative;
   min-height:280px;
}

.pinned-pane {
   position:absolute;
   top:0;
   left:0;
   width:100%;
   opacity:0;
   visibility:hidden;
   transition:opacity var(--duration-medium) var(--ease-out-quad), visibility var(--duration-medium) var(--ease-out-quad);
}

.pinned-pane.is-active {
   position:relative;
   opacity:1;
   visibility:visible;
}

.pinned-pane h2 {
   font-size:var(--text-2xl);
   line-height:var(--line-height-tight);
   margin-bottom:var(--space-sm);
}

.pinned-pane p {
   font-size:var(--text-base);
   line-height:var(--line-height-normal);
   color:var(--ink);
   margin-bottom:var(--space-md);
}

.pinned-deck-media {
   position:relative;
   width:100%;
   aspect-ratio:4 / 3;
   border:1px solid var(--ink);
   background-color:var(--ground);
}

.pinned-deck-media img {
   width:100%;
   height:100%;
   object-fit:cover;
}

.pinned-deck-controls {
   display:flex;
   align-items:center;
   justify-content:space-between;
   border-top:var(--border-hairline);
   padding-top:var(--space-md);
   font-family:var(--font-meta);
   font-size:var(--text-xs);
}

.section-editorial-block {
   padding-block:var(--space-2xl);
   border-bottom:2px solid var(--ink);
}

.section-editorial-block.tinted { background-color:var(--surface); }

.editorial-header-row {
   display:flex;
   align-items:baseline;
   justify-content:space-between;
   border-bottom:2px solid var(--ink);
   padding-bottom:var(--space-xs);
   margin-bottom:var(--space-xl);
}

.editorial-header-row h2 {
   font-size:var(--text-2xl);
   margin-bottom:0;
}

.editorial-header-row .section-dateline {
   font-family:var(--font-meta);
   font-size:var(--text-xs);
   text-transform:uppercase;
   letter-spacing:var(--tracking-wider);
   color:var(--ink-soft);
}

.lead-story-tile {
   grid-column:span 7;
   background-color:var(--surface);
   border:1px solid var(--ink);
   padding:var(--space-lg);
   display:flex;
   flex-direction:column;
   justify-content:space-between;
}

.lead-story-media {
   width:100%;
   aspect-ratio:16 / 10;
   border:var(--border-hairline);
   background-color:var(--surface-2);
   margin-bottom:var(--space-md);
   overflow:hidden;
}

.lead-story-media img {
   width:100%;
   height:100%;
   object-fit:cover;
}

.secondary-story-tile {
   grid-column:span 5;
   background-color:var(--surface);
   border:1px solid var(--ink);
   padding:var(--space-lg);
   display:flex;
   flex-direction:column;
}

.secondary-story-tile .tile-figure {
   width:100%;
   aspect-ratio:4 / 3;
   border:var(--border-hairline);
   margin-bottom:var(--space-md);
   overflow:hidden;
}

.secondary-story-tile .tile-figure img {
   width:100%;
   height:100%;
   object-fit:cover;
}

.editorial-rail-container {
   grid-column:span 12;
   display:grid;
   grid-template-columns:repeat(4, minmax(0, 1fr));
   gap:var(--space-grid);
   border-top:var(--border-hairline);
   padding-top:var(--space-lg);
}

.rail-card {
   background-color:var(--surface);
   border:var(--border-hairline);
   padding:var(--space-md);
   display:flex;
   flex-direction:column;
   justify-content:space-between;
   transition:border-color var(--duration-instant) var(--ease-out-quad);
}

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

.rail-card h3 {
   font-size:var(--text-md);
   margin-bottom:var(--space-2xs);
}

.rail-card .rail-thumb {
   width:100%;
   aspect-ratio:3 / 2;
   border:var(--border-hairline);
   margin-bottom:var(--space-xs);
   overflow:hidden;
}

.rail-card .rail-thumb img {
   width:100%;
   height:100%;
   object-fit:cover;
}

.rail-price-tag {
   font-family:var(--font-meta);
   font-size:var(--text-xs);
   font-weight:var(--font-weight-bold);
   color:var(--ink);
   margin-top:var(--space-xs);
   border-top:1px dotted var(--line);
   padding-top:var(--space-2xs);
}

.category-hero {
   padding-block:var(--space-xl) var(--space-lg);
   border-bottom:2px solid var(--ink);
   background-color:var(--surface);
}

.category-hero-header {
   border-bottom:var(--border-hairline);
   padding-bottom:var(--space-md);
   margin-bottom:var(--space-lg);
}

.category-hero h1 {
   font-size:var(--text-3xl);
   margin-bottom:var(--space-xs);
}

.category-toolbar {
   display:flex;
   align-items:center;
   justify-content:space-between;
   flex-wrap:wrap;
   gap:var(--space-sm);
   padding-block:var(--space-xs);
   font-family:var(--font-meta);
   font-size:var(--text-xs);
}

.filter-chip-group {
   display:flex;
   align-items:center;
   gap:var(--space-2xs);
   flex-wrap:wrap;
}

.filter-chip {
   background-color:var(--ground);
   border:var(--border-hairline);
   color:var(--ink);
   padding:var(--space-3xs) var(--space-xs);
   font-family:var(--font-meta);
   font-size:var(--text-xs);
   border-radius:var(--radius-subtle);
   cursor:pointer;
   min-height:36px;
   display:inline-flex;
   align-items:center;
   text-decoration:none;
   transition:background-color var(--duration-instant) var(--ease-out-quad), border-color var(--duration-instant) var(--ease-out-quad);
}

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

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

.category-catalog-grid {
   display:grid;
   grid-template-columns:repeat(3, minmax(0, 1fr));
   gap:var(--space-grid);
   margin-block:var(--space-xl);
}

.item-showcase-layout {
   display:grid;
   grid-template-columns:minmax(0, 1.25fr) minmax(320px, 480px);
   gap:var(--space-2xl);
   padding-block:var(--space-xl);
}

.item-gallery-column {
   display:flex;
   flex-direction:column;
   gap:var(--space-lg);
}

.item-main-image-wrap {
   width:100%;
   aspect-ratio:4 / 3;
   border:2px solid var(--ink);
   background-color:var(--surface);
   overflow:hidden;
}

.item-main-image-wrap img {
   width:100%;
   height:100%;
   object-fit:cover;
}

.item-detail-gallery {
   display:grid;
   grid-template-columns:repeat(2, minmax(0, 1fr));
   gap:var(--space-md);
}

.item-detail-thumb {
   width:100%;
   aspect-ratio:4 / 3;
   border:var(--border-hairline);
   background-color:var(--surface);
   overflow:hidden;
}

.item-detail-thumb img {
   width:100%;
   height:100%;
   object-fit:cover;
}

.item-spec-column {
   display:flex;
   flex-direction:column;
   gap:var(--space-md);
   border-left:var(--border-hairline);
   padding-left:var(--space-xl);
}

.item-spec-box {
   background-color:var(--surface);
   border:1px solid var(--ink);
   padding:var(--space-lg);
}

.item-price-banner {
   border-bottom:2px solid var(--ink);
   padding-bottom:var(--space-sm);
   margin-bottom:var(--space-md);
}

.item-price-banner .price-figure {
   font-family:var(--font-meta);
   font-size:var(--text-xl);
   font-weight:var(--font-weight-bold);
   color:var(--ink);
   display:block;
}

.item-price-banner .price-subtitle {
   font-family:var(--font-meta);
   font-size:var(--text-xs);
   color:var(--ink-soft);
}

.spec-key-value-list {
   display:flex;
   flex-direction:column;
   gap:var(--space-xs);
   margin-block:var(--space-md);
}

.spec-key-value-row {
   display:flex;
   justify-content:space-between;
   align-items:baseline;
   border-bottom:1px dotted var(--line);
   padding-bottom:var(--space-3xs);
   font-family:var(--font-meta);
   font-size:var(--text-xs);
}

.spec-key-value-row .spec-label {
   color:var(--ink-soft);
   text-transform:uppercase;
}

.spec-key-value-row .spec-val {
   color:var(--ink);
   font-weight:var(--font-weight-bold);
}

.compatibility-checker-box {
   border:var(--border-hairline);
   background-color:var(--ground);
   padding:var(--space-md);
   margin-block:var(--space-md);
}

.compatibility-checker-box h4 {
   font-size:var(--text-md);
   margin-bottom:var(--space-3xs);
}

.spec-chart-matrix {
   width:100%;
   border:1px solid var(--ink);
   background-color:var(--surface);
   margin-block:var(--space-lg);
}

.spec-chart-matrix table { margin:0; }

.spec-chart-matrix th {
   background-color:var(--surface-2);
   border-bottom:2px solid var(--ink);
   padding:var(--space-xs) var(--space-sm);
}

.spec-chart-matrix td {
   padding:var(--space-xs) var(--space-sm);
   border-bottom:var(--border-hairline);
   font-family:var(--font-meta);
   font-size:var(--text-xs);
}

.spec-chart-matrix tr:last-child td { border-bottom:none; }

.tolerance-badge-green {
   display:inline-block;
   padding:0.15rem 0.4rem;
   background-color:#E2ECD4;
   border:1px solid #5A7D2C;
   color:#2F4214;
   font-family:var(--font-meta);
   font-size:var(--text-xs);
   border-radius:var(--radius-subtle);
}

.tolerance-badge-amber {
   display:inline-block;
   padding:0.15rem 0.4rem;
   background-color:#F8EED6;
   border:1px solid #9C712B;
   color:#543B10;
   font-family:var(--font-meta);
   font-size:var(--text-xs);
   border-radius:var(--radius-subtle);
}

.materials-ledger-grid {
   display:grid;
   grid-template-columns:repeat(2, minmax(0, 1fr));
   gap:var(--space-lg);
   margin-block:var(--space-xl);
}

.material-card {
   background-color:var(--surface);
   border:1px solid var(--ink);
   padding:var(--space-lg);
   display:flex;
   flex-direction:column;
}

.material-card-header {
   border-bottom:var(--border-hairline);
   padding-bottom:var(--space-xs);
   margin-bottom:var(--space-sm);
}

.material-card-header h3 {
   font-size:var(--text-lg);
   margin-bottom:var(--space-3xs);
}

.material-metric-row {
   display:grid;
   grid-template-columns:repeat(3, minmax(0, 1fr));
   gap:var(--space-xs);
   background-color:var(--ground);
   border:var(--border-hairline);
   padding:var(--space-xs);
   margin-block:var(--space-sm);
   font-family:var(--font-meta);
   font-size:var(--text-xs);
}

.material-metric {
   display:flex;
   flex-direction:column;
}

.material-metric-val {
   font-weight:var(--font-weight-bold);
   color:var(--ink);
}

.material-metric-key {
   color:var(--ink-soft);
   font-size:0.7rem;
   text-transform:uppercase;
}

.counter-desk-layout {
   display:grid;
   grid-template-columns:minmax(0, 1.2fr) minmax(320px, 460px);
   gap:var(--space-2xl);
   padding-block:var(--space-xl);
}

.counter-hours-card {
   background-color:var(--surface);
   border:2px solid var(--ink);
   padding:var(--space-lg);
}

.counter-timeline {
   display:flex;
   flex-direction:column;
   gap:var(--space-md);
   margin-block:var(--space-md);
   border-left:2px solid var(--line);
   padding-left:var(--space-md);
}

.timeline-step { position:relative; }

.timeline-step::before {
   content:"";
   position:absolute;
   left:calc(-1 * var(--space-md) - 6px);
   top:4px;
   width:10px;
   height:10px;
   background-color:var(--accent);
   border:2px solid var(--ink);
   border-radius:50%;
}

.timeline-step h4 {
   font-size:var(--text-md);
   margin-bottom:var(--space-3xs);
}

.timeline-step p {
   font-size:var(--text-sm);
   color:var(--ink);
   margin-bottom:0;
}

.counter-address-box {
   background-color:var(--ground);
   border:var(--border-hairline);
   padding:var(--space-md);
   margin-top:var(--space-md);
   font-family:var(--font-meta);
   font-size:var(--text-xs);
}

.counter-address-box p { margin-bottom:var(--space-xs); }

.counter-address-box a {
   color:var(--accent);
   text-decoration:underline;
}

.contact-channels-grid {
   display:grid;
   grid-template-columns:repeat(3, minmax(0, 1fr));
   gap:var(--space-lg);
   margin-block:var(--space-xl);
}

.contact-card {
   background-color:var(--surface);
   border:1px solid var(--ink);
   padding:var(--space-lg);
   display:flex;
   flex-direction:column;
}

.contact-card .icon {
   width:1.8rem;
   height:1.8rem;
   color:var(--accent);
   margin-bottom:var(--space-xs);
}

.contact-card h3 {
   font-size:var(--text-md);
   margin-bottom:var(--space-2xs);
}

.contact-card p {
   font-size:var(--text-sm);
   margin-bottom:var(--space-xs);
}

.clause-ledger-wrap {
   width:100%;
   border:2px solid var(--ink);
   background-color:var(--surface);
   margin-block:var(--space-xl);
   overflow:hidden;
}

.clause-ledger-table {
   width:100%;
   border-collapse:collapse;
}

.clause-ledger-table th {
   background-color:var(--surface-2);
   border-bottom:2px solid var(--ink);
   padding:var(--space-sm) var(--space-md);
   text-align:left;
   font-family:var(--font-meta);
   font-size:var(--text-xs);
   font-weight:var(--font-weight-bold);
   letter-spacing:var(--tracking-wider);
   text-transform:uppercase;
}

.clause-ledger-table td {
   padding:var(--space-md);
   border-bottom:var(--border-hairline);
   vertical-align:top;
   line-height:var(--line-height-snug);
}

.clause-ledger-table tr:last-child td { border-bottom:none; }

.clause-num {
   font-family:var(--font-meta);
   font-size:var(--text-xs);
   font-weight:var(--font-weight-bold);
   color:var(--accent);
   white-space:nowrap;
}

.clause-title {
   font-family:var(--bimu-e00);
   font-weight:var(--font-weight-bold);
   color:var(--ink);
   display:block;
   margin-bottom:var(--space-3xs);
}

.clause-plain {
   font-family:var(--bimu-e00);
   font-size:var(--text-sm);
   color:var(--ink);
   max-width:50ch;
}

.clause-basis {
   font-family:var(--font-meta);
   font-size:var(--text-xs);
   color:var(--ink-soft);
   max-width:44ch;
}

.questions-architecture {
   max-width:var(--measure-lead);
   margin-inline:auto;
   padding-block:var(--space-xl);
}

.question-block {
   border-bottom:var(--border-hairline);
   padding-block:var(--space-xl);
}

.question-block:first-child { padding-top:0; }

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

.question-heading {
   font-family:var(--bimu-25e);
   font-size:var(--text-2xl);
   line-height:1.2;
   color:var(--ink);
   margin-bottom:var(--space-md);
   text-wrap:balance;
}

.question-body {
   font-size:var(--text-base);
   line-height:var(--line-height-relaxed);
   color:var(--ink);
   max-width:var(--measure-prose);
}

.question-body p { margin-bottom:var(--space-md); }

.cookie-inventory-table {
   width:100%;
   border:var(--border-hairline);
   background-color:var(--surface);
   margin-block:var(--space-md);
   border-collapse:collapse;
}

.cookie-inventory-table th,
.cookie-inventory-table td {
   padding:var(--space-xs) var(--space-sm);
   border-bottom:var(--border-hairline);
   font-family:var(--font-meta);
   font-size:var(--text-xs);
}

.cookie-inventory-table th { background-color:var(--surface-2); }

.at-a-glance-panel {
   border:2px solid var(--ink);
   background-color:var(--surface);
   padding:var(--space-lg);
   margin-block:var(--space-xl);
}

.at-a-glance-panel h2,
.at-a-glance-title {
   font-family:var(--bimu-25e);
   font-size:var(--text-xl);
   font-weight:var(--font-weight-bold);
   margin-bottom:var(--space-sm);
   border-bottom:var(--border-hairline);
   padding-bottom:var(--space-2xs);
   color:var(--ink);
}

.at-a-glance-table {
   width:100%;
   border-collapse:collapse;
   margin-top:var(--space-sm);
}

.at-a-glance-table th,
.at-a-glance-table td {
   padding:var(--space-xs) var(--space-sm);
   border-bottom:1px dotted var(--line);
   vertical-align:top;
   line-height:var(--line-height-snug);
}

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

.at-a-glance-table th {
   width:28%;
   font-family:var(--font-meta);
   font-size:var(--text-xs);
   font-weight:var(--font-weight-bold);
   text-transform:uppercase;
   letter-spacing:var(--tracking-wider);
   color:var(--ink-soft);
   text-align:left;
}

.at-a-glance-table td {
   font-family:var(--bimu-e00);
   font-size:var(--text-sm);
   color:var(--ink);
   font-weight:var(--font-weight-normal);
}

.glance-grid {
   display:grid;
   grid-template-columns:repeat(2, minmax(0, 1fr));
   gap:var(--space-md);
   margin-top:var(--space-md);
}

.glance-row {
   border-bottom:1px dotted var(--line);
   padding-bottom:var(--space-xs);
   display:flex;
   flex-direction:column;
   gap:var(--space-3xs);
}

.glance-key {
   font-family:var(--font-meta);
   font-size:var(--text-xs);
   font-weight:var(--font-weight-bold);
   text-transform:uppercase;
   letter-spacing:var(--tracking-wider);
   color:var(--ink-soft);
}

.glance-val {
   font-family:var(--bimu-e00);
   font-size:var(--text-sm);
   color:var(--ink);
   font-weight:var(--font-weight-medium);
}

.prose-legal-flow {
   max-width:var(--measure-prose);
   margin-inline:auto;
   padding-block:var(--space-xl);
}

.prose-legal-flow h2 {
   font-size:var(--text-xl);
   margin-top:var(--space-xl);
   margin-bottom:var(--space-sm);
}

.prose-legal-flow h3 {
   font-size:var(--text-md);
   margin-top:var(--space-lg);
   margin-bottom:var(--space-xs);
}

.prose-legal-flow p {
   line-height:var(--line-height-relaxed);
   margin-bottom:var(--space-md);
}

.faq-accordion {
   border-top:var(--border-hairline);
   margin-block:var(--space-lg);
}

.faq-item { border-bottom:var(--border-hairline); }

.faq-button {
   width:100%;
   text-align:left;
   background:transparent;
   border:none;
   padding:var(--space-md) 0;
   display:flex;
   justify-content:space-between;
   align-items:center;
   cursor:pointer;
   font-family:var(--bimu-25e);
   font-size:var(--text-md);
   color:var(--ink);
   min-height:52px;
   transition:color var(--duration-instant) var(--ease-out-quad);
}

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

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

.faq-button .icon {
   width:1.2rem;
   height:1.2rem;
   transition:transform var(--duration-quick) var(--ease-out-quad);
}

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

.faq-answer {
   display:none;
   padding-bottom:var(--space-md);
   max-width:var(--measure-prose);
   font-size:var(--text-base);
   line-height:var(--line-height-normal);
   color:var(--ink);
}

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

.error-404-scene {
   padding-block:var(--space-3xl);
   text-align:center;
   display:flex;
   flex-direction:column;
   align-items:center;
   justify-content:center;
}

.error-num {
   font-family:var(--font-meta);
   font-size:clamp(4rem, 8vw, 8rem);
   font-weight:var(--font-weight-bold);
   line-height:1;
   color:var(--accent);
   margin-bottom:var(--space-xs);
}

.error-404-scene h1 {
   font-size:var(--text-2xl);
   margin-bottom:var(--space-sm);
}

.error-404-scene p {
   margin-inline:auto;
   margin-bottom:var(--space-lg);
}

@media (max-width: 1024px) {
   .hero-media-backdrop {
      opacity:0.25;
      width:60%;
   }

   .lead-story-tile,
   .secondary-story-tile { grid-column:span 12; }

   .editorial-rail-container { grid-template-columns:repeat(2, minmax(0, 1fr)); }

   .category-catalog-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }

   .item-showcase-layout,
   .counter-desk-layout {
      grid-template-columns:1fr;
      gap:var(--space-lg);
   }

   .item-spec-column {
      border-left:none;
      padding-left:0;
      border-top:var(--border-hairline);
      padding-top:var(--space-lg);
   }

   .contact-channels-grid { grid-template-columns:1fr; }

   .materials-ledger-grid { grid-template-columns:1fr; }
}

@media (max-width: 768px) {
   .hero-opening {
      min-height:auto;
      padding-block:var(--space-xl) var(--space-lg);
   }

   .hero-content { padding-block:var(--space-md); }

   .hero-content h1 { font-size:var(--text-2xl); }

   .hero-ledger-strip {
      grid-template-columns:1fr;
      gap:var(--space-sm);
   }

   .editorial-rail-container { grid-template-columns:1fr; }

   .category-catalog-grid { grid-template-columns:1fr; }

   .item-detail-gallery { grid-template-columns:1fr; }

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

   .at-a-glance-table,
   .at-a-glance-table tbody,
   .at-a-glance-table tr,
   .at-a-glance-table th,
   .at-a-glance-table td {
      display:block;
      width:100%;
   }

   .at-a-glance-table tr {
      padding-block:var(--space-xs);
      border-bottom:1px dotted var(--line);
   }

   .at-a-glance-table th {
      width:100%;
      padding-bottom:var(--space-3xs);
      padding-inline:0;
      border-bottom:none;
   }

   .at-a-glance-table td {
      padding-top:0;
      padding-inline:0;
      padding-bottom:var(--space-2xs);
      border-bottom:none;
   }

   .clause-ledger-wrap {
      border:none;
      background:transparent;
   }

   .clause-ledger-table,
   .clause-ledger-table tbody,
   .clause-ledger-table tr,
   .clause-ledger-table td {
      display:block;
      width:100%;
   }

   .clause-ledger-table thead { display:none; }

   .clause-ledger-table tr {
      background-color:var(--surface);
      border:1px solid var(--ink);
      margin-bottom:var(--space-md);
      padding:var(--space-sm);
   }

   .clause-ledger-table td {
      border-bottom:1px dotted var(--line);
      padding:var(--space-xs) 0;
   }

   .clause-ledger-table td:last-child { border-bottom:none; }

   .clause-ledger-table td::before {
      display:block;
      font-family:var(--font-meta);
      font-size:var(--text-xs);
      font-weight:var(--font-weight-bold);
      color:var(--ink-soft);
      text-transform:uppercase;
      margin-bottom:var(--space-3xs);
   }

   .clause-ledger-table td:nth-child(1)::before { content:"Clause Reference:"; }

   .clause-ledger-table td:nth-child(2)::before { content:"Substance & Meaning:"; }

   .clause-ledger-table td:nth-child(3)::before { content:"Applicable Basis:"; }

   .pinned-deck-stage {
      position:static;
      height:auto;
      padding:var(--space-lg) var(--space-grid);
   }

   .pinned-deck-container {
      grid-template-columns:1fr;
      gap:var(--space-lg);
   }

   .pinned-pane {
      position:static;
      opacity:1;
      visibility:visible;
      margin-bottom:var(--space-lg);
   }

   .pinned-progress-indicator,
   .pinned-deck-controls { display:none; }
}

@media (max-width: 480px) {
   .hero-actions {
      flex-direction:column;
      align-items:stretch;
      width:100%;
   }

   .hero-actions .btn { width:100%; }

   .category-toolbar {
      flex-direction:column;
      align-items:flex-start;
   }

   .btn {
      max-width:100%;
      white-space:normal;
      text-wrap:balance;
   }
}
