/* =========================================================
   TRAVANLLER – Landing Page Styles
   FINAL VERSION (Mobile = CONTAIN, no cropping)
   ========================================================= */

:root{
  --text: rgba(255,255,255,.94);
  --muted: rgba(255,255,255,.82);
  --shadow: rgba(0,0,0,.45);
}

*{ box-sizing:border-box; }

html, body{
  height:100%;
}

body{
  margin:0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color: var(--text);
  background:#000;
}

/* ===== HERO ===== */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  padding: clamp(28px, 5vw, 72px);
  overflow:hidden;
}

/* ===== MEDIA ===== */
.hero__media{
  position:absolute;
  inset:0;
  z-index:0;
  background:#000;
}

.hero__media picture{
  width:100%;
  height:100%;
  display:block;
}

.hero__media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:72% 70%;
}

/* ===== OVERLAY ===== */
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    radial-gradient(1200px 700px at 25% 45%, rgba(0,0,0,.55), rgba(0,0,0,0) 60%),
    linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.45) 35%, rgba(0,0,0,.22) 70%, rgba(0,0,0,.12) 100%);
}

/* ===== CONTENT ===== */
.hero__content{
  position:relative;
  z-index:2;
  max-width:980px;
}

.hero__title{
  margin:0 0 18px 0;
  font-weight:850;
  letter-spacing:-0.02em;
  line-height:0.95;
  font-size:clamp(44px, 7.4vw, 92px);
  text-shadow:0 12px 30px var(--shadow);
}

.dots{ opacity:.92; }

.hero__tagline{
  margin:0 0 14px 0;
  font-size:clamp(16px, 2.2vw, 24px);
  font-weight:520;
  color:var(--muted);
  text-shadow:0 10px 24px var(--shadow);
}

.hero__info{
  margin:0;
  font-size:clamp(14px, 1.7vw, 18px);
  line-height:1.6;
  color:rgba(255,255,255,.82);
  text-shadow:0 10px 24px var(--shadow);
}

.hero__email{
  color:#fff;
  font-weight:750;
  text-decoration:none;
  border-bottom:2px solid rgba(255,255,255,.55);
  padding-bottom:1px;
}

.hero__email:hover{
  border-bottom-color:rgba(255,255,255,.9);
}

.hero__noscript{
  display:block;
  margin-top:10px;
  font-size:13px;
  opacity:.7;
}

/* ===== MOBILE ===== */
@media (max-width: 640px){
  .hero{
    align-items:flex-end;
    padding:22px;
  }

  .hero__content{
    width:100%;
    max-width:560px;
    text-align:center;
    padding:16px 14px;
    border-radius:18px;
    background:rgba(0,0,0,.35);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }

  .hero::before{
    background:
      linear-gradient(180deg, rgba(0,0,0,.28) 0%, rgba(0,0,0,.28) 55%, rgba(0,0,0,.62) 100%);
  }
}

/* ===== iPHONE / SMALL PHONES ===== */
@media (max-width: 430px){
  .hero__media img{
    object-fit:contain;
    object-position:50% 62%;
  }
}

/* ===== FOOTER ===== */
.footer{
  position:fixed;
  bottom:14px;
  right:18px;
  z-index:10;
  font-size:12px;
  opacity:.65;
}

.footer a{
  color:#fff;
  text-decoration:none;
}

.footer a:hover{
  text-decoration:underline;
}

.footer span{
  margin:0 6px;
}

/* ===== LEGAL PAGES ===== */
body.legal{
  background:#000;
  color:#fff;
  padding:40px 20px;
}

body.legal h1{
  margin-top:0;
}

body.legal h2{
  margin-top:28px;
}
