/* TravelMaster Go — temporäre Website
   Dark-Premium-Stil, vollständig self-contained (keine externen Requests). */

:root{
  --ink:#07060F;
  --navy:#0A1736;
  --navy-2:#0B1020;
  --teal:#00FFB4;
  --violet:#7850FF;
  --sky:#3D7BF0;
  --amber:#F5A623;
  --paper:#EEF2FF;
  --muted:#99A2C4;
  --line:rgba(238,242,255,.10);
  --line-strong:rgba(238,242,255,.16);

  --serif:Georgia,"Iowan Old Style","Palatino Linotype",Palatino,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  --maxw:1100px;
  --doc:720px;
}

*{box-sizing:border-box;margin:0;padding:0}

html{-webkit-text-size-adjust:100%}

body{
  font-family:var(--sans);
  color:var(--paper);
  background:var(--ink);
  line-height:1.6;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
  position:relative;
  overflow-x:hidden;
}

/* Ambient background: near-black with deep-navy + brand glow */
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(1100px 700px at 50% -10%, rgba(61,123,240,.20), transparent 60%),
    radial-gradient(900px 600px at 82% 8%, rgba(120,80,255,.16), transparent 55%),
    radial-gradient(800px 600px at 14% 30%, rgba(0,255,180,.08), transparent 55%),
    linear-gradient(180deg,var(--navy-2) 0%, var(--ink) 55%);
}
/* faint star/grain texture is skipped on purpose: keeps it clean */

a{color:inherit}

/* ---------- shared chrome ---------- */
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}

.site-head{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:26px;
}
.brand{
  display:inline-flex;align-items:baseline;gap:.18em;
  font-family:var(--serif);
  font-size:1.32rem;letter-spacing:.01em;
  text-decoration:none;color:var(--paper);
}
.brand .b-go{
  font-style:italic;
  color:var(--amber);
  font-weight:700;
}
.brand:hover{opacity:.92}

.nav-back{
  font-family:var(--sans);font-size:.9rem;color:var(--muted);
  text-decoration:none;letter-spacing:.01em;
}
.nav-back:hover{color:var(--paper)}

/* ---------- footer ---------- */
.site-foot{
  margin-top:auto;
  padding-top:40px;padding-bottom:36px;
}
.foot-rule{
  display:flex;align-items:center;justify-content:center;gap:14px;
  margin-bottom:22px;opacity:.7;
}
.foot-rule svg{display:block}
.foot-links{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:8px 18px;
  font-size:.88rem;color:var(--muted);
}
.foot-links a{text-decoration:none;color:var(--muted)}
.foot-links a:hover{color:var(--teal)}
.foot-dot{opacity:.4}

/* ---------- home / hero ---------- */
.home{display:flex;flex-direction:column;min-height:100vh}
.hero{
  flex:1;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;
  padding-top:48px;padding-bottom:24px;
  position:relative;
}

/* signature: faint flight-path arc echoing the plane contrail */
.flightpath{
  position:absolute;
  top:-2%;left:50%;transform:translateX(-50%);
  width:min(760px,96vw);height:auto;
  z-index:-1;pointer-events:none;
  opacity:.5;
}

.hero-art{
  position:relative;
  width:min(460px,82vw);
  margin:0 auto 34px;
}
.hero-art::after{
  content:"";position:absolute;inset:-8% -8% -2%;
  z-index:-1;border-radius:50%;
  background:radial-gradient(closest-side, rgba(61,123,240,.45), rgba(120,80,255,.12) 60%, transparent 72%);
  filter:blur(8px);
}
.hero-art img{
  display:block;width:100%;height:auto;
  border-radius:22px;
  box-shadow:0 30px 80px -30px rgba(0,0,0,.85), 0 0 0 1px var(--line);
}

.eyebrow{
  font-family:var(--sans);
  font-size:.72rem;font-weight:600;
  letter-spacing:.26em;text-transform:uppercase;
  color:var(--teal);
  margin-bottom:18px;
}
.headline{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(2rem,5.6vw,3.4rem);
  line-height:1.08;
  letter-spacing:.005em;
  max-width:14ch;
}
.subline{
  margin:18px auto 0;
  max-width:46ch;
  color:var(--muted);
  font-size:1.04rem;
}

.cta-row{margin-top:34px}
.cta{
  display:inline-flex;align-items:center;gap:.55em;
  font-size:.96rem;font-weight:600;letter-spacing:.01em;
  color:var(--ink);
  background:linear-gradient(180deg,#7CFFD8,var(--teal));
  padding:14px 24px;border-radius:999px;
  text-decoration:none;
  box-shadow:0 14px 34px -14px rgba(0,255,180,.6);
  transition:transform .18s ease, box-shadow .18s ease;
}
.cta:hover{transform:translateY(-2px);box-shadow:0 18px 40px -14px rgba(0,255,180,.7)}
.cta .arrow{transition:transform .18s ease}
.cta:hover .arrow{transform:translateX(3px)}

/* ---------- legal documents ---------- */
.doc{
  display:flex;flex-direction:column;min-height:100vh;
}
.doc-body{flex:1;width:100%;max-width:var(--doc);margin:0 auto;padding:48px 24px 8px}
.doc h1{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(1.9rem,4.4vw,2.5rem);
  margin-bottom:6px;
}
.doc .lede{color:var(--muted);margin-bottom:30px;font-size:.98rem}
.doc h2{
  font-family:var(--serif);font-weight:400;
  font-size:1.26rem;color:var(--paper);
  margin:30px 0 8px;
}
.doc h3{font-size:1rem;font-weight:600;margin:18px 0 4px;color:var(--paper)}
.doc p,.doc li{color:#C7CDE6;font-size:.97rem}
.doc p+p{margin-top:10px}
.doc ul{margin:8px 0 8px 1.1rem}
.doc li{margin:4px 0}
.doc address{font-style:normal;color:#C7CDE6;margin:6px 0}
.doc a{color:var(--teal);text-decoration:none}
.doc a:hover{text-decoration:underline}
.doc .stand{margin-top:30px;color:var(--muted);font-size:.86rem}

/* fill-in placeholders — clearly visible until replaced */
.ph{
  color:var(--amber);
  background:rgba(245,166,35,.10);
  border-bottom:1px dashed rgba(245,166,35,.55);
  padding:0 .25em;border-radius:3px;
  font-style:normal;
}

/* ---------- entrance motion ---------- */
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.anim{opacity:0;animation:rise .7s cubic-bezier(.2,.7,.2,1) forwards}
.anim.d1{animation-delay:.05s}
.anim.d2{animation-delay:.18s}
.anim.d3{animation-delay:.31s}
.anim.d4{animation-delay:.44s}
.hero-art img{animation:float 7s ease-in-out infinite}

@media (prefers-reduced-motion:reduce){
  .anim{opacity:1;animation:none}
  .hero-art img{animation:none}
  .cta,.cta .arrow{transition:none}
}

/* ---------- focus visibility ---------- */
a:focus-visible,.cta:focus-visible{
  outline:2px solid var(--teal);outline-offset:3px;border-radius:6px;
}

/* ---------- responsive ---------- */
@media (max-width:560px){
  .site-head{padding-top:20px}
  .hero{padding-top:30px}
  .hero-art{margin-bottom:26px}
  .subline{font-size:.98rem}
}
