/*
Theme Name: HCS Child
Template: astra
Description: Child-Theme für HCS Hübner Computer Systeme GmbH – Elementor + Xpro. Stile per CSS-Klassen (Elementor › Erweitert › CSS-Klassen).
Version: 1.0.0
Text Domain: hcs-child
*/

/* ===== Tokens ===== */
:root{--hcs-ink:#0A1424;--hcs-blue:#006EDC;--hcs-blue-d:#0052A6;--hcs-sky:#7FB6FF;--hcs-paper:#F2F1EC;--hcs-stone:#E7E5DD;--hcs-muted:#4A5363;--hcs-body:#2A3343;--hcs-line:rgba(10,20,36,.14);--hcs-line-l:rgba(255,255,255,.16);--hcs-pad:clamp(20px,4vw,56px);--hcs-sec:clamp(96px,12vw,160px);--hcs-ease:cubic-bezier(.16,1,.3,1);--hcs-mono:'Martian Mono',ui-monospace,monospace;--hcs-sans:Archivo,system-ui,sans-serif}
html,body{background:var(--hcs-paper)}
body.hcs{color:var(--hcs-ink);font-family:var(--hcs-sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
body.hcs a{color:var(--hcs-blue);text-underline-offset:3px}
body.hcs a:hover{color:var(--hcs-blue-d)}
::selection{background:var(--hcs-blue);color:#fff}
body.hcs .site-content>.ast-container,body.hcs #primary{max-width:none;padding:0;margin:0}
body.hcs .elementor-heading-title{font-family:var(--hcs-sans)}
@media(max-width:640px){body.hcs{hyphens:auto;-webkit-hyphens:auto}}

/* ===== Layout-Klassen für Container ===== */
.hcs-sec{padding-top:var(--hcs-sec)!important;padding-bottom:var(--hcs-sec)!important}
.hcs-sec-t{padding-top:var(--hcs-sec)!important}
.hcs-sec-b{padding-bottom:var(--hcs-sec)!important}
.hcs-px{padding-left:var(--hcs-pad)!important;padding-right:var(--hcs-pad)!important}
.hcs-grid-bg{background-image:linear-gradient(to right,rgba(10,20,36,.055) 1px,transparent 1px)!important;background-size:calc(100% / 12) 100%!important;border-bottom:1px solid var(--hcs-line)}
.hcs-bg-blue{background:var(--hcs-blue)!important;color:#fff}
.hcs-bg-ink{background:var(--hcs-ink)!important;color:#fff}
.hcs-bg-stone{background:var(--hcs-stone)!important}
.hcs-bg-white{background:#fff!important}
.hcs-bg-blue .elementor-heading-title,.hcs-bg-ink .elementor-heading-title,.hcs-bg-blue .elementor-widget-text-editor,.hcs-bg-ink .elementor-widget-text-editor{color:#fff}

/* ===== Typografie ===== */
.hcs-mono,.hcs-mono .elementor-heading-title,.hcs-mono.elementor-widget-text-editor{font-family:var(--hcs-mono)!important;font-size:11px!important;font-weight:400!important;letter-spacing:.06em!important;text-transform:uppercase;line-height:1.5!important;color:var(--hcs-blue)}
.hcs-mono.is-muted,.hcs-mono.is-muted .elementor-heading-title{color:var(--hcs-muted)}
.hcs-bg-blue .hcs-mono .elementor-heading-title,.hcs-mono.is-white .elementor-heading-title{color:#fff}
.hcs-bg-ink .hcs-mono .elementor-heading-title{color:var(--hcs-sky)}
.hcs-kicker .elementor-heading-title{display:flex;align-items:center;gap:12px}
.hcs-kicker .elementor-heading-title::before{content:'';width:10px;height:10px;background:var(--hcs-blue);flex:none}
.hcs-display .elementor-heading-title{font-weight:800;font-stretch:112%;letter-spacing:-.04em;line-height:.9;font-size:min(124px,11.4vw,max(7.2vw,54px));hyphens:manual}
.hcs-display em,.hcs-h-xl em,.hcs-h-l em,.hcs-quote em{font-style:italic;color:var(--hcs-blue)}
.hcs-bg-ink .hcs-h-xl em,.hcs-bg-ink .hcs-h-l em{color:var(--hcs-sky)}
.hcs-h-xl .elementor-heading-title{font-weight:800;font-stretch:115%;letter-spacing:-.04em;line-height:.88;font-size:clamp(56px,9vw,150px)}
.hcs-h-l .elementor-heading-title{font-weight:800;font-stretch:110%;letter-spacing:-.035em;line-height:.95;font-size:clamp(38px,5.2vw,84px);text-wrap:balance}
.hcs-h-m .elementor-heading-title{font-weight:800;font-stretch:112%;letter-spacing:-.035em;line-height:.95;font-size:clamp(34px,4.6vw,68px)}
.hcs-h-s .elementor-heading-title{font-weight:800;font-stretch:110%;letter-spacing:-.03em;line-height:1;font-size:clamp(26px,2.6vw,38px)}
.hcs-h-xs .elementor-heading-title{font-weight:700;font-stretch:106%;letter-spacing:-.02em;line-height:1.2;font-size:clamp(19px,1.7vw,24px)}
.hcs-page-title .elementor-heading-title{font-weight:800;font-stretch:110%;letter-spacing:-.04em;line-height:.92;font-size:clamp(42px,7vw,124px);hyphens:auto;overflow-wrap:break-word;text-wrap:balance}
.hcs-page-title.is-long .elementor-heading-title{font-size:clamp(34px,5.6vw,100px)}
.hcs-page-title.is-article .elementor-heading-title{font-size:clamp(30px,4.8vw,80px)}
@media(max-width:640px){.hcs-page-title .elementor-heading-title{font-size:clamp(34px,10vw,52px)}.hcs-page-title.is-long .elementor-heading-title,.hcs-page-title.is-article .elementor-heading-title{font-size:clamp(28px,8vw,42px)}}
.hcs-quote .elementor-heading-title,.hcs-quote{font-size:clamp(30px,3.6vw,56px)!important;line-height:1.1!important;font-weight:600!important;font-stretch:104%;letter-spacing:-.025em;text-wrap:pretty}
.hcs-outline .elementor-heading-title{font-weight:900;font-style:italic;letter-spacing:-.04em;line-height:.9;font-size:clamp(72px,7vw,112px);color:transparent!important;-webkit-text-stroke:1.6px var(--hcs-blue)}
.hcs-outline.is-fill .elementor-heading-title{color:var(--hcs-blue)!important;-webkit-text-stroke:0}
.hcs-bg-blue .hcs-outline .elementor-heading-title{-webkit-text-stroke-color:#fff}
.hcs-text,.hcs-text p{font-size:17px;line-height:1.6;color:var(--hcs-muted)}
.hcs-text p:last-child{margin-bottom:0}
.hcs-bg-ink .hcs-text,.hcs-bg-ink .hcs-text p,.hcs-bg-blue .hcs-text,.hcs-bg-blue .hcs-text p{color:#fff}
.hcs-lead,.hcs-lead p{font-size:clamp(19px,1.6vw,23px)!important;line-height:1.45;font-weight:500;color:var(--hcs-ink)}
.hcs-tel .elementor-heading-title a,.hcs-tel .elementor-heading-title{font-weight:800;font-stretch:110%;letter-spacing:-.03em;font-size:clamp(30px,3vw,48px);line-height:1;color:inherit;text-decoration:none}

/* ===== Buttons (nur 2 Typen) ===== */
.hcs-btn .elementor-button,.hcs-link .elementor-button{font-family:var(--hcs-sans);font-weight:600;font-size:16px;letter-spacing:0;text-transform:none;border-radius:0;box-shadow:none;transition:background-color .25s,color .25s,gap .25s,padding .25s}
.hcs-btn .elementor-button{display:inline-flex;align-items:center;height:56px;padding:0 20px 0 24px;background:var(--hcs-blue);color:#fff;fill:#fff}
.hcs-btn .elementor-button:hover{background:var(--hcs-ink);color:#fff}
.hcs-btn.is-light .elementor-button{background:#fff;color:var(--hcs-ink)}
.hcs-btn.is-light .elementor-button:hover{background:var(--hcs-blue);color:#fff}
.hcs-btn.is-block .elementor-button{width:100%;justify-content:space-between}
.hcs-link .elementor-button{background:transparent;color:var(--hcs-ink);padding:6px 0;border-bottom:1.5px solid currentColor}
.hcs-link .elementor-button:hover{color:var(--hcs-blue);background:transparent}
.hcs-link.is-light .elementor-button,.hcs-bg-blue .hcs-link .elementor-button,.hcs-bg-ink .hcs-link .elementor-button{color:#fff}
.hcs-btn .elementor-button-content-wrapper,.hcs-link .elementor-button-content-wrapper{display:flex;align-items:center;gap:16px;transition:gap .25s}
.hcs-link .elementor-button-content-wrapper{gap:12px}
.hcs-btn .elementor-button:hover .elementor-button-content-wrapper{gap:24px}
.hcs-link .elementor-button:hover .elementor-button-content-wrapper{gap:18px}
.hcs-btn .elementor-button-content-wrapper::after,.hcs-link .elementor-button-content-wrapper::after,.hcs-ulink::after{content:'';width:18px;height:12px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M0 6h16M11 1l5 5-5 5' stroke='%23000' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M0 6h16M11 1l5 5-5 5' stroke='%23000' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") center/contain no-repeat}
.hcs-link.is-back .elementor-button-content-wrapper{flex-direction:row-reverse}
.hcs-link.is-back .elementor-button-content-wrapper::after{transform:rotate(180deg)}
.hcs-ulink{display:inline-flex;align-items:center;gap:12px;font-weight:600;font-size:15px;color:var(--hcs-ink)!important;text-decoration:none;padding:6px 0;border-bottom:1.5px solid currentColor;transition:gap .25s,color .25s}
.hcs-ulink:hover{color:var(--hcs-blue)!important;gap:18px}
.hcs-arr{flex:none}

/* ===== Bilder ===== */
.hcs-media{background:var(--hcs-stone);overflow:hidden}
.hcs-img img,.hcs-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--hcs-ease)}
.hcs-img{overflow:hidden;background:var(--hcs-stone)}
.hcs-img:hover img,a:hover .hcs-img img,a:hover .hcs-media img{transform:scale(1.04)}
.hcs-img.r-banner,.hcs-img.r-banner img{height:clamp(220px,26vw,400px)}
.hcs-img.r-sub,.hcs-img.r-sub img{height:clamp(160px,18vw,280px)}
.hcs-img.r-32 img{aspect-ratio:3/2;height:auto}
.hcs-img.r-card img{aspect-ratio:33/21;height:auto}
.hcs-img.r-wide img{aspect-ratio:74/30;height:auto}
.hcs-thumb{position:relative;margin:0 16px 16px 0!important}
.hcs-thumb::before{content:'';position:absolute;inset:16px -16px -16px 16px;background:var(--hcs-ink)}
.hcs-thumb img{position:relative;aspect-ratio:3/2;object-fit:cover;width:100%}
.hcs-figure img{background:#fff;border:1px solid var(--hcs-line);padding:clamp(12px,2vw,28px)}
.hcs-caption{display:flex!important;justify-content:space-between;gap:8px;flex-wrap:wrap}

/* ===== Hero Startseite ===== */
.hcs-signet svg{width:100%;height:auto;display:block;overflow:visible}
.hcs-figline .elementor-heading-title{display:flex;align-items:center;gap:12px}
.hcs-figline .elementor-heading-title::after{content:'';flex:1;height:1px;background:rgba(10,20,36,.25);order:1}
.hcs-figline .elementor-heading-title span{order:2}

/* ===== Laufband ===== */
.hcs-marquee{overflow:hidden;background:var(--hcs-blue);color:#fff;border-bottom:1px solid var(--hcs-ink)}
.hcs-marquee .elementor-widget-container,.hcs-marquee.elementor-widget-text-editor{margin:0}
.hcs-mq-track{display:flex;width:max-content;align-items:center;font-weight:800;font-stretch:115%;letter-spacing:-.03em;font-size:clamp(32px,4.4vw,64px);line-height:1;padding:22px 0;white-space:nowrap}
.hcs-mq-track span{padding:0 28px}
.hcs-mq-track span:nth-child(even){color:transparent;-webkit-text-stroke:1.5px #fff;font-style:italic}
.hcs-marquee p{margin:0;padding:22px var(--hcs-pad);font-weight:800;font-size:clamp(28px,4vw,56px);color:#fff}

/* ===== Jahreszahlen ===== */
.hcs-years{border-top:1px solid var(--hcs-ink)}
.hcs-years>.e-con-inner>.e-con,.hcs-years>.e-con{border-right:1px solid var(--hcs-line)}
.hcs-years>.e-con-inner>.e-con:last-child,.hcs-years>.e-con:last-child{border-right:0}
@media(max-width:767px){.hcs-years>.e-con-inner>.e-con,.hcs-years>.e-con{border-right:0;border-bottom:1px solid var(--hcs-line)}}

/* ===== Zeilen-Liste (Leistungen etc.) ===== */
.hcs-rows{border-bottom:1px solid var(--hcs-line)}
.hcs-row{border-top:1px solid var(--hcs-line);color:var(--hcs-ink)!important;text-decoration:none!important;transition:background-color .35s,color .35s,padding .35s!important;position:relative}
.hcs-row:hover{background:var(--hcs-blue)!important;padding-left:36px!important}
.hcs-row:hover *,.hcs-row:hover .elementor-heading-title{color:#fff!important}
.hcs-row .hcs-row-num .elementor-heading-title{font-family:var(--hcs-mono);font-size:12px;letter-spacing:.06em;opacity:.65;color:inherit}
.hcs-row .hcs-row-title .elementor-heading-title{font-weight:800;font-stretch:112%;letter-spacing:-.035em;line-height:.95;font-size:clamp(34px,4.6vw,68px);hyphens:auto;color:var(--hcs-ink)}
.hcs-row.is-sm .hcs-row-title .elementor-heading-title{font-size:clamp(30px,4vw,58px)}
.hcs-row .hcs-row-text,.hcs-row .hcs-row-text p{font-size:15.5px;line-height:1.5;color:var(--hcs-muted);margin:0}
.hcs-row .hcs-row-subs .elementor-heading-title{font-family:var(--hcs-mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--hcs-muted);font-weight:400;line-height:1.6}
.hcs-row::after{content:'';flex:0 0 56px;width:56px;height:56px;border:1px solid currentColor;background:center/18px 12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M0 6h16M11 1l5 5-5 5' stroke='%230A1424' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");align-self:center}
.hcs-row:hover::after{border-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M0 6h16M11 1l5 5-5 5' stroke='%23fff' stroke-width='1.6' fill='none'/%3E%3C/svg%3E")}
.hcs-row .hcs-row-img{display:none!important}
body.elementor-editor-active .hcs-row .hcs-row-img{display:block!important;max-width:120px}
.hcs-float{position:fixed;left:0;top:0;width:300px;height:200px;pointer-events:none;z-index:60;overflow:hidden;background:var(--hcs-ink);opacity:0;transition:opacity .25s;box-shadow:0 24px 48px -16px rgba(10,20,36,.45)}
.hcs-float img{width:100%;height:100%;object-fit:cover;display:block}
.hcs-float.is-on{opacity:1}
@media(max-width:1099px){.hcs-float{display:none}}

/* ===== Prozess ===== */
.hcs-step{border-top:1px solid rgba(255,255,255,.35);position:relative}
.hcs-step::before{content:'';position:absolute;left:0;right:0;top:-1px;height:1px;background:#fff;transform-origin:left;transform:scaleX(var(--hcs-line-s,1));transition:transform 1.4s var(--hcs-ease)}
.hcs-step-num .elementor-heading-title{font-weight:900;font-style:italic;font-size:clamp(88px,9vw,148px);line-height:.9;letter-spacing:-.04em;color:transparent!important;-webkit-text-stroke:1.5px #fff}
.hcs-step.is-sm .hcs-step-num .elementor-heading-title{font-size:64px}
.hcs-step-list ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.hcs-step-list li{display:flex;gap:12px;font-size:16px;line-height:1.5;color:#fff}
.hcs-step-list li::before{content:'—';flex:none}

/* ===== Karten ===== */
.hcs-cards{border-top:1px solid var(--hcs-line);border-left:1px solid var(--hcs-line)}
.hcs-card{border-right:1px solid var(--hcs-line);border-bottom:1px solid var(--hcs-line);color:var(--hcs-ink)!important;text-decoration:none!important;transition:background-color .3s!important}
.hcs-card:hover{background:#fff!important}
.hcs-card .hcs-h-s .elementor-heading-title{font-size:38px}
.hcs-card .hcs-card-more .elementor-heading-title{font-weight:600;font-size:15px;color:var(--hcs-blue);display:inline-flex;gap:12px;align-items:center}
.hcs-card .hcs-card-more .elementor-heading-title::after,.hcs-tile .hcs-tile-title .elementor-heading-title::after{content:'';width:18px;height:12px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M0 6h16M11 1l5 5-5 5' stroke='%23000' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M0 6h16M11 1l5 5-5 5' stroke='%23000' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") center/contain no-repeat;flex:none}
.hcs-tile{background:var(--hcs-paper)!important;color:var(--hcs-ink)!important;text-decoration:none!important;transition:background-color .3s,color .3s!important}
.hcs-tile:hover{background:#fff!important}
.hcs-tile:hover .elementor-heading-title{color:var(--hcs-blue)!important}
.hcs-tile .hcs-tile-title .elementor-heading-title{display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:700;font-stretch:105%;font-size:20px;line-height:1.15}

/* ===== Dunkle Box (Fernwartung) ===== */
.hcs-dark-box{background:var(--hcs-ink)!important;color:#fff}
.hcs-dark-box .hcs-tel .elementor-heading-title a:hover{color:var(--hcs-sky)}

/* ===== Aktuelles (Shortcode) ===== */
.hcs-news-top{display:flex;flex-wrap:wrap;gap:32px 56px;align-items:flex-end;color:var(--hcs-ink)!important;text-decoration:none;padding-bottom:48px}
.hcs-news-top .hcs-media{flex:1 1 640px;min-width:0;aspect-ratio:11/3.4}
.hcs-news-top .c{flex:1 1 380px;min-width:0}
.hcs-news-top .t{font-weight:800;font-stretch:108%;letter-spacing:-.03em;line-height:1;font-size:clamp(30px,3.2vw,48px);margin:14px 0 16px;text-wrap:balance}
.hcs-news-top:hover .t{color:var(--hcs-blue)}
.hcs-news-top p{margin:0;font-size:16px;line-height:1.55;color:var(--hcs-muted)}
.hcs-news-list{border-bottom:1px solid var(--hcs-line)}
.hcs-news-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 32px;padding:26px 0;border-top:1px solid var(--hcs-line);color:var(--hcs-ink)!important;text-decoration:none;transition:color .25s,padding .3s}
.hcs-news-row:hover{color:var(--hcs-blue)!important;padding-left:16px}
.hcs-news-row .hcs-mono{flex:0 0 180px}
.hcs-news-row .t{flex:1 1 420px;min-width:0;font-weight:700;font-stretch:105%;letter-spacing:-.015em;font-size:clamp(20px,2vw,28px);line-height:1.2}
.hcs-news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:48px 32px}
.hcs-nl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}
.hcs-news-card{display:flex;flex-direction:column;color:var(--hcs-ink)!important;text-decoration:none}
.hcs-news-card .hcs-media{aspect-ratio:11/3.6}
.hcs-news-card .hcs-mono{margin-top:20px}
.hcs-news-card .t{font-weight:800;font-stretch:106%;letter-spacing:-.025em;font-size:clamp(24px,2.2vw,32px);line-height:1.08;margin-top:10px;text-wrap:balance}
.hcs-news-card:hover .t{color:var(--hcs-blue)}
.hcs-news-card p{margin:12px 0 0;font-size:15.5px;line-height:1.55;color:var(--hcs-muted)}
.hcs-nl-grid .hcs-news-card{background:#fff;border:1px solid var(--hcs-line);transition:border-color .25s}
.hcs-nl-grid .hcs-news-card:hover{border-color:var(--hcs-blue)}
.hcs-nl-grid .hcs-media{aspect-ratio:15/7}
.hcs-nl-grid .hcs-mono,.hcs-nl-grid .t{padding:0 22px}
.hcs-nl-grid .t{font-size:20px;font-weight:700;margin-bottom:24px}

/* ===== Anfahrt ===== */
.hcs-routes{background:var(--hcs-ink)!important;color:#fff}
.hcs-routes-head .elementor-heading-title{display:flex;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.2);color:var(--hcs-sky)!important}
.hcs-route{border-bottom:1px solid rgba(255,255,255,.14);color:#fff!important;text-decoration:none!important;transition:color .2s}
.hcs-route .elementor-heading-title{color:inherit!important}
.hcs-route:hover,.hcs-route:hover .elementor-heading-title{color:var(--hcs-sky)!important}
.hcs-route-from .elementor-heading-title{font-weight:600;font-size:clamp(16px,1.5vw,20px);line-height:1.25}
.hcs-route-from{flex:0 1 auto!important}
.hcs-route::before{content:'';order:2;flex:1;min-width:20px;border-bottom:1px dotted rgba(255,255,255,.35);align-self:center}
.hcs-route-time{order:3}
.hcs-route-time .elementor-heading-title{font-family:var(--hcs-mono);font-size:12px;letter-spacing:.04em;white-space:nowrap}
.hcs-route::after{content:'↗';order:4;font-size:14px}

/* ===== Partner-Logos ===== */
.hcs-logos{overflow:hidden;border-top:1px solid var(--hcs-line);border-bottom:1px solid var(--hcs-line);background:#fff!important}
.hcs-logos .hcs-logo{flex:none!important;width:220px!important;height:140px;display:flex;align-items:center;justify-content:center;border-right:1px solid rgba(10,20,36,.1);padding:16px!important}
.hcs-logo img{max-width:100%;max-height:108px;width:auto!important;filter:grayscale(1);opacity:.75;transition:filter .3s,opacity .3s}
.hcs-logo:hover img{filter:none;opacity:1}
.hcs-logogrid{gap:1px!important;background:var(--hcs-line)!important;border:1px solid var(--hcs-line)}
.hcs-logogrid .hcs-logo{background:#fff;aspect-ratio:8/5;display:flex;align-items:center;justify-content:center;padding:14px}
.hcs-logogrid .hcs-logo img{max-height:90px}

/* ===== Unterseiten ===== */
.hcs-crumbs{display:flex;flex-wrap:wrap;gap:6px 10px;font-family:var(--hcs-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--hcs-muted)}
.hcs-crumbs a{color:var(--hcs-muted)!important;text-decoration:none}
.hcs-crumbs a:hover{color:var(--hcs-blue)!important}
.hcs-crumbs span{opacity:.5}
.hcs-crumbs b{font-weight:400;color:var(--hcs-ink)}
.hcs-prose{max-width:900px}
.hcs-prose p{font-size:18px;line-height:1.66;color:var(--hcs-body);max-width:70ch;margin:0 0 20px;text-wrap:pretty}
.hcs-prose p.hcs-lead,.hcs-prose>p:first-child.is-lead{font-size:clamp(22px,2.2vw,30px)!important;line-height:1.35;font-weight:500;letter-spacing:-.012em;color:var(--hcs-ink);margin-bottom:32px}
.hcs-prose h3{margin:48px 0 16px;font-weight:800;font-stretch:106%;letter-spacing:-.02em;line-height:1.12;font-size:clamp(22px,2vw,30px);color:var(--hcs-ink)}
.hcs-prose h4{margin:28px 0 10px;font-weight:700;font-size:19px;color:var(--hcs-ink)}
.hcs-prose ul{list-style:none;margin:12px 0 36px;padding:0;border-top:1px solid var(--hcs-ink);counter-reset:hcs}
.hcs-prose ul li{display:flex;gap:20px;padding:16px 0;border-bottom:1px solid var(--hcs-line);font-size:17px;line-height:1.5;counter-increment:hcs;color:var(--hcs-ink)}
.hcs-prose ul li::before{content:counter(hcs,decimal-leading-zero);flex:0 0 30px;font-family:var(--hcs-mono);font-size:11px;color:var(--hcs-blue);padding-top:4px}
.hcs-prose a{font-weight:600}
.hcs-prose img{max-width:100%;height:auto}
.hcs-prose .hcs-kv{display:flex;flex-wrap:wrap;gap:4px 24px;padding:12px 0;border-bottom:1px solid var(--hcs-line);font-size:17px;margin:0}
.hcs-prose .hcs-kv b{flex:0 0 120px;font-family:var(--hcs-mono);font-size:11px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--hcs-muted);padding-top:4px}
.hcs-aside{position:sticky!important;top:104px}
.hcs-box{background:#fff!important;border:1px solid var(--hcs-line)!important}
.hcs-addr .elementor-heading-title,.hcs-addr p{font-family:var(--hcs-mono)!important;font-size:10.5px!important;letter-spacing:.06em;text-transform:uppercase;color:var(--hcs-muted)!important;line-height:1.8!important;font-weight:400!important}
.hcs-mail a,.hcs-mail .elementor-heading-title a{font-weight:600;font-size:15px;color:var(--hcs-blue)!important}
.hcs-sib{border-top:1px solid var(--hcs-line);padding:56px 0 0}
.hcs-sib-list{display:flex;flex-wrap:wrap;gap:10px 30px;margin-top:18px}
.hcs-sib-list a,.hcs-sib-list span{font-weight:600;font-size:18px;color:var(--hcs-ink)!important;text-decoration:none}
.hcs-sib-list a:hover{color:var(--hcs-blue)!important}
.hcs-sib-list .is-cur{color:var(--hcs-blue)!important;display:inline-flex;align-items:center;gap:8px}
.hcs-sib-list .is-cur::before{content:'';width:7px;height:7px;background:var(--hcs-blue)}
.hcs-next{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;margin-top:48px;padding:36px 0;border-top:1px solid var(--hcs-ink);border-bottom:1px solid var(--hcs-ink);color:var(--hcs-ink)!important;text-decoration:none;transition:color .25s,padding .3s}
.hcs-next:hover{color:var(--hcs-blue)!important;padding-left:20px}
.hcs-next .t{flex:1 1 400px;min-width:0;font-weight:800;font-stretch:112%;letter-spacing:-.035em;line-height:.95;font-size:clamp(32px,5.4vw,88px);hyphens:auto}
.hcs-next .b{flex:0 0 64px;height:64px;border:1px solid currentColor;display:flex;align-items:center;justify-content:center}

/* ===== Akkordeon (FAQ) ===== */
.hcs-faq .e-n-accordion{border-top:1px solid var(--hcs-ink)}
.hcs-faq .e-n-accordion-item{border-bottom:1px solid var(--hcs-line)}
.hcs-faq .e-n-accordion-item-title{padding:24px 0!important;border:0!important;background:transparent!important;color:var(--hcs-ink)!important;transition:color .2s}
.hcs-faq .e-n-accordion-item-title:hover{color:var(--hcs-blue)!important}
.hcs-faq .e-n-accordion-item-title-text{font-family:var(--hcs-sans)!important;font-weight:700!important;font-stretch:104%;font-size:clamp(18px,1.7vw,23px)!important;line-height:1.3!important}
.hcs-faq .e-n-accordion-item-title-icon{width:40px;height:40px;border:1px solid currentColor;display:flex!important;align-items:center;justify-content:center;flex:none}
.hcs-faq .e-n-accordion-item>.e-con{padding:0 0 32px 0!important;border:0!important}
.hcs-faq .e-n-accordion-item .hcs-prose p{font-size:16.5px}

/* ===== Formulare ===== */
.hcs-form .wpcf7-form p{margin:0 0 20px}
.hcs-form label{display:flex;flex-direction:column;gap:8px;font-family:var(--hcs-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--hcs-muted)}
.hcs-form input[type=text],.hcs-form input[type=email],.hcs-form input[type=tel],.hcs-form textarea{width:100%;height:54px;padding:0 16px;border:0;border-bottom:1.5px solid var(--hcs-ink);border-radius:0;background:var(--hcs-paper);font:400 17px var(--hcs-sans);color:var(--hcs-ink);text-transform:none;letter-spacing:0;outline:none}
.hcs-form textarea{height:auto;min-height:160px;padding:14px 16px;line-height:1.5}
.hcs-form input:focus,.hcs-form textarea:focus{border-bottom-color:var(--hcs-blue);background:#fff}
.hcs-form .wpcf7-acceptance label{flex-direction:row;font-family:var(--hcs-sans);font-size:14px;text-transform:none;letter-spacing:0;line-height:1.5}
.hcs-form .wpcf7-submit{height:56px;padding:0 24px;background:var(--hcs-blue);color:#fff;font:600 16px var(--hcs-sans);border:0;border-radius:0;cursor:pointer;transition:background-color .25s}
.hcs-form .wpcf7-submit:hover{background:var(--hcs-ink)}
.hcs-form.is-dark input[type=email]{background:#fff}
.hcs-form.is-dark .wpcf7-submit:hover{background:#fff;color:var(--hcs-ink)}
.hcs-form .hcs-row2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px}
.hcs-form .wpcf7-response-output{margin:20px 0 0!important;border:0!important;border-left:3px solid var(--hcs-blue)!important;padding:4px 0 4px 16px!important}

/* ===== Karte ===== */
.hcs-map{position:relative;min-height:440px;background:var(--hcs-stone);background-image:linear-gradient(rgba(10,20,36,.07) 1px,transparent 1px),linear-gradient(to right,rgba(10,20,36,.07) 1px,transparent 1px);background-size:40px 40px;border:1px solid var(--hcs-line);overflow:hidden}
.hcs-map-in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;gap:16px}
.hcs-map-in .pin{width:18px;height:18px;background:var(--hcs-blue);outline:8px solid rgba(0,110,220,.18)}
.hcs-map-in strong{font-weight:800;font-stretch:108%;font-size:26px;letter-spacing:-.02em}
.hcs-map-in p{margin:0;font-size:14.5px;line-height:1.5;color:var(--hcs-muted);max-width:44ch}
.hcs-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.hcs-map button{height:56px;padding:0 24px;background:var(--hcs-blue);color:#fff;font:600 16px var(--hcs-sans);border:0;border-radius:0;cursor:pointer}
.hcs-map button:hover{background:var(--hcs-ink)}

/* ===== Header ===== */
.hcs-topbar{font-family:var(--hcs-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}
.hcs-topbar a{color:#fff!important;text-decoration:none}
.hcs-topbar a:hover{color:var(--hcs-sky)!important}
.hcs-topbar .elementor-heading-title,.hcs-topbar p{font-family:var(--hcs-mono)!important;font-size:10.5px!important;letter-spacing:.06em;color:#fff!important;margin:0;line-height:1.5!important;font-weight:400!important}
.hcs-topbar .is-dim .elementor-heading-title{opacity:.72}
.hcs-fw-dot .elementor-heading-title a{display:inline-flex;align-items:center;gap:8px}
.hcs-fw-dot .elementor-heading-title a::before{content:'';width:6px;height:6px;background:var(--hcs-blue)}
.hcs-header{position:sticky!important;top:0;z-index:50;background:rgba(242,241,236,.9)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--hcs-line)}
body.admin-bar .hcs-header{top:32px}
.hcs-brand .elementor-heading-title{font-weight:800!important;font-stretch:112%;font-size:clamp(13px,3.8vw,18px)!important;letter-spacing:-.02em;line-height:1!important;white-space:nowrap}
.hcs-brand .elementor-heading-title a{color:var(--hcs-ink)!important;text-decoration:none}
.hcs-brand-sub .elementor-heading-title{font-family:var(--hcs-mono)!important;font-size:9.5px!important;letter-spacing:.06em;text-transform:uppercase;color:var(--hcs-muted)!important;line-height:1!important;font-weight:400!important}
.hcs-navwrap{position:static!important}
.hcs-nav{display:flex;align-items:center;gap:2px;height:76px}
.hcs-nav-link{display:flex;align-items:center;gap:8px;height:76px;padding:0 14px;font-size:15.5px;font-weight:600;color:var(--hcs-ink)!important;text-decoration:none}
.hcs-nav-link:hover,.hcs-nav-item.is-open>.hcs-nav-link{color:var(--hcs-blue)!important}
.hcs-nav-item.is-active>.hcs-nav-link::before{content:'';width:7px;height:7px;background:var(--hcs-blue)}
.hcs-mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--hcs-line);box-shadow:0 30px 60px -30px rgba(10,20,36,.35);display:none}
.hcs-nav-item.is-open .hcs-mega{display:block;animation:hcsFade .25s var(--hcs-ease)}
.hcs-mega-in{max-width:1480px;margin:0 auto;padding:40px var(--hcs-pad) 48px;display:flex;gap:56px}
.hcs-mega-intro{flex:0 0 300px}
.hcs-mega-title{font-weight:800;font-stretch:115%;letter-spacing:-.035em;font-size:46px;line-height:.95;margin:14px 0 16px}
.hcs-mega-intro p{font-size:15px;line-height:1.55;color:var(--hcs-muted);margin:0 0 22px}
.hcs-mega-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1px;background:rgba(10,20,36,.1);border:1px solid rgba(10,20,36,.1);align-self:flex-start}
.hcs-mega-card{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px;background:#fff;color:var(--hcs-ink)!important;text-decoration:none;transition:background-color .2s}
.hcs-mega-card:hover{background:var(--hcs-paper);color:var(--hcs-blue)!important}
.hcs-mega-card .hcs-mono{color:var(--hcs-muted);font-size:10.5px}
.hcs-mega-card strong{font-weight:700;font-size:18px;font-stretch:105%}
.hcs-mega-card .d{font-size:13.5px;line-height:1.45;color:var(--hcs-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hcs-burger{display:none;width:48px;height:48px;background:var(--hcs-ink)!important;border:0!important;border-radius:0!important;flex-direction:column;justify-content:center;align-items:center;gap:6px;cursor:pointer;padding:0!important}
.hcs-burger span{width:20px;height:2px;background:#fff;display:block}
@media(max-width:1099px){.hcs-nav{display:none}.hcs-burger{display:flex}.hcs-hide-mobile{display:none!important}}
@media(max-width:639px){.hcs-hide-phone{display:none!important}}
@keyframes hcsFade{from{opacity:0}to{opacity:1}}

/* ===== Mobiles Terminal-Menü ===== */
.hcs-term{position:fixed;inset:0;z-index:9990;background:var(--hcs-ink);color:#fff;overflow-y:auto;display:flex;flex-direction:column}
.hcs-term[hidden]{display:none}
.hcs-term-bar{position:sticky;top:0;z-index:1;background:var(--hcs-ink);display:flex;align-items:center;justify-content:space-between;gap:12px;height:76px;padding:0 var(--hcs-pad);border-bottom:1px solid var(--hcs-line-l);flex:none}
.hcs-term-prompt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--hcs-mono);font-size:12px}
.hcs-term-prompt .u{color:var(--hcs-sky)}
.hcs-term-prompt .o{opacity:.5}
.hcs-cursor{display:inline-block;width:7px;height:14px;background:var(--hcs-sky);margin-left:6px;vertical-align:-2px;animation:hcsBlink 1.1s steps(1) infinite}
@keyframes hcsBlink{50%{opacity:0}}
.hcs-term-close{flex:none;width:48px;height:48px;background:#fff!important;border:0!important;border-radius:0!important;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0!important}
.hcs-term-list{padding:8px var(--hcs-pad) 0;display:flex;flex-direction:column;flex:1}
.hcs-term-row{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1);color:#fff!important;text-decoration:none!important}
.hcs-term-row .n{flex:0 0 26px;font-family:var(--hcs-mono);font-size:10.5px;color:var(--hcs-sky)}
.hcs-term-row .t{flex:1;min-width:0;font-weight:800;font-stretch:110%;letter-spacing:-.03em;line-height:1.05;font-size:clamp(22px,6.2vw,34px);hyphens:auto}
.hcs-term-list.is-root .hcs-term-row .t{font-size:clamp(34px,10vw,56px)}
.hcs-term-row .t i{font-style:normal;color:var(--hcs-blue)}
.hcs-term-row .c{flex:none;font-family:var(--hcs-mono);font-size:10px;color:rgba(255,255,255,.6)}
.hcs-term-row.is-cur{color:var(--hcs-sky)!important}
.hcs-term-row .h{font-family:var(--hcs-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--hcs-sky)}
.hcs-term-row.is-sys{color:var(--hcs-sky)!important;font-family:var(--hcs-mono);font-size:12px;letter-spacing:.03em}
.hcs-term-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hcs-line-l);border-top:1px solid var(--hcs-line-l);margin-top:32px;flex:none}
.hcs-term-quick a{background:var(--hcs-ink);color:#fff!important;text-decoration:none;padding:16px clamp(14px,4vw,24px) 20px;display:flex;flex-direction:column;gap:6px;font-family:var(--hcs-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}
.hcs-term-quick a span{color:var(--hcs-sky)}
.hcs-term-quick a:last-child{background:var(--hcs-blue)}
.hcs-term-quick a:last-child span{color:#fff}

/* ===== Footer ===== */
.hcs-footer{background:var(--hcs-ink)!important;color:#fff;overflow:hidden}
.hcs-footer .elementor-heading-title{color:#fff}
.hcs-footer .hcs-mono .elementor-heading-title{color:var(--hcs-sky)}
.hcs-footer em{font-style:italic;color:var(--hcs-sky)}
.hcs-footer-cols{border-top:1px solid var(--hcs-line-l)}
.hcs-flinks p,.hcs-flinks{margin:0;font-size:15px;line-height:1.7;color:#fff}
.hcs-flinks a{color:#fff!important;text-decoration:none;display:block;padding:3px 0}
.hcs-flinks a:hover{color:var(--hcs-sky)!important}
.hcs-flinks .nw a{white-space:nowrap}
.hcs-watermark .elementor-heading-title{font-weight:900;font-style:italic;font-size:clamp(150px,36vw,600px);line-height:.74;letter-spacing:-.05em;color:transparent!important;-webkit-text-stroke:2px rgba(255,255,255,.2);user-select:none;white-space:nowrap;transition:color .6s,-webkit-text-stroke-color .6s}
.hcs-watermark:hover .elementor-heading-title{color:var(--hcs-blue)!important;-webkit-text-stroke-color:var(--hcs-blue)}
.hcs-footbar .elementor-heading-title,.hcs-footbar p{font-family:var(--hcs-mono)!important;font-size:10.5px!important;letter-spacing:.06em;text-transform:uppercase;color:#fff!important;font-weight:400!important;margin:0}
.hcs-footbar a{color:#fff!important;text-decoration:none}
.hcs-footbar a:hover{color:var(--hcs-ink)!important}

/* ===== Fernwartung (Tab, Button, Popup, Hinweis) ===== */
.hcs-fwtab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:45;writing-mode:vertical-rl;background:var(--hcs-ink);color:#fff;border:0;border-radius:0;padding:14px 11px 20px;font-family:var(--hcs-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;display:flex;gap:14px;align-items:center;transition:background-color .25s}
.hcs-fwtab:hover{background:var(--hcs-blue)}
.hcs-fwfab{position:fixed;right:16px;bottom:16px;z-index:45;width:56px;height:56px;background:var(--hcs-ink);border:0;border-radius:0;display:none;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 12px 28px -10px rgba(10,20,36,.55);padding:0}
.hcs-tv{position:relative;width:26px;height:26px;display:block;flex:none}
.hcs-fwfab .hcs-tv{width:30px;height:30px}
.hcs-tv img{width:100%;height:100%;display:block;position:relative}
.hcs-ring{position:absolute;inset:-2px;border:2px solid #0E8EE9;border-radius:7px;opacity:0;pointer-events:none}
@media(max-width:639px){.hcs-fwtab{display:none}.hcs-fwfab{display:flex}}
.hcs-fwpop{position:fixed!important;right:52px;top:50%;transform:translateY(-50%);z-index:46;width:min(340px,calc(100vw - 32px))!important;background:#fff!important;border:1px solid var(--hcs-ink)!important;box-shadow:0 30px 60px -20px rgba(10,20,36,.4);display:none!important}
.hcs-fwpop.is-open{display:flex!important;animation:hcsFade .3s var(--hcs-ease)}
.hcs-fwpop-x{position:absolute;top:14px;right:16px;background:none;border:0;font-size:22px;line-height:1;cursor:pointer;color:var(--hcs-ink);padding:0}
@media(max-width:639px){.hcs-fwpop{right:16px;top:auto;bottom:84px;transform:none}}
body.elementor-editor-active .hcs-fwpop{display:flex!important;position:relative!important;right:auto;top:auto;transform:none;margin:24px}
.hcs-hint{position:fixed;right:58px;top:50%;transform:translateY(-50%);z-index:44;width:min(272px,calc(100vw - 32px));display:flex;align-items:stretch;background:#fff;border:1px solid var(--hcs-ink);box-shadow:0 22px 44px -18px rgba(10,20,36,.45)}
.hcs-hint[hidden]{display:none}
.hcs-hint-b{all:unset;box-sizing:border-box;cursor:pointer;flex:1;min-width:0;padding:16px 4px 16px 18px;display:flex;flex-direction:column;gap:6px}
.hcs-hint-b .k{display:flex;align-items:center;gap:8px;font-family:var(--hcs-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--hcs-blue)}
.hcs-hint-b .k::before{content:'';width:6px;height:6px;background:var(--hcs-blue)}
.hcs-hint-b strong{font-weight:800;font-stretch:108%;letter-spacing:-.02em;font-size:18px;line-height:1.15;color:var(--hcs-ink)}
.hcs-hint-b span.s{font-size:13.5px;line-height:1.45;color:var(--hcs-muted)}
.hcs-hint-x{all:unset;cursor:pointer;flex:none;width:36px;display:flex;align-items:flex-start;justify-content:center;padding-top:12px;font-size:20px;line-height:1;color:var(--hcs-muted)}
@media(max-width:639px){.hcs-hint{right:16px;top:auto;bottom:86px;transform:none}}

/* ===== Seitenübergang ===== */
.hcs-wipe{position:fixed;inset:0;z-index:10000;background:var(--hcs-blue);transform:translateY(100%);pointer-events:none;display:flex;align-items:center;justify-content:center}

/* ===== Reveal-Animationen (Klassen: hcs-up, hcs-rise, hcs-clip, hcs-fade) ===== */
html.hcs-js body:not(.elementor-editor-active) .hcs-up,html.hcs-js body:not(.elementor-editor-active) .hcs-fade{opacity:0}
html.hcs-js body:not(.elementor-editor-active) .hcs-clip{clip-path:inset(100% 0 0 0)}
html.hcs-js body:not(.elementor-editor-active) .hcs-rise .elementor-heading-title>span>span{transform:translateY(110%)}
.hcs-rise .elementor-heading-title>span,.hcs-rise .hcs-l{display:block;overflow:hidden;padding:0 .12em .08em 0}
.hcs-rise .elementor-heading-title>span>span{display:block}
@media(prefers-reduced-motion:reduce){html.hcs-js .hcs-up,html.hcs-js .hcs-fade{opacity:1!important}html.hcs-js .hcs-clip{clip-path:none!important}}

.hcs-hint-src{display:none!important}
body.elementor-editor-active .hcs-hint-src{display:flex!important;outline:1px dashed var(--hcs-blue)}

/* Xpro-Header: Topbar scrollt weg, Header bleibt */
.xpro-theme-builder-header{position:sticky;top:-38px;z-index:50}
body.admin-bar .xpro-theme-builder-header{top:-6px}
.hcs-header{position:relative!important;top:auto!important}
.hcs-topbar{height:38px;overflow:hidden}
.hcs-topbar>.e-con-inner{height:100%}
.hcs-btn-s .elementor-button{height:48px;padding:0 18px 0 22px;font-size:15px}
.hcs-logo-img img{width:44px;height:auto;display:block}
#xpro-theme-builder-footer{margin:0}

.hcs-brand .elementor-heading-title,.hcs-brand .elementor-heading-title a{color:var(--hcs-ink)!important}
a.e-con{color:inherit}
.hcs-tv img[alt]{font-size:0}

:where(body.hcs) .elementor-heading-title{color:var(--hcs-ink)}
.hcs-row>.hcs-row-num{flex:0 0 52px!important;width:52px!important}
.hcs-row>.hcs-row-title{flex:1 1 380px!important;width:auto!important;max-width:none!important;min-width:0}
.hcs-row>.e-con{flex:1 1 300px!important;width:auto!important;min-width:0}
.hcs-img{align-self:flex-start}
.hcs-img.r-wide,.hcs-img.r-card,.hcs-img.r-32{height:auto}
.hcs-text p,.hcs-prose p{margin-top:0}
.hcs-text p+p{margin-top:16px}

.hcs-route::before{content:none!important;display:none!important}
.hcs-route::after{content:''!important;order:2;flex:1;min-width:20px;border-bottom:1px dotted rgba(255,255,255,.35);align-self:center;position:static}
.hcs-route-time .elementor-heading-title::after{content:'\00a0\00a0\2197'}

.hcs-faq .e-n-accordion-item-title{flex-direction:row-reverse!important;justify-content:space-between!important;gap:20px}
.hcs-faq .e-n-accordion-item-title-header{flex:1}
.hcs-text.is-small p{font-size:14px;opacity:.8}

/* === QA-Fixes: Typografie gegen Theme-Defaults absichern === */
.hcs-auto{--width:auto!important;width:auto!important;max-width:100%}
.hcs-display .elementor-heading-title{line-height:.9!important;font-size:min(124px,11.4vw,max(7.2vw,54px))!important}
.hcs-h-xl .elementor-heading-title{line-height:.88!important;font-size:clamp(56px,9vw,150px)!important}
.hcs-h-l .elementor-heading-title{line-height:.95!important;font-size:clamp(38px,5.2vw,84px)!important}
.hcs-h-m .elementor-heading-title{line-height:.95!important;font-size:clamp(34px,4.6vw,68px)!important}
.hcs-h-s .elementor-heading-title{line-height:1!important;font-size:clamp(26px,2.6vw,38px)!important}
.hcs-h-xs .elementor-heading-title{line-height:1.2!important;font-size:clamp(19px,1.7vw,24px)!important}
.hcs-page-title .elementor-heading-title{line-height:.92!important;font-size:clamp(42px,7vw,124px)!important}
.hcs-page-title.is-long .elementor-heading-title{font-size:clamp(34px,5.6vw,100px)!important}
.hcs-page-title.is-article .elementor-heading-title{font-size:clamp(30px,4.8vw,80px)!important}
@media(max-width:640px){.hcs-page-title .elementor-heading-title{font-size:clamp(34px,10vw,52px)!important}.hcs-page-title.is-long .elementor-heading-title,.hcs-page-title.is-article .elementor-heading-title{font-size:clamp(28px,8vw,42px)!important}}
.hcs-quote .elementor-heading-title{line-height:1.1!important;font-size:clamp(30px,3.6vw,56px)!important;font-weight:600!important}
.hcs-outline .elementor-heading-title,.hcs-step-num .elementor-heading-title{line-height:.9!important}
.hcs-outline .elementor-heading-title{font-size:clamp(72px,7vw,112px)!important}
.hcs-step-num .elementor-heading-title{font-size:clamp(88px,9vw,148px)!important}
.hcs-row .hcs-row-title .elementor-heading-title{line-height:.95!important;font-size:clamp(34px,4.6vw,68px)!important}
.hcs-row.is-sm .hcs-row-title .elementor-heading-title{font-size:clamp(30px,4vw,58px)!important}
.hcs-tile .hcs-tile-title .elementor-heading-title{line-height:1.15!important;font-size:20px!important}
.hcs-card .hcs-h-s .elementor-heading-title{font-size:38px!important}
.hcs-tel .elementor-heading-title{line-height:1!important;font-size:clamp(30px,3vw,48px)!important}
.hcs-watermark .elementor-heading-title{line-height:.74!important;font-size:clamp(150px,36vw,600px)!important}
.hcs-mega-title{line-height:.95}
.hcs-mono .elementor-heading-title{line-height:1.5!important}
.hcs-topbar .elementor-heading-title{line-height:1.5!important;white-space:nowrap}
.hcs-topbar>.e-con-inner,.hcs-topbar>.e-con{flex-wrap:nowrap!important}
.hcs-img{align-self:stretch}
.e-grid>.hcs-img{align-self:start}
.hcs-img img{width:100%!important;max-width:none}

.hcs-card>.hcs-card-more{margin-top:auto!important}
.hcs-card>.elementor-widget-text-editor{padding:0 4px}

.hcs-dark-box .elementor-heading-title,.hcs-bg-ink .elementor-heading-title{color:#fff}
.hcs-dark-box .hcs-text,.hcs-dark-box .hcs-text p,.hcs-bg-ink .hcs-text p{color:rgba(255,255,255,.86)!important}
.hcs-dark-box .hcs-mono .elementor-heading-title,.hcs-dark-box .hcs-mono{color:var(--hcs-sky)!important}
.hcs-dark-box .hcs-tel .elementor-heading-title a{color:#fff!important}

.hcs-route-time .elementor-heading-title{font-family:var(--hcs-mono)!important;font-size:12px!important}
.hcs-routes>.hcs-mono:last-child .elementor-heading-title{opacity:.7}
.hcs-figline .elementor-heading-title,.hcs-row-num .elementor-heading-title,.hcs-row-subs .elementor-heading-title{font-family:var(--hcs-mono)!important}

/* Mobile: Elementor setzt Container auf wrap/100% – für Kopfzeilen verhindern */
@media(max-width:767px){.hcs-header .e-con,.hcs-topbar .e-con,.hcs-header.e-con,.hcs-topbar.e-con{--flex-wrap:nowrap!important;flex-wrap:nowrap!important}.hcs-header .e-con>.e-con,.hcs-topbar .e-con>.e-con{--width:auto!important;width:auto!important}.hcs-topbar .e-con{gap:16px!important;--gap:16px!important}.hcs-topbar .elementor-heading-title{font-size:10px!important}.hcs-header .elementor-widget{width:auto!important;--container-widget-width:auto!important}}
.hcs-topbar .e-con-inner>.e-con,.hcs-topbar .e-con>.e-con{flex-wrap:nowrap!important}

.hcs-signet{flex-shrink:0!important}
.hcs-signet svg{height:auto;aspect-ratio:1/1}
.e-con>.elementor-widget-image,.e-con>.elementor-widget-html{flex-shrink:0}

.hcs-text p{margin:0 0 16px!important}
.hcs-text p:last-child{margin-bottom:0!important}
.hcs-text p+p{margin-top:0}
.hcs-prose p{margin:0 0 20px!important}
.hcs-prose p.hcs-lead{margin-bottom:32px!important}

@media(max-width:767px){.hcs-years>.e-con{padding-left:0!important;padding-right:0!important}}

.hcs-link .elementor-button{padding:6px 0!important;background:transparent!important;border-radius:0!important}
.hcs-btn .elementor-button{padding:0 20px 0 24px!important;border-radius:0!important}
.hcs-btn-s .elementor-button{padding:0 18px 0 22px!important}
.hcs-link,.hcs-btn{width:auto!important}

@media(max-width:767px){.hcs-row{padding:24px 0!important;row-gap:10px!important}.hcs-row:hover{padding-left:12px!important}.hcs-row::after{position:absolute;right:0;top:22px;width:44px;height:44px;flex:none}.hcs-row>.hcs-row-title{padding-right:56px}.hcs-row .hcs-row-title .elementor-heading-title{font-size:clamp(30px,8.6vw,40px)!important}}

.e-con:has(>.hcs-signet){max-width:min(540px,100%)!important}
@media(max-width:1099px){.e-con:has(>.hcs-signet){max-width:min(480px,100%)!important}}

.hcs-form textarea{min-height:160px!important;height:180px!important}
.hcs-form br{display:none}

.hcs-btn.is-block{width:100%!important}
.hcs-btn.is-block .elementor-button{width:100%!important}
.hcs-btn.is-block .elementor-button-content-wrapper{width:100%;justify-content:space-between}
.hcs-box .hcs-tel .elementor-heading-title{font-size:26px!important;line-height:1.1!important;letter-spacing:-.02em}

/* Fernwartung: auch mobil als Seiten-Tab (wie Desktop), kein Konflikt mit Nach-oben-Button */
@media(max-width:639px){.hcs-fwtab{display:flex!important;padding:12px 9px 16px;gap:12px;font-size:9.5px}.hcs-fwtab .hcs-tv{width:24px;height:24px}.hcs-fwfab{display:none!important}.hcs-fwpop{right:46px!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;width:calc(100vw - 62px)!important;max-width:340px}.hcs-hint{right:48px!important;top:50%!important;bottom:auto!important;transform:translateY(-50%);width:min(272px,calc(100vw - 64px))!important}}

/* Signet: feste Proportion am Widget, damit nichts überlappt */
.hcs-signet{aspect-ratio:1/1;height:auto!important;width:100%!important;flex:0 0 auto!important;overflow:visible}
.hcs-signet svg{width:100%!important;height:100%!important;aspect-ratio:auto}

/* Bilder nie stauchen, lange Wörter/URLs umbrechen */
.elementor-widget-image{flex-shrink:0!important}
.hcs-thumb{height:auto!important}
.hcs-thumb img,.hcs-figure img{height:auto!important}
body.hcs .hcs-prose,body.hcs .hcs-prose p,body.hcs .hcs-prose li,body.hcs .hcs-text p{overflow-wrap:break-word}
body.hcs .hcs-prose a{overflow-wrap:anywhere}

/* Proportionen am Widget statt am Bild (Flex-Spalten berechnen sonst die Originalhöhe) */
.hcs-thumb{aspect-ratio:3/2}
.hcs-img.r-32{aspect-ratio:3/2}
.hcs-img.r-card{aspect-ratio:33/21}
.hcs-img.r-wide{aspect-ratio:74/30}
.hcs-thumb img,.hcs-img.r-32 img,.hcs-img.r-card img,.hcs-img.r-wide img{width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover;display:block}

/* Bild-Proportion per Padding (robust in Flex/Grid, überschreibt vorherige Regeln) */
.hcs-thumb,.hcs-img.r-32,.hcs-img.r-card,.hcs-img.r-wide{aspect-ratio:auto!important;height:0!important;position:relative;overflow:visible}
.hcs-img.r-32,.hcs-img.r-card,.hcs-img.r-wide{overflow:hidden}
.hcs-thumb,.hcs-img.r-32{padding-bottom:66.667%!important}
.hcs-img.r-card{padding-bottom:63.64%!important}
.hcs-img.r-wide{padding-bottom:40.54%!important}
.hcs-thumb img,.hcs-img.r-32 img,.hcs-img.r-card img,.hcs-img.r-wide img{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none;aspect-ratio:auto!important;object-fit:cover;z-index:1}
.hcs-thumb::before{z-index:0}

/* Navigation 1100–1279px: kompakter, damit nichts überlappt */
.hcs-nav{flex-wrap:nowrap}
.hcs-nav-link{white-space:nowrap}
@media(min-width:1100px) and (max-width:1279px){.hcs-nav-link{padding:0 10px;font-size:15px}.hcs-header .hcs-btn-s .elementor-button{padding:0 14px 0 18px!important}}
.hcs-mega{max-width:none}

/* Seitenkopf mit Hintergrundbild (Leistungen, Service, Branchen, Unternehmen) */
.hcs-hero-img{color:#fff;border-bottom:0}
.hcs-hero-img .hcs-crumbs,.hcs-hero-img .hcs-crumbs a,.hcs-hero-img .hcs-crumbs b{color:#fff!important}
.hcs-hero-img .hcs-crumbs a:hover{color:var(--hcs-sky)!important}
.hcs-hero-img .hcs-mono .elementor-heading-title{color:#fff!important}
.hcs-hero-img .hcs-kicker .elementor-heading-title::before{background:var(--hcs-sky)}
.hcs-hero-img .hcs-page-title .elementor-heading-title{color:#fff!important}
.hcs-hero-img>.e-con-inner>.e-con,.hcs-hero-img>.e-con{position:relative;z-index:1}
/* Seitentitel etwas kleiner, Wörter nicht mehr trennen */
.hcs-page-title .elementor-heading-title{font-size:clamp(38px,6vw,104px)!important;hyphens:manual!important;-webkit-hyphens:manual!important;overflow-wrap:normal!important;word-break:normal!important}
.hcs-page-title.is-long .elementor-heading-title{font-size:clamp(32px,4.8vw,84px)!important}
.hcs-page-title.is-article .elementor-heading-title{font-size:clamp(28px,4.2vw,68px)!important}
@media(max-width:640px){.hcs-page-title .elementor-heading-title{font-size:clamp(30px,8.6vw,44px)!important}.hcs-page-title.is-long .elementor-heading-title,.hcs-page-title.is-article .elementor-heading-title{font-size:clamp(26px,7.2vw,38px)!important}}
.hcs-row .hcs-row-title .elementor-heading-title{font-size:clamp(30px,4vw,60px)!important;hyphens:manual!important;-webkit-hyphens:manual!important}
.hcs-row.is-sm .hcs-row-title .elementor-heading-title{font-size:clamp(26px,3.4vw,50px)!important}
@media(max-width:767px){.hcs-row .hcs-row-title .elementor-heading-title{font-size:clamp(26px,7.4vw,36px)!important}}
/* Bereich Leistungen: Titel einzeilig (Größe wird per JS angepasst) */
body.hcs-in-leistungen .hcs-page-title .elementor-heading-title{white-space:nowrap;text-wrap:nowrap}
/* Text-Links (hcs-link) auf hellem Grund: immer dunkel – Elementor-Kit setzt Buttons sonst weiß */
body.hcs .hcs-link .elementor-button,body.hcs .hcs-link .elementor-button:visited,body.hcs .hcs-link .elementor-button:focus{color:var(--hcs-ink)!important;fill:var(--hcs-ink)!important;background:transparent!important;border-bottom:1.5px solid currentColor!important}
body.hcs .hcs-link .elementor-button:hover{color:var(--hcs-blue)!important;fill:var(--hcs-blue)!important}
body.hcs .hcs-link .elementor-button *{color:inherit!important}
body.hcs .hcs-link.is-light .elementor-button,body.hcs .hcs-bg-blue .hcs-link .elementor-button,body.hcs .hcs-bg-ink .hcs-link .elementor-button,body.hcs .hcs-dark-box .hcs-link .elementor-button,body.hcs .hcs-footer .hcs-link .elementor-button,body.hcs .hcs-hero-img .hcs-link .elementor-button{color:#fff!important;fill:#fff!important}
body.hcs .hcs-link.is-light .elementor-button:hover,body.hcs .hcs-bg-blue .hcs-link .elementor-button:hover,body.hcs .hcs-bg-ink .hcs-link .elementor-button:hover,body.hcs .hcs-dark-box .hcs-link .elementor-button:hover{color:var(--hcs-sky)!important}
body.hcs .hcs-bg-blue .hcs-link .elementor-button:hover{color:var(--hcs-ink)!important}
/* Seitentitel: Unterlängen (g, p) und Kursiv nicht abschneiden */
.hcs-page-title.hcs-rise .elementor-heading-title>span{padding:0 .16em .16em 0!important;margin-bottom:-.08em}
.hcs-page-title .elementor-heading-title{max-width:100%}
/* Seitentitel: nie abschneiden – Schriftgröße max. so groß, dass das längste Wort in die Spalte passt (ohne JS) */
.hcs-page-title{container-type:inline-size;min-width:0;max-width:100%}
.hcs-page-title .elementor-heading-title{font-size:min(clamp(38px,6vw,104px),calc(100cqi / (var(--lw,10) * .68)))!important}
.hcs-page-title.is-long .elementor-heading-title{font-size:min(clamp(32px,4.8vw,84px),calc(100cqi / (var(--lw,10) * .68)))!important}
.hcs-page-title.is-article .elementor-heading-title{font-size:min(clamp(28px,4.2vw,68px),calc(100cqi / (var(--lw,10) * .68)))!important}
@media(max-width:640px){.hcs-page-title .elementor-heading-title{font-size:min(clamp(30px,8.6vw,44px),calc(100cqi / (var(--lw,10) * .68)))!important}.hcs-page-title.is-long .elementor-heading-title,.hcs-page-title.is-article .elementor-heading-title{font-size:min(clamp(26px,7.2vw,38px),calc(100cqi / (var(--lw,10) * .68)))!important}}
body.hcs-in-leistungen .hcs-page-title .elementor-heading-title{white-space:nowrap}
.e-con:has(>.hcs-page-title){min-width:0}
/* Fernwartung-Box u.ä.: Überschrift passt sich an schmale Spalten an */
.hcs-h-m{container-type:inline-size;min-width:0;max-width:100%}
.hcs-h-m .elementor-heading-title{font-size:min(clamp(34px,4.6vw,68px),11.5cqi)!important}
