/* ===================================================
   Fix: port-card / svc-card / j-card wurden von <div>
   zu echten <a href>-Links umgestellt (für crawlbare
   interne Links). Der Browser zeichnet die Unterstreichung
   eines <a>-Elements standardmäßig durch alle Kind-Elemente
   hindurch, auch wenn diese eine eigene Textfarbe gesetzt
   haben. Das wird hier gezielt zurückgesetzt, ohne die
   bereits korrekt gesetzten Textfarben zu überschreiben.
   =================================================== */
a.svc-card, a.port-card, a.j-card {
  color: inherit;
  text-decoration: none;
  display: block;
}
a.svc-card *, a.port-card *, a.j-card * {
  text-decoration: none;
}

/* Fix: in der alten Single-Page-Version übernahm .page{padding-top:64px}
   dafür zu sorgen, dass Inhalte nicht hinter der fixen Navigation
   (Höhe 64px) verschwinden. In der neuen Mehrseiten-Struktur gibt es
   keinen .page-Wrapper mehr – daher übernimmt jetzt <main> diese Aufgabe. */
main {
  display: block;
  padding-top: 64px;
}
main .hero {
  min-height: calc(100vh - 64px);
}

/* Schwebender Anruf-Button: dezenter runder Button statt vollem Banner,
   damit er nicht wie Werbedruck wirkt. Verschiebt sich per JS nach oben,
   solange der Cookie-Banner sichtbar ist (siehe site.js). */
.call-fab {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 250;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--cog);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 18px rgba(28,43,58,.28);
  text-decoration: none;
  transition: bottom .25s ease, transform .18s ease, box-shadow .18s ease;
  font-size: 1.35rem;
}
.call-fab:hover {
  transform: scale(1.07);
  box-shadow: 0 6px 22px rgba(28,43,58,.35);
}
.call-fab-icon {
  line-height: 1;
  transform: translateY(1px);
}
.call-fab-label {
  display: none;
  position: absolute;
  right: 64px;
  white-space: nowrap;
  background: var(--anth);
  color: #F0EBE3;
  padding: .5rem .85rem;
  border-radius: 4px;
  font-size: .78rem;
  letter-spacing: .02em;
  box-shadow: 0 4px 14px rgba(0,0,0,.2);
}
@media (hover: hover) and (pointer: fine) {
  .call-fab:hover .call-fab-label {
    display: block;
  }
}
@media (max-width: 480px) {
  .call-fab {
    right: 1rem;
    bottom: 1rem;
    width: 48px;
    height: 48px;
    font-size: 1.2rem;
  }
}


:root{
  --cog:#9B5E3A;--cog2:#B06A44;
  --anth:#1C2B3A;--anth2:#243447;
  --crem:#F5F0E8;--parch:#EDE7DB;--crmd:#E0D8CC;
  --txt:#1C2B3A;--txtl:#4A5A6A;
  --wht:#F5F0E8;
  --fd:'Cormorant Garamond',Georgia,serif;
  --fb:'Inter',system-ui,sans-serif
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--fb);background:var(--crem);color:var(--txt);line-height:1.7;overflow-x:hidden}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(250,247,242,.95);backdrop-filter:blur(8px);border-bottom:1px solid rgba(201,169,110,.2);padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;height:64px;transition:box-shadow .3s}
nav.scrolled{box-shadow:0 2px 20px rgba(44,44,44,.08)}
.nav-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;cursor:pointer;flex-shrink:0}
.nav-logo img{height:40px;width:40px;object-fit:contain;border-radius:50%;border:1.5px solid rgba(139,69,19,.2);background:#fff;flex-shrink:0}
.nav-logo span{font-family:var(--fd);font-size:1.3rem;font-weight:600;color:var(--cog);letter-spacing:.04em;white-space:nowrap}
.nav-links{display:flex;align-items:center;gap:1.75rem;list-style:none}
.nav-links a{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--txtl);text-decoration:none;transition:color .2s;cursor:pointer;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{color:var(--cog)}
.nav-r{display:flex;align-items:center;gap:1rem;flex-shrink:0}
.nav-insta{color:var(--txtl);font-size:1rem;text-decoration:none;transition:color .2s;flex-shrink:0}
.nav-insta:hover{color:var(--cog)}
.lang{display:flex;gap:.3rem;font-size:.72rem;flex-shrink:0}
.lang button{background:none;border:none;cursor:pointer;color:var(--txtl);padding:.2rem .35rem;font-family:var(--fb);font-size:.72rem;text-transform:uppercase;transition:color .2s}
.lang button.on{color:var(--cog);font-weight:500}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px;flex-shrink:0;margin-left:.25rem}
.burger span{width:22px;height:1.5px;background:var(--txt);display:block;transition:all .3s}
.mob-menu{display:none;position:fixed;top:64px;left:0;right:0;background:var(--crem);border-bottom:1px solid var(--crmd);padding:1.25rem 1.5rem;z-index:99;flex-direction:column;gap:0}
.mob-menu.open{display:flex}
.mob-menu a{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--txtl);text-decoration:none;padding:.75rem 0;border-bottom:1px solid var(--crmd);cursor:pointer;display:block}
.mob-menu a:last-child{border-bottom:none}
/* Desktop: show links, hide burger */
@media(min-width:901px){.nav-links{display:flex}.burger{display:none}}
/* Tablet/Mobile: hide links, show burger */
@media(max-width:900px){
  .nav-links{display:none}
  .burger{display:flex}
  nav{padding:0 1rem}
}
/* Small mobile: hide logo text, keep icon */
@media(max-width:420px){
  .nav-logo span{display:none}
  .nav-insta{display:none}
  .lang{gap:.2rem}
  .lang button{padding:.2rem .25rem;font-size:.68rem}
  nav{padding:0 .75rem}
}

/* PAGES */
.page{display:none;padding-top:64px;min-height:100vh}
.page.active{display:block}

/* UTILS */
.sec{padding:5rem 2rem}
.inner{max-width:1100px;margin:0 auto}
.inner-sm{max-width:760px;margin:0 auto}
.eyebrow{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cog);margin-bottom:1rem}
.h1{font-family:var(--fd);font-size:clamp(2.2rem,5vw,3.8rem);font-weight:300;line-height:1.1;color:var(--anth)}
.h1 em,.h2 em{font-style:italic;color:var(--cog)}
.h2{font-family:var(--fd);font-size:clamp(1.8rem,4vw,3rem);font-weight:300;line-height:1.15;color:var(--anth)}
.h3{font-family:var(--fd);font-size:1.4rem;font-weight:400;color:var(--anth)}
.body-txt{font-size:.95rem;color:var(--txtl);line-height:1.85;max-width:640px}
.divider{width:48px;height:1px;background:var(--cog);margin:2rem 0}
.btn{display:inline-block;padding:.85rem 2rem;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;border:1px solid var(--cog);color:var(--cog);background:transparent;cursor:pointer;transition:all .3s;font-family:var(--fb)}
.btn:hover{background:var(--cog);color:#fff}
.btn-fill{background:var(--cog);color:#fff}.btn-fill:hover{background:var(--cog2);border-color:var(--cog2)}
.btn-ghost{border-color:rgba(240,235,227,.38);color:rgba(240,235,227,.78)}.btn-ghost:hover{background:rgba(240,235,227,.08);color:#fff}
.gold-line{width:20px;height:1px;background:var(--cog);display:inline-block;flex-shrink:0}

/* HERO */
.hero{min-height:calc(100vh - 64px);display:flex;align-items:center;background:var(--anth);position:relative;overflow:hidden;padding:4rem 2rem}
.hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,#0d1820 0%,#1C2B3A 45%,#243447 100%)}
.hero-grid{position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 60px,rgba(155,94,58,.04) 60px,rgba(155,94,58,.04) 61px),repeating-linear-gradient(90deg,transparent,transparent 60px,rgba(155,94,58,.04) 60px,rgba(155,94,58,.04) 61px)}
.hero-content{position:relative;z-index:2;max-width:580px}
.hero-eyebrow{font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;color:var(--cog);margin-bottom:1.5rem}
.hero-title{font-family:var(--fd);font-size:clamp(3rem,7vw,5.5rem);font-weight:300;line-height:1.05;color:#F0EBE3;margin-bottom:1.5rem}
.hero-title em{font-style:italic;color:var(--cog2)}
.hero-sub{font-size:.95rem;color:rgba(240,235,227,.7);margin-bottom:1.5rem;line-height:1.8}
.hero-geo{font-size:.78rem;color:rgba(240,235,227,.38);line-height:1.7;margin-bottom:2rem;font-style:italic}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}
.hero-deco{position:absolute;right:0;top:0;bottom:0;width:45%;background:linear-gradient(135deg,rgba(155,78,42,.08),rgba(184,151,106,.04));border-left:1px solid rgba(184,151,106,.08)}
.hero-deco-text{position:absolute;bottom:3rem;right:3rem;font-family:var(--fd);font-size:3.5rem;font-weight:300;font-style:italic;color:rgba(240,235,227,.04);line-height:1.2;text-align:right}

/* STATS */
.stats-bar{background:var(--anth);padding:2rem;border-top:1px solid rgba(155,94,58,.15)}
.stats-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.stat-n{font-family:var(--fd);font-size:2.5rem;font-weight:300;color:var(--cog)}
.stat-l{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(240,235,227,.5);margin-top:.25rem}

/* SECTIONS */
.bg-crem{background:var(--crem)}
.bg-parch{background:var(--parch)}
.bg-anth{background:var(--anth)}
.bg-cog{background:var(--cog)}
.bg-wht{background:var(--crem)}

/* 2-COL GRID */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
@media(max-width:900px){.g2{grid-template-columns:1fr!important;gap:2.5rem}.g3{grid-template-columns:1fr 1fr!important}.g4{grid-template-columns:1fr 1fr!important}}
@media(max-width:600px){.g3{grid-template-columns:1fr!important}.g4{grid-template-columns:1fr!important}.stats-grid{grid-template-columns:1fr!important}}

/* PLACEHOLDER VISUAL */
.vis{background:linear-gradient(135deg,var(--parch),var(--crmd));display:flex;align-items:center;justify-content:center;font-size:3rem;opacity:.5;position:relative}
.vis::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--cog),var(--cog))}

/* SERVICE CARDS */
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;margin-top:3rem}
@media(max-width:700px){.svc-grid{grid-template-columns:1fr!important}}
.svc-card{background:var(--crem);padding:2.5rem;transition:background .3s;cursor:pointer;border-top:2px solid transparent;transition:all .3s}
.svc-card:hover{background:var(--crem);border-top-color:var(--cog)}
.svc-icon{font-size:1.8rem;margin-bottom:1.25rem;opacity:.7}
.svc-link{display:inline-block;margin-top:1.25rem;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--cog)}
.svc-link::after{content:' →'}

/* PORTFOLIO */
.port-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}
@media(max-width:900px){.port-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:600px){.port-grid{grid-template-columns:1fr!important}}
.port-card{background:var(--crem);cursor:pointer;transition:transform .3s,box-shadow .3s}
.port-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(139,69,19,.12)}
.port-img{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;font-size:2.5rem;opacity:.6;position:relative;overflow:hidden}
.port-badge{position:absolute;top:.75rem;right:.75rem;background:var(--cog);color:#fff;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .5rem}
.port-body{padding:1.5rem}
.port-cat{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--cog);margin-bottom:.4rem}
.port-name{font-family:var(--fd);font-size:1.2rem;font-weight:400;color:var(--anth)}
.port-desc{font-size:.82rem;color:var(--txtl);line-height:1.7;margin-top:.4rem}
.filter-bar{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:2rem}
.filter-btn{padding:.45rem 1rem;border:1px solid rgba(201,169,110,.3);background:transparent;color:rgba(240,235,227,.6);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .2s;font-family:var(--fb)}
.filter-btn.on,.filter-btn:hover{border-color:var(--cog);color:var(--cog)}

/* TESTIMONIAL */
.testi-quote{font-family:var(--fd);font-size:clamp(1.5rem,4vw,2.5rem);font-weight:300;font-style:italic;color:#F0EBE3;max-width:760px;margin:0 auto 2rem;line-height:1.4;text-align:center}
.testi-src{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(240,235,227,.5);text-align:center}

/* LEISTUNGEN */
.leist-block{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;padding:4rem 0;border-top:1px solid rgba(201,169,110,.25)}
.leist-block:first-child{border-top:none}
@media(max-width:768px){.leist-block{grid-template-columns:1fr!important;gap:2rem}}
.leist-block.rev{direction:rtl}.leist-block.rev>*{direction:ltr}
@media(max-width:768px){.leist-block.rev{direction:ltr}}
.leist-list{list-style:none;margin:1.25rem 0}
.leist-list li{padding:.35rem 0;font-size:.88rem;color:var(--txtl);display:flex;align-items:center;gap:.75rem}
.leist-list li::before{content:'';width:20px;height:1px;background:var(--cog);flex-shrink:0}
.process-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem;margin-top:3.5rem}
@media(max-width:900px){.process-steps{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:600px){.process-steps{grid-template-columns:1fr 1fr!important}}
.step-n{font-family:var(--fd);font-size:3rem;font-weight:300;color:var(--cog);opacity:.4;line-height:1;margin-bottom:.75rem}
.step h4{font-family:var(--fd);font-size:1.1rem;font-weight:400;color:#F0EBE3;margin-bottom:.5rem}
.step p{font-size:.82rem;color:rgba(240,235,227,.6);line-height:1.7}

/* FAQ */
.faq-item{border-top:1px solid var(--crmd);padding:1.5rem 0}
.faq-item:last-child{border-bottom:1px solid var(--crmd)}
.faq-item summary{font-family:var(--fd);font-size:1.1rem;font-weight:400;color:var(--anth);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-item summary::after{content:'+';color:var(--cog);font-size:1.2rem;flex-shrink:0}
.faq-item[open] summary::after{content:'−'}
.faq-item p{margin-top:1rem;font-size:.9rem;color:var(--txtl);line-height:1.8}

/* ABOUT */
.about-portrait{background:linear-gradient(160deg,#3d2b1a,#6b4020);display:flex;align-items:center;justify-content:center;font-size:5rem;opacity:.4;position:relative;min-height:400px}
.cred-card{background:var(--crem);padding:2rem;border-top:2px solid var(--cog)}
.cred-year{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--cog);margin-bottom:.4rem}
.cred-title{font-family:var(--fd);font-size:1.05rem;font-weight:400;color:var(--anth);margin-bottom:.4rem}
.phil-quote{font-family:var(--fd);font-size:clamp(1.6rem,4vw,2.5rem);font-weight:300;font-style:italic;color:var(--cog);border-left:3px solid var(--copper,var(--cog));padding-left:2rem;margin:2.5rem 0;line-height:1.4}

/* COLLAB TEASER */
.collab-box{border:1px solid rgba(184,151,106,.2);padding:2.5rem;position:relative}
.collab-box::before{content:'';position:absolute;top:-1px;left:2rem;right:2rem;height:2px;background:linear-gradient(90deg,var(--cog),var(--cog));opacity:.7}

/* EXPERTISE / TIMELINE */
.tl{margin-top:4rem;position:relative}
.tl::before{content:'';position:absolute;left:calc(100px + 20px);top:16px;bottom:16px;width:1px;background:linear-gradient(to bottom,rgba(155,94,58,.3) 0%,rgba(155,94,58,.1) 75%,transparent 100%);pointer-events:none}
.tl-item{display:grid;grid-template-columns:100px 40px 1fr;gap:0;margin-bottom:2.25rem;align-items:start;opacity:0;transform:translateY(18px);transition:opacity .75s cubic-bezier(.25,.46,.45,.94),transform .75s cubic-bezier(.25,.46,.45,.94)}
.tl-item.vis{opacity:1;transform:translateY(0)}
.tl-year{font-size:.6rem;letter-spacing:.06em;color:rgba(155,94,58,.45);text-align:right;padding-top:.3rem;white-space:nowrap;font-family:var(--fb);font-weight:400;padding-right:.85rem}
.tl-dot-col{display:flex;justify-content:center;padding-top:.28rem;position:relative;z-index:1}
.tl-dot{width:6px;height:6px;border-radius:50%;background:var(--parch);border:1px solid rgba(155,94,58,.35);flex-shrink:0;transition:all .5s ease}
.tl-item.vis .tl-dot{background:var(--crmd);border-color:rgba(155,94,58,.55)}
.tl-dot.maj{background:var(--cog);border-color:var(--cog);width:8px;height:8px;margin-top:-1px;opacity:.6}
.tl-item.vis .tl-dot.maj{opacity:1}
.tl-dot.hi{background:var(--cog);border-color:var(--cog);width:7px;height:7px}
.tl-dot.now{background:var(--cog);border-color:var(--cog);width:9px;height:9px;margin-top:-1px;box-shadow:0 0 0 3px rgba(155,94,58,.12)}
.tl-content{padding-left:.5rem}
.tl-cat{font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cog);opacity:.55;margin-bottom:.15rem}
.tl-title{font-family:var(--fd);font-size:1rem;font-weight:400;color:var(--txt);margin-bottom:.25rem;line-height:1.3}
.tl-desc{font-size:.8rem;color:var(--txtl);line-height:1.8;padding-bottom:2rem;border-bottom:1px solid rgba(155,94,58,.12)}
.tl-item:last-child .tl-desc{border-bottom:none}
@media(max-width:600px){.tl::before{left:calc(68px + 18px)!important}.tl-item{grid-template-columns:68px 36px 1fr!important}.tl-year{font-size:.54rem!important;padding-right:.6rem!important}}
  .tl-item{grid-template-columns:72px 40px 1fr!important}
  .tl-year{font-size:.56rem!important}
}

/* ANILIN boxes */
.sci-box{background:var(--parch);border-left:3px solid var(--cog);padding:1.75rem;margin:2rem 0}
.sci-label{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cog);margin-bottom:.6rem}
.sci-box p{font-size:.88rem;color:var(--txtl);line-height:1.8}
.ph-scale{background:var(--anth);padding:2rem;margin:2rem 0}
.ph-title{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cog);margin-bottom:1.25rem}
.ph-bar{height:26px;background:linear-gradient(to right,#d32f2f 0%,#f57c00 15%,#fbc02d 28%,#8bc34a 38%,#4caf50 45%,#26a69a 55%,#42a5f5 68%,#5c6bc0 80%,#7b1fa2 100%);position:relative;margin-bottom:.75rem}
.ph-markers{display:flex;justify-content:space-between;font-size:.6rem;color:rgba(240,235,227,.45)}
.ph-ind{position:absolute;top:-8px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center}
.ph-leder{left:41%}.ph-soap{left:72%}
.ph-arr{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid}
.ph-leder .ph-arr{border-top-color:#8bc34a}.ph-soap .ph-arr{border-top-color:#ef5350}
.ph-lbl{font-size:.58rem;letter-spacing:.06em;white-space:nowrap;margin-top:32px}
.ph-leder .ph-lbl{color:#8bc34a}.ph-soap .ph-lbl{color:#ef5350}
.warn-box{background:var(--parch);border:1px solid rgba(155,94,58,.15);border-top:3px solid var(--cog);padding:2rem;margin:2rem 0}
.warn-title{font-family:var(--fd);font-size:1.05rem;font-weight:400;color:var(--cog);margin-bottom:.75rem}
.warn-list{list-style:none}
.warn-list li{font-size:.88rem;color:var(--txtl);line-height:1.7;padding:.35rem 0;display:flex;gap:.75rem;border-bottom:1px solid rgba(139,69,19,.07)}
.warn-list li:last-child{border-bottom:none}
.warn-list li::before{content:'—';color:var(--cog);flex-shrink:0}
.art-lead{font-family:var(--fd);font-size:1.25rem;font-weight:300;font-style:italic;color:var(--cog);border-left:3px solid var(--cog);padding-left:1.75rem;margin-bottom:2.5rem;line-height:1.65}
.art-body h2{font-family:var(--fd);font-size:1.6rem;font-weight:400;color:var(--anth);margin:3rem 0 .75rem}
.art-body h3{font-family:var(--fd);font-size:1.2rem;font-weight:400;color:var(--cog);margin:2rem 0 .5rem}
.art-body p{font-size:.95rem;color:var(--txt);line-height:1.9;margin-bottom:1.25rem}
.art-author{background:var(--parch);padding:2rem;display:flex;gap:1.5rem;align-items:flex-start;margin-top:3rem}
.art-avatar{width:56px;height:56px;border-radius:50%;background:var(--crem);border:2px solid var(--cog);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}
.art-aname{font-family:var(--fd);font-size:1rem;font-weight:400;color:var(--anth);margin-bottom:.2rem}
.art-arole{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cog);margin-bottom:.5rem}
.art-abio{font-size:.84rem;color:var(--txtl);line-height:1.7}

/* JOURNAL */
.j-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:3rem}
@media(max-width:700px){.j-grid{grid-template-columns:1fr!important}}
.j-card{background:var(--crem);cursor:pointer;transition:transform .3s,box-shadow .3s}
.j-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(139,69,19,.12)}
.j-card-img{aspect-ratio:16/7;background:linear-gradient(135deg,var(--anth),#4a3020);display:flex;align-items:center;justify-content:center;padding:2rem}
.j-card-img-txt{font-family:var(--fd);font-size:1rem;font-style:italic;color:rgba(240,235,227,.5);text-align:center;line-height:1.5}
.j-card-body{padding:1.75rem}
.j-card-cat{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--cog);margin-bottom:.4rem}
.j-card-title{font-family:var(--fd);font-size:1.25rem;font-weight:400;color:var(--anth);margin-bottom:.6rem;line-height:1.3}
.j-card-exc{font-size:.84rem;color:var(--txtl);line-height:1.75;margin-bottom:1rem}
.j-card-meta{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cog);opacity:.7}
.j-card-lnk{display:inline-block;margin-top:.75rem;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--cog)}
.j-card-lnk::after{content:' →'}
.art-view{display:none}.art-view.open{display:block}
.art-list{display:block}.art-list.hidden{display:none}
.art-back{display:inline-flex;align-items:center;gap:.5rem;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(240,235,227,.55);cursor:pointer;background:none;border:none;font-family:var(--fb);margin-bottom:2rem;transition:color .2s}
.art-back:hover{color:rgba(255,255,255,.85)}
.art-hero{background:var(--anth);padding:5rem 2rem 4rem}
.art-meta{display:flex;gap:2rem;flex-wrap:wrap;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(240,235,227,.38);margin-top:2rem}

/* KONTAKT */
.ktwo{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 64px)}
@media(max-width:768px){.ktwo{grid-template-columns:1fr!important}}
.kleft{background:var(--anth);padding:5rem 4rem;display:flex;flex-direction:column;justify-content:center}
.kright{background:var(--parch);padding:5rem 4rem;display:flex;align-items:center}
@media(max-width:900px){.kleft,.kright{padding:4rem 2rem}}
.k-info{margin-top:2.5rem;display:flex;flex-direction:column;gap:1.5rem}
.k-item{display:flex;gap:1rem;align-items:flex-start}
.k-icon{width:36px;height:36px;border:1px solid rgba(201,169,110,.3);display:flex;align-items:center;justify-content:center;color:var(--cog);font-size:.9rem;flex-shrink:0}
.k-txt{font-size:.9rem;color:rgba(240,235,227,.65);line-height:1.7}
.k-txt strong{display:block;color:rgba(240,235,227,.88);font-weight:500;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.2rem}
.form-wrap{width:100%;max-width:460px}
.form-group{margin-bottom:1.25rem}
.form-group label{display:block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--txtl);margin-bottom:.4rem}
.form-group input,.form-group textarea,.form-group select{width:100%;background:var(--crem);border:1px solid var(--crmd);padding:.8rem 1rem;font-family:var(--fb);font-size:.9rem;color:var(--txt);outline:none;transition:border-color .2s;border-radius:0;-webkit-appearance:none}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--cog)}
.form-group textarea{min-height:130px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:500px){.form-row{grid-template-columns:1fr!important}}
.form-sub{width:100%;padding:.9rem;background:var(--cog);color:#fff;border:none;cursor:pointer;font-family:var(--fb);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;transition:background .3s}
.form-sub:hover{background:var(--cog2)}
.form-note{font-size:.72rem;color:var(--txtl);margin-top:.75rem;line-height:1.6}
.form-ok{display:none;text-align:center;padding:3rem 1rem}
.form-ok.show{display:block}

/* IMPRESSUM */
.impr-body h2{font-family:var(--fd);font-size:1.25rem;font-weight:400;color:var(--anth);margin:2rem 0 .6rem}
.impr-body p{font-size:.92rem;color:var(--txt);line-height:1.85;margin-bottom:.75rem}
.impr-body a{color:var(--cog);text-decoration:underline}

/* FOOTER */
footer{background:#0d1820;padding:4rem 2rem 2rem}
.foot-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem;padding-bottom:3rem;border-bottom:1px solid rgba(155,94,58,.15)}
@media(max-width:768px){.foot-inner{grid-template-columns:1fr!important;gap:2rem}}
.foot-logo img{height:72px;width:72px;object-fit:contain;border-radius:50%;background:rgba(240,235,227,.05);padding:3px}
.foot-tag{font-size:.85rem;color:rgba(240,235,227,.38);line-height:1.8;font-style:italic;margin-top:.75rem;max-width:240px}
.foot-col h5{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cog);margin-bottom:1.25rem}
.foot-col ul{list-style:none}
.foot-col ul li{margin-bottom:.6rem}
.foot-col ul li a{font-size:.85rem;color:rgba(240,235,227,.45);text-decoration:none;cursor:pointer;transition:color .2s}
.foot-col ul li a:hover{color:rgba(240,235,227,.75)}
.foot-bot{max-width:1100px;margin:2rem auto 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.foot-copy{font-size:.72rem;color:rgba(240,235,227,.25)}
.foot-leg{display:flex;gap:1.5rem}
.foot-leg a{font-size:.72rem;color:rgba(240,235,227,.25);text-decoration:none;cursor:pointer;transition:color .2s}
.foot-leg a:hover{color:rgba(240,235,227,.55)}

/* MOBILE */
@media(max-width:768px){
  nav{padding:0 1rem}.hero{padding:2.5rem 1.25rem 4rem;min-height:85vh}.hero-deco{display:none}
  .hero-cta{flex-direction:column;gap:.75rem}.hero-cta .btn{width:100%;text-align:center}
  .sec{padding:3.5rem 1.25rem}.stats-grid{grid-template-columns:1fr!important;gap:1.25rem}
  .svc-grid{grid-template-columns:1fr!important}.process-steps{grid-template-columns:1fr 1fr!important}
  .leist-block{grid-template-columns:1fr!important;gap:1.5rem}.leist-block.rev{direction:ltr}
  .art-author{flex-direction:column;gap:1rem}
  .kleft{padding:3.5rem 1.5rem}.kright{padding:2.5rem 1.5rem}
  .foot-inner{grid-template-columns:1fr!important;gap:1.75rem}
  .foot-bot{flex-direction:column;align-items:flex-start}
}
@media(max-width:480px){
  .sec{padding:3rem 1rem}.kleft,.kright{padding:3rem 1rem}
  .art-body{padding:3rem 1rem}.art-hero{padding:4rem 1rem 3rem}
}
/* Vorher/Nachher Projekt-Slider */
.pf-slider{position:relative;background:var(--anth);padding:3rem 0 3.5rem;overflow:hidden}
.pf-slider .inner{max-width:680px}
.pf-slider-head{text-align:center;margin-bottom:1.75rem}
.pf-slider-head p{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cog);margin-bottom:.5rem}
.pf-slider-head h2{font-family:var(--fs);font-size:1.6rem;color:var(--crem);font-weight:500}
.pf-track-wrap{position:relative;border-radius:4px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.pf-track{display:flex;align-items:flex-start;transition:transform .6s cubic-bezier(.65,0,.35,1)}
.pf-slide{flex:0 0 100%;position:relative;background:var(--crem);display:flex;flex-direction:column}
.pf-slide-img{background:#0d1117;display:flex;align-items:center;justify-content:center;min-height:280px}
.pf-slide img{width:100%;height:auto;display:block;max-height:520px;object-fit:contain}
.pf-slide-cap{padding:.9rem 1.25rem 1rem;color:var(--anth);border-top:1px solid rgba(28,43,58,.08)}
.pf-slide-cap .pf-cat{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cog);margin-bottom:.3rem}
.pf-slide-cap .pf-name{font-family:var(--fs);font-size:1.05rem;color:var(--anth)}
.pf-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:rgba(20,28,38,.55);border:1px solid rgba(240,235,227,.25);color:var(--crem);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;transition:background .2s;font-size:1.1rem;backdrop-filter:blur(2px)}
.pf-nav-btn:hover{background:rgba(155,94,58,.8)}
.pf-nav-prev{left:.75rem}
.pf-nav-next{right:.75rem}
.pf-dots{display:flex;justify-content:center;gap:.45rem;margin-top:1.1rem}
.pf-dot{width:7px;height:7px;border-radius:50%;background:rgba(240,235,227,.3);cursor:pointer;transition:all .25s;border:none;padding:0}
.pf-dot.on{background:var(--cog);width:20px;border-radius:4px}
@media(max-width:680px){.pf-slide img{max-height:380px}.pf-slider{padding:2.25rem 0 2.75rem}}

/* NAV DROPDOWN */
.nav-dropdown{position:relative}
.nav-dropdown:hover .nav-sub{opacity:1;visibility:visible;transform:translateY(0)}
.nav-sub{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-6px);background:var(--anth2);border:1px solid rgba(155,94,58,.18);border-radius:4px;min-width:190px;padding:.5rem 0;list-style:none;margin:0;opacity:0;visibility:hidden;transition:all .2s ease;z-index:200;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.nav-sub::before{content:'';position:absolute;top:-6px;left:50%;transform:translateX(-50%);border:6px solid transparent;border-bottom-color:rgba(155,94,58,.18);border-top:none}
.nav-sub li a{display:block;padding:.55rem 1.2rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(240,235,227,.65);cursor:pointer;transition:color .15s,background .15s;white-space:nowrap}
.nav-sub li a:hover{color:var(--cog);background:rgba(155,94,58,.08)}

@media(max-width:640px){.warum-grid{grid-template-columns:1fr!important}}

@media(max-width:768px){.fuerwen-grid{grid-template-columns:1fr!important}}

@media(max-width:768px){.preis-grid{grid-template-columns:1fr!important}}

@media(max-width:640px){.about-photo-grid{grid-template-columns:1fr!important}}

.atelier-slide{
    flex:0 0 calc(85vw);
    max-width:820px;
    min-width:280px;
    height:420px;
    overflow:hidden;
    position:relative;
    flex-shrink:0
  }
  @media(min-width:768px){
    .atelier-slide{flex:0 0 calc(55vw);max-width:700px;height:460px}
  }
  .slide-caption{
    position:absolute;bottom:0;left:0;right:0;
    background:linear-gradient(to top,rgba(28,43,58,.85),transparent);
    color:rgba(240,235,227,.8);
    font-size:.72rem;letter-spacing:.08em;
    padding:1.5rem 1.25rem .9rem;
    font-family:var(--fb)
  }
  .slider-dot{
    width:8px;height:8px;border-radius:50%;
    background:rgba(240,235,227,.2);
    border:none;cursor:pointer;padding:0;
    transition:background .3s,transform .3s
  }
  .slider-dot.active{
    background:var(--cog);
    transform:scale(1.3)
  }

@media(max-width:768px){.ws-grid{grid-template-columns:1fr!important}}

@media(max-width:768px){.ws-grid{grid-template-columns:1fr!important}}

@media(max-width:768px){.ethik-grid{grid-template-columns:1fr!important}}

@media(max-width:768px){
  .proj-intro-grid{grid-template-columns:1fr!important}
  .proj-img-grid{grid-template-columns:1fr!important}
  .proj-steps-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:480px){
  .proj-steps-grid{grid-template-columns:1fr!important}
}