:root {
  --bg:#080604;
  --panel:#15100c;
  --panel-2:#21160f;
  --text:#f3e7d6;
  --muted:#bca88f;
  --line:rgba(232,120,42,.22);
  --orange:#e8782a;
  --orange-bright:#ff9b3f;
  --rust:#8f3518;
  --sand:#d8b27a;
  --shadow:0 25px 70px rgba(0,0,0,.48);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 80% 5%,rgba(232,120,42,.09),transparent 35%),var(--bg);color:var(--text);font-family:Inter,sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
img{max-width:100%}
.site-header{position:fixed;z-index:50;inset:0 0 auto;min-height:78px;padding:0 5vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:rgba(8,6,4,.88);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;gap:12px;font-family:"Barlow Condensed";font-size:24px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.brand img{width:55px;height:55px;object-fit:contain}
nav{display:flex;gap:28px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
nav a:hover{color:var(--orange-bright)}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:0 24px;border:1px solid var(--orange);background:linear-gradient(135deg,var(--orange-bright),var(--orange));color:#1a0c03;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:.2s}
.button:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(232,120,42,.24)}
.button.ghost{background:rgba(0,0,0,.2);color:var(--text);border-color:rgba(255,255,255,.27)}
.button.compact{justify-self:end;min-height:42px;padding:0 17px}
.nav-toggle{display:none}
.hero{position:relative;isolation:isolate;min-height:820px;padding:160px 7vw 80px;display:grid;grid-template-columns:1.25fr .55fr;gap:6vw;align-items:end;background:#080604;overflow:hidden}
.hero-video{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}

.hero-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(5,3,2,.97),rgba(5,3,2,.67) 55%,rgba(5,3,2,.45)),linear-gradient(0deg,var(--bg),transparent 35%)}
.hero-content{max-width:800px}
.eyebrow{margin:0 0 15px;color:var(--orange-bright);font-size:11px;font-weight:900;letter-spacing:.24em;text-transform:uppercase}
h1,h2,h3{font-family:"Barlow Condensed";text-transform:uppercase;line-height:.92;margin:0}
h1{font-size:clamp(66px,8vw,126px);letter-spacing:-.035em}
h2{font-size:clamp(45px,5.5vw,76px)}
h3{font-size:29px}
.hero-content>p:not(.eyebrow){max-width:650px;color:#d4c3ad;font-size:18px}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:31px}
.status-card{padding:27px;background:rgba(17,10,6,.88);border:1px solid rgba(232,120,42,.38);box-shadow:var(--shadow);backdrop-filter:blur(15px)}
.status-heading{display:flex;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.1em}
.status-heading div{display:flex;align-items:center;gap:10px}
.status-dot{width:9px;height:9px;border-radius:50%;background:#777}
.status-dot.online{background:#9cdf4a;box-shadow:0 0 14px #9cdf4a}
.status-grid{display:grid;grid-template-columns:1fr 1fr}
.status-grid div{padding:18px 0;border-bottom:1px solid var(--line)}
.status-grid div:nth-child(odd){border-right:1px solid var(--line)}
.status-grid div:nth-child(even){padding-left:18px}
.status-grid small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.status-grid strong{font-family:"Barlow Condensed";font-size:23px;text-transform:uppercase}
.server-address{width:100%;margin-top:20px;padding:14px;border:1px solid var(--line);background:#0b0705;color:var(--text);text-align:left;cursor:pointer}
.server-address span{display:block;color:var(--muted);font-size:9px;letter-spacing:.14em}
.server-address code{color:var(--orange-bright)}
.section{width:min(1200px,89vw);margin:auto;padding:105px 0}
.intro{display:grid;grid-template-columns:.65fr 1.25fr 1fr;gap:5vw;align-items:end}
.intro>p:last-child,.muted{color:var(--muted)}
.section-heading{margin-bottom:45px}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.feature-grid article{min-height:245px;padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.018)}
.feature-grid article:hover{background:var(--panel);transform:translateY(-3px)}
.feature-grid span{color:var(--orange);font-family:"Barlow Condensed";font-weight:800}
.feature-grid h3{margin:50px 0 10px}
.feature-grid p,.card-grid p{color:var(--muted)}
.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.content-card{padding:28px;border:1px solid var(--line);background:linear-gradient(145deg,var(--panel),#0d0906)}
.content-card time,.card-type{color:var(--orange-bright);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.content-card h3{margin:14px 0}
.card-meta{display:flex;gap:18px;margin-top:20px;color:var(--sand);font-size:11px;text-transform:uppercase}
.split{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}
.rule-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line);counter-reset:rules}
.rule-list li{counter-increment:rules;padding:22px 0 22px 64px;border-bottom:1px solid var(--line);position:relative}
.rule-list li:before{content:counter(rules,decimal-leading-zero);position:absolute;left:0;color:var(--orange);font-family:"Barlow Condensed";font-size:21px}
.rule-list strong{font-family:"Barlow Condensed";font-size:25px;text-transform:uppercase}
.rule-list p{margin:4px 0 0;color:var(--muted)}
.gallery-grid{display:grid;grid-template-columns:2fr 1fr;gap:17px}
.gallery-grid figure{margin:0;min-height:320px;border:1px solid var(--line);background:var(--panel);overflow:hidden}
.gallery-grid img,.gallery-grid video{width:100%;height:100%;object-fit:cover;display:block}
.contact-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}
form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:grid;gap:7px;color:var(--sand);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
label:nth-of-type(3),label:nth-of-type(4){grid-column:1/-1}
input,textarea{width:100%;padding:13px 14px;border:1px solid var(--line);background:#0d0906;color:var(--text);outline:none}
input:focus,textarea:focus{border-color:var(--orange)}
form .button,#form-status{grid-column:1/-1}
.honeypot{position:absolute;left:-9999px}
footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:30px 5vw;border-top:1px solid var(--line);color:var(--muted);font-size:11px}
footer img{width:75px}
footer a{justify-self:end;color:var(--orange)}
.toast{position:fixed;right:22px;bottom:22px;padding:13px 17px;background:var(--orange);color:#160a02;font-weight:800;transform:translateY(90px);opacity:0;transition:.25s}
.toast.show{transform:none;opacity:1}
.loading{color:var(--muted)}
@media(max-width:980px){
 .site-header{grid-template-columns:1fr auto}
 nav{display:none;position:fixed;top:78px;inset-inline:0;padding:28px 5vw;background:#0a0705;flex-direction:column}
 nav.open{display:flex}.nav-toggle{display:block;background:none;border:1px solid var(--line);color:var(--text);padding:9px 12px}.compact{display:none}
 .hero{grid-template-columns:1fr}.status-card{max-width:560px}.feature-grid{grid-template-columns:1fr 1fr}.intro{grid-template-columns:1fr}.split,.contact-section{grid-template-columns:1fr}
}
@media(max-width:650px){
 .hero{padding:130px 5vw 65px}.section{padding:75px 0}.feature-grid,.card-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}form{grid-template-columns:1fr}label{grid-column:1!important}footer{grid-template-columns:1fr;justify-items:center;gap:15px;text-align:center}footer a{justify-self:center}
}


/* =========================================================
   INTEGRATED RULES DIRECTORY
   Edit rule content in script.js under siteContent.ruleCategories.
   ========================================================= */

.rules-section {
  position: relative;
}

.rules-heading {
  align-items: end;
  gap: 40px;
}

.rules-heading > div {
  max-width: 680px;
}

.rules-heading > p {
  max-width: 520px;
  margin: 0;
}

.rules-layout {
  display: grid;
  grid-template-columns: minmax(250px, 0.34fr) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.rules-category-nav {
  display: grid;
  gap: 10px;
  position: sticky;
  top: 110px;
}

.rules-category-button {
  width: 100%;
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: 14px;
  padding: 16px;
  border: 1px solid var(--line);
  background: linear-gradient(145deg, var(--panel), #0d0906);
  color: var(--text);
  text-align: left;
  cursor: pointer;
  transition: border-color .2s ease, transform .2s ease, background .2s ease;
}

.rules-category-button:hover {
  border-color: rgba(210, 91, 20, .65);
  transform: translateX(3px);
}

.rules-category-button.active {
  border-color: var(--orange);
  background: linear-gradient(145deg, rgba(112, 43, 11, .48), #0d0906);
  box-shadow: inset 3px 0 0 var(--orange);
}

.rules-category-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--line);
  background: #0b0806;
  font-size: 20px;
}

.rules-category-button strong,
.rules-category-button small {
  display: block;
}

.rules-category-button strong {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 18px;
  line-height: 1.05;
  text-transform: uppercase;
}

.rules-category-button small {
  margin-top: 5px;
  color: var(--muted);
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.rules-content {
  min-width: 0;
  border: 1px solid var(--line);
  background:
    linear-gradient(145deg, rgba(28, 17, 10, .94), rgba(10, 7, 5, .98));
}

.rules-panel-header {
  display: grid;
  grid-template-columns: 74px 1fr;
  gap: 20px;
  align-items: center;
  padding: 28px;
  border-bottom: 1px solid var(--line);
}

.rules-panel-icon {
  display: grid;
  place-items: center;
  width: 74px;
  height: 74px;
  border: 1px solid var(--line);
  background: #0b0806;
  font-size: 32px;
}

.rules-panel-header h3 {
  margin: 2px 0 7px;
  font-size: clamp(30px, 4vw, 48px);
}

.rules-panel-header p:last-child {
  margin: 0;
  color: var(--muted);
}

.rules-accordion {
  padding: 12px 28px 28px;
}

.rule-card {
  border-bottom: 1px solid var(--line);
}

.rule-card summary {
  display: grid;
  grid-template-columns: 58px 1fr 32px;
  gap: 14px;
  align-items: center;
  min-height: 78px;
  padding: 12px 0;
  cursor: pointer;
  list-style: none;
}

.rule-card summary::-webkit-details-marker {
  display: none;
}

.rule-number {
  color: var(--orange-bright);
  font-family: "Barlow Condensed", sans-serif;
  font-size: 25px;
  font-weight: 800;
  letter-spacing: .08em;
}

.rule-title {
  font-family: "Barlow Condensed", sans-serif;
  font-size: clamp(21px, 2.4vw, 28px);
  font-weight: 800;
  text-transform: uppercase;
}

.rule-toggle {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid var(--line);
  color: var(--orange);
  font-size: 21px;
  line-height: 1;
  transition: transform .2s ease, border-color .2s ease;
}

.rule-card[open] .rule-toggle {
  transform: rotate(45deg);
  border-color: var(--orange);
}

.rule-description {
  padding: 0 46px 22px 72px;
}

.rule-description p {
  max-width: 820px;
  margin: 0;
  color: var(--muted);
  line-height: 1.75;
}

@media(max-width: 980px) {
  .rules-heading {
    align-items: start;
  }

  .rules-layout {
    grid-template-columns: 1fr;
  }

  .rules-category-nav {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media(max-width: 650px) {
  .rules-category-nav {
    grid-template-columns: 1fr;
  }

  .rules-panel-header {
    grid-template-columns: 54px 1fr;
    padding: 21px;
  }

  .rules-panel-icon {
    width: 54px;
    height: 54px;
    font-size: 24px;
  }

  .rules-accordion {
    padding: 8px 20px 22px;
  }

  .rule-card summary {
    grid-template-columns: 44px 1fr 28px;
    gap: 9px;
  }

  .rule-number {
    font-size: 21px;
  }

  .rule-description {
    padding: 0 36px 20px 53px;
  }
}


/* MULTI-PAGE LAYOUT */
.page-hero {
  min-height: 460px;
  padding: 180px 7vw 80px;
  display: flex;
  flex-direction: column;
  justify-content: end;
  background:
    linear-gradient(90deg, rgba(5,3,2,.97), rgba(5,3,2,.62)),
    url("assets/lonedayz-logo.png") center right 8vw / min(360px, 35vw) no-repeat,
    var(--panel);
  border-bottom: 1px solid var(--line);
}
.page-hero h1 { font-size: clamp(58px, 8vw, 108px); }
.page-hero > p:last-child { max-width: 650px; color: var(--muted); font-size: 18px; }
.category-page-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.category-link { min-height: 220px; transition: transform .2s ease, border-color .2s ease; }
.category-link:hover { transform: translateY(-4px); border-color: var(--orange); }
.category-link > span { color: var(--orange-bright); font-family: "Barlow Condensed"; font-weight: 800; }
.category-link h3 { margin: 45px 0 12px; }
.category-link p { color: var(--muted); }
.donation-content { max-width: 100%; }
.donation-information { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; line-height: 1.75; color: inherit; }
.gallery-page-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gallery-page-grid figure { min-height: 420px; }
@media(max-width:980px){ .category-page-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:650px){ .page-hero{min-height:390px;padding:145px 5vw 60px;background-size:240px}.category-page-grid,.gallery-page-grid{grid-template-columns:1fr}.gallery-page-grid figure{min-height:280px} }
