/* Hart Service - shared subpage layer. Scoped to body.sub. Navy + restrained gold, bold sans-serif. */
body.sub{--s-ink:#0a1524;--s-navy:#0f2036;--s-navy2:#172d4a;--s-gold:#c29a48;--s-gold-lt:#e0c27f;--s-gold-dk:#8e6c26;--s-paper:#f8f4ec;--s-bone:#f1ebdf;--s-text:#1a2636;--s-muted:#5b6574;--s-line:rgba(10,21,36,.14);--s-card:#fffdf8;--s-sans:'Geist','Poppins',system-ui,sans-serif;--s-mono:'Geist Mono',ui-monospace,monospace;
--primary-color:#0f2036;--primary-dark:#0a1524;--accent-color:#c29a48;--secondary-color:#0a1524;--text-color:#1a2636;--brand-primary:#0f2036;--brand-primary-dark:#0a1524;
font-family:var(--s-sans);background:var(--s-paper);color:var(--s-text)}
body.sub h1,body.sub h2,body.sub h3,body.sub h4,body.sub h5{font-family:var(--s-sans);font-style:normal;color:var(--s-ink);font-weight:800;letter-spacing:-.03em}
body.sub em,body.sub i.serif{font-style:normal}
body.sub h2::after{display:none!important}
body.sub :focus-visible{outline:2px solid var(--s-gold);outline-offset:3px}
/* header */
body.sub header{background:rgba(248,244,236,.94);border-bottom:1px solid var(--s-line)}
body.sub header nav a{font-family:var(--s-sans);color:var(--s-ink);font-weight:600}
body.sub header nav a:hover{color:var(--s-gold-dk)}
body.sub .mobile-nav-container{background:var(--s-paper);border-bottom:2px solid var(--s-gold)}
body.sub .top-contact-info a,body.sub .login-icon-button,body.sub .dark-mode-toggle-btn,body.sub .mobile-menu-toggle{color:var(--s-ink)}
/* hero band */
body.sub .service-detail-header{position:relative;padding:150px 0 80px!important;text-align:left;color:var(--s-bone);background-color:var(--s-ink);background-size:cover;background-position:center;border-bottom:3px solid var(--s-gold)}
body.sub .service-detail-header .container{max-width:1200px}
body.sub .service-detail-header h1{color:var(--s-bone);font-size:clamp(2rem,5vw,3.8rem);line-height:1.05;letter-spacing:-.04em;text-align:left;max-width:20ch}
body.sub .service-detail-header .lead{color:rgba(241,235,223,.82);font-size:1.12rem;max-width:56ch;margin-top:18px;text-align:left}
body.sub .service-detail-header .d-flex{justify-content:flex-start!important;flex-wrap:wrap;gap:10px}
body.sub .service-detail-header .d-flex .btn{margin:0!important}
/* content */
body.sub .service-detail-content,body.sub .configurator-form-section{background:var(--s-paper);padding:70px 0}
body.sub .service-detail-content .text-center,body.sub .service-detail-content .col-lg-8{text-align:left!important}
body.sub .service-detail-content h2{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:18px;text-align:left}
body.sub .service-detail-content p,body.sub .service-detail-content li{color:var(--s-muted);line-height:1.75}
body.sub hr{border-color:var(--s-line);opacity:1}
body.sub .icon-box{display:flex;gap:18px;align-items:flex-start;padding:20px 22px;margin-bottom:12px;background:var(--s-card);border:1px solid var(--s-line);border-left:4px solid var(--s-gold);border-radius:2px;box-shadow:none}
body.sub .icon-box .icon{flex:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--s-navy);color:var(--s-gold-lt);border-radius:2px;font-size:1.1rem}
body.sub .icon-box h4{font-size:1.05rem;margin:0 0 6px}
body.sub .icon-box p{margin:0;font-size:.93rem}
body.sub .service-sidebar,body.sub .config-summary{background:var(--s-navy);color:var(--s-bone);border:0;border-top:3px solid var(--s-gold);border-radius:2px;padding:28px;box-shadow:none}
body.sub .service-sidebar h4,body.sub .config-summary h4{color:var(--s-bone);border-bottom:1px solid rgba(241,235,223,.2);padding-bottom:10px}
body.sub .service-sidebar p,body.sub .config-summary,body.sub .config-summary li,body.sub .config-summary span,body.sub .config-summary strong{color:var(--s-bone)}
body.sub .config-summary hr{border-color:rgba(241,235,223,.25)}
body.sub .config-summary{top:90px}
/* buttons */
body.sub .cta-button-main,body.sub .btn-primary,body.sub .cta-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--s-gold);color:var(--s-ink);border:1px solid var(--s-gold);border-radius:2px;font-weight:700;padding:15px 26px;text-decoration:none;transition:background .2s,transform .2s}
body.sub .cta-button-main:hover,body.sub .btn-primary:hover,body.sub .cta-button:hover{background:var(--s-gold-lt);color:var(--s-ink);transform:translateY(-1px)}
body.sub .btn-outline-light{border-radius:2px;border-color:rgba(241,235,223,.5);color:var(--s-bone);font-weight:600}
body.sub .btn-outline-light:hover{background:var(--s-bone);color:var(--s-ink)}
body.sub .btn-lg{font-size:1rem}
body.sub .btn:disabled{opacity:.6}
/* FAQ */
body.sub .faq-section{background:var(--s-bone);padding:70px 0}
body.sub .faq-section h2{margin-bottom:28px}
body.sub .faq-accordion{max-width:900px}
body.sub .faq-item{background:var(--s-card);border:1px solid var(--s-line);border-radius:2px;margin-bottom:8px;box-shadow:none}
body.sub .faq-item summary,body.sub .faq-question{font-weight:700;color:var(--s-ink);padding:18px 22px;cursor:pointer}
body.sub .faq-answer{color:var(--s-muted);padding:0 22px 20px;line-height:1.7}
body.sub .faq-item[open]{border-left:4px solid var(--s-gold)}
/* related / cards */
body.sub .related-service-card,body.sub .card{background:var(--s-card);border:1px solid var(--s-line);border-radius:2px;box-shadow:none!important;color:var(--s-text)}
body.sub .related-service-card:hover{border-color:var(--s-gold)}
body.sub .card-header{background:var(--s-navy);border-bottom:2px solid var(--s-gold);border-radius:0!important;padding:14px 22px}
body.sub .card-header h4,body.sub .card-header h5{color:var(--s-bone);margin:0;font-size:1.05rem}
body.sub .card-body{padding:24px 22px}
/* calculators */
body.sub .form-control,body.sub .form-select{border:1px solid rgba(10,21,36,.3);border-radius:2px;background:#fff;color:var(--s-ink);padding:11px 12px;min-height:46px}
body.sub .form-control:focus,body.sub .form-select:focus{border-color:var(--s-gold);box-shadow:0 0 0 3px rgba(194,154,72,.3)}
body.sub .form-group{margin-bottom:18px}
body.sub .form-group>label,body.sub label{font-weight:600;color:var(--s-ink)}
body.sub .chooser-group label{border:2px solid rgba(10,21,36,.18);border-radius:2px;background:#fff;color:var(--s-ink);min-height:46px;display:flex;align-items:center;justify-content:center}
body.sub .chooser-group label:hover{border-color:var(--s-gold)}
body.sub .chooser-group input[type=radio]:checked+label{border-color:var(--s-navy);background:var(--s-navy);color:var(--s-gold-lt)}
body.sub .einmalig-button-wrapper label{border-radius:2px;background:#fff;color:var(--s-ink);border-color:rgba(10,21,36,.18)}
body.sub .einmalig-button-wrapper label:hover{border-color:var(--s-gold);background:#fff;color:var(--s-ink)}
body.sub .einmalig-button-wrapper input[type=radio]:checked+label,body.sub .einmalig-button-wrapper input[type=radio]:checked+label:hover{background:var(--s-navy);border-color:var(--s-navy);color:var(--s-gold-lt);box-shadow:none}
body.sub .turnus-headline .subtitle,body.sub .price-tag.inclusive{color:var(--s-gold-dk)}
body.sub .price-tag.cost{color:var(--s-navy)}
body.sub .form-check-input:checked{background-color:var(--s-navy);border-color:var(--s-navy)}
body.sub .form-check-input:focus{box-shadow:0 0 0 3px rgba(194,154,72,.35);border-color:var(--s-gold)}
body.sub .custom-switch-wrapper{padding:10px 0;border-bottom:1px solid var(--s-line)}
body.sub .form-text.text-primary,body.sub .text-primary{color:var(--s-gold-dk)!important}
/* modals */
body.sub .modal-content{background:var(--s-paper);color:var(--s-text);border:0;border-top:3px solid var(--s-gold);border-radius:2px}
body.sub .modal-header{border-bottom:1px solid var(--s-line)}
body.sub .modal-footer{border-top:1px solid var(--s-line)}
body.sub .modal-title,body.sub .modal-body h2,body.sub .modal-body h4{color:var(--s-ink);font-weight:800}
body.sub .modal-body h2{font-size:1.3rem}
body.sub .modal-body h4{font-size:1.05rem;margin-top:20px}
body.sub .modal .btn-secondary{background:var(--s-navy);border-color:var(--s-navy);border-radius:2px;color:var(--s-bone)}
/* cookie */
body.sub .cookie-banner{background:var(--s-paper);border-top:3px solid var(--s-gold);font-family:var(--s-sans);box-shadow:0 -10px 30px rgba(10,21,36,.25)}
body.sub .cookie-banner-text strong{color:var(--s-ink);font-weight:800}
body.sub .cookie-banner-text p{color:var(--s-muted)}
body.sub .cookie-btn{border-radius:2px;font-weight:700}
body.sub .cookie-btn-accept{background:var(--s-navy);color:var(--s-bone)}
body.sub .cookie-btn-reject{background:transparent;color:var(--s-ink);border:2px solid var(--s-ink)}
body.sub .cookie-btn-settings{background:var(--s-bone);color:var(--s-ink);border:2px solid var(--s-line)}
/* footer */
body.sub footer{background:var(--s-ink);color:rgba(241,235,223,.78);border-top:3px solid var(--s-gold)}
body.sub footer a{color:rgba(241,235,223,.85)}
body.sub footer a:hover{color:var(--s-gold-lt)}
body.sub footer .footer-heading,body.sub footer .footer-heading strong,body.sub footer .footer-slogan{color:var(--s-bone);font-family:var(--s-sans);font-weight:800;font-style:normal}
body.sub footer .footer-google-badge{border-radius:2px}
body.sub .whatsapp-overlay-button{box-shadow:0 10px 24px -10px rgba(10,21,36,.6)}
/* blog / karriere / legal generic */
body.sub main .container h1{font-size:clamp(1.9rem,4vw,3rem)}
body.sub main a:not([class]){color:var(--s-gold-dk)}
body.sub .seo-checklist li::marker{color:var(--s-gold-dk)}
/* dark mode */
body.sub.dark-mode{--s-paper:#0d1828;--s-bone:#f1ebdf;--s-card:#162840;--s-text:#e6e0d3;--s-muted:#aab3c0;--s-ink:#f1ebdf;--s-line:rgba(241,235,223,.16);background:#0d1828}
body.sub.dark-mode header{background:rgba(10,21,36,.95)}
body.sub.dark-mode .service-detail-header h1,body.sub.dark-mode .service-detail-header .lead{color:#f1ebdf}
body.sub.dark-mode .service-detail-header{background-color:#0a1524}
body.sub.dark-mode .icon-box .icon,body.sub.dark-mode .card-header,body.sub.dark-mode .service-sidebar,body.sub.dark-mode .config-summary{background:#0a1524}
body.sub.dark-mode .cta-button-main,body.sub.dark-mode .btn-primary{color:#0a1524}
body.sub.dark-mode .form-control,body.sub.dark-mode .form-select,body.sub.dark-mode .chooser-group label,body.sub.dark-mode .einmalig-button-wrapper label{background:#0f2036;color:#f1ebdf;border-color:rgba(241,235,223,.25)}
body.sub.dark-mode .chooser-group input[type=radio]:checked+label,body.sub.dark-mode .einmalig-button-wrapper input[type=radio]:checked+label{background:var(--s-gold);color:#0a1524;border-color:var(--s-gold)}
body.sub.dark-mode .modal-content{background:#0f2036;color:#e6e0d3}
body.sub.dark-mode .modal-title,body.sub.dark-mode .modal-body h2,body.sub.dark-mode .modal-body h4{color:#f1ebdf}
body.sub.dark-mode .btn-close{filter:invert(1)}
body.sub.dark-mode .price-tag.cost,body.sub.dark-mode .turnus-headline .subtitle,body.sub.dark-mode .price-tag.inclusive{color:var(--s-gold-lt)}
body.sub.dark-mode .cookie-banner{background:#0f2036}
body.sub.dark-mode .cookie-btn-accept{background:var(--s-gold);color:#0a1524}
body.sub.dark-mode header nav a,body.sub.dark-mode .top-contact-info a,body.sub.dark-mode .login-icon-button,body.sub.dark-mode .dark-mode-toggle-btn,body.sub.dark-mode .mobile-menu-toggle{color:#f1ebdf}
body.sub.dark-mode .mobile-nav-container{background:#0a1524}
/* responsive */
@media(max-width:991px){body.sub .config-summary{position:static!important;margin-top:20px}body.sub .service-sidebar{margin-top:24px}}
@media(max-width:768px){body.sub .service-detail-header{padding:110px 0 50px!important}body.sub .service-detail-content,body.sub .configurator-form-section,body.sub .faq-section{padding:44px 0}body.sub .icon-box{padding:16px;gap:14px}body.sub .chooser-group label{min-width:calc(50% - .5rem)}body.sub .custom-switch-wrapper{gap:10px}}

/* ===== Karriere ===== */
body.sub .benefits-section{background:var(--s-bone)!important;padding:70px 0}
body.sub .benefits-section h2{text-align:left!important;margin-bottom:32px!important}
body.sub .benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--s-ink);border-left:1px solid var(--s-line)}
body.sub .benefit-item{background:var(--s-card);padding:28px 24px;border-right:1px solid var(--s-line);border-bottom:1px solid var(--s-line);border-radius:0;box-shadow:none;text-align:left}
body.sub .benefit-item>i{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--s-navy);color:var(--s-gold-lt);border-radius:2px;margin-bottom:18px;font-size:1.1rem}
body.sub .benefit-item h3{font-size:1.1rem;margin-bottom:8px}
body.sub .benefit-item p{color:var(--s-muted);font-size:.92rem;line-height:1.65}
body.sub .job-posting-card{display:flex;gap:20px;padding:24px;margin-bottom:12px;background:var(--s-card);border:1px solid var(--s-line);border-left:4px solid var(--s-gold);border-radius:2px;box-shadow:none}
body.sub .job-icon{flex:none;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--s-navy);color:var(--s-gold-lt);border-radius:2px}
body.sub .job-title{font-size:1.2rem;margin:0 0 4px}
body.sub .job-location{font-family:var(--s-mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--s-gold-dk);margin:0 0 10px}
body.sub .job-text{margin:0}
body.sub .service-detail-content>.container>h2.text-center,body.sub .service-detail-content .text-center{text-align:left!important}
/* ===== Blog ===== */
body.sub .blog-page-header{background:var(--s-ink);color:var(--s-bone);padding:150px 0 64px;border-bottom:3px solid var(--s-gold)}
body.sub .blog-page-header h1{color:var(--s-bone);font-size:clamp(2rem,5vw,3.6rem);letter-spacing:-.04em;text-align:left}
body.sub .blog-page-header p{color:rgba(241,235,223,.78);max-width:60ch;margin-top:14px;text-align:left}
body.sub .blog-list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:56px 0 80px}
body.sub .blog-preview-card{display:flex;flex-direction:column;background:var(--s-card);border:1px solid var(--s-line);border-top:3px solid var(--s-ink);border-radius:2px;overflow:hidden;color:var(--s-text);text-decoration:none;box-shadow:none;transition:border-color .2s,transform .2s}
body.sub .blog-preview-card:hover{border-top-color:var(--s-gold);transform:translateY(-3px)}
body.sub .blog-preview-image{aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,var(--s-navy),var(--s-navy2))}
body.sub .blog-preview-image img{width:100%;height:100%;object-fit:cover}
body.sub .blog-preview-placeholder{display:flex;align-items:center;justify-content:center;color:var(--s-gold-lt);font-size:2rem}
body.sub .blog-preview-content{padding:22px}
body.sub .blog-preview-content h2,body.sub .blog-preview-content h3{font-size:1.2rem;line-height:1.25;color:var(--s-ink)}
body.sub .blog-preview-content p{color:var(--s-muted);font-size:.9rem}
body.sub .blog-preview-category,body.sub .blog-preview-date,body.sub .blog-detail-meta{font-family:var(--s-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--s-gold-dk)}
body.sub .blog-empty-state{padding:80px 20px;text-align:center;color:var(--s-muted);border:1px dashed var(--s-line);margin:56px 0;background:var(--s-card)}
body.sub .blog-empty-state i{color:var(--s-gold-dk);font-size:2.4rem;margin-bottom:14px}
body.sub .blog-detail-article{max-width:820px;margin:0 auto;padding:130px 20px 60px}
body.sub .blog-detail-article h1{font-size:clamp(1.9rem,4vw,3rem);letter-spacing:-.04em;line-height:1.08;margin:12px 0 22px;text-align:left}
body.sub .blog-detail-cover{width:100%;border-radius:2px;margin-bottom:30px;border-bottom:3px solid var(--s-gold)}
body.sub .blog-detail-body{font-size:1.05rem;line-height:1.8;color:var(--s-text)}
body.sub .blog-detail-body h2,body.sub .blog-detail-body h3{margin:32px 0 12px}
body.sub .blog-detail-body a{color:var(--s-gold-dk);text-decoration:underline}
body.sub .blog-detail-body img{max-width:100%;border-radius:2px}
body.sub .blog-detail-body blockquote{border-left:4px solid var(--s-gold);padding:6px 0 6px 18px;margin:22px 0;color:var(--s-muted);font-style:normal}
body.sub .blog-back-link{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--s-ink);text-decoration:none;border-bottom:2px solid var(--s-gold)}
body.sub .related-services-section{background:var(--s-bone);padding:56px 0}
body.sub .related-services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
body.sub .related-service-card{display:flex;align-items:center;gap:14px;padding:18px 20px;font-weight:700;color:var(--s-ink);text-decoration:none}
body.sub .related-service-card i{color:var(--s-gold-dk)}
/* ===== Legal ===== */
body.sub .legal-page{padding:140px 20px 80px;background:var(--s-paper)}
body.sub .legal-inner{max-width:820px;margin:0 auto;background:var(--s-card);border:1px solid var(--s-line);border-top:4px solid var(--s-gold);padding:clamp(24px,5vw,52px)}
body.sub .legal-inner h1{font-size:clamp(1.9rem,4vw,2.8rem);margin-bottom:28px;padding-bottom:18px;border-bottom:2px solid var(--s-ink)}
body.sub .legal-inner h2{font-size:1.1rem;font-family:var(--s-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--s-gold-dk);margin:30px 0 10px}
body.sub .legal-inner p{line-height:1.75;color:var(--s-text)}
body.sub .legal-back{display:inline-flex;align-items:center;gap:8px;margin-top:24px;font-weight:700;color:var(--s-ink)!important;border-bottom:2px solid var(--s-gold);text-decoration:none}
/* ===== Referenzen-Vorschau ===== */
body.ref-preview{font-family:var(--s-sans)!important;background:var(--s-paper)!important;color:var(--s-text)}
body.ref-preview .preview-banner{background:var(--s-gold);color:var(--s-ink);font-family:var(--s-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}
body.ref-preview .context-block{text-align:left;max-width:1100px;border-bottom:2px solid var(--s-ink);padding-bottom:22px}
body.ref-preview .context-block h2{font-family:var(--s-sans);font-size:clamp(1.8rem,4vw,3rem);font-weight:800;color:var(--s-ink);letter-spacing:-.04em;text-transform:none;margin-bottom:8px}
body.ref-preview .context-block p{color:var(--s-muted);font-size:1rem}
body.ref-preview .demo-page-section h3{font-family:var(--s-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--s-gold-dk);font-weight:500}
body.ref-preview .variant-box{border-radius:2px;border:1px solid var(--s-line);background:var(--s-card)}
body.ref-preview .variant-box.dark{background:var(--s-ink)}
body.ref-preview .variant-label{font-family:var(--s-mono);color:var(--s-muted)}
body.ref-preview .variant-box.dark .variant-label{color:rgba(241,235,223,.5)}
body.ref-preview .footer-note{color:var(--s-muted)}
body.ref-preview .referenzen-text-logo{font-family:var(--s-sans);font-weight:700}
@media(max-width:991px){body.sub .benefits-grid{grid-template-columns:1fr 1fr}body.sub .blog-list-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){body.sub .benefits-grid,body.sub .blog-list-grid{grid-template-columns:1fr}body.sub .blog-page-header{padding:110px 0 44px}body.sub .job-posting-card{flex-direction:column}body.sub .blog-detail-article{padding-top:100px}}
body.sub.dark-mode .legal-inner,body.sub.dark-mode .benefit-item,body.sub.dark-mode .job-posting-card{background:var(--s-card)}
body.sub.dark-mode .blog-page-header{background:#0a1524}
body.sub.dark-mode .benefit-item>i,body.sub.dark-mode .job-icon{background:#0a1524}
body.sub.dark-mode .legal-inner h1,body.sub.dark-mode .legal-back{border-color:var(--s-gold)}
body.sub.dark-mode .faq-section,body.sub.dark-mode .benefits-section{background:#14243a!important}
body.sub.dark-mode .btn-outline-light:hover{color:#0a1524}
body.sub .legal-inner h4{font-size:1.05rem;margin:28px 0 10px}
