.hero { position: relative; padding-block: var(--s10) var(--s9); overflow: hidden; }
.hero__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: var(--s9); align-items: center; }
.hero h1 { font-size: var(--fs-mega); margin-bottom: var(--s5); font-weight: 800; }
.hero h1 em { font-style: normal; color: var(--violet-bright); }
.hero__lead { font-size: var(--fs-lead); color: var(--bone-dim); max-width: 54ch; margin-bottom: var(--s6); }
.hero__cta { display: flex; gap: var(--s3); flex-wrap: wrap; margin-bottom: var(--s6); }

.trace { width: 100%; height: 44px; margin-bottom: var(--s6); overflow: visible; }
.trace path {
  fill: none; stroke: var(--vital); stroke-width: 1.5;
  stroke-linecap: round; stroke-linejoin: round;
  filter: drop-shadow(var(--trace-glow));
  stroke-dasharray: 1400; stroke-dashoffset: 1400;
  animation: trace-draw 2.6s var(--ease-out) .35s forwards;
}
@keyframes trace-draw { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .trace path { stroke-dashoffset: 0; animation: none; } }

.hero__proof { display: flex; gap: var(--s7); flex-wrap: wrap; padding-top: var(--s5); border-top: 1px solid var(--hairline-soft); }

.hero__panel {
  background: var(--panel-glass);
  backdrop-filter: blur(16px);
  border: 1px solid var(--hairline);
  border-radius: var(--r-xl);
  padding: var(--s6);
  box-shadow: var(--shadow-lg);
}
.hero__panel h2 { font-size: 1.06rem; margin-bottom: var(--s4); }
.hero__check { display: flex; gap: 10px; align-items: flex-start; font-size: var(--fs-sm); color: var(--bone-dim); }
.hero__check svg { width: 16px; height: 16px; color: var(--vital); margin-top: 3px; flex-shrink: 0; }

@media (max-width: 980px) {
  .hero__grid { grid-template-columns: 1fr; gap: var(--s7); }
  .hero { padding-block: var(--s8) var(--s7); }
}

.searchbar {
  display: grid; grid-template-columns: 1.4fr 1fr 1fr auto; gap: var(--s2);
  padding: var(--s2); border-radius: var(--r-xl);
  background: var(--slate); border: 1px solid var(--hairline);
  box-shadow: var(--shadow-md);
}
.searchbar .input, .searchbar .select { background: transparent; border-color: transparent; }
.searchbar .input:focus, .searchbar .select:focus { background: var(--ink-2); border-color: var(--violet); }
@media (max-width: 760px) { .searchbar { grid-template-columns: 1fr; } }

.results { display: grid; grid-template-columns: 260px minmax(0,1fr); gap: var(--s6); align-items: start; }
.filters { position: sticky; top: calc(var(--nav-h) + 26px); background: var(--slate); border: 1px solid var(--hairline); border-radius: var(--r-lg); padding: var(--s5); }
.filters h3 { font-size: .96rem; margin-bottom: var(--s4); }
.filters fieldset { border: 0; padding: 0; margin: 0 0 var(--s5); }
.filters legend { font-family: var(--font-data); font-size: var(--fs-micro); letter-spacing: .15em; text-transform: uppercase; color: var(--muted); margin-bottom: var(--s3); padding: 0; }
.results__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s4); flex-wrap: wrap; margin-bottom: var(--s5); }
.results__count { font-size: var(--fs-sm); color: var(--muted); }
.results__count b { color: var(--bone); font-family: var(--font-data); }
.results__list { display: grid; gap: var(--s4); }

.filters__mobile-toggle { display: none; }
@media (max-width: 940px) {
  .results { grid-template-columns: 1fr; }
  .filters { position: static; display: none; }
  .filters.is-open { display: block; }
  .filters__mobile-toggle { display: inline-flex; }
}

.sponsored-note { font-size: var(--fs-micro); color: var(--muted); font-family: var(--font-data); letter-spacing: .1em; text-transform: uppercase; }

.profile-head { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: var(--s7); align-items: start; }
.profile-id { display: flex; gap: var(--s5); align-items: flex-start; margin-bottom: var(--s5); }
.profile-id h1 { font-size: clamp(1.85rem, 3.4vw, 2.65rem); margin-bottom: 6px; }
.profile-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); gap: var(--s4); padding: var(--s5) 0; border-block: 1px solid var(--hairline-soft); margin-bottom: var(--s5); }
.fact__k { font-family: var(--font-data); font-size: var(--fs-micro); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin: 0 0 4px; }
.fact__v { font-size: var(--fs-sm); color: var(--bone); font-weight: 600; margin: 0; }

.booking {
  position: sticky; top: calc(var(--nav-h) + 26px);
  background: var(--slate); border: 1px solid var(--violet-line);
  border-radius: var(--r-xl); padding: var(--s5);
  box-shadow: var(--glow-violet);
}
.booking__price { font-family: var(--font-display); font-size: 1.85rem; font-weight: 700; letter-spacing: -.03em; margin: 0; }
.booking__price span { font-size: .85rem; color: var(--muted); font-family: var(--font-body); font-weight: 500; }

@media (max-width: 1000px) {
  .profile-head { grid-template-columns: 1fr; }
  .booking { position: static; }
}

.review { padding: var(--s5) 0; border-bottom: 1px solid var(--hairline-soft); }
.review:last-child { border-bottom: 0; }
.review__head { display: flex; align-items: center; gap: var(--s3); margin-bottom: var(--s3); }
.review__reply { margin-top: var(--s4); padding: var(--s4); background: var(--ink-2); border-left: 2px solid var(--violet); border-radius: 0 var(--r-md) var(--r-md) 0; font-size: var(--fs-sm); }

.article-head { padding-block: var(--s8) var(--s6); border-bottom: 1px solid var(--hairline-soft); margin-bottom: var(--s7); }
.article-head h1 { font-size: clamp(2.1rem, 4.4vw, 3.4rem); max-width: 22ch; margin-bottom: var(--s4); }
.byline { display: flex; align-items: center; gap: var(--s4); flex-wrap: wrap; font-size: var(--fs-sm); color: var(--muted); margin-top: var(--s5); }
.byline b { color: var(--bone); }

.reviewed-badge {
  display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px;
  border-radius: var(--r-pill); background: var(--vital-wash);
  border: 1px solid color-mix(in srgb, var(--vital) 30%, transparent); color: var(--vital);
  font-size: var(--fs-xs); font-weight: 700;
}

.post-card { display: flex; flex-direction: column; gap: var(--s3); height: 100%; }
.post-card__cat { font-family: var(--font-data); font-size: var(--fs-micro); letter-spacing: .14em; text-transform: uppercase; color: var(--violet-bright); }
.post-card h3 { font-size: 1.14rem; margin: 0; letter-spacing: -.02em; }
.post-card h3 a { color: var(--bone); }
.post-card h3 a:hover { color: var(--violet-bright); }
.post-card p { font-size: var(--fs-sm); color: var(--muted); margin: 0; line-height: 1.6; }
.post-card__meta { margin-top: auto; padding-top: var(--s4); font-size: var(--fs-xs); color: var(--muted); display: flex; gap: var(--s3); border-top: 1px solid var(--hairline-soft); flex-wrap: wrap; }

.post-thumb {
  height: 128px; border-radius: var(--r-md); margin-bottom: var(--s2);
  background:
    radial-gradient(120% 130% at 18% 0%, hsl(var(--hue) var(--tile-s1) var(--tile-l1)), transparent 62%),
    linear-gradient(140deg, hsl(calc(var(--hue) + 26) var(--tile-s2) var(--tile-l2)), var(--slate));
  border: 1px solid var(--hairline); position: relative; overflow: hidden;
}
.post-thumb::after {
  content: ""; position: absolute; inset: 0;
  background-image:
    linear-gradient(var(--grid-ink) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-ink) 1px, transparent 1px);
  background-size: 22px 22px;
  mask-image: radial-gradient(70% 70% at 30% 20%, #000, transparent);
  -webkit-mask-image: radial-gradient(70% 70% at 30% 20%, #000, transparent);
}

.faq { border-top: 1px solid var(--hairline-soft); }
.faq details { border-bottom: 1px solid var(--hairline-soft); }
.faq summary {
  padding: var(--s5) var(--s6) var(--s5) 0; cursor: pointer; list-style: none;
  font-family: var(--font-display); font-size: 1.06rem; font-weight: 600; color: var(--bone);
  position: relative; letter-spacing: -.015em;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: ""; position: absolute; right: 4px; top: 50%; width: 10px; height: 10px;
  border-right: 1.5px solid var(--violet); border-bottom: 1.5px solid var(--violet);
  transform: translateY(-70%) rotate(45deg); transition: transform var(--t-base) var(--ease-out);
}
.faq details[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.faq summary:hover { color: var(--violet-bright); }
.faq .faq__a { padding: 0 var(--s6) var(--s5) 0; color: var(--bone-dim); font-size: var(--fs-sm); line-height: 1.75; }
.faq .faq__a p { margin: 0 0 1em; }

.shell { display: grid; grid-template-columns: 244px minmax(0,1fr); min-height: 100vh; }

.side {
  background: var(--ink-2); border-right: 1px solid var(--hairline);
  padding: var(--s5) var(--s4); position: sticky; top: 0; height: 100vh;
  overflow-y: auto; display: flex; flex-direction: column; gap: var(--s5);
}
.side__brand { display: flex; align-items: center; gap: 9px; padding: 0 var(--s3) var(--s4); border-bottom: 1px solid var(--hairline-soft); }
.side__group { font-family: var(--font-data); font-size: var(--fs-micro); letter-spacing: .16em; text-transform: uppercase; color: var(--muted-deep); padding: 0 var(--s3); margin: 0 0 var(--s2); }
.side__link {
  display: flex; align-items: center; gap: 10px; padding: 9px var(--s3);
  border-radius: var(--r-md); font-size: var(--fs-sm); font-weight: 600; color: var(--bone-dim);
  transition: background var(--t-fast), color var(--t-fast);
}
.side__link:hover { background: var(--slate); color: var(--bone); }
.side__link.is-active { background: var(--violet-wash); color: var(--violet-bright); box-shadow: inset 2px 0 0 var(--violet); }
.side__link svg { width: 16px; height: 16px; flex-shrink: 0; opacity: .85; }
.side__link .count { margin-left: auto; font-family: var(--font-data); font-size: var(--fs-micro); background: var(--slate-2); padding: 2px 7px; border-radius: var(--r-pill); }
.side__foot { margin-top: auto; padding-top: var(--s4); border-top: 1px solid var(--hairline-soft); }

.main { padding: var(--s6) var(--s7) var(--s9); min-width: 0; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: var(--s4); margin-bottom: var(--s6); flex-wrap: wrap; }
.topbar h1 { font-size: 1.68rem; margin: 0 0 3px; }
.topbar p { margin: 0; font-size: var(--fs-sm); color: var(--muted); max-width: 78ch; }

@media (max-width: 900px) {
  .shell { grid-template-columns: 1fr; }
  .side { position: static; height: auto; flex-direction: row; overflow-x: auto; align-items: center; gap: var(--s2); padding: var(--s3); }
  .side__group, .side__foot, .side__brand { display: none; }
  .side__link { white-space: nowrap; }
  .main { padding: var(--s5) var(--s4) var(--s8); }
}

.kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: var(--s4); margin-bottom: var(--s6); }
.kpi { background: var(--slate); border: 1px solid var(--hairline); border-radius: var(--r-lg); padding: var(--s5); position: relative; overflow: hidden; }
.kpi::after { content: ""; position: absolute; inset: 0 0 auto 0; height: 2px; background: linear-gradient(90deg, var(--violet), transparent); opacity: .55; }
.kpi--accent::after { background: linear-gradient(90deg, var(--vital), transparent); }
.kpi__k { font-size: var(--fs-xs); color: var(--muted); margin: 0 0 9px; display: flex; align-items: center; gap: 6px; }
.kpi__v { font-family: var(--font-display); font-size: 1.95rem; font-weight: 700; letter-spacing: -.035em; line-height: 1; font-variant-numeric: tabular-nums; margin: 0; }
.kpi__d { margin: 9px 0 0; font-size: var(--fs-xs); font-family: var(--font-data); display: flex; align-items: center; gap: 5px; }
.kpi__d.up { color: var(--vital); }
.kpi__d.down { color: var(--rose); }
.kpi__d.flat { color: var(--muted); }

.chart { width: 100%; height: auto; overflow: visible; }
.chart .grid-line { stroke: var(--hairline-soft); stroke-width: 1; }
.chart .axis-label { fill: var(--muted); font-size: 9px; font-family: var(--font-data); }
.chart .area { fill: url(#gradViolet); }
[data-theme="dark"] .chart .area { fill: url(#gradVioletDark); }
.chart .line { fill: none; stroke: var(--violet-bright); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.chart .line--vital { stroke: var(--vital); }
.chart .bar { fill: var(--violet); transition: fill var(--t-fast); }
.chart .bar:hover { fill: var(--violet-bright); }
.chart .dot { fill: var(--violet-bright); }

.panel { background: var(--slate); border: 1px solid var(--hairline); border-radius: var(--r-lg); padding: var(--s5); }
.panel__head { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); margin-bottom: var(--s5); flex-wrap: wrap; }
.panel__head h2, .panel__head h3 { margin: 0; font-size: 1.02rem; }

.tiers { display: grid; grid-template-columns: repeat(auto-fit, minmax(224px, 1fr)); gap: var(--s4); }
.tier { background: var(--slate); border: 1px solid var(--hairline); border-radius: var(--r-lg); padding: var(--s5); display: flex; flex-direction: column; gap: var(--s3); position: relative; }
.tier.is-current { border-color: var(--vital); box-shadow: var(--glow-vital); }
.tier.is-recommended { border-color: var(--violet); box-shadow: var(--glow-violet); }
.tier__name { font-family: var(--font-display); font-size: 1.18rem; font-weight: 700; margin: 0; }
.tier__price { font-family: var(--font-display); font-size: 2rem; font-weight: 700; letter-spacing: -.035em; margin: 0; }
.tier__price small { font-size: .8rem; color: var(--muted); font-family: var(--font-body); font-weight: 500; letter-spacing: 0; }
.tier__feature { display: flex; gap: 8px; font-size: var(--fs-xs); color: var(--bone-dim); align-items: flex-start; line-height: 1.5; }
.tier__feature svg { width: 13px; height: 13px; flex-shrink: 0; margin-top: 3px; }
.tier__feature.off { color: var(--muted-deep); }

.lead-row { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: var(--s4); align-items: center; padding: var(--s4); border: 1px solid var(--hairline); border-radius: var(--r-md); background: var(--slate); transition: border-color var(--t-fast); }
.lead-row:hover { border-color: var(--violet-line); }
.lead-row.is-new { border-left: 2px solid var(--vital); }
.lead-row__name { font-weight: 700; color: var(--bone); font-size: var(--fs-sm); margin: 0; }
.lead-row__msg { font-size: var(--fs-xs); color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin: 0; }

.asset-card { border: 1px solid var(--hairline); border-radius: var(--r-lg); background: var(--slate); padding: var(--s5); display: flex; flex-direction: column; gap: var(--s3); }
.asset-card__icon { width: 38px; height: 38px; border-radius: var(--r-md); display: grid; place-items: center; background: var(--violet-wash); border: 1px solid var(--violet-line); }
.asset-card__icon svg { width: 18px; height: 18px; color: var(--violet-bright); }
.embed-box {
  font-family: var(--font-data); font-size: .72rem; line-height: 1.6;
  background: var(--ink); border: 1px solid var(--hairline); border-radius: var(--r-md);
  padding: var(--s3); color: var(--bone-dim); overflow-x: auto; white-space: pre-wrap;
  word-break: break-all; max-height: 132px; margin: 0;
}

.badge-preview { display: inline-flex; align-items: center; gap: 10px; padding: 10px 15px; border-radius: var(--r-md); background: var(--ink-2); border: 1px solid color-mix(in srgb, var(--vital) 32%, transparent); }
.badge-preview__mark { width: 26px; height: 26px; }
.badge-preview__t { display: block; font-size: .68rem; color: var(--muted); font-family: var(--font-data); letter-spacing: .1em; text-transform: uppercase; }
.badge-preview__n { display: block; font-size: .82rem; color: var(--bone); font-weight: 700; }

.auth { min-height: 78vh; display: grid; place-items: center; padding: var(--s6) var(--s4); }
.auth__card { width: min(100%, 440px); background: var(--slate); border: 1px solid var(--hairline); border-radius: var(--r-xl); padding: var(--s7); box-shadow: var(--shadow-lg); }
.auth__demo { margin-top: var(--s5); padding-top: var(--s5); border-top: 1px solid var(--hairline-soft); font-size: var(--fs-xs); color: var(--muted); }

.board { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--s3); align-items: start; }

.tier-flag--unclaimed { background: var(--amber-wash); color: var(--amber); border: 1px solid color-mix(in srgb, var(--amber) 32%, transparent); border-top: 0; }

.unclaimed-banner {
  display: flex; gap: var(--s4); align-items: flex-start;
  padding: var(--s5); margin-bottom: var(--s7);
  border: 1px solid color-mix(in srgb, var(--amber) 32%, transparent);
  background: var(--amber-wash); border-radius: var(--r-lg);
  font-size: var(--fs-sm); color: var(--bone-dim); line-height: 1.7;
}
.unclaimed-banner svg { width: 22px; height: 22px; color: var(--amber); flex-shrink: 0; margin-top: 2px; }
.unclaimed-banner strong { display: block; color: var(--bone); margin-bottom: 4px; font-size: var(--fs-body); }

.lede { padding-block: var(--s11) var(--s10); }
.lede__title {
  font-size: clamp(3.1rem, 8.6vw, 7.4rem);
  line-height: .94;
  letter-spacing: -.04em;
  margin: var(--s5) 0 var(--s6);
  max-width: 15ch;
  font-weight: 800;
}
.lede__title em { font-style: normal; color: var(--violet-bright); }
.lede__sub {
  font-size: clamp(1.12rem, 1.9vw, 1.45rem);
  line-height: 1.6; color: var(--bone-dim);
  max-width: 46ch; margin: 0 0 var(--s8);
}

.bigsearch {
  display: flex; align-items: stretch; gap: var(--s2);
  max-width: 720px; padding: var(--s2);
  background: var(--slate); border: 1px solid var(--hairline);
  border-radius: var(--r-pill); box-shadow: var(--shadow-md);
}
.bigsearch__input {
  flex: 1; min-width: 0; border: 0; background: transparent;
  padding: 16px 22px; font-size: 1.12rem; color: var(--bone);
}
.bigsearch__input::placeholder { color: var(--muted-deep); }
.bigsearch__input:focus { outline: none; }
.bigsearch:focus-within { border-color: var(--violet); box-shadow: var(--shadow-md), 0 0 0 4px var(--violet-wash); }
.bigsearch__go {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 0 30px; border: 0; border-radius: var(--r-pill);
  background: var(--violet); color: var(--on-violet);
  font-size: var(--fs-body); font-weight: 700; cursor: pointer;
  transition: background var(--t-fast);
}
.bigsearch__go:hover { background: var(--violet-deep); }
.bigsearch__hint { font-size: var(--fs-sm); color: var(--muted); margin: var(--s4) 0 0; }
.bigsearch__hint a { color: var(--bone-dim); }
.bigsearch__hint a:hover { color: var(--violet-bright); }

.lede__proof { display: flex; gap: var(--s10); flex-wrap: wrap; margin-top: var(--s10); }
.bignum { display: flex; flex-direction: column; gap: var(--s2); }
.bignum__n {
  font-family: var(--font-display); font-size: clamp(2.6rem, 5vw, 4.2rem);
  font-weight: 700; line-height: 1; letter-spacing: -.045em;
  font-variant-numeric: tabular-nums; color: var(--bone);
}
.bignum__l { font-size: var(--fs-sm); color: var(--muted); }

@media (max-width: 780px) {
  .lede { padding-block: var(--s8) var(--s8); }
  .lede__proof { gap: var(--s7); margin-top: var(--s8); }
  .bigsearch { flex-direction: column; border-radius: var(--r-xl); }
  .bigsearch__go { padding: 15px; justify-content: center; }
}

.bighead {
  font-size: clamp(2.2rem, 4.6vw, 3.7rem);
  line-height: 1.02; letter-spacing: -.035em; margin: 0;
}

.mapband { padding-block: var(--s10); }
.mapband__head { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s8); align-items: end; margin-bottom: var(--s9); }
.mapband__copy { font-size: var(--fs-lead); color: var(--bone-dim); margin: 0; max-width: 44ch; }
.mapband .cartogram { max-width: 100%; gap: 8px; margin-inline: auto; }
.mapband__foot { display: flex; align-items: center; justify-content: space-between; gap: var(--s5); flex-wrap: wrap; margin-top: var(--s7); }
@media (max-width: 860px) { .mapband__head { grid-template-columns: 1fr; gap: var(--s5); } }

.claimband { padding-block: var(--s10); }
.claimband__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s9); align-items: center; }
.claimband__copy { font-size: var(--fs-body); color: var(--bone-dim); line-height: 1.75; max-width: 46ch; margin: var(--s5) 0 0; }
.claimband__grid .btn { margin-top: var(--s6); }
.claimband__list { display: flex; flex-direction: column; gap: var(--s2); }

.minilisting {
  display: flex; align-items: center; gap: var(--s4);
  padding: var(--s4) var(--s5);
  border: 1px solid var(--hairline); border-radius: var(--r-lg);
  background: var(--slate);
  transition: border-color var(--t-fast), transform var(--t-fast);
}
.minilisting:hover { border-color: var(--violet-line); transform: translateX(3px); }
.minilisting__mark {
  --hue: 250;
  width: 42px; height: 42px; flex-shrink: 0; border-radius: 12px;
  display: grid; place-items: center;
  font-family: var(--font-data); font-size: .78rem; font-weight: 700;
  color: hsl(var(--hue) var(--tile-text-s) var(--tile-text-l));
  background: hsl(var(--hue) var(--tile-s1) var(--tile-l1));
  border: 1px solid hsl(var(--hue) var(--tile-border-s) var(--tile-border-l));
}
.minilisting__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.minilisting__name { font-weight: 700; color: var(--bone); font-size: var(--fs-sm); }
.minilisting__where { font-size: var(--fs-xs); color: var(--muted); font-family: var(--font-data); }
.minilisting__cta {
  font-size: var(--fs-xs); font-weight: 700; color: var(--vital);
  padding: 6px 14px; border-radius: var(--r-pill);
  background: var(--vital-wash); border: 1px solid color-mix(in srgb, var(--vital) 30%, transparent);
  flex-shrink: 0;
}
@media (max-width: 860px) { .claimband__grid { grid-template-columns: 1fr; gap: var(--s7); } }

.readband { padding-block: var(--s10); }
.readband__head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--s5); margin-bottom: var(--s8); flex-wrap: wrap; }

.ph { position: relative; margin: 0; border-radius: var(--r-xl); overflow: hidden; aspect-ratio: var(--ratio, 16/9); background: var(--ink-2); }
.ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ph--empty { --h: 160; background: linear-gradient(150deg, var(--sand), var(--brand-wash)); }
.ph--empty .ph__shape {
  position: absolute; inset: 12% auto auto 8%; width: 58%; aspect-ratio: 1; border-radius: 50%;
  background: hsl(var(--h) 34% 72% / .55); filter: blur(2px); transform: rotate(var(--rot));
}
.ph--empty .ph__shape--b {
  inset: auto -10% -18% auto; width: 66%; border-radius: 42% 58% 50% 50%;
  background: hsl(calc(var(--h) + 24) 30% 82% / .6);
}
.ph--empty .ph__glyph {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 34%; max-width: 110px; color: var(--brand-deep); opacity: .34;
}
.ph--empty .ph__glyph svg { width: 100%; height: auto; }
.ph--art { background: transparent; }
.ph--art img { object-fit: cover; }

.pill {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 14px; border-radius: var(--r-pill);
  background: var(--brand-wash); border: 1px solid var(--brand-line);
  color: var(--brand-bright); font-size: var(--fs-xs); font-weight: 600;
}
.pill--sand { background: var(--sand); border-color: var(--sand-deep); color: var(--bone); }

.hero2 { padding-block: var(--s9) var(--s10); background: linear-gradient(180deg, var(--ink-2), var(--ink) 72%); }
.hero2__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: var(--s9); align-items: center; }
.hero2 h1 { font-size: var(--fs-mega); letter-spacing: -.035em; line-height: 1.04; margin: var(--s5) 0 var(--s4); max-width: 14ch; }
.hero2__sub { font-size: var(--fs-lead); color: var(--bone-dim); max-width: 46ch; margin: 0 0 var(--s6); line-height: 1.6; }
.hero2__popular { font-size: var(--fs-sm); color: var(--muted); margin: var(--s4) 0 0; }
.hero2__popular a { color: var(--bone-dim); font-weight: 600; }
.hero2__popular a:hover { color: var(--brand-bright); }
.hero2__popular span { margin: 0 7px; opacity: .45; }
.hero2__art { position: relative; }

.findbar {
  display: grid; grid-template-columns: 1.2fr 1fr auto; gap: var(--s2);
  background: var(--slate); border: 1px solid var(--hairline);
  border-radius: var(--r-xl); padding: var(--s2); box-shadow: var(--shadow-md);
}
.findbar__field { position: relative; display: flex; align-items: center; }
.findbar__icon { position: absolute; left: 16px; color: var(--muted); pointer-events: none; }
.findbar__input {
  width: 100%; border: 0; background: transparent; padding: 15px 14px 15px 44px;
  font-size: var(--fs-body); color: var(--bone); border-radius: var(--r-lg);
}
.findbar__input:focus { outline: none; background: var(--ink-2); }
.findbar__select { appearance: none; cursor: pointer; }
.findbar__field--split { border-left: 1px solid var(--hairline-soft); }
.findbar__go {
  border: 0; border-radius: var(--r-lg); background: var(--brand); color: var(--on-brand);
  font-size: var(--fs-body); font-weight: 700; padding: 0 28px; cursor: pointer; white-space: nowrap;
  transition: background var(--t-fast);
}
.findbar__go:hover { background: var(--brand-hover); }

.trustrow { display: flex; gap: var(--s6); flex-wrap: wrap; margin-top: var(--s7); padding-top: var(--s6); border-top: 1px solid var(--hairline); }
.trustrow__item { display: flex; align-items: center; gap: 9px; font-size: var(--fs-sm); color: var(--bone-dim); font-weight: 500; }
.trustrow__item svg { width: 17px; height: 17px; color: var(--brand); flex-shrink: 0; }

.floatcard {
  position: absolute; left: -28px; bottom: 32px;
  display: flex; align-items: center; gap: 12px;
  background: var(--slate); border: 1px solid var(--hairline);
  border-radius: var(--r-lg); padding: 14px 18px; box-shadow: var(--shadow-lg);
}
.floatcard__mark { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--brand-wash); color: var(--brand); flex-shrink: 0; }
.floatcard b { display: block; font-size: var(--fs-sm); color: var(--bone); }
.floatcard em { display: block; font-style: normal; font-size: var(--fs-xs); color: var(--muted); }

@media (max-width: 940px) {
  .hero2__grid { grid-template-columns: 1fr; gap: var(--s7); }
  .hero2__art { order: -1; }
  .findbar { grid-template-columns: 1fr; }
  .findbar__field--split { border-left: 0; border-top: 1px solid var(--hairline-soft); }
  .findbar__go { padding: 15px; }
  .floatcard { left: 12px; bottom: 12px; }
}

.sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--s5); flex-wrap: wrap; margin-bottom: var(--s7); }
.sec-head h2 { margin: 0 0 var(--s2); }
.sec-head p { margin: 0; color: var(--muted); font-size: var(--fs-sm); max-width: 58ch; }

.steps { padding-block: var(--s10); }
.steps__head { text-align: center; margin-bottom: var(--s8); }
.steps__head h2 { margin: 0 0 var(--s3); }
.steps__head p { color: var(--muted); margin: 0; }
.steps__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--s5); }
.step {
  text-align: center; padding: var(--s7) var(--s5);
  background: var(--slate); border: 1px solid var(--hairline); border-radius: var(--r-xl);
  transition: border-color var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);
}
.step:hover { border-color: var(--brand-line); transform: translateY(-3px); box-shadow: var(--shadow-md); }
.step__ico {
  display: grid; place-items: center; width: 66px; height: 66px; margin: 0 auto var(--s5);
  border-radius: 22px; background: var(--brand-wash); color: var(--brand);
}
.step__ico svg { width: 34px; height: 34px; }
.step__n {
  display: block; font-size: var(--fs-micro); font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--muted); margin-bottom: var(--s2);
}
.step h3 { margin: 0 0 var(--s2); font-size: 1.28rem; letter-spacing: -.02em; }
.step p { margin: 0; color: var(--brand-bright); font-size: var(--fs-sm); font-weight: 600; }

.condband { padding-block: var(--s10); background: var(--ink-2); }
.condgrid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--s4); }
@media (max-width: 1080px) { .condgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 860px)  { .condgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 620px)  { .condgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.condcard {
  display: flex; flex-direction: column; gap: var(--s2);
  padding: var(--s5); border-radius: var(--r-lg);
  background: var(--slate); border: 1px solid var(--hairline);
  transition: border-color var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);
}
.condcard:hover { border-color: var(--brand-line); transform: translateY(-2px); box-shadow: var(--shadow-md); }
.condcard__icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: var(--brand-wash); color: var(--brand); margin-bottom: var(--s3); }
.condcard__icon svg { width: 30px; height: 30px; }
.condcard__name { font-weight: 700; color: var(--bone); font-size: var(--fs-sm); line-height: 1.35; }
.condcard__meta { font-size: var(--fs-xs); color: var(--muted); }

.listband { padding-block: var(--s10); }

.trustband { padding-block: var(--s10); background: var(--ink-2); }
.trustband__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: var(--s9); align-items: center; }
.trustband h2 { margin: var(--s4) 0 var(--s6); max-width: 20ch; }
.trustband .btn { margin-top: var(--s6); }
.checklist { display: flex; flex-direction: column; gap: var(--s5); }
.checkitem { display: flex; gap: var(--s4); align-items: flex-start; }
.checkitem svg { width: 22px; height: 22px; flex-shrink: 0; color: var(--on-brand); background: var(--brand); border-radius: 50%; padding: 4px; margin-top: 2px; }
.checkitem div { font-size: var(--fs-sm); color: var(--bone-dim); line-height: 1.65; }
.checkitem b { display: block; color: var(--bone); margin-bottom: 3px; font-size: var(--fs-body); }
@media (max-width: 940px) { .trustband__grid { grid-template-columns: 1fr; gap: var(--s7); } }

.cityband { padding-block: var(--s10); }
.citygrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--s3); }
.citychip {
  display: flex; align-items: center; gap: var(--s3);
  padding: var(--s4) var(--s5); border-radius: var(--r-md);
  background: var(--slate); border: 1px solid var(--hairline);
  transition: border-color var(--t-fast), background var(--t-fast);
}
.citychip:hover { border-color: var(--brand-line); background: var(--brand-wash); }
.citychip__pin { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: var(--brand-wash); color: var(--brand); flex-shrink: 0; }
.citychip__pin svg { width: 22px; height: 22px; }
.citychip__text { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.citychip b { color: var(--bone); font-size: var(--fs-sm); }
.citychip__text > span { color: var(--muted); font-size: var(--fs-xs); }

.readband2 { padding-block: var(--s10); background: var(--ink-2); }
.artcard { display: flex; flex-direction: column; gap: var(--s3); }
.artcard .ph { border-radius: var(--r-lg); margin-bottom: var(--s2); }
.artcard__cat { font-size: var(--fs-micro); font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--brand-bright); }
.artcard__title { font-size: 1.16rem; font-weight: 700; color: var(--bone); line-height: 1.3; letter-spacing: -.015em; }
.artcard:hover .artcard__title { color: var(--brand-bright); }
.artcard__dek { font-size: var(--fs-sm); color: var(--muted); line-height: 1.6; }
.artcard__meta { font-size: var(--fs-xs); color: var(--muted-deep); margin-top: auto; padding-top: var(--s3); }

.faqband { padding-block: var(--s10); }

.ctaband { padding-block: var(--s8) var(--s10); }
.ctaband__inner {
  display: grid; grid-template-columns: 1.2fr auto; gap: var(--s7); align-items: center;
  background: var(--brand); color: var(--on-brand);
  border-radius: var(--r-xl); padding: var(--s8);
}
.ctaband h2 { color: var(--on-brand); margin: 0 0 var(--s3); max-width: 18ch; }
.ctaband p { color: var(--on-brand); opacity: .88; margin: 0; max-width: 52ch; font-size: var(--fs-body); line-height: 1.65; }
.ctaband__actions { display: flex; gap: var(--s3); flex-wrap: wrap; }
.btn--onbrand { background: var(--slate); color: var(--brand-deep); }
.btn--onbrand:hover { background: var(--slate); color: var(--brand-deep); box-shadow: var(--shadow-lg); }
.btn--ghostlight { background: transparent; border-color: rgba(255,255,255,.45); color: var(--on-brand); }
.btn--ghostlight:hover { background: rgba(255,255,255,.14); color: var(--on-brand); border-color: rgba(255,255,255,.6); box-shadow: none; }
@media (max-width: 860px) { .ctaband__inner { grid-template-columns: 1fr; padding: var(--s6); } }

.topstrip { background: var(--brand-deep); color: #ffffff; font-size: var(--fs-xs); }
.topstrip .wrap { display: flex; align-items: center; justify-content: space-between; gap: var(--s5); min-height: 40px; flex-wrap: wrap; }
.topstrip__crisis { margin: 0; display: flex; align-items: center; gap: 8px; opacity: .95; }
.topstrip__crisis svg { width: 15px; height: 15px; flex-shrink: 0; }
.topstrip__crisis strong { font-weight: 700; }
.topstrip__links { display: flex; gap: var(--s5); }
.topstrip__links a { color: #ffffff; opacity: .85; font-weight: 500; }
.topstrip__links a:hover { opacity: 1; color: #ffffff; text-decoration: underline; }
@media (max-width: 720px) { .topstrip__links { display: none; } .topstrip .wrap { justify-content: center; padding-block: 8px; } }

.masthead { position: sticky; top: 0; z-index: 90; background: var(--nav-bg); backdrop-filter: blur(14px) saturate(150%); border-bottom: 1px solid var(--hairline); }
.masthead__inner { display: flex; align-items: stretch; gap: var(--s6); min-height: var(--nav-h); }
.masthead .brand, .masthead__actions { align-items: center; }
.masthead .brand { display: flex; }
.masthead .brand__mark { width: 36px; height: 36px; }
.masthead .brand__word { font-size: 1.24rem; font-weight: 800; letter-spacing: -.03em; }
.brand__word b { color: var(--brand); font-weight: 800; }

.mainnav { display: flex; align-items: center; gap: var(--s2); margin-left: var(--s4); }
.mainnav__link { padding: 10px 14px; border-radius: var(--r-md); font-size: var(--fs-sm); font-weight: 600; color: var(--bone-dim); white-space: nowrap; transition: background var(--t-fast), color var(--t-fast); }
.mainnav__link:hover { background: var(--brand-wash); color: var(--brand-bright); }
.mainnav__link[aria-current="page"] { color: var(--brand-bright); background: var(--brand-wash); }

.masthead__actions { display: flex; align-items: center; gap: var(--s3); margin-left: auto; }
.masthead__cta { padding: 11px 20px; }
@media (max-width: 1080px) { .mainnav { display: none; } }
@media (max-width: 620px) { .masthead__cta { display: none; } }

.footer2 { background: var(--ink-2); border-top: 1px solid var(--hairline); padding-block: var(--s9) var(--s6); margin-top: var(--s10); }
.footer2__cta {
  display: flex; align-items: center; justify-content: space-between; gap: var(--s6); flex-wrap: wrap;
  background: var(--brand); color: var(--on-brand);
  border-radius: var(--r-xl); padding: var(--s7); margin-bottom: var(--s9);
}
.footer2__cta h2 { color: var(--on-brand); margin: 0 0 6px; font-size: 1.7rem; }
.footer2__cta p { color: var(--on-brand); opacity: .9; margin: 0; }

.footer2__grid { display: grid; grid-template-columns: 1.7fr repeat(4, 1fr); gap: var(--s7); margin-bottom: var(--s8); }
.footer2__blurb { font-size: var(--fs-sm); color: var(--muted); max-width: 34ch; margin: var(--s4) 0 var(--s5); line-height: 1.65; }
.footer2__badge { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: var(--r-md); background: var(--brand-wash); border: 1px solid var(--brand-line); }
.footer2__badge svg { width: 26px; height: 26px; color: var(--brand); flex-shrink: 0; }
.footer2__badge b { display: block; font-size: var(--fs-xs); color: var(--bone); }
.footer2__badge span span, .footer2__badge > span { font-size: var(--fs-micro); color: var(--muted); }
.footer2__col h3 { font-size: var(--fs-xs); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bone); margin: 0 0 var(--s4); }
.footer2__col a { display: block; padding: 6px 0; font-size: var(--fs-sm); color: var(--muted); }
.footer2__col a:hover { color: var(--brand-bright); }

.footer2__crisis { display: flex; gap: var(--s4); align-items: flex-start; padding: var(--s5); border-radius: var(--r-lg); background: var(--rose-wash); border: 1px solid color-mix(in srgb, var(--rose) 26%, transparent); margin-bottom: var(--s6); }
.footer2__crisis svg { width: 22px; height: 22px; color: var(--rose); flex-shrink: 0; margin-top: 2px; }
.footer2__crisis p { margin: 0; font-size: var(--fs-sm); color: var(--bone-dim); line-height: 1.65; }
.footer2__crisis strong { color: var(--rose); }

.footer2__legal { border-top: 1px solid var(--hairline); padding-top: var(--s5); }
.footer2__legal p { font-size: var(--fs-xs); color: var(--muted); line-height: 1.7; margin: 0 0 var(--s3); }
.footer2__legal strong { color: var(--bone-dim); }
.footer2__copy { margin: var(--s4) 0 0 !important; }

@media (max-width: 1000px) { .footer2__grid { grid-template-columns: 1fr 1fr 1fr; } }
@media (max-width: 640px)  { .footer2__grid { grid-template-columns: 1fr 1fr; gap: var(--s6); } }

.mythband { padding-block: var(--s10); background: var(--ink-2); }
.mythgrid { display: grid; gap: var(--s4); }
.mythrow { display: grid; grid-template-columns: 1fr 1.35fr; gap: var(--s4); }
.mythcard { padding: var(--s6); border-radius: var(--r-lg); border: 1px solid var(--hairline); background: var(--slate); }
.mythcard p { margin: 0; font-size: var(--fs-body); line-height: 1.65; }
.mythcard__tag { display: inline-flex; align-items: center; gap: 7px; font-size: var(--fs-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: var(--s3); }
.mythcard__tag svg { width: 20px; height: 20px; }
.mythcard--myth { background: var(--ink-3); }
.mythcard--myth .mythcard__tag { color: var(--rose); }
.mythcard--myth p { color: var(--bone-dim); text-decoration: line-through; text-decoration-color: color-mix(in srgb, var(--rose) 45%, transparent); text-decoration-thickness: 1.5px; }
.mythcard--fact { border-color: var(--brand-line); }
.mythcard--fact .mythcard__tag { color: var(--brand-bright); }
.mythcard--fact p { color: var(--bone); }
@media (max-width: 800px) { .mythrow { grid-template-columns: 1fr; gap: var(--s2); } }

.caseband { padding-block: var(--s10); }
.casecard { display: flex; flex-direction: column; padding: var(--s6); border-radius: var(--r-xl); border: 1px solid var(--hairline); background: var(--slate); transition: border-color var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast); }
.casecard:hover { border-color: var(--brand-line); transform: translateY(-3px); box-shadow: var(--shadow-md); }
.casecard__ico { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 18px; background: var(--brand-wash); color: var(--brand); margin-bottom: var(--s5); }
.casecard__ico svg { width: 32px; height: 32px; }
.casecard__label { font-size: var(--fs-micro); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-bottom: var(--s2); }
.casecard h3 { font-size: 1.24rem; margin: 0 0 var(--s3); letter-spacing: -.02em; }
.casecard > p { font-size: var(--fs-sm); color: var(--bone-dim); line-height: 1.7; margin: 0 0 var(--s5); }
.casecard__facts { margin: auto 0 0; padding-top: var(--s5); border-top: 1px solid var(--hairline-soft); display: grid; gap: var(--s3); }
.casecard__facts > div { display: flex; justify-content: space-between; gap: var(--s3); }
.casecard__facts dt { font-size: var(--fs-xs); color: var(--muted); margin: 0; }
.casecard__facts dd { font-size: var(--fs-xs); color: var(--bone); font-weight: 700; margin: 0; text-align: right; }
.caseband__note { margin: var(--s7) 0 0; font-size: var(--fs-xs); color: var(--muted); max-width: 76ch; line-height: 1.7; }

.hero2 { padding-block: var(--s9) var(--s10); }
.steps, .condband, .listband, .trustband, .cityband, .readband2, .faqband, .mythband, .caseband { padding-block: var(--s10); }
.ctaband { padding-block: var(--s8) var(--s10); }

.masthead__inner { align-items: stretch; }
.mainnav { align-self: stretch; }
.mega { position: static; display: flex; align-items: center; }
.mainnav__link--has { display: inline-flex; align-items: center; gap: 6px; border: 0; background: none; cursor: pointer; font-family: inherit; }
.mainnav__caret { width: 14px; height: 14px; opacity: .6; transition: transform var(--t-fast) var(--ease-out); }
.mega.is-open .mainnav__link--has { background: var(--brand-wash); color: var(--brand-bright); }
.mega.is-open .mainnav__caret { transform: rotate(180deg); }

.megapanel {
  position: absolute; left: 0; right: 0; top: 100%;
  background: var(--slate); border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline); box-shadow: var(--shadow-lg);
  opacity: 0; transform: translateY(-8px); pointer-events: none;
  transition: opacity var(--t-base) var(--ease-out), transform var(--t-base) var(--ease-out);
  z-index: 60;
}
.megapanel[hidden] { display: block; visibility: hidden; }
.mega.is-open .megapanel { opacity: 1; transform: none; pointer-events: auto; visibility: visible; }
.megapanel__inner { display: grid; grid-template-columns: 1.1fr 1.5fr .9fr; gap: var(--s7); padding-block: var(--s7); }
.megapanel__col--wide { grid-column: span 2; }
.megapanel__eyebrow { display: block; font-size: var(--fs-micro); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: var(--s4); }

.megafeature { display: block; padding: var(--s4); border-radius: var(--r-lg); border: 1px solid var(--hairline); margin-bottom: var(--s3); transition: border-color var(--t-fast), background var(--t-fast); }
.megafeature:hover { border-color: var(--brand-line); background: var(--brand-wash); }
.megafeature__ico { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--brand-wash); color: var(--brand); margin-bottom: var(--s3); }
.megafeature__ico svg { width: 24px; height: 24px; }
.megafeature b { display: block; color: var(--bone); font-size: var(--fs-sm); margin-bottom: 3px; }
.megafeature em { display: block; font-style: normal; font-size: var(--fs-xs); color: var(--muted); line-height: 1.5; }

.megalist { display: grid; gap: 2px; }
.megalist--two { grid-template-columns: 1fr 1fr; gap: 2px var(--s5); }
.megalist a { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); padding: 8px 10px; border-radius: var(--r-sm); font-size: var(--fs-sm); font-weight: 600; color: var(--bone-dim); }
.megalist a:hover { background: var(--brand-wash); color: var(--brand-bright); }
.megalist i { font-style: normal; font-size: var(--fs-xs); color: var(--muted); font-family: var(--font-data); }
.megapanel__more { display: inline-block; margin-top: var(--s4); font-size: var(--fs-xs); font-weight: 700; color: var(--brand-bright); }

.megacards { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s2); }
.megacards--two { grid-template-columns: 1fr 1fr; }
.megacard { display: flex; align-items: center; gap: var(--s3); padding: 10px 12px; border-radius: var(--r-md); transition: background var(--t-fast); }
.megacard:hover { background: var(--brand-wash); }
.megacard__ico { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: var(--brand-wash); color: var(--brand); flex-shrink: 0; }
.megacard__ico svg { width: 24px; height: 24px; }
.megacard__body { min-width: 0; }
.megacard b { display: block; font-size: var(--fs-sm); color: var(--bone); line-height: 1.3; }
.megacard em { display: block; font-style: normal; font-size: var(--fs-micro); color: var(--muted); }

.megacta { padding: var(--s5); border-radius: var(--r-lg); background: var(--brand-wash); border: 1px solid var(--brand-line); }
.megacta--sand { background: var(--sand); border-color: var(--sand-deep); }
.megacta p { margin: 0 0 var(--s4); font-size: var(--fs-sm); color: var(--bone-dim); line-height: 1.6; }

.megaveil { position: fixed; inset: var(--nav-h) 0 0; background: rgba(10,20,17,.28); opacity: 0; pointer-events: none; transition: opacity var(--t-base); z-index: 50; }
.megaveil[hidden] { display: block; }
.megaveil.is-on { opacity: 1; pointer-events: auto; }

@media (max-width: 1080px) { .megapanel { display: none !important; } }

.dock { position: fixed; right: 20px; bottom: 20px; z-index: 95; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.dock__btn {
  width: 54px; height: 54px; border-radius: 50%; border: 0; cursor: pointer;
  display: grid; place-items: center; position: relative;
  box-shadow: var(--shadow-lg); transition: transform var(--t-fast) var(--ease-out), background var(--t-fast), opacity var(--t-base);
}
.dock__btn:hover { transform: translateY(-2px); }
.dock__btn svg { width: 26px; height: 26px; }
.dock__btn--help { background: var(--brand); color: var(--on-brand); }
.dock__btn--help:hover { background: var(--brand-hover); }
.dock__btn--top { width: 46px; height: 46px; background: var(--slate); color: var(--bone-dim); border: 1px solid var(--hairline); }
.dock__btn--top:hover { color: var(--brand-bright); border-color: var(--brand-line); }
.dock__btn--top svg { width: 20px; height: 20px; }
.dock__btn--top[hidden] { display: grid; opacity: 0; pointer-events: none; transform: translateY(8px); }
.dock__close { display: none; }
.dock.is-open .dock__open { display: none; }
.dock.is-open .dock__close { display: block; }
.dock__pulse { position: absolute; inset: 0; border-radius: 50%; box-shadow: 0 0 0 0 var(--brand); animation: dockpulse 2.8s var(--ease-out) infinite; }
@keyframes dockpulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--brand) 55%, transparent); } 70%,100% { box-shadow: 0 0 0 16px transparent; } }
.dock.is-open .dock__pulse { display: none; }

.dock__menu {
  width: min(320px, calc(100vw - 40px));
  background: var(--slate); border: 1px solid var(--hairline);
  border-radius: var(--r-xl); box-shadow: var(--shadow-lg); padding: var(--s3);
  opacity: 0; transform: translateY(10px) scale(.97); transform-origin: bottom right;
  transition: opacity var(--t-base) var(--ease-out), transform var(--t-base) var(--ease-out);
}
.dock__menu[hidden] { display: block; pointer-events: none; }
.dock.is-open .dock__menu { opacity: 1; transform: none; pointer-events: auto; }
.dock__item { display: flex; align-items: center; gap: var(--s3); padding: 11px 12px; border-radius: var(--r-md); transition: background var(--t-fast); }
.dock__item:hover { background: var(--ink-2); }
.dock__ico { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: var(--brand-wash); color: var(--brand); flex-shrink: 0; }
.dock__ico svg { width: 22px; height: 22px; }
.dock__ico--wa { background: #e7f8ee; color: #128c4a; }
[data-theme="dark"] .dock__ico--wa { background: rgba(18,140,74,.18); color: #4fd48a; }
.dock__text b { display: block; font-size: var(--fs-sm); color: var(--bone); }
.dock__text em { display: block; font-style: normal; font-size: var(--fs-xs); color: var(--muted); }
.dock__crisis { display: flex; gap: 9px; align-items: flex-start; margin-top: var(--s2); padding: 11px 12px; border-radius: var(--r-md); background: var(--rose-wash); font-size: var(--fs-xs); color: var(--bone-dim); line-height: 1.5; }
.dock__crisis svg { width: 16px; height: 16px; color: var(--rose); flex-shrink: 0; margin-top: 2px; }
.dock__crisis strong { color: var(--rose); }
@media (max-width: 520px) { .dock { right: 14px; bottom: 14px; } }

[data-anim] { opacity: 0; will-change: opacity, transform; }
[data-anim="up"]    { transform: translateY(26px); }
[data-anim="fade"]  { transform: none; }
[data-anim="left"]  { transform: translateX(-26px); }
[data-anim="right"] { transform: translateX(26px); }
[data-anim="zoom"]  { transform: scale(.95); }
[data-anim].is-in {
  opacity: 1; transform: none;
  transition: opacity .7s var(--ease-out), transform .7s var(--ease-out);
}
[data-anim].is-in[style*="--d"] { transition-delay: var(--d); }

@media (prefers-reduced-motion: reduce) { [data-anim] { opacity: 1 !important; transform: none !important; } }

@media (hover: hover) and (min-width: 1081px) {
  .mega:hover .megapanel,
  .mega:focus-within .megapanel {
    opacity: 1; transform: none; pointer-events: auto; visibility: visible;
  }
  .mega:hover .mainnav__link--has,
  .mega:focus-within .mainnav__link--has { background: var(--brand-wash); color: var(--brand-bright); }
  .mega:hover .mainnav__caret,
  .mega:focus-within .mainnav__caret { transform: rotate(180deg); }
}

.prose ul, .prose ol { margin: 0 0 1.5em; padding: 0; list-style: none; }
.prose li { color: var(--bone-dim); line-height: 1.72; }
.prose figure { margin: var(--s7) 0; }

.plist { display: grid; gap: 12px; margin: 0 0 1.6em; }
.plist li { position: relative; padding-left: 30px; font-size: 1.02rem; }
.plist li::before {
  content: ""; position: absolute; left: 4px; top: .62em;
  width: 9px; height: 9px; border-radius: 50%;
  background: var(--brand); box-shadow: 0 0 0 4px var(--brand-wash);
}

.pkey {
  margin: var(--s7) 0; padding: var(--s6) var(--s6) calc(var(--s6) - 4px);
  border-radius: var(--r-xl); background: var(--brand-wash);
  border: 1px solid var(--brand-line);
}
.pkey__h {
  display: flex; align-items: center; gap: 10px; margin: 0 0 var(--s4);
  font-family: var(--font-display); font-size: 1.06rem; font-weight: 800;
  letter-spacing: -.01em; color: var(--brand-deep);
}
.pkey__h svg { width: 22px; height: 22px; padding: 4px; border-radius: 50%; background: var(--brand); color: var(--on-brand); flex-shrink: 0; }
.pkey__list { display: grid; gap: 11px; margin: 0; }
.pkey__list li { position: relative; padding-left: 26px; font-size: var(--fs-sm); color: var(--bone-dim); line-height: 1.66; }
.pkey__list li::before {
  content: ""; position: absolute; left: 2px; top: .58em;
  width: 8px; height: 8px; border-radius: 50%; background: var(--brand);
}

.pcheck {
  margin: var(--s7) 0; padding: var(--s6); border-radius: var(--r-xl);
  background: var(--slate); border: 1px solid var(--hairline); box-shadow: var(--shadow-sm);
}
.pcheck__h {
  margin: 0 0 var(--s5); font-family: var(--font-display); font-size: 1.06rem;
  font-weight: 800; letter-spacing: -.01em; color: var(--bone);
}
.pcheck__list { display: grid; gap: 13px; margin: 0; }
.pcheck__list li { display: flex; gap: 12px; align-items: flex-start; font-size: var(--fs-sm); line-height: 1.62; }
.pcheck__list svg {
  width: 21px; height: 21px; padding: 4px; border-radius: 50%; flex-shrink: 0; margin-top: 1px;
  background: var(--brand-wash); color: var(--brand);
}

.psteps { margin: var(--s7) 0; }
.psteps__h { margin: 0 0 var(--s5); font-family: var(--font-display); font-size: 1.06rem; font-weight: 800; letter-spacing: -.01em; color: var(--bone); }
.psteps__list { counter-reset: pstep; display: grid; gap: 2px; margin: 0; }
.psteps__list li {
  counter-increment: pstep; position: relative; display: flex; gap: 16px;
  padding: 14px 16px 14px 0; font-size: var(--fs-sm); line-height: 1.62;
}
.psteps__list li::before {
  content: counter(pstep); flex-shrink: 0;
  display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%;
  background: var(--brand); color: var(--on-brand);
  font-family: var(--font-data); font-size: .82rem; font-weight: 700;
}
.psteps__list li + li { border-top: 1px solid var(--hairline-soft); }

.pnote {
  display: flex; gap: var(--s4); align-items: flex-start;
  margin: var(--s7) 0; padding: var(--s5) var(--s6);
  border-radius: var(--r-lg); border: 1px solid var(--hairline);
  border-left: 4px solid var(--brand); background: var(--ink-2);
}
.pnote__ico { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; background: var(--brand-wash); color: var(--brand); flex-shrink: 0; }
.pnote__ico svg { width: 21px; height: 21px; }
.pnote__body { font-size: var(--fs-sm); color: var(--bone-dim); line-height: 1.66; }
.pnote__body b { display: block; color: var(--bone); font-size: var(--fs-body); margin-bottom: 5px; font-weight: 700; }
.pnote--warn { border-left-color: var(--amber); background: var(--amber-wash); }
.pnote--warn .pnote__ico { background: color-mix(in srgb, var(--amber) 16%, transparent); color: var(--amber); }
.pnote--tip { border-left-color: var(--sand-deep); background: var(--sand); }
.pnote--tip .pnote__ico { background: color-mix(in srgb, var(--sand-deep) 55%, transparent); color: var(--brand-deep); }

.pquote {
  margin: var(--s8) 0; padding: 0 0 0 var(--s6);
  border-left: 4px solid var(--brand); border-radius: 0;
}
.pquote p {
  margin: 0 !important; font-family: var(--font-display);
  font-size: 1.42rem; line-height: 1.4; letter-spacing: -.025em;
  font-weight: 700; color: var(--bone) !important;
}

.pstats {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s4);
  margin: var(--s7) 0;
}
.pstat { padding: var(--s5); border-radius: var(--r-lg); background: var(--ink-2); border: 1px solid var(--hairline); }
.pstat b {
  display: block; font-family: var(--font-display); font-size: 1.62rem; font-weight: 800;
  letter-spacing: -.035em; color: var(--brand-bright); margin-bottom: 4px; line-height: 1.1;
}
.pstat span { display: block; font-size: var(--fs-xs); color: var(--muted); line-height: 1.5; }
@media (max-width: 700px) { .pstats { grid-template-columns: 1fr; } }

.ptable-wrap { margin: var(--s7) 0; overflow-x: auto; border-radius: var(--r-lg); border: 1px solid var(--hairline); }
.ptable { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); min-width: 480px; }
.ptable caption {
  caption-side: top; text-align: left; padding: var(--s5) var(--s5) var(--s4);
  font-family: var(--font-display); font-size: 1.02rem; font-weight: 800;
  letter-spacing: -.01em; color: var(--bone); background: var(--slate);
}
.ptable th, .ptable td { padding: 13px var(--s5); text-align: left; vertical-align: top; line-height: 1.55; }
.ptable thead th {
  background: var(--ink-2); color: var(--bone); font-weight: 700;
  font-size: var(--fs-xs); letter-spacing: .06em; text-transform: uppercase;
  border-block: 1px solid var(--hairline);
}
.ptable tbody th { color: var(--bone); font-weight: 700; }
.ptable tbody td { color: var(--bone-dim); }
.ptable tbody tr + tr th, .ptable tbody tr + tr td { border-top: 1px solid var(--hairline-soft); }
.ptable tbody tr:hover th, .ptable tbody tr:hover td { background: var(--brand-wash); }

.pmyths { margin: var(--s7) 0; display: grid; gap: var(--s4); }
.pmyths h3 { margin: 0 0 var(--s2) !important; }
.pmyth { display: grid; grid-template-columns: 1fr 1.2fr; gap: 2px; border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--hairline); }
.pmyth p { margin: 0 !important; padding: var(--s5); font-size: var(--fs-sm); line-height: 1.62; }
.pmyth span {
  display: flex; align-items: center; gap: 7px; margin-bottom: 9px;
  font-size: var(--fs-micro); font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
}
.pmyth span svg { width: 17px; height: 17px; }
.pmyth__m { background: var(--ink-3); color: var(--bone-dim) !important; }
.pmyth__m span { color: var(--rose); }
.pmyth__f { background: var(--slate); color: var(--bone) !important; }
.pmyth__f span { color: var(--brand-bright); }
@media (max-width: 700px) { .pmyth { grid-template-columns: 1fr; } }

.ph--inline { margin: var(--s8) 0; }
.ph--inline img { border-radius: var(--r-xl); }
.ph__cap {
  margin-top: 11px; font-size: var(--fs-xs); color: var(--muted);
  line-height: 1.6; text-align: left;
}
.ph { display: block; }
.ph--art, .ph--empty, .ph--inline { aspect-ratio: auto; }
.ph--inline > img, .ph--art > img, .ph--empty .ph__art { aspect-ratio: var(--ratio, 16/9); }
.ph--empty .ph__art { position: relative; display: block; overflow: hidden; border-radius: var(--r-xl); background: linear-gradient(150deg, var(--sand), var(--brand-wash)); }

.phero { padding-block: var(--s8) var(--s7); background: linear-gradient(180deg, var(--ink-2), var(--ink)); border-bottom: 1px solid var(--hairline); }
.phero__grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: var(--s8); align-items: center; }
.phero h1 { font-size: var(--fs-h1); letter-spacing: -.035em; line-height: 1.08; margin: var(--s4) 0 var(--s4); }
.phero__dek { font-size: var(--fs-lead); color: var(--bone-dim); line-height: 1.6; margin: 0; max-width: 56ch; }
.phero__meta { display: flex; flex-wrap: wrap; gap: var(--s5); margin-top: var(--s6); padding-top: var(--s5); border-top: 1px solid var(--hairline); }
.phero__stat { display: flex; align-items: center; gap: 10px; }
.phero__stat svg { width: 20px; height: 20px; color: var(--brand); flex-shrink: 0; }
.phero__stat b { display: block; font-size: var(--fs-sm); color: var(--bone); font-weight: 700; }
.phero__stat span { display: block; font-size: var(--fs-xs); color: var(--muted); }
.phero__art .ph { border-radius: var(--r-xl); box-shadow: var(--shadow-md); }
@media (max-width: 940px) { .phero__grid { grid-template-columns: 1fr; gap: var(--s6); } .phero__art { display: none; } }

.sec { padding-block: var(--s9); }
.sec--tight { padding-block: var(--s8); }
.sec--alt2 { background: var(--ink-2); }
.sec--sand { background: var(--sand); }
.sec--last { padding-bottom: var(--s10); }

.chipbar { display: flex; gap: var(--s2); flex-wrap: wrap; align-items: center; }
.chipbar--scroll { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }

.artcard .ph { aspect-ratio: 16/10; }
.artcard--wide { display: grid; grid-template-columns: .85fr 1.15fr; gap: var(--s6); align-items: center; }
.artcard--wide .ph { margin-bottom: 0; }
@media (max-width: 760px) { .artcard--wide { grid-template-columns: 1fr; } }

.iconrow { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: var(--s5); }
.iconitem { display: flex; gap: var(--s4); align-items: flex-start; }
.iconitem__ico { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--brand-wash); color: var(--brand); flex-shrink: 0; }
.iconitem__ico svg { width: 26px; height: 26px; }
.iconitem b { display: block; font-size: var(--fs-body); color: var(--bone); margin-bottom: 4px; }
.iconitem span { display: block; font-size: var(--fs-sm); color: var(--muted); line-height: 1.6; }

.tocbox { position: sticky; top: calc(var(--nav-h) + 20px); padding: var(--s5); border-radius: var(--r-lg); background: var(--ink-2); border: 1px solid var(--hairline); }
.tocbox p { margin: 0 0 var(--s3); font-size: var(--fs-micro); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.tocbox a { display: block; padding: 6px 0; font-size: var(--fs-sm); color: var(--bone-dim); line-height: 1.45; }
.tocbox a:hover { color: var(--brand-bright); }

.readbar { position: fixed; top: 0; left: 0; height: 3px; z-index: 95; width: 0; background: linear-gradient(90deg, var(--brand), var(--brand-bright)); }

.authorbox { margin-top: var(--s8); display: flex; gap: var(--s5); align-items: flex-start; }
.authorbox h2 { font-size: 1.06rem; margin: 0 0 5px; }
.authorbox__role { margin: 0 0 var(--s3); font-size: var(--fs-xs); color: var(--muted); }
.authorbox__bio { margin: 0 0 var(--s4); font-size: var(--fs-sm); color: var(--bone-dim); line-height: 1.7; }
@media (max-width: 620px) { .authorbox { flex-direction: column; } }

.phero .byline { margin-top: var(--s5); }
.phero .crumbs { margin-bottom: var(--s5); }
.phero__grid > div:first-child > .pill { margin-bottom: var(--s2); }

.condition-card { display: flex; gap: var(--s5); align-items: flex-start; }
.condition-card__ico { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 18px; background: var(--brand-wash); color: var(--brand); flex-shrink: 0; }
.condition-card__ico svg { width: 32px; height: 32px; }
.condition-card__body { min-width: 0; }
.condition-card h2 { font-size: 1.16rem; margin: 0 0 var(--s2); letter-spacing: -.02em; }
.condition-card p { font-size: var(--fs-sm); color: var(--bone-dim); line-height: 1.62; margin: 0 0 var(--s4); }
.condition-card:hover h2 { color: var(--brand-bright); }
@media (max-width: 520px) { .condition-card { flex-direction: column; gap: var(--s4); } }

.statecard {
  position: absolute; left: -22px; bottom: 22px; max-width: 78%;
  background: var(--slate); border: 1px solid var(--hairline);
  border-radius: var(--r-lg); padding: 14px 18px; box-shadow: var(--shadow-lg);
}
.statecard p { margin: 0; font-size: var(--fs-xs); color: var(--muted); line-height: 1.6; }
.statecard b { display: block; font-size: var(--fs-sm); color: var(--bone); margin-bottom: 3px; }
@media (max-width: 1100px) { .statecard { left: 10px; bottom: 10px; } }

.pnote--note { border-left-color: var(--brand); background: var(--brand-wash); }
.pnote--note .pnote__ico { background: var(--slate); color: var(--brand); }
.hero2__copy { min-width: 0; }
.trustband__art .ph { border-radius: var(--r-xl); box-shadow: var(--shadow-md); }
.footer2__brandcol { min-width: 0; }
.megapanel__col { min-width: 0; }
.megapanel__col--feature { display: flex; flex-direction: column; }
.megapanel__col--aside { align-self: start; }
.megafeature--alt { margin-bottom: 0; }

.answer {
  margin: 0 0 var(--s7); padding: var(--s6) var(--s6) var(--s6) calc(var(--s6) + 6px);
  border-radius: var(--r-xl); background: var(--brand-wash);
  border: 1px solid var(--brand-line); border-left: 6px solid var(--brand);
}
.answer p {
  margin: 0 !important; font-family: var(--font-display);
  font-size: 1.24rem; line-height: 1.5; letter-spacing: -.018em;
  font-weight: 600; color: var(--brand-deep) !important;
}
[data-theme="dark"] .answer p { color: var(--bone) !important; }

.deck {
  margin: -.55em 0 1.1em; font-size: var(--fs-body);
  color: var(--brand-bright); font-weight: 600; line-height: 1.45;
}

.closer {
  margin: var(--s8) 0 var(--s5) !important; padding-top: var(--s5);
  border-top: 1px solid var(--hairline);
  font-family: var(--font-display); font-size: 1.14rem; font-weight: 700;
  letter-spacing: -.015em; color: var(--bone) !important; line-height: 1.45;
}
.smallprint { margin: 0 !important; font-size: var(--fs-xs); color: var(--muted) !important; line-height: 1.6; }

.prose { max-width: 68ch; font-size: 1.06rem; }
.prose p { margin: 0 0 1.25em; line-height: 1.7; }
.prose > p:first-of-type { font-size: 1.06rem; color: var(--bone-dim); line-height: 1.7; }
.prose h2 { margin: 2em 0 .45em; font-size: 1.5rem; letter-spacing: -.028em; border-top: 0; padding-top: 0; }
.prose h2:first-child { margin-top: 0; }
.prose .pkey, .prose .pcheck, .prose .psteps, .prose .pnote,
.prose .ptable-wrap, .prose .pmyths, .prose .pstats { margin-block: var(--s5); }
.prose figure { margin: var(--s6) 0; }
.prose .pquote { margin: var(--s6) 0; }

.readable { display: block; }
.readable > article { max-width: none; }

.phero__dek--answer {
  font-family: var(--font-display); font-size: 1.3rem; font-weight: 600;
  line-height: 1.48; letter-spacing: -.018em; color: var(--bone); max-width: 50ch;
  padding-left: var(--s5); border-left: 4px solid var(--brand);
}
@media (max-width: 620px) { .phero__dek--answer { font-size: 1.14rem; padding-left: var(--s4); } }

.deckline { margin: 0; color: var(--muted); font-size: var(--fs-sm); line-height: 1.6; max-width: 58ch; }
.sec-head .deckline, .steps__head .deckline { margin-top: 2px; }
.ctaband .deckline, .footer2__cta .deckline { color: var(--on-brand); opacity: .88; font-size: var(--fs-body); max-width: 52ch; }
.authorbox .deckline { margin-bottom: var(--s4); color: var(--bone-dim); }
.authorbox__role { margin: 0 0 var(--s3); font-size: var(--fs-xs); color: var(--muted); }

.step .deckline { margin: 0; color: var(--brand-bright); font-size: var(--fs-sm); font-weight: 600; max-width: none; }
.casecard > .deckline { font-size: var(--fs-sm); color: var(--bone-dim); line-height: 1.7; margin: 0 0 var(--s5); max-width: none; }
.empty .deckline { margin: 0; max-width: 52ch; margin-inline: auto; }
.card .deckline { font-size: var(--fs-sm); color: var(--bone-dim); line-height: 1.62; }
.condition-card .deckline { margin: 0 0 var(--s4); }
.megacta .deckline, .statecard .deckline { margin: 0 0 var(--s4); font-size: var(--fs-sm); color: var(--bone-dim); line-height: 1.6; }
.mythcard .deckline { margin: 0; font-size: var(--fs-body); line-height: 1.65; color: inherit; max-width: none; }
.tocbox .deckline { margin: 0 0 var(--s3); }

div.lead, div.dek, div.phero__dek, div.hero2__sub { display: block; }

div.tier__price, div.dek, div.deckline, div.muted, div.lead { display: block; }
.tier__price { margin: 0; }

.gloss__aka { font-size: var(--fs-xs); color: var(--muted); margin: 0 0 var(--s3); }
.gloss__def { font-size: var(--fs-sm); color: var(--bone-dim); line-height: 1.7; }

.gloss__term { font-size: 1.08rem; margin-bottom: 6px; }
