:root{
  --bg:#0f1216;
  --panel:#181b20;
  --surface:#14171c;
  --text:#e6e7ea;
  --muted:#9aa0a6;
  --accent:#d14b4b;
  --radius:12px;
  --shadow:0 8px 24px rgba(0,0,0,0.35);
}
*{box-sizing:border-box;}
html,body{height:100%;}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
.container{width:min(1180px,92%); margin:0 auto;}
header{padding:14px 0;}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--text);}
/* Constrain logo size so it doesn't become abnormally large */
.brand img{height:40px; width:auto; max-width:260px; display:block;}
.nav{display:flex;align-items:center;gap:18px;}
.nav a{color:var(--text); text-decoration:none; padding:8px 12px; border-radius:8px; font-weight:500;}
.nav a:hover{background:var(--surface);}
.nav-toggle{display:none;}
@media(max-width:880px){.nav{display:none}.nav-toggle{display:block}}

/* Hero slider */
.hero-slider{position:relative; height:62vh; border-radius:14px; overflow:hidden; margin-bottom:24px;}
.slide{position:absolute; inset:0; opacity:0; transition:opacity 1s ease-in-out;}
.slide.active{opacity:1;}
.slide img{width:100%; height:100%; object-fit:cover; display:block; filter:brightness(0.78) saturate(0.95);}

/* Overlay */
.hero-overlay{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:6; color:var(--panel); background:linear-gradient(180deg, rgba(0,0,0,0.28), rgba(0,0,0,0.14)); padding:22px; border-radius:12px; text-align:center; max-width:980px;}
.hero-overlay h1{font-size:clamp(26px,3.6vw,44px); margin:0 0 10px; color:#fff;}
.hero-overlay p{color:#f5f5f5; margin:0 0 14px; max-width:760px;}

/* Slider controls */
.slider-controls{position:absolute; left:0; right:0; bottom:18px; display:flex; justify-content:center; gap:8px; z-index:7;}
.dot{width:10px;height:10px;border-radius:999px;background:rgba(255,255,255,0.45); cursor:pointer; border:1px solid rgba(255,255,255,0.12);}
.dot.active{background:var(--accent); box-shadow:0 2px 8px rgba(204,0,0,0.18);}
.slide-arrow{position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,0.9); border:1px solid rgba(16,24,32,0.06); color:var(--text); width:44px; height:44px; border-radius:8px; display:grid; place-items:center; cursor:pointer; z-index:7;}
.slide-arrow.left{left:16px;} .slide-arrow.right{right:16px;}
.slide-arrow:hover{background:var(--surface)}

/* Sections and cards */
/* Default: single column for narrow screens */
section{padding:42px 0;}
.cards{display:grid; grid-template-columns:1fr; gap:18px;}
.card{background:var(--panel); padding:20px; border-radius:var(--radius); box-shadow:var(--shadow); min-height:230px; display:flex; flex-direction:column;}
.card img{width:100%; height:200px; object-fit:cover; border-radius:var(--radius) var(--radius) 0 0; margin:0; display:block;}
.card h3{margin:0 0 8px; font-size:18px;}
.card p{color:var(--muted); margin:0; flex:1;}
.cta{display:inline-block; padding:10px 16px; border-radius:10px; background:var(--accent); color:white; text-decoration:none; font-weight:700; box-shadow:0 6px 18px rgba(204,0,0,0.12);}

/* Enforce three columns on larger viewports */
@media(min-width:900px){
  .cards{grid-template-columns:repeat(3, 1fr);}
  .hero-slider{height:58vh;}
  .brand img{height:44px;} /* slightly larger on desktop */
}

/* Footer */
.footer{background:var(--surface); padding:36px 0; border-top:1px solid #e7eaec;}
.footer .footer-grid{display:grid; grid-template-columns:1fr 260px; gap:18px; align-items:start;}
.footer .footer-brand{display:flex; gap:12px; align-items:center;}
.footer-contact{list-style:none; padding:0; margin:0;}
.footer-contact li{color:var(--muted); margin-bottom:8px;}
.legal{margin-top:18px; font-size:13px; color:var(--muted);}

/* Small screens adjustments */
@media(max-width:880px){
  .footer .footer-grid{grid-template-columns:1fr}
  .hero-overlay{padding:16px}
  .hero-overlay h1{font-size:22px}
  .card img{width:100%; height:200px; object-fit:cover; border-radius:var(--radius) var(--radius) 0 0; margin:0; display:block;}
}

/* Dark mode adjustments */
body{background:var(--bg); color:var(--text);}
.card, .panel, .section, header, footer{background:transparent}
.header, .nav{background:transparent}
a{color:var(--text); text-decoration:none;}
a:hover{opacity:.85; text-decoration:none;}
button, .btn{border-color:#343a40; background:#1e2228; color:var(--text)}
.btn:hover{background:#242a31}
hr{border-color:#2a2f36}
.muted, .subtle, .legal, .footer-contact li{color:var(--muted)}

.hero-overlay{background:linear-gradient(180deg, rgba(10,12,16,.20), rgba(10,12,16,.65)); border-radius:var(--radius);}
.hero .slide img, .card img{filter:grayscale(.25) brightness(.9) contrast(1.05);}
.brand img{filter:grayscale(1) brightness(.95)}
.footer{background:var(--surface); border-top:1px solid #20242b}
.header{border-bottom:1px solid #20242b}

.section-title{color:var(--text)}
.card{background:var(--panel); border:1px solid #1f242b; box-shadow:var(--shadow)}
.card h3{color:var(--text)}

input, textarea{background:#1a1e24; color:var(--text); border:1px solid #2a3038}
input::placeholder, textarea::placeholder{color:#7e848b}

.nav a{color:var(--text); text-underline-offset: 2px;}
.nav a:hover{opacity:.85}

.badge, .pill{background:#232832; color:#d2d5db; border:1px solid #2a3038}
/* End dark adjustments */
