
/* Layout: a long-read guide. Navy hero with the founder's range bar, then one reading column with wide panels for the process, the weights and the resources. Colours are Top Tier's website tokens. */
:root{
  --navy:#0D1B2A; --navy-card:#14263B; --navy-line:#1E3A5F;
  --blue:#305D7F; --blue-dark:#244a65; --teal:#0E6E76; --gold:#6FB7BE;
  --bg:#F7F8FA; --surface:#FFFFFF; --ink:#16212c; --text:#4A4E4B; --muted:#6b6f6c; --line:#DEE2E6; --tint:#E8EEF3;
  --link:#0E6E76; --hero-ink:#FFFFFF; --hero-text:rgba(255,255,255,.82); --hero-muted:#8a9bb0;
  --display:"Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --body:"Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0B1622; --surface:#12212F; --ink:#F2F5F8; --text:#C9D2DB; --muted:#8a9bb0; --line:#1E3A5F; --tint:#16293A;
  --link:#4FB6BE; --blue:#6f9fc6; color-scheme:dark }}
:root[data-theme="dark"]{
  --bg:#0B1622; --surface:#12212F; --ink:#F2F5F8; --text:#C9D2DB; --muted:#8a9bb0; --line:#1E3A5F; --tint:#16293A;
  --link:#4FB6BE; --blue:#6f9fc6; color-scheme:dark }
*{box-sizing:border-box}
body{background:var(--bg);color:var(--text);font-family:var(--body);font-size:18px;line-height:1.65;font-optical-sizing:auto}
a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.col{max-width:720px}

/* hero */
.hero{background:var(--navy);color:var(--hero-text);background-image:linear-gradient(var(--navy-line) 1px,transparent 1px),linear-gradient(90deg,var(--navy-line) 1px,transparent 1px);background-size:56px 56px;background-position:-1px -1px}
.hero .wrap{padding-block:72px 64px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:56px;align-items:end}
.eyebrow{font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
h1{font-family:var(--display);font-weight:900;color:var(--hero-ink);font-size:clamp(38px,6vw,64px);line-height:1.02;letter-spacing:-.025em;margin:14px 0 18px;text-wrap:balance}
.dek{font-size:20px;line-height:1.55;margin:0 0 22px;max-width:36ch;color:var(--hero-text)}
.meta{font-size:14px;color:var(--hero-muted);font-weight:600}
.rangecard{background:var(--navy-card);border:1px solid var(--navy-line);border-radius:14px;padding:22px 22px 18px}
.rangecard h2{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--hero-muted);margin:0 0 18px;font-weight:800}
.bar{position:relative;height:14px;border-radius:999px;background:linear-gradient(90deg,var(--blue-dark),#3d7199,var(--teal));margin:34px 0 10px}
.pin{position:absolute;left:45%;top:-30px;transform:translateX(-50%);text-align:center;color:var(--hero-ink);font-weight:900;font-size:18px;font-variant-numeric:tabular-nums}
.pin::after{content:"";display:block;width:3px;height:30px;background:var(--gold);margin:4px auto 0;border-radius:2px}
.ends{display:flex;justify-content:space-between;font-size:14px;color:var(--hero-text);font-variant-numeric:tabular-nums;font-weight:700}
.rangecard p{font-size:14px;color:var(--hero-muted);margin:14px 0 0;line-height:1.5}

/* toc */
.toc{border-bottom:1px solid var(--line);background:var(--surface)}
.toc .wrap{display:flex;flex-wrap:wrap;gap:6px 22px;padding-block:14px;font-size:15px;font-weight:700}
.toc a{color:var(--ink);text-decoration:none}
.toc a:hover{color:var(--link)}

/* article */
main .wrap{padding-block:56px 80px}
section{margin-bottom:64px;scroll-margin-top:24px}
h2.sec{font-family:var(--display);color:var(--ink);font-weight:900;font-size:clamp(28px,3.6vw,38px);line-height:1.12;letter-spacing:-.02em;margin:0 0 14px;text-wrap:balance}
h3{font-family:var(--display);color:var(--ink);font-weight:800;font-size:24px;line-height:1.25;margin:0 0 8px}
.kicker{font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin:0 0 8px}
p{margin:0 0 16px}
.lede{font-size:21px;color:var(--ink);line-height:1.55}

/* video cards */
.video{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:center;background:var(--navy);color:var(--hero-text);border-radius:14px;padding:22px 24px;text-decoration:none;margin:26px 0;max-width:720px;transition:transform .15s ease}
.video:hover{transform:translateY(-2px)}
.play{width:64px;height:64px;border-radius:50%;background:var(--gold);display:grid;place-items:center;flex:none}
.play::before{content:"";border-left:20px solid var(--navy);border-top:12px solid transparent;border-bottom:12px solid transparent;margin-left:5px}
.video .vk{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.video strong{display:block;color:var(--hero-ink);font-size:21px;line-height:1.25;margin:2px 0 4px}
.video span.vs{font-size:15px;color:var(--hero-muted)}

/* process */
.steps{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;counter-reset:s}
.steps li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px 18px;counter-increment:s;min-width:0}
.steps li::before{content:"Step " counter(s);display:block;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:8px}
.steps b{display:block;color:var(--ink);font-size:18px;line-height:1.3;margin-bottom:6px}
.steps p{font-size:16px;margin:0;line-height:1.5}

/* weights */
.weights{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:26px;margin-top:32px}
.weights h3{margin-bottom:4px}
.wgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0 18px}
.wgroup{min-width:0}
.wgroup .gname{display:flex;justify-content:space-between;font-weight:800;color:var(--ink);font-size:16px;border-bottom:2px solid var(--ink);padding-bottom:6px;margin-bottom:10px}
.wrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;font-size:15px;align-items:center;margin-bottom:10px}
.wrow .track{grid-column:1/-1;height:8px;background:var(--tint);border-radius:99px;overflow:hidden;margin-top:-4px}
.wrow .fill{height:100%;background:var(--blue);border-radius:99px}
.wrow .pct{font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.note{font-size:16px;background:var(--tint);border-radius:10px;padding:14px 16px;margin:0}

/* methods */
.group{border-top:1px solid var(--line);padding-top:34px;margin-top:40px}
.group > .gtitle{font-family:var(--display);font-weight:900;color:var(--ink);font-size:22px;margin:0 0 4px}
.group > .gsub{color:var(--muted);margin:0 0 26px}
.method{margin-bottom:42px}
.mhead{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.mhead h3{margin:0}
.badge{font-size:13px;font-weight:800;color:var(--teal);background:var(--tint);border-radius:999px;padding:2px 10px;font-variant-numeric:tabular-nums}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 18px;padding:0;list-style:none}
.chips li{font-size:15px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:5px 12px;color:var(--ink)}
ol.howto{margin:4px 0 18px;padding-left:22px}
ol.howto li{margin-bottom:6px}
.factors{width:100%;border-collapse:collapse;font-size:16px;margin:6px 0 18px}
.factors td{padding:9px 10px;border-bottom:1px solid var(--line)}
.factors tr:nth-child(odd) td{background:var(--tint)}
.factors td:last-child{text-align:right;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;width:80px}
.example{border-left:3px solid var(--gold);padding:4px 0 4px 16px;margin:6px 0 18px;color:var(--ink)}
.example .ex{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:block}
.formula{font-family:var(--mono);font-size:15px;background:var(--navy);color:#E8EEF3;border-radius:10px;padding:16px 18px;margin:6px 0 10px;overflow-x:auto;white-space:nowrap}
.key{font-size:15px;color:var(--muted);margin:0 0 18px}
.key code{font-family:var(--mono);color:var(--ink);font-size:14px}
.reads{font-size:15px;margin:0}
.reads span{font-weight:800;color:var(--ink);margin-right:6px}
.reads a{margin-right:14px;white-space:nowrap}

/* resources */
.res{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.rcard{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;text-decoration:none;color:var(--text);min-width:0}
.rcard:hover{border-color:var(--teal)}
.rcard .rk{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.rcard strong{color:var(--ink);font-size:20px;line-height:1.3}
.rcard p{font-size:16px;margin:0}
.rcard .go{margin-top:auto;padding-top:8px;font-weight:800;color:var(--link);font-size:15px}
.closing{background:var(--navy);color:var(--hero-text);border-radius:16px;padding:34px 30px}
.closing h2{color:var(--hero-ink)}
.closing p{max-width:60ch}
.closing p:last-child{margin:0}
footer{color:var(--muted);font-size:14px;padding-block:0 40px}

@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr;gap:36px;padding-block:52px 44px}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wgrid{grid-template-columns:1fr}
}
@media (max-width:560px){
  body{font-size:17px}
  .steps,.res{grid-template-columns:1fr}
  .video{grid-template-columns:1fr;gap:14px}
  .lede{font-size:19px}
}
@media (prefers-reduced-motion:reduce){.video{transition:none}.video:hover{transform:none}}

.player{margin:26px 0;max-width:720px}
.frame{position:relative;aspect-ratio:16/9;max-width:100%;background:var(--navy);border-radius:14px;overflow:hidden;box-shadow:0 1px 0 var(--line)}
.frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.player figcaption{padding:12px 2px 0}
.player .vk{display:block;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.player strong{display:block;color:var(--ink);font-size:20px;line-height:1.3;margin:2px 0 2px}
.player .vs{font-size:15px;color:var(--muted)}
.player .vs a{margin-left:4px;white-space:nowrap}
.res{grid-template-columns:minmax(0,1fr)!important;max-width:720px}

html{-webkit-text-size-adjust:100%}body{margin:0}img{max-width:100%}[hidden]{display:none!important}:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
/* site bar, shared by every guide */
.sitebar{background:var(--navy);border-bottom:1px solid var(--navy-line)}
.sitebar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:12px;font-size:14px;font-weight:700}
.sitebar a{color:var(--hero-ink);text-decoration:none}
.sitebar a:hover{color:var(--gold)}
.sitebar .brand{letter-spacing:.06em}
.sitebar .brand b{color:var(--gold)}
/* comparison table */
.compare-wrap{overflow-x:auto;margin:22px 0 8px}
.compare{width:100%;min-width:560px;border-collapse:collapse;font-size:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.compare th,.compare td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.compare thead th{background:var(--navy);color:var(--hero-ink);font-size:15px}
.compare thead th:first-child{background:var(--navy-card)}
.compare tbody th{color:var(--ink);font-weight:800;width:22%;font-size:15px}
.compare tbody tr:nth-child(even) td,.compare tbody tr:nth-child(even) th{background:var(--tint)}
.pull{font-family:var(--display);font-weight:900;color:var(--ink);font-size:clamp(24px,3vw,30px);line-height:1.25;border-left:4px solid var(--gold);padding:4px 0 4px 18px;margin:26px 0;max-width:720px;text-wrap:balance}
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;min-width:0}
.panel h3{font-size:20px;margin-bottom:10px}
.panel ul{margin:0;padding-left:20px}
.panel li{margin-bottom:6px;font-size:16px}
.panel.ai h3{color:var(--teal)}
.flow{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;counter-reset:f}
.flow li{counter-increment:f;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 12px;font-size:15px;line-height:1.4;min-width:0}
.flow li::before{content:counter(f);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--navy);color:var(--gold);font-weight:900;font-size:14px;margin-bottom:8px}
.flow li b{display:block;color:var(--ink)}
.flow li.room{border-color:var(--teal)}
.quote{background:var(--navy);color:var(--hero-ink);border-radius:12px;padding:18px 20px;font-size:18px;margin:16px 0 20px;max-width:720px}
.quote small{display:block;color:var(--hero-muted);font-size:13px;margin-top:6px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:10px;max-width:720px}
.faq summary{font-weight:800;color:var(--ink);cursor:pointer;font-size:18px}
.faq details p{margin:10px 0 0;font-size:16px}
/* hub */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:8px}
.gcard{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:26px 24px;text-decoration:none;color:var(--text);min-width:0;transition:transform .15s ease,border-color .15s ease}
.gcard:hover{transform:translateY(-3px);border-color:var(--teal)}
.gcard .tag{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.gcard strong{font-family:var(--display);font-weight:900;color:var(--ink);font-size:24px;line-height:1.2;text-wrap:balance}
.gcard p{font-size:16px;margin:0}
.gcard .meta2{margin-top:auto;padding-top:10px;font-size:14px;color:var(--muted);font-weight:700}
.gcard .go{font-weight:800;color:var(--link);font-size:15px}
@media (max-width:900px){.cards{grid-template-columns:1fr}.flow{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.split{grid-template-columns:1fr}.flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.gcard{transition:none}.gcard:hover{transform:none}}

.sitebar .brand{display:flex;align-items:center;gap:12px}
.sitebar .brand img{height:30px;width:auto;display:block}
.sitebar .brand span{font-size:13px;font-weight:800;letter-spacing:.14em;color:var(--gold);border-left:1px solid var(--navy-line);padding-left:12px}

/* Related links after the FAQ (SEO pass, 22 Oct 2026) */
.related{margin:32px 0 8px;padding-top:20px;border-top:1px solid var(--line)}
.related h2{font-size:22px;color:var(--ink);margin:0 0 10px}
.related ul{list-style:none;padding:0;margin:0}
.related li{margin:0;padding:10px 0;border-bottom:1px solid var(--line)}
.related a{font-weight:700;text-decoration:none}
.related a:hover{text-decoration:underline}
.faq{margin-top:36px}
.faq h2{font-size:26px;color:var(--ink);margin:0 0 12px}

/* Link to the service pages at the end of every guide (22 Oct 2026) */
.svc{background:var(--tint);border-top:1px solid var(--line);padding:36px 0}
.svc h2{font-size:26px;color:var(--ink);margin:0 0 8px}
.svc p{max-width:720px;margin:0 0 10px}
.svc a{font-weight:700}
.svc-partner{font-size:16px;color:var(--muted)}
.sitebar .home{margin-left:auto;margin-right:18px}
.sitebar .sitebar-cta{background:var(--teal);color:#fff;padding:6px 14px;border-radius:8px;margin-left:14px}
.sitebar .sitebar-cta:hover{color:#fff;opacity:.9}
@media (max-width:560px){.sitebar .home{display:none}}
