/* Monty-UX — deck-derived design system: bright blue on white, rounded, young */
:root{
  --blue:#0F6EC5; --blue-d:#0B57A0; --azure:#2196F3; --navy:#0B3566;
  --sky:#E9F3FC; --sky-2:#F5F9FE; --teal:#14A8A8; --purple:#7E3F9D;
  --ink:#16202B; --mut:#4A5B6E; --line:#D9E5F0;
  --w:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{
  background:#fff; color:var(--ink);
  font-family:Inter,-apple-system,sans-serif; font-size:17px; line-height:28px;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--w); margin:0 auto; padding:0 24px}
a{color:var(--blue); text-decoration:none}
a:hover{text-decoration:underline}
::selection{background:#CBE2F8}

h1,h2,h3,.wordmark{font-family:Manrope,Inter,sans-serif}
h1{font-weight:800; font-size:clamp(34px,4.8vw,52px); line-height:1.12; letter-spacing:-.02em; color:var(--navy)}
h2{font-weight:800; font-size:clamp(26px,3.2vw,34px); line-height:1.2; letter-spacing:-.015em; color:var(--navy); margin-bottom:20px}
h3{font-weight:800; font-size:19px; line-height:26px; color:var(--navy)}
p{max-width:66ch; margin-bottom:16px}
.mut{color:var(--mut)}
em.hot{font-style:normal; color:var(--blue); font-weight:600}

/* nav tabs */
.topbar{border-bottom:1px solid var(--line); background:#fff; position:sticky; top:0; z-index:10}
nav{display:flex; align-items:center; justify-content:space-between; padding:16px 0}
.wordmark{font-weight:800; font-size:23px; color:var(--blue); letter-spacing:-.02em}
.wordmark:hover{text-decoration:none}
.wordmark .hy{color:var(--teal)}
.tabs{display:flex; gap:6px; flex-wrap:wrap}
.tabs a{font-weight:600; font-size:14.5px; color:var(--mut); padding:8px 14px; border-radius:999px}
.tabs a:hover{color:var(--blue); background:var(--sky); text-decoration:none}
.tabs a.on{color:#fff; background:var(--blue)}
.tabs a.cta{color:var(--blue); border:1.5px solid var(--blue)}
.tabs a.cta:hover{background:var(--blue); color:#fff}
.tabs a.cta.on{background:var(--blue); color:#fff}

/* hero */
.hero{background:linear-gradient(180deg, var(--sky-2) 0%, #fff 90%); }
.hero-in{display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center; padding:56px 0 48px}
.kicker{display:inline-block; font-weight:700; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--blue); background:var(--sky); padding:6px 14px; border-radius:999px; margin-bottom:22px}
.sub{font-size:18.5px; line-height:31px; color:#25313f; margin-top:22px; max-width:58ch}
.cta-row{margin-top:32px; display:flex; gap:16px; align-items:center; flex-wrap:wrap}
.btn{display:inline-block; font-family:Manrope,sans-serif; font-weight:800; font-size:16px; background:var(--blue); color:#fff; padding:14px 28px; border-radius:999px; border:none; cursor:pointer; box-shadow:0 6px 18px rgba(15,110,197,.25)}
.btn:hover{background:var(--blue-d); text-decoration:none}
.btn.ghost{background:#fff; color:var(--blue); border:2px solid var(--blue); box-shadow:none}
.btn.ghost:hover{background:var(--sky)}
.hero-art{text-align:center}
.hero-art img{max-width:min(100%,380px); height:auto; filter:drop-shadow(0 14px 30px rgba(11,53,102,.18))}

/* sections */
section{padding:60px 0}
section.alt{background:var(--sky-2)}
.band{background:linear-gradient(90deg, var(--blue) 0%, var(--azure) 100%); color:#fff; border-radius:16px; padding:40px 44px; display:flex; justify-content:space-between; align-items:center; gap:32px; flex-wrap:wrap; box-shadow:0 10px 30px rgba(15,110,197,.28)}
.band h2{color:#fff; margin:0 0 6px}
.band p{margin:0; color:#EAF4FF; max-width:56ch}
.band .btn{background:#fff; color:var(--blue); box-shadow:none}
.band .btn:hover{background:var(--sky)}

/* cards / grids */
.grid{display:grid; gap:22px; margin-top:36px}
.grid.c2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.grid.c4{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.tile{background:#fff; border:1px solid var(--line); border-radius:14px; padding:26px; box-shadow:0 3px 14px rgba(11,53,102,.06)}
.tile .n{font-family:Manrope,sans-serif; font-weight:800; font-size:15px; color:var(--azure); display:block; margin-bottom:8px}
.tile h3{margin-bottom:8px}
.tile p{font-size:15px; line-height:24px; margin:0; color:#2b3a4a}
ul.checks{max-width:66ch; list-style:none; margin:10px 0 6px}
ul.checks li{padding-left:32px; position:relative; margin-bottom:14px; font-size:16.5px; line-height:27px}
ul.checks li:before{content:"✓"; position:absolute; left:2px; top:0; color:var(--teal); font-weight:800; font-size:18px}

/* figure */
.figure{background:#fff; border:1px solid var(--line); border-radius:14px; padding:36px 28px 24px; margin:36px 0 8px; overflow-x:auto; box-shadow:0 3px 14px rgba(11,53,102,.06)}
.figure svg{display:block; margin:0 auto; min-width:720px}
.cap{font-size:13px; line-height:19px; color:var(--mut)}

/* wheel (philosophy) */
.wheelwrap{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center}
.wheel{width:min(340px,80vw); aspect-ratio:1; border-radius:50%; margin:0 auto;
  background:conic-gradient(from 0deg, #0B3566 0 45deg, #0F5AA8 45deg 90deg, #0F6EC5 90deg 135deg, #2196F3 135deg 180deg, #55AEF5 180deg 225deg, #2196F3 225deg 270deg, #0F6EC5 270deg 315deg, #0F5AA8 315deg 360deg);
  position:relative; box-shadow:0 12px 32px rgba(11,53,102,.22)}
.wheel:after{content:""; position:absolute; inset:31%; background:#fff; border-radius:50%}
.wheel .you{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; z-index:1;
  font-family:Manrope,sans-serif; font-weight:800; color:var(--navy); font-size:17px}

/* founders */
.founder{background:#fff; border:1px solid var(--line); border-radius:14px; padding:30px; box-shadow:0 3px 14px rgba(11,53,102,.06)}
.founder h3{font-size:21px; margin-bottom:2px}
.founder .role{font-weight:600; font-size:13.5px; color:var(--azure); margin-bottom:14px}
.founder p{font-size:15.5px; line-height:25px; margin:0; color:#2b3a4a}
.pedigree{margin-top:32px; text-align:center; font-weight:600; font-size:14px; color:var(--mut); letter-spacing:.02em}

/* forms (gate + contact) */
.gate{max-width:520px; background:#fff; border:1px solid var(--line); border-radius:16px; padding:36px; box-shadow:0 8px 26px rgba(11,53,102,.10)}
.gate label{display:block; font-weight:600; font-size:14px; margin-bottom:8px; color:var(--navy)}
.gate input[type=email]{width:100%; font-family:Inter,sans-serif; font-size:16px; padding:13px 16px; border:1.5px solid var(--line); border-radius:10px; margin-bottom:16px; background:#fff; color:var(--ink)}
.gate input[type=email]:focus{outline:2px solid var(--azure); border-color:var(--azure)}
.papers-list{margin-top:28px}
.paper-row{display:flex; justify-content:space-between; gap:16px; align-items:baseline; padding:16px 0; border-top:1px solid var(--line)}
.paper-row .t{font-weight:600; color:var(--navy); font-size:15.5px}
.paper-row .m{font-size:13px; color:var(--mut)}
.paper-row a{font-family:"JetBrains Mono",monospace; font-size:13px; white-space:nowrap}

footer{border-top:1px solid var(--line); padding:44px 0 60px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; background:#fff}
footer .cap a{color:var(--mut)}

@media (max-width:860px){
  .hero-in{grid-template-columns:1fr; padding:48px 0 40px}
  .hero-art{order:-1}
  .hero-art img{max-width:240px}
  .wheelwrap{grid-template-columns:1fr}
  section{padding:56px 0}
}

/* founder photos w/ initials fallback */
.mug{width:96px; height:96px; border-radius:50%; overflow:hidden; margin-bottom:18px; position:relative; background:linear-gradient(135deg, var(--blue) 0%, var(--azure) 100%); box-shadow:0 6px 18px rgba(15,110,197,.25)}
.mug img{width:100%; height:100%; object-fit:cover; display:block}
.mug.noimg img{display:none}
.mug .init{display:none}
.mug.noimg .init{display:flex; position:absolute; inset:0; align-items:center; justify-content:center; font-family:Manrope,sans-serif; font-weight:800; font-size:30px; color:#fff}

/* flight cards — moneyball for features */
.flights{display:grid; grid-template-columns:repeat(auto-fit,minmax(420px,1fr)); gap:26px; margin-top:36px}
@media (max-width:920px){.flights{grid-template-columns:1fr}}
.flight{background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px 26px 22px; box-shadow:0 4px 18px rgba(11,53,102,.07)}
.flight .fid{font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.06em; color:var(--azure); font-weight:500}
.flight h3{margin:6px 0 4px; font-size:19px}
.flight .fdesc{font-size:14.5px; line-height:22px; color:var(--mut); margin:0 0 16px; max-width:none}
.fviz{background:var(--sky-2); border:1px solid var(--line); border-radius:10px; padding:14px; margin-bottom:18px}
.fviz svg{display:block; width:100%; height:auto}
.fkpi{font-family:"JetBrains Mono",monospace; font-size:11.5px; color:var(--mut); text-transform:uppercase; letter-spacing:.05em; margin-bottom:10px; display:flex; justify-content:space-between}
.fr{display:grid; grid-template-columns:128px 1fr; gap:12px; align-items:center; padding:5px 0}
.fr .g{font-family:Inter,sans-serif; font-size:12.5px; font-weight:600; color:var(--navy); text-align:right}
.bar{position:relative; height:16px; background:var(--sky-2); border-radius:4px}
.bar:before{content:""; position:absolute; left:50%; top:-3px; bottom:-3px; width:2px; background:var(--navy); opacity:.55; z-index:2}
.bar .neg{position:absolute; right:50%; top:0; bottom:0; background:#E15B5B; border-radius:4px 0 0 4px}
.bar .pos{position:absolute; left:50%; top:0; bottom:0; background:#2FA36B; border-radius:0 4px 4px 0}
.bar .nl{position:absolute; right:50%; top:1px; font-family:"JetBrains Mono",monospace; font-size:10.5px; color:#B23B3B; padding-right:4px; transform:translateX(-100%); white-space:nowrap}
.bar .pl{position:absolute; left:50%; top:1px; font-family:"JetBrains Mono",monospace; font-size:10.5px; color:#1F7A4D; padding-left:4px; transform:translateX(100%); white-space:nowrap}
.verdict{margin-top:16px; display:flex; align-items:center; gap:10px; font-family:Inter,sans-serif; font-size:13px; font-weight:600}
.verdict .vchip{background:#E2ECE6; color:#1F7A4D; border-radius:999px; padding:4px 12px; font-size:11.5px; letter-spacing:.04em; text-transform:uppercase; font-weight:700}
.verdict .vchip.hold{background:#F7E8E8; color:#B23B3B}
.verdict span.note{color:var(--mut); font-weight:500}
.more-flights{margin-top:22px; font-family:Inter,sans-serif; font-size:14.5px; color:var(--mut)}
