/* ============================================================
   mindepositvault.com — shared stylesheet
   Theme: "Vault" — navy strongroom + orange dial accent.
   Layout signature: threshold-tiered ($1 / $5 / $10) ribbons,
   ledger-style comparison rows, monospace numeric badges.
   ============================================================ */

:root{
  --navy-900:#0b1530;
  --navy-800:#111e44;
  --navy-700:#1a2b5e;
  --navy-600:#243a78;
  --orange:#f97316;
  --orange-600:#ea6306;
  --orange-200:#fed7aa;
  --ink:#0d1426;
  --paper:#f6f7fb;
  --paper-2:#eef1f8;
  --line:#d8dded;
  --muted:#586079;
  --good:#157f54;
  --good-bg:#e3f5ec;
  --warn:#9a5b00;
  --warn-bg:#fdeccd;
  --bad:#b4232a;
  --bad-bg:#fbe3e4;
  --white:#ffffff;
  --radius:14px;
  --radius-sm:9px;
  --shadow:0 10px 30px -12px rgba(11,21,48,.35);
  --shadow-sm:0 4px 14px -8px rgba(11,21,48,.4);
  --maxw:1140px;
  --mono:"IBM Plex Mono","SFMono-Regular",ui-monospace,Menlo,Consolas,monospace;
  --sans:"Sora","Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  line-height:1.62;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--orange-600);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--sans);line-height:1.18;color:var(--navy-900);font-weight:700;letter-spacing:-.01em}
h1{font-size:2.35rem;margin:.2em 0 .35em}
h2{font-size:1.6rem;margin:1.7em 0 .55em}
h3{font-size:1.2rem;margin:1.4em 0 .4em}
p{margin:.6em 0}
ul,ol{margin:.6em 0;padding-left:1.25em}
li{margin:.3em 0}
code,kbd{font-family:var(--mono);font-size:.9em}
hr{border:0;border-top:1px solid var(--line);margin:2rem 0}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.narrow{max-width:820px}

/* ---------- Skip link ---------- */
.skip{position:absolute;left:-999px;top:0;background:var(--orange);color:#fff;padding:10px 16px;z-index:200}
.skip:focus{left:8px;top:8px}

/* ---------- Top notice bar ---------- */
.agebar{
  background:var(--navy-900);
  color:#cdd6f0;
  font-size:.82rem;
  text-align:center;
  padding:7px 12px;
  letter-spacing:.02em;
}
.agebar strong{color:var(--orange-200)}
.agebar a{color:#fff;text-decoration:underline}

/* ---------- Header / nav ---------- */
.site-head{
  background:linear-gradient(180deg,var(--navy-800),var(--navy-900));
  color:#fff;
  position:sticky;top:0;z-index:100;
  box-shadow:0 2px 0 rgba(249,115,22,.35);
}
.nav{display:flex;align-items:center;gap:18px;padding:13px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.18rem;color:#fff;letter-spacing:-.02em}
.brand:hover{text-decoration:none}
.brand .mark{
  width:34px;height:34px;flex:0 0 34px;border-radius:9px;
  background:var(--orange);
  display:grid;place-items:center;color:#0b1530;font-weight:900;font-size:.9rem;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.18);
  font-family:var(--mono);
}
.brand small{display:block;font-size:.62rem;font-weight:600;color:var(--orange-200);letter-spacing:.14em;text-transform:uppercase;margin-top:-2px}
.nav-links{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}
.nav-links a{
  color:#dbe3f6;font-size:.92rem;font-weight:600;padding:7px 11px;border-radius:8px;
}
.nav-links a:hover{background:rgba(255,255,255,.09);color:#fff;text-decoration:none}
.nav-toggle{display:none}

/* ---------- Hero ---------- */
.hero{
  background:
    radial-gradient(900px 380px at 88% -10%,rgba(249,115,22,.22),transparent 60%),
    linear-gradient(180deg,var(--navy-900),var(--navy-800) 70%,var(--navy-700));
  color:#fff;
  padding:54px 0 60px;
  border-bottom:3px solid var(--orange);
}
.hero h1{color:#fff;max-width:18ch}
.hero .lede{font-size:1.18rem;color:#d5def4;max-width:62ch;margin:.4em 0 1.3em}
.hero .kicker{
  display:inline-block;font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--orange-200);border:1px solid rgba(254,215,170,.4);
  padding:5px 12px;border-radius:30px;margin-bottom:14px;
}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}

/* threshold ribbon under hero */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:34px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.tier{padding:18px 18px;background:var(--navy-700);border-right:1px solid rgba(255,255,255,.08);position:relative}
.tier:last-child{border-right:0}
.tier .amt{font-family:var(--mono);font-size:1.9rem;font-weight:700;color:var(--orange-200)}
.tier .lbl{font-size:.86rem;color:#cdd6f0}
.tier .who{font-size:.74rem;color:#92a0c8;margin-top:4px;letter-spacing:.03em;text-transform:uppercase}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;background:var(--orange);color:#0b1530;font-weight:800;
  padding:12px 22px;border-radius:10px;border:0;cursor:pointer;font-size:1rem;
  font-family:var(--sans);transition:transform .06s ease,background .15s ease;
  box-shadow:0 6px 16px -6px rgba(249,115,22,.7);
}
.btn:hover{background:var(--orange-600);text-decoration:none;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45);box-shadow:none}
.btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff}
.btn-sm{padding:8px 15px;font-size:.86rem;border-radius:8px}
.btn-block{display:block;width:100%;text-align:center}

/* ---------- Section scaffold ---------- */
section{padding:40px 0}
.section-head{max-width:64ch}
.eyebrow{font-family:var(--mono);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-600);font-weight:700}
.lead{font-size:1.12rem;color:#33405e}

/* ---------- Cards ---------- */
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.card-pad{padding:22px 22px}

/* ranked operator cards */
.rank-list{display:grid;gap:16px;margin-top:22px}
.rankcard{
  display:grid;grid-template-columns:54px 1fr auto;gap:18px;align-items:start;
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:20px 22px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;
}
.rankcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--orange)}
.rankcard .rk{
  font-family:var(--mono);font-weight:700;font-size:1.5rem;color:var(--navy-600);
  background:var(--paper-2);border-radius:10px;width:54px;height:54px;display:grid;place-items:center;
}
.rankcard h3{margin:.1em 0 .15em;font-size:1.22rem}
.rankcard .lic{font-size:.82rem;color:var(--muted);margin:0 0 .5em}
.rankcard .offer{font-size:.97rem;color:#22304e;margin:.2em 0 .6em}
.rankcard .meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.rankcard .side{display:flex;flex-direction:column;gap:8px;align-items:stretch;min-width:150px}
.rankcard .score{font-family:var(--mono);font-weight:700;font-size:1.5rem;color:var(--navy-900);text-align:center;line-height:1}
.rankcard .score small{display:block;font-family:var(--sans);font-size:.66rem;color:var(--muted);font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-top:3px}

/* numeric pills */
.pill{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;padding:4px 10px;border-radius:30px;background:var(--paper-2);color:#2a3656;border:1px solid var(--line)}
.pill b{font-family:var(--mono);font-weight:700}
.pill.good{background:var(--good-bg);color:var(--good);border-color:#bfe6d2}
.pill.warn{background:var(--warn-bg);color:var(--warn);border-color:#f4d79a}
.pill.bad{background:var(--bad-bg);color:var(--bad);border-color:#f3bcbf}

.flag{display:inline-block;font-size:1rem;line-height:1;margin-right:2px}

/* tier badge */
.tierbadge{display:inline-block;font-family:var(--mono);font-weight:700;font-size:.74rem;padding:3px 9px;border-radius:6px;background:var(--navy-700);color:var(--orange-200);letter-spacing:.04em}

/* ---------- Tables ---------- */
.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
table.ledger{width:100%;border-collapse:collapse;background:var(--white);font-size:.92rem;min-width:760px}
table.ledger th,table.ledger td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
table.ledger thead th{background:var(--navy-800);color:#fff;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;position:sticky;top:0}
table.ledger tbody tr:nth-child(even){background:var(--paper)}
table.ledger tbody tr:hover{background:var(--orange-200)}
table.ledger td .num,table.ledger td .mono{font-family:var(--mono);font-weight:600}
table.ledger caption{caption-side:bottom;text-align:left;font-size:.8rem;color:var(--muted);padding:10px 4px}

/* small kv table inside reviews */
table.spec{width:100%;border-collapse:collapse;font-size:.93rem;margin:1em 0}
table.spec th,table.spec td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
table.spec th{width:38%;color:var(--navy-700);font-weight:700;background:var(--paper)}
table.spec td .mono{font-family:var(--mono)}

/* ---------- Tool / calculator ---------- */
.tool{background:linear-gradient(180deg,var(--navy-800),var(--navy-900));color:#fff;border-radius:18px;padding:26px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.08)}
.tool h2{color:#fff}
.tool .tool-sub{color:#c6d0ec;max-width:60ch}
.tool-controls{display:flex;flex-wrap:wrap;gap:22px;margin:18px 0 8px;align-items:flex-end}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-200);font-weight:700}
.seg{display:inline-flex;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:4px;gap:2px}
.seg button{background:transparent;border:0;color:#dbe3f6;font-weight:700;font-family:var(--mono);padding:9px 16px;border-radius:7px;cursor:pointer;font-size:.95rem}
.seg button[aria-pressed="true"]{background:var(--orange);color:#0b1530}
.tool input[type=number]{font-family:var(--mono);font-size:1rem;padding:10px 12px;border-radius:9px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;width:130px}
.tool .hint{font-size:.78rem;color:#9fadd4}
.tool-results{margin-top:18px;display:grid;gap:12px}
.resrow{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:14px 16px}
.resrow .top{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}
.resrow .cn{font-weight:800;font-size:1.05rem;color:#fff}
.resrow .keep{font-family:var(--mono);font-size:.8rem;font-weight:700;padding:3px 9px;border-radius:6px}
.keep.k-high{background:var(--good-bg);color:var(--good)}
.keep.k-mid{background:var(--warn-bg);color:var(--warn)}
.keep.k-low{background:var(--bad-bg);color:var(--bad)}
.resrow .what{color:#dde4f6;font-size:.95rem;margin:.4em 0}
.resrow .calc{font-family:var(--mono);font-size:.82rem;color:#9fadd4;border-top:1px dashed rgba(255,255,255,.16);padding-top:8px;margin-top:8px}
.resrow.empty{color:#9fadd4;text-align:center;font-style:italic;background:transparent;border-style:dashed}
.tool-foot{font-size:.78rem;color:#9fadd4;margin-top:14px}

/* ---------- Callouts ---------- */
.callout{border-radius:var(--radius);padding:16px 18px;margin:1.3em 0;border:1px solid;font-size:.96rem}
.callout h4{margin:0 0 .3em;font-size:1.02rem}
.callout.note{background:#eef3ff;border-color:#c9d8ff;color:#1f2f5c}
.callout.note h4{color:var(--navy-700)}
.callout.warn{background:var(--warn-bg);border-color:#f0cd8e}
.callout.warn h4{color:var(--warn)}
.callout.good{background:var(--good-bg);border-color:#b6e3cc}
.callout.good h4{color:var(--good)}
.callout.bad{background:var(--bad-bg);border-color:#f0b6ba}
.callout.bad h4{color:var(--bad)}

/* ---------- Pros / cons ---------- */
.proscons{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:1.2em 0}
.proscons .col{border-radius:var(--radius);padding:16px 18px;border:1px solid}
.proscons .pros{background:var(--good-bg);border-color:#b6e3cc}
.proscons .cons{background:var(--bad-bg);border-color:#f0b6ba}
.proscons h4{margin:0 0 .4em}
.proscons .pros h4{color:var(--good)}
.proscons .cons h4{color:var(--bad)}
.proscons ul{list-style:none;padding:0;margin:0}
.proscons li{padding-left:1.6em;position:relative;margin:.45em 0;font-size:.95rem}
.proscons .pros li::before{content:"+";position:absolute;left:0;color:var(--good);font-weight:900;font-family:var(--mono)}
.proscons .cons li::before{content:"\2212";position:absolute;left:0;color:var(--bad);font-weight:900;font-family:var(--mono)}

/* ---------- Verdict / rating ---------- */
.verdict{display:flex;gap:20px;align-items:center;flex-wrap:wrap;background:var(--navy-800);color:#fff;border-radius:18px;padding:22px 24px;margin:1.4em 0}
.verdict .ratingbox{text-align:center;flex:0 0 auto}
.verdict .ratingbox .big{font-family:var(--mono);font-size:2.8rem;font-weight:700;color:var(--orange-200);line-height:1}
.verdict .ratingbox .of{font-size:.74rem;color:#9fadd4;letter-spacing:.08em;text-transform:uppercase}
.stars{color:var(--orange);font-size:1.05rem;letter-spacing:2px}
.verdict .vtext{flex:1;min-width:240px}
.verdict .vtext h3{color:#fff;margin:.1em 0 .3em}
.verdict .vtext p{color:#d5def4;margin:.2em 0}

/* breakdown bars */
.bars{display:grid;gap:9px;margin:1em 0}
.bar{display:grid;grid-template-columns:130px 1fr 44px;align-items:center;gap:10px;font-size:.86rem}
.bar .track{height:9px;background:var(--paper-2);border-radius:30px;overflow:hidden}
.bar .fill{height:100%;background:linear-gradient(90deg,var(--orange),var(--orange-600));border-radius:30px}
.bar .val{font-family:var(--mono);font-weight:700;text-align:right;color:var(--navy-700)}

/* ---------- TOC / aside ---------- */
.toc{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;font-size:.92rem}
.toc strong{display:block;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.toc ul{list-style:none;padding:0;margin:0;display:grid;gap:5px}
.toc a{color:var(--navy-700);font-weight:600}

/* ---------- FAQ ---------- */
.faq details{border:1px solid var(--line);border-radius:var(--radius-sm);margin:.6em 0;background:var(--white);overflow:hidden}
.faq summary{cursor:pointer;padding:15px 18px;font-weight:700;color:var(--navy-800);list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);color:var(--orange-600);font-size:1.3rem;font-weight:700}
.faq details[open] summary::after{content:"\2212"}
.faq details[open] summary{border-bottom:1px solid var(--line)}
.faq .ans{padding:4px 18px 16px;color:#33405e}

/* ---------- Breadcrumbs ---------- */
.crumbs{font-size:.82rem;color:var(--muted);padding:14px 0 0}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--orange-600)}
.crumbs span{margin:0 6px;color:var(--line)}

/* ---------- Author byline ---------- */
.byline{display:flex;gap:12px;align-items:center;font-size:.86rem;color:var(--muted);margin:.4em 0 1.2em}
.byline .av{width:42px;height:42px;border-radius:50%;background:var(--navy-700);color:var(--orange-200);display:grid;place-items:center;font-weight:800;font-family:var(--mono);flex:0 0 42px}
.byline b{color:var(--navy-800)}
.byline a{color:var(--orange-600)}

/* ---------- Disclosure ---------- */
.disclosure{background:var(--paper-2);border:1px dashed var(--line);border-radius:var(--radius-sm);padding:12px 16px;font-size:.82rem;color:var(--muted);margin:1.2em 0}

/* ---------- Grid helpers ---------- */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.with-aside{display:grid;grid-template-columns:1fr 280px;gap:34px;align-items:start}
.with-aside aside{position:sticky;top:84px}

/* feature cards */
.fcard{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}
.fcard .ic{width:42px;height:42px;border-radius:11px;background:var(--orange-200);color:var(--orange-600);display:grid;place-items:center;font-weight:900;font-size:1.1rem;margin-bottom:10px;font-family:var(--mono)}
.fcard h3{margin:.2em 0 .3em;font-size:1.08rem}
.fcard p{font-size:.93rem;color:#33405e;margin:0}

/* ---------- Footer ---------- */
.site-foot{background:var(--navy-900);color:#aab6d6;margin-top:50px;padding:42px 0 28px;font-size:.9rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:26px}
.site-foot h4{color:#fff;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px}
.site-foot a{color:#aab6d6;display:block;padding:3px 0}
.site-foot a:hover{color:#fff}
.foot-brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:1.1rem;margin-bottom:10px}
.rg-row{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}
.rg-row span{font-size:.74rem;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:4px 9px;color:#cdd6f0}
.foot-legal{border-top:1px solid rgba(255,255,255,.12);margin-top:26px;padding-top:18px;font-size:.8rem;color:#7e8cb3}
.foot-legal p{margin:.4em 0}

/* ---------- Misc ---------- */
.note-sm{font-size:.82rem;color:var(--muted)}
.center{text-align:center}
.mt0{margin-top:0}
.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin:1em 0}
.tag{font-size:.8rem;background:var(--paper-2);border:1px solid var(--line);border-radius:30px;padding:4px 12px;color:var(--navy-700);font-weight:600}
.updated{font-family:var(--mono);font-size:.78rem;color:var(--muted)}

/* ---------- Responsive ---------- */
@media (max-width:860px){
  body{font-size:16px;overflow-x:hidden}
  h1{font-size:clamp(1.55rem,6.5vw,1.95rem)}
  h2{font-size:clamp(1.2rem,5vw,1.6rem)}
  .nav-links{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;background:var(--navy-900);padding:10px 16px;gap:2px;box-shadow:var(--shadow)}
  .nav-links.open{display:flex}
  .nav-links a{padding:11px 8px;border-bottom:1px solid rgba(255,255,255,.07)}
  .nav-toggle{display:inline-grid;place-items:center;margin-left:auto;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;width:42px;height:38px;border-radius:9px;font-size:1.2rem;cursor:pointer}
  .tiers{grid-template-columns:1fr}
  .tier{border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}
  .grid-2,.grid-3,.proscons,.with-aside,.foot-grid{grid-template-columns:1fr}
  .with-aside aside{position:static}
  .rankcard{grid-template-columns:42px 1fr;gap:12px}
  .rankcard .side{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;align-items:center}
  .rankcard .rk{width:42px;height:42px;font-size:1.2rem}
  .bar{grid-template-columns:96px 1fr 40px}
  td,th,.callout,.disclosure,p{overflow-wrap:anywhere}
  table.spec td,table.spec th{overflow-wrap:anywhere;word-break:break-word}
  img,video,iframe,embed,object{max-width:100%;height:auto}
  .verdict{flex-direction:column}
  .rankcard .side{min-width:unset}
}
@media print{
  .site-head,.site-foot,.agebar,.tool,.hero-cta{display:none}
}
