
:root {
  --font-text: -apple-system, BlinkMacSystemFont, "SF Pro Text",
               "Segoe UI", system-ui, Roboto, "Helvetica Neue", sans-serif;
  --font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display",
                  "Segoe UI", system-ui, Roboto, sans-serif;
  --font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;
  --type-large-title: clamp(2rem, 1.55rem + 2.1vw, 2.75rem);
  --type-title-1:     clamp(1.55rem, 1.3rem + 1.15vw, 2rem);
  --type-title-2:     clamp(1.32rem, 1.19rem + 0.6vw, 1.6rem);
  --type-title-3:     1.25rem;
  --type-headline:    1.0625rem;
  --type-body:        1.0625rem;
  --type-callout:     1rem;
  --type-subhead:     0.9375rem;
  --type-footnote:    0.8125rem;
  --type-caption:     0.75rem;
  --leading-tight: 1.15;
  --leading-snug:  1.3;
  --leading-body:  1.55;
  --track-large-title: -0.022em;
  --track-title:       -0.018em;
  --track-body:        -0.01em;
  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;
  --space-2xs: 0.25rem;
  --space-xs:  0.5rem;
  --space-s:   0.75rem;
  --space-m:   1rem;
  --space-l:   1.25rem;
  --space-xl:  1.5rem;
  --space-2xl: 2rem;
  --space-3xl: 2.75rem;
  --space-4xl: 4rem;
  --gutter: var(--space-m);
  --section-gap: clamp(2.5rem, 1.6rem + 4vw, 4.5rem);
  --scrim-rgb: 8 15 28;
  --plate-mix: 72%;
  --measure: 68ch;
  --content-max: 60rem;
  --radius-s:  8px;
  --radius-m:  12px;
  --radius-l:  16px;
  --radius-xl: 22px;
  --radius-pill: 999px;
  --tap-min: 44px;
  --sys-blue:   #007AFF;
  --sys-green:  #34C759;
  --sys-indigo: #5856D6;
  --sys-orange: #FF9500;
  --sys-red:    #FF3B30;
  --sys-teal:   #30B0C7;
  --sys-yellow: #FFCC00;
  --gray:   #8E8E93;
  --gray-2: #AEAEB2;
  --gray-3: #C7C7CC;
  --gray-4: #D1D1D6;
  --gray-5: #E5E5EA;
  --gray-6: #F2F2F7;
  --bg:            #FFFFFF;
  --bg-grouped:    #F2F2F7;
  --bg-elevated:   #FFFFFF;
  --bg-tertiary:   #F2F2F7;
  --label:           rgba(0, 0, 0, 0.92);
  --label-secondary: rgba(60, 60, 67, 0.78);
  --label-tertiary:  rgba(60, 60, 67, 0.32);
  --separator:       rgba(60, 60, 67, 0.22);
  --separator-opaque:#C6C6C8;
  --accent:       #0B6BCB;
  --accent-hover: #0A5CAF;
  --accent-soft:  #E8F1FC;
  --on-accent:    #FFFFFF;
  --cta:        #C2410C;
  --cta-hover:  #9A3412;
  --on-cta:     #FFFFFF;
  --cta-shadow: 0 1px 2px rgba(194, 65, 12, 0.30),
                0 6px 18px -4px rgba(194, 65, 12, 0.45);
  --star: #9A6304;
  --cta-ink: var(--cta);
  --success: #15803D;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 1px 3px rgba(0, 0, 0, 0.06), 0 6px 16px -6px rgba(0, 0, 0, 0.10);
  --shadow-lg: 0 2px 6px rgba(0, 0, 0, 0.07), 0 14px 34px -10px rgba(0, 0, 0, 0.16);
  --ease: cubic-bezier(0.32, 0.72, 0, 1);
  --dur-fast: 0.18s;
  --dur: 0.28s;
}
*, *::before, *::after { box-sizing: border-box; }
:where(.stack, .cluster, .switcher, .grid, .sidebar, .reel) > * { min-inline-size: 0; }
:where(p, li, dd, dt, h1, h2, h3, h4, figcaption, blockquote, td, th, a, span) {
  overflow-wrap: break-word;
  hyphens: auto;
}
:where(img, svg, video, canvas, iframe) {
  max-inline-size: 100%;
  block-size: auto;
}
.stack {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.stack > * { margin-block: 0; }
.stack.stack > * + * { margin-block-start: var(--stack-space, var(--space-m)); }
.stack[data-space="2xs"] { --stack-space: var(--space-2xs); }
.stack[data-space="xs"]  { --stack-space: var(--space-xs); }
.stack[data-space="s"]   { --stack-space: var(--space-s); }
.stack[data-space="l"]   { --stack-space: var(--space-l); }
.stack[data-space="xl"]  { --stack-space: var(--space-xl); }
.stack[data-space="2xl"] { --stack-space: var(--space-2xl); }
.center {
  box-sizing: content-box;
  margin-inline: auto;
  max-inline-size: var(--center-max, var(--content-max));
  padding-inline: var(--gutter);
}
.center[data-measure] { --center-max: var(--measure); }
.center[data-wide]    { --center-max: 76rem; }
.box {
  padding: var(--box-pad, var(--space-m));
  background: var(--box-bg, transparent);
  color: var(--box-fg, var(--label));
  border-radius: var(--box-radius, 0);
}
.cluster {
  display: flex;
  flex-wrap: wrap;
  gap: var(--cluster-gap, var(--space-s));
  align-items: var(--cluster-align, center);
  justify-content: var(--cluster-justify, flex-start);
}
.cluster[data-justify="between"] { --cluster-justify: space-between; }
.cluster[data-justify="center"]  { --cluster-justify: center; }
.cluster[data-align="start"]     { --cluster-align: flex-start; }
.switcher {
  display: flex;
  flex-wrap: wrap;
  gap: var(--switcher-gap, var(--space-l));
}
.switcher > * {
  flex-grow: 1;
  flex-basis: calc((var(--switcher-threshold, 30rem) - 100%) * 999);
}
.switcher > :nth-last-child(n+5),
.switcher > :nth-last-child(n+5) ~ * { flex-basis: 100%; }
.switcher[data-threshold="s"] { --switcher-threshold: 20rem; }
.switcher[data-threshold="l"] { --switcher-threshold: 40rem; }
.switcher[data-split="2-1"] > :first-child { flex-grow: 2; }
.grid {
  display: grid;
  gap: var(--grid-gap, var(--space-l));
  grid-template-columns: repeat(
    auto-fit,
    minmax(min(var(--grid-min, 16rem), 100%), 1fr)
  );
}
.grid[data-min="s"] { --grid-min: 11rem; }
.grid[data-min="l"] { --grid-min: 21rem; }
.reel {
  display: flex;
  gap: var(--reel-gap, var(--space-m));
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: var(--gutter);
  padding-inline: var(--gutter);
  padding-block-end: var(--space-xs);
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.reel::-webkit-scrollbar { display: none; }
.reel > * {
  flex: 0 0 var(--reel-item, calc(100% - var(--reel-peek, 12%)));
  scroll-snap-align: start;
  max-inline-size: 32rem;
}
.reel[data-item="s"] { --reel-item: min(72%, 18rem); }
.reel[data-item="m"] { --reel-item: min(86%, 26rem); }
.frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: var(--frame-ratio, 4 / 3);
  background: var(--gray-6);
  border-radius: var(--frame-radius, 0);
}
.frame > :where(img, video, picture, svg) {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}
.frame[data-ratio="square"]   { --frame-ratio: 1 / 1; }
.frame[data-ratio="portrait"] { --frame-ratio: 3 / 4; }
.frame[data-ratio="tall"]     { --frame-ratio: 9 / 16; }
.frame[data-ratio="wide"]     { --frame-ratio: 3 / 2; }
.sidebar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sidebar-gap, var(--space-xl));
}
.sidebar > :first-child { flex-basis: var(--sidebar-width, 18rem); flex-grow: 1; }
.sidebar > :last-child {
  flex-basis: 0;
  flex-grow: 999;
  min-inline-size: var(--sidebar-content-min, 55%);
}
.visually-hidden:not(:focus):not(:active) {
  clip-path: inset(50%);
  block-size: 1px; inline-size: 1px;
  overflow: hidden; position: absolute; white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.sidebar[data-side="end"] > :first-child {
  flex-basis: 0;
  flex-grow: 999;
  min-inline-size: var(--sidebar-content-min, 55%);
}
.sidebar[data-side="end"] > :last-child {
  flex-basis: var(--sidebar-width, 18rem);
  flex-grow: 1;
  min-inline-size: 0;
}
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-block-start: 4.5rem;
}
body {
  margin: 0;
  font-family: var(--font-text);
  font-size: var(--type-body);
  line-height: var(--leading-body);
  letter-spacing: var(--track-body);
  color: var(--label);
  background: var(--bg-grouped);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-synthesis-weight: none;
}
h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-weight: var(--weight-bold);
  line-height: var(--leading-tight);
  letter-spacing: var(--track-title);
  margin: 0;
  text-wrap: balance;
}
h1 { font-size: var(--type-large-title); letter-spacing: var(--track-large-title); }
h2 { font-size: var(--type-title-1); }
h3 { font-size: var(--type-title-3); }
h4 { font-size: var(--type-headline); font-weight: var(--weight-semibold); }
p { margin: 0; text-wrap: pretty; }
p, li { max-inline-size: var(--measure); }
a { color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover { color: var(--accent-hover); }
ul, ol { margin: 0; padding-inline-start: 1.25em; }
strong, b { font-weight: var(--weight-semibold); }
small, .footnote { font-size: var(--type-footnote); color: var(--label-secondary); }
:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
  border-radius: var(--radius-s);
}
:where(a[class*="btn"], button, [role="button"], summary, .list-row) {
  min-block-size: var(--tap-min);
}
button { font: inherit; color: inherit; }
.section { padding-block: var(--section-gap); }
.section--tight { padding-block: calc(var(--section-gap) * 0.55); }
.group-label {
  font-size: var(--type-footnote);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--label-secondary);
  padding-inline: var(--space-m);
  margin-block-end: var(--space-xs);
}
.eyebrow {
  font-size: var(--type-footnote);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--accent);
}
.lede {
  font-size: var(--type-title-3);
  font-weight: var(--weight-regular);
  color: var(--label);
  line-height: var(--leading-snug);
  max-inline-size: 62ch;
  text-wrap: pretty;
}
.visually-hidden {
  position: absolute;
  inline-size: 1px; block-size: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%);
  white-space: nowrap; border: 0;
}
.lede {
  font-size: clamp(1.125rem, 1rem + 0.7vw, 1.5rem);
  font-weight: var(--weight-regular);
  line-height: 1.45;
  letter-spacing: -0.011em;
  color: var(--label-secondary);
  max-inline-size: 46ch;
  margin-inline: auto;
  text-align: center;
  text-wrap: balance;
}
.section:has(> .center > .lede) { padding-block-end: var(--space-m); }
.navbar {
  position: sticky;
  inset-block-start: 0;
  z-index: 100;
  background: color-mix(in srgb, var(--bg) 78%, transparent);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  border-block-end: 0.5px solid var(--separator);
}
@supports not (backdrop-filter: blur(1px)) {
  .navbar { background: var(--bg); }
}
.navbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-m);
  min-block-size: 3rem;
  padding-block: var(--space-xs);
}
.navbar__brand {
  font-weight: var(--weight-semibold);
  font-size: var(--type-headline);
  color: var(--label);
  text-decoration: none;
  letter-spacing: var(--track-title);
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  min-block-size: var(--tap-min);
}
.navbar__mark {
  flex: none;
  inline-size: 1.45em; block-size: 1.45em;
  border-radius: 0.42em;
  background: var(--accent);
  color: var(--on-accent);
  display: grid; place-items: center;
}
.navbar__mark svg { inline-size: 68%; block-size: 68%; }
.footer__mark {
  inline-size: 2.25rem; block-size: 2.25rem;
  border-radius: 10px;
  background: var(--accent); color: var(--on-accent);
  display: grid; place-items: center;
  margin-block-end: var(--space-xs);
}
.footer__mark svg { inline-size: 1.5rem; block-size: 1.5rem; }
.navbar__brand-short { display: none; }
@media (max-width: 30rem) {
  .navbar__brand-full { display: none; }
  .navbar__brand-short { display: inline; }
}
@media (max-width: 60.25rem) {
  .navbar__inner { position: relative; }
  .navbar__brand { min-inline-size: var(--tap-min); }
  .navbar__brand-short,
  .navbar__brand-full {
    position: absolute;
    inset-inline: 3.5rem;
    text-align: center;
    pointer-events: none;
  }
  .navbar .langswitch--compact { display: none; }
}
.navbar__links { font-size: var(--type-subhead); --cluster-gap: var(--space-xs); }
.navbar__links a {
  color: var(--label-secondary);
  text-decoration: none;
  font-weight: var(--weight-medium);
  display: inline-flex;
  align-items: center;
  min-block-size: var(--tap-min);
  min-inline-size: var(--tap-min);
  justify-content: center;
  padding-inline: var(--space-2xs);
}
.navbar__links a:hover, .navbar__links a[aria-current] { color: var(--accent); }
.navbar__links .navbar__book { color: var(--label); font-weight: var(--weight-bold); }
.navbar__links .navbar__book:hover { color: var(--accent); }
.navdrop { position: relative; }
.navdrop summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 0.2rem;
  min-block-size: var(--tap-min); padding-inline: var(--space-2xs); color: var(--label-secondary); font-weight: var(--weight-medium); }
.navdrop summary::-webkit-details-marker { display: none; }
.navdrop summary svg { inline-size: 14px; block-size: 14px; flex: none; transition: transform 0.2s ease; }
.navdrop summary:hover, .navdrop[open] summary { color: var(--accent); }
.navdrop[open] summary svg { transform: rotate(180deg); }
.navdrop__menu { position: absolute; inset-inline-end: 0; inset-block-start: 100%; z-index: 120;
  inline-size: max-content; min-inline-size: 15rem; max-inline-size: min(24rem, 90vw); max-block-size: min(70vh, 34rem);
  overflow-y: auto; margin: 0; padding: var(--space-2xs); list-style: none;
  background: var(--bg-elevated); border-radius: var(--radius-m); box-shadow: var(--shadow-lg); }
.navbar__links .navdrop__menu a { display: flex; justify-content: flex-start; min-inline-size: 0; min-block-size: var(--tap-min);
  padding: 6px var(--space-s); border-radius: var(--radius-s); color: var(--label); font-weight: var(--weight-regular);
  line-height: 1.3; white-space: normal; }
.navbar__links .navdrop__menu a:hover { background: var(--bg-tertiary); color: var(--accent); }
.navdrop__all { margin-block-start: 4px; padding-block-start: 4px; border-block-start: 0.5px solid var(--separator); }
.navbar__links .navdrop__all a { color: var(--accent); font-weight: var(--weight-semibold); }
.hero {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: end;
  min-block-size: clamp(30rem, 82svh, 46rem);
  color: #fff;
  overflow: hidden;
}
.hero__media { position: absolute; inset: 0; z-index: -1; }
.hero__media img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; }
.hero__media::after {
  content: "";
  position: absolute; inset: 0;
  background:
    linear-gradient(to top, rgb(var(--scrim-rgb) / 0.82) 0%, rgb(var(--scrim-rgb) / 0.42) 52%, rgb(var(--scrim-rgb) / 0.28) 100%),
    linear-gradient(rgb(var(--scrim-rgb) / 0.38), rgb(var(--scrim-rgb) / 0.38));
}
.hero { align-items: center; }
.hero__body { inline-size: 100%; padding-block: var(--space-4xl) var(--space-2xl); text-align: center; }
.hero__body .stack { align-items: center; }
.hero__body .cluster { --cluster-justify: center; }
.hero__body h1 {
  color: #fff;
  font-size: clamp(2.25rem, 1.1rem + 4.8vw, 4.25rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
  text-wrap: balance;
  max-inline-size: 18ch;
  margin-inline: auto;
}
.hero__kicker {
  display: inline-flex; align-items: center;
  align-self: center;
  inline-size: fit-content;
  padding: 0.4rem 0.95rem;
  border-radius: var(--radius-pill);
  background: rgba(255,255,255,0.12);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.38);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  font-size: var(--type-caption);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #fff;
}
.hero__sub {
  color: rgba(255,255,255,0.92);
  font-size: var(--type-title-3);
  font-weight: var(--weight-regular);
  line-height: var(--leading-snug);
  max-inline-size: 52ch;
  margin-inline: auto;
}
.hero__rating {
  display: flex; align-items: center; justify-content: center;
  gap: var(--space-xs); flex-wrap: wrap;
  font-size: var(--type-footnote);
  color: rgba(255,255,255,0.90);
}
.hero__rating > span { display: inline-flex; align-items: center; gap: 0.35rem; }
.hero__rating svg { color: rgba(255,255,255,0.72); flex: none; }
.hero__rating-sep {
  inline-size: 1px; block-size: 0.85em;
  background: rgba(255,255,255,0.35);
}
@media (max-width: 26rem) { .hero__rating-sep { display: none; } }
.hero__cta { --cluster-gap: var(--space-s); padding-block-start: var(--space-xs); }
.hero__cta:has(.btn + .btn) { flex-wrap: nowrap; --cluster-align: stretch; }
.hero__cta:has(.btn + .btn) .btn { min-inline-size: 0; flex-shrink: 1; }
@media (max-width: 30rem) {
  .hero__cta:has(.btn + .btn) .btn {
    padding-inline: var(--space-s);
    font-size: var(--type-headline);
    min-block-size: var(--tap-min);
  }
}
.btn--glass {
  background: rgba(255,255,255,0.18);
  color: #fff;
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.30);
}
.btn--glass:hover { background: rgba(255,255,255,0.28); color: #fff; }
.statstrip {
  position: relative;
  margin-block-start: calc(var(--space-xl) * -1);
  z-index: 2;
}
.statstrip__inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: var(--bg-elevated);
  border-radius: var(--radius-l);
  box-shadow: var(--shadow-md);
  overflow: hidden;
}
.stat {
  padding: var(--space-m) var(--space-s);
  text-align: center;
  border-inline-end: 0.5px solid var(--separator);
}
.stat:last-child { border-inline-end: 0; }
.stat__value, .stat__label { overflow-wrap: normal; hyphens: none; text-wrap: balance; }
.stat__value {
  display: block;
  font-family: var(--font-display);
  font-size: var(--type-title-2);
  font-weight: var(--weight-bold);
  letter-spacing: var(--track-title);
  line-height: 1.1;
}
.stat__label {
  display: block;
  font-size: var(--type-caption);
  color: var(--label-secondary);
  margin-block-start: 2px;
}
.inset-list {
  background: var(--bg-elevated);
  border-radius: var(--radius-m);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  list-style: none;
  margin: 0;
  padding: 0;
}
.list-row {
  display: flex;
  align-items: center;
  gap: var(--space-s);
  padding: var(--space-s) var(--space-m);
  position: relative;
  text-decoration: none;
  color: var(--label);
}
.list-row + .list-row::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline: var(--space-m) 0;
  block-size: 0.5px;
  background: var(--separator);
}
.list-row__icon > svg { inline-size: 1.35rem; block-size: 1.35rem; }
.list-row__icon {
  flex: 0 0 1.5rem;
  block-size: 1.5rem;
  display: grid;
  place-items: center;
  color: var(--accent);
}
.list-row__label { flex: 1 1 auto; font-size: var(--type-body); }
.list-row__value {
  flex: 0 0 auto;
  color: var(--label-secondary);
  font-size: var(--type-body);
  text-align: end;
}
a.list-row::after {
  content: "";
  flex: 0 0 auto;
  inline-size: 7px; block-size: 7px;
  border-inline-end: 2px solid var(--label-tertiary);
  border-block-start: 2px solid var(--label-tertiary);
  transform: rotate(45deg);
  border-radius: 1px;
}
a.list-row:hover { background: var(--bg-tertiary); }
.tour-card {
  display: flex;
  flex-direction: column;
  background: var(--bg-elevated);
  border-radius: var(--radius-l);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.tour-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); }
.tour-card__media { --frame-ratio: 3 / 2; }
.tour-card__badge {
  position: absolute;
  inset-block-start: var(--space-s);
  inset-inline-start: var(--space-s);
  background: color-mix(in srgb, var(--bg) 82%, transparent);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  color: var(--label);
  font-size: var(--type-caption);
  font-weight: var(--weight-semibold);
  padding: 0.25rem 0.5rem;
  border-radius: var(--radius-pill);
  z-index: 1;
}
.tour-card__body { padding: var(--space-m); display: flex; flex-direction: column; gap: var(--space-xs); flex: 1 1 auto; }
.tour-card__title {
  font-size: var(--type-headline);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-snug);
  letter-spacing: var(--track-body);
}
.tour-card__meta {
  font-size: var(--type-footnote);
  color: var(--label-secondary);
  --cluster-gap: var(--space-xs) var(--space-s);
}
.tour-card__meta > * { display: inline-flex; align-items: center; gap: 0.25rem; }
.rating { color: var(--label); font-weight: var(--weight-semibold); }
.rating__star { color: var(--star); }
.tour-card__foot {
  margin-block-start: auto;
  padding-block-start: var(--space-s);
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-s);
  flex-wrap: wrap;
}
.price { line-height: 1.1; }
.price__from { display: block; font-size: var(--type-caption); color: var(--label-secondary); }
.price__value { font-size: var(--type-title-3); font-weight: var(--weight-bold); letter-spacing: var(--track-title); }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.7rem 1.15rem;
  border: 0;
  border-radius: var(--radius-m);
  font-size: var(--type-headline);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--track-body);
  text-decoration: none;
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
  -webkit-tap-highlight-color: transparent;
}
.btn:active { transform: scale(0.97); }
.btn--cta { background: var(--cta); color: var(--on-cta); box-shadow: var(--cta-shadow); }
.btn--cta:hover { background: var(--cta-hover); color: var(--on-cta); }
.btn--filled { background: var(--accent); color: var(--on-accent); }
.btn--filled:hover { background: var(--accent-hover); color: var(--on-accent); }
.btn--tinted { background: var(--accent-soft); color: var(--accent); }
.btn--plain { background: transparent; color: var(--accent); padding-inline: 0.25rem; }
.btn--block { inline-size: 100%; }
.btn--lg { padding: 0.9rem 1.5rem; font-size: var(--type-title-3); }
.timeline { list-style: none; margin: 0; padding: 0; }
.timeline__item {
  position: relative;
  padding-inline-start: var(--space-2xl);
  padding-block-end: var(--space-l);
}
.timeline__item:last-child { padding-block-end: 0; }
.timeline__item::before {
  content: "";
  position: absolute;
  inset-inline-start: 0.4375rem;
  inset-block: 0.55rem 0;
  inline-size: 2px;
  background: var(--separator);
}
.timeline__item:last-child::before { display: none; }
.timeline__item::after {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.35rem;
  inline-size: 1rem; block-size: 1rem;
  border-radius: 50%;
  background: var(--bg-elevated);
  border: 3px solid var(--accent);
  box-sizing: border-box;
}
.timeline__item[data-terminus]::after { background: var(--accent); }
.timeline__title { font-size: var(--type-headline); font-weight: var(--weight-semibold); }
.timeline__meta {
  font-size: var(--type-footnote);
  color: var(--label-secondary);
  margin-block-start: 2px;
}
.timeline__dur {
  display: inline-block;
  font-size: var(--type-caption);
  font-weight: var(--weight-semibold);
  color: var(--accent);
  background: var(--accent-soft);
  padding: 0.1rem 0.45rem;
  border-radius: var(--radius-pill);
  margin-inline-start: 0.35rem;
}
.testimonial {
  background: var(--bg-elevated);
  border-radius: var(--radius-l);
  padding: var(--space-m);
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}
.testimonial__quote { font-size: var(--type-callout); line-height: var(--leading-body); }
.testimonial__who { display: flex; align-items: center; gap: var(--space-s); margin-block-start: auto; }
.testimonial__avatar {
  flex: 0 0 2.5rem;
  inline-size: 2.5rem; block-size: 2.5rem;
  border-radius: 50%;
  object-fit: cover;
  background: var(--gray-5);
}
.testimonial__name { font-size: var(--type-subhead); font-weight: var(--weight-semibold); line-height: 1.2; }
.testimonial__origin { font-size: var(--type-caption); color: var(--label-secondary); }
.testimonial__stars { color: var(--star); font-size: var(--type-footnote); letter-spacing: 0.06em; }
.compare-wrap { container-type: inline-size; }
.compare {
  inline-size: 100%;
  border-collapse: collapse;
  background: var(--bg-elevated);
  border-radius: var(--radius-m);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}
.compare th, .compare td {
  padding: var(--space-s) var(--space-m);
  text-align: start;
  font-size: var(--type-subhead);
  vertical-align: top;
  border-block-start: 0.5px solid var(--separator);
}
.compare thead th {
  border-block-start: 0;
  font-weight: var(--weight-semibold);
  font-size: var(--type-footnote);
  color: var(--label-secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.compare tbody th { font-weight: var(--weight-semibold); color: var(--label); inline-size: 8rem; }
.compare td { font-weight: var(--weight-medium); }
.compare [data-best] {
  font-weight: var(--weight-semibold);
  color: var(--label);
  background: color-mix(in srgb, var(--success) 12%, transparent);
}
@container (max-width: 34rem) {
  .compare, .compare thead, .compare tbody, .compare tr, .compare th, .compare td { display: block; }
  .compare thead { display: none; }
  .compare tr { padding: var(--space-s) 0; border-block-start: 0.5px solid var(--separator); }
  .compare tr:first-child { border-block-start: 0; }
  .compare tbody th {
    inline-size: auto; border: 0;
    padding-block-end: var(--space-2xs);
    font-size: var(--type-footnote); text-transform: uppercase; letter-spacing: 0.05em;
  }
  .compare tr { display: grid; grid-template-columns: 1fr; }
  .compare tbody td {
    display: block; border: 0;
    padding-block: 2px;
  }
  .compare tbody td::before {
    content: attr(data-label) " · ";
    color: var(--label-tertiary);
    font-weight: var(--weight-regular);
  }
}
.faq { background: var(--bg-elevated); border-radius: var(--radius-m); overflow: hidden; box-shadow: var(--shadow-sm); }
.faq__item + .faq__item { border-block-start: 0.5px solid var(--separator); }
.faq__q {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-s);
  padding: var(--space-s) var(--space-m);
  font-size: var(--type-body);
  font-weight: var(--weight-medium);
  cursor: pointer;
  list-style: none;
}
.faq__q > * { flex: 0 1 auto; }
.faq__q::-webkit-details-marker { display: none; }
.faq__q::after {
  content: "";
  flex: 0 0 auto;
  inline-size: 8px; block-size: 8px;
  border-inline-end: 2px solid var(--label-tertiary);
  border-block-end: 2px solid var(--label-tertiary);
  transform: rotate(45deg) translateY(-2px);
  transition: transform var(--dur) var(--ease);
}
.faq__item[open] .faq__q::after { transform: rotate(-135deg) translateY(-2px); }
.faq__a { padding: 0 var(--space-m) var(--space-m); color: var(--label-secondary); font-size: var(--type-callout); }
.callout {
  padding-block: var(--space-m);
  border-block: 1px solid var(--separator);
  font-size: var(--type-callout);
  color: var(--label);
}
.callout__label {
  display: block;
  font-size: var(--type-caption);
  font-weight: var(--weight-semibold);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--label-secondary);
  margin-block-end: var(--space-2xs);
}
.callout--warn .callout__label { color: var(--cta-ink); }
.callout--warn { border-block-color: color-mix(in srgb, var(--cta) 32%, var(--separator)); }
.callout__title { font-weight: var(--weight-semibold); color: var(--label); margin-block-end: 2px; }
.artcol--rows .cpage {
  background: var(--bg-elevated);
  border-radius: var(--radius-m);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
.artcol--rows .crow { padding: var(--space-xl); }
.artcol--rows .crow + .crow { border-block-start: 1px solid var(--separator); }
.artcol--rows .lede { text-align: start; }
.crow__label {
  font-size: var(--type-headline);
  font-weight: var(--weight-semibold);
  color: var(--label);
  letter-spacing: var(--track-body);
  margin-block-end: var(--space-xs);
}
.crow__body > * + * { margin-block-start: var(--space-m); }
.crow__body p, .crow__body li { max-inline-size: var(--measure); }
@media (min-width: 48rem) {
  .artcol--rows .crow {
    display: grid;
    grid-template-columns: minmax(0, var(--crow-label)) minmax(0, 1fr);
    column-gap: var(--space-xl);
  }
  .artcol--rows .crow__label { margin-block-end: 0; }
}
.crow__addr {
  display: inline-flex;
  align-items: center;
  min-block-size: 44px;
  font-size: var(--type-title-1);
  font-weight: var(--weight-semibold);
  color: var(--accent);
  text-decoration: none;
  overflow-wrap: anywhere;
  hyphens: none;
}
.crow__addr:hover { text-decoration: underline; }
.crow__note {
  font-size: var(--type-footnote);
  color: var(--label-secondary);
}
.factband {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-color: color-mix(in srgb, var(--accent) 68%, #000);
  background-image: linear-gradient(150deg,
    color-mix(in srgb, var(--accent) calc(var(--plate-mix) + 18%), #000) 0%,
    color-mix(in srgb, var(--accent) calc(var(--plate-mix) - 26%), #000) 62%,
    color-mix(in srgb, var(--accent) calc(var(--plate-mix) - 10%), #000) 100%);
  color: #fff;
  border-radius: var(--radius-xl);
  padding: var(--space-4xl) var(--space-l);
  text-align: center;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.16), var(--shadow-lg);
}
.factband::before,
.factband::after {
  content: "";
  position: absolute; z-index: -1;
  border-radius: 50%;
  pointer-events: none;
  will-change: transform;
}
.factband::before {
  inline-size: 34rem; block-size: 34rem;
  inset-block-start: -46%; inset-inline-end: -14%;
  background: radial-gradient(circle at 34% 34%, rgba(255,255,255,0.20), transparent 62%);
  animation: fb-drift-a 24s ease-in-out infinite alternate;
}
.factband::after {
  inline-size: 26rem; block-size: 26rem;
  inset-block-end: -40%; inset-inline-start: -12%;
  background: radial-gradient(circle at 60% 40%, color-mix(in srgb, var(--accent) 70%, #fff) 0%, transparent 64%);
  opacity: .34;
  animation: fb-drift-b 28s ease-in-out infinite alternate;
}
@keyframes fb-drift-a {
  from { transform: translate3d(0,0,0) scale(1); }
  to   { transform: translate3d(-5%, 7%, 0) scale(1.12); }
}
@keyframes fb-drift-b {
  from { transform: translate3d(0,0,0) scale(1.06); }
  to   { transform: translate3d(7%, -6%, 0) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .factband::before, .factband::after { animation: none; }
}
.factband__value {
  position: relative; z-index: 1;
  font-family: var(--font-display);
  font-size: clamp(3.25rem, 1.6rem + 7vw, 6.5rem);
  font-weight: var(--weight-bold);
  letter-spacing: -0.035em;
  line-height: 0.95;
  color: #fff;
}
.factband__text {
  position: relative; z-index: 1;
  color: rgba(255,255,255,0.88);
  font-size: var(--type-title-3);
  line-height: var(--leading-snug);
  margin-block-start: var(--space-m); margin-inline: auto;
  max-inline-size: 42ch;
  text-wrap: balance;
}
.bookbar {
  position: fixed;
  inset-block-end: 0; inset-inline: 0;
  z-index: 90;
  --bar-off: 112%;
  padding: var(--space-s) var(--gutter) calc(var(--space-s) + env(safe-area-inset-bottom));
  background: color-mix(in srgb, var(--bg) 86%, transparent);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  border-block-start: 0.5px solid var(--separator);
  padding-block-start: 0.625rem;
  display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "media name" "media btn";
  align-items: center; gap: 6px 12px;
}
.bookbar { text-decoration: none; color: var(--label); -webkit-tap-highlight-color: transparent; }
.bookbar:hover { color: var(--label); }
@media (hover: hover) { .bookbar:hover .bookbar__btn { background: var(--cta-hover); } }
.bookbar:active .bookbar__btn { transform: scale(0.97); }
.bookbar:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
.bookbar--bare { grid-template-columns: minmax(0, 1fr); grid-template-areas: "name" "btn"; }
.bookbar__media { grid-area: media; display: flex; flex-direction: column; align-items: center; gap: 5px; }
.bookbar__thumb { inline-size: 52px; block-size: 52px; border-radius: 10px; object-fit: cover; display: block; }
.bookbar__score { margin: 0; display: flex; flex-direction: column; align-items: center; white-space: nowrap;
  line-height: 1.15; text-align: center; }
.bookbar__score b { font-size: var(--type-subhead); font-weight: 700; color: var(--label); }
.bookbar__score small { font-size: 0.6875rem; color: var(--label-secondary); }
.bookbar__star { color: var(--star); margin-inline-end: 2px; }
.bookbar__label { grid-area: name; min-inline-size: 0; font-size: var(--type-subhead); font-weight: var(--weight-semibold);
  line-height: 1.25; color: var(--label);
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.bookbar__btn { grid-area: btn; inline-size: 100%; flex-direction: column; gap: 1px;
  padding-block: 7px; min-block-size: 52px; line-height: 1.2; }
.bookbar__btn > span { display: block; text-align: center; }
.bookbar__sub { font-size: var(--type-caption); font-weight: 500; opacity: 0.92; }
@keyframes bookbar-rise {
  from { transform: translateY(var(--bar-off)); }
  to   { transform: none; }
}
.bookbar {
  transform: translateY(var(--bar-off));
  animation: bookbar-rise 0.01s linear both;
  animation-timeline: scroll(root block);
  animation-range: 84svh 100svh;
}
@media (prefers-reduced-motion: reduce) { .bookbar { animation-range: 99svh 100svh; } }
.bookbar--jsreveal { animation: none; transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1); }
.bookbar--jsreveal.is-up { transform: none; }
.bookbar__mark { position: absolute; inset-block-start: 92svh; inline-size: 1px; block-size: 1px;
  pointer-events: none; visibility: hidden; }
@media (min-width: 48rem) {
  .bookbar {
    padding-block: 14px calc(14px + env(safe-area-inset-bottom));
    padding-inline: max(var(--gutter), calc((100% - 76rem) / 2));
    box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.07);
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "thumb name btn" "thumb rate btn";
    gap: 4px 24px;
  }
  .bookbar--bare { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name btn"; }
  .bookbar__media { display: contents; }
  .bookbar__thumb { grid-area: thumb; inline-size: 80px; block-size: 80px; border-radius: 14px; }
  .bookbar__label { align-self: end; font-size: var(--type-title-2); line-height: 1.2; }
  .bookbar__score { grid-area: rate; align-self: start; flex-direction: row; align-items: baseline; gap: 6px; }
  .bookbar__score b { font-size: var(--type-callout); }
  .bookbar__score small { font-size: var(--type-footnote); }
  .bookbar__btn { inline-size: auto; padding: 12px 36px; min-block-size: 64px; }
  .bookbar__btn > span:first-child { font-size: var(--type-title-3); }
  .bookbar__sub { font-size: var(--type-footnote); }
}
body:has(.bookbar) { padding-block-end: calc(7.5rem + env(safe-area-inset-bottom)); }
.bookbar.is-hush, .lb-open .bookbar { transform: translateY(var(--bar-off)) !important; }
.cta { display: flex; flex-direction: column; align-items: center; gap: var(--space-xs); }
.cta__proof, .lb__proof, .lboffer__proof {
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
  gap: var(--space-2xs) var(--space-xs); margin: 0;
  font-size: var(--type-footnote); line-height: var(--leading-snug); color: var(--label-secondary);
}
:is(.cta__proof, .lb__proof, .lboffer__proof) > span {
  display: inline-flex; align-items: center; gap: 0.35rem; white-space: nowrap;
}
:is(.cta__proof, .lb__proof, .lboffer__proof) svg { flex: none; opacity: 0.72; }
.proof__sep { inline-size: 1px; block-size: 0.85em; background: currentColor; opacity: 0.35; }
.hero__proof, .lb__proof, .lboffer__proof { color: rgba(255,255,255,0.90); }
.ctaband .cta__proof { color: rgba(255,255,255,0.92); }
:is(.hero__proof, .ctaband .cta__proof, .lb__proof, .lboffer__proof) svg { color: rgba(255,255,255,0.72); opacity: 1; }
.cmp__intro { color: var(--label-secondary); max-inline-size: 60ch; }
.cmpm { display: none; }
@media (max-width: 47.99rem) { .cmpt { display: none; } .cmpm { display: block; } }
.cmpt { overflow-x: auto; border-radius: var(--radius-l); border: 0.5px solid var(--separator); background: var(--bg-elevated); box-shadow: var(--shadow-sm); }
.cmpt__table { inline-size: 100%; min-inline-size: 44rem; border-collapse: separate; border-spacing: 0; }
.cmpt__table { table-layout: fixed; }
.cmpt__table thead th:first-child { inline-size: 7.5rem; }
.cmpt__table :is(th, td) { padding: 10px 12px; border-block-start: 0.5px solid var(--separator); vertical-align: top; text-align: start; font-size: var(--type-subhead); line-height: 1.35; }
.cmpt__table thead :is(th, td) { border-block-start: 0; vertical-align: bottom; }
.cmpt__table tbody th, .cmpt__table thead th:first-child {
  position: sticky; inset-inline-start: 0; z-index: 1; background: var(--bg-elevated);
  inline-size: 7.5rem; min-inline-size: 7.5rem; box-shadow: 1px 0 0 var(--separator);
  font-size: var(--type-caption); font-weight: var(--weight-medium); text-transform: uppercase; letter-spacing: 0.04em; color: var(--label-secondary);
}
.cmpt__ours { background: color-mix(in srgb, var(--accent) 7%, var(--bg-elevated)); }
.cmpt__badge { display: block; font-size: var(--type-caption); font-weight: var(--weight-semibold); color: var(--accent); text-transform: uppercase; letter-spacing: 0.05em; }
.cmpt__name { font-weight: var(--weight-semibold); line-height: 1.3; }
.cmpt__table thead th:not(:first-child) { padding: 4px; }
.cmpt__photo { position: relative; display: block; inline-size: 100%; aspect-ratio: 0.747 / 1;
  border-radius: 12px; overflow: hidden; text-decoration: none; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12); }
.cmpt__img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; transition: transform 0.45s ease; }
.cmpt__photo:hover .cmpt__img, .cmpt__photo:focus-visible .cmpt__img { transform: scale(1.06); }
.cmpt__photo::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.74), rgba(0, 0, 0, 0.15) 45%, rgba(0, 0, 0, 0) 62%); }
.cmpt__tag { position: absolute; inset-block-start: 8px; inset-inline-start: 8px; z-index: 2; max-inline-size: calc(100% - 16px);
  display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px 4px 8px; border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.96); color: #1d1d1f; font-size: 0.71875rem; font-weight: var(--weight-semibold);
  line-height: 1.2; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18); }
.cmpt__tag svg { flex: none; color: var(--accent); }
.cmpt__tag--hot svg { color: #E5484D; }
.cmpt__tag--deal svg { color: #1A7F37; }
.cmpt__tag--top { background: var(--accent); color: var(--on-accent); text-transform: uppercase; letter-spacing: 0.04em;
  font-size: 0.65625rem; font-weight: var(--weight-bold); }
.cmpt__tag--top svg { color: var(--on-accent); }
.cmpt__cap { position: absolute; inset-inline: 12px; inset-block-end: 11px; z-index: 1;
  display: flex; flex-direction: column; gap: 3px; color: #fff; text-align: start; }
.cmpt__cap .cmpt__name { color: #fff; font-size: var(--type-subhead); line-height: 1.25; margin-block-end: 2px; }
.cmpt__score { display: flex; align-items: center; gap: 6px; font-size: 0.75rem; line-height: 1.3; }
.cmpt__score b { font-weight: var(--weight-bold); color: #fff; }
.cmpt__stars { letter-spacing: 1px; font-size: 0.8125rem; color: transparent;
  background: linear-gradient(90deg, #F5A524 calc(var(--r) / 5 * 100%), rgba(255, 255, 255, 0.38) 0);
  -webkit-background-clip: text; background-clip: text; }
.cmpt__who { font-size: 0.75rem; color: rgba(255, 255, 255, 0.88); }
@media (max-width: 59.99rem) {
  .cmpt__cap .cmpt__name { font-size: var(--type-footnote); }
  .cmpt__tag { font-size: 0.65625rem; } .cmpt__who { font-size: 0.6875rem; } .cmpt__stars { font-size: 0.71875rem; }
}
@media (prefers-reduced-motion: reduce) { .cmpt__img { transition: none; } }
.cmpt__table thead th:first-child { vertical-align: middle; padding: 12px 10px; }
.cmpt__pick { position: relative; display: flex; flex-direction: column; gap: 6px; padding-block-end: 54px;
  text-transform: none; letter-spacing: 0; }
.cmpt__pick-t { font-size: var(--type-headline); font-weight: var(--weight-bold); color: var(--accent); line-height: 1.2; }
.cmpt__pick-r { font-size: var(--type-footnote); font-weight: var(--weight-regular); color: var(--label-secondary); line-height: 1.35; }
.cmpt__arrow { position: absolute; inset-inline-end: -14px; inset-block-end: 0; inline-size: 84px; block-size: 56px;
  fill: none; stroke: var(--accent); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 59.99rem) { .cmpt__pick-t { font-size: var(--type-subhead); } }
.cmpt.is-folded .cmpt__detail { display: none; }
.cmpt.is-open .cmpt__detail > * { animation: cmpt-in 0.38s cubic-bezier(0.22, 1, 0.36, 1) both; animation-delay: calc(var(--i) * 45ms); }
@keyframes cmpt-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .cmpt.is-open .cmpt__detail > * { animation: none; } }
.cmpt__more { padding: 12px; border-block-start: 0.5px solid var(--separator); }
.cmpt__toggle { display: flex; align-items: center; justify-content: center; gap: 10px; inline-size: 100%; padding: 16px 20px;
  border: 0; border-radius: 12px; background: var(--gray-6); color: var(--label); font: inherit;
  font-size: var(--type-headline); font-weight: var(--weight-semibold); cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease; }
.cmpt__toggle:hover { background: color-mix(in srgb, var(--accent) 10%, var(--gray-6)); }
.cmpt__toggle:active { transform: scale(0.99); }
.cmpt__toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.cmpt__toggle svg { inline-size: 20px; block-size: 20px; color: var(--accent); transition: transform 0.3s ease; }
.cmpt__toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.cmpt__pros, .cmpt__cons { list-style: none; padding: 0; margin: 0; display: grid; gap: 3px; }
:is(.cmpt__pros, .cmpt__cons) li { position: relative; padding-inline-start: 1.1em; max-inline-size: none; }
.cmpt__pros li::before { content: "+"; position: absolute; inset-inline-start: 0; color: var(--success); font-weight: var(--weight-bold); }
.cmpt__cons li::before { content: "\2212"; position: absolute; inset-inline-start: 0; color: var(--label-secondary); font-weight: var(--weight-bold); }
.cmpt__btns .btn { inline-size: 100%; white-space: normal; hyphens: manual; text-wrap: balance; }
@media (max-width: 59.99rem) { .cmpt__btns .btn { font-size: var(--type-footnote); padding-inline: 0.5rem; } }
.cmpm__table { inline-size: 100%; border-collapse: separate; border-spacing: 0; border-radius: var(--radius-l); border: 0.5px solid var(--separator); background: var(--bg-elevated); overflow: hidden; box-shadow: var(--shadow-sm); }
.cmpm__table :is(th, td) { padding: 10px; border-block-start: 0.5px solid var(--separator); text-align: center; vertical-align: middle; font-size: var(--type-footnote); line-height: 1.3; }
.cmpm__table thead th { border-block-start: 0; white-space: nowrap; hyphens: none; padding-inline: 4px; font-size: var(--type-caption); font-weight: var(--weight-medium); text-transform: uppercase; letter-spacing: 0.02em; color: var(--label-secondary); }
.cmpm__table td:first-child { text-align: start; inline-size: 42%; }
.cmpm__ours { background: color-mix(in srgb, var(--accent) 7%, var(--bg-elevated)); }
.cmpm__name { color: var(--label); text-decoration: none; font-weight: var(--weight-semibold); }
.cmpm__nw { white-space: nowrap; }
.cmpm__r, .cmpm__g { display: inline-flex; flex-direction: column; align-items: center; gap: 2px; white-space: nowrap; }
.cmpm__star { color: var(--star); }
.cmpm__cnt { font-size: var(--type-caption); color: var(--label-secondary); }
.cmpm__g svg { color: var(--label-secondary); }
.cmpm__cta { margin-block-start: var(--space-s); }
.cmpm__cta .btn { inline-size: 100%; }
.cmpv { background: var(--bg-elevated); border: 0.5px solid var(--separator); border-radius: var(--radius-l); padding: var(--space-l); box-shadow: var(--shadow-sm); }
.cmpv__head { display: flex; align-items: center; gap: var(--space-xs); margin: 0 0 var(--space-s); }
.cmpv__head svg { inline-size: 24px; block-size: 24px; color: var(--accent); flex: none; }
.cmpv__head h3 { margin: 0; font-size: var(--type-headline); }
.cmpv p { margin: 0; max-inline-size: 68ch; }
.cmpv p + p { margin-block-start: var(--space-xs); }
.cmpv__lead { font-size: var(--type-title-3); font-weight: var(--weight-semibold); line-height: 1.35; text-wrap: pretty; }
.cmpv__cols { display: grid; gap: var(--space-l); }
@media (min-width: 48rem) { .cmpv { padding: var(--space-xl); } .cmpv__cols { grid-template-columns: 1fr 1fr; gap: var(--space-2xl); } }
.footer {
  background: var(--bg-elevated);
  border-block-start: 0.5px solid var(--separator);
  padding-block: var(--space-2xl);
  font-size: var(--type-subhead);
  color: var(--label-secondary);
}
.footer a {
  color: var(--label-secondary);
  text-decoration: none;
  display: block;
  padding-block: 0.6rem;
  min-block-size: var(--tap-min);
}
.footer a:hover { color: var(--accent); }
.footer h4 { color: var(--label); margin-block-end: var(--space-xs); }
.footer__nav ul { list-style: none; margin: 0; padding: 0; }
.footer { --foot-link-pad: 0.3rem; }
@media (pointer: coarse) { .footer { --foot-link-pad: 0.65rem; } }
.footer__nav a {
  padding-block: var(--foot-link-pad);
  min-block-size: 0;
  overflow-wrap: anywhere;
}
.footer__nav h4 { margin-block-end: calc(var(--space-s) - var(--foot-link-pad)); }
.footer__top {
  display: grid;
  grid-template-columns: minmax(0, 28rem) repeat(2, minmax(0, 1fr));
  align-items: start;
  column-gap: var(--space-2xl);
  row-gap: var(--space-m);
}
.footer__top > .footer__mark { grid-column: 1; grid-row: 1; }
.footer__brand { grid-column: 1; grid-row: 2; align-self: baseline; }
.footer__nav   { grid-row: 2 / span 2; align-self: baseline; }
.footer__top > .footer__disclosure {
  grid-column: 1; grid-row: 3;
  align-self: end;
  margin-block-start: var(--space-l);
  padding-block-end: var(--foot-link-pad);
}
@media (max-width: 48rem) {
  .footer__top { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-l); }
  .footer__top > * { grid-column: 1; grid-row: auto; align-self: start; }
}
.footer__name {
  font-size: var(--type-title-3); font-weight: var(--weight-bold);
  color: var(--label); letter-spacing: var(--track-title);
}
.footer__tag { margin-block-start: var(--space-2xs); }
.footer__trust {
  display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-l);
  margin-block-start: var(--space-m);
}
.footer__trust > span {
  display: inline-flex; align-items: center; gap: 0.4rem;
  font-size: var(--type-footnote); color: var(--label-secondary);
}
.footer__trust svg { color: var(--success); flex: none; }
.footer__bottom {
  margin-block-start: var(--space-xl);
  padding-block-start: var(--space-m);
  border-block-start: 0.5px solid var(--separator);
  display: flex; flex-wrap: wrap; align-items: center;
  justify-content: space-between; gap: var(--space-s) var(--space-m);
}
.footer__legal { font-size: var(--type-caption); color: var(--label-secondary); margin-inline-start: auto; }
.footer__disclosure {
  font-size: var(--type-caption); color: var(--label-secondary);
  max-inline-size: 62ch; margin-block-start: var(--space-xs);
}
.footer .langswitch__menu { inset-block-start: auto; inset-block-end: 100%; margin-block-end: var(--space-2xs); }
@media (max-width: 40rem) {
  .statstrip__inner { grid-template-columns: repeat(3, 1fr); }
  .statstrip__inner .stat:nth-child(4) { display: none; }
  .statstrip__inner .stat:nth-child(3) { border-inline-end: 0; }
  .stat { padding: var(--space-s) var(--space-2xs); }
  .stat__value { font-size: var(--type-title-3); }
}
.timeline__item[data-leg] .timeline__title {
  font-weight: var(--weight-regular);
  font-size: var(--type-subhead);
  color: var(--label-secondary);
}
.timeline__item[data-leg]::after {
  inline-size: 0.6rem; block-size: 0.6rem;
  inset-block-start: 0.55rem;
  inset-inline-start: 0.2rem;
  background: var(--bg-grouped);
  border: 2px solid var(--gray-4);
}
.navbar__utils { display: inline-flex; align-items: center; gap: var(--space-2xs); }
@media (max-width: 60.25rem) { .navbar__utils .navbar__theme.navbar__theme { display: none; } }
.site-menu__theme {
  margin-block-start: var(--space-xl);
  padding-block-start: var(--space-m);
  border-block-start: 0.5px solid var(--separator);
  inline-size: 100%; justify-content: space-between;
}
.breadcrumbs {
  font-size: var(--type-footnote);
  color: var(--label-secondary);
  display: flex;
  gap: var(--space-2xs);
  align-items: center;
  overflow-x: auto;
  scrollbar-width: none;
  white-space: nowrap;
  padding-block: var(--space-xs);
  padding-inline: 0;
  margin-block: 0;
}
.breadcrumbs::-webkit-scrollbar { display: none; }
.breadcrumbs a, .breadcrumbs li[aria-current] {
  display: inline-flex; align-items: center; min-block-size: var(--tap-min);
}
.breadcrumbs a {
  min-inline-size: var(--tap-min); justify-content: center;
  padding-inline: 5px; margin-inline: -5px;
}
.breadcrumbs li:first-child a { justify-content: flex-start; }
.breadcrumbs a { color: var(--label-secondary); text-decoration: none; }
.breadcrumbs a:hover { color: var(--accent); }
.breadcrumbs li { list-style: none; display: flex; align-items: center; gap: var(--space-2xs); }
.breadcrumbs li + li::before {
  content: "";
  inline-size: 5px; block-size: 5px;
  border-inline-end: 1.5px solid var(--label-tertiary);
  border-block-start: 1.5px solid var(--label-tertiary);
  transform: rotate(45deg);
}
.breadcrumbs [aria-current] { color: var(--label); font-weight: var(--weight-medium); }
.summary {
  background: var(--bg-elevated);
  border-radius: var(--radius-l);
  padding: var(--space-l);
  box-shadow: var(--shadow-sm);
}
.summary__title {
  font-size: var(--type-footnote);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--label-secondary);
  margin-block-end: var(--space-xs);
  padding-inline-start: 2px;
}
.summary--facts { border-inline-start: 0; }
.summary--facts dl { display: grid; margin: 0;
  grid-template-columns: repeat(auto-fit, minmax(min(9rem, 45%), 1fr)); }
.summary--facts dl > div {
  position: relative; padding: var(--space-m) var(--space-s);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 1px; text-align: center;
}
.summary--facts dl > div + div::before {
  content: ""; position: absolute; inset-block: 24%; inset-inline-start: 0;
  inline-size: 1px; background: var(--separator);
}
.summary--facts dt { order: 2; font-size: var(--type-caption); color: var(--label-secondary);
  text-transform: uppercase; letter-spacing: 0.06em; }
.summary--facts dd { order: 1; margin: 0; font-weight: var(--weight-bold);
  font-size: var(--type-title-3); letter-spacing: var(--track-title); line-height: 1.2; }
.summary--verdict { border-inline-start-color: var(--success); }
.verdict-list { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--space-2xs); }
.verdict-list li { display: flex; gap: var(--space-xs); align-items: flex-start;
  font-size: var(--type-subhead); }
.verdict-list li::before { content: "✓"; color: var(--success); font-weight: var(--weight-bold); flex: 0 0 auto; }
.verdict-list[data-negative] li::before { content: "✕"; color: var(--label-tertiary); }
.card {
  background: var(--bg-elevated);
  border-radius: var(--radius-m);
  padding: var(--space-m);
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  block-size: 100%;
}
.card__icon {
  inline-size: 2.25rem; block-size: 2.25rem;
  display: grid; place-items: center;
  border-radius: var(--radius-s);
  background: var(--accent-soft); color: var(--accent);
  margin-block-end: var(--space-2xs);
}
.card__icon > svg { inline-size: 1.25rem; block-size: 1.25rem; }
.card__title { font-size: var(--type-headline); font-weight: var(--weight-semibold);
  line-height: var(--leading-snug); }
.card__text { font-size: var(--type-subhead); color: var(--label-secondary); }
.card__foot { margin-block-start: auto; padding-block-start: var(--space-xs);
  font-size: var(--type-footnote); }
.card[data-num]::before {
  content: attr(data-num);
  font-family: var(--font-display);
  font-size: var(--type-title-2);
  font-weight: var(--weight-bold);
  color: var(--accent);
  line-height: 1;
}
.card--pro { border-block-start: 3px solid var(--success); }
.card--con { border-block-start: 3px solid var(--label-tertiary); }
a.card { text-decoration: none; color: var(--label);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
a.card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); color: var(--label); }
a.card .card__foot { color: var(--accent); font-weight: var(--weight-semibold); }
.card__media { --frame-ratio: 3 / 2; margin: calc(var(--space-m) * -1) calc(var(--space-m) * -1) 0;
  border-start-start-radius: var(--radius-m); border-start-end-radius: var(--radius-m); }
.steps { list-style: none; margin: 0; padding: 0; counter-reset: step; }
.steps__item {
  counter-increment: step;
  position: relative;
  padding-inline-start: var(--space-2xl);
  padding-block-end: var(--space-l);
}
.steps__item:last-child { padding-block-end: 0; }
.steps__item::before {
  content: counter(step);
  position: absolute;
  inset-inline-start: 0; inset-block-start: 0;
  inline-size: 1.6rem; block-size: 1.6rem;
  display: grid; place-items: center;
  border-radius: 50%;
  background: var(--accent); color: var(--on-accent);
  font-size: var(--type-caption); font-weight: var(--weight-bold);
}
.steps__item::after {
  content: "";
  position: absolute;
  inset-inline-start: 0.775rem;
  inset-block: 1.85rem 0;
  inline-size: 2px; background: var(--separator);
}
.steps__item:last-child::after { display: none; }
.steps__title { font-size: var(--type-headline); font-weight: var(--weight-semibold); }
.steps__text { font-size: var(--type-subhead); color: var(--label-secondary); margin-block-start: 2px; }
.table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: var(--radius-m);
  background: var(--bg-elevated);
  box-shadow: var(--shadow-sm);
  scrollbar-width: thin;
}
.dtable { inline-size: 100%; border-collapse: collapse; font-size: var(--type-subhead); }
.dtable th, .dtable td { padding: var(--space-xs) var(--space-s); text-align: center; white-space: nowrap; }
.dtable thead th {
  font-size: var(--type-caption); font-weight: var(--weight-semibold);
  color: var(--label-secondary); text-transform: uppercase; letter-spacing: 0.04em;
  border-block-end: 0.5px solid var(--separator);
}
.dtable tbody th, .dtable thead th:first-child {
  text-align: start;
  position: sticky; inset-inline-start: 0;
  background: var(--bg-elevated);
  font-weight: var(--weight-medium);
}
.dtable tbody tr + tr th, .dtable tbody tr + tr td { border-block-start: 0.5px solid var(--separator); }
.dtable [data-peak] { color: var(--accent); font-weight: var(--weight-semibold); }
.dtable caption { caption-side: bottom; padding: var(--space-xs) var(--space-s);
  font-size: var(--type-caption); color: var(--label-secondary); text-align: start; }
.mapblock { display: grid; gap: var(--space-m); }
.mapblock__frame { --frame-ratio: 16 / 10; --frame-radius: var(--radius-m); position: relative;
  display: block; text-decoration: none; }
.mapblock__frame .mapblock__link { gap: 0.3rem; }
.mapblock__frame:hover .mapblock__link { background: var(--bg); color: var(--accent-hover); }
.mapblock__pin {
  position: absolute; inset-block-start: 50%; inset-inline-start: 50%;
  transform: translate(-50%, -100%);
  inline-size: 1.5rem; block-size: 1.5rem;
  border-radius: 50% 50% 50% 0;
  rotate: -45deg;
  background: var(--cta);
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}
.mapblock__link {
  position: absolute; inset-block-end: var(--space-s); inset-inline-end: var(--space-s);
  background: color-mix(in srgb, var(--bg) 88%, transparent);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  padding: 0.4rem 0.7rem; border-radius: var(--radius-pill);
  font-size: var(--type-footnote); font-weight: var(--weight-semibold);
  text-decoration: none; color: var(--accent);
  min-block-size: var(--tap-min); display: inline-flex; align-items: center;
}
.ratingsum { display: grid; gap: var(--space-m); align-items: center;
  grid-template-columns: repeat(auto-fit, minmax(min(10rem, 100%), 1fr)); }
.ratingsum__score { text-align: center; }
.ratingsum__big {
  font-family: var(--font-display); font-size: var(--type-large-title);
  font-weight: var(--weight-bold); line-height: 1; letter-spacing: var(--track-large-title);
}
.ratingsum__stars { color: var(--star); font-size: var(--type-callout); letter-spacing: 0.08em; }
.ratingsum__count { font-size: var(--type-footnote); color: var(--label-secondary); }
.bars { display: grid; gap: var(--space-2xs); }
.bar { display: grid; grid-template-columns: 2.5rem 1fr 2.5rem; gap: var(--space-xs);
  align-items: center; font-size: var(--type-caption); color: var(--label-secondary); }
.bar__track { block-size: 6px; border-radius: var(--radius-pill); background: var(--gray-5); overflow: hidden; }
.bar__fill { block-size: 100%; border-radius: var(--radius-pill); background: var(--star); }
.bar__pct { text-align: end; font-variant-numeric: tabular-nums; }
.ratingsum__note { margin-block-start: var(--space-s); font-size: var(--type-footnote);
  color: var(--label-secondary); text-wrap: pretty; }
#ratings { padding-block-start: 0; }
.imgbreak { position: relative; overflow: hidden; display: flex; align-items: flex-end;
  min-block-size: var(--imgbreak-h, 48vh); }
.imgbreak[data-h="l"] { --imgbreak-h: 64vh; }
.imgbreak[data-h="m"] { --imgbreak-h: 56vh; }
.imgbreak[data-h="s"] { --imgbreak-h: 40vh; }
.imgbreak > img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; }
.imgbreak::after { content: ""; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.66), rgba(0,0,0,0.12) 55%, transparent); }
.imgbreak__body { position: relative; z-index: 1; padding-block: var(--space-xl); color: #fff; inline-size: 100%; }
.imgbreak__statement {
  font-family: var(--font-display);
  font-size: var(--type-title-1); font-weight: var(--weight-bold);
  letter-spacing: var(--track-title); line-height: var(--leading-tight);
  color: #fff; max-inline-size: 24ch; text-wrap: balance;
}
.imgbreak__note { color: rgba(255,255,255,0.86); font-size: var(--type-subhead); margin-block-start: var(--space-2xs); }
.carousel__item { display: flex; flex-direction: column; gap: var(--space-2xs); }
.carousel__item .frame { --frame-radius: var(--radius-m); --frame-ratio: 4 / 5; }
.carousel__cap { font-size: var(--type-caption); color: var(--label-secondary); }
.photogrid {
  display: grid;
  gap: var(--space-2xs);
  grid-template-columns: repeat(auto-fill, minmax(min(8.5rem, 30%), 1fr));
  grid-auto-flow: dense;
}
.photogrid .frame { --frame-radius: var(--radius-s); --frame-ratio: 1 / 1; }
.photogrid > :first-child { grid-column: span 2; grid-row: span 2; }
.photogrid > :first-child .frame { --frame-ratio: 1 / 1; }
@media (max-width: 30rem) {
  .photogrid { grid-template-columns: repeat(3, 1fr); }
}
.pair { display: grid; gap: var(--space-s);
  grid-template-columns: repeat(auto-fit, minmax(min(13rem, 100%), 1fr)); }
.pair figure { margin: 0; display: flex; flex-direction: column; gap: var(--space-2xs); }
.pair .frame { --frame-radius: var(--radius-m); --frame-ratio: 4 / 3; }
.pair figcaption { font-size: var(--type-footnote); font-weight: var(--weight-semibold); }
.pair figcaption span { display: block; font-weight: var(--weight-regular); color: var(--label-secondary); }
.inlinecta {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: var(--space-m);
  background: var(--accent-soft);
  border-radius: var(--radius-m);
  padding: var(--space-m);
}
.inlinecta__text { font-size: var(--type-callout); font-weight: var(--weight-medium); flex: 1 1 14rem; }
.ctaband {
  position: relative;
  overflow: hidden;
  background-color: color-mix(in srgb, var(--accent) var(--plate-mix), #000);
  background-image: linear-gradient(135deg,
    color-mix(in srgb, var(--accent) calc(var(--plate-mix) + 18%), #000) 0%,
    color-mix(in srgb, var(--accent) calc(var(--plate-mix) - 14%), #000) 100%);
  color: #fff;
  border-radius: var(--radius-xl);
  padding: var(--space-3xl) var(--space-l);
  text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: var(--space-m);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.14), var(--shadow-lg);
}
.ctaband::after {
  content: "";
  position: absolute; inset-block-start: -40%; inset-inline-start: -10%;
  inline-size: 30rem; block-size: 30rem; border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, rgba(255,255,255,0.20), transparent 60%);
  pointer-events: none;
  will-change: transform;
  animation: cta-drift 26s ease-in-out infinite alternate;
}
@keyframes cta-drift {
  from { transform: translate3d(0,0,0) scale(1); }
  to   { transform: translate3d(12%, 9%, 0) scale(1.16); }
}
@media (prefers-reduced-motion: reduce) { .ctaband::after { animation: none; } }
.ctaband > * { position: relative; z-index: 1; }
.ctaband h2 { color: #fff; }
.ctaband p { color: rgba(255,255,255,0.92); max-inline-size: 44ch; }
.pricetable { inline-size: 100%; border-collapse: collapse; font-size: var(--type-subhead);
  background: var(--bg-elevated); border-radius: var(--radius-m); overflow: hidden;
  box-shadow: var(--shadow-sm); }
.pricetable th, .pricetable td { padding: var(--space-s) var(--space-m); text-align: start; }
.pricetable td:last-child, .pricetable th:last-child { text-align: end;
  font-weight: var(--weight-semibold); font-variant-numeric: tabular-nums; }
.pricetable thead th { font-size: var(--type-caption); text-transform: uppercase;
  letter-spacing: 0.04em; color: var(--label-secondary); font-weight: var(--weight-semibold); }
.pricetable tbody tr + tr th, .pricetable tbody tr + tr td { border-block-start: 0.5px solid var(--separator); }
.pricetable__note { font-size: var(--type-caption); color: var(--label-secondary); display: block; }
.langswitch {
  position: relative;
  font-size: var(--type-subhead);
}
.langswitch summary {
  list-style: none; cursor: pointer;
  display: inline-flex; align-items: center; gap: 0.3rem;
  min-block-size: var(--tap-min); padding-inline: var(--space-xs);
  color: var(--label-secondary); font-weight: var(--weight-medium);
}
.langswitch summary::-webkit-details-marker { display: none; }
.langswitch__menu {
  position: absolute; inset-inline-start: 0; inset-block-start: 100%;
  min-inline-size: 9rem; z-index: 120;
  background: var(--bg-elevated); border-radius: var(--radius-m);
  box-shadow: var(--shadow-lg); padding: var(--space-2xs);
  list-style: none; margin: 0;
}
.langswitch__menu a {
  display: flex; align-items: center; min-block-size: var(--tap-min);
  padding-inline: var(--space-s); border-radius: var(--radius-s);
  text-decoration: none; color: var(--label); font-size: var(--type-subhead);
}
.langswitch__menu a:hover { background: var(--bg-tertiary); }
.langswitch__menu [aria-current] { color: var(--accent); font-weight: var(--weight-semibold); }
.langswitch[data-align="end"] .langswitch__menu { inset-inline-start: auto; inset-inline-end: 0; }
.langswitch--compact summary {
  gap: 0.3rem;
  min-inline-size: var(--tap-min);
  justify-content: center;
  padding-inline: var(--space-xs);
  color: var(--label-secondary);
  font-size: var(--type-footnote);
  font-weight: var(--weight-semibold);
  letter-spacing: .02em;
}
.langswitch--compact summary svg { inline-size: 1.1rem; block-size: 1.1rem; flex: none; }
.langswitch--compact summary:hover { color: var(--accent); }
@media (max-width: 30rem) { .langswitch--compact .langswitch__code { display: none; } }
.curswitch .langswitch__menu { min-inline-size: 15rem; }
.curlist__opt { display: flex; align-items: center; gap: var(--space-xs); inline-size: 100%; min-block-size: var(--tap-min);
  padding-inline: var(--space-s); border: 0; border-radius: var(--radius-s); background: none; color: var(--label);
  font: inherit; font-size: var(--type-subhead); text-align: start; cursor: pointer; }
.curlist__opt:hover { background: var(--bg-tertiary); }
.curlist__opt[aria-current] { color: var(--accent); font-weight: var(--weight-semibold); }
.curlist__sym { min-inline-size: 2.4rem; font-weight: var(--weight-semibold); }
.curlist__name { flex: 1; }
.curlist__code { color: var(--label-secondary); font-size: var(--type-footnote); }
.anchornav {
  position: sticky; inset-block-start: 3rem; z-index: 80;
  background: color-mix(in srgb, var(--bg-grouped) 88%, transparent);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border-block-end: 0.5px solid var(--separator);
  overflow-x: auto; scrollbar-width: none;
}
.anchornav::-webkit-scrollbar { display: none; }
.anchornav ul { display: flex; gap: var(--space-2xs); list-style: none; margin: 0;
  padding: var(--space-2xs) var(--gutter); white-space: nowrap;
  inline-size: max-content; }
.anchornav a {
  display: inline-flex; align-items: center; min-block-size: var(--tap-min);
  padding-inline: var(--space-s); border-radius: var(--radius-pill);
  font-size: var(--type-footnote); font-weight: var(--weight-medium);
  text-decoration: none; color: var(--label-secondary);
}
.anchornav a[aria-current] {
  color: var(--label);
  font-weight: var(--weight-semibold);
  box-shadow: inset 0 -2px 0 var(--accent);
  border-radius: 0;
}
.photogrid__rest { display: none; }
.photogrid__more { position: relative; }
.photogrid__more::after {
  content: "+" attr(data-more);
  position: absolute; inset: 0; border-radius: var(--radius-s);
  display: grid; place-items: center;
  background: rgba(0,0,0,.55); color: #fff;
  font-size: var(--type-title-3); font-weight: var(--weight-bold);
  letter-spacing: var(--track-title);
  -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
  transition: background var(--dur-fast) var(--ease);
}
.photogrid__more:hover::after { background: rgba(0,0,0,.42); }
.wchart {
  margin: 0;
  --wc-h: 13rem;
  --wc-warm: var(--cta);
  --wc-cool: var(--accent);
}
.wchart__plot {
  position: relative;
  block-size: var(--wc-h);
  margin-inline-start: 2.25rem;
  border-block-end: 1px solid var(--separator);
}
.wchart__grid { position: absolute; inset: 0; pointer-events: none; }
.wchart__line {
  position: absolute; inset-inline: 0;
  inset-block-end: calc((var(--v) - var(--t0)) / (var(--t1) - var(--t0)) * 100%);
  border-block-start: 1px dashed var(--separator);
}
.wchart__line::before {
  content: attr(data-label);
  position: absolute; inset-inline-end: calc(100% + 0.4rem);
  transform: translateY(-50%);
  font-size: var(--type-caption);
  font-variant-numeric: tabular-nums;
  color: var(--label-tertiary);
}
.wchart__months {
  position: absolute; inset: 0;
  display: grid; grid-template-columns: repeat(12, 1fr);
  gap: clamp(2px, 0.6vw, 7px);
  list-style: none; margin: 0; padding: 0;
}
.wmonth { position: relative; min-inline-size: 0; }
.wmonth__rain[data-dry] {
  block-size: 3px;
  background: color-mix(in srgb, var(--accent) 22%, transparent);
  border-radius: 2px;
}
.wmonth__rain {
  position: absolute; inset-block-end: 0;
  inset-inline-start: 50%; translate: -50% 0;
  inline-size: clamp(28px, 100%, 104px);
  block-size: calc(var(--rain) / var(--rmax) * 70%);
  background: color-mix(in srgb, var(--accent) 9%, transparent);
  border-start-start-radius: 4px; border-start-end-radius: 4px;
}
.wmonth__band {
  position: absolute;
  inset-inline-start: 50%; translate: -50% 0;
  inline-size: clamp(11px, 34%, 30px);
  inset-block-end: calc((var(--lo) - var(--t0)) / (var(--t1) - var(--t0)) * 100%);
  block-size: calc((var(--hi) - var(--lo)) / (var(--t1) - var(--t0)) * 100%);
  min-block-size: 10px;
  border-radius: var(--radius-pill);
  background: linear-gradient(to top,
    color-mix(in srgb, var(--wc-cool) 62%, transparent),
    color-mix(in srgb, var(--wc-warm) 88%, transparent));
}
.wchart__labels {
  display: grid; grid-template-columns: repeat(12, 1fr);
  gap: clamp(2px, 0.6vw, 7px);
  margin-inline-start: 2.25rem;
  margin-block-start: var(--space-2xs);
  list-style: none; padding: 0;
}
.wchart__labels li {
  text-align: center;
  font-size: var(--type-caption);
  color: var(--label-secondary);
  font-variant-numeric: tabular-nums;
}
.wchart__foot {
  display: flex; flex-wrap: wrap; align-items: center;
  justify-content: space-between; gap: var(--space-xs) var(--space-m);
  margin-block-start: var(--space-m);
  padding-block-start: var(--space-s);
  border-block-start: 1px solid var(--separator);
}
.wchart__src { margin: 0; }
.weather__note {
  margin: var(--space-s) auto 0;
  max-inline-size: 46ch;
  text-align: center;
  text-wrap: balance;
  font-size: var(--type-subhead);
  color: var(--label-secondary);
}
.wchart__key {
  display: flex; gap: var(--space-xs) var(--space-m);
  font-size: var(--type-footnote); color: var(--label-secondary);
}
.wchart__key > span { display: inline-flex; align-items: center; gap: 0.4rem; }
.wchart__swatch { inline-size: 1.5rem; block-size: 0.55rem; border-radius: var(--radius-pill); flex: none; }
.wchart__swatch--temp { background: linear-gradient(to right,
  color-mix(in srgb, var(--wc-cool) 62%, transparent), color-mix(in srgb, var(--wc-warm) 88%, transparent)); }
.wchart__swatch--rain { background: color-mix(in srgb, var(--accent) 9%, transparent); }
.wchart__light {
  display: grid; grid-template-columns: repeat(12, 1fr);
  gap: clamp(2px, 0.6vw, 7px);
  margin-inline-start: 2.25rem; margin-block-start: var(--space-xs);
  list-style: none; padding: 0;
}
.wchart__light li {
  display: flex; flex-direction: column; align-items: center; gap: 1px;
  font-size: var(--type-caption); color: var(--label-secondary);
  font-variant-numeric: tabular-nums;
}
.wchart__light svg { inline-size: 1.05rem; block-size: 1.05rem; color: var(--star); }
@media (max-width: 34rem) { .wchart__light li { font-size: 9px; } }
.wchart__table { margin-block-start: var(--space-m); }
.wchart__table > summary {
  cursor: pointer; list-style: none;
  display: inline-flex; align-items: center; gap: 0.4rem;
  padding-inline-end: 5px;
  min-block-size: var(--tap-min);
  font-size: var(--type-footnote); font-weight: var(--weight-semibold);
  color: var(--accent);
}
.wchart__table > summary::-webkit-details-marker { display: none; }
.wchart__table > summary::after {
  content: ""; inline-size: 6px; block-size: 6px;
  border-inline-end: 1.5px solid currentColor; border-block-end: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform var(--dur-fast) var(--ease);
}
.wchart__table[open] > summary::after { transform: rotate(-135deg) translateY(-2px); }
.wchart__swatch--light { background: color-mix(in srgb, var(--star) 46%, transparent); }
.wchart__key {
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
  padding-block-end: 2px;
  max-inline-size: 100%;
  min-inline-size: 0;
}
.wchart__key::-webkit-scrollbar { display: none; }
.wchart__key > span { white-space: nowrap; flex: none; }
.wchart { position: relative; }
.wtip {
  position: absolute; inset-block-start: 0; inset-inline-start: 0;
  z-index: 40; pointer-events: none;
  display: grid; gap: 3px;
  padding: var(--space-2xs) var(--space-xs);
  border-radius: var(--radius-s);
  background: var(--label);
  color: var(--bg-elevated);
  font-size: var(--type-caption);
  line-height: 1.3;
  white-space: nowrap;
  box-shadow: var(--shadow-md);
}
.wtip[hidden] { display: none; }
.wtip__month { font-weight: var(--weight-bold); }
.wtip__row { display: flex; align-items: center; gap: 0.4rem; }
.wtip__row svg { inline-size: 0.95rem; block-size: 0.95rem; flex: none; opacity: .85; }
.wmonth:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }
@media (max-width: 46rem) {
  .wchart__months, .wchart__labels, .wchart__light { grid-template-columns: repeat(3, 1fr); }
  .wchart [data-i][hidden] { display: none; }
  .wchart__src { display: none; }
  .wchart { --wc-h: 11rem; }
  .wchart__foot { flex-direction: column; align-items: center; gap: var(--space-2xs); }
  .wchart__key { font-size: var(--type-caption); gap: var(--space-s); justify-content: center; }
  .wmonth__rain { inline-size: clamp(24px, 54%, 72px); }
  .wmonth__band { inline-size: clamp(14px, 26%, 32px); }
}
.routepair {
  display: grid;
  gap: var(--space-xl);
  grid-template-columns: repeat(auto-fit, minmax(min(22rem, 100%), 1fr));
  align-items: start;
}
.routepair__steps { min-inline-size: 0; }
.routepair__map { margin: 0; }
@media (min-width: 60rem) {
  .routepair { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); }
}
.mapdot {
  position: absolute;
  inset-block-start: var(--y); inset-inline-start: var(--x);
  translate: -50% -50%;
  inline-size: var(--tap-min); block-size: var(--tap-min);
  border-radius: 50%;
}
.mapdot:focus-visible { outline: 2px solid var(--accent); outline-offset: -8px; }
.mapdot::after {
  content: none;
  position: absolute; inset-block-end: calc(50% + 12px); inset-inline-start: 50%;
  translate: -50% 0;
  padding: var(--space-2xs) var(--space-xs);
  border-radius: var(--radius-s);
  background: var(--label); color: var(--bg-elevated);
  font-size: var(--type-caption); line-height: 1.3; white-space: nowrap;
  box-shadow: var(--shadow-md);
  pointer-events: none;
}
.mapdot:hover::after, .mapdot:focus-visible::after { content: attr(data-label); }
.mapdot[style*="--x:0"]::after,
.mapdot[style*="--x:1"]::after { inset-inline-start: 0; translate: 0 0; }
.mapblock__frame { overflow: visible; }
.mapblock__frame > img { border-radius: var(--frame-radius, var(--radius-m)); }
.carousel { content-visibility: auto; contain-intrinsic-size: auto 560px; }
.photogrid { content-visibility: auto; contain-intrinsic-size: auto 320px; }
.sources { display: grid; gap: var(--space-m); }
.sources__intro { color: var(--label-secondary); font-size: var(--type-subhead); max-width: var(--measure); }
.sources__facts {
  display: grid; gap: var(--space-xs);
  grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
  margin: 0;
}
.sources__facts > div {
  padding: var(--space-xs) var(--space-s);
  background: var(--bg-grouped); border-radius: var(--radius-m);
  min-inline-size: 0;
}
.sources__facts dt {
  font-size: var(--type-footnote); font-weight: var(--weight-semibold);
  color: var(--label); overflow-wrap: anywhere;
}
.sources__facts dd {
  margin: 0; font-size: var(--type-footnote); color: var(--label-secondary);
  overflow-wrap: anywhere;
}
.sources__list { display: flex; flex-wrap: wrap; gap: var(--space-xs); list-style: none; padding: 0; margin: 0; }
.sources__list a {
  display: inline-flex; align-items: center; min-block-size: var(--tap-min);
  padding: 0 var(--space-s);
  border: 1px solid var(--separator); border-radius: var(--radius-pill);
  font-size: var(--type-footnote); color: var(--label); text-decoration: none;
  transition: background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
}
.sources__list a:hover { background: var(--bg-grouped); border-color: var(--separator-opaque); }
.sources__list a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.carousel {
  --c-gap: 24px;
  --c-visible: 3.2;
  --c-radius: 22px;
  position: relative;
}
@media (max-width: 64rem)   { .carousel { --c-visible: 2.2; } }
@media (max-width: 40rem)   { .carousel { --c-visible: 1.04; --c-gap: 16px; --c-radius: 16px; } }
.c-header {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: var(--space-m); margin-block-end: var(--space-l);
}
.c-controls { display: flex; gap: var(--space-2xs); flex: 0 0 auto; }
.c-arrow {
  inline-size: 44px; block-size: 44px; border-radius: 50%;
  border: 0; background: var(--bg-elevated); color: var(--label);
  display: grid; place-items: center; cursor: pointer;
  box-shadow: var(--shadow-sm);
  transition: background var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), opacity var(--dur-fast);
}
.c-arrow svg { inline-size: 17px; block-size: 17px; }
.c-arrow:hover { background: var(--label); color: var(--bg-elevated); }
.c-arrow:active { transform: scale(0.92); }
.c-arrow:disabled { opacity: 0.32; pointer-events: none; }
.carousel.c-static .c-controls { display: none; }
@media (hover: none) and (pointer: coarse) { .c-controls { display: none; } }
.carousel img { -webkit-user-drag: none; user-drag: none; pointer-events: none; }
.carousel a, .carousel .c-card { -webkit-user-drag: none; user-drag: none; }
.carousel .c-track, .carousel .c-card { user-select: none; -webkit-user-select: none; }
.c-viewport {
  container-type: inline-size;
  overflow-x: auto; overflow-y: hidden;
  padding-block: 4px;
  scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.c-viewport::-webkit-scrollbar { display: none; }
.carousel:not(.c-ready) .c-viewport { scroll-snap-type: x mandatory; scroll-padding-inline-start: 0; }
.carousel:not(.c-ready) .c-slot { scroll-snap-align: start; scroll-snap-stop: always; }
.carousel.c-ready .c-viewport { overflow: hidden; cursor: grab; touch-action: pan-y; }
.carousel.c-dragging .c-viewport { cursor: grabbing; }
.carousel.c-ready .c-track { user-select: none; will-change: transform; }
.c-track {
  list-style: none; margin: 0; padding: 0;
  display: flex; gap: var(--c-gap); inline-size: max-content;
}
.carousel.c-static .c-track { inline-size: 100%; }
.c-slot {
  flex: 0 0 calc((100cqw - (var(--c-visible) - 1) * var(--c-gap)) / var(--c-visible));
  max-inline-size: 30rem;
}
.c-card {
  aspect-ratio: 0.747 / 1;
  border-radius: var(--c-radius);
  overflow: hidden;
  position: relative;
  display: flex; flex-direction: column;
  background: var(--bg-elevated);
  box-shadow: var(--shadow-md);
  text-decoration: none; color: var(--label);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.c-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
a.c-card--link { color: inherit; }
.c-card__go {
  position: absolute; z-index: 2; inset-block-start: var(--space-s); inset-inline-end: var(--space-s);
  color: #fff; filter: drop-shadow(0 1px 3px rgba(0,0,0,.55));
}
.c-card__go svg { display: block; inline-size: 18px; block-size: 18px; }
.c-card > img {
  position: absolute; inset: 0;
  inline-size: 100%; block-size: 100%;
  object-fit: cover; object-position: center;
}
.c-card__body {
  position: relative; z-index: 1; margin-block-start: auto;
  padding: var(--space-l) var(--space-m) var(--space-m);
  color: #fff;
  background: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.66) 45%,
                            rgba(0,0,0,.34) 78%, transparent 100%);
}
.c-card__title {
  font-size: var(--type-title-3); font-weight: var(--weight-bold);
  line-height: var(--leading-tight); letter-spacing: var(--track-title);
  color: #fff; text-wrap: balance;
}
.c-card__text { font-size: var(--type-subhead); color: rgba(255,255,255,.88); margin-block-start: 3px; }
.c-card__eyebrow {
  font-size: var(--type-caption); font-weight: var(--weight-semibold);
  letter-spacing: .07em; text-transform: uppercase; color: rgba(255,255,255,.8);
}
.c-card--plain { background: var(--bg-elevated); }
.c-card--plain .c-card__body {
  color: var(--label); background: none; padding: var(--space-l);
  margin-block-start: 0; block-size: 100%;
  display: flex; flex-direction: column;
}
.c-card__meta {
  margin-block-start: auto; padding-block-start: var(--space-s);
  border-block-start: 1px solid var(--separator);
  display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-xs);
  font-size: var(--type-footnote);
}
.c-card__meta b { font-weight: var(--weight-semibold); color: var(--label); }
.c-card__meta span { color: var(--label-secondary); }
.c-card--plain .c-card__title { color: var(--label); }
.c-card--plain .c-card__text { color: var(--label-secondary); }
.c-card--plain .c-card__num {
  font-family: var(--font-display); font-size: var(--type-large-title);
  font-weight: var(--weight-bold); color: var(--accent); line-height: 1;
  margin-block-end: var(--space-xs);
}
.c-card--plain .card__icon {
  inline-size: auto; block-size: auto; background: none; border-radius: 0;
  color: var(--accent); display: block; padding-block-end: var(--space-s);
  border-block-end: 1.5px solid var(--separator); margin-block-end: var(--space-m);
}
.c-card--plain .card__icon > svg { inline-size: 1.9rem; block-size: 1.9rem; }
.c-card__foot { margin-block-start: auto; padding-block-start: var(--space-s);
  font-size: var(--type-footnote); font-weight: var(--weight-semibold); color: var(--accent); }
.lightbox {
  position: fixed; inset: 0; z-index: 300; display: none;
  background: rgba(0,0,0,.94);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.lightbox.is-open { display: block; }
.lightbox__track {
  block-size: 100%; display: flex;
  overflow-x: auto; overflow-y: hidden;
  scroll-snap-type: x mandatory;
  overscroll-behavior: contain;
  scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.lightbox__track::-webkit-scrollbar { display: none; }
.lightbox__item {
  flex: 0 0 100%; scroll-snap-align: center; scroll-snap-stop: always;
  margin: 0; block-size: 100%;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: var(--space-s); padding: var(--space-xl) var(--space-m);
}
.lightbox__item { min-inline-size: 0; }
.lightbox__item img {
  inline-size: auto; block-size: auto;
  max-inline-size: min(94vw, 100%, 1400px); max-block-size: 82vh;
  object-fit: contain; border-radius: var(--radius-m);
}
.lightbox__item figcaption {
  color: rgba(255,255,255,.82); font-size: var(--type-footnote);
  text-align: center; max-inline-size: 60ch;
}
.lightbox__close, .lightbox__nav {
  position: absolute; z-index: 2;
  inline-size: 46px; block-size: 46px; border: 0; border-radius: 50%;
  background: rgba(255,255,255,.14); color: #fff; line-height: 1;
  cursor: pointer; display: grid; place-items: center;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.lightbox__close { inset-block-start: var(--space-m); inset-inline-end: var(--space-m); font-size: 28px; }
.lightbox__nav { inset-block-start: 50%; transform: translateY(-50%); font-size: 26px; }
.lightbox__nav[data-d="-1"] { inset-inline-start: var(--space-l); }
.lightbox__nav[data-d="1"]  { inset-inline-end: var(--space-l); }
.lightbox__close:hover, .lightbox__nav:hover { background: rgba(255,255,255,.28); }
@media (hover: none) and (pointer: coarse) { .lightbox__nav { display: none; } }
.lb__cta { display: none; }
.lbx-wrap { position: relative; display: inline-block; line-height: 0; max-inline-size: min(94vw, 100%, 1400px); }
.lbx-wrap img { display: block; max-inline-size: 100%; }
.lightbox.has-cta .lightbox__item:not(.lightbox__offer) { padding-block-end: 5.5rem; }
.lightbox.has-cta .lbx-wrap img { max-block-size: 62vh; }
.lbx-wrap .lb__cta {
  position: absolute; z-index: 2; left: 50%; top: 100%; transform: translate(-50%, -1.75rem);
  display: flex; flex-direction: column; align-items: center; gap: var(--space-xs);
  inline-size: max-content; max-inline-size: 92vw; line-height: normal;
}
.lbx-wrap .lb__cta .btn { font-size: var(--type-title-3); padding: 0.85rem 1.8rem; box-shadow: 0 10px 28px rgba(0,0,0,.5); }
.lightbox__offer .lboffer {
  display: flex; flex-direction: column; align-items: center; gap: var(--space-s);
  text-align: center; max-inline-size: 30rem; padding-inline: var(--space-m);
}
.lboffer__title { color: #fff; font-size: var(--type-title-2); font-weight: var(--weight-bold); text-wrap: balance; }
.lboffer__proof { font-size: var(--type-subhead); }
.will-reveal [data-reveal-item], .will-reveal.is-reveal-self {
  opacity: 0; transform: translateY(14px);
  transition: opacity .55s var(--ease), transform .55s var(--ease);
}
.will-reveal [data-reveal-item].is-in { opacity: 1; transform: none; }
.steps[data-reveal] .steps__item::after { transform-origin: top; transform: scaleY(0);
  transition: transform .5s var(--ease); }
.steps[data-reveal] .steps__item.is-in::after { transform: scaleY(1); }
.bars[data-reveal] .bar__fill { inline-size: 0 !important; transition: inline-size .9s var(--ease); }
.bars[data-reveal] .bar__fill.is-in { inline-size: var(--pct) !important; }
.cmp { --cmp: 50%; position: relative; border-radius: var(--radius-l); overflow: hidden;
  aspect-ratio: 3 / 2; background: var(--gray-6); }
.cmp__a, .cmp__b { position: absolute; inset: 0; }
.cmp__a img, .cmp__b img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; }
.cmp__b { clip-path: inset(0 0 0 var(--cmp)); }
.cmp__range {
  position: absolute; inset-block-end: 0; inset-inline: 0; inline-size: 100%;
  block-size: 100%; margin: 0; opacity: 0; cursor: ew-resize; z-index: 3;
  -webkit-appearance: none; appearance: none; background: none;
}
.cmp__handle {
  position: absolute; inset-block: 0; inset-inline-start: var(--cmp);
  inline-size: 3px; background: #fff; z-index: 2; pointer-events: none;
  box-shadow: 0 0 0 1px rgba(0,0,0,.18);
}
.cmp__handle::after {
  content: "⇄"; position: absolute; inset-block-start: 50%; inset-inline-start: 50%;
  transform: translate(-50%,-50%);
  inline-size: 42px; block-size: 42px; border-radius: 50%;
  background: #fff; color: var(--label); display: grid; place-items: center;
  font-size: 16px; box-shadow: var(--shadow-md);
}
.cmp__tag {
  position: absolute; inset-block-start: var(--space-s); z-index: 2;
  background: rgba(0,0,0,.55); color: #fff; font-size: var(--type-caption);
  font-weight: var(--weight-semibold); padding: .25rem .6rem; border-radius: var(--radius-pill);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.cmp__tag--a { inset-inline-start: var(--space-s); }
.cmp__tag--b { inset-inline-end: var(--space-s); }
.navbar__toggle {
  min-inline-size: var(--tap-min);
  min-block-size: var(--tap-min);
  justify-content: center;
  display: none; inline-size: var(--tap-min); block-size: var(--tap-min);
  border: 0; background: none; color: var(--label);
  align-items: center; justify-content: center; cursor: pointer;
}
.navbar__toggle span { display: block; inline-size: 20px; block-size: 2px; background: currentColor;
  border-radius: 2px; position: relative; transition: transform var(--dur) var(--ease); }
.navbar__toggle span::before, .navbar__toggle span::after {
  content: ""; position: absolute; inset-inline: 0; block-size: 2px; background: currentColor; border-radius: 2px;
  transition: transform var(--dur) var(--ease), opacity var(--dur-fast); }
.navbar__toggle span::before { inset-block-start: -6px; }
.navbar__toggle span::after  { inset-block-start: 6px; }
.navbar__toggle[aria-expanded="true"] span { transform: rotate(45deg); }
.navbar__toggle[aria-expanded="true"] span::before { transform: translateY(6px) rotate(-90deg); }
.navbar__toggle[aria-expanded="true"] span::after  { opacity: 0; }
@media (max-width: 60.25rem) {
  .navbar__toggle { display: inline-flex; }
  .navbar__links { display: none; }
  #site-menu {
    position: fixed; inset: 3.25rem 0 0; z-index: 150;
    background: var(--bg); padding: var(--space-l) var(--gutter);
    overflow-y: auto;
  }
  #site-menu a {
    display: flex; align-items: center; min-block-size: 3rem;
    font-size: var(--type-headline); font-weight: var(--weight-medium);
    color: var(--label); text-decoration: none;
    border-block-end: 0.5px solid var(--separator);
  }
  #site-menu a:last-of-type { border-block-end: 0; }
  #site-menu .navbar__book { color: var(--label); font-weight: var(--weight-bold); }
  #site-menu .navdrop summary { display: flex; justify-content: space-between; min-block-size: 3rem; padding-inline: 0;
    font-size: var(--type-headline); color: var(--label); border-block-end: 0.5px solid var(--separator); }
  #site-menu .navdrop summary svg { inline-size: 18px; block-size: 18px; color: var(--label-secondary); }
  #site-menu .navdrop__menu { position: static; inline-size: auto; min-inline-size: 0; max-inline-size: none; max-block-size: none;
    padding: 0 0 0 var(--space-m); background: none; box-shadow: none; border-radius: 0; }
  #site-menu .navdrop .navdrop__menu a { min-block-size: 2.75rem; font-size: var(--type-subhead); font-weight: var(--weight-regular);
    color: var(--label-secondary); border-block-end: 0.5px solid var(--separator); }
  #site-menu .navdrop__all { margin: 0; padding: 0; border: 0; }
  #site-menu .navdrop .navdrop__all a { color: var(--accent); font-weight: var(--weight-semibold); }
}
@media (min-width: 60.3125rem) {
  #site-menu { display: none !important; }
  .navbar__toggle { display: none; }
}
.verdict { display: grid; gap: var(--space-m); grid-template-columns: 1fr 1fr; }
.verdict > * {
  background: var(--bg-elevated);
  border-radius: var(--radius-l);
  padding: var(--space-xl) var(--space-l) var(--space-l);
  box-shadow: var(--shadow-sm);
  display: flex; flex-direction: column;
}
.verdict__rule {
  inline-size: 2.5rem; block-size: 3px; border-radius: 2px;
  background: var(--success); margin-block-end: var(--space-m);
}
.verdict__rule--no { background: var(--label-tertiary); }
.verdict__title {
  font-family: var(--font-display);
  font-size: var(--type-title-1);
  font-weight: var(--weight-bold);
  letter-spacing: var(--track-title);
  line-height: var(--leading-tight);
  color: var(--label);
  text-transform: none;
  margin-block-end: var(--space-m);
  text-wrap: balance;
}
.verdict__title em { font-style: normal; color: var(--label-secondary); font-weight: var(--weight-medium); }
.verdict-list { list-style: none; padding: 0; margin: 0; }
.verdict-list li {
  display: block; font-size: var(--type-callout); line-height: var(--leading-snug);
  padding-block: var(--space-s);
  border-block-start: 1px solid var(--separator);
}
.verdict-list li:first-child { border-block-start: 0; padding-block-start: 0; }
.verdict-list li::before { content: none; }
.verdict__foot {
  margin-block-start: auto; padding-block-start: var(--space-m);
  border-block-start: 1px solid var(--separator);
  font-size: var(--type-footnote); color: var(--label-secondary);
}
@media (max-width: 34rem) {
  .verdict { gap: var(--space-xs); }
  .verdict > * { padding: var(--space-l) var(--space-m) var(--space-m); }
  .verdict__rule { inline-size: 2rem; margin-block-end: var(--space-s); }
  .verdict__title { font-size: var(--type-title-3); margin-block-end: var(--space-s); }
  .verdict-list li { font-size: var(--type-footnote); padding-block: var(--space-xs); }
}
.pricetable { table-layout: auto; }
.pricetable td:last-child, .pricetable th:last-child { inline-size: 1%; white-space: nowrap; padding-inline-start: var(--space-xl); }
.inlinecta { align-items: center; }
@media (max-width: 34rem) {
  .inlinecta { flex-direction: column; align-items: stretch; gap: var(--space-s);
               padding: var(--space-m) var(--space-m) var(--space-s); }
  .inlinecta__text { flex: 0 0 auto; text-align: center; }
  .inlinecta .btn { inline-size: 100%; }
}
.bar__fill { display: block; }
.ratingsum { grid-template-columns: auto 1fr; gap: var(--space-l); align-items: center; }
.ratingsum__score { text-align: start; display: flex; flex-direction: column; gap: 2px; }
@media (max-width: 30rem) { .ratingsum { grid-template-columns: 1fr; } }
.summary--facts { border-inline: 0 !important; padding: 0; overflow: hidden; }
.summary--facts .summary__title { padding: var(--space-m) var(--space-m) 0; }
@media (max-width: 34rem) {
  .summary--facts dl { grid-template-columns: 1fr 1fr; }
  .summary--facts dl > div:nth-child(n+3)::after {
    content: ""; position: absolute; inset-block-start: 0; inset-inline: 18%;
    block-size: 1px; background: var(--separator);
  }
  .summary--facts dl > div:nth-child(3)::before { content: none; }
  .summary--facts dd { font-size: var(--type-title-3); }
}
.card__icon {
  inline-size: auto; block-size: auto; background: none; border-radius: 0;
  color: var(--accent); display: block; padding-block-end: var(--space-s);
  border-block-end: 1.5px solid var(--separator); margin-block-end: var(--space-s);
}
.card__icon > svg { inline-size: 1.75rem; block-size: 1.75rem; }
h1, h2, h3 { overflow-wrap: break-word; hyphens: none; }
.is-zoomable { cursor: zoom-in; }
.carousel .is-zoomable,
.carousel .c-card,
.carousel a.c-card,
.carousel.c-ready .c-card,
.carousel.c-ready a.c-card { cursor: grab; }
.carousel.c-dragging .c-card,
.carousel.c-dragging a.c-card { cursor: grabbing; }
.carousel.c-static .c-card { cursor: default; }
.carousel.c-static a.c-card { cursor: pointer; }
.gygwidget { position: relative; }
.gygwidget:not(.is-loaded) { min-block-size: var(--gyg-h, 20rem); }
.gygwidget:not(.is-loaded)::before {
  content: "";
  position: absolute; inset: 0;
  border-radius: var(--radius-l);
  background: var(--bg-elevated);
  box-shadow: inset 0 0 0 1px var(--separator);
}
.gygwidget:not(.is-loaded)::after {
  content: "Loading live availability from GetYourGuide…";
  position: absolute; inset-block-start: 50%; inset-inline: 0;
  transform: translateY(-50%);
  text-align: center;
  font-size: var(--type-footnote);
  color: var(--label-secondary);
}
.gygwidget[data-kind="activities"]:not(.is-loaded) { --gyg-h: 26rem; }
@media (max-width: 46rem) {
  .gygwidget:not(.is-loaded) { --gyg-h: 30rem; }
  .gygwidget[data-kind="activities"]:not(.is-loaded) { --gyg-h: 46rem; }
}
.c-card--review .c-card__body {
  background: linear-gradient(to top,
    rgb(var(--scrim-rgb) / 0.92) 0%, rgb(var(--scrim-rgb) / 0.80) 42%, rgb(var(--scrim-rgb) / 0.42) 74%, transparent 100%);
  padding-block-start: var(--space-2xl);
}
.c-card__stars {
  color: var(--star);
  font-size: var(--type-footnote);
  letter-spacing: 0.09em;
  margin-block-end: var(--space-2xs);
}
.c-card__quote {
  font-size: var(--type-subhead);
  line-height: var(--leading-snug);
  color: #fff;
  text-wrap: pretty;
}
.c-card__who {
  display: flex; align-items: stretch; gap: var(--space-xs);
  margin-block-start: var(--space-s);
}
.c-card__avatar {
  inline-size: 40px; block-size: 40px; border-radius: 50%;
  object-fit: cover; flex: none; align-self: center;
  box-shadow: 0 0 0 1.5px rgba(255,255,255,0.5);
}
.c-card__whotext {
  display: flex; flex-direction: column; justify-content: space-between;
  min-block-size: 40px; min-inline-size: 0;
}
.c-card__name { font-size: var(--type-caption); font-weight: var(--weight-semibold); color: #fff; }
.c-card__meta-line { font-size: var(--type-caption); color: rgba(255,255,255,0.72); }
.c-card__verified {
  display: inline-flex; align-items: center; gap: 3px;
  font-size: var(--type-caption); color: rgba(255,255,255,0.72);
}
.gygwidget > div > span { display: block; padding-block: var(--space-xs); font-size: var(--type-footnote); color: var(--label-secondary); }
.gygwidget > div > span a { display: inline-flex; align-items: center; min-block-size: var(--tap-min); }
.site-menu__label {
  margin-block-start: var(--space-xl);
  margin-block-end: var(--space-xs);
  font-size: var(--type-caption); font-weight: var(--weight-semibold);
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--label-secondary);
}
.langlist { margin-block-start: var(--space-xs); }
.langlist .list-row {
  min-block-size: var(--tap-min);
  justify-content: space-between;
  font-size: var(--type-body);
}
.langlist a.list-row::after { content: none; }
.langlist .list-row[aria-current] { color: var(--accent); font-weight: var(--weight-semibold); }
.langlist .list-row[aria-current] .langlist__tick { color: var(--accent); }
.langlist__tick { inline-size: 1.1rem; block-size: 1.1rem; flex: none; opacity: 0; }
.langlist .list-row[aria-current] .langlist__tick { opacity: 1; }
.langlist__native { color: var(--label-tertiary); font-size: var(--type-footnote); }
.curlist button.list-row { inline-size: 100%; border: 0; background: none; font: inherit; color: var(--label);
  text-align: start; cursor: pointer; gap: var(--space-xs); }
.curlist .list-row .curlist__name { flex: 1; font-weight: inherit; }
.themetoggle {
  display: inline-flex; align-items: center; gap: var(--space-xs);
  position: relative; cursor: pointer;
  min-block-size: var(--tap-min);
}
.themetoggle__label { font-size: var(--type-footnote); color: var(--label-secondary); }
.themetoggle__input {
  position: absolute; inset-inline-end: 0; inset-block: 0;
  inline-size: 3.2rem; block-size: 100%;
  margin: 0; opacity: 0; cursor: pointer;
}
.themetoggle__track {
  flex: none;
  pointer-events: none;
  inline-size: 51px; block-size: 31px;
  border-radius: 999px;
  background: var(--gray-4);
  position: relative;
  transition: background-color var(--dur) var(--ease);
}
.themetoggle__knob {
  position: absolute;
  inset-block-start: 2px; inset-inline-start: 2px;
  inline-size: 27px; block-size: 27px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 3px 8px rgba(0,0,0,.15), 0 1px 1px rgba(0,0,0,.16);
  transition: translate var(--dur) var(--ease);
  display: grid; place-items: center;
}
.themetoggle__knob svg {
  grid-area: 1 / 1;
  inline-size: 58%; block-size: 58%;
  transition: opacity var(--dur-fast) var(--ease), rotate var(--dur) var(--ease);
}
.themetoggle__knob .ico-sun  { color: #F5A524; opacity: 1; }
.themetoggle__knob .ico-moon { color: #3F4470; opacity: 0; rotate: -50deg; }
.themetoggle__input:checked ~ .themetoggle__track .ico-sun  { opacity: 0; rotate: 50deg; }
.themetoggle__input:checked ~ .themetoggle__track .ico-moon { opacity: 1; rotate: 0deg; }
.themetoggle__input:checked ~ .themetoggle__track { background: var(--success); }
.themetoggle__input:checked ~ .themetoggle__track .themetoggle__knob { translate: 20px 0; }
.themetoggle__input:focus-visible ~ .themetoggle__track {
  outline: 2px solid var(--accent); outline-offset: 3px;
}
.themetoggle--bare { gap: 0; }
.themetoggle--bare .themetoggle__label {
  position: absolute; inline-size: 1px; block-size: 1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
.themetoggle--bare .themetoggle__track { inline-size: 44px; block-size: 26px; }
.themetoggle--bare .themetoggle__knob { inline-size: 22px; block-size: 22px; }
.themetoggle--bare .themetoggle__input:checked ~ .themetoggle__track .themetoggle__knob { translate: 18px 0; }
@media (prefers-reduced-motion: reduce) {
  .themetoggle__track, .themetoggle__knob, .themetoggle__knob svg { transition: none; }
}
.timeline[data-collapsible] .timeline__item[data-extra] { display: none; }
.timeline[data-collapsible][data-open] .timeline__item[data-extra] { display: list-item; }
.timeline__more {
  appearance: none; border: 0; background: none; cursor: pointer;
  font: inherit; font-size: var(--type-subhead); font-weight: var(--weight-semibold);
  color: var(--accent); text-align: start;
  display: inline-flex; align-items: center; gap: 0.4rem;
  min-block-size: var(--tap-min); padding-inline-end: 5px;
}
.timeline__more::after {
  content: ""; inline-size: 6px; block-size: 6px;
  border-inline-end: 1.5px solid currentColor; border-block-end: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform var(--dur-fast) var(--ease);
}
.timeline[data-open] + .timeline__more::after,
.timeline__more[aria-expanded="true"]::after { transform: rotate(-135deg) translateY(-2px); }
.rsum { display: flex; gap: var(--space-m); align-items: baseline; flex-wrap: wrap; }
.rsum__big { font-size: var(--type-title-1); font-weight: var(--weight-bold); line-height: 1; }
.rsum__stars { color: var(--star); letter-spacing: 0.05em; }
.rbars { display: grid; gap: var(--space-xs); }
.rbar { display: grid; grid-template-columns: minmax(7rem, 11rem) 1fr 2.5rem;
        gap: var(--space-s); align-items: center; font-size: var(--type-subhead); }
.rbar__lab { color: var(--label-secondary); }
.rbar__track { block-size: 8px; border-radius: var(--radius-pill); background: var(--gray-5); overflow: hidden; }
.rbar__fill { display: block; block-size: 100%; border-radius: var(--radius-pill); background: var(--star);
              transition: inline-size .7s var(--ease); }
.rbar__v { text-align: end; font-variant-numeric: tabular-nums; font-weight: var(--weight-semibold); }
.pchart { display: grid; gap: var(--space-s); }
.pchart__row { display: grid; grid-template-columns: minmax(7rem, 12rem) 1fr auto;
               gap: var(--space-s); align-items: center; }
.pchart__lab { font-size: var(--type-subhead); color: var(--label-secondary); }
.pchart__track { block-size: 1.4rem; border-radius: var(--radius-s); background: var(--gray-5); overflow: hidden; }
.pchart__fill { display: block; block-size: 100%; border-radius: var(--radius-s); background: var(--accent);
                transition: inline-size .7s var(--ease); min-inline-size: 2px; }
.pchart__row[data-best] .pchart__fill { background: var(--cta); }
.pchart__row[data-best] .pchart__v { color: var(--cta); }
.pchart__v { font-variant-numeric: tabular-nums; font-weight: var(--weight-semibold); white-space: nowrap; }
.pchart__note { font-size: var(--type-caption); color: var(--label-secondary); margin: 0; }
@media (max-width: 34rem) {
  .pchart__row { grid-template-columns: 1fr auto; }
  .pchart__track { grid-column: 1 / -1; }
}
.pcalc { display: grid; gap: var(--space-m); padding: var(--space-m);
         border-radius: var(--radius-m); background: var(--bg-elevated); box-shadow: var(--shadow-sm); }
.pcalc__controls { display: grid; grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); gap: var(--space-s); }
.pcalc__field { display: grid; gap: var(--space-2xs); font-size: var(--type-caption); color: var(--label-secondary); }
.pcalc__field select {
  font: inherit; font-size: var(--type-body); color: var(--label);
  padding: var(--space-xs) var(--space-s); border-radius: var(--radius-s);
  border: 1px solid var(--separator); background: var(--bg); min-block-size: var(--tap-min);
}
.pcalc__out { display: grid; gap: 0; }
.pcalc__line { display: flex; justify-content: space-between; gap: var(--space-s);
               padding-block: var(--space-xs); border-block-end: 0.5px solid var(--separator); }
.pcalc__line:last-child { border-block-end: 0; }
.pcalc__line[data-best] { font-weight: var(--weight-semibold); color: var(--cta); }
.pcalc__tot { font-variant-numeric: tabular-nums; }
.bwin { display: grid; gap: var(--space-s); }
.bwin__item { display: grid; grid-template-columns: minmax(5rem, 8rem) 1fr;
              gap: var(--space-s); align-items: baseline; }
.bwin__when { font-weight: var(--weight-semibold); color: var(--cta); font-variant-numeric: tabular-nums; }
@media (max-width: 30rem) { .bwin__item { grid-template-columns: 1fr; gap: var(--space-2xs); } }
.cmp-badge { display: inline-block; margin-inline-start: var(--space-2xs);
             padding: 0.1em 0.5em; border-radius: var(--radius-pill);
             background: var(--cta); color: var(--on-cta);
             font-size: var(--type-caption); font-weight: var(--weight-semibold);
             white-space: nowrap; vertical-align: middle; }
.compare th[data-best], .compare td[data-best] { background: var(--accent-soft); }
@media (min-width: 64rem) {
}
.toolhead {
  font-size: var(--type-title-2);
  color: var(--label);
  text-wrap: balance;
  margin: 0 0 var(--space-s);
}
.verdict { max-inline-size: 46rem; }
.verdict-list li { font-size: var(--type-body); }
.compare tbody th { inline-size: 10rem; }
@container (max-width: 34rem) {
  .compare tr { padding-block: var(--space-m); }
  .compare tbody td { padding-block: var(--space-2xs); }
  .compare tbody td[data-best] { border-radius: var(--radius-s); padding-inline: var(--space-xs); }
}
.pcalc__lede { margin: 0; font-size: var(--type-subhead); color: var(--label-secondary); }
.pcalc__what { display: grid; gap: 2px; min-inline-size: 0; }
.pcalc__name { font-weight: var(--weight-medium); }
.pcalc__note { font-size: var(--type-caption); color: var(--label-secondary); }
.pcalc__line { align-items: start; }
.pcalc__tot { font-weight: var(--weight-semibold); white-space: nowrap; }
.v2 {
  display: grid; margin-block-start: var(--space-s);
  background: var(--bg-elevated); border-radius: var(--radius-m);
  box-shadow: var(--shadow-sm); overflow: hidden;
}
.v2__r {
  display: grid; grid-template-columns: 8rem 1fr auto;
  gap: var(--space-m); align-items: baseline;
  padding: var(--space-m);
  border-block-start: 0.5px solid var(--separator);
}
.v2__r:first-child { border-block-start: 0; }
.v2__r--nokey { grid-template-columns: 1fr auto; }
.v2__k { font-weight: var(--weight-bold); color: var(--cta); }
.v2__p { font-weight: var(--weight-semibold); white-space: nowrap; font-variant-numeric: tabular-nums; }
@media (max-width: 40rem) {
  .v2__r { grid-template-columns: 1fr auto; gap: var(--space-2xs) var(--space-s); }
  .v2__k { grid-column: 1 / -1; }
}
.bwinblock .bwin {
  display: grid; gap: 0;
  background: var(--bg-elevated); border-radius: var(--radius-m);
  box-shadow: var(--shadow-sm); overflow: hidden;
}
.bwin__item {
  display: grid; grid-template-columns: 9rem 1fr; gap: var(--space-m);
  padding: var(--space-s) var(--space-m);
  border-block-start: 0.5px solid var(--separator);
  align-items: baseline;
}
.bwin__item:first-child { border-block-start: 0; }
.bwin__when { font-weight: var(--weight-semibold); color: var(--cta); font-variant-numeric: tabular-nums; }
@media (max-width: 34rem) {
  .bwin__item { grid-template-columns: 1fr; gap: 2px; }
}
.rbars::after {
  content: "Scale starts at 4.0";
  display: block; margin-block-start: var(--space-2xs);
  font-size: var(--type-caption); color: var(--label-tertiary);
}
@media (max-width: 40rem) {
  .artcol .prose > :is(p, ul, ol, h2, h3) { padding-inline: var(--space-2xs); }
}
.tb {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: var(--space-m);
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}
.tb__c {
  background: var(--bg-elevated); border-radius: var(--radius-m);
  box-shadow: var(--shadow-sm); overflow: hidden;
  display: flex; flex-direction: column;
}
.tb__rows { flex: 1 1 auto; align-content: start; }
.tb__c[data-best] { outline: 2px solid var(--cta); outline-offset: -2px; }
.tb__media { display: block; position: relative; aspect-ratio: 16 / 9; overflow: hidden; }
@media (max-width: 40rem) { .tb__media { aspect-ratio: 1 / 1; } }
.tb__media img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; }
.tb__head { display: grid; gap: var(--space-2xs); padding: var(--space-m) var(--space-m) var(--space-s); }
.tb__pill {
  position: absolute; inset-block-start: var(--space-s); inset-inline-start: var(--space-s);
  display: inline-flex; align-items: center; gap: 0.35em;
  font-size: var(--type-caption); font-weight: var(--weight-semibold);
  background: var(--cta); color: var(--on-cta);
  padding: 0.3em 0.7em; border-radius: var(--radius-pill);
  box-shadow: 0 1px 6px rgb(0 0 0 / 0.28);
}
.tb__pill svg {
  inline-size: 1em; block-size: 1em; flex: none;
  fill: none; stroke: currentColor; stroke-width: 1.9;
  stroke-linecap: round; stroke-linejoin: round;
}
.tb__shot { position: absolute; inset: 0; display: block; }
.tb__cta { display: block; padding: 0 var(--space-m) var(--space-m); }
.tb__cta .btn { inline-size: 100%; }
.tb__cta .btn--tinted { box-shadow: inset 0 0 0 1.5px var(--accent); }
.tb__name { font-weight: var(--weight-semibold); color: var(--label); }
.tb__name a { color: inherit; }
.tb__price { font-size: var(--type-title-2); font-weight: var(--weight-bold); line-height: 1.1; }
.tb__c[data-best] .tb__price { color: var(--cta); }
.tb__rows { display: grid; padding: 0 var(--space-m) var(--space-m); }
.tb__row {
  display: flex; justify-content: space-between; gap: var(--space-s);
  font-size: var(--type-subhead); padding-block: var(--space-2xs);
  border-block-start: 0.5px solid var(--separator);
}
.tb__row > span:first-child { color: var(--label-secondary); }
.tb__row > span:last-child { text-align: end; font-weight: var(--weight-medium); }
.pchart, .pcalc, .v2block, .bwinblock, .ratingblock {
  max-inline-size: 44rem;
  margin-inline: 0 auto;
}
.v2, .bwin, .rbars, .rsum, .pchart__note { max-inline-size: none; }
.tb { max-inline-size: none; }
.xq { display: grid; gap: var(--space-l); max-inline-size: 44rem; margin-inline: 0 auto; }
.xq__item {
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "quote" "by";
  row-gap: var(--space-m);
  background: var(--accent-soft);
  border-radius: var(--radius-l);
  padding: var(--space-l);
}
.xq .xq__quote {
  grid-area: quote;
  margin: 0; padding: 0; max-inline-size: none;
  font-size: var(--type-title-3); line-height: var(--leading-snug);
  font-weight: var(--weight-medium); color: var(--label); text-wrap: pretty;
}
.xq .xq__quote::before {
  content: "\201C"; position: static;
  inline-size: auto; block-size: auto; background: none; border-radius: 0;
}
.xq .xq__quote::after { content: "\201D"; }
.xq__by { grid-area: by; display: grid; gap: 2px; align-content: center;
          min-inline-size: 0; font-size: var(--type-subhead); }
.xq__who  { font-weight: var(--weight-semibold); color: var(--label); }
.xq__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.15em 0.5em;
            font-size: var(--type-caption); }
.xq__meta > * + *::before { content: "\00B7"; margin-inline-end: 0.5em; color: var(--label-tertiary); }
.xq__role { color: var(--label-secondary); }
.xq__src  { color: var(--label-tertiary); }
a.xq__src { color: var(--accent); text-decoration: none; }
a.xq__src:hover { text-decoration: underline; }
.xq__item--shot {
  grid-template-columns: 44px 1fr;
  grid-template-areas: "quote quote" "shot by";
  column-gap: var(--space-s);
}
.xq__shot {
  grid-area: shot; display: block; inline-size: 44px; block-size: 44px;
  border-radius: 50%; overflow: hidden; background: var(--gray-5); align-self: center;
}
.xq__shot img { inline-size: 100%; block-size: 100%; aspect-ratio: 1 / 1;
                object-fit: cover; display: block; }
@media (max-width: 40rem) {
  .xq__item { padding: var(--space-m); }
  .xq__quote { font-size: var(--type-headline); }
}
.dchart { display: grid; gap: var(--space-s); max-inline-size: 44rem; margin-inline: 0 auto; }
.dchart__row { display: grid; grid-template-columns: minmax(7rem, 12rem) 1fr auto;
               gap: var(--space-s); align-items: center; }
.dchart__lab { font-size: var(--type-subhead); color: var(--label-secondary); }
.dchart__track { block-size: 1.4rem; border-radius: var(--radius-s); background: var(--gray-5); overflow: hidden; }
.dchart__fill { display: block; block-size: 100%; border-radius: var(--radius-s);
                background: var(--accent); transition: inline-size .7s var(--ease); }
.dchart__row[data-best] .dchart__fill { background: var(--cta); }
.dchart__row[data-best] .dchart__v { color: var(--cta); }
.dchart__v { font-variant-numeric: tabular-nums; font-weight: var(--weight-semibold); white-space: nowrap; }
.dchart__note { font-size: var(--type-caption); color: var(--label-secondary); margin: 0; }
@media (max-width: 34rem) {
  .dchart__row { grid-template-columns: 1fr auto; }
  .dchart__track { grid-column: 1 / -1; }
}
.prose {
  --prose-measure: var(--measure);
  font-size: var(--type-body);
  line-height: var(--leading-body);
  letter-spacing: var(--track-body);
  color: var(--label);
}
.prose > * + * { margin-block-start: var(--space-m); }
.prose > :is(h2, h3, h4) { margin-block-start: var(--space-xl); }
.prose > :is(h2, h3, h4) + :is(p, ul, ol) { margin-block-start: var(--space-xs); }
.prose > :is(h2, h3, h4) + :not(p, ul, ol) { margin-block-start: var(--space-m); }
.prose > :first-child { margin-block-start: 0; }
.prose > :is(h2, h3, h4)[id] { scroll-margin-block-start: var(--space-3xl); }
.prose > :is(h2, h3, h4) {
  color: var(--label);
  text-wrap: balance;
  max-inline-size: var(--prose-measure);
}
.prose > h2 { font-size: var(--type-title-2); }
.prose > h3 { font-size: var(--type-title-3); }
.prose > h4 { font-size: var(--type-headline); }
.prose > p, .prose li { max-inline-size: var(--prose-measure); }
.prose > p:first-child {
  font-size: var(--type-callout);
  line-height: var(--leading-snug);
  color: var(--label-secondary);
}
.prose a:not([class]) {
  color: var(--accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: color-mix(in srgb, var(--accent) 40%, transparent);
  text-underline-offset: 3px;
  transition: text-decoration-color var(--dur-fast) var(--ease);
}
.prose a:not([class]):hover { text-decoration-color: var(--accent); }
.prose :is(ul, ol) {
  padding-inline-start: 0;
  list-style-position: outside;
  margin-inline-start: 1.15em;
}
.prose :is(ul, ol)[class] { margin-inline-start: 0; }
.prose li + li { margin-block-start: var(--space-2xs); }
.prose li::marker { color: var(--label-tertiary); }
.prose ol > li::marker { font-variant-numeric: tabular-nums; font-weight: var(--weight-medium); }
.prose :is(ul, ol) :is(ul, ol) { margin-block-start: var(--space-2xs); }
.prose blockquote {
  margin-inline: 0;
  padding-block-start: var(--space-s);
  font-size: var(--type-title-3);
  line-height: var(--leading-snug);
  font-weight: var(--weight-medium);
  color: var(--label);
  max-inline-size: var(--prose-measure);
  position: relative;
}
.prose blockquote::before {
  content: "";
  position: absolute; inset-block-start: 0; inset-inline-start: 0;
  inline-size: 2.5rem; block-size: 3px;
  border-radius: 2px;
  background: var(--accent);
}
.prose blockquote p { font-size: inherit; line-height: inherit; max-inline-size: none; }
.prose blockquote cite {
  display: block;
  margin-block-start: var(--space-xs);
  font-size: var(--type-footnote);
  font-style: normal;
  font-weight: var(--weight-regular);
  color: var(--label-secondary);
}
.prose figure { margin: 0; }
.prose figure img {
  inline-size: 100%;
  aspect-ratio: var(--figure-ratio, 4 / 3);
  object-fit: cover;
  object-position: center;
  max-block-size: 62svh;
  border-radius: var(--radius-m);
  display: block;
}
.prose figcaption {
  margin-block-start: var(--space-xs);
  font-size: var(--type-footnote);
  line-height: var(--leading-snug);
  color: var(--label-secondary);
  max-inline-size: var(--prose-measure);
}
.prose hr {
  border: 0;
  block-size: 1px;
  background: var(--separator);
  margin-block: var(--space-xl);
}
.prose .table-wrap { max-inline-size: none; }
.prose small,
.prose .prose__note {
  display: block;
  font-size: var(--type-footnote);
  color: var(--label-secondary);
  max-inline-size: var(--prose-measure);
}
.prose > :is(figure, .callout, .imgbreak, .dtable, .table-wrap, .inlinecta,
              .card-row, .steps, .faq, .carousel, .photogrid, .pair, .ctaband) {
  max-inline-size: none;
}
:root { --navbar-h: calc(3rem + (var(--space-xs) * 2)); }
.arthero {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: end;
  min-block-size: clamp(19rem, 56svh, 34rem);
  color: #fff;
  overflow: hidden;
}
.arthero__media { position: absolute; inset: 0; z-index: -1; }
.arthero__media img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; }
.arthero__media::after {
  content: "";
  position: absolute; inset: 0;
  background:
    linear-gradient(to top, rgb(var(--scrim-rgb) / 0.82) 0%, rgb(var(--scrim-rgb) / 0.44) 55%, rgb(var(--scrim-rgb) / 0.30) 100%),
    linear-gradient(rgb(var(--scrim-rgb) / 0.38), rgb(var(--scrim-rgb) / 0.38));
}
.arthero__body { inline-size: 100%; padding-block: var(--space-3xl) var(--space-2xl); text-align: center; }
.arthero__body .stack { align-items: center; }
.arthero h1 {
  color: #fff;
  font-size: clamp(2rem, 1.1rem + 3.4vw, 3.5rem);
  line-height: 1.06;
  letter-spacing: -0.025em;
  text-wrap: balance;
  max-inline-size: 22ch;
  margin-inline: auto;
}
.arthero .byline { justify-content: center; }
.arthero__kicker {
  display: inline-flex; align-items: center;
  align-self: center;
  inline-size: fit-content;
  padding: 0.4rem 0.95rem;
  border-radius: var(--radius-pill);
  background: rgba(255,255,255,0.12);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.38);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  font-size: var(--type-caption);
  font-weight: var(--weight-semibold);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #fff;
}
.arthero .byline { color: rgba(255,255,255,0.86); }
.arthero .byline__site { color: #fff; }
.arthero .byline__sep { background: rgba(255,255,255,0.5); }
.byline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2xs) var(--space-s);
  font-size: var(--type-footnote);
  color: var(--label-secondary);
}
.byline__site { font-weight: var(--weight-semibold); color: var(--label); }
.byline__back { color: var(--accent); font-weight: var(--weight-semibold); text-decoration: none; }
.byline__back:hover { text-decoration: underline; }
.byline__sep {
  inline-size: 3px; block-size: 3px; border-radius: 50%;
  background: var(--label-tertiary); flex: none;
}
.artwrap {
  --sidebar-width: 19rem;
  --sidebar-content-min: 62%;
  --sidebar-gap: var(--space-2xl);
  padding-block: var(--space-m) var(--section-gap);
}
.artrail > * {
  position: sticky;
  inset-block-start: calc(var(--navbar-h) + var(--space-m));
}
@media (max-width: 60rem) {
  .artrail > * { position: static; }
}
.ctacard {
  background: var(--bg-elevated);
  border: 0.5px solid var(--separator);
  border-radius: var(--radius-l);
  box-shadow: var(--shadow-md);
  padding: var(--space-m);
  display: flex; flex-direction: column; gap: var(--space-s);
}
.ctacard__media { border-radius: var(--radius-m); overflow: hidden; }
.ctacard__title {
  font-size: var(--type-headline);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-snug);
  text-wrap: balance;
}
.ctacard__price {
  display: flex; align-items: baseline; gap: var(--space-2xs);
}
.ctacard__from { font-size: var(--type-footnote); color: var(--label-secondary); }
.ctacard__value {
  font-size: var(--type-title-2);
  font-weight: var(--weight-bold);
  letter-spacing: var(--track-title);
}
.ctacard__meta {
  display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space-s);
  font-size: var(--type-footnote); color: var(--label-secondary);
}
.ctacard__meta > span { display: inline-flex; align-items: center; gap: 4px; }
.ctacard .btn { inline-size: 100%; justify-content: center; }
.ctacard__note {
  font-size: var(--type-caption);
  color: var(--label-secondary);
  text-align: center;
}
.takeaway {
  background: var(--bg-elevated);
  border: 0.5px solid var(--separator);
  border-radius: var(--radius-m);
  padding: var(--space-m);
  box-shadow: var(--shadow-sm);
}
.takeaway h2 {
  font-size: var(--type-subhead);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--label-secondary);
}
.takeaway ul { margin-block-start: var(--space-xs); }
.takeaway li { max-inline-size: none; }
.artmeta {
  margin-block-start: var(--space-xl);
  padding-block-start: var(--space-m);
  border-block-start: 0.5px solid var(--separator);
  font-size: var(--type-footnote);
  color: var(--label-secondary);
}
.ref {
  text-decoration: none;
  font-variant-numeric: tabular-nums;
  scroll-margin-top: 6rem;
}
.ref sup {
  font-size: max(.62em, .58rem);
  line-height: 0;
  vertical-align: super;
  padding-inline: .1em;
  color: var(--accent);
  font-weight: 600;
}
.ref:hover sup { text-decoration: underline; }
.ref:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; border-radius: 2px; }
.refs {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 30rem), 1fr));
  gap: clamp(.85rem, 1.6vw, 1.5rem) clamp(1.5rem, 3vw, 3rem);
  align-items: start;
}
.refs__item {
  display: grid;
  grid-template-columns: 1.6rem 1fr auto;
  column-gap: .7rem;
  align-items: baseline;
  scroll-margin-top: 6rem;
  padding: .6rem .7rem .6rem .2rem;
  border-radius: 8px;
  border-top: 1px solid var(--gray-5);
  padding-top: .8rem;
  transition: background var(--dur-fast, .15s) var(--ease, ease);
}
.refs__item:target { background: var(--accent-soft); }
.refs__n {
  font-variant-numeric: tabular-nums;
  font-weight: 650;
  color: var(--accent);
  font-size: .92rem;
  text-align: right;
}
.refs__body { min-width: 0; display: flex; flex-direction: column; gap: .22rem; }
.refs__desc {
  margin: 0;
  font-size: .95rem;
  line-height: 1.5;
  color: var(--label);
  text-wrap: pretty;
}
.refs__meta {
  margin: 0;
  font-size: .88rem;
  color: var(--label-secondary);
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .35rem;
}
.refs__pub { font-style: normal; font-weight: 600; color: var(--label); }
.refs__dot { opacity: .5; }
.refs__date { font-variant-numeric: tabular-nums; }
.refs__link {
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: .76rem;
  color: var(--label-secondary);
  overflow-wrap: anywhere;
  text-decoration-color: var(--gray-4);
  text-underline-offset: 2px;
  margin-top: .12rem;
}
.refs__link:hover { color: var(--accent); text-decoration-color: currentColor; }
.refs__back {
  text-decoration: none;
  opacity: .45;
  font-size: .95rem;
  line-height: 1;
  padding: .15rem .2rem;
  transition: opacity var(--dur-fast, .15s) var(--ease, ease);
}
.refs__back:hover, .refs__back:focus-visible { opacity: 1; color: var(--accent); }
@media (prefers-reduced-motion: reduce) {
  .refs__item, .refs__back { transition: none; }
}
.refs__note {
  margin: 0;
  font-size: .86rem;
  line-height: 1.45;
  color: var(--label-tertiary, var(--label-secondary));
  text-wrap: pretty;
}
.anotes {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 27rem), 1fr));
  gap: .1rem clamp(1.5rem, 3vw, 3rem);
}
.anotes__row {
  display: grid;
  grid-template-columns: 3.4rem 1fr;
  gap: .8rem;
  align-items: baseline;
  padding: .55rem 0;
  border-top: 1px solid var(--gray-5);
}
.anotes__year {
  font-variant-numeric: tabular-nums;
  font-weight: 650;
  font-size: .9rem;
  color: var(--accent);
}
.anotes__text {
  font-size: .95rem;
  line-height: 1.5;
  color: var(--label);
  text-wrap: pretty;
}
.anotes__intro { color: var(--label-secondary); }
.imgcredits { margin-top: 1.4rem; }
.imgcredits h3 {
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--label-secondary);
  margin: 0 0 .4rem;
}
.imgcredits ul { list-style: none; margin: 0; padding: 0; }
.imgcredits li {
  font-size: .86rem;
  line-height: 1.5;
  color: var(--label-secondary);
  overflow-wrap: anywhere;
}
.artcol > .section:has(article.prose) { padding-block-start: var(--space-l); }
.artcol { --artcol-max: 68rem; }
.artcol > .center,
.artcol .center[data-measure] { --center-max: var(--artcol-max); }
.artcol--single > .center,
.artcol--single .center[data-measure] { --center-max: var(--measure); }
.artcol--rows { --crow-label: 11rem; }
.artcol--rows > .center,
.artcol--rows .center[data-measure] {
  --center-max: calc(var(--measure) + var(--crow-label) + var(--space-2xl));
}
@media (min-width: 64rem) {
  .artcol article.prose { columns: 2; column-gap: var(--space-2xl); }
  .artcol .prose > :is(ul, ol)[class] { column-span: all; margin-block: var(--space-3xl); }
  .artcol .prose > :is(ul, ol)[class] + * { margin-block-start: 0; }
  .artcol .prose > :not(p, h2, h3, h4, ul, ol, blockquote) {
    column-span: all;
    margin-block: var(--space-3xl);
  }
  .artcol .prose > :not(p, h2, h3, h4, ul, ol, blockquote) + * {
    margin-block-start: 0;
  }
  .artcol .prose > :first-child { margin-block-start: 0; }
  .artcol .prose > :is(h2, h3) {
    column-span: none;
    text-align: start;
    break-after: avoid;
    break-inside: avoid;
    -webkit-column-break-after: avoid;
    -webkit-column-break-inside: avoid;
  }
  .artcol .prose > h2:first-child { margin-block-start: 0; }
}
.artcol article.prose > p { max-inline-size: none; }
@media (min-width: 64rem) {
  .artcol .prose > .steps {
    max-inline-size: 44rem;
    margin-inline: 0 auto;
  }
}
@media (min-width: 64rem) {
  .artcol--single article.prose { columns: 1; }
}
.artcol--onemeasure { --artcol-max: 50rem; }
.artcol--onemeasure > .section > .center[data-wide] { --center-max: 50rem; }
.artcol--onemeasure .takeaway h2 {
  font-size: var(--type-title-2);
  text-transform: none;
  letter-spacing: 0;
  color: var(--label);
}
@media (min-width: 64rem) {
  .artcol--onemeasure article.prose { columns: 1; }
  .artcol--onemeasure .prose > :is(.pchart, .pcalc, .v2block, .bwinblock, .ratingblock, .steps, .xq, .dchart),
  .artcol--onemeasure .prose > :is(.takeaway, .tb, .faq, .ctaband, .carousel, .factband, .imgbreak) {
    max-inline-size: none;
    margin-inline: 0 auto;
  }
  .artcol--onemeasure .imgbreak {
    min-block-size: 0;
    aspect-ratio: 16 / 9;
  }
}
:root {
  --bg: #FFFFFF;
  --bg-grouped: #EFF3F7;
  --bg-elevated: #FFFFFF;
  --bg-tertiary: #E9EEF3;
  --gray: #7F8F9F;
  --gray-2: #A1ADBA;
  --gray-3: #BFC9D4;
  --gray-4: #CDD6E0;
  --gray-5: #E0E7EE;
  --gray-6: #EFF3F7;
  --accent-soft: #E9F2FB;
  --accent: #136BC3;
  --accent-hover: #0E4C8B;
  --on-accent: #FFFFFF;
  --cta: #C94C0D;
  --cta-hover: #903609;
  --on-cta: #FFFFFF;
  --cta-ink: #C94C0D;
}
body { background: var(--bg-grouped); overflow-x: clip; }
.lab-head { max-width: 60rem; margin: 0 auto; padding: 3rem var(--space-m) 1.25rem; }
.lab-head h1 { font-size: var(--type-large-title); letter-spacing: var(--track-large-title); margin: 0 0 var(--space-2xs); }
.lab-head > p { color: var(--label-secondary); margin: 0; max-width: 46rem; }
.lab-head .lab-hint { margin-top: var(--space-s); font-size: var(--type-footnote); color: var(--label-tertiary); }
.stage { margin-block-end: 4.5rem; }
.stage__note { max-width: 68rem; margin: 0 auto var(--space-s); padding: 0 var(--space-m); }
.stage__note h2 { font-size: var(--type-title-2); letter-spacing: var(--track-title); margin: 0 0 2px; }
.stage__note h2 .tag { font-size: var(--type-caption); font-weight: var(--weight-semibold); color: var(--accent);
  background: var(--accent-soft); border-radius: var(--radius-pill); padding: 2px 10px; vertical-align: 3px; margin-inline-start: 8px; }
.stage__note > p { margin: 0; color: var(--label-secondary); font-size: var(--type-subhead); max-width: 52rem; }
.stage__canvas { position: relative; min-block-size: 82vh; display: flex; flex-direction: column; }
.stage__fill {
  flex: 1;
  background:
    linear-gradient(to bottom, rgb(var(--scrim-rgb) / 0.42), rgb(var(--scrim-rgb) / 0.08) 34%, rgb(var(--scrim-rgb) / 0.5) 92%),
    var(--img) center 38% / cover no-repeat;
  display: flex; flex-direction: column; justify-content: flex-end;
  color: #fff;
}
.stage__hero { padding: 0 var(--space-m) clamp(2rem, 6vh, 4rem); }
.stage__hero .eyebrow { color: rgb(255 255 255 / 0.85); }
.stage__hero h3 { font-size: clamp(1.8rem, 1.2rem + 2.6vw, 3rem); line-height: var(--leading-tight);
  letter-spacing: var(--track-large-title); margin: 0 0 var(--space-2xs); max-width: 22ch; text-wrap: balance; }
.stage__hero p { margin: 0; font-size: var(--type-callout); color: rgb(255 255 255 / 0.88); }
.navb { position: sticky; top: 0; z-index: 101; }
.navb__inner { display: flex; align-items: center; gap: var(--space-m); min-block-size: 3.5rem; padding-block: var(--space-2xs); }
.navb__brand { display: inline-flex; align-items: center; gap: var(--space-2xs);
  font-weight: var(--weight-semibold); font-size: var(--type-headline); letter-spacing: var(--track-title);
  color: var(--label); text-decoration: none; min-block-size: var(--tap-min); flex: none; }
.navb__mark { flex: none; inline-size: 1.45em; block-size: 1.45em; border-radius: 0.42em;
  background: var(--accent); color: var(--on-accent); display: grid; place-items: center; }
.navb__mark svg { inline-size: 68%; block-size: 68%; }
.navb__links { display: flex; align-items: center; gap: var(--space-2xs); font-size: var(--type-subhead); flex: 1; justify-content: center; }
.navb__links a { color: var(--label-secondary); text-decoration: none; font-weight: var(--weight-medium);
  display: inline-flex; align-items: center; padding: 0 var(--space-2xs); min-block-size: var(--tap-min); border-radius: var(--radius-s); }
.navb__links a:hover { color: var(--accent); background: color-mix(in srgb, var(--accent) 7%, transparent); }
.navb__utils { display: inline-flex; align-items: center; gap: var(--space-2xs); flex: none; }
.lab-cta { display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
  min-block-size: 2.75rem; padding: 0 1.1rem; border-radius: var(--radius-pill);
  background: var(--cta); color: var(--on-cta); font-weight: var(--weight-semibold);
  font-size: var(--type-subhead); text-decoration: none; box-shadow: var(--cta-shadow); white-space: nowrap; }
.lab-cta:hover { background: var(--cta-hover); }
.navb .navb__links a.lab-cta, .navb--pill a.lab-cta {
  border-radius: var(--radius-pill); min-inline-size: 0; padding: 0 1.1rem; }
.lab-chip { position: relative; }
.lab-chip--icon summary { min-inline-size: 2.4rem; padding: 0; justify-content: center; }
.lab-chip summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px;
  min-block-size: 2.4rem; padding: 0 0.8rem; border-radius: var(--radius-pill);
  background: rgb(255 255 255 / 0.16); border: 0.5px solid rgb(255 255 255 / 0.32);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  color: #fff; font-weight: var(--weight-medium); font-size: var(--type-subhead); }
.lab-chip summary::-webkit-details-marker { display: none; }
.lab-chip summary svg { inline-size: 15px; block-size: 15px; }
.lab-chip[open] summary { background: rgb(255 255 255 / 0.28); }
.lab-chip__menu { position: absolute; inset-inline-end: 0; top: calc(100% + 6px); z-index: 130;
  margin: 0; padding: var(--space-2xs); list-style: none; min-inline-size: 11rem;
  background: var(--bg-elevated); border-radius: var(--radius-m); box-shadow: var(--shadow-lg); }
.lab-chip__menu a, .lab-chip__menu button { display: flex; inline-size: 100%; align-items: center; justify-content: space-between; gap: 1rem;
  min-block-size: 2.75rem; padding: 0 var(--space-s); border: 0; border-radius: var(--radius-s);
  background: none; color: var(--label); font: inherit; text-decoration: none; cursor: pointer; }
.lab-chip__menu .on { color: var(--accent); font-weight: var(--weight-semibold); }
.lab-theme { position: relative; }
.lab-theme summary { list-style: none; cursor: pointer; display: inline-grid; place-items: center;
  min-block-size: 2.4rem; min-inline-size: 2.4rem; border-radius: var(--radius-pill);
  background: rgb(255 255 255 / 0.16); border: 0.5px solid rgb(255 255 255 / 0.32);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: #fff; }
.lab-theme summary::-webkit-details-marker { display: none; }
.lab-theme svg { inline-size: 16px; block-size: 16px; }
.lab-theme .ico-moon { display: none; }
:root[data-theme="dark"] .lab-theme .ico-moon { display: block; }
:root[data-theme="dark"] .lab-theme .ico-sun { display: none; }
.lab-burger { display: none; flex: none; inline-size: 2.75rem; block-size: 2.75rem; border: 0; border-radius: var(--radius-pill);
  background: transparent; color: var(--label); cursor: pointer; place-items: center; }
.lab-burger span, .lab-burger span::before, .lab-burger span::after {
  content: ""; display: block; inline-size: 18px; block-size: 2px; border-radius: 2px;
  background: currentColor; position: relative; }
.lab-burger span::before { position: absolute; inset-block-start: -6px; }
.lab-burger span::after { position: absolute; inset-block-start: 6px; }
.lab-menu { position: absolute; inset-inline: 0; top: 100%; z-index: 120; padding: var(--space-xs) var(--space-m) var(--space-m);
  background: var(--bg-elevated); border-block-end: 0.5px solid var(--separator); box-shadow: var(--shadow-lg); }
.lab-menu a { display: flex; align-items: center; min-block-size: 2.75rem; padding: 0 var(--space-2xs);
  color: var(--label); text-decoration: none; font-weight: var(--weight-medium); border-radius: var(--radius-s); }
.lab-menu a:hover { background: var(--bg-tertiary); }
.lab-menu .lab-menu__book { color: var(--cta); font-weight: var(--weight-bold); }
.stage--a .navbar { position: sticky; top: 0; }
.navb--overlay {
  margin-block-end: -3.5rem;
  background: transparent; border: 0; -webkit-backdrop-filter: none; backdrop-filter: none;
  color: #fff;
  transition: background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.navb--overlay .navb__brand,
.navb--overlay .navb__links a { color: #fff; }
.navb--overlay .navb__links a:hover { background: rgb(255 255 255 / 0.14); color: #fff; }
.navb--overlay .navb__mark { background: rgb(255 255 255 / 0.92); color: var(--accent); }
.navb--overlay .lab-burger { color: #fff; background: rgb(255 255 255 / 0.16); border: 0.5px solid rgb(255 255 255 / 0.32); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.navb--overlay.is-scrolled {
  background: color-mix(in srgb, var(--bg) 80%, transparent);
  -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px);
  border-block-end: 0.5px solid var(--separator);
}
.navb--overlay.is-scrolled .navb__brand { color: var(--label); }
.navb--overlay.is-scrolled .navb__mark { background: var(--accent); color: var(--on-accent); }
.navb--overlay.is-scrolled .navb__links a { color: var(--label-secondary); }
.navb--overlay.is-scrolled .navb__links a:hover { color: var(--accent); background: color-mix(in srgb, var(--accent) 7%, transparent); }
.navb--overlay.is-scrolled .lab-burger { color: var(--label); background: transparent; border: 0; -webkit-backdrop-filter: none; backdrop-filter: none; }
.navb--overlay.is-scrolled .lab-theme summary { background: transparent; border: 0; color: var(--label); }
.navb--overlay.is-scrolled .lab-chip summary { background: var(--bg-tertiary); border-color: var(--separator); color: var(--label); }
.navb-pillwrap { position: sticky; top: 0.8rem; z-index: 101; display: flex; justify-content: center;
  padding-inline: 0.75rem; margin-block-end: -4.3rem; }
.navb--pill {
  inline-size: min(100%, 72rem);
  display: flex; align-items: center; gap: var(--space-s);
  padding: 0.3rem 0.4rem 0.3rem 0.9rem;
  background: color-mix(in srgb, var(--bg) 74%, transparent);
  -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px);
  border: 0.5px solid var(--separator); border-radius: var(--radius-pill);
  box-shadow: var(--shadow-md);
}
.navb--pill .navb__brand { min-block-size: 2.75rem; }
.navb--pill .navb__links { gap: var(--space-xs); }
.navb--pill .navb__utils { gap: 6px; }
.navb--book { background: var(--bg); border-block-end: 0.5px solid var(--separator); }
.bookbox { flex: 1; max-inline-size: 30rem; margin-inline: auto; min-inline-size: 0;
  display: flex; align-items: center; gap: var(--space-s);
  padding: 0.3rem 0.3rem 0.3rem 1rem;
  background: var(--bg-grouped); border: 1px solid var(--separator); border-radius: var(--radius-pill); }
.bookbox__txt { flex: 1; min-inline-size: 0; line-height: 1.2; }
.bookbox__t { font-weight: var(--weight-semibold); font-size: var(--type-subhead); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bookbox__m { display: flex; align-items: center; gap: 8px; font-size: var(--type-footnote); color: var(--label-secondary); white-space: nowrap; }
.bookbox__m svg { inline-size: 13px; block-size: 13px; color: var(--star); }
.bookbox .lab-cta { flex: none; }
.navb-stack { position: sticky; top: 0; z-index: 101; }
.utilstrip { background: var(--bg-tertiary); border-block-end: 0.5px solid var(--separator); font-size: var(--type-footnote); }
.utilstrip__row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-m); min-block-size: 2.2rem; }
.utilstrip__facts { display: flex; align-items: center; gap: var(--space-m); color: var(--label-secondary); }
.utilstrip__facts span { display: inline-flex; align-items: center; gap: 5px; }
.utilstrip__facts svg { inline-size: 13px; block-size: 13px; }
.utilstrip__facts .i-star { color: var(--star); }
.utilstrip__set { display: inline-flex; align-items: center; gap: var(--space-2xs); }
.utilstrip .langswitch__code, .utilstrip .curswitch__code { font-size: var(--type-caption); }
.navb--editorial .navb__inner { min-block-size: 3.75rem; }
.navb--editorial .navb__brand { font-size: var(--type-title-3); }
.navb--editorial .navb__mark { inline-size: 1.6em; block-size: 1.6em; }
:root { --lab-display: clamp(2.4rem, 1rem + 4.6vw, 4.6rem); }
.utilstack { display: inline-flex; align-items: center; gap: 6px; }
.f-fill { position: relative; flex: 1;
  background:
    linear-gradient(to bottom, rgb(var(--scrim-rgb) / 0.30), rgb(var(--scrim-rgb) / 0.05) 34%, rgb(var(--scrim-rgb) / 0.62)),
    var(--img) center 38% / cover no-repeat;
  display: flex; flex-direction: column; justify-content: flex-end; color: #fff; }
.f-hero { padding: 0 var(--space-m) 7.5rem; }
.f-hero .eyebrow { color: rgb(255 255 255 / 0.85); }
.f-hero h3 { font-size: var(--lab-display); line-height: 1.02; letter-spacing: -0.028em;
  font-weight: var(--weight-bold); margin: 0 0 var(--space-s); max-width: 18ch; text-wrap: balance; }
.f-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.f-meta span { display: inline-flex; align-items: center; gap: 6px; font-size: var(--type-subhead); font-weight: var(--weight-semibold);
  padding: 0.45rem 0.85rem; border-radius: var(--radius-pill);
  background: rgb(255 255 255 / 0.14); border: 0.5px solid rgb(255 255 255 / 0.28);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.f-meta svg { inline-size: 14px; block-size: 14px; }
.f-meta .i-star { color: #FFD60A; }
.f-corner { position: absolute; inset-inline: 0; top: 0; z-index: 5; display: flex; justify-content: space-between; align-items: center;
  padding: 0.9rem var(--space-m); }
.f-brand { display: inline-flex; align-items: center; gap: 8px; color: #fff; text-decoration: none;
  font-weight: var(--weight-semibold); font-size: var(--type-subhead); }
.f-brand .navb__mark { inline-size: 1.9em; block-size: 1.9em; }
.f-corner .utilstack { display: inline-flex; gap: 6px; }
.f-dockwrap { position: sticky; bottom: 1rem; z-index: 101; display: flex; justify-content: center;
  padding-inline: 0.75rem; margin-block-start: -4.6rem; }
.f-dock { inline-size: min(100%, 60rem);
  display: flex; align-items: center; gap: var(--space-s);
  padding: 0.35rem 0.4rem 0.35rem 0.5rem;
  background: color-mix(in srgb, var(--bg) 76%, transparent);
  -webkit-backdrop-filter: saturate(180%) blur(24px); backdrop-filter: saturate(180%) blur(24px);
  border: 0.5px solid var(--separator); border-radius: var(--radius-pill); box-shadow: var(--shadow-lg); }
.f-dock__brand { display: inline-flex; align-items: center; gap: 8px; color: var(--label); text-decoration: none;
  font-weight: var(--weight-semibold); font-size: var(--type-subhead); padding-inline: 0.5rem 0.75rem; flex: none; }
.f-dock__links { display: flex; align-items: center; gap: 2px; margin-inline: auto; font-size: var(--type-subhead); }
.f-dock__links a { color: var(--label-secondary); text-decoration: none; font-weight: var(--weight-medium);
  display: inline-flex; align-items: center; padding: 0 0.7rem; min-block-size: 2.75rem; border-radius: var(--radius-pill); }
.f-dock__links a:hover { color: var(--label); background: color-mix(in srgb, var(--label) 6%, transparent); }
.f-dock .lab-cta { flex: none; }
.f-sheet { position: sticky; bottom: 5.2rem; z-index: 100; margin: 0 auto 0.6rem; inline-size: min(100%, 60rem);
  padding: var(--space-s); background: var(--bg-elevated); border: 0.5px solid var(--separator);
  border-radius: var(--radius-l); box-shadow: var(--shadow-lg); }
.f-sheet[hidden] { display: none; }
.f-sheet a { display: flex; align-items: center; min-block-size: 2.75rem; padding: 0 var(--space-s);
  color: var(--label); text-decoration: none; font-weight: var(--weight-medium); border-radius: var(--radius-s); }
.f-sheet a:hover { background: var(--bg-tertiary); }
.g-util { position: absolute; inset-inline: 0; top: 0; z-index: 6; display: flex; justify-content: space-between; align-items: center;
  padding: 0.8rem var(--space-m); font-size: var(--type-footnote); color: rgb(255 255 255 / 0.92); }
.g-util__facts { display: inline-flex; gap: var(--space-m); }
.g-util__facts span { display: inline-flex; align-items: center; gap: 5px; }
.g-util__facts svg { inline-size: 13px; block-size: 13px; }
.g-util__facts .i-star { color: #FFD60A; }
.g-title { font-size: clamp(3rem, 1.2rem + 7.4vw, 7rem); line-height: 0.98; letter-spacing: -0.032em;
  font-weight: var(--weight-bold); margin: 0; text-wrap: balance; }
.g-poster { position: relative; flex: 1; display: flex; flex-direction: column; justify-content: flex-end; color: #fff;
  background:
    linear-gradient(to bottom, rgb(var(--scrim-rgb) / 0.38), rgb(var(--scrim-rgb) / 0.10) 38%, rgb(var(--scrim-rgb) / 0.66)),
    var(--img) center 30% / cover no-repeat; }
.g-poster .center { padding-block: 6.5rem 0; inline-size: 100%; }
.g-kicker { font-size: var(--type-subhead); font-weight: var(--weight-semibold); letter-spacing: 0.14em;
  color: rgb(255 255 255 / 0.86); margin: 0 0 var(--space-s); }
.g-band { margin-block-start: var(--space-xl);
  background: color-mix(in srgb, var(--bg) 72%, transparent);
  -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
  border-block-start: 0.5px solid rgb(255 255 255 / 0.18); color: var(--label); }
.g-band__row { display: flex; align-items: center; gap: var(--space-m); padding-block: var(--space-s); }
.g-band__facts { display: flex; align-items: baseline; gap: var(--space-s); font-weight: var(--weight-semibold); flex: 1; flex-wrap: wrap; }
.g-band__price { font-size: var(--type-title-2); }
.g-band__meta { color: var(--label-secondary); font-weight: var(--weight-medium); font-size: var(--type-subhead); }
.g-band .lab-cta { min-block-size: 3rem; padding: 0 1.6rem; font-size: var(--type-callout); flex: none; }
.h-deck { flex: 1; display: grid; grid-template-columns: minmax(30rem, 46%) 1fr; min-block-size: 82vh; }
.h-panel { padding-block-start: 5.5rem; }
.h-panel { padding: clamp(1.5rem, 3vw, 3.5rem); display: flex; flex-direction: column; background: var(--bg); }
.h-chrome { display: flex; align-items: center; justify-content: space-between; gap: var(--space-s); margin-block-end: auto; }
.h-chrome .f-brand { color: var(--label); font-size: var(--type-callout); }
.h-chrome .f-brand .navb__mark { background: var(--accent); color: var(--on-accent); }
.h-chiprow { display: inline-flex; gap: 6px; }
.h-chiprow .lab-chip summary, .h-chiprow .lab-theme summary {
  background: var(--bg-tertiary); border-color: var(--separator); color: var(--label); }
.h-kicker { font-size: var(--type-footnote); font-weight: var(--weight-semibold); letter-spacing: 0.14em;
  color: var(--accent); margin: var(--space-2xl) 0 var(--space-s); }
.h-title { font-size: clamp(2.4rem, 1.1rem + 4.4vw, 4.4rem); line-height: 1.0; letter-spacing: -0.03em;
  font-weight: var(--weight-bold); margin: 0 0 var(--space-l); text-wrap: balance; }
.h-facts { display: flex; flex-wrap: wrap; gap: 0; margin: 0 0 var(--space-l); padding: 0; list-style: none;
  border-block: 0.5px solid var(--separator); }
.h-facts li { display: flex; flex-direction: column; gap: 2px; padding: var(--space-s) var(--space-l) var(--space-s) 0; }
.h-facts li + li { border-inline-start: 0.5px solid var(--separator); padding-inline-start: var(--space-l); }
.h-facts .k { font-size: var(--type-caption); color: var(--label-secondary); font-weight: var(--weight-medium); }
.h-facts .v { font-size: var(--type-title-3); font-weight: var(--weight-bold); display: inline-flex; align-items: center; gap: 5px; }
.h-facts .v svg { inline-size: 15px; block-size: 15px; color: var(--star); }
.h-ctas { display: flex; gap: var(--space-s); flex-wrap: wrap; margin-block-end: var(--space-l); }
.h-ctas .lab-cta { min-block-size: 3.25rem; padding: 0 1.8rem; font-size: var(--type-callout); }
.lab-ghost { display: inline-flex; align-items: center; min-block-size: 3.25rem; padding: 0 1.5rem;
  border-radius: var(--radius-pill); border: 1.5px solid var(--separator-opaque);
  color: var(--label); font-weight: var(--weight-semibold); font-size: var(--type-callout); text-decoration: none; }
.lab-ghost:hover { border-color: var(--label-secondary); }
.h-links { margin-block-start: auto; display: flex; flex-wrap: wrap; gap: 2px 14px; font-size: var(--type-subhead); }
.h-links a { color: var(--label-secondary); text-decoration: none; min-block-size: 2.2rem; display: inline-flex; align-items: center; }
.h-links a:hover { color: var(--accent); }
.h-photo { background: var(--img) center / cover no-repeat; }
.i-wrap { position: relative; flex: 1; display: flex; flex-direction: column;
  background:
    linear-gradient(to bottom, rgb(var(--scrim-rgb) / 0.42), rgb(var(--scrim-rgb) / 0.06) 36%, rgb(var(--scrim-rgb) / 0.55)),
    var(--img) center 40% / cover no-repeat;
  color: #fff; }
.i-top { display: flex; align-items: center; justify-content: space-between; padding: 0.9rem var(--space-m); }
.i-menu { display: inline-flex; align-items: center; gap: 8px; min-block-size: 2.75rem; padding: 0 1rem;
  border-radius: var(--radius-pill); background: rgb(255 255 255 / 0.16); border: 0.5px solid rgb(255 255 255 / 0.32);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  color: #fff; font-weight: var(--weight-semibold); font-size: var(--type-subhead); cursor: pointer; }
.i-capzone { margin-block-start: auto; display: flex; justify-content: center; padding: 0 var(--space-m) 2.2rem; }
.i-capsule { inline-size: min(100%, 46rem);
  display: flex; align-items: stretch; gap: var(--space-s); padding: 0.55rem;
  background: color-mix(in srgb, var(--bg) 88%, transparent);
  -webkit-backdrop-filter: saturate(180%) blur(24px); backdrop-filter: saturate(180%) blur(24px);
  border: 0.5px solid var(--separator); border-radius: var(--radius-l); box-shadow: var(--shadow-lg); color: var(--label); }
.i-facts { flex: 1; display: flex; align-items: center; justify-content: space-around; gap: var(--space-s); padding-inline: var(--space-s); }
.i-facts div { display: flex; flex-direction: column; align-items: center; gap: 1px; }
.i-facts .k { font-size: var(--type-caption); color: var(--label-secondary); }
.i-facts .v { font-size: var(--type-callout); font-weight: var(--weight-bold); display: inline-flex; align-items: center; gap: 4px; }
.i-facts .v svg { inline-size: 14px; block-size: 14px; color: var(--star); }
.i-capsule .lab-cta { align-self: center; min-block-size: 3rem; padding: 0 1.6rem; font-size: var(--type-callout); flex: none; }
.i-sheet { position: absolute; inset-inline: 0; top: 0; z-index: 120; padding: var(--space-l) var(--space-m);
  background: var(--bg-elevated); border-block-end: 0.5px solid var(--separator); box-shadow: var(--shadow-lg); }
.i-sheet[hidden] { display: none; }
.i-sheet nav { display: flex; flex-wrap: wrap; gap: 2px 18px; max-inline-size: 60rem; margin-inline: auto; }
.i-sheet a { color: var(--label); text-decoration: none; font-weight: var(--weight-semibold);
  font-size: var(--type-title-3); min-block-size: 2.6rem; display: inline-flex; align-items: center; }
.i-sheet a:hover { color: var(--accent); }
.i-sheet .i-sheet__set { display: flex; gap: 6px; margin-block-start: var(--space-m); }
@media (max-width: 60.25rem) {
  .f-dock__links { display: none; }
  .f-dock { justify-content: space-between; }
  .h-deck { grid-template-columns: 1fr; }
  .h-photo { min-block-size: 46vh; order: -1; }
  .i-facts { justify-content: flex-start; }
}
@media (max-width: 30rem) {
  .f-dock__brand span { display: none; }
  .i-capsule { flex-direction: column; }
  .i-capsule .lab-cta { inline-size: 100%; }
  .g-band__row { flex-wrap: wrap; }
}
.n-stage { flex: 1; background: var(--bg-grouped); display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: var(--space-s); }
.n-stage__hint { font-size: var(--type-footnote); color: var(--label-tertiary); }
.n-skeleton { inline-size: min(100%, 34rem); display: grid; gap: 10px; opacity: 0.35; }
.n-skeleton i { display: block; block-size: 12px; border-radius: 6px; background: var(--gray-4); }
.n-skeleton i:nth-child(1) { inline-size: 55%; block-size: 22px; }
.n-skeleton i:nth-child(4) { inline-size: 72%; }
.n-skeleton i:nth-child(6) { inline-size: 40%; }
.n-cta { display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  min-block-size: 2.75rem; padding: 0 1.15rem; border-radius: var(--radius-m);
  background: var(--cta); color: var(--on-cta); font-weight: var(--weight-semibold);
  font-size: var(--type-subhead); text-decoration: none; white-space: nowrap; flex: none; }
.n-cta:hover { background: var(--cta-hover); }
.n-cta svg { inline-size: 15px; block-size: 15px; }
.n1 { position: sticky; top: 0; z-index: 101; background: var(--bg-elevated);
  border-block-end: 1px solid var(--separator-opaque); }
.n1__inner { display: flex; align-items: center; gap: var(--space-l); min-block-size: 4.25rem; }
.n1__brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none;
  color: var(--label); font-weight: var(--weight-bold); font-size: var(--type-callout);
  letter-spacing: -0.01em; flex: none; }
.n1__brand .navb__mark { inline-size: 2em; block-size: 2em; border-radius: 0.5em; }
.n1__links { display: flex; align-items: center; gap: var(--space-s); margin-inline: auto; }
.n1__links a, .n1__links summary { font-size: var(--type-caption); font-weight: var(--weight-semibold);
  letter-spacing: 0.09em; text-transform: uppercase; color: var(--label-secondary);
  text-decoration: none; min-block-size: var(--tap-min); display: inline-flex; align-items: center;
  padding: 0 2px; }
.n1__links a:hover { color: var(--label); }
.n1 .navdrop summary { gap: 4px; }
.n1__utils { display: inline-flex; align-items: center; gap: 4px; flex: none; }
.n1__utils .lab-chip summary, .n1__utils .lab-theme summary {
  background: transparent; border: 0; color: var(--label-secondary); min-block-size: 2.75rem; }
.n1__utils .lab-chip summary:hover, .n1__utils .lab-theme summary:hover { color: var(--label); background: var(--bg-tertiary); }
.n2 { position: sticky; top: 0; z-index: 101; background: var(--bg); border-block-end: 0.5px solid var(--separator); }
.n2__inner { display: flex; align-items: center; gap: var(--space-m); min-block-size: 3.75rem; }
.n2__brand { display: inline-flex; align-items: center; gap: 9px; text-decoration: none;
  color: var(--label); font-weight: var(--weight-bold); font-size: var(--type-callout); flex: none; }
.n2__seg { display: inline-flex; align-items: center; gap: 2px; margin-inline: auto;
  padding: 3px; border-radius: var(--radius-pill); background: var(--bg-tertiary);
  border: 0.5px solid var(--separator); }
.n2__seg a { color: var(--label-secondary); text-decoration: none; font-weight: var(--weight-medium);
  font-size: var(--type-subhead); min-block-size: 2.25rem; display: inline-flex; align-items: center;
  padding: 0 0.9rem; border-radius: var(--radius-pill); }
.n2__seg a:hover { background: var(--bg-elevated); color: var(--label); box-shadow: var(--shadow-sm); }
.n2__utils { display: inline-flex; align-items: center; gap: 4px; flex: none; }
.n2__utils .lab-chip summary, .n2__utils .lab-theme summary {
  background: var(--bg-tertiary); border-color: var(--separator); color: var(--label); }
.n2 .n-cta { border-radius: var(--radius-pill); }
.n3 { position: sticky; top: 0; z-index: 101; background: var(--bg-grouped); }
.n3__inner { display: flex; align-items: center; gap: var(--space-xl); min-block-size: 4.5rem; }
.n3__brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--label); flex: none; }
.n3__brand .navb__mark { inline-size: 2.2em; block-size: 2.2em; border-radius: 0.55em; background: var(--label); color: var(--bg); }
.n3__brand b { font-size: var(--type-title-3); font-weight: var(--weight-bold); letter-spacing: -0.02em; }
.n3__links { display: flex; align-items: stretch; gap: var(--space-s); margin-inline: auto; height: 100%; }
.n3__links a, .n3__links summary { position: relative; color: var(--label-secondary); text-decoration: none;
  font-weight: var(--weight-medium); font-size: var(--type-callout);
  display: inline-flex; align-items: center; padding: 0 2px; }
.n3__links a::after, .n3__links summary::after { content: ""; position: absolute; inset-inline: 0; bottom: 0;
  block-size: 3px; border-radius: 3px 3px 0 0; background: var(--accent); transform: scaleX(0); transition: transform var(--dur) var(--ease); }
.n3__links a:hover::after, .n3__links summary:hover::after { transform: scaleX(1); }
.n3__links summary { gap: 4px; cursor: pointer; list-style: none; }
.n3__links summary::-webkit-details-marker { display: none; }
.n3__utils { display: inline-flex; align-items: center; gap: var(--space-2xs); flex: none; }
.n3__utils .lab-chip summary, .n3__utils .lab-theme summary {
  background: transparent; border: 0; color: var(--label-secondary); }
.n3__utils .lab-chip summary:hover, .n3__utils .lab-theme summary:hover { background: var(--bg-tertiary); }
.n4wrap { position: sticky; top: 0.7rem; z-index: 101; padding-inline: 0.7rem; }
.n4 { inline-size: min(100%, 76rem); margin-inline: auto;
  display: flex; align-items: center; gap: var(--space-m);
  min-block-size: 3.9rem; padding: 0.3rem 0.45rem 0.3rem 1rem;
  background: var(--bg-elevated); border: 1px solid var(--separator);
  border-radius: 1.1rem; box-shadow: var(--shadow-md); }
.n4__brand { display: inline-flex; align-items: center; gap: 9px; text-decoration: none;
  color: var(--label); font-weight: var(--weight-bold); font-size: var(--type-callout); flex: none; }
.n4__links { display: flex; align-items: center; gap: var(--space-2xs); margin-inline: auto;
  font-size: var(--type-subhead); }
.n4__links a { color: var(--label-secondary); text-decoration: none; font-weight: var(--weight-medium);
  min-block-size: 2.75rem; display: inline-flex; align-items: center; padding: 0 0.65rem; border-radius: var(--radius-s); }
.n4__links a:hover { color: var(--accent); background: var(--accent-soft); }
.n4__utils { display: inline-flex; align-items: center; gap: 4px; flex: none; }
.n4__utils .lab-chip summary, .n4__utils .lab-theme summary {
  background: var(--bg-tertiary); border-color: var(--separator); color: var(--label); }
.n4 .n-cta { border-radius: 0.8rem; }
@media (max-width: 60.25rem) {
  .n1__links, .n2__seg, .n3__links, .n4__links { display: none; }
  .n1__inner, .n2__inner, .n3__inner, .n4 { justify-content: space-between; }
}
.lab-picker { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-block-start: var(--space-s); }
.lab-picker__label { font-size: var(--type-caption); font-weight: var(--weight-semibold);
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--label-tertiary); margin-inline-end: 4px; }
.lab-picker__dot { display: inline-flex; align-items: center; gap: 7px; min-block-size: 2.25rem;
  padding: 0 0.85rem; border-radius: var(--radius-pill); cursor: pointer;
  background: transparent; border: 1px solid var(--separator); color: var(--label-secondary);
  font: inherit; font-size: var(--type-footnote); font-weight: var(--weight-semibold); }
.lab-picker__dot::before { content: ""; inline-size: 12px; block-size: 12px; border-radius: 50%;
  background: var(--sw); }
.lab-picker__dot:hover { border-color: var(--label-secondary); color: var(--label); }
.lab-picker__dot.on { background: var(--sw); border-color: var(--sw); color: #fff; }
.lab-picker__dot--font { text-transform: none; letter-spacing: 0; font-weight: var(--weight-semibold); }
.lab-picker__dot--font::before { content: none; }
.lab-picker__dot--font.on { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.h2-fill { position: relative; flex: 1;
  background:
    linear-gradient(to bottom, rgb(var(--scrim-rgb) / 0.42), rgb(var(--scrim-rgb) / 0.10) 36%, rgb(var(--scrim-rgb) / 0.62)),
    url('img/hero.webp') center 38% / cover no-repeat;
  display: flex; flex-direction: column; justify-content: flex-end; color: #fff; }
.h2-fill .eyebrow { color: rgb(255 255 255 / 0.85); }
.h2-title { font-size: clamp(2.2rem, 1rem + 4.2vw, 4.4rem); line-height: 1.02; letter-spacing: -0.03em;
  font-weight: var(--weight-bold); margin: 0 0 var(--space-s); max-width: 20ch; text-wrap: balance; }
.h2-sub { margin: 0 0 var(--space-m); max-width: 52ch; font-size: var(--type-callout);
  color: rgb(255 255 255 / 0.88); }
.h2-ctas { display: flex; gap: var(--space-s); flex-wrap: wrap; padding-block-end: var(--space-m); }
.h2-ctas .lab-cta { min-block-size: 3.25rem; padding: 0 1.8rem; font-size: var(--type-callout); }
.h2-ghost { display: inline-flex; align-items: center; min-block-size: 3.25rem; padding: 0 1.5rem;
  border-radius: var(--radius-pill); border: 1.5px solid rgb(255 255 255 / 0.55);
  color: #fff; font-weight: var(--weight-semibold); font-size: var(--type-callout); text-decoration: none;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.h2-ghost:hover { background: rgb(255 255 255 / 0.12); }
.h-sub { margin: 0 0 var(--space-l); color: var(--label-secondary); max-width: 48ch; }
.h-proof { display: inline-flex; align-items: center; gap: 6px; margin: 0; color: var(--label-secondary);
  font-size: var(--type-subhead); }
.h-proof svg { color: var(--success); }
.g-poster .h2-sub { margin-block: 0 var(--space-xl); }
.g-poster .center { padding-block: 4rem 0; }
@keyframes lab-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
.k-up { opacity: 0; animation: lab-up .7s cubic-bezier(.2,.7,.2,1) forwards; }
.k-up.d1 { animation-delay: .08s; } .k-up.d2 { animation-delay: .18s; }
.k-up.d3 { animation-delay: .28s; } .k-up.d4 { animation-delay: .4s; }
@media (prefers-reduced-motion: reduce) { .k-up { animation: none; opacity: 1; } }
.k-avs { display: inline-flex; align-items: center; }
.k-avs img { inline-size: 34px; block-size: 34px; border-radius: 50%; border: 2px solid rgb(255 255 255 / .9);
  margin-inline-start: -9px; object-fit: cover; }
.k-avs img:first-child { margin-inline-start: 0; }
.k-avs__more { display: inline-grid; place-items: center; inline-size: 34px; block-size: 34px; border-radius: 50%;
  margin-inline-start: -9px; background: var(--bg-tertiary); color: var(--label-secondary);
  font-size: 11px; font-weight: 700; border: 2px solid rgb(255 255 255 / .9); }
.k-badge { display: inline-flex; align-items: center; gap: 7px; padding: 0.45rem 0.85rem;
  border-radius: var(--radius-pill); font-size: var(--type-subhead); font-weight: var(--weight-semibold); }
.k-badge svg { inline-size: 15px; block-size: 15px; flex: none; }
.k-badge--glass { background: rgb(255 255 255 / .13); border: .5px solid rgb(255 255 255 / .3);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); color: #fff; }
.k-badge--tint { background: var(--bg-tertiary); border: .5px solid var(--separator); color: var(--label-secondary); }
.k-badge--tint svg { color: var(--success); }
.k-cta { display: inline-flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 2px; text-align: center;
  min-block-size: 3.9rem; padding: .6rem 1.9rem .55rem; border-radius: 1.1rem;
  background: var(--cta); color: var(--on-cta); font-weight: var(--weight-bold);
  font-size: 1.19rem; letter-spacing: -.01em; text-decoration: none; box-shadow: var(--cta-shadow); }
.k-cta { transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease),
  background var(--dur) var(--ease), filter var(--dur) var(--ease); }
.k-cta:hover { background: var(--cta-hover); color: var(--on-cta); filter: brightness(1.07);
  transform: translateY(-2px) scale(1.015);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--cta) 22%, transparent),
              0 16px 34px -10px color-mix(in srgb, var(--cta) 60%, transparent); }
.k-cta:active { transform: translateY(0) scale(.985); filter: brightness(.98); }
.k-cta__sub { display: block; font-size: .82rem; font-weight: var(--weight-semibold);
  letter-spacing: .015em; color: inherit; opacity: 1; white-space: nowrap; }
.k1 { position: relative; flex: 1; display: flex; flex-direction: column; justify-content: flex-end;
  min-block-size: 100svh;
  color: #fff;
  background:
    linear-gradient(to bottom, rgb(var(--scrim-rgb)/.50), rgb(var(--scrim-rgb)/.14) 42%, rgb(var(--scrim-rgb)/.66)),
    var(--hero-img) center 36% / cover no-repeat; }
.k1__body { box-sizing: border-box; inline-size: 100%; max-inline-size: calc(76rem + 2 * var(--gutter));
  padding-block: 0 4.2rem; }
.k1__kick { display: inline-flex; margin: 0 0 var(--space-m); }
.k1 h1 { font-size: clamp(2.6rem, 1.2rem + 5.4vw, 5.4rem); line-height: 1.08; letter-spacing: -.02em;
  font-family: 'Plus Jakarta Sans', var(--font-display);
  font-weight: var(--weight-bold); margin: 0 0 var(--space-m); text-wrap: balance; }
.k1 h1 em { font-style: normal; font-weight: var(--weight-bold); color: #17181c;
  -webkit-text-fill-color: #17181c; background: rgb(255 255 255 / .84);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  display: inline-block; padding: .01em .3em .09em; border-radius: .42em;
  rotate: -1deg;
  box-shadow: 0 22px 50px -20px rgb(0 0 0 / .5); }
.k1__sub { display: block; margin: 0 0 var(--space-m); max-width: 28rem; color: rgb(255 255 255/.88); font-size: var(--type-callout); }
.k1__row { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-m); }
.k1__proof { display: flex; align-items: center; gap: 10px; color: #fff; font-size: var(--type-subhead); font-weight: var(--weight-semibold); text-decoration: none; cursor: pointer; }
a.k1__proof { border-radius: var(--radius-pill); padding: .4rem .75rem; margin-block: -.4rem;
  transition: background var(--dur) var(--ease), box-shadow var(--dur) var(--ease), color var(--dur) var(--ease); }
a.k1__proof:hover { text-decoration: none; color: #fff;
  background: rgb(255 255 255 / .12);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / .18); }
.k-avs img { transition: transform var(--dur) var(--ease); }
a.k1__proof:hover .k-avs img { transform: scale(1.09); }
a.k1__proof:hover .stars { text-shadow: 0 0 14px rgb(255 214 10 / .75); }
.k1__meta { display: flex; align-items: center; gap: 10px; }
.k1__rev::before { content: "\00b7\2009"; opacity: .7; }
@media (max-width: 60.25rem) {
  .k1__proof { display: flex; align-items: center; gap: 12px; }
  .k1__proof .k1__meta { flex-direction: column; align-items: flex-start; gap: 2px; line-height: 1.15; }
  .k1__rev::before { content: none; }
}
.k1__proof .stars { color: #FFD60A; letter-spacing: 1px; }
.k1__badges { display: flex; flex-wrap: wrap; gap: 8px; margin-block-start: var(--space-m); }
@media (min-width: 52rem) { .k1 { justify-content: center; } .k1__body { padding-block: 2.5rem 4.2rem; } }
.k1__ticker { position: absolute; inset-inline: 0; inset-block-end: 0; overflow: hidden;
  border-block-start: .5px solid rgb(255 255 255/.22);
  background: rgb(0 0 0/.35); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.k1__track { display: flex; gap: 3.5rem; width: max-content; padding: .65rem 0;
  animation: lab-tick 28s linear infinite; }
.k1__track span { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
  font-size: var(--type-subhead); font-weight: var(--weight-semibold); color: rgb(255 255 255/.92); }
.k1__track svg { inline-size: 14px; block-size: 14px; color: #FFD60A; }
@keyframes lab-tick { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .k1__track { animation: none; } }
.k2 { flex: 1; display: grid; grid-template-columns: 1.15fr .85fr; gap: 14px; padding: 14px;
  background: var(--bg-grouped); }
.k2__intro { padding: 5.5rem clamp(.2rem, 2vw, 1.5rem) clamp(1rem, 3vw, 2.5rem); display: flex; flex-direction: column; }
.k2__intro .h-kicker { margin-block: .5rem var(--space-m); }
.k2__intro h3 { font-size: clamp(2.2rem, 1.1rem + 3.6vw, 4rem); line-height: 1; letter-spacing: -.03em;
  font-weight: var(--weight-bold); margin: 0 0 var(--space-m); text-wrap: balance; }
.k2__intro .h-sub { margin-block-end: var(--space-l); }
.k2__grid { display: grid; grid-template-columns: 1fr 1fr; grid-auto-rows: minmax(150px, auto); gap: 14px; }
.k2__tile { border-radius: 20px; overflow: hidden; position: relative; background: var(--bg-elevated);
  border: .5px solid var(--separator); }
.k2__tile--photo img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; }
.k2__tile--big { grid-column: 1 / -1; grid-row: span 2; min-block-size: 300px; }
.k2__tile--price { display: flex; flex-direction: column; justify-content: space-between; padding: var(--space-m); }
.k2__tile--trust { display: flex; flex-direction: column; justify-content: center; gap: 10px; padding: var(--space-m); }
.k2__price { font-size: var(--type-title-1); font-weight: var(--weight-bold); letter-spacing: -.02em; }
.k2__price small { display: block; font-size: var(--type-footnote); font-weight: var(--weight-medium);
  color: var(--label-secondary); }
.k2__tile .k-cta { min-block-size: 3rem; inline-size: 100%; font-size: var(--type-subhead); }
.k2__trustline { display: flex; align-items: center; gap: 8px; font-size: var(--type-subhead);
  font-weight: var(--weight-semibold); }
.k2__trustline svg { inline-size: 16px; block-size: 16px; color: var(--success); flex: none; }
.k2__tile--rate { display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: var(--space-m); }
.k2__stars { color: var(--star); letter-spacing: 2px; font-size: var(--type-callout); }
.k2__rate-n { font-size: var(--type-title-2); font-weight: var(--weight-bold); }
.k2__rate-n small { font-size: var(--type-subhead); font-weight: var(--weight-medium); color: var(--label-secondary); }
.k2__tile--rate .k-avs img { border-color: var(--bg-elevated); }
.k3 { position: relative; flex: 1; display: flex; align-items: stretch; color: #fff;
  background:
    linear-gradient(to right, rgb(var(--scrim-rgb)/.72) 0%, rgb(var(--scrim-rgb)/.30) 46%, rgb(var(--scrim-rgb)/.20)),
    url('img/hero.webp') center 40% / cover no-repeat; }
.k3__copy { flex: 1.15; padding: clamp(1.5rem, 4vw, 4rem); display: flex; flex-direction: column; justify-content: center; gap: var(--space-m); }
.k3__copy h3 { font-size: clamp(2.3rem, 1.1rem + 4vw, 4.6rem); line-height: .99; letter-spacing: -.032em;
  font-weight: var(--weight-bold); margin: 0; text-wrap: balance; max-width: 16ch; }
.k3__copy .k1__sub { margin: 0; }
.k3__card { flex: .85; align-self: center; margin: clamp(1rem, 3vw, 2.5rem);
  padding: var(--space-l); border-radius: 26px; max-inline-size: 27rem;
  background: color-mix(in srgb, var(--bg) 92%, transparent); color: var(--label);
  -webkit-backdrop-filter: blur(26px) saturate(160%); backdrop-filter: blur(26px) saturate(160%);
  border: .5px solid rgb(255 255 255/.25); box-shadow: 0 30px 80px -20px rgb(0 0 0/.55); }
.k3__price { display: flex; align-items: baseline; gap: 8px; }
.k3__price b { font-size: var(--type-title-1); letter-spacing: -.02em; }
.k3__price span { color: var(--label-secondary); font-size: var(--type-subhead); }
.k3__rate { display: flex; align-items: center; gap: 10px; margin-block: var(--space-m); }
.k3__rate .stars { color: var(--star); letter-spacing: 1.5px; }
.k3__rate b { font-size: var(--type-callout); }
.k3__rate span { color: var(--label-secondary); font-size: var(--type-subhead); }
.k3__rows { display: grid; gap: 0; margin-block: var(--space-s) var(--space-m);
  border-block: .5px solid var(--separator); }
.k3__rows div { display: flex; justify-content: space-between; padding-block: .55rem; font-size: var(--type-subhead); }
.k3__rows div + div { border-block-start: .5px solid var(--separator); }
.k3__rows dt { color: var(--label-secondary); } .k3__rows dd { margin: 0; font-weight: var(--weight-semibold); }
.k3 .k-cta { inline-size: 100%; }
.k3__micro { margin: var(--space-s) 0 0; text-align: center; font-size: var(--type-footnote); color: var(--label-secondary); }
.k3__badges { display: flex; flex-wrap: wrap; gap: 8px; }
.k4 { position: relative; flex: 1; display: flex; flex-direction: column; justify-content: center; color: #fff;
  background:
    linear-gradient(to bottom, rgb(var(--scrim-rgb)/.55), rgb(var(--scrim-rgb)/.22) 46%, rgb(var(--scrim-rgb)/.62)),
    url('img/hero.webp') center 30% / cover no-repeat; }
.k4__body { padding: 0 var(--space-m); max-width: 64rem; }
.k4 h3 { font-size: clamp(2.5rem, 1.1rem + 5.2vw, 5.2rem); line-height: 1.0; letter-spacing: -.03em;
  font-weight: var(--weight-bold); margin: 0 0 var(--space-l); text-wrap: balance; }
.k4 h3 mark { background: linear-gradient(0deg, color-mix(in srgb, var(--cta) 82%, transparent) 0 44%, transparent 44%);
  color: inherit; padding-inline: .06em; }
.k4__ctarow { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-l); }
.k4__proof { display: flex; align-items: center; gap: 10px; font-weight: var(--weight-semibold); font-size: var(--type-callout); }
.k4__ticker { position: absolute; inset-inline: 0; bottom: 0; overflow: hidden;
  border-block-start: .5px solid rgb(255 255 255/.22); background: rgb(0 0 0/.38);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
@media (max-width: 60.25rem) {
  .k2 { grid-template-columns: 1fr; }
  .k2__intro { padding-block-end: 0; }
  .k3 { flex-direction: column; }
  .k3__card { max-inline-size: none; inline-size: auto; }
}
.t-gap { block-size: 0; }
.t2 { position: relative; z-index: 3; display: flex; flex-wrap: wrap; justify-content: center;
  gap: 10px; padding: 0 var(--space-m); margin-block-start: -1.6rem; }
.t2 .t-chip { display: inline-flex; align-items: baseline; gap: 8px; padding: .7rem 1.1rem;
  border-radius: var(--radius-pill); background: color-mix(in srgb, var(--bg) 88%, transparent);
  -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
  border: .5px solid var(--separator); box-shadow: var(--shadow-md); }
.t2 .t-chip b { font-size: var(--type-callout); letter-spacing: -.01em; }
.t2 .t-chip span { font-size: var(--type-footnote); color: var(--label-secondary); font-weight: var(--weight-medium); }
.t3 { padding: var(--space-2xl) var(--space-m) var(--space-l); }
.t3 .center { display: grid; gap: var(--space-s); }
.t3__head { font-size: var(--type-caption); font-weight: var(--weight-semibold); letter-spacing: .1em;
  text-transform: uppercase; color: var(--label-tertiary); margin: 0 0 var(--space-xs); }
.t3__row { display: grid; grid-template-columns: repeat(4, 1fr); }
.t3__cell { padding: var(--space-m) var(--space-m) var(--space-m) 0; border-block-start: 1px solid var(--separator-opaque); }
.t3__cell b { display: block; font-family: var(--font-display); font-size: clamp(1.9rem, 1.2rem + 2.4vw, 3.2rem);
  font-weight: var(--weight-bold); letter-spacing: -.025em; line-height: 1; }
.t3__cell span { display: block; margin-block-start: 6px; font-size: var(--type-subhead); color: var(--label-secondary); }
.t4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; padding: var(--space-xl) var(--space-m); }
.t4 .t-card { display: flex; align-items: flex-start; gap: var(--space-s); padding: var(--space-m);
  background: var(--bg-elevated); border-radius: var(--radius-l); border: .5px solid var(--separator); box-shadow: var(--shadow-sm); }
.t4 .t-card svg { inline-size: 20px; block-size: 20px; flex: none; color: var(--accent); margin-block-start: 2px; }
.t4 .t-card b { display: block; font-size: var(--type-callout); letter-spacing: -.01em; }
.t4 .t-card span { display: block; font-size: var(--type-footnote); color: var(--label-secondary); margin-block-start: 2px; }
@media (max-width: 60.25rem) {
  .t3__row { grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-m); }
  .t4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 30rem) {
  .t4 { grid-template-columns: 1fr; }
}
.u1 { position: relative; z-index: 3; margin: -1.9rem var(--space-m) 0; }
.u1__row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px;
  max-inline-size: 64rem; margin-inline: auto; }
.u1__tile { position: relative; padding: var(--space-m) var(--space-s) calc(var(--space-m) - 2px);
  border-radius: 18px; text-align: center; overflow: hidden;
  background:
    radial-gradient(120% 90% at 50% -20%, rgb(255 255 255 / .14), transparent 55%),
    rgb(10 12 16 / .62);
  -webkit-backdrop-filter: blur(18px) saturate(150%); backdrop-filter: blur(18px) saturate(150%);
  border: .5px solid rgb(255 255 255 / .22);
  box-shadow: 0 18px 40px -18px rgb(0 0 0 / .6), inset 0 1px 0 rgb(255 255 255 / .12);
  transition: transform var(--dur) var(--ease), border-color var(--dur) var(--ease); }
.u1__tile:hover { transform: translateY(-3px); border-color: rgb(255 255 255 / .38); }
.u1__tile::after { content: ""; position: absolute; inset-block-start: 0; inset-inline: 18%; block-size: 1px;
  background: linear-gradient(90deg, transparent, rgb(255 255 255 / .5), transparent); }
.u1__ico { display: inline-grid; place-items: center; inline-size: 30px; block-size: 30px;
  border-radius: 9px; margin-block-end: 8px; color: #fff;
  background: color-mix(in srgb, var(--accent) 80%, white 0%);
  box-shadow: 0 0 18px color-mix(in srgb, var(--accent) 65%, transparent); }
.u1__ico svg { inline-size: 16px; block-size: 16px; }
.u1__val { display: block; font-family: var(--font-display); font-size: clamp(1.5rem, 1rem + 1.6vw, 2.1rem);
  font-weight: var(--weight-bold); letter-spacing: -.02em; line-height: 1; color: #fff; }
.u1__val i { font-style: normal; background: linear-gradient(120deg, #fff 30%, color-mix(in srgb, var(--accent) 55%, #fff));
  -webkit-background-clip: text; background-clip: text; color: transparent; }
.u1__lab { display: block; margin-block-start: 5px; font-size: var(--type-footnote);
  font-weight: var(--weight-medium); color: rgb(255 255 255 / .72); }
.u2 { background:
  radial-gradient(60% 130% at 12% 0%, color-mix(in srgb, var(--accent) 26%, transparent), transparent 60%),
  radial-gradient(50% 120% at 92% 100%, color-mix(in srgb, var(--cta) 20%, transparent), transparent 55%),
  rgb(8 10 14 / .97);
  border-block: 0.5px solid rgb(255 255 255 / .14); }
.u2__row { display: grid; grid-template-columns: repeat(4, 1fr); }
.u2__cell { position: relative; padding: clamp(1.6rem, 3.4vw, 2.8rem) var(--space-m);
  border-inline-start: 0.5px solid rgb(255 255 255 / .10); }
.u2__cell:first-child { border-inline-start: 0; }
.u2__cell { transition: background var(--dur) var(--ease); }
.u2__cell:hover { background: rgb(255 255 255 / .045); }
.u2__num { display: flex; align-items: baseline; gap: 6px;
  font-family: var(--font-display); font-weight: var(--weight-bold);
  font-size: clamp(2.4rem, 1.4rem + 3.6vw, 4.6rem); letter-spacing: -.03em; line-height: 1;
  font-variant-numeric: tabular-nums;
  background: linear-gradient(180deg, #fff 52%, color-mix(in srgb, var(--accent) 48%, #fff));
  -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 0 22px color-mix(in srgb, var(--accent) 26%, transparent)); }
.u2__bar { display: block; block-size: 3px; inline-size: 72%; margin-block-start: 14px; border-radius: 2px;
  background: linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 25%, transparent));
  transform: scaleX(0); transform-origin: inline-start;
  transition: transform 1.1s cubic-bezier(.2,.7,.2,1) var(--bar-delay, 0s); }
.u2.in .u2__bar { transform: scaleX(1); }
@media (prefers-reduced-motion: reduce) { .u2__bar { transition: none; transform: none; } }
.u2__num small { font-size: .38em; font-weight: var(--weight-semibold); letter-spacing: 0;
  color: color-mix(in srgb, var(--accent) 62%, #fff); text-transform: uppercase; }
.u2__lab { display: block; margin-block-start: 8px; font-size: var(--type-subhead); color: rgb(255 255 255 / .62); }
.u2__tick { position: absolute; inset-block-start: 0; inline-size: 2.2rem; block-size: 3px; border-radius: 2px;
  background: linear-gradient(90deg, var(--accent), transparent); }
.u2__foot { padding: 0 var(--space-m) var(--space-m); text-align: center;
  font-size: var(--type-footnote); color: rgb(255 255 255 / .45); }
.u3 { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(1.5rem, 4vw, 4rem);
  padding: clamp(2rem, 5vw, 4rem) var(--space-m); max-inline-size: 76rem; margin-inline: auto; }
.u3__mega .k { font-size: var(--type-caption); font-weight: var(--weight-semibold); letter-spacing: .12em;
  text-transform: uppercase; color: var(--accent); margin: 0 0 var(--space-2xs); }
.u3__mega b { display: block; font-family: var(--font-display);
  font-size: clamp(4rem, 2rem + 8vw, 8.5rem); font-weight: var(--weight-bold);
  letter-spacing: -.04em; line-height: .92; }
.u3__mega b em { font-style: normal; font-size: .32em; font-weight: var(--weight-semibold);
  color: var(--label-secondary); letter-spacing: 0; margin-inline-start: .1em; }
.u3__mega span { display: block; margin-block-start: var(--space-s); font-size: var(--type-title-3);
  font-weight: var(--weight-semibold); max-width: 22ch; text-wrap: balance; }
.u3__side { display: flex; flex-direction: column; justify-content: center; }
.u3__row { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-m);
  padding-block: var(--space-m); border-block-start: 1px solid var(--separator-opaque); }
.u3__row b { font-family: var(--font-display); font-size: var(--type-title-1); letter-spacing: -.02em; }
.u3__row span { color: var(--label-secondary); font-size: var(--type-subhead); text-align: end; }
@media (max-width: 60.25rem) {
  .u1__row { grid-template-columns: repeat(2, 1fr); }
  .u2__row { grid-template-columns: repeat(2, 1fr); }
  .u2__cell:nth-child(3) { border-inline-start: 0; }
  .u2__cell { border-block-start: .5px solid rgb(255 255 255 / .10); }
  .u2__cell:nth-child(-n+2) { border-block-start: 0; }
  .u3 { grid-template-columns: 1fr; }
}
.lab-phonebtn { position: fixed; inset-inline-end: 1rem; inset-block-end: 1rem; z-index: 998;
  display: inline-flex; align-items: center; gap: 8px; padding: .7rem 1.1rem;
  border: 0; border-radius: var(--radius-pill); cursor: pointer;
  background: var(--label); color: var(--bg); font: inherit; font-weight: var(--weight-semibold);
  font-size: var(--type-subhead); box-shadow: var(--shadow-lg); }
.lab-phonebtn svg { inline-size: 16px; block-size: 16px; }
.phone-dock { position: fixed; inset-inline-end: 1rem; inset-block-end: 4.4rem; z-index: 997;
  inline-size: 404px; max-inline-size: calc(100vw - 2rem); aspect-ratio: 390 / 780;
  max-block-size: calc(100dvh - 6rem);
  display: none; border-radius: 44px; padding: 10px;
  background: #0b0b0f; border: 1px solid rgb(255 255 255 / .2);
  box-shadow: 0 40px 90px -20px rgb(0 0 0 / .8); }
.phone-dock.open { display: block; }
.phone-dock iframe { inline-size: 100%; block-size: 100%; border: 0; border-radius: 35px; background: var(--bg); }
.lab-embed .lab-head, .lab-embed .stage__note, .lab-embed .lab-phonebtn { display: none !important; }
.lab-embed .stage { margin-block-end: 0; }
@media (max-width: 30rem) {
  .phone-dock { inset-inline: .5rem; inline-size: auto; aspect-ratio: auto; block-size: 78dvh; }
}
.n4__burger { display: none; flex: none; inline-size: 2.9rem; block-size: 2.9rem;
  place-items: center; align-content: center; gap: 4px; border: 0; cursor: pointer;
  border-radius: .8rem; background: var(--bg-tertiary); border: .5px solid var(--separator); }
.n4__burger span { display: block; inline-size: 16px; block-size: 2px; border-radius: 2px; background: var(--label); }
.n4-sheet { position: absolute; inset-inline: 0; top: calc(100% + 8px); z-index: 200;
  padding: var(--space-s); background: var(--bg-elevated);
  border: 1px solid var(--separator); border-radius: 1.1rem; box-shadow: var(--shadow-lg); }
.n4-sheet nav { display: grid; }
.n4-sheet nav a { display: flex; align-items: center; min-block-size: 2.85rem; padding: 0 var(--space-s);
  color: var(--label); text-decoration: none; font-weight: var(--weight-medium); border-radius: var(--radius-s); }
.n4-sheet nav a:hover { background: var(--bg-tertiary); color: var(--accent); }
.n4-sheet__set { display: flex; gap: 6px; margin-block-start: var(--space-s); padding-block-start: var(--space-s);
  border-block-start: .5px solid var(--separator); }
.n4wrap { position: absolute; inset-inline: 0; inset-block-start: .9rem; z-index: 200; }
@media (max-width: 71rem) {
  .n4__links, .n4__utils { display: none; }
  .n4 { justify-content: space-between; padding-inline: .8rem; }
}
@media (max-width: 45rem) {
  .n4 .n-cta { display: none; }
  .n4 { justify-content: space-between; padding-inline: .8rem; }
  .n4__burger { display: inline-grid; }
  .k1 { min-block-size: 100svh; }
  .k1__body { padding-block: 4.5rem 5.4rem; }
  .k1__row { flex-direction: column; align-items: stretch; gap: var(--space-s); }
  .k1__row .k-cta { inline-size: 100%; }
  .k1__proof { justify-content: flex-start; }
  .k-avs img, .k-avs__more { inline-size: 28px; block-size: 28px; }
  .u2__num { font-size: clamp(1.9rem, 1.2rem + 2.6vw, 2.6rem); }
  .u2__cell { padding: 1.1rem var(--space-s); }
  .u2__lab { font-size: var(--type-footnote); }
  .u2__bar { margin-block-start: 10px; }
}
.l2 { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 5rem);
  align-items: start; }
.l2__state { font-size: clamp(1.7rem, 1.1rem + 1.9vw, 2.6rem); line-height: 1.04; letter-spacing: -.025em;
  font-weight: var(--weight-bold); margin: 0; text-wrap: balance; }
.l2__left .eyebrow { margin-block-end: var(--space-s); }
.l2__prose { margin: 0; font-size: var(--type-title-3); line-height: 1.5; color: var(--label);
  max-inline-size: 52ch; text-wrap: pretty; }
.l2__note { display: flex; align-items: center; gap: 7px; margin: var(--space-m) 0 0;
  font-size: var(--type-subhead); color: var(--label-secondary); }
.l2__note svg { color: var(--success); flex: none; }
.l3 { margin: 0; font-size: clamp(1.5rem, 1rem + 2.2vw, 2.6rem); line-height: 1.28;
  letter-spacing: -.018em; font-weight: var(--weight-semibold); color: var(--label);
  max-inline-size: 30ch; text-wrap: pretty; }
.l3 mark { background: linear-gradient(0deg, color-mix(in srgb, var(--accent) 26%, transparent) 0 40%, transparent 40%);
  color: inherit; padding-inline: .04em; }
.l4 { max-inline-size: 44rem; }
.l4__kicker { margin: 0 0 var(--space-s); font-size: var(--type-caption); font-weight: var(--weight-semibold);
  letter-spacing: .12em; text-transform: uppercase; color: var(--accent); }
.l4__prose { margin: 0; font-size: var(--type-title-3); line-height: 1.55; color: var(--label);
  text-wrap: pretty; }
.l4__prose::first-letter { float: inline-start; font-family: var(--font-display);
  font-size: 3.4em; line-height: .82; font-weight: var(--weight-bold); color: var(--accent);
  padding-inline-end: .12em; padding-block-start: .04em; }
@media (max-width: 60.25rem) {
  .l2 { grid-template-columns: 1fr; gap: var(--space-l); }
}
.r-head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-l);
  margin-block-end: var(--space-l); flex-wrap: wrap; }
.r-head h2 { margin: 0; font-size: var(--type-title-1); letter-spacing: var(--track-title); }
.r-head .eyebrow { margin: 0 0 4px; }
.r-head__side { display: flex; align-items: center; gap: var(--space-s); flex-wrap: wrap; }
.r-score { font-size: var(--type-subhead); color: var(--label-secondary); margin-inline-end: 4px; }
.r-score b { color: var(--label); font-size: var(--type-callout); }
.r-arrows { display: inline-flex; gap: 8px; }
.r-arrow { inline-size: 2.75rem; block-size: 2.75rem; border-radius: 50%; cursor: pointer;
  display: inline-grid; place-items: center; padding: 0;
  background: var(--bg-elevated); border: 1px solid var(--separator); color: var(--label);
  transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease),
    opacity var(--dur) var(--ease), transform var(--dur) var(--ease); }
.r-arrow svg { inline-size: 16px; block-size: 16px; }
.r-arrow:hover { border-color: var(--label-secondary); background: var(--bg-tertiary); }
.r-arrow:active { transform: scale(.94); }
.r-arrow[disabled] { opacity: .35; pointer-events: none; }
.r-reel { overflow: hidden; padding-block-end: 12px; touch-action: pan-y;
  inline-size: 100vw; margin-inline: calc(50% - 50vw);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 2.5%, #000 97.5%, transparent);
  mask-image: linear-gradient(90deg, transparent 0, #000 2.5%, #000 97.5%, transparent);
  cursor: grab; }
.r-reel:active { cursor: grabbing; }
.r-track { display: flex; gap: 16px; will-change: transform;
  user-select: none; -webkit-user-select: none; }
.r-track img, .r-track a { -webkit-user-drag: none; }
.r-track .r-card { flex: 0 0 auto; inline-size: min(24.5rem, 78vw); }
.r-card { position: relative; display: flex; flex-direction: column; text-decoration: none; color: inherit;
  border-radius: 22px; overflow: hidden; background: var(--bg-elevated);
  border: 1px solid color-mix(in srgb, var(--separator-opaque) 55%, transparent);
  box-shadow: 0 1px 2px rgb(0 0 0 / .04), 0 12px 32px -14px rgb(0 0 0 / .18);
  transition: transform .45s var(--ease), box-shadow .45s var(--ease), border-color var(--dur) var(--ease); }
.r-card:hover { transform: translateY(-4px);
  box-shadow: 0 2px 4px rgb(0 0 0 / .05), 0 24px 48px -18px rgb(0 0 0 / .26);
  border-color: color-mix(in srgb, var(--accent) 35%, var(--separator-opaque)); }
.r-card__media { position: relative; margin: 0; block-size: 172px; overflow: hidden; }
.r-card__media img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block;
  transition: transform .8s var(--ease); -webkit-user-drag: none; user-select: none; }
.r-card:hover .r-card__media img { transform: scale(1.05); }
.r-card__stars { position: absolute; inset-block-start: 12px; inset-inline-start: 12px; z-index: 1;
  display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px;
  border-radius: var(--radius-pill);
  background: rgb(12 14 18 / .45); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  border: .5px solid rgb(255 255 255 / .28);
  color: #FFD60A; letter-spacing: 2px; font-size: var(--type-footnote); }
.r-card__stars i { font-style: normal; letter-spacing: 0; color: #fff; font-weight: var(--weight-bold);
  font-size: var(--type-footnote); }
.r-card__body { padding: var(--space-s) var(--space-l) var(--space-m); display: flex; flex-direction: column;
  gap: var(--space-m); flex: 1; }
.r-card__quote { position: relative; margin: 0; font-size: var(--type-callout); line-height: 1.55;
  color: var(--label); flex: 1; text-wrap: pretty; }
.r-card__qmark { position: absolute; inset-block-start: -0.55em; inset-inline-start: -0.35em; z-index: 0;
  font-family: var(--font-display); font-size: 3.6em; line-height: 1; font-weight: var(--weight-bold);
  color: color-mix(in srgb, var(--accent) 26%, transparent); pointer-events: none; }
.r-card__who { display: flex; align-items: center; gap: 10px; margin-block-start: auto;
  padding-block-start: var(--space-s); border-block-start: .5px solid var(--separator); }
.r-card__who > img { inline-size: 38px; block-size: 38px; border-radius: 50%; object-fit: cover;
  border: 2px solid var(--bg-elevated); box-shadow: 0 0 0 1px var(--separator); }
.r-card__id { display: flex; flex-direction: column; line-height: 1.3; flex: 1; min-width: 0; }
.r-card__id b { font-size: var(--type-footnote); }
.r-card__id small { font-size: var(--type-caption); color: var(--label-secondary); }
.r-card__verified { display: inline-flex; align-items: center; gap: 4px; flex: none;
  padding: 3px 9px; border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--success) 12%, transparent);
  color: var(--success); font-size: 11px; font-weight: var(--weight-semibold); }
.r-dots { display: flex; justify-content: center; gap: 8px; margin-block-start: 6px; }
.r-dots i { inline-size: 18px; block-size: 3px; border-radius: 999px; background: var(--gray-4);
  transition: background var(--dur) var(--ease), transform var(--dur) var(--ease); cursor: pointer; }
.r-dots i.on { background: var(--accent); transform: scaleY(1.4); }
@media (max-width: 60.25rem) {
  .r-track .r-card { inline-size: 84vw; }
  .r-arrows { display: none; }
  .r-card__media { block-size: 150px; }
}
.g2 { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 11rem; gap: 12px;
  grid-auto-flow: dense; }
.g2__tile { position: relative; margin: 0; border-radius: 18px; overflow: hidden; }
.g2__tile img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover;
  transition: transform .7s var(--ease); }
.g2__tile:hover img { transform: scale(1.06); }
.g2__tile figcaption { position: absolute; inset-inline: 10px; inset-block-end: 10px; z-index: 1;
  padding: 6px 11px; border-radius: var(--radius-pill); font-size: var(--type-caption); font-weight: var(--weight-semibold);
  color: #fff; background: rgb(10 12 16 / .55); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  opacity: 0; translate: 0 6px; transition: opacity var(--dur) var(--ease), translate var(--dur) var(--ease);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.g2__tile:hover figcaption { opacity: 1; translate: 0 0; }
.g2__tile--wide { grid-column: span 2; }
.g2__tile--tall { grid-row: span 2; }
.g2__more { position: absolute; inset: 0; z-index: 2; display: grid; place-items: center;
  background: rgb(8 10 14 / .55); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
  color: #fff; font-size: var(--type-title-1); font-weight: var(--weight-bold); letter-spacing: -.02em; }
.g3__feat { margin: 0 0 14px; border-radius: 22px; overflow: hidden; position: relative; }
.g3__feat img { display: block; inline-size: 100%; aspect-ratio: 21 / 9; object-fit: cover; }
.g3__feat figcaption, .g3__rail figcaption { position: absolute; inset-inline: 12px; inset-block-end: 12px;
  padding: 6px 12px; border-radius: var(--radius-pill); font-size: var(--type-caption); font-weight: var(--weight-semibold);
  color: #fff; background: rgb(10 12 16 / .55); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.g3__rail { display: grid; grid-auto-flow: column; grid-auto-columns: 15rem; gap: 12px;
  overflow-x: auto; scroll-snap-type: x mandatory; padding-block-end: 8px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 2.5%, #000 97.5%, transparent);
  mask-image: linear-gradient(90deg, transparent 0, #000 2.5%, #000 97.5%, transparent); }
.g3__rail figure { position: relative; margin: 0; border-radius: 14px; overflow: hidden; scroll-snap-align: start; }
.g3__rail img { display: block; inline-size: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.g3__all { display: inline-flex; align-items: center; gap: 7px; margin-block-start: var(--space-m);
  min-block-size: 2.75rem; padding: 0 1.3rem; border-radius: var(--radius-pill);
  border: 1.5px solid var(--separator-opaque); color: var(--label); font-weight: var(--weight-semibold);
  text-decoration: none; }
.g3__all:hover { border-color: var(--label-secondary); }
.g3__all svg { inline-size: 14px; block-size: 14px; }
.g4j { display: flex; flex-wrap: wrap; gap: 10px; }
.g4j figure { position: relative; margin: 0; border-radius: 14px; overflow: hidden; }
.g4j img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; }
.g4j figcaption { position: absolute; inset-inline: 0; inset-block-end: 0; padding: 2rem 12px 10px;
  font-size: var(--type-caption); font-weight: var(--weight-semibold); color: #fff;
  background: linear-gradient(to top, rgb(8 10 14 / .75), transparent);
  opacity: 0; transition: opacity var(--dur) var(--ease); }
.g4j figure:hover figcaption { opacity: 1; }
@media (max-width: 60.25rem) {
  .g2 { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 9rem; }
}
.lab-variant[hidden] { display: none; }
.lab-switch { position: fixed; inset-inline-start: 1rem; inset-block-end: 1rem; z-index: 998;
  display: flex; align-items: center; flex-wrap: wrap; gap: 6px;
  padding: 8px 10px; border-radius: 16px;
  background: color-mix(in srgb, var(--bg-elevated) 88%, transparent);
  -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
  border: .5px solid var(--separator); box-shadow: var(--shadow-lg); }
.lab-switch__label { font-size: var(--type-caption); font-weight: var(--weight-semibold);
  letter-spacing: .08em; text-transform: uppercase; color: var(--label-tertiary);
  margin-inline-end: 4px; }
.lab-switch__btn { border: 1px solid var(--separator); background: transparent; color: var(--label-secondary);
  font: inherit; font-size: var(--type-footnote); font-weight: var(--weight-semibold);
  padding: .45rem .8rem; border-radius: var(--radius-pill); cursor: pointer;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease); }
.lab-switch__btn:hover { color: var(--label); border-color: var(--label-secondary); }
.lab-switch__btn.on { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
@media (max-width: 60.25rem) {
  .lab-switch { inset-inline: .5rem; inset-block-end: .5rem; justify-content: center; }
}
.g4j figure { cursor: zoom-in; }
.g4j figure:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.lb { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center;
  padding: clamp(1rem, 4vw, 3rem);
  background: rgb(8 10 14 / .82);
  -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
  opacity: 0; visibility: hidden;
  transition: opacity .3s var(--ease), visibility .3s; }
.lb.lb-open { opacity: 1; visibility: visible; }
.lb__stage { position: relative; max-inline-size: min(94vw, 1400px); max-block-size: 88vh;
  transform: scale(.965) translateY(8px); opacity: 0;
  transition: transform .35s var(--ease), opacity .3s var(--ease); }
.lb.lb-open .lb__stage { transform: none; opacity: 1; }
.lb__stage { position: relative; }
.lb__stage img { display: block; max-inline-size: 100%; max-block-size: 82vh;
  inline-size: auto; block-size: auto; margin-inline: auto;
  border-radius: 14px; box-shadow: 0 40px 120px -20px rgb(0 0 0 / .8); }
.lb__cap { position: absolute; inset-block-end: 18px; inset-inline-end: 18px; z-index: 1;
  max-inline-size: min(34ch, 60%);
  text-align: end; color: #fff; opacity: 0;
  font-size: var(--type-callout); font-weight: var(--weight-semibold);
  letter-spacing: .01em; line-height: 1.35;
  pointer-events: none; }
.lb__cap small { display: block; margin-block-start: 4px;
  font-size: var(--type-caption); font-weight: var(--weight-medium);
  letter-spacing: .12em; text-transform: uppercase; color: rgb(255 255 255 / .66); }
@keyframes lab-wipe {
  from { clip-path: inset(0 100% 0 0); opacity: .2; }
  to { clip-path: inset(0 -5% 0 0); opacity: 1; }
}
.lb.lb-open .lb__stage[data-cap-style="mask"] .lb__cap { padding-block: 4px; padding-inline: 2px;
  text-shadow: 0 2px 14px rgb(0 0 0 / .6);
  animation: lab-wipe .7s cubic-bezier(.65,0,.35,1) .2s both; }
.lb.lb-open .lb__stage[data-cap-style="mask"] .lb__cap small { animation: lab-wipe .9s cubic-bezier(.65,0,.35,1) .5s both; }
@media (max-width: 60.24rem) {
  .lb__cap, .lb.lb-open .lb__stage[data-cap-style="slide"] .lb__cap,
  .lb.lb-open .lb__stage[data-cap-style="blur"] .lb__cap,
  .lb.lb-open .lb__stage[data-cap-style="mask"] .lb__cap {
    position: static; max-inline-size: none; padding: 0 !important;
    margin-block-start: 14px; text-align: center; animation: none;
    background: none !important; border: 0 !important;
    -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
    text-shadow: none; filter: none !important; translate: none !important;
    opacity: 1 !important; }
  .lb[data-cap-style="mask"] .lb__cap small { animation: none; }
}
.lb__close { position: fixed; inset-block-start: max(1rem, env(safe-area-inset-top)); inset-inline-end: max(1rem, env(safe-area-inset-right));
  z-index: 2; inline-size: 3rem; block-size: 3rem; border-radius: 50%; cursor: pointer;
  display: grid; place-items: center; padding: 0;
  background: rgb(255 255 255 / .12); border: .5px solid rgb(255 255 255 / .3);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); color: #fff;
  transition: background var(--dur) var(--ease), transform var(--dur) var(--ease); }
.lb__close:hover { background: rgb(255 255 255 / .22); transform: scale(1.06); }
.lb__close svg { inline-size: 16px; block-size: 16px; }
.lb__nav { position: fixed; inset-block-start: 50%; translate: 0 -50%; z-index: 2;
  inline-size: 3rem; block-size: 3rem; border-radius: 50%; cursor: pointer;
  display: grid; place-items: center; padding: 0;
  background: rgb(255 255 255 / .12); border: .5px solid rgb(255 255 255 / .3);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); color: #fff;
  transition: background var(--dur) var(--ease); }
.lb__nav:hover { background: rgb(255 255 255 / .22); }
.lb__nav[disabled] { opacity: .3; pointer-events: none; }
.lb__nav--prev { inset-inline-start: max(1rem, env(safe-area-inset-left)); }
.lb__nav--next { inset-inline-end: max(1rem, env(safe-area-inset-right)); }
.lb__nav svg { inline-size: 16px; block-size: 16px; }
.lb__count { position: fixed; inset-block-start: max(1.35rem, env(safe-area-inset-top)); inset-inline-start: 50%; translate: -50% 0;
  color: rgb(255 255 255 / .6); font-size: var(--type-footnote); font-weight: var(--weight-semibold); }
body.lb-lock { overflow: hidden; }
@media (max-width: 40rem) {
  .lb__stage { max-inline-size: 96vw; }
  .lb__stage img { max-block-size: 70vh; border-radius: 10px; }
  .lb__nav { inline-size: 2.6rem; block-size: 2.6rem; }
}
.c2band { display: grid; grid-template-columns: minmax(0, 1fr) minmax(19rem, 26rem); gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center; padding: clamp(1.75rem, 4vw, 3.5rem);
  background:
    radial-gradient(70% 130% at 100% 0%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 55%),
    var(--bg-elevated);
  border: .5px solid var(--separator); border-radius: 26px; box-shadow: var(--shadow-md); }
.c2band__copy h2 { font-size: clamp(1.7rem, 1.1rem + 2.2vw, 2.9rem); line-height: 1.06;
  letter-spacing: -.025em; font-weight: var(--weight-bold); margin: 0 0 var(--space-l); max-width: 22ch; text-wrap: balance; }
.c2band__facts { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.c2band__facts li { display: flex; align-items: center; gap: 10px; font-size: var(--type-callout);
  font-weight: var(--weight-medium); color: var(--label); }
.c2band__facts svg { inline-size: 17px; block-size: 17px; color: var(--success); flex: none; }
.c2band__widget { background: var(--bg); border: .5px solid var(--separator); border-radius: 18px;
  padding: var(--space-m); box-shadow: var(--shadow-md); }
.c2band__widget-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-s);
  padding-block-end: var(--space-s); border-block-end: .5px solid var(--separator); margin-block-end: var(--space-s); }
.c2band__price { color: var(--label-secondary); font-size: var(--type-subhead); }
.c2band__price b { color: var(--label); font-size: var(--type-title-2); letter-spacing: -.02em; }
.c2band__rate { font-weight: var(--weight-semibold); font-size: var(--type-subhead); display: inline-flex; align-items: center; gap: 5px; }
.c2band__rate svg { inline-size: 14px; block-size: 14px; color: var(--star); }
.c2band__rate small { color: var(--label-secondary); font-weight: var(--weight-medium); }
.c2band__slot { text-align: center; padding: var(--space-m) 0; }
.c2band__slot p { margin: 0 0 var(--space-m); color: var(--label-secondary); font-size: var(--type-subhead); }
.c2band__slot .lab-cta { inline-size: 100%; }
.c2band__micro { margin: var(--space-s) 0 0; text-align: center; font-size: var(--type-caption); color: var(--label-tertiary); }
@media (max-width: 60.25rem) {
  .c2band { grid-template-columns: 1fr; }
}
.c3band { position: relative; display: flex; align-items: flex-end; min-block-size: 72vh; color: #fff;
  background:
    linear-gradient(to bottom, rgb(var(--scrim-rgb) / .35), rgb(var(--scrim-rgb) / .12) 40%, rgb(var(--scrim-rgb) / .62)),
    var(--img) center 40% / cover no-repeat; }
.c3band__body { padding-block: clamp(2rem, 6vw, 4rem); }
.c3band__body .eyebrow { color: rgb(255 255 255 / .85); }
.c3band__body h2 { font-size: clamp(2.2rem, 1.1rem + 3.8vw, 4.4rem); line-height: .99; letter-spacing: -.03em;
  font-weight: var(--weight-bold); margin: 0 0 var(--space-s); max-width: 18ch; text-wrap: balance; }
.c3band__sub { margin: 0 0 var(--space-l); color: rgb(255 255 255 / .88); font-size: var(--type-title-3); }
.c3band__row { display: flex; align-items: center; gap: var(--space-l); flex-wrap: wrap; }
.c3band__row .k1__proof { padding: .4rem .75rem; margin-block: -.4rem; border-radius: var(--radius-pill); }
@media (max-width: 40rem) {
  .c3band__row .k1__proof { margin-block: 0; }
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #FFFFFF; --bg-grouped: #F2F2F7; --bg-elevated: #FFFFFF; --bg-tertiary: #E9EEF3;
    --label: rgba(0, 0, 0, 0.92);
    --label-secondary: rgba(60, 60, 67, 0.78);
    --label-tertiary: rgba(60, 60, 67, 0.32);
    --separator: rgba(60, 60, 67, 0.22);
    --separator-opaque: #C6C6C8;
    --accent: #136BC3; --accent-hover: #0E4C8B; --accent-soft: #E9F2FB; --on-accent: #FFFFFF;
    --cta: #C94C0D; --cta-hover: #903609; --on-cta: #FFFFFF; --cta-ink: #C94C0D;
    --star: #9A6304; --success: #15803D;
    --gray: #7F8F9F; --gray-2: #A1ADBA; --gray-3: #BFC9D4; --gray-4: #CDD6E0;
    --gray-5: #E0E7EE; --gray-6: #EFF3F7;
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 1px 3px rgba(0, 0, 0, 0.06), 0 6px 16px -6px rgba(0, 0, 0, 0.10);
    --shadow-lg: 0 2px 6px rgba(0, 0, 0, 0.07), 0 14px 34px -10px rgba(0, 0, 0, 0.16);
  }
}
.cmp-d2 (dead) .d2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.cmp-d2-dead .d2__ours { position: relative; padding: clamp(1.5rem, 3vw, 2.25rem);
  border-radius: 24px; background:
    radial-gradient(90% 130% at 100% 0%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 55%),
    var(--bg-elevated);
  border: 2px solid var(--accent); box-shadow: var(--shadow-lg); }
.cmp-d2-dead .d2__badge { position: absolute; inset-block-start: -13px; inset-inline-start: 1.5rem;
  display: inline-flex; align-items: center; gap: 5px; padding: 4px 12px;
  border-radius: var(--radius-pill); background: var(--accent); color: var(--on-accent);
  font-size: var(--type-caption); font-weight: var(--weight-bold); letter-spacing: .04em; }
.cmp-d2-dead .d2__ours h3 { margin: 6px 0 4px; font-size: var(--type-title-2); letter-spacing: -.015em; }
.cmp-d2-dead .d2__route { margin: 0 0 var(--space-m); font-size: var(--type-footnote); color: var(--label-secondary); }
.cmp-d2-dead .d2__price { margin: 0 0 var(--space-m); color: var(--label-secondary); font-size: var(--type-subhead); }
.cmp-d2-dead .d2__price b { color: var(--label); font-size: var(--type-title-1); letter-spacing: -.02em; }
.cmp-d2-dead .d2__ours ul { list-style: none; margin: 0 0 var(--space-l); padding: 0; display: grid; gap: 10px; }
.cmp-d2-dead .d2__ours li { display: flex; align-items: flex-start; gap: 9px; font-size: var(--type-subhead);
  line-height: 1.4; color: var(--label); }
.cmp-d2-dead .d2__ours li svg { inline-size: 16px; block-size: 16px; color: var(--success); flex: none; margin-block-start: 1px; }
.cmp-d2-dead .d2__ours li.d2__con { color: var(--label-secondary); }
.cmp-d2-dead .d2__ours li.d2__con svg { color: var(--gray); }
.cmp-d2-dead .d2__ours .lab-cta { inline-size: 100%; }
.cmp-d2-dead .d2__rest { display: grid; gap: 12px; }
.cmp-d2-dead .d2__rival { display: flex; align-items: center; gap: var(--space-m); padding: var(--space-m) var(--space-m);
  border-radius: 18px; background: var(--bg-elevated); border: .5px solid var(--separator);
  text-decoration: none; color: inherit; transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease); }
.cmp-d2-dead .d2__rival:hover { transform: translateX(4px); box-shadow: var(--shadow-md); border-color: var(--separator-opaque); }
.cmp-d2-dead .d2__rival div { flex: 1; min-width: 0; display: grid; gap: 3px; }
.cmp-d2-dead .d2__rival b { font-size: var(--type-callout); }
.cmp-d2-dead .d2__rival span { font-size: var(--type-footnote); color: var(--label-secondary); font-weight: var(--weight-medium); }
.cmp-d2-dead .d2__rival p { margin: 0; font-size: var(--type-footnote); color: var(--label-secondary); line-height: 1.45; }
.cmp-d2-dead .d2__rival svg { inline-size: 16px; block-size: 16px; color: var(--label-tertiary); flex: none; }
@media (max-width: 60.25rem) { .d2 { grid-template-columns: 1fr; } }
.d3__table { border-block: 1px solid var(--separator-opaque); margin-block-end: var(--space-l); }
.d3__row { display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: var(--space-m);
  align-items: baseline; padding-block: 12px; }
.d3__row + .d3__row { border-block-start: .5px solid var(--separator); }
.d3__row > span { color: var(--label-secondary); font-size: var(--type-subhead); }
.d3__row > span:first-child { color: var(--label); font-weight: var(--weight-medium); }
.d3__row > b { font-size: var(--type-callout); font-weight: var(--weight-bold); }
.d3__row > span:nth-child(2), .d3__row > b { color: var(--label); }
.d3__verdict { max-inline-size: 44rem; }
.d3__verdict p { margin: 0 0 var(--space-m); font-size: var(--type-title-3); line-height: 1.5; color: var(--label); }
.e-scroll { overflow-x: auto; scrollbar-width: thin; -webkit-overflow-scrolling: touch;
  margin-block-start: 1.5rem; padding-block-end: 4px; }
.e-table { min-inline-size: 58rem; border: 1px solid var(--separator); border-radius: 20px;
  overflow: hidden; background: var(--bg-elevated); }
.e-row { display: grid; grid-template-columns: minmax(9.5rem, 1fr) repeat(4, minmax(0, 1fr)); }
.e-row + .e-row { border-block-start: .5px solid var(--separator); }
.e-row--head { border-block-start: 0; }
.e-label { display: flex; flex-direction: column; justify-content: center; gap: 3px;
  padding: 15px 18px; font-size: var(--type-subhead); font-weight: var(--weight-medium);
  color: var(--label); position: sticky; inset-inline-start: 0; z-index: 2;
  background: var(--bg-elevated); border-inline-end: .5px solid var(--separator); }
.e-row--head .e-label, .e-row--foot .e-label { border-inline-end: .5px solid var(--separator); }
.e-cell { display: flex; align-items: center; justify-content: center; text-align: center;
  padding: 15px 12px; font-size: var(--type-subhead); color: var(--label); position: relative; }
.e-cell + .e-cell { border-inline-start: .5px solid var(--separator); }
.e-cell--ours { background: color-mix(in srgb, var(--accent) 5%, transparent); }
.e-row:hover .e-cell { background: color-mix(in srgb, var(--bg-tertiary) 55%, transparent); }
.e-row:hover .e-cell--ours { background: color-mix(in srgb, var(--accent) 9%, transparent); }
.e-yes { inline-size: 17px; block-size: 17px; color: var(--success); }
.e-no::before { content: "\2014"; color: var(--label-tertiary); }
.e-txt { line-height: 1.35; }
.e-guide { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.flag { display: block; inline-size: 1.65rem; block-size: 1.1rem; flex: none; border-radius: 3px; overflow: hidden;
  box-shadow: 0 0 0 .5px rgb(0 0 0 / .2), 0 1px 2px rgb(0 0 0 / .08); }
.flag--txt { display: grid; place-items: center; font-size: .62rem; font-weight: var(--weight-bold);
  background: var(--bg-tertiary); color: var(--label-secondary); }
.e-legend, .e-legend * { hyphens: manual; -webkit-hyphens: manual; }
@media (max-width: 40rem) {
  .e-table .e-legend .e-legend__kicker, .e-table .e-legend > b,
  .e-table .e-legend .e-legend__div, .e-table .e-legend .e-legend__note { display: none; }
  .e-table .e-legend { padding: 0; background: none; box-shadow: none; border-radius: 0; gap: 12px; }
}
.e-head { position: relative; display: grid; align-items: stretch; justify-items: center;
  grid-template-rows: 148px 42px 20px auto;
  gap: 9px; padding: 10px 12px 16px; text-align: center; }
.e-head + .e-head { border-inline-start: .5px solid var(--separator); }
.e-head--ours { background: color-mix(in srgb, var(--accent) 6%, transparent); }
.e-photo { display: block; inline-size: 100%; block-size: 100%;
  border-radius: 10px; overflow: hidden; }
.e-photo img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block;
  transition: transform .6s var(--ease); }
.e-photo:hover img { transform: scale(1.05); }
.e-tag { position: absolute; inset-block-start: 10px; inset-inline-start: 10px; z-index: 1;
  display: inline-flex; align-items: center; gap: 5px;
  padding: 4px 10px; border-radius: var(--radius-pill);
  background: var(--tag-c, var(--accent)); color: #fff;
  font-size: 10.5px; font-weight: var(--weight-bold); letter-spacing: .05em; text-transform: uppercase;
  box-shadow: 0 2px 8px rgb(0 0 0 / .25); }
.e-tag svg { inline-size: 12px; block-size: 12px; flex: none; }
.e-name { color: var(--label); font-weight: var(--weight-semibold);
  font-size: var(--type-subhead); line-height: 1.3;
  block-size: 42px;
  display: flex; align-items: center; text-decoration: none;
  max-inline-size: 20ch; text-wrap: balance; }
.e-name:hover { color: var(--accent); }
.e-rate { margin: 0; align-self: center; font-size: var(--type-footnote);
  color: var(--label-secondary); display: inline-flex; align-items: center; gap: 5px; }
.e-rate .stars { letter-spacing: 1.5px; font-size: var(--type-caption); }
.e-rate b { color: var(--label); }
.e-price { margin: 0; align-self: center; color: var(--label-secondary); font-size: var(--type-footnote); }
.e-price b { color: var(--label); font-size: var(--type-title-2); letter-spacing: -.02em;
  margin-inline-start: 3px; }
.e-legend { display: flex; flex-direction: column; align-items: flex-start;
  justify-content: flex-start; gap: 0; padding: 20px 20px 16px;
  background: var(--bg-elevated); border-radius: 18px;
  box-shadow: var(--shadow-md); align-self: center; }
.e-legend__kicker { display: block; margin-block-end: 14px;
  font-size: 10.5px; font-weight: var(--weight-bold); letter-spacing: .14em;
  text-transform: uppercase; color: var(--accent); }
.e-legend b { display: block; font-size: var(--type-callout); line-height: 1.35;
  letter-spacing: -.01em; margin-block-end: 14px; color: var(--label); }
.e-legend__row { display: flex; align-items: center; gap: 11px;
  padding-block: 6px; font-size: var(--type-footnote); color: var(--label);
  font-weight: var(--weight-medium); }
.e-chip { inline-size: 30px; block-size: 30px; border-radius: 9px;
  display: inline-grid; place-items: center; flex: none; }
.e-chip--yes { background: color-mix(in srgb, var(--success) 13%, transparent); }
.e-chip--yes svg { inline-size: 15px; block-size: 15px; color: var(--success); }
.e-chip--no { background: var(--bg-tertiary); }
.e-chip__dash { display: block; inline-size: 13px; block-size: 2px; border-radius: 2px;
  background: var(--gray-3); }
.e-legend__div { border-block-start: .5px solid var(--separator); margin-block: 12px; }
.e-legend__note { font-size: var(--type-caption); color: var(--label-secondary); line-height: 1.55; }
.e-cta, .e-ghost { display: inline-flex; align-items: center; justify-content: center;
  min-block-size: 2.6rem; padding: 0 1rem; border-radius: 10px;
  font-size: var(--type-footnote); font-weight: var(--weight-semibold);
  text-decoration: none; white-space: nowrap; inline-size: 100%; max-inline-size: 15rem;
  color: var(--on-cta);
  transition: background var(--dur) var(--ease), box-shadow var(--dur) var(--ease),
    translate var(--dur) var(--ease), border-color var(--dur) var(--ease),
    filter var(--dur) var(--ease); }
.e-cta { background: var(--cta); box-shadow: 0 1px 2px rgb(0 0 0 / .12); }
.e-cta:hover { background: var(--cta-hover); filter: brightness(1.06);
  translate: 0 -1px; box-shadow: 0 6px 16px -6px color-mix(in srgb, var(--cta) 55%, transparent); }
.e-cta:active { translate: 0 0; filter: brightness(.97); }
.e-ghost { background: transparent; border: 1.5px solid var(--separator-opaque); color: var(--label); }
.e-ghost:hover { border-color: var(--label-secondary); background: var(--bg-tertiary); }
.e-row--foot .e-cell { padding-block: 14px; }
.e-note { margin: var(--space-s) 0 0; font-size: var(--type-caption); color: var(--label-tertiary); }
@media (max-width: 60.25rem) {
  .e-table { min-inline-size: 52rem; border-radius: 14px; }
  .e-row { grid-template-columns: 7.6rem repeat(4, minmax(0, 1fr)); }
  .e-label { padding: 10px 8px; font-size: var(--type-caption); }
  .e-head { padding: 8px 8px 12px; grid-template-rows: 92px 36px 18px auto; }
  .e-name { font-size: var(--type-caption); }
  .e-tag { inset-block-start: 6px; inset-inline-start: 6px; font-size: 9.5px; padding: 2px 7px; }
}
.n-cta, .e-cta, .lab-cta, .k-cta {
  transition: background var(--dur) var(--ease), box-shadow var(--dur) var(--ease),
    translate var(--dur) var(--ease), filter var(--dur) var(--ease), color var(--dur) var(--ease);
}
.n-cta:hover, .e-cta:hover, .lab-cta:hover {
  color: var(--on-cta);
  background: var(--cta-hover);
  filter: brightness(1.06);
  translate: 0 -2px;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--cta) 20%, transparent),
              0 14px 30px -10px color-mix(in srgb, var(--cta) 55%, transparent);
}
.n-cta:active, .e-cta:active, .lab-cta:active {
  translate: 0 0; filter: brightness(.97);
  box-shadow: 0 1px 2px rgb(0 0 0 / .15);
}
.lg-tpl { display: none; }
.lg-page .e-table { min-inline-size: 66rem; }
.lg-page .e-row { grid-template-columns: minmax(17rem, 1.15fr) repeat(4, minmax(0, 1fr)); }
.lg-page .e-label { padding: 14px 18px; }
.lgv { display: block; }
.lgv .kick { display: block; margin-block-end: 12px; font-size: .68rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase; color: var(--accent); }
.lgv h3 { margin: 0 0 1rem; font-size: 1.02rem; line-height: 1.3; letter-spacing: -.01em; color: var(--label); }
.lgv .row { display: flex; align-items: center; gap: .65rem; padding-block: .45rem;
  font-size: .9rem; color: var(--label); }
.lgv .yes { inline-size: 15px; block-size: 15px; color: var(--success); flex: none; }
.lgv .dash { display: inline-block; inline-size: 16px; block-size: 2px; border-radius: 2px;
  background: var(--gray-3); flex: none; }
.lgv .note { font-size: .76rem; color: var(--label-tertiary); line-height: 1.5; }
.lgv .chip { inline-size: 30px; block-size: 30px; border-radius: 9px; display: grid;
  place-items: center; flex: none; }
.lgv .chip.yes { background: color-mix(in srgb, var(--success) 13%, transparent); }
.lgv .chip.no { background: var(--bg-tertiary); }
.lgv .chip.no .dash { inline-size: 13px; }
.lgv .num { inline-size: 24px; block-size: 24px; border-radius: 50%; display: grid; place-items: center;
  background: var(--bg-elevated); border: 1px solid var(--separator-opaque);
  font-size: .72rem; font-weight: 700; color: var(--label-secondary); flex: none; }
.lgv.v1 { border-block-start: 1px solid var(--separator-opaque); padding-block-start: 1.1rem; }
.lgv.v2 { background: var(--bg-elevated); border-radius: 20px; padding: 1.4rem; box-shadow: var(--shadow-md); }
.lgv.v2 .div { border-block-start: .5px solid var(--separator); margin-block: .8rem; }
.lgv.v3 .row { padding-block: .55rem; }
.lgv.v4 { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.1rem;
  background: var(--bg-elevated); border-radius: 999px; padding: .8rem 1.3rem; box-shadow: var(--shadow-md); }
.lgv.v4 h3 { display: none; }
.lgv.v4 .row { font-weight: 550; }
.lgv.v4 .dot { color: var(--label-tertiary); }
.lgv.v4 .note { inline-size: 100%; text-align: center; margin-block-start: .2rem; }
.lgv.v5 { background: #101418; color: #fff; border-radius: 20px; padding: 1.5rem;
  box-shadow: 0 24px 48px -18px rgb(0 0 0 / .5); }
.lgv.v5 .kick { color: #7FB5FF; }
.lgv.v5 h3 { color: #fff; }
.lgv.v5 .row { color: rgb(255 255 255 / .92); }
.lgv.v5 .yes { color: #4ADE80; }
.lgv.v5 .chip { background: rgb(255 255 255 / .08); }
.lgv.v5 .chip .dash { background: rgb(255 255 255 / .3); }
.lgv.v5 .note { margin-block-start: .9rem; padding-block-start: .9rem;
  border-block-start: 1px solid rgb(255 255 255 / .12); color: rgb(255 255 255 / .55); }
.lgv.v6 { border-inline-start: 3px solid var(--accent); padding: .3rem 0 .3rem 1.2rem; }
.lgv.v9 { display: flex; gap: 1.2rem; align-items: flex-start; }
.lgv.v9 .big { flex: none; inline-size: 56px; block-size: 56px; border-radius: 18px;
  display: grid; place-items: center; background: color-mix(in srgb, var(--success) 12%, transparent); }
.lgv.v9 .big svg { inline-size: 30px; block-size: 30px; color: var(--success); }
.lgv.v9 h3 { margin-block-end: .6rem; }
.lgv.v9 .row svg { inline-size: 14px; block-size: 14px; color: var(--success); }
.lgv.v9 .row .dash { inline-size: 14px; }
.lgv.v10 .tags { display: flex; flex-wrap: wrap; gap: .6rem; margin-block-end: 1rem; }
.lgv.v10 .pill { display: inline-flex; align-items: center; gap: .45rem; padding: .5rem .95rem;
  border-radius: 999px; font-size: .85rem; font-weight: 600; }
.lgv.v10 .pill.yes { background: color-mix(in srgb, var(--success) 12%, transparent); color: var(--success); }
.lgv.v10 .pill.no { background: var(--bg-elevated); color: var(--label-secondary);
  box-shadow: inset 0 0 0 1px var(--separator); }
.w2 { background: var(--bg-elevated); border: .5px solid var(--separator); border-radius: 20px;
  padding: var(--space-l); }
.w2 svg { inline-size: 100%; block-size: auto; display: block;
  font-family: var(--font-text); }
.w2-m__hi { font-size: 15px; font-weight: var(--weight-bold); fill: var(--label);
  font-variant-numeric: tabular-nums; text-anchor: middle; }
.w2-m__mo { font-size: 12px; font-weight: var(--weight-medium); fill: var(--label-secondary);
  text-anchor: middle; text-transform: uppercase; letter-spacing: .06em; }
.w2 { position: relative; }
.w2-hit { fill: transparent; transition: fill var(--dur) var(--ease); }
.w2-m:hover .w2-hit { fill: color-mix(in srgb, var(--accent) 7%, transparent); }
.w2-m { transition: opacity var(--dur) var(--ease); }
.w2:hover .w2-m:not(:hover) { opacity: .45; }
.w2:hover .w2-band, .w2:hover .w2-line { opacity: .8; }
.w2-band, .w2-line, .w2-m { transition: opacity var(--dur) var(--ease); }
.w2-sun { fill: url(#w2sun); }
.w2-m:hover .w2-sun { filter: brightness(1.08); }
.w2-sun__v { font-size: 13px; font-weight: var(--weight-bold); fill: #B45309;
  text-anchor: middle; font-variant-numeric: tabular-nums; }
.w2-wash { fill: color-mix(in srgb, var(--accent) 6%, transparent); }
.w2-wash-tag { font-size: 11px; font-weight: var(--weight-bold); letter-spacing: .14em;
  text-transform: uppercase; fill: var(--accent); text-anchor: middle; }
.w2-units { position: absolute; inset-block-start: 14px; inset-inline-end: 14px; z-index: 5;
  display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.w2-units__side { font-size: var(--type-footnote); font-weight: var(--weight-semibold);
  color: var(--label-tertiary); transition: color var(--dur) var(--ease); user-select: none; }
.w2-units__side.on { color: var(--label); }
.w2-switch { display: inline-block; cursor: pointer; }
.w2-switch input { position: absolute; opacity: 0; pointer-events: none; }
.w2-switch__track { display: block; inline-size: 46px; block-size: 27px; border-radius: 999px;
  background: var(--gray-4); position: relative;
  transition: background var(--dur) var(--ease); }
.w2-switch__track::after { content: ""; position: absolute; inset-block-start: 2px;
  inset-inline-start: 2px; inline-size: 23px; block-size: 23px; border-radius: 50%;
  background: #fff; box-shadow: 0 2px 5px rgb(0 0 0 / .25);
  transition: translate var(--dur) var(--ease); }
.w2-switch input:checked + .w2-switch__track { background: var(--success); }
.w2-switch input:checked + .w2-switch__track::after { translate: 19px 0; }
.w2-switch input:focus-visible + .w2-switch__track { outline: 2px solid var(--accent); outline-offset: 2px; }
.w2 .w2-band { clip-path: inset(0 100% 0 0); }
.w2 .w2-line { stroke-dasharray: 1; stroke-dashoffset: 1; }
.w2 .w2-m, .w2 .w2-wash, .w2 .w2-wash-tag { opacity: 0; }
.w2-in .w2-band { animation: w2-band .9s cubic-bezier(.65,0,.35,1) .15s both; }
.w2-in .w2-line { animation: w2-line 1s cubic-bezier(.65,0,.35,1) .15s both; }
.w2-in .w2-wash, .w2-in .w2-wash-tag { animation: w2-fade .6s var(--ease) both; }
.w2-in .w2-m { animation: w2-fade .5s var(--ease) calc(.75s + var(--i) * .055s) both; }
@keyframes w2-band { to { clip-path: inset(0 -2% 0 0); } }
@keyframes w2-line { to { stroke-dashoffset: 0; } }
@keyframes w2-fade { to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .w2 .w2-band { clip-path: none; }
  .w2 .w2-line { stroke-dasharray: none; stroke-dashoffset: 0; }
  .w2 .w2-m, .w2 .w2-wash, .w2 .w2-wash-tag { opacity: 1; animation: none; }
}
.w2-done .w2-band, .w2-done .w2-line, .w2-done .w2-m,
.w2-done .w2-wash, .w2-done .w2-wash-tag {
  animation: none !important;
  opacity: 1 !important;
  clip-path: none !important;
  stroke-dasharray: none !important;
  stroke-dashoffset: 0 !important;
}
.w2-tip { position: absolute; inset-block-start: 52px; z-index: 6; pointer-events: none;
  opacity: 0; translate: -50% 6px;
  transition: opacity .12s var(--ease), translate .18s var(--ease), left .18s var(--ease);
  background: var(--bg-elevated); border: .5px solid var(--separator);
  border-radius: 14px; box-shadow: var(--shadow-lg);
  padding: 12px 14px; inline-size: max-content; min-inline-size: 195px; max-inline-size: 72%;
  font-size: var(--type-footnote); }
.w2-tip.on { opacity: 1; translate: -50% 0; }
.w2-tip__hd { display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin-block-end: 8px; padding-block-end: 7px; border-block-end: .5px solid var(--separator); }
.w2-tip__hd b { font-size: var(--type-callout); letter-spacing: .02em; }
.w2-tip__hd span { font-size: 10px; font-weight: var(--weight-bold); letter-spacing: .08em;
  text-transform: uppercase; color: var(--on-accent); background: var(--accent);
  padding: 2px 8px; border-radius: 999px; white-space: nowrap; }
.w2-tip__r { display: flex; align-items: center; gap: 8px;
  padding-block: 3px; color: var(--label-secondary); }
.w2-tip__ico { inline-size: 24px; block-size: 24px; border-radius: 7px; flex: none;
  display: inline-grid; place-items: center; background: var(--bg-tertiary); }
.w2-tip__ico svg { inline-size: 14px; block-size: 14px; color: var(--label-secondary); }
.w2-tip__r b { margin-inline-start: auto; color: var(--label); font-weight: var(--weight-semibold);
  font-variant-numeric: tabular-nums; white-space: nowrap; }
.w2__foot { padding-inline: 6%; }
@media (max-width: 48rem) {
  .w2-m__hi { font-size: 34px; }
  .w2-m__mo { font-size: 25px; letter-spacing: .04em; }
  .w2-sun__v { font-size: 30px; }
  .w2-tip { inset-block-start: 46px; }
}
.w2__foot { display: flex; align-items: center; gap: var(--space-l); margin-block-start: var(--space-s);
  font-size: var(--type-caption); color: var(--label-tertiary); flex-wrap: wrap; }
.w2__key { display: inline-flex; align-items: center; gap: 7px; }
.w2__line { display: inline-block; inline-size: 18px; block-size: 3px; border-radius: 2px;
  background: #136BC3; }
.w2__line--lo { background: repeating-linear-gradient(90deg, #136BC3 0 2px, transparent 2px 5px); }
.w2__swatch { display: inline-block; inline-size: 11px; block-size: 11px;
  border-radius: 3px; background: linear-gradient(180deg, #F6A723, #E8930C); }
.w2__key--dim { margin-inline-start: auto; }
.w3 { display: grid; gap: 4px; }
.w3__row { display: grid; grid-template-columns: 3.2rem 1fr 6.5rem; align-items: center;
  gap: var(--space-m); padding: 7px 10px; border-radius: 10px; }
.w3__row.is-best { background: color-mix(in srgb, var(--accent) 6%, transparent); }
.w3__mo { font-size: var(--type-footnote); font-weight: var(--weight-semibold); }
.w3__track { position: relative; block-size: 10px; border-radius: 999px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--accent) 14%, transparent),
    color-mix(in srgb, var(--cta) 14%, transparent)); }
.w3__range { position: absolute; inset-block: 0; border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), var(--cta)); }
.w3__rain { font-size: var(--type-footnote); color: var(--label-secondary); text-align: end; }
.w3__scale-note { margin: var(--space-s) 0 0; font-size: var(--type-caption); color: var(--label-tertiary); }
.w4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.w4__card { border-radius: 18px; padding: var(--space-m) var(--space-m) calc(var(--space-m) - 2px);
  background: var(--bg-elevated); border: .5px solid var(--separator);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.w4__card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.w4__ico { display: inline-grid; place-items: center; inline-size: 34px; block-size: 34px;
  border-radius: 10px; background: color-mix(in srgb, var(--accent) 11%, transparent);
  color: var(--accent); margin-block-end: 10px; }
.w4__ico svg { inline-size: 18px; block-size: 18px; }
.w4__card h3 { margin: 0 0 2px; font-size: var(--type-callout); }
.w4__months { margin: 0 0 8px; font-size: var(--type-caption); color: var(--label-tertiary);
  font-weight: var(--weight-semibold); }
.w4__line { margin: 0; font-size: var(--type-footnote); color: var(--label-secondary); line-height: 1.45; }
.w4__tag { margin: 10px 0 0; font-size: var(--type-caption); font-weight: var(--weight-semibold); color: var(--accent); }
.w4__note { margin: var(--space-s) 0 0; font-size: var(--type-caption); color: var(--label-tertiary); }
.w5 { background: var(--bg-elevated); border: .5px solid var(--separator); border-radius: 22px;
  padding: clamp(1.25rem, 3vw, 2.25rem); }
.w5__k { display: inline-block; padding: 3px 11px; border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--success) 13%, transparent); color: var(--success);
  font-size: var(--type-caption); font-weight: var(--weight-bold); letter-spacing: .04em;
  margin-block-end: var(--space-m); }
.w5__answer p { margin: 0; font-size: var(--type-title-3); line-height: 1.45; max-inline-size: 40ch; }
.w5__answer b { font-weight: var(--weight-bold); }
.w5__fine { margin-block-start: var(--space-s) !important; font-size: var(--type-subhead) !important;
  color: var(--label-secondary); }
.w5__strip { display: flex; align-items: flex-end; gap: clamp(3px, .8vw, 10px);
  margin-block: var(--space-l) var(--space-2xs); }
.w5__col { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 5px;
  border-radius: 8px; padding-block: 6px; }
.w5__col.is-season { background: color-mix(in srgb, var(--accent) 8%, transparent); }
.w5__bar { inline-size: min(26px, 70%); border-radius: 6px 6px 3px 3px;
  background: linear-gradient(180deg, var(--accent), color-mix(in srgb, var(--accent) 45%, transparent)); }
.w5__col:not(.is-season) .w5__bar { opacity: .35; }
.w5__t { font-size: var(--type-caption); font-weight: var(--weight-bold); font-variant-numeric: tabular-nums; }
.w5__mo { font-size: var(--type-caption); color: var(--label-secondary); font-weight: var(--weight-medium); }
.w5__foot { margin: var(--space-xs) 0 0; font-size: var(--type-caption); color: var(--label-tertiary); }
@media (max-width: 60.25rem) {
  .w4 { grid-template-columns: repeat(2, 1fr); }
  .w3__row { grid-template-columns: 2.6rem 1fr; }
  .w3__rain { display: none; }
}
.f2 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.f2__plate { border-radius: 20px; padding: clamp(1.25rem, 2.5vw, 2rem);
  background: #101418; color: #fff;
  transition: translate var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.f2__plate:hover { translate: 0 -4px; box-shadow: 0 20px 44px -16px rgb(0 0 0 / .55); }
.f2__num { display: block; font-family: var(--font-display);
  font-size: clamp(2.2rem, 1.4rem + 2.8vw, 3.6rem); font-weight: var(--weight-bold);
  letter-spacing: -.03em; line-height: 1;
  background: linear-gradient(120deg, #fff 40%, color-mix(in srgb, var(--accent) 60%, #fff));
  -webkit-background-clip: text; background-clip: text; color: transparent; }
.f2__cap { display: block; margin-block: 8px 10px; font-size: var(--type-caption);
  font-weight: var(--weight-bold); letter-spacing: .1em; text-transform: uppercase;
  color: color-mix(in srgb, var(--accent) 75%, #fff); }
.f2__plate p { margin: 0; font-size: var(--type-footnote); line-height: 1.55; color: rgb(255 255 255 / .78); }
.f3 { display: grid; grid-template-columns: auto 1fr; gap: clamp(1.5rem, 5vw, 5rem);
  align-items: center; padding: clamp(1.75rem, 4vw, 3.5rem);
  background: radial-gradient(80% 140% at 0% 100%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 60%),
    var(--bg-elevated);
  border: .5px solid var(--separator); border-radius: 26px; }
.f3__num { font-family: var(--font-display); font-size: clamp(5rem, 3rem + 9vw, 10rem);
  font-weight: var(--weight-bold); letter-spacing: -.045em; line-height: .85;
  background: linear-gradient(160deg, var(--label) 40%, var(--accent));
  -webkit-background-clip: text; background-clip: text; color: transparent; }
.f3__num i { font-style: normal; font-size: .38em; font-weight: var(--weight-semibold);
  letter-spacing: 0; margin-inline-start: .12em; color: var(--label-secondary); }
.f3__lead { margin: 0 0 var(--space-s); font-size: var(--type-title-3); font-weight: var(--weight-semibold);
  line-height: 1.35; color: var(--label); }
.f3__txt { margin: 0; font-size: var(--type-subhead); line-height: 1.6; color: var(--label-secondary); max-inline-size: 52ch; }
.f4 { text-align: center; border-radius: 26px; padding: clamp(1.75rem, 4vw, 3rem) clamp(1.25rem, 3vw, 2.5rem);
  background:
    radial-gradient(60% 130% at 12% 0%, color-mix(in srgb, var(--accent) 24%, transparent), transparent 60%),
    radial-gradient(50% 120% at 88% 100%, color-mix(in srgb, var(--cta) 18%, transparent), transparent 55%),
    #101418; }
.f4__kicker { margin: 0 0 var(--space-l); font-size: 10.5px; font-weight: var(--weight-bold);
  letter-spacing: .14em; text-transform: uppercase; color: rgb(255 255 255 / .6); }
.f4__row { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-m); margin-block-end: var(--space-l); }
.f4__cell { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px;
  padding: var(--space-m) var(--space-s);
  background: rgb(255 255 255 / .05); border: .5px solid rgb(255 255 255 / .12);
  border-radius: 16px; }
.f4__cell b { font-family: var(--font-display); font-size: clamp(2rem, 1.2rem + 2.6vw, 3.2rem);
  font-weight: var(--weight-bold); letter-spacing: -.03em; line-height: 1; color: #fff;
  font-variant-numeric: tabular-nums; }
.f4__cell b small { display: block; font-size: .38em; font-weight: var(--weight-semibold);
  letter-spacing: .04em; color: color-mix(in srgb, var(--accent) 70%, #fff); margin-block-start: 4px; }
.f4__cell span { font-size: var(--type-footnote); color: rgb(255 255 255 / .65); max-inline-size: 24ch; }
.f4__arrow { position: absolute; inset-inline-end: -18px; inset-block-start: 50%; translate: 0 -50%;
  font-style: normal; color: rgb(255 255 255 / .4); font-size: 1.2rem; z-index: 1; }
.f4 .lab-cta { min-block-size: 3rem; padding: 0 1.6rem; }
@media (max-width: 60.25rem) {
  .f2 { grid-template-columns: 1fr; }
  .f3 { grid-template-columns: 1fr; }
  .f4__row { grid-template-columns: 1fr; }
  .f4__arrow { rotate: 90deg; inset-inline-end: 50%; inset-block-start: auto;
    inset-block-end: -20px; translate: 50% 0; }
}
.r1 { display: grid; grid-template-columns: repeat(3, 1fr); border-radius: 20px; overflow: hidden; }
.r1__col { padding: clamp(1.5rem, 3vw, 2.5rem) clamp(1.25rem, 2.5vw, 2rem); }
.r1__col--included { background: var(--success); }
.r1__col--bring { background: var(--accent); }
.r1__col--excluded { background: #101418; }
.r1__num { display: block; font-family: var(--font-display); font-size: 3.2rem;
  font-weight: var(--weight-bold); letter-spacing: -.03em; line-height: 1;
  color: rgb(255 255 255 / .25); margin-block-end: .3em; }
.r1__title { display: block; font-size: var(--type-callout); font-weight: var(--weight-bold);
  color: #fff; margin-block-end: var(--space-m); }
.r1__items { display: grid; gap: 8px; }
.r1__item { display: flex; align-items: flex-start; gap: 8px;
  font-size: var(--type-subhead); line-height: 1.45; color: rgb(255 255 255 / .92); }
.r1__item svg { inline-size: 15px; block-size: 15px; flex: none; color: rgb(255 255 255 / .7);
  margin-block-start: 2px; }
.r2 { display: grid; grid-template-columns: minmax(16rem, 1fr) minmax(0, 1.4fr);
  gap: clamp(1.5rem, 4vw, 4rem); padding: clamp(1.75rem, 4vw, 3rem);
  background:
    radial-gradient(70% 130% at 0% 0%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 55%),
    var(--bg-elevated);
  border: .5px solid var(--separator); border-radius: 24px; }
.r2__big { display: block; font-family: var(--font-display); font-size: clamp(4.5rem, 3rem + 6vw, 8rem);
  font-weight: var(--weight-bold); letter-spacing: -.04em; line-height: .85; color: var(--accent);
  margin-block-end: .15em; }
.r2__left h3 { font-size: var(--type-title-2); letter-spacing: -.02em; line-height: 1.15;
  margin: 0 0 var(--space-s); font-weight: var(--weight-bold); }
.r2__sub { margin: 0 0 var(--space-l); font-size: var(--type-subhead); color: var(--label-secondary);
  line-height: 1.55; max-inline-size: 38ch; }
.r2__cta { display: inline-flex; align-items: center; min-block-size: 2.75rem; padding: 0 1.4rem;
  border-radius: var(--radius-pill); background: var(--cta); color: var(--on-cta);
  font-weight: var(--weight-semibold); font-size: var(--type-subhead); text-decoration: none;
  transition: background var(--dur) var(--ease); }
.r2__cta:hover { background: var(--cta-hover); }
.r2__right { display: flex; flex-direction: column; }
.r2__label { display: block; padding-block: 10px; font-size: var(--type-caption);
  font-weight: var(--weight-bold); letter-spacing: .08em; text-transform: uppercase;
  color: var(--label-tertiary); }
.r2__label--bring { padding-block-start: 16px; }
.r2__label--no { padding-block-start: 16px; color: var(--label-tertiary); }
.r2__row { display: flex; align-items: flex-start; gap: 10px; padding-block: 6px;
  font-size: var(--type-subhead); line-height: 1.5; color: var(--label); }
.r2__row svg { inline-size: 16px; block-size: 16px; flex: none; color: var(--success); margin-block-start: 2px; }
.r2__row--bring svg { color: var(--accent); }
.r2__row--no svg { color: var(--label-tertiary); }
@media (max-width: 60.25rem) { .r2 { grid-template-columns: 1fr; } }
.r3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.r3__card { border-radius: 18px; padding: var(--space-m);
  background: var(--bg-elevated); border: .5px solid var(--separator); position: relative;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.r3__card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.r3__chip { inline-size: 42px; block-size: 42px; border-radius: 13px;
  display: inline-grid; place-items: center; margin-block-end: 12px; }
.r3__chip svg { inline-size: 20px; block-size: 20px; }
.r3__card--yes .r3__chip { background: color-mix(in srgb, var(--success) 12%, transparent); color: var(--success); }
.r3__card--bring .r3__chip { background: color-mix(in srgb, var(--accent) 10%, transparent); color: var(--accent); }
.r3__card--no .r3__chip { background: var(--bg-tertiary); color: var(--label-tertiary); }
.r3__card h3 { margin: 0 0 12px; font-size: var(--type-callout); font-weight: var(--weight-bold); }
.r3__perf { block-size: 1px; background: var(--separator); margin-block: 0 10px;
  position: relative; }
.r3__perf::before, .r3__perf::after { content: ""; position: absolute; inset-block-start: -4px;
  inline-size: 8px; block-size: 8px; border-radius: 50%; background: var(--bg-grouped);
  border: .5px solid var(--separator); }
.r3__perf::before { inset-inline-start: -5px; }
.r3__perf::after { inset-inline-end: -5px; }
.r3__perf--dashed { background: repeating-linear-gradient(90deg, var(--separator) 0 4px, transparent 4px 8px); height: 1px; }
.r3__item { display: flex; align-items: flex-start; gap: 8px; padding-block: 5px;
  font-size: var(--type-subhead); line-height: 1.45; color: var(--label); }
.r3__item svg { inline-size: 15px; block-size: 15px; flex: none; margin-block-start: 2px; }
.r3__card--yes .r3__item svg { color: var(--success); }
.r3__card--bring .r3__item svg { color: var(--accent); }
.r3__card--no .r3__item svg { color: var(--label-tertiary); }
@media (max-width: 60.25rem) { .r3 { grid-template-columns: 1fr; } }
.r1-semi .r1__col { padding: clamp(1.75rem, 3.5vw, 3rem) clamp(1.25rem, 2.5vw, 2rem);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.r1-semi .r1__col--included { background: color-mix(in srgb, var(--success) 12%, transparent);
  border: .5px solid color-mix(in srgb, var(--success) 16%, transparent); }
.r1-semi .r1__col--bring { background: color-mix(in srgb, var(--accent) 8%, transparent);
  border: .5px solid color-mix(in srgb, var(--accent) 12%, transparent); }
.r1-semi .r1__col--excluded { background: rgb(16 20 24 / .05);
  border: .5px solid var(--separator); }
.r1-semi .r1__num { font-size: clamp(4rem, 3rem + 5vw, 7rem);
  font-weight: var(--weight-bold);
  color: transparent; -webkit-text-stroke: 2px color-mix(in srgb, var(--label) 14%, transparent);
  margin-block-end: .12em; letter-spacing: -.04em; line-height: .85; }
.r1-semi .r1__title { font-size: var(--type-title-3); font-weight: var(--weight-bold);
  letter-spacing: -.02em; color: var(--label); }
.r1-semi .r1__item { font-size: var(--type-callout); font-weight: var(--weight-medium);
  color: var(--label); padding-block: 3px; }
.r1-semi .r1__item svg { inline-size: 16px; block-size: 16px; }
.r1-semi .r1__col--included .r1__item svg { color: var(--success); }
.r1-semi .r1__col--bring .r1__item svg { color: var(--accent); }
.r1-semi .r1__col--excluded .r1__item svg { color: var(--label); }
.r1-dark .r1__col { padding: clamp(1.75rem, 3.5vw, 3rem) clamp(1.25rem, 2.5vw, 2rem);
  background: #101418; }
.r1-dark .r1__col--included { border-block-start: 3px solid var(--success); }
.r1-dark .r1__col--bring { border-block-start: 3px solid var(--accent); }
.r1-dark .r1__col--excluded { border-block-start: 3px solid rgb(255 255 255 / .3); }
.r1-dark .r1__num { font-size: 4.5rem; color: transparent;
  -webkit-text-stroke: 1.5px rgb(255 255 255 / .22); }
.r1-dark .r1__title { font-size: var(--type-title-3); font-weight: var(--weight-bold);
  letter-spacing: -.02em; }
.r1-dark .r1__item { font-size: var(--type-subhead); color: rgb(255 255 255 / .8);
  padding-block: 3px; }
.r1-dark .r1__item svg { inline-size: 14px; block-size: 14px; }
.r1-dark .r1__col--included .r1__item svg { color: #4ADE80; }
.r1-dark .r1__col--bring .r1__item svg { color: var(--accent); }
.r1-dark .r1__col--excluded .r1__item svg { color: rgb(255 255 255 / .4); }
.q4__item p strong, .q5__item p strong, .q6__item p strong { color: var(--label); font-weight: var(--weight-semibold); }
.q4-head { margin-block-end: clamp(2.2rem, 5vw, 3.6rem); }
.q4-head h2 { margin: 0 0 .45em; max-width: 22ch; font-family: var(--font-display); font-weight: var(--weight-bold);
  font-size: clamp(2.5rem, 6vw, 4.6rem); line-height: 1.02; letter-spacing: -.035em; hyphens: none; overflow-wrap: normal; }
.q4-head p { margin: 0; max-width: 44rem; font-size: clamp(1.05rem, 1.6vw, 1.3rem); line-height: 1.5; color: var(--label-secondary); }
.q4__item { border-block-start: 1px solid var(--separator); }
.q4__item:last-child { border-block-end: 1px solid var(--separator); }
.q4__item summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 2.5rem;
  padding-block: clamp(1.2rem, 2.6vw, 1.7rem); font-size: clamp(1.15rem, 2.3vw, 1.55rem); font-weight: var(--weight-semibold);
  letter-spacing: -.015em; color: var(--label); transition: color .2s; }
.q4__item summary::-webkit-details-marker { display: none; }
.q4__item summary:hover { color: var(--accent); }
.q4__x { position: relative; flex: none; width: clamp(1.1rem, 2vw, 1.4rem); aspect-ratio: 1; color: var(--label-secondary); transition: color .2s; }
.q4__x::before, .q4__x::after { content: ""; position: absolute; left: 0; top: 50%; translate: 0 -50%; width: 100%; height: 1.5px; background: currentColor; }
.q4__x::after { rotate: 90deg; transition: rotate .28s cubic-bezier(.4, 0, .2, 1); }
.q4__item[open] .q4__x::after { rotate: 0deg; }
.q4__item[open] .q4__x { color: var(--label); }
.q4__item p { margin: 0; max-width: 56rem; padding-block: .1rem 1.9rem; font-size: clamp(.98rem, 1.4vw, 1.12rem);
  line-height: 1.65; color: var(--label-secondary); }
@media (max-width: 40rem) { .q4__item summary { gap: 1.2rem; } }
.q5-head { display: grid; grid-template-columns: 1fr minmax(0, 24rem); align-items: end; gap: 1.5rem 3rem;
  margin-block-end: clamp(2rem, 4.5vw, 3.4rem); }
.q5-head h2 { margin: 0; font-family: var(--font-display); font-weight: var(--weight-bold);
  font-size: clamp(4.6rem, 13vw, 10.5rem); line-height: .82; letter-spacing: -.045em; hyphens: none; }
.q5-head p { margin: 0 0 .9rem; font-size: var(--type-subhead); line-height: 1.55; color: var(--label-secondary); }
.q5 { display: grid; gap: clamp(10px, 1.4vw, 16px); }
.q5__item { background: var(--bg-elevated); border-radius: 999px; overflow: hidden; box-shadow: var(--shadow-sm);
  transition: border-radius .32s cubic-bezier(.4, 0, .2, 1), box-shadow .25s; }
.q5__item:hover { box-shadow: var(--shadow-md); }
.q5__item[open] { border-radius: 44px; }
.q5__item summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem;
  padding: clamp(.9rem, 1.8vw, 1.25rem) clamp(.95rem, 1.8vw, 1.4rem) clamp(.9rem, 1.8vw, 1.25rem) clamp(1.4rem, 3.4vw, 2.6rem);
  font-size: clamp(1.25rem, 2.7vw, 2.05rem); font-weight: var(--weight-medium); letter-spacing: -.025em; color: var(--label); }
.q5__item summary::-webkit-details-marker { display: none; }
.q5__dot { position: relative; flex: none; width: clamp(3.1rem, 6.4vw, 5rem); aspect-ratio: 1; border-radius: 50%;
  background: var(--accent); color: var(--on-cta); transition: rotate .32s cubic-bezier(.4, 0, .2, 1); }
.q5__item[open] .q5__dot { rotate: 45deg; }
.q5__dot::before, .q5__dot::after { content: ""; position: absolute; left: 50%; top: 50%; translate: -50% -50%;
  width: 42%; height: 2px; border-radius: 2px; background: currentColor; }
.q5__dot::after { rotate: 90deg; }
.q5__item p { margin: 0; max-width: 58rem; padding: .2rem clamp(1.4rem, 3.4vw, 2.6rem) 1.9rem;
  font-size: var(--type-body); line-height: 1.6; color: var(--label-secondary); }
@media (max-width: 52rem) { .q5-head { grid-template-columns: 1fr; align-items: start; } .q5-head p { margin-block-end: 0; } }
.q6-head { position: relative; isolation: isolate; margin-block-end: clamp(2.4rem, 6vw, 4.2rem); }
.q6-head::before { content: ""; position: absolute; z-index: -1; left: clamp(2rem, 18vw, 16rem); top: -55%;
  width: clamp(9rem, 22vw, 17rem); aspect-ratio: 1; border-radius: 50%;
  background: color-mix(in srgb, var(--accent) 30%, transparent); }
.q6-head h2 { margin: 0; font-family: var(--font-display); font-weight: var(--weight-bold); text-transform: uppercase;
  font-size: clamp(3.2rem, 10.5vw, 7.6rem); line-height: .9; letter-spacing: -.02em; hyphens: none; }
.q6-head h2 span { display: block; }
.q6-head .q6-head__acc { color: var(--accent); }
.q6 { display: grid; gap: clamp(10px, 1.5vw, 14px); max-width: 62rem; margin-inline: auto; }
.q6__item { background: var(--bg-elevated); border-radius: 999px; overflow: hidden; box-shadow: var(--shadow-sm);
  transition: background .3s, box-shadow .25s; }
.q6__item:hover { box-shadow: var(--shadow-md); }
.q6__item[open] { border-radius: 42px; }
.q6__item summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1.2rem;
  padding: clamp(.7rem, 1.4vw, .95rem) clamp(.7rem, 1.4vw, .95rem) clamp(.7rem, 1.4vw, .95rem) clamp(1.3rem, 3vw, 2.1rem);
  font-size: clamp(1.1rem, 2.4vw, 1.55rem); font-weight: var(--weight-medium); letter-spacing: -.02em; color: var(--label); }
.q6__item summary::-webkit-details-marker { display: none; }
.q6__dot { position: relative; flex: none; width: clamp(2.7rem, 5.4vw, 3.8rem); aspect-ratio: 1; border-radius: 50%;
  background: var(--label); color: var(--bg-elevated); transition: rotate .32s cubic-bezier(.4, 0, .2, 1); }
.q6__item[open] .q6__dot { rotate: 45deg; }
.q6__dot::before, .q6__dot::after { content: ""; position: absolute; left: 50%; top: 50%; translate: -50% -50%;
  width: 42%; height: 2px; border-radius: 2px; background: currentColor; }
.q6__dot::after { rotate: 90deg; }
.q6__item p { margin: 0; max-width: 44rem; padding: .2rem clamp(1.3rem, 3vw, 2.1rem) 1.7rem;
  font-size: var(--type-body); line-height: 1.6; color: var(--label-secondary); }
.q6__item--hot { background: var(--accent); }
.q6__item--hot summary { color: var(--on-cta); }
.q6__item--hot .q6__dot { background: var(--on-cta); color: var(--accent); }
.q6__item--hot p { color: color-mix(in srgb, var(--on-cta) 82%, transparent); }
.q6__item--hot p strong { color: var(--on-cta); }
.rs-row { display: grid; grid-template-columns: 3.2rem 1fr 3.4rem; align-items: center; gap: var(--space-s); }
.rs-row__star { font-size: var(--type-subhead); font-weight: var(--weight-semibold); color: var(--label);
  display: flex; align-items: baseline; justify-content: space-between; }
.rs-row__star i { font-style: normal; font-size: .82em; color: var(--star); }
.rs-row__track { display: block; block-size: clamp(.55rem, 1.2vw, .8rem); border-radius: 999px;
  background: color-mix(in srgb, var(--label) 8%, transparent); overflow: hidden; }
.rs-row__fill { display: block; block-size: 100%; inline-size: 0; border-radius: inherit;
  background: linear-gradient(90deg, color-mix(in srgb, var(--accent) 72%, var(--label)), var(--accent));
  transition: inline-size .9s cubic-bezier(.25, 1, .35, 1) .15s; }
.rs-row--thin .rs-row__track { block-size: .45rem; }
.rs-row__pct { font-size: var(--type-subhead); font-weight: var(--weight-semibold); color: var(--label-secondary);
  text-align: end; font-variant-numeric: tabular-nums; }
.on .rs-row__fill, .rs-row.on .rs-row__fill { inline-size: var(--pct); }
.rs1 { display: grid; grid-template-columns: auto 1fr; gap: clamp(1.5rem, 5vw, 5rem); align-items: center;
  padding: clamp(1.75rem, 4vw, 3.5rem);
  background: radial-gradient(80% 140% at 0% 100%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 60%),
    var(--bg-elevated);
  border: .5px solid var(--separator); border-radius: 26px; }
.rs1__score { text-align: center; }
.rs1__word { margin: 0 0 .2rem; font-size: var(--type-footnote); font-weight: var(--weight-bold);
  letter-spacing: .14em; text-transform: uppercase; color: var(--accent); }
.rs1__big { margin: 0; font-family: var(--font-display); font-size: clamp(5rem, 3rem + 9vw, 10rem);
  font-weight: var(--weight-bold); letter-spacing: -.045em; line-height: .85;
  background: linear-gradient(160deg, var(--label) 40%, var(--accent));
  -webkit-background-clip: text; background-clip: text; color: transparent; }
.rs1__stars { margin: .6rem 0 0; font-size: var(--type-title-3); letter-spacing: .12em; }
.rs1__cnt { margin: .45rem 0 0; font-size: var(--type-footnote); color: var(--label-secondary); }
.rs1__cnt b { color: var(--label); font-weight: var(--weight-semibold); }
.rs1__side { display: grid; gap: clamp(1.1rem, 2.4vw, 1.8rem); }
.rs1__bars { display: grid; gap: clamp(.6rem, 1.4vw, .95rem); }
.rs1__note, .rs2__note, .rs3__note { margin: 0; font-size: var(--type-footnote); line-height: 1.55;
  color: var(--label-secondary); max-inline-size: 52ch; }
@media (max-width: 52rem) { .rs1 { grid-template-columns: 1fr; } .rs1__score { text-align: start; } }
.rs2 { display: grid; grid-template-columns: auto 1fr; gap: clamp(1.75rem, 5vw, 5rem); align-items: center;
  padding: clamp(1.75rem, 4vw, 3.25rem); background: var(--bg-elevated);
  border: .5px solid var(--separator); border-radius: 26px; }
.rs2__gauge { position: relative; inline-size: clamp(11rem, 22vw, 16rem); }
.rs2__gauge svg { display: block; inline-size: 100%; rotate: -90deg; }
.rs2__track, .rs2__arc { fill: none; stroke-width: 9; }
.rs2__track { stroke: color-mix(in srgb, var(--label) 8%, transparent); }
.rs2__arc { stroke: var(--accent); stroke-linecap: round;
  stroke-dasharray: calc(var(--c) * var(--arc) / 100) var(--c);
  stroke-dashoffset: var(--c);
  transition: stroke-dashoffset 1.2s cubic-bezier(.25, 1, .35, 1) .15s; }
.on .rs2__arc, .rs2.on .rs2__arc { stroke-dashoffset: 0; }
.rs2__mid { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.rs2__mid b { font-family: var(--font-display); font-size: clamp(2.6rem, 5.6vw, 4rem); font-weight: var(--weight-bold);
  letter-spacing: -.04em; line-height: 1; color: var(--label); }
.rs2__mid b span { font-size: inherit; }
.rs2__mid span { font-size: var(--type-footnote); font-weight: var(--weight-semibold); color: var(--label-secondary); }
.rs2__side { display: grid; gap: var(--space-s); }
.rs2__head { margin: 0; font-size: var(--type-title-3); font-weight: var(--weight-bold); color: var(--label); }
.rs2__head .stars { letter-spacing: .1em; margin-inline-end: .35rem; }
.rs2__cnt { margin: 0; font-size: var(--type-subhead); color: var(--label-secondary); }
.rs2__rows { display: grid; gap: .55rem; margin-block-start: var(--space-xs); }
@media (max-width: 52rem) { .rs2 { grid-template-columns: 1fr; justify-items: start; } }
.rs3 { display: grid; gap: clamp(1rem, 2.4vw, 1.6rem); padding: clamp(1.75rem, 4vw, 3.25rem);
  background: var(--bg-elevated); border: .5px solid var(--separator); border-radius: 26px; }
.rs3__call { margin: 0; font-size: clamp(1.3rem, 2.6vw, 2rem); font-weight: var(--weight-medium);
  letter-spacing: -.02em; color: var(--label-secondary); }
.rs3__call b { font-family: var(--font-display); font-weight: var(--weight-bold); letter-spacing: -.03em;
  font-size: 1.35em; color: var(--accent); margin-inline-end: .15em; }
.rs3__bar { display: flex; block-size: clamp(3rem, 6vw, 4.2rem); border-radius: 20px; overflow: hidden;
  background: color-mix(in srgb, var(--label) 6%, transparent); }
.rs3__seg { display: grid; place-items: center; overflow: hidden; inline-size: 0;
  transition: inline-size .9s cubic-bezier(.25, 1, .35, 1) .15s; }
.rs3__seg + .rs3__seg { border-inline-start: 2px solid var(--bg-elevated); }
.rs3__seg span { font-size: var(--type-footnote); font-weight: var(--weight-bold); white-space: nowrap;
  letter-spacing: .02em; }
.on .rs3__seg, .rs3.on .rs3__seg { inline-size: var(--w); }
.rs3__seg--5 { background: var(--accent); color: var(--on-cta); }
.rs3__seg--4 { background: color-mix(in srgb, var(--accent) 62%, var(--label)); color: var(--on-cta); }
.rs3__seg--3 { background: color-mix(in srgb, var(--accent) 38%, var(--label)); color: var(--on-cta); }
.rs3__seg--2 { background: color-mix(in srgb, var(--accent) 20%, var(--label)); color: var(--on-cta); }
.rs3__seg--1 { background: color-mix(in srgb, var(--accent) 8%, var(--label)); color: var(--on-cta); }
.rs3__legend { display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; }
.rs3__legend span { display: inline-flex; align-items: center; gap: .45rem; font-size: var(--type-footnote);
  font-weight: var(--weight-semibold); color: var(--label-secondary); font-variant-numeric: tabular-nums; }
.rs3__key { display: inline-block; inline-size: .8rem; block-size: .8rem; border-radius: 4px; }
.rs3__foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 2rem;
  border-block-start: .5px solid var(--separator); padding-block-start: clamp(.9rem, 2vw, 1.3rem); }
.rs3__foot p { margin: 0; font-size: var(--type-subhead); color: var(--label-secondary); }
.rs3__foot b { color: var(--label); font-weight: var(--weight-bold); }
.rs3__foot .stars { letter-spacing: .1em; }
.fb-faint { color: var(--label-secondary); }
.fb-langs { display: inline-flex; gap: 4px; }
.fb-langs button { border: 1px solid var(--separator); background: transparent; border-radius: 8px;
  padding: 3px 9px; font-size: var(--type-caption); font-weight: var(--weight-semibold); color: var(--label-secondary);
  cursor: pointer; }
.fb-langs button.on { background: var(--label); color: var(--bg-elevated); border-color: var(--label); }
.fb-page .lab-switch { inset-block-end: auto; inset-block-start: 1rem; }
.fb1 { border-block-start: 1px solid var(--separator); margin-block-start: clamp(2rem, 6vw, 4rem);
  padding-block: clamp(2.5rem, 6vw, 5rem) 0; }
.fb1__mark { margin: 0; font-family: var(--font-display); font-weight: var(--weight-bold);
  font-size: clamp(3rem, 8.5vw, 7rem); line-height: .95; letter-spacing: -.04em; hyphens: none; }
.fb1__mark i { font-style: normal; color: var(--accent); margin-inline: .12em; }
.fb1__tag { margin: .9rem 0 0; font-size: clamp(1.05rem, 1.8vw, 1.35rem); color: var(--label-secondary); }
.fb1__grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: clamp(1.5rem, 4vw, 4rem);
  margin-block-start: clamp(2.2rem, 5vw, 4rem); }
.fb1__col h4, .fb2__grid h4 { margin: 0 0 1rem; font-size: var(--type-footnote); font-weight: var(--weight-bold);
  letter-spacing: .12em; text-transform: uppercase; color: var(--label-tertiary); }
.fb1__col ul, .fb2__grid ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.fb1__col a, .fb2__grid a { text-decoration: none; color: var(--label); font-size: var(--type-subhead);
  font-weight: var(--weight-medium); }
.fb1__col--wide .fb1__col li, .fb1__col--wide li { }
.fb1__col--wide { columns: 2; column-gap: 2.5rem; }
.fb1__col--wide h4 { column-span: all; }
.fb1__col--wide ul { display: block; }
.fb1__col--wide li { break-inside: avoid; margin-block-end: .55rem; }
.fb1__col a:hover, .fb2__grid a:hover, .fb3__meta a:hover { color: var(--accent); }
.fb1__trust, .fb2__trust, .fb3__trust { display: flex; flex-wrap: wrap; gap: .5rem 1.6rem;
  margin-block-start: clamp(2rem, 4vw, 3rem); }
.fb1__trust span, .fb2__trust span, .fb3__trust span { display: inline-flex; align-items: center; gap: .45rem;
  font-size: var(--type-footnote); font-weight: var(--weight-semibold); color: var(--label-secondary); }
.fb1__trust svg, .fb2__trust svg, .fb3__trust svg { inline-size: 15px; block-size: 15px; color: var(--accent); }
.fb1__bottom, .fb2__bottom, .fb3__bottom { display: grid; gap: 1rem; border-block-start: .5px solid var(--separator);
  margin-block-start: clamp(1.8rem, 4vw, 3rem); padding-block: 1.4rem 1.6rem; }
.fb1__bottom p, .fb2__bottom p, .fb3__bottom p { margin: 0; font-size: var(--type-footnote); line-height: 1.55;
  max-inline-size: 88ch; }
.fb1__legal, .fb2__legal, .fb3__legal { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.4rem;
  font-size: var(--type-footnote); color: var(--label-secondary); }
@media (max-width: 52rem) { .fb1__grid { grid-template-columns: 1fr; } .fb1__col--wide { columns: 1; } }
.bb1 { position: fixed; inset-inline: clamp(.6rem, 2vw, 1.25rem); inset-block-end: calc(.75rem + env(safe-area-inset-bottom));
  z-index: 90; margin-inline: auto; max-inline-size: 46rem; display: flex; align-items: center; gap: .8rem;
  padding: .55rem; padding-inline-end: .55rem; background: var(--bg-elevated); border-radius: 22px;
  border: .5px solid var(--separator); box-shadow: var(--shadow-lg); text-decoration: none; color: var(--label);
  -webkit-tap-highlight-color: transparent; }
.bb1__thumb { inline-size: 52px; block-size: 52px; border-radius: 14px; object-fit: cover; flex: none; }
.bb1__info { min-inline-size: 0; flex: 1; display: grid; gap: 2px; }
.bb1__info b { font-size: var(--type-subhead); font-weight: var(--weight-semibold); line-height: 1.25;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bb1__rate { font-size: var(--type-footnote); color: var(--label-secondary); }
.bb1__rate .stars { font-style: normal; margin-inline-end: 2px; }
.bb1__rate small { color: var(--label-tertiary); }
.bb1__btn { flex: none; display: grid; gap: 1px; text-align: center; background: var(--accent); color: var(--on-cta);
  border-radius: 15px; padding: .55rem 1.15rem; }
.bb1__btn span { font-size: var(--type-callout); font-weight: var(--weight-semibold); white-space: nowrap; }
.bb1__btn small { font-size: var(--type-caption); opacity: .92; }
.bb1:active .bb1__btn { transform: scale(.97); }
@media (max-width: 44rem) { .bb1__info b { font-size: var(--type-footnote); white-space: normal; display: -webkit-box;
  -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; } .bb1__btn { padding: .5rem .9rem; } }
.fb2-wrap { padding-block: clamp(2rem, 6vw, 4rem) 0; }
.fb2 { background:
    radial-gradient(80% 140% at 100% 0%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 55%),
    var(--bg-elevated);
  border: .5px solid var(--separator); border-radius: 28px; padding: clamp(1.75rem, 4vw, 3.25rem); }
.fb2__brand { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 1.1rem 2.5rem;
  padding-block-end: clamp(1.5rem, 3vw, 2.25rem); border-block-end: .5px solid var(--separator); }
.fb2__mark { display: grid; place-items: center; inline-size: 3rem; block-size: 3rem; border-radius: 14px;
  background: var(--label); color: var(--bg-elevated); flex: none; }
.fb2__mark svg { inline-size: 1.6rem; block-size: 1.6rem; }
.fb2__id { flex: 1; min-inline-size: 16rem; }
.fb2__name { margin: 0; font-family: var(--font-display); font-size: var(--type-title-2); font-weight: var(--weight-bold);
  letter-spacing: -.02em; }
.fb2__tag { margin: .2rem 0 0; font-size: var(--type-subhead); color: var(--label-secondary); }
.fb2__trust { margin-block-start: .4rem; }
.fb2__grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: clamp(1.5rem, 4vw, 4rem);
  padding-block: clamp(1.5rem, 3vw, 2.5rem); }
.fb2__grid nav:first-child ul { columns: 2; column-gap: 2.5rem; display: block; }
.fb2__grid nav:first-child li { break-inside: avoid; margin-block-end: .55rem; }
@media (max-width: 52rem) { .fb2__grid { grid-template-columns: 1fr; } .fb2__brand { align-items: flex-start; }
  .fb2__grid nav:first-child ul { columns: 1; } }
.bb2 { position: fixed; inset-inline: 0; inset-block-end: 0; z-index: 90; display: flex; align-items: center;
  justify-content: space-between; gap: 1rem; padding: .7rem var(--gutter) calc(.7rem + env(safe-area-inset-bottom));
  background: var(--accent); color: var(--on-cta); text-decoration: none; -webkit-tap-highlight-color: transparent; }
.bb2__info { min-inline-size: 0; display: grid; gap: 1px; }
.bb2__info b { font-size: var(--type-callout); font-weight: var(--weight-semibold); line-height: 1.25;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bb2__rate { font-size: var(--type-footnote); opacity: .9; }
.bb2__rate .stars { font-style: normal; }
.bb2__btn { flex: none; display: grid; gap: 1px; text-align: center; background: var(--bg-elevated);
  color: var(--label); border-radius: 14px; padding: .5rem 1.2rem; }
.bb2__btn span { font-size: var(--type-callout); font-weight: var(--weight-bold); white-space: nowrap; }
.bb2__btn small { font-size: var(--type-caption); color: var(--label-secondary); }
.bb2:active .bb2__btn { transform: scale(.97); }
@media (max-width: 44rem) { .bb2 { flex-wrap: wrap; gap: .5rem .8rem; } .bb2__info b { white-space: normal; }
  .bb2__btn { flex: 1 1 100%; flex-direction: row; justify-content: center; gap: .6rem; padding-block: .6rem; }
  .bb2__btn small { color: var(--label); opacity: .8; } }
.fb3 { border-block-start: 1px solid var(--separator); margin-block-start: clamp(2rem, 6vw, 4rem);
  padding-block: clamp(2.5rem, 6vw, 4.5rem) 0; }
.fb3__brand { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.4rem; }
.fb3__mark { display: grid; place-items: center; inline-size: 3.2rem; block-size: 3.2rem; border-radius: 16px;
  background: var(--label); color: var(--bg-elevated); flex: none; }
.fb3__mark svg { inline-size: 1.7rem; block-size: 1.7rem; }
.fb3__name { margin: 0; font-family: var(--font-display); font-size: var(--type-title-2); font-weight: var(--weight-bold);
  letter-spacing: -.02em; }
.fb3__tag { margin: 0; font-size: var(--type-subhead); color: var(--label-secondary); }
.fb3__wall { display: flex; flex-wrap: wrap; column-gap: clamp(1.4rem, 3.5vw, 3rem); row-gap: .5rem;
  margin-block-start: clamp(1.8rem, 4vw, 3rem); }
.fb3__wall a { text-decoration: none; color: var(--label); font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.6vw, 2rem); font-weight: var(--weight-semibold); letter-spacing: -.02em;
  transition: color .18s; }
.fb3__wall a:hover { color: var(--accent); }
.fb3__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1.2rem; margin-block-start: 1.4rem; }
.fb3__meta a, .fb3__meta span { font-size: var(--type-footnote); color: var(--label-secondary); text-decoration: none; }
.fb3__meta a:hover { color: var(--accent); }
.fb3__dot { color: var(--label-tertiary); }
.fb3__trust { margin-block-start: 1.6rem; }
@media (max-width: 52rem) { .fb3__wall a { font-size: clamp(1.2rem, 5.6vw, 1.5rem); } }
.bb3 { position: fixed; inset-inline: clamp(.6rem, 2vw, 1.25rem); inset-block-end: calc(.75rem + env(safe-area-inset-bottom));
  z-index: 90; margin-inline: auto; max-inline-size: 52rem; display: flex; align-items: center; gap: 1.1rem;
  padding: .6rem .6rem .6rem 1.1rem; border-radius: 20px;
  background: color-mix(in srgb, var(--bg) 74%, transparent);
  -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px);
  border: .5px solid var(--separator); box-shadow: var(--shadow-lg); text-decoration: none; color: var(--label);
  -webkit-tap-highlight-color: transparent; }
.bb3__price { flex: none; display: grid; line-height: 1; }
.bb3__price small { font-size: var(--type-caption); color: var(--label-secondary); }
.bb3__price b { font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 1.9rem); font-weight: var(--weight-bold);
  letter-spacing: -.02em; }
.bb3__info { min-inline-size: 0; flex: 1; display: grid; gap: 1px; }
.bb3__info b { font-size: var(--type-footnote); font-weight: var(--weight-semibold); line-height: 1.25;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bb3__info span { font-size: var(--type-caption); color: var(--label-secondary); }
.bb3__btn { flex: none; background: var(--accent); color: var(--on-cta); border-radius: 14px;
  padding: .8rem 1.2rem; font-size: var(--type-callout); font-weight: var(--weight-semibold); white-space: nowrap; }
.bb3:active .bb3__btn { transform: scale(.97); }
@media (max-width: 44rem) { .bb3 { flex-wrap: wrap; gap: .5rem .8rem; padding: .6rem; }
  .bb3__info { order: 3; flex: 1 1 100%; } .bb3__info b { white-space: normal; } .bb3__btn { margin-inline-start: auto; } }
.shot-static .bb1, .shot-static .bb2, .shot-static .bb3 { position: static; margin-block-start: 2.5rem; }
.pi1__more summary, .pi2__more summary, .pi3__more summary { list-style: none; cursor: pointer; }
.pi1__more summary::-webkit-details-marker, .pi2__more summary::-webkit-details-marker,
.pi3__more summary::-webkit-details-marker { display: none; }
.pi1 { position: relative; overflow: hidden; border-radius: 30px;
  background: linear-gradient(150deg, color-mix(in srgb, var(--label) 88%, #000), var(--label) 58%, color-mix(in srgb, var(--label) 82%, var(--accent)));
  color: var(--bg-elevated); padding: clamp(2rem, 5vw, 4rem); }
.pi1__ghost { position: absolute; inset-block-end: -4.5rem; inset-inline-end: 1rem; font-family: var(--font-display);
  font-size: clamp(10rem, 22vw, 19rem); font-weight: var(--weight-bold); line-height: 1; letter-spacing: -.04em;
  color: transparent; -webkit-text-stroke: 1.5px rgb(255 255 255 / .13); pointer-events: none; }
@media (max-width: 44rem) { .pi1__ghost { font-size: 7.5rem; inset-block-end: -2.6rem; opacity: .7; } }
.pi1__eyebrow { margin: 0 0 1.1rem; font-size: var(--type-footnote); font-weight: var(--weight-bold);
  letter-spacing: .16em; text-transform: uppercase;
  color: color-mix(in srgb, var(--accent) 55%, rgb(255 255 255 / .9)); }
.pi1 h2 { margin: 0 0 1.4rem; max-inline-size: 22ch; font-family: var(--font-display);
  font-size: clamp(1.7rem, 3.4vw, 2.6rem); font-weight: var(--weight-bold); letter-spacing: -.025em;
  line-height: 1.08; color: rgb(255 255 255 / .97); hyphens: none; }
.pi1 p { margin: 0 0 1rem; font-size: 1.05rem; line-height: 1.75; color: rgb(255 255 255 / .78);
  max-inline-size: 62ch; }
.pi1 p:last-child { margin-block-end: 0; }
.pi1__more { margin-block-start: 1.4rem; border-block-start: 1px solid rgb(255 255 255 / .16); }
.pi1__more summary { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem;
  padding-block: 1.1rem .2rem; font-size: var(--type-footnote); font-weight: var(--weight-bold);
  letter-spacing: .14em; text-transform: uppercase; color: rgb(255 255 255 / .85); }
.pi1__x { position: relative; flex: none; width: 1.1rem; aspect-ratio: 1; color: rgb(255 255 255 / .85); }
.pi1__x::before, .pi1__x::after { content: ""; position: absolute; left: 0; top: 50%; translate: 0 -50%;
  width: 100%; height: 1.5px; background: currentColor; }
.pi1__x::after { rotate: 90deg; transition: rotate .28s cubic-bezier(.4, 0, .2, 1); }
.pi1__more[open] .pi1__x::after { rotate: 0deg; }
.pi1__more[open] summary { padding-block-end: 1.1rem; }
.pi2 { border-inline-start: 6px solid var(--accent); padding-inline-start: clamp(1.4rem, 4vw, 3rem); }
.pi2__kick { margin: 0 0 1.1rem; font-size: var(--type-footnote); font-weight: var(--weight-bold);
  letter-spacing: .16em; text-transform: uppercase; color: var(--accent); }
.pi2__head { margin: 0 0 1.2rem; max-inline-size: 24ch; font-family: var(--font-display);
  font-size: clamp(1.9rem, 4.4vw, 3.2rem); font-weight: var(--weight-bold); letter-spacing: -.03em;
  line-height: 1.02; hyphens: none; }
.pi2 p { margin: 0 0 1.05rem; font-size: 1.08rem; line-height: 1.72; color: var(--label-secondary);
  max-inline-size: 62ch; }
.pi2__lead { font-size: 1.13rem !important; color: var(--label) !important; }
.pi2__more summary { display: flex; align-items: center; gap: 1.1rem; margin-block-start: 1.3rem; }
.pi2__dot { position: relative; flex: none; inline-size: 3.6rem; aspect-ratio: 1; border-radius: 50%;
  background: var(--accent); color: var(--on-cta); transition: rotate .32s cubic-bezier(.4, 0, .2, 1); }
.pi2__dot::before, .pi2__dot::after { content: ""; position: absolute; left: 50%; top: 50%;
  translate: -50% -50%; width: 42%; height: 2px; border-radius: 2px; background: currentColor; }
.pi2__dot::after { rotate: 90deg; }
.pi2__more[open] .pi2__dot { rotate: 45deg; }
.pi2__more-t { font-family: var(--font-display); font-size: 1.15rem; font-weight: var(--weight-semibold);
  letter-spacing: -.01em; color: var(--label); }
.pi2__more[open] .pi2__more-t { color: var(--label-secondary); }
.pi2__more[open] summary { margin-block: 1.1rem 1.3rem; }
.pi3 { border: 1.5px solid var(--label); background: var(--bg-elevated); }
.pi3__tape { overflow: hidden; background: var(--accent); color: var(--on-cta);
  border-block-end: 1.5px solid var(--label); padding-block: .5rem; }
.pi3__tape-in { display: inline-block; white-space: nowrap; font-family: var(--font-display);
  font-size: 1.05rem; font-weight: var(--weight-bold); letter-spacing: .06em;
  animation: pi3-tape 22s linear infinite; }
@keyframes pi3-tape { to { translate: -50% 0; } }
@media (prefers-reduced-motion: reduce) { .pi3__tape-in { animation: none; } }
.pi3__body { padding: clamp(1.5rem, 4vw, 2.75rem); }
.pi3__stub { display: flex; gap: 2rem; align-items: stretch; }
.pi3__txt { flex: 1; min-inline-size: 0; }
.pi3__no { margin: 0 0 .8rem; font-size: var(--type-footnote); font-weight: var(--weight-bold);
  letter-spacing: .14em; text-transform: uppercase; color: var(--accent); }
.pi3__txt h2 { margin: 0 0 1.1rem; font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: var(--weight-bold); letter-spacing: -.022em; line-height: 1.1; hyphens: none; }
.pi3__txt p { margin: 0 0 1rem; font-size: 1.05rem; line-height: 1.75; color: var(--label-secondary);
  max-inline-size: 62ch; }
.pi3__txt p:last-child { margin-block-end: 0; }
.pi3__code { flex: none; display: grid; gap: .5rem; align-content: end; justify-items: center; }
.pi3__code i { display: block; inline-size: 6.5rem; block-size: 3.2rem;
  background: repeating-linear-gradient(90deg, var(--label) 0 2px, transparent 2px 5px,
    var(--label) 5px 6px, transparent 6px 10px, var(--label) 10px 13px, transparent 13px 15px); }
.pi3__code span { font-size: .68rem; font-weight: var(--weight-bold); letter-spacing: .22em;
  color: var(--label-secondary); }
.pi3__more { margin-block-start: 1.5rem; border-block-start: 1.5px dashed color-mix(in srgb, var(--label) 35%, transparent); }
.pi3__more summary { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem;
  padding-block: 1.2rem .2rem; font-family: var(--font-display); font-size: 1.05rem;
  font-weight: var(--weight-semibold); letter-spacing: .02em; color: var(--label); }
.pi3__plus { position: relative; flex: none; inline-size: 2.6rem; aspect-ratio: 1; border-radius: 50%;
  background: var(--label); color: var(--bg-elevated); transition: rotate .3s cubic-bezier(.4, 0, .2, 1); }
.pi3__plus::before, .pi3__plus::after { content: ""; position: absolute; left: 50%; top: 50%;
  translate: -50% -50%; width: 42%; height: 2px; background: currentColor; }
.pi3__plus::after { rotate: 90deg; }
.pi3__more[open] .pi3__plus { rotate: 45deg; }
.pi3__more[open] summary { padding-block-end: 1.2rem; }
.pi3__fold p { margin: 0 0 1rem; font-size: 1.05rem; line-height: 1.75; color: var(--label-secondary);
  max-inline-size: 62ch; }
.pi3__fold p:last-child { margin-block-end: 0; }
@media (max-width: 44rem) { .pi3__stub { flex-direction: column; gap: 1.5rem; }
  .pi3__code { justify-items: start; } }
.pi1--por { background:
    radial-gradient(70% 120% at 100% 0%, color-mix(in srgb, var(--accent) 13%, transparent), transparent 58%),
    radial-gradient(85% 130% at 0% 100%, color-mix(in srgb, var(--accent) 17%, transparent), transparent 55%),
    var(--bg-elevated);
  border: .5px solid var(--separator); box-shadow: var(--shadow-md); color: var(--label); }
.pi1--por h2 { color: var(--label); }
.pi1--por p { color: var(--label-secondary); }
.pi1--por .pi1__eyebrow { color: var(--accent); }
.pi1--por .pi1__ghost { -webkit-text-stroke-color: color-mix(in srgb, var(--accent) 30%, transparent); }
.pi1--por .pi1__more { border-block-start-color: var(--separator); }
.pi1--por .pi1__more summary { color: var(--label-secondary); }
.pi1--por .pi1__x { color: var(--accent); }
.pi1--deep { background: linear-gradient(150deg,
    color-mix(in srgb, var(--accent) 40%, var(--label)),
    color-mix(in srgb, var(--accent) 15%, var(--label)) 56%,
    color-mix(in srgb, var(--accent) 32%, var(--label)));
  color: #fff; }
.pi1--deep h2 { color: rgb(255 255 255 / .98); }
.pi1--deep p { color: rgb(255 255 255 / .8); }
.pi1--deep .pi1__eyebrow { color: color-mix(in srgb, var(--accent) 45%, white); }
.pi1--deep .pi1__ghost { -webkit-text-stroke-color: rgb(255 255 255 / .17); }
.pi1--deep .pi1__more { border-block-start-color: rgb(255 255 255 / .2); }
.pi1--deep .pi1__more summary { color: rgb(255 255 255 / .85); }
.pi1--deep .pi1__x { color: rgb(255 255 255 / .9); }
.pi1--mist { background: linear-gradient(135deg,
    color-mix(in srgb, var(--accent) 24%, var(--bg-elevated)),
    color-mix(in srgb, var(--accent) 7%, var(--bg-elevated)) 58%,
    color-mix(in srgb, var(--accent) 15%, var(--bg-elevated)));
  border: 1px solid color-mix(in srgb, var(--accent) 38%, transparent); color: var(--label); }
.pi1--mist h2 { color: color-mix(in srgb, var(--accent) 62%, var(--label)); }
.pi1--mist p { color: color-mix(in srgb, var(--label) 76%, var(--accent)); }
.pi1--mist .pi1__eyebrow { color: var(--accent); }
.pi1--mist .pi1__ghost { -webkit-text-stroke-color: color-mix(in srgb, var(--accent) 38%, transparent); }
.pi1--mist .pi1__more { border-block-start-color: color-mix(in srgb, var(--accent) 32%, transparent); }
.pi1--mist .pi1__more summary { color: var(--label-secondary); }
.pi1--mist .pi1__x { color: var(--accent); }
.gyg-mock { background: var(--bg-elevated); border: .5px solid var(--separator); border-radius: 16px;
  padding: .9rem; box-shadow: var(--shadow-sm); }
.gyg-mock__row { display: flex; gap: .7rem; align-items: stretch; }
.gyg-mock__field { flex: 1; display: inline-flex; align-items: center; gap: .55rem; padding: .8rem 1rem;
  border: .5px solid var(--separator); border-radius: 11px; font-size: var(--type-subhead);
  font-weight: var(--weight-semibold); color: var(--label); background: var(--bg); min-inline-size: 0; }
.gyg-mock__field svg { inline-size: 17px; block-size: 17px; color: var(--label-secondary); flex: none; }
details.gyg-sel > summary .gyg-mock__chev, .gyg-mock__chev { position: static; margin-inline-start: auto;
  inline-size: 14px; block-size: 14px; color: var(--label-tertiary); transition: rotate .25s; }
details.gyg-sel[open] summary .gyg-mock__chev { rotate: 180deg; }
.gyg-sel > summary .gyg-mock__chev { position: absolute; inset-inline-end: .95rem; top: 50%; translate: 0 -50%; margin-inline-start: 0; }
.gyg-sel summary svg.gyg-mock__chev { display: block; }
.gyg-mock__btn { flex: none; display: inline-flex; align-items: center; padding: .8rem 1.5rem;
  border-radius: 11px; background: #ff5519; color: #fff; font-size: var(--type-subhead);
  font-weight: var(--weight-bold); white-space: nowrap; }
.gyg-mock__note { margin: .6rem 0 0; font-size: var(--type-caption); color: var(--label-tertiary); }
@media (max-width: 40rem) { .gyg-mock__row { flex-wrap: wrap; } .gyg-mock__field { flex: 1 1 45%; }
  .gyg-mock__btn { flex: 1 1 100%; justify-content: center; } }
.bw1 { background:
    radial-gradient(70% 120% at 100% 0%, color-mix(in srgb, var(--accent) 13%, transparent), transparent 58%),
    radial-gradient(85% 130% at 0% 100%, color-mix(in srgb, var(--accent) 17%, transparent), transparent 55%),
    var(--bg-elevated);
  border: .5px solid var(--separator); box-shadow: var(--shadow-md); border-radius: 30px;
  padding: clamp(1.75rem, 4vw, 3.25rem); }
.bw1__head { display: grid; grid-template-columns: 1fr minmax(0, 22rem); gap: 1rem 3rem; align-items: end;
  margin-block-end: 1.6rem; }
.bw1__eyebrow { margin: 0 0 .7rem; font-size: var(--type-footnote); font-weight: var(--weight-bold);
  letter-spacing: .16em; text-transform: uppercase; color: var(--accent); }
.bw1__head h2 { margin: 0; font-family: var(--font-display); font-size: clamp(1.8rem, 3.6vw, 2.8rem);
  font-weight: var(--weight-bold); letter-spacing: -.025em; line-height: 1.05; hyphens: none; }
.bw1__side { margin: 0 0 .3rem; font-size: var(--type-subhead); line-height: 1.55; color: var(--label-secondary); }
.bw1__trust { display: flex; flex-wrap: wrap; gap: .5rem 1.6rem; margin-block-start: 1.3rem; }
.bw1__trust span { display: inline-flex; align-items: center; gap: .45rem; font-size: var(--type-footnote);
  font-weight: var(--weight-semibold); color: var(--label-secondary); }
.bw1__trust svg { inline-size: 15px; block-size: 15px; color: var(--accent); }
@media (max-width: 52rem) { .bw1__head { grid-template-columns: 1fr; } }
.bw2__kick { margin: 0 0 1rem; font-size: var(--type-footnote); font-weight: var(--weight-bold);
  letter-spacing: .16em; text-transform: uppercase; color: var(--accent); }
.bw2__head { margin: 0 0 1.8rem; font-family: var(--font-display); font-size: clamp(2.2rem, 5.4vw, 4rem);
  font-weight: var(--weight-bold); letter-spacing: -.03em; line-height: 1; hyphens: none; }
.bw2 .gyg-mock { border-radius: 20px; padding: 1.1rem; }
.bw2__strip { display: flex; flex-wrap: wrap; gap: .6rem 2rem; margin-block-start: 1.4rem;
  border-block: 1px solid var(--separator); padding-block: 1.1rem; }
.bw2__strip span { display: inline-flex; align-items: center; gap: .5rem; font-size: var(--type-footnote);
  font-weight: var(--weight-semibold); color: var(--label); }
.bw2__strip svg { inline-size: 15px; block-size: 15px; color: var(--accent); }
.bw3 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: center; background:
    radial-gradient(70% 130% at 0% 100%, color-mix(in srgb, var(--accent) 15%, transparent), transparent 55%),
    var(--bg-elevated);
  border: .5px solid var(--separator); border-radius: 30px; padding: clamp(1.75rem, 4vw, 3.25rem); }
.bw3__from { margin: 0; font-size: var(--type-subhead); color: var(--label-secondary); }
.bw3__price { margin: .1rem 0 0; display: flex; align-items: baseline; gap: .7rem; }
.bw3__price b { font-family: var(--font-display); font-size: clamp(3.6rem, 7vw, 5.5rem); font-weight: var(--weight-bold);
  letter-spacing: -.04em; line-height: .9;
  background: linear-gradient(160deg, var(--label) 40%, var(--accent));
  -webkit-background-clip: text; background-clip: text; color: transparent; }
.bw3__price span { font-size: var(--type-footnote); color: var(--label-secondary); font-weight: var(--weight-semibold); }
.bw3__rate { margin: .9rem 0 0; font-size: var(--type-subhead); color: var(--label-secondary); }
.bw3__rate .stars { font-style: normal; letter-spacing: .1em; margin-inline-end: .3rem; }
.bw3__rate b { color: var(--label); }
.bw3__incl { list-style: none; margin: 1.4rem 0 0; padding: 1.4rem 0 0; border-block-start: .5px solid var(--separator);
  display: grid; gap: .7rem; }
.bw3__incl li { display: flex; gap: .6rem; align-items: flex-start; font-size: var(--type-subhead);
  line-height: 1.5; color: var(--label); font-weight: var(--weight-medium); }
.bw3__incl svg { inline-size: 16px; block-size: 16px; color: var(--accent); flex: none; margin-block-start: .15rem; }
.bw3__widget .gyg-mock { border-radius: 20px; }
.bw3__widget .gyg-mock__note { display: none; }
@media (max-width: 56rem) { .bw3 { grid-template-columns: 1fr; } }
.gyg-mock__field { hyphens: none; white-space: nowrap; }
.chain { padding-block-end: 6.4rem; }
.chain .bb1, .chain .sb { translate: 0 calc(100% + 2rem); transition: translate .55s cubic-bezier(.22, 1, .36, 1); }
.chain .bb1.is-up, .chain .sb.is-up { translate: 0 0; }
.chain.shot-static .bb1, .chain.shot-static .sb { translate: none; }
@keyframes sb-rise { from { translate: 0 calc(100% + 2rem); } to { translate: 0 0; } }
@supports (animation-timeline: scroll()) {
  .chain .sb { translate: 0 0; transition: none;
    animation: sb-rise .01s linear both;
    animation-timeline: scroll(root block);
    animation-range: 80svh 100svh; }
}
@media (prefers-reduced-motion: reduce) { .chain .bb1, .chain .sb { transition: none; animation: none; translate: 0 0; } }
.sb { position: fixed; inset-inline: 0; inset-block-end: 0; z-index: 90; display: block;
  text-decoration: none; color: var(--label); -webkit-tap-highlight-color: transparent; }
.sb__in { max-inline-size: 76rem; margin-inline: auto; display: flex; align-items: center; gap: clamp(.9rem, 2vw, 1.5rem);
  min-block-size: 5.4rem; padding: .7rem var(--gutter) calc(.7rem + env(safe-area-inset-bottom)); }
.sb__thumb { inline-size: 64px; block-size: 64px; border-radius: 16px; object-fit: cover; flex: none; }
.sb__meta { min-inline-size: 0; flex: 1; display: grid; gap: 3px; }
.sb__name { font-size: 1.12rem; font-weight: var(--weight-bold); letter-spacing: -.015em; line-height: 1.2;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sb__rate { font-size: var(--type-subhead); color: var(--label-secondary); white-space: nowrap; }
.sb__rate .stars { font-style: normal; margin-inline-end: 2px; }
.sb__rate small { color: var(--label-tertiary); }
.sb__price { flex: none; display: grid; line-height: 1; text-align: end; }
.sb__price small { font-size: var(--type-caption); font-weight: var(--weight-semibold);
  letter-spacing: .08em; text-transform: uppercase; opacity: .75; }
.sb__price b { font-family: var(--font-display); font-size: 2.1rem; font-weight: var(--weight-bold);
  letter-spacing: -.03em; }
.sb__cta { flex: none; min-block-size: 4.1rem; padding: .55rem 1.9rem .5rem; }
.sb:active .sb__cta { transform: translateY(0) scale(.985); filter: brightness(.98); }
@media (max-width: 52rem) {
  .sb__in { flex-wrap: wrap; gap: .6rem .9rem; padding: .6rem .9rem calc(.6rem + env(safe-area-inset-bottom)); }
  .sb__thumb { display: none; }
  .sb__name { font-size: .95rem; }
  .sb__meta { flex: 1 1 calc(100% - 4rem); }
  .sb__name { white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
  .sb__price { display: none; }
  .sb__cta { flex: 1 1 100%; flex-direction: row; gap: .7rem; min-block-size: 3.4rem; padding-block: .5rem; }
  .sb__cta .k-cta__sub { margin-inline-start: auto; }
  .sb__cta { flex-direction: column; gap: 2px; hyphens: none; -webkit-hyphens: none; white-space: nowrap; }
  .sb__cta .k-cta__sub { margin-inline-start: 0; }
}
.sb--glass { background: color-mix(in srgb, var(--bg) 78%, transparent);
  -webkit-backdrop-filter: saturate(180%) blur(26px); backdrop-filter: saturate(180%) blur(26px);
  border-block-start: 1px solid var(--separator);
  box-shadow: 0 -18px 44px -18px color-mix(in srgb, var(--label) 38%, transparent); }
.sb--glass .sb__thumb { box-shadow: 0 0 0 1px var(--separator); }
.sb--ink { background: linear-gradient(180deg, color-mix(in srgb, var(--label) 94%, #000), var(--label));
  border-block-start: 3px solid var(--accent); color: #fff;
  box-shadow: 0 -20px 50px -20px rgb(0 0 0 / .5); }
.sb--ink .sb__name { color: #fff; }
.sb--ink .sb__rate { color: rgb(255 255 255 / .72); }
.sb--ink .sb__rate small { color: rgb(255 255 255 / .5); }
.sb--ink .sb__price { color: #fff; }
.sb--ink .sb__price small { color: color-mix(in srgb, var(--accent) 55%, white); opacity: 1; }
.sb--ink .sb__price b { color: #fff; }
.sb--ink .sb__thumb { box-shadow: 0 0 0 2px rgb(255 255 255 / .22); }
.sb--acc { background: linear-gradient(100deg, var(--cta), color-mix(in srgb, var(--cta) 68%, var(--label)));
  color: var(--on-cta); box-shadow: 0 -18px 44px -18px color-mix(in srgb, var(--cta) 55%, transparent); }
.sb--acc .sb__name { color: var(--on-cta); }
.sb--acc .sb__rate { color: color-mix(in srgb, var(--on-cta) 82%, transparent); }
.sb--acc .sb__rate small { color: color-mix(in srgb, var(--on-cta) 62%, transparent); }
.sb--acc .sb__rate .stars { color: var(--on-cta) !important; }
.sb--acc .sb__price small { color: color-mix(in srgb, var(--on-cta) 78%, transparent); opacity: 1; }
.sb--acc .sb__price b { color: var(--on-cta); }
.sb--acc .sb__thumb { box-shadow: 0 0 0 2px color-mix(in srgb, var(--on-cta) 45%, transparent); }
.sb--acc .sb__cta { background: var(--bg-elevated); color: var(--cta); box-shadow: 0 10px 26px -12px rgb(0 0 0 / .45); }
.sb--acc .sb__cta:hover { background: var(--bg-elevated); color: var(--cta); filter: brightness(1.04); }
.fb-page .lab-phonebtn { display: none; }
.sb:focus-visible, .bb1:focus-visible, summary:focus-visible, .fb-langs button:focus-visible {
  outline: 2.5px solid var(--accent); outline-offset: 3px; border-radius: 8px; }
.sb:focus-visible, .bb1:focus-visible { outline-offset: -3px; }
main [id] { scroll-margin-top: 5.5rem; }
a.r-score { text-decoration: none; }
a.r-score b { transition: color .18s; }
a.r-score:hover b { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
:root { --ht-serif: 'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, 'Times New Roman', serif; }
.ht-kick { display: inline-flex; align-items: center; gap: 1rem; margin: 0 0 1.6rem; }
.ht-kick i { font-style: italic; opacity: .75; }
.k1--t1 .k1__kick, .k1--t2 .k1__kick, .k1--t3 .k1__kick { display: none; }
.k1--t1 h3 { font-size: clamp(3rem, 7.2vw, 6.8rem); line-height: .97; letter-spacing: -.02em; font-weight: 600; }
.k1--t1 h3 em { font-family: var(--ht-serif); font-style: italic; font-weight: 400; letter-spacing: -.01em;
  background: linear-gradient(100deg, #ffd7b8, #fff 72%); -webkit-background-clip: text; background-clip: text;
  color: transparent; }
.k1--t1 .ht-kick { letter-spacing: .24em; text-transform: uppercase; font-size: .74rem; font-weight: var(--weight-semibold);
  color: rgb(255 255 255 / .88); }
.k1--t1 .ht-kick::before, .k1--t1 .ht-kick::after { content: ""; inline-size: 2.6rem; block-size: 1px;
  background: rgb(255 255 255 / .55); }
.k1--t1 .k1__sub { font-size: 1.13rem; line-height: 1.7; max-width: 30rem; color: rgb(255 255 255 / .8);
  font-weight: var(--weight-regular); }
.k1--t1 .k1__badges { opacity: .92; }
.k1--t2 h3 { font-size: clamp(3.2rem, 8vw, 7.6rem); line-height: .98; letter-spacing: -.045em; font-weight: 500; }
.k1--t2 h3 em { font-style: italic; font-weight: 400; color: #ffd60a;
  background: none; -webkit-text-fill-color: #ffd60a; }
.k1--t2 .ht-kick--line { font-size: .8rem; letter-spacing: .18em; text-transform: uppercase;
  font-weight: var(--weight-semibold); color: rgb(255 255 255 / .85); }
.k1--t2 .ht-kick--line::before { content: ""; inline-size: 3rem; block-size: 1px; background: rgb(255 255 255 / .6); }
.k1--t2 .k1__sub { font-size: 1.06rem; line-height: 1.72; max-width: 28rem; color: rgb(255 255 255 / .78); }
.k1--t2 .k1__row { margin-block-start: 2.2rem; }
.k1--t3 h3 { font-size: clamp(3.4rem, 8.8vw, 8.2rem); line-height: .92; letter-spacing: -.035em; font-weight: 700; }
.k1--t3 h3 span:last-child { margin-inline-start: clamp(1.5rem, 7vw, 8rem); }
.k1--t3 h3 em { font-family: var(--ht-serif); font-style: italic; font-weight: 500; letter-spacing: 0;
  background: linear-gradient(100deg, #ffe1c9, #fff 80%); -webkit-background-clip: text; background-clip: text;
  color: transparent; }
.k1--t3 .ht-kick { font-size: .78rem; letter-spacing: .2em; text-transform: uppercase;
  font-weight: var(--weight-semibold); color: rgb(255 255 255 / .85); }
.k1--t3 .k1__sub { font-size: 1.1rem; line-height: 1.68; max-width: 32rem; color: rgb(255 255 255 / .8);
  margin-block-start: 1.4rem; }
.k1--t3 .k1__row { margin-block-start: 1.8rem; }
.pr2 h2 { margin: 0 0 2.2rem; font-family: var(--font-display); font-size: clamp(1.9rem, 3.6vw, 2.8rem);
  font-weight: var(--weight-bold); letter-spacing: -.025em; line-height: 1.05; hyphens: none; }
.pr2__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); }
.pr2__no { display: block; margin-block-end: .8rem; font-family: var(--font-display); font-size: .95rem;
  font-weight: var(--weight-bold); letter-spacing: .06em; color: var(--accent); }
.pr2__group h3 { margin: 0 0 1rem; font-family: var(--font-display); font-size: 1.3rem; font-weight: var(--weight-semibold);
  letter-spacing: -.015em; }
.pr2__group ul { list-style: none; margin: 0; padding: 0; }
.pr2__group li { padding-block: .72rem; border-block-start: .5px solid var(--separator);
  font-size: 1.02rem; line-height: 1.6; color: var(--label-secondary); }
.pr2__group li:first-child { border-block-start: 0; padding-block-start: 0; }
@media (max-width: 52rem) { .pr2__cols { grid-template-columns: 1fr; gap: 2rem; } }
.pr3__head { margin-block-end: clamp(2rem, 4vw, 3rem); }
.pr3__head h2 { margin: .4rem 0 1rem; font-family: var(--font-display); font-size: clamp(2.2rem, 4.6vw, 3.4rem);
  font-weight: var(--weight-bold); letter-spacing: -.03em; line-height: 1; hyphens: none; }
.pr3__head p:not(.eyebrow) { margin: 0; max-inline-size: 52ch; font-size: 1.08rem; line-height: 1.7;
  color: var(--label-secondary); }
.pr3__band { display: grid; grid-template-columns: minmax(12rem, 2fr) 3fr; gap: 1rem clamp(1.5rem, 4vw, 4rem);
  border-block-start: 1px solid var(--separator); padding-block: clamp(1.6rem, 3vw, 2.4rem); }
.pr3__title h3 { margin: .1rem 0 0; font-family: var(--font-display); font-size: clamp(1.4rem, 2.4vw, 1.9rem);
  font-weight: var(--weight-semibold); letter-spacing: -.02em; }
.pr3__items { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr;
  gap: 0 clamp(1.5rem, 3vw, 3rem); }
.pr3__items li { padding-block: .72rem; border-block-start: .5px solid var(--separator);
  font-size: 1.02rem; line-height: 1.6; color: var(--label-secondary); }
.pr3__items li:first-child, .pr3__items li:nth-child(2) { border-block-start: 0; padding-block-start: 0; }
@media (max-width: 52rem) { .pr3__band { grid-template-columns: 1fr; }
  .pr3__items { grid-template-columns: 1fr; }
  .pr3__items li:nth-child(2) { border-block-start: .5px solid var(--separator); padding-block-start: .72rem; } }
.pr4__band { display: grid; grid-template-columns: 13rem 1fr; gap: 1rem clamp(1.5rem, 4vw, 4rem);
  padding-block: clamp(1.8rem, 3.5vw, 2.8rem); }
.pr4__band + .pr4__band { border-block-start: 1px solid var(--separator); }
.pr4__rail { position: relative; }
.pr4__rail i { display: block; font-style: normal; font-family: var(--font-display); font-size: .95rem;
  font-weight: var(--weight-bold); letter-spacing: .06em; color: var(--accent); margin-block-end: .7rem; }
.pr4__rail h3 { margin: 0; font-family: var(--font-display); font-size: 1.25rem; font-weight: var(--weight-semibold);
  letter-spacing: -.015em; position: sticky; top: 6rem; }
.pr4__items { list-style: none; margin: 0; padding: 0; }
.pr4__items li { padding-block: .78rem; border-block-start: .5px solid var(--separator);
  font-size: 1.05rem; line-height: 1.6; color: var(--label); font-weight: var(--weight-medium); }
.pr4__items li:first-child { border-block-start: 0; padding-block-start: 0; }
.pr4__items li::before { content: "\2014"; color: var(--accent); margin-inline-end: .6rem; }
@media (max-width: 44rem) { .pr4__band { grid-template-columns: 1fr; gap: 1rem; }
  .pr4__rail h3 { position: static; } }
@supports (animation-timeline: scroll()) {
  .chain .sb { animation-range: 55svh 75svh; }
}
.n-cta--rich { min-block-size: 3.1rem; padding-block: .35rem; }
.n-cta__t { display: grid; gap: 0; text-align: start; line-height: 1.15; }
.n-cta__t small { font-size: .72rem; font-weight: var(--weight-semibold); color: #fff; opacity: 1; }
.q-link { color: var(--accent); font-weight: var(--weight-semibold); text-decoration: none; }
.q-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.pi1__book { display: inline-block; margin-block-start: .2rem; font-weight: var(--weight-semibold);
  color: var(--accent); text-decoration: none; }
.pi1__book:hover { text-decoration: underline; text-underline-offset: 3px; }
.e-cta--ours { flex-direction: column; gap: 1px; }
.e-cta--ours small { font-size: .78rem; font-weight: var(--weight-semibold); color: #fff; opacity: 1; }
.rs1__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.6rem;
  margin-block-start: clamp(1.2rem, 2.5vw, 1.8rem); }
.rs1__cta-note { display: flex; flex-wrap: wrap; gap: .45rem 1.1rem; font-size: var(--type-footnote); color: var(--label-secondary); }
.rs1__cta-note > span { display: inline-flex; align-items: center; gap: .4rem; white-space: nowrap; }
.rs1__cta-note svg { inline-size: 15px; block-size: 15px; flex: none; color: var(--accent); }
@media (max-width: 40rem) {
  .rs1__cta { flex-direction: column; align-items: stretch; }
  .rs1__cta .k-cta { inline-size: 100%; }
  .rs1__cta-note { justify-content: center; }
}
.fb1__cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 1rem 2.5rem; margin-block-start: clamp(1.6rem, 3.5vw, 2.6rem); padding: clamp(1.2rem, 2.5vw, 1.8rem)
  clamp(1.4rem, 3vw, 2.2rem); border-radius: 20px;
  background: radial-gradient(90% 160% at 100% 0%, color-mix(in srgb, var(--accent) 20%, transparent), transparent 60%),
    var(--bg-elevated); border: .5px solid var(--separator); }
.fb1__cta-t { margin: 0; font-family: var(--font-display); font-size: clamp(1.4rem, 2.8vw, 2rem);
  font-weight: var(--weight-bold); letter-spacing: -.02em; }
.fb1__cta-t i { font-style: italic; font-weight: var(--weight-medium); color: var(--accent); }
.lb__book { position: absolute; inset-block-end: clamp(1rem, 3vw, 2rem); inset-inline-end: clamp(1rem, 3vw, 2rem);
  z-index: 3; display: grid; gap: 1px; text-align: center; padding: .7rem 1.4rem; border-radius: 14px;
  background: var(--cta); color: var(--on-cta); text-decoration: none; box-shadow: 0 14px 34px -12px rgb(0 0 0 / .55); }
.lb__book:hover { filter: brightness(1.07); }
.lb__book small { font-size: .78rem; font-weight: var(--weight-semibold); color: #fff; opacity: 1; }
.pr2__group li { display: flex; align-items: flex-start; gap: .65rem; }
.pr2__group li svg { inline-size: 17px; block-size: 17px; color: var(--accent); flex: none; margin-block-start: .18rem; }
.pr2__group li span { min-inline-size: 0; }
.k1--hl, .k1--dp, .k1--st {
  background: linear-gradient(to bottom, rgb(var(--scrim-rgb, 8 12 20)/.30), rgb(var(--scrim-rgb, 8 12 20)/.10) 45%, rgb(var(--scrim-rgb, 8 12 20)/.55)),
    var(--hero-img, url('img/hero.webp')) center 36% / cover no-repeat; }
.k1--hl { display: flex; flex-direction: column; justify-content: center; min-block-size: calc(100svh - 5.5rem);
  color: #fff; padding-block: 5.5rem 1rem; }
.hl__top { position: absolute; inset-block-start: calc(3.4rem + 3.4rem); inset-inline: 0; padding-inline: var(--gutter);
  display: flex; justify-content: space-between; align-items: flex-start; gap: 2rem; }
.hl__proof { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; }
.hl__proof .k1__meta { display: grid; line-height: 1.25; }
.hl__proof b { font-size: 1.05rem; }
.hl__proof span:last-child { font-size: .82rem; opacity: .85; }
.hl__card { max-inline-size: 19rem; background: rgb(255 255 255 / .12); -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px); border: .5px solid rgb(255 255 255 / .3); border-radius: 14px;
  padding: .8rem 1rem; font-size: .85rem; line-height: 1.5; color: rgb(255 255 255 / .92); text-align: center; }
.k1--hl .k1__body { text-align: center; }
.hl__title { margin: 0 0 1.2rem; font-family: var(--font-display); font-size: clamp(2.8rem, 6.4vw, 5.6rem);
  font-weight: var(--weight-bold); letter-spacing: -.03em; line-height: 1.04; color: #fff; }
.hl__title span { display: block; }
.hl__pill { display: inline-block; margin-block-start: .35rem; padding: .04em .35em .1em; border-radius: 999px;
  background: #fff; color: #17181c; rotate: -1deg; }
.hl__pill em { font-style: normal; font-weight: var(--weight-bold);
  background: none; -webkit-text-fill-color: #17181c; }
.hl__sub { margin: 0 auto; max-inline-size: 44ch; font-size: 1.02rem; line-height: 1.6; color: rgb(255 255 255 / .88); }
.hl__foot { position: absolute; inset-inline: 0; inset-block-end: 0; padding: 1rem var(--gutter) 1.2rem;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
.hl__chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.hl__foot .k-cta { min-block-size: 3.3rem; padding: .45rem 1.6rem; }
.k1--dp { display: flex; flex-direction: column; justify-content: flex-end;
  min-block-size: calc(100svh - 5.5rem); color: #fff; position: relative; }
.k1--dp::after { content: ""; position: absolute; inset: 0; background: linear-gradient(
    to bottom, rgb(0 0 0 / .18), transparent 40%, rgb(0 0 0 / .38)); pointer-events: none; }
.dp__body { position: relative; z-index: 1; padding: 0 var(--gutter) 1.2rem; }
.dp__kick { margin: 0 0 .9rem; font-size: .78rem; font-weight: var(--weight-bold); letter-spacing: .2em;
  text-transform: uppercase; color: rgb(255 255 255 / .85); }
.dp__title { margin: 0; font-family: var(--font-display); font-weight: var(--weight-bold);
  font-size: clamp(2.8rem, 6.8vw, 6.6rem); line-height: .96; letter-spacing: -.035em; color: #fff; }
.dp__title span { display: block; }
.dp__title span:last-child { margin-inline-start: clamp(1rem, 6vw, 6rem); }
.dp__title em { font-style: italic; font-weight: var(--weight-medium);
  background: linear-gradient(100deg, #ffd7b8, #fff 75%); -webkit-background-clip: text;
  background-clip: text; color: transparent; }
.dp__sub { margin: 1.1rem 0 0; font-size: 1.05rem; color: rgb(255 255 255 / .88); }
.dp__bar { position: relative; z-index: 1; display: flex; align-items: stretch; gap: 0;
  margin: 1.6rem var(--gutter) 0; background: var(--bg-elevated); border-radius: 18px 18px 0 0;
  box-shadow: 0 -18px 44px -20px rgba(0,0,0,.45); padding: .85rem .85rem .85rem 1.4rem;
  align-items: center; }
.dp__f { flex: 1; display: grid; gap: 1px; padding-inline-end: 1.2rem;
  border-inline-end: .5px solid var(--separator); }
.dp__f:last-of-type { border-inline-end: 0; }
.dp__f small { font-size: .7rem; font-weight: var(--weight-bold); letter-spacing: .12em;
  text-transform: uppercase; color: var(--label-tertiary); }
.dp__f b { font-size: .98rem; font-weight: var(--weight-semibold); color: var(--label); }
.dp__go { flex: none; inline-size: 3.6rem; align-self: stretch; border-radius: 14px; background: var(--accent);
  color: var(--on-cta); display: grid; place-items: center; text-decoration: none; transition: filter .2s, transform .2s; }
.dp__go:hover { filter: brightness(1.08); transform: translateX(2px); }
.dp__go svg { inline-size: 1.4rem; block-size: 1.4rem; }
@media (max-width: 52rem) { .dp__bar { flex-wrap: wrap; gap: .6rem; }
  .dp__f { flex: 1 1 40%; border-inline-end: 0; } .dp__go { flex: 1 1 100%; block-size: 3.2rem; } }
.k1--st { display: flex; flex-direction: column; justify-content: center; align-items: center;
  text-align: center; min-block-size: calc(100svh - 5.5rem); color: #fff; position: relative;
  background:
    radial-gradient(42% 60% at 50% 46%, color-mix(in srgb, var(--accent) 34%, transparent), transparent 70%),
    linear-gradient(to bottom, rgb(0 0 0 / .62), rgb(0 0 0 / .70)),
    var(--hero-img, url('img/hero.webp')) center 40% / cover no-repeat; }
.st__kick { position: absolute; inset-block-start: calc(3.4rem + 2.6rem); inset-inline-start: var(--gutter);
  margin: 0; font-size: .78rem; font-weight: var(--weight-bold); letter-spacing: .24em;
  text-transform: uppercase; color: var(--star); }
.st__mid { display: grid; justify-items: center; padding-inline: var(--gutter); }
.st__title { margin: 0; font-family: var(--font-display); font-weight: var(--weight-bold);
  font-size: clamp(3.2rem, 9vw, 8.6rem); line-height: .95; letter-spacing: -.03em; }
.st__title span { display: block; }
.st__solid { color: #fff; }
.st__line { color: transparent; -webkit-text-stroke: 2px rgb(255 255 255 / .92); letter-spacing: -.01em; }
.st__sub { margin: 1.6rem 0 0; max-inline-size: 46ch; font-size: 1rem; line-height: 1.65;
  color: rgb(255 255 255 / .82); }
.st__cta { margin-block-start: 2rem; }
.st__corner { position: absolute; inset-block-end: calc(2.9rem + 2.5rem); font-size: .82rem;
  color: rgb(255 255 255 / .75); text-decoration: none; }
.st__corner--l { inset-inline-start: var(--gutter); }
.st__corner--r { inset-inline-end: var(--gutter); color: #fff; font-weight: var(--weight-semibold);
  border-block-end: 1px solid rgb(255 255 255 / .5); padding-block-end: .15rem; }
.st__corner--r:hover { border-block-end-color: #fff; }
@media (max-width: 44rem) { .st__corner--l { display: none; } }
.ad__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
.ad__img { aspect-ratio: 4/3; border-radius: 14px; background-size: cover; background-position: center;
  position: relative; overflow: hidden; margin-block-end: .8rem; }
.ad__img span { position: absolute; inset-block-start: .6rem; inset-inline-start: .6rem; font-size: .7rem;
  font-weight: 700; letter-spacing: .06em; background: rgb(0 0 0 / .55); color: #fff;
  padding: .2rem .55rem; border-radius: 999px; }
.ad__img--aerial { background-image: url('img/g6.webp'); }
.ad__img--warm { background-image: url('img/hero.webp');
  filter: sepia(.35) saturate(1.35) hue-rotate(-12deg) brightness(.94) contrast(1.05); }
.ad__img--moody { background-image: url('img/band1.webp');
  filter: saturate(.55) brightness(.72) contrast(1.15); }
.ad__shot h3 { margin: 0 0 .4rem; font-size: 1.02rem; font-weight: 700; letter-spacing: -.01em; }
.ad__shot p { margin: 0; font-size: .9rem; line-height: 1.6; color: var(--ink-2); }
.ad__shot p i { font-style: italic; color: var(--ink); }
@media (max-width: 52rem) { .ad__grid { grid-template-columns: 1fr; } }
.navdrop__menu a, .lab-chip__menu a, .gyg-sel__menu button {
  display: flex; inline-size: 100%; align-items: center; gap: .6rem;
  min-block-size: 2.6rem; padding: .45rem .9rem; border-radius: var(--radius-s);
  background: none; color: var(--label); font: inherit; font-size: var(--type-subhead);
  text-decoration: none; cursor: pointer; text-align: start; border: 0; }
.navdrop__menu a:hover, .lab-chip__menu a:hover, .gyg-sel__menu button:hover,
.navdrop__menu a:focus-visible, .lab-chip__menu a:focus-visible, .gyg-sel__menu button:focus-visible {
  background: color-mix(in srgb, var(--accent) 9%, transparent); }
.navdrop__menu a:hover, .lab-chip__menu a:hover, .gyg-sel__menu button:hover { color: var(--accent); }
.navdrop__menu li:last-child a, .gyg-sel__menu li:last-child button { color: var(--accent); font-weight: var(--weight-semibold); }
.k1__sub { margin-block-end: 2.1rem; }
.k1__row { margin-block: 0 1.7rem; }
details.gyg-sel { position: relative; }
details.gyg-sel > summary { list-style: none; cursor: pointer; inline-size: 100%; position: relative;
  display: flex; align-items: center; gap: .55rem; }
details.gyg-sel > summary .gyg-sel__val { flex: 1; min-inline-size: 0; }
details.gyg-sel > summary::-webkit-details-marker { display: none; }
details.gyg-sel[open] summary { border-color: var(--accent); }
.gyg-sel__menu { position: absolute; inset-block-start: calc(100% + 8px); inset-inline: 0; z-index: 40;
  background: var(--bg-elevated); border: .5px solid var(--separator); border-radius: 12px;
  box-shadow: var(--shadow-lg); padding: .4rem; max-block-size: 15rem; overflow: auto; }
.gyg-sel__menu button { font-weight: var(--weight-medium); }
.gyg-sel__menu button.on { color: var(--accent); font-weight: var(--weight-bold); }
.gyg-stepper { display: flex !important; align-items: center; justify-content: space-between; gap: 1rem;
  padding: .3rem .5rem; }
.gyg-sel__menu .gyg-stepper button { inline-size: 4.2rem; block-size: 2.9rem; flex: none; border-radius: 12px;
  border: 1px solid var(--separator); background: var(--bg); font-size: 1.15rem; font-weight: var(--weight-bold);
  color: var(--label); cursor: pointer; display: grid; place-items: center; }
.gyg-sel__menu .gyg-stepper button:hover { border-color: var(--accent); color: var(--accent); }
.gyg-stepper [data-cnt] { font-size: 1.05rem; }
.gyg-stepper__apply { border-block-start: .5px solid var(--separator); }
a.gyg-mock__btn { text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.pill-demo { padding: clamp(2rem, 5vw, 3.5rem); border-radius: 20px; background:
  linear-gradient(to bottom, rgb(0 0 0/.35), rgb(0 0 0/.55)), var(--hero-img, url('img/hero.webp')) center 36% / cover no-repeat; }
.pill-demo h3 { margin: 0; font-family: 'Plus Jakarta Sans', var(--font-display); color: #fff;
  font-size: clamp(2.2rem, 4.5vw, 3.6rem); font-weight: var(--weight-bold); line-height: 1.15;
  letter-spacing: -.02em; }
.pill-demo .pd-pill { display: inline-block; background: rgb(255 255 255 / .84); -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px); color: #17181c; padding: .01em .3em .09em; border-radius: .42em;
  font-weight: var(--weight-bold); }
.pd-1 .pd-pill { transform-origin: 0 50%; animation: pd-scale .9s cubic-bezier(.65,0,.35,1) both; }
.pd-1 .pd-pill em { display: inline-block; animation: pd-fade .45s ease .45s both; }
.pd-2 .pd-pill { background-repeat: no-repeat; background-image: linear-gradient(#fff, #fff);
  background-size: 0% 100%; background-position: 0 0; animation: pd-sweep .8s cubic-bezier(.65,0,.35,1) both; }
.pd-2 .pd-pill em { display: inline-block; opacity: 0; animation: pd-ink .3s ease .55s forwards; }
.pd-3 .pd-pill { animation: pd-drop .85s cubic-bezier(.34,1.56,.64,1) both; }
.pd-3 .pd-pill em { display: inline-block; animation: pd-fade .4s ease .5s both; }
@keyframes pd-scale { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes pd-sweep { from { background-size: 0% 100%; } to { background-size: 100% 100%; } }
@keyframes pd-drop { from { transform: translateY(-1.2em) rotate(-6deg); opacity: 0; }
  70% { transform: translateY(.06em) rotate(1deg); opacity: 1; } to { transform: none; opacity: 1; } }
@keyframes pd-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes pd-ink { from { opacity: 0; } to { opacity: 1; } }
.pill-demo em { font-style: normal; }
@media (max-width: 45rem) {
  .k1__badges { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; }
  .k-badge { justify-content: flex-start; padding-inline: .7rem; padding-block: .38rem;
    font-size: .78rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
.sb-wrap { position: fixed; inset-inline: 0; inset-block-end: 0; z-index: 90; pointer-events: none; }
.sb-wrap .sb, .sb-wrap .sb__x { pointer-events: auto; }
.sb__x { position: absolute; inset-block-start: -12px; inset-inline-end: 14px; z-index: 2;
  inline-size: 1.7rem; block-size: 1.7rem; border-radius: 50%; border: .5px solid var(--separator);
  background: var(--bg-elevated); color: var(--ink-2); cursor: pointer; display: grid; place-items: center;
  box-shadow: var(--shadow-md); padding: 0; }
.sb__x svg { inline-size: .6rem; block-size: .6rem; }
.sb__x:hover { color: var(--ink); border-color: var(--ink-3); }
.chain .sb-wrap { translate: 0 calc(100% + 2rem); transition: translate .55s cubic-bezier(.22, 1, .36, 1); }
.chain .sb-wrap.is-up, .chain .sb-wrap .is-up { translate: 0 0; }
.chain.shot-static .sb-wrap { translate: none; }
.w2head { margin-block-end: clamp(1.6rem, 3.5vw, 2.4rem); }
.w2head .eyebrow { margin: 0 0 .7rem; }
.w2head h2 { margin: 0 0 .75rem; }
.w2head__note { margin: 0; color: var(--label-secondary); font-size: var(--type-subhead); }
.w2 { margin-block-start: 0; }
.gyg-sel__menu--up, .gyg-sel__menu { inset-block-start: calc(100% + 8px); inset-block-end: auto; }
details.gyg-sel { z-index: 50; }
details.gyg-sel[open] { z-index: 60; }
details.gyg-mock__field.gyg-sel { padding: 0; display: block; }
details.gyg-sel > summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center;
  gap: .6rem; min-block-size: 3.5rem; padding: .7rem .9rem .7rem 1rem; border-radius: inherit; }
details.gyg-sel > summary .gyg-sel__val { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
details.gyg-sel > summary svg.gyg-mock__chev, .gyg-sel > summary .gyg-mock__chev {
  position: static; translate: none; margin: 0; inline-size: 22px; block-size: 22px;
  color: var(--label-secondary); transition: rotate .25s; }
details.gyg-sel[open] > summary svg.gyg-mock__chev { rotate: 180deg; color: var(--accent); }
details.gyg-sel[open] > summary { box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent); }
@media (max-width: 40rem) {
  .gyg-mock__row { flex-direction: column; }
  .gyg-mock__row > .gyg-mock__field, .gyg-mock__row > .gyg-mock__btn { flex: none; inline-size: 100%; }
  .gyg-mock__btn { min-block-size: 3.4rem; }
}
a.gyg-mock__btn { color: var(--on-cta); }
a.gyg-mock__btn:hover, a.gyg-mock__btn:focus-visible { color: var(--on-cta); filter: brightness(1.07);
  transform: translateY(-2px) scale(1.015);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--cta) 22%, transparent), 0 16px 34px -10px color-mix(in srgb, var(--cta) 60%, transparent); }
.w2cards, .w2cards__bar, .w2head__mob { display: none; }
@media (max-width: 52rem) {
  .w2 { display: none; }
  .w2head__desk { display: none; }
  .w2head__mob { display: inline; }
  .w2cards__bar { display: flex; align-items: center; justify-content: space-between; gap: .8rem;
    margin-block-end: .7rem; }
  .w2cards__hint { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, auto);
    justify-content: start; gap: .4rem 1.1rem; font-size: .75rem; color: var(--label-secondary); }
  .w2cards__hint li { display: inline-flex; align-items: center; gap: .4rem; white-space: nowrap; }
  .w2cards__hint svg { inline-size: .95rem; block-size: .95rem; flex: none; }
  .w2cards__sw { inline-size: .85rem; block-size: .85rem; border-radius: 4px; flex: none;
    background: color-mix(in srgb, var(--accent) 16%, var(--bg-elevated));
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent); }
  .w2cards__units { flex: none; display: inline-flex; padding: 3px; border-radius: 999px;
    background: color-mix(in srgb, var(--label) 7%, transparent); }
  .w2cards__units button { border: 0; background: transparent; cursor: pointer; min-inline-size: 2.6rem; min-block-size: 2rem;
    border-radius: 999px; font: 600 .8rem var(--font-text); color: var(--label-secondary); }
  .w2cards__units button.on { background: var(--bg-elevated); color: var(--label);
    box-shadow: 0 1px 3px rgb(0 0 0 / .12), 0 0 0 .5px var(--separator); }
  .w2cards__units button:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
  .w2cards { display: flex; gap: .6rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 2px;
    padding: .8rem 2px .7rem; scrollbar-width: none; }
  .w2cards::-webkit-scrollbar { display: none; }
  .w2card { position: relative; flex: 0 0 6.4rem; scroll-snap-align: start; display: grid; justify-items: center; gap: .32rem;
    padding: .85rem .55rem .8rem; border-radius: 16px; text-align: center;
    background: var(--bg-elevated); border: .5px solid var(--separator); box-shadow: var(--shadow-sm); }
  .w2card.best { background: color-mix(in srgb, var(--accent) 9%, var(--bg-elevated));
    border-color: color-mix(in srgb, var(--accent) 40%, transparent); }
  .w2card.is-now { box-shadow: 0 0 0 2px var(--accent), var(--shadow-sm); }
  .w2card.is-now::before { content: 'Now'; position: absolute; inset-block-start: -.55rem; inset-inline-start: 50%; translate: -50% 0;
    padding: .05rem .5rem; border-radius: 999px; background: var(--accent); color: var(--on-accent);
    font-size: .62rem; font-weight: var(--weight-bold); letter-spacing: .06em; text-transform: uppercase; }
  .w2card__mo { font-size: .72rem; font-weight: var(--weight-bold); letter-spacing: .1em; text-transform: uppercase;
    color: var(--label-secondary); }
  .w2card.best .w2card__mo { color: var(--accent); }
  .w2card__ico { inline-size: 1.75rem; block-size: 1.75rem; }
  .w2card__ico--dry { color: #E0950F; }
  .w2card__ico--mixed { color: var(--label-secondary); }
  .w2card__ico--wet { color: var(--accent); }
  .w2card__t { display: inline-flex; align-items: baseline; gap: .3rem; line-height: 1; }
  .w2card__t b { font-size: 1.45rem; font-weight: var(--weight-bold); letter-spacing: -.03em; color: var(--label); }
  .w2card__t small { font-size: .82rem; font-weight: var(--weight-semibold); color: var(--label-secondary); }
  .w2card__bar { inline-size: 100%; block-size: 4px; border-radius: 2px; overflow: hidden;
    background: color-mix(in srgb, var(--label) 8%, transparent); }
  .w2card__bar i { display: block; block-size: 100%; border-radius: inherit; background: #F0A92B; }
  .w2card__row { display: inline-flex; align-items: center; gap: .25rem; font-size: .72rem; color: var(--label-secondary);
    white-space: nowrap; }
  .w2card__row svg { inline-size: .8rem; block-size: .8rem; }
}
@property --pp-ang { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
.pp-stack { --pp-gap: .75rem; position: fixed; z-index: 95; pointer-events: none;
  inset-inline-start: 1.5rem; inset-block-end: calc(var(--pp-bar, 0px) + 1.25rem);
  inline-size: min(25vw, 26rem); display: flex; flex-direction: column;
  font-family: var(--font-text); }
@media (max-width: 63.99rem) { .pp-stack { inline-size: 24rem; } }
@media (max-width: 39.99rem) {
  .pp-stack { inset-inline: .625rem; inline-size: auto;
    inset-block-end: calc(var(--pp-bar, 0px) + .625rem + env(safe-area-inset-bottom)); }
}
.pp-slot { display: grid; grid-template-rows: 1fr; margin-block-start: var(--pp-gap);
  transition: grid-template-rows .45s cubic-bezier(.22, 1, .36, 1), margin .45s cubic-bezier(.22, 1, .36, 1); }
.pp-slot.is-new, .pp-slot.is-gone { grid-template-rows: 0fr; margin-block-start: 0; }
.pp-cell { position: relative; min-block-size: 0; justify-self: start; max-inline-size: 100%; }
@media (max-width: 39.99rem) { .pp-cell { justify-self: stretch; } }
.pp { position: relative; pointer-events: auto; display: flex; align-items: center; gap: .75rem;
  margin: 0; padding: .55rem 2.6rem .55rem .55rem; opacity: 0;
  color: var(--label-secondary); font-size: .94rem; line-height: 1.32; letter-spacing: -.005em; }
.pp__text { margin: 0; min-inline-size: 0; text-wrap: pretty; hyphens: none; }
.pp__text b { color: var(--label); font-weight: var(--weight-bold); }
.pp__fx { position: absolute; inset: 0; border-radius: inherit; pointer-events: none; }
.pp__icon { position: relative; flex: none; inline-size: 2.6rem; block-size: 2.6rem; border-radius: 50%;
  display: grid; place-items: center; }
.pp__icon--watch { background: var(--accent-soft); color: var(--accent); }
.pp__icon--watch svg { inline-size: 1.35rem; block-size: 1.35rem; }
.pp__live { position: absolute; inset-block-start: 1px; inset-inline-end: 1px; inline-size: .62rem; block-size: .62rem;
  border-radius: 50%; background: var(--cta); box-shadow: 0 0 0 2px var(--pp-ring, var(--bg-elevated)); }
.pp__live::after { content: ''; position: absolute; inset: 0; border-radius: 50%; background: var(--cta);
  animation: pp-ping 1.8s cubic-bezier(0, 0, .2, 1) infinite; }
@keyframes pp-ping { 75%, 100% { transform: scale(2.6); opacity: 0; } }
.pp__icon--booked { background: oklch(.6 .12 var(--pp-h)); color: #fff;
  font-family: var(--font-display); font-weight: var(--weight-bold); font-size: 1.1rem; }
.pp__ok { position: absolute; inset-block-end: -2px; inset-inline-end: -3px; inline-size: 1.08rem; block-size: 1.08rem;
  border-radius: 50%; display: grid; place-items: center; background: var(--accent); color: var(--on-accent);
  box-shadow: 0 0 0 2px var(--pp-ring, var(--bg-elevated)); }
.pp__ok svg { inline-size: .64rem; block-size: .64rem; }
.pp__x { position: absolute; inset-block-start: 50%; inset-inline-end: .6rem; translate: 0 -50%;
  inline-size: 1.6rem; block-size: 1.6rem; padding: 0; border: 0; border-radius: 50%; cursor: pointer;
  display: grid; place-items: center; background: transparent; color: var(--label-secondary); opacity: .75;
  transition: background-color .2s, opacity .2s; }
.pp__x:hover { opacity: 1; background: color-mix(in srgb, var(--label) 8%, transparent); color: var(--label-secondary); }
.pp__x:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; opacity: 1; }
.pp__x svg { inline-size: .7rem; block-size: .7rem; }
.pp-dot { display: none; }
@keyframes pp-fade-up { from { opacity: 0; translate: 0 6px; } to { opacity: 1; translate: 0 0; } }
@keyframes pp-pop { 0% { scale: 0; } 65% { scale: 1.18; } 100% { scale: 1; } }
@keyframes pp-fade-out { to { opacity: 0; } }
@keyframes pp-fade-in { from { opacity: 0; } }
.pp__icon--sellout { background: color-mix(in srgb, var(--cta) 12%, var(--bg-elevated)); color: var(--cta); }
.pp__ticket { inline-size: 1.3rem; block-size: 1.3rem; rotate: -12deg; }
.pp__meter { position: absolute; inset: -4px; inline-size: calc(100% + 8px); block-size: calc(100% + 8px);
  rotate: -90deg; overflow: visible; }
.pp__track, .pp__fill { fill: none; stroke-width: 3; }
.pp__track { stroke: color-mix(in srgb, var(--cta) 16%, transparent); }
.pp__fill { stroke: var(--cta); stroke-linecap: round; stroke-dasharray: 100 100; stroke-dashoffset: 88; }
.pp-stack .is-in .pp__fill { animation: pp-drain 1.9s cubic-bezier(.45, 0, .2, 1) .75s both,
  pp-sliver .9s ease-in-out 2.65s infinite alternate; }
.pp-stack .is-in .pp__ticket { animation: pp-shake .62s ease-in-out 2.6s both; }
@keyframes pp-drain { from { stroke-dashoffset: 0; stroke: color-mix(in srgb, var(--cta) 40%, #f2b300); } }
@keyframes pp-sliver { to { opacity: .3; } }
@keyframes pp-shake { 0%, 100% { rotate: -12deg; } 20% { rotate: -24deg; } 40% { rotate: 0deg; }
  60% { rotate: -20deg; } 80% { rotate: -8deg; } }
.pp__kick { display: block; margin-block-end: 1px; font-size: .7rem; font-weight: var(--weight-bold);
  letter-spacing: .09em; text-transform: uppercase; color: var(--cta-ink); }
.pp__tour { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.pp--p2 .pp__kick { color: color-mix(in srgb, var(--cta) 50%, #fff); }
.pp--p2 .pp__icon--sellout { background: rgb(255 255 255 / .1); color: color-mix(in srgb, var(--cta) 50%, #fff); }
.pp--p2 .pp__track { stroke: rgb(255 255 255 / .14); }
.pp--p2 .pp__fill { stroke: color-mix(in srgb, var(--cta) 70%, #fff); }
.pp--p1 { background: var(--bg-elevated); border-radius: 1.6rem 1.6rem 1.6rem .45rem; transform-origin: 0 100%;
  box-shadow: 0 0 0 .5px var(--separator), 0 2px 6px rgb(0 0 0 / .06), 0 24px 44px -18px rgb(0 0 0 / .34); }
.pp-stack--p1 .pp-dot { display: block; position: absolute; border-radius: 50%; background: var(--bg-elevated); scale: 0;
  box-shadow: 0 0 0 .5px var(--separator), 0 6px 14px -6px rgb(0 0 0 / .32); }
.pp-stack--p1 .pp-dot--a { inline-size: .78rem; block-size: .78rem; inset-inline-start: -.72rem; inset-block-end: -.42rem; }
.pp-stack--p1 .pp-dot--b { inline-size: .44rem; block-size: .44rem; inset-inline-start: -1.2rem; inset-block-end: -.86rem; }
.pp-stack--p1 .is-in .pp-dot--b { animation: pp-pop .32s cubic-bezier(.3, 1.4, .5, 1) both; }
.pp-stack--p1 .is-in .pp-dot--a { animation: pp-pop .32s cubic-bezier(.3, 1.4, .5, 1) .11s both; }
.pp-stack--p1 .is-in .pp { animation: pp1-in .78s .22s both; }
.pp-stack--p1 .is-in .pp__icon { animation: pp-pop .45s cubic-bezier(.3, 1.5, .5, 1) .5s both; }
.pp-stack--p1 .is-in .pp__text { animation: pp-fade-up .4s cubic-bezier(.22, 1, .36, 1) .58s both; }
@keyframes pp1-in {
  0%   { opacity: 0; transform: scale(.18) rotate(-9deg); animation-timing-function: cubic-bezier(.2, .9, .3, 1); }
  30%  { opacity: 1; }
  55%  { transform: scale(1.06) rotate(1.4deg); animation-timing-function: ease-in-out; }
  78%  { transform: scale(.985) rotate(-.4deg); animation-timing-function: ease-in-out; }
  100% { opacity: 1; transform: none; }
}
.pp-stack--p1 .is-out .pp { animation: pp1-out .36s cubic-bezier(.5, 0, .9, .5) both; }
.pp-stack--p1 .is-out .pp-dot { scale: 1; animation: pp-fade-out .2s .2s both; }
@keyframes pp1-out { from { opacity: 1; transform: none; } to { opacity: 0; transform: scale(.22) rotate(-7deg); } }
@media (max-width: 39.99rem) { .pp-stack--p1 .pp-dot { display: none; } }
.pp--p2 { --pp-ring: #17181c; background: linear-gradient(180deg, #26282e, #111216); color: rgb(255 255 255 / .74);
  border-radius: 1.75rem; padding: .45rem 2.6rem .45rem .45rem; transform-origin: 1.75rem 50%;
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / .08); }
.pp--p2 .pp__text b { color: #fff; }
.pp--p2 .pp__icon--watch { background: rgb(255 255 255 / .1); color: #fff; }
.pp--p2 .pp__x { color: rgb(255 255 255 / .7); }
.pp--p2 .pp__x:hover { background: rgb(255 255 255 / .12); color: #fff; }
.pp-stack--p2 .pp-cell { filter: drop-shadow(0 16px 22px rgb(0 0 0 / .32)); }
.pp-stack--p2 .is-in .pp { animation: pp2-in 1.15s both; }
.pp-stack--p2 .is-in .pp__icon { animation: pp-pop .5s cubic-bezier(.3, 1.5, .5, 1) .08s both; }
.pp-stack--p2 .is-in .pp__text { animation: pp2-text .55s cubic-bezier(.22, 1, .36, 1) .62s both; }
.pp-stack--p2 .is-in .pp__x { animation: pp-fade-in .3s .9s both; }
.pp-stack--p2 .is-in .pp__fx { background: linear-gradient(105deg, transparent 38%, rgb(255 255 255 / .16) 50%, transparent 62%) no-repeat;
  background-size: 260% 100%; animation: pp2-shine 1s ease-in-out 1.05s both; }
@keyframes pp2-in {
  0%   { opacity: 0; transform: translateY(130%) scale(.55); clip-path: inset(0 calc(100% - 3.5rem) 0 0 round 1.75rem);
         animation-timing-function: cubic-bezier(.2, .9, .3, 1.15); }
  34%  { opacity: 1; transform: none; clip-path: inset(0 calc(100% - 3.5rem) 0 0 round 1.75rem); }
  44%  { clip-path: inset(0 calc(100% - 3.5rem) 0 0 round 1.75rem); animation-timing-function: cubic-bezier(.16, 1, .3, 1); }
  100% { opacity: 1; transform: none; clip-path: inset(0 0 0 0 round 1.75rem); }
}
@keyframes pp2-text { from { opacity: 0; translate: -14px 0; filter: blur(6px); } to { opacity: 1; translate: 0 0; filter: none; } }
@keyframes pp2-shine { from { background-position: 130% 0; } to { background-position: -30% 0; } }
.pp-stack--p2 .is-out .pp { animation: pp2-out .72s both; }
.pp-stack--p2 .is-out .pp__text, .pp-stack--p2 .is-out .pp__x { animation: pp-fade-out .16s both; }
@keyframes pp2-out {
  0%   { opacity: 1; transform: none; clip-path: inset(0 0 0 0 round 1.75rem); animation-timing-function: cubic-bezier(.7, 0, .84, 0); }
  50%  { opacity: 1; transform: none; clip-path: inset(0 calc(100% - 3.5rem) 0 0 round 1.75rem); animation-timing-function: cubic-bezier(.5, 0, .9, .4); }
  100% { opacity: 0; transform: translateY(120%) scale(.5); clip-path: inset(0 calc(100% - 3.5rem) 0 0 round 1.75rem); }
}
.pp--p3 { --pp-ring: #fff; background: color-mix(in srgb, var(--bg-elevated) 84%, transparent);
  -webkit-backdrop-filter: blur(24px) saturate(190%); backdrop-filter: blur(24px) saturate(190%);
  border-radius: 1.9rem; padding: .5rem 2.6rem .5rem .5rem; transform-origin: 50% 100%;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .9),
    inset 0 -12px 22px -16px color-mix(in srgb, var(--accent) 45%, transparent),
    0 22px 44px -20px rgb(0 0 0 / .36); }
.pp--p3::before { content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 1.5px; pointer-events: none;
  background: conic-gradient(from var(--pp-ang), #7cc8ff, #b99cff, #ff9ccf, #ffd98a, #8ef0c0, #7cc8ff);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  animation: pp3-spin 5s linear infinite; }
.pp--p3::after { content: ''; position: absolute; inset-block-start: 4px; inset-inline-start: 1.3rem; inline-size: 38%; block-size: 5px;
  border-radius: 99px; background: linear-gradient(90deg, rgb(255 255 255 / .95), transparent); pointer-events: none; }
@keyframes pp3-spin { to { --pp-ang: 360deg; } }
.pp-stack--p3 .is-in .pp { animation: pp3-in 1.15s both; }
.pp-stack--p3 .is-in .pp__icon { animation: pp-pop .5s cubic-bezier(.3, 1.5, .5, 1) .42s both; }
.pp-stack--p3 .is-in .pp__text { animation: pp-fade-up .5s cubic-bezier(.22, 1, .36, 1) .5s both; }
.pp-stack--p3 .is-in { animation: pp3-bob 3.6s ease-in-out 1.3s infinite alternate; }
@keyframes pp3-in {
  0%   { opacity: 0; transform: translateY(140%) scale(.35); border-radius: 50%; animation-timing-function: cubic-bezier(.2, .8, .3, 1); }
  40%  { opacity: 1; transform: translateY(-9%) scale(1.06, .92); border-radius: 46% 54% 42% 58% / 62% 44% 56% 40%; animation-timing-function: ease-in-out; }
  58%  { transform: translateY(3%) scale(.96, 1.05); border-radius: 2.5rem 1.6rem 2.2rem 1.7rem; animation-timing-function: ease-in-out; }
  75%  { transform: translateY(-1%) scale(1.02, .985); animation-timing-function: ease-in-out; }
  89%  { transform: scale(.996, 1.004); }
  100% { opacity: 1; transform: none; border-radius: 1.9rem; }
}
@keyframes pp3-bob { to { translate: 0 -4px; } }
.pp-stack--p3 .is-out .pp { animation: pp3-out .42s cubic-bezier(.3, 0, .6, 1) both; }
@keyframes pp3-out { 0% { opacity: 1; transform: none; } 38% { opacity: 1; transform: scale(1.06, 1.1); }
  100% { opacity: 0; transform: scale(1.22); filter: blur(3px); } }
.pp-stack--p3 .is-out::before, .pp-stack--p3 .is-out::after { content: ''; position: absolute; pointer-events: none; }
.pp-stack--p3 .is-out::after { inset: 0; border-radius: 1.9rem; border: 2px solid color-mix(in srgb, var(--accent) 55%, #c8a8ff);
  animation: pp3-ring .5s cubic-bezier(.2, .8, .3, 1) .12s both; }
.pp-stack--p3 .is-out::before { inset: -18px;
  background:
    radial-gradient(circle at 6% 40%, #7cc8ff 0 3px, transparent 3.5px),
    radial-gradient(circle at 18% 96%, #ff9ccf 0 2.5px, transparent 3px),
    radial-gradient(circle at 34% 3%, #8ef0c0 0 3px, transparent 3.5px),
    radial-gradient(circle at 58% 98%, #b99cff 0 2.5px, transparent 3px),
    radial-gradient(circle at 74% 2%, #ffd98a 0 3px, transparent 3.5px),
    radial-gradient(circle at 95% 55%, #7cc8ff 0 2.5px, transparent 3px);
  animation: pp3-drops .55s cubic-bezier(.2, .8, .3, 1) .14s both; }
@keyframes pp3-ring { from { opacity: .9; transform: scale(1); } to { opacity: 0; transform: scale(1.12, 1.5); } }
@keyframes pp3-drops { from { opacity: 0; transform: scale(.82); } 25% { opacity: 1; } to { opacity: 0; transform: scale(1.18); } }
@media (max-width: 39.99rem) { .pp { font-size: .9rem; } }
@media (prefers-reduced-motion: reduce) {
  .pp-stack .pp-cell, .pp-stack .pp-cell *, .pp-stack .pp-cell::before, .pp-stack .pp-cell::after { animation: none !important; }
  .pp-stack .is-in .pp { opacity: 1; transition: opacity .2s; }
  .pp-stack .is-out .pp { opacity: 0; transition: opacity .2s; }
  .pp-stack .pp-dot { display: none; }
}
.seg { position: relative; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); padding: 3px;
  border-radius: 14px; background: color-mix(in srgb, var(--label) 7%, transparent); }
.seg__thumb { position: absolute; inset-block: 3px; inset-inline-start: 3px; inline-size: calc((100% - 6px) / 6);
  border-radius: 11px; background: var(--bg-elevated);
  box-shadow: 0 1px 2px rgb(0 0 0 / .1), 0 3px 10px -2px rgb(0 0 0 / .12), 0 0 0 .5px var(--separator);
  transform: translateX(calc(var(--k, 0) * 100%)); transition: transform .38s cubic-bezier(.3, .8, .2, 1.1); }
.seg button { position: relative; z-index: 1; display: grid; justify-items: center; align-content: center; gap: 4px;
  min-block-size: 52px; padding: 0; border: 0; background: none; cursor: pointer; border-radius: 11px;
  font: 700 .74rem/1 var(--font-text); letter-spacing: .02em; color: var(--label-secondary); transition: color .2s; }
.seg button[aria-pressed="true"] { color: var(--label); }
.seg button:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.seg .flag { inline-size: 1.35rem; block-size: .9rem; }
.seg__sym { font-size: 1.02rem; font-weight: 800; letter-spacing: -.02em; line-height: 1; color: var(--label); }
.seg button[aria-pressed="true"] .seg__sym { color: var(--accent); }
.seg__sym--long { font-size: .78rem; }
@media (prefers-reduced-motion: reduce) { .seg__thumb { transition: none; } }
.seg--foot { display: inline-grid; grid-auto-columns: 4.6rem; border-radius: 16px; }
.seg--foot .seg__thumb { inline-size: calc((100% - 6px) / 6); border-radius: 13px; }
.seg--foot button { min-block-size: 3.9rem; gap: 7px; font-size: .82rem; }
.seg--foot .flag { inline-size: 1.75rem; block-size: 1.17rem; }
@media (max-width: 40rem) { .seg--foot { display: grid; grid-auto-columns: minmax(0, 1fr); inline-size: 100%; } }
.lab-chip__menu a:not(.on) svg { visibility: hidden; }
.msheet { position: fixed; inset: 0; z-index: 400; display: flex; flex-direction: column;
  background: var(--bg-elevated); visibility: hidden;
  clip-path: circle(0 at var(--mx, calc(100% - 2.6rem)) var(--my, 2.6rem));
  transition: clip-path .55s cubic-bezier(.7, 0, .2, 1), visibility 0s .55s; }
.msheet.is-open { visibility: visible; clip-path: circle(150% at var(--mx, calc(100% - 2.6rem)) var(--my, 2.6rem));
  transition: clip-path .6s cubic-bezier(.6, 0, .2, 1), visibility 0s; }
html.ms-lock, html.ms-lock body { overflow: hidden; }
.msheet__head { flex: none; display: flex; align-items: center; justify-content: space-between;
  padding: calc(.9rem + env(safe-area-inset-top)) 1.6rem .4rem 1.6rem; min-block-size: 4.6rem; }
.msheet__x { inline-size: 2.9rem; block-size: 2.9rem; border-radius: .8rem; border: .5px solid var(--separator);
  background: var(--bg-tertiary); color: var(--label); display: grid; place-items: center; cursor: pointer; padding: 0; }
.msheet__x svg { inline-size: 18px; block-size: 18px; }
.msheet__body { flex: 1; overflow: auto; overscroll-behavior: contain; padding: .2rem 1.25rem 1.1rem; }
.msheet__links { display: grid; }
.msheet__links a { display: flex; align-items: center; justify-content: space-between; min-block-size: 3rem;
  color: var(--label); text-decoration: none; font-family: var(--font-display); font-size: 1.6rem;
  font-weight: var(--weight-bold); letter-spacing: -.03em; border-radius: 10px; }
.msheet__links a svg { inline-size: 18px; block-size: 18px; color: var(--gray-2); transition: transform .2s, color .2s; }
.msheet__links a:hover { color: var(--label); }
.msheet__links a:hover svg { transform: translateX(3px); color: var(--accent); }
.msheet.is-open .msheet__links a, .msheet.is-open .msheet__guides, .msheet.is-open .msheet__prefs {
  animation: ms-rise .5s cubic-bezier(.2, .8, .2, 1) both; animation-delay: calc(.18s + var(--i, 0) * .04s); }
@keyframes ms-rise { from { opacity: 0; transform: translateY(12px); } }
.msheet__lbl { margin: 0; font-size: .7rem; font-weight: var(--weight-bold); letter-spacing: .12em;
  text-transform: uppercase; color: var(--label-secondary); }
.msheet__guides { margin-block-start: .9rem; }
.msheet__chips { display: flex; gap: 6px; overflow-x: auto; margin: .5rem -1.25rem 0; padding: 0 1.25rem 4px; scrollbar-width: none; }
.msheet__chips::-webkit-scrollbar { display: none; }
.msheet__chips a { flex: none; display: inline-flex; align-items: center; min-block-size: 2.5rem; padding: 0 .9rem;
  border-radius: 99px; background: var(--bg-tertiary); color: var(--label); text-decoration: none;
  font-size: .88rem; font-weight: var(--weight-semibold); white-space: nowrap; }
.msheet__prefs { margin-block-start: 1.1rem; padding: .9rem; border-radius: 20px; background: var(--bg-grouped);
  display: grid; gap: .9rem; }
.msheet__top { display: flex; justify-content: space-between; align-items: baseline; margin-block-end: .45rem; }
.msheet__top b { font-size: .84rem; color: var(--accent); }
.msheet__note { margin: .5rem 0 0; font-size: .72rem; color: var(--label-secondary); }
.msheet__foot { flex: none; padding: .75rem 1.25rem calc(1.1rem + env(safe-area-inset-bottom));
  border-block-start: .5px solid var(--separator); background: var(--bg-elevated); }
.msheet__foot .k-cta { inline-size: 100%; }
@media (min-width: 45.01rem) { .msheet { display: none; } }
@media (prefers-reduced-motion: reduce) {
  .msheet, .msheet.is-open { transition: none; }
  .msheet.is-open .msheet__links a, .msheet.is-open .msheet__guides, .msheet.is-open .msheet__prefs { animation: none; }
}
.gyg-sel__menu.gyg-cal { padding: .85rem .85rem .7rem; max-block-size: none; overflow: visible; min-inline-size: 18.5rem; }
.gyg-cal__head { display: flex; align-items: center; justify-content: space-between; margin-block-end: .5rem; }
.gyg-cal__title { font-size: .98rem; letter-spacing: -.01em; }
.gyg-sel__menu .gyg-cal__nav { inline-size: 2.4rem; block-size: 2.4rem; border-radius: 10px; border: .5px solid var(--separator);
  background: var(--bg); color: var(--label); display: grid; place-items: center; cursor: pointer; padding: 0; }
.gyg-sel__menu .gyg-cal__nav svg { inline-size: 16px; block-size: 16px; }
.gyg-sel__menu .gyg-cal__nav:hover:not(:disabled) { border-color: var(--accent); color: var(--accent); }
.gyg-sel__menu .gyg-cal__nav:disabled { opacity: .3; cursor: default; }
.gyg-cal__dow, .gyg-cal__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
.gyg-cal__dow span { padding-block: .3rem; text-align: center; font-size: .68rem; font-weight: var(--weight-bold);
  letter-spacing: .06em; text-transform: uppercase; color: var(--label-secondary); }
.gyg-sel__menu .gyg-cal__day { aspect-ratio: 1; max-block-size: 2.9rem; inline-size: 100%; display: grid; place-items: center;
  padding: 0; border: 0; border-radius: 10px; background: none; cursor: pointer;
  font: var(--weight-semibold) .92rem/1 var(--font-text); color: var(--label); font-variant-numeric: tabular-nums; }
.gyg-sel__menu .gyg-cal__day:hover:not(:disabled) { background: var(--accent-soft); color: var(--accent); }
.gyg-sel__menu .gyg-cal__day:disabled { color: var(--label-tertiary); cursor: default; }
.gyg-sel__menu .gyg-cal__day.is-today { box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--accent) 55%, transparent); }
.gyg-sel__menu .gyg-cal__day[aria-pressed="true"] { background: var(--accent); color: var(--on-accent); }
.gyg-sel__menu .gyg-cal__day:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.mt { margin-block-start: clamp(2.6rem, 6vw, 4rem); }
.mt-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; margin-block-end: 1.4rem; }
.mt-head h3 { margin: .3rem 0 0; font-size: var(--type-title-2); letter-spacing: -.02em; line-height: 1.15; }
.mt-sub { margin: .45rem 0 0; max-inline-size: 46ch; color: var(--label-secondary); font-size: var(--type-subhead); }
.mt-label { display: inline-flex; align-items: center; gap: .35rem; max-inline-size: 100%; padding: .32rem .62rem .32rem .5rem;
  border-radius: 999px; background: var(--c); color: #fff; font-size: .7rem; font-weight: var(--weight-bold);
  letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; box-shadow: 0 4px 12px -4px rgb(0 0 0 / .35); }
.mt-label svg { inline-size: 13px; block-size: 13px; flex: none; }
.mt-rate { display: inline-flex; align-items: center; gap: .25rem; font-size: .82rem; color: var(--label); white-space: nowrap; }
.mt-rate svg { inline-size: 14px; block-size: 14px; color: #F5B300; }
.mt-rate b { font-weight: var(--weight-bold); }
.mt-rate small { color: var(--label-secondary); font-size: .76rem; }
.mt-place { margin: 0; font-size: .72rem; font-weight: var(--weight-bold); letter-spacing: .1em; text-transform: uppercase; color: var(--accent); }
.mt-name { margin: .3rem 0 0; font-size: 1.04rem; line-height: 1.28; letter-spacing: -.012em; text-wrap: balance; hyphens: none; }
.mt-name a { color: inherit; text-decoration: none; }
.mt-name a:hover { color: var(--accent); }
.mt-incl { list-style: none; margin: .7rem 0 0; padding: 0; display: grid; gap: .38rem; }
.mt-incl li { display: flex; align-items: flex-start; gap: .45rem; font-size: .86rem; line-height: 1.35; color: var(--label-secondary); }
.mt-incl svg { inline-size: 15px; block-size: 15px; flex: none; margin-block-start: .1rem; color: var(--success); }
.mt-buy { display: flex; align-items: flex-end; justify-content: space-between; gap: .8rem; margin-block-start: auto; padding-block-start: 1rem; }
.mt-price { margin: 0; display: grid; line-height: 1.1; }
.mt-price small { font-size: .74rem; color: var(--label-secondary); }
.mt-price b { font-family: var(--font-display); font-size: 1.5rem; letter-spacing: -.03em; }
.mt-price > span { font-size: .72rem; font-weight: var(--weight-semibold); color: var(--success); margin-block-start: .2rem; white-space: nowrap; }
.mt-btn { display: inline-flex; align-items: center; justify-content: center; min-block-size: 2.75rem; padding: .5rem 1.15rem;
  border-radius: 12px; background: var(--cta); color: var(--on-cta); font-size: .9rem; font-weight: var(--weight-bold);
  text-decoration: none; white-space: nowrap; transition: filter .2s, transform .2s; }
a.mt-btn:hover, a.mt-btn:focus-visible { color: var(--on-cta); filter: brightness(1.08); transform: translateY(-1px); }
.mt2__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr)); gap: 1rem; }
.mt2__card { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: space-between;
  aspect-ratio: 3 / 4.6; border-radius: 22px; overflow: hidden; color: #fff;
  box-shadow: 0 16px 34px -20px rgb(0 0 0 / .45); transition: transform .35s var(--ease); }
.mt2__card:hover { transform: translateY(-4px); }
.mt2__card > img { position: absolute; inset: 0; z-index: -2; inline-size: 100%; block-size: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.mt2__card:hover > img { transform: scale(1.05); }
.mt2__card::after { content: ''; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgb(0 0 0 / .28) 0%, transparent 22%, transparent 34%, rgb(6 10 16 / .82) 64%, rgb(6 10 16 / .94) 100%); }
.mt2__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .45rem; padding: .8rem; }
.mt2__top .mt-rate { padding: .3rem .6rem; border-radius: 999px; background: rgb(12 14 18 / .45); color: #fff;
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.mt2__top .mt-rate small { color: rgb(255 255 255 / .75); }
.mt2__foot { padding: 1rem 1.1rem 1.1rem; }
.mt2 .mt-place { color: rgb(255 255 255 / .8); }
.mt2 .mt-name { color: #fff; }
.mt2 .mt-incl li { color: rgb(255 255 255 / .86); }
.mt2 .mt-incl svg { color: #6EE7A8; }
.mt2 .mt-price small { color: rgb(255 255 255 / .72); }
.mt2 .mt-price b { color: #fff; }
.mt2__stretch::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.mt2__card:focus-within { outline: 3px solid var(--accent); outline-offset: 3px; }
@media (max-width: 40rem) {
  .mt2__grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 80%; overflow-x: auto;
    scroll-snap-type: x mandatory; scrollbar-width: none; padding-block-end: .6rem; }
  .mt2__grid::-webkit-scrollbar { display: none; }
  .mt2__card { scroll-snap-align: start; }
}
@media (min-width: 64rem) { .mt2__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 40.01rem) and (max-width: 63.99rem) { .mt2__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 40rem) { .mt-head { display: block; } }
.mt-more { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .7rem;
  min-block-size: 100%; padding: 1.6rem 1.2rem; text-align: center; text-decoration: none; color: var(--label); }
.mt-more b { font-family: var(--font-display); font-size: 1.22rem; line-height: 1.2; letter-spacing: -.02em;
  max-inline-size: 15ch; text-wrap: balance; transition: color .25s; }
.mt-more__sub { font-size: .86rem; color: var(--label-secondary); }
.mt-more:hover { color: var(--label); }
.mt-more:hover b { color: var(--accent); }
.mt-more:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; border-radius: 22px; }
@media (min-width: 64rem) { .mt2__grid:has(> .mt2__card:nth-of-type(4n):last-of-type) > .mt-more { display: none; } }
@media (min-width: 40.01rem) and (max-width: 63.99rem) { .mt2__grid:has(> .mt2__card:nth-of-type(3n):last-of-type) > .mt-more { display: none; } }
@media (max-width: 40rem) { .mt-more { scroll-snap-align: start; } }
.mt-more__circle { --tx: 0px; --ty: 0px; position: relative; inline-size: 4.6rem; block-size: 4.6rem; border-radius: 50%;
  display: grid; place-items: center; margin-block-end: .15rem; color: var(--on-cta);
  background: radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--cta) 70%, #fff), var(--cta) 55%, color-mix(in srgb, var(--cta) 80%, #000));
  box-shadow: 0 14px 30px -14px color-mix(in srgb, var(--cta) 80%, transparent);
  transform: translate(var(--tx), var(--ty)); transition: transform .35s cubic-bezier(.3, 1.5, .5, 1), box-shadow .35s; }
.mt-more__circle::before, .mt-more__circle::after { content: ''; position: absolute; inset: 0; border-radius: 50%;
  border: 2px solid var(--cta); opacity: 0; pointer-events: none; }
.mt-more:hover .mt-more__circle, .mt-more:focus-visible .mt-more__circle {
  transform: translate(var(--tx), var(--ty)) scale(1.08);
  box-shadow: 0 22px 40px -14px color-mix(in srgb, var(--cta) 85%, transparent); }
.mt-more:hover .mt-more__circle::before, .mt-more:focus-visible .mt-more__circle::before { animation: mt-ripple 1.3s cubic-bezier(.2, .7, .3, 1) infinite; }
.mt-more:hover .mt-more__circle::after, .mt-more:focus-visible .mt-more__circle::after { animation: mt-ripple 1.3s cubic-bezier(.2, .7, .3, 1) .45s infinite; }
@keyframes mt-ripple { 0% { opacity: .6; transform: scale(1); } 100% { opacity: 0; transform: scale(1.75); } }
.mt-more__arr { position: relative; inline-size: 26px; block-size: 26px; overflow: hidden; }
.mt-more__arr svg { position: absolute; inset: 0; inline-size: 100%; block-size: 100%;
  transition: transform .42s cubic-bezier(.7, 0, .2, 1); }
.mt-more__arr svg + svg { transform: translateX(-130%); }
.mt-more:hover .mt-more__arr svg, .mt-more:focus-visible .mt-more__arr svg { transform: translateX(130%); }
.mt-more:hover .mt-more__arr svg + svg, .mt-more:focus-visible .mt-more__arr svg + svg { transform: translateX(0); transition-delay: .06s; }
@media (prefers-reduced-motion: reduce) {
  .mt-more__circle, .mt-more__arr svg { transition: none; }
  .mt-more:hover .mt-more__circle::before, .mt-more:hover .mt-more__circle::after { animation: none; }
}
.bk-ahead { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1rem;
  font-size: var(--type-footnote); color: var(--label-secondary); }
.bk-ahead > span { display: inline-flex; align-items: center; gap: .4rem; }
.bk-ahead svg { inline-size: 15px; block-size: 15px; flex: none; }
.bk-ahead__u { color: var(--label); font-weight: var(--weight-medium); }
.bk-ahead__u svg { color: var(--cta); }
.bk-ahead__u b { color: var(--cta-ink); font-weight: var(--weight-bold); }
.bk-ahead__r svg { color: var(--success); }
.k1__ctagrp { display: grid; gap: .6rem; justify-items: start; }
.bk-ahead--hero { gap: .3rem .9rem; color: rgb(255 255 255 / .86); font-size: .84rem; text-shadow: 0 1px 8px rgb(0 0 0 / .45); }
.bk-ahead--hero .bk-ahead__u { color: #fff; }
.bk-ahead--hero .bk-ahead__u svg { color: #FFB86B; }
.bk-ahead--hero .bk-ahead__u b { color: #FFD7A8; }
.bk-ahead--hero .bk-ahead__r svg { color: #7FE3A6; }
.bk-ahead--stack { flex-direction: column; align-items: flex-start; }
@media (max-width: 45rem) { .k1__ctagrp { justify-items: stretch; } .bk-ahead--hero { justify-content: center; } }
.k-top { display: inline-flex; align-items: center; gap: .35rem; padding: .28rem .65rem .28rem .5rem; border-radius: 999px;
  background: linear-gradient(135deg, #FFF4D6, #FFE3A3); color: #7A4B00; font-size: .74rem; font-weight: var(--weight-bold);
  letter-spacing: .01em; white-space: nowrap; box-shadow: inset 0 0 0 1px rgb(201 140 20 / .35); }
.k-top svg { inline-size: 14px; block-size: 14px; color: #B7791F; }
.k-top--glass { background: rgb(255 244 214 / .92); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.bw1__side { display: grid; gap: .6rem; justify-items: start; }
.bw1__side p { margin: 0; }
.bk-count { margin: 0; display: inline-flex; align-items: center; gap: .45rem; font-size: var(--type-footnote); color: var(--label); }
.bk-count svg { inline-size: 16px; block-size: 16px; color: var(--accent); flex: none; }
.bk-count b { font-variant-numeric: tabular-nums; color: var(--accent); }
.bk-urg { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.6rem; margin-block-start: 1rem;
  padding: .8rem 1rem; border-radius: 14px; background: color-mix(in srgb, var(--cta) 6%, var(--bg-elevated));
  border: .5px solid color-mix(in srgb, var(--cta) 22%, transparent); }
.sb__ahead { display: inline-flex; align-items: center; gap: .35rem; font-size: var(--type-footnote); color: var(--cta-ink); font-weight: var(--weight-semibold); }
.sb__ahead svg { inline-size: 14px; block-size: 14px; }
@media (max-width: 40rem) { .sb__ahead { display: none; } }
.xi { position: fixed; inset: 0; z-index: 500; display: grid; place-items: center; padding: 1rem; }
.xi[hidden] { display: none; }
.xi__scrim { position: absolute; inset: 0; background: rgb(8 12 20 / .55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  opacity: 0; transition: opacity .35s; }
.xi__card { position: relative; inline-size: min(31rem, 100%); max-block-size: calc(100svh - 2rem); overflow: auto;
  border-radius: 28px; background: var(--bg-elevated); box-shadow: 0 40px 90px -30px rgb(0 0 0 / .6);
  opacity: 0; transform: translateY(24px) scale(.96); transition: opacity .35s, transform .45s cubic-bezier(.2, .9, .3, 1.15); }
.xi.is-open .xi__scrim { opacity: 1; }
.xi.is-open .xi__card { opacity: 1; transform: none; }
.xi__x { position: absolute; inset-block-start: .8rem; inset-inline-end: .8rem; z-index: 2; inline-size: 2.5rem; block-size: 2.5rem;
  border-radius: 50%; border: 0; padding: 0; display: grid; place-items: center; cursor: pointer;
  background: rgb(12 14 18 / .45); color: #fff; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.xi__x svg { inline-size: 16px; block-size: 16px; }
.xi__photo { position: relative; block-size: 9.5rem; display: flex; align-items: flex-end; justify-content: space-between; gap: .5rem;
  padding: .9rem 1.1rem; background: linear-gradient(180deg, transparent 30%, rgb(0 0 0 / .55)), var(--img) center 40% / cover; }
.xi__rate { display: inline-flex; align-items: center; gap: .35rem; color: #fff; font-size: .82rem; text-shadow: 0 1px 6px rgb(0 0 0 / .5); white-space: nowrap; }
.xi__rate .stars { color: #FFD60A; letter-spacing: 1px; }
.xi__body { display: grid; gap: .75rem; padding: 1.3rem 1.4rem 1.2rem; }
.xi__kick { margin: 0; font-size: .74rem; font-weight: var(--weight-bold); letter-spacing: .14em; text-transform: uppercase; color: var(--cta-ink); }
.xi__body h2 { margin: -.3rem 0 0; font-size: clamp(1.5rem, 1.2rem + 1.2vw, 1.9rem); letter-spacing: -.025em; line-height: 1.1; }
.xi__text { margin: 0; color: var(--label-secondary); font-size: var(--type-subhead); line-height: 1.5; hyphens: manual; }
.xi__book { display: grid; gap: .6rem; margin-block-start: .2rem; }
.xi__book .gyg-mock__field { inline-size: 100%; }
.xi__book .gyg-sel__menu { inset-block-start: auto; inset-block-end: calc(100% + 8px); }
.xi__cta { inline-size: 100%; }
.xi__no { justify-self: center; border: 0; background: none; padding: .4rem; cursor: pointer;
  font: var(--weight-medium) var(--type-footnote) var(--font-text); color: var(--label-secondary); text-decoration: underline; text-underline-offset: 3px; }
.xi__no:hover { color: var(--label); }
@media (max-width: 40rem) {
  .xi { place-items: end stretch; padding: 0; }
  .xi__card { inline-size: 100%; border-radius: 26px 26px 0 0; max-block-size: 92svh; transform: translateY(100%); }
  .xi__body { padding-block-end: calc(1.1rem + env(safe-area-inset-bottom)); }
  .xi__photo { block-size: 7.5rem; }
}
@media (prefers-reduced-motion: reduce) { .xi__card, .xi__scrim { transition: opacity .2s; transform: none; } }
a.k1__proof.k1__proof--grid { display: grid; grid-template-columns: auto auto; align-items: center; justify-content: start;
  gap: .55rem 1rem; line-height: 1.2; }
.k1__proof--grid .k1__score { display: inline-flex; align-items: center; gap: .45rem; }
.k1__proof--grid .k1__score b { font-size: 1.05rem; }
.k1__proof--grid .k1__rev::before { content: none; }
.k1__proof--grid .k1__rev { white-space: nowrap; }
.k1__proof--grid .k-top { justify-self: start; }
.k1__ctagrp { display: inline-grid; justify-items: center; align-self: center; }
.k1__ctagrp .k-cta { justify-self: stretch; }
.bk-ahead--hero { flex-direction: column; align-items: center; gap: .3rem; text-align: center; }
@media (max-width: 45rem) { .k1__ctagrp { display: grid; align-self: stretch; } }
@media (min-width: 45.01rem) {
  .k1__row--a a.k1__proof, .k1__row--b a.k1__proof, .k1__row--c a.k1__proof { margin-block: 0; }
  .k1__row--a { display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto auto;
    justify-content: start; column-gap: 2.4rem; row-gap: .5rem; align-items: center; }
  .k1__row--a .k1__ctagrp { grid-row: 1 / 4; display: grid; grid-template-rows: subgrid; justify-items: center; align-self: stretch; }
  .k1__row--a .bk-ahead--hero { display: contents; }
  .k1__row--a a.k1__proof--grid { grid-row: 1 / 4; grid-template-rows: subgrid; align-self: stretch; align-items: center;
    padding: 0 0 0 2.4rem; border-radius: 0; border-inline-start: 1px solid rgb(255 255 255 / .42); }
  .k1__row--a a.k1__proof--grid:hover { background: none; box-shadow: none; }
  .k1__row--b { display: flex; flex-wrap: nowrap; align-items: stretch; gap: 1.1rem; }
  .k1__row--b .k1__ctagrp { align-self: stretch; }
  .k1__row--b a.k1__proof--grid { align-content: center; padding: .9rem 1.4rem; border-radius: 22px;
    background: rgb(255 255 255 / .1); border: .5px solid rgb(255 255 255 / .28);
    -webkit-backdrop-filter: blur(14px) saturate(140%); backdrop-filter: blur(14px) saturate(140%); }
  .k1__row--c { display: grid; grid-template-columns: auto auto; grid-template-areas: "cta proof" "ahead ."; justify-content: start;
    column-gap: 2.2rem; row-gap: .6rem; align-items: stretch; }
  .k1__row--c .k1__ctagrp { display: contents; }
  .k1__row--c .k-cta { grid-area: cta; }
  .k1__row--c .bk-ahead--hero { grid-area: ahead; justify-self: center; }
  .k1__row--c a.k1__proof--grid { grid-area: proof; align-content: space-between; row-gap: 0; padding: .15rem 0 .15rem 2.2rem;
    border-radius: 0; border-inline-start: 1px solid rgb(255 255 255 / .42); }
  .k1__row--c a.k1__proof--grid:hover { background: none; box-shadow: none; }
}
.k1__proof--grid .k1__score, .k1__proof--grid .k-top { justify-self: center; }
.k1__proof--grid .k-avs, .k1__proof--grid .k1__rev { justify-self: center; }
@media (max-width: 45rem) {
  .k1__row > a.k1__proof--grid { inline-size: max-content; max-inline-size: calc(100% + var(--gutter) - 4px); }
  .k1__proof--grid .k1__rev, .k1__proof--grid .k-top { white-space: normal; text-align: center; }
  .k1__proof--grid .k-top { inline-size: max-content; max-inline-size: 100%; }
}
.seg__thumb, .seg--foot .seg__thumb { inline-size: calc((100% - 6px) / var(--n, 6)); }
@media (min-width: 45.01rem) {
  .k1__row--c { grid-template-columns: auto minmax(0, max-content); }
  .k1__proof--grid .k1__rev, .k1__proof--grid .k-top { white-space: normal; text-align: center; }
}
@media (max-width: 52rem) {
  .w2cards__bar { flex-wrap: wrap; }
  .w2cards__hint { min-inline-size: 0; flex: 1 1 14rem; }
  .w2cards__hint li { white-space: normal; }
}
@media (max-width: 40rem) {
  .k-cta { max-inline-size: 100%; box-sizing: border-box; }
  .k-cta__sub { white-space: normal; }
}
.u2__row { grid-auto-rows: auto; }
.u2__cell { display: grid; grid-row: span 3; grid-template-rows: subgrid; align-content: start; row-gap: 0; }
.u2__num { flex-wrap: wrap; row-gap: .12em; align-self: end; }
.u2__num small { white-space: nowrap; hyphens: none; -webkit-hyphens: none; overflow-wrap: normal; word-break: keep-all; }
.u2__bar { align-self: start; }
.u2__lab { align-self: start; hyphens: manual; }
a.ref { text-decoration: none; color: var(--accent); font-weight: var(--weight-semibold); }
a.ref sup { font-size: max(.62em, .58rem); line-height: 0; vertical-align: super; padding-inline: .08em; }
a.ref:hover sup { text-decoration: underline; }
.art .section { padding-block: clamp(1.6rem, 4vw, 2.8rem); }
.art h2, .art h3, .art h1 { hyphens: none; }
.ah { position: relative; color: #fff; min-block-size: min(78svh, 46rem);
  display: flex; align-items: flex-end;
  background: linear-gradient(to bottom, rgb(var(--scrim-rgb)/.55), rgb(var(--scrim-rgb)/.12) 38%, rgb(var(--scrim-rgb)/.78)),
              var(--img) center 40% / cover no-repeat; }
.ah__body { box-sizing: border-box; inline-size: 100%; padding-block: 7.5rem 2.6rem; }
.ah__crumbs { display: flex; flex-wrap: wrap; gap: .35rem .5rem; font-size: var(--type-footnote); color: rgb(255 255 255 / .82); }
.ah__crumbs a { color: inherit; text-decoration: none; }
.ah__crumbs a:hover { color: #fff; text-decoration: underline; }
.ah__crumbs span[aria-hidden] { opacity: .5; }
.ah__kick { margin: 1.1rem 0 .6rem; display: inline-flex; padding: .38rem .85rem; border-radius: var(--radius-pill);
  background: rgb(255 255 255 / .14); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border: .5px solid rgb(255 255 255 / .28); font-size: var(--type-footnote); font-weight: var(--weight-semibold); }
.ah h1 { margin: 0; max-inline-size: 18ch; font-family: var(--font-display); font-weight: 800;
  font-size: clamp(2.1rem, 6.2vw, 4.4rem); line-height: 1.02; letter-spacing: -.035em; color: #fff;
  overflow-wrap: break-word; }
.ah__sub { margin: 1rem 0 0; max-inline-size: 40rem; font-size: clamp(1rem, 1.6vw, 1.18rem); line-height: 1.55; color: rgb(255 255 255 / .9); }
.ah__row { margin-block-start: 1.6rem; display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.6rem; }
.ah__by { margin: 0; display: flex; flex-wrap: wrap; gap: .25rem .9rem; font-size: var(--type-footnote); color: rgb(255 255 255 / .8); }
.ah__by b { color: #fff; inline-size: 100%; font-weight: var(--weight-semibold); }
@media (max-width: 40rem) { .ah__row .k-cta { inline-size: 100%; } .ah__body { padding-block-start: 6.5rem; } }
.ao-sec { padding-block-start: clamp(1.2rem, 3vw, 2rem) !important; }
.ao { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; overflow: hidden; text-decoration: none; color: var(--label);
  border-radius: 26px; background: var(--bg-elevated); border: .5px solid var(--separator); box-shadow: var(--shadow-md);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.ao:hover { color: var(--label); transform: translateY(-2px); box-shadow: var(--shadow-lg); }
.ao__img { inline-size: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.ao__main { padding: 1.3rem 1.4rem .6rem; display: flex; flex-direction: column; gap: .45rem; min-inline-size: 0; }
.ao__eye { font-size: var(--type-footnote); font-weight: var(--weight-semibold); letter-spacing: .06em; text-transform: uppercase; color: var(--accent); }
.ao__name { font-size: clamp(1.15rem, 2vw, 1.4rem); line-height: 1.2; letter-spacing: -.015em; }
.ao__rate { font-size: var(--type-subhead); color: var(--label-secondary); }
.ao__rate .stars { color: var(--star); font-style: normal; letter-spacing: 1px; }
.ao__facts { display: flex; flex-wrap: wrap; gap: .4rem; margin-block-start: .3rem; }
.ao__facts > span { display: inline-flex; align-items: center; gap: .35rem; padding: .32rem .7rem; border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--accent) 8%, var(--bg-elevated)); font-size: var(--type-footnote); }
.ao__facts svg { inline-size: 14px; block-size: 14px; color: var(--success); }
.ao__buy { padding: .6rem 1.4rem 1.4rem; display: flex; flex-direction: column; gap: .8rem; }
.ao__price { display: flex; align-items: baseline; gap: .4rem; }
.ao__price b { font-size: 2rem; letter-spacing: -.03em; }
.ao__price small { color: var(--label-secondary); font-size: var(--type-footnote); }
.ao__cta { inline-size: 100%; }
.ao__cta .k-cta__sub, .ac__r .k-cta__sub { white-space: normal; }
@media (min-width: 48rem) {
  .ao { grid-template-columns: 13rem minmax(0, 1fr) auto; align-items: stretch; }
  .ao__img { aspect-ratio: auto; block-size: 100%; }
  .ao__main { padding: 1.5rem 1.2rem 1.5rem 1.6rem; justify-content: center; }
  .ao__buy { padding: 1.5rem 1.6rem; justify-content: center; border-inline-start: .5px solid var(--separator); min-inline-size: 17rem; }
}
.as { padding: clamp(1.4rem, 4vw, 2.6rem); }
.as__list { margin: .9rem 0 0; display: grid; gap: 0; }
.as__row { display: grid; grid-template-columns: 1fr; gap: .2rem; padding-block: .95rem; border-block-start: .5px solid var(--separator); }
.as__row:first-child { border-block-start: 0; }
.as__row dt { font-weight: var(--weight-bold); display: flex; gap: .7rem; align-items: baseline; }
.as__row dt > span { font-family: var(--font-display); color: var(--accent); font-size: var(--type-footnote); letter-spacing: .04em; }
.as__row dd { margin: 0; color: var(--label-secondary); font-size: var(--type-body); line-height: 1.5; }
@media (min-width: 48rem) { .as__row { grid-template-columns: 15rem 1fr; gap: 1.5rem; } }
.ap__in { position: relative; --center-max: 44rem; }
.ap__no { display: block; font-family: var(--font-display); font-weight: 800; font-size: 3.4rem; line-height: 1;
  color: transparent; -webkit-text-stroke: 1.2px color-mix(in srgb, var(--accent) 45%, transparent); margin-block-end: .3rem; }
.ap h2 { margin: 0 0 1rem; font-size: clamp(1.6rem, 3.6vw, 2.3rem); line-height: 1.12; letter-spacing: -.025em; }
.ap p { margin: 0 0 1.05rem; font-size: clamp(1.02rem, 1.4vw, 1.1rem); line-height: 1.72; color: var(--label); max-inline-size: 40rem; }
.tl { list-style: none; margin: 1.6rem 0 0; padding: 0; display: grid; gap: 0; position: relative; }
.tl::before { content: ""; position: absolute; inset-block: .6rem 2rem; inset-inline-start: .55rem; inline-size: 2px;
  background: linear-gradient(var(--accent), color-mix(in srgb, var(--accent) 25%, transparent)); border-radius: 2px; }
.tl__step { position: relative; padding: 0 0 1.6rem 2.4rem; }
.tl__dot { position: absolute; inset-inline-start: 0; inset-block-start: .3rem; inline-size: 1.15rem; block-size: 1.15rem; border-radius: 50%;
  background: var(--bg-elevated); border: 3px solid var(--accent); box-shadow: 0 0 0 5px color-mix(in srgb, var(--accent) 14%, transparent); }
.tl__step--off .tl__dot { border-color: var(--label-tertiary); box-shadow: none; }
.tl__when { margin: 0; font-family: var(--font-display); font-weight: 800; font-size: clamp(1.25rem, 2.6vw, 1.7rem); letter-spacing: -.02em; color: var(--accent); }
.tl__step--off .tl__when { color: var(--label-secondary); }
.tl h3 { margin: .15rem 0 .25rem; font-size: var(--type-headline); }
.tl__text { margin: 0; color: var(--label-secondary); max-inline-size: 36rem; line-height: 1.55; }
@media (min-width: 64rem) {
  .tl { grid-template-columns: repeat(6, 1fr); gap: 1.2rem; }
  .tl::before { inset-block: .55rem auto; inset-inline: 0; block-size: 2px; inline-size: auto;
    background: linear-gradient(90deg, var(--accent) 80%, color-mix(in srgb, var(--label-tertiary) 60%, transparent)); }
  .tl__step { padding: 2.1rem 0 0; }
  .tl__dot { inset-block-start: 0; }
  .tl__when { font-size: 1.3rem; }
}
.ach { margin: 1.4rem 0 0; padding: clamp(1rem, 3vw, 2rem); }
.ach__legend { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .9rem; font-size: var(--type-footnote); color: var(--label-secondary); margin-block-end: .6rem; }
.ach__key { display: inline-block; inline-size: .95rem; block-size: .62rem; border-radius: 3px; margin-inline-end: -.45rem; }
.ach__key--bar { background: linear-gradient(var(--accent), color-mix(in srgb, var(--accent) 55%, #0b1530)); }
.ach__key--line { block-size: 3px; background: var(--sys-orange); }
.ach__key--season { background: color-mix(in srgb, var(--accent) 12%, transparent); border: 1px dashed color-mix(in srgb, var(--accent) 45%, transparent); }
.ach__svg { display: block; inline-size: 100%; block-size: auto; overflow: visible; }
.ach__season { fill: color-mix(in srgb, var(--accent) 7%, transparent); }
.ach__grid { stroke: var(--separator); stroke-width: 1; }
.ach__bar { fill: color-mix(in srgb, var(--accent) 82%, #0b1530); transform-box: fill-box; transform-origin: bottom;
  transition: transform 900ms var(--ease) calc(var(--i) * 45ms), fill var(--dur) var(--ease); }
.ach:not(.ach--in) .ach__bar { transform: scaleY(.02); }
.ach__m:hover .ach__bar, .ach__m:focus .ach__bar { fill: var(--accent); }
.ach__m { outline: none; cursor: default; }
.ach__val { font-size: 15px; font-weight: 700; text-anchor: middle; fill: var(--label); }
.ach__mon { font-size: 15px; text-anchor: middle; fill: var(--label-secondary); text-transform: uppercase; letter-spacing: .06em; }
.ach__line { fill: none; stroke: var(--sys-orange); stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.ach__pt { fill: var(--bg-elevated); stroke: var(--sys-orange); stroke-width: 3; }
.ach__note { margin-block-start: .8rem; font-size: var(--type-footnote); color: var(--label-secondary); }
@media (max-width: 40rem) { .ach__val { font-size: 22px; } .ach__mon { font-size: 21px; } }
.at { margin-block-start: 1.4rem; border-radius: 22px; background: var(--bg-elevated); border: .5px solid var(--separator); box-shadow: var(--shadow-sm); overflow: hidden; }
.at__t { inline-size: 100%; border-collapse: collapse; font-size: var(--type-subhead); }
.at__t th, .at__t td { padding: .8rem 1rem; text-align: start; border-block-end: .5px solid var(--separator); }
.at__t thead th { font-size: var(--type-footnote); font-weight: var(--weight-semibold); color: var(--label-secondary); text-transform: uppercase; letter-spacing: .05em; background: color-mix(in srgb, var(--accent) 5%, var(--bg-elevated)); }
.at__t tbody th { font-weight: var(--weight-bold); }
.at__t td { font-variant-numeric: tabular-nums; }
.at__off { color: var(--label-secondary); }
.at__pill { display: inline-block; padding: .2rem .65rem; border-radius: var(--radius-pill); font-size: var(--type-footnote); font-weight: var(--weight-semibold); white-space: nowrap; }
.at__pill--yes { background: color-mix(in srgb, var(--success) 14%, transparent); color: var(--success); }
.at__pill--no { background: var(--bg-grouped); color: var(--label-secondary); }
.at__note { margin: 0; padding: .9rem 1rem 1.1rem; font-size: var(--type-footnote); color: var(--label-secondary); }
@media (max-width: 48rem) {
  .at__t { font-size: var(--type-footnote); }
  .at__t th, .at__t td { padding: .62rem .45rem; }
  .at__t th:first-child, .at__t td:first-child { padding-inline-start: .9rem; }
  .at__t .at__hp { display: none; }
  .at__t thead th { font-size: .66rem; letter-spacing: .03em; }
  .at__pill { padding: .15rem .5rem; font-size: .7rem; white-space: normal; }
}
.sc { margin-block-start: 1.4rem; display: grid; gap: 1rem; grid-template-columns: 1fr; }
.sc__card { display: flex; flex-direction: column; overflow: hidden; border-radius: 24px; background: var(--bg-elevated);
  border: .5px solid var(--separator); box-shadow: var(--shadow-sm); }
.sc__card--hot { border-color: color-mix(in srgb, var(--accent) 45%, transparent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent), var(--shadow-md); }
.sc__shot { position: relative; aspect-ratio: 1; overflow: hidden; }
.sc__shot img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; transition: transform .8s var(--ease); }
.sc__card:hover .sc__shot img { transform: scale(1.04); }
.sc__label { position: absolute; inset-block-start: .8rem; inset-inline-start: .8rem; display: inline-flex; align-items: center; gap: .35rem;
  padding: .32rem .7rem; border-radius: var(--radius-pill); background: rgb(255 255 255 / .9); color: var(--label);
  font-size: var(--type-caption); font-weight: var(--weight-bold); text-transform: uppercase; letter-spacing: .05em; }
.sc__label svg { inline-size: 13px; block-size: 13px; color: var(--star); }
.sc__body { padding: 1.2rem 1.3rem 1.4rem; display: flex; flex-direction: column; flex: 1; }
.sc__body h3 { margin: 0; font-size: 1.45rem; letter-spacing: -.02em; }
.sc__months { margin: .1rem 0 .8rem; color: var(--label-secondary); font-size: var(--type-subhead); }
.sc dl { margin: 0 0 1.1rem; display: grid; }
.sc dl div { display: grid; grid-template-columns: minmax(7.5rem, auto) 1fr; gap: .8rem; padding-block: .55rem; border-block-start: .5px solid var(--separator); font-size: var(--type-subhead); }
.sc dt { color: var(--label-secondary); }
.sc dd { margin: 0; font-weight: var(--weight-semibold); text-align: end; }
.sc__cta { margin-block-start: auto; inline-size: 100%; max-inline-size: none; box-sizing: border-box; display: flex; justify-content: center; align-items: center; min-block-size: 3rem; }
@media (min-width: 52rem) { .sc { grid-template-columns: repeat(3, 1fr); } }
.dh { padding: clamp(1.4rem, 4vw, 2.6rem); }
.dh h2 { margin: .3rem 0 .4rem; }
.dh__lead { margin: 0 0 1.1rem; }
.dh__chips { display: flex; flex-wrap: wrap; gap: .55rem; }
.dh__chip { position: relative; cursor: pointer; }
.dh__chip input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.dh__chip > span { display: inline-flex; align-items: center; min-block-size: var(--tap-min); padding: .55rem 1.05rem; border-radius: var(--radius-pill);
  background: var(--bg-elevated); border: 1px solid var(--separator); font-weight: var(--weight-semibold); font-size: var(--type-subhead);
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease); }
.dh__chip:hover > span { border-color: var(--accent); }
.dh__chip input:checked + span { background: var(--label); color: var(--bg-elevated); border-color: var(--label); }
.dh__chip input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }
.dh__answers { margin-block-start: 1.3rem; }
.dh__a { display: none; gap: 1rem; align-items: flex-start; padding: 1.2rem 1.3rem; border-radius: 20px;
  background: color-mix(in srgb, var(--accent) 9%, var(--bg-elevated)); border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent); }
.dh__a b { display: block; font-family: var(--font-display); font-size: clamp(1.35rem, 3vw, 1.8rem); letter-spacing: -.02em; color: var(--accent); }
.dh__a p { margin: .3rem 0 0; color: var(--label-secondary); }
.dh__arrow { font-size: 1.8rem; line-height: 1; color: var(--accent); }
.dh:has(input[value="0"]:checked) .dh__a[data-i="0"], .dh:has(input[value="1"]:checked) .dh__a[data-i="1"],
.dh:has(input[value="2"]:checked) .dh__a[data-i="2"], .dh:has(input[value="3"]:checked) .dh__a[data-i="3"],
.dh:has(input[value="4"]:checked) .dh__a[data-i="4"] { display: flex; animation: dh-in .35s var(--ease); }
@keyframes dh-in { from { opacity: 0; transform: translateY(6px); } }
.aq { margin: 0; position: relative; padding: clamp(1.6rem, 5vw, 3.2rem); border-radius: 30px; overflow: hidden; color: #fff;
  background: linear-gradient(150deg, color-mix(in srgb, var(--accent) 40%, var(--label)), color-mix(in srgb, var(--accent) 15%, var(--label)) 56%, color-mix(in srgb, var(--accent) 32%, var(--label))); }
.aq__mark { position: absolute; inset-block-start: -2.2rem; inset-inline-end: 1.2rem; font-family: var(--font-display); font-size: 13rem; line-height: 1; color: rgb(255 255 255 / .1); }
.aq blockquote { margin: 0; }
.aq blockquote p { margin: 0; max-inline-size: 34ch; font-family: var(--font-display); font-weight: 700; font-size: clamp(1.4rem, 3.4vw, 2.3rem); line-height: 1.2; letter-spacing: -.02em; }
.aq figcaption { margin-block-start: 1.4rem; display: flex; flex-direction: column; gap: .15rem; font-size: var(--type-subhead); color: rgb(255 255 255 / .82); }
.aq figcaption b { color: #fff; font-size: var(--type-body); }
.aq__src a { color: #fff; }
.am__lead { margin: .5rem 0 0; color: var(--label-secondary); max-inline-size: 40rem; }
.am { margin-block-start: 1.4rem; display: grid; gap: 1.2rem; }
.am__maps { display: grid; gap: 1rem; grid-template-columns: 1fr; }
.am__map { margin: 0; position: relative; border-radius: 26px; overflow: hidden; aspect-ratio: 1; border: .5px solid var(--separator); box-shadow: var(--shadow-md); background: var(--bg-grouped); }
.am__map img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; filter: grayscale(.85) contrast(.92) brightness(1.06); }
.am__map::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: color-mix(in srgb, var(--accent) 10%, transparent); mix-blend-mode: multiply; }
.am__cap { position: absolute; z-index: 2; inset-block-end: .7rem; inset-inline-start: .7rem; padding: .35rem .8rem; border-radius: var(--radius-pill);
  background: var(--label); color: var(--bg-elevated); font-size: var(--type-footnote); font-weight: var(--weight-bold); }
.am__pin { position: absolute; z-index: 2; transform: translate(-50%, calc(-100% - 6px)); display: flex; flex-direction: column; align-items: center; text-decoration: none; }
.am__pin--r { transform: translate(-1.05rem, calc(-100% - 6px)); align-items: flex-start; }
.am__pin--l { transform: translate(calc(-100% + 1.05rem), calc(-100% - 6px)); align-items: flex-end; }
.am__pin--b { transform: translate(-50%, calc(-2.1rem - 6px)); }
.am__pin--b.am__pin--r { transform: translate(-1.05rem, calc(-2.1rem - 6px)); }
.am__pin.am__pin--b b { order: 1; margin: .45rem 0 0; }
.am__pin > span { position: relative; display: grid; place-items: center; inline-size: 2.1rem; block-size: 2.1rem; border-radius: 50%; font-size: .9rem;
  background: var(--cta); color: var(--on-cta); font-weight: 800; box-shadow: 0 6px 16px -4px rgb(0 0 0 / .45); border: 2px solid #fff; }
.am__pin > span::after { content: ""; position: absolute; inset-block-start: 100%; inset-inline-start: 50%; transform: translateX(-50%); border: 6px solid transparent; border-block-start-color: #fff; }
.am__pin b { order: -1; margin-block-end: .3rem; padding: .18rem .55rem; border-radius: var(--radius-pill); background: rgb(255 255 255 / .94); color: var(--label); font-size: var(--type-caption); white-space: nowrap; box-shadow: var(--shadow-sm); }
.am__city { position: absolute; z-index: 1; transform: translate(-50%, -50%); padding: .15rem .5rem; border-radius: 6px; background: var(--label); color: #fff; font-size: var(--type-caption); font-weight: var(--weight-bold); }
.am__arrow { position: absolute; inset: 0; z-index: 1; inline-size: 100%; block-size: 100%; overflow: visible; }
.am__arrow path { fill: none; stroke: var(--accent); stroke-width: .9; stroke-dasharray: 2.4 1.6; vector-effect: non-scaling-stroke; stroke-width: 3; stroke-linecap: round; }
.am__arrowlbl { position: absolute; z-index: 2; left: 57%; top: 50%; transform: translate(-50%, -50%); white-space: nowrap;
  padding: .22rem .6rem; border-radius: var(--radius-pill); background: color-mix(in srgb, var(--accent) 90%, transparent); color: #fff; font-size: var(--type-caption); font-weight: var(--weight-bold); }
.am__credit { position: absolute; inset-block-start: .5rem; inset-inline-end: .6rem; z-index: 2; font-size: 11px; color: var(--label-secondary); background: rgb(255 255 255 / .8); padding: .1rem .4rem; border-radius: 6px; }
.am__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; align-content: start; }
.am__list li { display: flex; gap: .9rem; padding: 1rem 1.1rem; border-radius: 18px; background: var(--bg-elevated); border: .5px solid var(--separator); scroll-margin-top: 6rem; }
.am__list li:target { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent); }
.am__list li > span { flex: none; display: grid; place-items: center; inline-size: 1.9rem; block-size: 1.9rem; border-radius: 50%; background: var(--cta); color: var(--on-cta); font-weight: 800; font-size: .85rem; }
.am__list b { display: block; }
.am__list p { margin: .15rem 0 0; color: var(--label-secondary); font-size: var(--type-subhead); line-height: 1.5; }
@media (min-width: 48rem) { .am__maps { grid-template-columns: 1fr 1fr; } }
@media (min-width: 64rem) { .am__list { grid-template-columns: repeat(5, 1fr); } .am__list li { flex-direction: column; } }
.ac { padding: clamp(1.4rem, 4vw, 2.6rem); display: grid; gap: 1.6rem; }
.ac h2 { margin: .3rem 0 .4rem; }
.ac__lead { margin: 0 0 1rem; }
.ac__opts { display: grid; gap: .5rem; }
.ac__opt { position: relative; display: flex; align-items: center; gap: .9rem; padding: .85rem 1rem; border-radius: 16px; cursor: pointer;
  background: var(--bg-elevated); border: 1px solid var(--separator); transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.ac__opt input { accent-color: var(--accent); inline-size: 1.15rem; block-size: 1.15rem; flex: none; }
.ac__opt > span { display: flex; flex-direction: column; flex: 1; min-inline-size: 0; }
.ac__opt small { color: var(--label-secondary); }
.ac__opt em { font-style: normal; font-weight: var(--weight-bold); white-space: nowrap; }
.ac__opt:has(input:checked) { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent); }
.ac__ppl { margin-block-start: 1rem; display: flex; align-items: center; gap: .7rem; font-weight: var(--weight-semibold); }
.ac__ppl > span { margin-inline-end: auto; }
.ac__ppl button { inline-size: 3.2rem; block-size: 2.7rem; border-radius: 12px; border: 1px solid var(--separator); background: var(--bg-elevated); font-size: 1.3rem; cursor: pointer; color: var(--label); }
.ac__ppl button:hover { border-color: var(--accent); }
.ac__ppl output { min-inline-size: 2ch; text-align: center; font-size: 1.4rem; font-variant-numeric: tabular-nums; }
.ac__r { display: flex; flex-direction: column; gap: .7rem; padding: 1.4rem; border-radius: 22px; background: var(--bg-elevated); border: .5px solid var(--separator); align-self: start; }
.ac__total { margin: 0; display: flex; flex-direction: column; }
.ac__total small { color: var(--label-secondary); font-size: var(--type-footnote); text-transform: uppercase; letter-spacing: .06em; font-weight: var(--weight-semibold); }
.ac__total b { font-family: var(--font-display); font-weight: 800; font-size: clamp(2.6rem, 6vw, 3.6rem); letter-spacing: -.04em; line-height: 1.05;
  background: linear-gradient(120deg, var(--label), color-mix(in srgb, var(--accent) 70%, var(--label))); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ac__per { margin: 0; color: var(--label-secondary); }
.ac__r .k-cta { inline-size: 100%; }
.ac__note { margin: 0; font-size: var(--type-caption); color: var(--label-secondary); }
@media (min-width: 52rem) { .ac { grid-template-columns: 1.3fr 1fr; align-items: start; } }
.av { margin-block-start: 1.4rem; position: relative; border-radius: 26px; overflow: hidden; aspect-ratio: 16 / 9; background: #000; box-shadow: var(--shadow-md); }
@media (max-width: 40rem) { .av:not(.av--on) { aspect-ratio: 4 / 5; } }
.av__poster { all: unset; position: absolute; inset: 0; cursor: pointer; display: block; }
.av__poster img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; transition: transform .8s var(--ease); }
.av__poster::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgb(0 0 0 / .65), transparent 55%); }
.av__poster:hover img { transform: scale(1.03); }
.av__poster:focus-visible { outline: 3px solid var(--accent); outline-offset: -3px; }
.av__play { position: absolute; z-index: 1; inset-block-start: 50%; inset-inline-start: 50%; transform: translate(-50%, -50%);
  display: grid; place-items: center; inline-size: 5.2rem; block-size: 5.2rem; border-radius: 50%; background: var(--cta); color: var(--on-cta);
  box-shadow: 0 0 0 10px rgb(255 255 255 / .18), 0 18px 40px -10px rgb(0 0 0 / .6); transition: transform var(--dur) var(--ease); }
.av__play svg { inline-size: 2.2rem; block-size: 2.2rem; margin-inline-start: .25rem; }
.av__poster:hover .av__play { transform: translate(-50%, -50%) scale(1.07); }
.av__meta { text-shadow: 0 1px 3px rgb(0 0 0 / .7); position: absolute; z-index: 1; inset-inline: 1.3rem; inset-block-end: 1.1rem; color: #fff; display: flex; flex-direction: column; }
.av__meta b { font-size: clamp(1.05rem, 2.4vw, 1.4rem); }
.av__meta small { opacity: 1; }
.av iframe { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; border: 0; }
.av__note { margin: .6rem 0 0; font-size: var(--type-footnote); color: var(--label-secondary); }
.ar { list-style: none; margin: 1.2rem 0 0; padding: 0; display: grid; gap: 0; border-radius: 22px; background: var(--bg-elevated); border: .5px solid var(--separator); overflow: hidden; }
.ar li { display: flex; gap: .9rem; align-items: flex-start; padding: .85rem 1.1rem; border-block-start: .5px solid var(--separator); scroll-margin-top: 6rem; }
.ar li:first-child { border-block-start: 0; }
.ar li:target { background: color-mix(in srgb, var(--accent) 8%, var(--bg-elevated)); }
.ar__n { flex: none; inline-size: 1.7rem; font-family: var(--font-display); font-weight: 800; color: var(--accent); }
.ar li > div { flex: 1; min-inline-size: 0; display: flex; flex-direction: column; }
.ar b { font-size: var(--type-subhead); }
.ar li a:not(.ar__back) { font-size: var(--type-subhead); color: var(--label-secondary); overflow-wrap: anywhere; }
.ar__back { flex: none; text-decoration: none; color: var(--accent); font-size: 1.1rem; padding-inline: .3rem; }
.rg { margin-block-start: 1.4rem; display: grid; gap: .9rem; grid-template-columns: repeat(2, 1fr); }
.rg__card { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; aspect-ratio: 4 / 5; padding: 1rem;
  border-radius: 22px; overflow: hidden; color: #fff; text-decoration: none; box-shadow: var(--shadow-sm); transition: transform var(--dur) var(--ease); }
.rg__card:hover { color: #fff; transform: translateY(-4px); }
.rg__card img { position: absolute; inset: 0; z-index: -2; inline-size: 100%; block-size: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.rg__card:hover img { transform: scale(1.05); }
.rg__card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgb(0 0 0 / .78), transparent 60%); }
.rg__t { hyphens: none; -webkit-hyphens: none; overflow-wrap: normal; font-weight: var(--weight-bold); font-size: clamp(.98rem, 1.6vw, 1.12rem); line-height: 1.25; }
.rg__go { margin-block-start: .5rem; display: grid; place-items: center; inline-size: 2.2rem; block-size: 2.2rem; border-radius: 50%; background: rgb(255 255 255 / .2); backdrop-filter: blur(8px); }
@media (min-width: 52rem) { .rg { grid-template-columns: repeat(4, 1fr); } }
.tc { padding: clamp(1.3rem, 4vw, 2.6rem); }
.tc__head h2 { margin: .3rem 0 .4rem; font-size: clamp(1.6rem, 3.6vw, 2.3rem); line-height: 1.12; letter-spacing: -.025em; hyphens: none; }
.tc__head .pi1__eyebrow { display: inline-flex; align-items: center; gap: .45rem; }
.tc__head .pi1__eyebrow svg { inline-size: 16px; block-size: 16px; }
.tc__lead { margin: 0 0 1.4rem; color: var(--label-secondary); }
.tc__body { display: grid; gap: 1.4rem; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 60rem) { .tc__body { grid-template-columns: minmax(0, 1fr) minmax(0, 25rem); gap: 2.2rem; } }
.tc__dots { list-style: none; margin: 0 0 1rem; padding: 0; display: flex; gap: .45rem; }
.tc__dots li { inline-size: 2.4rem; block-size: .38rem; border-radius: 999px; background: var(--separator); transition: background var(--dur) var(--ease); }
.tc__dots li.on { background: var(--accent); }
.tc__qs { display: grid; }
.tc__qs > * { grid-area: 1 / 1; }
.tc__q { margin: 0; padding: 0; border: 0; min-inline-size: 0; }
.tc--steps .tc__q[hidden], .tc--steps .tc__done[hidden] { display: block; visibility: hidden; pointer-events: none; }
.tc__q legend { padding: 0; margin-bottom: .8rem; font-family: var(--font-display); font-weight: 700; font-size: clamp(1.15rem, 2.4vw, 1.4rem); line-height: 1.25; letter-spacing: -.015em; color: var(--label); hyphens: none; display: flex; gap: .7rem; align-items: baseline; }
.tc__qn { flex: none; font-size: var(--type-footnote); color: var(--accent); font-weight: 800; letter-spacing: .04em; }
.tc__opts { display: grid; gap: .55rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 34rem) { .tc__opts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tc__opt { display: flex; align-items: center; gap: .7rem; min-block-size: 3.3rem; padding: .7rem 1rem; text-align: start; cursor: pointer;
  font: inherit; font-weight: var(--weight-semibold); color: var(--label); background: var(--bg-elevated);
  border: 1.5px solid var(--separator); border-radius: 16px; transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), background var(--dur) var(--ease); }
.tc__opt svg { flex: none; inline-size: 20px; block-size: 20px; color: var(--accent); }
.tc__opt span { min-inline-size: 0; overflow-wrap: break-word; hyphens: auto; }
.tc__opt:hover { border-color: var(--accent); }
.tc__opt:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.tc__opt[aria-pressed="true"] { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 9%, var(--bg-elevated));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent); }
.tc__done-t { margin: 0 0 .7rem; font-family: var(--font-display); font-weight: 700; font-size: 1.15rem; }
.tc__sum { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.tc__sum li { display: flex; align-items: center; justify-content: space-between; gap: .8rem; min-block-size: 3rem; padding: .4rem .5rem .4rem 1rem;
  border-radius: 14px; background: color-mix(in srgb, var(--accent) 7%, var(--bg-elevated)); border: 1px solid color-mix(in srgb, var(--accent) 25%, transparent); font-weight: var(--weight-semibold); }
.tc__sum li span { min-inline-size: 0; overflow-wrap: break-word; }
.tc__edit { flex: none; font: inherit; font-size: var(--type-footnote); font-weight: 700; color: var(--accent); background: none; border: 0; min-block-size: 2.75rem; padding: 0 .7rem; cursor: pointer; border-radius: 10px; }
.tc__edit:focus-visible { outline: 3px solid var(--accent); outline-offset: 1px; }
.tc__nav { display: flex; gap: .6rem; margin-top: 1rem; min-block-size: 2.75rem; }
.tc__back, .tc__reset { font: inherit; font-size: var(--type-subhead); font-weight: var(--weight-semibold); min-block-size: 2.75rem; padding: 0 1rem;
  border-radius: 999px; border: 1px solid var(--separator); background: var(--bg-elevated); color: var(--label); cursor: pointer; }
.tc__back:disabled { opacity: .45; cursor: default; }
.tc__back:focus-visible, .tc__reset:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.tc__result { display: grid; }
.tc__result > * { grid-area: 1 / 1; }
.tc__empty { display: grid; place-content: center; justify-items: center; gap: .6rem; text-align: center; padding: 1.5rem; border-radius: 24px;
  border: 1.5px dashed color-mix(in srgb, var(--accent) 35%, transparent); color: var(--label-secondary); background: color-mix(in srgb, var(--accent) 4%, transparent); }
.tc__empty p { margin: 0; max-inline-size: 18rem; }
.tc__empty-i { display: grid; place-items: center; inline-size: 3rem; block-size: 3rem; border-radius: 50%; background: var(--bg-elevated); color: var(--accent); box-shadow: var(--shadow-sm); }
.tc__empty-i svg { inline-size: 22px; block-size: 22px; }
.tc__res { display: flex; flex-direction: column; gap: .8rem; animation: tc-in .4s var(--ease); }
@keyframes tc-in { from { opacity: 0; transform: translateY(8px); } }
.tc__note { margin: 0; padding: .7rem .9rem; border-radius: 14px; font-size: var(--type-subhead); background: color-mix(in srgb, var(--sys-orange) 12%, var(--bg-elevated)); color: var(--label); }
.tcc { position: relative; display: flex; flex-direction: column; overflow: hidden; border-radius: 26px; text-decoration: none; color: var(--label);
  background: var(--bg-elevated); border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 12%, transparent), var(--shadow-md); transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.tcc:hover { color: var(--label); transform: translateY(-3px); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent), var(--shadow-lg); }
.tcc:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.tcc__shot { position: relative; aspect-ratio: 1; overflow: hidden; background: #0b1530; }
.tcc__shot img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; transition: transform .8s var(--ease); }
.tcc:hover .tcc__shot img { transform: scale(1.04); }
.tcc__badge { position: absolute; z-index: 2; inset-block-start: .9rem; inset-inline-start: .9rem; display: inline-flex; align-items: center; gap: .4rem;
  padding: .42rem .85rem; border-radius: 999px; background: var(--cta); color: var(--on-cta); font-weight: 800; font-size: var(--type-footnote);
  letter-spacing: .02em; box-shadow: 0 8px 20px -8px rgb(0 0 0 / .5); max-inline-size: calc(100% - 1.8rem); }
.tcc__badge svg { flex: none; inline-size: 16px; block-size: 16px; }
.tcc__ours { position: absolute; z-index: 2; inset-block-end: .9rem; inset-inline-start: .9rem; padding: .25rem .6rem; border-radius: 999px;
  background: rgb(255 255 255 / .92); color: var(--label); font-size: var(--type-caption); font-weight: var(--weight-bold); }
.tcc__body { display: flex; flex-direction: column; gap: .6rem; padding: 1.15rem 1.25rem 1.3rem; flex: 1; }
.tcc__name { margin: 0; font-family: var(--font-display); font-size: clamp(1.15rem, 2.2vw, 1.35rem); line-height: 1.25; letter-spacing: -.015em; overflow-wrap: break-word; hyphens: none; }
.tcc__rate { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .45rem; font-size: var(--type-subhead); color: var(--label-secondary); }
.tcc__stars { color: var(--star); letter-spacing: 1px; }
.tcc__rate b { color: var(--label); }
.tcc__checks { list-style: none; margin: .2rem 0 0; padding: 0; display: grid; gap: .45rem; }
.tcc__checks li { display: grid; grid-template-columns: 1.35rem minmax(0, 1fr); gap: .5rem; align-items: start; font-size: var(--type-subhead); line-height: 1.4; }
.tcc__checks svg { inline-size: 1.15rem; block-size: 1.15rem; color: var(--success); margin-block-start: .1rem; }
.tcc__foot { margin-block-start: auto; padding-block-start: .5rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .7rem; }
.tcc__price { display: flex; align-items: baseline; gap: .35rem; }
.tcc__price small { color: var(--label-secondary); font-size: var(--type-footnote); }
.tcc__price b { font-size: 1.7rem; letter-spacing: -.03em; }
.tcc__go { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-block-size: 3rem; padding: 0 1.2rem; border-radius: 14px;
  background: var(--cta); color: var(--on-cta); font-weight: var(--weight-bold); white-space: nowrap; box-shadow: var(--cta-shadow); }
.tcc__go svg { inline-size: 18px; block-size: 18px; }
.tc__alt { display: grid; grid-template-columns: 3.2rem minmax(0, 1fr) auto; gap: .8rem; align-items: center; padding: .6rem .8rem; border-radius: 16px;
  text-decoration: none; color: var(--label); background: var(--bg-elevated); border: 1px solid var(--separator); }
.tc__alt:hover { color: var(--label); border-color: var(--accent); }
.tc__alt:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.tc__alt img { inline-size: 3.2rem; block-size: 3.2rem; border-radius: 10px; object-fit: cover; }
.tc__alt span { display: flex; flex-direction: column; min-inline-size: 0; font-size: var(--type-subhead); }
.tc__alt small { color: var(--label-secondary); font-size: var(--type-caption); text-transform: uppercase; letter-spacing: .05em; font-weight: 700; }
.tc__alt b { overflow-wrap: break-word; hyphens: none; font-weight: var(--weight-semibold); }
.tc__alt em { font-style: normal; font-weight: 700; white-space: nowrap; }
.lg { --lg: 31px; display: inline-flex; align-items: center; gap: calc(var(--lg) * .273); min-inline-size: 0; line-height: 1; }
.lg__tile { flex: none; display: block; inline-size: var(--lg); block-size: var(--lg); }
.lg__tile rect { fill: var(--accent); }
.lg__tile g { fill: var(--on-accent); }
.lg__t { display: flex; flex-direction: column; gap: calc(var(--lg) * .1); min-inline-size: 0; font-family: var(--font-display); white-space: nowrap; }
.lg__t b { font-size: calc(var(--lg) * .432); font-weight: 800; letter-spacing: -.016em; line-height: 1.05; color: var(--label); }
.lg__t span { font-size: calc(var(--lg) * .341); font-weight: 500; line-height: 1.05; color: var(--label-secondary); }
.n4__brand .lg { color: var(--label); }
.fb1__mark--logo { font-size: inherit; line-height: 1; letter-spacing: normal; }
.fb1__mark--logo .lg { --lg: clamp(3.4rem, 9vw, 5.6rem); }
.fb1__mark--logo .lg__t b { letter-spacing: -.03em; }
.sm { padding-block-start: calc(var(--section-gap) + 4.5rem); }
.sm__crumbs { display: flex; flex-wrap: wrap; gap: .35rem .5rem; font-size: var(--type-footnote); color: var(--label-secondary); margin-block-end: var(--space-s); }
.sm__crumbs a { color: inherit; text-decoration: none; }
.sm__crumbs a:hover { color: var(--accent); text-decoration: underline; }
.sm__h1 { font-family: var(--font-display); font-size: var(--type-large-title); line-height: var(--leading-tight); letter-spacing: var(--track-large-title); font-weight: var(--weight-bold); margin: 0 0 var(--space-s); overflow-wrap: break-word; }
.sm__lead { font-size: var(--type-body); line-height: var(--leading-body); color: var(--label-secondary); max-width: var(--measure); margin: 0 0 var(--space-xl); }
.sm__h2 { font-family: var(--font-display); font-size: var(--type-title-2); line-height: var(--leading-snug); font-weight: var(--weight-bold); margin: var(--space-xl) 0 var(--space-m); display: flex; align-items: baseline; gap: .5rem; flex-wrap: wrap; }
.sm__h2 small { font-size: var(--type-subhead); font-weight: var(--weight-medium); color: var(--label-tertiary); }
.sm__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-s); grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); }
.sm__a { display: flex; flex-direction: column; gap: .3rem; min-height: var(--tap-min); padding: var(--space-m); border-radius: var(--radius-l); background: var(--bg-elevated); border: 1px solid var(--separator); color: var(--label); text-decoration: none; box-shadow: var(--shadow-sm); transition: border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease); height: 100%; }
.sm__a:hover { border-color: var(--accent); transform: translateY(-1px); }
.sm__a b { font-size: var(--type-headline); line-height: var(--leading-snug); font-weight: var(--weight-semibold); color: var(--accent); overflow-wrap: break-word; hyphens: none; }
.sm__a span { font-size: var(--type-subhead); line-height: var(--leading-body); color: var(--label-secondary); overflow-wrap: break-word; }
.sm__langs { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-s); }
.sm__langs a { display: inline-flex; align-items: center; min-height: var(--tap-min); padding: 0 var(--space-m); border-radius: var(--radius-pill); border: 1px solid var(--separator-opaque); background: var(--bg-elevated); color: var(--label); text-decoration: none; font-weight: var(--weight-medium); }
.sm__langs a:hover, .sm__langs a[aria-current] { border-color: var(--accent); color: var(--accent); }
.sm__xml { margin-block-start: var(--space-xl); font-size: var(--type-footnote); color: var(--label-tertiary); }
.sm__xml a { color: inherit; }
.lp .center { --center-max: 46rem; }
.lp__upd { font-size: var(--type-footnote); color: var(--label-tertiary); margin: 0 0 var(--space-l); }
.lp__h2 { font-family: var(--font-display); font-size: var(--type-title-3); line-height: var(--leading-snug); font-weight: var(--weight-bold); margin: var(--space-xl) 0 var(--space-s); overflow-wrap: break-word; hyphens: manual; }
.lp p { font-size: var(--type-body); line-height: var(--leading-body); color: var(--label); margin: 0 0 var(--space-m); overflow-wrap: break-word; }
.lp p a, .lp__card a { color: var(--accent); overflow-wrap: anywhere; }
.lp__card { font-style: normal; display: flex; flex-direction: column; gap: .2rem; padding: var(--space-m) var(--space-l); margin: 0 0 var(--space-m); border-radius: var(--radius-l); background: var(--bg-elevated); border: 1px solid var(--separator); line-height: var(--leading-body); }
.lp__card b { font-weight: var(--weight-semibold); }
.lp__form { display: grid; gap: var(--space-m); margin: 0 0 var(--space-m); }
.lp__form label { display: grid; gap: .35rem; font-size: var(--type-subhead); font-weight: var(--weight-medium); color: var(--label-secondary); }
.lp__form input, .lp__form textarea { font: inherit; font-size: var(--type-body); color: var(--label); background: var(--bg-elevated); border: 1px solid var(--separator-opaque); border-radius: var(--radius-m); padding: .75rem .9rem; min-height: var(--tap-min); width: 100%; box-sizing: border-box; }
.lp__form textarea { resize: vertical; min-height: 9rem; }
.lp__form input:focus, .lp__form textarea:focus { outline: 2px solid var(--accent); outline-offset: 1px; border-color: transparent; }
.lp__form .k-cta { justify-self: start; max-width: 100%; }
.lp__note { font-size: var(--type-footnote) !important; color: var(--label-tertiary) !important; margin: 0 !important; }
