/* ToboDigi Stripe sections: dark theme (James, 2026-10-28) */
:root{--td-bg:#050505;--td-panel:#101010;--td-panel2:#151515;--td-line:#252525;--td-text:#f2f2f2;--td-muted:#a5a5a5;--td-lime:#c9ff00}
.td-brands,.td-company{background:var(--td-bg);color:var(--td-text)}
.td-brands h2,.td-company h2,.td-company h3{color:#fff}
.td-eyebrow{color:var(--td-lime);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:12px;margin:0 0 10px}
.td-lead{color:var(--td-muted);max-width:640px;font-size:17px;line-height:1.65}
.td-brand-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:28px;align-items:stretch}
.td-brand{display:flex;flex-direction:column;height:100%;box-sizing:border-box;background:var(--td-panel);border:1px solid var(--td-line);border-radius:20px;padding:24px;color:var(--td-text);text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s}
.td-brand:hover,.td-brand:focus-visible{transform:translateY(-3px);border-color:var(--td-lime);box-shadow:0 14px 34px rgba(201,255,0,.10);outline:none}
.td-brand h3{margin:0 0 6px;font-size:20px;color:#fff}
.td-price{color:var(--td-lime);font-weight:800;font-size:18px;margin:0 0 14px}
.td-brand ul,.td-company ul{list-style:disc;padding-left:20px;margin:0 0 16px;line-height:1.7;color:var(--td-text)}
.td-brand ul{flex:1}
.td-brand li::marker,.td-company li::marker{color:var(--td-lime)}
.td-brand li::before,.td-company li::before{content:none!important}
.td-brand span{font-weight:700;color:var(--td-lime);display:inline-block;white-space:nowrap;min-height:44px;line-height:44px;margin-top:auto;border-top:1px solid var(--td-line);padding-top:4px;font-size:15px}
.td-company-box{display:grid;grid-template-columns:1fr;gap:24px;background:var(--td-panel);border:1px solid var(--td-line);border-radius:20px;padding:28px 22px;color:var(--td-text)}
.td-company h2{margin:0 0 12px}.td-company h3{margin:0 0 10px;font-size:18px}
.td-company a{color:var(--td-lime);display:inline-block;min-height:32px;text-decoration:none;overflow-wrap:anywhere}
.td-company a:hover{text-decoration:underline}
.td-legal-links a{color:var(--td-lime);text-decoration:underline;padding:10px 2px;display:inline-block}
@media(min-width:700px){.td-brand-grid{grid-template-columns:repeat(2,1fr)}.td-company-box{grid-template-columns:2fr 1fr;padding:40px}.td-company-box>div+div{border-left:1px solid var(--td-line);padding-left:32px}}
@media(min-width:1100px){.td-brand-grid{grid-template-columns:repeat(4,1fr)}.td-brand span{font-size:14px}}
/* Family of brands: parent hub + logos (2026-10-29) */
.td-family{position:relative;margin-top:28px}
.td-hub{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#141414,#0c0c0c);border:1px solid var(--td-lime);border-radius:20px;padding:18px 20px;box-shadow:0 0 0 6px rgba(201,255,0,.06);position:relative;z-index:1}
.td-hub-mark{flex:0 0 52px;height:52px;border-radius:14px;background:var(--td-lime);color:#050505;font-weight:900;font-size:28px;display:grid;place-items:center}
.td-hub strong{display:block;color:#fff;font-size:22px;letter-spacing:-.5px}
.td-hub small{display:block;color:var(--td-muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.td-hub-points{list-style:disc;margin:14px 0 0;padding-left:20px;color:var(--td-muted);font-size:15px;line-height:1.7}
.td-hub-points li::marker{color:var(--td-lime)}.td-hub-points li::before{content:none!important}
.td-family .td-brand-grid{position:relative;margin-top:22px;padding-left:22px}
.td-family .td-brand-grid::before{content:"";position:absolute;left:6px;top:-22px;bottom:24px;width:2px;background:linear-gradient(var(--td-lime),rgba(201,255,0,.15))}
.td-family .td-brand{position:relative}
.td-family .td-brand::before{content:"";position:absolute;left:-17px;top:42px;width:16px;height:2px;background:var(--td-lime);opacity:.6}
.td-brand-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.td-brand-logo{width:44px;height:44px;border-radius:12px;object-fit:contain;background:#fff;padding:0;flex:0 0 44px}
.td-brand-tag{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--td-muted);white-space:nowrap}
.td-brand-desc{color:var(--td-muted);margin:-6px 0 12px;font-size:15px;line-height:1.5}
.td-foot-brands-h{margin-top:22px}
@media(min-width:700px){.td-hub{max-width:520px;margin:0 auto}.td-hub-points{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;padding:0}.td-hub-points li{list-style-position:inside}
.td-family .td-brand-grid{padding-left:0;margin-top:56px}
.td-family .td-brand-grid::before{left:50%;top:-56px;bottom:auto;height:28px;width:2px;background:var(--td-lime)}
.td-family .td-brand-grid::after{content:"";position:absolute;top:-28px;left:25%;right:25%;height:2px;background:var(--td-lime);opacity:.6}
.td-family .td-brand::before{left:50%;top:-28px;width:2px;height:28px}}
@media(min-width:700px) and (max-width:1099px){.td-family .td-brand-grid::after{display:none}.td-family .td-brand::before{display:none}}
@media(min-width:1100px){.td-family .td-brand-grid::after{left:12.5%;right:12.5%}}
.td-hub-logo{flex:0 0 auto;height:40px;width:auto;max-width:150px;object-fit:contain;display:block}
.td-hub>div{border-left:1px solid var(--td-line);padding-left:14px}
@media(max-width:420px){.td-hub-logo{height:32px;max-width:120px}.td-hub strong{font-size:19px}}
@media(max-width:420px){.td-hub small{letter-spacing:.04em;font-size:11px}}
