
:root{
  --bg:#f7f3ed;
  --surface:#fffdfa;
  --surface-2:#f1ebe3;
  --text:#17181a;
  --muted:#666258;
  --line:#ddd3c5;
  --dark:#101316;
  --dark-2:#181d22;
  --accent:#b87433;
  --accent-dark:#945a24;
  --accent-soft:#f3e5d6;
  --green:#1f8f5f;
  --radius:24px;
  --radius-lg:34px;
  --shadow:0 30px 80px rgba(16,19,22,.10);
  --shadow-soft:0 18px 45px rgba(16,19,22,.07);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top right, rgba(184,116,51,.08), transparent 24%),
    radial-gradient(circle at left center, rgba(184,116,51,.04), transparent 18%),
    var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.skip-link{position:absolute;left:-9999px;top:10px;background:#fff;padding:10px 14px;z-index:100}
.skip-link:focus{left:10px}

h1,h2,h3{
  font-family:Georgia, "Times New Roman", serif;
  font-weight:700;
}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(247,243,237,.88);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(23,24,26,.06);
}
.nav{
  height:88px;
  display:flex;
  align-items:center;
  gap:28px;
}
.brand{margin-right:auto}
.brand img{
  width:265px;
  max-height:64px;
  object-fit:contain;
  object-position:left center;
}
.main-nav{
  display:flex;
  gap:26px;
  align-items:center;
  font-size:13px;
  font-weight:700;
  letter-spacing:.02em;
}
.main-nav a{
  position:relative;
  padding:6px 0;
}
.main-nav a:after{
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  width:0;
  height:1px;
  background:var(--accent);
  transition:.2s ease;
}
.main-nav a:hover{color:var(--accent)}
.main-nav a:hover:after{width:100%}
.header-cta{
  background:var(--dark);
  color:#fff;
  border-radius:999px;
  padding:12px 18px;
  font-size:12px;
  font-weight:800;
  box-shadow:var(--shadow-soft);
  transition:.18s ease;
}
.header-cta:hover{background:var(--accent);transform:translateY(-1px)}
.menu-toggle{display:none;background:none;border:0;padding:8px}
.menu-toggle span{display:block;width:25px;height:2px;background:var(--text);margin:5px}

.hero{
  padding:104px 0 84px;
  overflow:hidden;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:76px;
  align-items:center;
}
.eyebrow,.label{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--accent);
}
.eyebrow span{
  width:8px;
  height:8px;
  background:var(--accent);
  border-radius:50%;
}
.hero h1{
  margin:18px 0 26px;
  font-size:clamp(56px,7vw,90px);
  line-height:.94;
  letter-spacing:-.05em;
}
.hero h1 em{font-style:normal;color:var(--accent)}
.lead{
  max-width:700px;
  font-size:20px;
  color:var(--muted);
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}
.btn{
  min-height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 24px;
  border-radius:999px;
  font-weight:800;
  cursor:pointer;
  transition:.18s ease;
  border:0;
}
.btn.primary{
  background:linear-gradient(180deg,var(--accent),var(--accent-dark));
  color:#fff;
  box-shadow:0 16px 32px rgba(184,116,51,.24);
}
.btn.primary:hover{transform:translateY(-1px);filter:brightness(1.03)}
.btn.secondary{
  background:rgba(255,255,255,.8);
  border:1px solid var(--line);
  color:var(--text);
}
.btn.secondary:hover{
  background:#fff;
  transform:translateY(-1px);
  border-color:#cdbfae;
}
.btn.full{width:100%}

.contact-mini{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:42px;
  padding-top:24px;
  border-top:1px solid var(--line);
}
.contact-mini a{
  display:flex;
  flex-direction:column;
  padding:12px 14px;
  background:rgba(255,255,255,.54);
  border:1px solid rgba(184,116,51,.10);
  border-radius:16px;
}
.contact-mini b{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.11em;
}
.contact-mini span{
  font-size:14px;
  color:var(--muted);
  margin-top:4px;
}

.hero-visual{position:relative}
.hero-photo{
  min-height:600px;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow);
  background:#ddd;
}
.hero-photo img{
  width:100%;
  height:600px;
  object-fit:cover;
}
.hero-floating-card{
  position:absolute;
  left:-36px;
  bottom:28px;
  max-width:345px;
  background:rgba(16,19,22,.94);
  color:#fff;
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  padding:26px;
  box-shadow:0 26px 64px rgba(0,0,0,.24);
}
.hero-floating-card small{
  color:#d7aa81;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hero-floating-card h2{
  font-size:36px;
  line-height:1.05;
  letter-spacing:-.04em;
  margin:10px 0 12px;
}
.hero-floating-card p{
  font-size:13px;
  color:#c8ccd0;
  margin:0;
}

.signal-strip{
  background:linear-gradient(180deg,#111417,#191d21);
  color:#d5d7da;
  border-top:1px solid rgba(255,255,255,.03);
  border-bottom:1px solid rgba(255,255,255,.05);
}
.signal-grid{
  min-height:74px;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  align-items:center;
  text-align:center;
}
.signal-grid span{
  font-size:10px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:7px;
}
.signal-grid span+span{border-left:1px solid rgba(255,255,255,.08)}

.section{padding:102px 0}
.section-head{
  display:grid;
  grid-template-columns:1fr .7fr;
  gap:70px;
  align-items:end;
  margin-bottom:46px;
}
.section-head h2,.showcase-copy h2,.process-title h2,.area-grid h2,.contact-section h2{
  margin:12px 0 0;
  font-size:clamp(40px,5vw,62px);
  line-height:1.02;
  letter-spacing:-.045em;
}
.section-head p{
  color:var(--muted);
  font-size:17px;
  margin-bottom:8px;
}

.service-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.service-card{
  min-height:242px;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(184,116,51,.12);
  border-radius:28px;
  padding:26px;
  display:flex;
  flex-direction:column;
  transition:.22s ease;
  box-shadow:var(--shadow-soft);
}
.service-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 56px rgba(16,19,22,.10);
  border-color:rgba(184,116,51,.28);
  background:#fff;
}
.service-card>span{
  font-size:11px;
  color:var(--accent);
  font-weight:900;
}
.service-card h3{
  font-size:21px;
  letter-spacing:-.02em;
  margin:38px 0 10px;
}
.service-card p{
  font-size:13px;
  color:var(--muted);
  margin:0;
}

.showcase-section{
  background:
    linear-gradient(135deg, rgba(184,116,51,.08), transparent 35%),
    linear-gradient(180deg,#101316,#1a2026);
  color:#fff;
  padding:104px 0;
}
.showcase-grid{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:78px;
  align-items:center;
}
.showcase-image{
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.showcase-image img{
  width:100%;
  height:640px;
  object-fit:cover;
}
.label.light{color:#ddb28a}
.showcase-copy h2 em{color:var(--accent);font-style:normal}
.dark-lead{
  color:#c8ccd0;
  font-size:18px;
  margin-top:12px;
}
.check-list{list-style:none;padding:0;margin:30px 0}
.check-list li{
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.10);
  font-size:14px;
}
.check-list li:before{
  content:"✓";
  color:#ddb28a;
  font-weight:900;
  margin-right:11px;
}
.link-arrow{
  font-weight:850;
  border-bottom:1px solid rgba(255,255,255,.35);
  padding-bottom:5px;
}
.link-arrow span{color:var(--accent);margin-left:10px}

.gallery-section{
  padding:102px 0;
  background:linear-gradient(180deg,#fffdfa,#f7f1e8);
}
.gallery-head{margin-bottom:36px}
.gallery-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  grid-template-rows:300px 300px;
  gap:16px;
}
.gallery-grid figure,.gallery-text{margin:0;border-radius:28px;overflow:hidden}
.gallery-grid figure{
  position:relative;
  background:#ddd;
  box-shadow:var(--shadow-soft);
}
.gallery-grid img{width:100%;height:100%;object-fit:cover}
.gallery-large{grid-row:1/3}
.gallery-grid figcaption{
  position:absolute;
  left:18px;
  bottom:18px;
  background:rgba(17,20,24,.82);
  color:#fff;
  border-radius:999px;
  padding:9px 14px;
  font-size:11px;
  font-weight:850;
}
.gallery-text{
  background:linear-gradient(180deg,var(--accent),var(--accent-dark));
  color:#fff;
  padding:32px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  box-shadow:var(--shadow-soft);
}
.gallery-text span{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:900;
  color:#fbe8d9;
}
.gallery-text strong{
  font-size:30px;
  line-height:1.1;
  margin:12px 0;
  font-family:Georgia, "Times New Roman", serif;
}
.gallery-text p{margin:0;color:#f9ebdf;font-size:13px}

.prices{
  background:
    linear-gradient(180deg,#eee6dc,#f5f0e8);
}
.price-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
}
.price-card{
  min-height:205px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(184,116,51,.12);
  border-radius:24px;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  box-shadow:var(--shadow-soft);
}
.price-card>span{
  font-size:12px;
  color:var(--muted);
  margin-bottom:auto;
}
.price-card strong{
  font-size:32px;
  letter-spacing:-.04em;
}
.price-card small{
  color:var(--muted);
  margin-top:4px;
}
.price-card.featured{
  background:linear-gradient(180deg,#14181b,#1d2329);
  border-color:#14181b;
  color:#fff;
}
.price-card.featured>span,.price-card.featured small{color:#bec4c9}
.price-card.featured strong{color:#ddb28a}
.fineprint{
  font-size:11px;
  color:var(--muted);
  margin:16px 4px 0;
}

.process-section{
  background:
    linear-gradient(180deg,#171c21,#232a31);
  color:#fff;
  padding:102px 0;
}
.process-title{max-width:760px}
.process-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
  margin-top:54px;
}
.process-grid article{
  border-top:1px solid rgba(255,255,255,.12);
  padding-top:20px;
}
.process-grid article>span{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(180deg,var(--accent),var(--accent-dark));
  font-size:10px;
  font-weight:900;
}
.process-grid h3{
  font-size:21px;
  margin:42px 0 8px;
}
.process-grid p{
  font-size:13px;
  color:#c2c8cd;
  margin:0;
}

.area-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:82px;
  align-items:center;
}
.area-grid p{font-size:17px;color:var(--muted)}
.pills{display:flex;flex-wrap:wrap;gap:10px}
.pills span{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(184,116,51,.14);
  padding:12px 15px;
  border-radius:999px;
  font-size:13px;
  font-weight:750;
  box-shadow:var(--shadow-soft);
}

.contact-section{
  background:
    linear-gradient(135deg, rgba(184,116,51,.10), transparent 30%),
    linear-gradient(180deg,#101316,#191e23);
  color:#fff;
  padding:102px 0;
}
.contact-grid{
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:72px;
}
.contact-section p{
  font-size:17px;
  color:#c7ccd0;
  max-width:560px;
}
.contact-list{display:grid;gap:10px;margin-top:31px}
.contact-list a{
  display:flex;
  align-items:center;
  gap:14px;
  padding:15px;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.045);
  border-radius:18px;
  transition:.18s;
}
.contact-list a:hover{
  transform:translateX(3px);
  background:rgba(255,255,255,.08);
}
.contact-badge{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(180deg,var(--accent),var(--accent-dark));
  font-size:10px;
  font-weight:900;
}
.contact-badge.whatsapp{background:var(--green)}
.contact-list small,.contact-list strong{display:block}
.contact-list small{
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#9ea6ad;
}
.contact-list strong{font-size:14px;margin-top:2px}
.contact-form{
  background:rgba(255,253,250,.98);
  color:var(--text);
  border:1px solid rgba(184,116,51,.10);
  border-radius:30px;
  padding:32px;
  box-shadow:var(--shadow);
}
.form-head{
  padding-bottom:20px;
  margin-bottom:20px;
  border-bottom:1px solid var(--line);
}
.form-head span,.form-head strong{display:block}
.form-head span{
  color:var(--accent);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:900;
}
.form-head strong{
  font-size:24px;
  margin-top:5px;
  font-family:Georgia, "Times New Roman", serif;
}
.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.contact-form label{
  display:block;
  font-size:12px;
  font-weight:800;
  margin-bottom:13px;
}
.contact-form input,.contact-form select,.contact-form textarea{
  width:100%;
  margin-top:6px;
  padding:13px 14px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#fbf9f5;
  outline:none;
}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(184,116,51,.10);
}
.form-note{
  display:block;
  margin-top:10px;
  color:#888073;
  font-size:10px;
  line-height:1.4;
}

.hp-field{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.privacy-check{
  display:flex!important;
  align-items:flex-start;
  gap:10px;
  margin:2px 0 16px!important;
  font-weight:500!important;
  font-size:11px!important;
  line-height:1.45;
  color:#666!important;
}
.privacy-check input{
  width:16px!important;
  height:16px!important;
  min-width:16px;
  margin:1px 0 0!important;
  accent-color:var(--accent);
}
.privacy-check span{display:block}
.privacy-check a{
  color:var(--accent-dark);
  text-decoration:underline;
  text-underline-offset:2px;
}
.form-status{
  display:none;
  margin-top:12px;
  padding:12px 14px;
  border-radius:12px;
  font-size:12px;
  line-height:1.45;
}
.form-status.success{
  display:block;
  background:#e9f7ef;
  color:#17623f;
  border:1px solid #bfe5cf;
}
.form-status.error{
  display:block;
  background:#fff0ed;
  color:#9f2e1c;
  border:1px solid #f1c5bb;
}
.contact-form button[disabled]{
  opacity:.7;
  cursor:wait;
  transform:none!important;
}

.floating-whatsapp{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:45;
  display:flex;
  align-items:center;
  gap:8px;
  background:var(--green);
  color:#fff;
  padding:9px 15px 9px 9px;
  border-radius:999px;
  box-shadow:0 15px 36px rgba(0,0,0,.22);
  transition:.18s;
}
.floating-whatsapp:hover{transform:translateY(-2px)}
.floating-whatsapp span{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.16);
  font-size:9px;
  font-weight:900;
}
.floating-whatsapp strong{font-size:12px}

footer{
  background:#111418;
  color:#d2d6da;
  padding:44px 0 22px;
}
.footer-top{
  display:grid;
  grid-template-columns:1.1fr 1fr auto;
  gap:35px;
  align-items:center;
}
.footer-logo-badge{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  padding:14px 18px;
  border-radius:18px;
  background:#fffdfa;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.footer-logo-badge img{
  width:265px;
  max-height:68px;
  object-fit:contain;
  object-position:left center;
  display:block;
}
.footer-contact{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:13px;
}
.footer-contact a:hover,.footer-links a:hover{color:#fff3e7}
.footer-links{display:flex;gap:18px;font-size:12px}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid #2a3036;
  margin-top:28px;
  padding-top:19px;
  color:#8c949c;
  font-size:10px;
}

.legal-page{min-height:100vh;padding:70px 0}
.legal-wrap{max-width:830px}
.legal-logo{width:300px;margin-bottom:42px}
.legal-page h1{
  font-size:52px;
  letter-spacing:-.04em;
  margin-bottom:28px;
}
.legal-page h2{
  margin-top:38px;
  font-family:Georgia, "Times New Roman", serif;
}
.legal-page p,.legal-page li{color:var(--muted)}
.back-link{
  display:inline-block;
  color:var(--accent);
  font-weight:850;
  margin-bottom:30px;
}
.notice{
  background:var(--accent-soft);
  border:1px solid #ebc8a8;
  border-radius:15px;
  padding:18px;
  margin:25px 0;
}

@media(max-width:980px){
  .main-nav{display:none}
  .menu-toggle{display:block}
  .header-cta{margin-left:0}
  .main-nav.open{
    display:flex;
    position:absolute;
    top:75px;
    left:20px;
    right:20px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:var(--shadow);
    padding:17px;
    flex-direction:column;
    align-items:stretch;
  }
  .hero-grid,.showcase-grid,.area-grid,.contact-grid{grid-template-columns:1fr}
  .section-head{grid-template-columns:1fr;gap:12px}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .price-grid,.process-grid{grid-template-columns:repeat(2,1fr)}
  .footer-top{grid-template-columns:1fr auto}
  .footer-contact{grid-column:1/-1}
  .hero-floating-card{left:20px}
}
@media(max-width:700px){
  .container{width:min(var(--max),calc(100% - 26px))}
  .nav{height:74px}
  .brand img{width:205px}
  .header-cta{display:none}
  .main-nav.open{left:13px;right:13px;top:67px}
  .hero{padding:58px 0}
  .hero h1{font-size:52px}
  .lead{font-size:18px}
  .contact-mini,.service-grid,.price-grid,.process-grid,.two-cols{grid-template-columns:1fr}
  .hero-photo{min-height:380px}
  .hero-photo img{height:380px}
  .hero-floating-card{position:static;max-width:none;margin-top:14px}
  .signal-grid{grid-template-columns:1fr 1fr;min-height:auto;padding:15px 0}
  .signal-grid span{padding:10px}
  .signal-grid span+span{border-left:0}
  .section{padding:74px 0}
  .service-card{min-height:230px}
  .showcase-section,.process-section,.contact-section{padding:76px 0}
  .showcase-image img{height:380px}
  .gallery-grid{grid-template-columns:1fr;grid-template-rows:310px 230px auto}
  .gallery-large{grid-row:auto}
  .gallery-text{min-height:220px}
  .footer-top{grid-template-columns:1fr}
  .footer-links{margin-top:8px}
  .footer-bottom{flex-direction:column}
  .floating-whatsapp{padding:8px}
  .floating-whatsapp strong{display:none}
  .floating-whatsapp span{width:40px;height:40px}
}


/* Refined premium typography + balanced headline layout */
:root{
  --display-font: "Aptos Display", "Segoe UI Variable Display", "Helvetica Neue", Arial, sans-serif;
  --body-font: "Aptos", "Segoe UI Variable Text", "Helvetica Neue", Arial, sans-serif;
}

body{
  font-family:var(--body-font);
  letter-spacing:-.005em;
}

h1,h2,h3{
  font-family:var(--display-font);
  font-weight:650;
  letter-spacing:-.045em;
}

.balanced-title{
  text-wrap:balance;
  max-width:18ch;
}

.hero .balanced-title{
  max-width:13.4ch;
}

.section-head .balanced-title{
  max-width:16.5ch;
}

.showcase-copy .balanced-title{
  max-width:14.5ch;
}

.process-title .balanced-title{
  max-width:17ch;
}

.area-grid .balanced-title,
.contact-section .balanced-title{
  max-width:13ch;
}

.balanced-title em{
  font-style:normal;
  color:var(--accent);
}

.section-head{
  position:relative;
}

.section-head:before{
  content:"";
  position:absolute;
  top:-25px;
  left:0;
  width:46px;
  height:1px;
  background:linear-gradient(90deg,var(--accent),transparent);
}

.hero h1{
  font-weight:620;
  line-height:.96;
  letter-spacing:-.058em;
}

.section-head h2,
.showcase-copy h2,
.process-title h2,
.area-grid h2,
.contact-section h2{
  font-weight:620;
  line-height:1.01;
  letter-spacing:-.05em;
}

.label,.eyebrow{
  letter-spacing:.19em;
  font-weight:800;
}

.service-card{
  padding:28px;
  border-radius:26px;
}

.service-card h3{
  font-family:var(--display-font);
  font-weight:650;
  letter-spacing:-.035em;
}

.service-card:hover{
  transform:translateY(-4px);
}

.price-card{
  border-radius:26px;
}

.price-card strong{
  font-family:var(--display-font);
  font-weight:650;
}

.gallery-text strong{
  font-family:var(--display-font);
  font-weight:620;
  letter-spacing:-.04em;
}

.form-head strong{
  font-family:var(--display-font);
  font-weight:650;
}

.hero-floating-card h2{
  font-family:var(--display-font);
  font-weight:620;
  text-wrap:balance;
}

.hero-photo,
.showcase-image,
.gallery-grid figure{
  position:relative;
}

.hero-photo:after,
.showcase-image:after,
.gallery-grid figure:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
  border-radius:inherit;
}

@media (min-width:981px){
  .section-head > div{
    max-width:700px;
  }

  .contact-section h2{
    max-width:10ch;
  }
}

@media(max-width:700px){
  .balanced-title,
  .hero .balanced-title,
  .section-head .balanced-title,
  .showcase-copy .balanced-title,
  .process-title .balanced-title,
  .area-grid .balanced-title,
  .contact-section .balanced-title{
    max-width:none;
    text-wrap:balance;
  }

  .hero h1{
    font-size:clamp(46px,13vw,58px);
    line-height:.98;
  }

  .section-head h2,
  .showcase-copy h2,
  .process-title h2,
  .area-grid h2,
  .contact-section h2{
    font-size:clamp(36px,10vw,48px);
    line-height:1.02;
  }
}


/* Premium hero image slider */
.hero-slider{
  position:relative;
  min-height:600px;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:#d8d2ca;
  box-shadow:var(--shadow);
  isolation:isolate;
}
.hero-slides{
  position:absolute;
  inset:0;
}
.hero-slide{
  position:absolute;
  inset:0;
  margin:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .75s ease, visibility .75s ease;
}
.hero-slide.active{
  opacity:1;
  visibility:visible;
}
.hero-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.015);
  transition:transform 6s ease;
}
.hero-slide.active img{
  transform:scale(1.055);
}
.hero-slide-shade{
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(180deg, rgba(8,10,12,.02) 20%, rgba(8,10,12,.30) 100%),
    linear-gradient(90deg, rgba(8,10,12,.05), transparent 50%);
  pointer-events:none;
}
.hero-slider-caption{
  position:absolute;
  left:24px;
  top:24px;
  z-index:4;
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:11px 14px;
  background:rgba(12,15,18,.72);
  backdrop-filter:blur(12px);
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
}
.hero-slider-caption small{
  font-size:8px;
  letter-spacing:.18em;
  font-weight:900;
  color:#d9b38d;
}
.hero-slider-caption strong{
  font-size:12px;
  font-weight:700;
}
.slider-arrow{
  position:absolute;
  z-index:5;
  top:50%;
  transform:translateY(-50%);
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:50%;
  background:rgba(13,16,19,.56);
  color:#fff;
  backdrop-filter:blur(10px);
  display:grid;
  place-items:center;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  transition:.18s ease;
}
.slider-arrow:hover{
  background:rgba(184,116,51,.92);
  border-color:rgba(255,255,255,.25);
}
.slider-prev{left:18px}
.slider-next{right:18px}
.slider-dots{
  position:absolute;
  z-index:5;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(12,15,18,.48);
  backdrop-filter:blur(10px);
}
.slider-dot{
  width:8px;
  height:8px;
  min-width:8px;
  border:0;
  border-radius:50%;
  padding:0;
  background:rgba(255,255,255,.48);
  cursor:pointer;
  transition:.2s ease;
}
.slider-dot.active{
  width:24px;
  border-radius:999px;
  background:#fff;
}
.symbol-photo-note{
  margin:12px 5px 0;
  color:var(--muted);
  font-size:10px;
  line-height:1.45;
  letter-spacing:.01em;
}
@media (prefers-reduced-motion: reduce){
  .hero-slide,
  .hero-slide img{
    transition:none!important;
  }
}
@media(max-width:700px){
  .hero-slider{
    min-height:390px;
  }
  .slider-arrow{
    width:42px;
    height:42px;
  }
  .hero-slider-caption{
    top:16px;
    left:16px;
  }
}


/* Premium photo upload */
.photo-upload{
  margin:4px 0 17px;
}
.upload-label{
  display:flex!important;
  align-items:center;
  gap:14px;
  min-height:78px;
  padding:14px 16px;
  border:1px dashed #cbbba9;
  border-radius:16px;
  background:#fbf8f3;
  cursor:pointer;
  transition:.18s ease;
}
.upload-label:hover{
  border-color:var(--accent);
  background:#fffaf4;
}
.upload-icon{
  width:44px;
  height:44px;
  min-width:44px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--accent-soft);
  color:var(--accent-dark);
  font-size:26px;
  line-height:1;
  font-weight:400;
}
.upload-copy{
  min-width:0;
}
.upload-label strong,
.upload-label small{
  display:block;
}
.upload-label strong{
  font-size:13px;
  color:var(--text);
}
.upload-label small{
  margin-top:3px;
  font-size:10px;
  line-height:1.35;
  color:var(--muted);
  font-weight:500;
}
#photos{
  position:absolute;
  width:1px!important;
  height:1px!important;
  opacity:0;
  overflow:hidden;
  pointer-events:none;
}
.photo-preview{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}
.preview-item{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.preview-item img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.preview-item span{
  display:block;
  padding:6px 7px;
  font-size:9px;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.upload-error{
  grid-column:1/-1;
  margin:0;
  padding:10px 12px;
  border:1px solid #f1c5bb;
  border-radius:10px;
  background:#fff0ed;
  color:#9f2e1c!important;
  font-size:11px!important;
}
@media(max-width:700px){
  .photo-preview{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


.upload-processing,
.upload-summary{
  grid-column:1/-1;
  margin:0;
  padding:10px 12px;
  border-radius:10px;
  font-size:10px!important;
  line-height:1.4;
}
.upload-processing{
  color:var(--muted)!important;
  background:#f6f2ec;
  border:1px solid var(--line);
}
.upload-summary{
  color:#17623f!important;
  background:#e9f7ef;
  border:1px solid #bfe5cf;
}


/* =========================================================
   WEISERWERK – permanenter Kontakt-Tab
   Native <details>/<summary> Lösung: kein JavaScript nötig
   ========================================================= */

.quick-contact-native{
  position:fixed;
  z-index:2147483000;
  right:0;
  top:50%;
  transform:translateY(-50%);
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  font-family:var(--body-font,Arial,Helvetica,sans-serif);
}

.quick-contact-native > summary{
  list-style:none;
}

.quick-contact-native > summary::-webkit-details-marker{
  display:none;
}

.quick-contact-native-toggle{
  width:54px;
  min-height:140px;
  box-sizing:border-box;
  border:0;
  border-radius:26px 0 0 26px;
  background:#111418;
  color:#fff;
  box-shadow:0 16px 40px rgba(0,0,0,.24);
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 7px;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}

.quick-contact-native-toggle:hover{
  background:#b87433;
}

.quick-contact-native-toggle:focus-visible{
  outline:3px solid rgba(184,116,51,.35);
  outline-offset:3px;
}

.quick-contact-native-icon{
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.13);
  font-size:22px;
  line-height:1;
  transition:transform .18s ease;
}

.quick-contact-native[open] .quick-contact-native-icon{
  transform:rotate(45deg);
}

.quick-contact-native-label{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:9px;
  line-height:1;
  font-weight:850;
}

.quick-contact-native-panel{
  position:absolute;
  right:64px;
  top:50%;
  transform:translateY(-50%);
  width:320px;
  box-sizing:border-box;
  padding:16px;
  border:1px solid rgba(184,116,51,.18);
  border-radius:22px;
  background:#fffdfa;
  box-shadow:0 24px 64px rgba(16,19,22,.22);
  color:#17191c;
}

.quick-contact-native:not([open]) .quick-contact-native-panel{
  display:none;
}

.quick-contact-native-head{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:5px 4px 13px;
  margin-bottom:7px;
  border-bottom:1px solid #e8e0d6;
}

.quick-contact-native-head small,
.quick-contact-native-head strong,
.quick-contact-native-head span{
  display:block;
}

.quick-contact-native-head small{
  color:#b87433;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-weight:850;
}

.quick-contact-native-head strong{
  font-size:20px;
  line-height:1.15;
  letter-spacing:-.025em;
}

.quick-contact-native-hint{
  margin-top:3px;
  color:#817b73;
  font-size:9px;
}

.quick-native-action{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:8px;
  padding:12px;
  box-sizing:border-box;
  border:1px solid #e8e0d6;
  border-radius:15px;
  background:#fff;
  color:#17191c;
  text-decoration:none;
}

.quick-native-action:hover{
  border-color:rgba(184,116,51,.4);
  box-shadow:0 8px 22px rgba(16,19,22,.07);
}

.quick-native-primary{
  background:#b87433;
  border-color:#b87433;
  color:#fff;
}

.quick-native-action-icon{
  width:40px;
  height:40px;
  min-width:40px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#f4e7da;
  color:#945a24;
  font-size:10px;
  font-weight:900;
}

.quick-native-primary .quick-native-action-icon{
  background:rgba(255,255,255,.16);
  color:#fff;
}

.quick-native-action strong,
.quick-native-action small{
  display:block;
}

.quick-native-action strong{
  font-size:13px;
  line-height:1.25;
}

.quick-native-action small{
  margin-top:2px;
  color:#77716b;
  font-size:10px;
  line-height:1.3;
}

.quick-native-primary small{
  color:rgba(255,255,255,.84);
}

.quick-contact-native-note{
  margin:12px 4px 2px;
  color:#77716b;
  font-size:10px;
  line-height:1.45;
}

@media(max-width:700px){
  .quick-contact-native{
    right:0;
    top:50%;
    transform:translateY(-50%);
  }

  .quick-contact-native-toggle{
    width:44px;
    min-height:116px;
    border-radius:22px 0 0 22px;
    padding:9px 5px;
  }

  .quick-contact-native-icon{
    width:27px;
    height:27px;
    flex-basis:27px;
    font-size:19px;
  }

  .quick-contact-native-label{
    font-size:8px;
    letter-spacing:.11em;
  }

  .quick-contact-native-panel{
    right:52px;
    width:min(310px,calc(100vw - 64px));
    max-height:calc(100vh - 28px);
    overflow:auto;
  }
}

@media(prefers-reduced-motion:reduce){
  .quick-contact-native-icon{
    transition:none;
  }
}


/* WEISERWERK update: Malerarbeiten + echtes WhatsApp-Logo */
.quick-native-action-icon img{
  width:22px;
  height:22px;
  display:block;
}

.quick-native-action-icon-wa{
  background:#ffffff;
  border:1px solid #dfe7df;
  overflow:hidden;
}

.quick-native-action-icon-wa img{
  width:24px;
  height:24px;
}

.service-grid{
  align-items:stretch;
}


/* =========================================================
   WEISERWERK 60-Sekunden-Projektcheck
   ========================================================= */
.projectcheck-teaser{
  padding:26px 0 22px;
}

.projectcheck-teaser-card{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);
  gap:34px;
  align-items:center;
  padding:38px;
  border-radius:28px;
  background:
    radial-gradient(circle at 88% 10%,rgba(184,116,51,.16),transparent 30%),
    #111418;
  color:#fff;
  box-shadow:0 24px 65px rgba(15,18,20,.13);
}

.projectcheck-teaser-card h2{
  color:#fff;
  margin:7px 0 12px;
}

.projectcheck-teaser-card h2 em{
  color:#d9a979;
}

.projectcheck-teaser-copy>p{
  max-width:760px;
  color:#c7cbd0;
}

.projectcheck-points{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:20px;
}

.projectcheck-points span{
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  color:#e8e9ea;
  font-size:11px;
}

.projectcheck-teaser-action{
  padding:24px;
  border-radius:22px;
  background:#fffdfa;
  color:#17191c;
  box-shadow:0 14px 36px rgba(0,0,0,.16);
}

.projectcheck-teaser-action strong,
.projectcheck-teaser-action small{
  display:block;
}

.projectcheck-teaser-action strong{
  margin-top:15px;
  font-size:20px;
  letter-spacing:-.02em;
}

.projectcheck-teaser-action small{
  margin:5px 0 17px;
  color:#77716b;
}

.projectcheck-teaser-action .btn{
  width:100%;
  text-align:center;
}

.projectcheck-mini-progress{
  display:flex;
  gap:6px;
}

.projectcheck-mini-progress span{
  height:5px;
  flex:1;
  border-radius:999px;
  background:#e9e0d7;
}

.projectcheck-mini-progress .active{
  background:#b87433;
}

.projectcheck-modal[hidden]{
  display:none!important;
}

.projectcheck-modal{
  position:fixed;
  inset:0;
  z-index:2147483100;
  display:grid;
  place-items:center;
  padding:18px;
}

.projectcheck-backdrop{
  position:absolute;
  inset:0;
  background:rgba(10,12,15,.73);
  backdrop-filter:blur(8px);
}

.projectcheck-dialog{
  position:relative;
  z-index:1;
  width:min(900px,100%);
  max-height:calc(100vh - 36px);
  overflow:auto;
  border-radius:28px;
  background:#fffdfa;
  color:#17191c;
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 32px 100px rgba(0,0,0,.35);
}

.projectcheck-topbar{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  padding:24px 28px 18px;
  border-bottom:1px solid #ece3d9;
}

.projectcheck-topbar small,
.projectcheck-topbar strong{
  display:block;
}

.projectcheck-topbar small{
  color:#b87433;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.15em;
}

.projectcheck-topbar strong{
  margin-top:3px;
  font-size:22px;
  letter-spacing:-.03em;
}

.projectcheck-close{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border:1px solid #e5ddd3;
  border-radius:50%;
  background:#fff;
  color:#17191c;
  font-size:24px;
  cursor:pointer;
}

.projectcheck-progress-wrap{
  padding:17px 28px 0;
}

.projectcheck-progress-meta{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-bottom:8px;
  color:#78716a;
  font-size:10px;
}

.projectcheck-progress{
  height:6px;
  overflow:hidden;
  border-radius:999px;
  background:#ebe3da;
}

.projectcheck-progress span{
  display:block;
  width:20%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#b87433,#d39a64);
  transition:width .25s ease;
}

#projectcheck-form{
  padding:26px 28px 28px;
}

.projectcheck-step{
  display:none;
  animation:projectcheckIn .2s ease;
}

.projectcheck-step.active{
  display:block;
}

@keyframes projectcheckIn{
  from{opacity:0;transform:translateY(5px)}
  to{opacity:1;transform:none}
}

.projectcheck-kicker{
  display:block;
  color:#b87433;
  font-size:10px;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.projectcheck-step h3,
.projectcheck-success h3{
  margin:7px 0 7px;
  font-size:31px;
  line-height:1.08;
  letter-spacing:-.04em;
}

.projectcheck-step>p{
  margin:0 0 22px;
  color:#77716b;
}

.projectcheck-choice-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.projectcheck-choice{
  position:relative;
  cursor:pointer;
}

.projectcheck-choice input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.projectcheck-choice>span{
  min-height:76px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:15px 16px;
  border:1px solid #e4dbd1;
  border-radius:16px;
  background:#fff;
  transition:.15s ease;
}

.projectcheck-choice strong,
.projectcheck-choice small{
  display:block;
}

.projectcheck-choice strong{
  font-size:13px;
}

.projectcheck-choice small{
  margin-top:3px;
  color:#817a73;
  font-size:10px;
  line-height:1.35;
}

.projectcheck-choice:hover>span{
  border-color:rgba(184,116,51,.5);
  transform:translateY(-1px);
}

.projectcheck-choice input:checked+span{
  border-color:#b87433;
  background:#fbf1e7;
  box-shadow:inset 0 0 0 1px #b87433;
}

.projectcheck-choice.wide{
  grid-column:1/-1;
}

.projectcheck-fields{
  display:grid;
  gap:14px;
}

.projectcheck-fields.two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.projectcheck-fields label,
.projectcheck-step>label,
.projectcheck-textarea-label{
  display:block;
  font-size:11px;
  font-weight:800;
  color:#393a3a;
}

.projectcheck-fields input,
.projectcheck-step>label input,
.projectcheck-textarea-label textarea{
  width:100%;
  box-sizing:border-box;
  margin-top:7px;
  border:1px solid #ded5cb;
  border-radius:13px;
  background:#fff;
  color:#17191c;
  padding:13px 14px;
  font:inherit;
  font-size:14px;
  outline:none;
}

.projectcheck-fields input:focus,
.projectcheck-textarea-label textarea:focus{
  border-color:#b87433;
  box-shadow:0 0 0 3px rgba(184,116,51,.10);
}

.projectcheck-fieldset{
  margin:20px 0 0;
  padding:0;
  border:0;
}

.projectcheck-fieldset legend{
  margin-bottom:9px;
  font-size:11px;
  font-weight:850;
}

.projectcheck-chip-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.projectcheck-chip-grid label{
  position:relative;
  cursor:pointer;
}

.projectcheck-chip-grid input{
  position:absolute;
  opacity:0;
}

.projectcheck-chip-grid span{
  min-height:45px;
  box-sizing:border-box;
  display:grid;
  place-items:center;
  padding:8px 10px;
  border:1px solid #e3dad0;
  border-radius:13px;
  background:#fff;
  text-align:center;
  font-size:10px;
  font-weight:750;
}

.projectcheck-chip-grid input:checked+span{
  color:#945a24;
  border-color:#b87433;
  background:#fbf1e7;
  box-shadow:inset 0 0 0 1px #b87433;
}

.projectcheck-textarea-label{
  margin-top:20px;
}

.projectcheck-textarea-label textarea{
  resize:vertical;
  min-height:115px;
  font-weight:400;
}

.projectcheck-upload{
  display:flex!important;
  align-items:center;
  gap:14px;
  padding:22px!important;
  border:1.5px dashed #cda67f!important;
  border-radius:18px!important;
  background:#fbf4ec!important;
  cursor:pointer;
}

.projectcheck-upload-plus{
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#b87433;
  color:#fff;
  font-size:25px;
  font-weight:400;
}

.projectcheck-upload strong,
.projectcheck-upload small{
  display:block;
}

.projectcheck-upload strong{
  font-size:14px;
}

.projectcheck-upload small{
  margin-top:3px;
  color:#7e756d;
  font-size:10px;
}

.projectcheck-file-input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.projectcheck-photo-preview{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin-top:13px;
}

.projectcheck-photo-item{
  position:relative;
  overflow:hidden;
  aspect-ratio:1;
  border-radius:13px;
  background:#eee7df;
}

.projectcheck-photo-item img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.projectcheck-photo-meta{
  margin-top:10px;
  color:#77716b;
  font-size:10px;
}

.projectcheck-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-bottom:20px;
  padding:15px;
  border-radius:16px;
  background:#f6f1eb;
  border:1px solid #e9e0d6;
}

.projectcheck-summary div{
  padding:7px;
}

.projectcheck-summary small,
.projectcheck-summary strong{
  display:block;
}

.projectcheck-summary small{
  color:#8b837b;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.projectcheck-summary strong{
  margin-top:2px;
  font-size:12px;
}

.projectcheck-privacy{
  display:flex!important;
  align-items:flex-start;
  gap:9px;
  margin-top:17px;
  font-size:10px!important;
  line-height:1.45;
  font-weight:500!important;
  color:#6f6a64!important;
}

.projectcheck-privacy input{
  width:auto!important;
  margin:2px 0 0!important;
  flex:0 0 auto;
}

.projectcheck-privacy a{
  text-decoration:underline;
}

.projectcheck-error{
  min-height:18px;
  margin:12px 0 0!important;
  color:#a74436!important;
  font-size:10px;
  font-weight:750;
}

.projectcheck-nav{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding-top:22px;
  margin-top:22px;
  border-top:1px solid #ece3d9;
}

.projectcheck-nav .btn{
  min-width:120px;
}

.projectcheck-nav .btn:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.projectcheck-success{
  text-align:center;
  padding:32px 10px 12px;
}

.projectcheck-success-mark{
  width:64px;
  height:64px;
  margin:0 auto 15px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#b87433;
  color:#fff;
  font-size:28px;
}

.projectcheck-success p{
  max-width:520px;
  margin:0 auto 22px;
  color:#77716b;
}

body.projectcheck-lock{
  overflow:hidden;
}

@media(max-width:760px){
  .projectcheck-teaser-card{
    grid-template-columns:1fr;
    padding:27px 20px;
  }

  .projectcheck-modal{
    padding:0;
    align-items:end;
  }

  .projectcheck-dialog{
    width:100%;
    max-height:94vh;
    border-radius:24px 24px 0 0;
  }

  .projectcheck-topbar,
  .projectcheck-progress-wrap,
  #projectcheck-form{
    padding-left:18px;
    padding-right:18px;
  }

  .projectcheck-choice-grid{
    grid-template-columns:1fr;
  }

  .projectcheck-choice.wide{
    grid-column:auto;
  }

  .projectcheck-choice>span{
    min-height:65px;
  }

  .projectcheck-fields.two,
  .projectcheck-summary{
    grid-template-columns:1fr;
  }

  .projectcheck-chip-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .projectcheck-photo-preview{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .projectcheck-step h3,
  .projectcheck-success h3{
    font-size:27px;
  }
}

@media(prefers-reduced-motion:reduce){
  .projectcheck-step,
  .projectcheck-progress span,
  .projectcheck-choice>span{
    animation:none!important;
    transition:none!important;
  }
}


/* =========================================================
   Smart Projectcheck: dynamic questions + service area
   ========================================================= */
.projectcheck-dynamic{
  margin-top:20px;
  border:1px solid #e5dbd0;
  border-radius:17px;
  background:#fff;
  overflow:hidden;
}

.projectcheck-dynamic-head{
  padding:13px 15px;
  border-bottom:1px solid #ece4db;
  background:#f8f3ed;
}

.projectcheck-dynamic-head span,
.projectcheck-dynamic-head small{
  display:block;
}

.projectcheck-dynamic-head span{
  color:#945a24;
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.projectcheck-dynamic-head small{
  margin-top:3px;
  color:#7d766f;
  font-size:9px;
}

#projectcheck-dynamic-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:15px;
}

.pc-dynamic-field{
  display:block;
  font-size:10px;
  font-weight:800;
  color:#3c3d3d;
}

.pc-dynamic-field.wide{
  grid-column:1/-1;
}

.pc-dynamic-field input,
.pc-dynamic-field select,
.pc-dynamic-field textarea{
  width:100%;
  box-sizing:border-box;
  margin-top:6px;
  padding:11px 12px;
  border:1px solid #ded5cb;
  border-radius:12px;
  background:#fff;
  color:#17191c;
  font:inherit;
  font-size:12px;
  outline:none;
}

.pc-dynamic-field input:focus,
.pc-dynamic-field select:focus,
.pc-dynamic-field textarea:focus{
  border-color:#b87433;
  box-shadow:0 0 0 3px rgba(184,116,51,.10);
}

.pc-dynamic-field textarea{
  min-height:76px;
  resize:vertical;
}

.service-area-check{
  margin-top:15px;
  padding:14px;
  border:1px solid #e5dbd0;
  border-radius:16px;
  background:#fff;
}

.service-area-check-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
}

.service-area-check-top strong,
.service-area-check-top small{
  display:block;
}

.service-area-check-top strong{
  font-size:12px;
}

.service-area-check-top small{
  margin-top:3px;
  color:#7a746d;
  font-size:9px;
  line-height:1.4;
}

.service-area-check-top button{
  flex:0 0 auto;
  border:0;
  border-radius:11px;
  background:#171a1e;
  color:#fff;
  padding:10px 13px;
  cursor:pointer;
  font-size:10px;
  font-weight:800;
}

.service-area-result{
  margin-top:11px;
  padding:10px 12px;
  border-radius:12px;
  background:#f4f1ec;
  color:#706a64;
  font-size:10px;
  line-height:1.45;
}

.service-area-result.core{
  background:#edf7ee;
  color:#2d6b39;
}

.service-area-result.near{
  background:#fff5df;
  color:#8a5c10;
}

.service-area-result.out{
  background:#f5f1ec;
  color:#756e67;
}

.projectcheck-summary-detail{
  margin:-8px 0 20px;
  padding:14px 15px;
  border:1px solid #e9e0d6;
  border-radius:15px;
  background:#fff;
}

.projectcheck-summary-detail h4{
  margin:0 0 9px;
  font-size:12px;
}

.projectcheck-summary-detail dl{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:7px 12px;
  margin:0;
}

.projectcheck-summary-detail dt{
  color:#8a827a;
  font-size:9px;
}

.projectcheck-summary-detail dd{
  margin:0;
  color:#343535;
  font-size:10px;
  font-weight:650;
}

.projectcheck-summary-description{
  margin-top:11px;
  padding-top:11px;
  border-top:1px solid #eee5dc;
  color:#68635e;
  font-size:10px;
  line-height:1.5;
}

/* =========================================================
   Before / After interactive demo
   ========================================================= */
.before-after-section{
  padding:72px 0;
  background:#111418;
  color:#fff;
}

.before-after-head h2{
  color:#fff;
}

.before-after-head h2 em{
  color:#d5a06d;
}

.before-after-head>p{
  color:#abb0b5;
}

.before-after-card{
  overflow:hidden;
  border:1px solid #2a3035;
  border-radius:26px;
  background:#171b1f;
  box-shadow:0 24px 70px rgba(0,0,0,.24);
}

.before-after-stage{
  --position:48%;
  position:relative;
  overflow:hidden;
  aspect-ratio:16/8.8;
  min-height:360px;
  background:#202428;
}

.before-after-stage img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  user-select:none;
  pointer-events:none;
}

.before-after-before{
  position:absolute;
  inset:0 auto 0 0;
  width:var(--position);
  overflow:hidden;
  z-index:2;
}

.before-after-before img{
  width:100vw;
  max-width:none;
  filter:brightness(.70) saturate(.55) sepia(.16) contrast(.93);
}

.before-after-aging{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 72% 42%,rgba(95,78,61,.20),transparent 25%),
    linear-gradient(90deg,rgba(92,74,58,.11),rgba(85,76,67,.18));
  mix-blend-mode:multiply;
}

.before-after-stage::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.18));
}

.before-after-divider{
  position:absolute;
  z-index:5;
  top:0;
  bottom:0;
  left:var(--position);
  width:2px;
  transform:translateX(-1px);
  background:#fff;
  box-shadow:0 0 0 1px rgba(0,0,0,.08);
  pointer-events:none;
}

.before-after-divider span{
  position:absolute;
  top:50%;
  left:50%;
  width:46px;
  height:46px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff;
  color:#17191c;
  box-shadow:0 8px 28px rgba(0,0,0,.24);
  font-size:17px;
  font-weight:900;
}

.before-after-range{
  position:absolute;
  z-index:7;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  opacity:0;
  cursor:ew-resize;
}

.before-after-label{
  position:absolute;
  z-index:6;
  top:18px;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(17,20,24,.82);
  backdrop-filter:blur(8px);
  color:#fff;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
}

.before-label{left:18px}
.after-label{right:18px}

.before-after-info{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  padding:24px 26px;
}

.before-after-info small,
.before-after-info strong{
  display:block;
}

.before-after-info small{
  color:#c28a55;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.11em;
}

.before-after-info strong{
  margin-top:4px;
  font-size:20px;
}

.before-after-info p{
  max-width:760px;
  margin:7px 0 0;
  color:#aeb3b7;
  font-size:11px;
  line-height:1.55;
}

.before-after-info .btn{
  flex:0 0 auto;
  border-color:#5b6268;
  color:#fff;
}

@media(max-width:760px){
  #projectcheck-dynamic-fields{
    grid-template-columns:1fr;
  }

  .pc-dynamic-field.wide{
    grid-column:auto;
  }

  .service-area-check-top{
    align-items:flex-start;
    flex-direction:column;
  }

  .projectcheck-summary-detail dl{
    grid-template-columns:1fr;
    gap:2px;
  }

  .projectcheck-summary-detail dd{
    margin-bottom:7px;
  }

  .before-after-section{
    padding:54px 0;
  }

  .before-after-stage{
    aspect-ratio:4/4.4;
    min-height:430px;
  }

  .before-after-before img{
    width:100vw;
  }

  .before-after-info{
    align-items:flex-start;
    flex-direction:column;
  }

  .before-after-info .btn{
    width:100%;
    text-align:center;
  }
}


/* =========================================================
   Vorher / Nachher – Vergleichsgalerie
   ========================================================= */
.compare-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  margin-top:26px;
}

.compare-card{
  overflow:hidden;
  border:1px solid #2b3137;
  border-radius:24px;
  background:#171b1f;
  box-shadow:0 18px 50px rgba(0,0,0,.22);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.compare-card:hover{
  transform:translateY(-3px);
  border-color:#3b434a;
  box-shadow:0 26px 58px rgba(0,0,0,.28);
}

.compare-image-wrap{
  position:relative;
  aspect-ratio:4/3.2;
  overflow:hidden;
  background:#202428;
}

.compare-image-wrap img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

.compare-copy{
  padding:19px 19px 22px;
}

.compare-copy small,
.compare-copy h3{
  display:block;
}

.compare-copy small{
  color:#c38d58;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.11em;
}

.compare-copy h3{
  margin:7px 0 10px;
  color:#fff;
  font-size:20px;
  line-height:1.2;
  letter-spacing:-.02em;
}

.compare-copy p{
  margin:0;
  color:#adb2b6;
  font-size:11px;
  line-height:1.55;
}

.compare-cta{
  display:flex;
  justify-content:center;
  margin-top:28px;
}

.compare-cta .btn{
  min-width:280px;
  text-align:center;
}

@media(max-width:1100px){
  .compare-grid{
    grid-template-columns:1fr;
  }

  .compare-image-wrap{
    aspect-ratio:16/10;
  }

  .compare-cta .btn{
    width:100%;
  }
}


/* =========================================================
   Rückrufwunsch
   ========================================================= */
.callback-modal[hidden]{display:none!important}
.callback-modal{position:fixed;inset:0;z-index:2147483200;display:grid;place-items:center;padding:18px}
.callback-backdrop{position:absolute;inset:0;background:rgba(10,12,15,.72);backdrop-filter:blur(8px)}
.callback-dialog{position:relative;z-index:1;width:min(610px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fffdfa;border-radius:26px;box-shadow:0 30px 100px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.35)}
.callback-topbar{display:flex;justify-content:space-between;gap:20px;padding:23px 25px 17px;border-bottom:1px solid #e9e0d6}
.callback-topbar small,.callback-topbar strong{display:block}.callback-topbar small{color:#b87433;font-size:9px;font-weight:850;letter-spacing:.14em}.callback-topbar strong{margin-top:3px;font-size:22px}
.callback-close{width:38px;height:38px;border-radius:50%;border:1px solid #ded5cb;background:#fff;font-size:23px;cursor:pointer}
#callback-form{padding:22px 25px 25px}.callback-lead{margin:0 0 18px;color:#716b65;font-size:12px;line-height:1.5}
.callback-fields{display:grid;gap:12px}.callback-fields.two{grid-template-columns:1fr 1fr}.callback-fields label,.callback-note-label{font-size:10px;font-weight:800}
.callback-fields input,.callback-note-label textarea{width:100%;box-sizing:border-box;margin-top:6px;padding:12px;border:1px solid #ddd4ca;border-radius:12px;font:inherit;font-size:13px;background:#fff}
.callback-fieldset{margin:18px 0 0;padding:0;border:0}.callback-fieldset legend{font-size:10px;font-weight:850;margin-bottom:8px}
.callback-time-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.callback-time-grid label{position:relative;cursor:pointer}.callback-time-grid input{position:absolute;opacity:0}.callback-time-grid span{display:grid;place-items:center;min-height:44px;padding:8px;border:1px solid #e1d8cf;border-radius:12px;background:#fff;font-size:10px;font-weight:750}.callback-time-grid input:checked+span{border-color:#b87433;background:#fbf1e7;box-shadow:inset 0 0 0 1px #b87433}
.callback-note-label{display:block;margin-top:18px}.callback-note-label small{font-weight:500;color:#837c75}.callback-note-label textarea{resize:vertical}
.callback-privacy{display:flex;gap:9px;margin-top:16px;color:#6f6962;font-size:9px;line-height:1.45}.callback-privacy input{margin-top:2px}.callback-privacy a{text-decoration:underline}
.callback-status{min-height:18px;margin:12px 0 0;font-size:10px;font-weight:700}.callback-status.error{color:#a74436}.callback-status.success{color:#28723e}.callback-submit{width:100%;margin-top:5px}
.quick-native-button{width:100%;font:inherit;text-align:left;cursor:pointer}

/* =========================================================
   Sprachnachricht
   ========================================================= */
.projectcheck-voice{margin-top:18px;padding:17px;border:1px solid #e2d8ce;border-radius:17px;background:#fff}
.projectcheck-voice-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.projectcheck-voice-head strong,.projectcheck-voice-head small{display:block}.projectcheck-voice-head strong{font-size:13px}.projectcheck-voice-head small{margin-top:3px;color:#77716b;font-size:9px}.voice-limit{padding:6px 8px;border-radius:999px;background:#f6efe7;color:#8b623a;font-size:8px;font-weight:800;white-space:nowrap}
.voice-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.voice-record-btn,.voice-delete-btn{border:0;border-radius:999px;padding:10px 13px;cursor:pointer;font-size:10px;font-weight:800}.voice-record-btn{display:flex;align-items:center;gap:8px;background:#171a1e;color:#fff}.voice-delete-btn{background:#efe9e2;color:#5f5953}
.voice-dot{width:9px;height:9px;border-radius:50%;background:#d66d5b}.voice-record-btn.recording .voice-dot{animation:voicePulse 1s infinite}.voice-record-btn.recording{background:#8f3e32}
.voice-status{margin-top:10px;color:#756f69;font-size:9px}.projectcheck-voice audio{width:100%;margin-top:11px;height:38px}
.project-status-link{margin-top:10px}
@keyframes voicePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.35)}}

@media(max-width:650px){
  .callback-modal{align-items:end;padding:0}.callback-dialog{width:100%;max-height:92vh;border-radius:24px 24px 0 0}
  .callback-fields.two,.callback-time-grid{grid-template-columns:1fr}
}

.voice-native-btn{
  display:block;
  width:100%;
  margin-top:9px;
  padding:10px 12px;
  border:1px solid #ddd4ca;
  border-radius:999px;
  background:#fff;
  color:#5d5853;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
}
.voice-native-btn:hover{border-color:#b87433;background:#fff8f0}


/* PROJECTCHECK MOBILE TOUCH-SAFE LAYOUT */
html.projectcheck-lock,
body.projectcheck-lock{
  overflow:hidden !important;
}

.projectcheck-modal{
  position:fixed !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  touch-action:pan-y;
  transform:none !important;
  perspective:none !important;
  contain:none !important;
}

.projectcheck-dialog{
  position:relative !important;
  width:min(760px,calc(100% - 24px)) !important;
  max-width:760px !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:18px auto !important;
  overflow:visible !important;
  transform:none !important;
  translate:none !important;
  scale:none !important;
  perspective:none !important;
  contain:none !important;
}

.projectcheck-body{
  overflow:visible !important;
  max-height:none !important;
  min-height:0 !important;
  transform:none !important;
  contain:none !important;
}

.projectcheck-step,
.projectcheck-fieldset,
.projectcheck-chip-grid,
.projectcheck-options,
.projectcheck-option,
.projectcheck-step label,
.projectcheck-step input,
.projectcheck-step textarea,
.projectcheck-step select,
.projectcheck-step button{
  transform:none !important;
  translate:none !important;
  scale:none !important;
  perspective:none !important;
  contain:none !important;
}

.projectcheck-step input,
.projectcheck-step textarea,
.projectcheck-step select{
  font-size:16px !important;
}

.projectcheck-chip-grid label,
.projectcheck-option{
  position:relative;
  z-index:1;
  pointer-events:auto !important;
}

.projectcheck-chip-grid input,
.projectcheck-option input{
  pointer-events:auto !important;
}

@media(max-width:700px){
  .projectcheck-modal{
    display:block !important;
    padding:
      max(8px,env(safe-area-inset-top))
      max(8px,env(safe-area-inset-right))
      max(8px,env(safe-area-inset-bottom))
      max(8px,env(safe-area-inset-left)) !important;
  }

  .projectcheck-dialog{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto 18px !important;
    border-radius:18px !important;
  }

  .projectcheck-body{
    padding-left:16px !important;
    padding-right:16px !important;
    padding-bottom:24px !important;
  }

  .projectcheck-chip-grid,
  .projectcheck-options,
  .projectcheck-grid,
  .projectcheck-contact-grid{
    grid-template-columns:1fr !important;
    width:100% !important;
  }

  .projectcheck-chip-grid label,
  .projectcheck-option,
  .projectcheck-step label{
    width:100% !important;
    min-width:0 !important;
  }

  .projectcheck-chip-grid label,
  .projectcheck-option{
    min-height:48px;
  }
}


/* REDESIGN: VERIFIZIERTE KUNDENBEWERTUNGEN */
.customer-feedback{
  background:#f6f1ea !important;
  padding:72px 0 !important;
  overflow:hidden;
}

.customer-feedback .section-head{
  width:min(1180px,calc(100% - 48px));
  margin:0 auto 30px;
  display:block !important;
}

.customer-feedback .section-head > div{
  width:100%;
  max-width:760px;
  min-width:0;
}

.customer-feedback .eyebrow{
  display:inline-block;
  margin-bottom:10px;
  color:#b87433;
  font-size:12px;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.customer-feedback .section-head h2{
  margin:0;
  max-width:760px;
  color:#17191c;
  font-size:42px !important;
  line-height:1.08 !important;
  letter-spacing:-.04em;
  overflow-wrap:normal;
  word-break:normal;
}

.customer-feedback .section-head p{
  margin:14px 0 0;
  max-width:700px;
  color:#6f6861;
  font-size:16px !important;
  line-height:1.65;
}

.reviews-grid{
  width:min(1180px,calc(100% - 48px));
  margin:0 auto;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px;
  min-width:0;
}

.review-card{
  position:relative;
  min-width:0;
  width:100%;
  min-height:250px;
  display:flex;
  flex-direction:column;
  padding:24px 24px 22px;
  background:#fff;
  border:1px solid #dfd5ca;
  border-radius:20px;
  box-shadow:0 12px 34px rgba(24,20,16,.055);
  overflow:hidden;
}

.review-card::before{
  content:"“";
  position:absolute;
  top:13px;
  right:20px;
  color:#eee5dc;
  font:56px/1 Georgia,serif;
  pointer-events:none;
}

.review-stars{
  position:relative;
  z-index:1;
  margin-bottom:18px;
  max-width:100%;
  color:#b87433;
  font-size:18px;
  line-height:1;
  letter-spacing:2px;
  white-space:nowrap;
}

.review-text{
  position:relative;
  z-index:1;
  margin:0;
  color:#403b36;
  font-size:15px;
  line-height:1.72;
  overflow-wrap:anywhere;
}

.review-meta{
  position:relative;
  z-index:1;
  margin-top:auto;
  padding-top:20px;
  border-top:1px solid #eee6dd;
  min-width:0;
}

.review-meta strong{
  display:block;
  color:#17191c;
  font-size:14px;
  line-height:1.3;
  overflow-wrap:anywhere;
}

.review-meta span{
  display:block;
  margin-top:4px;
  color:#817970;
  font-size:12px;
  line-height:1.4;
  overflow-wrap:anywhere;
}

.review-loading,
.review-empty{
  grid-column:1/-1;
  padding:28px;
  border:1px dashed #d4c9bd;
  border-radius:18px;
  background:rgba(255,255,255,.55);
  color:#726a62;
  text-align:center;
  font-size:14px;
}

@media(max-width:980px){
  .reviews-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:700px){
  .customer-feedback{
    padding:52px 0 !important;
  }

  .customer-feedback .section-head,
  .reviews-grid{
    width:calc(100% - 32px);
    max-width:1180px;
  }

  .customer-feedback .section-head{
    margin-bottom:22px;
  }

  .customer-feedback .section-head h2{
    font-size:31px !important;
    line-height:1.12 !important;
  }

  .customer-feedback .section-head p{
    font-size:15px !important;
    line-height:1.55;
  }

  .reviews-grid{
    grid-template-columns:minmax(0,1fr) !important;
    gap:14px;
  }

  .review-card{
    min-height:0;
    padding:20px 18px 18px;
    border-radius:18px;
  }

  .review-card::before{
    right:16px;
    font-size:48px;
  }

  .review-stars{
    margin-bottom:15px;
    font-size:17px;
    letter-spacing:1px;
  }

  .review-text{
    font-size:14px;
    line-height:1.65;
  }
}

@media(max-width:390px){
  .customer-feedback .section-head,
  .reviews-grid{
    width:calc(100% - 24px);
  }

  .customer-feedback .section-head h2{
    font-size:27px !important;
  }

  .review-card{
    padding:17px 15px 16px;
    border-radius:16px;
  }
}


/* COMPACT HOMEPAGE REDESIGN */
#leistungen{
  padding-top:64px !important;
  padding-bottom:64px !important;
}

#leistungen .section-head{
  margin-bottom:26px !important;
}

#leistungen .section-head h2{
  max-width:760px;
}

#leistungen .services-grid,
#leistungen .service-grid,
#leistungen .cards-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px !important;
  align-items:stretch;
}

#leistungen .service-card,
#leistungen .service,
#leistungen article{
  min-height:0 !important;
  height:auto !important;
  padding:20px !important;
  border-radius:18px !important;
}

#leistungen .service-card img,
#leistungen .service img,
#leistungen article img{
  aspect-ratio:16/9;
  width:100%;
  max-height:150px !important;
  object-fit:cover;
  border-radius:14px !important;
  margin-bottom:14px !important;
}

#leistungen .service-card h3,
#leistungen .service h3,
#leistungen article h3{
  margin:0 0 7px !important;
  font-size:19px !important;
  line-height:1.2 !important;
  letter-spacing:-.02em;
}

#leistungen .service-card p,
#leistungen .service p,
#leistungen article p{
  margin:0 !important;
  font-size:13.5px !important;
  line-height:1.55 !important;
  color:#6b645d;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

#leistungen .service-card .btn,
#leistungen .service .btn,
#leistungen article .btn,
#leistungen .service-card a,
#leistungen .service a{
  margin-top:14px !important;
}

#leistungen .service-card,
#leistungen .service,
#leistungen article{
  box-shadow:0 9px 24px rgba(30,24,18,.045) !important;
}

/* Compact trust / why section */
#warum-weiserwerk,
#warum,
#vorteile,
#ueber-uns{
  padding-top:58px !important;
  padding-bottom:58px !important;
}

#warum-weiserwerk .cards,
#warum .cards,
#vorteile .cards,
#ueber-uns .cards,
#warum-weiserwerk .grid,
#warum .grid,
#vorteile .grid,
#ueber-uns .grid{
  gap:14px !important;
}

#warum-weiserwerk .card,
#warum .card,
#vorteile .card,
#ueber-uns .card{
  padding:18px !important;
  min-height:0 !important;
}

/* Make projectcheck invitation visually prominent but not oversized */
#projektcheck,
#projekt-check,
#projektanfrage,
#anfrage{
  padding-top:60px !important;
  padding-bottom:60px !important;
}

/* Overall section rhythm */
main > section{
  scroll-margin-top:90px;
}

@media(max-width:980px){
  #leistungen .services-grid,
  #leistungen .service-grid,
  #leistungen .cards-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:700px){
  #leistungen{
    padding-top:48px !important;
    padding-bottom:48px !important;
  }

  #leistungen .services-grid,
  #leistungen .service-grid,
  #leistungen .cards-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  #leistungen .service-card,
  #leistungen .service,
  #leistungen article{
    padding:16px !important;
    border-radius:16px !important;
  }

  #leistungen .service-card img,
  #leistungen .service img,
  #leistungen article img{
    max-height:130px !important;
    margin-bottom:12px !important;
  }

  #leistungen .service-card h3,
  #leistungen .service h3,
  #leistungen article h3{
    font-size:18px !important;
  }

  #leistungen .service-card p,
  #leistungen .service p,
  #leistungen article p{
    -webkit-line-clamp:2;
    font-size:13px !important;
  }

  #warum-weiserwerk,
  #warum,
  #vorteile,
  #ueber-uns,
  #projektcheck,
  #projekt-check,
  #projektanfrage,
  #anfrage{
    padding-top:46px !important;
    padding-bottom:46px !important;
  }
}


/* MOBILE NAVIGATION FIX */
@media(max-width:980px){
  .site-header .nav{
    position:relative;
  }

  .menu-toggle{
    position:relative;
    z-index:102;
    cursor:pointer;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }

  .menu-toggle span{
    transition:transform .2s ease,opacity .2s ease;
    transform-origin:center;
  }

  .menu-toggle.open span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }

  .menu-toggle.open span:nth-child(2){
    opacity:0;
  }

  .menu-toggle.open span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }

  .main-nav.open{
    z-index:101 !important;
    max-height:calc(100vh - 95px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }

  .main-nav.open a{
    display:block;
    width:100%;
    min-height:44px;
    padding:11px 4px;
    touch-action:manipulation;
  }
}


/* ==========================================================
   WEISERWERK FOTO-PLANER
   ========================================================== */
.photo-planner-teaser{display:flex;align-items:center;gap:12px;margin-top:15px;padding:13px 14px;border:1px solid #e7d8c8;border-radius:16px;background:#fbf6f0}
.photo-planner-teaser[hidden]{display:none!important}
.photo-planner-teaser-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:12px;background:#b87433;color:#fff;font-size:19px;font-weight:800}
.photo-planner-teaser strong,.photo-planner-teaser small{display:block}
.photo-planner-teaser strong{font-size:12px;color:#252423}
.photo-planner-teaser small{margin-top:3px;color:#77716b;font-size:10px;line-height:1.4}

.projectcheck-photo-preview{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.projectcheck-photo-item{overflow:visible;aspect-ratio:auto;border:1px solid #e8ded4;background:#fff;padding:6px;border-radius:15px}
.projectcheck-photo-thumb{position:relative;overflow:hidden;aspect-ratio:1;border-radius:11px;background:#eee7df}
.projectcheck-photo-thumb img{width:100%;height:100%;display:block;object-fit:cover}
.projectcheck-photo-marked{position:absolute;left:7px;right:7px;bottom:7px;padding:5px 7px;border-radius:999px;background:rgba(17,20,24,.86);color:#fff;font-size:8px;font-weight:800;text-align:center;backdrop-filter:blur(4px)}
.photo-planner-open{width:100%;margin-top:6px;min-height:34px;padding:7px 6px;border:0;border-radius:9px;background:#f4ece4;color:#845124;font:inherit;font-size:9px;font-weight:850;cursor:pointer;touch-action:manipulation}
.photo-planner-open:hover{background:#ecdfd2}
.photo-planner-open span{font-size:12px}

.photo-planner-modal[hidden]{display:none!important}
.photo-planner-modal{position:fixed;inset:0;z-index:2147483400;display:grid;place-items:center;padding:14px}
.photo-planner-backdrop{position:absolute;inset:0;background:rgba(8,10,12,.82);backdrop-filter:blur(9px)}
.photo-planner-dialog{position:relative;z-index:1;display:flex;flex-direction:column;width:min(1050px,100%);max-height:calc(100dvh - 28px);overflow:hidden;border-radius:25px;background:#fffdfa;color:#17191c;box-shadow:0 34px 110px rgba(0,0,0,.45)}
.photo-planner-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:17px 20px;border-bottom:1px solid #ece3d9}
.photo-planner-topbar small,.photo-planner-topbar strong,.photo-planner-topbar span{display:block}
.photo-planner-topbar small{color:#b87433;font-size:9px;font-weight:900;letter-spacing:.14em}
.photo-planner-topbar strong{margin-top:2px;font-size:20px;letter-spacing:-.03em}
.photo-planner-topbar span{margin-top:3px;color:#817970;font-size:9px}
.photo-planner-close{width:38px;height:38px;flex:0 0 38px;border:1px solid #e3d9cf;border-radius:50%;background:#fff;color:#17191c;font-size:23px;cursor:pointer}
.photo-planner-body{overflow:auto;padding:16px 20px 18px}
.photo-planner-intro{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline;margin-bottom:13px}
.photo-planner-intro strong{font-size:13px}
.photo-planner-intro span{color:#736d67;font-size:10px}
.photo-planner-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:12px}
.photo-planner-tool{min-width:0;padding:9px 7px;border:1px solid #e4dbd1;border-radius:12px;background:#fff;color:#282624;cursor:pointer;touch-action:manipulation}
.photo-planner-tool>span,.photo-planner-tool>strong,.photo-planner-tool>small{display:block}
.photo-planner-tool>span{color:#b87433;font-size:17px;line-height:1}
.photo-planner-tool>strong{margin-top:4px;font-size:10px}
.photo-planner-tool>small{margin-top:2px;color:#8a837c;font-size:8px}
.photo-planner-tool.active{border-color:#b87433;background:#fbf3eb;box-shadow:0 0 0 1px rgba(184,116,51,.16) inset}
.photo-planner-fields{display:grid;grid-template-columns:2fr 1fr;gap:9px;margin-bottom:12px}
.photo-planner-fields label>span{display:block;margin-bottom:5px;color:#69635d;font-size:9px;font-weight:800}
.photo-planner-fields input{width:100%;min-height:42px;padding:9px 11px;border:1px solid #ded4ca;border-radius:10px;background:#fff;color:#17191c;font:inherit;font-size:16px;outline:none}
.photo-planner-fields input:focus{border-color:#b87433;box-shadow:0 0 0 3px rgba(184,116,51,.12)}
.photo-planner-stage{display:flex;justify-content:center;overflow:hidden;min-height:250px;max-height:54vh;border-radius:15px;background:#191b1e;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
#photo-planner-canvas{display:block;width:auto;max-width:100%;height:auto;max-height:54vh;object-fit:contain;cursor:crosshair;touch-action:none;user-select:none;-webkit-user-select:none}
.photo-planner-hint{padding:8px 2px 0;color:#77716b;font-size:9px;text-align:center}
.photo-planner-list-wrap{margin-top:12px;padding:11px;border:1px solid #e7ddd2;border-radius:13px;background:#f8f4ef}
.photo-planner-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.photo-planner-list-head strong{font-size:10px}
.photo-planner-list-head span{min-width:24px;padding:3px 7px;border-radius:999px;background:#b87433;color:#fff;font-size:9px;font-weight:850;text-align:center}
.photo-planner-list{margin-top:7px}
.photo-planner-list>p{margin:0;color:#888078;font-size:9px}
.photo-planner-list-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-top:1px solid #e9dfd5;font-size:9px}
.photo-planner-list-item:first-child{border-top:0}
.photo-planner-list-item span{min-width:0}
.photo-planner-list-item small{display:block;overflow:hidden;margin-top:2px;color:#77716b;text-overflow:ellipsis;white-space:nowrap}
.photo-planner-list-item button{width:27px;height:27px;flex:0 0 27px;border:0;border-radius:50%;background:#eee5dc;color:#6b625a;cursor:pointer}
.photo-planner-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 20px;border-top:1px solid #ece3d9;background:#fffdfa}
.photo-planner-footer-secondary{display:flex;align-items:center;gap:8px}
.photo-planner-footer .btn{min-height:38px;padding:9px 13px;font-size:10px}
.photo-planner-reset{border:0;background:transparent;color:#786e65;font:inherit;font-size:9px;text-decoration:underline;cursor:pointer}
.photo-planner-reset:disabled,.photo-planner-footer .btn:disabled{opacity:.45;cursor:not-allowed}
.photo-planner-status{min-height:18px;margin:0;padding:0 20px 9px;color:#a74436;font-size:9px;font-weight:700}

@media(max-width:700px){
  .projectcheck-photo-preview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .photo-planner-modal{padding:0;align-items:end}
  .photo-planner-dialog{width:100%;max-height:100dvh;border-radius:20px 20px 0 0}
  .photo-planner-topbar{padding:14px 15px 12px}
  .photo-planner-body{padding:12px 14px 14px}
  .photo-planner-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
  .photo-planner-fields{grid-template-columns:1fr}
  .photo-planner-stage{min-height:210px;max-height:47vh}
  #photo-planner-canvas{max-height:47vh}
  .photo-planner-footer{flex-direction:column-reverse;align-items:stretch;padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
  .photo-planner-footer-secondary{justify-content:space-between}
  .photo-planner-footer>.btn{width:100%}
}

.projectcheck-address-row{margin-top:10px}
