
:root{
  --bg:#ffffff; --panel:#f9fafb; --text:#0f172a; --muted:#64748b; --line:#e5e7eb; --brand:#111827;
  --radius:12px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
img{max-width:100%;display:block}
a{color:var(--text);text-decoration:none}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.9);backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line)}
.nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:74px;gap:18px}
.brand{font-weight:800;letter-spacing:.02em}
.nav nav{justify-self:center;display:flex;gap:25px}
.nav nav a{color:var(--muted);font-weight:600}.nav nav a:hover{color:var(--text)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:10px;
  border:1px solid var(--line);background:#fff;color:var(--text);font-weight:800;text-transform:uppercase;letter-spacing:.02em}
.btn:hover{border-color:#111;color:#111}
.hero{position:relative;min-height:320px;display:flex;align-items:center;
  background:#0b1220 url('/images/hero.jpeg') center/cover no-repeat;color:#fff;border-bottom:1px solid var(--line)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.45),rgba(0,0,0,.45))}
.hero .inner{position:relative;z-index:1;padding:54px 0}
.hero h1{font-size:42px;line-height:1.05;margin:0 0 10px;letter-spacing:.01em}
.hero .lead{color:#e5e7eb;max-width:720px}
.section{padding:40px 0}
.carousel-wrap{position:relative}
.carousel{display:grid;grid-auto-flow:column;grid-auto-columns:80%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px;-webkit-overflow-scrolling:touch}
@media(min-width:800px){.carousel{grid-auto-columns:32%}}
.slide{scroll-snap-align:start;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.slide img{width:180%;height:370px;object-fit:cover}
.slide .body{padding:12px 14px}
.arrow{position:absolute;top:40%;transform:translateY(-50%);width:42px;height:42px;border-radius:999px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.arrow.left{left:-4px}.arrow.right{right:-4px}
.form{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
input,textarea{width:100%;background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px;color:var(--text)}
input:focus,textarea:focus{outline:none;border-color:#111}
footer{padding:28px 0;border-top:1px solid var(--line);color:var(--muted)}

/* Fix for service card image sizing */
.services .card img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  display: block;
}

.services .card {
  height: 400;
  min-height: 400px; /* optional */
}
