
.hero-split {
   position: relative;
   width: 100%;
   display: grid;
   grid-template-columns: 1fr;
   border-bottom: 1px solid var(--line);
   background-color: var(--ground);
}

@media (min-width: 768px) {
   .hero-split {
      grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
      min-height: calc(100vh - 120px);
      min-height: calc(100svh - 120px);
   }
}

.hero-split-words {
   display: flex;
   flex-direction: column;
   justify-content: flex-start;
   padding: 32px var(--container-pad) 40px;
   min-width: 0;
   order: 2;
}

@media (min-width: 768px) {
   .hero-split-words {
      order: 1;
      padding: 48px 40px 48px var(--container-pad);
      border-right: 1px solid var(--line);
   }
}

@media (min-width: 1080px) {
   .hero-split-words { padding: 64px 48px 64px var(--container-pad); }
}

.hero-eyebrow {
   font-family: var(--hole-a12);
   font-size: var(--text-xs);
   letter-spacing: var(--tracking-wider);
   text-transform: uppercase;
   color: var(--accent);
   margin-bottom: var(--space-4);
   display: inline-flex;
   align-items: center;
   gap: var(--space-2);
}

.hero-split-words h1 {
   font-size: var(--text-display);
   line-height: var(--leading-tight);
   color: var(--ink);
   margin-bottom: var(--space-5);
   max-width: 18ch;
}

.hero-lede {
   font-size: var(--text-md);
   line-height: var(--leading-snug);
   color: var(--ink-soft);
   max-width: var(--measure-prose);
   margin-bottom: var(--space-8);
}

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

.hero-split-media {
   position: relative;
   width: 100%;
   aspect-ratio: 16 / 10;
   max-height: 38vh;
   margin: 0;
   background-color: var(--surface);
   overflow: hidden;
   order: 1;
   display: flex;
   flex-direction: column;
}

.hero-split-media picture {
   width: 100%;
   height: 100%;
   flex: 1 1 auto;
   display: block;
}

@media (min-width: 768px) {
   .hero-split-media {
      order: 2;
      aspect-ratio: 3 / 2;
      max-height: none;
      height: auto;
      align-self: center;
   }
}

.hero-split-media img {
   width: 100%;
   height: 100%;
   aspect-ratio: 3 / 2;
   object-fit: cover;
   object-position: 59% 30%;
   display: block;
}

.hero-media-caption {
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   background-color: rgba(238, 244, 247, 0.94);
   -webkit-backdrop-filter: blur(4px);
   backdrop-filter: blur(4px);
   border-top: 1px solid var(--line);
   padding: var(--space-3) var(--space-4);
   font-family: var(--hole-a12);
   font-size: var(--text-xs);
   color: var(--ink-soft);

   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: var(--space-3);
}

/* Opening Gallery on First Screen (data-opening) */
.hero-gallery-rail {
   margin-top: var(--space-8);
   padding-top: var(--space-6);
   border-top: 1px solid var(--line);
}

.hero-gallery-title {
   font-family: var(--hole-a12);
   font-size: var(--text-xs);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wider);
   color: var(--ink-soft);
   margin-bottom: var(--space-4);
   display: flex;
   justify-content: space-between;
   align-items: center;
}

.gallery-preview-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-4);
   list-style: none;
   padding: 0;
   margin: 0;
}

@media (min-width: 640px) {
   .gallery-preview-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.gallery-preview-card {
   background-color: #fff;
   border: 1px solid var(--line);
   border-top: 3px solid var(--accent);
   box-shadow: 0 4px 12px rgba(39, 41, 43, 0.08);
   display: flex;
   flex-direction: column;
   transition: border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}

.gallery-preview-card:hover {
   border-color: var(--ink);
   border-top-color: var(--accent);
   transform: translateY(-2px);
   box-shadow: 0 8px 20px rgba(39, 41, 43, 0.12);
}

.gallery-preview-card:active { transform: translateY(0); }

.gallery-preview-card article,
.preview-card-inner {
   display: flex;
   flex-direction: column;
   gap: var(--space-2);
   height: 100%;
   width: 100%;
   padding: var(--space-4);
   text-decoration: none;
   color: var(--ink);
}

.preview-card-inner:focus-visible {
   outline: 2px solid var(--accent);
   outline-offset: -2px;
}

.preview-badge {
   font-family: var(--hole-a12);
   font-size: 11px;
   color: var(--accent);
   font-weight: 700;
}

.preview-name {
   font-family: var(--hole-651);
   font-size: var(--text-sm);
   font-weight: 700;
   line-height: var(--leading-tight);
}

.preview-metric {
   font-family: var(--hole-a12);
   font-size: 11px;
   color: var(--ink-soft);
}

.magazine-grid {
   display: grid;
   grid-template-columns: 1fr;
   border-bottom: 1px solid var(--line);
}

@media (min-width: 1024px) {
   .magazine-grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
}

.magazine-main-rail { border-bottom: 1px solid var(--line); }

@media (min-width: 1024px) {
   .magazine-main-rail {
      border-right: 1px solid var(--line);
      border-bottom: 0;
   }
}

.magazine-lead-story {
   padding: var(--space-8) var(--container-pad);
   border-bottom: 1px solid var(--line);
}

@media (min-width: 768px) {
   .magazine-lead-story { padding: var(--space-12) var(--container-pad); }
}

.magazine-lead-figure {
   width: 100%;
   margin-bottom: var(--space-6);
   border: 1px solid var(--line);
   background-color: var(--surface);

   overflow: hidden;
}

.magazine-lead-figure img {
   width: 100%;
   height: auto;
   aspect-ratio: 16 / 9;
   object-fit: cover;
   display: block;
}

.magazine-lead-caption { max-width: var(--measure-prose); }

.magazine-lead-caption h2 {
   font-size: var(--text-2xl);
   margin-bottom: var(--space-3);
}

.magazine-lead-caption p {
   font-size: var(--text-md);
   color: var(--ink-soft);
   line-height: var(--leading-relaxed);
}

.magazine-sub-grid {
   display: grid;
   grid-template-columns: 1fr;
}

@media (min-width: 680px) {
   .magazine-sub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.magazine-sub-tile {
   padding: var(--space-6);
   border-bottom: 1px solid var(--line);
   display: flex;
   flex-direction: column;
   gap: var(--space-4);
}

@media (min-width: 680px) {
   .magazine-sub-tile:first-child { border-right: 1px solid var(--line); }
}

.magazine-sub-tile .tile-figure {
   border: 1px solid var(--line);
   background-color: var(--surface);
}

.magazine-sub-tile .tile-figure img {
   width: 100%;
   aspect-ratio: 3 / 2;
   object-fit: cover;
   display: block;
}

.magazine-side-rail { background-color: var(--ground); }

.side-rail-header {
   padding: var(--space-4) var(--space-6);
   border-bottom: 1px solid var(--line);
   font-family: var(--hole-651);
   font-size: var(--text-xs);
   font-weight: 700;
   letter-spacing: var(--tracking-wider);
   text-transform: uppercase;
   color: var(--ink);
   background-color: var(--surface);
}

.side-rail-item {
   padding: var(--space-6);
   border-bottom: 1px solid var(--line);
   display: flex;
   flex-direction: column;
   gap: var(--space-2);
}

.side-rail-item:last-child { border-bottom: 0; }

.side-rail-meta {
   font-family: var(--hole-a12);
   font-size: 11px;
   color: var(--accent);

   text-transform: uppercase;
}

.side-rail-title {
   font-family: var(--hole-651);
   font-size: var(--text-base);
   font-weight: 700;
   color: var(--ink);
   line-height: var(--leading-tight);
}

.side-rail-text {
   font-size: var(--text-xs);
   color: var(--ink-soft);
   line-height: var(--leading-normal);
   margin: 0;
}

.scrolly-wrapper {
   position: relative;
   width: 100%;
   border-bottom: 1px solid var(--line);
}

.scrolly-grid {
   display: grid;
   grid-template-columns: 1fr;
}

@media (min-width: 960px) {
   .scrolly-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); }
}

.scrolly-media-column {
   position: relative;
   border-bottom: 1px solid var(--line);
}

@media (min-width: 960px) {
   .scrolly-media-column {
      border-right: 1px solid var(--line);
      border-bottom: 0;
   }
}

.scrolly-sticky-frame {
   position: relative;
   width: 100%;
   background-color: var(--surface);
   min-height: 380px;
}

@media (min-width: 960px) {
   .scrolly-sticky-frame {
      position: sticky;
      top: 0;
      height: 100vh;
      min-height: 100svh;
      max-height: 900px;
      display: flex;
      flex-direction: column;
   }
}

.scrolly-progress-container {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   height: 4px;
   background-color: var(--surface-2);
   z-index: 10;
}

.scrolly-progress-bar {
   height: 100%;
   width: 0%;
   background-color: var(--accent);
   transition: width 80ms linear;
}

.scrolly-img-target {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   flex-grow: 1;
}

.scrolly-status-tag {
   position: absolute;
   bottom: var(--space-4);
   left: var(--space-4);
   background-color: var(--ground);
   border: 1px solid var(--line);
   padding: var(--space-2) var(--space-3);
   font-family: var(--hole-a12);
   font-size: var(--text-xs);
   color: var(--ink);
   display: flex;
   align-items: center;
   gap: var(--space-2);
}

.scrolly-status-dot {
   width: 8px;
   height: 8px;
   background-color: var(--accent);
   display: inline-block;
}

.scrolly-text-column {
   padding: var(--space-8) var(--space-6);
   display: flex;
   flex-direction: column;
   gap: var(--space-16);
}

@media (min-width: 960px) {
   .scrolly-text-column {
      padding: var(--space-16) var(--space-10);
      gap: 40vh;
   }
}

.scrolly-step {
   min-height: auto;
   display: flex;
   flex-direction: column;
   justify-content: center;
   max-width: var(--measure-narrow);
}

@media (min-width: 960px) {
   .scrolly-step { min-height: 40vh; }
}

.scrolly-step-label {
   font-family: var(--hole-a12);
   font-size: var(--text-xs);
   color: var(--accent);
   text-transform: uppercase;
   margin-bottom: var(--space-2);
}

.scrolly-step h3 {
   font-size: var(--text-xl);
   margin-bottom: var(--space-3);
   color: var(--ink);
}

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

@media (prefers-reduced-motion: reduce) {
   .scrolly-sticky-frame {
      position: relative !important;
      top: auto !important;
      height: auto !important;
   }
   .scrolly-text-column { gap: var(--space-10) !important; }
}

.plate-section-wide .plate-image-frame { aspect-ratio: 21 / 9; }

.plate-section-tall .plate-image-frame {
   aspect-ratio: 4 / 3;
   max-height: 600px;
}

.plate-section-square .plate-image-frame {
   aspect-ratio: 1 / 1;
   max-width: 720px;
}

.plate-section-cinematic .plate-image-frame { aspect-ratio: 16 / 9; }

.plate-meta-strip {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: var(--space-4);
   padding-block: var(--space-3);
   border-top: 1px solid var(--surface-2);
   margin-top: var(--space-4);
   font-family: var(--hole-a12);
   font-size: var(--text-xs);
   color: var(--ink-soft);
}

.plate-meta-strip a {
   display: inline-flex;
   align-items: center;
   min-height: 44px;
}

.legal-clauses-wrapper {
   padding-block: var(--space-12) var(--space-20);
   background-color: var(--ground);
}

.legal-header-block {
   padding-bottom: var(--space-8);
   border-bottom: 2px solid var(--ink);
   margin-bottom: var(--space-12);
   max-width: var(--container-max);
}

.legal-header-meta {
   font-family: var(--hole-a12);
   font-size: var(--text-xs);
   color: var(--ink-soft);
   margin-bottom: var(--space-3);
   display: flex;
   flex-wrap: wrap;
   gap: var(--space-4);
}

.legal-header-block h1 {
   font-size: var(--text-3xl);
   margin-bottom: var(--space-4);
   max-width: 22ch;
}

.legal-header-block .lede { max-width: var(--measure-wide); }

.clause-row {
   display: grid;
   grid-template-columns: 1fr;
   padding-block: var(--space-8);
   border-bottom: 1px solid var(--line);
   gap: var(--space-4);
}

@media (min-width: 768px) {
   .clause-row {
      grid-template-columns: 90px minmax(0, 1fr);
      gap: var(--space-8);
      padding-block: var(--space-10);
   }
}

.clause-num {
   font-family: var(--hole-a12);
   font-size: var(--text-sm);
   color: var(--ink-soft);
   padding-top: var(--space-1);
}

.tawo9b4 { max-width: var(--measure-wide); }

.clause-title {
   font-size: var(--text-xl);
   font-weight: 700;
   margin-bottom: var(--space-4);
   color: var(--ink);
}

.clause-text {
   font-size: var(--text-base);
   line-height: var(--leading-relaxed);
   color: var(--ink);
   margin-bottom: var(--space-4);
}

.clause-text:last-child { margin-bottom: 0; }

.clause-list {
   margin-top: var(--space-3);
   margin-bottom: var(--space-4);
   padding-left: var(--space-5);
   font-size: var(--text-base);
   color: var(--ink);
}

.clause-list li { margin-bottom: var(--space-2); }

/* Compliance platform callout inside clauses */
.clause-platform-box {
   background-color: var(--surface);
   border: 1px solid var(--line);
   padding: var(--space-5);
   margin-block: var(--space-4);
}

.clause-platform-box h4 {
   font-size: var(--text-sm);
   font-family: var(--hole-a12);
   text-transform: uppercase;
   color: var(--ink);
   margin-bottom: var(--space-2);
}

.clause-platform-box p {
   font-size: var(--text-sm);
   color: var(--ink-soft);
   margin: 0;
}

.cookies-page-layout {
   padding-block: var(--space-12) var(--space-20);
   background-color: var(--ground);
}

.glance-panel {
   background-color: var(--surface);
   border: 2px solid var(--ink);
   margin-bottom: var(--space-12);
   width: 100%;
}

.glance-panel-header {
   padding: var(--space-4) var(--space-6);
   background-color: var(--ink);
   color: var(--ground);
   display: flex;
   flex-direction: column;
   gap: var(--space-1);
}

.glance-panel-header h2 {
   font-size: var(--text-lg);
   color: #fff;
}

.glance-panel-header span {
   font-family: var(--hole-a12);
   font-size: var(--text-xs);
   color: var(--surface-2);
}

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

.glance-table th,
.glance-table td {
   padding: var(--space-4) var(--space-6);
   border-bottom: 1px solid var(--line);
   vertical-align: middle;
}

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

.glance-key {
   font-family: var(--hole-651);
   font-size: var(--text-sm);
   font-weight: 700;
   color: var(--ink);
   width: 28%;
   background-color: var(--surface);
}

.glance-val {
   font-size: var(--text-sm);
   color: var(--ink);
   background-color: #fff;
}

@media (max-width: 640px) {
   .glance-table,
   .glance-table tbody,
   .glance-table tr,
   .glance-table th,
   .glance-table td {
      display: block;
      width: 100%;
   }
   .glance-key {
      background-color: var(--surface-2);
      padding-bottom: var(--space-2);
   }
   .glance-val {
      padding-top: var(--space-2);
      border-bottom: 1px solid var(--line);
   }
}

.cookies-prose {
   max-width: var(--measure-prose);
   margin-inline: auto;
   margin-top: var(--space-12);
}

.cookies-prose h2 {
   font-size: var(--text-2xl);
   margin-top: var(--space-10);
   margin-bottom: var(--space-4);
   border-top: 1px solid var(--line);
   padding-top: var(--space-6);
}

.cookies-prose p {
   font-size: var(--text-base);
   line-height: var(--leading-relaxed);
   margin-bottom: var(--space-4);
}

.consent-mode-matrix {
   margin-block: var(--space-6);
   border: 1px solid var(--line);
}

.consent-mode-matrix table { background-color: #fff; }

.consent-mode-matrix th { background-color: var(--surface); }

.terms-page-layout {
   padding-block: var(--space-12) var(--space-20);
   background-color: var(--ground);
}

.terms-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-8);
   position: relative;
}

@media (min-width: 880px) {
   .terms-grid {
      grid-template-columns: 280px minmax(0, 1fr);
      gap: var(--space-10);
   }
}

/* Mobile jump-to control */
.terms-jump-wrap {
   display: block;
   margin-bottom: var(--space-6);
}

@media (min-width: 880px) {
   .terms-jump-wrap { display: none; }
}

.terms-jump-select {
   width: 100%;
   padding: var(--space-3) var(--space-4);
   background-color: var(--surface);
   border: 1px solid var(--line);
   font-family: var(--hole-651);
   font-size: var(--text-sm);
   font-weight: 700;
   color: var(--ink);
   min-height: 48px;
}

.terms-sticky-index { display: none; }

@media (min-width: 880px) {
   .terms-sticky-index {
      display: block;
      position: sticky;
      top: var(--space-6);
      max-height: calc(100vh - var(--space-12));
      max-height: calc(100svh - var(--space-12));
      overflow-y: auto;
      border: 1px solid var(--line);
      background-color: var(--surface);
      padding: var(--space-6);
   }
}

.terms-index-title {
   font-family: var(--hole-a12);
   font-size: var(--text-xs);
   letter-spacing: var(--tracking-wider);
   text-transform: uppercase;
   color: var(--ink-soft);
   margin-bottom: var(--space-4);
   border-bottom: 1px solid var(--line);
   padding-bottom: var(--space-2);
}

.terms-index-list {
   list-style: none;
   padding: 0;
   margin: 0;
   display: flex;
   flex-direction: column;
   gap: var(--space-2);
}

.terms-index-link {
   display: block;
   font-size: var(--text-xs);
   color: var(--ink-soft);
   text-decoration: none;
   padding: var(--space-2) var(--space-3);
   border-left: 2px solid transparent;
   transition: all var(--dur-fast) var(--ease-out);
}

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

.terms-index-link.is-active,
.terms-index-link[aria-current="true"] {
   border-left-color: var(--accent);
   color: var(--ink);
   font-weight: 700;
   background-color: var(--ground);
}

.terms-content-col { max-width: var(--measure-prose); }

.terms-section {
   padding-bottom: var(--space-10);
   margin-bottom: var(--space-10);
   border-bottom: 1px solid var(--line);
   scroll-margin-top: var(--space-8);
}

.terms-section-tag {
   font-family: var(--hole-a12);
   font-size: var(--text-xs);
   color: var(--accent);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wider);
   margin-bottom: var(--space-2);
}

.terms-section h2 {
   font-size: var(--text-2xl);
   margin-bottom: var(--space-4);
   color: var(--ink);
}

.terms-section p {
   font-size: var(--text-base);
   line-height: var(--leading-relaxed);
   margin-bottom: var(--space-4);
}

.pricing-hero-bar {
   padding: var(--space-12) var(--container-pad) var(--space-8);
   border-bottom: 1px solid var(--line);
   background-color: var(--ground);
}

.pricing-table-wrapper {
   margin-block: var(--space-12);
   border: 1px solid var(--line);
   background-color: #fff;
}

.pricing-matrix { width: 100%; }

.pricing-matrix th {
   padding: var(--space-4) var(--space-6);
   font-size: var(--text-xs);
}

.pricing-matrix td {
   padding: var(--space-5) var(--space-6);
   border-bottom: 1px solid var(--line);
}

.price-tier-headline {
   font-family: var(--hole-651);
   font-size: var(--text-lg);
   font-weight: 700;
   color: var(--ink);
   margin-bottom: var(--space-1);
}

.price-tier-rate {
   font-family: var(--hole-a12);
   font-size: var(--text-xl);
   font-weight: 700;
   color: var(--accent);
   display: block;
   margin-bottom: var(--space-2);
}

.pricing-drivers-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-6);
   margin-block: var(--space-8);
}

@media (min-width: 768px) {
   .pricing-drivers-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.driver-card {
   background-color: var(--surface);
   border: 1px solid var(--line);
   padding: var(--space-6);
   display: flex;
   flex-direction: column;
   gap: var(--space-3);
}

.driver-card-header {
   font-family: var(--hole-a12);
   font-size: var(--text-xs);
   color: var(--accent);
   text-transform: uppercase;
}

.driver-card-title {
   font-family: var(--hole-651);
   font-size: var(--text-md);
   font-weight: 700;
   color: var(--ink);
}

.driver-card-text {
   font-size: var(--text-sm);
   color: var(--ink-soft);
   margin: 0;
   line-height: var(--leading-normal);
}

.service-spec-header {
   padding: var(--space-12) var(--container-pad) var(--space-8);
   border-bottom: 1px solid var(--line);
}

.service-spec-header h1 {
   font-size: var(--text-display);
   max-width: 18ch;
   margin-bottom: var(--space-4);
}

.service-spec-grid {
   display: grid;
   grid-template-columns: 1fr;
   border-bottom: 1px solid var(--line);
}

@media (min-width: 960px) {
   .service-spec-grid { grid-template-columns: 320px minmax(0, 1fr); }
}

.service-spec-sidebar {
   background-color: var(--surface);
   padding: var(--space-8) var(--space-6);
   border-bottom: 1px solid var(--line);
   display: flex;
   flex-direction: column;
   gap: var(--space-6);
}

@media (min-width: 960px) {
   .service-spec-sidebar {
      border-right: 1px solid var(--line);
      border-bottom: 0;
   }
}

.spec-fact-item {
   display: flex;
   flex-direction: column;
   gap: var(--space-1);
}

.spec-fact-label {
   font-family: var(--hole-a12);
   font-size: 11px;
   text-transform: uppercase;
   color: var(--ink-soft);
   letter-spacing: var(--tracking-wider);
}

.spec-fact-val {
   font-family: var(--hole-a12);
   font-size: var(--text-lg);
   font-weight: 700;
   color: var(--accent);
}

.service-spec-body {
   padding: var(--space-8) var(--container-pad);
   max-width: var(--measure-wide);
}

@media (min-width: 960px) {
   .service-spec-body { padding: var(--space-12) var(--space-10); }
}

.service-spec-body h2 {
   font-size: var(--text-2xl);
   margin-top: var(--space-8);
   margin-bottom: var(--space-4);
}

.service-spec-body p {
   font-size: var(--text-base);
   line-height: var(--leading-relaxed);
   margin-bottom: var(--space-4);
}

.milestones-list {
   list-style: none;
   padding: 0;
   margin: var(--space-6) 0;
   border-left: 2px solid var(--accent);
}

.milestone-item {
   position: relative;
   padding-left: var(--space-6);
   padding-bottom: var(--space-8);
}

.milestone-item:last-child { padding-bottom: 0; }

.milestone-item::before {
   content: "";
   position: absolute;
   left: -7px;
   top: 4px;
   width: 12px;
   height: 12px;
   background-color: var(--accent);
   border: 2px solid var(--ground);
}

.milestone-tag {
   font-family: var(--hole-a12);
   font-size: 11px;
   color: var(--accent);
   text-transform: uppercase;
}

.milestone-title {
   font-family: var(--hole-651);
   font-size: var(--text-md);
   font-weight: 700;
   color: var(--ink);
   margin-top: var(--space-1);
   margin-bottom: var(--space-2);
}

.milestone-desc {
   font-size: var(--text-sm);
   color: var(--ink-soft);
   margin: 0;
}

.configurator-page-header {
   padding: var(--space-12) var(--container-pad) var(--space-8);
   border-bottom: 1px solid var(--line);
}

.configurator-shell { padding-block: var(--space-10) var(--space-20); }

.configurator-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-8);
   align-items: flex-start;
}

@media (min-width: 960px) {
   .configurator-grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
}

.config-step-block {
   background-color: var(--surface);
   border: 1px solid var(--line);
   padding: var(--space-6);
   margin-bottom: var(--space-6);
}

.config-step-header {
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-bottom: var(--space-4);
   padding-bottom: var(--space-3);
   border-bottom: 1px solid var(--line);
}

.config-step-title {
   font-family: var(--hole-651);
   font-size: var(--text-sm);
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: var(--tracking-wider);
   color: var(--ink);
}

.config-summary-sticky { position: relative; }

@media (min-width: 960px) {
   .config-summary-sticky {
      position: sticky;
      top: var(--space-6);
   }
}

.config-summary-box {
   background-color: #fff;
   border: 2px solid var(--ink);
   padding: var(--space-6);
   display: flex;
   flex-direction: column;
   gap: var(--space-4);
}

.config-summary-title {
   font-family: var(--hole-651);
   font-size: var(--text-md);
   font-weight: 700;
   color: var(--ink);
   border-bottom: 1px solid var(--line);
   padding-bottom: var(--space-2);
}

.config-total-display {
   display: flex;
   flex-direction: column;
   gap: var(--space-1);
}

.config-total-label {
   font-family: var(--hole-a12);
   font-size: var(--text-xs);
   color: var(--ink-soft);
   text-transform: uppercase;
}

.config-total-val {
   font-family: var(--hole-a12);
   font-size: var(--text-3xl);
   font-weight: 700;
   color: var(--accent);
   line-height: 1;
}

.config-breakdown-list {
   list-style: none;
   padding: 0;
   margin: var(--space-2) 0;
   border-top: 1px solid var(--surface-2);
   border-bottom: 1px solid var(--surface-2);
   padding-block: var(--space-3);
   display: flex;
   flex-direction: column;
   gap: var(--space-2);
   font-size: var(--text-xs);
}

.config-breakdown-row {
   display: flex;
   justify-content: space-between;
   color: var(--ink-soft);
}

.config-breakdown-row strong {
   color: var(--ink);
   font-family: var(--hole-a12);
}

.config-non-binding-notice {
   font-family: var(--hole-a12);
   font-size: 11px;
   color: var(--ink-soft);
   line-height: var(--leading-snug);
   border-left: 2px solid var(--line);
   padding-left: var(--space-3);
}

.work-page-header {
   padding: var(--space-12) var(--container-pad) var(--space-8);
   border-bottom: 1px solid var(--line);
}

.work-gallery-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-6);
   margin-block: var(--space-8) var(--space-16);
}

@media (min-width: 640px) {
   .work-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
   .work-gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.work-item-card {
   background-color: var(--surface);
   border: 1px solid var(--line);
   display: flex;
   flex-direction: column;
   transition: border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}

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

.work-card-thumb {
   width: 100%;
   aspect-ratio: 16 / 10;
   background-color: var(--surface-2);
   border-bottom: 1px solid var(--line);
   overflow: hidden;
}

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

.work-card-content {
   padding: var(--space-6);
   display: flex;
   flex-direction: column;
   flex-grow: 1;
}

.work-card-badge {
   font-family: var(--hole-a12);
   font-size: 11px;
   color: var(--accent);
   margin-bottom: var(--space-2);
}

.work-card-title {
   font-family: var(--hole-651);
   font-size: var(--text-lg);
   font-weight: 700;
   color: var(--ink);
   margin-bottom: var(--space-2);
}

.work-card-desc {
   font-size: var(--text-sm);
   color: var(--ink-soft);
   line-height: var(--leading-normal);
   margin-bottom: var(--space-4);
   flex-grow: 1;
}

.work-card-footer {
   border-top: 1px solid var(--line);
   padding-top: var(--space-3);
   margin-top: auto;
   display: flex;
   align-items: center;
   justify-content: space-between;
   font-family: var(--hole-a12);
   font-size: 11px;
   color: var(--ink-soft);
}

.approach-hero-bar {
   padding: var(--space-12) var(--container-pad) var(--space-8);
   border-bottom: 1px solid var(--line);
}

.standards-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-6);
   margin-block: var(--space-10);
}

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

.standard-tile {
   background-color: var(--surface);
   border: 1px solid var(--line);
   padding: var(--space-6);
   display: flex;
   flex-direction: column;
   gap: var(--space-3);
}

.standard-tile-code {
   font-family: var(--hole-a12);
   font-size: var(--text-xs);
   color: var(--accent);
   font-weight: 700;
}

.standard-tile h3 {
   font-size: var(--text-lg);
   color: var(--ink);
}

.standard-tile p {
   font-size: var(--text-sm);
   color: var(--ink-soft);
   line-height: var(--leading-relaxed);
   margin: 0;
}

/* Terminal & Monitoring Output Box */
.terminal-output-panel {
   background-color: var(--ink);
   color: #e2f2f4;
   border: 1px solid var(--line);
   padding: var(--space-6);
   font-family: var(--hole-a12);
   font-size: var(--text-xs);
   line-height: 1.6;
   overflow-x: auto;
   margin-block: var(--space-6);
}

.terminal-header {
   color: var(--surface-2);
   border-bottom: 1px solid var(--ink-soft);
   padding-bottom: var(--space-2);
   margin-bottom: var(--space-4);
   display: flex;
   justify-content: space-between;
}

.terminal-success { color: #48bb78; }

.terminal-accent { color: #63b3ed; }

.about-hero-bar {
   padding: var(--space-12) var(--container-pad) var(--space-8);
   border-bottom: 1px solid var(--line);
}

.about-lead-block {
   display: grid;
   grid-template-columns: 1fr;
   border-bottom: 1px solid var(--line);
}

@media (min-width: 960px) {
   .about-lead-block { grid-template-columns: 420px minmax(0, 1fr); }
}

.about-photo-col {
   background-color: var(--surface);
   border-bottom: 1px solid var(--line);
}

@media (min-width: 960px) {
   .about-photo-col {
      border-right: 1px solid var(--line);
      border-bottom: 0;
   }
}

.about-photo-col img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}

.about-bio-col {
   padding: var(--space-8) var(--container-pad);
   max-width: var(--measure-wide);
   display: flex;
   flex-direction: column;
   gap: var(--space-4);
}

@media (min-width: 960px) {
   .about-bio-col { padding: var(--space-12) var(--space-10); }
}

.about-credentials-table {
   margin-top: var(--space-8);
   border: 1px solid var(--line);
}

.contact-hero-bar {
   padding: var(--space-12) var(--container-pad) var(--space-8);
   border-bottom: 1px solid var(--line);
}

.contact-layout-grid {
   display: grid;
   grid-template-columns: 1fr;
   border-bottom: 1px solid var(--line);
}

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

.contact-details-col {
   padding: var(--space-8) var(--container-pad);
   background-color: var(--surface);
   border-bottom: 1px solid var(--line);
   display: flex;
   flex-direction: column;
   gap: var(--space-8);
}

@media (min-width: 960px) {
   .contact-details-col {
      padding: var(--space-12) var(--space-8) var(--space-16) var(--container-pad);
      border-right: 1px solid var(--line);
      border-bottom: 0;
   }
}

.contact-office-card {
   display: flex;
   flex-direction: column;
   gap: var(--space-2);
}

.contact-office-card h2,
.contact-office-card h3 {
   font-size: var(--text-lg);
   color: var(--ink);
}

.contact-office-card address {
   font-style: normal;
   font-size: var(--text-base);
   color: var(--ink-soft);
   line-height: var(--leading-relaxed);
}

.contact-direct-links {
   list-style: none;
   padding: 0;
   margin: var(--space-4) 0 0;
   display: flex;
   flex-direction: column;
   gap: var(--space-3);
}

.contact-link-item {
   display: flex;
   align-items: center;
   gap: var(--space-3);
   font-size: var(--text-base);
}

.contact-link-item .icon { color: var(--accent); }

.contact-form-col {
   padding: var(--space-8) var(--container-pad);
   background-color: var(--ground);
}

@media (min-width: 960px) {
   .contact-form-col { padding: var(--space-12) var(--container-pad) var(--space-16) var(--space-10); }
}

.contact-form-col h2 {
   font-size: var(--text-2xl);
   margin-bottom: var(--space-3);
}

.contact-form-col .lede { margin-bottom: var(--space-6); }

.form-status-alert {
   padding: var(--space-4);
   border: 1px solid var(--line);
   margin-bottom: var(--space-6);
   font-size: var(--text-sm);
   display: none;
}

.form-status-alert.is-success {
   display: block;
   background-color: #e6fffa;
   border-color: #38b2ac;
   color: #234e52;
}

.form-status-alert.is-error {
   display: block;
   background-color: #fff5f5;
   border-color: #e53e3e;
   color: #742a2a;
}

.faq-section {
   padding-block: 80px;
   border-bottom: 1px solid var(--line);
}

.faq-section > :first-child { margin-top: 0; }

.faq-section > :last-child { margin-bottom: 0; }

.faq-list {
   list-style: none;
   padding: 0;
   margin: var(--space-6) 0 0;
   border-top: 1px solid var(--line);
}

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

.faq-trigger {
   width: 100%;
   text-align: left;
   background: transparent;
   border: 0;
   padding: var(--space-5) var(--space-2);
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: var(--space-4);
   cursor: pointer;
   font-family: var(--hole-651);
   font-size: var(--text-lg);
   font-weight: 700;
   color: var(--ink);
   min-height: 48px;
   transition: color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);
}

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

.faq-trigger:active { background-color: var(--surface); }

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

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

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

.faq-panel {
   padding-bottom: var(--space-6);
   padding-inline: var(--space-2);
}

.faq-panel[hidden] { display: none; }

.faq-panel p {
   font-size: var(--text-base);
   line-height: var(--leading-relaxed);
   color: var(--ink-soft);
   max-width: var(--measure-prose);
   margin: 0;
}

.error-page-wrapper {
   padding-block: var(--space-16) var(--space-24);
   min-height: 60vh;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: flex-start;
}

.error-code {
   font-family: var(--hole-a12);
   font-size: var(--text-display);
   font-weight: 700;
   color: var(--accent);
   line-height: 1;
   margin-bottom: var(--space-3);
}

.error-title {
   font-size: var(--text-3xl);
   margin-bottom: var(--space-4);
}

.error-links-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-4);
   margin-top: var(--space-8);
   width: 100%;
   max-width: 640px;
}

@media (min-width: 640px) {
   .error-links-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.error-link-tile {
   background-color: var(--surface);
   border: 1px solid var(--line);
   padding: var(--space-4) var(--space-5);
   text-decoration: none;
   color: var(--ink);
   font-family: var(--hole-651);
   font-size: var(--text-sm);
   font-weight: 700;
   display: flex;
   align-items: center;
   justify-content: space-between;
   transition: border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);
}

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

.error-link-tile:active { background-color: var(--line); }

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

@media (max-width: 48rem) {
   input, select, textarea { font-size: max(16px, 1rem) !important; }
}

@media (max-width: 360px) {
   :root { --container-pad: 0.75rem; }
   .hero-split-words h1 { font-size: clamp(1.85rem, 8vw, 2.25rem); }
   .pricing-matrix th,
   .pricing-matrix td { padding: var(--space-3) var(--space-3); }
   .glance-table th,
   .glance-table td { padding: var(--space-3) var(--space-3); }
   .btn {
      padding-inline: var(--space-3);
      white-space: normal;
      text-align: center;
      max-width: 100%;
   }
}
