/* Montana Auto Group — Institutional Luxe UI
   Notes: Dark, high-contrast, wide spacing, premium typography.
*/
:root{
  --bg:#07090c;
  --bg2:#0b0f16;
  --panel:#0e1420;
  --panel2:#111b2a;
  --text:#e9eef7;
  --muted:#a9b4c7;
  --faint:#6f7b92;
  --line:rgba(233,238,247,0.12);
  --gold:#c9a86a;
  --gold2:#f0d7a4;
  --blue:#7fb6ff;
  --ok:#62d6a3;
  --warn:#ffcc66;
  --bad:#ff6b6b;
  --shadow: 0 18px 60px rgba(0,0,0,.65);
  --radius: 18px;
  --radius2: 26px;
  --max: 1180px;
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --sans: "Manrope", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --serif: "Fraunces", Georgia, serif;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:
    radial-gradient(1200px 600px at 15% -10%, rgba(201,168,106,.20), transparent 55%),
    radial-gradient(1000px 520px at 90% 8%, rgba(127,182,255,.14), transparent 55%),
    linear-gradient(180deg, var(--bg), var(--bg2));
  color:var(--text);
  font-family:var(--sans);
  letter-spacing:.1px;
}
a{color:inherit; text-decoration:none}
a:hover{opacity:.92}
img{max-width:100%}
.container{max-width:var(--max); margin:0 auto; padding:0 22px}
.topbar{
  position:sticky; top:0; z-index:50;
  backdrop-filter:saturate(160%) blur(16px);
  background:rgba(7,9,12,.62);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  gap:18px; padding:14px 0;
}
.brand{display:flex; align-items:center; gap:12px}
.logo{
  width:36px; height:36px; border-radius:12px;
  background:
    radial-gradient(12px 12px at 28% 28%, rgba(240,215,164,.95), transparent 55%),
    linear-gradient(135deg, rgba(201,168,106,.95), rgba(127,182,255,.55));
  box-shadow:0 10px 24px rgba(0,0,0,.45);
  border:1px solid rgba(233,238,247,.16);
}
.brand .name{
  display:flex; flex-direction:column; line-height:1.05;
}
.brand .name strong{font-weight:800; letter-spacing:.7px}
.brand .name span{color:var(--muted); font-size:12px; letter-spacing:.35px}
.navlinks{display:flex; gap:16px; align-items:center; flex-wrap:wrap}
.navlinks a{
  color:var(--muted);
  font-size:13px;
  padding:10px 10px;
  border-radius:12px;
}
.navlinks a.active, .navlinks a:hover{
  color:var(--text);
  background:rgba(233,238,247,.06);
}
.navcta{display:flex; gap:10px; align-items:center}
.pill{
  border:1px solid rgba(233,238,247,.14);
  background:rgba(233,238,247,.05);
  color:var(--text);
  padding:9px 12px;
  border-radius:999px;
  font-size:13px;
  display:inline-flex; gap:8px; align-items:center;
}
.pill .dot{
  width:8px; height:8px; border-radius:999px;
  background:linear-gradient(135deg, var(--gold2), var(--gold));
  box-shadow:0 0 0 3px rgba(201,168,106,.15);
}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px;
  padding:12px 16px;
  border-radius:14px;
  border:1px solid rgba(233,238,247,.16);
  background:rgba(233,238,247,.06);
  color:var(--text);
  font-weight:700;
  font-size:13px;
}
.btn:hover{transform:translateY(-1px)}
.btn.primary{
  border-color:rgba(201,168,106,.42);
  background:
    radial-gradient(120px 60px at 22% 10%, rgba(240,215,164,.22), transparent 60%),
    linear-gradient(135deg, rgba(201,168,106,.35), rgba(127,182,255,.12));
  box-shadow:0 18px 45px rgba(0,0,0,.55);
}
.btn.ghost{background:transparent}
.lang{
  border:1px solid rgba(233,238,247,.14);
  background:rgba(233,238,247,.04);
  padding:10px 10px;
  border-radius:14px;
  font-size:12px;
  color:var(--muted);
}
.lang select{
  background:transparent; border:0; color:var(--text); font-weight:700;
  outline:none; cursor:pointer;
}
.hero{
  padding:54px 0 26px;
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap:22px;
  align-items:stretch;
}
@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr}
}
.card{
  border:1px solid rgba(233,238,247,.13);
  background:rgba(17,27,42,.45);
  border-radius:var(--radius2);
  box-shadow:var(--shadow);
}
.hero-main{
  padding:30px 30px 26px;
  position:relative;
  overflow:hidden;
}
.hero-main:before{
  content:"";
  position:absolute; inset:-120px -120px auto auto;
  width:360px; height:360px;
  background: radial-gradient(circle at 30% 30%, rgba(240,215,164,.25), transparent 60%),
              radial-gradient(circle at 60% 60%, rgba(127,182,255,.14), transparent 55%);
  transform:rotate(18deg);
  filter:blur(.2px);
}
.kicker{
  font-family:var(--mono);
  color:rgba(240,215,164,.92);
  letter-spacing:.22em;
  font-size:11px;
  text-transform:uppercase;
}
.h1{
  font-family:var(--serif);
  font-size:44px;
  letter-spacing:-.02em;
  margin:10px 0 12px;
  line-height:1.08;
}
@media (max-width: 520px){.h1{font-size:36px}}
.subhead{
  color:var(--muted);
  font-size:15px;
  line-height:1.55;
  max-width:62ch;
}
.badges{
  display:flex; flex-wrap:wrap; gap:10px;
  margin-top:18px;
}
.badge{
  border:1px solid rgba(233,238,247,.14);
  background:rgba(233,238,247,.05);
  border-radius:999px;
  padding:8px 10px;
  font-size:12px;
  color:var(--muted);
}
.hero-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:18px}
.hero-side{
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:14px;
}
.side-title{
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:11px;
  color:rgba(233,238,247,.78);
}
.side-metric{
  display:grid; gap:8px;
}
.metric{
  padding:12px 12px;
  border-radius:16px;
  border:1px solid rgba(233,238,247,.12);
  background:rgba(233,238,247,.04);
}
.metric strong{display:block; font-size:14px}
.metric span{display:block; color:var(--muted); font-size:12px; margin-top:4px}
.sep{height:1px; background:var(--line); margin:10px 0}
.section{padding:30px 0}
.section h2{
  margin:0 0 10px;
  font-family:var(--serif);
  font-size:28px;
  letter-spacing:-.01em;
}
.lede{color:var(--muted); line-height:1.7; max-width:80ch}
.grid3{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
@media (max-width: 980px){.grid3{grid-template-columns:1fr}}
.tile{
  padding:18px;
  border-radius:var(--radius);
  border:1px solid rgba(233,238,247,.12);
  background:rgba(14,20,32,.48);
}
.tile h3{margin:0; font-size:15px}
.tile p{margin:8px 0 0; color:var(--muted); line-height:1.6; font-size:13px}
.callout{
  padding:18px;
  border-radius:var(--radius2);
  border:1px solid rgba(201,168,106,.25);
  background:
    radial-gradient(260px 120px at 12% 10%, rgba(240,215,164,.13), transparent 60%),
    rgba(17,27,42,.35);
}
.callout h3{margin:0 0 6px; font-size:16px}
.callout p{margin:0; color:var(--muted); line-height:1.65}
.footer{
  padding:26px 0 40px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:12px;
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:14px;
}
@media (max-width: 980px){.footer-grid{grid-template-columns:1fr}}
.smalllinks{display:flex; flex-wrap:wrap; gap:10px}
.smalllinks a{color:var(--muted)}
.smalllinks a:hover{color:var(--text)}
/* Forms */
form{display:grid; gap:12px}
label{font-size:12px; color:rgba(233,238,247,.82); font-weight:700}
input, select, textarea{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(233,238,247,.14);
  background:rgba(7,9,12,.35);
  color:var(--text);
  outline:none;
}
textarea{min-height:120px; resize:vertical}
.formgrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
@media (max-width: 820px){.formgrid{grid-template-columns:1fr}}
.note{
  font-size:12px; color:var(--muted); line-height:1.6;
  border-left:2px solid rgba(201,168,106,.45);
  padding-left:12px;
}
hr{border:0; height:1px; background:var(--line); margin:16px 0}
/* Portal mock */
.table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid rgba(233,238,247,.12);
  border-radius:18px;
}
.table th, .table td{
  padding:12px 12px;
  border-bottom:1px solid rgba(233,238,247,.08);
  text-align:left;
  font-size:13px;
}
.table th{color:rgba(233,238,247,.82); font-size:12px; letter-spacing:.08em; text-transform:uppercase}
.table td{color:var(--muted)}
.table tr:last-child td{border-bottom:0}
.tag{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(233,238,247,.12);
  background:rgba(233,238,247,.05);
  font-size:12px;
  color:rgba(233,238,247,.86);
}
.tag .mini{width:7px; height:7px; border-radius:999px; background:var(--ok)}
.alert{
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(255,204,102,.25);
  background:rgba(255,204,102,.07);
  color:rgba(233,238,247,.9);
  font-size:13px;
  line-height:1.6;
}

/* MAG_F500_UPGRADE_START */
/* Fortune-500 Upgrade: premium logo lockup, refined hero, subtle institutional motion */
.brandmark{display:flex;align-items:center;gap:12px}
.brandmark img{height:34px;width:auto;filter:drop-shadow(0 12px 20px rgba(0,0,0,.55))}
@media (max-width:520px){.brandmark img{height:28px}}

/* Header polish */
.navlinks a{letter-spacing:.02em}
.topbar{transition:background .25s ease,border-color .25s ease}
.topbar.scrolled{background:rgba(7,9,12,.78);border-bottom-color:rgba(233,238,247,.18)}

/* Hero ultra-premium */
.hero-main{background:rgba(17,27,42,.38)}
.hero-main:after{
  content:"";position:absolute;inset:-2px;border-radius:var(--radius2);
  background:linear-gradient(120deg,rgba(201,168,106,0),rgba(201,168,106,.22),rgba(127,182,255,.14),rgba(201,168,106,0));
  opacity:.28;
  mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);
  -webkit-mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);
  -webkit-mask-composite:xor;mask-composite:exclude;
  padding:1px;pointer-events:none;
}
@keyframes magShine{
  0%{transform:translateX(-40%) rotate(10deg);opacity:0}
  20%{opacity:.35}
  50%{opacity:.18}
  100%{transform:translateX(120%) rotate(10deg);opacity:0}
}
.hero-main .shine{
  position:absolute;inset:-40% auto -40% -60%;
  width:60%;
  background:linear-gradient(90deg,transparent,rgba(240,215,164,.22),rgba(127,182,255,.12),transparent);
  transform:rotate(10deg);
  animation:magShine 7.5s ease-in-out infinite;
  pointer-events:none;
  opacity:.0;
}

/* Reveal motion */
@keyframes magIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(10px)}
.reveal.on{animation:magIn .7s ease forwards}
.reveal.d2.on{animation-delay:.08s}
.reveal.d3.on{animation-delay:.16s}
.reveal.d4.on{animation-delay:.24s}

/* Buttons micro-polish */
.btn{transition:transform .15s ease,background .2s ease,border-color .2s ease}
.btn.primary{position:relative;overflow:hidden}
.btn.primary:after{
  content:"";position:absolute;inset:-40% -30%;
  background:radial-gradient(circle at 30% 40%,rgba(240,215,164,.20),transparent 55%);
  opacity:.6;pointer-events:none;
}
/* MAG_F500_UPGRADE_END */
