/* ═══ Gemivo Variant System ═══ */

/* ── Shared Hero Reset ── */
.hero{position:relative;color:#fff;overflow:hidden}
.hero h1{color:#fff;margin-bottom:24px;max-width:900px;text-shadow:0 4px 30px rgba(0,0,0,.4)}
.hero-tagline{font-size:clamp(1.1rem,1.8vw,1.4rem);color:rgba(255,255,255,.92);max-width:680px;font-weight:400;margin-bottom:40px}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap}
.hero-badge{display:inline-block;background:rgba(212,168,67,.15);border:1px solid rgba(212,168,67,.6);color:var(--gold);padding:6px 16px;border-radius:30px;font-size:.8rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:24px}
.btn-outline-dark{display:inline-block;padding:14px 28px;border-radius:4px;font-weight:600;font-size:.95rem;transition:all .25s;border:2px solid var(--navy);color:var(--navy);background:transparent;cursor:pointer}
.btn-outline-dark:hover{background:var(--navy);color:#fff}

/* ── 1. Fullbleed (classic) ── */
.hero-fullbleed{min-height:92vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:140px 32px 80px}
.hero-fullbleed .hero-bg{position:absolute;inset:0;z-index:-2}
.hero-fullbleed .hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,43,74,.55) 0%,rgba(26,43,74,.75) 100%);z-index:-1}
.hero-fullbleed .hero-content{position:relative;z-index:1}
.hero-fullbleed .hero-tagline{margin:0 auto 40px}
.hero-fullbleed .hero-ctas{justify-content:center}

/* ── 2. Split-Screen ── */
.hero-split{min-height:92vh;display:grid;grid-template-columns:1fr 1fr}
.hero-split-img{min-height:100%}
.hero-split-text{display:flex;flex-direction:column;justify-content:center;padding:80px 60px;background:var(--cream);color:var(--navy)}
.hero-split-text h1{color:var(--navy);text-shadow:none}
.hero-split-text .hero-tagline{color:var(--text-light)}
.hero-split-text .hero-badge{color:var(--red)}

/* Fix: Disable hero overlays for split variant */
.hero-split::before, .hero-split::after { display: none !important; }

@media(max-width:960px){
  .hero-split{grid-template-columns:1fr;min-height:auto}
  .hero-split-img{min-height:50vh}
  .hero-split-text{padding:48px 24px}
}

/* ── 3. Diagonal Cut ── */
.hero-diagonal{min-height:92vh;display:grid;grid-template-columns:55% 45%;position:relative}
.hero-diag-img{clip-path:polygon(0 0,100% 0,85% 100%,0 100%);animation:kenBurns 20s ease-in-out infinite alternate}
.hero-diag-text{display:flex;flex-direction:column;justify-content:center;padding:80px 60px 80px 40px;color:var(--navy);background:var(--cream)}
.hero-diag-text h1{color:var(--navy);text-shadow:none;font-size:clamp(2rem,4vw,3.5rem)}
.hero-diag-text .hero-tagline{color:var(--text-light)}
.hero-diag-text .hero-badge{color:var(--red)}
@keyframes kenBurns{0%{transform:scale(1)}100%{transform:scale(1.08)}}
@media(max-width:960px){
  .hero-diagonal{grid-template-columns:1fr;min-height:auto}
  .hero-diag-img{clip-path:none;min-height:50vh}
  .hero-diag-text{padding:48px 24px}
}

/* ── 4. Magazine ── */
.hero-magazine{min-height:92vh;display:flex;align-items:center;background:var(--cream);padding:140px 32px 80px}
.hero-mag-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center;width:100%}
.hero-mag-text h1{color:var(--navy);text-shadow:none;font-size:clamp(3rem,7vw,7rem);line-height:.95;letter-spacing:-2px;margin-bottom:32px}
.hero-mag-text .hero-tagline{color:var(--text-light);font-size:clamp(1rem,1.5vw,1.25rem)}
.hero-mag-text .hero-badge{color:var(--red)}
.hero-mag-img{width:320px;height:320px;border-radius:4px;overflow:hidden;flex-shrink:0}
.hero-mag-img img{width:100%;height:100%;object-fit:cover}
@media(max-width:960px){
  .hero-mag-content{grid-template-columns:1fr;gap:32px}
  .hero-mag-img{width:100%;height:280px}
  .hero-mag-text h1{font-size:clamp(2.5rem,8vw,4rem)}
}

/* ── 5. Layered Collage ── */
.hero-layered{min-height:92vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:140px 32px 80px;background:var(--navy)}
.hero-layer-collage{position:absolute;inset:0;z-index:0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:40px;opacity:.35}
.hero-layer-img{overflow:hidden;border-radius:8px}
.hero-layer-img img{width:100%;height:100%;object-fit:cover}
.hero-layer-0{grid-column:1/3;grid-row:1/3}
.hero-layer-1{grid-column:3;grid-row:1}
.hero-layer-2{grid-column:3;grid-row:2}
.hero-layer-text{position:relative;z-index:2;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);padding:40px;border-radius:12px;background:rgba(26,43,74,.4)}
.hero-layer-text .hero-ctas{justify-content:center}
@media(max-width:960px){
  .hero-layer-collage{grid-template-columns:1fr;padding:20px;opacity:.2}
  .hero-layer-0{grid-column:auto;grid-row:auto}
}

/* ═══ Akzent Patterns ═══ */

/* ── Wave ── */
body.akzent-wave section+section{position:relative;margin-top:-1px}
body.akzent-wave .wave-divider{display:block;width:100%;height:40px;position:relative;margin-top:-40px}
body.akzent-wave .wave-divider svg{position:absolute;bottom:0;width:100%;height:40px}

/* ── Geometric ── */
body.akzent-geometric section{position:relative}
body.akzent-geometric section::before{content:"";position:absolute;top:-24px;left:0;right:0;height:24px;background:inherit;clip-path:polygon(0 100%,50% 0,100% 100%);z-index:1;opacity:.08}
body.akzent-geometric .team-card,
body.akzent-geometric .news-card,
body.akzent-geometric .partner{border-radius:0;clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%)}

/* ── Photographic ── */
body.akzent-photographic section{position:relative}
body.akzent-photographic section::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 85%,rgba(var(--red-rgb),.06) 100%);pointer-events:none;z-index:0}
body.akzent-photographic .gallery img{transition:transform .6s,filter .6s}
body.akzent-photographic .gallery a:hover img{transform:scale(1.06);filter:contrast(1.08)}
