
.hero-inset-plate {
   position: relative;
   width: 100%;
   padding-top: var(--space-xl);
   padding-bottom: var(--space-2xl);
   overflow: hidden;
}

.hero-inset-plate__headline-wrap {
   width: 100%;
   margin-bottom: var(--space-lg);
}

.hero-inset-plate__h1 {
   font-family: var(--sopi-ff7);
   font-size: var(--fs-hero);
   font-weight: 900;
   line-height: var(--lh-tight);
   color: var(--ink);
   letter-spacing: -0.02em;
   max-width: 18ch;
   text-transform: uppercase;
   view-transition-name: hero-title;
}

.hero-inset-plate__grid {
   display: flex;
   flex-direction: column;
   gap: var(--space-lg);
}

@media (min-width: 960px) {
   .hero-inset-plate__grid {
      display: grid;
      grid-template-columns: 1.15fr 2fr;
      align-items: start;
      gap: var(--space-xl);
   }
}

.hero-inset-plate__lede-col {
   display: flex;
   flex-direction: column;
   gap: var(--space-md);
   order: 2;
}

@media (min-width: 960px) {
   .hero-inset-plate__lede-col {
      order: 1;
      padding-top: var(--space-sm);
   }
}

.hero-inset-plate__lede-col .lede {
   font-size: var(--fs-body-lead);
   line-height: var(--lh-relaxed);
   color: var(--ink);
   max-width: 48ch;
}

.hero-inset-plate__meta {
   display: flex;
   flex-direction: column;
   gap: var(--space-2xs);
   padding-top: var(--space-xs);
   border-top: 1px solid var(--line);
   font-family: var(--sopi-0b0);
   font-size: 0.84rem;
   color: var(--ink-soft);
}

.hero-inset-plate__meta-item strong {
   color: var(--ink);
   font-weight: 600;
}

.hero-inset-plate__action { margin-top: var(--space-xs); }

.hero-inset-plate__plate-col {
   order: 1;
   position: relative;
}

@media (min-width: 960px) {
   .hero-inset-plate__plate-col { order: 2; }
}

.hero-plate-figure {
   margin: 0;
   position: relative;
   background-color: var(--surface);
   border: 1px solid var(--line);
   box-shadow: 0 8px 30px rgba(44, 40, 33, 0.08);
   view-transition-name: hero;
   display: flex;
   flex-direction: column;
}

.hero-plate-figure picture {
   height: auto !important;
   flex: 0 0 auto;
}

.hero-plate-figure__img {
   width: 100%;
   aspect-ratio: 16 / 10;
   object-fit: cover;
   object-position: 72% 38%;
   display: block;
}

.hero-plate-figure figcaption {
   padding: var(--space-2xs) var(--space-sm);
   background-color: var(--surface);
   border-top: 1px solid var(--line);
   font-family: var(--sopi-0b0);
   font-size: 0.78rem;
   color: var(--ink-soft);
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: var(--space-2xs);
}

.hero-plate-figure figcaption span.tag {
   color: var(--accent);
   font-weight: 600;
   text-transform: uppercase;
}

.editorial-section {
   padding-top: var(--space-2xl);
   padding-bottom: var(--space-2xl);
   position: relative;
}

.editorial-section--surface {
   background-color: var(--surface);
   border-top: 1px solid var(--line);
   border-bottom: 1px solid var(--line);
}

.editorial-statement-title {
   font-family: var(--sopi-ff7);
   font-size: clamp(1.85rem, 3.2vw + 0.6rem, 2.75rem);
   font-weight: 900;
   line-height: 1.12;
   letter-spacing: -0.01em;
   color: var(--ink);
   margin-bottom: var(--space-md);
   max-width: 28ch;
   text-wrap: balance;
}

.editorial-statement-title--sub {
   font-size: clamp(1.4rem, 2.2vw + 0.4rem, 2.1rem);
   font-weight: 800;
   margin-bottom: var(--space-sm);
   max-width: 32ch;
}

.editorial-statement-lede {
   font-size: var(--fs-body-lead);
   line-height: var(--lh-relaxed);
   color: var(--ink);
   max-width: var(--measure-body);
   margin-bottom: var(--space-md);
}

.editorial-prose {
   font-size: var(--fs-body);
   line-height: var(--lh-body);
   color: var(--ink);
   max-width: var(--measure-body);
   display: flex;
   flex-direction: column;
   gap: var(--space-sm);
}

.editorial-prose strong {
   color: var(--ink);
   font-weight: 600;
}

.editorial-breakout-plate {
   margin: var(--space-xl) 0;
   border: 1px solid var(--line);
   background-color: var(--surface);
   position: relative;
   display: flex;
   flex-direction: column;
}

.editorial-breakout-plate picture {
   height: auto !important;
   flex: 0 0 auto;
}

.editorial-breakout-plate__img {
   width: 100%;
   aspect-ratio: 16 / 9;
   max-height: 520px;
   object-fit: cover;
   display: block;
}

.editorial-breakout-plate figcaption {
   padding: var(--space-xs) var(--space-sm);
   background-color: var(--surface);
   border-top: 1px solid var(--line);
   font-family: var(--sopi-0b0);
   font-size: 0.8rem;
   color: var(--ink-soft);
   display: flex;

   justify-content: space-between;
   align-items: center;
   flex-wrap: wrap;
   gap: var(--space-2xs);
}

.pull-quote-editorial {
   margin: var(--space-xl) 0;
   padding: var(--space-lg);
   background-color: var(--surface-2);
   border-left: 4px solid var(--accent);
   color: var(--ink);
}

.pull-quote-editorial__quote {
   font-family: var(--sopi-a52);
   font-style: italic;
   font-size: clamp(1.2rem, 1.8vw + 0.5rem, 1.6rem);
   line-height: 1.4;
   margin-bottom: var(--space-xs);
   max-width: 45ch;
}

.pull-quote-editorial__cite {
   font-family: var(--sopi-0b0);
   font-size: 0.82rem;
   font-style: normal;
   color: var(--ink-soft);
   display: block;
   text-transform: uppercase;
   letter-spacing: 0.05em;
}

.services-ledger-grid {
   display: flex;
   flex-direction: column;
   gap: var(--space-2xl);
   margin-top: var(--space-xl);
}

.service-ledger-row {
   border-top: 2px solid var(--ink);
   padding-top: var(--space-lg);
   display: flex;
   flex-direction: column;
   gap: var(--space-md);
}

@media (min-width: 960px) {
   .service-ledger-row {
      display: grid;
      grid-template-columns: 1.2fr 1fr;
      gap: var(--space-xl);
      align-items: start;
   }
}

.service-ledger-header {

   display: flex;
   flex-direction: column;
   gap: var(--space-2xs);
}

.service-ledger-header__title {
   font-family: var(--sopi-ff7);
   font-size: clamp(1.6rem, 2.5vw + 0.5rem, 2.3rem);
   font-weight: 900;
   text-transform: uppercase;
   color: var(--ink);
   letter-spacing: -0.01em;
}

.service-ledger-header__pricing {
   font-family: var(--sopi-0b0);
   font-size: 1.15rem;
   font-weight: 600;
   color: var(--accent);
   background-color: var(--surface-2);
   padding: var(--space-2xs) var(--space-xs);
   display: inline-block;
   align-self: flex-start;
   border: 1px solid var(--line);
}

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

.service-ledger-figure__img {
   width: 100%;
   aspect-ratio: 16 / 10;
   object-fit: cover;
   display: block;
}

.service-ledger-figure figcaption {
   padding: var(--space-2xs) var(--space-xs);
   background-color: var(--surface);
   border-top: 1px solid var(--line);
   font-family: var(--sopi-0b0);
   font-size: 0.76rem;
   color: var(--ink-soft);
}

.service-ledger-specs {
   display: flex;
   flex-direction: column;
   gap: var(--space-xs);
   margin-top: var(--space-sm);
}

.service-spec-item {
   display: flex;
   justify-content: space-between;
   padding: var(--space-2xs) 0;
   border-bottom: 1px solid var(--line);
   font-size: 0.9rem;

}

.service-spec-item__label {
   font-family: var(--sopi-ff7);
   font-weight: 800;
   text-transform: uppercase;
   letter-spacing: 0.03em;
   color: var(--ink-soft);
}

.service-spec-item__val {
   font-family: var(--sopi-0b0);
   font-weight: 600;
   color: var(--ink);
   text-align: right;
}

.estimator-container {
   background-color: var(--surface);
   border: 2px solid var(--ink);
   padding: var(--space-lg) var(--container-pad);
   margin: var(--space-xl) 0;
   position: relative;
   box-shadow: 0 12px 36px rgba(44, 40, 33, 0.09);
}

.estimator-header {
   border-bottom: 1px solid var(--line);
   padding-bottom: var(--space-sm);
   margin-bottom: var(--space-lg);
}

.estimator-header__h2 {
   font-family: var(--sopi-ff7);
   font-size: clamp(1.5rem, 2.4vw + 0.5rem, 2.2rem);
   font-weight: 900;
   text-transform: uppercase;
   color: var(--ink);
}

.estimator-header__sub {
   font-family: var(--sopi-a52);
   font-size: 0.94rem;
   color: var(--ink-soft);
   margin-top: var(--space-3xs);
}

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

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

.estimator-controls {
   display: flex;
   flex-direction: column;
   gap: var(--space-md);
}

.estimator-control-row {
   display: flex;
   flex-direction: column;
   gap: var(--space-3xs);
}

.estimator-control-row label {
   font-family: var(--sopi-ff7);
   font-size: 1rem;
   font-weight: 800;
   text-transform: uppercase;
   letter-spacing: 0.03em;
   color: var(--ink);
   display: flex;
   justify-content: space-between;
}

.estimator-slider-wrap {
   display: flex;
   flex-direction: column;
   gap: var(--space-2xs);
}

.estimator-slider-wrap input[type="range"] {
   -webkit-appearance: none;
   appearance: none;
   width: 100%;
   height: 8px;
   background-color: var(--surface-2);
   outline: none;
   border: 1px solid var(--line);
   cursor: pointer;
}

.estimator-slider-wrap input[type="range"]::-webkit-slider-thumb {
   -webkit-appearance: none;
   appearance: none;
   width: 22px;
   height: 22px;
   background-color: var(--accent);
   border: 2px solid var(--ink);
   cursor: pointer;
   transition: transform var(--dur-fast) var(--ease-out);
}

.estimator-slider-wrap input[type="range"]::-webkit-slider-thumb:hover { transform: scale(1.15); }

.estimator-slider-wrap input[type="range"]::-moz-range-thumb {
   width: 22px;
   height: 22px;
   background-color: var(--accent);
   border: 2px solid var(--ink);
   cursor: pointer;
   border-radius: 0;
}

.estimator-radio-group {
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-2xs);
}

@media (min-width: 480px) {
   .estimator-radio-group { grid-template-columns: 1fr 1fr; }
}

.estimator-radio-label {
   display: flex;
   align-items: center;
   gap: var(--space-xs);
   padding: var(--space-xs) var(--space-sm);
   background-color: var(--ground);
   border: 1px solid var(--line);
   cursor: pointer;
   font-size: 0.88rem;
   font-weight: 600;
   color: var(--ink);
   transition: border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);
}

.estimator-radio-label:hover {
   border-color: var(--ink);
   background-color: #FFF;
}

.estimator-radio-label input[type="radio"] {
   appearance: none;
   -webkit-appearance: none;
   width: 18px;
   height: 18px;
   border: 2px solid var(--line);
   border-radius: 50%;
   margin: 0;
   cursor: pointer;
   display: grid;
   place-content: center;
   transition: border-color var(--dur-fast) var(--ease-out);
}

.estimator-radio-label input[type="radio"]:checked { border-color: var(--accent); }

.estimator-radio-label input[type="radio"]:checked::before {
   content: "";
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background-color: var(--accent);
}

.estimator-display-card {
   background-color: var(--ground);
   border: 2px solid var(--ink);
   padding: var(--space-lg);
   display: flex;
   flex-direction: column;
   gap: var(--space-sm);
   position: relative;
}

.estimator-display-card__tag {
   font-family: var(--sopi-ff7);
   font-size: 0.85rem;
   font-weight: 800;
   text-transform: uppercase;
   letter-spacing: 0.05em;
   color: var(--accent);
}

.estimator-display-card__output {
   font-family: var(--sopi-0b0);
   font-size: clamp(2rem, 3.4vw + 0.8rem, 3rem);
   font-weight: 600;
   color: var(--ink);
   line-height: 1.05;
   letter-spacing: -0.02em;
}

.estimator-display-card__note {
   font-size: 0.86rem;
   line-height: 1.5;
   color: var(--ink-soft);
   border-top: 1px solid var(--line);
   padding-top: var(--space-xs);
}

.estimator-display-card__breakdown {
   list-style: none;
   display: flex;
   flex-direction: column;
   gap: var(--space-2xs);
   font-family: var(--sopi-0b0);
   font-size: 0.8rem;
   color: var(--ink-soft);
   background-color: var(--surface);
   padding: var(--space-xs);
   border: 1px solid var(--line);
}

.estimator-display-card__breakdown li {
   display: flex;
   justify-content: space-between;
}

.privacy-page {
   position: relative;
   padding-bottom: var(--space-3xl);
}

.pinned-chips-bar {
   position: sticky;
   top: var(--header-h-desk);
   z-index: 40;
   background-color: var(--ground);
   border-bottom: 1px solid var(--line);
   padding: var(--space-xs) 0;
   box-shadow: 0 4px 12px rgba(44, 40, 33, 0.04);
}

@media (max-width: 959px) {
   .pinned-chips-bar { top: 0; }
}

.pinned-chips-nav {
   display: flex;
   align-items: center;
   gap: var(--space-2xs);
   overflow-x: auto;
   scrollbar-width: thin;
   padding-bottom: 2px;
   -webkit-overflow-scrolling: touch;
}

.pinned-chips-nav::-webkit-scrollbar { height: 4px; }

.pinned-chips-nav::-webkit-scrollbar-thumb { background-color: var(--line); }

.privacy-section-block {
   padding-top: var(--space-2xl);
   padding-bottom: var(--space-xl);
   border-bottom: 1px solid var(--line);
   scroll-margin-top: calc(var(--header-h-desk) + 60px);
}

@media (max-width: 959px) {
   .privacy-section-block { scroll-margin-top: 70px; }
}

.privacy-standfirst {
   font-family: var(--sopi-a52);
   font-size: var(--fs-body-lead);
   font-weight: 600;
   color: var(--ink);
   line-height: 1.45;
   margin-bottom: var(--space-md);
   padding-left: var(--space-sm);
   border-left: 3px solid var(--accent);
   max-width: var(--measure-body);
}

.privacy-section-body {
   font-size: var(--fs-body);
   line-height: var(--lh-body);
   color: var(--ink);
   max-width: var(--measure-body);
   display: flex;
   flex-direction: column;
   gap: var(--space-sm);
}

.data-table-wrap {
   width: 100%;
   overflow-x: auto;
   margin: var(--space-md) 0;
   border: 1px solid var(--line);
}

.data-table {
   width: 100%;
   border-collapse: collapse;
   font-size: 0.9rem;
   background-color: var(--surface);
}

.data-table th,
.data-table td {
   padding: var(--space-xs) var(--space-sm);
   text-align: left;
   border-bottom: 1px solid var(--line);
   vertical-align: top;
}

.data-table th {
   background-color: var(--surface-2);
   font-family: var(--sopi-ff7);
   font-weight: 800;
   text-transform: uppercase;
   letter-spacing: 0.04em;
   color: var(--ink);
}

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

.data-table code {
   font-family: var(--sopi-0b0);
   background-color: var(--surface-2);
   padding: 1px 4px;
   font-size: 0.85em;
   border: 1px solid var(--line);
}

.cookies-page {
   padding-top: var(--space-xl);
   padding-bottom: var(--space-3xl);
}

.cookies-toolbar {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: space-between;
   gap: var(--space-sm);
   margin-bottom: var(--space-lg);
   padding: var(--space-xs) var(--space-sm);
   background-color: var(--surface);
   border: 1px solid var(--line);
}

.cookies-toolbar__actions {
   display: flex;
   gap: var(--space-2xs);
}

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

.disclosure-block {
   border: 1px solid var(--line);
   background-color: var(--surface);
   transition: border-color var(--dur-fast) var(--ease-out);
}

.disclosure-block[open] { border-color: var(--ink); }

.disclosure-summary {
   list-style: none;
   padding: var(--space-sm) var(--space-md);
   cursor: pointer;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: var(--space-sm);
   font-family: var(--sopi-ff7);
   font-size: 1.25rem;
   font-weight: 800;
   text-transform: uppercase;
   color: var(--ink);
   letter-spacing: 0.02em;
   user-select: none;
   background-color: var(--surface);
   transition: background-color var(--dur-fast) var(--ease-out);
}

.disclosure-summary::-webkit-details-marker { display: none; }

.disclosure-summary:hover { background-color: var(--surface-2); }

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

.disclosure-summary__icon {
   width: 1.25rem;
   height: 1.25rem;
   transition: transform var(--dur-base) var(--ease-out);
   flex-shrink: 0;
}

.disclosure-block[open] .disclosure-summary__icon { transform: rotate(180deg); }

.disclosure-content {
   padding: var(--space-md);
   border-top: 1px solid var(--line);
   background-color: var(--ground);
   font-size: var(--fs-body);
   line-height: var(--lh-body);
   color: var(--ink);
   display: flex;
   flex-direction: column;
   gap: var(--space-sm);
}

.disclosure-content p { max-width: var(--measure-body); }

.terms-page {
   padding-top: var(--space-xl);
   padding-bottom: var(--space-3xl);
}

.clause-ledger-wrap {
   margin: var(--space-xl) 0;
   border: 2px solid var(--ink);
   background-color: var(--surface);
}

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

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

   .clause-ledger-table tr {
      display: table-row;
      border-bottom: 1px solid var(--line);
   }

   .clause-ledger-table th,
   .clause-ledger-table td {
      display: table-cell;
      padding: var(--space-sm);
      text-align: left;
      vertical-align: top;
   }

   .clause-ledger-table th {
      background-color: var(--surface-2);
      font-family: var(--sopi-ff7);
      font-size: 1rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: var(--ink);
      border-bottom: 2px solid var(--ink);
   }

   .clause-ledger-col-id {
      width: 24%;
      font-family: var(--sopi-ff7);
      font-weight: 800;
      font-size: 1.15rem;
   }

   .clause-ledger-col-plain {
      width: 44%;
      font-family: var(--sopi-a52);
      font-size: 0.95rem;
      line-height: 1.5;
   }

   .clause-ledger-col-why {
      width: 32%;
      font-family: var(--sopi-0b0);
      font-size: 0.82rem;
      line-height: 1.45;
      color: var(--ink-soft);
   }
}

@media (max-width: 767px) {
   .clause-ledger-table thead { display: none; }

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

   .clause-ledger-table tr {
      padding: var(--space-md);
      border-bottom: 2px solid var(--line);
      background-color: var(--surface);
   }

   .clause-ledger-table tr:nth-child(even) { background-color: var(--surface-2); }

   .clause-ledger-table td {
      padding: var(--space-2xs) 0;
      border: 0;
   }

   .clause-ledger-col-id {
      font-family: var(--sopi-ff7);
      font-size: 1.3rem;
      font-weight: 900;
      text-transform: uppercase;
      color: var(--ink);
      margin-bottom: var(--space-2xs);
      border-bottom: 1px solid var(--line);
      padding-bottom: var(--space-2xs);
   }

   .clause-ledger-col-plain::before {
      content: "Plain Meaning: ";
      font-family: var(--sopi-ff7);
      font-weight: 800;
      text-transform: uppercase;
      color: var(--ink-soft);
      display: block;
      font-size: 0.8rem;
      margin-bottom: 2px;
   }

   .clause-ledger-col-plain {
      font-size: 0.95rem;
      line-height: 1.45;
      margin-bottom: var(--space-xs);
   }

   .clause-ledger-col-why::before {
      content: "Statutory / Technical Basis: ";
      font-family: var(--sopi-0b0);
      font-weight: 700;
      color: var(--accent);
      display: block;
      font-size: 0.74rem;
      text-transform: uppercase;
      margin-bottom: 2px;
   }

   .clause-ledger-col-why {
      font-family: var(--sopi-0b0);
      font-size: 0.82rem;
      line-height: 1.4;
      color: var(--ink-soft);
      background-color: var(--ground);
      padding: var(--space-2xs) var(--space-xs);
      border: 1px solid var(--line);
   }
}

.contact-grid {
   display: flex;
   flex-direction: column;
   gap: var(--space-xl);
   margin-top: var(--space-lg);
}

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

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

.contact-card-fact {
   background-color: var(--surface);
   border: 1px solid var(--line);
   padding: var(--space-md);
   display: flex;
   flex-direction: column;
   gap: var(--space-2xs);
}

.contact-card-fact__label {
   font-family: var(--sopi-ff7);
   font-size: 0.85rem;
   font-weight: 800;
   text-transform: uppercase;
   letter-spacing: 0.05em;
   color: var(--accent);
}

.contact-card-fact__val {
   font-size: 1.15rem;
   color: var(--ink);
   font-weight: 600;
}

.contact-card-fact__val a {
   font-family: var(--sopi-0b0);
   text-decoration: none;
}

.contact-card-fact__val a:hover { color: var(--accent); }

.contact-form-panel {
   background-color: var(--surface);
   border: 2px solid var(--ink);
   padding: var(--space-lg) var(--container-pad);
   position: relative;
}

.contact-form-panel__title {
   font-family: var(--sopi-ff7);
   font-size: clamp(1.4rem, 2.2vw + 0.5rem, 2rem);
   font-weight: 900;
   text-transform: uppercase;
   color: var(--ink);
   margin-bottom: var(--space-xs);
}

.contact-form-panel__desc {
   font-size: 0.92rem;
   color: var(--ink-soft);
   margin-bottom: var(--space-md);
   line-height: 1.45;
}

.standards-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-md);
   margin: var(--space-lg) 0;
}

@media (min-width: 680px) {
   .standards-grid { grid-template-columns: 1fr 1fr; }
}

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

.standard-tile__h3 {
   font-family: var(--sopi-ff7);
   font-size: 1.25rem;
   font-weight: 900;
   text-transform: uppercase;
   color: var(--ink);
}

.standard-tile__body {
   font-size: 0.92rem;
   line-height: 1.5;
   color: var(--ink-soft);
}

.faq-accordion {
   display: flex;
   flex-direction: column;
   gap: var(--space-xs);
   margin: var(--space-lg) 0;
}

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

.faq-item[open] { border-color: var(--ink); }

.faq-trigger {
   list-style: none;
   padding: var(--space-sm) var(--space-md);
   font-family: var(--sopi-ff7);
   font-size: 1.18rem;
   font-weight: 800;
   text-transform: uppercase;
   letter-spacing: 0.02em;
   color: var(--ink);
   cursor: pointer;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: var(--space-sm);
   background-color: var(--surface);
   transition: background-color var(--dur-fast) var(--ease-out);
}

.faq-trigger::-webkit-details-marker { display: none; }

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

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

.faq-panel {
   padding: var(--space-sm) var(--space-md) var(--space-md);
   border-top: 1px solid var(--line);
   background-color: var(--ground);
   font-size: var(--fs-body);
   line-height: var(--lh-body);
   color: var(--ink);
}

.error-plate {
   padding: var(--space-3xl) 0;
   text-align: center;
   display: flex;
   flex-direction: column;
   align-items: center;
}

.error-code {
   font-family: var(--sopi-ff7);
   font-size: clamp(4rem, 12vw, 8rem);
   font-weight: 900;
   line-height: 1;
   color: var(--accent);
   letter-spacing: -0.02em;
}

.error-title {
   font-family: var(--sopi-ff7);
   font-size: clamp(1.8rem, 3.2vw + 0.6rem, 2.8rem);
   font-weight: 900;
   text-transform: uppercase;
   margin: var(--space-xs) 0 var(--space-md);
}

.error-desc {
   max-width: 48ch;
   margin-bottom: var(--space-lg);
   color: var(--ink-soft);
}

@media print {
   .site-header,
   .mobile-dock,
   .drawer-panel,
   .chat-launcher,
   .chat-panel,
   .cookie-banner,
   .cookies-toolbar,
   .pinned-chips-bar,
   .btn { display: none !important; }

   body {
      background-color: #FFF !important;
      color: #000 !important;
      padding-bottom: 0 !important;
   }

   .disclosure-block { border: 1px solid #CCC !important; }

   .disclosure-block details,
   .disclosure-block[open] { display: block !important; }

   .disclosure-content { display: block !important; }
}
