
:root{
  --bg:#0b0b0b;
  --panel:#121212;
  --panel-2:#191919;
  --text:#f7f7f7;
  --muted:#c9c9c9;
  --gold:#f5d88c;
  --gold-2:#d4b55c;
  --accent:#8f7b3b;
  --border:rgba(255,255,255,.08);
  --shadow:0 10px 25px rgba(0,0,0,.45);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font:400 16px/1.7 "Roboto", system-ui, -apple-system, Segoe UI, Arial, sans-serif;
}
h1,h2,h3,.display{
  font-family:"Playfair Display", Georgia, serif;
  color:var(--gold);
  letter-spacing:.2px;
}
a{color:inherit;text-decoration:none}
.container{width:min(1180px,92%);margin-inline:auto}

header{
  position:sticky;top:0;z-index:50;
  background:rgba(0,0,0,.72);backdrop-filter:blur(6px);
  border-bottom:1px solid var(--border);
}
nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0}
.logo{display:flex;align-items:center;gap:10px}
.logo-mark{width:30px;height:30px;border-radius:8px;box-shadow:var(--shadow)}
.logo h3{margin:0;font-size:1.05rem;color:var(--gold);padding-left: 18px;}
.menu{display:flex;gap:18px;align-items:center}
.menu a{opacity:.9;padding:10px 8px;border-radius:8px}
.menu a:hover{opacity:1;background:rgba(255,255,255,.04)}
.btn{
  display:inline-block;background:var(--gold);color:#000;
  padding:10px 18px;border-radius:999px;font-weight:700;letter-spacing:.2px;transition:.2s ease;
}
.btn:hover{background:var(--gold-2);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--gold);border:1px solid var(--gold)}
.btn.ghost:hover{background:rgba(245,216,140,.08)}

/* Mobile nav */
.nav-toggle{display:none; background:transparent;border:1px solid var(--border); color:#fff; padding:8px 10px; border-radius:10px}
@media (max-width: 860px){
  .menu{display:none; position:absolute; left:0; right:0; top:60px; background:#0e0e0e; border-bottom:1px solid var(--border); padding:12px 16px; flex-direction:column; gap:6px}
  .menu.show{display:flex}
  .nav-toggle{display:inline-flex; align-items:center; gap:8px}
}

/* HERO with image under radial overlay - reliable on mobile (no fixed backgrounds) */
.hero{
  position:relative; overflow:hidden;
  min-height:75vh; display:grid; place-items:center; text-align:center;
  background-image: url('../img/SevilHeader.png');
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
/* gradient overlay ABOVE the image */
.hero::after{
  content:""; position:absolute; inset:0;
  background: radial-gradient(80% 60% at 50% 30%, rgba(26,26,26,.60) 0%, rgba(13,13,13,.65) 60%, rgba(0,0,0,1) 100%);
  pointer-events:none;
}
.hero .inner{position:relative; z-index:1; padding:64px 0}
.hero h1{font-size:clamp(32px,6.2vw,62px); margin:.2em 0 .4em}
.hero p{color:var(--muted); max-width:760px; margin:0 auto 18px; font-size:clamp(15px,2.8vw,18px)}

/* Sections */
section{padding:56px 0}
.section-title{text-align:center;margin-bottom:28px}
.grid{display:grid;gap:18px;grid-template-columns:repeat(1,1fr)}
@media (min-width:560px){ .grid{grid-template-columns:repeat(2,1fr)} }
@media (min-width:920px){ .grid{grid-template-columns:repeat(3,1fr)} }

.card{
  background:linear-gradient(180deg,var(--panel) 0%,var(--panel-2)100%);
  border:1px solid var(--border);
  border-radius:14px; overflow:hidden; box-shadow:var(--shadow);
  transition:transform .25s ease, box-shadow .25s ease;
}
.card:hover{transform:translateY(-6px); box-shadow:0 20px 45px rgba(0,0,0,.55)}
.card .img{height:200px;background:#111;display:grid;place-items:center}
.card .img img{width:100%;height:100%;object-fit:cover}
.card .content{padding:16px 16px 20px}

/* Split layout that collapses cleanly */
.split{display:grid;gap:18px;grid-template-columns:1fr}
@media (min-width:920px){ .split{grid-template-columns:1.1fr .9fr} }

.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.kpi{background:#0f0f0f;border:1px solid var(--border);border-radius:12px;padding:12px;text-align:center}
.kpi strong{color:var(--gold); display:block; font-size:1.2rem}
@media (max-width:520px){ .kpis{grid-template-columns:repeat(2,1fr)} }

.testimonials{background: radial-gradient(70% 70% at 20% 20%, #1a1a1a 0%, #0e0e0e 60%, #000 100%); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:66px 0}
.quote{max-width:860px;margin:0 auto;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:22px 20px;font-style:italic}

footer{background:#000;border-top:1px solid var(--border);padding:28px 0;color:#bdbdbd;text-align:center}

/* Forms */
.form{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:720px){ .form{grid-template-columns:repeat(2,1fr)} }
.form .full{grid-column:1/-1}
label{display:block;margin:0 0 6px 4px;color:var(--muted);font-size:.95rem}
input,select,textarea{
  width:100%;padding:12px 14px;border-radius:10px;background:#0f0f0f;border:1px solid rgba(255,255,255,.12); color:var(--text)
}
textarea{min-height:140px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);border-color:var(--accent)}
.form-actions{margin-top:4px; display:flex; align-items:center; gap:10px; flex-wrap:wrap}

/* Touch-friendly spacing */
button, .btn, input, select, textarea { min-height:44px }
a, button { -webkit-tap-highlight-color: transparent }
