/* ========================================================
   LSFD — Los Santos Fire Department
   Hoja de estilos compartida por todas las páginas
   ======================================================== */

:root{
  --charcoal:#120d0b;
  --charcoal-2:#1c1512;
  --brick:#241a16;
  --brick-line:#3a2a22;
  --ember:#c22a2a;
  --ember-bright:#e8483f;
  --ember-deep:#5c1414;
  --brass:#c9994f;
  --paper:#ece5da;
  --paper-dim:#a99d8d;
  --glow: 0 0 40px rgba(194,42,42,.35);
  --radius: 2px;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--charcoal);
  color:var(--paper);
  font-family:'Work Sans', sans-serif;
  line-height:1.6;
  overflow-x:hidden;
}
::selection{background:var(--ember); color:#fff;}

a{color:inherit; text-decoration:none;}
ul{list-style:none;}
img{max-width:100%; display:block;}

h1,h2,h3{
  font-family:'Anton', sans-serif;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:.01em;
  line-height:1.05;
}

.eyebrow{
  font-family:'Oswald', sans-serif;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:.72rem;
  color:var(--brass);
  display:flex;
  align-items:center;
  gap:.6em;
}
.eyebrow::before{
  content:"";
  width:22px; height:2px;
  background:var(--ember);
  display:inline-block;
}

.wrap{max-width:1320px; margin:0 auto; padding:0 20px;}

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:2px solid var(--brass);
  outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}

/* ---------- NAV ---------- */
header.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:linear-gradient(to bottom, rgba(18,13,11,.96), rgba(18,13,11,.85));
  border-bottom:1px solid var(--brick-line);
  backdrop-filter:blur(6px);
}
.nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 20px;
  max-width:1320px; margin:0 auto;
}
.brand{display:flex; align-items:center; gap:12px;}
.brand-crest{width:40px; height:40px; flex:none; object-fit:contain;}
.brand-text{font-family:'Oswald', sans-serif; line-height:1.1;}
.brand-text b{
  display:block; font-size:.95rem; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:var(--paper);
}
.brand-text span{
  display:block; font-size:.62rem; letter-spacing:.22em; color:var(--brass); text-transform:uppercase;
}
.nav-right{display:flex; align-items:center; gap:36px;}
nav.links{display:flex; gap:32px;}
nav.links a{
  font-family:'Oswald', sans-serif; font-size:.78rem; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:var(--paper-dim);
  position:relative; padding:4px 0;
  transition:color .2s ease;
}
nav.links a::after{
  content:""; position:absolute; left:0; bottom:0; height:2px; width:0;
  background:var(--ember); transition:width .25s ease;
}
nav.links a:hover, nav.links a.active{color:var(--paper);}
nav.links a:hover::after, nav.links a.active::after{width:100%;}

.nav-dropdown{position:relative;}
.dropdown-trigger{display:flex; align-items:center; gap:6px;}
.dropdown-caret{
  font-size:.6rem; color:var(--paper-dim); transition:transform .2s ease, color .2s ease;
}
.nav-dropdown:hover .dropdown-caret, .nav-dropdown:focus-within .dropdown-caret{
  transform:rotate(180deg); color:var(--brass);
}
.dropdown-menu{
  position:absolute; top:100%; left:0; margin-top:14px;
  background:var(--charcoal-2); border:1px solid var(--brick-line);
  min-width:210px; z-index:200;
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.nav-dropdown:hover .dropdown-menu, .nav-dropdown:focus-within .dropdown-menu{
  opacity:1; visibility:visible; transform:translateY(0);
}
.dropdown-menu a{
  display:block; padding:13px 18px;
  font-family:'Oswald',sans-serif; font-size:.72rem; font-weight:500;
  letter-spacing:.1em; text-transform:uppercase; color:var(--paper-dim);
  border-bottom:1px solid var(--brick-line); transition:color .2s ease, background .2s ease;
}
.dropdown-menu a:last-child{border-bottom:none;}
.dropdown-menu a:hover, .dropdown-menu a.active{color:var(--paper); background:var(--brick);}
.nav-cta{
  font-family:'Oswald',sans-serif; font-size:.75rem; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; padding:10px 18px; border:1px solid var(--ember);
  color:var(--paper); transition:background .2s ease, box-shadow .2s ease;
}
.nav-cta:hover{background:var(--ember); box-shadow:var(--glow);}

/* ---------- STATUS TICKER (elemento distintivo) ---------- */
.ticker{
  background:var(--charcoal-2);
  border-bottom:1px solid var(--brick-line);
  overflow:hidden;
  height:30px;
  display:flex; align-items:center;
}
.ticker-track{
  display:flex; gap:64px; white-space:nowrap;
  animation:scroll-left 26s linear infinite;
  font-family:'JetBrains Mono', monospace;
  font-size:.68rem; letter-spacing:.08em; color:var(--paper-dim);
}
.ticker-track span{display:inline-flex; align-items:center; gap:10px;}
.dot{
  width:7px; height:7px; border-radius:50%; background:var(--ember-bright);
  box-shadow:0 0 8px var(--ember-bright);
  animation:pulse 1.6s ease-in-out infinite;
}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.35;}}
@keyframes scroll-left{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* content below fixed nav + ticker */
.page-offset{padding-top:130px;}

/* ---------- HERO (portada) ---------- */
.hero{
  position:relative;
  min-height:88vh;
  display:flex; align-items:center;
  padding-top:112px;
  background:
    radial-gradient(ellipse 60% 50% at 50% 20%, rgba(194,42,42,.18), transparent 60%),
    linear-gradient(180deg, var(--charcoal) 0%, #170f0d 60%, var(--charcoal) 100%);
  border-bottom:1px solid var(--brick-line);
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background-image:repeating-linear-gradient(90deg, rgba(255,255,255,.02) 0 1px, transparent 1px 120px);
  pointer-events:none;
}
.hero-inner{
  position:relative; z-index:2;
  max-width:1320px; margin:0 auto; padding:0 20px;
  display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center;
}
.hero-eyebrow{margin-bottom:22px;}
.hero h1{
  font-size:clamp(2.6rem, 5.6vw, 4.6rem);
  color:var(--paper);
}
.hero h1 em{
  font-style:normal;
  color:transparent;
  -webkit-text-stroke:1.5px var(--ember-bright);
}
.hero p.lede{
  margin-top:22px; max-width:46ch;
  color:var(--paper-dim); font-size:1.05rem;
}
.hero-ctas{display:flex; gap:16px; margin-top:36px; flex-wrap:wrap;}
.btn{
  font-family:'Oswald',sans-serif; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; font-size:.82rem;
  padding:15px 28px; display:inline-flex; align-items:center; gap:10px;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.btn-primary{background:var(--ember); color:#fff;}
.btn-primary:hover{box-shadow:var(--glow); transform:translateY(-2px);}
.btn-ghost{border:1px solid var(--brick-line); color:var(--paper);}
.btn-ghost:hover{border-color:var(--brass); color:var(--brass);}

.hero-stats{
  display:grid; grid-template-columns:1fr 1fr; gap:1px;
  background:var(--brick-line);
  border:1px solid var(--brick-line);
  margin-top:48px;
}
.hero-stats div{background:var(--charcoal-2); padding:20px;}
.hero-stats b{
  font-family:'JetBrains Mono', monospace; font-size:1.5rem; color:var(--brass); display:block;
}
.hero-stats span{
  font-family:'Oswald',sans-serif; font-size:.68rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--paper-dim);
}

.hero-crest{
  position:relative;
  border:1px solid var(--brick-line);
  background:linear-gradient(180deg, var(--charcoal-2), var(--brick));
  padding:44px 30px;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  box-shadow:var(--glow);
}
.hero-crest svg{width:150px; height:150px;}
.hero-crest-logo{width:130px; height:130px; object-fit:contain;}
.hero-crest .motto{
  margin-top:20px; font-family:'Oswald',sans-serif; font-size:.7rem;
  letter-spacing:.28em; text-transform:uppercase; color:var(--brass);
}
.hero-crest .values{
  margin-top:14px; display:flex; gap:14px; flex-wrap:wrap; justify-content:center;
}
.hero-crest .values span{
  font-family:'JetBrains Mono',monospace; font-size:.62rem; letter-spacing:.05em;
  color:var(--paper-dim); border:1px solid var(--brick-line); padding:4px 9px;
}

/* ---------- PAGE HEADER (para páginas internas) ---------- */
.page-header{
  padding:145px 0 54px;
  background:
    radial-gradient(ellipse 60% 60% at 50% 0%, rgba(194,42,42,.14), transparent 60%),
    var(--charcoal);
  border-bottom:1px solid var(--brick-line);
}
.page-header h1{font-size:clamp(2.4rem, 5vw, 3.6rem); color:var(--paper);}
.page-header p{margin-top:16px; color:var(--paper-dim); max-width:56ch; font-size:1.02rem;}

/* ---------- GENERIC SECTION ---------- */
section{padding:72px 0;}
.section-head{max-width:640px; margin-bottom:42px;}
.section-head h2{font-size:clamp(2rem, 4vw, 2.9rem); margin-top:14px; color:var(--paper);}
.section-head p{margin-top:18px; color:var(--paper-dim); font-size:1.02rem;}

.reveal{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:none;}

/* ---------- INFO ---------- */
.section-alt{background:var(--charcoal-2); border-top:1px solid var(--brick-line); border-bottom:1px solid var(--brick-line);}
.info-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start;}
.info-copy p{color:var(--paper-dim); margin-bottom:18px;}
.info-copy p:first-child{color:var(--paper); font-size:1.08rem;}

.info-media{
  border:1px solid var(--brick-line);
  aspect-ratio:16/10;
  background:var(--brick);
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
.info-media img{width:100%; height:100%; object-fit:cover;}
.media-fallback{
  display:flex; flex-direction:column; align-items:center; gap:10px;
  font-family:'Oswald',sans-serif; letter-spacing:.14em; text-transform:uppercase;
  font-size:.7rem; color:var(--paper-dim); padding:20px; text-align:center;
}
.media-fallback svg{width:34px; height:34px; opacity:.5;}

.info-list{margin-top:34px; display:grid; gap:0; border-top:1px solid var(--brick-line);}
.info-list li{
  display:flex; justify-content:space-between; gap:20px;
  padding:16px 0; border-bottom:1px solid var(--brick-line);
  font-family:'Oswald',sans-serif; font-size:.85rem; letter-spacing:.03em;
}
.info-list li b{color:var(--paper); font-weight:600;}
.info-list li span{color:var(--paper-dim); text-align:right;}

/* ---------- ESTACIONES (acordeón) ---------- */
.station-list{display:grid; gap:1px; background:var(--brick-line); border:1px solid var(--brick-line);}
.station-item{background:var(--charcoal);}
.station-item summary{
  list-style:none; cursor:pointer; padding:22px 24px;
  display:flex; align-items:center; gap:16px;
  transition:background .2s ease;
}
.station-item summary::-webkit-details-marker{display:none;}
.station-item summary:hover{background:var(--charcoal-2);}
.station-item summary::after{
  content:"+"; margin-left:auto; font-family:'JetBrains Mono',monospace;
  font-size:1.1rem; color:var(--brass); transition:transform .25s ease;
}
.station-item[open] summary::after{transform:rotate(45deg);}
.station-tag{
  font-family:'JetBrains Mono',monospace; font-size:.62rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--paper-dim); min-width:120px;
}
.station-item summary b{
  font-family:'Oswald',sans-serif; font-size:1.05rem; font-weight:600;
  letter-spacing:.02em; color:var(--paper); text-transform:uppercase;
}
.station-item.main .station-tag{color:var(--brass);}
.station-item.main summary b{color:var(--brass);}
.station-item.main{border-left:2px solid var(--ember);}
.station-panel{
  padding:0 24px 26px; display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start;
}
.station-address .label{
  display:block; font-family:'Oswald',sans-serif; font-size:.66rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--brass); margin-bottom:8px;
}
.station-address p{color:var(--paper-dim); font-size:.92rem;}
.station-image{
  border:1px solid var(--brick-line); background:var(--brick); aspect-ratio:16/10;
  display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;
}
.station-image img{width:100%; height:100%; object-fit:cover;}

/* ---------- FLOTA ---------- */
.fleet-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.fleet-empty{
  grid-column:1 / -1; padding:40px 28px; text-align:center; color:var(--paper-dim);
  font-family:'Oswald',sans-serif; font-size:.85rem; letter-spacing:.05em;
  background:var(--brick); border:1px solid var(--brick-line);
}
.vehicle-card{border:1px solid var(--brick-line); background:var(--brick); overflow:hidden; transition:border-color .2s ease, transform .2s ease;}
.vehicle-card:hover{border-color:var(--brass); transform:translateY(-3px);}
.vehicle-image{aspect-ratio:4/3; background:var(--charcoal-2); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;}
.vehicle-image img{width:100%; height:100%; object-fit:cover;}
.vehicle-name{
  padding:14px 16px; font-family:'Oswald',sans-serif; font-size:.85rem; font-weight:600;
  letter-spacing:.04em; color:var(--paper); border-top:1px solid var(--brick-line);
}

/* ---------- CUERPO DE BOMBEROS (roster) ---------- */
.roster-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--brick-line); border:1px solid var(--brick-line);
}
.roster-card{background:var(--charcoal); padding:26px 22px;}
.roster-card span{
  display:block; font-family:'JetBrains Mono',monospace; font-size:.62rem;
  letter-spacing:.1em; text-transform:uppercase; color:var(--paper-dim); margin-bottom:8px;
}
.roster-card b{
  font-family:'Oswald',sans-serif; font-size:1.05rem; font-weight:600;
  letter-spacing:.02em; color:var(--paper); text-transform:uppercase;
}
.roster-card.main{border-left:2px solid var(--ember);}
.roster-card.main span{color:var(--brass);}
.roster-card.main b{color:var(--brass);}
.roster-empty{
  grid-column:1 / -1; padding:40px 28px; text-align:center; color:var(--paper-dim);
  font-family:'Oswald',sans-serif; font-size:.85rem; letter-spacing:.05em;
  background:var(--charcoal);
}

/* ---------- PRECIOS ADICIONALES ---------- */
.price-list{display:grid; gap:1px; background:var(--brick-line); border:1px solid var(--brick-line);}
.price-list li{
  background:var(--charcoal); padding:18px 24px;
  display:flex; justify-content:space-between; align-items:center; gap:20px;
}
.price-list li b{
  font-family:'Oswald',sans-serif; font-size:.92rem; font-weight:600; color:var(--paper);
}
.price-list li span{
  font-family:'JetBrains Mono',monospace; font-size:.95rem; color:var(--brass);
}
.price-empty{
  justify-content:center; color:var(--paper-dim); font-family:'Oswald',sans-serif;
  font-size:.85rem; letter-spacing:.05em;
}

/* ---------- COMUNICADOS ---------- */
.bulletin-list{display:grid; gap:1px; background:var(--brick-line); border:1px solid var(--brick-line);}
.bulletin{
  background:var(--charcoal); padding:26px 28px;
  display:grid; grid-template-columns:120px 1fr; gap:24px;
  align-items:start;
}
.bulletin-date{
  font-family:'JetBrains Mono',monospace; color:var(--brass);
  border-right:1px solid var(--brick-line); padding-right:20px;
  display:flex; flex-direction:row; align-items:baseline; gap:8px; flex-wrap:wrap;
}
.bulletin-date .b-date{font-size:.75rem;}
.bulletin-date .b-time{font-size:.68rem; color:var(--paper-dim);}
.bulletin-body h3{
  font-family:'Oswald',sans-serif; font-size:1rem; font-weight:600; letter-spacing:.02em;
  text-transform:none; color:var(--paper); margin-bottom:8px;
}
.bulletin-body p{color:var(--paper-dim); font-size:.92rem;}
.bulletin-body mark{
  background:none; color:var(--brass); font-weight:600;
}
.bulletin-image{
  margin-top:18px; border:1px solid var(--brick-line); background:var(--brick);
  aspect-ratio:3/2; width:100%; max-width:520px; display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
.bulletin-image img{width:100%; height:100%; object-fit:contain;}
.bulletin-empty{
  padding:40px 28px; text-align:center; color:var(--paper-dim);
  font-family:'Oswald',sans-serif; font-size:.85rem; letter-spacing:.05em;
  background:var(--charcoal);
}

/* ---------- PLANES ---------- */
.plans-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
.plan-card{
  border:1px solid var(--brick-line);
  background:linear-gradient(180deg, var(--brick), var(--charcoal-2));
  position:relative;
  padding:38px 34px 32px;
  display:flex; flex-direction:column;
}
.plan-card.pro{border-color:var(--ember-deep); box-shadow:0 0 0 1px var(--ember-deep) inset;}
.plan-tag{
  position:absolute; top:0; right:0;
  font-family:'JetBrains Mono',monospace; font-size:.62rem; letter-spacing:.08em;
  background:var(--ember); color:#fff; padding:6px 12px;
}
.plan-card h3{font-size:1.9rem; color:var(--paper);}
.plan-card .plan-type{
  font-family:'Oswald',sans-serif; font-size:.72rem; letter-spacing:.24em;
  text-transform:uppercase; color:var(--brass); margin-bottom:6px;
}
.plan-price{
  margin:26px 0; padding:20px 0; border-top:1px solid var(--brick-line); border-bottom:1px solid var(--brick-line);
}
.plan-price b{
  font-family:'JetBrains Mono', monospace; font-size:2.1rem; color:var(--brass);
}
.plan-price span{
  display:block; font-family:'Oswald',sans-serif; font-size:.68rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--paper-dim); margin-top:4px;
}
.plan-features{margin-bottom:32px; flex:1;}
.plan-features li{
  display:flex; align-items:baseline; gap:12px; padding:10px 0;
  border-bottom:1px dashed var(--brick-line); font-size:.95rem; color:var(--paper);
}
.plan-features li:last-child{border-bottom:none;}
.plan-features li em{
  font-style:normal; font-family:'JetBrains Mono',monospace; color:var(--ember-bright);
  font-weight:700; min-width:1.6em;
}
.plan-sign{
  display:flex; justify-content:space-between; gap:20px;
  padding-top:20px; border-top:1px solid var(--brick-line);
}
.plan-sign div{font-family:'Oswald',sans-serif;}
.plan-sign b{display:block; font-size:.82rem; color:var(--paper); font-weight:600;}
.plan-sign span{display:block; font-size:.66rem; letter-spacing:.06em; color:var(--paper-dim); text-transform:uppercase; margin-top:2px;}

/* ---------- POSTULACIÓN: selector de tipo ---------- */
.role-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-bottom:50px;}
.role-card{
  border:1px solid var(--brick-line); background:var(--brick);
  padding:36px; display:flex; flex-direction:column;
  transition:border-color .2s ease, transform .2s ease;
}
.role-card:hover{border-color:var(--brass); transform:translateY(-3px);}
.role-card .role-eyebrow{
  font-family:'JetBrains Mono',monospace; font-size:.65rem; letter-spacing:.1em;
  color:var(--brass); margin-bottom:10px;
}
.role-card h3{font-size:1.7rem; color:var(--paper); margin-bottom:14px;}
.role-card p{color:var(--paper-dim); font-size:.92rem; margin-bottom:24px; flex:1;}

/* ---------- POSTULACIÓN: requisitos ---------- */
.req-columns{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--brick-line); border:1px solid var(--brick-line);}
.req-block{background:var(--charcoal); padding:32px;}
.req-block h3{
  font-family:'Oswald',sans-serif; font-size:.78rem; font-weight:700; letter-spacing:.2em;
  text-transform:uppercase; color:var(--brass); margin-bottom:20px;
}
.req-block ul{display:flex; flex-direction:column; gap:14px;}
.req-block li{
  display:flex; gap:12px; font-size:.92rem; color:var(--paper); line-height:1.5;
}
.req-block li::before{content:"—"; color:var(--ember-bright); flex:none;}

.req-note{
  margin-top:34px; padding:20px 24px; border-left:2px solid var(--brass);
  background:var(--charcoal-2); font-size:.9rem; color:var(--paper-dim);
}

.send-panel{
  margin-top:40px; border:1px solid var(--ember-deep); background:rgba(194,42,42,.06);
  padding:28px 30px;
}
.send-panel h3{
  font-family:'Oswald',sans-serif; font-size:.75rem; font-weight:700; letter-spacing:.18em;
  text-transform:uppercase; color:var(--paper); margin-bottom:10px;
}
.send-panel p{color:var(--paper-dim); font-size:.9rem; margin-bottom:16px;}
.send-panel code{
  display:block; font-family:'JetBrains Mono',monospace; font-size:.82rem;
  color:var(--brass); background:var(--charcoal); padding:12px 16px; border:1px solid var(--brick-line);
  word-break:break-word; margin-bottom:16px;
}

/* ---------- FOOTER ---------- */
footer{
  padding:56px 0 32px;
  background:#0a0706;
  border-top:2px solid var(--ember-deep);
  box-shadow: inset 0 1px 0 rgba(201,153,79,.15);
}
.footer-top{
  display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:48px;
  padding-bottom:44px; border-bottom:1px solid var(--brick-line);
}
.footer-brand{display:flex; gap:14px; align-items:flex-start;}
.footer-brand svg{width:44px; height:44px; flex:none;}
.footer-crest{width:44px; height:44px; flex:none; object-fit:contain;}
.footer-brand p{color:var(--paper-dim); font-size:.88rem; margin-top:10px; max-width:32ch;}
.footer-col h4{
  font-family:'Oswald',sans-serif; font-size:.72rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--brass); margin-bottom:16px;
}
.footer-col a{
  display:block; color:var(--paper-dim); font-size:.9rem; padding:6px 0;
  transition:color .2s ease;
}
.footer-col a:hover{color:var(--paper);}

.discord-btn{
  display:flex; align-items:center; gap:16px;
  border:1px solid var(--brick-line); padding:20px 24px; margin-bottom:14px;
  transition:border-color .2s ease, background .2s ease;
}
.discord-btn svg{width:26px; height:20px; flex:none;}
.discord-btn .dtxt b{display:block; font-size:.82rem; font-weight:600; color:var(--paper);}
.discord-btn .dtxt span{display:block; font-size:.68rem; color:var(--paper-dim);}
.discord-btn:hover{border-color:var(--ember); background:rgba(194,42,42,.08);}
.discord-btn.disabled{opacity:.5; pointer-events:none;}

.footer-bottom{
  display:flex; justify-content:space-between; align-items:center;
  padding-top:28px; flex-wrap:wrap; gap:12px;
  font-family:'JetBrains Mono',monospace; font-size:.72rem; color:var(--paper-dim);
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  nav.links{display:none;}
  .hero-inner{grid-template-columns:1fr;}
  .info-grid{grid-template-columns:1fr;}
  .plans-grid{grid-template-columns:1fr;}
  .role-grid{grid-template-columns:1fr;}
  .req-columns{grid-template-columns:1fr;}
  .station-panel{grid-template-columns:1fr;}
  .fleet-grid{grid-template-columns:1fr 1fr;}
  .roster-grid{grid-template-columns:1fr 1fr;}
  .bulletin{grid-template-columns:1fr; gap:10px;}
  .bulletin-date{border-right:none; padding-right:0;}
  .footer-top{grid-template-columns:1fr; gap:36px;}
}
