/* Dedicated stylesheet: Schlüsseldienst Niestetal. Keeps global site branding intact. */
:root{--ns-ink:#1a2a36;--ns-paper:#fffdf9;--ns-mist:#eef2f3;--ns-red:var(--primary);--ns-line:#dce3e5;--ns-wrap:1180px}
.niestetal-page{margin:0;background:var(--ns-paper);color:var(--ns-ink);font-family:var(--font-body);line-height:1.55}.ns-page *{box-sizing:border-box}.ns-page a{text-decoration:none}.ns-page h1,.ns-page h2,.ns-page h3,.ns-page p{margin-top:0}.ns-page h1,.ns-page h2,.ns-page h3{font-family:var(--font-display);color:var(--ns-ink);letter-spacing:-.035em}.ns-page h1{font-size:clamp(2.65rem,5.4vw,5.15rem)!important;line-height:.98;font-weight:900}.ns-page h2{font-size:clamp(2rem,3.5vw,3.35rem);line-height:1.03;font-weight:900}.ns-page h3{font-size:1.25rem}.ns-wrap{width:min(100%,var(--ns-wrap));margin:auto;padding-inline:24px}.ns-label,.ns-kicker{font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.ns-label{color:var(--ns-red);margin-bottom:.7rem}.ns-button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border:1px solid transparent;border-radius:2px;padding:.95rem 1.25rem;font:800 .92rem var(--font-display);transition:transform .2s,background .2s,border-color .2s;white-space:nowrap}.ns-button:hover{transform:translateY(-2px)}.ns-button--primary{background:var(--ns-red);color:#fff;box-shadow:0 10px 26px rgba(239,73,51,.25)}.ns-button--primary:hover{background:var(--primary-hover);color:#fff}.ns-button--line{border-color:rgba(255,255,255,.5);color:#fff;background:rgba(255,255,255,.06)}.ns-button--line:hover{background:#fff;color:var(--ns-ink)}.ns-button--light{background:#fff;color:var(--ns-ink)}

/* Hero: asymmetric locksmith key-card, unrelated to the other location templates. */
.ns-hero{position:relative;overflow:hidden;background:var(--ns-ink);color:#fff;padding:52px 0 0}.ns-hero__texture{position:absolute;inset:0;opacity:.55;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(90deg,#000 0%,transparent 75%)}.ns-hero__texture:after{content:"";position:absolute;width:570px;height:570px;border:90px solid rgba(239,73,51,.14);border-radius:50%;right:-120px;top:-210px}.ns-hero__grid{position:relative;display:grid;grid-template-columns:1.15fr .65fr;gap:64px;align-items:center;padding-bottom:76px}.ns-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:40px;font-size:.82rem;color:#c8d0d5}.ns-crumbs a{color:#fff}.ns-crumbs i{color:var(--ns-red);font-size:.68rem}.ns-kicker{display:flex;align-items:center;gap:9px;color:#fbd4cf;margin-bottom:17px}.ns-kicker span{width:9px;height:9px;border-radius:50%;background:var(--ns-red);box-shadow:0 0 0 5px rgba(239,73,51,.18)}.ns-hero h1{color:#fff;margin-bottom:25px}.ns-hero h1 em{color:var(--ns-red);font-style:normal}.ns-hero__lead{max-width:650px;color:#d8e0e3;font-size:1.1rem;line-height:1.75}.ns-hero__lead strong{color:#fff}.ns-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.ns-hero__notes{padding:0;margin:32px 0 0;display:flex;gap:19px;flex-wrap:wrap;list-style:none;font-size:.83rem;color:#d7dfe2}.ns-hero__notes li{display:flex;gap:7px;align-items:center}.ns-hero__notes i{color:var(--ns-red);font-size:1rem}.ns-keycard{position:relative;min-height:400px;background:linear-gradient(135deg,#f8f0ea,#fff 45%,#e7e4df);color:var(--ns-ink);padding:25px;transform:rotate(4deg);box-shadow:20px 25px 0 rgba(239,73,51,.75),0 34px 60px rgba(0,0,0,.26);border-radius:3px;isolation:isolate}.ns-keycard:after{content:"";position:absolute;inset:13px;border:1px solid rgba(26,42,54,.18);z-index:-1}.ns-keycard__top,.ns-keycard__bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.7rem;letter-spacing:.14em;font-weight:800}.ns-keycard__top i{font-size:1.5rem;color:var(--ns-red)}.ns-keycard__keyhole{display:grid;place-items:center;height:258px}.ns-keycard__keyhole span{position:relative;width:88px;height:136px;border-radius:50px 50px 10px 10px;background:var(--ns-ink);clip-path:polygon(50% 0,78% 11%,92% 35%,80% 58%,66% 65%,72% 100%,28% 100%,34% 65%,20% 58%,8% 35%,22% 11%)}.ns-keycard__keyhole span:after{content:"";position:absolute;width:22px;height:22px;background:#fff;top:30px;left:33px;border-radius:50%}.ns-keycard__bottom{align-items:flex-end;letter-spacing:0}.ns-keycard__bottom strong{font-size:1.2rem;line-height:1.13}.ns-keycard__bottom a{color:var(--ns-red);font-weight:800;font-size:.83rem}.ns-hero__edge{display:flex;gap:0;border-top:1px solid rgba(255,255,255,.13);position:relative}.ns-hero__edge span{flex:1;padding:15px 20px;border-right:1px solid rgba(255,255,255,.13);text-align:center;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;font-weight:800;color:#bfcbd0}

.ns-intro{padding:108px 0 100px;background:var(--ns-paper)}.ns-intro__grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.ns-intro h2{max-width:490px}.ns-intro__text{max-width:520px;padding-top:7px;font-size:1.08rem;color:#52626a}.ns-intro__text strong{color:var(--ns-ink)}.ns-textlink{display:inline-flex;gap:9px;align-items:center;margin-top:15px;color:var(--ns-red);font-size:.9rem;font-weight:800}.ns-textlink i{transition:transform .2s}.ns-textlink:hover i{transform:translateY(3px)}

.ns-services{padding:94px 0;background:var(--ns-mist)}.ns-section-head{text-align:center;max-width:690px;margin:0 auto 46px}.ns-section-head p:last-child{color:#5e6c72}.ns-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.ns-service{position:relative;min-height:300px;padding:28px;background:#fff;border:1px solid var(--ns-line);transition:transform .25s,box-shadow .25s}.ns-service:hover{transform:translateY(-7px);box-shadow:0 16px 35px rgba(26,42,54,.12)}.ns-service>span{color:var(--ns-red);font-size:.72rem;font-weight:900;letter-spacing:.12em}.ns-service>i{display:block;margin:54px 0 22px;font-size:2rem;color:var(--ns-red)}.ns-service h3{margin-bottom:9px}.ns-service p{font-size:.9rem;color:#607077;margin:0}.ns-service--dark{background:var(--ns-ink);border-color:var(--ns-ink)}.ns-service--dark h3{color:#fff}.ns-service--dark p{color:#c6d1d5}.ns-service--dark:after{content:"";position:absolute;right:18px;bottom:16px;width:44px;height:44px;border:1px solid rgba(255,255,255,.16);border-radius:50%}

.ns-process{padding:110px 0;background:#fff}.ns-process__heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:47px}.ns-process__heading .ns-label{margin:0 0 8px}.ns-steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:0;list-style:none;position:relative}.ns-steps:before{content:"";position:absolute;top:27px;left:7%;right:7%;height:2px;background:var(--ns-line)}.ns-steps li{position:relative;padding-right:26px}.ns-steps b{position:relative;z-index:1;display:grid;place-items:center;width:56px;height:56px;background:var(--ns-red);color:#fff;font:900 .95rem var(--font-display);clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%)}.ns-steps h3{margin:23px 0 8px}.ns-steps p{margin:0;color:#637177;font-size:.9rem}

.ns-map-section{padding:105px 0;background:#f5f3ef}.ns-map-section__grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:55px;align-items:center}.ns-map-copy h2{margin-bottom:19px}.ns-map-copy>p:not(.ns-label){color:#5e6e75;font-size:1.04rem}.ns-map-copy ul{padding:0;margin:25px 0 30px;list-style:none}.ns-map-copy li{display:flex;align-items:center;gap:10px;padding:7px 0;font-weight:700;font-size:.94rem}.ns-map-copy li i{color:var(--ns-red)}.ns-map-frame{position:relative;min-height:500px;border:9px solid #fff;box-shadow:0 24px 50px rgba(26,42,54,.16)}#niestetalMap{height:500px;width:100%;background:#dfe8e5}.ns-map-badge{position:absolute;z-index:500;left:20px;top:20px;display:flex;gap:10px;align-items:center;background:var(--ns-ink);color:#fff;padding:12px 16px;box-shadow:0 12px 23px rgba(0,0,0,.2)}.ns-map-badge>i{color:var(--ns-red);font-size:1.2rem}.ns-map-badge strong,.ns-map-badge small{display:block}.ns-map-badge strong{font-size:.8rem}.ns-map-badge small{font-size:.7rem;color:#c8d2d6}.ns-map-marker{display:grid!important;place-items:center;background:var(--ns-red);border:3px solid #fff!important;border-radius:50%;color:#fff;font-size:1rem;box-shadow:0 5px 15px rgba(0,0,0,.35)}.leaflet-popup-content{font:500 .84rem var(--font-body);line-height:1.5}.leaflet-popup-content strong{color:var(--ns-ink)}

.ns-trust{background:var(--ns-ink);padding:100px 0;color:#fff}.ns-trust h2{color:#fff}.ns-trust__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.ns-trust__list{border-top:1px solid rgba(255,255,255,.17)}.ns-trust__list>div{display:flex;gap:19px;align-items:flex-start;padding:21px 0;border-bottom:1px solid rgba(255,255,255,.17)}.ns-trust__list>div>i{color:var(--ns-red);font-size:1.35rem}.ns-trust__list p{margin:0}.ns-trust__list strong,.ns-trust__list span{display:block}.ns-trust__list strong{font-size:1rem;margin-bottom:3px}.ns-trust__list span{font-size:.9rem;color:#cbd4d8}

.ns-faq{padding:108px 0;background:#fff}.ns-faq__grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}.ns-faq__grid>div:first-child>p:last-child{color:#647278}.ns-faq__items details{border-top:1px solid var(--ns-line);padding:0}.ns-faq__items details:last-child{border-bottom:1px solid var(--ns-line)}.ns-faq__items summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:21px 0;font-weight:800;font-size:1rem}.ns-faq__items summary::-webkit-details-marker{display:none}.ns-faq__items summary i{color:var(--ns-red);transition:transform .2s}.ns-faq__items details[open] summary i{transform:rotate(45deg)}.ns-faq__items details p{max-width:650px;color:#637177;font-size:.93rem;padding-bottom:18px;margin:0}

.ns-final{padding:60px 0;background:var(--ns-red);color:#fff}.ns-final .ns-label{color:#fff1ee;margin-bottom:8px}.ns-final h2{color:#fff;margin:0 0 9px}.ns-final p:not(.ns-label){margin:0;color:#fff5f3}.ns-final__inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.ns-final__buttons{display:flex;gap:11px;flex-wrap:wrap}.ns-float{position:fixed;right:20px;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;color:#fff;z-index:60;box-shadow:0 8px 20px rgba(26,42,54,.22)}.ns-float--phone{bottom:84px;background:var(--ns-red)}.ns-float--wa{bottom:20px;background:#25d366}

@media(max-width:950px){.ns-hero__grid{grid-template-columns:1fr .65fr;gap:34px}.ns-keycard{min-height:350px}.ns-keycard__keyhole{height:210px}.ns-service-grid{grid-template-columns:repeat(2,1fr)}.ns-map-section__grid,.ns-trust__grid,.ns-faq__grid{grid-template-columns:1fr;gap:42px}.ns-map-copy{max-width:650px}.ns-trust h2{max-width:530px}.ns-faq__grid>div:first-child{max-width:530px}}
@media(max-width:680px){.ns-wrap{padding-inline:19px}.ns-hero{padding-top:30px}.ns-hero__grid{grid-template-columns:1fr;padding-bottom:55px}.ns-crumbs{margin-bottom:28px}.ns-keycard{display:none}.ns-hero__edge{overflow:auto}.ns-hero__edge span{min-width:155px}.ns-hero__notes{gap:12px}.ns-intro,.ns-services,.ns-process,.ns-map-section,.ns-trust,.ns-faq{padding:72px 0}.ns-intro__grid{grid-template-columns:1fr;gap:22px}.ns-service-grid{grid-template-columns:1fr}.ns-service{min-height:0}.ns-service>i{margin:26px 0 18px}.ns-process__heading{display:block;margin-bottom:35px}.ns-steps{grid-template-columns:1fr 1fr;gap:30px}.ns-steps:before{display:none}.ns-map-frame,#niestetalMap{min-height:360px;height:360px}.ns-final__inner{align-items:flex-start;flex-direction:column}.ns-button{width:100%}.ns-actions,.ns-final__buttons{width:100%}.ns-float{right:14px}.ns-float--phone{bottom:76px}.ns-float--wa{bottom:15px}}
@media(max-width:380px){.ns-steps{grid-template-columns:1fr}.ns-hero__notes{display:grid;grid-template-columns:1fr}.ns-hero h1{font-size:2.45rem!important}}
