
:root {
  --black: #050505;
  --charcoal: #0f0f0f;
  --panel: #151512;
  --panel-2: #1c1b17;
  --gold: #d4af37;
  --gold-light: #f2d06b;
  --off-white: #f5f5f5;
  --muted: rgba(255,255,255,.68);
  --dim: rgba(255,255,255,.46);
  --border: rgba(255,255,255,.09);
  --border-gold: rgba(212,175,55,.32);
  --shadow: 0 30px 100px rgba(0,0,0,.52);
  --sans: "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  --serif: Georgia, "Times New Roman", serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--black); }
body {
  margin: 0;
  color: var(--off-white);
  background:
    radial-gradient(circle at 70% -10%, rgba(212,175,55,.13), transparent 31rem),
    linear-gradient(180deg, #050505 0%, #0a0a09 42%, #050505 100%);
  font-family: var(--sans);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
p { color: var(--muted); margin: 0; }
.skip { position:absolute; left:-999px; top:1rem; z-index:40; background:var(--gold); color:#050505; padding:.8rem 1rem; }
.skip:focus { left:1rem; }
.site-header {
  position: sticky; top: 0; z-index: 30;
  background: rgba(5,5,5,.82);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
}
.nav-wrap { width:min(1240px,calc(100% - 48px)); margin:0 auto; min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.logo { display:flex; align-items:center; gap:.9rem; font-weight:650; letter-spacing:.02em; }
.logo-mark { width:38px; height:38px; border:1px solid var(--border-gold); color:var(--gold-light); display:grid; place-items:center; font:600 .74rem/1 var(--serif); }
.nav { display:flex; align-items:center; gap:.15rem; }
.nav a { min-height:44px; display:inline-flex; align-items:center; padding:.65rem .9rem; color:var(--muted); font-size:.92rem; border:1px solid transparent; }
.nav a:hover, .nav a.active { color:var(--off-white); border-color:var(--border); background:rgba(255,255,255,.035); }
.nav .nav-cta { margin-left:.5rem; color:var(--gold-light); border-color:var(--border-gold); }
.hero, .page-hero, .section, .footer-grid { width:min(1240px,calc(100% - 48px)); margin:0 auto; }
.hero { min-height:calc(100vh - 88px); padding:84px 0 64px; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr); gap:72px; align-items:center; }
.eyebrow { color:var(--gold-light); font:700 .75rem/1.2 var(--sans); letter-spacing:.22em; text-transform:uppercase; margin-bottom:1.35rem; }
h1,h2,h3 { font-family:var(--serif); font-weight:400; line-height:.96; letter-spacing:-.045em; margin:0; text-wrap:balance; }
h1 { font-size:clamp(4.25rem,9vw,9.5rem); max-width:8ch; }
h2 { font-size:clamp(2.5rem,5vw,5.4rem); max-width:10ch; }
h3 { font-size:clamp(1.45rem,2vw,2rem); line-height:1.08; }
.lede { margin-top:1.55rem; max-width:43rem; font-size:clamp(1.12rem,1.5vw,1.34rem); color:rgba(255,255,255,.76); }
.hero-actions,.actions { display:flex; gap:.8rem; flex-wrap:wrap; margin-top:2.2rem; }
.btn { min-height:52px; display:inline-flex; align-items:center; justify-content:center; padding:.95rem 1.2rem; border:1px solid var(--border); color:var(--off-white); font-weight:650; letter-spacing:.01em; }
.btn.primary { color:#050505; background:var(--gold-light); border-color:var(--gold-light); }
.btn.secondary { background:rgba(255,255,255,.035); }
.micro-proof { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:2.3rem; }
.micro-proof span { border:1px solid var(--border); color:var(--muted); padding:.55rem .75rem; font-size:.88rem; }
.micro-proof i { display:none; }
.hero-panel { min-height:620px; border:1px solid var(--border-gold); background:linear-gradient(145deg,rgba(212,175,55,.12),rgba(255,255,255,.025) 42%,rgba(255,255,255,.015)); box-shadow:var(--shadow); position:relative; overflow:hidden; padding:34px; display:flex; flex-direction:column; justify-content:flex-end; }
.hero-panel:before { content:""; position:absolute; inset:28px; border:1px solid rgba(255,255,255,.08); pointer-events:none; }
.hero-panel:after { content:""; position:absolute; width:380px; height:380px; right:-140px; top:-120px; border:1px solid rgba(212,175,55,.22); border-radius:50%; }
.route-card, .quote-panel { position:relative; z-index:1; border:1px solid var(--border); background:rgba(5,5,5,.72); backdrop-filter:blur(18px); padding:26px; }
.route-card { margin-top:0; }
.route-row { display:grid; grid-template-columns:1fr auto; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--border); }
.route-row:last-child { border-bottom:0; }
.route-row small { display:block; color:var(--dim); margin-top:.2rem; }
.route-row span { color:var(--gold-light); font-size:.85rem; }
.trust-bar { width:min(1240px,calc(100% - 48px)); margin:0 auto; border-top:1px solid var(--border); border-bottom:1px solid var(--border); display:grid; grid-template-columns:repeat(3,1fr); }
.trust-item { padding:1.35rem 1.5rem; border-right:1px solid var(--border); }
.trust-item:last-child { border-right:0; }
.trust-item strong { display:block; color:var(--off-white); margin-bottom:.25rem; }
.trust-item span { color:var(--dim); font-size:.92rem; }
.section { padding:86px 0; }
.section-head { display:grid; grid-template-columns:minmax(0,.9fr) minmax(300px,.55fr); gap:4rem; align-items:end; margin-bottom:3rem; }
.section-head p { font-size:1.03rem; }
.featured-service { display:grid; grid-template-columns:1.1fr .9fr; border:1px solid var(--border-gold); background:linear-gradient(135deg,rgba(212,175,55,.12),rgba(255,255,255,.025)); }
.featured-service > div:first-child { padding:clamp(1.6rem,4vw,3.5rem); }
.featured-rail { border-left:1px solid var(--border); display:grid; }
.rail-item { padding:1.7rem; border-bottom:1px solid var(--border); }
.rail-item:last-child { border-bottom:0; }
.rail-item p { margin-top:.55rem; font-size:.95rem; }
.use-cases { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--border); border-left:1px solid var(--border); }
.use-case { min-height:230px; padding:1.8rem; border-right:1px solid var(--border); border-bottom:1px solid var(--border); }
.use-case .num { color:var(--gold-light); font:700 .78rem/1 var(--sans); letter-spacing:.16em; margin-bottom:1.8rem; }
.use-case p { margin-top:.75rem; }
.tile-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--border); border:1px solid var(--border); }
.tile { min-height:300px; background:#080807; padding:1.7rem; display:flex; flex-direction:column; justify-content:space-between; }
.tile h3 { margin-bottom:.8rem; }
.tile .kicker { color:var(--gold-light); text-transform:uppercase; letter-spacing:.16em; font-size:.74rem; font-weight:700; margin-bottom:1.1rem; }
.tile a { color:var(--gold-light); font-weight:650; margin-top:1.4rem; }
.wide-panel { border:1px solid var(--border-gold); background:linear-gradient(135deg,rgba(212,175,55,.12),rgba(255,255,255,.02)); padding:clamp(1.6rem,4vw,3rem); display:grid; grid-template-columns:1fr .72fr; gap:2.5rem; align-items:center; }
.split { display:grid; grid-template-columns:.82fr 1.18fr; gap:4rem; align-items:start; }
.editorial { border-left:1px solid var(--border-gold); padding-left:1.5rem; display:grid; gap:1rem; }
.check-list { display:grid; gap:.75rem; padding:0; margin:1.2rem 0 0; }
.check-list li { list-style:none; color:var(--muted); display:flex; gap:.7rem; }
.check-list li:before { content:""; width:7px; height:7px; background:var(--gold); margin-top:.55rem; flex:0 0 auto; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--border); }
.step { padding:1.7rem; border-right:1px solid var(--border); }
.step:last-child { border-right:0; }
.step .num { color:var(--gold-light); font:700 .78rem/1 var(--sans); letter-spacing:.16em; margin-bottom:1.6rem; }
.guide-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:1px; background:var(--border); border:1px solid var(--border); }
.guide-feature { background:#080807; padding:2.2rem; min-height:360px; display:flex; flex-direction:column; justify-content:space-between; }
.guide-list { background:#080807; display:grid; }
.guide-link { padding:1.45rem 1.6rem; border-bottom:1px solid var(--border); display:grid; gap:.45rem; }
.guide-link:last-child { border-bottom:0; }
.guide-link strong { font-family:var(--serif); font-size:1.35rem; font-weight:400; }
.faq { border-top:1px solid var(--border); }
.faq details { border-bottom:1px solid var(--border); padding:1.25rem 0; }
.faq summary { cursor:pointer; color:var(--off-white); font:500 1.25rem/1.3 var(--serif); }
.faq p { max-width:62rem; margin-top:.7rem; }
.final-cta { border-top:1px solid var(--border-gold); border-bottom:1px solid var(--border-gold); background:linear-gradient(90deg,rgba(212,175,55,.14),rgba(255,255,255,.02)); padding:clamp(2rem,5vw,4rem); display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:center; }
.table-panel { overflow-x:auto; border:1px solid var(--border); }
table { width:100%; border-collapse:collapse; min-width:680px; }
th,td { text-align:left; padding:1.05rem 1.15rem; border-bottom:1px solid var(--border); }
th { color:var(--gold-light); font-size:.78rem; text-transform:uppercase; letter-spacing:.13em; }
td { color:var(--muted); }
tr:last-child td { border-bottom:0; }
.contact-card { border:1px solid var(--border-gold); background:linear-gradient(145deg,rgba(212,175,55,.12),rgba(255,255,255,.025)); padding:clamp(1.5rem,4vw,3rem); }
.contact-line { padding:1.1rem 0; border-bottom:1px solid var(--border); }
.contact-line:last-child { border-bottom:0; }
.contact-line strong { color:var(--gold-light); display:block; margin-bottom:.3rem; }
.notice { border:1px solid var(--border-gold); background:rgba(212,175,55,.08); color:#eee0ac; padding:1rem; }
.footer { border-top:1px solid var(--border); background:#030303; }
.footer-grid { padding:54px 0; display:grid; grid-template-columns:1.15fr .8fr .8fr; gap:3rem; }
.footer a { color:var(--muted); display:block; padding:.22rem 0; }
.footer a:hover { color:var(--off-white); }
.footer small { display:block; color:var(--dim); margin-top:1rem; }
.page-hero { padding:82px 0 52px; }
.page-hero h1 { max-width:10ch; }
.breadcrumb { color:var(--dim); font-size:.92rem; margin-bottom:1.3rem; }
.breadcrumb a { color:var(--gold-light); }
@media (max-width: 960px) {
  .nav-wrap { width:calc(100% - 28px); min-height:auto; padding:.9rem 0; align-items:flex-start; flex-direction:column; }
  .nav { width:100%; display:grid; grid-template-columns:repeat(2,1fr); gap:.35rem; }
  .nav a { justify-content:center; background:rgba(255,255,255,.025); }
  .nav .nav-cta { margin-left:0; }
  .hero,.page-hero,.section,.footer-grid,.trust-bar { width:calc(100% - 28px); }
  .hero { min-height:auto; grid-template-columns:1fr; gap:2rem; padding:54px 0 44px; }
  h1 { font-size:clamp(3.6rem,16vw,6.4rem); }
  .hero-panel { min-height:480px; }
  .trust-bar { grid-template-columns:1fr; }
  .trust-item { border-right:0; border-bottom:1px solid var(--border); }
  .trust-item:last-child { border-bottom:0; }
  .section { padding:56px 0; }
  .section-head,.featured-service,.wide-panel,.split,.guide-grid,.final-cta { grid-template-columns:1fr; gap:1.5rem; }
  .featured-rail { border-left:0; border-top:1px solid var(--border); }
  .use-cases,.steps,.tile-grid { grid-template-columns:1fr; }
  .step { border-right:0; border-bottom:1px solid var(--border); }
  .step:last-child { border-bottom:0; }
  .footer-grid { grid-template-columns:1fr; }
}
@media (max-width: 430px) {
  .hero-actions,.actions { flex-direction:column; }
  .btn { width:100%; }
  .micro-proof { display:grid; }
  .hero-panel { padding:20px; }
  .route-card,.quote-panel { padding:20px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }

/* Editorial guide system */
.article-hero { width:min(980px,calc(100% - 48px)); margin:0 auto; padding:82px 0 44px; }
.article-hero h1 { max-width:12ch; font-size:clamp(3.1rem,7vw,6.6rem); }
.article-wrap { width:min(980px,calc(100% - 48px)); margin:0 auto; padding:20px 0 80px; }
.article-wrap h2 { font-size:clamp(2.1rem,4vw,3.6rem); margin:3.2rem 0 1rem; max-width:14ch; }
.article-wrap h3 { margin:0 0 .65rem; }
.article-wrap p + p { margin-top:1rem; }
.toc, .disclosure, .quick-answer { border:1px solid var(--border); background:rgba(255,255,255,.028); padding:1.35rem; margin:1.5rem 0; }
.disclosure { border-color:var(--border-gold); color:var(--muted); }
.toc a { display:block; color:var(--gold-light); padding:.35rem 0; }
.rank-list { display:grid; gap:1px; background:var(--border); border:1px solid var(--border); margin:1.6rem 0; }
.rank-item { background:#080807; padding:1.55rem; display:grid; grid-template-columns:72px 1fr; gap:1.3rem; }
.rank-num { color:var(--gold-light); font:400 2.4rem/1 var(--serif); }
.rank-item p { margin-top:.55rem; }
.rank-item a { color:var(--gold-light); }
.compare-table { overflow-x:auto; border:1px solid var(--border); margin:1.5rem 0; }
.compare-table table { min-width:720px; }
.article-cta { border:1px solid var(--border-gold); background:linear-gradient(135deg,rgba(212,175,55,.13),rgba(255,255,255,.025)); padding:1.7rem; margin:2.4rem 0; display:grid; gap:1rem; }
.guide-cards { display:grid; gap:1px; background:var(--border); border:1px solid var(--border); }
.guide-card { background:#080807; padding:1.8rem; display:grid; gap:.7rem; }
.guide-card strong { font:400 1.7rem/1.1 var(--serif); }
.guide-card a { color:var(--gold-light); }
@media (max-width:700px){ .article-hero,.article-wrap{width:calc(100% - 28px);} .rank-item{grid-template-columns:1fr;} }
