/*
Theme Name: Arbeitsrecht Stuttgart
Version: 2.9.4
Requires at least: 6.5
Requires PHP: 8.1
License: GNU GPL v2 or later
Text Domain: arbeitsrecht-stuttgart
*/
:root{--navy:#153B6B;--navy2:#0F2D52;--ink:#182638;--muted:#53657D;--line:#DFE7F1;--bg:#F7F9FC;--soft:#EDF3FB;--focus:#D99A16;--wide:1180px;--gutter:clamp(1.25rem,4vw,2.5rem);--shadow:0 14px 38px rgba(15,45,82,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;overflow-wrap:break-word}img{max-width:100%;height:auto}a{text-underline-offset:.2em}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.ars-shell,.ars-header-inner,.ars-footer-inner{width:min(calc(100% - 2 * var(--gutter)),var(--wide));margin-inline:auto}
.ars-skip-link{position:absolute;left:-9999px}.ars-skip-link:focus{left:1rem;top:1rem;z-index:99999;background:#fff;color:var(--navy2);padding:.8rem 1rem;border:2px solid var(--navy2);border-radius:.5rem}
.ars-header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:50}.admin-bar .ars-header{top:32px}.ars-header-inner{min-height:76px}
.ars-brand a{text-decoration:none;color:var(--ink);font-weight:800;font-size:1.08rem}.ars-brand small{display:block;color:var(--muted);font-size:.76rem;margin-top:.2rem}
.ars-header .wp-block-navigation-item__content{white-space:nowrap;min-height:44px;display:flex;align-items:center}.ars-header-cta .wp-block-button__link{white-space:nowrap;min-width:9.5rem}
.ars-main{background:#fff;overflow:hidden}.ars-hero{padding-block:clamp(1.9rem,3.4vw,3.2rem)}
.ars-hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:clamp(2.5rem,5vw,5rem);align-items:center}.ars-hero-copy{min-width:0}
.ars-hero h1{font-size:clamp(2.6rem,3.8vw,3.75rem)!important;line-height:1.03!important;letter-spacing:-.035em!important;max-width:14ch;margin:1.05rem 0 1.2rem}.ars-lead{font-size:clamp(1.05rem,1.25vw,1.2rem);line-height:1.62;color:var(--muted);max-width:43rem}
.ars-pill{display:inline-flex;max-width:100%;padding:.42rem .78rem;border-radius:999px;background:var(--soft);color:var(--navy2);font-weight:750;font-size:.88rem}
.ars-image-placeholder{aspect-ratio:4/5;max-height:28rem;min-height:21rem;padding:2rem;display:flex;align-items:center;justify-content:center;text-align:center;background:#F4F7FB;color:var(--muted);border:2px dashed #B9CBE0;border-radius:1.35rem}.ars-image-note{font-size:.9rem;margin-top:.65rem}
.ars-secondary .wp-block-button__link{background:#fff!important;color:var(--navy)!important;border:2px solid var(--navy)!important}
.ars-trust{border-block:1px solid var(--line);background:var(--bg);padding:1.15rem 0}.ars-trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.ars-trust-item{font-size:.94rem;color:#455A73}.ars-trust-item strong{display:block;color:var(--ink);font-size:.98rem}
.ars-section{padding-block:clamp(3.75rem,6vw,5.8rem)}.ars-section.alt{background:var(--bg)}.ars-eyebrow{font-weight:750;color:var(--navy);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.ars-section-title{font-size:clamp(2rem,3.2vw,3rem)!important;max-width:20ch;margin-bottom:.8rem}.ars-section-intro{max-width:46rem;color:var(--muted)}
.ars-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem;margin-top:2rem}.ars-card{position:relative;border:1px solid var(--line);border-radius:1.1rem;background:#fff;padding:1.65rem;box-shadow:var(--shadow);min-height:13rem}.ars-card h3{margin:.6rem 0}.ars-card-link:after{content:"";position:absolute;inset:0;border-radius:inherit}.ars-card-link:focus-visible{outline:none}.ars-card:has(.ars-card-link:focus-visible){outline:3px solid var(--focus);outline-offset:4px}.ars-icon{width:2.7rem;height:2.7rem;border-radius:.8rem;background:var(--soft);display:flex;align-items:center;justify-content:center;color:var(--navy);font-weight:800;font-size:1.2rem}
.ars-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2rem}.ars-step{border-top:3px solid var(--navy);padding-top:1.25rem}.ars-step-no{font-size:.9rem;font-weight:800;color:var(--navy)}
.ars-topic-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-top:2rem}.ars-topic{display:flex;align-items:center;min-height:52px;padding:.75rem 1rem;border:1px solid var(--line);border-radius:.8rem;background:#fff;text-decoration:none;font-weight:700;color:var(--ink)}.ars-topic:hover{text-decoration:underline}
.ars-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem;margin-top:2rem}.ars-guide{border:1px solid var(--line);border-radius:1rem;padding:1.5rem;background:#fff}.ars-guide small{color:var(--navy);font-weight:750}
.ars-about-grid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:clamp(2rem,5vw,5rem);align-items:center}.ars-about-grid .ars-image-placeholder{aspect-ratio:4/5;max-height:25rem}.ars-marker{padding:1rem 1.2rem;background:#FFF8E8;border:1px solid #D8B45C;border-radius:.8rem;color:#55400E;margin-top:1rem}
.ars-faq{max-width:54rem;margin-top:2rem}.ars-faq details{border-top:1px solid var(--line);padding:1rem 0}.ars-faq details:last-child{border-bottom:1px solid var(--line)}.ars-faq summary{cursor:pointer;font-weight:750;min-height:44px;display:flex;align-items:center}.ars-faq p{color:var(--muted)}
.ars-callout{padding:clamp(2rem,5vw,3.5rem);background:var(--navy2);color:#fff;border-radius:1.35rem}.ars-callout h2{color:#fff}.ars-callout p{max-width:45rem}.ars-callout .wp-block-button__link{background:#fff;color:var(--navy2)}.ars-contact-line{font-weight:750;margin-top:1rem}
.ars-footer{border-top:1px solid var(--line);padding:2.5rem 0 1.5rem}.ars-footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:2rem}.ars-footer a{color:inherit}.ars-footer ul{padding-left:1.1rem}.ars-footer-note{border-top:1px solid var(--line);margin-top:2rem;padding-top:1rem;color:var(--muted);font-size:.9rem}
.wp-element-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:960px){.ars-header-cta{display:none}.ars-hero-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr)}.ars-topic-grid{grid-template-columns:repeat(3,1fr)}.ars-footer-grid{grid-template-columns:1.4fr 1fr 1fr}}
@media(max-width:782px){.admin-bar .ars-header{top:46px}.ars-brand small{display:none}.ars-hero-grid,.ars-about-grid{grid-template-columns:1fr}.ars-hero h1{font-size:clamp(2.3rem,10vw,3.25rem)!important;max-width:12ch}.ars-image-placeholder{aspect-ratio:16/10;min-height:15rem}.ars-trust-grid,.ars-card-grid,.ars-process-grid,.ars-guide-grid,.ars-footer-grid{grid-template-columns:1fr}.ars-topic-grid{grid-template-columns:repeat(2,1fr)}.ars-trust-item{padding:.25rem 0}.ars-section{padding-block:3.25rem}}
@media(max-width:420px){:root{--gutter:1rem}.ars-pill{font-size:.8rem}.ars-hero h1{font-size:2.2rem!important}.wp-block-button{width:100%}.wp-block-button__link{width:100%}.ars-topic-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media(forced-colors:active){.ars-image-placeholder,.ars-card,.ars-guide,.ars-topic,.ars-callout{border:1px solid CanvasText}}

/* v1.7 service pages */
.ars-service-hero{padding-block:clamp(2.8rem,5vw,4.8rem);background:#fff}
.ars-service-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(2.5rem,5vw,5rem);align-items:center}
.ars-service-hero h1{font-size:clamp(2.5rem,4vw,3.8rem)!important;max-width:15ch;margin:.9rem 0 1.2rem}
.ars-deadline{border-left:4px solid var(--navy);background:var(--soft);padding:1.15rem 1.3rem;border-radius:0 .8rem .8rem 0}
.ars-service-nav{border-block:1px solid var(--line);background:var(--bg);padding:.85rem 0}.ars-service-nav a{margin-right:1.3rem;font-weight:700}
.ars-two-col{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.ars-aside{border:1px solid var(--line);border-radius:1rem;padding:1.4rem;background:#fff;box-shadow:var(--shadow)}.ars-aside h3{margin-top:0}
.ars-checklist{list-style:none;padding-left:0}.ars-checklist li{position:relative;padding:.42rem 0 .42rem 1.8rem}.ars-checklist li:before{content:"✓";position:absolute;left:0;color:var(--navy);font-weight:900}
.ars-info-box{padding:1.4rem;border:1px solid var(--line);border-radius:1rem;background:var(--bg)}
.ars-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.ars-related a{min-height:80px;border:1px solid var(--line);border-radius:.9rem;padding:1rem;text-decoration:none;font-weight:750;display:flex;align-items:center;background:#fff}
@media(max-width:782px){.ars-service-grid,.ars-two-col,.ars-related{grid-template-columns:1fr}.ars-service-nav a{display:inline-flex;min-height:44px;align-items:center;margin-right:.8rem}}

/* v1.8 Arbeitsrecht A-Z */
.ars-az-hero{padding-block:clamp(3rem,5vw,5rem);background:#fff}.ars-az-hero h1{font-size:clamp(2.6rem,4.2vw,4rem)!important;max-width:15ch;margin:.9rem 0 1.1rem}
.ars-az-jump{position:sticky;top:76px;z-index:20;background:rgba(255,255,255,.97);border-block:1px solid var(--line);padding:.75rem 0}
.admin-bar .ars-az-jump{top:108px}.ars-az-jump-list{display:flex;flex-wrap:wrap;gap:.35rem}.ars-az-jump a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:.55rem;text-decoration:none;font-weight:800;color:var(--navy2)}.ars-az-jump a:hover{background:var(--soft)}
.ars-az-group{scroll-margin-top:150px;padding-block:2.2rem;border-bottom:1px solid var(--line)}.ars-az-letter{font-size:clamp(2rem,3vw,2.7rem)!important;color:var(--navy);margin:0 0 1.2rem}
.ars-az-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.ars-az-entry{border:1px solid var(--line);border-radius:1rem;padding:1.3rem 1.4rem;background:#fff}.ars-az-entry h3{font-size:1.12rem;margin:0 0 .5rem}.ars-az-entry p{color:var(--muted);margin:.25rem 0 .8rem}.ars-az-entry a{font-weight:750}
.ars-az-featured{border-left:4px solid var(--navy);background:var(--soft)}
.ars-az-note{font-size:.94rem;color:var(--muted);max-width:48rem}
@media(max-width:782px){.ars-az-jump{position:static}.admin-bar .ars-az-jump{top:auto}.ars-az-grid{grid-template-columns:1fr}.ars-az-group{scroll-margin-top:80px}}

/* v1.9 Ratgeber */
.ars-guide-hero{padding-block:clamp(3rem,5vw,5rem)}.ars-guide-hero h1{font-size:clamp(2.6rem,4.2vw,4rem)!important;max-width:16ch;margin:.9rem 0 1.1rem}
.ars-guide-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:2rem}.ars-guide-card{position:relative;border:1px solid var(--line);border-radius:1rem;padding:1.5rem;background:#fff;box-shadow:var(--shadow);min-height:14rem}.ars-guide-card small{color:var(--navy);font-weight:800}.ars-guide-card h2,.ars-guide-card h3{font-size:1.25rem;margin:.55rem 0}.ars-guide-card p{color:var(--muted)}.ars-guide-card a:after{content:"";position:absolute;inset:0;border-radius:inherit}
.ars-article{max-width:800px;margin-inline:auto}.ars-article-hero{padding-block:clamp(2.8rem,5vw,4.8rem);border-bottom:1px solid var(--line)}.ars-article-hero h1{font-size:clamp(2.4rem,4vw,3.65rem)!important;line-height:1.06!important;margin:.8rem 0 1.1rem}.ars-article-meta{font-size:.94rem;color:var(--muted)}
.ars-article-body{padding-block:clamp(3rem,6vw,5rem)}.ars-article-body h2{margin-top:2.6rem}.ars-article-body h3{margin-top:2rem}.ars-article-body p,.ars-article-body li{line-height:1.75}.ars-article-body .ars-info-box{margin:1.8rem 0}.ars-article-body .ars-deadline{margin:1.8rem 0}
.ars-toc{border:1px solid var(--line);border-radius:1rem;padding:1.25rem 1.4rem;background:var(--bg);margin:1.8rem 0}.ars-toc strong{display:block;margin-bottom:.5rem}.ars-toc a{display:block;padding:.25rem 0}
.ars-article-cta{margin-top:3rem}.ars-disclaimer{font-size:.9rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1rem;margin-top:2.5rem}
@media(max-width:900px){.ars-guide-index{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.ars-guide-index{grid-template-columns:1fr}}

/* v2.0 About, Contact, FAQ */
.ars-page-hero{padding-block:clamp(3rem,5vw,5rem);border-bottom:1px solid var(--line)}
.ars-page-hero h1{font-size:clamp(2.6rem,4.2vw,4rem)!important;line-height:1.05!important;max-width:16ch;margin:.85rem 0 1rem}
.ars-about-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}.ars-value{border:1px solid var(--line);border-radius:1rem;padding:1.4rem;background:#fff}.ars-value h3{margin-top:0}
.ars-profile-facts{display:grid;gap:.75rem}.ars-profile-fact{border-bottom:1px solid var(--line);padding-bottom:.75rem}.ars-profile-fact strong{display:block;color:var(--ink)}
.ars-contact-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.ars-contact-card{border:1px solid var(--line);border-radius:1.1rem;padding:1.5rem;background:#fff;box-shadow:var(--shadow)}.ars-contact-card h2,.ars-contact-card h3{margin-top:0}
.ars-contact-method{padding:1rem 0;border-bottom:1px solid var(--line)}.ars-contact-method:last-child{border-bottom:0}.ars-contact-method strong{display:block}
.ars-form-placeholder{border:2px dashed #B9CBE0;border-radius:1rem;padding:1.5rem;background:#F7F9FC}.ars-form-field{margin:1rem 0}.ars-form-field span{display:block;font-weight:750;margin-bottom:.35rem}.ars-fake-input{min-height:48px;background:#fff;border:1px solid #9BAABD;border-radius:.5rem}.ars-fake-textarea{min-height:130px}
.ars-urgent{border-left:4px solid var(--navy);background:var(--soft);padding:1.2rem 1.3rem;border-radius:0 .8rem .8rem 0;margin:1.5rem 0}
.ars-faq-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2rem 0}.ars-faq-cat{border:1px solid var(--line);border-radius:.9rem;padding:1rem;background:#fff}.ars-faq-cat a{font-weight:800;text-decoration:none}
.ars-faq-section{scroll-margin-top:120px;padding-block:2rem}.ars-faq-section+.ars-faq-section{border-top:1px solid var(--line)}
@media(max-width:782px){.ars-about-values,.ars-contact-grid,.ars-faq-categories{grid-template-columns:1fr}.ars-page-hero h1{font-size:clamp(2.35rem,10vw,3.3rem)!important}}

/* v2.1 Quality pass: mobile CTA alignment, accessibility, navigation */
.ars-main a:not(.wp-element-button):focus-visible,
.ars-footer a:focus-visible,
.ars-header a:focus-visible{border-radius:.25rem}
.ars-main [id]{scroll-margin-top:110px}
.ars-header .wp-block-navigation__responsive-container-open,
.ars-header .wp-block-navigation__responsive-container-close{min-width:44px;min-height:44px}
.ars-header .wp-block-navigation__responsive-container-open svg,
.ars-header .wp-block-navigation__responsive-container-close svg{width:28px;height:28px}
.ars-card-link,.ars-guide-card a{min-height:44px;display:inline-flex;align-items:center}
.ars-faq summary{padding-right:.25rem}
@media(max-width:782px){
  .ars-hero-copy>.wp-block-buttons,
  .ars-service-hero .wp-block-buttons,
  .ars-callout .wp-block-buttons{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    gap:.75rem!important;
  }
  .ars-hero-copy>.wp-block-buttons>.wp-block-button,
  .ars-service-hero .wp-block-buttons>.wp-block-button{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .ars-hero-copy>.wp-block-buttons .wp-block-button__link,
  .ars-service-hero .wp-block-buttons .wp-block-button__link{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding-left:1rem!important;
    padding-right:1rem!important;
  }
}

/* v2.2: unified mobile grid + quality polish */
:root{--ars-mobile-gutter:22px}
@media(max-width:782px){
  /* One optical grid for hero copy, CTA group and hero image */
  .ars-hero>.ars-shell,
  .ars-service-hero>.ars-shell,
  .ars-page-hero>.ars-shell,
  .ars-guide-hero>.ars-shell,
  .ars-az-hero>.ars-shell{
    width:100%!important;
    max-width:none!important;
    padding-left:var(--ars-mobile-gutter)!important;
    padding-right:var(--ars-mobile-gutter)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
  .ars-hero-grid,.ars-service-grid{
    width:100%!important;
    margin:0!important;
    gap:2.4rem!important;
  }
  .ars-hero-copy,.ars-hero-media,.ars-service-grid>*{
    width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important;
  }
  .ars-hero-copy>.wp-block-buttons{
    display:grid!important;grid-template-columns:1fr!important;width:100%!important;max-width:100%!important;
  }
  .ars-hero-copy>.wp-block-buttons>.wp-block-button{
    width:100%!important;max-width:100%!important;
  }
  .ars-hero-copy>.wp-block-buttons .wp-block-button__link{
    display:flex!important;justify-content:center!important;align-items:center!important;
    width:100%!important;max-width:100%!important;min-height:52px!important;box-sizing:border-box!important;
  }
  .ars-hero .ars-image-placeholder,.ars-hero-media .ars-image-placeholder{
    width:100%!important;max-width:100%!important;margin:0!important;box-sizing:border-box!important;
  }
  .ars-hero-copy p,.ars-hero-copy h1{max-width:100%!important}
}
@media(max-width:420px){:root{--ars-mobile-gutter:20px}}
/* Accessible targets and reduced-motion preference */
.ars-main a,.ars-footer a{text-underline-offset:.18em}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* =========================================================
   v2.3 AUTHORITATIVE MOBILE LAYOUT RESET
   This is the single final mobile geometry layer.
   ========================================================= */
@media screen and (max-width:782px){
  html,body{width:100%;max-width:100%;overflow-x:hidden!important}
  .ars-main{width:100%;max-width:100%;overflow-x:clip!important}

  /* WordPress block wrappers must not add lateral geometry in the hero. */
  .ars-main .ars-hero,
  .ars-main .ars-hero .ars-shell,
  .ars-main .ars-hero .ars-hero-grid,
  .ars-main .ars-hero .ars-hero-copy,
  .ars-main .ars-hero .ars-hero-grid>div{
    box-sizing:border-box!important;
    max-width:100%!important;
  }

  .ars-main .ars-hero{
    width:100%!important;
    margin:0!important;
    padding-top:2rem!important;
    padding-bottom:2.4rem!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  /* The ONLY horizontal gutter on the mobile homepage hero. */
  .ars-main .ars-hero>.ars-shell{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding-left:20px!important;
    padding-right:20px!important;
  }

  .ars-main .ars-hero .ars-hero-grid{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    gap:36px!important;
  }

  .ars-main .ars-hero .ars-hero-copy,
  .ars-main .ars-hero .ars-hero-grid>div{
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  .ars-main .ars-hero .ars-pill{
    width:auto!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  .ars-main .ars-hero h1,
  .ars-main .ars-hero .ars-lead{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }

  /* Reset Gutenberg button margins/flex sizing completely. */
  .ars-main .ars-hero .wp-block-buttons{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    width:100%!important;
    max-width:100%!important;
    margin:1.45rem 0 0 0!important;
    padding:0!important;
    gap:12px!important;
    box-sizing:border-box!important;
  }

  .ars-main .ars-hero .wp-block-buttons>.wp-block-button{
    display:block!important;
    flex:none!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }

  .ars-main .ars-hero .wp-block-buttons>.wp-block-button>.wp-block-button__link{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:52px!important;
    margin:0!important;
    padding:12px 16px!important;
    box-sizing:border-box!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }

  .ars-main .ars-hero .ars-image-placeholder{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:1.5rem!important;
    box-sizing:border-box!important;
  }
}

/* Narrow phones: same geometry; no second competing gutter. */
@media screen and (max-width:420px){
  .ars-main .ars-hero>.ars-shell{
    padding-left:20px!important;
    padding-right:20px!important;
  }
}

/* v2.4 real content + visual identity */
.ars-brand-logo{display:block;width:230px;height:62px;background:url("assets/logo.webp") center/contain no-repeat;text-indent:-9999px;overflow:hidden}
.ars-real-photo{width:100%;height:auto;display:block;border-radius:22px;object-fit:cover}
.ars-hero-photo{aspect-ratio:4/5;object-position:center 25%;box-shadow:0 18px 50px rgba(16,40,72,.10)}
.ars-profile-photo{aspect-ratio:4/5;object-position:center 22%}
.ars-ai-note{font-size:.78rem;color:#64748b;margin:.55rem 0 0;line-height:1.45}
.ars-contact-link{font-weight:750;color:var(--ars-blue,#173f75);text-decoration:none}
.ars-fact-list{display:grid;gap:.8rem;margin:1.2rem 0}
.ars-fact-list div{padding:.85rem 0;border-bottom:1px solid #e4eaf0}
.ars-fact-list strong{display:block;color:#17263b;margin-bottom:.15rem}
.ars-form{display:grid;gap:1rem}
.ars-form label{font-weight:700;color:#17263b;display:block}
.ars-form input,.ars-form select,.ars-form textarea{width:100%;box-sizing:border-box;margin-top:.35rem;padding:.82rem .9rem;border:1px solid #b9c6d4;border-radius:10px;background:#fff;color:#17263b;font:inherit}
.ars-form textarea{min-height:150px;resize:vertical}
.ars-form input:focus,.ars-form select:focus,.ars-form textarea:focus{outline:3px solid #bfd2ea;outline-offset:2px;border-color:#173f75}
.ars-hp{position:absolute!important;left:-9999px!important}
.ars-form-status{padding:1rem;border-radius:10px;margin-bottom:1rem;background:#edf5ed}
.ars-legal{max-width:850px}.ars-legal h2{margin-top:2rem}.ars-legal h3{margin-top:1.4rem}
@media(max-width:782px){
 .ars-brand-logo{width:165px;height:48px}
 .ars-hero-photo{aspect-ratio:4/5}
}

/* =========================================================
   v2.5 – identity, mobile content, footer contact
   ========================================================= */
.ars-brand-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto}
.ars-brand-logo{width:275px;height:76px}
.ars-ai-logo-note{font-size:9px;line-height:1;color:#718096;letter-spacing:.03em;margin-top:-3px;white-space:nowrap}
.ars-footer-contact a{color:inherit;text-decoration:underline;text-underline-offset:.18em}
.ars-footer-contact p{margin:.25rem 0}
.ars-about-highlight{font-size:1.08rem;line-height:1.72}
@media(max-width:782px){
  .ars-brand-logo{width:185px;height:52px}
  .ars-ai-logo-note{font-size:7px;margin-top:-2px}
  /* Ensure v2.5 real content is visible and ordered on mobile */
  .ars-main .ars-hero .ars-hero-grid{display:flex!important;flex-direction:column!important}
  .ars-main .ars-hero .ars-hero-copy{order:1!important;display:block!important}
  .ars-main .ars-hero .ars-hero-media{order:2!important;display:block!important;visibility:visible!important;opacity:1!important}
  .ars-main .ars-hero .ars-hero-media img{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:auto!important}
  .ars-main .ars-hero .ars-hero-copy p,
  .ars-main .ars-hero .ars-hero-copy h1,
  .ars-main .ars-hero .ars-hero-copy .wp-block-buttons{display:flex!important}
  .ars-main .ars-hero .ars-hero-copy h1{display:block!important}
  .ars-main .ars-hero .ars-hero-copy p{display:block!important}
}

/* v2.6 – compact legal-document layout inspired by the supplied structural example */
.ars-imprint-head{padding:3.25rem 0 1.1rem}
.ars-imprint-title{font-size:clamp(2rem,4vw,3rem);margin:0;color:#173f75;line-height:1.05}
.ars-imprint-rule{width:118px;height:4px;background:#2f5f91;border-radius:3px;margin-top:.65rem}
.ars-imprint-doc{max-width:900px;font-size:1.03rem;line-height:1.72;color:#39495b}
.ars-imprint-doc section{padding:1.25rem 0;border-bottom:1px solid #e1e8ef}
.ars-imprint-doc section:last-child{border-bottom:0}
.ars-imprint-doc h2{font-size:1.35rem;color:#173f75;margin:0 0 .65rem}
.ars-imprint-doc h3{font-size:1.08rem;color:#17263b;margin:1rem 0 .4rem}
.ars-imprint-doc p{margin:.35rem 0 .85rem}
.ars-imprint-doc ul{margin:.4rem 0 1rem;padding-left:1.35rem}
.ars-imprint-doc li{margin:.22rem 0}
.ars-imprint-doc a{overflow-wrap:anywhere}
.ars-imprint-meta{font-size:.88rem;color:#64748b}
.ars-imprint-warning{padding:1rem 1.1rem;background:#fff8e6;border:1px solid #e9cf8c;border-radius:10px}
@media(max-width:782px){
 .ars-imprint-head{padding:2rem 0 .6rem}
 .ars-imprint-doc{font-size:1rem;line-height:1.62}
 .ars-imprint-doc section{padding:1rem 0}
 .ars-imprint-doc h2{font-size:1.2rem}
 .ars-imprint-rule{width:92px;height:3px}
}

/* =========================================================
   v2.7 – final placeholder cleanup + brand refinement
   ========================================================= */
.ars-brand-logo{width:300px;height:82px}
.ars-ai-logo-note{
  font-size:6.5px!important;
  line-height:1.05!important;
  letter-spacing:.015em!important;
  color:#7b8794!important;
  margin-top:-5px!important;
  font-weight:500!important;
  opacity:.92
}
/* Former editor/placeholders are now normal design components. */
.ars-marker,.ars-form-placeholder{
  background:var(--soft)!important;
  border:1px solid var(--line)!important;
  color:var(--ink)!important;
  border-radius:1rem
}
.ars-image-placeholder{
  background:var(--soft)!important;
  border:1px solid var(--line)!important;
  color:var(--muted)!important
}
.ars-imprint-warning{
  background:var(--soft)!important;
  border:1px solid var(--line)!important;
  color:var(--ink)!important
}
@media(max-width:782px){
 .ars-brand-logo{width:202px;height:56px}
 .ars-ai-logo-note{font-size:5.5px!important;margin-top:-4px!important}
}

/* v2.7.1 */
.ars-service-contact{background:var(--soft);border:1px solid var(--line);border-radius:1rem;padding:1rem 1.05rem;margin-top:1rem}
.ars-service-contact p{margin:.25rem 0}.ars-service-contact a{font-weight:750}
.ars-service-contact .wp-block-button__link{margin-top:.65rem;display:inline-flex;min-height:44px;align-items:center;justify-content:center}
@media(max-width:782px){
 .ars-header .ars-header-inner{gap:.4rem!important;padding-left:10px!important;padding-right:10px!important;box-sizing:border-box!important}
 .ars-header .ars-brand-wrap{min-width:0!important;flex:1 1 auto!important}
 .ars-header .ars-brand-logo{width:172px!important;max-width:100%!important;height:50px!important}
 .ars-header .ars-cta{flex:0 0 auto!important;max-width:112px!important;min-width:0!important;padding:.56rem .62rem!important;font-size:.76rem!important;line-height:1.1!important;white-space:normal!important;text-align:center!important;box-sizing:border-box!important}
}
@media(max-width:390px){
 .ars-header .ars-brand-logo{width:152px!important;height:46px!important}
 .ars-header .ars-cta{max-width:100px!important;padding:.5rem .48rem!important;font-size:.71rem!important}
}

/* v2.8 – pre-launch / SEO refinements without changing established design */
.ars-deadline-note{background:var(--soft);border:1px solid var(--line);border-left:4px solid #234a7d;border-radius:.8rem;padding:.9rem 1rem;margin:1rem 0;color:var(--ink)}
.ars-deadline-note strong{color:#173f75}

/* v2.8.1 – accessibility and mobile navigation polish */
.ars-final-cta a,.ars-final-cta a:visited,.ars-contact-band a,.ars-contact-band a:visited,.ars-dark a,.ars-dark a:visited{color:#fff!important;text-decoration-color:rgba(255,255,255,.78)!important}
.ars-final-cta a:focus-visible,.ars-contact-band a:focus-visible,.ars-dark a:focus-visible{outline:3px solid #fff!important;outline-offset:3px}
.ars-ai-logo-note{font-size:5.5px!important;line-height:1!important;opacity:.82!important}
@media(max-width:782px){
 .ars-ai-logo-note{font-size:5px!important}
 .wp-block-navigation__responsive-container.is-menu-open{background:#fff!important;color:var(--ink)!important;padding:1.25rem!important}
 .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{padding-top:2.75rem!important;gap:0!important}
 .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{width:100%!important;border-bottom:1px solid var(--line)!important}
 .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{display:block!important;width:100%!important;padding:.9rem .15rem!important;font-size:1.05rem!important}
 .wp-block-navigation__responsive-container-close{top:.8rem!important;right:.8rem!important}
}

/* v2.8.3 – definitive mobile navigation */
@media (max-width:782px){
 body .wp-block-navigation__responsive-container.is-menu-open{
   position:fixed!important;inset:0!important;z-index:999999!important;
   width:100vw!important;height:100dvh!important;max-width:none!important;
   background:#fff!important;color:#152238!important;
   padding:0!important;margin:0!important;overflow-y:auto!important;
 }
 body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close{
   width:100%!important;max-width:none!important;padding:1rem 1.15rem 1.5rem!important;box-sizing:border-box!important;
 }
 body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog{
   margin:0!important;width:100%!important;
 }
 body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{
   top:1rem!important;right:1rem!important;width:44px!important;height:44px!important;
   display:flex!important;align-items:center!important;justify-content:center!important;
   border:1px solid #d9e1ec!important;border-radius:50%!important;background:#fff!important;color:#173f75!important;
 }
 body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
   padding-top:4.5rem!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;
 }
 body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
 body .wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list{
   display:flex!important;flex-direction:column!important;align-items:stretch!important;
   width:100%!important;gap:0!important;margin:0!important;padding:0!important;
 }
 body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
   display:block!important;width:100%!important;margin:0!important;padding:0!important;
   border-bottom:1px solid #d9e1ec!important;
 }
 body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
   display:flex!important;align-items:center!important;width:100%!important;min-height:58px!important;
   padding:.85rem .25rem!important;box-sizing:border-box!important;
   font-size:1.12rem!important;font-weight:650!important;line-height:1.3!important;color:#152238!important;text-decoration:none!important;
 }
 body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
 body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible{
   color:#173f75!important;text-decoration:underline!important;text-underline-offset:4px!important;
 }
 body .wp-block-navigation__responsive-container-open{
   min-width:44px!important;min-height:44px!important;align-items:center!important;justify-content:center!important;
 }
}

/* v2.9 – unobtrusive internal-link module */
.ars-related-links{margin-top:2.25rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.ars-related-links h2{font-size:1.15rem;margin-bottom:.65rem}
.ars-related-links ul{display:flex;flex-wrap:wrap;gap:.55rem 1.1rem;list-style:none;padding:0;margin:0}
.ars-related-links a{font-weight:700;text-underline-offset:3px}
@media(max-width:600px){.ars-related-links ul{display:block}.ars-related-links li{margin:.55rem 0}}

/* v2.9.3 – anti-spam honeypot, no visual/layout impact */
.ars-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}


/* =========================================================
   v2.9.4 – MOBILE TYPOGRAPHY & SPACING POLISH
   Desktop intentionally unchanged.
   ========================================================= */
@media screen and (max-width:782px){

  /* Never split German words in headings/body copy. */
  .ars-main h1,.ars-main h2,.ars-main h3,
  .ars-main p,.ars-main li,.ars-main a{
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    -webkit-hyphens:none!important;
  }

  /* Consistent mobile page grid for article/page/service heroes and bodies. */
  .ars-article-hero>.ars-shell,
  .ars-article-body>.ars-shell,
  .ars-service-hero>.ars-shell,
  .ars-page-hero>.ars-shell,
  .ars-guide-hero>.ars-shell,
  .ars-az-hero>.ars-shell{
    width:100%!important;
    max-width:none!important;
    margin-inline:auto!important;
    padding-left:20px!important;
    padding-right:20px!important;
    box-sizing:border-box!important;
  }

  /* Reduce unused vertical space below the header. */
  .ars-article-hero,
  .ars-service-hero,
  .ars-page-hero,
  .ars-guide-hero,
  .ars-az-hero{
    padding-top:2.15rem!important;
    padding-bottom:2.35rem!important;
  }

  /* Ratgeber/article titles: readable, less dominant and calmer wrapping. */
  .ars-article-hero h1{
    font-size:clamp(2.05rem,8.5vw,2.85rem)!important;
    line-height:1.10!important;
    letter-spacing:-.028em!important;
    max-width:100%!important;
    margin:.85rem 0 1rem!important;
    text-wrap:balance;
  }

  /* Other page titles follow the same mobile rhythm. */
  .ars-service-hero h1,
  .ars-page-hero h1,
  .ars-guide-hero h1,
  .ars-az-hero h1{
    font-size:clamp(2.05rem,8.5vw,2.85rem)!important;
    line-height:1.10!important;
    letter-spacing:-.028em!important;
    max-width:100%!important;
    text-wrap:balance;
  }

  .ars-article-meta{
    font-size:.94rem!important;
    line-height:1.5!important;
  }

  /* Bring article content closer to the hero while keeping clear hierarchy. */
  .ars-article-body{
    padding-top:2.35rem!important;
    padding-bottom:3.25rem!important;
  }
  .ars-article-body p,
  .ars-article-body li{
    line-height:1.68!important;
  }
  .ars-article-body .ars-info-box,
  .ars-article-body .ars-deadline{
    margin-top:1.55rem!important;
    margin-bottom:1.55rem!important;
  }

  /* Homepage: prevent the observed "unternehmerische / m" split. */
  .ars-main .ars-hero h1{
    font-size:clamp(2.35rem,9.1vw,3rem)!important;
    line-height:1.08!important;
    letter-spacing:-.032em!important;
    max-width:100%!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    -webkit-hyphens:none!important;
    text-wrap:balance;
  }
  .ars-main .ars-hero .ars-lead{
    line-height:1.58!important;
  }

  /* Slightly tighter homepage rhythm without touching the header. */
  .ars-main .ars-hero{
    padding-top:1.85rem!important;
    padding-bottom:2.2rem!important;
  }
  .ars-main .ars-hero .ars-hero-grid{
    gap:30px!important;
  }
}

@media screen and (max-width:420px){
  .ars-article-hero>.ars-shell,
  .ars-article-body>.ars-shell,
  .ars-service-hero>.ars-shell,
  .ars-page-hero>.ars-shell,
  .ars-guide-hero>.ars-shell,
  .ars-az-hero>.ars-shell,
  .ars-main .ars-hero>.ars-shell{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .ars-article-hero h1,
  .ars-service-hero h1,
  .ars-page-hero h1,
  .ars-guide-hero h1,
  .ars-az-hero h1{
    font-size:clamp(1.95rem,8.4vw,2.45rem)!important;
  }
  .ars-main .ars-hero h1{
    font-size:clamp(2.15rem,9vw,2.65rem)!important;
  }
}
