


.held-section {
   position:relative;
   border-bottom:1px solid var(--border-oxide);
   background-color:var(--ground);
}


.held-section-deep { background-color:var(--surface-deep); }


.held-section-soot { background-color:var(--soot-black); }


.held-section-dark { background-color:var(--soot-dark); }


.held-layout {
   display:grid;
   grid-template-columns:minmax(280px, 4fr) minmax(480px, 8fr);
   gap:var(--space-2xl);
   padding:var(--space-3xl) var(--space-xl);
   min-height:80vh;
   position:relative;
}


/* Alternating held polarity: switches held side across sequential sections */
.held-layout.held-reverse { grid-template-columns:minmax(480px, 8fr) minmax(280px, 4fr); }


@media (min-width: 1201px) {
   .held-layout.held-reverse .held-side { order:2; }


   .held-layout.held-reverse .scrolling-side { order:1; }
}


.held-side {
   position:sticky;
   top:var(--space-xl);
   align-self:start;
   display:flex;
   flex-direction:column;
   gap:var(--space-md);
   padding-right:var(--space-lg);
   min-width:0;
}


.held-layout.held-reverse .held-side {
   padding-right:0;
   padding-left:var(--space-lg);
}


.held-title {
   font-family:var(--guku-3df);
   font-size:var(--fs-2xl);
   font-weight:900;
   line-height:var(--lh-tight);
   letter-spacing:-0.035em;
   text-transform:uppercase;
   color:var(--bone-white);
   margin-bottom:var(--space-xs);
}


.held-title-display { font-size:var(--fs-display); }


.held-standfirst {
   font-family:var(--guku-74b);

   font-size:var(--fs-md);
   line-height:var(--lh-snug);
   color:var(--bone-muted);
   max-width:44ch;
   margin-bottom:var(--space-md);
}


.held-meta-block {
   display:flex;
   flex-direction:column;
   gap:var(--space-xs);
   padding-top:var(--space-md);
   border-top:1px solid var(--border-oxide);
   font-family:var(--guku-74b);
   font-size:var(--fs-xs);
   color:var(--bone-muted);
}


.held-meta-row {
   display:flex;
   justify-content:space-between;
   align-items:baseline;
   gap:var(--space-sm);
   padding:var(--space-2xs) 0;
   border-bottom:1px dashed rgba(245, 239, 235, 0.12);
}


.held-meta-row:last-child { border-bottom:none; }


.held-meta-label {
   text-transform:uppercase;
   color:var(--bone-white);
   font-weight:600;
   letter-spacing:0.04em;
}


.held-meta-value {
   color:var(--accent-sage);
   text-align:right;
   font-weight:600;
}


.scrolling-side {
   display:flex;
   flex-direction:column;
   gap:var(--space-2xl);
   min-width:0;
}


/* Responsive collapse for held-heading composition */
@media (max-width: 1200px) {
   .held-layout,
   .held-layout.held-reverse {
      grid-template-columns:1fr;
      gap:var(--space-xl);
      padding:var(--space-2xl) var(--space-md);
      min-height:auto;
   }


   .held-side,
   .held-layout.held-reverse .held-side {
      position:static;
      top:auto;
      padding:0;
      order:1 !important;
   }


   .scrolling-side,
   .held-layout.held-reverse .scrolling-side { order:2 !important; }


   .held-title { font-size:var(--fs-xl); }


   .held-standfirst { font-size:var(--fs-base); }
}



.hero-section {
   position:relative;
   background-color:var(--ground);
   border-bottom:2px solid var(--soot-black);
   padding:var(--space-3xl) var(--space-xl) var(--space-2xl);
   overflow:hidden;
}


@media (max-width: 767px) {
   .hero-section { padding:var(--space-xl) var(--space-md); }
}


.hero-grid {
   display:grid;

   grid-template-columns:minmax(0, 6fr) minmax(0, 6fr);
   gap:var(--space-2xl);
   align-items:center;
}


@media (max-width: 1023px) {
   .hero-grid {
      grid-template-columns:1fr;
      gap:var(--space-xl);
   }
}


.hero-copy {
   display:flex;
   flex-direction:column;
   align-items:flex-start;
   z-index:2;
}


.hero-badge-row {
   display:flex;
   flex-wrap:wrap;
   gap:var(--space-xs);
   margin-bottom:var(--space-md);
}


.hero-badge {
   display:inline-flex;
   align-items:center;
   gap:var(--space-2xs);
   padding:var(--space-2xs) var(--space-sm);
   background-color:var(--soot-black);
   border:1px solid var(--border-oxide-strong);
   color:var(--accent-sage);
   font-family:var(--guku-74b);
   font-size:var(--fs-xs);
   font-weight:600;
   text-transform:uppercase;
   letter-spacing:0.05em;
}


.hero-badge-pulse {
   width:7px;
   height:7px;
   background-color:var(--accent-sage);
   display:inline-block;
}


.hero-lede {
   font-family:var(--guku-74b);
   font-size:var(--fs-md);
   line-height:var(--lh-snug);
   color:var(--bone-white);
   max-width:48ch;
   margin-bottom:var(--space-lg);
}


.hero-actions {
   display:flex;
   flex-wrap:wrap;
   gap:var(--space-sm);
   margin-bottom:var(--space-xl);
}


.hero-truth-grid {
   display:grid;
   grid-template-columns:repeat(3, minmax(0, 1fr));
   gap:var(--space-sm);
   width:100%;
   padding-top:var(--space-lg);
   border-top:1px solid var(--border-oxide);
}


@media (max-width: 1199px) {
   .hero-truth-grid {
      grid-template-columns:1fr;
      gap:var(--space-xs);
   }
}


.hero-truth-item {
   display:flex;
   flex-direction:column;
   background-color:var(--surface-deep);
   border:1px solid var(--border-oxide);
   padding:var(--space-sm);
   min-width:0;
}


.hero-truth-val {
   font-family:var(--guku-74b);
   font-size:var(--fs-base);
   font-weight:700;
   color:var(--accent-sage);
   line-height:1.2;
   white-space:nowrap;
}


.hero-truth-lbl {
   font-family:var(--guku-74b);
   font-size:var(--fs-xs);
   color:var(--bone-muted);
   text-transform:uppercase;
   letter-spacing:0.04em;
   margin-top:4px;
}


.model-stage-wrapper {
   position:relative;
   width:100%;
   background-color:var(--soot-black);
   border:1px solid var(--border-oxide-strong);
   box-shadow:8px 8px 0 var(--soot-dark);
}


.model-stage {
   position:relative;
   width:100%;
   aspect-ratio:4 / 3;
   min-height:340px;
   max-height:520px;
   overflow:hidden;
   background-color:var(--soot-black);
   touch-action:pan-y;
}


@media (max-width: 767px) {
   .model-stage {
      aspect-ratio:1 / 1;
      min-height:280px;
   }
}


.model-stage [data-model-still] {
   position:absolute;
   inset:0;
   width:100%;
   height:100%;
   object-fit:cover;
   object-position:center;
   z-index:1;
   display:block;
}


.model-stage [data-model-canvas] {
   position:absolute;
   inset:0;
   width:100%;
   height:100%;
   z-index:2;
   cursor:grab;
   outline:none;
}


.model-stage [data-model-canvas]:active { cursor:grabbing; }


/* Runtime hides still once 3D canvas is drawing and verified */
.model-stage[data-model-live] [data-model-still] { display:none !important; }


.model-stage-hud {
   position:absolute;
   bottom:var(--space-xs);
   left:var(--space-xs);
   right:var(--space-xs);
   z-index:5;
   display:flex;
   align-items:center;
   justify-content:space-between;
   pointer-events:none;
}


.model-pill {
   display:inline-flex;
   align-items:center;
   gap:var(--space-2xs);
   padding:4px var(--space-xs);
   background-color:rgba(26, 14, 11, 0.85);
   border:1px solid var(--border-oxide);
   color:var(--bone-white);
   font-family:var(--guku-74b);
   font-size:var(--fs-xs);
   text-transform:uppercase;

   letter-spacing:0.04em;
}


.model-pill-accent { color:var(--accent-sage); }


.model-stage-spec {
   padding:var(--space-sm) var(--space-md);
   background-color:var(--soot-dark);
   border-top:1px solid var(--border-oxide);
   display:flex;
   justify-content:space-between;
   align-items:center;
   font-family:var(--guku-74b);
   font-size:var(--fs-xs);
   color:var(--bone-muted);
}



.rail-section {
   padding:var(--space-3xl) 0 var(--space-3xl) var(--space-xl);
   background-color:var(--surface-deep);
   border-bottom:1px solid var(--border-oxide);
   overflow:hidden;
}


@media (max-width: 1023px) {
   .rail-section { padding:var(--space-2xl) var(--space-md); }
}


.rail-header {
   padding-right:var(--space-xl);
   margin-bottom:var(--space-xl);
   display:flex;
   flex-direction:column;
   gap:var(--space-xs);
}


@media (max-width: 1023px) {
   .rail-header { padding-right:0; }
}


.rail-controls-bar {
   display:flex;
   align-items:center;
   justify-content:space-between;
   padding-right:var(--space-xl);
   margin-bottom:var(--space-md);
   gap:var(--space-md);
}


@media (max-width: 1023px) {
   .rail-controls-bar { padding-right:0; }
}


.rail-indicator {
   flex:1;
   max-width:280px;
   height:4px;
   background-color:var(--soot-black);
   position:relative;
   overflow:hidden;
}


.rail-progress {
   height:100%;
   width:25%;
   background-color:var(--accent-sage);
   transition:width var(--duration-fast) var(--ease-out);
}


.rail-buttons {
   display:flex;
   gap:var(--space-2xs);
}


.rail-btn {
   display:inline-flex;
   align-items:center;
   justify-content:center;
   width:44px;
   height:44px;
   background-color:var(--soot-black);
   border:1px solid var(--border-oxide-strong);
   color:var(--bone-white);
   transition:background-color var(--duration-fast) var(--ease-out),
                     border-color var(--duration-fast) var(--ease-out);
}


.rail-btn:hover {
   background-color:var(--soot-dark);
   border-color:var(--bone-white);
}


.rail-btn:active { background-color:black; }


.rail-container {
   width:100%;
   overflow-x:auto;
   scroll-snap-type:x mandatory;
   -webkit-overflow-scrolling:touch;
   scrollbar-width:thin;
   scrollbar-color:var(--accent-sage) var(--soot-black);
   padding-bottom:var(--space-lg);
   cursor:grab;
}


.rail-container:active { cursor:grabbing; }


.rail-container::-webkit-scrollbar { height:6px; }


.rail-container::-webkit-scrollbar-track { background:var(--soot-black); }


.rail-container::-webkit-scrollbar-thumb { background:var(--accent-sage); }


.rail-track {
   display:flex;
   gap:var(--space-lg);
   width:max-content;
   padding-right:var(--space-xl);
}


.rail-card {
   scroll-snap-align:start;
   width:clamp(300px, 38vw, 440px);
   flex-shrink:0;
   background-color:var(--soot-black);
   border:1px solid var(--border-oxide);
   display:flex;
   flex-direction:column;
   transition:border-color var(--duration-fast) var(--ease-out);
}


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


.rail-card-media {
   width:100%;
   aspect-ratio:16 / 10;
   overflow:hidden;
   background-color:var(--soot-dark);
   position:relative;
}


.rail-card-media img {
   width:100%;
   height:100%;
   object-fit:cover;
   transition:transform var(--duration-normal) var(--ease-out);
}


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


.rail-card-body {
   padding:var(--space-lg);
   display:flex;
   flex-direction:column;
   flex-grow:1;
   justify-content:space-between;
   gap:var(--space-md);
}


.rail-card-title {
   font-family:var(--guku-3df);
   font-size:var(--fs-lg);
   font-weight:800;
   color:var(--bone-white);
   line-height:var(--lh-tight);
   text-transform:uppercase;
}


.rail-card-text {
   font-family:var(--guku-74b);
   font-size:var(--fs-sm);
   color:var(--bone-muted);
   line-height:var(--lh-body);
   margin-bottom:0;
}


.rail-card-meta {
   padding-top:var(--space-sm);
   border-top:1px solid var(--border-oxide);
   display:flex;
   justify-content:space-between;
   font-family:var(--guku-74b);
   font-size:var(--fs-xs);
   color:var(--accent-sage);
}


@media (prefers-reduced-motion: reduce) {
   .rail-section { padding-right:var(--space-xl); }
   .rail-controls-bar { display:none; }
   .rail-container {
      overflow-x:visible;
      scroll-snap-type:none;
      cursor:default;
   }
   .rail-track {
      display:grid;
      grid-template-columns:1fr;
      width:100%;
      padding-right:0;
   }
   .rail-card { width:100%; }
}



.service-card-group {
   display:flex;
   flex-direction:column;
   gap:var(--space-xl);
}


.service-item-block {
   background-color:var(--surface-deep);
   border:1px solid var(--border-oxide);
   padding:var(--space-xl);
   display:flex;
   flex-direction:column;
   gap:var(--space-md);
   position:relative;
}


.service-item-block.is-featured {
   border-color:var(--accent-sage);
   background-color:var(--soot-black);
}


.service-header-row {
   display:flex;
   flex-wrap:wrap;
   justify-content:space-between;
   align-items:baseline;
   gap:var(--space-sm);
   padding-bottom:var(--space-sm);
   border-bottom:1px solid var(--border-oxide);
}


.service-title {
   font-family:var(--guku-3df);
   font-size:var(--fs-xl);
   font-weight:800;
   text-transform:uppercase;
   color:var(--bone-white);
   letter-spacing:-0.02em;
}


.service-rate-badge {
   font-family:var(--guku-74b);
   font-size:var(--fs-lg);
   font-weight:700;
   color:var(--accent-sage);
}


.service-media-frame {
   width:100%;
   aspect-ratio:16 / 9;
   overflow:hidden;
   background-color:var(--soot-dark);
   border:1px solid var(--border-oxide);
   margin-top:var(--space-xs);
}


.service-media-frame img {
   width:100%;
   height:100%;
   object-fit:cover;
}


.service-scope-list {
   display:grid;
   grid-template-columns:repeat(2, minmax(0, 1fr));
   gap:var(--space-xs) var(--space-md);
   margin-top:var(--space-xs);
   font-family:var(--guku-74b);
   font-size:var(--fs-sm);
   color:var(--bone-muted);
}


@media (max-width: 640px) {
   .service-scope-list { grid-template-columns:1fr; }
}


.service-scope-item {
   display:flex;
   align-items:flex-start;
   gap:var(--space-xs);
   padding:var(--space-2xs) 0;
}


.service-scope-item .icon {
   color:var(--accent-sage);
   margin-top:2px;
}


/* Scope Matrix Grid */
.scope-matrix {
   display:grid;
   grid-template-columns:repeat(2, minmax(0, 1fr));
   gap:var(--space-md);
}


@media (max-width: 767px) {
   .scope-matrix { grid-template-columns:1fr; }
}


.scope-tile {
   background-color:var(--soot-black);
   border:1px solid var(--border-oxide);
   padding:var(--space-md);
   display:flex;
   flex-direction:column;
   gap:var(--space-xs);
}


.scope-tile-title {
   font-family:var(--guku-3df);
   font-size:var(--fs-md);
   font-weight:800;
   text-transform:uppercase;
   color:var(--bone-white);
}


.scope-tile-desc {
   font-family:var(--guku-74b);
   font-size:var(--fs-xs);
   color:var(--bone-muted);
   line-height:var(--lh-snug);
   margin-bottom:0;
}



.photo-documentary-block {
   display:flex;
   flex-direction:column;
   background-color:var(--surface-deep);
   border:1px solid var(--border-oxide);
}


.photo-documentary-image {
   width:100%;
   aspect-ratio:16 / 10;
   overflow:hidden;
   background-color:var(--soot-dark);
}


.photo-documentary-image img {
   width:100%;
   height:100%;
   object-fit:cover;
}


.photo-documentary-caption {
   padding:var(--space-md) var(--space-lg);
   background-color:var(--soot-black);
   border-top:1px solid var(--border-oxide);
   display:flex;
   flex-direction:column;
   gap:4px;
}


.photo-documentary-title {
   font-family:var(--guku-3df);
   font-size:var(--fs-sm);
   font-weight:800;
   text-transform:uppercase;
   color:var(--bone-white);
   letter-spacing:0.02em;
}


.photo-documentary-notes {
   font-family:var(--guku-74b);
   font-size:var(--fs-xs);
   color:var(--bone-muted);
   line-height:var(--lh-snug);
   margin-bottom:0;
}


.photo-documentary-specs {
   display:flex;
   flex-wrap:wrap;
   gap:var(--space-xs) var(--space-md);
   padding-top:var(--space-2xs);
   font-size:var(--fs-xs);
   color:var(--accent-sage);
}


/* Single Quotation / Tradesman Voice Device */
.quote-banner {
   background-color:var(--soot-black);
   border-left:4px solid var(--accent-sage);
   border-top:1px solid var(--border-oxide);
   border-right:1px solid var(--border-oxide);
   border-bottom:1px solid var(--border-oxide);
   padding:var(--space-lg) var(--space-xl);
   position:relative;
   min-width:0;
   width:100%;
}


@media (max-width: 480px) {
   .quote-banner { padding:var(--space-sm) var(--space-md); }
}


.quote-text {
   font-family:var(--guku-74b);
   font-size:var(--fs-base);
   line-height:var(--lh-snug);
   color:var(--bone-white);
   font-style:normal;
   margin-bottom:var(--space-sm);
   min-width:0;
   width:100%;
   word-break:normal;
   overflow-wrap:break-word;
}


.quote-author {
   font-family:var(--guku-74b);
   font-size:var(--fs-xs);
   text-transform:uppercase;
   color:var(--accent-sage);
   letter-spacing:0.05em;
}



.proof-band {
   background-color:var(--soot-dark);
   border-top:1px solid var(--border-oxide);
   border-bottom:1px solid var(--border-oxide);
   padding:var(--space-xl);
}


.proof-grid {
   display:grid;
   grid-template-columns:repeat(3, minmax(0, 1fr));
   gap:var(--space-lg);
}


@media (max-width: 767px) {
   .proof-grid {
      grid-template-columns:1fr;
      gap:var(--space-md);
   }
}


.proof-cell {
   display:flex;
   flex-direction:column;
   gap:var(--space-2xs);
   padding:var(--space-md);
   border:1px solid var(--border-oxide);
   background-color:var(--soot-black);
}


.proof-cell-head {
   display:flex;
   align-items:center;
   gap:var(--space-xs);
   font-family:var(--guku-3df);
   font-size:var(--fs-sm);
   font-weight:800;
   text-transform:uppercase;
   color:var(--bone-white);
}


.proof-cell-head .icon { color:var(--accent-sage); }


.proof-cell-body {
   font-family:var(--guku-74b);
   font-size:var(--fs-xs);
   color:var(--bone-muted);
   line-height:var(--lh-snug);
   margin-bottom:0;
}



.faq-list {
   display:flex;
   flex-direction:column;
   gap:var(--space-xs);
}


.faq-item {
   background-color:var(--surface-deep);
   border:1px solid var(--border-oxide);
   overflow:hidden;
   transition:border-color var(--duration-fast) var(--ease-out);
}


.faq-item:hover { border-color:var(--border-oxide-strong); }


.faq-trigger {
   width:100%;
   display:flex;
   align-items:center;
   justify-content:space-between;
   padding:var(--space-md) var(--space-lg);
   font-family:var(--guku-3df);
   font-size:var(--fs-md);
   font-weight:800;
   text-transform:uppercase;
   letter-spacing:-0.01em;
   color:var(--bone-white);
   text-align:left;
   background-color:transparent;
   min-height:54px;
   cursor:pointer;
}


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


.faq-trigger .icon {
   color:var(--accent-sage);
   transition:transform var(--duration-fast) var(--ease-out);
}


.faq-item.is-open .faq-trigger .icon { transform:rotate(180deg); }


.faq-content {
   display:none;
   padding:0 var(--space-lg) var(--space-md);
   font-family:var(--guku-74b);
   font-size:var(--fs-sm);
   color:var(--bone-muted);
   line-height:var(--lh-body);
   border-top:1px dashed rgba(245, 239, 235, 0.12);
   padding-top:var(--space-sm);
}


.faq-item.is-open .faq-content { display:block; }



.contact-hero-strip {
   padding:var(--space-2xl) var(--space-xl);
   background-color:var(--soot-dark);
   border-bottom:1px solid var(--border-oxide);
}


@media (max-width: 767px) {
   .contact-hero-strip { padding:var(--space-xl) var(--space-md); }
}


.contact-grid {
   display:grid;
   grid-template-columns:minmax(0, 5fr) minmax(0, 7fr);
   gap:var(--space-2xl);
   padding:var(--space-3xl) var(--space-xl);
}


@media (max-width: 1023px) {
   .contact-grid {
      grid-template-columns:1fr;
      gap:var(--space-xl);
      padding:var(--space-2xl) var(--space-md);
   }
}


.contact-details-card {
   background-color:var(--soot-black);
   border:1px solid var(--border-oxide);
   padding:var(--space-xl);
   display:flex;
   flex-direction:column;
   gap:var(--space-lg);
}


.contact-row-item {
   display:flex;
   flex-direction:column;
   gap:4px;
}


.contact-row-label {
   font-family:var(--guku-74b);
   font-size:var(--fs-xs);
   text-transform:uppercase;
   letter-spacing:0.05em;
   color:var(--accent-sage);
   font-weight:600;
}


.contact-row-val {
   font-family:var(--guku-3df);
   font-size:var(--fs-lg);
   font-weight:800;
   color:var(--bone-white);
   line-height:var(--lh-snug);
}


.contact-row-text {
   font-family:var(--guku-74b);
   font-size:var(--fs-sm);
   color:var(--bone-muted);
   line-height:var(--lh-snug);
}


.dispatch-window-card {
   padding:var(--space-md);
   background-color:var(--surface-deep);
   border:1px solid var(--border-oxide);
   display:flex;
   flex-direction:column;
   gap:var(--space-2xs);
}


.dispatch-window-title {
   font-family:var(--guku-3df);
   font-size:var(--fs-sm);
   font-weight:800;
   text-transform:uppercase;
   color:var(--bone-white);
}


.dispatch-window-hours {
   font-family:var(--guku-74b);
   font-size:var(--fs-md);
   font-weight:700;
   color:var(--accent-sage);
}



.legal-page-header {
   padding:var(--space-3xl) var(--space-xl) var(--space-xl);
   background-color:var(--soot-dark);
   border-bottom:1px solid var(--border-oxide);
}


@media (max-width: 767px) {
   .legal-page-header { padding:var(--space-2xl) var(--space-md) var(--space-md); }
}


.legal-page-header .held-standfirst { margin-bottom:0; }


.privacy-container {
   padding:var(--space-3xl) var(--space-xl);
   max-width:1040px;
   margin:0 auto;
}


@media (max-width: 767px) {
   .privacy-container { padding:var(--space-xl) var(--space-md); }
}


.at-a-glance-box {
   background-color:var(--soot-black);
   border:2px solid var(--accent-sage);
   padding:var(--space-xl);
   margin-bottom:var(--space-3xl);
   box-shadow:6px 6px 0 var(--soot-dark);
}


@media (max-width: 767px) {
   .at-a-glance-box {
      padding:var(--space-md);
      margin-bottom:var(--space-xl);
   }
}


.at-a-glance-title {
   font-family:var(--guku-3df);
   font-size:var(--fs-lg);
   font-weight:800;
   text-transform:uppercase;
   color:var(--bone-white);
   margin-bottom:var(--space-sm);
   letter-spacing:-0.01em;
}


.at-a-glance-desc {
   font-family:var(--guku-74b);
   font-size:var(--fs-xs);
   color:var(--bone-muted);
   margin-bottom:var(--space-lg);
   max-width:72ch;
}


.at-a-glance-grid {
   display:grid;
   grid-template-columns:1fr;
   border-top:1px solid var(--border-oxide);
}


.at-a-glance-row {
   display:grid;
   grid-template-columns:minmax(180px, 1fr) 2fr;
   padding:var(--space-sm) 0;
   border-bottom:1px solid var(--border-oxide);
   gap:var(--space-md);
   font-family:var(--guku-74b);
   font-size:var(--fs-sm);
}


@media (max-width: 640px) {
   .at-a-glance-row {
      grid-template-columns:1fr;
      gap:4px;
   }
}


.at-a-glance-key {
   font-weight:600;
   color:var(--bone-white);
   text-transform:uppercase;
   font-size:var(--fs-xs);
   letter-spacing:0.04em;
}


.at-a-glance-val { color:var(--bone-muted); }


.at-a-glance-val a {
   color:var(--accent-sage);
   text-decoration:underline;
   text-underline-offset:2px;
}


/* Privacy Full Prose (Single Comfortable Measure, No Furniture) */
.privacy-prose-stream {
   max-width:74ch;
   margin:0 auto;
}


.privacy-prose-stream h2 {
   font-family:var(--guku-3df);
   font-size:var(--fs-xl);
   font-weight:800;
   text-transform:uppercase;
   color:var(--bone-white);
   margin-top:var(--space-2xl);
   margin-bottom:var(--space-sm);
   padding-bottom:var(--space-2xs);
   border-bottom:1px solid var(--border-oxide);
}


.privacy-prose-stream h3 {
   font-family:var(--guku-3df);
   font-size:var(--fs-md);
   font-weight:800;
   text-transform:uppercase;
   color:var(--accent-sage);
   margin-top:var(--space-lg);
   margin-bottom:var(--space-xs);
}


.privacy-prose-stream p {
   font-family:var(--guku-74b);
   font-size:var(--fs-base);
   color:var(--bone-muted);
   line-height:var(--lh-body);
   margin-bottom:var(--space-md);
}


.privacy-prose-stream ul,
.privacy-prose-stream ol {
   font-family:var(--guku-74b);
   font-size:var(--fs-base);
   color:var(--bone-muted);
   line-height:var(--lh-body);
   margin-bottom:var(--space-md);
   padding-left:var(--space-md);
}


.privacy-prose-stream li { margin-bottom:var(--space-xs); }


.embedded-statutory-block {
   margin-top:var(--space-3xl);
   padding-top:var(--space-xl);
   border-top:2px solid var(--border-oxide-strong);
}



.cookies-container {
   padding:var(--space-3xl) var(--space-xl);
   max-width:1200px;
   margin:0 auto;
}


@media (max-width: 767px) {
   .cookies-container { padding:var(--space-xl) var(--space-md); }
}


.cookies-layout-grid {
   display:grid;
   grid-template-columns:minmax(0, 7fr) minmax(260px, 4fr);
   gap:var(--space-2xl);
   position:relative;
}


@media (max-width: 1200px) {
   .cookies-layout-grid {
      grid-template-columns:1fr;
      gap:var(--space-lg);
   }
}


.cookies-main-stream {
   display:flex;
   flex-direction:column;
   gap:var(--space-xl);
}


.cookie-para-group {
   position:relative;
   display:flex;
   flex-direction:column;
}


.cookie-para-group h2 {
   font-family:var(--guku-3df);
   font-size:var(--fs-lg);
   font-weight:800;
   text-transform:uppercase;
   color:var(--bone-white);
   margin-bottom:var(--space-xs);
   padding-bottom:4px;
   border-bottom:1px solid var(--border-oxide);
}


.cookie-para-group p {
   font-family:var(--guku-74b);
   font-size:var(--fs-base);
   color:var(--bone-muted);
   line-height:var(--lh-body);
   margin-bottom:var(--space-sm);
}


/* Margin Column (Desktop) */
.cookies-margin-column {
   display:flex;
   flex-direction:column;
   gap:var(--space-xl);
}


.margin-note {
   background-color:var(--soot-black);
   border-left:3px solid var(--accent-sage);
   border-top:1px solid var(--border-oxide);
   border-right:1px solid var(--border-oxide);
   border-bottom:1px solid var(--border-oxide);
   padding:var(--space-sm) var(--space-md);
   font-family:var(--guku-74b);
   font-size:var(--fs-xs);
   color:var(--bone-muted);
   line-height:var(--lh-snug);
}


.margin-note-head {
   display:flex;
   align-items:center;
   justify-content:space-between;
   margin-bottom:4px;
   font-weight:600;
   text-transform:uppercase;
   color:var(--bone-white);
   letter-spacing:0.04em;
}


.margin-note-tag { color:var(--accent-sage); }


.margin-note-text { margin-bottom:0; }


.margin-note-text a {
   color:var(--accent-sage);
   text-decoration:underline;
   text-underline-offset:2px;
}


/* Inline notes on mobile/tablet (Below 1024px) */
@media (max-width: 1023px) {
   .cookies-margin-column { display:none; }


   .inline-margin-note {
      display:block !important;
      background-color:var(--soot-black);
      border-left:3px solid var(--accent-sage);
      border-top:1px solid var(--border-oxide);
      border-right:1px solid var(--border-oxide);
      border-bottom:1px solid var(--border-oxide);
      padding:var(--space-sm);
      margin:var(--space-sm) 0 var(--space-md);
      font-family:var(--guku-74b);
      font-size:var(--fs-xs);
      color:var(--bone-muted);
   }
}


@media (min-width: 1024px) {
   .inline-margin-note { display:none !important; }
}



.terms-container {
   padding:var(--space-3xl) var(--space-xl);
   max-width:1200px;
   margin:0 auto;
}


@media (max-width: 767px) {
   .terms-container { padding:var(--space-xl) var(--space-md); }
}


.terms-dense-grid {
   column-count:2;
   column-gap:var(--space-2xl);
   column-rule:1px solid var(--border-oxide-strong);
   font-family:var(--guku-74b);
   font-size:var(--fs-sm);
   color:var(--bone-muted);
   line-height:var(--lh-body);
}


@media (max-width: 899px) {
   .terms-dense-grid {
      column-count:1;
      column-rule:none;
      column-gap:0;
   }
}


.terms-dense-block {
   break-inside:avoid;
   margin-bottom:var(--space-xl);
   padding-bottom:var(--space-sm);
}


.run-in-heading {
   display:inline;
   font-family:var(--guku-3df);
   font-size:0.88rem;
   font-weight:900;
   font-variant:all-small-caps;
   letter-spacing:0.08em;
   color:var(--bone-white);
   margin-right:0.5ch;
   line-height:inherit;
}


.terms-dense-block p {
   display:inline;
   margin-bottom:0;
}


.terms-dense-block + .terms-dense-block { margin-top:var(--space-md); }


/* Terms Warranty Embedded Section */
.terms-warranty-box {
   break-inside:avoid;
   margin-top:var(--space-xl);
   padding:var(--space-md);
   background-color:var(--soot-black);
   border:1px solid var(--accent-sage);
}


.terms-warranty-box .run-in-heading { color:var(--accent-sage); }



.error-page-container {
   padding:var(--space-3xl) var(--space-xl);
   min-height:75vh;
   display:flex;
   flex-direction:column;
   justify-content:center;
   align-items:flex-start;
   max-width:860px;
}


@media (max-width: 767px) {
   .error-page-container { padding:var(--space-2xl) var(--space-md); }
}


.error-code {
   font-family:var(--guku-3df);
   font-size:clamp(4rem, 8vw, 8rem);
   font-weight:900;
   line-height:0.9;
   color:var(--accent-sage);
   letter-spacing:-0.05em;
   margin-bottom:var(--space-xs);
}


.error-title {
   font-family:var(--guku-3df);
   font-size:var(--fs-2xl);
   font-weight:800;
   text-transform:uppercase;
   color:var(--bone-white);
   margin-bottom:var(--space-md);
}


.error-desc {
   font-family:var(--guku-74b);
   font-size:var(--fs-md);
   color:var(--bone-muted);
   max-width:54ch;
   line-height:var(--lh-snug);
   margin-bottom:var(--space-xl);
}


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



.spec-matrix-table {
   width:100%;
   border-collapse:collapse;
   background-color:var(--surface-deep);
   border:1px solid var(--border-oxide);
   margin:var(--space-md) 0 var(--space-xl);
}


.spec-matrix-table th,
.spec-matrix-table td {
   padding:var(--space-sm) var(--space-md);
   border-bottom:1px solid var(--border-oxide);
   border-right:1px solid var(--border-oxide);
   font-family:var(--guku-74b);
   font-size:var(--fs-sm);
   text-align:left;
}


.spec-matrix-table th {
   background-color:var(--soot-black);
   color:var(--bone-white);
   font-weight:700;
   text-transform:uppercase;
   font-size:var(--fs-xs);
}


.spec-matrix-table td:last-child,
.spec-matrix-table th:last-child { border-right:none; }


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


.spec-matrix-table tr:hover td { background-color:rgba(245, 239, 235, 0.04); }



@media (max-width: 359px) {
   :root {
      --fs-display:2.2rem;
      --fs-2xl:1.8rem;
      --fs-xl:1.4rem;
   }


   .held-layout { padding:var(--space-lg) var(--space-xs); }


   .asym-title-sub { margin-left:0; }
}


@media print {
   .site-sidebar,
   .mobile-bar,
   .cookie-banner,
   .chat-widget,
   .rail-controls-bar { display:none !important; }


   .site-main {
      margin-left:0 !important;
      width:100% !important;
   }


   body {
      background:white !important;
      color:black !important;
   }
}
