/* Bartenbach Clean: retained landing-page, privacy and shared shell rules. */
:root{--background:#f7f9fa;--foreground:#183349;--card:#fff;--card-foreground:#183349;--popover:#fff;--popover-foreground:#183349;--primary:#0f756d;--primary-foreground:#fff;--secondary:#e9f3f0;--secondary-foreground:#183349;--muted:#edf1f4;--muted-foreground:#596d7c;--accent:#edf5f2;--accent-foreground:#183349;--destructive:#b43838;--border:#dce5e9;--input:#cdd9df;--ring:#118477;--radius:.75rem;--sidebar:#183349;--sidebar-foreground:#fff;--sidebar-primary:#3ecab1;--sidebar-primary-foreground:#173247;--sidebar-accent:#27475e;--sidebar-accent-foreground:#fff;--sidebar-border:#3d5362;--sidebar-ring:#3ecab1}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--background);color:var(--foreground);font:16px/1.6 Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button,a,input,textarea{touch-action:manipulation}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.6}
:focus-visible{outline:3px solid #095f59;outline-offset:4px}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(2.5rem,5vw,4.4rem);letter-spacing:-.055em;line-height:1.08;font-weight:600}
h2{font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.035em;line-height:1.2;font-weight:600}
h3{font-size:1.25rem;font-weight:600;line-height:1.4}
p{color:#596d7c}
small{font-size:.85rem}
.wrap{max-width:1200px;margin:auto;padding:0 28px}
.nav{background:#fff;border-bottom:1px solid #e6ecee}
.navin{height:92px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:12px;font-size:1.18rem;letter-spacing:-.035em;line-height:1.2;font-weight:700;white-space:nowrap}
.brand small{display:block;font-size:.65rem;letter-spacing:.18em;font-weight:500;margin-top:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border-radius:7px;padding:12px 23px;background:#0f756d;color:#fff;font-size:.95rem;font-weight:600;border:1px solid #0f756d;text-align:center}
.btn:hover{background:#095f59}
.btn.secondary{background:white;color:#183349;border-color:#cdd9df}
.eyebrow{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:#0f756d;font-weight:700;display:flex;align-items:center;gap:8px;margin-bottom:20px}
.section{padding:76px 0}
.card{background:#fff;border:1px solid #dde6e9;border-radius:12px;padding:30px}
.faq{max-width:820px;margin:auto}
.faq details{border-bottom:1px solid #d6e2e5;padding:22px 0}
.faq summary{cursor:pointer;font-weight:600;display:flex;justify-content:space-between;gap:20px}
.faq summary:after{content:'+';font-size:1.25rem;color:#0f756d}
.faq details[open] summary:after{content:'−'}
.faq p{padding-top:15px;margin:0}
.footer{background:#fff;border-top:1px solid #e1e8eb;padding:36px 0}
.muted{color:#637687}
.link{color:#0f756d;text-decoration:underline;text-underline-offset:3px}
table{font-size:.88rem}
hr{border:0;border-top:1px solid #dce5e9;margin:25px 0}
@media(max-width:900px){.card{padding:23px}}
@media(max-width:650px){.wrap{padding:0 20px}
.navin{height:78px;gap:10px}
.brand{font-size:1rem}
.brand small{font-size:.52rem}
.section{padding:45px 0}}
.service-list{list-style:none;padding:0;margin:25px 0}
.service-list li{display:flex;gap:12px;margin:16px 0}
.service-list svg{flex-shrink:0;color:#0f756d;margin-top:4px}
@media(max-width:380px){.brand{font-size:.83rem;gap:7px}
.brand small{font-size:.44rem}
.navin{gap:7px}}
.footer-cookie-button{font:inherit;line-height:inherit;background:none;border:0;padding:0;color:inherit;text-align:left}
.footer-cookie-button:hover{color:#0f756d;text-decoration:underline}
.cookie-dialog{width:calc(100% - 32px);max-width:650px!important;max-height:85dvh;overflow-y:auto;padding:28px}
.cookie-dialog [data-slot=dialog-description]{font-size:1rem;line-height:1.6}
.cookie-dialog>.btn{margin-top:12px}
@media(max-width:650px){.cookie-dialog{padding:22px}}
.brandlogo{width:80px;height:80px;object-fit:contain;flex-shrink:0;border-radius:50%}
.navin{min-height:106px}
.brand{min-width:0}
@media(max-width:1150px){.brandlogo{width:66px;height:66px}
.brand small{font-size:.75rem}}
@media(max-width:760px){.brandlogo{width:58px;height:58px}
.navin{min-height:92px;gap:12px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.brand{gap:10px}}
@media(max-width:420px){.brand{font-size:1rem}}
.navin{height:auto}
.service-detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.service-detail-hero h1{font-size:clamp(2.3rem,4vw,3.35rem)}
.service-detail-hero .service-lead{font-size:1.15rem}
@media(max-width:900px){.service-detail-hero{gap:28px}}
@media(max-width:650px){.service-detail-hero{grid-template-columns:1fr}
.brand small{font-size:.6rem}
.service-detail-hero .btn{width:100%}}
img{max-width:100%}
.service-detail-hero>*{min-width:0}
h1,h2,h3{overflow-wrap:anywhere}
[data-slot=select-trigger]{font-size:1rem!important}
.btn{white-space:normal;overflow-wrap:anywhere}
[data-slot=alert-dialog-content]{max-height:85dvh;overflow-y:auto}
@media(max-width:1024px){.footer-cookie-button{display:inline-flex;align-items:center;min-height:44px}}
@media(max-width:900px){.service-detail-hero{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.redesigned-footer{background:#16364b;color:#f5f8fa;border-top:0;padding:52px 0 0}
.redesigned-footer p{color:#c7d7e1;font-size:.9rem;line-height:1.7}
.redesigned-footer a,.redesigned-footer .footer-cookie-button{color:#d7e5ed;overflow-wrap:anywhere;font-size:.9rem}
.redesigned-footer a:hover,.redesigned-footer .footer-cookie-button:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #365569;padding-top:20px;padding-bottom:22px}
.footer-bottom>small{color:#b9ccd8;font-size:.875rem}
.footer-bottom>nav{display:flex;gap:10px 22px;align-items:center;flex-wrap:wrap}
.footer-bottom a,.footer-bottom button{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:1050px){.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:600px){.redesigned-footer{padding-top:36px}
.footer-bottom>nav{gap:6px 18px}}
.nav{box-shadow:0 2px 10px #16364b04}
.navin{gap:24px;padding-top:12px;padding-bottom:12px}
.navlinks>a:not(.btn){min-height:44px;display:flex;align-items:center;font-size:1rem}
.navlinks>a:not(.btn):hover{text-decoration:underline;text-underline-offset:6px}
@media(max-width:650px){.brand small{font-size:.65rem;letter-spacing:.1em}}
@media(max-width:420px){.navin{gap:14px;padding-bottom:10px}}
.request-delete-button:hover:not(:disabled){background:#fff0f0!important;border-color:#a52727!important}
.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:#fff;color:#095f59;border:2px solid #095f59;border-radius:6px;padding:12px 18px;transform:translateY(-200%);font-weight:700}
.skip-link:focus{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.services-nav:not([open])>.services-submenu{display:none}
.nav{position:relative;z-index:100}
.navin{position:relative}
.blog-contact{background:#eef6f3;border:1px solid #c5ded7;padding:28px;border-radius:12px;margin:38px 0 30px}
.blog-contact h2{margin-top:0}
.blog-contact .btn{white-space:normal;text-align:center;line-height:1.5;margin-bottom:16px}
@media(max-width:760px){.blog-contact{padding:22px}
.blog-contact .btn{width:100%}}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.navin{max-width:1440px}
.navlinks>a:not(.btn){font-size:.9375rem}
@media(max-width:760px){.service-detail-hero{gap:24px}}
@media(max-width:650px){.navin{gap:12px}
.service-detail-hero h1{font-size:clamp(1.85rem,7.5vw,2.5rem);line-height:1.18;hyphens:auto;overflow-wrap:break-word}
.eyebrow{flex-wrap:wrap;overflow-wrap:anywhere;letter-spacing:.08em}}
@media(max-width:380px){.wrap{padding-left:16px;padding-right:16px}
.brand{font-size:.95rem;gap:9px}
.brand small{font-size:.58rem;letter-spacing:.08em}
.brandlogo{width:50px;height:50px}}
[hidden]{display:none!important}
.cookie-dialog{border:1px solid #b5cac3;border-radius:14px;background:#fff;color:#183349;box-shadow:0 10px 45px #17374435}
.cookie-dialog::backdrop{background:#132d3f88}
body{overflow-wrap:break-word}
.service-detail-hero .card{min-width:0}
.service-detail-hero .service-list{margin-bottom:0}
.service-detail-hero .service-list li svg{flex:0 0 19px}
@media(max-width:650px){.service-detail-hero .btn{width:100%}}
.brand-light{font-weight:400}
.landing-nav{height:auto;min-height:92px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.landing-links{display:flex;gap:24px;align-items:center;font-size:.9375rem}
.landing-links>a{min-height:44px;display:inline-flex;align-items:center}
.landing-links>a:hover{color:#095f59}
.landing-links>a.btn:hover{color:#fff}
.landing-main{padding-top:48px;padding-bottom:40px}
.landing-hero{align-items:start;padding:0 0 36px}
.landing-hero h1{font-size:clamp(2rem,4vw,3.6rem);overflow-wrap:break-word;hyphens:auto}
.landing-hero p{max-width:560px}
.landing-hero .card h2{font-size:1.8rem}
.landing-hero .service-list{margin-bottom:0}
.landing-hero .service-list li svg{flex:0 0 19px}
.landing-trust{color:#0f756d;font-size:.95rem;margin:22px 0 0}
.landing-assessment{max-width:860px;padding:8px 0 10px}
.landing-assessment h2,.landing-section>h2{font-size:1.8rem}
.landing-assessment p:last-child{font-size:.94rem}
.landing-section{padding:30px 0;border-top:1px solid #dce5e9;margin-top:20px;scroll-margin-top:20px}
.landing-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:0;margin:24px 0 0;list-style:none}
.landing-process h3{font-size:1.1rem;margin-bottom:10px}
.landing-process p{font-size:.94rem;margin:0}
.step-number{display:block;font-size:.85rem;color:#0f756d;border-bottom:1px solid #cbdedb;margin-bottom:16px;padding-bottom:12px}
.landing-regions{background:#edf5f2;border-radius:8px;padding:18px 22px}
.landing-regions summary{font-weight:600;cursor:pointer;min-height:32px}
.landing-regions p{margin:16px 0 0;max-width:1050px}
.landing-regions p:last-child{font-size:.9rem}
.landing-faq{max-width:none}
.landing-faq details{padding:18px 0}
.landing-faq p{max-width:850px}
.landing-request{scroll-margin-top:24px;margin:24px 0 0}
.landing-request .eyebrow{margin-bottom:14px}
.landing-request p{max-width:1000px}
.landing-request>.btn{margin-bottom:18px;white-space:normal}
.landing-request>.btn+p{font-size:.9rem}
.landing-contact-alternative{font-size:.94rem;margin-bottom:0!important}
.landing-footer{padding-top:28px}
.landing-footer-top{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.landing-footer-top p{font-size:.9rem;margin:12px 0 0}
.landing-footer-top a{overflow-wrap:anywhere;min-height:44px;display:inline-flex;align-items:center}
.landing-footer-top>div{min-width:0}
.landing-footer .footer-bottom{margin-top:24px}
.landing-cookie-dialog{width:min(760px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;overflow-y:auto;overscroll-behavior:contain;padding:30px}
.landing-cookie-dialog h2{font-size:1.7rem}
.landing-cookie-dialog h3{margin:22px 0 12px}
.landing-cookie-dialog button{margin:5px 10px 10px 0;white-space:normal}
.landing-cookie-dialog p{font-size:.95rem}
.landing-cookie-dialog::backdrop{background:#132d3f88}
.landing-footer .footer-bottom nav{gap:10px 20px}
.landing-footer .footer-bottom a,.landing-footer .footer-cookie-button{min-height:44px;display:inline-flex;align-items:center}
.landing-main [id]{scroll-margin-top:24px}
.landing-main>*{min-width:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:1050px){.landing-links{width:100%;justify-content:space-between;gap:14px}
.landing-nav{gap:14px}
.landing-hero{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:800px){.landing-hero{grid-template-columns:1fr}
.landing-hero h1{max-width:650px}
.landing-hero .card{max-width:none}
.landing-process{gap:20px}
.landing-main{padding-top:32px}}
@media(max-width:650px){.landing-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;font-size:.875rem}
.landing-links>a{justify-content:center;text-align:center}
.landing-links .btn{grid-column:1/-1;width:100%}
.landing-process{grid-template-columns:1fr;gap:22px}
.landing-process h3{margin-bottom:8px}
.step-number{margin-bottom:10px;padding-bottom:8px}
.landing-assessment h2,.landing-section>h2,.landing-hero .card h2{font-size:1.5rem}
.landing-request{padding:24px 20px}
.landing-request h2{font-size:1.65rem}
.landing-request .eyebrow{line-height:1.6}
.landing-request .btn{width:100%}
.landing-cookie-dialog{padding:22px 20px}
.landing-cookie-dialog h2{font-size:1.5rem}
.landing-footer-top{gap:12px}
.landing-footer .footer-bottom{align-items:flex-start}
.landing-footer .footer-bottom nav{flex-wrap:wrap}
.landing-regions{padding:16px 18px}
.landing-regions summary{line-height:1.6}
.landing-hero h1{font-size:clamp(1.9rem,8.5vw,2.6rem)}}
.sr24-consent-banner{background:#eaf2f0;border-bottom:1px solid #c8dbd5;padding:24px 0}
.sr24-consent-banner h2{font-size:1.5rem;margin-bottom:12px}
.sr24-consent-banner p{max-width:1000px;font-size:.94rem}
.sr24-consent-actions{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}
.sr24-consent-actions>.btn{flex:1 1 210px;max-width:300px;min-height:48px;background:#fff;border:1px solid #8ca9a2;color:#183349;margin:0}
.sr24-consent-actions>.btn:hover{background:#edf5f2;color:#183349}
.sr24-consent-links{margin-bottom:0}
.sr24-consent-links button{font:inherit;color:#0f756d;text-decoration:underline;border:0;background:none;padding:0;min-height:44px}
.sr24-privacy{padding-top:48px;padding-bottom:56px;max-width:980px}
.sr24-privacy h1{font-size:clamp(2rem,5vw,3.3rem);overflow-wrap:anywhere}
.sr24-privacy section{margin-top:32px}
.sr24-privacy h2{font-size:1.6rem}
.sr24-privacy p,.sr24-privacy a{overflow-wrap:anywhere}
.sr24-privacy code{font-size:.9em;overflow-wrap:anywhere}
.sr24-revoke{margin-top:4px!important}
.landing-cookie-dialog .sr24-consent-actions .btn{margin:0}
.sr24-privacy>section>button{white-space:normal}
.landing-cookie-dialog [data-consent-date]{font-size:.85rem}
@media(max-width:650px){.sr24-consent-banner{padding:20px 0}
.sr24-consent-actions{gap:10px}
.sr24-consent-actions>.btn{max-width:none;flex-basis:100%}
.sr24-privacy{padding-top:30px}
.sr24-privacy h2{font-size:1.4rem}}
