/* S. Hülsen Weihnachtsbäume · Version 1.0 */
/* Location */
.location{padding:0 0 110px}
.location-grid{display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid var(--line);border-radius:32px;overflow:hidden;background:white;box-shadow:0 24px 70px rgba(20,35,29,.06)}
.location-copy{padding:clamp(34px,5vw,68px)}
.address{font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,3vw,46px);line-height:1.12;letter-spacing:-.03em;margin:18px 0 12px}
.location-note{color:var(--muted);margin:0 0 28px}
.contact-row{display:flex;gap:10px;flex-wrap:wrap}
.mini-map{min-height:500px;background:#d8e0d8;position:relative;overflow:hidden}
.map-road{position:absolute;background:#f8faf6;border:2px solid #c7d1c8;border-radius:999px}.map-road.r1{width:130%;height:58px;left:-15%;top:26%;transform:rotate(-20deg)}.map-road.r2{width:130%;height:48px;left:-10%;bottom:22%;transform:rotate(16deg)}.map-road.r3{width:56px;height:130%;left:58%;top:-15%;transform:rotate(6deg)}
.map-block{position:absolute;background:#c4d2c5;border-radius:16px;border:1px solid rgba(20,35,29,.08)}.map-block.b1{width:150px;height:95px;left:8%;top:8%}.map-block.b2{width:120px;height:130px;right:8%;top:9%}.map-block.b3{width:165px;height:110px;left:9%;bottom:7%}.map-block.b4{width:110px;height:90px;right:12%;bottom:8%}
.map-pin{position:absolute;left:52%;top:48%;transform:translate(-50%,-50%);width:86px;height:86px;border-radius:50% 50% 50% 8%;rotate:-45deg;background:var(--forest);box-shadow:0 18px 38px rgba(11,45,36,.28);display:grid;place-items:center}.map-pin::after{content:"";width:30px;height:30px;background:var(--lime);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.18)}
.map-label{position:absolute;left:50%;top:66%;transform:translateX(-50%);background:white;padding:13px 15px;border-radius:14px;box-shadow:0 12px 30px rgba(20,35,29,.12);font-weight:800;text-align:center;min-width:230px}.map-label small{display:block;color:var(--muted);font-weight:600;margin-top:3px}

/* FAQ */
.faq{padding:0 0 110px}
.faq-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:start}
.faq-items{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;border:0;background:transparent;text-align:left;padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-weight:800;color:var(--ink);cursor:pointer;font-size:17px}.faq-q i{width:34px;height:34px;border-radius:50%;background:#eef2ef;position:relative;flex:none}.faq-q i::before,.faq-q i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--forest);transform:translate(-50%,-50%);transition:.2s}.faq-q i::after{transform:translate(-50%,-50%) rotate(90deg)}.faq-item.open .faq-q i::after{transform:translate(-50%,-50%) rotate(0)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}.faq-a>div{overflow:hidden}.faq-a p{margin:0;padding:0 50px 22px 0;color:var(--muted)}.faq-item.open .faq-a{grid-template-rows:1fr}

/* CTA */
.final-cta{background:var(--red);color:white;padding:84px 0;overflow:hidden;position:relative}
.final-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 30%,rgba(255,255,255,.09),transparent 24%)}
.final-row{position:relative;display:flex;align-items:end;justify-content:space-between;gap:40px}.final-row h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,6vw,78px);line-height:.94;letter-spacing:-.04em;margin:12px 0 0;max-width:760px}.final-actions{display:flex;gap:10px;flex-wrap:wrap}.final-cta .btn-soft{background:var(--cream);border-color:var(--cream);color:var(--forest)}

footer{background:#071e17;color:#cad8d1;padding:38px 0 30px}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand svg{width:44px}.footer-brand strong{font-family:Georgia,"Times New Roman",serif;font-size:24px;color:white}.footer-brand small{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#80968c;margin-top:4px;font-weight:700}.footer-links{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;font-weight:700}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:28px;padding-top:20px;font-size:12px;color:#7e9389;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
