


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


.page-section:last-of-type { border-bottom:none; }


.page-section-tight {
   padding-top:var(--space-l);
   padding-bottom:var(--space-l);
}


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


.sub-section-divider {
   margin-top:var(--space-2xl);
   padding-top:var(--space-xl);
   border-top:1px solid var(--line);
}


.section-split-2-1 {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-l);
   align-items:start;
}


.section-split-1-2 {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-l);
   align-items:start;
}


@media (min-width: 1024px) {
   .section-split-2-1 {
      grid-template-columns:minmax(0, 2fr) minmax(0, 1fr);
      gap:var(--space-xl);
   }


   .section-split-1-2 {
      grid-template-columns:minmax(0, 1fr) minmax(0, 2fr);
      gap:var(--space-xl);
   }
}


.section-header-block { margin-bottom:var(--space-m); }


.section-heading-clean {
   font-family:var(--poge-f3b);
   font-size:var(--poge-c5f);
   font-weight:800;
   line-height:1.08;
   letter-spacing:-0.035em;
   color:var(--ink);
   margin-bottom:var(--space-xs);
   text-align:left;
}


.section-standfirst {
   font-size:var(--poge-41a);
   line-height:1.55;
   color:var(--ink-soft);
   max-width:var(--max-width-reading);
   margin-bottom:0;
}



.hero-inset-opening {
   padding-top:var(--space-l);
   padding-bottom:var(--space-2xl);
   border-bottom:1px solid var(--line);
   background-color:var(--ground);
   position:relative;
}


.hero-inset-opening .container { max-width:var(--max-width-page); }


.hero-headline-wrap {
   width:100%;
   max-width:100%;
   margin-bottom:var(--space-l);
}


.hero-title {
   font-family:var(--poge-f3b);
   font-size:var(--poge-228);
   font-weight:800;
   line-height:0.98;
   letter-spacing:-0.045em;
   color:var(--ink);
   text-align:left;
   text-wrap:balance;
}


.hero-inset-opening {
   background-color:var(--ground);
   border-left:none;
}


.hero-lockup-primary {
   display:block;
   color:var(--ink);
}


.hero-lockup-offset {
   display:block;
   color:var(--ink);
}


.hero-lockup-rule {
   display:block;
   width:100%;
   max-width:420px;
   height:2px;
   background-color:var(--accent);
   margin-top:var(--space-2xs);
   margin-bottom:var(--space-xs);
   transform-origin:left center;
}


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


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


.hero-side-content {
   display:flex;
   flex-direction:column;
   justify-content:space-between;
   gap:var(--space-m);
}


.hero-lede-text {
   font-size:var(--poge-87d);
   line-height:1.5;
   color:var(--ink);
   max-width:var(--max-width-lede);
   margin-bottom:var(--space-m);
   font-weight:400;
   letter-spacing:-0.01em;
}


.hero-meta-panel {
   border-top:1px solid var(--line);
   padding-top:var(--space-s);
   display:flex;
   flex-direction:column;
   gap:0.4rem;
}


.hero-meta-label {
   color:var(--ink-soft);
   text-transform:uppercase;
}


.hero-meta-row {
   display:flex;
   align-items:baseline;
   justify-content:space-between;
   font-family:var(--poge-bc9);
   font-size:var(--step--2);
   gap:var(--space-xs);
}


.hero-meta-label {
   color:var(--ink-soft);
   text-transform:uppercase;
}


.hero-meta-value {
   color:var(--ink);
   font-weight:600;
   font-variant-numeric:tabular-nums;
   text-align:right;
}


@media (pointer: coarse) {
   a[href^='tel:'],
   a[href^='mailto:'],
   .footer-fact-val a,
   .ledger-spec a {
      min-height:44px;
      display:inline-flex;
      align-items:center;
      margin-left:0.35rem;
   }
}


.hero-action-slot { margin-top:var(--space-s); }


.hero-plate-slot {
   display:flex;
   flex-direction:column;
   gap:var(--space-2xs);
}


.hero-plate-container {
   position:relative;
   width:100%;
   aspect-ratio:16 / 10;
   background-color:var(--surface);
   border:1px solid var(--line);
   overflow:hidden;
}


.hero-plate-container img {
   width:100%;
   height:100%;
   object-fit:cover;
   object-position:70% center;
   display:block;
}


.hero-plate-caption {
   display:flex;
   align-items:baseline;
   justify-content:space-between;
   gap:var(--space-s);
   padding-top:0.35rem;
   border-top:1px solid var(--surface-2);
   font-family:var(--poge-bc9);
   font-size:var(--step--2);
   color:var(--ink-soft);
}


.hero-plate-caption span:first-child {
   font-weight:500;
   color:var(--ink);
}


/* CSS Scroll-Driven Animation Scene */
@supports (animation-timeline: scroll()) or (animation-timeline: view()) {
   @media (prefers-reduced-motion: no-preference) {
      [data-opening] [data-scene='rule'],
      [data-opening] .hero-lockup-rule {

         animation:heroRuleDraw linear both;
         animation-timeline:scroll();
         animation-range:0px 300px;
      }


      [data-opening] [data-scene='figure'],
      [data-opening] .hero-plate-container {
         animation:heroPlateReveal linear both;
         animation-timeline:scroll();
         animation-range:0px 350px;
      }
   }
}


@keyframes heroRuleDraw {
   from {
      transform:scaleX(0.08);
      opacity:0.4;
   }
   to {
      transform:scaleX(1);
      opacity:1;
   }
}


@keyframes heroPlateReveal {
   from {
      transform:translateY(24px);
      opacity:0.85;
   }
   to {
      transform:translateY(0);
      opacity:1;
   }
}



.ledger-section {
   padding-top:var(--space-xl);
   padding-bottom:var(--space-xl);
   border-bottom:1px solid var(--line);
}


.ledger-intro { margin-bottom:var(--space-m); }


.ledger-table-wrap {
   width:100%;
   border-top:2px solid var(--ink);
   border-bottom:1px solid var(--line);
   margin-top:var(--space-s);
}


#timbers {
   padding-top:var(--space-3xl);
   padding-bottom:var(--space-xl);
   background-color:var(--ground);
}


#timbers .ledger-table-wrap {
   border-top:2px solid var(--ink);
   border-bottom:1px solid var(--line);
   margin-top:var(--space-s);
   background-color:transparent;
}


#timbers .ledger-grid-row {
   padding:0.95rem 0.5rem;
   border-bottom:1px solid var(--line);
}


#timbers .ledger-grid-row:last-child { border-bottom:none; }


#timbers .ledger-key { color:var(--ink); }


.ledger-grid-row {
   display:grid;
   grid-template-columns:1fr;
   padding:0.95rem 0.5rem;
   border-bottom:1px solid var(--line);
   gap:0.5rem;
   transition:background-color var(--dur-fast) var(--ease-settle);
}


.ledger-grid-row:last-child { border-bottom:none; }


.ledger-grid-row:hover { background-color:rgba(240, 240, 240, 0.45); }


@media (min-width: 640px) {
   .ledger-grid-row {
      grid-template-columns:minmax(160px, 220px) minmax(0, 1fr);
      align-items:baseline;
      gap:var(--space-m);
   }
}


@media (min-width: 1024px) {

   .ledger-grid-row {
      grid-template-columns:minmax(200px, 260px) minmax(0, 1fr) minmax(160px, 220px);
      gap:var(--space-l);
   }
}


.ledger-key {
   font-family:var(--poge-bc9);
   font-size:var(--step--1);
   font-weight:600;
   color:var(--ink);
   letter-spacing:-0.01em;
   text-transform:uppercase;
}


.ledger-val {
   font-size:var(--poge-41a);
   color:var(--ink);
   line-height:1.5;
}


.ledger-val p:last-child { margin-bottom:0; }


.ledger-spec {
   font-family:var(--poge-bc9);
   font-size:var(--step--1);
   font-variant-numeric:tabular-nums;
   color:var(--ink-soft);
   text-align:left;
}


@media (min-width: 1024px) {
   .ledger-spec { text-align:right; }
}



.full-bleed-plate {
   width:100%;
   margin:var(--space-xl) 0;
   border-top:1px solid var(--line);
   border-bottom:1px solid var(--line);
   background-color:var(--surface);
   position:relative;
}


.full-bleed-plate-media {
   width:100%;
   overflow:hidden;
   position:relative;
   aspect-ratio:16 / 9;
}


.full-bleed-plate-media img {
   width:100%;
   height:100%;
   aspect-ratio:16 / 9;
   object-fit:cover;
   object-position:center;
   display:block;
}


.full-bleed-caption-strip {
   padding:0.65rem var(--space-s);
   background-color:var(--ground);
   border-top:1px solid var(--line);
}


@media (min-width: 768px) {
   .full-bleed-caption-strip { padding:0.65rem var(--space-m); }
}


@media (min-width: 1200px) {
   .full-bleed-caption-strip { padding:0.65rem var(--space-l); }
}


.full-bleed-caption-content {
   display:flex;
   flex-direction:column;
   gap:0.25rem;
   max-width:var(--max-width-ledger);
   margin:0 auto;
}


@media (min-width: 640px) {
   .full-bleed-caption-content {
      flex-direction:row;
      align-items:baseline;
      justify-content:space-between;
   }
}


.full-bleed-caption-title {
   font-family:var(--poge-bc9);
   font-size:var(--step--1);
   font-weight:600;
   color:var(--ink);
   text-transform:uppercase;
}


.full-bleed-caption-meta {
   font-family:var(--poge-bc9);
   font-size:var(--step--2);
   color:var(--ink-soft);
   font-variant-numeric:tabular-nums;
}



.catalogue-hero {
   padding-top:var(--space-l);
   padding-bottom:var(--space-l);
   border-bottom:1px solid var(--line);
}


.catalogue-filter-bar {
   display:flex;
   flex-wrap:wrap;
   align-items:center;
   justify-content:space-between;
   gap:var(--space-s);
   padding:var(--space-s) 0;
   border-bottom:1px solid var(--line);
   margin-bottom:var(--space-l);
}


.catalogue-counts {
   font-family:var(--poge-bc9);
   font-size:var(--step--1);
   color:var(--ink-soft);
   font-variant-numeric:tabular-nums;
}


.catalogue-item-grid {
   display:flex;
   flex-direction:column;
   gap:var(--space-xl);
}


.catalogue-row-card {
   display:grid;
   grid-template-columns:1fr;
   border:1px solid var(--line);
   background-color:var(--ground);
}


@media (min-width: 900px) {
   .catalogue-row-card {
      grid-template-columns:minmax(0, 1.15fr) minmax(0, 1.85fr);
      align-items:start;
   }
}


.catalogue-card-media {
   position:relative;
   background-color:var(--surface);
   border-bottom:1px solid var(--line);
   overflow:hidden;
   aspect-ratio:3 / 2;
}


@media (min-width: 900px) {
   .catalogue-card-media {
      border-bottom:none;
      border-right:1px solid var(--line);
      aspect-ratio:3 / 2;
   }
}


.catalogue-card-media img {
   width:100%;
   height:auto;
   aspect-ratio:3 / 2;
   object-fit:cover;
   display:block;
}


.catalogue-card-content {
   padding:var(--space-m);
   display:flex;
   flex-direction:column;
   justify-content:space-between;
   gap:var(--space-m);
}


@media (min-width: 1024px) {
   .catalogue-card-content { padding:var(--space-l); }
}


.catalogue-card-title {
   font-family:var(--poge-f3b);
   font-size:var(--poge-f35);
   font-weight:800;
   line-height:1.12;
   color:var(--ink);
   margin-bottom:var(--space-2xs);
}


.catalogue-card-desc {
   font-size:var(--poge-41a);
   line-height:1.55;
   color:var(--ink);
   margin-bottom:var(--space-s);
}


.catalogue-spec-sheet {
   width:100%;
   border-top:1px solid var(--line);
   border-bottom:1px solid var(--line);
   margin-bottom:var(--space-s);
}


.catalogue-spec-entry {
   display:flex;
   justify-content:space-between;
   align-items:baseline;
   padding:0.45rem 0;
   border-bottom:1px solid var(--surface-2);
   font-family:var(--poge-bc9);
   font-size:var(--step--1);
   gap:var(--space-s);
}


.catalogue-spec-entry:last-child { border-bottom:none; }


.catalogue-spec-entry dt {
   color:var(--ink-soft);
   text-transform:uppercase;
}


.catalogue-spec-entry dd {
   color:var(--ink);
   font-weight:500;
   font-variant-numeric:tabular-nums;
   text-align:right;
   margin:0;
}


.catalogue-card-footer {
   display:flex;
   flex-direction:column;
   gap:var(--space-s);
}


@media (min-width: 640px) {
   .catalogue-card-footer {
      flex-direction:row;
      align-items:center;
      justify-content:space-between;
   }
}


.catalogue-basis-note {
   font-family:var(--poge-bc9);
   font-size:var(--step--2);
   line-height:1.45;
   color:var(--ink-soft);
   background-color:var(--surface);
   border-left:2px solid var(--accent);
   padding:0.45rem 0.65rem;
   max-width:44ch;
}


.catalogue-card-footer .btn { flex-shrink:0; }



.workshop-hero {
   padding-top:var(--space-l);
   padding-bottom:var(--space-l);
   border-bottom:1px solid var(--line);
}


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


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


.workshop-stat-box {
   background-color:var(--surface);
   border:1px solid var(--line);
   padding:var(--space-m);
   display:flex;
   flex-direction:column;
   gap:var(--space-2xs);
}


.workshop-stat-number {
   font-family:var(--poge-f3b);
   font-size:var(--poge-a8a);
   font-weight:800;
   line-height:1;
   color:var(--accent);
}


.workshop-stat-label {
   font-family:var(--poge-bc9);
   font-size:var(--step--1);
   font-weight:600;
   color:var(--ink);
   text-transform:uppercase;
}


.workshop-stat-desc {
   font-size:var(--step--1);
   color:var(--ink-soft);
   line-height:1.45;
   margin-bottom:0;
}


.workshop-process-step {
   display:grid;
   grid-template-columns:1fr;
   border-top:1px solid var(--line);
   padding:var(--space-m) 0;
   gap:var(--space-s);
}


@media (min-width: 768px) {
   .workshop-process-step {
      grid-template-columns:180px minmax(0, 1fr);
      gap:var(--space-l);
   }
}


.step-meta-col {
   font-family:var(--poge-bc9);
   font-size:var(--step--1);
   font-weight:600;
   color:var(--accent);
   text-transform:uppercase;
   letter-spacing:0.04em;
}


.step-body-col h3 { margin-bottom:var(--space-2xs); }


.step-body-col p { margin-bottom:var(--space-xs); }



.inquiry-panel-wrap {
   background-color:var(--surface);
   border:1px solid var(--line);
   padding:var(--space-m);
   margin-top:var(--space-m);
}


@media (min-width: 768px) {
   .inquiry-panel-wrap { padding:var(--space-l); }
}


.inquiry-grid-form {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-s);
}


@media (min-width: 640px) {
   .inquiry-grid-form {
      grid-template-columns:1fr 1fr;
      gap:var(--space-m);
   }


   .form-span-2 { grid-column:span 2; }
}


.form-status-banner {
   padding:var(--space-s);
   border:1px solid var(--line);
   margin-bottom:var(--space-m);
   font-family:var(--poge-bc9);
   font-size:var(--step--1);
   display:none;
}


.form-status-banner.is-success {
   display:block;
   background-color:#f0fdf4;
   border-color:#86efac;
   color:#166534;
}


.form-status-banner.is-error {
   display:block;
   background-color:#fef2f2;
   border-color:#fca5a5;
   color:#991b1b;
}



.faq-ledger-list {
   border-top:1px solid var(--line);
   margin-top:var(--space-m);
}


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


.faq-trigger {
   width:100%;
   display:flex;
   align-items:center;
   justify-content:space-between;
   padding:1rem 0;
   background:none;
   border:none;
   font-family:var(--poge-f3b);
   font-size:var(--poge-87d);
   font-weight:700;
   color:var(--ink);
   text-align:left;
   cursor:pointer;
   gap:var(--space-s);
   transition:color var(--dur-fast) var(--ease-settle);
}


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


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


.faq-icon-holder {
   display:inline-flex;
   align-items:center;
   justify-content:center;
   width:28px;
   height:28px;
   border:1px solid var(--line);
   flex-shrink:0;
   transition:transform var(--dur-fast) var(--ease-settle),
                     background-color var(--dur-fast) var(--ease-settle);
}


.faq-trigger[aria-expanded='true'] .faq-icon-holder {
   transform:rotate(45deg);
   background-color:var(--surface);
   border-color:var(--ink);
}


.faq-content {
   padding-bottom:var(--space-m);
   display:none;
}


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


.faq-content p {
   color:var(--ink-soft);
   font-size:var(--poge-41a);
   line-height:1.6;
}



.legal-privacy-layout {
   padding-top:var(--space-xl);
   padding-bottom:var(--space-2xl);
}


.legal-privacy-grid {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-xl);
   position:relative;
}


@media (min-width: 1024px) {
   .legal-privacy-grid {
      grid-template-columns:280px minmax(0, 1fr);
      align-items:start;
   }
}


.privacy-sticky-nav-wrap { display:none; }


@media (min-width: 1024px) {
   .privacy-sticky-nav-wrap {
      display:block;
      position:sticky;
      top:calc(var(--strip-height) + 1.5rem);
      border:1px solid var(--line);
      background-color:var(--ground);
      padding:var(--space-s);
      max-height:calc(100vh - var(--strip-height) - 4rem);
      max-height:calc(100dvh - var(--strip-height) - 4rem);
      overflow-y:auto;
   }


   .privacy-nav-title {
      font-family:var(--poge-bc9);
      font-size:var(--step--1);
      font-weight:700;
      text-transform:uppercase;
      letter-spacing:0.05em;
      color:var(--ink);
      padding-bottom:var(--space-2xs);
      border-bottom:1px solid var(--line);
      margin-bottom:var(--space-xs);
   }


   .privacy-nav-list {
      display:flex;
      flex-direction:column;
      gap:0;
   }


   .privacy-nav-item { display:block; }


   .privacy-nav-link {
      display:flex;
      align-items:baseline;
      gap:0.5rem;
      padding:0.45rem 0.5rem;
      font-family:var(--poge-bc9);
      font-size:var(--step--2);
      color:var(--ink-soft);
      text-decoration:none;
      border-left:2px solid transparent;
      transition:color var(--dur-fast) var(--ease-settle),
                        border-left-color var(--dur-fast) var(--ease-settle),
                        background-color var(--dur-fast) var(--ease-settle);
   }


   .privacy-nav-link:hover {
      color:var(--ink);
      background-color:var(--surface);
   }


   .privacy-nav-link:active { background-color:var(--surface-2); }


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


   .privacy-nav-link.is-active {
      color:var(--ink);
      font-weight:600;
      border-left-color:var(--accent);
      background-color:var(--surface);
   }


   .privacy-nav-num {
      font-weight:600;
      color:var(--accent);
   }
}


.privacy-mobile-jump {
   display:block;
   margin-bottom:var(--space-m);
   border:1px solid var(--line);
   background-color:var(--surface);
   padding:var(--space-s);
}


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


.privacy-jump-select {
   width:100%;
   padding:0.65rem 0.75rem;
   font-family:var(--poge-bc9);
   font-size:16px;
   background-color:var(--ground);
   color:var(--ink);
   border:1px solid var(--line);
}


@media (max-width: 48rem) {
   .privacy-jump-select,
   select#privacy-jump { font-size:max(16px, 1rem); }
}


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


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


.privacy-numbered-section:last-child { border-bottom:none; }


.privacy-section-badge {
   display:inline-flex;
   align-items:center;
   gap:0.35rem;
   font-family:var(--poge-bc9);
   font-size:var(--step--2);
   font-weight:700;
   text-transform:uppercase;
   letter-spacing:0.05em;
   color:var(--accent);
   margin-bottom:var(--space-2xs);
}


.privacy-numbered-section h2 {
   font-size:var(--poge-f35);
   margin-bottom:var(--space-xs);
}


.privacy-numbered-section p {
   color:var(--ink);
   font-size:var(--poge-41a);
   line-height:1.62;
}


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


.privacy-data-table {
   width:100%;
   border-collapse:collapse;
   font-size:var(--step--1);
   min-width:540px;
}


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


.privacy-data-table th:last-child,
.privacy-data-table td:last-child { border-right:none; }


.privacy-data-table th {
   background-color:var(--surface);
   font-family:var(--poge-bc9);
   font-size:var(--step--2);
   font-weight:600;
   text-transform:uppercase;
   color:var(--ink);
}


.privacy-data-table td { background-color:var(--ground); }


.privacy-data-table code {
   font-family:var(--poge-bc9);
   font-size:0.9em;
   background-color:var(--surface);
   padding:0.1rem 0.3rem;
   border:1px solid var(--line);
}



.legal-cookies-layout {
   padding-top:var(--space-xl);
   padding-bottom:var(--space-2xl);
}


.cookies-article-header {
   border-bottom:2px solid var(--ink);
   padding-bottom:var(--space-m);
   margin-bottom:var(--space-xl);
}


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


.cookies-block {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-s);
   border-bottom:1px solid var(--surface-2);
   padding-bottom:var(--space-l);
}


@media (min-width: 860px) {
   .cookies-block {
      grid-template-columns:minmax(0, 1fr) 260px;
      gap:var(--space-l);
      align-items:start;
   }
}


.cookies-main-text { max-width:var(--max-width-reading); }


.cookies-main-text h2 {
   font-size:var(--poge-f35);
   margin-bottom:var(--space-xs);
}


.cookies-main-text p { margin-bottom:var(--space-s); }


.cookies-main-text p:last-child { margin-bottom:0; }


.cookies-margin-note {
   background-color:var(--surface);
   border-left:2px solid var(--accent);
   border-top:1px solid var(--line);
   border-bottom:1px solid var(--line);
   border-right:1px solid var(--line);
   padding:0.65rem 0.85rem;
   display:flex;
   flex-direction:column;
   gap:0.35rem;
   font-family:var(--poge-bc9);
   font-size:var(--step--2);
   line-height:1.45;
   color:var(--ink-soft);
}


@media (max-width: 859px) {
   .cookies-margin-note { margin-top:var(--space-xs); }
}


.cookies-margin-note strong {
   color:var(--ink);
   font-weight:600;
   text-transform:uppercase;
   letter-spacing:0.02em;
}


.cookies-margin-note code {
   font-size:0.95em;
   color:var(--ink);
   background-color:var(--ground);
   padding:0.1rem 0.25rem;
   border:1px solid var(--line);
}


.cookies-signals-table-wrap {
   width:100%;
   overflow-x:auto;
   border:1px solid var(--line);
   margin-top:var(--space-s);
}


.cookies-signals-table {
   width:100%;
   border-collapse:collapse;
   font-size:var(--step--1);
   min-width:540px;
}


.cookies-signals-table th,
.cookies-signals-table td {
   padding:0.65rem 0.85rem;
   border-bottom:1px solid var(--line);
   border-right:1px solid var(--line);
   text-align:left;
}


.cookies-signals-table th:last-child,
.cookies-signals-table td:last-child { border-right:none; }


.cookies-signals-table th {
   background-color:var(--surface);
   font-family:var(--poge-bc9);
   font-size:var(--step--2);
   font-weight:600;
   text-transform:uppercase;
}



.legal-terms-layout {
   padding-top:var(--space-xl);
   padding-bottom:var(--space-2xl);
}


.terms-header-block {
   border-bottom:2px solid var(--ink);
   padding-bottom:var(--space-m);
   margin-bottom:var(--space-l);
}


.terms-ledger-table-wrap {
   width:100%;
   margin-top:var(--space-m);
   margin-bottom:var(--space-xl);
}


/* Desk: table layout */
@media (min-width: 840px) {
   .terms-clause-table {
      display:table;
      width:100%;
      border-collapse:collapse;
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
   }


   .terms-clause-thead {
      display:table-header-group;
      background-color:var(--surface);
      border-bottom:2px solid var(--ink);
   }


   .terms-clause-tbody { display:table-row-group; }


   .terms-clause-tr {
      display:table-row;
      border-bottom:1px solid var(--line);
      transition:background-color var(--dur-fast) var(--ease-settle);
   }


   .terms-clause-tr:hover { background-color:rgba(240, 240, 240, 0.4); }


   .terms-clause-th {
      display:table-cell;
      padding:0.75rem 1rem;
      font-family:var(--poge-bc9);
      font-size:var(--step--1);
      font-weight:600;
      text-transform:uppercase;
      color:var(--ink);
      text-align:left;
      border-right:1px solid var(--line);
   }


   .terms-clause-th:last-child { border-right:none; }


   .terms-clause-td {
      display:table-cell;
      padding:1rem;
      font-size:var(--step--1);
      line-height:1.5;
      color:var(--ink);
      vertical-align:top;
      border-right:1px solid var(--line);
   }


   .terms-clause-td:last-child { border-right:none; }


   .terms-clause-td-num {
      width:220px;
      font-family:var(--poge-bc9);
      font-weight:600;
      color:var(--ink);
   }


   .terms-clause-td-plain { width:auto; }


   .terms-clause-td-why {
      width:280px;
      color:var(--ink-soft);
      font-size:var(--step--2);
   }
}


@media (max-width: 839px) {
   .terms-clause-table {
      display:block;
      width:100%;
      border:none;
   }


   .terms-clause-thead { display:none; }


   .terms-clause-tbody {
      display:flex;
      flex-direction:column;
      gap:var(--space-m);
      width:100%;
   }


   .terms-clause-tr {
      display:flex;
      flex-direction:column;
      border:1px solid var(--line);
      background-color:var(--ground);
      padding:var(--space-s);
      gap:var(--space-2xs);
      width:100%;
      box-sizing:border-box;
   }


   .terms-clause-td {
      display:block;
      padding:0.25rem 0;
      width:100%;
      box-sizing:border-box;
      word-break:break-word;
   }


   .terms-clause-td-num {
      font-family:var(--poge-bc9);
      font-size:var(--step--1);
      font-weight:700;
      color:var(--accent);
      text-transform:uppercase;
      border-bottom:1px solid var(--surface-2);
      padding-bottom:0.35rem;
      margin-bottom:0.25rem;
   }


   .terms-clause-td-plain::before {
      content:'Plain Terms: ';
      font-family:var(--poge-bc9);
      font-size:var(--step--2);
      font-weight:600;
      text-transform:uppercase;
      color:var(--ink-soft);
      display:block;
      margin-bottom:0.15rem;
   }


   .terms-clause-td-why {
      background-color:var(--surface);
      padding:0.5rem;
      margin-top:0.35rem;
      border-left:2px solid var(--line);
      font-size:var(--step--2);
      color:var(--ink-soft);
   }


   .terms-clause-td-why::before {
      content:'Application Reason: ';
      font-family:var(--poge-bc9);
      font-size:var(--step--2);
      font-weight:600;
      text-transform:uppercase;
      color:var(--ink);
      display:block;
      margin-bottom:0.15rem;
   }
}


.terms-folded-section {
   padding-top:var(--space-xl);
   padding-bottom:var(--space-xl);
   border-top:2px solid var(--line);
   scroll-margin-top:calc(var(--strip-height) + 2rem);
}


.terms-folded-section h2 {
   font-size:var(--poge-f35);
   margin-bottom:var(--space-xs);
}


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


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


.warranty-box {
   border:1px solid var(--line);
   background-color:var(--surface);
   padding:var(--space-m);
}


.warranty-box-covered { border-top:3px solid #166534; }


.warranty-box-void { border-top:3px solid #991b1b; }


.warranty-box-title {
   font-family:var(--poge-bc9);
   font-size:var(--step--1);
   font-weight:700;
   text-transform:uppercase;
   margin-bottom:var(--space-xs);
   display:flex;
   align-items:center;
   gap:0.35rem;
}


.warranty-box-covered .warranty-box-title { color:#166534; }


.warranty-box-void .warranty-box-title { color:#991b1b; }


.warranty-box ul {
   list-style:square;
   padding-left:1.25rem;
   font-size:var(--step--1);
   color:var(--ink);
}


.warranty-box li { margin-bottom:0.45rem; }



.error-page-wrap {
   padding:var(--space-2xl) 0;
   min-height:60vh;
   display:flex;
   align-items:center;
}


.error-content-box {
   max-width:620px;
   border-left:3px solid var(--accent);
   padding-left:var(--space-m);
}


.error-code-label {
   font-family:var(--poge-bc9);
   font-size:var(--poge-a8a);
   font-weight:800;
   color:var(--accent);
   line-height:1;
   margin-bottom:var(--space-2xs);
}


.error-title {
   font-size:var(--poge-c5f);
   margin-bottom:var(--space-s);
}


.error-text {
   font-size:var(--poge-41a);
   color:var(--ink-soft);
   margin-bottom:var(--space-m);
}


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