/* Schlosserei Verhey – approved design system, Phase B */
body {
  --sv-ink:#17181a; --sv-ink-soft:#2b2d30; --sv-steel:#777b80;
  --sv-line:#d7d9dc; --sv-mist:#f1f2f3; --sv-paper:#fbfbfa;
  --sv-white:#fff; --sv-signal:#ac1830; --sv-signal-dark:#821124;
  --sv-max:1240px; --sv-gutter:clamp(1.1rem,3vw,2.4rem);
  --sv-space:clamp(4.5rem,9vw,8.5rem); --sv-shadow:0 28px 70px rgba(20,22,25,.14);
  margin:0; background:var(--sv-paper); color:var(--sv-ink);
  font-family:Inter,"Segoe UI",Arial,sans-serif; font-size:1rem; line-height:1.62;
  text-rendering:optimizeLegibility;
}
body *{box-sizing:border-box}
body img{display:block;max-width:100%}
body a{color:inherit}
body :focus-visible{outline:3px solid #f3aa19;outline-offset:4px}
body h1,body h2,body h3{
  margin:0;color:var(--sv-ink);font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;
  font-weight:800;letter-spacing:-.035em;line-height:.96
}
body h1{font-size:clamp(3.2rem,7.3vw,7.2rem)}
body h2{font-size:clamp(2.35rem,5vw,4.7rem)}
body h3{font-size:clamp(1.45rem,2vw,2rem);line-height:1.05}
body .g-container{width:min(var(--sv-max),calc(100% - 2 * var(--sv-gutter)))}
body .sv-eyebrow{display:flex;align-items:center;gap:.75rem;margin:0 0 1rem;color:var(--sv-signal);font-size:.78rem;font-weight:900;letter-spacing:.17em;line-height:1.2;text-transform:uppercase}
body .sv-eyebrow:before{width:2.4rem;height:3px;background:currentColor;content:""}
body .sv-lead{max-width:45rem;font-size:clamp(1.08rem,1.5vw,1.28rem);line-height:1.55}
body .sv-button,body .button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:.75rem;border:2px solid var(--sv-signal);border-radius:0;background:var(--sv-signal);color:#fff;font-weight:900;padding:.8rem 1.3rem;text-decoration:none;transition:.16s ease}
body .sv-button:hover,body .button:hover{border-color:var(--sv-signal-dark);background:var(--sv-signal-dark);color:#fff}
body .sv-button--secondary{border-color:var(--sv-ink);background:transparent;color:var(--sv-ink)}
body .sv-button--secondary:hover{background:var(--sv-ink);color:#fff}
body #g-navigation{position:relative;z-index:20;border-top:5px solid var(--sv-signal);border-bottom:1px solid var(--sv-line);background:rgba(255,255,255,.98);color:var(--sv-ink)}
body #g-navigation .g-container{min-height:112px}
body #g-navigation .g-content{margin:.625rem;padding:.9rem}
body #g-navigation .g-logo img{width:clamp(205px,20vw,272px);height:auto}
body #g-navigation .g-main-nav .g-toplevel>li>a{color:var(--sv-ink-soft);font-size:.9rem;font-weight:800;text-transform:none;letter-spacing:0}
body #g-navigation .g-main-nav .g-toplevel>li.active>a,body #g-navigation .g-main-nav .g-toplevel>li:hover>a{color:var(--sv-signal)}
body .sv-language{display:flex;align-items:center;gap:.35rem;margin-left:.6rem}
body .sv-language a{display:grid;min-width:42px;min-height:42px;place-items:center;border:1px solid var(--sv-line);background:#fff;font-size:.75rem;font-weight:900;letter-spacing:.06em;text-decoration:none}
body .sv-language a[aria-current="true"],body .sv-language a:hover{border-color:var(--sv-signal);background:var(--sv-signal);color:#fff}
body .sv-hero{position:relative;overflow:hidden;background:var(--sv-ink);color:#fff}
body .sv-hero:after{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:56px 56px;content:"";mask-image:linear-gradient(90deg,#000 0,transparent 66%)}
body .sv-hero__grid{position:relative;z-index:2;display:grid;min-height:min(770px,calc(100vh - 112px));grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr)}
body .sv-hero__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(4rem,8vw,8rem) clamp(2rem,5vw,5rem) clamp(4rem,8vw,7rem) max(var(--sv-gutter),calc((100vw - var(--sv-max))/2))}
body .sv-hero h1,body .sv-hero .sv-lead{color:#fff}
body .sv-hero .sv-lead{margin-top:1.6rem;color:rgba(255,255,255,.74)}
body .sv-hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
body .sv-hero__media{position:relative;min-height:520px;border-left:10px solid var(--sv-signal);clip-path:polygon(9% 0,100% 0,100% 100%,0 100%)}
body .sv-hero__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.05)}
body .sv-facts{display:grid;grid-template-columns:repeat(4,1fr);background:var(--sv-signal);color:#fff}
body .sv-fact{min-height:118px;border-right:1px solid rgba(255,255,255,.32);padding:1.35rem var(--sv-gutter)}
body .sv-fact b,body .sv-fact span{display:block}
body .sv-fact b{font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;font-size:1.55rem;line-height:1}
body .sv-fact span{margin-top:.5rem;font-size:.86rem;opacity:.8}
body .sv-section{padding-block:var(--sv-space)}
body .sv-section--mist{background:var(--sv-mist)}
body .sv-section--dark{background:var(--sv-ink);color:#fff}
body .sv-section--dark h2,body .sv-section--dark h3{color:#fff}
body .sv-services{border-top:1px solid var(--sv-line)}
body .sv-service{display:grid;min-height:128px;grid-template-columns:74px minmax(200px,.9fr) minmax(260px,1.1fr) 46px;align-items:center;gap:2rem;border-bottom:1px solid var(--sv-line);text-decoration:none;transition:.16s ease}
body .sv-service:hover{background:#fff}
body .sv-service__number,body .sv-service__arrow{color:var(--sv-signal)}
body .sv-service p{color:#5b5f64}
body .sv-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem;background:var(--sv-signal);color:#fff;padding:clamp(2rem,5vw,4.5rem)}
body .sv-cta h2{color:#fff}
body #g-footer{background:var(--sv-ink);color:#fff;padding:clamp(2.5rem,5vw,4.5rem) 0}
body #g-footer .sv-footer-card{border:1px solid rgba(255,255,255,.12);border-radius:24px;background:linear-gradient(135deg,#3f4348,#282b2e);padding:clamp(1.5rem,4vw,3rem);box-shadow:0 24px 60px rgba(0,0,0,.24)}
body #g-footer .sv-footer-logo{display:inline-block;border-radius:14px;background:rgba(255,255,255,.92);padding:.8rem 1rem}
body #g-footer .sv-footer-logo img{width:min(250px,58vw);height:auto}
body #g-copyright{border-top:1px solid rgba(255,255,255,.12);background:var(--sv-ink);color:rgba(255,255,255,.68)}
@media (max-width:960px){body .sv-hero__grid{grid-template-columns:1fr}body .sv-hero__media{min-height:430px;border-top:8px solid var(--sv-signal);border-left:0;clip-path:none}body .sv-facts{grid-template-columns:repeat(2,1fr)}body .sv-service{grid-template-columns:52px 1fr 34px}body .sv-service p{grid-column:2/4}body .sv-cta{grid-template-columns:1fr}}
@media (max-width:600px){body h1{font-size:clamp(2.75rem,14vw,4.25rem)}body h2{font-size:clamp(2.1rem,11vw,3.25rem)}body #g-navigation .g-container{min-height:88px}body #g-navigation .g-logo img{width:min(210px,62vw)}body .sv-hero__copy{padding:4.25rem var(--sv-gutter)}body .sv-hero__media{min-height:310px}body .sv-facts{grid-template-columns:1fr 1fr}body .sv-fact{min-height:105px}body .sv-service{gap:.8rem;padding:1.25rem 0}body .sv-footer-card{border-radius:18px}}

/* Logan/Gantry section mapping */
body #g-top{border-top:5px solid var(--sv-signal);background:var(--sv-ink);color:#fff}
body #g-top .g-container{min-height:42px}
body #g-top .g-content{margin:0;padding:.45rem var(--sv-gutter);font-size:.83rem;letter-spacing:.02em}
body #g-navigation{border-bottom:1px solid var(--sv-line);background:rgba(255,255,255,.98);color:var(--sv-ink)}
body #g-navigation .g-container{min-height:94px}
body #g-navigation .jl-navbar{min-height:94px}
body #g-navigation .jl-logo{color:var(--sv-ink);font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;font-size:clamp(1.05rem,2vw,1.45rem);font-weight:900;letter-spacing:.02em;line-height:1.05}
body #g-navigation .jl-navbar-nav>li>a{color:var(--sv-ink-soft);font-size:.9rem;font-weight:800}
body #g-navigation .jl-navbar-nav>li.jl-active>a,body #g-navigation .jl-navbar-nav>li>a:hover{color:var(--sv-signal)}
body #g-slideshow .jl-overlay-primary{background:linear-gradient(90deg,rgba(23,24,26,.92),rgba(23,24,26,.22))}
body #g-slideshow h3{font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;font-size:clamp(2.5rem,5vw,5rem);font-weight:900;letter-spacing:-.035em;line-height:.96}
body #g-slideshow .jl-button{border:2px solid var(--sv-signal);border-radius:0;background:var(--sv-signal);color:#fff;font-weight:900;padding:.8rem 1.35rem;text-transform:none}
body #g-slideshow .jl-button:hover{border-color:var(--sv-signal-dark);background:var(--sv-signal-dark)}
body #g-footer{background:var(--sv-ink);color:#fff}
body #g-footer .sv-footer-card{border:1px solid rgba(255,255,255,.12);border-radius:18px;background:linear-gradient(135deg,#3f4348,#282b2e);padding:1.35rem;box-shadow:0 24px 60px rgba(0,0,0,.2)}
body #g-footer .sv-footer-card strong{display:block;font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;font-size:1.35rem;line-height:1.1}
body #g-footer .sv-footer-card p{margin:.85rem 0 0;color:rgba(255,255,255,.68)}
body #g-copyright{background:#111214;color:rgba(255,255,255,.68)}
@media(max-width:959px){body #g-navigation .g-container,body #g-navigation .jl-navbar{min-height:78px}body #g-navigation .jl-logo{font-size:1rem;max-width:58vw}}

/* Phase-B navigation polish */
body #g-top .tm-link.jl-icon-link{display:none!important}
body #g-top:before,body #g-top:after{display:none!important;content:none!important}
@media(min-width:960px){body #g-navigation .jl-navbar-left{min-width:315px;flex:0 0 315px}body #g-navigation .jl-navbar-center{position:static;left:auto;transform:none;margin-left:auto}body #g-navigation .jl-navbar{justify-content:space-between}}
body #g-navigation button[aria-label="Open Search"]{margin-left:1rem}

/* Freigegebene Logo-Gestaltung, 07.09.2026; Quelle: implementation/branding.css */
body #g-navigation .jl-logo img{width:clamp(205px,20vw,272px);height:auto;object-fit:contain}
body #g-footer [id^="jlfooterinfo-"] > .jl-logo{position:relative;display:inline-block;width:min(100%,310px);overflow:hidden;margin:0 0 1.3rem;padding:1rem 1.2rem;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:linear-gradient(135deg,#d8dde0 0%,#b7bec3 52%,#9da5ab 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 18px 44px rgba(0,0,0,.24);text-decoration:none}
body #g-footer [id^="jlfooterinfo-"] > .jl-logo::after{position:absolute;right:1rem;bottom:0;left:1rem;height:3px;background:var(--sv-signal);content:""}
body #g-footer [id^="jlfooterinfo-"] > .jl-logo img{width:100%;height:auto}
body #g-footer [id^="jlfooterinfo-"] > .tm-content{max-width:20rem;color:rgba(255,255,255,.7);font-size:1rem;line-height:1.6}
@media(max-width:680px){body #g-navigation .jl-logo img{width:min(47vw,185px)}}

/* Statischer Startseiten-Hero; Quelle: implementation/startseiten-hero.css.
!important ersetzt ausschließlich UIkit-Inline-Geometrie. */
#jlslideshow-3987-particle{margin:0;padding:0}
.jlslideshow-3987 .jl-slideshow-items{aspect-ratio:auto!important;min-height:0!important;max-height:none!important;height:auto!important;overflow:visible}
.jlslideshow-3987 .tm-item{position:relative;display:block;overflow:hidden;background:#17181a}
.jlslideshow-3987 .tm-item>.tm-image{position:absolute;top:0;right:0;left:auto;width:49%!important;height:100%!important;max-width:none;object-fit:cover;object-position:center;transform:none;clip-path:polygon(9% 0,100% 0,100% 100%,0 100%);filter:saturate(.78) contrast(1.05)}
.jlslideshow-3987 .tm-item>.jl-position-cover.jl-flex{position:relative;inset:auto;width:53%;max-width:none;min-height:min(770px,calc(100vh - 112px));margin:0;padding:clamp(4rem,8vw,8rem) clamp(2rem,5vw,5rem) clamp(4rem,8vw,7rem) max(var(--sv-gutter),calc((100vw - var(--sv-max))/2))}
.jlslideshow-3987 .el-content-wrapper{width:100%}
body #g-slideshow .jlslideshow-3987 .tm-title{color:#fff;font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;font-size:clamp(3.2rem,7.3vw,7.2rem);font-weight:800;line-height:.96;letter-spacing:-.035em;text-transform:none}
.jlslideshow-3987 .tm-meta{display:flex;align-items:center;gap:.75rem;margin:0 0 1rem;color:#d3445d;font-size:.8rem;font-weight:900;letter-spacing:.17em;line-height:1.3}
.jlslideshow-3987 .tm-meta::before{flex:0 0 2.4rem;height:3px;background:currentColor;content:""}
.jlslideshow-3987 .tm-content{max-width:45rem;margin-top:1.6rem;color:rgba(255,255,255,.74);font-size:clamp(1.08rem,1.5vw,1.28rem);line-height:1.55}
@media(max-width:980px){.jlslideshow-3987 .tm-item{display:flex;flex-direction:column}.jlslideshow-3987 .tm-item>.jl-position-cover.jl-flex{order:0;width:100%;min-height:0;padding:4.5rem var(--sv-gutter)}.jlslideshow-3987 .tm-item>.tm-image{position:relative;order:1;width:100%!important;height:460px!important;border-top:8px solid var(--sv-signal);clip-path:none}}
@media(max-width:680px){body #g-slideshow .jlslideshow-3987 .tm-title{font-size:clamp(3rem,15vw,4.7rem)}.jlslideshow-3987 .tm-item>.jl-position-cover.jl-flex{padding-block:3.7rem}.jlslideshow-3987 .tm-item>.tm-image{height:340px!important}}

.jlslideshow-3987 .tm-item>.jl-position-cover.jl-flex{box-sizing:border-box}
.jlslideshow-3987 .el-content-wrapper{width:100%;max-width:100%;min-width:0;margin:0;padding:0}
.jlslideshow-3987 .tm-item>.jl-position-cover:not(.jl-flex){display:none}

/* Phase B: native Joomla contact article + RSForm 3 */
body.sv-contact #g-container-main{padding:0;margin:0;background:var(--sv-paper)}
body.sv-contact #g-container-main>.g-container{width:100%;max-width:none}
body.sv-contact #g-mainbar .g-content{margin:0;padding:0}
body.sv-contact #g-mainbar .platform-content.container{width:100%;max-width:none;margin:0;padding:0}
body.sv-contact #g-mainbar .platform-content>.row{margin:0}
body.sv-contact #g-mainbar .platform-content>.row>.col{padding:0}
body.sv-contact #g-mainbar .com-content-article__body{margin:0!important}
body.sv-contact #g-breadcrumb{display:none}
body .sv-contact-page{color:var(--sv-ink);overflow-wrap:break-word}
body .sv-contact-shell{width:min(1240px,calc(100% - 2 * var(--sv-gutter)));margin-inline:auto}
body .sv-contact-hero{padding:clamp(3.5rem,7vw,6.5rem) 0;background:var(--sv-ink);color:#fff}
body .sv-contact-hero h1{font-size:clamp(3rem,6.4vw,6.2rem);color:#fff;max-width:1100px}
body .sv-contact-hero .sv-lead{margin:1.5rem 0 0;color:#c6c8ca;max-width:760px}
body .sv-contact-hero .sv-eyebrow{color:#e7687d}
body .sv-breadcrumbs{display:flex;gap:.75rem;margin-bottom:2.5rem;color:#bfc2c6;font-size:.8rem}
body .sv-breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
body .sv-contact-main,body .sv-contact-prep{padding-block:clamp(3.5rem,7vw,6.5rem)}
body .sv-contact-layout{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:clamp(2.5rem,7vw,7rem);align-items:start}
body .sv-contact-card{border-top:6px solid var(--sv-signal);background:var(--sv-ink);color:#fff;padding:clamp(1.6rem,3vw,3rem)}
body .sv-contact-card h2{color:#fff;font-size:clamp(2.2rem,3.4vw,3.5rem);line-height:1.02}
body .sv-contact-card .sv-eyebrow{color:#e7687d}
body .sv-contact-block{margin-top:2rem;border-top:1px solid #48494c;padding-top:1.2rem}
body .sv-contact-block>span{display:block;margin-bottom:.4rem;color:#bfc2c6;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
body .sv-contact-block p{margin:0;color:#fff;font-weight:600}
body .sv-contact-block a{color:#fff;font-size:1.05rem;font-weight:800;text-decoration:underline;text-underline-offset:4px}
body #formular h2{font-size:clamp(2.5rem,4.5vw,4.4rem)}
body .sv-form-intro{color:#565a5e;margin:1.2rem 0 2.5rem}
body .sv-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem;width:100%;margin:0}
body .sv-contact-fields .sv-field{margin:0;min-width:0}
body .sv-contact-fields label{display:block;font-size:.85rem;line-height:1.4;font-weight:800;margin-bottom:.6rem;color:var(--sv-ink)}
body .sv-contact-fields :is(input,select,textarea){display:block;width:100%;min-height:52px;margin:0;padding:.85rem;border:1px solid #b9bdc1;border-radius:0;background:#fff;color:#17181a;font:inherit;box-shadow:none}
body .sv-contact-fields textarea{min-height:180px;resize:vertical}
body .sv-contact-fields :is(.rsform-block-leistung,.rsform-block-projektort,.rsform-block-message,.sv-form-footer){grid-column:1/-1}
body .sv-contact-fields .formValidation{font-size:.8rem;color:#a01029}
body .sv-contact-fields .formRequired{color:#ac1830}
body .sv-contact-fields .formNoError{display:none}
body .sv-form-note{font-size:.8rem;line-height:1.55;color:#575c60;margin:0 0 1rem}
body .sv-form-note a{text-decoration:underline;text-underline-offset:3px}
body .sv-form-staging{padding:1rem;border-left:3px solid #ac1830;background:#f1f2f3;font-size:.85rem;line-height:1.55}
body .sv-contact-fields button{min-height:52px;padding:.9rem 1.6rem;border:0;border-radius:0;background:#ac1830;color:#fff;font:inherit;font-weight:800}
body .sv-contact-fields button:disabled{opacity:.65;cursor:not-allowed}
body .sv-contact-prep{background:#f1f2f3}
body .sv-contact-prep h2{font-size:clamp(2.2rem,3.8vw,3.6rem);line-height:1.06}
body .sv-contact-checklist{list-style:none;margin:0;padding:0}
body .sv-contact-checklist li{position:relative;margin:0;padding:1.2rem 0 1.2rem 2rem;border-bottom:1px solid #d7d9dc;font-weight:600}
body .sv-contact-checklist li:before{position:absolute;left:0;content:'✓';color:#ac1830;font-weight:900}
@media(max-width:900px){body .sv-contact-layout{grid-template-columns:1fr}body .sv-contact-card{max-width:none}body .sv-contact-hero h1{font-size:clamp(2.8rem,8vw,4.5rem)}}
@media(max-width:540px){body .sv-contact-fields{grid-template-columns:1fr}body .sv-contact-fields .sv-field{grid-column:1}body .sv-contact-hero h1{font-size:clamp(2.5rem,10.5vw,3.5rem)}body .sv-breadcrumbs{margin-bottom:2rem}}

/* Contact QA: full-width sections, single breadcrumb, aligned logo */
body.sv-contact #g-container-main>.jl-container{width:100%;max-width:none;padding:0;margin:0}
body.sv-contact #g-hero{display:none}
@media(min-width:960px){body.sv-contact #g-navigation .jl-navbar-left{order:-1;margin-right:auto}body.sv-contact #g-navigation .g-toplevel{margin-left:auto}body.sv-contact #g-navigation .jl-navbar-center{display:none}body.sv-contact #g-navigation .jl-logo img{width:231px;max-width:none;height:90px}}

/* Contact QA: Gantry moves the menu into the center after load. */
@media(min-width:960px){body.sv-contact #g-navigation .jl-navbar-center{display:flex;position:static;transform:none;margin-left:auto;margin-right:1.5rem}body.sv-contact #g-navigation .jl-navbar-left{flex-shrink:0}}
body .sv-contact-block>a{display:block;margin-top:.4rem;letter-spacing:normal}
body .sv-contact-fields :is(input,select,textarea){box-sizing:border-box!important;max-width:100%;border-radius:0!important}
body .sv-contact-fields :is(input,select,textarea):focus-visible{outline:3px solid #ac1830;outline-offset:3px;box-shadow:none}

/* RSForm default focus rules must not suppress the keyboard indicator. */
body .sv-contact-fields :is(input,select,textarea):focus-visible{outline:3px solid #ac1830!important;outline-offset:3px!important;box-shadow:none!important}

/* Native language links: shared desktop/mobile presentation. */
body #g-navigation .mod-languages__list{display:flex;flex-wrap:nowrap;gap:4px;margin:0;padding:0;list-style:none}
body #g-navigation .mod-languages__list>li{margin:0;padding:0}
body #g-navigation .mod-languages__list a{display:flex;align-items:center;justify-content:center;min-width:40px;min-height:44px;padding:6px;border:1px solid #d7d9dc;border-radius:4px;background:#fff;color:#2b2d30;font-size:.75rem;font-weight:800;text-decoration:none}
body #g-navigation .mod-languages__list a:hover,body #g-navigation .mod-languages__list a[aria-current="true"]{background:#ac1830;border-color:#ac1830;color:#fff}
body #g-navigation .mod-languages__list a:focus-visible{outline:3px solid #ac1830;outline-offset:3px}

/* Two-row mobile header: logo/menu first, language links second. */
@media(max-width:959px){
body #g-navigation .tm-header-mobile .jl-navbar{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:.35rem 1rem;padding:.7rem 0}
body #g-navigation .tm-header-mobile .jl-navbar-left{grid-column:1;grid-row:1;min-width:0}
body #g-navigation .tm-header-mobile .jl-navbar-right{display:contents}
body #g-navigation .tm-header-mobile .jl-navbar-right>.jl-navbar-item{grid-column:1/-1;grid-row:2;min-height:0;padding:0;justify-content:flex-end}
body #g-navigation .tm-header-mobile .g-offcanvas-toggle{grid-column:2;grid-row:1;min-height:44px;min-width:44px;margin:0;padding:0}
body #g-navigation .tm-header-mobile .jl-logo{padding:0;min-height:64px;max-width:none}
body #g-navigation .tm-header-mobile .jl-logo img{width:min(55vw,205px);height:auto}
}

/* Native Joomla home articles, using the approved design system. */
body.sv-home #g-container-main{padding:0;margin:0;background:var(--sv-paper)}
body.sv-home #g-container-main>:is(.g-container,.jl-container){width:100%;max-width:none;padding:0;margin:0}
body.sv-home #g-mainbar .g-content,body.sv-home #g-mainbar .com-content-article__body{margin:0!important;padding:0}
body.sv-home #g-mainbar .platform-content.container{width:100%;max-width:none;margin:0;padding:0}
body.sv-home #g-mainbar .platform-content>.row{margin:0}
body.sv-home #g-mainbar .platform-content>.row>.col{padding:0}
body.sv-home #g-hero{display:none}
.sv-home-page p{margin:0}
.sv-home-page .sv-shell{width:min(var(--sv-max),calc(100% - 2 * var(--sv-gutter)));margin-inline:auto}
.sv-home-page .sv-hero .sv-eyebrow,.sv-home-page .sv-section--dark .sv-eyebrow{color:#e7687d}
.sv-home-page .sv-hero .sv-lead{margin-top:1.6rem}
.sv-home-page .sv-button--light{background:#fff;border-color:#fff;color:#17181a}
.sv-home-page .sv-button--light:hover{background:#ac1830;border-color:#ac1830;color:#fff}
.sv-home-page .sv-hero__media img{position:absolute;inset:0;object-position:58% center}
.sv-home-page .sv-project-stamp{position:absolute;right:2rem;bottom:2rem;max-width:16rem;border-left:4px solid #ac1830;background:rgba(23,24,26,.92);padding:1rem 1.2rem;color:#fff}
.sv-home-page .sv-project-stamp b{font-size:1.1rem}
.sv-home-page .sv-project-stamp p{font-size:.86rem;color:#d0d2d4;margin-top:.35rem}
.sv-home-page .sv-fact-band{background:var(--sv-signal)}
.sv-home-page .sv-fact p{font-size:.86rem;margin-top:.5rem;color:#fff}
.sv-home-page .sv-section-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.6fr);align-items:end;gap:clamp(2rem,7vw,7rem);margin-bottom:clamp(2.6rem,5vw,5rem)}
.sv-home-page .sv-section-head .sv-lead{color:#55595d}
.sv-home-page .sv-section--dark .sv-section-head .sv-lead{color:#bfc2c6}
.sv-home-page .sv-service__arrow{font-size:2rem}
.sv-home-page .sv-section-link{margin-top:2rem;font-weight:800}
.sv-home-page .sv-section-link a{text-decoration:underline;text-underline-offset:5px}
.sv-home-page .sv-project-feature{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);background:#fff;box-shadow:var(--sv-shadow)}
.sv-home-page .sv-project-feature>img{width:100%;height:100%;min-height:520px;object-fit:cover}
.sv-home-page .sv-project-copy{display:flex;flex-direction:column;justify-content:space-between;gap:2rem;padding:clamp(2rem,5vw,4.5rem)}
.sv-home-page .sv-project-copy h3+p{margin-top:1.5rem;color:#56595d}
.sv-home-page .sv-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid #4d5054}
.sv-home-page .sv-process-grid>div{min-height:260px;border-right:1px solid #4d5054;padding:2rem}
.sv-home-page .sv-process-grid b{display:block;color:#e7687d;margin-bottom:3.5rem}
.sv-home-page .sv-process-grid p{margin-top:1rem;color:#bfc2c6}
@media(max-width:960px){.sv-home-page .sv-section-head,.sv-home-page .sv-project-feature{grid-template-columns:1fr}.sv-home-page .sv-project-feature>img{min-height:0;max-height:480px;aspect-ratio:4/3}.sv-home-page .sv-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sv-home-page .sv-service{padding-block:1.5rem}.sv-home-page .sv-service__arrow{grid-column:3;grid-row:1}}
@media(max-width:600px){.sv-home-page .sv-hero__media{min-height:360px}.sv-home-page .sv-project-stamp{right:1rem;bottom:1rem}.sv-home-page .sv-process-grid{grid-template-columns:1fr}.sv-home-page .sv-process-grid>div{min-height:0;border-right:0;border-bottom:1px solid #4d5054;padding:1.5rem 0}.sv-home-page .sv-process-grid b{margin-bottom:1.5rem}.sv-home-page .sv-fact{padding-inline:1rem}}

/* Gantry moves the menu after load; keep the logo at the left on every page. */
@media(min-width:960px){body #g-navigation .tm-header .jl-navbar-left{order:-1;margin-right:auto;flex-shrink:0}body #g-navigation .tm-header .g-toplevel{margin-left:auto}body #g-navigation .tm-header .jl-navbar-center{display:flex;position:static;transform:none;margin-left:1rem;margin-right:1rem}}
/* TinyMCE normalizes b to strong. */
.sv-home-page .sv-fact strong{display:block;font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;font-size:1.55rem;line-height:1}
.sv-home-page .sv-process-grid strong{display:block;color:#e7687d;margin-bottom:3.5rem}
.sv-home-page .sv-project-stamp strong{display:block;font-size:1.1rem}
@media(max-width:600px){.sv-home-page .sv-process-grid strong{margin-bottom:1.5rem}}

/* Unterseitenpaket; Vollbackup 88 vor Änderung, abgeschlossen, mit konkreter CSS-Notiz verifiziert. */
body.sv-page #g-container-main{padding:0;margin:0;background:var(--sv-paper)}
body.sv-page #g-container-main>:is(.g-container,.jl-container){width:100%;max-width:none;padding:0;margin:0}
body.sv-page #g-mainbar .g-content,body.sv-page #g-mainbar .com-content-article__body{margin:0!important;padding:0}
body.sv-page #g-mainbar .platform-content.container{width:100%;max-width:none;margin:0;padding:0}
body.sv-page #g-mainbar .platform-content>.row{margin:0}
body.sv-page #g-mainbar .platform-content>.row>.col{padding:0}
body.sv-page #g-hero{display:none}
.sv-page-content{color:var(--sv-ink);overflow-wrap:anywhere}
.sv-page-content .sv-shell{width:min(var(--sv-max),calc(100% - 2 * var(--sv-gutter)));margin-inline:auto}
.sv-page-content .sv-page-hero{overflow:hidden;background:#f1f2f3;border-bottom:1px solid #d7d9dc}
.sv-page-content .sv-page-hero-grid{display:grid;min-height:580px;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr)}
.sv-page-content .sv-page-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:4rem clamp(2rem,5vw,5rem) 4rem max(var(--sv-gutter),calc((100vw - var(--sv-max))/2))}
.sv-page-content h1{font-size:clamp(3.2rem,6vw,6.4rem)}
.sv-page-content .sv-lead{margin-top:1.5rem;color:#54585d}
.sv-page-content .sv-breadcrumbs{flex-wrap:wrap;color:#565b60;margin-bottom:2rem}
.sv-page-content .sv-page-hero-media{position:relative;min-height:480px;border-left:8px solid var(--sv-signal)}
.sv-page-content .sv-page-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sv-page-content .sv-intro-grid,.sv-page-content .sv-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,7vw,7rem);align-items:start}
.sv-page-content .sv-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid #d7d9dc}
.sv-page-content .sv-benefit{padding:2rem;border-right:1px solid #d7d9dc;min-height:230px}
.sv-page-content .sv-benefit strong{display:block;margin-bottom:2.6rem;color:var(--sv-signal)}
.sv-page-content .sv-benefit p{margin-top:1rem;color:#55595d}
.sv-page-content .sv-check-list{list-style:none;padding:0;margin:2rem 0 0}
.sv-page-content .sv-check-list li{position:relative;padding:1rem 0 1rem 2rem;border-top:1px solid #d7d9dc}
.sv-page-content .sv-check-list li:before{content:'↗';position:absolute;left:0;color:var(--sv-signal);font-weight:900}
.sv-page-content .sv-quote-panel{padding:clamp(2rem,5vw,4rem);background:var(--sv-ink);color:#fff;border-top:6px solid var(--sv-signal)}
.sv-page-content .sv-quote-panel :is(h2,h3){color:#fff}
.sv-page-content .sv-quote-panel p{color:#c6c8ca;margin-top:1.4rem}
.sv-page-content .sv-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
.sv-page-content .sv-gallery figure{margin:0}
.sv-page-content .sv-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#e6e7e9}
.sv-page-content .sv-gallery figcaption{padding:1rem 0;color:#565b60;font-size:.9rem}
.sv-page-content .sv-faq details{padding:1.25rem 0;border-bottom:1px solid #d7d9dc}
.sv-page-content .sv-faq summary{cursor:pointer;font-weight:800;min-height:44px}
.sv-page-content .sv-faq p{color:#55595d;padding-top:1rem}
.sv-page-content a:focus-visible,.sv-page-content summary:focus-visible{outline:3px solid #ac1830;outline-offset:4px}
@media(max-width:960px){.sv-page-content .sv-page-hero-grid{grid-template-columns:1fr}.sv-page-content .sv-page-hero-copy{padding:3rem var(--sv-gutter)}.sv-page-content .sv-page-hero-media{min-height:380px;border-left:0;border-top:6px solid var(--sv-signal)}.sv-page-content .sv-intro-grid,.sv-page-content .sv-split-grid{grid-template-columns:1fr}.sv-page-content .sv-benefit-grid{grid-template-columns:1fr}.sv-page-content .sv-benefit{min-height:0;border-right:0;border-bottom:1px solid #d7d9dc}.sv-page-content .sv-benefit strong{margin-bottom:1.2rem}}
@media(max-width:540px){.sv-page-content h1{font-size:clamp(2.65rem,11vw,3.7rem)}.sv-page-content .sv-page-hero-media{min-height:280px}.sv-page-content .sv-gallery{grid-template-columns:1fr}}
