/* Johills Travel Agency — modern aesthetic styles */
:root{
  --bg:#0e0d0b;
  --panel:#14110f;
  --muted:#b7b4ae;
  --text:#f6f4ef;
  --brand:#8a5a35; /* safari brown */
  --accent:#f59e0b; /* warm amber/orange */
  --card:#1b1815;
  --border:rgba(255,255,255,0.08);
  --shadow:0 10px 30px rgba(0,0,0,.35);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:radial-gradient(1200px 600px at 80% -20%,rgba(245,158,11,.12),transparent) , var(--bg);color:var(--text);font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;scroll-behavior:smooth}
h1,h2,h3,h4{font-family:Inter,system-ui,sans-serif;margin:0 0 .6rem}
h1{font-size:clamp(2.2rem,2.5vw+1rem,3.4rem);line-height:1.1}
h2{font-size:clamp(1.6rem,1.2vw+1rem,2.2rem)}
h3{font-size:1.3rem}
p{color:var(--muted);line-height:1.7}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.container{width:min(1120px,92%);margin-inline:auto}

.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--border);backdrop-filter:blur(10px)}
.site-header.glass{background:linear-gradient(180deg,rgba(20,17,15,.75),rgba(20,17,15,.35))}
.nav{display:flex;align-items:center;gap:1rem;justify-content:space-between;padding:.8rem 0}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:800;letter-spacing:.5px}
.brand img{width:42px;height:auto;filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}
.nav-links{display:flex;align-items:center;gap:1.2rem}
.nav-links a{opacity:.9}
.nav-links .btn{margin-left:.6rem}
.nav-links a.active {
  background: linear-gradient(180deg, var(--accent, #f59e0b), #e28700);
  color: #1a130d !important;
  font-weight: 600;
  border-radius: 12px;
  padding: 0.45rem 0.85rem;
  transition: background 0.3s, color 0.3s;
}

.hamburger{display:none;background:none;border:0;cursor:pointer}
.hamburger span{display:block;width:24px;height:2px;background:var(--text);margin:5px 0;transition:.2s}

.btn{display:inline-block;background:linear-gradient(180deg,var(--accent),#e08500);color:#18140e;padding:.8rem 1.1rem;border-radius:14px;border:1px solid rgba(0,0,0,.15);box-shadow:var(--shadow);font-weight:700;transition:transform .1s ease}
.btn:hover{transform:translateY(-2px)}
.btn--outline{background:transparent;color:var(--text);border:1px solid var(--border)}
.btn--ghost{background:transparent;color:var(--text);border:1px dashed var(--border)}
.btn--sm{padding:.5rem .8rem;border-radius:10px;font-weight:600}

.hero{padding:clamp(4rem,7vw,7rem) 0;background:
  radial-gradient(500px 220px at 20% -10%, rgba(138,90,53,.35), transparent),
  radial-gradient(500px 220px at 90% 10%, rgba(245,158,11,.15), transparent)}
.hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.hero__copy .highlight{background:linear-gradient(90deg,var(--text),#ffe2b3);-webkit-background-clip:text;background-clip:text;color:transparent}
.cta-row{display:flex;gap:1rem;margin:1.2rem 0 1.1rem}
.badges{display:flex;gap:.8rem;flex-wrap:wrap}
.badges span{border:1px solid var(--border);padding:.4rem .7rem;border-radius:999px;color:#e9e4db;font-size:.9rem;background:rgba(255,255,255,.03)}

.hero__art{position:relative;aspect-ratio:1/1.1;border-radius:24px;background:linear-gradient(160deg,#1f1a16 0%,#0f0d0b 60%);box-shadow:var(--shadow);overflow:hidden;border:1px solid var(--border)}
.orb{position:absolute;border-radius:50%;filter:blur(30px);opacity:.75}
.orb--1{width:240px;height:240px;left:-40px;top:-40px;background:radial-gradient(circle at 30% 30%,rgba(245,158,11,.8),transparent)}
.orb--2{width:320px;height:320px;right:-80px;bottom:-40px;background:radial-gradient(circle at 70% 70%,rgba(138,90,53,.8),transparent)}
.orb--3{width:160px;height:160px;right:120px;top:20px;background:radial-gradient(circle,rgba(255,200,140,.6),transparent)}

.section{padding:clamp(3rem,5vw,5rem) 0}
.section--alt{background:linear-gradient(180deg,#14110f,#110e0c)}
.section__head{margin-bottom:1.6rem}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.card{background:var(--card);padding:1.3rem;border-radius:18px;border:1px solid var(--border);box-shadow:var(--shadow);position:relative}
.card__tag{position:absolute;right:12px;top:12px;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.35);color:#ffd9a3;padding:.25rem .5rem;border-radius:999px;font-size:.75rem}
.tag--dark{background:rgba(138,90,53,.18);border-color:rgba(138,90,53,.55)}
.list{color:#d9d6d1;line-height:1.8;padding-left:1rem}
.card .price{margin:.8rem 0 1rem;color:#ddd}
.card__actions{display:flex;gap:.6rem;flex-wrap:wrap}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.feature{background:var(--card);padding:1.2rem;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}
.feature__icon{font-size:1.5rem;margin-bottom:.4rem}

.steps{counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding-left:0}
.steps li{list-style:none;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1rem 1rem 1rem 3.2rem;position:relative;min-height:72px}
.steps li::before{counter-increment:step;content:counter(step);position:absolute;left:12px;top:12px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,var(--accent),#e08500);color:#1c130c;font-weight:800}

.masonry{columns:4 260px;column-gap:12px}
.tile{break-inside:avoid;margin:0 0 12px;height:180px;border-radius:14px;background:
  linear-gradient(180deg,rgba(245,158,11,.08),transparent),
  url('data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\' width=\'600\' height=\'400\'><defs><linearGradient id=\'g\' x1=\'0\' y1=\'0\' x2=\'1\' y2=\'1\'><stop offset=\'0\' stop-color=\'%238a5a35\'/><stop offset=\'1\' stop-color=\'%230e0d0b\'/></linearGradient></defs><rect width=\'100%\' height=\'100%\' fill=\'url(%23g)\'/></svg>') center/cover no-repeat;border:1px solid var(--border)}
.tile.tall{height:360px}
.tile.wide{height:240px}

.contact__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.2rem;align-items:start}
.contact .info-card,.map-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1rem;box-shadow:var(--shadow)}
.info-logo{width:70px;margin-bottom:.4rem;opacity:.95}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}
label{display:grid;gap:.35rem;font-size:.95rem}
input,select,textarea{background:#0f0d0b;border:1px solid var(--border);border-radius:12px;color:var(--text);padding:.75rem;outline:none}
input:focus,select:focus,textarea:focus{border-color:#6f4b2b;box-shadow:0 0 0 3px rgba(245,158,11,.15)}
.form-note{color:#9d978d;font-size:.85rem;margin-top:.6rem}
.map-wrap{aspect-ratio:16/10;border-radius:12px;overflow:hidden;border:1px solid var(--border)}

.site-footer{border-top:1px solid var(--border);padding:2rem 0;background:#0f0d0b}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem;align-items:start}
.footer-logo{width:90px;opacity:.9;margin-bottom:.4rem}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links a{color:#ddd;opacity:.9}
.muted{color:var(--muted)}

.modal{border:0;border-radius:16px;padding:0;background:transparent;color:var(--text)}
.modal::backdrop{background:rgba(0,0,0,.55);backdrop-filter:blur(2px)}
.modal article{background:var(--card);border:1px solid var(--border);padding:1.2rem 1.2rem;border-radius:16px;box-shadow:var(--shadow);min-width:min(560px,92vw)}

@media (max-width: 920px){
  .hero__grid{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .contact__grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .nav-links{position:fixed;inset:64px 0 auto 0;background:#120f0d;padding:1rem 1.2rem;border-bottom:1px solid var(--border);display:none}
  .nav-links.open{display:flex;flex-direction:column;gap:.8rem}
  .hamburger{display:block}
}
