

.hero-opening {
   position:relative;
   width:100%;
   min-height:70svh;
   max-height:90svh;
   display:flex;
   flex-direction:column;
   justify-content:flex-end;
   background-color:var(--ground);
   overflow:hidden;
   border-bottom:1px solid var(--line);
}


@media (min-width: 1024px) {
   .hero-opening {
      min-height:520px;
      max-height:680px;
   }
}


/* Hero background photo container - subject sits in upper two-thirds */
.hero-media-backdrop {
   position:absolute;
   inset:0;
   width:100%;
   height:100%;
   z-index:1;
   pointer-events:none;
}


.hero-media-image {
   width:100%;
   height:100%;
   object-fit:cover;
   object-position:center 22%; /* Ensures subject in upper 2/3, low 1/3 quiet floor */
   display:block;
}


.hero-media-backdrop::after {
   display:none;
}


/* Low-third content zone */
.hero-low-third {
   position:relative;
   z-index:2;
   width:100%;
   padding-block:var(--space-m) var(--space-s);
}


.hero-grid-lockup {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-m);
   align-items:flex-end;
}


@media (min-width: 900px) {
   .hero-grid-lockup {
      grid-template-columns:1.15fr 0.85fr;
      gap:var(--space-xl);
   }
}


.hero-headline-col {
   display:flex;
   flex-direction:column;
   gap:var(--space-xs);
}


/* H1 strictly <= 8 words, wraps cleanly without hyphen splits */
.hero-display-h1 {
   font-family:var(--gife-4e4);
   font-size:clamp(1.75rem, 1.4rem + 1.6vw, 2.75rem);
   line-height:1.15;
   color:var(--ink);
   letter-spacing:0.015em;
   text-transform:none;
   margin:0;
   max-width:16ch;
}


.hero-lede-col {
   display:flex;
   flex-direction:column;
   align-items:flex-start;
   gap:var(--space-m);
}


.hero-lede-text {
   font-size:var(--gife-08e);
   line-height:1.55;
   color:var(--ink);
   margin-bottom:0;
   max-width:var(--reading-measure);
}


@media (min-width: 768px) {
   .hero-lede-text {
      font-size:var(--gife-901);
   }
}


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


/* Technical spec coordinates on opening */
.hero-meta-bar {
   display:flex;
   flex-wrap:wrap;
   align-items:center;
   justify-content:space-between;
   gap:var(--space-xs);
   padding-top:var(--space-s);
   margin-top:var(--space-s);
   border-top:1px solid rgba(176, 141, 87, 0.35); /* Hairline accent */
   font-family:var(--gife-dc6);
   font-size:var(--step--1);
   color:var(--ink-soft);
}


.hero-meta-item {
   display:inline-flex;
   align-items:center;
   gap:0.35rem;
}


.editorial-flow {
   width:100%;
   padding-block:var(--band-air);
   background-color:var(--ground);
}


.job-section {
   padding-block:var(--band-air);
   border-bottom:1px solid var(--line);
   position:relative;
}


.job-section:last-of-type {
   border-bottom:0;
}


.job-body-split {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-l);
   margin-bottom:var(--space-l);
}


@media (min-width: 1024px) {
   .job-body-split {
      grid-template-columns:1.15fr 0.85fr;
      gap:var(--space-xl);
      align-items:start;
   }
}


.job-spec-callout {
   background-color:var(--surface);
   border:1px solid var(--line);
   border-left:3px solid var(--hairline);
   padding:var(--space-m);
   display:flex;
   flex-direction:column;
   gap:var(--space-xs);
}


.job-spec-callout-title {
   font-family:var(--gife-dc6);
   font-size:var(--step--1);
   letter-spacing:0.08em;
   text-transform:uppercase;
   color:var(--hairline);
}


.job-spec-callout-text {
   font-family:var(--gife-dc6);
   font-size:var(--step--1);
   line-height:1.6;

   color:var(--ink-soft);
   margin-bottom:0;
}


/* Long, specific, descriptive job heading without kicker or numbers */
.job-headline {
   font-family:var(--gife-4e4);
   font-size:var(--gife-f55);
   line-height:1.22;
   color:var(--ink);
   margin-bottom:var(--space-m);
   max-width:28ch;
}


@media (min-width: 768px) {
   .job-headline {
      font-size:var(--gife-0b1);
   }
}


.job-prose-wrap {
   max-width:var(--reading-measure);
}


.job-prose-wrap p {
   font-size:var(--gife-08e);
   line-height:1.68;
   color:var(--ink);
   margin-bottom:var(--space-s);
}


.job-prose-wrap p:last-child {
   margin-bottom:0;
}


/* Full-width evidence photograph placed between jobs, never paired side-by-side */
.job-evidence-break {
   width:100%;
   margin-block:var(--band-air);
   border-block:1px solid var(--line);
   background-color:var(--surface);
}


.job-evidence-break img {
   width:100%;
   height:auto;
   max-height:640px;
   object-fit:cover;
}


.job-evidence-caption-strip {
   padding:0.65rem var(--space-s);
   background-color:var(--ground);

   border-top:1px solid var(--line);
   display:flex;
   flex-wrap:wrap;
   align-items:center;
   justify-content:space-between;
   gap:var(--space-xs);
   font-family:var(--gife-dc6);
   font-size:var(--step--1);
   color:var(--ink-soft);
}


.signature-spread-wrap {
   width:100%;
   background-color:var(--surface);
   border-block:1px solid var(--hairline);
   padding-block:var(--space-2xl);
   margin-block:var(--space-2xl);
   position:relative;
   overflow:hidden;
}


.signature-spread-wrap::before {
   content:"";
   position:absolute;
   top:0;
   left:50%;
   transform:translateX(-50%);
   width:120px;
   height:2px;
   background-color:var(--hairline);
}


.signature-spread-inner {
   max-width:var(--container-editorial);
   margin-inline:auto;
   padding-inline:var(--space-s);
   text-align:center;
   display:flex;
   flex-direction:column;
   align-items:center;
   gap:var(--space-m);
}


.signature-tech-tag {
   font-family:var(--gife-dc6);
   font-size:var(--step--1);
   letter-spacing:0.14em;
   text-transform:uppercase;
   color:var(--hairline);
   display:inline-flex;
   align-items:center;
   gap:0.5rem;
}


.signature-tech-tag::before,
.signature-tech-tag::after {
   content:'—';
   color:var(--line);
}


.signature-quote-body {
   font-family:var(--gife-4e4);
   font-size:var(--gife-f55);
   line-height:1.35;
   color:var(--ink);
   font-style:normal;
   max-width:22ch;
   margin-inline:auto;
}


@media (min-width: 768px) {
   .signature-quote-body {
      font-size:var(--gife-0b1);
   }
}


.signature-quote-attribution {
   font-family:var(--gife-dc6);

   font-size:var(--step--1);
   letter-spacing:0.08em;
   text-transform:uppercase;
   color:var(--ink-soft);
   display:flex;
   flex-direction:column;
   gap:0.25rem;
}


.signature-quote-attribution span {
   color:var(--ink);
   font-weight:600;
}


.kits-catalogue-masthead {
   padding-block:var(--space-xl) var(--space-m);
   border-bottom:1px solid var(--line);
   background-color:var(--surface);
}


.kits-filter-nav {
   display:flex;
   flex-wrap:wrap;
   gap:var(--space-xs);
   padding-block:var(--space-m);
   border-bottom:1px solid var(--line);
   background-color:var(--ground);
}


.filter-chip {
   appearance:none;
   background-color:var(--surface);
   border:1px solid var(--line);
   color:var(--ink-soft);
   font-family:var(--gife-dc6);
   font-size:var(--step--1);
   letter-spacing:0.05em;
   text-transform:uppercase;
   padding:0.45rem 0.95rem;
   min-height:44px;
   cursor:pointer;
   display:inline-flex;
   align-items:center;
   gap:0.4rem;
   transition:all var(--dur-fast) var(--ease-out-quad);
}


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


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


.filter-chip:focus-visible {
   outline:2px solid var(--hairline);
}


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


.catalogue-entry {
   padding-block:var(--space-xl);
   border-bottom:1px solid var(--line);
}


.catalogue-entry-grid {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-l);
}


@media (min-width: 900px) {
   .catalogue-entry-grid {
      grid-template-columns:1.1fr 0.9fr;
      gap:var(--space-xl);
   }
}


.catalogue-spec-col {
   display:flex;
   flex-direction:column;
}


.catalogue-media-col {
   display:flex;
   flex-direction:column;
}


.catalogue-figure {
   border:1px solid var(--line);
   background-color:var(--surface);
   position:relative;
}


.catalogue-img {
   width:100%;
   height:auto;
   aspect-ratio:16 / 10;
   object-fit:cover;
   display:block;
}


.catalogue-caption {
   padding:0.5rem var(--space-s);
   background-color:var(--surface-2);
   border-top:1px solid var(--line);
   font-family:var(--gife-dc6);
   font-size:var(--step--1);
   color:var(--ink-soft);
   display:flex;
   justify-content:space-between;
}


.pricing-notice-callout {
   background-color:var(--surface);
   border:1px solid var(--line);
   border-left:3px solid var(--hairline);
   padding:var(--space-m);
   margin-block:var(--space-l);
}


.pricing-notice-callout p {
   font-family:var(--gife-dc6);
   font-size:var(--step--1);
   line-height:1.6;
   color:var(--ink);
   margin-bottom:0;
}


.services-flow-grid {
   display:flex;
   flex-direction:column;
   gap:var(--band-air);
   padding-block:var(--band-air);
}


.service-procedure-card {
   background-color:var(--surface);
   border:1px solid var(--line);
   padding:var(--space-m);
   display:flex;
   flex-direction:column;
   gap:var(--space-s);
}


@media (min-width: 768px) {
   .service-procedure-card {
      padding:var(--space-l);
   }
}


.service-step-code {
   font-family:var(--gife-dc6);
   font-size:var(--step--1);
   letter-spacing:0.1em;
   text-transform:uppercase;
   color:var(--hairline);
}


.service-scope-list {
   list-style:none;
   padding:0;
   margin:var(--space-s) 0;
   display:flex;
   flex-direction:column;
   gap:var(--space-2xs);
}


.service-scope-item {
   display:flex;
   align-items:baseline;
   gap:0.5rem;
   font-family:var(--gife-dc6);
   font-size:var(--step--1);
   color:var(--ink);
}


.service-scope-item::before {
   content:'→';
   color:var(--accent);
   font-weight:700;
}


.installation-disclaimer-box {
   background-color:var(--surface-2);
   border:1px solid var(--line);
   padding:var(--space-m);
   margin-top:var(--band-tight);
}


.installation-disclaimer-title {
   font-family:var(--gife-dc6);
   font-size:var(--gife-08e);
   font-weight:700;
   color:var(--ink);
   margin-bottom:var(--space-xs);
   text-transform:uppercase;
   letter-spacing:0.05em;
}


.facility-stats-strip {
   display:grid;
   grid-template-columns:1fr;
   gap:1px;
   background-color:var(--line);
   border:1px solid var(--line);
   margin-block:var(--band-tight);
}


@media (min-width: 600px) {
   .facility-stats-strip {
      grid-template-columns:repeat(2, 1fr);
   }
}


@media (min-width: 992px) {
   .facility-stats-strip {
      grid-template-columns:repeat(4, 1fr);
   }
}


.facility-stat-card {
   background-color:var(--surface);
   padding:var(--space-m);
   display:flex;
   flex-direction:column;
   gap:0.35rem;
}


.facility-stat-num {
   font-family:var(--gife-dc6);
   font-size:var(--gife-f55);
   font-weight:700;
   color:var(--ink);
   letter-spacing:-0.02em;
}


.facility-stat-label {
   font-family:var(--gife-dc6);
   font-size:var(--step--1);
   color:var(--ink-soft);
   text-transform:uppercase;
   letter-spacing:0.08em;
}


.accreditation-seal-box {
   border:1px solid var(--hairline);
   background-color:var(--surface);
   padding:var(--space-m);
   margin-block:var(--band-tight);
   display:flex;
   flex-direction:column;
   gap:var(--space-xs);
}


@media (min-width: 768px) {
   .accreditation-seal-box {
      flex-direction:row;
      align-items:center;
      justify-content:space-between;
      padding:var(--space-l);
   }
}


.accreditation-text {
   max-width:55ch;
}


.accreditation-badge {
   font-family:var(--gife-dc6);
   font-size:var(--gife-08e);
   font-weight:700;
   color:var(--accent-ink);
   background-color:var(--accent);
   padding:0.65rem 1.25rem;
   letter-spacing:0.08em;
   text-transform:uppercase;
   border:1px solid var(--hairline);
   white-space:nowrap;
}


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


@media (min-width: 992px) {
   .contact-layout-grid {
      grid-template-columns:1.15fr 0.85fr;
   }
}


.contact-info-panel {
   display:flex;
   flex-direction:column;
   gap:var(--space-m);
}


.shop-direct-card {
   background-color:var(--surface);
   border:1px solid var(--line);
   padding:var(--space-m);
   display:flex;
   flex-direction:column;
   gap:var(--space-xs);
}


.shop-direct-card-title {
   font-family:var(--gife-dc6);
   font-size:var(--step--1);
   text-transform:uppercase;
   letter-spacing:0.08em;
   color:var(--hairline);
}


.shop-hours-grid {
   display:grid;
   grid-template-columns:1fr 1fr;
   gap:0.4rem;
   font-family:var(--gife-dc6);
   font-size:var(--step--1);
   color:var(--ink);
   padding-block:var(--space-xs);
   border-top:1px solid var(--line);
   margin-top:var(--space-xs);
}


.legal-card-stage {
   padding-block:var(--space-xl) var(--space-2xl);
   background-color:var(--ground);
   display:flex;
   justify-content:center;
}


.framed-document-card {
   width:100%;
   max-width:var(--container-editorial);
   background-color:var(--surface);
   border:1px solid var(--line);
   border-top:2px solid var(--hairline);
   box-shadow:0 16px 48px rgba(0, 0, 0, 0.65);
   padding:var(--space-m);
   position:relative;
}


@media (min-width: 768px) {
   .framed-document-card {
      padding:var(--space-xl) var(--space-l);
   }
}


.doc-masthead-block {
   padding-bottom:var(--space-l);
   margin-bottom:var(--space-l);
   border-bottom:1px solid var(--line);
   display:flex;
   flex-direction:column;
   gap:var(--space-xs);
}


.doc-stamp {
   display:inline-flex;
   align-items:center;
   gap:0.5rem;
   font-family:var(--gife-dc6);
   font-size:var(--step--1);
   color:var(--hairline);
   letter-spacing:0.1em;
   text-transform:uppercase;
}


.doc-title {
   font-family:var(--gife-4e4);
   font-size:var(--gife-f55);
   line-height:1.2;
   color:var(--ink);
   margin:0;
}


.doc-metadata-strip {
   display:flex;
   flex-wrap:wrap;
   gap:var(--space-m);
   font-family:var(--gife-dc6);
   font-size:var(--step--1);
   color:var(--ink-soft);
   padding-top:var(--space-xs);
}


.doc-metadata-strip span {
   color:var(--ink);
}


/* Clauses within framed card */
.doc-clause-block {
   padding-block:var(--space-m);
   border-bottom:1px solid var(--surface-2);
}


.doc-clause-block:last-of-type {
   border-bottom:0;
}


.clause-heading {
   font-family:var(--gife-dc6);
   font-size:var(--gife-08e);
   font-weight:700;
   letter-spacing:0.05em;
   text-transform:uppercase;
   color:var(--ink);
   margin-bottom:var(--space-xs);
   display:flex;
   align-items:baseline;
   gap:0.6rem;
}


.clause-num {
   color:var(--hairline);
   font-size:var(--step--1);
}


.doc-clause-block p {
   font-size:var(--gife-08e);
   line-height:1.68;
   color:var(--ink);
   margin-bottom:var(--space-s);
}


.doc-clause-block ul {
   font-family:var(--gife-e3c);
   font-size:var(--gife-08e);
   line-height:1.65;
   color:var(--ink);
   padding-left:var(--space-m);
   margin-bottom:var(--space-s);
}


.doc-clause-block li {
   margin-bottom:var(--space-2xs);
}


.sticky-index-layout {
   padding-block:var(--space-xl) var(--space-2xl);
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:var(--space-l);
   min-width:0;
   width:100%;
}


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


.sticky-index-content {
   min-width:0;
   max-width:100%;
   overflow-wrap:break-word;
   word-break:break-word;
}


.sticky-index-content a,
.sticky-index-content code {
   overflow-wrap:anywhere;
   word-break:break-word;
}


/* Mobile single jump-to selector */
.mobile-jump-wrapper {
   display:block;
   margin-bottom:var(--space-m);
   background-color:var(--surface);
   border:1px solid var(--line);
   padding:var(--space-xs);
}


@media (min-width: 900px) {
   .mobile-jump-wrapper {
      display:none;
   }
}


.mobile-jump-select {
   width:100%;
   background-color:var(--ground);
   color:var(--ink);
   border:1px solid var(--line);
   padding:0.65rem 0.85rem;
   font-family:var(--gife-dc6);
   font-size:var(--step--1);
   min-height:44px;
}


/* Desktop sticky side index rail */
.side-index-rail {
   display:none;
}


@media (min-width: 900px) {
   .side-index-rail {
      display:block;
      position:sticky;
      top:calc(var(--strip-height) + 1.5rem);
      height:fit-content;
      max-height:calc(100vh - var(--strip-height) - 3rem);
      overflow-y:auto;
      background-color:var(--surface);
      border:1px solid var(--line);
      padding:var(--space-m);
   }
}


.side-index-title {
   font-family:var(--gife-dc6);
   font-size:var(--step--1);
   letter-spacing:0.1em;
   text-transform:uppercase;
   color:var(--ink-soft);
   margin-bottom:var(--space-s);
   padding-bottom:var(--space-xs);
   border-bottom:1px solid var(--line);
}


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


.side-index-item a {
   display:flex;
   align-items:center;
   gap:0.5rem;
   font-family:var(--gife-dc6);
   font-size:var(--step--1);
   color:var(--ink-soft);
   text-decoration:none;
   padding:0.45rem 0.5rem;
   border-left:2px solid transparent;
   transition:all var(--dur-fast) var(--ease-out-quad);
}


.side-index-item a:hover {
   color:var(--ink);
   background-color:var(--surface-2);
   border-left-color:var(--hairline);
}


.side-index-item a:active {
   background-color:var(--ground);
}


.side-index-item a:focus-visible {
   outline:2px solid var(--hairline);
}


.side-index-item a.is-active {
   color:var(--accent-ink);
   background-color:var(--surface-2);
   border-left-color:var(--accent);
   font-weight:700;
}


.index-step-badge {
   color:var(--hairline);
   font-weight:700;
   min-width:1.5ch;
}


/* Reading column for sticky-index layout */
.sticky-index-content {
   max-width:min(100%, var(--reading-measure));
   min-width:0;
}


.numbered-legal-section {
   padding-block:var(--space-m) var(--space-l);
   border-bottom:1px solid var(--line);
   scroll-margin-top:calc(var(--strip-height) + 2rem);
}


.numbered-legal-section:last-of-type {
   border-bottom:0;
}


.numbered-section-header {
   display:flex;
   align-items:baseline;
   gap:var(--space-xs);
   margin-bottom:var(--space-xs);
}


.numbered-badge-label {
   font-family:var(--gife-dc6);
   font-size:var(--step--1);
   color:var(--hairline);
   font-weight:700;
   letter-spacing:0.05em;
}


.numbered-section-title {
   font-family:var(--gife-4e4);
   font-size:var(--gife-b9b);
   color:var(--ink);
   margin:0;
}


.dated-rail-stage {
   padding-block:var(--space-xl) var(--space-2xl);
   max-width:var(--container-editorial);
   margin-inline:auto;
}


/* Horizontal Date Strip on phones (above text) */
.dated-rail-strip,
.mobile-date-ribbon {
   display:flex;
   max-width:100%;
   box-sizing:border-box;
   overflow-x:auto;
   -webkit-overflow-scrolling:touch;
   gap:var(--space-s);
   padding:var(--space-xs) var(--space-s);
   background-color:var(--surface);
   border:1px solid var(--line);
   margin-bottom:var(--space-l);
   scrollbar-width:thin;
}


@media (min-width: 900px) {
   .dated-rail-strip,
   .mobile-date-ribbon {
      display:none;
   }
}


.ribbon-date-node,
.rail-strip-node {
   flex-shrink:0;
   display:flex;
   flex-direction:column;
   gap:2px;
   font-family:var(--gife-dc6);
   font-size:0.75rem;
}


.ribbon-date-label,
.rail-strip-label {
   color:var(--ink-soft);
   text-transform:uppercase;
   letter-spacing:0.05em;
}


.ribbon-date-val,
.rail-strip-val {
   color:var(--hairline);
   font-weight:600;
}


/* Desktop continuous vertical rail flow */
.dated-rail-flow {
   position:relative;
   display:flex;
   flex-direction:column;
   max-width:var(--container-editorial);
}


@media (min-width: 900px) {
   .dated-rail-flow {
      padding-left:210px;
   }


   .dated-rail-flow::before {
      content:"";
      position:absolute;
      top:0;
      bottom:0;
      left:190px;
      width:2px;
      background:linear-gradient(
         to bottom,
         var(--hairline) 0%,
         var(--line) 10%,
         var(--line) 90%,
         var(--hairline) 100%
      );
   }
}


/* Each section attached to the rail at its own marker */
.rail-attached-section {
   padding-block:var(--space-m) var(--space-l);
   border-bottom:1px solid var(--line);
   position:relative;
   min-width:0;
   max-width:var(--reading-measure);
}


.rail-attached-section:last-of-type {
   border-bottom:0;
}


/* Section rail marker attached to the continuous vertical rail */
@media (min-width: 900px) {
   .section-rail-marker {
      position:absolute;
      top:var(--space-m);
      left:-210px;
      width:175px;
      text-align:right;
      display:flex;
      flex-direction:column;
      align-items:flex-end;
      gap:2px;
   }


   .section-rail-marker::after {
      content:"";
      position:absolute;
      top:5px;
      right:-24px;
      width:10px;
      height:10px;
      border-radius:50%;
      background-color:var(--hairline);
      border:2px solid var(--ground);
      box-shadow:0 0 0 2px var(--line);
   }
}


@media (max-width: 899px) {
   .section-rail-marker {
      display:inline-flex;
      flex-wrap:wrap;
      align-items:baseline;
      gap:var(--space-xs);
      background-color:var(--surface);
      border:1px solid var(--line);
      padding:0.25rem 0.55rem;
      margin-bottom:var(--space-xs);
   }
}


.rail-marker-time {
   font-family:var(--gife-dc6);
   font-size:var(--step--1);
   font-weight:700;
   color:var(--hairline);
   letter-spacing:0.05em;
}


.rail-marker-label {
   font-family:var(--gife-dc6);
   font-size:0.72rem;
   color:var(--ink-soft);
   text-transform:uppercase;
   letter-spacing:0.08em;
}


.rail-marker-badge {
   display:inline-flex;
   align-items:center;
   gap:0.4rem;
   font-family:var(--gife-dc6);
   font-size:var(--step--1);
   color:var(--hairline);
   background-color:var(--surface);
   border:1px solid var(--line);
   padding:0.2rem 0.5rem;
   margin-bottom:var(--space-xs);
   text-transform:uppercase;
}


.data-inventory-table {
   width:100%;
   border-collapse:collapse;
   font-size:var(--step--1);
   margin-block:var(--space-m);
   background-color:var(--surface);
   border:1px solid var(--line);
   table-layout:auto;
}


.tine92c-wrap {
   width:100%;
   max-width:100%;
   overflow-x:auto;
   -webkit-overflow-scrolling:touch;
   margin-block:var(--space-m);
   border:1px solid var(--line);
}


.data-inventory-table th,
.data-inventory-table td {
   padding:0.65rem 0.85rem;
   border-bottom:1px solid var(--line);
   text-align:left;
   vertical-align:top;
}


.data-inventory-table th {
   background-color:var(--ground);
   font-family:var(--gife-dc6);
   font-size:0.75rem;
   letter-spacing:0.08em;
   text-transform:uppercase;
   color:var(--ink-soft);
   border-bottom:1px solid var(--hairline);
}


.data-inventory-table tr:hover td {
   background-color:var(--surface-2);
}


.code-badge {
   font-family:var(--gife-dc6);
   font-size:0.82em;
   background-color:var(--ground);
   color:var(--hairline);
   padding:0.15rem 0.4rem;
   border:1px solid var(--line);
   border-radius:var(--radius-0);
   word-break:break-all;
}


.faq-accordion-group {
   display:flex;
   flex-direction:column;
   gap:var(--space-xs);
   margin-block:var(--space-l);
}


.faq-accordion-item {
   background-color:var(--surface);
   border:1px solid var(--line);
   transition:border-color var(--dur-fast);
}


.faq-accordion-item:hover {
   border-color:var(--hairline);
}


.faq-trigger-btn {
   width:100%;
   text-align:left;
   background:none;
   border:0;
   padding:var(--space-s) var(--space-m);
   min-height:48px;
   display:flex;
   align-items:center;
   justify-content:space-between;
   gap:var(--space-s);
   cursor:pointer;
   font-family:var(--gife-4e4);
   font-size:var(--gife-08e);
   color:var(--ink);
   transition:color var(--dur-fast), background-color var(--dur-fast);
}


.faq-trigger-btn:hover {
   color:var(--accent-ink);
   background-color:var(--surface-2);
}


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


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


.faq-icon-indicator {
   transition:transform var(--dur-fast) var(--ease-out-quad);
   color:var(--ink-soft);
}


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


.faq-content-panel {
   padding:0 var(--space-m) var(--space-m) var(--space-m);
   border-top:1px solid var(--line);
   display:block;
}


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


.faq-content-panel p {
   font-size:var(--gife-08e);
   line-height:1.62;
   color:var(--ink-soft);
   margin-bottom:var(--space-xs);
}


.faq-content-panel p:last-child {
   margin-bottom:0;
}


.error-404-scene {
   min-height:70vh;
   display:flex;
   flex-direction:column;
   justify-content:center;
   align-items:center;
   text-align:center;
   padding:var(--space-2xl) var(--space-s);
   background-color:var(--ground);
}


.error-code-metric {
   font-family:var(--gife-dc6);
   font-size:clamp(3rem, 2.5rem + 5vw, 6.5rem);
   font-weight:700;
   line-height:1;
   color:var(--hairline);
   letter-spacing:-0.04em;
   margin-bottom:var(--space-xs);
}


.error-title {
   font-family:var(--gife-4e4);
   font-size:var(--gife-f55);
   color:var(--ink);
   margin-bottom:var(--space-s);
}


.error-lede {
   font-size:var(--gife-08e);
   color:var(--ink-soft);
   max-width:48ch;
   margin-bottom:var(--space-l);
}


@media (max-width: 414px) {
   .hero-opening {
      min-height:0;
      max-height:none;
      height:auto;
      aspect-ratio:3 / 2;
   }


   .hero-media-backdrop {
      aspect-ratio:3 / 2;
   }


   .hero-media-image {
      aspect-ratio:3 / 2;
      height:auto;
   }


   .hero-low-third {
      padding-block:var(--space-s) var(--space-xs);
   }


   .framed-document-card {
      padding:var(--space-s);
   }


   .job-facts-grid {
      grid-template-columns:1fr;
   }
}


@media (pointer: coarse) {
   .hero-media-image {
      transform:none !important;
   }


   [data-speed], [data-lag] {
      transform:none !important;
   }
}
