
.hero-panel {
   position:relative;
   padding-top:var(--space-xl);
   padding-bottom:var(--space-xl);
   border-bottom:1px solid var(--border);
   overflow:hidden;
   background-color:var(--ground);
}

@media (min-width: 1024px) {
   .hero-panel {
      padding-top:var(--space-2xl);
      padding-bottom:var(--space-2xl);
      min-height:calc(100vh - var(--header-mobile-h));
      display:flex;
      flex-direction:column;
      justify-content:center;
   }
}

.hero-canvas-wrap {
   position:absolute;
   inset:0;
   z-index:0;
   pointer-events:none;
   opacity:0.85;
   background:radial-gradient(circle at 75% 25%, rgba(44, 62, 45, 0.12) 0%, rgba(228, 234, 227, 0) 65%);
}

.hero-canvas {
   width:100%;
   height:100%;
   display:block;
}

.hero-inner {
   position:relative;
   z-index:1;
}

.hero-display-title {
   font-family:var(--gona-88b);
   font-size:clamp(2.4rem, 1.8rem + 4.5vw, 5.8rem);
   font-weight:700;
   line-height:0.94;
   letter-spacing:-0.01em;
   text-transform:uppercase;

   color:var(--pine);
   margin-bottom:var(--space-m);
   max-width:18ch;
}

.hero-display-title span { display:block; }

.hero-meta-bar {
   display:flex;
   flex-wrap:wrap;
   gap:var(--space-s) var(--space-l);
   margin-top:var(--space-m);
   padding-top:var(--space-s);
   border-top:1px solid var(--pine);
   font-family:var(--gona-fc1);
   font-size:var(--step--1);
   color:var(--moss);
}

.hero-meta-item {
   display:flex;
   flex-direction:column;
   gap:2px;
}

.hero-meta-label {
   font-size:var(--step--2);
   text-transform:uppercase;
   letter-spacing:0.05em;
   color:var(--moss);
}

.hero-meta-val {
   font-weight:500;
   color:var(--pine);
}

.page-header-panel {
   padding-top:var(--space-xl);
   padding-bottom:var(--space-l);
   border-bottom:1px solid var(--border);
   background-color:var(--ground);
}

@media (min-width: 1024px) {
   .page-header-panel {
      padding-top:var(--space-2xl);
      padding-bottom:var(--space-xl);
   }
}

.page-header-title {
   font-family:var(--gona-88b);
   font-size:clamp(2.1rem, 1.6rem + 3.2vw, 4.2rem);
   font-weight:700;
   line-height:0.96;
   text-transform:uppercase;
   color:var(--pine);
   margin-bottom:var(--space-s);
   letter-spacing:0.01em;
}

.section-noun-heading {
   font-family:var(--gona-88b);
   font-size:clamp(1.8rem, 1.4rem + 2.2vw, 3.2rem);
   font-weight:700;
   line-height:1.02;
   text-transform:uppercase;
   color:var(--pine);
   margin-bottom:var(--space-xs);
   letter-spacing:0.015em;
}

.panel-dark .section-noun-heading,
.panel-dark .page-header-title { color:var(--white); }

.ledger-wrapper {
   margin-top:var(--space-s);
   margin-bottom:var(--space-l);
   border-top:2px solid var(--pine);
   border-bottom:1px solid var(--pine);
}

.panel-dark .ledger-wrapper {
   border-top-color:var(--amber);
   border-bottom-color:var(--moss);
}

.ledger-entry {
   display:grid;
   grid-template-columns:1fr;
   padding:var(--space-xs) 0;
   border-bottom:1px solid var(--border);
   gap:var(--space-3xs);
}

.panel-dark .ledger-entry { border-bottom-color:var(--border-dark); }

.ledger-entry:last-child { border-bottom:0; }

@media (min-width: 680px) {
   .ledger-entry {

      grid-template-columns:280px 1fr;
      align-items:baseline;
      gap:var(--space-m);
   }
}

@media (min-width: 1100px) {
   .ledger-entry { grid-template-columns:360px 1fr; }
}

.ledger-term {
   font-family:var(--gona-fc1);
   font-size:var(--step--1);
   text-transform:uppercase;
   letter-spacing:0.05em;
   color:var(--moss);
   display:flex;
   align-items:center;
   gap:var(--space-2xs);
}

.panel-dark .ledger-term { color:var(--ground-elevated); }

.ledger-detail {
   font-family:var(--gona-8f1);
   font-size:var(--gona-e30);
   color:var(--bark);
   line-height:1.55;
}

.panel-dark .ledger-detail { color:var(--ground); }

.panel-dark .ledger-detail a,
.panel-dark .ledger-entry a,
.panel-dark a { color:var(--amber-on-dark); }

.ledger-detail-mono {
   font-family:var(--gona-fc1);
   font-size:var(--step--1);
   color:var(--pine);
}

.panel-dark .ledger-detail-mono { color:var(--amber-on-dark); }

.ledger-grid-2col {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-m);
   margin-top:var(--space-m);
}

@media (min-width: 900px) {
   .ledger-grid-2col {
      grid-template-columns:1fr 1fr;
      gap:var(--space-xl);
   }
}

.duotone-caesura {
   position:relative;
   width:100%;
   aspect-ratio:16 / 9;
   min-height:440px;
   background-color:var(--pine);
   overflow:hidden;
   display:flex;
   align-items:center;
   justify-content:center;
   border-top:1px solid var(--border);
   border-bottom:1px solid var(--border);
}

@media (min-width: 1024px) {
   .duotone-caesura {
      aspect-ratio:16 / 9;

      min-height:auto;
   }
}

.duotone-media-layer {
   position:absolute;
   inset:0;
   width:100%;
   height:100%;
   z-index:1;
}

.duotone-media-layer img {
   width:100%;
   height:100%;
   object-fit:cover;
   filter:grayscale(100%) contrast(140%) brightness(55%);
   mix-blend-mode:luminosity;
   transform:scale(1.02);
}

.duotone-tint-layer {
   position:absolute;
   inset:0;
   z-index:2;
   background:linear-gradient(135deg, rgba(30, 46, 32, 0.92) 0%, rgba(44, 62, 45, 0.85) 60%, rgba(198, 125, 52, 0.45) 100%);
   mix-blend-mode:multiply;
}

.duotone-caesura-content {
   position:relative;
   z-index:3;
   width:100%;
   padding-top:var(--space-xl);
   padding-bottom:var(--space-xl);
   color:var(--white);
}

.caesura-statement {
   font-family:var(--gona-88b);
   font-size:clamp(2rem, 1.4rem + 3vw, 4.4rem);
   font-weight:700;
   line-height:0.98;
   letter-spacing:0.01em;
   text-transform:uppercase;
   color:var(--white);
   max-width:16ch;
   margin-bottom:var(--space-s);
}

.caesura-caption {
   font-family:var(--gona-fc1);
   font-size:var(--step--1);
   color:var(--ground-elevated);
   max-width:60ch;
   line-height:1.5;
   border-left:2px solid var(--amber);
   padding-left:var(--space-s);
}

.caesura-caption .mono-strong {
   color:var(--amber-on-dark);
   font-weight:600;
}

/* Full-width incidental photographic breaks between ledgers */
.incidental-break-figure {
   width:100%;
   margin:var(--space-l) 0;
   border:1px solid var(--border);
   background-color:var(--ground-elevated);
   position:relative;
}

.incidental-break-figure img {
   width:100%;
   height:auto;
   aspect-ratio:3 / 2;
   object-fit:cover;
}

.incidental-caption-bar {
   padding:var(--space-2xs) var(--space-s);
   background-color:var(--ground-elevated);
   border-top:1px solid var(--border);
   display:flex;
   flex-wrap:wrap;
   align-items:center;
   justify-content:space-between;
   gap:var(--space-2xs);
   font-family:var(--gona-fc1);
   font-size:var(--step--2);
   color:var(--moss);
   text-transform:uppercase;
   letter-spacing:0.04em;
}

.incidental-caption-bar span.active-tag {
   color:var(--pine);
   font-weight:500;
}

.scrolly-section {
   position:relative;
   padding-top:var(--space-xl);
   padding-bottom:var(--space-xl);
   border-bottom:1px solid var(--border);
}

@media (min-width: 1024px) {
   .scrolly-section {
      padding-top:var(--space-2xl);
      padding-bottom:var(--space-2xl);
   }
}

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

@media (min-width: 900px) {
   .scrolly-container {
      grid-template-columns:1fr 1fr;
      gap:var(--space-xl);
      align-items:start;
   }
}

.scrolly-sticky-col {
   position:relative;
   width:100%;
}

@media (min-width: 900px) {
   .scrolly-sticky-col {
      position:sticky;
      top:calc(var(--space-l));
      z-index:10;
   }
}

.scrolly-media-frame {
   position:relative;
   border:1px solid var(--pine);
   background-color:var(--ground-elevated);
   aspect-ratio:4 / 3;
   overflow:hidden;
}

.scrolly-media-frame img {
   width:100%;
   height:100%;
   object-fit:cover;
   transition:opacity var(--dur-med) var(--ease-out);
}

.scrolly-progress-track {
   height:3px;
   background-color:var(--border);
   width:100%;
   position:relative;
   overflow:hidden;
}

.scrolly-progress-bar {
   height:100%;
   width:0%;
   background-color:var(--amber);
   transition:width var(--dur-fast) linear;
}

.scrolly-media-meta {
   padding:var(--space-2xs) var(--space-xs);
   background-color:var(--pine);
   color:var(--ground);
   font-family:var(--gona-fc1);
   font-size:var(--step--2);
   display:flex;
   justify-content:space-between;
   align-items:center;
}

.scrolly-scroll-col {
   display:flex;
   flex-direction:column;
   gap:var(--space-xl);
}

.scrolly-step-card {
   padding:var(--space-m);
   background-color:var(--ground);
   border:1px solid var(--border);
   border-left:3px solid var(--border);
   transition:border-color var(--dur-fast) var(--ease-out),
                     background-color var(--dur-fast) var(--ease-out);
}

.scrolly-step-card.is-active {
   border-left-color:var(--amber);
   background-color:var(--ground-elevated);
}

.scrolly-step-card h3 {
   font-family:var(--gona-88b);
   font-size:var(--gona-1f6);
   margin-bottom:var(--space-2xs);
   color:var(--pine);
}

@media (prefers-reduced-motion: reduce) {
   .scrolly-sticky-col { position:static; }
}

.catalog-grid {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-m);
   margin-top:var(--space-m);
}

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

@media (min-width: 1024px) and (max-width: 1280px) {
   .catalog-grid {
      grid-template-columns:repeat(2, 1fr);
      gap:var(--space-l);
   }
}

@media (min-width: 1281px) {
   .catalog-grid {
      grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));
      gap:var(--space-l);
   }
}

.catalog-matrix-controls {
   padding:var(--space-s) 0;
   border-top:1px solid var(--border);
   border-bottom:1px solid var(--border);
   display:flex;
   flex-direction:column;
   gap:var(--space-s);
   margin-bottom:var(--space-l);
}

@media (min-width: 768px) {
   .catalog-matrix-controls {
      flex-direction:row;
      align-items:center;
      justify-content:space-between;
   }
}

.catalog-search-wrap {
   position:relative;
   min-width:260px;
   max-width:380px;
   width:100%;
}

.catalog-search-input {
   width:100%;
   min-height:44px;
   padding:var(--space-2xs) var(--space-xs) var(--space-2xs) 36px;
   font-family:var(--gona-fc1);
   font-size:var(--step--1);
   background-color:var(--white);
   border:1px solid var(--border);
   border-radius:var(--radius-sm);
   transition:border-color var(--dur-fast) var(--ease-out);
}

.catalog-search-input:hover { border-color:var(--moss); }

.catalog-search-input:focus {
   outline:2px solid var(--pine);
   outline-offset:1px;
}

.catalog-search-icon {
   position:absolute;
   left:10px;
   top:50%;
   transform:translateY(-50%);
   color:var(--moss);
   pointer-events:none;
}

.catalog-meta-tag {
   display:inline-block;
   font-family:var(--gona-fc1);
   font-size:var(--step--2);
   padding:2px 6px;
   background-color:var(--ground-elevated);
   border:1px solid var(--border);
   border-radius:var(--radius-sm);
   color:var(--moss);
}

.calculator-card {
   background-color:var(--ground);
   border:2px solid var(--pine);
   padding:var(--space-m);
   margin-top:var(--space-m);
   margin-bottom:var(--space-l);
}

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

.calc-formula-callout {
   padding:var(--space-xs) var(--space-s);
   background-color:var(--ground-elevated);
   border-left:3px solid var(--amber);
   margin-bottom:var(--space-m);
   font-family:var(--gona-fc1);
   font-size:var(--step--2);
   color:var(--moss);
   line-height:1.5;
}

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

@media (min-width: 860px) {
   .calc-layout-grid {
      grid-template-columns:1.1fr 0.9fr;
      align-items:start;
   }
}

.calc-inputs-pane {
   display:flex;
   flex-direction:column;
   gap:var(--space-s);
}

.calc-range-wrapper {
   display:flex;
   flex-direction:column;
   gap:var(--space-3xs);
}

.calc-range-label {
   display:flex;
   justify-content:space-between;
   font-family:var(--gona-fc1);
   font-size:var(--step--1);
   color:var(--pine);
   text-transform:uppercase;
}

.calc-range-val {
   color:var(--amber);
   font-weight:600;
}

.calc-slider {
   width:100%;
   height:6px;
   background-color:var(--border);
   outline:none;
   border-radius:3px;
   accent-color:var(--pine);
   cursor:pointer;
}

.calc-results-pane {
   background-color:var(--pine);
   color:var(--ground);
   padding:var(--space-m);
   border:1px solid var(--moss);
   display:flex;
   flex-direction:column;
   gap:var(--space-m);
   min-width:0;
}

.calc-results-pane .btn {
   white-space:normal;
   width:100%;
   line-height:1.25;
   padding:var(--space-xs) var(--space-xs);
   text-align:center;
}

.calc-results-title {
   font-family:var(--gona-88b);
   font-size:var(--gona-889);
   color:var(--white);
   letter-spacing:0.05em;
   text-transform:uppercase;
   border-bottom:1px solid var(--border-dark);
   padding-bottom:var(--space-2xs);
}

.calc-primary-stat {
   display:flex;
   flex-direction:column;
   gap:var(--space-3xs);
}

.calc-stat-label {
   font-family:var(--gona-fc1);
   font-size:var(--step--2);
   text-transform:uppercase;
   letter-spacing:0.05em;
   color:var(--ground-elevated);
}

.calc-stat-number {
   font-family:var(--gona-fc1);
   font-size:clamp(2.2rem, 1.8rem + 2vw, 3.6rem);
   font-weight:700;
   color:var(--amber-on-dark);
   line-height:1;
}

.calc-stat-unit {
   font-size:var(--gona-e30);
   color:var(--ground);
   margin-left:4px;
}

.calc-output-ledger {
   width:100%;
   border-top:1px solid var(--border-dark);
   border-bottom:1px solid var(--border-dark);
   font-family:var(--gona-fc1);
   font-size:var(--step--1);
}

.calc-output-row {
   display:flex;
   flex-direction:column;
   gap:2px;
   padding:var(--space-2xs) 0;
   border-bottom:1px dashed var(--border-dark);
}

@media (min-width: 420px) {
   .calc-output-row {
      flex-direction:row;
      justify-content:space-between;
      align-items:baseline;
   }
}

.calc-output-row:last-child { border-bottom:0; }

.calc-output-val {
   font-weight:600;
   color:var(--white);
   white-space:normal;
   word-break:normal;
   overflow-wrap:normal;
}

.calc-disclaimer {
   font-size:var(--step--2);
   color:var(--ground-elevated);
   font-style:italic;
   line-height:1.4;
   margin-top:var(--space-2xs);
}

.clause-ledger-table {
   width:100%;
   border-collapse:collapse;
   margin-top:var(--space-m);
   border-top:2px solid var(--pine);
}

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

@media (min-width: 768px) {
   .clause-ledger-table thead {
      display:table-header-group;
      background-color:var(--ground-elevated);
   }

   .clause-ledger-table th {
      padding:var(--space-xs) var(--space-s);
      text-align:left;
      font-family:var(--gona-fc1);
      font-size:var(--step--2);
      letter-spacing:0.06em;
      text-transform:uppercase;
      color:var(--moss);
      border-bottom:1px solid var(--pine);
   }
}

.clause-ledger-table tbody tr {
   display:block;
   border:1px solid var(--border);
   margin-bottom:var(--space-s);
   background-color:var(--ground);
   padding:var(--space-s);
}

@media (min-width: 768px) {
   .clause-ledger-table tbody tr {
      display:table-row;
      border:none;
      margin-bottom:0;
      padding:0;
      border-bottom:1px solid var(--border);
   }

   .clause-ledger-table tr:hover td { background-color:var(--ground-elevated); }
}

.clause-ledger-table td {
   display:block;
   padding:var(--space-2xs) 0;
   font-size:var(--gona-e30);
   vertical-align:top;
}

@media (min-width: 768px) {
   .clause-ledger-table td {
      display:table-cell;
      padding:var(--space-s) var(--space-s);
      border-bottom:1px solid var(--border);
   }
}

.clause-cell-ref {
   font-family:var(--gona-fc1);
   font-size:var(--step--1);
   font-weight:600;
   color:var(--pine);
   width:22%;
}

.clause-cell-meaning {
   font-size:var(--gona-e30);
   color:var(--bark);
   width:46%;
}

.clause-cell-purpose {
   font-family:var(--gona-fc1);
   font-size:var(--step--1);
   color:var(--moss);
   width:32%;
}

@media (max-width: 767px) {
   .clause-cell-ref::before {
      content:'CLAUSE / SCOPE: ';
      font-size:var(--step--2);
      color:var(--moss);
      display:block;
   }
   .clause-cell-meaning::before {
      content:'LEGAL MEANING: ';
      font-family:var(--gona-fc1);
      font-size:var(--step--2);
      color:var(--moss);
      display:block;
      margin-top:var(--space-2xs);
   }
   .clause-cell-purpose::before {
      content:'OPERATIONAL PURPOSE & RETENTION: ';
      font-family:var(--gona-fc1);
      font-size:var(--step--2);
      color:var(--moss);
      display:block;
      margin-top:var(--space-2xs);
   }
}

.framed-document-card {
   background-color:var(--paper-card);
   border:1px solid var(--border);
   border-radius:var(--radius-sm);
   padding:var(--space-m);
   margin-top:var(--space-m);
   margin-bottom:var(--space-xl);
   box-shadow:0 4px 20px rgba(26, 35, 27, 0.05);
}

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

@media (min-width: 1024px) {
   .framed-document-card {
      padding:var(--space-2xl) var(--space-xl);
      max-width:980px;
      margin-left:auto;
      margin-right:auto;
   }
}

.document-masthead {
   padding-bottom:var(--space-m);
   border-bottom:2px solid var(--pine);
   margin-bottom:var(--space-l);
}

.doc-classification-strip {
   display:flex;
   flex-wrap:wrap;
   justify-content:space-between;
   gap:var(--space-xs);
   padding-bottom:var(--space-xs);
   border-bottom:1px solid var(--border);
   margin-bottom:var(--space-s);
   font-family:var(--gona-fc1);
   font-size:var(--step--2);
   text-transform:uppercase;
   color:var(--moss);
}

.doc-title {
   font-family:var(--gona-88b);
   font-size:clamp(2rem, 1.5rem + 2.5vw, 3.4rem);
   font-weight:700;
   text-transform:uppercase;
   color:var(--pine);
   line-height:1;
   margin-bottom:var(--space-2xs);
}

.doc-clause-block {
   margin-bottom:var(--space-l);
   padding-bottom:var(--space-m);
   border-bottom:1px dashed var(--border);
}

.doc-clause-block:last-child {
   border-bottom:0;
   margin-bottom:0;
   padding-bottom:0;
}

.doc-clause-header {
   font-family:var(--gona-fc1);
   font-size:var(--gona-e30);
   font-weight:600;
   color:var(--pine);
   text-transform:uppercase;
   letter-spacing:0.03em;
   margin-bottom:var(--space-2xs);
   display:flex;
   align-items:baseline;
   gap:var(--space-2xs);
}

.doc-clause-header .clause-num { color:var(--amber); }

.doc-table-wrap {
   overflow-x:auto;
   margin:var(--space-s) 0;
   border:1px solid var(--border);
}

.cookie-registry-table {
   width:100%;
   font-size:var(--step--1);
   min-width:580px;
}

.cookie-registry-table th {
   background-color:var(--ground-elevated);
   font-family:var(--gona-fc1);
   font-size:var(--step--2);
   text-transform:uppercase;
   padding:var(--space-2xs) var(--space-xs);
   text-align:left;
   border-bottom:1px solid var(--pine);
   color:var(--pine);
}

.cookie-registry-table td {
   padding:var(--space-2xs) var(--space-xs);
   border-bottom:1px solid var(--border);
   vertical-align:top;
}

.cookie-registry-table tr:last-child td { border-bottom:0; }

.terms-wide-measure {
   max-width:920px;
   margin-top:var(--space-m);
   margin-bottom:var(--space-xl);
}

.terms-clause-section {
   display:grid;
   grid-template-columns:1fr;
   padding-top:var(--space-l);
   padding-bottom:var(--space-l);
   border-bottom:1px solid var(--border);
   gap:var(--space-xs);
}

@media (min-width: 768px) {
   .terms-clause-section {
      grid-template-columns:80px 1fr;
      gap:var(--space-m);
   }
}

.terms-clause-num {
   font-family:var(--gona-fc1);
   font-size:var(--gona-e30);
   font-weight:500;
   color:var(--moss);
   line-height:1.1;
   padding-top:3px;
}

.terms-roci512 {
   display:flex;
   flex-direction:column;
}

.terms-clause-title {
   font-family:var(--gona-88b);
   font-size:var(--gona-1f6);
   color:var(--pine);
   text-transform:uppercase;
   margin-bottom:var(--space-xs);
   letter-spacing:0.02em;
}

.terms-clause-text {
   font-size:var(--gona-e30);
   line-height:1.65;
   color:var(--bark);
   margin-bottom:var(--space-s);
}

.terms-subclause-list {
   display:flex;
   flex-direction:column;
   gap:var(--space-xs);
   margin-top:var(--space-xs);
   padding-left:var(--space-s);
   border-left:2px solid var(--border);
}

.terms-subclause-item {
   font-size:var(--step--1);
   color:var(--bark);
}

.terms-subclause-item .subnum {
   font-family:var(--gona-fc1);
   font-weight:500;
   color:var(--pine);
   margin-right:var(--space-3xs);
}

.faq-ledger {
   margin-top:var(--space-m);
   border-top:2px solid var(--pine);
   border-bottom:1px solid var(--pine);
}

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

.faq-trigger {
   width:100%;
   display:flex;
   align-items:center;
   justify-content:space-between;
   padding:var(--space-s) 0;
   background:transparent;
   border:0;
   cursor:pointer;
   text-align:left;
   gap:var(--space-s);
   color:var(--pine);
   transition:color var(--dur-fast) var(--ease-out);
}

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

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

.faq-question {
   font-family:var(--gona-88b);
   font-size:var(--gona-889);
   text-transform:uppercase;
   letter-spacing:0.02em;
}

.faq-icon-holder {
   flex-shrink:0;
   width:32px;
   height:32px;
   display:flex;
   align-items:center;
   justify-content:center;
   border:1px solid var(--border);
   border-radius:var(--radius-sm);
   color:var(--pine);
   transition:transform var(--dur-fast) var(--ease-out),
                     background-color var(--dur-fast) var(--ease-out);
}

.faq-trigger[aria-expanded='true'] .faq-icon-holder {
   background-color:var(--pine);
   color:var(--ground);
   transform:rotate(180deg);
}

.faq-answer {
   display:none;
   padding-bottom:var(--space-s);
   font-size:var(--gona-e30);
   line-height:1.62;
   color:var(--bark);
   max-width:68ch;
}

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

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

@media (min-width: 960px) {
   .contact-layout-grid {
      grid-template-columns:1fr 1.2fr;
      gap:var(--space-2xl);
      align-items:start;
   }
}

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

.contact-detail-card {
   padding:var(--space-m);
   background-color:var(--ground-elevated);
   border:1px solid var(--border);
}

.contact-card-label {
   font-family:var(--gona-fc1);
   font-size:var(--step--2);
   text-transform:uppercase;
   letter-spacing:0.05em;
   color:var(--moss);
   margin-bottom:var(--space-3xs);
}

.contact-card-val {
   font-family:var(--gona-88b);
   font-size:var(--gona-889);
   color:var(--pine);
   text-transform:uppercase;
   margin-bottom:var(--space-2xs);
}

.contact-card-val a {
   text-decoration:none;
   color:inherit;
   transition:color var(--dur-fast) var(--ease-out);
}

.contact-card-val a:hover { color:var(--amber); }

.contact-card-sub {
   font-size:var(--step--1);
   color:var(--bark);
   line-height:1.45;
}

.error-page-panel {
   min-height:calc(100vh - var(--header-mobile-h) - 200px);
   display:flex;
   flex-direction:column;
   justify-content:center;
   padding-top:var(--space-2xl);
   padding-bottom:var(--space-2xl);
}

.error-code-huge {
   font-family:var(--gona-88b);
   font-size:clamp(5rem, 4rem + 8vw, 12rem);
   font-weight:700;
   line-height:0.85;
   color:var(--border);
   margin-bottom:var(--space-2xs);
   user-select:none;
}

.error-action-row {
   display:flex;
   flex-wrap:wrap;
   gap:var(--space-s);
   margin-top:var(--space-m);
}

.tab-nav {
   display:flex;
   flex-wrap:wrap;
   gap:var(--space-2xs);
   border-bottom:2px solid var(--pine);
   margin-bottom:var(--space-m);
}

.tab-btn {
   min-height:44px;
   padding:var(--space-2xs) var(--space-m);
   background-color:transparent;
   border:1px solid transparent;
   border-bottom:none;
   font-family:var(--gona-88b);
   font-size:var(--gona-e30);
   font-weight:600;
   letter-spacing:0.03em;
   text-transform:uppercase;
   color:var(--moss);
   cursor:pointer;
   border-radius:var(--radius-sm) var(--radius-sm) 0 0;
   transition:background-color var(--dur-fast) var(--ease-out),
                     color var(--dur-fast) var(--ease-out);
}

.tab-btn:hover {
   background-color:var(--ground-elevated);
   color:var(--pine);
}

.tab-btn:focus-visible {
   outline:2px solid var(--amber);
   outline-offset:-2px;
}

.tab-btn.is-active {
   background-color:var(--pine);
   color:var(--ground);
}

.tab-pane { display:none; }

.tab-pane.is-active { display:block; }

.spec-sheet-table {
   width:100%;
   border-collapse:collapse;
   font-size:var(--step--1);
}

.spec-sheet-table th {
   background-color:var(--ground-elevated);
   font-family:var(--gona-fc1);
   font-size:var(--step--2);
   text-transform:uppercase;
   padding:var(--space-xs) var(--space-s);
   text-align:left;
   border-bottom:1px solid var(--pine);
   color:var(--pine);
}

.spec-sheet-table td {
   padding:var(--space-xs) var(--space-s);
   border-bottom:1px solid var(--border);
   vertical-align:baseline;
}

.spec-sheet-table tr:hover td { background-color:var(--ground-elevated); }

.profile-grid {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-l);
   margin-top:var(--space-m);
}

@media (min-width: 860px) {
   .profile-grid {
      grid-template-columns:320px 1fr;
      gap:var(--space-xl);
      align-items:start;
   }
}

.profile-portrait-wrap {
   position:relative;
   border:1px solid var(--pine);
   background-color:var(--ground-elevated);
}

.profile-portrait-wrap img {
   width:100%;
   height:auto;
   aspect-ratio:4 / 5;
   object-fit:cover;
}

.profile-portrait-caption {
   padding:var(--space-xs) var(--space-s);
   background-color:var(--pine);
   color:var(--ground);
   font-family:var(--gona-fc1);
   font-size:var(--step--2);
   line-height:1.4;
}

.compliance-badge-grid {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-s);
   margin-top:var(--space-m);
}

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

@media (min-width: 960px) {
   .compliance-badge-grid { grid-template-columns:repeat(3, 1fr); }
}

.compliance-badge-card {
   padding:var(--space-m);
   background-color:var(--ground);
   border:1px solid var(--border);
   border-top:3px solid var(--pine);
}

.badge-reg-code {
   font-family:var(--gona-fc1);
   font-size:var(--step--2);
   color:var(--amber);
   margin-bottom:var(--space-3xs);
}

.badge-title {
   font-family:var(--gona-88b);
   font-size:var(--gona-e30);
   color:var(--pine);
   text-transform:uppercase;
   margin-bottom:var(--space-2xs);
}

.badge-detail {
   font-size:var(--step--1);
   color:var(--bark);
   line-height:1.45;
}
