.hero-tight {
   position:relative;
   min-height:calc(100dvh - 3.5rem);
   display:flex;
   flex-direction:column;
   background-color:var(--ground);
   border-bottom:1px solid var(--line);
   overflow:clip;
}

@media (min-width: 64rem) {
   .hero-tight {
      min-height:auto;
      height:auto;
      display:grid;
      grid-template-columns:45fr 55fr;
      align-items:center;
      border-bottom:1px solid var(--line);
   }
}

.hero-left-pane {
   display:flex;
   flex-direction:column;
   justify-content:center;
   padding:clamp(2rem, 5vw, 4.5rem) var(--gutter);
   min-width:0;
   z-index:var(--z-base);
}

.hero-title-lockup {
   margin-bottom:var(--space-4);
   max-width:100%;
}

.hero-title-lockup h1,
.hero-tight h1 {
   view-transition-name:hero-title;
   font-family:var(--beso-19e);
   font-size:clamp(2.125rem, 1.8rem + 2.2vw, 3.75rem);
   line-height:1.04;
   letter-spacing:-0.025em;
   color:var(--ink);
   text-wrap:balance;
   overflow-wrap:break-word;
}

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

.hero-title-line--offset {
   display:block;
   white-space:nowrap;
}

.hero-slash-rule {
   display:block;
   width:clamp(4rem, 14vw, 9rem);
   height:2px;
   background-color:var(--accent);
   margin-block:0.45rem 0.65rem;
}

.hero-lede {
   font-family:var(--beso-701);
   font-size:clamp(1.15rem, 1.08rem + 0.35vw, 1.35rem);
   line-height:1.58;
   color:var(--ink);
   max-width:var(--measure);
   margin-bottom:var(--space-6);
   text-wrap:pretty;
}

.hero-action {
   display:flex;
   align-items:center;
   gap:var(--space-4);
}

.hero-action .btn {
   height:2.875rem;
   min-height:2.875rem;
   padding-inline:1.75rem;
}

.hero-right-pane {
   position:relative;
   min-height:33vh;
   width:100%;
   background-color:var(--surface);
   overflow:clip;
}

@media (min-width: 64rem) {
   .hero-right-pane {
      min-height:100%;
      height:100%;
      border-left:1px solid var(--line);
   }
}

.hero-crop-figure {
   margin:0;
   width:100%;
   height:100%;
   position:relative;
   view-transition-name:hero;
   overflow:clip;
}

.hero-crop-figure img {
   view-transition-name:hero;
}

.hero-crop-figure img,
[data-opening] .hero-crop-figure img,
.hero-crop-figure[data-opening] img {
   width:100%;
   height:100%;
   min-height:33vh;
   object-fit:cover;
   object-position:85% 50%;
   transform:scale(1.06);
   transform-origin:center right;
   display:block;
}

@media (min-width: 64rem) {
   .hero-crop-figure img,
   [data-opening] .hero-crop-figure img,
   .hero-crop-figure[data-opening] img {
      position:relative;
      inset:auto;
      width:100%;
      aspect-ratio:3 / 2;
      min-height:auto;
      height:auto;
      max-height:85vh;
      object-position:44% 37%;
      transform:none;
   }
}

.hero-caption-tag {
   position:absolute;
   right:var(--space-3);
   bottom:var(--space-3);
   background-color:var(--scrim-surface);
   backdrop-filter:blur(8px);
   -webkit-backdrop-filter:blur(8px);

   border:1px solid var(--line);
   border-radius:var(--radius-sm);
   padding:0.35rem 0.65rem;
   font-family:var(--beso-4b5);
   font-size:var(--text-xs);
   color:var(--ink);
   line-height:1.25;
   pointer-events:none;
}

.essay-container {
   width:100%;
   max-width:var(--measure-wide);
   margin-inline:auto;
   padding:var(--space-8) var(--gutter) var(--space-9);
}

@media (min-width: 64rem) {
   .essay-container {
      padding-top:var(--space-8);
      display:grid;
      grid-template-columns:minmax(0, 1fr);
   }

   .essay-container > .essay-flow {
      display:grid;
      grid-template-columns:minmax(0, 44rem) minmax(0, 1fr);
      column-gap:clamp(2rem, 4vw, 4.5rem);
      align-items:start;
      max-width:100%;
   }

   .essay-container > .essay-flow > p,
   .essay-container > .essay-flow > h2,
   .essay-container > .essay-flow > ol,
   .essay-container > .essay-flow > ul,
   .essay-container > .essay-flow > .prose {
      grid-column:1;
      max-width:44rem;

   }

   .essay-container > .essay-flow > .fact-inset {
      grid-column:1 / -1;
      margin-block:var(--space-8) var(--space-7);
   }

   .essay-container > .essay-flow > .essay-quote-block {
      grid-column:1 / -1;
      max-width:54rem;
      margin-block:var(--space-8);
   }
}

.essay-flow {
   max-width:var(--measure);
}

.essay-flow p {
   max-width:var(--measure);
}

.essay-flow > p {
   font-size:var(--text-base);
   line-height:var(--leading-body);
   color:var(--ink);
   margin-bottom:var(--space-5);
   text-wrap:pretty;
}

.essay-flow > p.essay-opening {
   font-size:clamp(1.22rem, 1.15rem + 0.35vw, 1.42rem);
   line-height:1.62;
   color:var(--ink);
   letter-spacing:-0.01em;
}

.essay-flow > p.essay-opening::first-letter {
   float:left;
   font-family:var(--beso-19e);
   font-size:3.4em;
   line-height:0.82;
   padding-top:0.12em;
   padding-right:0.14em;
   padding-bottom:0.02em;
   color:var(--ink);
   font-weight:500;
}

.essay-subhead {
   display:block;
   font-family:var(--beso-19e);
   font-size:clamp(1.45rem, 1.25rem + 0.85vw, 1.95rem);
   font-weight:500;
   line-height:var(--leading-snug);
   color:var(--ink);
   letter-spacing:-0.015em;
   margin-top:var(--space-8);
   margin-bottom:var(--space-4);
   text-wrap:balance;
}

.essay-subhead-minor {
   display:block;
   font-family:var(--beso-19e);
   font-size:var(--text-lg);
   font-weight:600;
   line-height:1.3;
   color:var(--ink);
   margin-top:var(--space-5);
   margin-bottom:var(--space-2);
}

.essay-full-figure {
   margin-block:var(--space-9) var(--space-8);
   width:100%;
   border-top:1px solid var(--line);
   border-bottom:1px solid var(--line);
   padding-block:var(--space-5);
   background-color:var(--surface);
}

.essay-full-figure img {
   width:100%;
   max-height:72dvh;
   object-fit:cover;
   border:1px solid var(--line);
}

.essay-full-figure figcaption {
   margin-top:var(--space-3);

   padding-inline:var(--space-2);
   display:flex;
   flex-wrap:wrap;
   align-items:baseline;
   justify-content:space-between;
   gap:var(--space-2) var(--space-4);
   font-family:var(--beso-4b5);
   font-size:var(--text-xs);
   color:var(--ink-soft);
   line-height:1.4;
   overflow:visible;
   height:auto;
}

.essay-full-figure figcaption strong {
   color:var(--ink);
   font-weight:500;
}

.essay-quote-block {
   margin-block:var(--space-7);
   padding:var(--space-6) var(--space-6) var(--space-6) var(--space-7);
   border-left:4px solid var(--accent);
   background-color:var(--surface);
   border-top:1px solid var(--line);
   border-right:1px solid var(--line);
   border-bottom:1px solid var(--line);
}

.essay-quote-text {
   font-family:var(--beso-19e);
   font-size:clamp(1.25rem, 1.15rem + 0.4vw, 1.55rem);
   font-style:italic;
   line-height:1.45;
   color:var(--ink);
   margin:0;
   text-wrap:pretty;
}

.essay-quote-author {
   margin-top:var(--space-3);
   font-family:var(--beso-4b5);
   font-size:var(--text-xs);
   color:var(--ink-soft);
   text-transform:uppercase;
   letter-spacing:0.06em;
}

.route-section-wrap {
   margin-block:var(--space-9) var(--space-6);
   padding:var(--space-6);
   background-color:var(--surface);
   border-top:2px solid var(--ink);
   border-bottom:1px solid var(--line);
   border-inline:1px solid var(--line);
}

.route-header-block {
   margin-bottom:var(--space-5);
   max-width:var(--measure);
}

.route-header-block h2 {
   font-size:clamp(1.5rem, 1.3rem + 1vw, 2.2rem);
   margin-bottom:var(--space-2);
}

.route-header-block p {
   color:var(--ink-soft);
   font-size:var(--text-base);
}

.route-interactive-display {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:var(--space-6);
   align-items:start;
}

@media (min-width: 68rem) {
   .route-interactive-display {
      grid-template-columns:minmax(0, 1.4fr) minmax(0, 1fr);
   }
}

.route-canvas-box {
   position:relative;
   background-color:var(--ground);
   border:1px solid var(--line);
   padding:var(--space-4);
   aspect-ratio:16 / 11;
   display:flex;
   align-items:center;
   justify-content:center;
   overflow:hidden;
}

.route-svg-board {
   width:100%;
   height:100%;
   overflow:visible;
}

.route-trail-bg {
   fill:none;
   stroke:var(--surface-2);
   stroke-width:4;
   stroke-linecap:round;
   stroke-linejoin:round;
}

.route-trail-draw {
   fill:none;
   stroke:var(--accent);
   stroke-width:4;
   stroke-linecap:round;
   stroke-linejoin:round;
   stroke-dasharray:1000;
   stroke-dashoffset:1000;
   transition:stroke-dashoffset 0.1s linear;
}

.route-stop {
   cursor:default;
   outline:none;
}

.route-stop-outer {
   fill:var(--ground);
   stroke:var(--line);
   stroke-width:2;
   transition:stroke var(--dur-fast) var(--ease-standard),
      fill var(--dur-fast) var(--ease-standard),
      r var(--dur-fast) var(--ease-standard);
}

.route-stop-inner {
   fill:var(--line);
   transition:fill var(--dur-fast) var(--ease-standard),
      r var(--dur-fast) var(--ease-standard);
}

.route-stop.is-active .route-stop-outer {
   stroke:var(--accent);
   fill:var(--ground);
   r:10;
}

.route-stop.is-active .route-stop-inner {
   fill:var(--accent);
   r:5;
}

.route-stop.is-reached .route-stop-outer {
   stroke:var(--accent);
}

.route-stop.is-reached .route-stop-inner {
   fill:var(--accent);
}

.route-stop-text {
   font-family:var(--beso-4b5);
   font-size:11px;
   fill:var(--ink);
   font-weight:500;
}

.route-milestone-panel {
   display:flex;
   flex-direction:column;
   gap:var(--space-3);
}

.route-checkpoint-card {
   padding:var(--space-4);
   background-color:var(--ground);
   border:1px solid var(--line);
   border-left:3px solid transparent;
   transition:border-left-color var(--dur-fast) var(--ease-standard),
      background-color var(--dur-fast) var(--ease-standard);
}

.route-checkpoint-card.is-current {
   border-left-color:var(--accent);
   background-color:#FFFFFF;
}

.route-cp-head {
   display:flex;
   align-items:center;
   justify-content:space-between;
   gap:var(--space-3);
   margin-bottom:var(--space-1);
}

.route-cp-name {
   font-family:var(--beso-19e);
   font-size:var(--text-base);
   font-weight:600;
   color:var(--ink);
}

.route-cp-dist {
   font-family:var(--beso-4b5);
   font-size:var(--text-xs);
   color:var(--accent);
   font-variant-numeric:tabular-nums;
   white-space:nowrap;
}

.route-cp-desc {
   font-size:var(--text-sm);
   line-height:1.45;
   color:var(--ink-soft);
   margin:0;
}

.tool-calculator-section {
   margin-block:var(--space-8);
   padding:var(--space-6);
   background-color:var(--surface);
   border:1px solid var(--line);
   border-top:3px solid var(--ink);
   max-width:var(--measure-wide);
}

.tool-calculator-header {
   margin-bottom:var(--space-5);
   max-width:var(--measure);
}

.tool-calculator-header h2 {
   font-size:clamp(1.5rem, 1.3rem + 1vw, 2.2rem);
   margin-bottom:var(--space-2);
}

.tool-calculator-header p {
   color:var(--ink-soft);
   font-size:var(--text-base);
}

.calc-workbench {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:var(--space-6);
   align-items:start;
}

@media (min-width: 68rem) {
   .calc-workbench {
      grid-template-columns:minmax(0, 1.25fr) minmax(0, 1fr);
   }
}

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

.calc-field-group {
   display:flex;
   flex-direction:column;
   gap:0.35rem;
}

.calc-field-label {
   display:flex;
   align-items:center;
   justify-content:space-between;
   font-family:var(--beso-4b5);
   font-size:var(--text-xs);
   font-weight:500;
   color:var(--ink);
}

.calc-slider-val {
   font-family:var(--beso-4b5);
   font-size:var(--text-sm);
   color:var(--accent);
   font-variant-numeric:tabular-nums;
}

.calc-range-input {
   width:100%;
   min-height:2.75rem;
   background:transparent;
   accent-color:var(--accent);
   cursor:pointer;
}

.calc-addon-grid {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:var(--space-3);
   margin-top:var(--space-2);
}

@media (min-width: 32rem) {
   .calc-addon-grid {
      grid-template-columns:repeat(2, minmax(0, 1fr));
   }
}

.calc-addon-label {
   display:flex;
   align-items:center;
   gap:0.65rem;
   padding:0.65rem 0.85rem;
   background-color:var(--ground);
   border:1px solid var(--line);
   border-radius:var(--radius-sm);
   cursor:pointer;
   min-height:2.75rem;
   transition:border-color var(--dur-fast) var(--ease-standard);
}

.calc-addon-label:hover {
   border-color:var(--ink-soft);
}

.calc-addon-label input[type='checkbox'] {
   width:1.15rem;
   height:1.15rem;
   accent-color:var(--accent);
   flex:none;
}

.calc-addon-info {
   display:flex;
   flex-direction:column;
   min-width:0;
}

.calc-addon-name {
   font-size:var(--text-sm);
   font-weight:500;
   color:var(--ink);
   line-height:1.25;
}

.calc-addon-rate {
   font-family:var(--beso-4b5);
   font-size:var(--text-xs);
   color:var(--ink-soft);
}

.calc-summary-board {
   padding:var(--space-5);
   background-color:var(--ground);
   border:1px solid var(--line);
   border-top:3px solid var(--accent);
   display:flex;
   flex-direction:column;
   gap:var(--space-4);
}

.calc-summary-title {
   font-family:var(--beso-4b5);
   font-size:var(--text-xs);
   text-transform:uppercase;
   letter-spacing:0.08em;
   color:var(--ink-soft);
}

.calc-output-bracket {
   font-family:var(--beso-4b5);
   font-size:clamp(1.85rem, 1.45rem + 1.6vw, 2.75rem);
   font-weight:500;
   line-height:1.08;
   color:var(--ink);
   font-variant-numeric:tabular-nums;
   word-break:break-word;
}

.calc-note-box {
   padding:var(--space-3) var(--space-4);
   background-color:var(--surface);
   border-left:2px solid var(--line);
   font-size:var(--text-sm);
   color:var(--ink);
   line-height:1.45;
}

.calc-param-table {
   width:100%;
   border-collapse:collapse;
   font-size:var(--text-xs);
   font-family:var(--beso-4b5);
}

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

.calc-param-table td {
   padding:0.45rem 0;
   color:var(--ink-soft);
}

.calc-param-table td:last-child {
   text-align:right;
   color:var(--ink);
   font-weight:500;
   font-variant-numeric:tabular-nums;
   white-space:nowrap;
}

.calc-legal-disclaimer {
   font-size:var(--text-xs);
   color:var(--ink-soft);
   line-height:1.45;
   border-top:1px solid var(--line);
   padding-top:var(--space-3);
}

.page-header-band {
   padding-top:clamp(2rem, 4vw, 3.5rem);
   padding-bottom:var(--space-5);
   border-bottom:1px solid var(--line);
   background-color:var(--surface);
}

.page-header-band .container {
   display:flex;
   flex-direction:column;
   gap:var(--space-2);
}

.page-title {
   font-size:clamp(2rem, 1.6rem + 1.8vw, 3.25rem);
   line-height:1.1;
   color:var(--ink);
   max-width:22ch;
   text-wrap:balance;
}

.page-lede {
   font-size:var(--text-lg);
   line-height:1.5;
   color:var(--ink-soft);
   max-width:var(--measure);
}

.fleet-showcase-flow {
   max-width:var(--measure-wide);
   margin-inline:auto;
   padding:var(--space-7) var(--gutter) var(--space-8);
}

.fleet-entry-card {
   margin-bottom:var(--space-8);
   padding-bottom:var(--space-7);
   border-bottom:1px solid var(--line);
}

.fleet-entry-grid {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:var(--space-6);
   align-items:start;
}

@media (min-width: 56rem) {
   .fleet-entry-grid {
      grid-template-columns:minmax(0, 1.25fr) minmax(0, 1fr);
   }
}

.fleet-entry-figure {
   margin:0;
   border:1px solid var(--line);
   background-color:var(--surface);
   overflow:clip;
}

.fleet-entry-figure img {
   width:100%;
   aspect-ratio:16 / 10;
   object-fit:cover;
}

.fleet-entry-caption {
   padding:var(--space-3) var(--space-4);
   font-family:var(--beso-4b5);
   font-size:var(--text-xs);
   color:var(--ink-soft);
   border-top:1px solid var(--line);
   display:flex;
   justify-content:space-between;
   gap:var(--space-2);
}

.fleet-entry-content h2 {
   font-size:clamp(1.65rem, 1.4rem + 1vw, 2.35rem);
   margin-bottom:var(--space-2);
   line-height:1.15;
}

.fleet-rate-headline {
   font-family:var(--beso-4b5);
   font-size:var(--text-lg);
   color:var(--accent);
   font-weight:500;
   margin-bottom:var(--space-4);
   font-variant-numeric:tabular-nums;
}

.fleet-spec-list {
   display:grid;
   grid-template-columns:repeat(2, minmax(0, 1fr));
   gap:var(--space-3) var(--space-4);
   margin-block:var(--space-5);
   padding-block:var(--space-4);
   border-top:1px solid var(--line);
   border-bottom:1px solid var(--line);
}

.fleet-spec-item {
   display:flex;
   flex-direction:column;
   gap:0.15rem;
}

.fleet-spec-k {
   font-family:var(--beso-4b5);
   font-size:var(--text-xs);
   color:var(--ink-soft);
   text-transform:uppercase;
   letter-spacing:0.05em;
}

.fleet-spec-v {
   font-family:var(--beso-4b5);
   font-size:var(--text-sm);
   font-weight:500;
   color:var(--ink);
   font-variant-numeric:tabular-nums;
}

.tour-card-stack {
   margin-block:var(--space-6);
   display:flex;
   flex-direction:column;
   gap:var(--space-7);
}

.tour-card {
   padding:var(--space-5);
   background-color:var(--surface);
   border:1px solid var(--line);
   border-top:2px solid var(--ink);
}

.tour-card-header {
   display:flex;
   flex-wrap:wrap;
   align-items:baseline;
   justify-content:space-between;
   gap:var(--space-2) var(--space-4);
   margin-bottom:var(--space-3);
   padding-bottom:var(--space-3);
   border-bottom:1px solid var(--line);
}

.tour-card-header h2 {
   font-size:clamp(1.4rem, 1.2rem + 0.8vw, 1.85rem);
}

.tour-card-rate {
   font-family:var(--beso-4b5);
   font-size:var(--text-base);
   font-weight:500;
   color:var(--accent);
   font-variant-numeric:tabular-nums;
}

.tour-card-body {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:var(--space-5);
}

@media (min-width: 48rem) {
   .tour-card-body {
      grid-template-columns:minmax(0, 1fr) minmax(0, 1.15fr);
   }
}

.tour-waypoint-tags {
   display:flex;
   flex-wrap:wrap;
   gap:var(--space-2);
   margin-top:var(--space-4);
}

.waypoint-tag {
   display:inline-flex;
   align-items:center;
   gap:0.35rem;
   padding:0.25rem 0.55rem;
   background-color:var(--ground);
   border:1px solid var(--line);
   border-radius:var(--radius-sm);
   font-family:var(--beso-4b5);
   font-size:var(--text-xs);
   color:var(--ink);
}

.depot-overview-grid {
   display:grid;
   grid-template-columns:minmax(0, 1fr);
   gap:var(--space-6);
   margin-block:var(--space-6);
}

@media (min-width: 48rem) {
   .depot-overview-grid {
      grid-template-columns:repeat(2, minmax(0, 1fr));
   }
}

.depot-metric-card {
   padding:var(--space-5);
   background-color:var(--surface);
   border:1px solid var(--line);
   border-top:2px solid var(--accent);
}

.depot-metric-label {
   font-family:var(--beso-4b5);
   font-size:var(--text-xs);
   text-transform:uppercase;
   letter-spacing:0.06em;
   color:var(--ink-soft);
   margin-bottom:var(--space-2);
}

.depot-metric-figure {
   font-family:var(--beso-4b5);
   font-size:clamp(1.85rem, 1.4rem + 1.5vw, 2.5rem);
   font-weight:500;
   color:var(--ink);
   font-variant-numeric:tabular-nums;
   line-height:1.1;
   margin-bottom:var(--space-2);
}

.depot-metric-text {
   font-size:var(--text-sm);
   color:var(--ink-soft);
   line-height:1.5;
   margin:0;
}

.legal-dense-layout {
   width:100%;
   max-width:var(--measure-wide);
   margin-inline:auto;
   padding:var(--space-7) var(--gutter) var(--space-8);
}

.dense-doc-header {
   margin-bottom:var(--space-6);
   padding-bottom:var(--space-4);
   border-bottom:2px solid var(--ink);
}

.dense-doc-header h1 {
   font-size:clamp(1.85rem, 1.5rem + 1.4vw, 2.75rem);
   margin-bottom:var(--space-2);
}

.dense-doc-meta {
   font-family:var(--beso-4b5);
   font-size:var(--text-xs);
   color:var(--ink-soft);
   display:flex;
   flex-wrap:wrap;
   gap:var(--space-2) var(--space-5);
}

.dense-two-col {
   column-count:1;
   column-gap:clamp(2rem, 4vw, 3.5rem);
   column-rule:1px solid var(--line);
   font-size:var(--text-sm);
   line-height:1.58;
   color:var(--ink);
}

@media (min-width: 48rem) {
   .dense-two-col {
      column-count:2;
   }
}

.dense-two-col p {
   max-width:none;
   margin-bottom:var(--space-4);
   break-inside:avoid-column;
   text-align:justify;
   text-justify:inter-word;
   hyphens:none;
}

.dense-runin {
   display:inline;
   font-variant-caps:all-small-caps;
   font-weight:600;
   letter-spacing:0.06em;
   color:var(--ink);
   padding-right:0.35rem;
   font-size:0.98em;
}

.dense-section-anchor {
   display:block;
   break-before:auto;
   margin-top:var(--space-5);
   margin-bottom:var(--space-2);
   padding-top:var(--space-2);
   border-top:1px solid var(--surface-2);
   font-family:var(--beso-19e);
   font-size:1.15rem;
   font-weight:600;
   color:var(--ink);
   break-after:avoid;
}

.dense-table-wrap {
   break-inside:avoid-column;
   margin-block:var(--space-4);
   width:100%;
   overflow-x:auto;
   border-top:1px solid var(--ink);
   border-bottom:1px solid var(--line);
}

.dense-table {
   width:100%;
   border-collapse:collapse;
   font-size:0.78rem;
   font-family:var(--beso-4b5);
}

.dense-table th,
.dense-table td {
   padding:0.45rem 0.6rem;
   border-bottom:1px solid var(--line);
   text-align:left;
   vertical-align:top;
}

.dense-table th {
   background-color:var(--surface);
   color:var(--ink);
   font-weight:600;
   white-space:nowrap;
}

.pinned-chips-bar {
   position:sticky;
   top:0;
   z-index:var(--z-sticky);
   background-color:var(--scrim-surface);
   backdrop-filter:blur(8px);
   -webkit-backdrop-filter:blur(8px);
   border-bottom:1px solid var(--line);
   box-shadow:0 2px 8px rgba(39, 41, 43, 0.05);
}

.chips-scroller {
   display:flex;
   align-items:center;
   gap:var(--space-2);
   overflow-x:auto;
   padding:0.65rem var(--gutter);
   max-width:var(--measure-wide);
   margin-inline:auto;
   -webkit-overflow-scrolling:touch;
   scrollbar-width:none;
}

.chips-scroller::-webkit-scrollbar {
   display:none;
}

.jump-chip {
   display:inline-flex;
   align-items:center;
   min-height:2.75rem;
   padding:0.35rem 0.95rem;
   font-family:var(--beso-4b5);
   font-size:var(--text-xs);
   font-weight:500;
   color:var(--ink);
   background-color:var(--ground);
   border:1px solid var(--line);
   border-radius:var(--radius-sm);
   text-decoration:none;
   white-space:nowrap;
   flex:none;
   transition:background-color var(--dur-fast) var(--ease-standard),
      border-color var(--dur-fast) var(--ease-standard),
      color var(--dur-fast) var(--ease-standard);
}

.jump-chip:hover {
   background-color:var(--surface);
   border-color:var(--ink-soft);
   color:var(--ink);
}

.jump-chip:active {
   background-color:var(--surface-2);
   border-color:var(--ink);
   color:var(--accent);
}

.jump-chip.is-active {
   background-color:var(--accent);
   border-color:var(--accent);
   color:var(--accent-ink);
}

.jump-chip.is-active:hover {
   background-color:var(--accent-hover);
   border-color:var(--accent-hover);
   color:var(--accent-ink);
}

.chips-doc-content {
   max-width:var(--measure);
   margin-inline:auto;
   padding:var(--space-7) var(--gutter) var(--space-9);
}

.chip-target-section {
   padding-top:var(--space-7);
   margin-top:var(--space-7);
   border-top:1px solid var(--line);
   scroll-margin-top:5rem;
}

.chip-target-section:first-of-type {
   border-top:0;
   padding-top:0;
   margin-top:0;
}

.section-standfirst {
   font-family:var(--beso-19e);
   font-size:clamp(1.2rem, 1.1rem + 0.3vw, 1.45rem);
   line-height:1.45;
   color:var(--ink);
   font-style:italic;
   margin-bottom:var(--space-4);
   text-wrap:pretty;
}

.cookie-registry-wrap {
   width:100%;
   overflow-x:auto;
   margin-block:var(--space-5);
   border:1px solid var(--line);
   border-top:2px solid var(--ink);
   background-color:var(--surface);
}

.cookie-registry-table {
   width:100%;
   border-collapse:collapse;
   font-size:var(--text-xs);
   font-family:var(--beso-4b5);
}

.cookie-registry-table th,
.cookie-registry-table td {
   padding:0.65rem 0.85rem;
   border-bottom:1px solid var(--line);
   text-align:left;
   vertical-align:top;
}

.cookie-registry-table th {
   background-color:var(--surface-2);
   color:var(--ink);
   font-weight:600;
   white-space:nowrap;
}

.questions-doc-content {
   max-width:var(--measure);
   margin-inline:auto;
   padding:var(--space-7) var(--gutter) var(--space-9);
}

.question-item-block {
   margin-bottom:var(--space-7);
   padding-bottom:var(--space-6);
   border-bottom:1px solid var(--line);
}

.plain-question {
   font-family:var(--beso-19e);
   font-size:clamp(1.6rem, 1.35rem + 1vw, 2.25rem);
   font-weight:500;
   line-height:1.18;
   color:var(--ink);
   margin-bottom:var(--space-3);
   letter-spacing:-0.015em;
   text-wrap:balance;
}

.plain-answer {
   font-size:var(--text-base);
   line-height:var(--leading-body);
   color:var(--ink);
}

.plain-answer p + p {
   margin-top:var(--space-4);
}

.charter-inquiry-box {
   margin-block:var(--space-8);
   padding:var(--space-6);
   background-color:var(--surface);
   border:1px solid var(--line);
   border-top:3px solid var(--accent);
}

.charter-inquiry-header {
   margin-bottom:var(--space-5);
   max-width:var(--measure);
}

.charter-inquiry-header h2 {
   font-size:clamp(1.5rem, 1.3rem + 1vw, 2.2rem);
   margin-bottom:var(--space-2);
}

.charter-inquiry-header p {
   color:var(--ink-soft);
   font-size:var(--text-base);
}

.error-scene {
   min-height:60dvh;
   display:flex;
   flex-direction:column;
   justify-content:center;
   align-items:flex-start;
   max-width:var(--measure);
   margin-inline:auto;
   padding:var(--space-8) var(--gutter);
}

.error-code-badge {
   font-family:var(--beso-4b5);
   font-size:clamp(3rem, 2.2rem + 3.5vw, 6rem);
   font-weight:500;
   line-height:1;
   color:var(--accent);
   letter-spacing:-0.03em;
   margin-bottom:var(--space-3);
}

.error-scene h1 {
   font-size:clamp(1.75rem, 1.45rem + 1.2vw, 2.5rem);
   margin-bottom:var(--space-3);
}

.error-scene p {
   color:var(--ink-soft);
   font-size:var(--text-lg);
   margin-bottom:var(--space-6);
}

@media (min-width: 64rem) {
   .site-workspace .page-header-band {
      padding-top:var(--space-6);
   }
}

@media (max-width: 48rem) {
   .hero-tight {
      min-height:auto;
   }

   .hero-left-pane {
      padding-block:var(--space-6);
   }

   .hero-right-pane {
      min-height:38vh;
      border-top:1px solid var(--line);
   }

   .route-section-wrap,
   .tool-calculator-section,
   .charter-inquiry-box {
      padding:var(--space-4);
      margin-block:var(--space-6);
   }

   .essay-container,
   .fleet-showcase-flow,
   .legal-dense-layout,
   .chips-doc-content,
   .questions-doc-content {
      padding-block:var(--space-6);
   }
}

@media (max-width: 22rem) {
   .hero-title-lockup h1 {
      font-size:1.85rem;
   }

   .calc-output-bracket {
      font-size:1.6rem;
   }

   .calc-param-table td {
      padding:0.35rem 0;
      font-size:0.68rem;
   }

   .btn {
      width:100%;
   }
}
