/* Park City Incline: the bespoke look. Palette from their badge: navy mountain, orange-to-red stairs, pine, snow. */
@font-face { font-family: "Fraunces"; src: url("/fonts/fraunces-normal-300-700.woff2") format("woff2"); font-weight: 300 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Fraunces"; src: url("/fonts/fraunces-italic-300-700.woff2") format("woff2"); font-weight: 300 700; font-style: italic; font-display: swap; }
@font-face { font-family: "Inter"; src: url("/fonts/inter-400-700.woff2") format("woff2"); font-weight: 400 700; font-display: swap; }

:root {
  --navy: #13233f; --navy-2: #1c3157; --snow: #f6f3ec; --paper: #fffdf8; --stone: #ebe5d8;
  --orange: #f08a1c; --red: #e0452b; --rust: #b23c12; --pine: #2c5e3c; --sky: #3d86b0;
  --step: linear-gradient(90deg, #f6a21e, #e8432a);
  --k-ink: #18202e; --k-muted: #4f5868; --k-paper: var(--paper); --k-surface: var(--snow); --k-line: #ddd5c5;
  --k-accent: var(--navy); --k-accent-ink: #fff; --k-accent-2: #f39a22; --k-dark: var(--navy); --k-dark-ink: #f6f3ec; --k-dark-muted: #c3cad8;
  --k-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --k-display: "Fraunces", Georgia, serif; --k-display-weight: 600;
  --k-radius: 10px; --k-radius-lg: 18px; --k-sec-pad: clamp(52px, 8vw, 104px);
  --k-dock-cta-bg: var(--step); --k-dock-cta-ink: var(--navy); --k-head-em: var(--rust);
  --k-scroll-pad: 82px;
}
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; background: var(--snow); color: var(--k-ink); font: 400 1rem/1.6 var(--k-font); overflow-x: clip; }
img { max-width: 100%; height: auto; display: block; }
h1, h2, h3 { font-family: var(--k-display); font-weight: 600; letter-spacing: -.012em; }
h2 em, h1 em, h3 em { font-style: italic; font-weight: 500; }
a { color: var(--rust); }
.k-ready .ed-only { display: none; }
.sec { padding: var(--k-sec-pad) 0; }
.lede { font-size: 1.1rem; color: var(--k-muted); max-width: 680px; }
.fine { font-size: .8rem; color: var(--k-muted); margin-top: 22px; max-width: 900px; }

/* the motif: three ascending steps from the logo, used as the eyebrow mark */
.stepmark { display: inline-flex; align-items: flex-end; gap: 2px; margin-right: 10px; vertical-align: -1px; }
.stepmark i { width: 7px; background: var(--step); border-radius: 1px; }
.stepmark i:nth-child(1) { height: 5px; } .stepmark i:nth-child(2) { height: 9px; } .stepmark i:nth-child(3) { height: 13px; }
.eyebrow, .k-eyebrow { font: 700 .76rem/1.2 var(--k-font); letter-spacing: .16em; text-transform: uppercase; color: var(--rust); margin: 0 0 14px; }
.eyebrow--light { color: #ffc27a; }

/* buttons */
.k-btn { font-family: var(--k-font); font-weight: 700; }
.k-btn--go { background: var(--step); color: var(--navy); }
.k-btn--glass { background: rgba(255, 255, 255, .12); color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.k-btn:hover { filter: brightness(1.06); transform: translateY(-1px); }

/* header */
.k-top { --k-top-bg: rgba(19, 35, 63, .92); --k-top-ink: #f6f3ec; --k-top-line: rgba(255, 255, 255, .08); }
.k-top__row { min-height: 62px; }
.brand { gap: 10px; font: 600 1.18rem/1 var(--k-display); color: #fff; }
.brand { min-height: 44px; }
.brand img { width: 38px; height: 38px; }
.brand b { font-weight: 700; color: #ffb25a; }
.k-top__nav a { color: #e9edf4; font-size: .92rem; padding: 10px 0; }
.k-top .k-btn { background: var(--step); color: var(--navy); }

/* hero */
.hero { position: relative; min-height: min(92svh, 860px); display: flex; align-items: flex-end; color: #fff; overflow: hidden; background: var(--navy); }
.hero__img, .hero__img img { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero__img img { object-fit: cover; object-position: 58% 50%; animation: settle 1.6s var(--k-ease) both; }
@keyframes settle { from { transform: scale(1.06); } to { transform: none; } }
.hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 20, 38, .78) 0%, rgba(10, 20, 38, .45) 45%, rgba(10, 20, 38, 0) 75%), linear-gradient(0deg, rgba(10, 20, 38, .85) 0%, rgba(10, 20, 38, 0) 55%); }
.hero__inner { position: relative; padding-top: 80px; padding-bottom: clamp(40px, 6vw, 72px); }
.hero h1 { font-size: clamp(2.6rem, 7.4vw, 5.8rem); line-height: .98; margin: 0 0 18px; max-width: 12ch; text-wrap: balance; }
.hero h1 em { color: #ffb25a; }
.hero__sub { font-size: clamp(1.02rem, 1.6vw, 1.22rem); max-width: 34rem; color: #e8ecf3; margin: 0 0 24px; }
.hero__ctas { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
.hero__line { display: block; width: min(560px, 100%); height: 34px; overflow: visible; }
.hero__line path { fill: none; stroke: url(#stepg); stroke-width: 4; stroke-linejoin: miter; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 1; animation: draw 1.6s .4s var(--k-ease) forwards; }
@keyframes draw { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .hero__line path { animation: none; stroke-dashoffset: 0; } .hero__img img { animation: none; } }
.hero__facts { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 34px; }
.hero__facts b { display: block; font: 600 clamp(1.25rem, 2.4vw, 1.7rem)/1.1 var(--k-display); }
.hero__facts span { font-size: .84rem; color: #cfd6e2; }
.hero__tag { position: absolute; right: 14px; bottom: 12px; margin: 0; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .72); }
@media (max-width: 719px) {
  .hero { min-height: calc(100svh - 62px); }
  .hero__img img { object-position: 62% 50%; }
  .hero__shade { background: linear-gradient(0deg, rgba(10, 20, 38, .92) 0%, rgba(10, 20, 38, .6) 52%, rgba(10, 20, 38, .1) 80%); }
  .hero__inner { padding-top: 56px; padding-bottom: 96px; }
  .hero h1 { font-size: clamp(2.45rem, 11.5vw, 3.2rem); }
  .hero__sub { font-size: 1rem; margin-bottom: 18px; }
  .hero__ctas { margin-bottom: 18px; }
  .hero__ctas .k-btn { flex: 1 1 100%; }
  .hero__facts { gap: 6px 18px; }
  .hero__facts li { flex: 1 1 0; min-width: 0; }
  .hero__facts li:first-child { flex-grow: 1.5; }
  .hero .eyebrow { letter-spacing: .1em; font-size: .7rem; }
  .hero__facts span { font-size: .74rem; display: block; line-height: 1.25; }
  .hero__facts b { font-size: 1.05rem; }
  .hero__tag { top: 10px; bottom: auto; right: 10px; font-size: .6rem; }
}

/* What / why / where: three ascending steps */
.what { background: var(--snow); }
.what__head h2, .econ__head h2, .where__head h2 { font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.04; margin: 0; }
.what__head h2 em, .econ__head h2 em, .where__head h2 em { color: var(--rust); }
.steps { list-style: none; margin: 34px 0 0; padding: 0; display: grid; gap: 14px; counter-reset: s; }
.steps__i { position: relative; background: var(--paper); border-radius: var(--k-radius); padding: 22px 22px 22px 26px; box-shadow: 0 1px 0 var(--k-line); border-left: 4px solid; border-image: linear-gradient(180deg, #f6a21e, #e8432a) 1; }
.steps__n { font: 700 .74rem/1 var(--k-font); letter-spacing: .14em; text-transform: uppercase; color: var(--rust); }
.steps__i h3 { font-size: 1.5rem; line-height: 1.12; margin: 10px 0 8px; }
.steps__i h3 em { color: var(--pine); }
.steps__i p { margin: 0; color: var(--k-muted); }
@media (min-width: 900px) {
  .steps { grid-template-columns: repeat(3, 1fr); gap: 18px; align-items: end; }
  .steps__i { border-left: 0; border-top: 4px solid; border-image: var(--step) 1; padding: 26px; }
  .steps__i:nth-child(1) { margin-top: 72px; } .steps__i:nth-child(2) { margin-top: 36px; }
}
.what__fine { color: var(--k-muted); font-size: .92rem; margin: 22px 0 0; max-width: 720px; }

/* Manitou */
.manitou { background: var(--navy); color: #e8ecf3; }
.manitou__grid { display: grid; gap: 28px; align-items: center; }
@media (min-width: 900px) { .manitou__grid { grid-template-columns: .9fr 1.1fr; gap: 56px; } }
.manitou__photo { margin: 0; position: relative; border-radius: var(--k-radius-lg); overflow: hidden; }
.manitou__photo img { width: 100%; aspect-ratio: 4 / 3.4; object-fit: cover; }
figcaption { font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; }
.manitou__photo figcaption, .build__photo figcaption, .ask__photo figcaption { position: absolute; left: 10px; bottom: 10px; background: rgba(10, 20, 38, .7); color: #fff; padding: 5px 9px; border-radius: 6px; }
.manitou h2 { font-size: clamp(1.9rem, 4.4vw, 3.1rem); line-height: 1.05; margin: 0 0 18px; color: #fff; }
.manitou h2 em { color: #ffb25a; }
.manitou__copy p { margin: 0 0 14px; }
.nums { list-style: none; padding: 0; margin: 44px 0 0; display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid rgba(255, 255, 255, .16); }
.nums li { padding: 22px 12px 18px 0; border-bottom: 1px solid rgba(255, 255, 255, .16); }
.nums b { display: block; font: 600 clamp(1.8rem, 5vw, 3.4rem)/1 var(--k-display); color: #fff; }
.nums b::after { content: ""; display: block; width: 46px; height: 4px; background: var(--step); margin-top: 12px; }
.nums span { display: block; margin-top: 10px; font-size: .88rem; color: #c3cad8; }
@media (min-width: 900px) { .nums { grid-template-columns: repeat(4, 1fr); } }
.real { margin-top: 30px; display: grid; gap: 10px; }
.real p { margin: 0; color: #c3cad8; max-width: 760px; }
.real b { color: #fff; }
.real ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.real a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; color: #fff; text-decoration: none; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3); font-size: .9rem; }
.real a:hover { box-shadow: inset 0 0 0 1.5px #ffb25a; }

/* Why here */
.why { background: var(--snow); padding-bottom: var(--k-sec-pad); }
.why__band { position: relative; min-height: clamp(380px, 56vw, 600px); display: flex; align-items: flex-end; color: #fff; overflow: hidden; }
.why__band > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.why__band::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(10, 20, 38, .88), rgba(10, 20, 38, .1) 70%); }
.why__quote { position: relative; z-index: 2; padding-bottom: clamp(30px, 5vw, 56px); }
.why__quote h2 { font-size: clamp(1.8rem, 4.6vw, 3.4rem); line-height: 1.06; margin: 0; max-width: 20ch; }
.why__quote h2 em { color: #ffb25a; }
.why__list { display: grid; gap: 0 48px; margin-top: 36px; }
.why__list > div { padding: 18px 0; border-top: 1px solid var(--k-line); }
.why__list h3 { font-size: 1.3rem; margin: 0 0 6px; }
.why__list p { margin: 0; color: var(--k-muted); }
@media (min-width: 900px) { .why__list { grid-template-columns: 1fr 1fr; } }

/* Economy */
.econ { background: var(--paper); }
.econ__nums { list-style: none; padding: 0; margin: 36px 0 0; display: grid; gap: 14px; }
.econ__nums li { padding: 22px; background: var(--snow); border-radius: var(--k-radius); }
.econ__nums b { display: block; font: 600 clamp(2.2rem, 5vw, 3.2rem)/1 var(--k-display); background: var(--step); -webkit-background-clip: text; background-clip: text; color: transparent; }
.econ__nums h3 { font: 700 1rem/1.3 var(--k-font); margin: 10px 0 4px; }
.econ__nums p { margin: 0; color: var(--k-muted); font-size: .94rem; }
@media (min-width: 640px) { .econ__nums { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .econ__nums { grid-template-columns: repeat(4, 1fr); } }
.econ__two { display: grid; gap: 22px 48px; margin-top: 32px; }
.econ__two h3 { font-size: 1.35rem; margin: 0 0 8px; }
.econ__two p { margin: 0; color: var(--k-muted); }
@media (min-width: 900px) { .econ__two { grid-template-columns: 1fr 1fr; } }
/* the step gradient as text fails contrast on light grounds for small sizes; it is only used at display size */

/* Build + gallery */
.build { background: var(--navy-2); color: #e8ecf3; }
.build__grid { display: grid; gap: 28px; align-items: center; }
@media (min-width: 900px) { .build__grid { grid-template-columns: .95fr 1.05fr; gap: 52px; } }
.build h2 { font-size: clamp(1.9rem, 4.4vw, 3.1rem); line-height: 1.05; margin: 0 0 18px; color: #fff; }
.build h2 em { color: #ffb25a; }
.build__list { margin: 0; padding: 0; list-style: none; counter-reset: b; }
.build__list li { counter-increment: b; position: relative; padding: 12px 0 12px 46px; border-top: 1px solid rgba(255, 255, 255, .14); }
.build__list li::before { content: counter(b, decimal-leading-zero); position: absolute; left: 0; top: 13px; font: 600 1.05rem/1 var(--k-display); color: #ffb25a; }
.build__list b { color: #fff; }
.build__photo { margin: 0; position: relative; border-radius: var(--k-radius-lg); overflow: hidden; }
.build__photo img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.gal { margin-top: 48px; }
.gal__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 24px; margin-bottom: 16px; }
.gal__head h3 { font-size: clamp(1.5rem, 3vw, 2rem); margin: 0; color: #fff; }
.gal__head p { margin: 0; font-size: .86rem; color: #c3cad8; max-width: 560px; }
.gal__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; grid-auto-flow: dense; }
.gal__i { position: relative; padding: 0; border: 0; border-radius: 10px; overflow: hidden; cursor: zoom-in; background: #0d1a30; aspect-ratio: 4 / 3; }
.gal__i--wide { grid-column: span 2; aspect-ratio: 16 / 8; }
.gal__i img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--k-ease); }
.gal__i:hover img { transform: scale(1.04); }
.gal__i span { position: absolute; left: 8px; bottom: 8px; right: 8px; text-align: left; font: 600 .78rem/1.25 var(--k-font); color: #fff; text-shadow: 0 1px 6px rgba(0, 0, 0, .7); }
@media (min-width: 900px) { .gal__grid { grid-template-columns: repeat(4, 1fr); gap: 10px; } .gal__i span { font-size: .86rem; } }

/* Where: the corridor compare (signature) */
.where { background: var(--snow); }
.cx { display: grid; gap: 18px; margin-top: 30px; }
@media (min-width: 1000px) { .cx { grid-template-columns: minmax(300px, 380px) 1fr; gap: 28px; align-items: start; } .cx__list { position: sticky; top: 84px; } }
.cx__list { display: grid; gap: 6px; }
.cx__row { display: grid; grid-template-columns: 1fr 64px; grid-template-areas: "name pct" "bar bar"; gap: 6px 10px; align-items: center; width: 100%; min-height: 64px; padding: 10px 14px; border: 0; border-radius: var(--k-radius); background: var(--paper); text-align: left; font: inherit; color: inherit; cursor: pointer; box-shadow: inset 0 0 0 1px var(--k-line); transition: box-shadow .2s, background .2s; }
.cx__row:hover { box-shadow: inset 0 0 0 1.5px var(--orange); }
.cx__row.is-on { background: var(--navy); color: #fff; box-shadow: none; }
.cx__row:focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; }
.cx__name { grid-area: name; min-width: 0; }
.cx__name b { display: block; font: 700 .98rem/1.2 var(--k-font); }
.cx__name small { display: block; font-size: .78rem; color: var(--k-muted); margin-top: 2px; }
.cx__row.is-on .cx__name small { color: #c3cad8; }
.cx__bar { grid-area: bar; height: 6px; border-radius: 3px; background: color-mix(in srgb, var(--navy) 10%, transparent); overflow: hidden; }
.cx__row.is-on .cx__bar { background: rgba(255, 255, 255, .16); }
.cx__bar i { display: block; height: 100%; background: var(--step); border-radius: 3px; }
.cx__pct { grid-area: pct; text-align: right; font: 600 1.3rem/1 var(--k-display); }
.cx__pct small { display: block; font: 500 .72rem/1.2 var(--k-font); color: var(--k-muted); margin-top: 3px; }
.cx__row.is-on .cx__pct small { color: #c3cad8; }
.cx__row--ref { cursor: default; background: transparent; box-shadow: inset 0 0 0 1px var(--k-line); box-shadow: none; border: 1px dashed #b8ad97; }
.cx__row--ref .cx__bar i { background: repeating-linear-gradient(90deg, #8a8170 0 6px, transparent 6px 10px); }
.cx__view { min-width: 0; background: var(--paper); border-radius: var(--k-radius-lg); padding: clamp(14px, 3vw, 28px); box-shadow: 0 1px 0 var(--k-line), 0 30px 60px -40px rgba(19, 35, 63, .4); }
.cx__fig { margin: 0 0 18px; }
.cx__fig svg { width: 100%; height: auto; display: block; }
.cx__fig figcaption { text-transform: none; letter-spacing: 0; font-size: .76rem; color: var(--k-muted); margin-top: 6px; }
.cx__grid line { stroke: #e3dccd; stroke-width: 1; }
.cx__grid .cx__base { stroke: #9a917f; stroke-width: 1.5; }
.cx__grid text { font: 500 13px var(--k-font); fill: #8a8170; }
.cx__man { stroke: #8a8170; stroke-width: 2; stroke-dasharray: 7 7; fill: none; }
.cx__mant { font: 600 14px var(--k-font); fill: #6f6757; }
.cx__p { opacity: 0; transition: opacity .3s; }
.cx__p.is-on { opacity: 1; }
.cx__area { fill: url(#cxa); }
.cx__steps { fill: none; stroke: url(#cxg); stroke-width: 5; stroke-linejoin: miter; stroke-dasharray: 1; stroke-dashoffset: 0; }
.cx__p.is-drawing .cx__steps { animation: cxdraw 1.1s var(--k-ease) both; }
@keyframes cxdraw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .cx__p.is-drawing .cx__steps { animation: none; } }
.cx__p circle { fill: var(--red); stroke: #fff; stroke-width: 3; }
.cx__p text { font: 700 19px var(--k-display); fill: var(--navy); }
.cx__d h3 { font-size: clamp(1.6rem, 3.4vw, 2.3rem); line-height: 1.08; margin: 0 0 14px; }
.cx__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 0 12px; }
.cx__stats div { background: var(--snow); border-radius: 8px; padding: 10px 12px; min-width: 0; }
.cx__stats dt { font-size: .72rem; color: var(--k-muted); line-height: 1.25; }
.cx__stats dd { margin: 4px 0 0; font: 600 1.35rem/1.1 var(--k-display); }
.cx__stats dd small { font: 500 .78rem var(--k-font); color: var(--k-muted); }
.cx__note { font-size: .84rem; color: var(--rust); margin: 0 0 10px; }
.cx__finish { margin: 0 0 14px; }
.cx__cols { display: grid; gap: 12px; }
.cx__cols h4 { margin: 0 0 4px; font: 700 .76rem/1.2 var(--k-font); letter-spacing: .12em; text-transform: uppercase; color: var(--pine); }
.cx__cols p { margin: 0; color: var(--k-muted); font-size: .95rem; }
@media (min-width: 760px) { .cx__cols { grid-template-columns: repeat(3, 1fr); gap: 20px; } }
.cx__land { display: flex; flex-wrap: wrap; gap: 6px 20px; font-size: .88rem; color: var(--k-muted); margin: 16px 0; padding-top: 12px; border-top: 1px solid var(--k-line); }
.cx__land b { color: var(--k-ink); margin-right: 4px; }
.cx__acts { display: flex; flex-wrap: wrap; gap: 10px; }
.cx__acts .k-btn--line { color: var(--navy); }
.where__notes { display: grid; gap: 14px 40px; margin-top: 28px; color: var(--k-muted); font-size: .94rem; }
.where__notes p { margin: 0; }
.where__notes b { color: var(--k-ink); }
@media (min-width: 900px) { .where__notes { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .cx__grid text { font-size: 26px; } .cx__mant { font-size: 26px; } .cx__p text { font-size: 34px; } .cx__steps { stroke-width: 8; } .cx__p circle { r: 11; } }
@media (max-width: 520px) { .cx__stats dd { font-size: 1.1rem; } .cx__stats div { padding: 8px; } .cx__acts .k-btn { flex: 1 1 100%; } }

/* FAQ */
.k-faq { background: var(--paper); }
.k-head h2 em { color: var(--rust); }

/* The ask */
.ask { background: var(--snow); }
.ask__grid { display: grid; gap: 24px; align-items: start; }
@media (min-width: 900px) { .ask__grid { grid-template-columns: 1fr 1fr; gap: 44px; } }
.ask__photo { margin: 0 0 22px; position: relative; border-radius: var(--k-radius-lg); overflow: hidden; }
.ask__photo img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.ask .k-head { margin-bottom: 16px; }
.ask__share { margin: 0 0 10px; }
.ask__share .k-btn { color: var(--navy); }
.ask__press { font-size: .92rem; color: var(--k-muted); margin: 0; }
.ask .k-book__grid { display: block; }
.k-formcard { box-shadow: 0 30px 60px -36px rgba(19, 35, 63, .6); }
.k-chips span { min-height: 44px; display: inline-flex; align-items: center; }
.k-done h3 em { color: #ffb25a; }

/* lightbox */
.lb { position: fixed; inset: 0; z-index: 80; background: rgba(8, 15, 28, .95); display: grid; place-items: center; padding: 56px 12px 20px; }
.lb[hidden] { display: none; }
.lb figure { margin: 0; max-width: min(1400px, 100%); display: grid; gap: 10px; justify-items: center; }
.lb img { max-height: calc(100svh - 160px); width: auto; border-radius: 8px; }
.lb figcaption { color: #e8ecf3; text-transform: none; letter-spacing: 0; font-size: .95rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 14px; text-align: center; }
.lb__x { position: absolute; top: 8px; right: 10px; width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #fff; font-size: 1.8rem; cursor: pointer; }
.lb__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 64px; border: 0; border-radius: 10px; background: rgba(255, 255, 255, .1); color: #fff; font-size: 2rem; cursor: pointer; }
.lb__prev { left: 8px; } .lb__next { right: 8px; }
@media (max-width: 719px) { .lb__nav { top: auto; bottom: 14px; transform: none; } .lb { padding-bottom: 90px; } }

/* footer */
.foot { --k-foot-bg: #0d192e; }
.foot__grid { display: grid; gap: 28px; }
@media (min-width: 900px) { .foot__grid { grid-template-columns: 1.4fr 1fr; gap: 56px; } }
.foot__brand { display: flex; gap: 18px; align-items: flex-start; }
.foot__brand img { width: 120px; flex: 0 0 auto; border-radius: 10px; }
.foot__brand p { margin: 0 0 8px; }
.foot__line { font: 600 1.5rem/1.15 var(--k-display); color: #fff; }
.foot__line em { color: #ffb25a; }
.foot__links { display: grid; gap: 2px; align-content: start; }
.foot__links a { display: inline-flex; align-items: center; min-height: 40px; text-decoration: none; }
.foot__links a:hover { text-decoration: underline; }
@media (max-width: 520px) { .foot__brand { flex-direction: column; } .foot__brand img { width: 110px; } }

/* /brief/ page */
.brief-hero { position: relative; color: #fff; background: var(--navy); overflow: hidden; }
.brief-hero__img, .brief-hero__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.brief-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 20, 38, .9), rgba(10, 20, 38, .55)); }
.brief-hero__inner { position: relative; z-index: 1; padding-top: clamp(56px, 9vw, 120px); padding-bottom: clamp(44px, 6vw, 80px); }
.brief-hero h1 { font-size: clamp(2.1rem, 5.6vw, 4rem); line-height: 1.02; margin: 0 0 16px; max-width: 18ch; }
.brief-hero h1 em { color: #ffb25a; }
.brief-hero p { max-width: 640px; color: #e8ecf3; margin: 0 0 22px; }
.brief { background: var(--snow); }
.brief--alt { background: var(--paper); }
.brief__col { max-width: 900px; }
.brief h2 { font-size: clamp(1.7rem, 4vw, 2.6rem); line-height: 1.06; margin: 34px 0 14px; }
.brief h2:first-child { margin-top: 0; }
.brief h2 em { color: var(--rust); }
.brief__pts { padding-left: 1.2em; display: grid; gap: 12px; }
.brief__pts li::marker { color: var(--rust); font-weight: 700; }
.brief__callout { margin-top: 24px; padding: 22px; background: var(--navy); color: #e8ecf3; border-radius: var(--k-radius-lg); }
.brief__callout h3 { color: #fff; margin: 0 0 8px; }
.brief__callout p { margin: 0; }
.tbl { overflow-x: auto; margin: 22px 0 0; border-radius: var(--k-radius); box-shadow: inset 0 0 0 1px var(--k-line); background: var(--paper); }
.tbl table { width: 100%; border-collapse: collapse; min-width: 640px; font-size: .92rem; }
.tbl th, .tbl td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--k-line); vertical-align: top; }
.tbl thead th { font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--k-muted); }
.tbl tbody th small { display: block; font-weight: 400; color: var(--k-muted); font-size: .8rem; }
.tbl .ref { background: var(--snow); }
.seed td:nth-child(2) { font-weight: 700; white-space: nowrap; }
.brief__two { display: grid; gap: 18px 36px; margin-top: 30px; }
.brief__two h3 { font-size: 1.25rem; margin: 0 0 6px; }
.brief__two p { margin: 0 0 6px; color: var(--k-muted); font-size: .94rem; }
@media (min-width: 900px) { .brief__two { grid-template-columns: 1fr 1fr; } }
.brief__end { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 28px; font-size: 1.1rem; }
