/* ── ZWEIKRAFT — shared styles ── */
*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --dark:#0D1F1A;
  --teal:#00695C;
  --teal-mid:#00897B;
  --teal-light:#00BFA5;
  --cream:#F5F2EB;
  --cream2:#EDE9DF;
  --gold:#C8A84B;
  --text:#1a1a1a;
  --muted:#6b6b6b;
  --pad-x:clamp(1.5rem,5vw,5rem);
}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--text);overflow-x:hidden;}

/* NAV */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem var(--pad-x);
  background:rgba(245,242,235,0.94);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(0,105,92,0.12);
  gap:1rem;
}
.nav-logo{display:flex;align-items:center;gap:12px;flex-shrink:0;text-decoration:none;}
.nav-mark svg{width:32px;height:32px;}
.nav-name{font-family:'DM Serif Display',serif;font-size:1.2rem;color:var(--dark);}
.nav-name span{color:var(--teal-mid);}
.nav-links{display:flex;gap:2rem;list-style:none;}
.nav-links a{font-size:0.8rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--teal);}
.nav-cta{
  background:var(--dark);color:var(--cream);
  padding:0.55rem 1.3rem;border-radius:2px;flex-shrink:0;
  font-size:0.78rem;letter-spacing:1.5px;text-transform:uppercase;
  text-decoration:none;transition:background 0.2s;white-space:nowrap;
}
.nav-cta:hover{background:var(--teal);}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;border:none;background:none;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--dark);border-radius:2px;transition:all 0.3s;}

/* SECTION LABEL */
.section-label{
  font-size:0.7rem;letter-spacing:4px;text-transform:uppercase;
  margin-bottom:1rem;display:flex;align-items:center;gap:12px;
}
.section-label::after{content:'';flex:1;height:1px;}

/* BUTTONS */
.btn-primary{
  background:var(--dark);color:var(--cream);
  padding:0.9rem 2rem;border-radius:2px;
  font-size:0.82rem;letter-spacing:1.5px;text-transform:uppercase;
  text-decoration:none;transition:background 0.2s,transform 0.15s;display:inline-block;
}
.btn-primary:hover{background:var(--teal);transform:translateY(-2px);}
.btn-ghost{
  color:var(--dark);font-size:0.85rem;letter-spacing:1px;
  text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:color 0.2s;
}
.btn-ghost:hover{color:var(--teal);}
.btn-ghost::after{content:'→';transition:transform 0.2s;}
.btn-ghost:hover::after{transform:translateX(4px);}
.btn-light{
  background:var(--cream);color:var(--teal);
  padding:0.9rem 2.2rem;border-radius:2px;
  font-size:0.82rem;letter-spacing:1.5px;text-transform:uppercase;
  text-decoration:none;transition:background 0.2s,transform 0.15s;font-weight:600;display:inline-block;
}
.btn-light:hover{background:white;transform:translateY(-2px);}

/* FOOTER */
footer{
  padding:3rem var(--pad-x);background:var(--dark);
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;
}
.footer-logo{font-family:'DM Serif Display',serif;font-size:1.3rem;color:var(--cream);text-decoration:none;}
.footer-logo span{color:var(--teal-mid);}
.footer-links{display:flex;gap:1.8rem;list-style:none;flex-wrap:wrap;}
.footer-links a{font-size:0.76rem;letter-spacing:1.5px;text-transform:uppercase;color:rgba(245,242,235,0.38);text-decoration:none;transition:color 0.2s;}
.footer-links a:hover{color:var(--teal-light);}
.footer-copy{font-size:0.75rem;color:rgba(245,242,235,0.22);}

/* PAGE HERO (inner pages) */
.page-hero{
  padding:9rem var(--pad-x) 4rem;
  background:var(--dark);
  position:relative;overflow:hidden;
}
.page-hero::before{
  content:'';position:absolute;right:-60px;top:40px;
  width:0;height:0;
  border-left:280px solid transparent;
  border-right:280px solid transparent;
  border-bottom:480px solid rgba(0,191,165,0.04);
  transform:rotate(15deg);
}
.page-hero-eyebrow{
  font-size:0.7rem;letter-spacing:4px;text-transform:uppercase;
  color:var(--teal-light);margin-bottom:1.2rem;
  display:flex;align-items:center;gap:10px;
}
.page-hero-eyebrow::before{content:'';width:24px;height:1px;background:var(--teal-light);}
.page-hero h1{
  font-family:'DM Serif Display',serif;
  font-size:clamp(2.4rem,5vw,4.5rem);
  color:var(--cream);line-height:1.1;
  max-width:600px;margin-bottom:1.2rem;
}
.page-hero h1 em{font-style:italic;color:var(--teal-light);}
.page-hero p{font-size:1rem;color:rgba(245,242,235,0.55);max-width:500px;line-height:1.85;}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}

/* RESPONSIVE */
@media(max-width:1024px){
  .services-grid{grid-template-columns:repeat(2,1fr);}
  .why{grid-template-columns:1fr;gap:3rem;}
  .why-visual{height:320px;max-width:480px;}
  .process-steps{grid-template-columns:repeat(2,1fr);}
  .process-steps::before{display:none;}
}
@media(max-width:768px){
  .nav-links{
    display:none;flex-direction:column;gap:0;
    position:fixed;top:60px;left:0;right:0;
    background:var(--cream);border-bottom:1px solid rgba(0,105,92,0.12);
    padding:0.5rem 0;z-index:99;
  }
  .nav-links.open{display:flex;}
  .nav-links li a{display:block;padding:0.85rem var(--pad-x);font-size:0.9rem;}
  .nav-toggle{display:flex;}
  .nav-cta{display:none;}
  .hero{padding-top:6rem;padding-bottom:3rem;}
  .hero-inner{flex-direction:column;align-items:flex-start;gap:2rem;}
  .hero-mark{display:none;}
  .services-grid{grid-template-columns:1fr;}
  .why{padding-top:4rem;padding-bottom:4rem;}
  .why-visual{display:none;}
  .process-steps{grid-template-columns:1fr;gap:2rem;}
  .cta-section{flex-direction:column;align-items:flex-start;}
  footer{flex-direction:column;align-items:flex-start;}
  .page-hero{padding-top:7rem;padding-bottom:3rem;}
}
@media(max-width:400px){
  .hero h1{font-size:2.2rem;}
  .hero-actions{flex-direction:column;align-items:flex-start;gap:1rem;}
  .service-card{padding:2rem 1.5rem;}
}
