*{box-sizing:border-box}
:root{--dark:#171717;--text:#292929;--muted:#6c6c6c;--light:#f4f3ef;--yellow:#f5bd18;--line:#ddd8cd;--white:#fff}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--text);line-height:1.65;background:#fff}
img{max-width:100%;display:block}
a{color:inherit}
.container{width:min(1160px,92%);margin:auto}
.narrow{max-width:900px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #eee}
.nav-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;letter-spacing:.04em}
.brand img{width:54px;height:44px;object-fit:contain}
.main-nav{display:flex;gap:24px;font-size:.92rem;font-weight:700}
.main-nav a{text-decoration:none}
.main-nav a:hover{color:#a97900}
.menu-toggle{display:none;border:0;background:none;font-size:1.8rem}
.hero{min-height:680px;display:grid;align-items:center;position:relative;background:linear-gradient(120deg,rgba(0,0,0,.74),rgba(0,0,0,.28)),url("https://www.tadic.at/wp-content/uploads/2020/01/dachdeckerei-tadic-1-1024x651-300x200.jpg") center/cover}
.hero-content{position:relative;color:#fff;padding:90px 0}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:800;margin:0 0 16px}
.hero h1{font-size:clamp(3.2rem,8vw,6.5rem);line-height:.94;margin:0 0 24px;letter-spacing:-.045em}
.lead{font-size:clamp(1.1rem,2vw,1.45rem);max-width:720px}
.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:30px 0 12px}
.btn{display:inline-block;padding:13px 22px;border-radius:2px;text-decoration:none;font-weight:800;border:0;cursor:pointer}
.btn-primary{background:var(--yellow);color:#111}
.btn-dark{background:var(--dark);color:#fff}
.phone{font-size:1.1rem;font-weight:800}
.opening{opacity:.82}
.section{padding:100px 0}
.section h2{font-size:clamp(2.3rem,5vw,4rem);line-height:1.05;margin:0 0 28px;letter-spacing:-.03em}
.intro{background:var(--light)}
.intro p{font-size:1.08rem}
.service-section{border-bottom:1px solid var(--line)}
.service-section.alt{background:var(--light)}
.service-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:70px;align-items:start}
.service-grid.reverse{grid-template-columns:1.05fr 1fr}
.service-grid.reverse .service-copy{order:2}
.service-grid.reverse .gallery{order:1}
.service-copy{position:sticky;top:120px}
.service-copy p{font-size:1.03rem}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.gallery img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:2px}
.benefits{background:var(--dark);color:#fff}
.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.benefit-grid article{border:1px solid #444;padding:30px;min-height:220px}
.benefit-grid span{color:var(--yellow);font-weight:900;font-size:.9rem}
.benefit-grid h3{font-size:1.35rem}
.partners{text-align:center}
.logo-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:15px;align-items:center;margin-top:45px}
.logo-grid img{width:100%;height:74px;object-fit:contain;border:1px solid #eee;background:#fff;padding:10px}
.team{background:var(--light)}
.team-intro{max-width:680px;font-size:1.1rem}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:50px 0}
.person{background:#fff;padding:18px;text-align:center}
.person img{width:100%;aspect-ratio:1;object-fit:cover}
.person .role{margin:15px 0 0;color:#888;text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:800}
.person h3{margin:3px 0 5px;font-size:1.25rem}
.person a{text-decoration:none;font-size:.92rem}
.team-photo{width:100%;max-height:650px;object-fit:cover}
.contact{background:#ece9e0}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.contact-block{margin:28px 0}
.contact-block h3{margin-bottom:5px}
.contact-block a{text-decoration:none}
.map-wrap{margin-top:35px}
.map-wrap iframe{width:100%;height:320px;border:0}
.form-card{background:#fff;padding:38px}
.form-card h2{font-size:2.5rem}
form{display:grid;gap:10px}
label{font-weight:800;font-size:.9rem}
input,textarea{width:100%;border:1px solid #ccc;padding:13px;font:inherit;background:#fff}
textarea{resize:vertical}
.form-note{font-size:.78rem;color:#777;margin:0}
.footer{background:#111;color:#eee;padding:45px 0 25px}
.footer-inner{display:flex;justify-content:space-between;gap:30px}
.footer-links{display:flex;gap:22px;flex-wrap:wrap}
.footer a{color:#eee;text-decoration:none}
.copyright{margin-top:30px;padding-top:18px;border-top:1px solid #333;color:#aaa;font-size:.85rem}
.legal{padding:100px 0}
.legal h1{font-size:3rem}
.legal h2{font-size:1.5rem;margin-top:35px}
.legal p,.legal li{max-width:900px}
@media(max-width:900px){
  .main-nav{display:none;position:absolute;left:0;right:0;top:78px;background:#fff;padding:20px 4%;flex-direction:column;border-bottom:1px solid #ddd}
  .main-nav.open{display:flex}.menu-toggle{display:block}
  .service-grid,.service-grid.reverse,.contact-grid{grid-template-columns:1fr;gap:40px}
  .service-copy,.service-grid.reverse .service-copy{position:static;order:0}.service-grid.reverse .gallery{order:1}
  .benefit-grid{grid-template-columns:1fr}.partners .logo-grid{grid-template-columns:repeat(3,1fr)}
  .team-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .section{padding:70px 0}.hero{min-height:600px}.hero h1{font-size:3.25rem}
  .gallery{grid-template-columns:1fr}.partners .logo-grid{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:1fr}.footer-inner{flex-direction:column}.form-card{padding:25px}
}
