.panel {
   position:relative;
   min-height:100vh;
   min-height:100svh;
   display:flex;
   flex-direction:column;
   justify-content:center;
   padding-block:var(--section-pad);
   border-bottom:var(--hair-soft);
}

.panel > .wrap { min-width: 0; }

.panel--auto { min-height: 0; }

.panel--deep { background: #15120F; }

.panel--raised { background: var(--panel); }

.panel__head {
   display:grid;
   gap:var(--s-3);
   margin-bottom:clamp(2.5rem, 6vh, 4.5rem);
   max-width:62rem;
}

.panel__head .lead { max-width: 54ch; }

.panel__index {
   position:absolute;
   top:clamp(1.5rem, 4vh, 2.5rem);
   right:var(--gutter);
   font-family:var(--fabe-2e4);
   font-size:var(--fs-micro);
   letter-spacing:var(--track-caps);
   text-transform:uppercase;
   color:var(--dust);
}

.panel__index .num { color: var(--ember); }

.hero {
   position:relative;
   min-height:100vh;
   min-height:100svh;
   display:flex;
   align-items:center;
   padding-block:clamp(3rem, 9vh, 6rem) 0;
   overflow:visible;
   isolation:isolate;
}

.hero::before {
   content:"";
   position:absolute;
   z-index:-1;
   top:8%;
   left:-10%;
   width:min(70rem, 110%);
   height:70%;
   background:radial-gradient(ellipse at 30% 45%, rgba(198, 161, 95, 0.10), rgba(217, 119, 63, 0.04) 40%, rgba(26, 23, 20, 0) 70%);
   pointer-events:none;
}

.hero__grid {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:var(--s-4);
   align-items:end;
   width:100%;
}

.hero__grid > * { min-width: 0; }

.hero__copy {
   display:flex;
   flex-direction:column;
   gap:var(--s-3);
   position:relative;
   z-index:2;
}

.hero__lockup { margin-bottom: var(--s-2); }

.hero__lede {
   max-width:46ch;
   font-size:var(--fs-lead);
   line-height:1.55;
   color:var(--sand-2);
}

.hero__meta {
   display:flex;
   flex-wrap:wrap;
   gap:0.5rem 1.5rem;
   padding-top:var(--s-2);
   border-top:var(--hair-soft);
   font-family:var(--fabe-2e4);
   font-size:var(--fs-micro);
   letter-spacing:0.06em;
   text-transform:uppercase;
   color:var(--dust);
}

.hero__meta span { display: inline-flex; gap: 0.5rem; align-items: baseline; }
.hero__meta .num { color: var(--ochre); }

.hero__media {
   position:relative;
   margin:0;
   z-index:1;
}

.hero__media .figure__frame { box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.95); }

.hero__media img {
   width:100%;
   aspect-ratio:4 / 3;
   object-fit:cover;
   object-position:40% 50%;
}

.hero__media::before {
   content:"";
   position:absolute;
   top:-0.9rem;
   left:-0.9rem;
   width:4.5rem;
   height:4.5rem;
   border-top:1px solid var(--ember);
   border-left:1px solid var(--ember);
   z-index:2;
   pointer-events:none;
}

.hero__scroll {
   display:none;
}

@media (min-width: 900px) {
   .hero {
      padding-bottom:0;
   }

   .hero__grid {
      grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);
      gap:var(--s-5);
      align-items:center;
   }

   .hero__media {
      align-self:stretch;
      display:flex;
      align-items:flex-end;
      transform:translateY(clamp(3rem, 12vh, 8rem));
      margin-top:clamp(2rem, 10vh, 6rem);

   }

   .hero__media .figure__frame { width: 100%; }

   .hero__media img {
      aspect-ratio:3 / 4.3;
      object-position:38% 50%;
   }

   .hero__copy .lockup { margin-right: calc(-1 * var(--s-5)); }

   .hero__scroll {
      position:absolute;
      left:var(--gutter);
      bottom:clamp(1.25rem, 3vh, 2rem);
      display:inline-flex;
      align-items:center;
      gap:0.75rem;
      min-height:44px;
      font-family:var(--fabe-2e4);
      font-size:var(--fs-micro);
      letter-spacing:var(--track-caps);
      text-transform:uppercase;
      color:var(--dust);
      text-decoration:none;
      transition:color var(--dur-2) var(--ease-out);
   }

   .hero__scroll::after {
      content:"";
      width:3rem;
      height:1px;
      background:var(--line);
      transition:background-color var(--dur-2) var(--ease-out), width var(--dur-2) var(--ease-out);
   }

   .hero__scroll:hover { color: var(--sand); }
   .hero__scroll:hover::after { background: var(--ember); width: 4rem; }
   .hero__scroll:active { color: var(--ember); }
   .hero__scroll:focus-visible { outline: 2px solid var(--ochre); outline-offset: 3px; }
}

.hero + .panel { padding-top: calc(var(--section-pad) + clamp(3rem, 12vh, 8rem)); position: relative; z-index: 0; }
@media (min-width: 900px) { .hero__media { transform: none; margin-bottom: 2rem; } }

@media (max-width: 899px) {
   .hero + .panel { padding-top: var(--section-pad); }
   .hero { padding-bottom: var(--s-4); }
}

.page-hero {
   position:relative;
   padding-block:clamp(3.5rem, 12vh, 7.5rem) clamp(2.5rem, 7vh, 4.5rem);
   border-bottom:var(--hair-soft);
   isolation:isolate;
}

.page-hero::before {
   content:"";
   position:absolute;
   z-index:-1;
   top:0;
   left:0;
   width:min(48rem, 100%);
   height:100%;
   background:radial-gradient(ellipse at 18% 40%, rgba(198, 161, 95, 0.07), rgba(26, 23, 20, 0) 65%);
   pointer-events:none;
}

.page-hero__grid {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:var(--s-4);
   align-items:end;
}

.page-hero__grid > * { min-width: 0; }

.page-hero__copy {
   display:flex;
   flex-direction:column;
   gap:var(--s-3);
}

.page-hero__lede {
   max-width:52ch;
   font-size:var(--fs-lead);
   line-height:1.55;
   color:var(--sand-2);
}

.page-hero__facts {
   display:flex;
   flex-wrap:wrap;
   gap:0.5rem;
}

.page-hero__media img {
   aspect-ratio:4 / 3;
   object-fit:cover;
}

@media (min-width: 1100px) {
   .page-hero__grid--media {
      grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);
      gap:var(--s-5);
   }

   .page-hero__media {
      transform:translateY(clamp(2rem, 7vh, 4.5rem));
   }

   .page-hero--media + * { padding-top: calc(var(--section-pad) + 3rem); }
}

.catalogue-panel__grid {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:var(--s-4) var(--s-5);
   align-items:start;
}

.catalogue-panel__grid > * { min-width: 0; }

.catalogue-preview {
   display:none;
}

@media (min-width: 1100px) and (hover: hover) and (pointer: fine) {
   .catalogue-panel__grid {
      grid-template-columns:minmax(0, 7fr) minmax(0, 4fr);
   }

   .catalogue-preview {
      display:block;
      position:sticky;
      top:clamp(2rem, 12vh, 6rem);
   }
}

.catalogue-preview__frame {
   position:relative;
   aspect-ratio:4 / 5;
   overflow:hidden;
   background:var(--panel);
   box-shadow:var(--shadow-2);
}

.catalogue-preview__img {
   position:absolute;
   inset:0;
   width:100%;
   height:100%;
   object-fit:cover;
   opacity:0;
   filter:saturate(0.9);
   transition:opacity var(--dur-3) var(--ease-out);
}

.catalogue-preview__img.is-active,
.catalogue-preview__img:first-child:only-child { opacity: 1; }

.catalogue-preview__caption {

   display:flex;
   justify-content:space-between;
   gap:1rem;
   margin-top:0.75rem;
   font-family:var(--fabe-2e4);
   font-size:var(--fs-micro);
   letter-spacing:0.04em;
   color:var(--dust);
}

.catalogue-preview__caption .num { color: var(--ember); }

.catalogue-foot {
   display:flex;
   flex-wrap:wrap;
   align-items:center;
   justify-content:space-between;
   gap:var(--s-2) var(--s-3);
   margin-top:var(--s-4);
}

.compare-wrap { margin-top: var(--s-4); }

.compare-table td .tag { white-space: nowrap; }

.dep-list {
   display:grid;
   gap:0;
   border-top:var(--hair);
}

.dep-list > li {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:0.25rem 1.5rem;
   padding:1rem 0;
   border-bottom:var(--hair);
}

.dep-list__from {
   font-family:var(--fabe-79c);
   font-size:1.4rem;
   font-weight:600;
   line-height:1.15;
}

.dep-list__to { color: var(--dust); font-size: var(--fs-small); }

@media (min-width: 720px) {
   .dep-list > li { grid-template-columns: minmax(0, 16rem) minmax(0, 1fr); align-items: baseline; }
}

.rail {
   position:relative;
   padding-block:var(--section-pad);
   border-bottom:var(--hair-soft);
   background:#15120F;
   overflow:hidden;
}

.rail__head {
   display:flex;
   flex-wrap:wrap;
   align-items:flex-end;
   justify-content:space-between;
   gap:var(--s-3);
   margin-bottom:var(--s-4);
}

.rail__head > * { min-width: 0; }

.rail__controls {
   display:flex;
   align-items:center;
   gap:0.5rem;
}

.rail__btn {
   display:inline-flex;
   align-items:center;
   justify-content:center;
   min-width:48px;
   min-height:48px;
   padding:0.5rem;
   border:var(--hair);
   border-radius:var(--radius);
   color:var(--sand);
   background:transparent;
   transition:background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);
}

.rail__btn .icon { width: 1.15rem; height: 1.15rem; }
.rail__btn:hover { background: var(--panel-2); border-color: var(--sand-2); }
.rail__btn:active { background: var(--line); border-color: var(--ember); transform: translateY(1px); }
.rail__btn:focus-visible { outline: 2px solid var(--ochre); outline-offset: 3px; }
.rail__btn[disabled] { opacity: 0.35; cursor: default; transform: none; background: transparent; border-color: var(--line); }

.rail__viewport {
   position:relative;
   overflow-x:auto;
   overflow-y:hidden;
   scroll-snap-type:x mandatory;
   scroll-padding-inline:var(--gutter);
   overscroll-behavior-x:contain;
   scrollbar-width:none;
   cursor:grab;
   outline:none;
   -webkit-overflow-scrolling:touch;
}

.rail__viewport::-webkit-scrollbar { display: none; }

.rail__viewport:focus-visible {
   box-shadow:inset 0 0 0 2px var(--ochre);
}

.rail__viewport.is-dragging {
   cursor:grabbing;
   scroll-snap-type:none;
   user-select:none;
}

.rail__viewport.is-dragging img { pointer-events: none; }

.rail__track {
   display:flex;
   gap:clamp(1rem, 2.5vw, 2rem);
   margin:0;
   padding:0 var(--gutter);
   list-style:none;
   width:max-content;
}

.rail__frame {
   position:relative;
   flex:none;
   width:min(78vw, 46rem);
   scroll-snap-align:start;
   display:grid;
   grid-template-rows:auto 1fr;
   gap:var(--s-3);
   min-width:0;
}

.rail__media {
   position:relative;
   overflow:hidden;
   box-shadow:var(--shadow-2);
   background:var(--panel);
}

.rail__media img {
   width:100%;
   aspect-ratio:3 / 2;
   object-fit:cover;
   filter:saturate(0.9);
}

.rail__stamp {
   position:absolute;
   top:0.75rem;
   left:0.75rem;
   display:inline-flex;
   align-items:center;
   gap:0.5rem;
   padding:0.35rem 0.6rem;
   background:rgba(26, 23, 20, 0.86);
   border-left:2px solid var(--ember);
   font-family:var(--fabe-2e4);
   font-size:var(--fs-micro);
   letter-spacing:0.06em;
   color:var(--sand);
}

.rail__body {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:0.6rem;
   max-width:40rem;
   padding-right:var(--s-2);
}

.rail__step {
   font-family:var(--fabe-2e4);
   font-size:var(--fs-meta);
   color:var(--ochre);
   letter-spacing:0.04em;
}

.rail__title {
   font-family:var(--fabe-79c);
   font-size:clamp(1.6rem, 3vw, 2.4rem);
   font-weight:500;
   line-height:1.05;
}

.rail__text {
   color:var(--dust);
   font-size:var(--fs-small);
   max-width:52ch;
}

.rail__foot {
   display:flex;
   align-items:center;
   gap:var(--s-3);
   margin-top:var(--s-4);
}

.rail__progress {
   position:relative;
   flex:1 1 auto;
   height:1px;
   background:var(--line);
   overflow:hidden;
}

.rail__progress-bar {
   position:absolute;
   inset:0 auto 0 0;
   width:20%;
   height:100%;
   background:var(--ember);
   transform-origin:left center;
   transition:width var(--dur-3) var(--ease-out);
}

.rail__counter {
   flex:none;
   font-family:var(--fabe-2e4);
   font-size:var(--fs-meta);
   letter-spacing:0.06em;
   color:var(--dust);
   font-feature-settings:'tnum' 1, 'zero' 1;
}

.rail__counter .num { color: var(--sand); }

.rail__hint {
   font-family:var(--fabe-2e4);
   font-size:var(--fs-micro);
   letter-spacing:0.06em;
   text-transform:uppercase;
   color:var(--dust);
}

@media (min-width: 1440px) {
   .rail__frame { width: min(58vw, 52rem); }
}

@media (max-width: 767px) {
   .rail__viewport {
      overflow:visible;
      scroll-snap-type:none;
      cursor:auto;
   }

   .rail__track {
      flex-direction:column;
      width:auto;
      gap:var(--s-4);
   }

   .rail__frame { width: 100%; }

   .rail__controls,
   .rail__foot,
   .rail__hint { display: none; }
}

@media (prefers-reduced-motion: reduce) {
   .rail__viewport {
      overflow:visible;
      scroll-snap-type:none;
      cursor:auto;
   }

   .rail__track {
      flex-direction:column;
      width:auto;
      max-width:var(--shell-max);
      margin-inline:auto;
      gap:var(--s-4);
   }

   .rail__frame {
      width:100%;
      grid-template-columns:minmax(0, 1fr);
   }

   .rail__controls,
   .rail__foot,
   .rail__hint { display: none; }
}

@media (prefers-reduced-motion: reduce) and (min-width: 900px) {
   .rail__frame {
      grid-template-columns:minmax(0, 6fr) minmax(0, 5fr);
      grid-template-rows:auto;
      align-items:center;
   }
}

.bandwidth__grid {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:var(--s-4) var(--s-5);
   align-items:center;
}

.bandwidth__grid > * { min-width: 0; }

@media (min-width: 1000px) {
   .bandwidth__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
}

.bandwidth__quote {
   font-family:var(--fabe-79c);
   font-size:clamp(1.6rem, 3.2vw, 2.5rem);
   line-height:1.12;
   letter-spacing:-0.012em;
   color:var(--sand);
   text-indent:-0.4em;
   max-width:24ch;
}

.bandwidth__note {
   margin-top:var(--s-3);
   max-width:48ch;
   color:var(--dust);
}

.diagram {
   margin:0;
   padding:clamp(1rem, 3vw, 2rem);
   background:var(--panel);
   border:var(--hair);
   border-top:1px solid var(--ember);
   box-shadow:var(--shadow-1);
}

.diagram svg {
   width:100%;
   height:auto;
   overflow:visible;
}

.diagram__bar { fill: var(--ochre); }
.diagram__bar--hi { fill: var(--ember); }
.diagram__bar--low { fill: var(--olive); }
.diagram__bar--range { fill: rgba(198, 161, 95, 0.35); }
.diagram__track { fill: rgba(236, 226, 206, 0.04); }
.diagram__grid { stroke: var(--line); stroke-width: 1; }

.diagram__label {
   fill:var(--sand);
   font-family:var(--fabe-963);
   font-size:15px;
   font-weight:500;
}

.diagram__value {
   fill:var(--ochre);
   font-family:var(--fabe-2e4);
   font-size:13px;
}

.diagram__axis {
   fill:var(--dust);
   font-family:var(--fabe-2e4);
   font-size:11px;
}

.diagram figcaption {
   margin-top:var(--s-2);
   font-family:var(--fabe-2e4);
   font-size:var(--fs-micro);
   color:var(--dust);
   letter-spacing:0.03em;
}

.teaser {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:var(--s-4);
   padding:clamp(1.5rem, 4vw, 3rem);
   background:var(--panel);
   border:var(--hair);
   box-shadow:var(--shadow-2);
   position:relative;
}

.teaser::before {
   content:"";
   position:absolute;
   top:-1px;
   left:0;
   width:33%;
   height:1px;
   background:var(--ember);
}

.teaser > * { min-width: 0; }

.teaser__controls {
   display:grid;
   gap:var(--s-3);
}

.teaser__readout {
   display:grid;
   gap:var(--s-2);
   align-content:start;
   padding:var(--s-3);
   background:var(--ground);
   border:var(--hair-soft);
}

.teaser__tier {
   font-family:var(--fabe-79c);
   font-size:clamp(2rem, 4vw, 3rem);
   line-height:1;
   color:var(--sand);
}

.teaser__out {
   display:flex;
   justify-content:space-between;
   gap:1rem;
   padding-top:0.6rem;
   border-top:var(--hair-soft);
   font-size:var(--fs-small);
   color:var(--dust);
}

.teaser__out .num { text-align: right; }

@media (min-width: 900px) {
   .teaser { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
}

.cfg {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:var(--s-4);
   align-items:start;
}

.cfg > * { min-width: 0; }

.cfg__inputs {
   display:grid;
   gap:0;
   border-top:var(--hair);
}

.cfg__group {
   display:grid;
   gap:0.75rem;
   padding:var(--s-3) 0;
   border:0;
   border-bottom:var(--hair);
   margin:0;
   min-width:0;
}

.cfg__group legend,
.cfg__label {
   display:flex;
   flex-wrap:wrap;
   align-items:baseline;
   justify-content:space-between;
   gap:0.25rem 1rem;
   width:100%;
   padding:0;
   font-family:var(--fabe-79c);
   font-size:1.45rem;
   font-weight:600;
   line-height:1.15;
   color:var(--sand);
}

.cfg__group legend { float: left; margin-bottom: 0.75rem; }
.cfg__group legend + * { clear: both; }

.cfg__step {
   font-family:var(--fabe-2e4);
   font-size:var(--fs-micro);
   font-weight:400;
   letter-spacing:0.06em;
   color:var(--ember);
   margin-right:0.6rem;
}

.cfg__pair {
   display:grid;
   grid-template-columns:minmax(0, 1fr) 6.5rem;
   gap:1rem;
   align-items:center;
}

.cfg__pair .input { text-align: right; font-family: var(--fabe-2e4); }

.cfg__modules {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:0 1.5rem;
}

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

.cfg__modules .check input:disabled { opacity: 0.6; cursor: not-allowed; }
.cfg__modules .check input:disabled:checked { background: var(--olive); border-color: var(--olive); }

.cfg__out {
   display:grid;
   gap:var(--s-3);
   padding:clamp(1.25rem, 3vw, 2rem);
   background:var(--panel);
   border:var(--hair);
   border-top:1px solid var(--ember);
   box-shadow:var(--shadow-2);
}

.cfg__tier {
   display:grid;
   gap:0.25rem;
}

.cfg__tier-name {
   font-family:var(--fabe-79c);
   font-size:clamp(2.4rem, 5vw, 3.6rem);
   font-weight:500;
   line-height:0.95;
   color:var(--sand);
}

.cfg__metrics {
   display:grid;
   grid-template-columns:repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
   gap:var(--s-2) var(--s-3);
}

.cfg__warnings {
   display:grid;
   gap:0.5rem;
   list-style:none;
   margin:0;
   padding:0;
}

.cfg__warnings li {
   padding:0.6rem 0.8rem;
   background:var(--terracotta-soft);
   border-left:2px solid var(--terracotta);
   font-size:0.875rem;
   line-height:1.45;
   color:#EBB49B;
}

.cfg__warnings li.is-ok {
   background:var(--olive-soft);
   border-left-color:var(--olive);
   color:#CFD0A8;
}

.cfg__spec {
   margin:0;
   max-height:16rem;
   overflow:auto;
   white-space:pre-wrap;
   font-size:0.8125rem;
   color:var(--sand-2);
}

.cfg__disclaimer {
   font-family:var(--fabe-2e4);
   font-size:var(--fs-micro);
   letter-spacing:0.04em;
   color:var(--dust);
   padding-top:var(--s-2);
   border-top:var(--hair-soft);
}

@media (min-width: 1100px) {
   .cfg { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--s-5); }
   .cfg__out { position: sticky; top: 2rem; }
}

.refusals__grid {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:var(--s-4) var(--s-5);
   align-items:start;
}

.refusals__grid > * { min-width: 0; }

@media (min-width: 1000px) {
   .refusals__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); }
   .refusals__media { position: sticky; top: 3rem; margin-top: 6rem; }
}

.refusals__media img { aspect-ratio: 4 / 5; object-fit: cover; }

.refusal-list {
   list-style:none;
   margin:0;
   padding:0;
   counter-reset:refusal;
}

.refusal {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:0.6rem;
   padding:var(--s-4) 0;
   border-top:var(--hair);
}

.refusal:last-child { border-bottom: var(--hair); }

.refusal__label {
   font-family:var(--fabe-2e4);
   font-size:var(--fs-micro);
   letter-spacing:var(--track-caps);
   text-transform:uppercase;
   color:#A9AA7C;
}

.refusal__statement {
   font-family:var(--fabe-79c);
   font-size:clamp(1.65rem, 3.6vw, 2.9rem);
   font-weight:500;
   line-height:1.06;
   letter-spacing:-0.015em;
   color:var(--sand);
   max-width:22ch;
}

.refusal__statement em { color: var(--sand-2); }

.refusal__text {
   max-width:54ch;
   color:var(--dust);
   font-size:var(--fs-small);
}

@media (min-width: 760px) {
   .refusal:nth-child(even) .refusal__statement,
   .refusal:nth-child(even) .refusal__text { margin-left: clamp(2rem, 14%, 9rem); }
}

.security__grid {
   display:grid;
   gap:var(--s-4);
   grid-template-columns:repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
}

.security__grid > * { min-width: 0; }

.contact-panel__grid,
.contact-layout {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:var(--s-4) var(--s-5);
   align-items:start;
}

.contact-panel__grid > *,
.contact-layout > * { min-width: 0; }

@media (min-width: 1000px) {
   .contact-panel__grid,
   .contact-layout { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); }
}

.contact-card {
   display:grid;
   gap:var(--s-3);
   align-content:start;
}

.contact-card__row {
   display:grid;
   gap:0.2rem;
   padding-top:var(--s-2);
   border-top:var(--hair);
}

.contact-card__key {
   font-family:var(--fabe-2e4);
   font-size:var(--fs-micro);
   letter-spacing:var(--track-caps);
   text-transform:uppercase;
   color:var(--dust);
}

.contact-card__val {
   font-family:var(--fabe-79c);
   font-size:clamp(1.35rem, 2.4vw, 1.8rem);
   line-height:1.2;
   color:var(--sand);
   overflow-wrap:anywhere;
}

.contact-card__val a {
   display:inline-flex;
   align-items:center;
   min-height:44px;
   text-decoration:none;
   color:var(--sand);
   border-bottom:1px solid transparent;
   transition:color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);
}

.contact-card__val a:hover { color: var(--ochre); border-bottom-color: var(--ochre); }
.contact-card__val a:active { color: var(--ember); }
.contact-card__val a:focus-visible { outline: 2px solid var(--ochre); outline-offset: 2px; }

.form-shell {
   padding:clamp(1.25rem, 4vw, 2.75rem);
   background:var(--panel);
   border:var(--hair);
   border-top:1px solid var(--ember);
   box-shadow:var(--shadow-2);
}

.hours {
   display:grid;
   margin:0;
}

.hours > div {
   display:flex;
   justify-content:space-between;
   gap:1rem;
   padding:0.55rem 0;
   border-bottom:var(--hair-soft);
   font-size:var(--fs-small);
}

.hours dt { color: var(--dust); }
.hours dd { margin: 0; font-family: var(--fabe-2e4); color: var(--ochre); font-size: 0.875rem; text-align: right; }

.feature-rows {
   display:grid;
   gap:0;
   border-top:var(--hair);
}

.feature-row {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:var(--s-3) var(--s-5);
   padding:var(--s-4) 0;
   border-bottom:var(--hair);
}

.feature-row > * { min-width: 0; }

.feature-row__title {
   font-family:var(--fabe-79c);
   font-size:var(--fs-h3);
   font-weight:600;
   line-height:1.12;
}

@media (min-width: 900px) {
   .feature-row { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); }
}

.media-split {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:var(--s-4) var(--s-5);
   align-items:center;
}

.media-split > * { min-width: 0; }

.media-split img { aspect-ratio: 3 / 2; object-fit: cover; }

@media (min-width: 900px) {
   .media-split { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); }
   .media-split--flip > :first-child { order: 2; }
   .media-split--offset .figure { transform: translateY(2.5rem); }
}

.cta-band {
   position:relative;
   padding-block:clamp(3.5rem, 9vh, 6rem);
   border-top:var(--hair);
   background:var(--panel);
}

.cta-band__inner {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:var(--s-3) var(--s-5);
   align-items:end;
}

.cta-band__inner > * { min-width: 0; }

@media (min-width: 900px) {
   .cta-band__inner { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); }
}

.glance {
   position:relative;
   margin-block:var(--s-4) var(--s-5);
   background:var(--panel);
   border:var(--hair);
   border-top:1px solid var(--ember);
   box-shadow:var(--shadow-2);
}

.glance__head {
   display:flex;
   flex-wrap:wrap;
   align-items:baseline;
   justify-content:space-between;
   gap:0.5rem 1.5rem;
   padding:var(--s-3) clamp(1.1rem, 3vw, 2rem);
   border-bottom:var(--hair);
}

.glance__title {
   font-family:var(--fabe-79c);
   font-size:clamp(1.5rem, 3vw, 2.1rem);
   font-weight:600;
   line-height:1.1;
}

.glance__updated {
   font-family:var(--fabe-2e4);
   font-size:var(--fs-micro);
   letter-spacing:0.06em;
   text-transform:uppercase;
   color:var(--dust);
}

.glance__list {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   margin:0;
   counter-reset:glance;
}

.glance__row {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:0.35rem 2rem;
   padding:1.1rem clamp(1.1rem, 3vw, 2rem);
   border-bottom:var(--hair-soft);
   counter-increment:glance;
}

.glance__row:last-child { border-bottom: 0; }

.glance__row:nth-child(even) { background: rgba(236, 226, 206, 0.018); }

.glance__key {
   display:flex;
   align-items:baseline;
   gap:0.75rem;
   font-family:var(--fabe-79c);
   font-size:1.3rem;
   font-weight:600;
   line-height:1.2;
   color:var(--sand);
}

.glance__key::before {
   content:counter(glance, decimal-leading-zero);
   flex:none;
   font-family:var(--fabe-2e4);
   font-size:var(--fs-micro);
   font-weight:400;
   color:var(--ember);
   letter-spacing:0.04em;
}

.glance__val {
   margin:0;
   font-size:var(--fs-small);
   line-height:1.55;
   color:var(--sand-2);
   min-width:0;
   overflow-wrap:anywhere;
}

.glance__val a { color: var(--sand); }

.glance__jump {
   display:inline-flex;
   align-items:center;
   gap:0.35rem;
   min-height:44px;
   margin-top:0.15rem;
   font-family:var(--fabe-2e4);
   font-size:var(--fs-micro);
   letter-spacing:0.06em;
   text-transform:uppercase;
   color:var(--ochre);
   text-decoration:none;
   transition:color var(--dur-2) var(--ease-out);
}

.glance__jump .icon { width: 0.9rem; height: 0.9rem; }
.glance__jump:hover { color: var(--sand); }
.glance__jump:active { color: var(--ember); }
.glance__jump:focus-visible { outline: 2px solid var(--ochre); outline-offset: 2px; }

@media (min-width: 760px) {
   .glance__row { grid-template-columns: minmax(0, 15rem) minmax(0, 1fr); align-items: baseline; }
}

.glance-body {
   max-width:var(--measure);
   margin-inline:0;
}

.glance-body h2 {
   scroll-margin-top:5rem;
   padding-top:var(--s-3);
   border-top:var(--hair);
}

.glance-body h2:first-child { margin-top: 0; }

.glance-body .glance-body__num {
   display:block;
   margin-bottom:0.4rem;
   font-family:var(--fabe-2e4);
   font-size:var(--fs-micro);
   letter-spacing:0.06em;
   color:var(--ember);
}

.glance-figure {
   margin-block:var(--s-4);
   max-width:40rem;
}

.glance-figure img { aspect-ratio: 16 / 9; object-fit: cover; }

.ledger {
   margin-block:var(--s-4);
   border-top:1px solid var(--ember);
   background:var(--panel);
   box-shadow:var(--shadow-1);
}

.ledger__table {
   width:100%;
   table-layout:fixed;
   font-size:var(--fs-small);
   line-height:1.55;
}

.ledger__table caption {
   caption-side:top;
   text-align:left;
   padding:var(--s-3) clamp(1rem, 2.5vw, 1.5rem) var(--s-2);
   font-family:var(--fabe-79c);
   font-size:clamp(1.4rem, 2.6vw, 1.9rem);
   font-weight:600;
   line-height:1.15;
   color:var(--sand);
   background:var(--panel);
}

.ledger__table thead th {
   padding:0.75rem 1rem;
   text-align:left;
   font-family:var(--fabe-2e4);
   font-size:var(--fs-micro);
   font-weight:500;
   letter-spacing:0.08em;
   text-transform:uppercase;
   color:var(--dust);
   background:var(--panel-2);
   border-bottom:var(--hair);
}

.ledger__table thead th:first-child { width: 28%; }
.ledger__table thead th:nth-child(2) { width: 40%; }

.ledger__table tbody th,
.ledger__table tbody td {
   padding:1.1rem 1rem;
   text-align:left;
   vertical-align:top;
   border-bottom:var(--hair-soft);
   overflow-wrap:anywhere;
}

.ledger__table tbody tr { transition: background-color var(--dur-2) var(--ease-out); }
.ledger__table tbody tr:hover { background: rgba(236, 226, 206, 0.025); }

.ledger__table tbody th {
   font-weight:600;
   color:var(--sand);
}

.ledger__clause {
   display:block;
   font-family:var(--fabe-79c);
   font-size:1.25rem;
   font-weight:600;
   line-height:1.2;
}

.ledger__id {
   display:block;
   margin-bottom:0.3rem;
   font-family:var(--fabe-2e4);
   font-size:var(--fs-micro);
   font-weight:400;
   letter-spacing:0.04em;
   color:var(--ember);
}

.ledger__table td { color: var(--sand-2); }

.ledger__why {
   color:var(--dust);
}

.ledger__table code {
   font-size:0.8125rem;
   word-break:break-all;
}

.ledger__status {
   display:inline-flex;
   margin-top:0.45rem;
}

.ledger__prose {
   max-width:var(--measure);
   margin-block:var(--s-4);
   color:var(--sand-2);
}

.ledger__prose > * + * { margin-top: 1em; }

.ledger-summary {
   display:grid;
   grid-template-columns:repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
   gap:var(--s-3);
   margin-block:var(--s-4);
}

.ledger-summary > * { min-width: 0; }

@media (max-width: 759px) {
   .ledger { background: transparent; box-shadow: none; }

   .ledger__table,
   .ledger__table tbody,
   .ledger__table tr,
   .ledger__table th,
   .ledger__table td {
      display:block;
      width:100%;
   }

   .ledger__table caption {
      display:block;
      padding-inline:0;
      background:transparent;
   }

   .ledger__table thead {
      position:absolute;
      width:1px;
      height:1px;
      overflow:hidden;
      clip:rect(0 0 0 0);
      clip-path:inset(50%);
      white-space:nowrap;
   }

   .ledger__table tbody tr {
      margin-bottom:var(--s-2);
      background:var(--panel);
      border:var(--hair);
      border-left:2px solid var(--ember);
   }

   .ledger__table tbody th,
   .ledger__table tbody td {
      padding:0.8rem 1rem;
      border-bottom:var(--hair-soft);
   }

   .ledger__table tbody td:last-child { border-bottom: 0; }

   .ledger__table tbody td[data-label]::before {
      content:attr(data-label);
      display:block;
      margin-bottom:0.3rem;
      font-family:var(--fabe-2e4);
      font-size:var(--fs-micro);
      font-weight:500;
      letter-spacing:0.08em;
      text-transform:uppercase;
      color:var(--ochre);
   }
}

.tabs {
   margin-block:var(--s-4);
}

.tabs__list {
   display:flex;
   flex-wrap:wrap;
   gap:0;
   margin:0;
   padding:0;
   list-style:none;
   border-bottom:var(--hair);
}

.tabs__tab {
   position:relative;
   display:inline-flex;
   align-items:center;
   gap:0.6rem;
   min-height:52px;
   padding:0.7rem 1.15rem;
   background:transparent;
   border:1px solid transparent;
   border-bottom:0;
   border-radius:var(--radius) var(--radius) 0 0;
   font-family:var(--fabe-963);
   font-size:0.9375rem;
   font-weight:500;
   line-height:1.25;
   text-align:left;
   color:var(--dust);
   cursor:pointer;
   transition:color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);
}

.tabs__tab::after {
   content:"";
   position:absolute;
   left:0;
   right:0;
   bottom:-1px;
   height:2px;
   background:var(--ember);
   transform:scaleX(0);
   transform-origin:left center;
   transition:transform var(--dur-3) var(--ease-out);
}

.tabs__num {
   font-family:var(--fabe-2e4);
   font-size:var(--fs-micro);
   color:var(--ochre);
}

.tabs__tab:hover { color: var(--sand); background: rgba(236, 226, 206, 0.03); }
.tabs__tab:active { background: rgba(236, 226, 206, 0.07); color: var(--ember); }
.tabs__tab:focus-visible { outline: 2px solid var(--ochre); outline-offset: -2px; }

.tabs__tab[aria-selected='true'] {
   color:var(--sand);
   background:var(--panel);
   border-color:var(--line);
}

.tabs__tab[aria-selected='true']::after { transform: scaleX(1); }

.tabs__panel {
   padding:clamp(1.5rem, 4vw, 3rem) clamp(1.1rem, 3.5vw, 2.75rem);
   background:var(--panel);
   border:var(--hair);
   border-top:0;
}

.tabs__panel:focus-visible { outline: 2px solid var(--ochre); outline-offset: -2px; }

.tabs__panel-head {
   display:grid;
   gap:0.4rem;
   margin-bottom:var(--s-3);
   padding-bottom:var(--s-3);
   border-bottom:var(--hair-soft);
}

.tabs__panel .prose { max-width: var(--measure); }

.tabs__accordion-btn {
   display:none;
}

.tabs__panel-nav {
   display:flex;
   flex-wrap:wrap;
   justify-content:space-between;
   gap:var(--s-2);
   margin-top:var(--s-4);
   padding-top:var(--s-3);
   border-top:var(--hair-soft);
}

@media (max-width: 767px) {
   .tabs__list { display: none; }

   .tabs__item {
      border-top:var(--hair);
   }

   .tabs__item:last-child { border-bottom: var(--hair); }

   .tabs__accordion-btn {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      width:100%;
      min-height:56px;
      padding:0.9rem 0.25rem;
      text-align:left;
      font-family:var(--fabe-79c);
      font-size:1.35rem;
      font-weight:600;
      line-height:1.2;
      color:var(--sand);
      transition:color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);
   }

   .tabs__accordion-btn .icon {
      width:1.1rem;
      height:1.1rem;
      color:var(--ochre);
      transition:transform var(--dur-2) var(--ease-out);
   }

   .tabs__accordion-btn:hover { color: var(--ochre); background: rgba(236, 226, 206, 0.03); }
   .tabs__accordion-btn:active { color: var(--ember); background: rgba(236, 226, 206, 0.06); }
   .tabs__accordion-btn:focus-visible { outline: 2px solid var(--ochre); outline-offset: -2px; }
   .tabs__accordion-btn[aria-expanded='true'] .icon { transform: rotate(180deg); }
   .tabs__accordion-btn[aria-expanded='true'] { color: var(--sand); }

   .tabs__panel {
      padding:0.5rem 0.25rem var(--s-4);
      background:transparent;
      border:0;
   }

   .tabs__panel-nav { display: none; }
}

html:not(.js) .tabs__list { display: none; }
html:not(.js) .tabs__panel[hidden] { display: block !important; }
html:not(.js) .tabs__panel { border-top: var(--hair); margin-bottom: var(--s-3); }

.faq {
   border-top:var(--hair);
}

.faq__item {
   border-bottom:var(--hair);
}

.faq__q {
   margin:0;
   font-size:inherit;
}

.faq__btn,
.faq__item > summary {
   display:flex;
   align-items:center;
   justify-content:space-between;
   gap:1.25rem;
   width:100%;
   min-height:60px;
   padding:1.1rem 0.25rem;
   text-align:left;
   font-family:var(--fabe-79c);
   font-size:clamp(1.25rem, 2.2vw, 1.6rem);
   font-weight:600;
   line-height:1.2;
   color:var(--sand);
   cursor:pointer;
   list-style:none;
   transition:color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out), padding-left var(--dur-2) var(--ease-out);
}

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

.faq__btn .icon,
.faq__item > summary .icon {
   width:1.15rem;
   height:1.15rem;
   flex:none;
   color:var(--ember);
   transition:transform var(--dur-2) var(--ease-out);
}

.faq__btn:hover,
.faq__item > summary:hover { color: var(--ochre); background: rgba(236, 226, 206, 0.025); padding-left: 0.6rem; }
.faq__btn:active,
.faq__item > summary:active { color: var(--ember); background: rgba(236, 226, 206, 0.05); }
.faq__btn:focus-visible,
.faq__item > summary:focus-visible { outline: 2px solid var(--ochre); outline-offset: -2px; }

.faq__btn[aria-expanded='true'] .icon,
.faq__item[open] > summary .icon { transform: rotate(45deg); }

.faq__a {
   max-width:var(--measure);
   padding:0 0.25rem 1.5rem;
   color:var(--sand-2);
}

.faq__a > * + * { margin-top: 0.8em; }

.notfound,
.thanks {
   min-height:80vh;
   min-height:80svh;
   display:flex;
   align-items:center;
   padding-block:var(--section-pad);
}

.notfound__grid,
.thanks__grid {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:var(--s-4) var(--s-5);
   align-items:center;
   width:100%;
}

.notfound__grid > *,
.thanks__grid > * { min-width: 0; }

.notfound__code {
   font-family:var(--fabe-2e4);
   font-size:var(--fs-meta);
   letter-spacing:var(--track-caps);
   text-transform:uppercase;
   color:var(--ember);
}

.notfound__media img,
.thanks__media img { aspect-ratio: 4 / 3; object-fit: cover; }

@media (min-width: 1200px) {
   .notfound__grid,
   .thanks__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); }
}

.ticket {
   display:inline-flex;
   flex-wrap:wrap;
   align-items:baseline;
   gap:0.5rem 1rem;
   padding:1rem 1.25rem;
   background:var(--panel);
   border:var(--hair);
   border-left:2px solid var(--ember);
}

.ticket__label {
   font-family:var(--fabe-2e4);
   font-size:var(--fs-micro);
   letter-spacing:var(--track-caps);
   text-transform:uppercase;
   color:var(--dust);
}

.ticket__num {
   font-family:var(--fabe-2e4);
   font-size:clamp(1.5rem, 4vw, 2.25rem);
   font-weight:500;
   color:var(--ochre);
   font-feature-settings:'tnum' 1, 'zero' 1;
   overflow-wrap:anywhere;
}

.next-steps {
   list-style:none;
   margin:var(--s-3) 0 0;
   padding:0;
   counter-reset:nstep;
   border-top:var(--hair);
}

.next-steps li {
   display:grid;
   grid-template-columns:2.5rem minmax(0, 1fr);
   gap:1rem;
   padding:0.9rem 0;
   border-bottom:var(--hair-soft);
   counter-increment:nstep;
   color:var(--sand-2);
}

.next-steps li::before {
   content:counter(nstep, decimal-leading-zero);
   font-family:var(--fabe-2e4);
   font-size:var(--fs-meta);
   color:var(--ember);
   padding-top:0.2rem;
}

.about-stats {
   display:grid;
   grid-template-columns:repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
   gap:var(--s-3);
}

.about-stats > * { min-width: 0; }

.section-head {
   display:grid;
   gap:var(--s-2);
   margin-bottom:var(--s-4);
   max-width:60rem;
}

@media (max-width: 359px) {
   .lockup { font-size: 2.35rem; }
   .rail__stamp { font-size: 0.625rem; }
   .tabs__accordion-btn,
   .faq__btn,
   .faq__item > summary { font-size: 1.2rem; }
}

@media print {
   .rail__controls, .rail__foot, .tabs__list, .catalogue-preview { display: none !important; }
   .tabs__panel[hidden] { display: block !important; }
}

/* Privacy: summary-first at-a-glance key/value table, then one prose column */
.glance-table {
   width:100%;
   max-width:52rem;
   border-collapse:collapse;
   border-top:2px solid currentColor;
   font-size:1rem;
   line-height:1.55;
}
.glance-table__caption {
   caption-side:top;
   text-align:left;
   display:flex;
   flex-wrap:wrap;
   align-items:baseline;
   justify-content:space-between;
   gap:.25rem 1rem;
   padding:0 0 .75rem;
}
.glance-table__title {
   font-family:'Cormorant', Georgia, serif;
   font-weight:600;
   font-size:clamp(1.6rem, 1.2rem + 1.4vw, 2.2rem);
   line-height:1.1;
}
.glance-table__updated {
   font-family:'JetBrains Mono', ui-monospace, monospace;
   font-size:.78rem;
   letter-spacing:.06em;
   text-transform:uppercase;
   opacity:.75;
}
.glance-table__head {
   position:absolute;
   width:1px; height: 1px;
   overflow:hidden;
   clip:rect(0 0 0 0);
   white-space:nowrap;
}
.glance-table__row { border-bottom: 1px solid rgba(127,120,110,.35); }
.glance-table__key,
.glance-table__val {
   padding:.95rem 0;
   vertical-align:top;
   text-align:left;
}
.glance-table__key {
   width:13rem;
   padding-right:1.5rem;
   font-family:'JetBrains Mono', ui-monospace, monospace;
   font-size:.8rem;
   font-weight:500;
   letter-spacing:.05em;
   text-transform:uppercase;
}
.glance-table__val { overflow-wrap: anywhere; }
.glance-table__jump {
   display:inline-flex;
   align-items:center;
   gap:.3rem;
   white-space:nowrap;
   font-size:.88rem;
   font-weight:600;
}
.glance-table__jump .icon { width: 1em; height: 1em; }
.glance-body { max-width: 40rem; }
.glance-body section { scroll-margin-top: 1.5rem; }
.glance-body table { width: 100%; border-collapse: collapse; }
.glance-body table th,
.glance-body table td { text-align: left; vertical-align: top; padding: .6rem .75rem .6rem 0; border-bottom: 1px solid rgba(127,120,110,.35); }

@media (max-width: 640px) {
   .glance-table,
   .glance-table tbody,
   .glance-table__row,
   .glance-table__key,
   .glance-table__val { display: block; width: 100%; }
   .glance-table__caption { display: flex; }
   .glance-table__row { padding: .85rem 0; }
   .glance-table__key { padding: 0 0 .3rem; }
   .glance-table__val { padding: 0; }
   .glance-table__jump { white-space: normal; margin-top: .25rem; }
   .glance-body table,
   .glance-body table tbody,
   .glance-body table tr,
   .glance-body table th,
   .glance-body table td { display: block; width: 100%; }
   .glance-body table th { border-bottom: 0; padding-bottom: 0; }
}
@media (max-width: 360px) {
   .glance-table { font-size: .95rem; }
   .glance-table__key { font-size: .74rem; }
}

.seg__opt input,
.cfg input[type='radio'] + span { pointer-events: auto; }
.seg__opt input { pointer-events: none; }
.notfound .lockup { --lockup-indent: 12%; }
@media (min-width: 900px) {
   .hero { padding-bottom: 5.5rem; }
}
.faq__a, .faq__item, .faq__item > summary { position: static; z-index: auto; }
.cta-band { z-index: auto; isolation: isolate; }
.tag, .chip, .badge { flex: none; white-space: nowrap; overflow-wrap: normal; }
@media (max-width: 759px) {
   .demie37 > table.ledger__table,
   .demie37 > table.ledger__table > tbody,
   .demie37 > table.ledger__table tr,
   .demie37 > table.ledger__table th,
   .demie37 > table.ledger__table td { display: block !important; width: 100% !important; min-width: 0 !important; }
   .demie37 > .spec-table td,
   .demie37 > .spec-table th { min-width: 9rem; }
}
@media (max-width: 640px) {
   table.glance-table td, table.glance-table th, table.glance-table tr { display: block !important; width: 100% !important; }
}
@media (max-width: 759px) {
   .ledger__table { table-layout: auto; }
   .ledger__table thead th { width: auto !important; }
}
@media (max-width: 640px) {
   .glance-table__jump { display: inline-flex; width: auto; }
}
