/* ---------- Hero ---------- */
.hero{
  position:relative;
  min-height:84vh;
  display:flex;
  align-items:flex-end;
  padding:0;
  overflow:hidden;
  background:var(--ink);
}

.hero img.bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter: grayscale(12%) contrast(1.05);
  transform:scale(1.02);
}

.hero .overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,
    rgba(0,0,0,.40) 0%,
    rgba(0,0,0,.58) 55%,
    rgba(0,0,0,.80) 100%);
}

.hero .content{
  position:relative;
  padding:120px 0 64px;
  width:100%;
}

/* Großes Marken-Logo oben rechts im Hero (above the fold) */
/* Hero-Logo in der Content-Spalte, rechts, vertikal an der Headline ausgerichtet */
.hero .content .wrap{ position:relative; }
.hero .content .wrap > *:not(.hero-logo){ position:relative; z-index:2; }
.hero-logo{
  position:absolute;
  top:30px;            /* Oberkante auf Höhe der Headline (knapp unter dem Kicker) */
  right:0;
  width:min(20vw, 230px);   /* ~18% kleiner als zuvor */
  aspect-ratio:2241 / 1474;   /* Inhaltsbox ohne rechten Leerraum */
  height:auto;
  object-fit:cover;
  object-position:left center;
  z-index:1;
  pointer-events:none;
  filter:drop-shadow(0 6px 22px rgba(0,0,0,.4));
}

.kicker{
  font-size:12px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.82);
  margin-bottom:14px;
}

.hero h1{
  font-size: clamp(40px, 5vw, 70px);
  color:#fff;
  margin-bottom:18px;
  max-width:14ch;
}

.hero p.lead{
  /* „Unterschrift" im Stil des Kickers, aber Groß-/Kleinschreibung */
  font-size:14px;
  font-weight:500;
  letter-spacing:.08em;
  color:rgba(255,255,255,.85);
  max-width:620px;
  margin-bottom:26px;
}

.note{ color:rgba(255,255,255,.65); font-size:13px; margin-top:14px; }
.dark-note{ color:rgba(255,255,255,.5); }

/* Red brush highlight */
.hl{ position:relative; display:inline-block; padding:0 .12em; z-index:0; color:#fff; }
.hl::before{
  content:"";
  position:absolute;
  inset: 55% -0.12em -0.04em -0.12em;
  background:var(--red);
  border-radius:10px;
  z-index:-1;
  transform:skewX(-7deg);
  opacity:.96;
}

/* ---------- Stat / proof bar ---------- */
.statbar{
  background:var(--ink);
  color:#fff;
  padding:0 0 6px;
  border-top:1px solid rgba(255,255,255,.08);
}
.stat-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  margin-top:-1px;
}
.stat{
  padding:34px 26px;
  border-right:1px solid rgba(255,255,255,.10);
}
.stat:last-child{ border-right:none; }
.stat-num{
  font-family:var(--serif);
  font-size:clamp(30px,3vw,42px);
  line-height:1;
  color:var(--red);
  margin-bottom:10px;
}
.stat-label{ font-size:14px; color:rgba(255,255,255,.74); line-height:1.4; }

/* ---------- Booking: reveal tiles ---------- */
.reveal-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin:8px 0 44px;
}
.reveal-tile{
  position:relative;
  margin:0;
  border-radius:var(--radius);
  overflow:hidden;
  aspect-ratio:4/3;
  outline:none;
  cursor:pointer;
}
.reveal-tile img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
  filter:grayscale(20%) brightness(.92);
  transition:transform .4s, filter .3s;
}
.reveal-tile:hover img,
.reveal-tile:focus-within img{ transform:scale(1.04); filter:grayscale(0) brightness(.7); }

.reveal-arrow{
  position:absolute;
  left:16px; bottom:16px;
  width:38px; height:38px;
  border:none;
  border-radius:50%;
  background:var(--red);
  color:#fff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:transform .3s, opacity .2s;
  z-index:2;
}
.reveal-tile:hover .reveal-arrow,
.reveal-tile:focus-within .reveal-arrow{ transform:rotate(90deg); }

.reveal-desc{
  position:absolute;
  left:0; right:0; bottom:0;
  padding:40px 20px 20px 74px; /* left padding clears the red arrow button */
  background:linear-gradient(0deg, rgba(15,16,20,.95) 45%, rgba(15,16,20,0));
  color:#fff;
  transform:translateY(101%);
  transition:transform .35s ease;
  z-index:1;
}
.reveal-tile:hover .reveal-desc,
.reveal-tile:focus-within .reveal-desc{ transform:translateY(0); }
.reveal-desc strong{ display:block; color:#ff8077; font-size:13px; letter-spacing:.04em; text-transform:uppercase; margin-bottom:6px; }
.reveal-desc span{ font-size:15px; line-height:1.45; color:rgba(255,255,255,.9); }

/* ---------- Booking form ---------- */
.booking{ position:relative; background:#eceae6; }
.booking::before{
  content:"";
  position:absolute; inset:0;
  background:url(../images/soloia-wafer-dicing.webp) center/cover no-repeat;
  opacity:.12;
  pointer-events:none;
}
.booking > .wrap{ position:relative; z-index:1; }
.briefing-form{
  max-width:680px;
  background:#faf9f7;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:30px;
}
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.briefing-form label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:13px;
  font-weight:600;
  color:#3a3d44;
  margin-bottom:16px;
}
.briefing-form input,
.briefing-form select,
.briefing-form textarea{
  font-family:var(--sans);
  font-size:15px;
  font-weight:400;
  padding:11px 13px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  color:#15171c;
}
.briefing-form input:focus,
.briefing-form select:focus,
.briefing-form textarea:focus{ outline:2px solid var(--red); outline-offset:0; border-color:var(--red); }
.briefing-form textarea{ resize:vertical; }
.consent{ flex-direction:row !important; align-items:flex-start; gap:10px; font-weight:400; color:#5a5d64; }
.consent input{ margin-top:2px; }
.booking .note{ color:var(--mid); }

/* ---------- Blasse Portfolio-Textur in hellen Segmenten ---------- */
.paper{ position:relative; }
.paper::before{
  content:"";
  position:absolute; inset:0;
  background:url(../images/aerolas-wafer-portfolio-all.webp) no-repeat;
  opacity:.06;
  pointer-events:none;
}
.paper > .wrap{ position:relative; z-index:1; }
/* je Segment anderer Ausschnitt + Zoom */
#problem::before{ background-position:6% 18%; background-size:175%; }
#deliverable::before{ background-position:90% 72%; background-size:210%; }
#trust::before{ background-position:48% 38%; background-size:150%; }
#applications::before{ background-position:18% 88%; background-size:235%; }
#fit::before{ background-position:78% 12%; background-size:195%; }
