/*
Theme Name: ArtBau Hero
Theme URI: https://artbau.net
Author: ArtBau
Description: Custom homepage theme for ArtBau – Bauen, Umbauen, Renovieren. Full-screen hotspot-map hero design.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: artbau-hero
*/

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

.ab-hero{
  --ink:#0c0d10;
  --ink-2:#13151a;
  --red:#c8182f;
  --paper:#f4f2ee;
  --paper-dim:#cfcdc8;
  --dusk-1:#0b1626;
  --dusk-2:#2a1b3d;
  position:fixed;
  top:0; left:0;
  width:100vw;
  height:100vh;
  margin:0;
  z-index:1;
  font-family:'Work Sans', sans-serif;
  background:var(--ink);
  color:var(--paper);
  -webkit-font-smoothing:antialiased;
  overflow:hidden;
}
.ab-hero-spacer{height:100vh;width:100%;}

.ab-hero h1,.ab-hero h2,.ab-hero h3,.ab-hero .ab-wordmark,.ab-hero .ab-nav a,.ab-hero .ab-cta,.ab-hero .ab-card-title,.ab-hero .ab-tagline{
  font-family:'Oswald', sans-serif;
}

/* ---------- NAV ---------- */
.ab-nav{
  position:absolute;
  top:0; left:0; right:0;
  z-index:40;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:26px clamp(20px,4vw,56px);
}
.ab-brand{display:flex;align-items:center;gap:12px;}
.ab-brand-mark{width:40px;height:40px;flex:none;}
.ab-brand-text{display:flex;flex-direction:column;line-height:1;}
.ab-brand-text .ab-word{font-size:20px;font-weight:700;letter-spacing:0.04em;color:var(--paper);}
.ab-brand-text .ab-word span{color:var(--red);}
.ab-brand-text small{font-family:'Work Sans',sans-serif;font-size:10px;letter-spacing:0.18em;color:var(--paper-dim);margin-top:3px;}
.ab-nav-links{display:flex;align-items:center;gap:36px;list-style:none;margin:0;padding:0;}
.ab-nav-links a{color:var(--paper);text-decoration:none;font-size:14px;letter-spacing:0.06em;position:relative;padding-bottom:6px;opacity:0.88;}
.ab-nav-links a:hover{opacity:1;}
.ab-nav-links a.ab-active{opacity:1;}
.ab-nav-links a.ab-active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--red);}
.ab-nav-right{display:flex;align-items:center;gap:22px;}
.ab-cta{display:inline-flex;align-items:center;gap:10px;background:var(--red);color:var(--paper)!important;border:none;padding:12px 22px;font-size:13px;letter-spacing:0.06em;cursor:pointer;text-decoration:none;transition:background .2s ease;}
.ab-cta:hover{background:#a81226;}
.ab-burger{width:26px;height:18px;position:relative;cursor:pointer;display:none;}
.ab-burger span{position:absolute;left:0;right:0;height:2px;background:var(--paper);}
.ab-burger span:nth-child(1){top:0;}
.ab-burger span:nth-child(2){top:8px;}
.ab-burger span:nth-child(3){top:16px;}

/* ---------- HERO ---------- */
.ab-hero-inner{
  position:relative;
  width:100%;
  height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.ab-bg{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
}
.ab-blueprint-grid{
  position:absolute; inset:0;
  opacity:0.35;
  background-image:
    linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size:48px 48px;
  -webkit-mask-image:radial-gradient(ellipse at 50% 42%, black 10%, transparent 72%);
  mask-image:radial-gradient(ellipse at 50% 42%, black 10%, transparent 72%);
}
.ab-sun-glow{
  position:absolute; left:50%; top:30%;
  width:900px; height:900px;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle, rgba(255,138,80,0.22), transparent 60%);
  pointer-events:none;
}

.ab-hotspot-map{
  position:relative;
  width:min(1180px, 92vw);
  aspect-ratio:1300/812;
  margin:0 auto;
  flex:none;
}
.ab-lines-svg{position:absolute; inset:0; width:100%; height:100%;}
.ab-lines-svg line{stroke:rgba(200,24,47,0.6);stroke-width:1.4;stroke-dasharray:3 4;}
.ab-lines-svg circle.ab-hub{fill:var(--red);}

.ab-emblem{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;z-index:5;}
.ab-emblem-icon{width:84px;height:auto;margin:0 auto 10px;display:block;}
.ab-emblem .ab-word1,.ab-emblem .ab-word2{display:block;font-size:clamp(30px,4.6vw,52px);font-weight:700;letter-spacing:0.02em;line-height:0.95;}
.ab-emblem .ab-word1{color:var(--paper);}
.ab-emblem .ab-word2{color:var(--red);}
.ab-emblem small{font-family:'Work Sans',sans-serif;display:block;margin-top:10px;font-size:11px;letter-spacing:0.22em;color:var(--paper-dim);}

.ab-node{position:absolute;transform:translate(-50%,-50%);width:230px;z-index:6;}
.ab-node-thumb{
  width:100%;
  aspect-ratio:16/10;
  background-size:cover;
  background-position:center;
  border:1px solid rgba(255,255,255,0.1);
  position:relative;
}
.ab-node-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.55) 100%);}
.ab-node-label{background:rgba(10,10,12,0.86);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(255,255,255,0.07);border-top:none;}
.ab-node-label .ab-txt .ab-card-title{font-size:15px;margin:0 0 2px;letter-spacing:0.02em;color:var(--paper);}
.ab-node-label .ab-txt p{margin:0;font-size:11.5px;color:var(--paper-dim);font-family:'Work Sans',sans-serif;}
.ab-node-arrow{flex:none;width:26px;height:26px;border:1px solid rgba(255,255,255,0.2);display:flex;align-items:center;justify-content:center;color:var(--paper);font-size:13px;}

.ab-n1{left:21%; top:23%;}
.ab-n2{left:50%; top:15.5%;}
.ab-n3{left:79%; top:23%;}
.ab-n4{left:17%; top:49%;}
.ab-n5{left:83%; top:49%;}
.ab-n6{left:21%; top:75%;}
.ab-n7{left:79%; top:75%;}

.ab-tagline-row{text-align:center;padding:34px 20px 10px;position:relative;z-index:5;}
.ab-tagline{font-size:clamp(18px,2.4vw,26px);font-weight:500;letter-spacing:0.01em;color:var(--paper);margin:0;}
.ab-tagline .ab-accent{color:var(--red);}
.ab-tagline .ab-dots{color:var(--paper-dim);padding:0 6px;}

.ab-scroll-cue{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 0 34px;position:relative;z-index:5;}
.ab-scroll-cue .ab-pill{width:26px;height:40px;border:1.5px solid rgba(244,242,238,0.5);border-radius:14px;position:relative;}
.ab-scroll-cue .ab-pill::after{content:"";position:absolute;top:7px;left:50%;width:4px;height:8px;background:var(--red);border-radius:2px;transform:translateX(-50%);animation:ab-drip 1.6s ease-in-out infinite;}
@keyframes ab-drip{0%{top:7px;opacity:1;}70%{top:22px;opacity:0;}100%{top:22px;opacity:0;}}
.ab-scroll-cue span{font-family:'Work Sans',sans-serif;font-size:10px;letter-spacing:0.22em;color:var(--paper-dim);}

.ab-mobile-list{display:none;}
@media (max-width:860px){
  .ab-nav-links, .ab-nav-right .ab-cta{display:none;}
  .ab-burger{display:block;}
  .ab-hotspot-map{display:none;}
  .ab-mobile-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:92vw;margin:0 auto 10px;position:relative;z-index:5;}
  .ab-mobile-list .ab-node{position:static;transform:none;width:100%;}
  .ab-hero-inner{padding-top:110px;}
  .ab-emblem{display:none;}
  .ab-sun-glow{top:12%;width:600px;height:600px;}
}
