/* HF14 / Rueckhalt. Progressive, additive rules only. Graphite #353536, aqua #8fcec9. */
:root{--vc14-ink:#353536;--vc14-aqua:#8fcec9;--vc14-paper:#f0f4f1;--vc14-line:#d2dfd9}
.site-header nav{gap:clamp(10px,1.1vw,19px)}
.site-header nav a{font-size:clamp(10px,.88vw,13px);white-space:nowrap}
@media(min-width:981px) and (max-width:1300px){.site-header .brand{width:clamp(160px,17vw,225px)}.site-header nav{gap:9px}.site-header nav a{font-size:10px}}
/* Six image slides, without a giant credit band or overlay. Disclosure remains readable. */
.hf5-website .hf5-home-hero .hf5-hero-credit{z-index:4!important;right:17px;bottom:12px;margin:0!important;font:400 9px/1.35 var(--body,Arial,sans-serif)!important;letter-spacing:0;max-width:230px;padding:4px 7px!important;background:rgba(25,29,28,.68)!important;color:#f4f8f7!important;text-align:right}
.hf5-website .hf5-home-hero .hf7-hero-controls{z-index:5}
/* Individual topic labels for the six local images, without changing the central brand promise. */
.hf7-hero-media .vc14-hero-topic{position:absolute;right:20px;top:19px;z-index:2;background:rgba(31,40,37,.8);color:#e0f2ec;padding:7px 10px;font:650 10px/1.3 var(--body,Arial,sans-serif);letter-spacing:.1em;max-width:35ch;text-align:right;pointer-events:none}
/* Above-fold, first-choice route finder: one calm component, not many competing buttons. */
.vc14-discovery{margin-block:clamp(32px,5vw,75px);padding:clamp(24px,3.2vw,44px);background:#eef4f1;border-left:5px solid var(--vc14-aqua);display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(20px,4vw,65px)}
.vc14-discovery .eyebrow,.vc14-services .eyebrow,.vc14-page .eyebrow{letter-spacing:.09em}
.vc14-discovery h2,.vc14-services h2,.vc14-page h2{font:600 clamp(29px,3.2vw,48px)/1.08 var(--display,Arial,sans-serif);margin:10px 0 16px}
.vc14-discovery p{font-size:15px;line-height:1.7;max-width:46ch}
.vc14-discovery-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}
.vc14-discovery-actions>a{padding:19px 20px;background:white;border:1px solid var(--vc14-line);display:flex;flex-direction:column;gap:12px;color:var(--vc14-ink);text-decoration:none;min-width:0}
.vc14-discovery-actions>a:hover,.vc14-service-grid a:hover{border-color:#317d75;background:#e8f4f0}
.vc14-discovery-actions>a strong{font:600 clamp(21px,2.1vw,31px)/1.05 var(--display,Arial,sans-serif)}
.vc14-discovery-actions>a span{font-size:12px;font-weight:600;color:#326c67}
.vc14-discovery-actions form{grid-column:1/-1;border:1px solid #b5cbc1;background:#fff;padding:16px 20px}
.vc14-discovery-actions label{display:block;font-size:12px;font-weight:700;margin:0 0 7px}
.vc14-discovery-actions form>div{display:flex;gap:8px}
.vc14-discovery-actions input{flex:1;min-width:0;padding:13px 14px;font-size:16px;border:1px solid #93b2a6;border-radius:0;background:white;color:var(--vc14-ink)}
.vc14-discovery-actions button{cursor:pointer;border:0;background:var(--vc14-ink);color:white;padding:13px 18px;font-weight:700;font-size:12px;white-space:nowrap}
.vc14-discovery-actions button:hover{background:#276963}
.vc14-discovery-actions small{display:block;font-size:11px;line-height:1.55;margin-top:7px;color:#53665f}
.vc14-services{padding-block:clamp(46px,6vw,90px)}
.vc14-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:25px;align-items:end;margin-bottom:30px}
.vc14-heading>p{max-width:55ch;font-size:15px;line-height:1.8}
.vc14-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.vc14-service-grid a{display:flex;flex-direction:column;min-width:0;background:#f1f5f2;padding:clamp(20px,2.3vw,32px);border-bottom:4px solid var(--vc14-aqua);border-top:1px solid var(--vc14-line);text-decoration:none;color:var(--vc14-ink);min-height:240px;transition:background .15s ease,border-color .15s ease}
.vc14-service-grid h3{font:600 clamp(23px,2.2vw,33px)/1.1 var(--display,Arial,sans-serif);margin:12px 0}
.vc14-service-grid p{font-size:14px;line-height:1.65;margin-bottom:20px}
.vc14-service-grid a>span:last-child{color:#256c65;font-size:12px;font-weight:600;margin-top:auto}
/* Contact: repeated on service/knowledge pages as one inline CTA; no floating privacy-invasive widgets. */
.vc14-contact-panel{background:#353536;color:#fff;padding-block:clamp(42px,5vw,74px);border-top:6px solid #8fcec9}
.vc14-contact-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);gap:clamp(28px,5vw,80px);align-items:center}
.vc14-contact-inner .eyebrow{color:#8fcec9;font-size:10px;margin:0 0 16px}
.vc14-contact-inner h2{color:#fff;font:600 clamp(32px,4vw,57px)/1.03 var(--display,Arial,sans-serif);margin:0 0 15px}
.vc14-contact-inner p{color:#e0e6e3;font-size:16px;max-width:57ch;line-height:1.65}
.vc14-contact-actions{display:flex;flex-wrap:wrap;gap:13px;align-items:center}
.vc14-contact-actions .button{display:inline-flex;justify-content:center;align-items:center;min-height:53px;text-align:center;font-size:13px}
.vc14-contact-actions .button.outline{border:1px solid #8fcec9;color:white}
.vc14-contact-actions small{display:block;flex-basis:100%;font-size:11px;color:#d3e1dc;line-height:1.5}
/* Editorial topic pages */
.vc14-page{color:var(--vc14-ink)}
.vc14-service-hero{padding-block:clamp(34px,5vw,75px)}
.vc14-service-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);gap:clamp(25px,5vw,70px);align-items:center}
.vc14-service-hero .display{font-size:clamp(42px,5vw,76px);line-height:1.02;overflow-wrap:break-word;hyphens:auto;max-width:16ch}
.vc14-service-hero .lead{line-height:1.65;font-size:clamp(17px,1.55vw,21px);max-width:54ch;margin-bottom:28px}
.vc14-service-hero figure,.vc14-jobs-hero figure{margin:0;position:relative;border-right:18px solid #8fcec9;border-bottom:18px solid #8fcec9;background:#e9f2ed}
.vc14-service-hero figure img,.vc14-jobs-hero figure img{display:block;aspect-ratio:1.43;width:100%;height:auto;object-fit:cover}
.vc14-service-hero figcaption,.vc14-jobs-hero figcaption{font-size:10px;line-height:1.4;color:#3f534c;padding:9px 11px;background:#eff5f1}
.vc14-opening{padding-block:clamp(35px,5vw,74px);border-top:1px solid var(--vc14-line);display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:clamp(25px,6vw,90px)}
.vc14-opening h2{font-size:clamp(31px,3.1vw,48px);max-width:18ch}
.vc14-opening>p{font-size:clamp(17px,1.4vw,20px);line-height:1.8;max-width:75ch}
.vc14-detail{padding-block:clamp(45px,6vw,95px)}
.vc14-point-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 22px;border-top:1px solid var(--vc14-line)}
.vc14-point-grid article{border-bottom:1px solid var(--vc14-line);padding:25px 0 30px}
.vc14-point-grid article>span{font-size:12px;font-weight:700;color:#2b7d78}
.vc14-point-grid h3{font:600 clamp(21px,2.1vw,30px)/1.1 var(--display,Arial,sans-serif);margin:14px 0}
.vc14-point-grid p{font-size:15px;line-height:1.72;max-width:52ch}
.vc14-next-step{background:#28322e;color:#fff;padding-block:clamp(43px,5vw,75px)}
.vc14-next-step>.wrap{max-width:1100px}
.vc14-next-step .eyebrow{color:#8fcec9}
.vc14-next-step h2{color:white;max-width:19ch;font-size:clamp(35px,4.3vw,60px)}
.vc14-next-step p{color:#e4eeea;max-width:75ch;font-size:16px;line-height:1.8;margin:20px 0}
.vc14-questions{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(30px,6vw,80px);padding-block:clamp(48px,6vw,95px)}
.vc14-faq details{border-bottom:1px solid #c9d8d1;padding:18px 0}
.vc14-faq details:first-child{border-top:1px solid #c9d8d1}
.vc14-faq summary{font-weight:650;font-size:18px;line-height:1.45;cursor:pointer}
.vc14-faq p{font-size:15px;line-height:1.75;max-width:62ch}
.vc14-related{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:clamp(44px,5vw,70px)}
.vc14-related .eyebrow{flex-basis:100%;margin-bottom:3px}
.vc14-related a{padding:12px 16px;border:1px solid #b9cec6;color:#234f49;font-size:13px;font-weight:650;text-decoration:none}
.vc14-related a:hover{background:#e7f3ef}
.vc14-jobs-hero{padding-block:clamp(46px,6vw,95px)}
.vc14-jobs-hero .display{font-size:clamp(42px,5.1vw,80px);line-height:1.03}
.vc14-jobs-hero>.lead{max-width:82ch;line-height:1.7}
.vc14-jobs-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(25px,5vw,75px);margin-top:clamp(30px,4vw,60px);align-items:center}
.vc14-jobs-hero-grid p{font-size:16px;line-height:1.8}
.vc14-legal-note{font-size:12px!important;color:#587269}
/* Rhythm: quieter lower homepage sections and a deliberate shop signal. */
.hf4-home .hf6-home-responsibility{border-top:1px solid var(--vc14-line);padding-block:clamp(55px,6vw,90px)}
.hf4-home .hf6-consult{margin-block:clamp(35px,4vw,65px);border-left:5px solid var(--vc14-aqua)}
.hf4-home .vc-knowledge-teaser{padding-block:clamp(55px,6vw,90px);border-top:1px solid var(--vc14-line)}
.hf4-home .hf4-shop-strip{border-top:4px solid #8fcec9}
/* Shop slider: stronger contrast and editorial hierarchy, no neon/sales aesthetics. */
.shop-body .commerce-hero{background:#202b27}
.shop-body .commerce-copy h1{letter-spacing:-.025em;text-wrap:balance}
.shop-body .commerce-copy .campaign-actions .button{border-bottom:4px solid #8fcec9}
.shop-body .vc-slider .vc-campaign-copy>.eyebrow{font-size:12px;letter-spacing:.12em}
.shop-body .vc-slider .vc-campaign-copy .display{font-size:clamp(60px,6vw,110px);line-height:.95;max-width:13ch;text-wrap:balance}
.shop-body .vc-slider .vc-campaign-art{border-bottom-width:27px;border-right-width:27px}
.shop-body .vc-slider-controls{border-top:2px solid #8fcec9}
:where(.vc14-page,.vc14-discovery,.vc14-services,.vc14-contact-panel) :focus-visible{outline:3px solid #2a8178;outline-offset:3px}
@media(max-width:980px){.vc14-discovery,.vc14-opening,.vc14-questions,.vc14-contact-inner{grid-template-columns:1fr}.vc14-service-grid,.vc14-point-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vc14-service-hero-grid{grid-template-columns:1fr 1fr}.vc14-heading{grid-template-columns:1fr}}
@media(max-width:680px){.hf7-hero-media .vc14-hero-topic{top:10px;right:10px;font-size:8px;max-width:26ch;padding:5px 7px}.hf5-website .hf5-home-hero .hf5-hero-credit{order:3;position:static!important;text-align:left;max-width:none;width:100%;padding:6px 12px!important;font-size:9px!important;background:#29312e!important}.vc14-discovery{padding:21px 18px;margin-block:27px}.vc14-discovery-actions{grid-template-columns:1fr}.vc14-discovery-actions form{grid-column:1}.vc14-discovery-actions form>div{flex-direction:column}.vc14-discovery-actions button{min-height:48px}.vc14-services{padding-block:44px}.vc14-service-grid,.vc14-point-grid,.vc14-service-hero-grid,.vc14-jobs-hero-grid{grid-template-columns:1fr}.vc14-service-grid a{min-height:0;padding:22px}.vc14-contact-actions{flex-direction:column;align-items:stretch}.vc14-contact-actions .button{width:100%}.vc14-contact-actions small{margin-top:4px}.vc14-service-hero .display{font-size:clamp(39px,11vw,59px)}.vc14-service-hero figure,.vc14-jobs-hero figure{border-right-width:12px;border-bottom-width:12px}.vc14-opening{padding-block:40px}.vc14-point-grid article{padding:20px 0}.vc14-questions{padding-block:45px}.vc14-jobs-hero .display{font-size:clamp(38px,9vw,58px)}.shop-body .vc-slider .vc-campaign-copy .display{font-size:clamp(41px,10vw,61px)}.shop-body .vc-slider .vc-campaign-art{border-width:14px}}
@media(prefers-reduced-motion:reduce){.vc14-service-grid a{transition:none}}
