.hero-tight {
   position: relative;
   width: 100%;
   min-height: calc(100vh - 4.5rem);
   min-height: calc(100svh - 4.5rem);
   background-color: var(--ground);
   border-bottom: 1px solid var(--line);
   display: flex;
   flex-direction: column;
}


@media (min-width: 1024px) {
   .hero-tight {
      height: auto;
      min-height: 100vh;
      min-height: 100svh;
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: center;
   }
}


.hero-tight__content {
   display: flex;
   flex-direction: column;
   justify-content: center;
   padding: var(--space-2xl) var(--space-md);
   position: relative;
   z-index: 2;
   background-color: var(--ground);
}


@media (min-width: 768px) {
   .hero-tight__content { padding: var(--space-3xl) var(--space-xl); }
}


@media (min-width: 1024px) {
   .hero-tight__content {
      padding: var(--space-4xl) var(--space-2xl);
      height: 100%;
      min-height: 100%;
      overflow: hidden;

   }
}


.hero-tight__badge {
   font-family: var(--paco-88d);
   font-size: var(--text-xs);
   letter-spacing: 0.12em;
   text-transform: uppercase;
   color: var(--accent);
   margin-bottom: var(--space-md);
   display: inline-block;
}


.hero-tight__title {
   font-family: var(--paco-5c9);
   font-size: clamp(2.35rem, 1.95rem + 2.8vw, 4.75rem);
   font-weight: 700;
   line-height: 1.05;
   letter-spacing: -0.04em;
   color: var(--ink);
   margin-bottom: var(--space-xs);
   text-wrap: balance;
}


.hero-tight__drawn-line {
   width: 100%;
   max-width: 380px;
   margin-bottom: var(--space-md);
}


.drawn-line-svg {
   width: 100%;
   height: 44px;

   display: block;
}


.drawn-line-path {
   stroke-dasharray: 450;
   stroke-dashoffset: 0;
   animation: drawStroke 1.4s ease-out forwards;
}


.drawn-line-stem {
   stroke-dasharray: 40;
   stroke-dashoffset: 0;
   animation: drawStroke 0.6s ease-out 1.2s forwards;
}


@keyframes drawStroke {
   from { stroke-dashoffset: 450; }
   to { stroke-dashoffset: 0; }
}


.hero-tight__connector { display: none; }


@media (min-width: 1024px) {
   .hero-tight__connector {
      display: block;
      position: absolute;
      bottom: -60px;
      left: calc(var(--space-2xl) + 24px);
      width: 28px;
      height: 120px;
      z-index: 3;
      pointer-events: none;
   }


   .hero-tight__connector-svg {
      width: 28px;
      height: 100%;
   }


   .hero-tight__connector-path {
      stroke-dasharray: 120;
      stroke-dashoffset: 0;
   }
}


.hero-tight__lede {
   font-family: var(--paco-cd9);
   font-size: var(--text-md);
   line-height: 1.55;
   color: var(--ink);
   max-width: var(--measure-prose);
   margin-bottom: var(--space-xl);
}


.hero-tight__action { align-self: flex-start; }


.hero-tight__media {
   position: relative;
   width: 100%;
   height: 33.333vh;
   height: 33.333svh;
   min-height: 200px;
   overflow: hidden;
   background-color: var(--surface);
   border-top: 1px solid var(--line);
}


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


@media (min-width: 1024px) {
   .hero-tight__media {
      height: auto;
      min-height: 0;
      border-top: 0;
      border-left: 1px solid var(--line);
   }
}


.hero-tight__img {
   width: 100%;
   height: auto;
   aspect-ratio: 3 / 2;
   object-fit: cover;
   object-position: 74% 36%;
   display: block;
}


@media (min-width: 1024px) {
   .hero-tight__img {
      object-position: 74% 36%;
      height: auto;
      aspect-ratio: 3 / 2;
      max-height: 85vh;
   }
}


.hero-tight__caption-tag {
   position: absolute;
   bottom: var(--space-sm);
   right: var(--space-sm);
   background-color: rgba(74, 31, 34, 0.92);
   border: 1px solid var(--line);
   padding: var(--space-2xs) var(--space-sm);
   font-family: var(--paco-88d);
   font-size: 0.6875rem;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   color: var(--ink-soft);
   backdrop-filter: blur(4px);
}


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


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


@media (min-width: 1024px) {
   .spine-layout {
      grid-template-columns: 4.5rem 1fr;
      gap: var(--space-2xl);
   }
}


.spine-track { display: none; }


@media (min-width: 1024px) {
   .spine-track {
      display: block;
      position: relative;
      width: 100%;
      height: 100%;
   }


   .spine-svg {
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 28px;
      height: 100%;
      overflow: visible;
   }


   .spine-path-bg {
      stroke: var(--line);
      stroke-width: 2;
      fill: none;
   }


   .spine-path-active {
      stroke: var(--accent);
      stroke-width: 2.5;
      fill: none;
      stroke-linecap: square;
      stroke-dasharray: 2400;
      stroke-dashoffset: 0;
      transition: stroke-dashoffset 0.1s linear;
   }


   .spine-marker-head {
      fill: var(--accent);
      stroke: var(--ground);
      stroke-width: 2;
   }
}


.spine-steps {
   display: flex;
   flex-direction: column;
   gap: var(--space-3xl);
}


.spine-node {
   position: relative;
   border-left: 2px solid var(--line);
   padding-left: var(--space-lg);
   transition: border-color var(--dur-base) var(--ease-out-quad);
}


@media (min-width: 1024px) {
   .spine-node {
      border-left: 0;
      padding-left: 0;
      display: grid;
      grid-template-columns: minmax(22rem, 26rem) 1fr;
      column-gap: var(--space-3xl);
      align-items: start;
      padding-bottom: var(--space-3xl);
      border-bottom: 1px solid var(--line);
   }


   .spine-node:last-child {
      padding-bottom: 0;
      border-bottom: 0;
   }
}


.spine-node.is-active { border-left-color: var(--accent); }


.spine-node__lead { margin-bottom: var(--space-md); }


@media (min-width: 1024px) {
   .spine-node__lead {
      margin-bottom: 0;
      position: sticky;
      top: 6rem;
   }
}


.spine-node__figure {
   font-family: var(--paco-5c9);
   font-size: clamp(2.25rem, 1.8rem + 2vw, 3.85rem);
   font-weight: 700;
   line-height: 1.1;
   letter-spacing: -0.035em;
   color: var(--ink);
   display: flex;
   flex-wrap: wrap;
   align-items: baseline;
   gap: 0.25em 0.5em;
}


.spine-node__unit {
   font-family: var(--paco-88d);
   font-size: clamp(0.85rem, 0.7rem + 0.4vw, 1.15rem);
   font-weight: 400;
   color: var(--accent);
   letter-spacing: 0.05em;
   text-transform: uppercase;
   white-space: nowrap;

}


.spine-node__summary {
   font-family: var(--paco-cd9);
   font-size: var(--text-lg);
   line-height: 1.45;
   color: var(--ink);
   max-width: var(--measure-prose);
   margin-top: var(--space-xs);
}


.spine-node__body {
   font-family: var(--paco-cd9);
   font-size: var(--text-base);
   line-height: 1.6;
   color: var(--ink-soft);
   max-width: var(--measure-prose);
}


.pinned-flow {
   position: relative;
   background-color: var(--surface);
   border-bottom: 1px solid var(--line);
}


.pinned-flow__container {
   display: flex;
   flex-direction: column;
}


@media (min-width: 1024px) {
   .pinned-flow__container {
      flex-direction: row;
      align-items: stretch;
      min-height: 100vh;
   }
}


.pinned-flow__indicator-col { display: none; }


@media (min-width: 1024px) {
   .pinned-flow__indicator-col {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      width: 24rem;
      flex-shrink: 0;
      padding: var(--space-3xl) var(--space-2xl);
      border-right: 1px solid var(--line);
      position: sticky;
      top: 0;
      height: 100vh;
   }
}


.pinned-flow__headline {
   font-family: var(--paco-5c9);
   font-size: var(--text-2xl);
   line-height: 1.15;
   color: var(--ink);
}


.pinned-flow__progress-bar {
   width: 100%;
   height: 2px;
   background-color: var(--line);
   position: relative;
   margin: var(--space-lg) 0;
}


.pinned-flow__progress-fill {
   position: absolute;
   top: 0;
   left: 0;
   height: 100%;
   width: 25%;
   background-color: var(--accent);
   transition: width var(--dur-base) var(--ease-out-quad);
}


.pinned-flow__steps-nav {
   display: flex;
   flex-direction: column;
   gap: var(--space-sm);
   font-family: var(--paco-88d);
   font-size: var(--text-xs);
   text-transform: uppercase;
   letter-spacing: 0.08em;
}


.pinned-flow__nav-item {
   color: var(--ink-soft);
   display: flex;
   align-items: center;
   gap: var(--space-xs);
   transition: color var(--dur-fast) var(--ease-out-quad);
}


.pinned-flow__nav-item.is-current {
   color: var(--accent);
   font-weight: 700;
}


.pinned-flow__content-col {
   flex: 1 1 0%;
   min-width: 0;
}


.pinned-flow__panel {
   padding: var(--space-3xl) var(--space-md);
   border-bottom: 1px solid var(--line);
   background-color: var(--surface);
   min-height: 70vh;
   display: flex;
   flex-direction: column;
   justify-content: center;
}


@media (min-width: 768px) {
   .pinned-flow__panel { padding: var(--space-4xl) var(--space-2xl); }
}


@media (min-width: 1024px) {
   .pinned-flow__panel {
      min-height: 100vh;
      border-bottom: 0;
      position: sticky;
      top: 0;
      opacity: 1;
      transition: opacity var(--dur-slow) var(--ease-out-quad);
   }
}


.pinned-flow__panel-qty {
   font-family: var(--paco-5c9);
   font-size: clamp(2.8rem, 2.2rem + 3.2vw, 5rem);
   font-weight: 700;
   line-height: 1;
   color: var(--ink);
   margin-bottom: var(--space-xs);
}


.pinned-flow__panel-tagline {
   font-family: var(--paco-cd9);
   font-size: var(--text-lg);
   line-height: 1.4;
   color: var(--ink);
   max-width: var(--measure-prose);
   margin-bottom: var(--space-md);
   border-left: 2px solid var(--accent);
   padding-left: var(--space-md);
}


.pinned-flow__panel-prose {
   font-family: var(--paco-cd9);
   font-size: var(--text-base);
   line-height: 1.6;
   color: var(--ink-soft);
   max-width: var(--measure-prose);
   margin-bottom: var(--space-lg);
}


.catalogue-grid-section {
   padding-top: var(--space-3xl);
   padding-bottom: var(--space-4xl);
   background-color: var(--ground);
}


.catalogue-header-band {
   margin-bottom: var(--space-2xl);
   border-bottom: 1px solid var(--line);
   padding-bottom: var(--space-xl);
}


.catalogue-filter-bar {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: var(--space-xs);
   margin-top: var(--space-lg);
   padding-top: var(--space-md);
   border-top: 1px solid var(--line);
}


.catalogue-filter-btn {
   font-family: var(--paco-88d);
   font-size: var(--text-xs);
   letter-spacing: 0.06em;
   text-transform: uppercase;
   padding: var(--space-2xs) var(--space-sm);
   min-height: 38px;
   background-color: var(--surface);
   border: 1px solid var(--line);
   color: var(--ink-soft);
   cursor: pointer;
   transition: color var(--dur-fast) var(--ease-out-quad),
                     background-color var(--dur-fast) var(--ease-out-quad),
                     border-color var(--dur-fast) var(--ease-out-quad);
}


.catalogue-filter-btn:hover {
   background-color: var(--surface-2);
   color: var(--ink);
   border-color: var(--accent);
}


.catalogue-filter-btn.is-active {
   background-color: var(--accent);
   color: var(--accent-ink);
   border-color: var(--accent);
   font-weight: 700;
}


.catalogue-filter-btn:focus-visible {
   outline: 2px solid var(--accent);
   outline-offset: 2px;
}


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


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


@media (min-width: 1100px) {
   .catalogue-item-grid {
      grid-template-columns: repeat(3, 1fr);
      column-gap: var(--space-xl);
      row-gap: var(--space-2xl);
   }
}


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


.catalogue-card:hover {
   border-color: var(--accent);
   transform: translateY(-2px);
}


.catalogue-card__media {
   width: 100%;
   aspect-ratio: 4 / 3;
   overflow: hidden;
   background-color: var(--ground);
   border-bottom: 1px solid var(--line);
   position: relative;
}


.catalogue-card__img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform var(--dur-base) var(--ease-out-quad);
}


.catalogue-card:hover .catalogue-card__img { transform: scale(1.03); }


.catalogue-card__price-tag {
   position: absolute;
   top: var(--space-sm);
   left: var(--space-sm);
   background-color: var(--ground);
   border: 1px solid var(--accent);
   color: var(--accent);
   font-family: var(--paco-88d);
   font-size: var(--text-xs);
   font-weight: 700;
   padding: 0.2rem 0.5rem;
}


.catalogue-card__content {
   padding: var(--space-lg);
   display: flex;
   flex-direction: column;
   gap: var(--space-xs);
   flex: 1 0 auto;
}


.catalogue-card__title {
   font-family: var(--paco-5c9);
   font-size: var(--text-lg);
   line-height: 1.25;
   color: var(--ink);
   margin-top: var(--space-2xs);
}


.catalogue-card__detail {
   font-family: var(--paco-cd9);
   font-size: var(--text-sm);
   line-height: 1.55;
   color: var(--ink-soft);
   margin-top: var(--space-xs);
   margin-bottom: var(--space-md);
   flex: 1 0 auto;
}


.catalogue-card__specs {
   border-top: 1px solid var(--line);
   padding-top: var(--space-sm);
   margin-bottom: var(--space-md);
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-2xs);
   font-family: var(--paco-88d);
   font-size: 0.6875rem;
   color: var(--ink-soft);
}


.catalogue-card__specs span {
   display: flex;
   justify-content: space-between;
}


.catalogue-card__specs strong { color: var(--ink); }


.calc-block {
   background-color: var(--surface);
   border: 1px solid var(--line);
   padding: var(--space-xl) var(--space-md);
   margin-top: var(--space-2xl);
   margin-bottom: var(--space-2xl);
}


@media (min-width: 768px) {
   .calc-block { padding: var(--space-3xl) var(--space-2xl); }
}


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


@media (min-width: 992px) {
   .calc-grid {
      grid-template-columns: 1.25fr 1fr;
      align-items: start;
      gap: var(--space-3xl);
   }
}


.calc-intro { margin-bottom: var(--space-xl); }


.calc-intro__title {
   font-family: var(--paco-5c9);
   font-size: var(--text-xl);
   color: var(--ink);
   margin-bottom: var(--space-xs);
}


.calc-intro__formula {
   font-family: var(--paco-88d);
   font-size: var(--text-xs);
   color: var(--accent);
   background-color: var(--ground);
   padding: var(--space-xs) var(--space-sm);
   border: 1px solid var(--line);
   display: inline-block;
   margin-top: var(--space-xs);
}


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


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


.calc-field__header {
   display: flex;
   justify-content: space-between;
   align-items: baseline;
   font-family: var(--paco-88d);
   font-size: var(--text-xs);
}


.calc-field__label {
   text-transform: uppercase;
   letter-spacing: 0.08em;
   color: var(--ink);
}


.calc-field__value-readout {
   color: var(--accent);
   font-weight: 700;
   font-size: var(--text-sm);
}


.calc-range {
   appearance: none;
   width: 100%;
   height: 6px;
   background-color: var(--surface-2);
   border: 1px solid var(--line);
   outline: none;
   cursor: pointer;
}


.calc-range::-webkit-slider-thumb {
   appearance: none;
   width: 20px;
   height: 20px;
   background-color: var(--accent);
   border: 1px solid var(--ground);
   cursor: pointer;
   transition: transform var(--dur-fast) var(--ease-out-quad);
}


.calc-range::-webkit-slider-thumb:hover { transform: scale(1.15); }


.calc-range::-moz-range-thumb {
   width: 20px;
   height: 20px;
   background-color: var(--accent);
   border: 1px solid var(--ground);
   cursor: pointer;
}


.calc-output-card {
   background-color: var(--ground);
   border: 1px solid var(--line);
   padding: var(--space-xl);
   display: flex;
   flex-direction: column;
   gap: var(--space-lg);
}


.calc-output-item {
   border-bottom: 1px solid var(--line);
   padding-bottom: var(--space-md);
}


.calc-output-item:last-of-type {
   border-bottom: 0;
   padding-bottom: 0;
}


.calc-output-item__label {
   font-family: var(--paco-88d);
   font-size: var(--text-xs);
   text-transform: uppercase;
   letter-spacing: 0.08em;
   color: var(--ink-soft);
   margin-bottom: var(--space-2xs);
}


.calc-output-item__value {
   font-family: var(--paco-5c9);
   font-size: clamp(1.8rem, 1.4rem + 1.6vw, 3rem);
   font-weight: 700;
   line-height: 1.1;
   color: var(--ink);
   letter-spacing: -0.02em;
}


.calc-output-item__value span {
   font-family: var(--paco-88d);
   font-size: var(--text-xs);
   font-weight: 400;
   color: var(--accent);
   margin-left: var(--space-2xs);
}


.calc-output-note {
   font-family: var(--paco-88d);
   font-size: var(--text-xs);
   color: var(--ink-soft);
   line-height: 1.45;
   background-color: var(--surface);
   border: 1px solid var(--line);
   padding: var(--space-sm);
}


.calc-output-note strong { color: var(--accent); }


.events-list-section {
   padding-top: var(--space-3xl);
   padding-bottom: var(--space-4xl);
}


.event-timeline {
   display: flex;
   flex-direction: column;
   gap: 0;
   border-top: 1px solid var(--line);
}


.event-entry {
   display: grid;
   grid-template-columns: 1fr;
   padding: var(--space-xl) 0;
   border-bottom: 1px solid var(--line);
   gap: var(--space-md);
   transition: background-color var(--dur-fast) var(--ease-out-quad);
}


@media (min-width: 768px) {
   .event-entry {
      grid-template-columns: 12rem 1fr 10rem;
      align-items: baseline;
      gap: var(--space-xl);
      padding: var(--space-xl) var(--space-sm);
   }


   .event-entry:hover { background-color: rgba(91, 39, 43, 0.35); }
}


.event-entry__meta {
   display: flex;
   flex-direction: column;
   gap: var(--space-2xs);
   font-family: var(--paco-88d);
}


.event-entry__date {
   font-size: var(--text-md);
   font-weight: 700;
   color: var(--accent);
}


.event-entry__time {
   font-size: var(--text-xs);
   color: var(--ink-soft);
   letter-spacing: 0.05em;
   text-transform: uppercase;
}


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


.event-entry__title {
   font-family: var(--paco-5c9);
   font-size: var(--text-xl);
   color: var(--ink);
   line-height: 1.2;
}


.event-entry__desc {
   font-family: var(--paco-cd9);
   font-size: var(--text-base);
   color: var(--ink-soft);
   max-width: var(--measure-prose);
   line-height: 1.55;
}


.event-entry__aside {
   display: flex;
   flex-direction: column;
   gap: var(--space-sm);
   align-items: flex-start;
}


@media (min-width: 768px) {
   .event-entry__aside { align-items: flex-end; }
}


.event-tag-free {
   font-family: var(--paco-88d);
   font-size: var(--text-xs);
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: 0.08em;
   background-color: var(--accent);
   color: var(--accent-ink);
   padding: 0.2rem 0.6rem;
   display: inline-block;
}


.contact-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-3xl);
   padding-top: var(--space-3xl);
   padding-bottom: var(--space-4xl);
}


@media (min-width: 992px) {
   .contact-grid {
      grid-template-columns: 1fr 1.25fr;
      align-items: start;
      gap: var(--space-4xl);
   }
}


.contact-facts-card {
   background-color: var(--surface);
   border: 1px solid var(--line);
   padding: var(--space-xl);
   display: flex;
   flex-direction: column;
   gap: var(--space-lg);
}


.contact-fact-group {
   border-bottom: 1px solid var(--line);
   padding-bottom: var(--space-md);
}


.contact-fact-group:last-child {
   border-bottom: 0;
   padding-bottom: 0;
}


.contact-fact-label {
   font-family: var(--paco-88d);
   font-size: var(--text-xs);
   text-transform: uppercase;
   letter-spacing: 0.08em;
   color: var(--ink-soft);
   margin-bottom: var(--space-2xs);
}


.contact-fact-value {
   font-family: var(--paco-cd9);
   font-size: var(--text-base);
   color: var(--ink);
   line-height: 1.5;
}


.contact-fact-value a {
   color: var(--ink);
   text-decoration: underline;
   text-underline-offset: 3px;
   transition: color var(--dur-fast) var(--ease-out-quad);
}


.contact-fact-value a:hover { color: var(--accent); }


.contact-fact-value a:focus-visible {
   outline: 2px solid var(--accent);
   outline-offset: 2px;
}


.legal-glance-layout {
   padding-top: var(--space-3xl);
   padding-bottom: var(--space-4xl);
   background-color: var(--ground);
}


.legal-glance-panel {
   background-color: var(--surface);
   border: 1px solid var(--line);
   padding: var(--space-lg);
   margin-bottom: var(--space-3xl);
}


@media (min-width: 768px) {
   .legal-glance-panel { padding: var(--space-2xl); }
}


.legal-glance-title {
   font-family: var(--paco-5c9);
   font-size: var(--text-xl);
   color: var(--ink);
   margin-bottom: var(--space-md);
   padding-bottom: var(--space-sm);
   border-bottom: 1px solid var(--line);
}


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


.glance-table tr { border-bottom: 1px solid var(--line); }


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


.glance-table th,
.glance-table td {
   padding: var(--space-sm) var(--space-xs);
   vertical-align: top;
   font-size: var(--text-sm);
}


@media (min-width: 768px) {
   .glance-table th,
   .glance-table td { padding: var(--space-md) var(--space-sm); }
}


.glance-table th {
   font-family: var(--paco-88d);
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: 0.05em;
   color: var(--accent);
   width: 32%;
}


.glance-table td {
   font-family: var(--paco-cd9);
   color: var(--ink);
   line-height: 1.5;
}


.legal-prose-body {
   max-width: var(--measure-prose);
   margin: 0;
}


.legal-prose-body h2 {
   font-family: var(--paco-5c9);
   font-size: var(--text-xl);
   color: var(--ink);
   margin-top: var(--space-2xl);
   margin-bottom: var(--space-sm);
   padding-top: var(--space-lg);
   border-top: 1px solid var(--line);
}


.legal-prose-body h3 {
   font-family: var(--paco-5c9);
   font-size: var(--text-md);
   color: var(--ink);
   margin-top: var(--space-lg);
   margin-bottom: var(--space-xs);
}


.legal-prose-body p {
   font-family: var(--paco-cd9);
   font-size: var(--text-base);
   line-height: 1.62;
   color: var(--ink);
   margin-bottom: var(--space-md);
}


.legal-prose-body ul,
.legal-prose-body ol {
   margin-bottom: var(--space-md);
   padding-left: var(--space-lg);
}


.legal-prose-body li {
   font-family: var(--paco-cd9);
   font-size: var(--text-base);
   color: var(--ink);
   margin-bottom: var(--space-xs);
   line-height: 1.55;
   list-style: square;
}


.legal-prose-body li strong { margin-right: 0.5rem; }


.legal-prose-body a {
   color: var(--accent);
   text-decoration: underline;
   text-underline-offset: 3px;
   transition: color var(--dur-fast) var(--ease-out-quad);
}


.legal-prose-body a:hover { color: var(--ink); }


.legal-prose-body a:focus-visible {
   outline: 2px solid var(--accent);
   outline-offset: 2px;
}


.dsar-card {
   background-color: var(--surface-2);
   border: 1px solid var(--accent);
   padding: var(--space-xl);
   margin-top: var(--space-2xl);
   margin-bottom: var(--space-2xl);
}


.dsar-card__title {
   font-family: var(--paco-5c9);
   font-size: var(--text-lg);
   color: var(--ink);
   margin-bottom: var(--space-xs);
}


.cookies-questions-layout {
   padding-top: var(--space-3xl);
   padding-bottom: var(--space-4xl);
   background-color: var(--ground);
}


.question-block {
   margin-bottom: var(--space-3xl);
   padding-bottom: var(--space-2xl);
   border-bottom: 1px solid var(--line);
   max-width: var(--measure-prose);
}


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


.question-heading {
   font-family: var(--paco-5c9);
   font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.5rem);
   font-weight: 700;
   line-height: 1.18;
   letter-spacing: -0.03em;
   color: var(--ink);
   margin-bottom: var(--space-md);
   text-wrap: balance;
}


.question-answer {
   font-family: var(--paco-cd9);
   font-size: var(--text-base);
   line-height: 1.65;
   color: var(--ink);
}


.question-answer p { margin-bottom: var(--space-md); }


.question-answer a {
   color: var(--accent);
   text-decoration: underline;
   text-underline-offset: 3px;
}


.question-answer a:hover { color: var(--ink); }


.cookie-data-table-wrap {
   overflow-x: auto;
   margin-top: var(--space-md);
   margin-bottom: var(--space-lg);
   border: 1px solid var(--line);
}


.cookie-data-table {
   width: 100%;
   min-width: 580px;
   border-collapse: collapse;
   font-family: var(--paco-88d);
   font-size: var(--text-xs);
   background-color: var(--surface);
}


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


.cookie-data-table th {
   background-color: var(--surface-2);
   color: var(--accent);
   text-transform: uppercase;
   letter-spacing: 0.08em;
   font-weight: 700;
}


.cookie-data-table td { color: var(--ink); }


.terms-framed-layout {
   padding-top: var(--space-3xl);
   padding-bottom: var(--space-4xl);
   background-color: var(--ground);
}


.document-frame {
   background-color: var(--surface);
   border: 1px solid var(--line);
   box-shadow: var(--shadow-card);
   padding: var(--space-lg);
   max-width: 56rem;
   margin: 0 auto;
}


@media (min-width: 768px) {
   .document-frame { padding: var(--space-3xl); }
}


.document-masthead {
   border-bottom: 2px solid var(--accent);
   padding-bottom: var(--space-xl);
   margin-bottom: var(--space-2xl);
}


.document-type-badge {
   font-family: var(--paco-88d);
   font-size: var(--text-xs);
   text-transform: uppercase;
   letter-spacing: 0.12em;
   color: var(--accent);
   display: inline-block;
   margin-bottom: var(--space-xs);
}


.document-title {
   font-family: var(--paco-5c9);
   font-size: clamp(2rem, 1.6rem + 1.8vw, 3.25rem);
   font-weight: 700;
   line-height: 1.1;
   color: var(--ink);
   letter-spacing: -0.03em;
   margin-bottom: var(--space-md);
}


.document-meta-row {
   display: flex;
   flex-wrap: wrap;
   gap: var(--space-md) var(--space-xl);
   font-family: var(--paco-88d);
   font-size: var(--text-xs);
   color: var(--ink-soft);
   border-top: 1px solid var(--line);
   padding-top: var(--space-sm);
}


.document-meta-row span strong { color: var(--ink); }


.clause-block {
   margin-bottom: var(--space-2xl);
   padding-bottom: var(--space-xl);
   border-bottom: 1px solid var(--line);
}


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


.clause-header {
   display: flex;
   align-items: baseline;
   gap: var(--space-sm);
   margin-bottom: var(--space-sm);
}


.clause-index {
   font-family: var(--paco-88d);
   font-size: var(--text-sm);
   color: var(--accent);
   font-weight: 700;
}


.clause-title {
   font-family: var(--paco-5c9);
   font-size: var(--text-lg);
   color: var(--ink);
}


.kiha0f1 {
   font-family: var(--paco-cd9);
   font-size: var(--text-base);
   line-height: 1.62;
   color: var(--ink);
}


.kiha0f1 p { margin-bottom: var(--space-sm); }


.kiha0f1 ul {
   padding-left: var(--space-lg);
   margin-bottom: var(--space-sm);
}


.kiha0f1 li {
   list-style: disc;
   margin-bottom: var(--space-2xs);
}


.faq-list {
   display: flex;
   flex-direction: column;
   border-top: 1px solid var(--line);
   margin-top: var(--space-2xl);
}


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


.faq-trigger {
   width: 100%;
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: var(--space-lg) 0;
   background: none;
   border: 0;
   color: var(--ink);
   font-family: var(--paco-5c9);
   font-size: var(--text-lg);
   text-align: left;
   cursor: pointer;
   transition: color var(--dur-fast) var(--ease-out-quad);
}


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


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


.faq-icon {
   width: 1.5rem;
   height: 1.5rem;
   color: var(--accent);
   flex-shrink: 0;
   transition: transform var(--dur-base) var(--ease-out-quad);
}


.faq-item.is-open .faq-icon { transform: rotate(45deg); }


.faq-panel {
   display: none;
   padding-bottom: var(--space-lg);
   font-family: var(--paco-cd9);
   font-size: var(--text-base);
   line-height: 1.6;
   color: var(--ink-soft);
   max-width: var(--measure-prose);
}


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


.error-page-layout {
   min-height: 70vh;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: var(--space-4xl) var(--space-md);
   background-color: var(--ground);
}


.error-box {
   background-color: var(--surface);
   border: 1px solid var(--line);
   padding: var(--space-2xl) var(--space-xl);
   max-width: 36rem;
   text-align: left;
}


@media (min-width: 768px) {
   .error-box { padding: var(--space-3xl); }
}


.error-code {
   font-family: var(--paco-88d);
   font-size: clamp(3rem, 2.5rem + 3vw, 5rem);
   font-weight: 700;
   color: var(--accent);
   line-height: 1;
   margin-bottom: var(--space-xs);
}


.error-title {
   font-family: var(--paco-5c9);
   font-size: var(--text-xl);
   color: var(--ink);
   margin-bottom: var(--space-md);
}


.error-prose {
   font-family: var(--paco-cd9);
   font-size: var(--text-base);
   line-height: 1.6;
   color: var(--ink-soft);
   margin-bottom: var(--space-xl);
}


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


.quote-variable-list {
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-md);
   margin-top: var(--space-xl);
}


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


@media (min-width: 1024px) {
   .quote-variable-list { grid-template-columns: repeat(3, 1fr); }
}


.quote-var-card {
   background-color: var(--surface);
   border: 1px solid var(--line);
   padding: var(--space-lg);
   display: flex;
   flex-direction: column;
   gap: var(--space-2xs);
   transition: border-color var(--dur-fast) var(--ease-out-quad);
}


.quote-var-card:hover { border-color: var(--accent); }


.quote-var-card__num {
   font-family: var(--paco-88d);
   font-size: var(--text-xs);
   color: var(--accent);
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: 0.08em;
}


.quote-var-card__title {
   font-family: var(--paco-5c9);
   font-size: var(--text-base);
   color: var(--ink);
}


.quote-var-card__desc {
   font-family: var(--paco-cd9);
   font-size: var(--text-sm);
   color: var(--ink-soft);
   line-height: 1.5;
}
