/* ==========================================================================
   AMAZE ME MEDIA — Hochzeit
   Eigenständiges Design, inspiriert von crossfilms.co: warm, romantisch,
   editorial. Bewusst KEIN Blau/Gelb — eigene Bildsprache für diese Zielgruppe.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,500;1,600&family=Jost:wght@300;400;500;600&display=swap');

:root{
  --cream:      #f8f2e9;
  --cream-2:    #f0e6d6;
  --ink:        #2c241f;
  --ink-soft:   #6b5f54;
  --terracotta: #bd7457;
  --gold:       #a9855a;
  --rose:       #e9cec1;
  --line:       rgba(44, 36, 31, .14);

  --serif: 'Cormorant Garamond', serif;
  --sans:  'Jost', sans-serif;
  --wrap: 1180px;
  --ease: cubic-bezier(.22,1,.36,1);
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  background:var(--cream);
  color:var(--ink);
  font-family:var(--sans);
  font-weight:300;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }
button{ font-family:inherit; border:none; background:none; cursor:pointer; }

.wrap{ max-width:var(--wrap); margin:0 auto; padding:0 32px; }

h1,h2,h3{ font-family:var(--serif); font-weight:500; line-height:1.1; color:var(--ink); }
.script{ font-style:italic; }

.eyebrow{
  font-family:var(--sans);
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--terracotta);
}

/* ---------- Header ---------- */
header.w-header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:34px 0;
  transition:padding .4s var(--ease), background .5s var(--ease);
}
header.w-header.is-scrolled{
  padding:18px 0;
  background:rgba(248,242,233,.92);
  backdrop-filter:blur(10px);
  box-shadow:0 1px 0 var(--line);
}
header.w-header .wrap{ display:flex; align-items:center; justify-content:space-between; }
.w-logo{
  font-family:var(--serif);
  font-style:italic;
  font-size:26px;
  color:var(--cream);
  transition:color .4s var(--ease);
  letter-spacing:.01em;
}
header.w-header.is-scrolled .w-logo,
header.w-header.is-scrolled .w-nav a,
header.w-header.is-scrolled .back-home{ color:var(--ink); }
.w-nav{ display:flex; gap:38px; }
.w-nav a{
  font-size:13px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--cream); transition:color .4s var(--ease), opacity .3s;
  opacity:.9;
}
.w-nav a:hover{ opacity:1; }
.back-home{
  font-size:12px; letter-spacing:.06em; color:var(--cream); opacity:.75;
  display:flex; align-items:center; gap:6px; transition:color .4s var(--ease);
}
.w-menu-toggle{ display:none; color:var(--cream); font-size:22px; }
@media (max-width:840px){ .w-nav{ display:none; } .w-menu-toggle{ display:block; } }

/* ---------- Hero crossfade slideshow ---------- */
.w-hero{
  position:relative;
  height:100svh;
  min-height:640px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:hidden;
}
.w-hero .slide{
  position:absolute; inset:0;
  background:linear-gradient(160deg, var(--rose), var(--terracotta) 70%);
  opacity:0;
  animation:wfade 15s infinite;
}
.w-hero .slide::after{
  content:"Foto / Video folgt";
  position:absolute; bottom:28px; right:32px;
  font-family:var(--sans); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.7);
}
.w-hero .slide:nth-child(1){ animation-delay:0s; background:linear-gradient(160deg,#e9cec1,#bd7457 75%); }
.w-hero .slide:nth-child(2){ animation-delay:5s; background:linear-gradient(200deg,#a9855a,#e9cec1 70%); }
.w-hero .slide:nth-child(3){ animation-delay:10s; background:linear-gradient(140deg,#bd7457,#8a5a42 80%); }
@keyframes wfade{
  0%{ opacity:0; } 4%{ opacity:1; } 30%{ opacity:1; } 36%{ opacity:0; } 100%{ opacity:0; }
}
.w-hero::before{
  content:"";
  position:absolute; inset:0;
  background:rgba(20,14,10,.22);
  z-index:1;
}
.w-hero-content{ position:relative; z-index:2; color:#fff; padding:0 24px; }
.w-hero-content .eyebrow{ color:#f3e3d3; }
.w-hero-content h1{
  color:#fff;
  font-size:clamp(38px, 6.4vw, 84px);
  font-style:italic;
  margin-top:18px;
  max-width:16ch;
}
.w-hero-content p{ margin-top:22px; font-size:17px; opacity:.92; max-width:44ch; margin-left:auto; margin-right:auto; }
.w-hero-content .btn{ margin-top:36px; }

/* ---------- Buttons ---------- */
.btn.w-btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--sans); font-size:13px; letter-spacing:.1em; text-transform:uppercase;
  padding:16px 34px; border-radius:2px;
  border:1px solid currentColor;
  transition:background .4s var(--ease), color .4s var(--ease);
}
.w-btn-light{ color:#fff; }
.w-btn-light:hover{ background:#fff; color:var(--ink); }
.w-btn-dark{ color:var(--ink); border-color:var(--ink); }
.w-btn-dark:hover{ background:var(--ink); color:var(--cream); }

/* ---------- Sections ---------- */
.w-section{ padding:120px 0; }
.w-head{ max-width:56ch; margin:0 auto 56px; text-align:center; }
.w-head h2{ font-size:clamp(30px,4.4vw,50px); margin-top:14px; }
.w-head p{ color:var(--ink-soft); margin-top:18px; font-size:16px; }

/* welcome note */
.w-note{
  max-width:64ch; margin:0 auto; text-align:center;
}
.w-note p{ font-size:19px; color:var(--ink-soft); }
.w-note .signature{ font-family:var(--serif); font-style:italic; font-size:24px; margin-top:26px; color:var(--terracotta); }

/* as seen in */
.w-press{
  display:flex; justify-content:center; flex-wrap:wrap; gap:36px 48px;
  font-family:var(--serif); font-style:italic; font-size:18px; color:var(--ink-soft);
  opacity:.75;
}

/* portfolio */
.w-portfolio-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:40px; }
@media (max-width:760px){ .w-portfolio-grid{ grid-template-columns:1fr; } }
.w-video{
  position:relative; width:100%; aspect-ratio:16/10; border-radius:4px; overflow:hidden;
  background:linear-gradient(160deg,var(--rose),var(--gold));
}
.w-video iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.w-video-caption{ margin-top:16px; text-align:center; }
.w-video-caption .tag{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--terracotta); }
.w-video-caption h3{ font-size:22px; font-style:italic; margin-top:6px; }

/* testimonials */
.w-testimonial{
  max-width:64ch; margin:0 auto; text-align:center;
}
.w-testimonial p{ font-family:var(--serif); font-size:clamp(20px,2.6vw,28px); font-style:italic; color:var(--ink); }
.w-testimonial cite{ display:block; margin-top:22px; font-style:normal; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); }

/* about */
.w-about{ display:grid; grid-template-columns:1fr 1.1fr; gap:64px; align-items:center; }
.w-about-media{
  aspect-ratio:4/5; border-radius:4px;
  background:linear-gradient(150deg,var(--rose),var(--terracotta));
  position:relative;
}
.w-about-media::after{
  content:"Foto folgt"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.8); font-size:12px; letter-spacing:.1em; text-transform:uppercase;
}
.w-about-text p{ color:var(--ink-soft); margin-top:18px; font-size:16px; }
@media (max-width:840px){ .w-about{ grid-template-columns:1fr; } }

/* cta */
.w-cta{
  background:var(--ink); color:var(--cream);
  border-radius:6px; padding:80px 48px; text-align:center;
}
.w-cta h2{ color:var(--cream); font-size:clamp(30px,4.6vw,48px); }
.w-cta p{ color:rgba(248,242,233,.7); margin-top:16px; }
.w-cta .w-btn{ margin-top:32px; }

/* contact */
.w-contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; }
@media (max-width:840px){ .w-contact-grid{ grid-template-columns:1fr; } }
.w-info-row{ padding:20px 0; border-top:1px solid var(--line); display:flex; gap:18px; }
.w-info-row:last-child{ border-bottom:1px solid var(--line); }
.w-info-row .k{ width:100px; flex-shrink:0; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); }
.w-form{ display:flex; flex-direction:column; gap:22px; }
.w-field{ display:flex; flex-direction:column; gap:8px; }
.w-field label{ font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); }
.w-field input, .w-field textarea{
  background:var(--cream-2); border:1px solid var(--line); border-radius:2px;
  padding:15px 16px; font-family:var(--sans); font-size:15px; color:var(--ink);
}
.w-field input:focus, .w-field textarea:focus{ outline:none; border-color:var(--terracotta); }
.w-field textarea{ min-height:120px; resize:vertical; }

/* footer */
footer.w-footer{
  border-top:1px solid var(--line);
  padding:56px 0 34px;
  text-align:center;
}
footer.w-footer .w-logo{ color:var(--ink); display:inline-block; }
footer.w-footer p{ color:var(--ink-soft); font-size:13px; margin-top:14px; }
footer.w-footer .back-home{ color:var(--terracotta); margin-top:18px; display:inline-flex; }

.w-reveal{ opacity:0; transform:translateY(34px); transition:opacity 1s var(--ease), transform 1s var(--ease); }
.w-reveal.is-visible{ opacity:1; transform:translateY(0); }
.center{ text-align:center; }

/* ---------- Fotos ---------- */
.w-photos{ display:grid; grid-template-columns:repeat(2,1fr); gap:32px; max-width:900px; margin:0 auto; }
.w-photos figure{ margin:0; aspect-ratio:2/3; overflow:hidden; border-radius:4px; box-shadow:0 24px 50px -28px rgba(60,35,20,.45); }
.w-photos img{ width:100%; height:100%; object-fit:cover; display:block; }
.w-photos figure:nth-child(2){ margin-top:56px; }
@media (max-width:760px){ .w-photos{ grid-template-columns:1fr; gap:20px; } .w-photos figure:nth-child(2){ margin-top:0; } }
