/* ---- audience pages, shared base (copied into each solutions/<audience>/page.css so every page stays self contained) ---- */
.au-hero { min-height: 100svh; }
.au-hero::before { background: linear-gradient(to top, rgba(5,8,15,.95) 0%, rgba(5,8,15,.72) 42%, rgba(5,8,15,.3) 78%, rgba(5,8,15,.55)), var(--grade); }
@media (max-width: 860px) { .au-hero::before { background: linear-gradient(to top, rgba(5,8,15,.96) 0%, rgba(5,8,15,.8) 55%, rgba(5,8,15,.45) 85%, rgba(5,8,15,.6)), var(--grade); } }
.au-hero .h-xl { font-size: clamp(42px, 6.4vw, 98px); max-width: 15ch; }
.au-hero .sub { max-width: 48ch; }
.au-hero .ctas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.au-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 22px; font: 500 12px/1 "JetBrains Mono", monospace; letter-spacing: .08em; color: var(--muted); }
.au-crumb a { color: var(--text); border-bottom: 1px solid var(--line); padding-bottom: 2px; }
.au-crumb a:hover { border-color: var(--text); }

.au-sec { position: relative; padding: clamp(70px, 11vh, 130px) var(--pad); color: var(--page-text); background: var(--page); }
.au-sec.alt { background: var(--frame-glow); }
.au-in { max-width: 1400px; margin: 0 auto; }
.au-head { max-width: 780px; margin-bottom: clamp(26px, 4vh, 44px); }
.au-head .kicker, .au-sec .kicker { color: var(--page-muted); }
.au-head .kicker .num, .au-sec .kicker .num { color: var(--page-text); border-color: var(--page-line); }
.au-h { margin: 0; font-weight: 700; font-size: clamp(32px, 4vw, 60px); line-height: 1.02; letter-spacing: -0.04em; }
.au-sub { margin: 18px 0 0; max-width: 54ch; font-size: clamp(16px, 1.25vw, 19px); color: var(--page-muted); }
.au-note { margin: 16px 0 0; font: 400 12px/1.55 "JetBrains Mono", monospace; color: var(--page-faint); max-width: 90ch; }
.au-sec .btn-solid { background: var(--page-text); color: var(--page); }
.au-sec .btn-line, .au-line { background: transparent; border: 1px solid var(--page-line); color: var(--page-text); }
.au-sec .btn-line:hover { border-color: var(--page-text); }
.au-ctas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.au-list { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 10px; max-width: 54ch; }
.au-list li { position: relative; padding: 14px 16px 14px 44px; border-radius: 14px; font-size: 15px; line-height: 1.45; color: var(--page-muted); background: var(--page-glass); box-shadow: 0 0 0 1px var(--page-line); }
.au-list li b { color: var(--page-text); }
.au-list li::before { content: ""; position: absolute; left: 16px; top: 19px; width: 12px; height: 12px; border-radius: 50%; border: 2px solid var(--accent); }
.au-tag { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; font: 500 11px/1 "JetBrains Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.au-soon { color: #9A6A00; background: rgba(245,196,81,.16); box-shadow: 0 0 0 1px rgba(245,196,81,.45); }
html[data-theme="dark"] .au-soon { color: #F5C451; background: rgba(245,196,81,.12); }
.au-soon::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }

/* closing band extras */
.pg-close .au-sub { color: var(--muted); margin-left: auto; margin-right: auto; }
.pg-close .au-ctas { justify-content: center; }
.au-doors { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; margin: 28px 0 0; font-size: 14px; }
.au-doors a { color: var(--text); opacity: .95; text-shadow: 0 1px 10px rgba(5,8,15,.7); border-bottom: 1px solid var(--line); padding-bottom: 3px; }
.au-doors a:hover { opacity: 1; }
/* P1: 44 px tap areas around the small door links, the look unchanged */
.au-doors a { position: relative; }
.au-doors a::after { content: ""; position: absolute; inset: -10px -4px; }
@media (max-width: 860px) { .au-doors { gap: 16px 20px; } }
.pg-faq .au-sub { color: var(--muted); }

/* fine print */
.au-fine { margin: 0; padding: 20px var(--pad) 28px; background: var(--page); color: var(--page-faint); font-size: 12.5px; line-height: 1.6; }
.au-fine p { max-width: 1100px; margin: 0 auto 6px; }

@media (max-width: 860px) {
  .au-hero .h-xl { font-size: clamp(38px, 11vw, 54px); }
  .au-hero .chips { flex-wrap: nowrap; gap: 6px; margin-top: 22px; }
  .au-hero .chips li { min-width: 0; flex: 1 1 0; padding: 10px 10px; }
  .au-hero .chips b { font-size: 14px; }
  .au-hero .chips span { font-size: 12px; line-height: 1.3; }
  .au-hero .ctas .btn { flex: 1 1 auto; }
  .au-sec { padding: 64px var(--pad); }
  .au-h { font-size: clamp(30px, 8.4vw, 40px); }
}

/* ---- UHNI and HNI: fee board in the hero, the fee drag slider, the side by side table ---- */
.hn-hero-in { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(250px, .55fr); gap: clamp(28px, 4vw, 70px); align-items: end; }
.hn-fees { margin: 0 0 8px; display: grid; gap: 8px; }
.hn-fees > div { position: relative; padding: 14px 16px; border-radius: 16px; background: rgba(6,10,20,.55); border: 1px solid var(--line); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); opacity: 0; transform: translateY(12px); animation: hnUp .7s var(--ease) forwards; }
.hn-fees > div:nth-child(2) { animation-delay: .15s; } .hn-fees > div:nth-child(3) { animation-delay: .3s; }
.hn-fees dt { font: 500 11px/1 "JetBrains Mono", monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--faint); }
.hn-fees dd { margin: 6px 0 0; font: 700 clamp(24px, 2.4vw, 34px)/1 Inter, sans-serif; letter-spacing: -0.03em; }
.hn-fees dd.m { margin-top: 4px; font: 400 12.5px/1.3 Inter, sans-serif; letter-spacing: 0; color: var(--muted); }
.hn-fees > div:not(.us) dd:not(.m) { text-decoration: line-through; text-decoration-thickness: 2px; text-decoration-color: rgba(255,123,123,.75); color: rgba(242,245,251,.82); }
.hn-fees .us { border-color: rgba(61,220,151,.5); box-shadow: 0 0 0 1px rgba(61,220,151,.2), 0 30px 70px -30px rgba(61,220,151,.35); }
.hn-fees .us dd:not(.m) { color: var(--gain); }
@keyframes hnUp { to { opacity: 1; transform: none; } }

/* fee drag */
.fd-app { display: grid; grid-template-columns: minmax(280px, .8fr) 1.4fr; gap: 0; border-radius: 28px; overflow: hidden; background: var(--page-2); box-shadow: 0 0 0 1px var(--page-line), 0 50px 110px -60px rgba(5,8,15,.55); }
.fd-ctl { display: grid; gap: 18px; align-content: start; padding: clamp(20px, 2.6vw, 34px); border-right: 1px solid var(--page-line); }
.fd-amt { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font-size: 14px; font-weight: 600; color: var(--page-muted); }
.fd-amt output { font: 700 clamp(24px, 2.4vw, 34px)/1 Inter, sans-serif; letter-spacing: -0.03em; color: var(--page-text); }
/* P1: a 28 px thumb on a filled track (page.js sets --p), ticks placed by --x percent and readable at 12 px */
.fd-ctl input[type="range"] { -webkit-appearance: none; appearance: none; width: 100%; height: 36px; margin: -4px 0 0; background: transparent; cursor: pointer; --p: 35%; --rf: #2E6BD8; }
html[data-theme="dark"] .fd-ctl input[type="range"] { --rf: var(--accent); }
.fd-ctl input[type="range"]::-webkit-slider-runnable-track { height: 6px; border-radius: 99px; background: linear-gradient(90deg, var(--rf) 0 var(--p), var(--page-line) var(--p) 100%); }
.fd-ctl input[type="range"]::-moz-range-track { height: 6px; border-radius: 99px; background: var(--page-line); }
.fd-ctl input[type="range"]::-moz-range-progress { height: 6px; border-radius: 99px; background: var(--rf); }
.fd-ctl input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 28px; height: 28px; margin-top: -11px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px rgba(11,18,32,.16), 0 4px 12px rgba(11,18,32,.3); }
.fd-ctl input[type="range"]::-moz-range-thumb { width: 28px; height: 28px; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px rgba(11,18,32,.16), 0 4px 12px rgba(11,18,32,.3); }
.fd-ctl input[type="range"]:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 8px; }
.fd-ticks { position: relative; height: 16px; margin-top: -8px; font: 500 12px/1 "JetBrains Mono", monospace; color: var(--page-faint); }
.fd-ticks span { position: absolute; left: calc(var(--x) * 1%); transform: translateX(-50%); white-space: nowrap; }
.fd-ticks span:first-child { transform: none; } .fd-ticks span:last-child { transform: translateX(-100%); }
.fd-seg { margin: 0; padding: 0; border: 0; min-width: 0; }
.fd-seg legend { padding: 0; margin-bottom: 8px; font: 500 11px/1 "JetBrains Mono", monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--page-faint); }
.fd-seg { display: flex; flex-wrap: wrap; gap: 6px; }
.fd-seg legend { width: 100%; }
.fd-seg label { position: relative; }
.fd-seg input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.fd-seg span { display: inline-flex; align-items: center; justify-content: center; min-width: 56px; min-height: 40px; padding: 0 14px; border-radius: 999px; font: 600 14px/1 Inter, sans-serif; box-shadow: inset 0 0 0 1px var(--page-line); color: var(--page-muted); transition: background .25s, color .25s; }
.fd-seg input:checked + span { background: var(--page-text); color: var(--page); box-shadow: none; }
.fd-seg input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }
.fd-out { display: flex; flex-direction: column; justify-content: center; gap: 22px; padding: clamp(20px, 2.8vw, 40px); color: #EAF0FA; background: radial-gradient(80% 70% at 10% 0%, rgba(127,178,255,.14), rgba(127,178,255,0) 60%), #060A14; }
.fd-big { margin: 0; }
.fd-big b { display: block; font: 700 clamp(40px, 5vw, 76px)/1 Inter, sans-serif; letter-spacing: -0.045em; color: #3DDC97; font-variant-numeric: tabular-nums; }
.fd-big span { display: block; margin-top: 10px; max-width: 46ch; color: rgba(226,233,246,.75); font-size: 15.5px; }
.fd-bars { display: grid; gap: 14px; }
.fd-row { display: grid; grid-template-columns: minmax(150px, 30%) 1fr 11ch; gap: 14px; align-items: center; }
.fd-row p { margin: 0; }
.fd-row p b { display: block; font-size: 15px; }
.fd-row p span { display: block; font-size: 11.5px; line-height: 1.35; color: rgba(226,233,246,.5); }
.fd-trk { position: relative; height: 16px; border-radius: 99px; background: repeating-linear-gradient(135deg, rgba(255,123,123,.42) 0 4px, rgba(255,123,123,.1) 4px 8px); overflow: hidden; }
.fd-trk i { position: absolute; inset: 0 auto 0 0; width: 100%; border-radius: inherit; background: linear-gradient(90deg, rgba(127,178,255,.45), #7FB2FF); transform-origin: 0 50%; transform: scaleX(var(--w, 0)); transition: transform .8s var(--ease); }
.fd-row.us .fd-trk i { background: linear-gradient(90deg, rgba(61,220,151,.5), #3DDC97); }
.fd-key { display: flex; gap: 16px; margin: -8px 0 0; font: 400 11.5px/1.3 "JetBrains Mono", monospace; color: rgba(226,233,246,.55); }
.fd-key i { display: inline-block; width: 18px; height: 8px; margin-right: 6px; border-radius: 4px; vertical-align: 0; background: linear-gradient(90deg, rgba(127,178,255,.45), #7FB2FF); }
.fd-key i.x { background: repeating-linear-gradient(135deg, rgba(255,123,123,.6) 0 3px, rgba(255,123,123,.15) 3px 6px); }
.fd-row em { font: 600 14px/1 "JetBrains Mono", monospace; font-style: normal; text-align: right; }
.fd-row.off { opacity: .45; }
.fd-row.off .fd-trk i { transform: scaleX(0); }
.fd-fees { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; padding-top: 14px; border-top: 1px solid rgba(214,226,255,.1); font: 400 12.5px/1.4 "JetBrains Mono", monospace; color: rgba(226,233,246,.55); }
.fd-fees b { color: #EAF0FA; font-weight: 600; }

/* side by side table */
.hn-tbl { border-radius: 26px; overflow: hidden; background: var(--page-2); box-shadow: 0 0 0 1px var(--page-line), 0 40px 90px -60px rgba(5,8,15,.5); }
.hn-tr { display: grid; grid-template-columns: 16% repeat(3, 1fr); gap: 18px; padding: 16px clamp(16px, 2vw, 28px); border-top: 1px solid var(--page-line); font-size: 15px; line-height: 1.4; color: var(--page-muted); }
.hn-tr:first-child { border-top: 0; }
.hn-tr > b { color: var(--page-text); }
.hn-tr .us { color: var(--page-text); font-weight: 600; }
.hn-tr.hd { padding-top: 18px; padding-bottom: 12px; font: 500 11px/1.2 "JetBrains Mono", monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--page-faint); }
.hn-tr.hd .us { color: #0F7A4C; }
html[data-theme="dark"] .hn-tr.hd .us { color: var(--gain); }
.hn-tr .us { position: relative; }
.hn-tbl.is-in .hn-tr { animation: hnUp .6s var(--ease) both; animation-delay: calc(var(--k, 0) * 70ms); }

/* path */
.hn-path { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 8px; counter-reset: hp; max-width: 54ch; }
.hn-path li { display: grid; grid-template-columns: 34px auto 1fr; gap: 10px; align-items: baseline; padding: 12px 14px; border-radius: 14px; background: var(--page-glass); box-shadow: 0 0 0 1px var(--page-line); counter-increment: hp; }
.hn-path li::before { content: "0" counter(hp); font: 600 12px/1 "JetBrains Mono", monospace; color: var(--accent); }
html[data-theme="light"] .hn-path li::before { color: #2457A6; }
.hn-path b { font-size: 15px; }
.hn-path span { font-size: 14px; color: var(--page-muted); }
.hn-rec, .hn-core { padding-left: 0; padding-right: 0; }
.hn-rec-band, .hn-core-band { padding-top: 0; padding-bottom: 0; }

@media (max-width: 1080px) {
  .hn-hero-in { grid-template-columns: 1fr; }
  .hn-fees { grid-template-columns: repeat(3, 1fr); }
  .fd-app { grid-template-columns: 1fr; }
  .fd-ctl { border-right: 0; border-bottom: 1px solid var(--page-line); }
}
@media (max-width: 860px) {
  .hn-fees { display: none; }
  .fd-app { border-radius: 22px; }
  .fd-ctl { gap: 14px; padding: 18px 16px; }
  .fd-seg span { min-width: 48px; padding: 0 12px; }
  .fd-seg legend { font-size: 12px; letter-spacing: .08em; }
  .fd-out { padding: 20px 16px; gap: 18px; }
  .fd-big b { font-size: 40px; }
  .fd-big span { font-size: 14px; }
  .fd-row { grid-template-columns: 1fr auto; gap: 6px 10px; }
  .fd-row .fd-trk { grid-column: 1 / -1; grid-row: 2; }
  .fd-row p span { display: none; }
  .hn-tbl { border-radius: 20px; }
  .hn-tr { grid-template-columns: 1fr; gap: 6px; padding: 14px 16px; font-size: 14px; }
  .hn-tr.hd { display: none; }
  .hn-tr > b { font: 600 11px/1.2 "JetBrains Mono", monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--page-faint); }
  .hn-tr [data-h]::before { content: attr(data-h) ": "; font-weight: 600; color: var(--page-faint); }
  .hn-tr .us::before { color: #0F7A4C; }
  html[data-theme="dark"] .hn-tr .us::before { color: var(--gain); }
  .hn-path li { grid-template-columns: 28px 1fr; }
  .hn-path span { grid-column: 2; }
}
@media (prefers-reduced-motion: reduce) {
  .hn-fees > div, .hn-tbl.is-in .hn-tr { animation: none; opacity: 1; transform: none; }
  .fd-trk i { transition: none; }
}
