/* Propbook — the public hub. GÉNÉRÉ par scripts/build.py depuis src/hub/ — ne pas modifier ici. */
/* Propbook — the public hub. Glacier: a pale blue-white ground, deep navy ink, one precise blue (#0B3BFF) for the
   things you act on — primary buttons, the active link, a selected account, a code. Instrument Sans for reading,
   Syne for the home headline only. Light by default; the toggle stamps html[data-theme] and remembers dark.
   Motion confirms what the visitor did (an account flying into the tray, prices rolling to a new scenario, the list
   re-sorting in place, the mega menu morphing) and never loops for decoration. Reduced motion turns it off. */

:root{
  color-scheme:light;
  --bg:#F3F6FB; --bg-2:#FFFFFF; --surface:#FFFFFF; --surface-2:#ECF1FB; --surface-3:#E0E8F7;
  --ink:#090C25; --ink-soft:#46536F; --ink-faint:#5F6D8C;
  --line:#D8E1F1; --line-2:#BFCCE4;
  --blue:#0B3BFF; --blue-deep:#052BCD; --blue-wash:rgba(11,59,255,.075); --blue-line:rgba(11,59,255,.32); --blue-soft:#E7EEFF;
  --pos:#08877C; --pos-wash:rgba(10,158,145,.12); --neg:#C8364E; --neg-wash:rgba(200,54,78,.1); --warn:#A86405; --warn-wash:rgba(245,158,11,.14);
  --pri-bg:#0B3BFF; --pri-ink:#FFFFFF; --pri-hover:#052BCD;
  --dark-bg:#090C25; --dark-ink:#FFFFFF;
  --glow:radial-gradient(ellipse 70% 50% at 48% 0%,#FFFFFF,transparent 70%);
  --shadow-s:0 1px 2px rgba(27,49,89,.06);
  --shadow-m:0 12px 32px rgba(27,49,89,.08);
  --shadow-l:0 2px 6px rgba(27,49,89,.05),0 24px 60px -20px rgba(27,49,89,.24);
  --font:"Instrument Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI","Noto Sans Devanagari","Kohinoor Devanagari",sans-serif;
  --display:"Syne","Instrument Sans",ui-sans-serif,system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --r-s:6px; --r:8px; --r-l:10px; --r-xl:12px;
  --w:1280px; --gut:clamp(16px,4vw,32px); --nav-h:68px; --bar-h:36px;
  --ease:cubic-bezier(.23,1,.32,1); --ease-io:cubic-bezier(.77,0,.175,1); --ease-drawer:cubic-bezier(.32,.72,0,1);
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0B0E17; --bg-2:#0F1320; --surface:#141928; --surface-2:#1B2540; --surface-3:#24314F;
  --ink:#EEF2FF; --ink-soft:#B4C0DC; --ink-faint:#93A3C4; --line:#2A3654; --line-2:#3A4868;
  --blue:#7C9BFF; --blue-deep:#9DB4FF; --blue-wash:rgba(124,155,255,.13); --blue-line:rgba(124,155,255,.4); --blue-soft:#1F2D57;
  --pos:#34C9B7; --pos-wash:rgba(52,201,183,.13); --neg:#F2708A; --neg-wash:rgba(242,112,138,.13); --warn:#F5A524; --warn-wash:rgba(245,158,11,.14);
  --pri-bg:#2F5BFF; --pri-ink:#FFFFFF; --pri-hover:#4A70FF;
  --dark-bg:#EEF2FF; --dark-ink:#090C25;
  --glow:radial-gradient(ellipse 70% 50% at 48% 0%,#16203A,transparent 70%);
  --shadow-s:none; --shadow-m:0 0 0 1px rgba(255,255,255,.02),0 18px 40px -20px rgba(0,0,0,.7); --shadow-l:0 0 0 1px rgba(255,255,255,.03),0 40px 90px -30px rgba(0,0,0,.85);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  color-scheme:dark;
  --bg:#0B0E17; --bg-2:#0F1320; --surface:#141928; --surface-2:#1B2540; --surface-3:#24314F;
  --ink:#EEF2FF; --ink-soft:#B4C0DC; --ink-faint:#93A3C4; --line:#2A3654; --line-2:#3A4868;
  --blue:#7C9BFF; --blue-deep:#9DB4FF; --blue-wash:rgba(124,155,255,.13); --blue-line:rgba(124,155,255,.4); --blue-soft:#1F2D57;
  --pos:#34C9B7; --pos-wash:rgba(52,201,183,.13); --neg:#F2708A; --neg-wash:rgba(242,112,138,.13); --warn:#F5A524; --warn-wash:rgba(245,158,11,.14);
  --pri-bg:#2F5BFF; --pri-ink:#FFFFFF; --pri-hover:#4A70FF;
  --dark-bg:#EEF2FF; --dark-ink:#090C25;
  --glow:radial-gradient(ellipse 70% 50% at 48% 0%,#16203A,transparent 70%);
  --shadow-s:none; --shadow-m:0 0 0 1px rgba(255,255,255,.02),0 18px 40px -20px rgba(0,0,0,.7); --shadow-l:0 0 0 1px rgba(255,255,255,.03),0 40px 90px -30px rgba(0,0,0,.85);
}}
/* aliases read by the Propbook page (pbx.css), whose own token names collide with these */
:root{--hb-bg:var(--bg);--hb-surface:var(--surface);--hb-surface-2:var(--surface-2);--hb-ink:var(--ink);--hb-ink-soft:var(--ink-soft);--hb-line:var(--line);--hb-line-2:var(--line-2);
  --hb-blue:var(--blue);--hb-blue-deep:var(--blue-deep);--hb-pos:var(--pos);--hb-neg:var(--neg);--hb-shadow:var(--shadow-m);--hb-font:var(--font)}

/* ── ground ── */
@view-transition{navigation:auto}
::view-transition-old(root){animation:200ms ease both vtOut}
::view-transition-new(root){animation:380ms var(--ease) both vtIn}
@keyframes vtOut{to{opacity:0}}
@keyframes vtIn{from{opacity:0;transform:translateY(6px)}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 64px);background:var(--bg)}
body{margin:0;background:var(--glow) no-repeat,var(--bg);color:var(--ink);font:400 15.5px/1.6 var(--font);letter-spacing:-.005em;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip;caret-color:var(--blue)}
html[lang="hi"] body{line-height:1.75;letter-spacing:0}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.035em;line-height:1.1;text-wrap:balance}
html[lang="hi"] h1,html[lang="hi"] h2,html[lang="hi"] h3{letter-spacing:0;line-height:1.35}
p{margin:0;text-wrap:pretty}
code{font:600 .92em var(--mono);letter-spacing:.03em}
::selection{background:var(--blue-wash);color:var(--ink)}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}
*{scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:6px;border:3px solid var(--bg)}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.h-sprite{position:absolute;width:0;height:0;overflow:hidden}
/* every sprite icon is a line drawing, whatever class it carries (a chevron with only .h-chev used to fill black and vanish on dark) */
:where(svg:has(> use[href^="#i-"])){fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.h-ic{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.h-wrap{width:100%;max-width:var(--w);margin-inline:auto;padding-inline:var(--gut)}
.h-skip{position:fixed;left:-999px;top:12px;z-index:300;background:var(--pri-bg);color:var(--pri-ink);padding:10px 16px;border-radius:99px}
.h-skip:focus{left:16px}
.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.h-muted,.h-dash{color:var(--ink-faint)}
.h-fine{font-size:12.5px;color:var(--ink-faint);line-height:1.55}
.h-fine a{text-decoration:underline;text-underline-offset:2px}
.h-small{font-size:13px;color:var(--ink-soft);min-width:150px}
.h-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14.5px;white-space:nowrap;transition:color 160ms ease}
.h-link .h-ic{width:16px;height:16px;transition:transform 220ms var(--ease)}
@media (hover:hover){.h-link:hover{color:var(--blue)}.h-link:hover .h-ic{transform:translateX(3px)}}

/* ── buttons ── */
.h-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:7px;border:1px solid var(--line-2);
  background:var(--surface);color:var(--ink);font-weight:600;font-size:14.5px;letter-spacing:-.01em;cursor:pointer;white-space:nowrap;user-select:none;-webkit-tap-highlight-color:transparent;
  transition:transform 140ms var(--ease),background-color 180ms ease,border-color 180ms ease,color 180ms ease,box-shadow 220ms var(--ease)}
.h-btn .h-ic{width:16px;height:16px;transition:transform 220ms var(--ease)}
.h-btn:active{transform:scale(.97)}
.h-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
@media (hover:hover){.h-btn:hover{border-color:var(--ink-faint)}.h-btn:hover .h-ic:last-child{transform:translateX(2px)}}
.h-btn-pri{background:var(--pri-bg);border-color:var(--pri-bg);color:var(--pri-ink);box-shadow:var(--shadow-s)}
@media (hover:hover){.h-btn-pri:hover{background:var(--pri-hover);border-color:var(--pri-hover);box-shadow:0 8px 22px -10px var(--blue-line)}}
.h-btn-dark{background:var(--dark-bg);border-color:var(--dark-bg);color:var(--dark-ink)}
@media (hover:hover){.h-btn-dark:hover{background:color-mix(in srgb,var(--dark-bg) 86%,var(--blue));border-color:transparent}}
.h-btn-ghost{background:transparent}
.h-btn-lg{height:48px;padding:0 22px;font-size:15.5px;border-radius:8px}
.h-btn-sm{height:32px;padding:0 12px;font-size:13px;border-radius:6px}
.h-btn-block{width:100%}
.h-btn-inv{background:#FAFAFA;border-color:#FAFAFA;color:#0A0A0A}
.h-btn-ghost-inv{background:transparent;border-color:rgba(255,255,255,.22);color:#FAFAFA}
@media (hover:hover){.h-btn-inv:hover{background:#fff;border-color:#fff}.h-btn-ghost-inv:hover{border-color:rgba(255,255,255,.5)}}
.h-icon{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:7px;border:0;background:transparent;cursor:pointer;color:var(--ink-soft);
  transition:background-color 160ms ease,color 160ms ease,transform 140ms var(--ease)}
.h-icon:active{transform:scale(.94)}
@media (hover:hover){.h-icon:hover{background:var(--surface-2);color:var(--ink)}}
.h-icon .moon{display:none}
:root[data-theme="dark"] .h-icon .sun{display:none}:root[data-theme="dark"] .h-icon .moon{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .h-icon .sun{display:none}:root:not([data-theme="light"]) .h-icon .moon{display:block}}

/* ── promo bar ── */
.h-bar{position:relative;z-index:60;height:var(--bar-h);display:flex;align-items:center;justify-content:center;background:var(--pri-bg);color:var(--pri-ink);font-size:13px}
.h-bar[hidden]{display:none}
.h-bar-track{position:relative;width:min(760px,calc(100% - 80px));height:100%;overflow:hidden}
.h-bar-i{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden}
.h-bar-i[hidden]{display:none}
.h-bar-i a{opacity:.86;transition:opacity 160ms ease;overflow:hidden;text-overflow:ellipsis}
.h-bar-i a:hover{opacity:1}
.h-bar-i b{font-family:var(--mono);font-weight:600;letter-spacing:.04em;color:color-mix(in srgb,var(--blue) 70%,var(--pri-ink));margin:0 2px}
.h-bar-i[data-in]{animation:barIn 520ms var(--ease) both}
.h-bar-i[data-out]{animation:barOut 280ms ease both}
@keyframes barIn{from{opacity:0;transform:translateY(60%);filter:blur(4px)}}
@keyframes barOut{to{opacity:0;transform:translateY(-60%);filter:blur(4px)}}
.h-bar-x{position:absolute;right:10px;top:50%;translate:0 -50%;display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:8px;background:transparent;color:inherit;opacity:.6;cursor:pointer}
.h-bar-x:hover{opacity:1}
.h-bar-x .h-ic{width:15px;height:15px}

/* ── nav ── */
.h-nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:saturate(1.5) blur(16px);-webkit-backdrop-filter:saturate(1.5) blur(16px);
  border-bottom:1px solid transparent;transition:border-color 240ms ease,background-color 240ms ease}
.h-nav[data-scrolled],.h-nav[data-open]{border-bottom-color:var(--line);background:color-mix(in srgb,var(--bg) 94%,transparent)}
.h-nav-in{max-width:var(--w);margin:0 auto;padding:0 var(--gut);height:var(--nav-h);display:flex;align-items:center;gap:16px}
.h-brand{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:18.5px;letter-spacing:-.045em;flex:none}
.h-mark{width:19px;height:23px}
.h-mark-i{fill:var(--ink)}
.h-mark-a{fill:var(--blue)}
.h-links ul{list-style:none;margin:0 0 0 14px;padding:0;display:flex;gap:2px}
.h-nav-t{position:relative;display:inline-flex;align-items:center;gap:5px;height:38px;padding:0 12px;border:0;border-radius:7px;background:transparent;cursor:pointer;
  font-size:14.5px;font-weight:500;color:var(--ink-soft);white-space:nowrap;transition:color 160ms ease,background-color 160ms ease}
.h-chev{width:14px;height:14px;opacity:.7;transition:transform 260ms var(--ease)}
.h-nav-t[aria-expanded="true"]{color:var(--ink);background:var(--surface-2)}
.h-nav-t[aria-expanded="true"] .h-chev{transform:rotate(180deg)}
@media (hover:hover){.h-nav-t:hover{color:var(--ink)}}
.h-nav-t[data-active],.h-nav-pb.is-on{color:var(--ink)}
.h-nav-t[data-active]::after,.h-nav-pb.is-on::after{content:"";position:absolute;left:12px;right:12px;bottom:-13px;height:2px;border-radius:2px;background:var(--blue)}
.h-nav-pb{color:var(--ink);font-weight:600}
.h-act{display:flex;align-items:center;gap:2px;margin-left:auto}
.h-nav-cta{height:36px;padding:0 14px;font-size:14px;margin-left:6px;border-radius:7px}
.h-sess{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 11px;margin-right:6px;border-radius:99px;border:1px solid var(--line);font-size:12.5px;font-weight:500;
  color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap;transition:border-color 160ms ease}
.h-sess i{width:7px;height:7px;border-radius:99px;background:var(--ink-faint)}
.h-sess[data-open] i{background:var(--pos);animation:live 2.2s ease-out infinite}
@media (hover:hover){.h-sess:hover{border-color:var(--line-2);color:var(--ink)}}
@keyframes live{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--pos) 45%,transparent)}100%{box-shadow:0 0 0 8px transparent}}
.h-favs{position:relative}
.h-favs b{position:absolute;top:3px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--blue);color:#fff;font-size:12px;line-height:16px;font-weight:700;text-align:center}
.h-favs b[hidden]{display:none}
.h-favs b[data-bump]{animation:bump 420ms var(--ease)}
@keyframes bump{40%{transform:scale(1.35)}}
.h-pop{position:absolute;right:0;top:calc(100% + 10px);min-width:190px;padding:6px;border-radius:9px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-l);
  transform-origin:top right;animation:pop 180ms var(--ease);z-index:70}
.h-pop[hidden]{display:none}
.h-pop a{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:6px;font-size:14px}
.h-pop a img{width:24px;height:24px;border-radius:7px;background:#fff;object-fit:contain;padding:2px}
.h-pop a[aria-current]{color:var(--blue);font-weight:600}
.h-pop-h{font-size:12px;font-weight:600;color:var(--ink-faint);padding:8px 11px 4px}
.h-favs-pop{min-width:260px}
.h-favs-pop .h-muted{font-size:13px;padding:6px 11px 10px}
@media (hover:hover){.h-pop a:hover{background:var(--surface-2)}}
@keyframes pop{from{opacity:0;transform:scale(.97) translateY(-4px)}}
.h-lang{position:relative}
.h-lang summary{list-style:none;display:flex;align-items:center;gap:6px;height:38px;padding:0 9px;border-radius:7px;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--ink-soft)}
.h-lang summary::-webkit-details-marker{display:none}
.h-lang summary .h-ic{width:17px;height:17px}
@media (hover:hover){.h-lang summary:hover{background:var(--surface-2);color:var(--ink)}}
.h-burger{display:none}
@media (max-width:1120px){.h-links,.h-nav-cta,.h-sess{display:none}.h-burger{display:grid}}

/* mega menu: one box that morphs between panels */
.h-mm{position:absolute;left:0;right:0;top:100%;display:flex;justify-content:center;padding:0 var(--gut);pointer-events:none}
.h-mm[hidden]{display:none}
.h-mm-box{position:relative;margin-top:8px;width:var(--mm-w,900px);height:var(--mm-h,300px);max-width:100%;background:var(--surface);border:1px solid var(--line);border-radius:12px;
  box-shadow:var(--shadow-l);overflow:hidden auto;overscroll-behavior:contain;pointer-events:auto;transform-origin:top center;
  transition:width 360ms var(--ease),height 360ms var(--ease),transform 300ms var(--ease),opacity 220ms ease}
.h-mm[data-state="closed"] .h-mm-box{opacity:0;transform:translateY(-6px) scale(.985)}
.h-mm-p{position:absolute;left:0;top:0;padding:22px;width:max-content;max-width:min(1100px,calc(100vw - 2*var(--gut)));transition:opacity 220ms ease,transform 360ms var(--ease)}
.h-mm-p[hidden]{display:block;visibility:hidden;opacity:0;pointer-events:none;max-height:0;overflow:hidden}   /* a hidden panel adds no scroll room */
.h-mm-p[data-from="left"]{transform:translateX(-24px)}.h-mm-p[data-from="right"]{transform:translateX(24px)}
.h-mm-grid{display:grid;gap:28px}
.h-mm-firms{grid-template-columns:minmax(0,560px) 290px}
@media (min-width:1280px){.h-mm-firms{grid-template-columns:minmax(0,730px) 290px}.h-mm-firms .h-mm-fl{grid-template-columns:repeat(3,minmax(0,1fr))}}
.h-mm-2{grid-template-columns:repeat(2,minmax(260px,330px))}
.h-mm-3{grid-template-columns:repeat(3,minmax(230px,280px))}
.h-mm-h{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:2px 0 10px}
.h-mm-h::after{content:"";flex:1;height:1px;background:var(--line)}
html[lang="hi"] .h-mm-h{text-transform:none;letter-spacing:0}
.h-mm-h:not(:first-child){margin-top:18px}
.h-mm-fl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px}
.h-mm-f{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:7px;font-size:14px;font-weight:500;transition:background-color 140ms ease}
.h-mm-f img{width:28px;height:28px;border-radius:8px;background:#fff;object-fit:contain;padding:3px;border:1px solid var(--line)}
.h-mm-f span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.h-mm-deal{width:15px;height:15px;color:var(--blue);fill:none;stroke:currentColor;stroke-width:1.75}
@media (hover:hover){.h-mm-f:hover{background:var(--surface-2)}}
.h-mm-l{display:flex;align-items:flex-start;gap:12px;padding:10px;border-radius:8px;transition:background-color 140ms ease}
.h-mm-ic{width:36px;height:36px;padding:8px;flex:none;border-radius:7px;background:var(--surface-2);color:var(--ink);fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;transition:background-color 160ms ease,color 160ms ease}
.h-mm-l b{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;letter-spacing:-.01em}
.h-mm-l small{display:block;font-size:13px;color:var(--ink-faint);margin-top:1px}
.h-mm-feat{background:var(--surface-2)}
.h-mm-feat .h-mm-ic{background:var(--ink);color:var(--surface)}
@media (hover:hover){.h-mm-l:hover{background:var(--surface-2)}.h-mm-l:hover .h-mm-ic{background:var(--ink);color:var(--surface)}}
.h-live-b{font-style:normal;font-size:12px;font-weight:700;letter-spacing:.06em;padding:2px 6px;border-radius:6px;color:var(--neg);background:var(--neg-wash)}
/* mobile sheet */
.h-sheet{position:absolute;inset:100% 0 auto 0;max-height:calc(100dvh - var(--nav-h));overflow-y:auto;padding:8px var(--gut) 22px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:var(--shadow-l)}
.h-sheet[hidden]{display:none}
.h-sheet:not([hidden]){animation:sheet 280ms var(--ease)}
@keyframes sheet{from{opacity:0;transform:translateY(-8px)}}
.h-sh-g{border-bottom:1px solid var(--line)}
.h-sh-g summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:15px 2px;font-size:17px;font-weight:600;cursor:pointer}
.h-sh-g summary::-webkit-details-marker{display:none}
.h-sh-g[open] summary .h-chev{transform:rotate(180deg)}
.h-sh-g .h-mm-grid{grid-template-columns:1fr;gap:6px;padding-bottom:14px}
.h-sh-g .h-mm-fl{grid-template-columns:1fr 1fr}
.h-sh-pb{display:block;padding:15px 2px;font-size:17px;font-weight:600;border-bottom:1px solid var(--line);margin-bottom:16px}
.h-sheet .h-btn{width:100%}

/* ── type ── */
.h-display{font-size:clamp(34px,4.4vw,54px);font-weight:700;letter-spacing:-.045em;line-height:1.06}
.h-display-s{font-size:clamp(32px,4.6vw,56px)}
html[lang="hi"] .h-display{line-height:1.28;letter-spacing:-.01em;font-size:clamp(30px,4vw,48px)}
.h-lead{font-size:clamp(16.5px,1.5vw,19px);line-height:1.55;color:var(--ink-soft);max-width:60ch;margin-top:20px}
.h-lead-s{color:var(--ink-soft);max-width:68ch;margin:8px 0 18px}
.h-sub-h{font-size:18px;margin:34px 0 14px}
.h-mini-h{font-size:12.5px;font-weight:600;color:var(--ink-faint);margin-bottom:8px}
.h-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.h-ph{padding:clamp(40px,6vw,84px) 0 clamp(18px,2.5vw,28px)}
.h-ph .h-display{max-width:18ch}
.h-ph .h-display em{font-style:normal;color:var(--blue)}

/* ── sections ── */
.h-sec{padding-block:clamp(64px,9vw,120px)}
.h-sec-tight{padding-block:clamp(28px,4vw,48px)}
.h-sh{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px;flex-wrap:wrap}
.h-sh h2{font-size:clamp(26px,3.4vw,40px);letter-spacing:-.035em;max-width:22ch}
.h-sh p{color:var(--ink-soft);margin-top:10px;max-width:62ch}
.h-band{background:var(--bg-2);border-block:1px solid var(--line)}

/* ── hero ── */
.h-hero{position:relative;padding:clamp(40px,6vw,80px) 0 clamp(48px,6vw,80px);isolation:isolate;overflow:hidden}
.h-hero-light{position:absolute;inset:-20% -10% auto 40%;height:120%;z-index:-1;pointer-events:none;
  background:radial-gradient(closest-side,var(--blue-wash),transparent 70%);filter:blur(10px);animation:breathe 14s ease-in-out infinite alternate}
@keyframes breathe{to{transform:translate3d(-6%,4%,0) scale(1.08)}}
.h-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,72px);align-items:start}
@media (max-width:980px){.h-hero-grid{grid-template-columns:1fr}}
.h-hero .h-display{max-width:17ch;font-family:var(--display);font-weight:700;font-size:clamp(38px,4.4vw,58px);letter-spacing:-.04em;line-height:1.04}
.h-hero .h-display em{font-style:normal;color:var(--blue)}
html[lang="hi"] .h-hero .h-display{font-family:var(--font);font-size:clamp(32px,4.4vw,52px);line-height:1.25}
.h-qm{margin-top:30px;display:grid;gap:10px;max-width:560px}
.h-qm-row{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:12px}
.h-qm-row>span{font-size:13.5px;font-weight:500;color:var(--ink-faint)}
@media (max-width:560px){.h-qm-row{grid-template-columns:1fr;gap:6px}}
.h-hero-res{position:relative;padding:18px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-l)}
.h-hero-res-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:4px 6px 14px;font-weight:600;font-size:14.5px}
.h-hero-res-h small{font-weight:500;color:var(--ink-faint);font-size:12.5px}
.h-qm-list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px;min-height:300px;align-content:start}
.h-qm-it{position:relative;display:grid;grid-template-columns:auto 40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border-radius:9px;border:1px solid var(--line);background:var(--bg-2)}
.h-qm-it:first-child{border-color:var(--blue-line);background:color-mix(in srgb,var(--blue) 4%,var(--surface))}
.h-qm-rank{font:600 12px var(--mono);color:var(--ink-faint);width:18px;text-align:center}
.h-qm-it:first-child .h-qm-rank{color:var(--blue)}
.h-qm-it img{width:40px;height:40px;border-radius:7px;background:#fff;object-fit:contain;padding:4px;border:1px solid var(--line)}
.h-qm-n b{display:block;font-size:15px;letter-spacing:-.01em}
.h-qm-n small{display:block;font-size:12.5px;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.h-qm-s{display:grid;justify-items:end;gap:6px;min-width:84px}
.h-qm-s b{font:650 15px var(--font);font-variant-numeric:tabular-nums}
.h-qm-bar{width:84px;height:5px;border-radius:6px;background:var(--surface-3);overflow:hidden}
.h-qm-bar i{display:block;height:100%;background:var(--blue);border-radius:inherit;transform-origin:left;transform:scaleX(var(--p,0));transition:transform 700ms var(--ease)}
.h-qm-it a{position:absolute;inset:0;border-radius:inherit}
.h-qm-it .h-code-mini{position:relative;z-index:1}
.h-qm-empty{padding:30px 10px;text-align:center;color:var(--ink-faint);font-size:14px}

/* segmented control */
.h-seg{display:inline-flex;flex-wrap:wrap;padding:3px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line);gap:2px}
.h-seg button{height:32px;padding:0 13px;border:0;border-radius:6px;background:transparent;font-size:13.5px;font-weight:500;color:var(--ink-soft);cursor:pointer;
  transition:color 160ms ease,background-color 200ms var(--ease),box-shadow 200ms var(--ease),transform 120ms var(--ease)}
.h-seg button:active{transform:scale(.96)}
.h-seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(10,10,10,.08),0 0 0 1px var(--line)}
:root[data-theme="dark"] .h-seg button[aria-pressed="true"]{background:var(--surface-3)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .h-seg button[aria-pressed="true"]{background:var(--surface-3)}}
@media (hover:hover){.h-seg button:hover{color:var(--ink)}}

/* ── marquee ── */
.h-marquee{padding:0 0 12px}
.h-mq{display:flex;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.h-mq ul{list-style:none;margin:0;padding:0 28px 0 0;display:flex;gap:28px;flex:none;animation:mq 70s linear infinite}
.h-mq:hover ul{animation-play-state:paused}
.h-mq li{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14.5px;color:var(--ink-soft);white-space:nowrap;filter:grayscale(1);opacity:.75;transition:filter 300ms ease,opacity 300ms ease}
.h-mq li:hover{filter:none;opacity:1}
.h-mlogo{width:26px;height:26px;border-radius:7px;background:#fff;object-fit:contain;padding:2px}
@keyframes mq{to{transform:translateX(-100%)}}

/* ── drawdown explainer ── */
.h-ddx{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,64px);align-items:center}
@media (max-width:980px){.h-ddx{grid-template-columns:1fr}}
.h-ddx-copy h2{font-size:clamp(26px,3.4vw,40px);letter-spacing:-.035em}
.h-ddx-copy>p{color:var(--ink-soft);margin:14px 0 22px}
.h-ddx-legend{margin:22px 0 12px;display:grid;gap:10px}
.h-ddx-legend div{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:14px}
.h-ddx-legend dt{display:flex;align-items:center;gap:10px;color:var(--ink-soft)}
.h-ddx-legend dd{margin:0;font-weight:650;font-variant-numeric:tabular-nums}
.h-ddx-legend i{width:18px;height:3px;border-radius:3px}
.h-lg-bal{background:var(--ink)}.h-lg-dd{background:var(--neg)}.h-lg-room{background:var(--blue-wash);outline:1px solid var(--blue-line);height:10px!important}
.h-ddx-verdict{min-height:3em;font-weight:600;font-size:15px;margin-bottom:16px}
.h-ddx-verdict[data-hit]{color:var(--neg)}
.h-ddx-fig{margin:0;padding:18px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-m)}
.h-ddx-fig svg{width:100%;height:auto;aspect-ratio:16/9;overflow:visible}
.h-ddx-grid path{stroke:var(--line);stroke-width:1;fill:none;vector-effect:non-scaling-stroke}
.h-ddx-bal{fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.h-ddx-dd{fill:none;stroke:var(--neg);stroke-width:2;stroke-dasharray:6 6;vector-effect:non-scaling-stroke}
.h-ddx-area{fill:var(--blue-wash)}
.h-ddx-dot{fill:var(--neg);stroke:var(--surface);stroke-width:3;opacity:0;transition:opacity 200ms ease}
.h-ddx-dot[data-on]{opacity:1}
.h-ddx-fig figcaption{margin-top:10px}

/* ── tables ── */
.h-table-wrap{position:relative;overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.h-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;min-width:820px}
.h-table th,.h-table td{padding:13px 15px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}
.h-table td.h-small{white-space:normal}
.h-table tbody tr:last-child>*{border-bottom:0}
.h-table thead th{background:var(--surface-2);font-size:12px;font-weight:600;color:var(--ink-faint);letter-spacing:.01em}
.h-table thead th button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.h-sort{width:13px;height:13px;opacity:.35;transition:transform 220ms var(--ease),opacity 160ms ease}
.h-table thead th[aria-sort="ascending"] .h-sort{opacity:1;color:var(--blue);transform:rotate(180deg)}
.h-table thead th[aria-sort="descending"] .h-sort{opacity:1;color:var(--blue)}
.h-table tbody th{font-weight:600}
.h-table tbody th a{display:inline-flex;align-items:center;gap:10px}
.h-table-full tbody th,.h-table-full thead th:first-child{position:sticky;left:0;z-index:1;background:var(--surface)}
.h-table-full thead th:first-child{background:var(--surface-2)}
.h-tlogo{width:28px;height:28px;border-radius:8px;background:#fff;object-fit:contain;padding:2px;border:1px solid var(--line)}
.h-table tbody tr{transition:background-color 160ms ease}
@media (hover:hover){.h-table tbody tr:hover{background:var(--surface-2)}.h-table-full tbody tr:hover th{background:var(--surface-2)}}
.h-table tbody tr[hidden]{display:none}
.h-table small{font-size:12px;color:var(--ink-faint);font-weight:500}
.h-nosize{color:var(--ink-faint)}
.h-note{margin-top:12px;max-width:90ch}
.h-pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:99px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--surface-2);color:var(--ink-soft)}
.h-pill::before{content:"";width:6px;height:6px;border-radius:99px;background:currentColor}
.h-pill-yes{background:var(--pos-wash);color:var(--pos)}.h-pill-limits{background:var(--warn-wash);color:var(--warn)}.h-pill-no{background:var(--neg-wash);color:var(--neg)}
.h-code,.h-code-mini{font:600 12.5px var(--mono);letter-spacing:.05em;padding:5px 9px;border-radius:8px;border:1px dashed var(--blue-line);background:var(--blue-wash);color:var(--blue);cursor:pointer;
  transition:transform 120ms var(--ease),background-color 160ms ease}
.h-code-mini{font-size:12px;padding:3px 7px;cursor:default}
.h-code:active{transform:scale(.95)}
.h-code[data-done]{border-style:solid;background:var(--pos-wash);color:var(--pos);border-color:transparent}

/* ── deals ── */
.h-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,320px);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;margin-inline:calc(-1*var(--gut));padding-inline:var(--gut);scroll-padding-inline:var(--gut)}
.h-rail>*{scroll-snap-align:start}
.h-deals{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px}
.h-deal{position:relative;display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line);overflow:hidden;
  transition:border-color 200ms ease,box-shadow 300ms var(--ease),transform 300ms var(--ease)}
@media (hover:hover){.h-deal:hover{border-color:var(--line-2);box-shadow:var(--shadow-m);transform:translateY(-2px)}}
.h-deal header{display:flex;align-items:center;gap:12px}
.h-deal h3{font-size:15.5px;letter-spacing:-.015em}
.h-deal header p{font-size:12.5px;color:var(--ink-faint)}
.h-flogo{width:40px;height:40px;border-radius:7px;background:#fff;object-fit:contain;padding:4px;border:1px solid var(--line);flex:none}
.h-deal-label{font-weight:600;font-size:14.5px}
.h-deal-code{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 6px 6px 14px;border-radius:8px;border:1px dashed var(--blue-line);background:var(--blue-wash)}
.h-deal-code code{font-size:16px;color:var(--blue)}
.h-deal-code .h-btn{background:var(--surface)}
.h-deal footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.h-deal footer a{display:inline-flex;align-items:center;gap:5px;font-size:13.5px;font-weight:600;color:var(--ink-soft)}
.h-deal footer a .h-ic{width:14px;height:14px}
@media (hover:hover){.h-deal footer a:hover{color:var(--blue)}}
.h-deals-quiet .h-deal{background:transparent}
.h-aff{font-size:12px;font-weight:600;padding:2px 8px;border-radius:99px;background:var(--surface-2);color:var(--ink-faint)}
[data-spot]{--x:50%;--y:50%}
[data-spot]::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity 300ms ease;background:radial-gradient(360px circle at var(--x) var(--y),var(--blue-wash),transparent 60%)}
@media (hover:hover){[data-spot]:hover::before{opacity:1}}

/* ── learn path (home) ── */
.h-path{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:900px){.h-path{grid-template-columns:repeat(2,minmax(0,1fr))}}
.h-path a{display:grid;gap:10px;padding:10px 10px 14px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface);transition:border-color 200ms ease,transform 300ms var(--ease),box-shadow 300ms var(--ease)}
.h-path img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:7px;filter:saturate(.85)}
.h-path b{display:block;font-size:14.5px}
.h-path small{font-size:12.5px;color:var(--ink-faint)}
.h-path .h-prog{display:block;height:4px}
@media (hover:hover){.h-path a:hover{border-color:var(--line-2);transform:translateY(-2px);box-shadow:var(--shadow-m)}}
.h-prog{display:block;flex:1;height:5px;border-radius:6px;background:var(--surface-3);overflow:hidden}
.h-prog i{display:block;height:100%;width:100%;border-radius:inherit;background:var(--blue);transform:scaleX(var(--p));transform-origin:left;transition:transform 900ms var(--ease)}
.h-prog-lg{height:7px}

/* ── markets (home + page) ── */
.h-mk2-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:12px}
@media (max-width:900px){.h-mk2-grid{grid-template-columns:1fr}}
.h-panel{padding:clamp(16px,2.4vw,24px);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line)}
.h-panel-head{margin-bottom:16px}
.h-panel-head h2{font-size:clamp(19px,2.2vw,24px)}
.h-panel-head p{color:var(--ink-soft);font-size:14px;margin-top:6px;max-width:72ch}
.h-panel .h-table-wrap{border-radius:var(--r)}
.h-nn-body{font-weight:650;font-size:17px;letter-spacing:-.015em}
.h-nn-body small{display:block;font-weight:500;font-size:13px;color:var(--ink-faint);margin-top:4px;letter-spacing:0}
.h-sessions{display:grid;gap:9px}
.h-ses{display:grid;grid-template-columns:130px 1fr 120px;align-items:center;gap:14px;font-size:13.5px}
.h-ses-n{font-weight:600;display:flex;align-items:center;gap:8px}
.h-ses-n i{width:7px;height:7px;border-radius:99px;background:var(--surface-3)}
.h-ses[data-open] .h-ses-n i{background:var(--pos);animation:live 2.2s ease-out infinite}
.h-ses-track{position:relative;height:26px;border-radius:8px;background:var(--surface-2);overflow:hidden}
.h-ses-bar{position:absolute;top:4px;bottom:4px;border-radius:6px;background:color-mix(in srgb,var(--ink) 12%,transparent)}
.h-ses[data-open] .h-ses-bar{background:color-mix(in srgb,var(--ink) 70%,transparent)}
.h-ses-kz .h-ses-bar{background:color-mix(in srgb,var(--blue) 18%,transparent)}
.h-ses-kz[data-open] .h-ses-bar{background:var(--blue)}
.h-ses-now{position:absolute;top:0;bottom:0;width:2px;background:var(--neg);border-radius:2px}
.h-ses-t{font-size:12.5px;color:var(--ink-faint);text-align:right;font-variant-numeric:tabular-nums}
.h-ses[data-open] .h-ses-t{color:var(--ink);font-weight:600}
.h-ses-axis{display:grid;grid-template-columns:130px 1fr 120px;gap:14px;font-size:12px;color:var(--ink-faint)}
.h-ses-axis div{display:flex;justify-content:space-between}
@media (max-width:640px){.h-ses,.h-ses-axis{grid-template-columns:92px 1fr 72px;gap:8px}.h-ses-t{font-size:12px}}
.h-mk-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:12px}
@media (max-width:960px){.h-mk-grid{grid-template-columns:1fr}}
.h-news-t{min-width:560px}
.h-news-t td:nth-child(3){white-space:normal}
.h-news-t tr[data-past]{opacity:.45}
.h-news-t tr[data-next] td{background:var(--blue-wash)}
.h-flag{font:600 12px var(--mono);padding:3px 7px;border-radius:7px;background:var(--surface-2)}
.h-hours{list-style:none;margin:0;padding:0}
.h-hours li{display:grid;grid-template-columns:84px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}
.h-hours li:last-child{border:0}
.h-hours time{display:grid;align-content:start;font-weight:650;font-variant-numeric:tabular-nums}
.h-hours time small{font-size:12px;font-weight:500;color:var(--ink-faint)}
.h-hours span{color:var(--ink-soft)}
.h-tv-gate{position:relative;display:grid;place-items:center;min-height:300px;border-radius:var(--r);border:1px dashed var(--line-2);overflow:hidden;background:var(--bg)}
.h-tv-gate[hidden]{display:none}
.h-tv-ghost{position:absolute;inset:0;opacity:.6}.h-tv-ghost svg{width:100%;height:100%}
.h-tv-ghost path{fill:none;stroke:var(--ink-faint);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:4 7;animation:dash 40s linear infinite}
@keyframes dash{to{stroke-dashoffset:-600}}
.h-tv-cta{position:relative;display:grid;justify-items:center;gap:14px;padding:22px;border-radius:10px;background:color-mix(in srgb,var(--surface) 90%,transparent)}
.h-tv{display:grid;gap:12px}
.h-tv[hidden]{display:none}
.h-tv-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px}
.h-tv-chart,.h-tv-side{height:520px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.h-tv-tape{min-height:46px;border-radius:8px;overflow:hidden}
@media (max-width:960px){.h-tv-row{grid-template-columns:1fr}.h-tv-chart{height:420px}}
.tradingview-widget-container,.tradingview-widget-container__widget{height:100%;width:100%}

/* ── tools ── */
.h-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:900px){.h-tools{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.h-tools{grid-template-columns:1fr}}
.h-tool{position:relative;display:flex;align-items:center;gap:14px;padding:16px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface);transition:border-color 200ms ease,transform 300ms var(--ease)}
.h-tool-ic{width:42px;height:42px;padding:10px;flex:none;border-radius:8px;background:var(--surface-2);fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.h-tool b{display:block;font-size:14.5px}
.h-tool small{display:block;font-size:12.5px;color:var(--ink-faint)}
.h-tool-go{margin-left:auto;opacity:0;transform:translateX(-4px);transition:opacity 200ms ease,transform 260ms var(--ease)}
@media (hover:hover){.h-tool:hover{border-color:var(--line-2)}.h-tool:hover .h-tool-go{opacity:1;transform:none}}

/* ── Propbook band (always night, like the app's dark overview) ── */
.h-pbband{position:relative;background:#0A0A0B;color:#FAFAFA;overflow:hidden;isolation:isolate}
.h-pbband::before{content:"";position:absolute;inset:auto -10% -40% 30%;height:90%;z-index:-1;background:radial-gradient(closest-side,rgba(92,141,255,.16),transparent 70%)}
.h-pbband-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,64px);align-items:center;padding-block:clamp(64px,9vw,120px)}
@media (max-width:980px){.h-pbband-in{grid-template-columns:1fr}}
.h-pbband h2{font-size:clamp(28px,3.8vw,46px);letter-spacing:-.04em}
.h-pbband p{color:#A1A1AA;margin-top:14px;max-width:56ch}
.h-pbband-l{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:14px}
.h-pbband-l li{display:flex;gap:14px;align-items:flex-start}
.h-pbband-l .h-ic{width:36px;height:36px;padding:8px;border-radius:7px;background:#1A1A1D;color:#FAFAFA}
.h-pbband-l b{display:block;font-size:15px}
.h-pbband-l span{color:#A1A1AA;font-size:14px}
.h-pbband-price{margin-top:18px;font-size:13px;color:#8B8B94}
.h-pbband-shot{position:relative;margin:0;border-radius:var(--r-l);overflow:hidden;border:1px solid #232327;box-shadow:0 40px 100px -40px rgba(0,0,0,.9);will-change:transform}
.h-pbband-shot img{width:100%}
.h-callout-dot{position:absolute;left:var(--x);top:var(--y);width:14px;height:14px;border-radius:99px;background:#5C8DFF;animation:ping 2.6s ease-out infinite}
.h-callout-dot:nth-of-type(2){animation-delay:-.9s}.h-callout-dot:nth-of-type(3){animation-delay:-1.7s}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(92,141,255,.55)}100%{box-shadow:0 0 0 18px rgba(92,141,255,0)}}

/* ── faq ── */
.h-faq h2{font-size:clamp(26px,3.2vw,38px);margin-bottom:20px}
.h-faq-i{border-bottom:1px solid var(--line)}
.h-faq-i summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;padding:18px 0;font-weight:600;font-size:16.5px}
.h-faq-i summary::-webkit-details-marker{display:none}
.h-faq-i[open] summary .h-chev{transform:rotate(180deg)}
.h-faq-i p{padding:0 0 20px;color:var(--ink-soft);max-width:74ch}
.h-faq-i[open] p{animation:fadeUp 320ms var(--ease)}
@keyframes fadeUp{from{opacity:0;transform:translateY(-4px)}}

/* ── filters ── */
.h-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px;padding:8px;border-radius:10px;background:var(--surface);border:1px solid var(--line)}
.h-toggle{display:inline-flex;align-items:center;gap:9px;height:40px;padding:0 12px 0 6px;border-radius:8px;font-size:13.5px;font-weight:500;color:var(--ink-soft);cursor:pointer;user-select:none}
.h-toggle input{position:absolute;opacity:0;pointer-events:none}
.h-toggle span{width:32px;height:19px;border-radius:99px;background:var(--surface-3);position:relative;transition:background-color 200ms ease}
.h-toggle span::after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:99px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform 240ms var(--ease)}
.h-toggle input:checked+span{background:var(--ink)}
.h-toggle input:checked+span::after{transform:translateX(13px)}
.h-toggle input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.h-search{position:relative;margin-left:auto;flex:1 1 200px;max-width:280px;display:flex;align-items:center}
.h-search .h-ic{position:absolute;left:12px;width:16px;height:16px;color:var(--ink-faint);pointer-events:none}
.h-search input{width:100%;height:40px;padding:0 14px 0 36px;border-radius:8px;border:1px solid var(--line);background:var(--bg);font:inherit;font-size:14px;color:var(--ink)}
.h-search input:focus{outline:none;border-color:var(--blue-line);box-shadow:0 0 0 4px var(--blue-wash)}
.h-search-lg{margin:28px 0 0;max-width:420px}
.h-search-lg input{height:48px;font-size:15px}
.h-empty{padding:32px;text-align:center;color:var(--ink-faint)}
.h-empty[hidden]{display:none}

/* ── firm rows (a list, not a grid of cards) ── */
.h-frows{display:grid;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);overflow:hidden}
.h-frow{display:grid;grid-template-columns:40px minmax(0,1.1fr) minmax(0,1.6fr) auto 20px;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line);transition:background-color 160ms ease}
.h-frow:last-child{border-bottom:0}
.h-frow-n b{display:block;font-size:15px}
.h-frow-n small{font-size:12.5px;color:var(--ink-faint)}
.h-frow-tags{display:flex;flex-wrap:wrap;gap:6px}
.h-tag{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:7px;background:var(--surface-2);font-size:12px;font-weight:500;color:var(--ink-soft);white-space:nowrap}
.h-frow-p{font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
.h-frow-go{color:var(--ink-faint);transition:transform 220ms var(--ease),color 160ms ease}
@media (hover:hover){.h-frow:hover{background:var(--surface-2)}.h-frow:hover .h-frow-go{transform:translateX(3px);color:var(--ink)}}
@media (max-width:760px){.h-frow{grid-template-columns:40px minmax(0,1fr) auto;row-gap:8px}.h-frow-tags{grid-column:2/-1;grid-row:2}.h-frow-go{display:none}}

/* ── callouts ── */
.h-callout{padding:clamp(22px,3.4vw,36px);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line)}
.h-callout h2{font-size:clamp(20px,2.4vw,28px);margin-bottom:10px}
.h-callout p{color:var(--ink-soft);max-width:72ch}
.h-callout p+p{margin-top:10px}
.h-callout-pri{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:var(--pri-bg);color:var(--pri-ink);border-color:var(--pri-bg)}
.h-callout-pri p{color:color-mix(in srgb,var(--pri-ink) 70%,transparent)}
.h-callout-pri .h-btn-pri{background:var(--pri-ink);color:var(--pri-bg);border-color:var(--pri-ink)}
.h-callout-pri .h-btn-ghost{color:var(--pri-ink);border-color:color-mix(in srgb,var(--pri-ink) 30%,transparent)}
.h-callout-pri .h-cta{margin-top:0}

/* ── firm page ── */
.h-fhero{padding-top:clamp(24px,4vw,44px)}
.h-crumbs{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--ink-faint);margin-bottom:22px}
.h-crumbs a{color:var(--ink-soft)}
.h-crumb-sep{width:14px;height:14px;transform:rotate(-90deg)}
@media (hover:hover){.h-crumbs a:hover{color:var(--ink)}}
.h-fid{display:flex;align-items:center;gap:18px}
.h-flogo-lg{width:68px;height:68px;border-radius:12px;background:#fff;object-fit:contain;padding:8px;border:1px solid var(--line);box-shadow:var(--shadow-m)}
.h-fid h1{font-size:clamp(32px,4.6vw,52px);letter-spacing:-.04em}
.h-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.h-fav{margin-left:auto;display:grid;place-items:center;width:44px;height:44px;border-radius:8px;border:1px solid var(--line-2);background:var(--surface);cursor:pointer;color:var(--ink-faint);transition:color 160ms ease,border-color 160ms ease,transform 140ms var(--ease)}
.h-fav .h-ic{width:20px;height:20px}
.h-fav:active{transform:scale(.92)}
.h-fav[aria-pressed="true"]{color:var(--blue);border-color:var(--blue-line)}
.h-fav[aria-pressed="true"] .h-ic{fill:currentColor;animation:star 480ms var(--ease)}
@keyframes star{30%{transform:scale(1.3) rotate(-8deg)}}
.h-fhero .h-lead{max-width:72ch}
.h-stats{margin:30px 0 0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);overflow:hidden}
.h-stats div{padding:16px 18px;border-right:1px solid var(--line)}
.h-stats div:last-child{border-right:0}
.h-stats dt{font-size:12px;color:var(--ink-faint);margin-bottom:6px}
.h-stats dd{margin:0;font-weight:650;font-size:16px;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
@media (max-width:900px){.h-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.h-stats div:nth-child(3n){border-right:0}.h-stats div:nth-child(-n+3){border-bottom:1px solid var(--line)}}
@media (max-width:520px){.h-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.h-stats div{border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)}.h-stats div:nth-child(2n){border-right:0!important}}
.h-tabs{position:sticky;top:var(--nav-h);z-index:20;margin-top:28px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.h-tabs .h-wrap{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.h-tabs a{position:relative;padding:14px 13px;font-size:14px;font-weight:500;color:var(--ink-soft);white-space:nowrap;transition:color 160ms ease}
.h-tabs a::after{content:"";position:absolute;left:13px;right:13px;bottom:-1px;height:2px;border-radius:2px;background:var(--ink);transform:scaleX(0);transition:transform 280ms var(--ease)}
.h-tabs a[aria-current]{color:var(--ink)}
.h-tabs a[aria-current]::after{transform:scaleX(1)}
@media (hover:hover){.h-tabs a:hover{color:var(--ink)}}
.h-tabs-plain{position:static;margin-top:0;backdrop-filter:none;background:transparent}
.h-fgrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(24px,4vw,48px);align-items:start;padding-bottom:20px}
@media (max-width:1020px){.h-fgrid{grid-template-columns:1fr}.h-faside{order:-1}}
.h-fs{padding-top:clamp(36px,5vw,56px)}
.h-fs h2{font-size:clamp(22px,2.6vw,30px);margin-bottom:6px}
.h-faside{position:sticky;top:calc(var(--nav-h) + 72px);padding-top:clamp(36px,5vw,56px)}
@media (max-width:1020px){.h-faside{position:static;padding-top:24px}}
.h-glance{padding:18px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-m);display:grid;gap:12px}
.h-glance-h{display:flex;align-items:center;gap:10px;font-size:15px}
.h-glance dl{margin:4px 0;display:grid;gap:0}
.h-glance dl div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.h-glance dt{color:var(--ink-faint)}
.h-glance dd{margin:0;font-weight:600;text-align:right}
.h-glance .h-deal-label{font-size:14px}
.h-pc{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
@media (max-width:640px){.h-pc{grid-template-columns:1fr}}
.h-pc>div{padding:18px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface)}
.h-pc h3{font-size:14px;margin-bottom:10px;color:var(--ink-soft)}
.h-pc ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.h-pc li{display:flex;gap:10px;font-size:14.5px;line-height:1.45}
.h-pro{color:var(--pos)}.h-con{color:var(--neg)}
.h-plans{border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);overflow:hidden;margin-top:6px}
.h-tabs-in{display:flex;gap:4px;padding:6px;border-bottom:1px solid var(--line);overflow-x:auto;background:var(--surface-2)}
.h-tabs-in button{height:34px;padding:0 13px;border:0;border-radius:6px;background:transparent;font-size:13.5px;font-weight:500;color:var(--ink-soft);cursor:pointer;white-space:nowrap;transition:background-color 160ms ease,color 160ms ease}
.h-tabs-in button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line)}
.h-plan dl{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:640px){.h-plan dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.h-plan dl div{padding:14px 18px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.h-plan dt{font-size:12px;color:var(--ink-faint);margin-bottom:4px}
.h-plan dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.h-plan .big{grid-column:1/-1;border-right:0}
.h-plan .big dd{font-size:28px;letter-spacing:-.03em}
.h-plan[hidden]{display:none}
.h-plan:not([hidden]){animation:fadeUp 260ms var(--ease)}
.h-perms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
@media (max-width:760px){.h-perms{grid-template-columns:repeat(2,minmax(0,1fr))}}
.h-perm{display:flex;align-items:center;gap:10px;padding:12px;border-radius:8px;border:1px solid var(--line);background:var(--surface)}
.h-perm .h-ic{width:28px;height:28px;padding:6px;border-radius:8px;flex:none}
.h-perm b{display:block;font-size:13.5px;font-weight:600}
.h-perm small{display:block;font-size:12px;color:var(--ink-faint)}
.h-perm-yes .h-ic{background:var(--pos-wash);color:var(--pos)}.h-perm-no .h-ic{background:var(--neg-wash);color:var(--neg)}
.h-perm-limits .h-ic{background:var(--warn-wash);color:var(--warn)}.h-perm-na .h-ic{background:var(--surface-2);color:var(--ink-faint)}
.h-copy{padding:16px 18px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);margin-bottom:8px}
.h-copy p{color:var(--ink-soft);font-size:14.5px}
.h-copy p:first-child{display:flex;gap:8px;align-items:center;color:var(--ink);font-weight:600;margin-bottom:6px}
.h-copy a{display:inline-flex;align-items:center;gap:5px;margin-top:8px;font-size:13.5px;font-weight:600}
.h-copy a .h-ic{width:14px;height:14px}
.h-money{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 10px}
@media (max-width:760px){.h-money{grid-template-columns:1fr}}
.h-money>div{padding:16px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface)}
.h-money h3{font-size:13.5px;color:var(--ink-soft);margin-bottom:10px}
.h-chips-s{display:flex;flex-wrap:wrap;gap:6px}
.h-chip-s{display:inline-flex;align-items:center;height:26px;padding:0 9px;border-radius:7px;background:var(--surface-2);font-size:12.5px;font-weight:500}
.h-steps{list-style:none;margin:16px 0 0;padding:0;display:grid;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);overflow:hidden}
.h-steps li{display:grid;grid-template-columns:36px 1fr;gap:14px;padding:18px;border-bottom:1px solid var(--line)}
.h-steps li:last-child{border-bottom:0}
.h-step-n{display:grid;place-items:center;width:32px;height:32px;border-radius:99px;border:1px solid var(--line-2);font-weight:650;font-size:13.5px;font-variant-numeric:tabular-nums}
.h-steps h3{font-size:15.5px;margin-bottom:4px}
.h-steps p{color:var(--ink-soft);font-size:14.5px}
.h-lessons-mini{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.h-lesson-mini{display:grid;gap:8px;font-size:13.5px;font-weight:500}
.h-lesson-mini img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;border:1px solid var(--line);transition:transform 400ms var(--ease)}
@media (hover:hover){.h-lesson-mini:hover img{transform:scale(1.02)}}
.h-reviews{display:grid;gap:10px;margin:14px 0 18px}
.h-review{padding:16px 18px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.h-review header{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:14px}
.h-review header span{color:var(--ink-faint)}
.h-review .h-stars-v{color:var(--blue);letter-spacing:2px}
.h-review p{color:var(--ink-soft);font-size:14.5px;white-space:pre-line}
.h-rv-form summary{list-style:none;display:inline-flex;cursor:pointer}
.h-rv-form summary::-webkit-details-marker{display:none}
.h-rv-form form{display:grid;gap:14px;margin-top:16px;padding:20px;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line);max-width:620px}
.h-rv-form label{display:grid;gap:6px;font-size:13.5px;font-weight:500;color:var(--ink-soft)}
.h-rv-form input:not([type=checkbox]):not([type=radio]),.h-rv-form textarea,.h-notes textarea,.h-news-form input[type=email]{width:100%;padding:11px 13px;border-radius:8px;border:1px solid var(--line-2);background:var(--bg);font:inherit;font-size:15px;color:var(--ink);resize:vertical}
.h-rv-form input:focus,.h-rv-form textarea:focus,.h-notes textarea:focus,.h-news-form input:focus{outline:none;border-color:var(--blue-line);box-shadow:0 0 0 4px var(--blue-wash)}
.h-check{display:flex!important;align-items:flex-start;gap:9px;font-size:13.5px;color:var(--ink-soft)}
.h-check input{margin-top:3px;accent-color:var(--ink)}
.h-stars{border:0;padding:0;margin:0;display:flex;gap:2px;flex-direction:row-reverse;justify-content:flex-end}
.h-stars legend{font-size:13.5px;font-weight:500;color:var(--ink-soft);margin-bottom:6px}
.h-stars label{display:block!important;cursor:pointer}
.h-stars input{position:absolute;opacity:0}
.h-stars .h-ic{width:26px;height:26px;color:var(--line-2);transition:color 140ms ease,transform 140ms var(--ease)}
.h-stars label:hover .h-ic,.h-stars label:hover~label .h-ic,.h-stars label:has(input:checked) .h-ic,.h-stars label:has(input:checked)~label .h-ic{color:var(--blue);fill:currentColor}
.h-stars label:active .h-ic{transform:scale(.88)}
.h-form-msg{font-size:14px;font-weight:500}
.h-form-msg[data-state="ok"]{color:var(--pos)}.h-form-msg[data-state="err"]{color:var(--neg)}
.h-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.h-chip{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 13px;border-radius:7px;border:1px solid var(--line);background:var(--surface);font-size:13.5px;font-weight:500;transition:border-color 160ms ease,transform 140ms var(--ease)}
.h-chip:active{transform:scale(.97)}
@media (hover:hover){.h-chip:hover{border-color:var(--ink-faint)}}

/* ── compare two ── */
.h-cmp-pick{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}
.h-select{position:relative;display:flex;align-items:center;flex:1 1 220px;max-width:340px}
.h-select select{appearance:none;width:100%;height:48px;padding:0 40px 0 14px;border-radius:9px;border:1px solid var(--line-2);background:var(--surface);font:inherit;font-size:15px;font-weight:600;color:var(--ink);cursor:pointer}
.h-select select:focus{outline:none;border-color:var(--blue-line);box-shadow:0 0 0 4px var(--blue-wash)}
.h-select-chev{position:absolute;right:14px;width:16px;height:16px;pointer-events:none;color:var(--ink-faint)}
.h-cmp-swap{width:44px;height:44px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface)}
.h-cmp-swap[data-spin] .h-ic{animation:spin 420ms var(--ease)}
@keyframes spin{to{transform:rotate(180deg)}}
.h-cmp-pick .h-seg{margin-left:auto}
.h-cmp-heads{display:grid;grid-template-columns:30% 35% 35%;margin-bottom:8px}
.h-cmp-heads a{display:flex;align-items:center;gap:12px;padding:12px 15px;font-weight:650;font-size:17px;letter-spacing:-.02em}
.h-cmp-heads img{width:40px;height:40px;border-radius:7px;background:#fff;object-fit:contain;padding:4px;border:1px solid var(--line)}
.h-cmp-t{min-width:560px}
.h-cmp-t th{width:30%;color:var(--ink-soft);font-weight:500}
.h-cmp-t td{width:35%;white-space:normal}
.h-cmp-t td[data-better]{font-weight:650}
.h-cmp-t td[data-better]::after{content:"";display:inline-block;width:7px;height:7px;margin-left:8px;border-radius:99px;background:var(--blue);vertical-align:2px}
.h-cmp-t td[data-flash]{animation:flash 520ms var(--ease)}
@keyframes flash{from{opacity:0;transform:translateY(4px)}}

/* ── smart match ── */
.h-quiz{max-width:860px;padding:clamp(18px,3vw,32px);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-m)}
.h-quiz[hidden]{display:none}
.h-quiz-bar{height:4px;border-radius:6px;background:var(--surface-3);overflow:hidden;margin-bottom:26px}
.h-quiz-bar i{display:block;height:100%;background:var(--blue);transform:scaleX(var(--p,0));transform-origin:left;transition:transform 500ms var(--ease)}
.h-step{border:0;padding:0;margin:0;min-width:0}
.h-step[hidden]{display:none}
.h-step:not([hidden]){animation:stepIn 420ms var(--ease)}
.h-step[data-back]:not([hidden]){animation:stepBack 420ms var(--ease)}
@keyframes stepIn{from{opacity:0;transform:translateX(28px);filter:blur(4px)}}
@keyframes stepBack{from{opacity:0;transform:translateX(-28px);filter:blur(4px)}}
.h-step legend{font-size:clamp(22px,2.8vw,32px);font-weight:650;letter-spacing:-.03em;margin-bottom:20px;padding:0}
.h-step legend small{display:block;font-size:13px;font-weight:500;color:var(--ink-faint);letter-spacing:0;margin-bottom:8px}
.h-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.h-opt{display:flex;align-items:center;gap:12px;padding:14px;border-radius:9px;border:1px solid var(--line-2);background:var(--bg-2);text-align:left;cursor:pointer;
  transition:border-color 160ms ease,background-color 160ms ease,transform 140ms var(--ease),box-shadow 200ms var(--ease)}
.h-opt:active{transform:scale(.98)}
.h-opt-ic{width:38px;height:38px;padding:9px;flex:none;border-radius:7px;background:var(--surface-2);fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;transition:background-color 160ms ease,color 160ms ease}
.h-opt b{display:block;font-size:15px}
.h-opt small{display:block;font-size:12.5px;color:var(--ink-faint)}
.h-opt[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.h-opt[aria-pressed="true"] .h-opt-ic{background:var(--ink);color:var(--surface)}
@media (hover:hover){.h-opt:hover{border-color:var(--ink-faint)}}
.h-quiz-nav{display:flex;justify-content:space-between;gap:10px;margin-top:26px}
.h-quiz-nav [data-next]{margin-left:auto}
.h-quiz-nav [hidden]{display:none}
.h-results[hidden]{display:none}
.h-results:not([hidden]){animation:fadeUp 420ms var(--ease)}
.h-mres{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:8px}
.h-mres li{display:grid;grid-template-columns:28px 44px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface);animation:fadeUp 480ms var(--ease) both;animation-delay:calc(var(--i) * 50ms)}
.h-mres li:first-child{border-color:var(--blue-line);box-shadow:0 0 0 1px var(--blue-line),var(--shadow-m)}
.h-mres img{width:44px;height:44px;border-radius:8px;background:#fff;object-fit:contain;padding:4px;border:1px solid var(--line)}
.h-mres b{font-size:16px}
.h-mres-why{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.h-mres-act{display:grid;justify-items:end;gap:8px}
@media (max-width:640px){.h-mres li{grid-template-columns:24px 40px minmax(0,1fr)}.h-mres-act{grid-column:2/-1;justify-items:start;grid-auto-flow:column;align-items:center}}

/* ── rankings ── */
.h-best{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(20px,4vw,56px);padding:clamp(28px,4vw,44px) 0;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--nav-h) + 20px)}
@media (max-width:860px){.h-best{grid-template-columns:1fr}}
.h-best h2{font-size:clamp(22px,2.6vw,30px)}
.h-best p{color:var(--ink-soft);margin-top:8px}
.h-ranks{list-style:none;margin:0;padding:0;display:grid;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);overflow:hidden}
.h-ranks li{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.h-ranks li:last-child{border-bottom:0}
.h-ranks a{display:flex;align-items:center;gap:12px;min-width:0}
.h-ranks b{display:block;font-size:14.5px}
.h-ranks small{display:block;font-size:12px;color:var(--ink-faint)}
.h-rank{font:650 13px var(--mono);color:var(--ink-faint);text-align:center}
.h-ranks li:first-child .h-rank{color:var(--blue)}
.h-rank-m{font-size:13.5px;font-weight:600;text-align:right;white-space:nowrap}

/* ── learn ── */
.h-overall{display:flex;align-items:center;gap:14px;margin-top:26px;font-size:13.5px;color:var(--ink-soft);max-width:520px}
.h-stages{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px}
.h-stage{position:relative;display:flex;flex-direction:column;gap:12px;padding:12px 12px 16px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);overflow:hidden;transition:transform 400ms var(--ease),box-shadow 400ms var(--ease),border-color 240ms ease}
.h-stage-thumbs{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:4px;border-radius:9px;overflow:hidden;aspect-ratio:16/8}
.h-stage-thumbs img{width:100%;height:100%;object-fit:cover;filter:saturate(.8);transition:transform 600ms var(--ease),filter 400ms ease}
.h-stage-thumbs img:first-child{grid-row:1/3}
.h-stage-b{padding:0 6px}
.h-stage-b small{font-size:12px;color:var(--ink-faint);font-weight:500}
.h-stage h2{font-size:19px;margin:4px 0 6px}
.h-stage p{font-size:14px;color:var(--ink-soft)}
.h-stage-foot{margin-top:auto;padding:4px 6px 0;display:flex;align-items:center;gap:12px;font-size:12.5px;color:var(--ink-faint)}
.h-stage[data-complete] .h-stage-b small::after{content:" · ✓";color:var(--pos)}
@media (hover:hover){.h-stage:hover{transform:translateY(-3px);box-shadow:var(--shadow-l);border-color:var(--line-2)}.h-stage:hover .h-stage-thumbs img{filter:none;transform:scale(1.03)}}
.h-learn-how{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,72px)}
.h-learn-how h2{font-size:24px;margin-bottom:12px}
.h-learn-how p,.h-learn-how li{color:var(--ink-soft)}
.h-learn-how ol{padding-left:20px;margin:0;display:grid;gap:8px}
@media (max-width:760px){.h-learn-how{grid-template-columns:1fr}}
.h-credit{font-size:13.5px;color:var(--ink-faint);max-width:84ch;padding:16px 18px;border-radius:var(--r);border:1px dashed var(--line-2)}
.h-stage-hero{padding-top:clamp(24px,4vw,44px);padding-bottom:20px}
.h-player-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:18px;align-items:start;padding-bottom:36px}
@media (max-width:960px){.h-player-grid{grid-template-columns:1fr}}
.h-player-col{position:sticky;top:calc(var(--nav-h) + 16px)}
@media (max-width:960px){.h-player-col{position:static}}
.h-player{position:relative;aspect-ratio:16/9;border-radius:var(--r-l);overflow:hidden;background:#000;box-shadow:var(--shadow-l)}
.h-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.h-player-poster{all:unset;position:absolute;inset:0;cursor:pointer;display:grid;place-items:center}
.h-player-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82;transition:opacity 300ms ease,transform 800ms var(--ease)}
.h-play{position:relative;display:grid;place-items:center;width:72px;height:72px;border-radius:99px;background:rgba(255,255,255,.95);color:#0A0A0A;box-shadow:0 20px 50px -10px rgba(0,0,0,.5);transition:transform 260ms var(--ease)}
.h-play .h-ic{width:30px;height:30px;stroke-width:1.5}
@media (hover:hover){.h-player-poster:hover img{opacity:1;transform:scale(1.02)}.h-player-poster:hover .h-play{transform:scale(1.06)}}
.h-player-poster:active .h-play{transform:scale(.95)}
.h-player-poster:focus-visible .h-play{outline:3px solid var(--blue);outline-offset:4px}
.h-player-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:16px 0 14px;flex-wrap:wrap}
.h-player-title{font-size:18px;letter-spacing:-.02em;max-width:42ch}
.h-player-act{display:flex;gap:8px}
.h-player-act [data-done][aria-pressed="true"]{background:var(--pos-wash);border-color:transparent;color:var(--pos)}
.h-notes{display:grid;gap:8px;font-size:13.5px;font-weight:500;color:var(--ink-soft);margin-bottom:10px}
.h-les-list{list-style:none;margin:0;padding:6px;display:grid;gap:2px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface);max-height:calc(100vh - var(--nav-h) - 40px);overflow-y:auto;position:sticky;top:calc(var(--nav-h) + 16px);overscroll-behavior:contain}
@media (max-width:960px){.h-les-list{max-height:none;position:static}}
.h-les{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:26px 84px 1fr 20px;align-items:center;gap:10px;padding:8px;border-radius:8px;cursor:pointer;font-size:13.5px;transition:background-color 160ms ease}
.h-les img{width:84px;aspect-ratio:16/9;object-fit:cover;border-radius:8px}
.h-les-n{font:600 12px var(--mono);color:var(--ink-faint);text-align:center}
.h-les-t{line-height:1.35;font-weight:500}
.h-les-ok{display:grid;place-items:center;width:20px;height:20px;border-radius:99px;border:1.5px solid var(--line-2);color:transparent;transition:background-color 220ms ease,border-color 220ms ease,color 220ms ease}
.h-les-ok .h-ic{width:12px;height:12px;stroke-width:2.5}
[data-lesson][data-watched] .h-les-ok{background:var(--pos);border-color:var(--pos);color:#fff}
[data-lesson][aria-current] .h-les{background:var(--surface-2)}
[data-lesson][aria-current] .h-les-n{color:var(--blue)}
@media (hover:hover){.h-les:hover{background:var(--surface-2)}}
.h-les:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.h-pager{display:flex;justify-content:space-between;gap:12px;padding-bottom:24px}
.h-pager a{display:grid;gap:2px;padding:14px 18px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);font-weight:600;max-width:48%;transition:border-color 160ms ease}
.h-pager small{font-size:12.5px;font-weight:500;color:var(--ink-faint)}
.h-pager-next{margin-left:auto;text-align:right}
@media (hover:hover){.h-pager a:hover{border-color:var(--ink-faint)}}

/* ── glossary ── */
.h-glo-g{padding:28px 0;border-bottom:1px solid var(--line)}
.h-glo-g[hidden]{display:none}
.h-glo-g h2{font-size:22px;margin-bottom:14px}
.h-glo-g dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (max-width:760px){.h-glo-g dl{grid-template-columns:1fr}}
.h-term{padding:16px 18px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface);scroll-margin-top:calc(var(--nav-h) + 24px)}
.h-term:target{border-color:var(--blue-line);box-shadow:0 0 0 3px var(--blue-wash)}
.h-term dt{font-weight:650;font-size:15.5px;margin-bottom:6px}
.h-term dd{margin:0;color:var(--ink-soft);font-size:14.5px}
.h-term[hidden]{display:none}

/* ── newsletter ── */
.h-news{padding-block:clamp(40px,6vw,72px)}
.h-news-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:center;padding:clamp(22px,4vw,44px);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line)}
.h-news-card h2{font-size:clamp(22px,2.8vw,32px);margin-bottom:8px}
.h-news-card>div>p{color:var(--ink-soft)}
.h-news-form{display:grid;grid-template-columns:1fr auto;gap:8px}
.h-news-form input[type=email]{height:50px;border-radius:9px;padding:0 16px;background:var(--bg)}
.h-news-form .h-btn{height:50px;border-radius:9px}
.h-news-form .h-fine,.h-news-msg{grid-column:1/-1}
.h-news-msg{font-size:14px;font-weight:500;min-height:1em}
.h-news-msg[data-state="ok"]{color:var(--pos)}.h-news-msg[data-state="err"]{color:var(--neg)}
@media (max-width:760px){.h-news-card{grid-template-columns:1fr}.h-news-form{grid-template-columns:1fr}}

/* ── footer ── */
.h-foot{border-top:1px solid var(--line);padding:52px 0 26px;background:var(--bg-2)}
.h-foot-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:28px}
.h-foot-brand p{color:var(--ink-faint);font-size:14px;margin-top:12px;max-width:30ch}
.h-foot nav{display:grid;gap:9px;align-content:start}
.h-foot h3{font-size:12.5px;font-weight:600;margin-bottom:6px;letter-spacing:0}
.h-foot nav a{font-size:14px;color:var(--ink-soft);width:fit-content;transition:color 160ms ease}
@media (hover:hover){.h-foot nav a:hover{color:var(--ink)}}
.h-foot-legal{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);display:grid;gap:8px;font-size:12.5px;color:var(--ink-faint);line-height:1.6}
@media (max-width:860px){.h-foot-grid{grid-template-columns:1fr 1fr}.h-foot-brand{grid-column:1/-1}}

/* ── motion: the split headline is the only page-load entrance ── */
.js [data-split] .w{display:inline-block;opacity:0;transform:translateY(.35em);filter:blur(6px);transition:opacity 700ms var(--ease),transform 800ms var(--ease),filter 700ms var(--ease);transition-delay:calc(var(--wi) * 45ms + 60ms)}
.js [data-split].h-in .w{opacity:1;transform:none;filter:none}

/* grid children may shrink below their content (tables scroll inside their wrapper instead of widening the page) */
.h-mk-grid>*,.h-mk2-grid>*,.h-player-grid>*,.h-hero-grid>*,.h-tv-row>*,.h-news-card>*,.h-learn-how>*,.h-fgrid>*,.h-ddx>*,.h-pbband-in>*,.h-best>*{min-width:0}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}
  .js [data-split] .w{opacity:1;transform:none;filter:none}
  .h-mq ul{animation:none}
  @view-transition{navigation:none}
}

/* ── the Propbook page: the hub's nav sits over the Glacier landing ── */
body.h-pb{background:var(--bg)}

/* ── legacy pages (SEO, tools, guides) inside the hub shell ── */
.h-legacy main,.h-legacy > .wrap,.h-legacy .page{position:relative}
.h-legacy .wrap{max-width:900px;margin:0 auto;padding:0 var(--gut)}
.h-legacy section{padding:32px 0}
.h-legacy h1{font-size:clamp(32px,5vw,52px);letter-spacing:-.045em;line-height:1.04;margin:0 0 16px}
.h-legacy h1 em{font-style:normal;color:var(--blue)}
.h-legacy h2{font-size:clamp(22px,2.8vw,30px);letter-spacing:-.03em;margin:0 0 14px}
.h-legacy h3{font-size:17px;margin:0 0 6px}
.h-legacy p{margin:0 0 12px}
.h-legacy p.lead,.h-legacy .sub{color:var(--ink-soft);font-size:17.5px;max-width:64ch}
.h-legacy .hero{padding:48px 0 28px}
.h-legacy .eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:6px 13px;margin-bottom:20px}
.h-legacy .eyebrow img{width:22px;height:22px;border-radius:6px;background:#fff;padding:2px;object-fit:contain}
.h-legacy .card,.h-legacy .feat,.h-legacy .faq,.h-legacy .final,.h-legacy .box,.h-legacy .tool,.h-legacy .calc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:22px}
.h-legacy .feats{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.h-legacy .feat p{color:var(--ink-soft);font-size:14.5px;margin:0}
.h-legacy table{width:100%;border-collapse:collapse;font-size:14.5px}
.h-legacy th,.h-legacy td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line)}
.h-legacy th{font-size:12.5px;font-weight:600;color:var(--ink-faint)}
.h-legacy td.num,.h-legacy th.num{text-align:right;font-variant-numeric:tabular-nums}
.h-legacy .btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 20px;border-radius:99px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-weight:600;font-size:14.5px;cursor:pointer;transition:transform 160ms var(--ease-out),background-color 200ms ease}
.h-legacy .btn:active{transform:scale(.97)}
.h-legacy .btn.primary{background:var(--pri-bg);color:var(--pri-ink);border-color:var(--pri-bg)}
@media (hover:hover){.h-legacy .btn.primary:hover{background:var(--blue);border-color:var(--blue);color:#fff}}
.h-legacy .hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.h-legacy .note{color:var(--ink-faint);font-size:13px;margin-top:14px}
.h-legacy .faq{padding:6px 22px}
.h-legacy .faq details{border-bottom:1px solid var(--line);padding:16px 0}
.h-legacy .faq details:last-child{border-bottom:0}
.h-legacy .faq summary{font-weight:600;cursor:pointer}
.h-legacy .faq p{color:var(--ink-soft);margin:10px 0 0;font-size:14.5px}
.h-legacy .chip{display:inline-flex;align-items:center;gap:7px;font-size:13px;border:1px solid var(--line);border-radius:99px;padding:7px 14px;color:var(--ink-soft);background:var(--surface)}
.h-legacy .chip img{width:20px;height:20px;border-radius:5px;background:#fff;padding:2px;object-fit:contain}
.h-legacy .others{display:flex;flex-wrap:wrap;gap:8px}
.h-legacy .final{text-align:center;padding:36px;margin-top:10px}
.h-legacy .pos{color:var(--pos)}
.h-legacy :where(.wrap,section) a:not(.btn):not(.chip):not([class*="h-"]){color:var(--blue)}
.h-legacy .h-nav a:not(.h-btn),.h-legacy .h-foot a,.h-legacy .h-sheet a:not(.h-btn){color:inherit}
.h-legacy .h-foot nav a{color:var(--ink-soft)}
.h-legacy input,.h-legacy select{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line-2);border-radius:8px;padding:10px 12px}
.h-legacy input:focus,.h-legacy select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-wash)}
.h-legacy ul,.h-legacy ol{padding-left:20px}
.h-legacy li{margin-bottom:6px}
@media (max-width:640px){.h-legacy .feats{grid-template-columns:1fr}}
/* the old pages keep their own <style>; these tokens and resets bring it into the hub's look */
body.h-legacy{--accent:var(--blue);--a2:var(--blue);--danger:var(--neg);--line-strong:var(--line-2);--ink-faint:var(--ink-faint);
  --display:var(--font);--sans:var(--font);--mono:ui-monospace,SFMono-Regular,Menlo,monospace;--orb:0%;--blur:0px;--sat:1;
  background:var(--bg);color:var(--ink);font-family:var(--font);line-height:1.6}
body.h-legacy::before{content:none!important;animation:none!important}
.h-legacy .h-nav nav,.h-legacy .h-sheet nav,.h-legacy .h-foot nav{position:static;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;z-index:auto;top:auto}
.h-legacy .h-sheet nav{display:grid}
.h-legacy footer.h-foot{text-align:left;margin-top:0;color:inherit;font-size:inherit;padding:56px 0 28px}
.h-legacy .tool-card,.h-legacy .fc{border-radius:var(--r-l)}
.h-legacy .f label,.h-legacy .sub-h,.h-legacy .crumb{font-family:var(--font);letter-spacing:.01em}
.h-legacy .f input,.h-legacy .f select{background:var(--bg);border-color:var(--line-2)}
.h-legacy .btn.sm{height:36px;padding:0 14px;font-size:13px}
/* the old pages keep their own <style>; these tokens and resets bring it into the hub's look */
body.h-legacy{--accent:var(--blue);--a2:var(--blue);--danger:var(--neg);--line-strong:var(--line-2);
  --display:var(--font);--sans:var(--font);--orb:0%;--blur:0px;--sat:1;background:var(--bg);color:var(--ink);font-family:var(--font);line-height:1.6}
body.h-legacy::before{content:none!important;animation:none!important}
.h-legacy .h-nav nav,.h-legacy .h-sheet nav,.h-legacy .h-foot nav,.h-legacy .h-mm nav{position:static;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;z-index:auto;top:auto}
.h-legacy footer.h-foot{text-align:left;margin-top:0;color:inherit;font-size:inherit;padding:52px 0 26px}
.h-legacy .tool-card,.h-legacy .fc{border-radius:var(--r-l)}
.h-legacy .f label,.h-legacy .sub-h,.h-legacy .crumb{font-family:var(--font);letter-spacing:.01em}
.h-legacy .f input,.h-legacy .f select{background:var(--bg);border-color:var(--line-2)}
.h-legacy .btn.sm{height:36px;padding:0 14px;font-size:13px}
.h-legacy .h-mm-l,.h-legacy .h-mm-f{color:var(--ink)}

/* ═════════════ Glacier: directory, selection tray, two-account comparison ═════════════ */
.h-toggle input:checked+span{background:var(--blue)}
.h-btn:not(.h-btn-pri):not(.h-btn-dark):not(.h-btn-inv):not(.h-btn-ghost-inv){border-color:var(--line)}
@media (hover:hover){.h-btn:not(.h-btn-pri):not(.h-btn-dark):not(.h-btn-inv):not(.h-btn-ghost-inv):hover{background:var(--surface-2);border-color:var(--line-2)}}
.h-src-dot{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-faint)}
.h-src-dot::before{content:"";width:6px;height:6px;border-radius:99px;background:var(--pos)}
.h-dir-top{padding-top:22px}
.h-dir-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.h-dir-meta .h-crumbs{margin:0}
.h-dir-head{text-align:center;padding:clamp(26px,4vw,44px) 0 clamp(18px,2.6vw,28px)}
.h-dir-head .h-display{margin-inline:auto;max-width:20ch}
.h-dir-head .h-display em{font-style:normal;color:var(--blue)}
.h-dir-head .h-lead{margin:14px auto 0;font-size:16px}
.h-dir-head-l{text-align:left}.h-dir-head-l .h-display,.h-dir-head-l .h-lead{margin-inline:0}
.h-dir-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.h-quick{display:flex;flex-wrap:wrap;gap:8px}
.h-quick-b{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:7px;border:1px solid var(--line);background:var(--surface);font-size:13.5px;font-weight:500;color:var(--ink);cursor:pointer;
  transition:border-color 160ms ease,background-color 160ms ease,color 160ms ease,transform 140ms var(--ease)}
.h-quick-b:active{transform:scale(.97)}
.h-quick-b .h-ic{width:16px;height:16px}
.h-quick-b[aria-pressed="true"]{color:var(--blue);border-color:var(--blue);background:var(--blue-soft)}
.h-quick-b b{min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--blue);color:#fff;font-size:12px;line-height:18px}
.h-quick-b b[hidden]{display:none}
@media (hover:hover){.h-quick-b:hover{border-color:var(--line-2)}}
.h-dir-open{display:none}
.h-scen{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink-soft)}
.h-scen .h-select{flex:none;width:210px}
.h-scen .h-select select,.h-sortby .h-select select,.h-dir-side .h-select select,.h-select-s select{height:40px;font-size:13.5px;font-weight:500;border-color:var(--line)}
.h-scen-note{font-size:13px;color:var(--ink-faint);line-height:1.6;margin:12px 0 22px;max-width:110ch}
.h-dir-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;align-items:start}
.h-dir-side{position:sticky;top:calc(var(--nav-h) + 18px);border-top:1px solid var(--line);padding-top:14px;display:grid;gap:18px}
.h-dir-side-h{display:flex;align-items:center;justify-content:space-between;font-size:14px}
.h-textbtn{border:0;background:none;padding:0;font:inherit;font-size:13px;font-weight:500;color:var(--blue);cursor:pointer}
.h-dir-x{display:none}
.h-fl{display:grid;gap:8px}
.h-fl-l{font-size:13px;font-weight:600;color:var(--ink)}
.h-fl .h-seg{display:flex}.h-fl .h-seg button{flex:1;padding:0 6px}
.h-fl .h-select{max-width:none}
.h-fl .h-search{margin:0;max-width:none}
.h-field{width:100%;height:40px;padding:0 12px;border-radius:7px;border:1px solid var(--line);background:var(--surface);font:inherit;font-size:14px;color:var(--ink)}
.h-field:focus{outline:none;border-color:var(--blue-line);box-shadow:0 0 0 4px var(--blue-wash)}
.h-dir-side .h-toggle{padding-left:0;height:auto}
.h-fl-note{border-top:1px solid var(--line);padding-top:14px}
.h-dir-list-h{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:14px}
.h-dir-list-h b{font-variant-numeric:tabular-nums}
.h-sortby{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-faint);white-space:nowrap}
.h-sortby .h-select{width:200px;flex:none}
.h-accs{display:grid;gap:12px}
/* the account card */
.h-acc{position:relative;display:grid;grid-template-columns:24px minmax(0,1.55fr) minmax(150px,.9fr) minmax(200px,1fr);gap:22px;padding:22px;border-radius:var(--r);
  border:1px solid var(--line);background:var(--surface);transition:border-color 180ms ease,box-shadow 240ms var(--ease)}
@media (hover:hover){.h-acc:hover{border-color:color-mix(in srgb,var(--blue) 30%,var(--line));box-shadow:var(--shadow-m)}}
.h-acc[data-picked]{border-color:color-mix(in srgb,var(--blue) 45%,var(--line));box-shadow:inset 3px 0 0 var(--blue)}
.h-acc[data-out]{display:none}
.h-acc-pick{position:relative;margin-top:12px;width:22px;height:22px;cursor:pointer}
.h-acc-pick input{position:absolute;inset:0;z-index:1;opacity:0;margin:0;cursor:pointer}
.h-check-box{pointer-events:none;display:grid;place-items:center;width:22px;height:22px;border-radius:6px;border:1.5px solid var(--line-2);background:var(--surface);transition:background-color 160ms ease,border-color 160ms ease,transform 140ms var(--ease)}
.h-check-box .h-ic{width:14px;height:14px;color:#fff;stroke-width:2.6;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset 240ms var(--ease)}
.h-acc-pick input:checked+.h-check-box{background:var(--blue);border-color:var(--blue)}
.h-acc-pick input:checked+.h-check-box .h-ic{stroke-dashoffset:0}
.h-acc-pick input:active+.h-check-box{transform:scale(.9)}
.h-acc-pick input:focus-visible+.h-check-box{outline:2px solid var(--blue);outline-offset:3px}
.h-acc-firm{display:flex;align-items:center;gap:12px}
.h-acc-firm b{display:block;font-size:18px;letter-spacing:-.03em;line-height:1.2}
.h-acc-firm small{display:inline-block;margin-top:5px;padding:2px 8px;border-radius:5px;background:var(--surface-2);font-size:12px;color:var(--ink-soft);line-height:1.5}
.h-acc-firm .h-flogo{width:46px;height:46px;border-radius:9px}
.h-acc-desc{font-size:13.5px;color:var(--ink-soft);line-height:1.55;margin:12px 0 4px;max-width:62ch}
.h-acc-plan{position:relative;display:flex;align-items:center;margin-top:8px;max-width:340px}
.h-acc-plan select{appearance:none;width:100%;height:34px;padding:0 30px 0 0;border:0;border-bottom:1px dashed var(--line-2);border-radius:0;background:transparent;font:inherit;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer}
.h-acc-plan select:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.h-acc-plan .h-select-chev{right:4px}
.h-acc-more{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:6px 0;border:0;background:none;font:inherit;font-size:13.5px;font-weight:500;color:var(--blue);cursor:pointer}
.h-acc-more .h-chev{width:15px;height:15px;opacity:1}
.h-acc-more[aria-expanded="true"] .h-chev{transform:rotate(180deg)}
.h-acc-rules{display:grid;grid-template-rows:0fr;transition:grid-template-rows 260ms var(--ease)}
.h-acc-rules>div{overflow:hidden;min-height:0}
.h-acc-rules[data-open]{grid-template-rows:1fr}
.h-acc-rules dl{margin:8px 0 10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
.h-acc-rules dl div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.h-acc-rules dt{color:var(--ink-faint)}.h-acc-rules dd{margin:0;font-weight:600;text-align:right}
.h-link-s{font-size:13px}.h-link-s .h-ic{width:14px;height:14px}
.h-acc-m{margin:0;border-left:1px solid var(--line);padding-left:20px;display:grid;gap:12px;align-content:start}
.h-acc-m dt{font-size:12.5px;color:var(--ink-faint)}
.h-acc-m dd{margin:2px 0 0;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
.h-acc-p{border-left:1px solid var(--line);padding-left:20px;display:flex;flex-direction:column}
.h-acc-pl{font-size:12.5px;color:var(--ink-faint)}
.h-acc-price{font-size:32px;font-weight:700;letter-spacing:-.04em;line-height:1.15;font-variant-numeric:tabular-nums;white-space:nowrap}
.h-acc-price .h-cents{font-size:.62em;letter-spacing:-.02em}
.h-acc-price s{font-size:13px;font-weight:500;color:var(--ink-faint);letter-spacing:0;margin-left:8px}
.h-acc-np{display:block;font-size:17px;letter-spacing:-.02em;white-space:normal;line-height:1.3;margin-top:4px}
.h-acc-per{font-size:12.5px;color:var(--ink-faint);margin:2px 0 8px}
.h-acc-act{font-size:13px;color:var(--ink-soft);margin-bottom:8px}
.h-acc-p .h-code{align-self:flex-start;display:inline-flex;align-items:center;gap:7px}
.h-acc-total{display:grid;gap:2px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.h-acc-total span{font-size:12.5px;color:var(--ink-faint)}
.h-acc-total b{font-size:22px;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.h-acc-total small{font-size:12px;color:var(--ink-faint)}
.h-acc-go{margin-top:14px;height:38px;font-size:13.5px}
[data-f][data-flash]{animation:fFlash 420ms var(--ease)}
@keyframes fFlash{0%{filter:blur(3px);opacity:.35;transform:translateY(3px)}}
.h-code .h-ic{width:13px;height:13px}
.h-empty-b{padding:48px 24px;text-align:center;border:1px dashed var(--line-2);border-radius:var(--r);background:var(--surface)}
.h-empty-b .h-ic{width:28px;height:28px;margin:0 auto 10px;color:var(--ink-faint)}
.h-empty-b h2{font-size:21px}.h-empty-b p{color:var(--ink-soft);margin:8px 0 18px}
.h-empty-b[hidden]{display:none}
.h-dir-scrim{display:none}
@media (max-width:1060px){
  .h-acc{grid-template-columns:24px minmax(0,1fr) minmax(190px,.8fr)}
  .h-acc-m{grid-column:2;border-left:0;padding-left:0;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);padding-top:12px}
  .h-acc-p{grid-column:3;grid-row:1/3}
}
@media (max-width:900px){
  .h-dir-grid{grid-template-columns:1fr}
  .h-dir-open{display:inline-flex}
  .h-dir-side{position:fixed;z-index:120;inset:auto 0 0 0;max-height:86dvh;overflow-y:auto;padding:18px var(--gut) calc(22px + env(safe-area-inset-bottom));background:var(--surface);border-top:0;
    border-radius:14px 14px 0 0;box-shadow:var(--shadow-l);transform:translateY(105%);visibility:hidden;transition:transform 380ms var(--ease-drawer),visibility 0s linear 380ms}
  .h-dir-side[data-open]{transform:none;visibility:visible;transition:transform 380ms var(--ease-drawer)}
  .h-dir-x{display:grid}
  .h-dir-side-h .h-textbtn{margin-left:auto;margin-right:8px}
  .h-dir-scrim{display:block;position:fixed;inset:0;z-index:110;background:rgba(9,12,37,.38);opacity:0;transition:opacity 280ms ease}
  .h-dir-scrim[hidden]{display:none}
  .h-dir-scrim[data-on]{opacity:1}
  .h-scen{width:100%;justify-content:space-between}
}
@media (max-width:640px){
  .h-acc{grid-template-columns:24px minmax(0,1fr);gap:14px;padding:18px}
  .h-acc-m{grid-template-columns:1fr 1fr}
  .h-acc-m div:last-child{grid-column:1/-1}
  .h-acc-p{grid-column:1/-1;grid-row:auto;border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:14px}
  .h-acc-rules dl{grid-template-columns:1fr}
  .h-sortby .h-select{width:160px}
  .h-scen .h-select{width:180px}
}
/* selection tray */
.h-tray{position:fixed;left:0;right:0;bottom:0;z-index:90;background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);
  border-top:1px solid color-mix(in srgb,var(--blue) 35%,var(--line));box-shadow:0 -10px 30px -18px rgba(27,49,89,.3);padding-bottom:env(safe-area-inset-bottom);
  transform:translateY(0);transition:transform 360ms var(--ease-drawer)}
.h-tray[hidden]{display:block;transform:translateY(110%);visibility:hidden;transition:transform 300ms var(--ease),visibility 0s linear 300ms}
.h-tray-in{display:flex;align-items:center;gap:20px;min-height:72px;padding-block:12px}
.h-tray-h{min-width:190px;padding-right:20px;border-right:1px solid var(--line);font-size:14px;line-height:1.35}
.h-tray-h b span:first-child{display:inline-block;color:var(--blue);font-variant-numeric:tabular-nums}
.h-tray-h small{display:block;font-size:12.5px;color:var(--ink-faint);margin-top:2px}
.h-tray-list{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.h-tray-c{display:flex;align-items:center;gap:10px;min-width:0;max-width:320px;padding:7px 8px 7px 9px;border-radius:8px;border:1px solid var(--line);background:var(--surface)}
.h-tray-c img{width:30px;height:30px;border-radius:6px;background:#fff;object-fit:contain;padding:2px;border:1px solid var(--line);flex:none}
.h-tray-c span{min-width:0;font-size:13.5px;font-weight:600;line-height:1.25}
.h-tray-c small{display:block;font-size:12px;font-weight:400;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.h-tray-c button{display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:6px;background:transparent;color:var(--ink-faint);cursor:pointer;flex:none}
.h-tray-c button .h-ic{width:14px;height:14px}
@media (hover:hover){.h-tray-c button:hover{background:var(--surface-2);color:var(--ink)}}
.h-tray-c[data-pop]{animation:trayPop 340ms var(--ease)}
@keyframes trayPop{0%{transform:scale(.92);opacity:.4}60%{transform:scale(1.03)}}
.h-tray-c[data-leave]{animation:trayOut 200ms ease forwards}
@keyframes trayOut{to{transform:scale(.95);opacity:0}}
.h-tray-add{height:46px;padding:0 14px;border-radius:8px;border:1px dashed var(--line-2);display:flex;align-items:center;font-size:13px;color:var(--ink-faint);white-space:nowrap}
.h-tray [data-tray-go][aria-disabled="true"]{opacity:.45;pointer-events:none}
[data-roll]{animation:roll 300ms var(--ease)}
@keyframes roll{0%{transform:translateY(60%);opacity:0;filter:blur(2px)}}
.h-fly{position:fixed;z-index:200;width:34px;height:34px;border-radius:8px;background:#fff;object-fit:contain;padding:3px;border:1px solid var(--line);box-shadow:var(--shadow-m);pointer-events:none;margin:0}
body:has(.h-tray:not([hidden])) .h-foot{padding-bottom:90px}
@media (max-width:760px){
  .h-tray-in{flex-wrap:wrap;gap:10px}
  .h-tray-h{min-width:0;border-right:0;padding-right:0;flex:1}
  .h-tray-list{order:3;flex-basis:100%;overflow-x:auto}
  .h-tray-c{max-width:none;flex:1 1 0}
  .h-tray-add{display:none}
  .h-tray-h small{display:none}
}
/* replace dialog */
.h-dialog{border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);width:min(480px,calc(100% - 32px));padding:26px;box-shadow:var(--shadow-l)}
.h-dialog[open]{animation:dlgIn 260ms var(--ease)}
@keyframes dlgIn{from{opacity:0;transform:translateY(8px) scale(.98)}}
.h-dialog::backdrop{background:rgba(9,12,37,.42);backdrop-filter:blur(3px)}
.h-dialog h2{font-size:22px}
.h-dialog p{color:var(--ink-soft);font-size:14px;margin:8px 0 14px}
.h-rep{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:10px;padding:12px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font:inherit;text-align:left;color:var(--ink);cursor:pointer;
  transition:border-color 160ms ease,background-color 160ms ease,transform 140ms var(--ease)}
.h-rep:active{transform:scale(.98)}
.h-rep img{width:32px;height:32px;border-radius:7px;background:#fff;object-fit:contain;padding:2px;border:1px solid var(--line)}
.h-rep small{display:block;color:var(--ink-faint);font-size:12.5px}
@media (hover:hover){.h-rep:hover{border-color:var(--blue);background:var(--blue-soft)}}
/* two-account comparison */
.h-cx-tool{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.h-cx-tool .h-toggle{padding-left:0}
.h-cx-tool .h-cta{margin:0}
.h-cx-scen{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding:16px 20px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);margin-bottom:16px}
.h-cx-scen b{font-size:14.5px}.h-cx-scen p{font-size:13px;color:var(--ink-faint);margin-top:2px}
.h-cx-scen .h-scen .h-select{width:190px}
.h-cx{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}
.h-cx-head,.h-cx-in{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1fr) minmax(0,1fr)}
.h-cx-head{border-bottom:1px solid var(--line)}
.h-cx-corner{display:grid;place-items:center start;padding:18px 20px;border-right:1px solid var(--line)}
.h-cx-col{display:grid;gap:10px;padding:18px 20px;border-right:1px solid var(--line);align-content:start}
.h-cx-col:last-child{border-right:0}
.h-cx-col .h-select{max-width:none}
.h-cx-col .h-select select{height:42px;font-size:14px}
.h-cx-firm{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:700;letter-spacing:-.03em;min-height:46px}
.h-cx-firm img{width:46px;height:46px;border-radius:9px;background:#fff;object-fit:contain;padding:4px;border:1px solid var(--line)}
.h-cx-gh{padding:9px 20px;background:var(--surface-2);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line)}
html[lang="hi"] .h-cx-gh{text-transform:none;letter-spacing:0}
.h-cx-r{display:grid;grid-template-rows:1fr;transition:grid-template-rows 300ms var(--ease),opacity 220ms ease}
.h-cx-in{overflow:hidden;min-height:0;border-bottom:1px solid var(--line)}
.h-cx-r[data-hide]{grid-template-rows:0fr;opacity:0}
.h-cx-r[data-hide] .h-cx-in{border-bottom-color:transparent}
.h-cx-l,.h-cx-c{padding:12px 20px;font-size:14px;border-right:1px solid var(--line)}
.h-cx-l{color:var(--ink-soft)}
.h-cx-c:last-child{border-right:0}
.h-cx-c{position:relative;font-variant-numeric:tabular-nums;isolation:isolate}
.h-cx-c::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--blue-soft);transform:scaleX(0);transform-origin:left;transition:transform 420ms var(--ease)}
.h-cx-c[data-better]{font-weight:650}
.h-cx-c[data-better]::before{transform:scaleX(1)}
.h-cx-c[data-better]::after{content:"";display:inline-block;width:14px;height:14px;margin-left:8px;vertical-align:-2px;background:var(--blue);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;
  animation:tickIn 380ms var(--ease) both}
@keyframes tickIn{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.h-cx-r[data-row="total"] .h-cx-c{font-size:26px;font-weight:700;letter-spacing:-.04em;padding-block:14px}
.h-cx-r[data-row="total"] .h-cx-c small{display:block;font-size:12.5px;font-weight:400;letter-spacing:0;color:var(--ink-faint)}
.h-cx-same{padding:22px;text-align:center;color:var(--ink-faint)}
.h-cx-same[hidden]{display:none}
@media (max-width:760px){
  .h-cx{overflow-x:auto}
  .h-cx-head,.h-cx-in{grid-template-columns:120px minmax(170px,1fr) minmax(170px,1fr);min-width:480px}
  .h-cx-l,.h-cx-c,.h-cx-col{padding-inline:12px}
  .h-cx-gh{min-width:480px}
  .h-cx-firm{font-size:16px}
}
/* firm page */
.h-flogo-lg{view-transition-class:firm-logo}
::view-transition-group(*.firm-logo){animation-duration:420ms;animation-timing-function:var(--ease)}
.h-tabs a{position:relative}
.h-tabs:has(.h-ink) a::after{display:none}
.h-tabs .h-ink{position:absolute;left:0;bottom:0;height:2px;width:var(--w,0);background:var(--blue);border-radius:2px;transform:translateX(var(--x,0));transition:transform 320ms var(--ease),width 320ms var(--ease)}
/* theme switch: the new theme opens as a circle from the toggle */
::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal}
html[data-vt-theme]::view-transition-old(root){animation:none}
html[data-vt-theme]::view-transition-new(root){animation:none}
@media (prefers-reduced-motion:reduce){
  .h-acc-rules,.h-cx-r,.h-tray,.h-dir-side,.h-cx-c::before{transition:none!important}
  [data-roll],[data-f][data-flash],.h-tray-c[data-pop],.h-cx-c[data-better]::after{animation:none!important}
}
.h-qm-s small{font-size:12px;color:var(--ink-faint);white-space:nowrap}
.h-mres-act .h-qm-s{display:grid;justify-items:end}
.h-code{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.h-cx-r[data-row="total"] .h-cx-c[data-better]::after{position:absolute;right:18px;top:20px;margin:0}
body:has(.h-tray:not([hidden])) main{padding-bottom:84px}
.h-bar{background:var(--bar-bg);color:var(--bar-ink)}
.h-bar-i b{color:var(--bar-code)}
:root{--bar-bg:#090C25;--bar-ink:#EEF2FF;--bar-code:#9DB4FF}
:root[data-theme="dark"]{--bar-bg:#141A2E;--bar-ink:#EEF2FF;--bar-code:#9DB4FF}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bar-bg:#141A2E}}
.h-acc-m dd.h-plats{font-size:14px;font-weight:500;line-height:1.45}
/* scroll reveal (set by hub.js only on what starts below the fold) */
.js [data-rv]{opacity:0;transform:translateY(16px)}
.js [data-rv][data-rv-in]{opacity:1;transform:none;transition:opacity 560ms var(--ease),transform 680ms var(--ease);transition-delay:var(--rvd,0ms)}
/* mega menu: links settle in order each time a panel opens */
.h-mm-p:not([hidden]) :is(.h-mm-l,.h-mm-f,.h-mm-h){animation:mmIn 320ms var(--ease) both;animation-delay:calc(var(--k,0) * 18ms + 40ms)}
@keyframes mmIn{from{opacity:0;transform:translateY(6px)}}
/* nav: one pill follows the pointer */
.h-links ul{position:relative}
.h-hov{position:absolute;left:0;top:0;height:38px;border-radius:7px;background:var(--surface-2);opacity:0;z-index:-1;pointer-events:none;
  transition:transform 260ms var(--ease),width 260ms var(--ease),opacity 180ms ease}
.h-hov[data-on]{opacity:1}
.h-links li{position:relative;z-index:0}
/* the compare button glints once when the second account lands */
[data-tray-go]{position:relative;overflow:hidden}
[data-tray-go][data-glint]::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);animation:glint 900ms var(--ease) 200ms both}
@keyframes glint{to{transform:translateX(120%)}}
/* small life on cards */
.h-acc .h-flogo,.h-frow .h-flogo,.h-deal .h-flogo{transition:transform 320ms var(--ease)}
@media (hover:hover){.h-acc:hover .h-flogo,.h-frow:hover .h-flogo,.h-deal:hover .h-flogo{transform:translateY(-2px) rotate(-3deg)}}
/* reading progress on long pages */
.h-progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:70;background:var(--blue);transform-origin:left;transform:scaleX(0);pointer-events:none}
@supports (animation-timeline:scroll()){.h-progress{animation:readProg linear both;animation-timeline:scroll(root)}}
@keyframes readProg{to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.h-mm-p:not([hidden]) :is(.h-mm-l,.h-mm-f,.h-mm-h),[data-tray-go][data-glint]::after{animation:none}.h-progress{display:none}}
/* firm meta: flag, Trustpilot stars, founding year */
.h-fmeta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:8px;font-size:12.5px;color:var(--ink-soft)}
.h-geo{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:12.5px;white-space:nowrap}
.h-geo img{width:18px;height:12px;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px rgba(9,12,37,.12)}
.h-tp{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:var(--ink-soft)}
.h-tp b{color:var(--ink);font-weight:650;font-variant-numeric:tabular-nums}
.h-tp small{font-size:12px;color:var(--ink-faint)}
@media (hover:hover){a.h-tp:hover b{color:var(--blue)}}
.h-tp-none{font-style:italic;color:var(--ink-faint)}
.h-since{white-space:nowrap}
.h-rate{position:relative;display:inline-flex;line-height:0}
.h-rate span{display:inline-flex;gap:1px}
.h-rate svg{width:13px;height:13px;stroke:none;fill:currentColor}
.h-rate-bg{color:var(--surface-3)}
.h-rate-fg{position:absolute;inset:0;color:#16A34A;clip-path:inset(0 calc(100% - var(--r)) 0 0)}
:root[data-theme="dark"] .h-rate-fg{color:#34D399}
.h-fid .h-fmeta{margin:8px 0 6px;font-size:13.5px}
.h-acc .h-fmeta{margin:10px 0 0}
[data-rv-in] .h-rate-fg,.h-acc .h-rate-fg{animation:rateIn 900ms var(--ease) both}
@keyframes rateIn{from{clip-path:inset(0 100% 0 0)}}
@media (prefers-reduced-motion:reduce){.h-rate-fg{animation:none!important}}
.h-hero-pts{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px}
.h-hero-pts li{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--ink)}
.h-hero-pts .h-ic{width:16px;height:16px;padding:2px;border-radius:99px;background:var(--blue-soft);color:var(--blue);stroke-width:2.6}
.js .h-hero-pts li{animation:ptIn 520ms var(--ease) both;animation-delay:calc(var(--i,0) * 70ms + 520ms)}
.h-hero-pts li:nth-child(2){--i:1}.h-hero-pts li:nth-child(3){--i:2}
@keyframes ptIn{from{opacity:0;transform:translateY(6px)}}
@media (prefers-reduced-motion:reduce){.js .h-hero-pts li{animation:none}}
.h-qm-flag{display:inline-block;width:15px;height:10px;border-radius:2px;object-fit:cover;vertical-align:-1px;margin-right:6px;box-shadow:0 0 0 1px rgba(9,12,37,.12)}
.h-qm-tp{color:#16A34A;font-weight:650}
:root[data-theme="dark"] .h-qm-tp{color:#34D399}

/* ═════════════ ICT: levels, concept sheets, diagrams, library ═════════════ */
.h-level{margin-top:26px}
.h-level-h{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.h-level-n{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:10px;background:var(--blue-soft);color:var(--blue);font:700 17px var(--display)}
.h-level-n .h-ic{width:18px;height:18px}
.h-level[data-level="course"] .h-level-n{background:var(--dark-bg);color:var(--dark-ink)}
.h-level-h h3{font-size:19px}
.h-level-h p{font-size:14px;color:var(--ink-soft);margin-top:2px}
.h-stage-b h3{font-size:17px;letter-spacing:-.025em}
/* concept cards */
.h-cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.h-cgrid-3{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.h-ccard{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);overflow:hidden;transition:border-color .18s ease,box-shadow .25s var(--ease),transform .25s var(--ease)}
@media (hover:hover){.h-ccard:hover{border-color:color-mix(in srgb,var(--blue) 35%,var(--line));box-shadow:var(--shadow-m);transform:translateY(-2px)}}
.h-ccard .h-dg-mini{background:linear-gradient(180deg,var(--surface-2),var(--surface));border-bottom:1px solid var(--line);padding:8px 6px 0}
.h-ccard-b{padding:14px 16px 16px}
.h-ccard h3{font-size:16px;letter-spacing:-.02em}
.h-ccard p{font-size:13.5px;color:var(--ink-soft);margin-top:4px;line-height:1.5}
/* diagrams */
.h-dg-svg{width:100%;height:auto;display:block;overflow:visible}
.h-dg-big{margin:0;padding:16px 16px 10px;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-m)}
.h-dg-big figcaption{margin-top:6px}
.dg-up rect{fill:var(--blue)}.dg-dn rect{fill:var(--ink)}
.dg-w{stroke:currentColor;stroke-width:1.4}.dg-up{color:var(--blue)}.dg-dn{color:var(--ink)}
.dg-z{stroke-width:1}
.dg-z-blue{fill:color-mix(in srgb,var(--blue) 14%,transparent);stroke:color-mix(in srgb,var(--blue) 45%,transparent)}
.dg-z-red{fill:color-mix(in srgb,var(--neg) 10%,transparent);stroke:color-mix(in srgb,var(--neg) 35%,transparent)}
.dg-z-soft{fill:color-mix(in srgb,var(--ink) 5%,transparent);stroke:color-mix(in srgb,var(--ink) 14%,transparent)}
.dg-l{fill:none;stroke-width:1.4}
.dg-l-mid{stroke:var(--ink-faint);stroke-dasharray:2 4}
.dg-l-liq{stroke:var(--neg);stroke-dasharray:6 5}
.dg-l-liq2{stroke:var(--pos);stroke-dasharray:6 5}
.dg-band{fill:color-mix(in srgb,var(--blue) 6%,transparent);stroke:color-mix(in srgb,var(--blue) 30%,transparent);stroke-dasharray:4 4}
.dg-sep,.dg-br{fill:none;stroke:var(--ink-faint);stroke-width:1.2;stroke-dasharray:3 4}
.dg-br{stroke-dasharray:none}
.dg-dot{fill:var(--neg);stroke:var(--surface);stroke-width:2}
.dg-axis,.dg-tick{stroke:var(--line-2);stroke-width:1.2}
.dg-macro{fill:var(--blue)}
.dg-t{font:600 11px var(--font);fill:var(--ink-soft);text-anchor:end;letter-spacing:0}
.dg-t-blue{fill:var(--blue)}.dg-t-red{fill:var(--neg)}.dg-t-liq{fill:var(--neg)}.dg-t-liq2{fill:var(--pos)}
.dg-t-tag,.dg-t-band,.dg-t-br,.dg-t-ax,.dg-t-kz{text-anchor:middle}
.dg-t-sep,.dg-t-left,.dg-t-z{text-anchor:start}
.dg-t-kz{font-size:11.5px;fill:var(--ink)}
.dg-t-ax{font-weight:500;fill:var(--ink-faint)}
.h-dg-mini .dg-t{font-size:13px}
/* the animation: candles print one by one, then the annotations arrive */
.js .h-dg .dg-c{opacity:0;transform:translateY(8px);transform-box:fill-box}
.js .h-dg .dg-a{opacity:0}
.js .h-dg.is-in .dg-c{animation:dgC 420ms var(--ease) forwards;animation-delay:calc(var(--i) * 70ms)}
.js .h-dg.is-in .dg-a{animation:dgA 520ms var(--ease) forwards;animation-delay:calc(var(--n) * 70ms + var(--k) * 140ms + 80ms)}
.js .h-dg.is-in .dg-a .dg-z,.js .h-dg.is-in .dg-a .dg-band{transform-box:fill-box;transform-origin:left;animation:dgZ 640ms var(--ease) both;animation-delay:inherit}
@keyframes dgC{to{opacity:1;transform:none}}
@keyframes dgA{to{opacity:1}}
@keyframes dgZ{from{transform:scaleX(0)}}
@media (hover:hover){.h-ccard:hover .dg-dot{animation:dgPing 900ms var(--ease)}}
@keyframes dgPing{50%{r:6}}
@media (prefers-reduced-motion:reduce){.js .h-dg .dg-c,.js .h-dg .dg-a{opacity:1;transform:none;animation:none!important}}
/* concept page */
.h-concept{padding-top:22px}
.h-concept-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:center;margin-top:8px}
.h-concept-def{margin-top:16px;font-size:16px;line-height:1.7;color:var(--ink);max-width:62ch}
.h-concept-cols{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin-top:34px}
.h-concept-cols h2{font-size:21px;margin-bottom:14px}
.h-csteps{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.h-csteps li{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.h-csteps p{font-size:14.5px;line-height:1.6}
.h-concept-prop{padding:20px;border-radius:var(--r-l);background:var(--blue-soft);border:1px solid color-mix(in srgb,var(--blue) 25%,var(--line));align-self:start}
.h-concept-prop p{font-size:14.5px;line-height:1.65;margin-bottom:14px}
.h-stage-con{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;font-size:13px;color:var(--ink-faint)}
@media (max-width:900px){.h-concept-grid,.h-concept-cols{grid-template-columns:1fr}}
/* library */
.h-lib-count{font-size:14px;color:var(--ink-faint);font-variant-numeric:tabular-nums}
.h-lib-chips{display:flex;gap:6px;overflow-x:auto;padding:14px 0 12px;scrollbar-width:none}
.h-lib-chips button{flex:none;height:34px;padding:0 13px;border-radius:99px;border:1px solid var(--line);background:var(--surface);font:inherit;font-size:13px;font-weight:500;color:var(--ink-soft);cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .14s var(--ease)}
.h-lib-chips button:active{transform:scale(.96)}
.h-lib-chips button[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
.h-lib{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:8px}
.h-lib li[hidden]{display:none}
.h-lib a{display:grid;grid-template-columns:96px minmax(0,1fr) 22px;gap:12px;align-items:center;padding:8px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);transition:border-color .16s ease,background-color .16s ease}
@media (hover:hover){.h-lib a:hover{border-color:color-mix(in srgb,var(--blue) 35%,var(--line))}}
.h-lib img{width:96px;height:54px;object-fit:cover;border-radius:6px}
.h-lib-t b{display:block;font-size:13.5px;font-weight:600;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.h-lib-t small{display:block;font-size:12px;color:var(--ink-faint);margin-top:2px}
.h-lib .h-les-ok{opacity:0;color:var(--pos)}
.h-lib li[data-watched] .h-les-ok{opacity:1}
.h-lib li[data-in]{animation:libIn 300ms var(--ease) both}
@keyframes libIn{from{opacity:0;transform:translateY(4px)}}
@media (prefers-reduced-motion:reduce){.h-lib li[data-in]{animation:none}}

/* ── me: follow, change log, "not verified", My firms, streak, share card (hub-me.js) ── */
.h-cta .h-follow{height:42px;padding:0 16px}
.h-follow [data-on]{display:none}.h-follow[aria-pressed="true"] [data-on]{display:inline}.h-follow[aria-pressed="true"] [data-off]{display:none}
.h-follow[aria-pressed="true"]{background:var(--blue-wash);border-color:var(--blue-line);color:var(--blue)}
.h-follow .h-ic{width:15px;height:15px}
.h-fs-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.h-fs-hd h2{margin:0}
.h-chg{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.h-chg li{display:grid;grid-template-columns:minmax(110px,auto) 1fr;gap:4px 16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.h-chg time{color:var(--ink-faint);font-size:13px;font-variant-numeric:tabular-nums}
.h-chg a{grid-column:2;font-size:13px;color:var(--blue)}
@media (max-width:560px){.h-chg li{grid-template-columns:1fr}.h-chg a{grid-column:1}}
.h-unv{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:99px;background:var(--warn-wash);color:var(--warn);font-size:12px;font-weight:600;cursor:help}
.h-src{margin-top:10px}.h-src a{color:var(--blue)}
.h-pop-more{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px;padding:9px 11px;border-top:1px solid var(--line);font-size:13.5px;font-weight:600;color:var(--blue)}
.h-pop-more .h-ic{width:14px;height:14px}
.h-dlg{border:0;padding:0;border-radius:14px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-l);width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px)}
.h-dlg::backdrop{background:rgba(9,12,37,.42);backdrop-filter:blur(2px)}
.h-dlg[open]{animation:h-dlg-in 260ms var(--ease)}
@keyframes h-dlg-in{from{opacity:0;transform:translateY(8px) scale(.98)}}
@media (prefers-reduced-motion:reduce){.h-dlg[open]{animation:none}}
.h-dlg-in{display:grid;gap:14px;padding:24px;position:relative}
.h-dlg-in h2{font-size:21px;line-height:1.25;margin:0;padding-right:36px}
.h-dlg-in p{margin:0}
.h-dlg-x{position:absolute;top:14px;right:14px}
.h-seg label{position:relative;cursor:pointer}
.h-seg label input{position:absolute;opacity:0;pointer-events:none}
.h-seg label span{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;border-radius:6px;font-size:13.5px;font-weight:500;color:var(--ink-soft)}
.h-seg label span .h-ic{width:15px;height:15px}
.h-seg label input:checked+span{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(10,10,10,.08),0 0 0 1px var(--line)}
.h-seg label input:focus-visible+span{outline:2px solid var(--blue);outline-offset:1px}
.h-fld{display:grid;gap:6px;border:0;margin:0;padding:0}
.h-fld legend{font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:6px}
.h-fld input[type="email"]{height:46px;padding:0 14px;border-radius:9px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--ink);font:inherit;font-size:16px}
.h-fld input[type="email"]:focus{outline:2px solid var(--blue);outline-offset:1px}
.h-radio{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--ink);cursor:pointer;min-height:32px}
.h-radio input,.h-check input{accent-color:var(--blue)}
.h-btn-block{width:100%}
.h-my{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-bottom:clamp(40px,6vw,72px)}
.h-my-card{padding:22px;border-radius:12px;background:var(--surface);border:1px solid var(--line);display:grid;gap:12px;align-content:start;min-width:0}
.h-my-wide{grid-column:1/-1}
.h-my-card h2{display:flex;align-items:center;gap:10px;font-size:19px;margin:0}
.h-my-card h2 .h-ic{width:19px;height:19px;color:var(--blue)}
.h-my-list{display:grid}
.h-my-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);min-width:0}
.h-my-row:last-child{border-bottom:0}
.h-my-row a{display:flex;align-items:center;gap:10px;font-weight:600;min-width:0;overflow-wrap:anywhere}
.h-my-row img{border-radius:7px;flex:none}
.h-my-note{margin:0;padding:10px 12px;border-radius:8px;background:var(--surface-2);font-size:14px}
.h-my-note.is-changed{background:var(--warn-wash);color:var(--ink)}
.h-my-dest{margin:0;font-weight:600}.h-my-dest[data-ok]{color:var(--pos)}
.h-my-contact{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.h-my-contact .h-fld{flex:1 1 240px}
.h-my-contact .h-form-msg{flex-basis:100%;margin:0}
.h-my-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.h-my-opt{display:grid;gap:8px;align-content:start;padding:14px;border-radius:10px;border:1px solid var(--line);background:var(--bg-2)}
.h-my-opt .h-toggle{padding-left:0;height:auto;color:var(--ink)}
.h-my-opt p{margin:0;font-size:13.5px}
.h-my-sub{display:grid;gap:4px}
.h-my-stop{display:flex;flex-wrap:wrap;gap:6px}
.h-my-stop .h-link{font-size:13px;color:var(--ink-faint);font-weight:500;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
button.h-link{background:none;border:0;padding:0;cursor:pointer;color:var(--blue);font:inherit;font-size:13.5px;font-weight:600}
@media (max-width:860px){.h-my{grid-template-columns:1fr}.h-my-opts{grid-template-columns:1fr}}
.h-streak{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:14px;font-size:14px}
.h-streak-n{display:inline-flex;align-items:center;gap:7px;font-weight:600}
.h-streak-n::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--line-2)}
.h-streak[data-alive] .h-streak-n::before{background:var(--blue);box-shadow:0 0 0 4px var(--blue-wash)}
.h-share{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}
.h-share .h-fine{margin:0}
.h-cx-tool [data-cmp-save] [data-on]{display:none}
.h-cx-tool [data-cmp-save][aria-pressed="true"] [data-on]{display:inline}.h-cx-tool [data-cmp-save][aria-pressed="true"] [data-off]{display:none}
.h-cx-tool [data-cmp-save][aria-pressed="true"]{color:var(--blue);border-color:var(--blue-line)}
.h-streak[hidden],.h-fld[hidden],.h-my [hidden],.h-callout[hidden],.h-share[hidden],.h-my-acc .h-btn[hidden]{display:none}

/* ── phase 2 tools: pass simulator, net payout, ICT review (src/hub/hub-tools.js) ── */
.h-lab{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:20px;align-items:start}
.h-lab-form{align-content:start}
.h-lab-form,.h-pay-col{display:grid;gap:18px;padding:clamp(16px,2.4vw,24px);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);min-width:0}
.h-lab-g{border:0;margin:0;padding:0;min-width:0}
.h-lab-g legend{font-size:15px;font-weight:700;margin-bottom:10px;padding:0}
.h-lab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px 14px}
.h-fi{display:grid;gap:6px;align-content:start;min-width:0}
.h-fi-l{font-size:13px;font-weight:600;color:var(--ink-soft)}
.h-fi small{font-size:12px;color:var(--ink-faint);line-height:1.4}
.h-fi-box{display:flex;align-items:center;height:42px;border-radius:8px;border:1px solid var(--line-2);background:var(--bg-2);overflow:hidden;transition:border-color 160ms ease,box-shadow 160ms ease}
.h-fi-box:focus-within{border-color:var(--blue-line);box-shadow:0 0 0 4px var(--blue-wash)}
.h-fi-box i{font-style:normal;font-size:14px;color:var(--ink-faint);padding:0 0 0 11px}
.h-fi-box i:last-child{padding:0 11px 0 0}
.h-fi-box input{flex:1;min-width:0;height:100%;border:0;background:transparent;padding:0 11px;font:inherit;font-size:16px;font-variant-numeric:tabular-nums;color:var(--ink)}
.h-fi-box input:focus{outline:none}
.h-fi-box i+input{padding-left:6px}
.h-fi .h-unv{justify-self:start;font-style:normal}
.h-lab-rows .h-unv{font-style:normal}
.h-fi .h-unv[hidden]{display:none}
.h-fi-check{align-self:end;min-height:42px;align-items:center!important}
.h-fi-acc .h-select,.h-select-w{max-width:none;flex:none;width:100%}
.h-select-w select{height:42px;font-size:14.5px;font-weight:500;background:var(--bg-2)}
.h-lab-out{position:sticky;top:calc(var(--nav-h) + 16px);display:grid;gap:12px;padding:clamp(18px,2.6vw,26px);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-m);min-width:0}
.h-lab-k{font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);margin:0}
.h-lab-big{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0}
.h-lab-big b{font-size:clamp(44px,6vw,64px);font-weight:700;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.h-lab-big span{color:var(--ink-soft);font-size:15px}
.h-lab-out[data-empty] .h-lab-big b{color:var(--ink-faint)}
.h-lab-bar{display:flex;height:12px;border-radius:99px;overflow:hidden;background:var(--surface-2)}
.h-lab-bar i{display:block;height:100%;width:0;transition:width 420ms var(--ease)}
.h-lab-bar [data-k="pass"],.h-lab-legend [data-k="pass"] i{background:var(--pos)}
.h-lab-bar [data-k="fail"],.h-lab-legend [data-k="fail"] i{background:var(--neg)}
.h-lab-bar [data-k="open"],.h-lab-legend [data-k="open"] i{background:var(--line-2)}
.h-lab-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13.5px;color:var(--ink-soft)}
.h-lab-legend li{display:inline-flex;align-items:center;gap:7px}
.h-lab-legend i{width:9px;height:9px;border-radius:50%}
.h-lab-legend b{color:var(--ink);font-variant-numeric:tabular-nums}
.h-lab-kv{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
.h-lab-kv div{padding:12px;border-radius:9px;background:var(--surface-2)}
.h-lab-kv dt{font-size:12.5px;color:var(--ink-soft)}
.h-lab-kv dd{margin:4px 0 0;font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}
.h-lab-kv dd small{display:block;font-size:13px;font-weight:500;color:var(--ink-soft)}
.h-lab-rows{margin:0;display:grid}
.h-lab-rows div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.h-lab-rows dt{color:var(--ink-soft);min-width:0}
.h-lab-rows dt small{display:block;font-size:12px;color:var(--ink-faint)}
.h-lab-rows dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.h-lab-rows .h-lab-sub dt{color:var(--ink);font-weight:600}
.h-lab-rows .h-lab-total{border-bottom:0;padding-top:12px}
.h-lab-rows .h-lab-total dt{color:var(--ink);font-weight:700}
.h-lab-rows .h-lab-total dd{font-size:20px;font-weight:700}
.h-lab-miss{margin:0;padding:10px 12px;border-radius:8px;background:var(--warn-wash);color:var(--ink);font-size:13.5px}
.h-lab-miss[hidden]{display:none}
.h-lab-act{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.h-lab-method ul{margin:0;padding-left:18px;display:grid;gap:8px;color:var(--ink-soft);max-width:90ch}
.h-pay-top{display:flex;flex-wrap:wrap;align-items:end;gap:12px 24px;margin-bottom:16px}
.h-fi-gross{width:min(260px,100%)}
.h-pay-diff{margin:0;font-size:17px;font-weight:700;color:var(--pos)}
.h-pay-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.h-pay-col{align-content:start}
.h-pay-col h2{font-size:19px;margin:0}
.h-pay-col .h-lab-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.h-pay-res{display:grid;gap:10px;padding-top:4px;border-top:1px solid var(--line)}
.h-rev-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}
.h-rev-stats{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.h-rev-stats div{display:flex;align-items:baseline;gap:8px;padding:8px 12px;border-radius:8px;background:var(--surface);border:1px solid var(--line);font-size:13.5px}
.h-rev-stats dt{color:var(--ink-soft)}
.h-rev-stats dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.h-rev-pane[hidden],.h-rev-stage[hidden],.h-rev-intro[hidden],.h-rev-back[hidden],.h-rev-grades[hidden],.h-rev-act[hidden]{display:none}
.h-rev-intro{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:20px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line)}
.h-rev-intro p{margin:0;flex:1 1 280px}
.h-rev-card{display:grid;gap:14px;max-width:760px;padding:clamp(18px,3vw,28px);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-m);animation:rev-in 260ms var(--ease)}
@keyframes rev-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.h-rev-card{animation:none}}
.h-rev-card h3{font-size:clamp(21px,2.6vw,27px);letter-spacing:-.02em;margin:0}
.h-rev-card h4{font-size:15px;margin:6px 0 0}
.h-rev-card ol{margin:0;padding-left:20px;display:grid;gap:6px;color:var(--ink-soft)}
.h-rev-card p{margin:0}
.h-rev-face{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:center}
.h-rev-face .h-dg{border-radius:9px;background:var(--surface-2);overflow:hidden}
.h-rev-back{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--line)}
.h-rev-act{display:flex;flex-wrap:wrap;gap:8px}
.h-rev-grades{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%}
.h-rev-g{flex-direction:column;height:auto;padding:9px 6px;gap:2px}
.h-rev-g small{font-size:12px;font-weight:500;color:var(--ink-faint)}
.h-rev-g[data-g="0"] b{color:var(--neg)}.h-rev-g[data-g="3"] b{color:var(--pos)}
.h-rev-q{margin:0;padding:14px 16px;border-left:3px solid var(--blue-line);border-radius:0 8px 8px 0;background:var(--surface-2);font-size:15.5px;line-height:1.6;color:var(--ink)}
.h-rev-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.h-rev-opt{justify-content:flex-start;text-align:left;height:auto;min-height:46px;padding:10px 14px;white-space:normal}
.h-rev-opt[data-right]{border-color:var(--pos);background:var(--pos-wash);color:var(--ink)}
.h-rev-opt[data-wrong]{border-color:var(--neg);background:var(--neg-wash)}
.h-rev-opt:disabled{cursor:default;opacity:1}
.h-rev-fb{font-weight:600;min-height:1.4em}
.h-rev-fb[data-state="ok"]{color:var(--pos)}.h-rev-fb[data-state="err"]{color:var(--ink)}
.h-rev-done{text-align:left}
.h-my-news{display:grid;gap:10px}
.h-my-news-row{display:flex;flex-wrap:wrap;align-items:end;gap:10px}
.h-my-news-row .h-fi{width:150px}
@media (max-width:960px){.h-lab{grid-template-columns:1fr}.h-lab-out{position:static}}
@media (max-width:720px){.h-pay-cols{grid-template-columns:1fr}.h-rev-opts{grid-template-columns:1fr}.h-rev-face{grid-template-columns:1fr}.h-rev-face .h-dg{max-width:220px}
  .h-rev-grades{grid-template-columns:repeat(2,minmax(0,1fr))}.h-lab-grid{grid-template-columns:1fr 1fr}.h-pay-col .h-lab-grid{grid-template-columns:1fr 1fr}}
.h-lab-out[data-empty] [data-sim-rerun]{display:none}

/* ───────── accueil : l'espace de travail à quatre onglets ───────── */
.ws{padding:clamp(20px,3.4vw,40px) 0 clamp(28px,4vw,52px)}
.ws-eyebrow{margin:0 0 10px;font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.ws-stack{display:grid}
.ws-stack>*{grid-area:1/1;min-width:0}
.ws [data-ws-pane]{transition:opacity .26s var(--ease),transform .26s var(--ease),visibility 0s}
.ws [data-ws-pane][inert]{opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .14s ease,transform .14s ease,visibility 0s .14s}
.ws-head{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:start}
.ws-h{margin:0;font-family:var(--display);font-weight:700;font-size:clamp(34px,4.6vw,60px);line-height:1.02;letter-spacing:-.03em;color:var(--ink);text-wrap:balance}
.ws-h em{font-style:normal;color:var(--blue)}
.ws-lead{margin:12px 0 0;font-size:clamp(16px,1.5vw,19px);color:var(--ink-soft)}
.ws-pts{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:14px}
.ws-pts li{display:flex;gap:14px;align-items:flex-start}
.ws-pt-ic{flex:none;width:26px;height:26px;color:var(--blue);fill:none;stroke:currentColor;stroke-width:1.7}
.ws-pts span{display:grid;font-size:14.5px;color:var(--ink-soft)}
.ws-pts b{font-size:16px;font-weight:600;color:var(--ink)}
.ws-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:clamp(20px,2.6vw,30px) 0 16px}
.ws-tabs button{position:relative;display:flex;align-items:center;gap:14px;min-height:72px;padding:12px 18px;text-align:left;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-xl);cursor:pointer;box-shadow:var(--shadow-s);transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .12s var(--ease)}
.ws-tabs button:active{transform:scale(.985)}
.ws-tabs svg{flex:none;width:30px;height:30px;color:var(--blue);transition:color .2s var(--ease)}
.ws-tabs span{display:grid;min-width:0}
.ws-tabs b{font-size:16px;font-weight:600}
.ws-tabs small{font-size:13px;color:var(--ink-faint);transition:color .2s var(--ease)}
.ws-tabs button[aria-selected="true"]{background:var(--pri-bg);border-color:var(--pri-bg);color:var(--pri-ink);box-shadow:0 14px 30px -14px rgba(11,59,255,.65)}
.ws-tabs button[aria-selected="true"] svg,.ws-tabs button[aria-selected="true"] small{color:var(--pri-ink)}
.ws-tabs button[aria-selected="true"]::after{content:"";position:absolute;left:44px;bottom:-7px;width:14px;height:14px;background:var(--pri-bg);transform:rotate(45deg);border-radius:2px}
.ws-tabs button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media (hover:hover){.ws-tabs button:not([aria-selected="true"]):hover{border-color:var(--blue-line)}}
.ws-pane{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ws-pane-session{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.ws-col{display:grid;gap:14px;align-content:start}
.ws-card{display:flex;flex-direction:column;gap:10px;align-items:stretch;padding:clamp(16px,2vw,24px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-s);min-width:0}
.ws-card h3{margin:0;font-size:clamp(19px,1.8vw,23px);font-weight:600;letter-spacing:-.015em;color:var(--ink)}
.ws-card>p{margin:0;font-size:14.5px;color:var(--ink-soft)}
.ws-card .h-link{margin-top:auto;align-self:flex-start}
.ws-go{justify-content:center;margin-top:auto}
.ws-card .h-qm{margin:6px 0}
.ws-card .h-seg{display:flex;width:100%}
.ws-card .h-seg button{flex:1;white-space:nowrap}
.ws-firms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:4px 0}
.ws-firm{display:grid;grid-template-columns:40px 1fr;gap:8px 10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:var(--r-l);color:inherit;text-decoration:none;transition:border-color .15s ease}
.ws-firm:hover{border-color:var(--blue-line)}
.ws-firm-n{display:grid;gap:2px;justify-items:start;min-width:0}
.ws-firm-n b{font-size:15.5px;font-weight:600}
.ws-firm-n i{font-style:normal;font-size:12px;font-weight:500;padding:1px 8px;border-radius:5px;background:var(--blue-soft);color:var(--blue)}
.ws-firm dl{grid-column:1/-1;margin:2px 0 0;display:grid;gap:4px}
.ws-firm dl div{display:flex;justify-content:space-between;gap:8px;font-size:13px}
.ws-firm dt{color:var(--ink-faint)}
.ws-firm dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}
.ws-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-l);color:var(--ink);text-decoration:none;transition:border-color .15s ease}
.ws-row:hover{border-color:var(--blue-line)}
.ws-row-ic{flex:none;width:22px;height:22px;color:var(--blue);fill:none;stroke:currentColor;stroke-width:1.7}
.ws-row span{display:grid;flex:1;min-width:0}
.ws-row b{font-size:14.5px;font-weight:600}
.ws-row small{font-size:12.5px;color:var(--ink-faint)}
.ws-row small:empty{display:none}
.ws-row-go{flex:none;width:16px;height:16px;color:var(--ink-faint)}
.ws-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:4px}
.ws-form label{display:grid;gap:5px;font-size:13px;font-weight:500;color:var(--ink-faint)}
.ws-form input,.ws-form select{width:100%;height:42px;padding:0 10px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);color:var(--ink);font:600 15px var(--font)}
.ws-out{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px 14px;padding:14px;border-radius:var(--r-l);background:var(--blue-wash)}
.ws-out b{font-size:24px;font-weight:700;color:var(--blue);font-variant-numeric:tabular-nums}
.ws-out small{font-size:13.5px;color:var(--ink-soft)}
.ws-path{list-style:none;margin:2px 0;padding:0;display:grid;gap:6px}
.ws-path a{display:grid;gap:7px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--r-l);color:inherit;text-decoration:none}
.ws-path a:hover{border-color:var(--blue-line)}
.ws-path a>span{display:flex;justify-content:space-between;gap:10px;font-size:14px}
.ws-path b{font-weight:600}
.ws-path small{color:var(--ink-faint)}
.ws-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl)}
.ws-strip a{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 10px;font-size:14.5px;color:var(--ink-soft);text-decoration:none}
.ws-strip a+a{border-left:1px solid var(--line)}
.ws-strip a:hover{color:var(--blue)}
.ws-strip svg{flex:none;width:22px;height:22px;color:var(--blue)}
.ws-app{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center;margin-top:14px;padding:clamp(18px,2.4vw,28px) clamp(18px,3vw,36px);overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl)}
.ws-app-c{display:grid;gap:16px;justify-items:start}
.ws-app h2{margin:0;font-size:clamp(22px,2.3vw,30px);font-weight:600;letter-spacing:-.02em;line-height:1.1;color:var(--ink)}
.ws-app p{margin:8px 0 0;font-size:15.5px;color:var(--ink-soft)}
.ws-mini{display:grid;grid-template-columns:150px 1fr;gap:10px;margin:0 -40px -40px 0;padding:14px;border:1px solid var(--line);border-radius:var(--r-xl) 0 0 0;background:var(--bg);box-shadow:var(--shadow-m)}
.ws-mini-side{display:grid;gap:8px;align-content:start}
.ws-mini-b{transform:scale(.8);transform-origin:left center}
.ws-mini-side i{height:30px;padding:6px 10px;border-radius:7px;font-style:normal;font-size:13px;background:var(--surface-2);color:var(--ink-faint)}
.ws-mini-side i.on{background:var(--blue-soft);color:var(--blue);font-weight:600}
.ws-mini-side i:empty{height:14px;margin-top:6px}
.ws-mini-main{display:grid;gap:10px;padding:12px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.ws-mini-main b{font-size:14px}
.ws-mini-main p{display:grid;grid-template-columns:10px 2fr 1fr;gap:10px;align-items:center;margin:0}
.ws-mini-main p i{width:10px;height:10px;border-radius:50%}
.ws-mini-main p i.pos{background:var(--pos)}.ws-mini-main p i.neg{background:var(--neg)}
.ws-mini-main u{height:8px;border-radius:4px;background:var(--surface-3)}
@media (max-width:980px){
  .ws-head{grid-template-columns:1fr}
  .ws-pts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ws-pts li{gap:8px}
  .ws-pane,.ws-pane-session{grid-template-columns:1fr}
}
@media (max-width:620px){
  .ws-pts{display:none}
  .ws-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .ws-tabs button{min-height:62px;padding:10px 12px;gap:10px}
  .ws-tabs svg{width:24px;height:24px}
  .ws-tabs b{font-size:14.5px}.ws-tabs small{font-size:12px}
  .ws-tabs button[aria-selected="true"]::after{display:none}
  .ws-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ws-strip a{justify-content:flex-start;padding:12px}
  .ws-strip a:nth-child(3){border-left:0}
  .ws-strip a:nth-child(n+3){border-top:1px solid var(--line)}
  .ws-app{grid-template-columns:1fr}
  .ws-mini{grid-template-columns:1fr;margin:0 -30px -30px 0}
  .ws-mini-side{display:none}
  .ws-form{grid-template-columns:1fr 1fr}
  .ws-form label:last-child{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){.ws [data-ws-pane],.ws [data-ws-pane][inert]{transition:none;transform:none}}

/* la priorité et le marché choisis dans l'espace de travail sont bleus, comme sur la maquette */
.ws .h-seg button[aria-pressed="true"],:root[data-theme="dark"] .ws .h-seg button[aria-pressed="true"]{background:var(--pri-bg);color:var(--pri-ink);box-shadow:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ws .h-seg button[aria-pressed="true"]{background:var(--pri-bg)}}
.h-mkx .h-sh{margin-bottom:14px}

/* mouvement de l'accueil : les blocs de l'onglet choisi arrivent l'un après l'autre */
@media (prefers-reduced-motion:no-preference){
  .ws [data-ws-pane]:not([inert]) .ws-pts li{animation:fadeUp2 .34s var(--ease) both}
  .ws [data-ws-pane]:not([inert]) .ws-pts li:nth-child(2){animation-delay:50ms}
  .ws [data-ws-pane]:not([inert]) .ws-pts li:nth-child(3){animation-delay:100ms}
  .ws [data-ws-pane]:not([inert]) .ws-pts li:nth-child(4){animation-delay:150ms}
  .h-glance,.h-fs .h-table-wrap{transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.h-glance:hover{transform:translateY(-3px);box-shadow:var(--shadow-l)}}
@keyframes fadeUp2{from{opacity:0;transform:translateY(8px)}}

/* menu Marchés : colonne de droite en direct */
.h-mm-live{display:flex;flex-direction:column;min-width:0}
.h-mm-live .h-mm-h{margin-top:2px!important}
.h-mm-next{display:grid;gap:4px;padding:14px;border-radius:12px;background:var(--blue);color:#fff;transition:transform .18s var(--ease)}
.h-mm-next small{font-size:12.5px;opacity:.82}
.h-mm-next b{font-size:15.5px;line-height:1.25}
.h-mm-next>span{display:flex;justify-content:space-between;gap:10px;font-size:13px;opacity:.92}
.h-mm-next i{font-style:normal;font-weight:600;font-variant-numeric:tabular-nums}
@media (hover:hover){.h-mm-next:hover{transform:translateY(-2px)}}
.h-mm-live .h-sessions{margin-top:12px;display:grid;gap:7px}
.h-mm-live .h-ses{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px}
.h-mm-live .h-ses-track{display:none}
.h-mm-live .h-ses-t{font-size:12.5px;white-space:nowrap}
.h-mm-all{margin-top:auto;padding-top:12px;font-size:13.5px;font-weight:600;color:var(--blue)}
.h-cost-n{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;color:var(--ink-soft)}
.h-cost-n select{height:36px;padding:0 8px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit}
