/* HYDRO-CLIM: existing brand, native CSS. Variance 6, motion 4, density 4.
   Layers: page 0, navigation 50, native dialog top layer. */
.hc-process h2::after { display:none; }
.hc-hero[style]::before { background-image:linear-gradient(90deg,rgba(6,25,41,.97),rgba(6,25,41,.82) 43%,rgba(6,25,41,.08) 78%),var(--home-hero-image); }
.hc-nav a[aria-current="page"] { opacity:1; }
.hc-nav a[aria-current="page"]::after { transform:scaleX(1); }
.hc-services-menu__panel a { opacity:1!important; }
.hc-services-menu__panel a:focus-visible { outline:3px solid #56c7f4; outline-offset:2px; }
.hc-services-menu:not([open]) .hc-services-menu__panel { display:none; }
.hc-brands { padding:28px 32px; background:#f0f5f9; border:0; border-radius:12px; }
.hc-brands p { word-spacing:12px; text-wrap:pretty; }
.hc-contact-data__grid>* { min-height:132px; justify-content:center; }
.hc-contact-data__grid small { color:#2861a3; }
.hc-assurance--designed { background:#edf4fa; }
.hc-assurance--designed .hc-assurance__top { max-width:100%; text-align:left; }
.hc-assurance--designed .hc-assurance__top h2 { max-width:920px; text-wrap:balance; }
.hc-assurance--designed .hc-assurance-grid { width:100%; display:grid; grid-template-columns:1.05fr 1fr; gap:0 48px; margin:48px 0 0; }
.hc-assurance--designed .hc-assurance-grid article { position:relative; min-height:0; padding:30px 0; border:0; border-radius:0; background:transparent; justify-content:center; overflow:visible; }
.hc-assurance--designed .hc-assurance-grid .hc-assurance__feature { grid-row:1 / span 3; align-self:stretch; min-height:350px; padding:44px; border-radius:16px; overflow:hidden; background:#10284b; box-shadow:0 18px 40px #10284b12; }
.hc-landing--hydraulika .hc-assurance--designed .hc-assurance-grid .hc-assurance__feature { grid-row:1 / span 2; }
.hc-assurance--designed .hc-assurance-grid .hc-assurance__detail { border-bottom:1px solid #c6d6e3; padding-left:26px; }
.hc-assurance__detail::before { content:""; position:absolute; left:0; top:38px; width:4px; height:25px; border-radius:2px; background:#2468d8; }
.hc-assurance--designed .hc-assurance-grid h3 { position:relative; margin:0 0 12px; color:#10284b; font-size:26px; line-height:1.2; }
.hc-assurance--designed .hc-assurance-grid p { position:relative; max-width:44ch; color:#526674; font-size:16px; line-height:1.65; }
.hc-assurance--designed .hc-assurance__feature h3 { color:#fff; font-size:38px; }
.hc-assurance--designed .hc-assurance__feature p { color:#c3d7e7; }
.hc-assurance--designed .hc-assurance__year { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
.hc-assurance__year span { font-size:20px; font-weight:500; }
.hc-assurance__year strong { font-size:clamp(76px,9vw,120px); line-height:1; letter-spacing:-.06em; font-variant-numeric:tabular-nums; }
.hc-assurance__graphic { position:absolute; right:-120px; top:-75px; width:350px; height:350px; pointer-events:none; }
.hc-assurance__graphic span { position:absolute; inset:0; border:1px solid #56c7f447; border-radius:50%; }
.hc-assurance__graphic span:nth-child(2) { inset:34px; border-width:22px; border-color:#56c7f40b; }
.hc-assurance__graphic span:nth-child(3) { inset:90px; border-color:#56c7f45c; }
@media (prefers-reduced-motion:no-preference) {
 .hc-assurance__feature.is-visible .hc-assurance__graphic { animation:hcAssuranceEnter 1.6s ease-out both; }
 .hc-assurance__detail { transition:transform .25s; }
 .hc-assurance__detail:hover { transform:translateX(5px); }
}
@keyframes hcAssuranceEnter { from {opacity:0;transform:scale(.7) translate(30px,-20px)} to {opacity:1;transform:none} }
.hc-reviews { background:#f5f8fb; }
.hc-reviews__layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; align-items:start; }
.hc-reviews__intro h2 { font-size:clamp(38px,4.5vw,62px); }
.hc-reviews__intro>p { max-width:40ch; margin:26px 0; color:#526674; font-size:17px; line-height:1.65; }
.hc-reviews__rating { display:flex; align-items:center; gap:22px; margin:32px 0; }
.hc-reviews__rating>strong { color:#10284b; font-size:62px; line-height:1; letter-spacing:-.055em; font-variant-numeric:tabular-nums; }
.hc-reviews__rating>strong>span { font-size:22px; color:#587086; font-weight:500; }
.hc-reviews__rating b,.hc-reviews__rating small { display:block; font-size:14px; color:#10284b; }
.hc-reviews__rating small { margin-top:6px; font-size:12px; color:#526674; }
.hc-text-link { display:inline-block; color:#1458b5; font-size:14px; font-weight:700; text-underline-offset:5px; }
.hc-review { margin:0; padding:26px 0 30px; border-top:1px solid #c7d6e3; }
.hc-review blockquote { margin:0 0 22px; }
.hc-review blockquote p { margin:0; color:#10284b; font-size:clamp(22px,2vw,28px); line-height:1.45; letter-spacing:-.02em; }
.hc-review figcaption { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; font-size:12px; color:#526674; }
.hc-review figcaption strong { color:#10284b; font-size:14px; }
.hc-review figcaption a { margin-left:auto; color:#1458b5; text-underline-offset:3px; }
.hc-projects { background:#fff; }
.hc-projects h2 { max-width:850px; }
.hc-projects__grid { display:grid; grid-template-columns:1.15fr 1fr; gap:32px 24px; margin-top:44px; }
.hc-project { min-width:0; margin:0; }
.hc-project__image { position:relative; display:block; overflow:hidden; border-radius:12px; background:#e3edf4; }
.hc-project img { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; transition:transform .4s; }
.hc-project__image:hover img { transform:scale(1.035); }
.hc-project figcaption { padding:14px 0 0; color:#10284b; font-size:16px; font-weight:650; }
.hc-project__zoom { position:absolute; right:14px; bottom:14px; display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#fff; color:#10284b; font-size:25px; }
.hc-projects__more { margin-top:32px; }
.hc-projects__more summary { width:fit-content; cursor:pointer; color:#1458b5; font-size:15px; font-weight:700; padding:12px 0; list-style:none; border-bottom:1px solid #9ab7d6; }
.hc-projects__more summary::-webkit-details-marker { display:none; }
.hc-projects__more summary span { margin-left:20px; }
.hc-projects__more[open] summary span { display:inline-block; transform:rotate(45deg); }
.hc-lightbox { width:min(1100px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:20px; border:0; border-radius:14px; background:#071c2d; color:#fff; }
.hc-lightbox::backdrop { background:#031422e8; }
.hc-lightbox>img { display:block; max-width:100%; max-height:65dvh; margin:auto; object-fit:contain; }
.hc-lightbox button { min-height:44px; border:1px solid #7895ab; padding:9px 16px; border-radius:8px; background:transparent; color:#fff; font:inherit; cursor:pointer; }
.hc-lightbox__close { display:block; margin:0 0 16px auto; }
.hc-lightbox__caption { font-size:16px; }
.hc-lightbox__controls { display:flex; justify-content:space-between; gap:12px; }
body:has(.hc-lightbox[open]) { overflow:hidden; }
:where(a,button,summary):focus-visible { outline:3px solid #2468d8; outline-offset:4px; }
@media(max-width:900px) {
 .hc-service-hero h1 br { display:initial; }
 .hc-services-menu__panel { position:absolute; top:100%; right:0; left:auto; width:min(780px,calc(100vw - 28px)); max-height:calc(100dvh - 100px); grid-template-columns:1fr; }
 .hc-header__inner { position:relative; }
 .hc-services-menu { position:static; }
 .hc-nav .hc-services-menu__panel>a { display:flex; flex:none; min-height:104px; }
 .hc-reviews__layout { grid-template-columns:1fr; gap:40px; }
 .hc-assurance--designed .hc-assurance-grid { gap:0 28px; }
 .hc-assurance--designed .hc-assurance-grid .hc-assurance__feature { padding:30px; }
}
@media(max-width:767px) {
 .hc-trust-item { min-height:0; padding:30px 32px; border-radius:12px; }
 .hc-trust-item h3 { margin-top:0; }
 .hc-stats { margin-top:36px; }
 .hc-stat { min-height:0; padding:30px 24px; border-right:0; }
 .hc-stat+.hc-stat { border-top:1px solid #b8ccd9; }
 .hc-stat__number { font-size:76px; }
 .hc-stat h3 { margin-top:18px; }
 .hc-proof { min-height:0; }
 .hc-contact-hero h1 .hc-nowrap { white-space:nowrap; }
 .hc-contact-hero h1 { font-size:clamp(36px,10.5vw,47px); }
 .hc-assurance--designed .hc-assurance-grid { grid-template-columns:1fr!important; gap:0; margin-top:32px; }
 .hc-assurance--designed .hc-assurance-grid .hc-assurance__feature { grid-row:auto; min-height:280px; padding:30px; margin-bottom:16px; }
 .hc-assurance--designed .hc-assurance__top,.hc-assurance--designed .hc-assurance__top h2 { text-align:left; }
 .hc-assurance--designed .hc-assurance-grid h3 { font-size:24px; }
 .hc-assurance--designed .hc-assurance-grid p { font-size:15px; }
 .hc-assurance--designed .hc-assurance-grid .hc-assurance__detail { padding:25px 0 25px 22px; }
 .hc-assurance__detail::before { top:29px; }
 .hc-assurance__year strong { font-size:92px; }
 .hc-projects__grid { grid-template-columns:1fr; gap:28px; margin-top:32px; }
 .hc-projects .hc-intro { font-size:16px; }
 .hc-reviews__intro>p { font-size:16px; }
 .hc-reviews__rating { gap:18px; }
 .hc-reviews__rating>strong { font-size:56px; }
 .hc-review blockquote p { font-size:23px; }
 .hc-brands { padding:26px 32px; }
 .hc-brands p { font-size:16px; word-spacing:10px; }
 .hc-nav > a,.hc-services-menu summary { min-height:44px; }
 .hc-lightbox { padding:14px; }
 .hc-lightbox button { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
 .hc-reveal { opacity:1; transform:none; }
}

/* Privacy policy */
.hc-privacy { background:#f5f9fc; }
.hc-privacy__hero { padding:150px 0 82px; color:#fff; background:linear-gradient(125deg,#071b33 0%,#0b3158 68%,#0b67b2 140%); }
.hc-privacy__hero .hc-local { color:#8edcff; }
.hc-privacy__hero h1 { max-width:900px; margin:24px 0 0; color:#fff; font-size:clamp(48px,7vw,88px); line-height:.98; letter-spacing:-.055em; }
.hc-privacy__summary { max-width:760px; margin:30px 0 0; color:#c8d9e7; font-size:19px; line-height:1.7; }
.hc-privacy__layout { display:grid; grid-template-columns:270px minmax(0,760px); justify-content:space-between; gap:80px; padding-top:80px; padding-bottom:110px; }
.hc-privacy__aside { position:sticky; top:110px; align-self:start; padding:26px; border:1px solid #c9d9e5; background:#fff; }
.hc-privacy__aside span { display:block; color:#617689; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.hc-privacy__aside strong { display:block; margin-top:8px; color:#0a2238; font-size:19px; }
.hc-privacy__aside p { margin:22px 0 0; color:#526674; font-size:14px; line-height:1.65; }
.hc-privacy__settings { width:100%; margin-top:24px; padding:13px 16px; border:1px solid #0b67b2; border-radius:999px; color:#0b67b2; background:#fff; font:inherit; font-size:13px; font-weight:800; cursor:pointer; transition:color .2s,background .2s; }
.hc-privacy__settings:hover,.hc-privacy__settings:focus-visible { color:#fff; background:#0b67b2; }
.hc-privacy__content { color:#304a5d; font-size:17px; line-height:1.78; }
.hc-privacy__content h2 { margin:64px 0 18px; padding-top:10px; color:#0a2238; font-size:clamp(30px,4vw,44px); line-height:1.08; letter-spacing:-.035em; }
.hc-privacy__content h2:first-child { margin-top:0; }
.hc-privacy__content h3 { margin:34px 0 12px; color:#0a2238; font-size:22px; }
.hc-privacy__content p,.hc-privacy__content ul { margin:0 0 18px; }
.hc-privacy__content ul { padding-left:22px; }
.hc-privacy__content li+li { margin-top:9px; }
.hc-privacy__content a { color:#0b67b2; text-underline-offset:3px; }
.hc-privacy__content .hc-privacy-note { margin:32px 0; padding:24px 26px; border-left:4px solid #32a8d8; background:#e8f5fb; color:#173a53; }

/* CookieYes visual integration */
.cky-consent-container { width:min(520px,calc(100vw - 32px))!important; }
.cky-consent-container .cky-consent-bar { padding:28px!important; border:1px solid #bfd3e2!important; border-radius:18px!important; background:#fff!important; box-shadow:0 24px 70px rgba(7,27,51,.2)!important; }
.cky-notice .cky-title { color:#0a2238!important; font-size:22px!important; line-height:1.15!important; letter-spacing:-.02em!important; }
.cky-notice-des,.cky-notice-des * { color:#526674!important; font-size:14px!important; line-height:1.65!important; }
.cky-notice-des a.cky-policy { color:#0b67b2!important; border:0!important; }
.cky-notice-btn-wrapper { gap:9px!important; margin-top:22px!important; }
.cky-btn { min-height:44px!important; margin:0!important; padding:9px 15px!important; border-radius:999px!important; font-weight:800!important; }
.cky-btn-customize,.cky-btn-reject,.cky-btn-preferences { color:#0b67b2!important; border-color:#aac6da!important; background:#fff!important; }
.cky-btn-accept { color:#fff!important; border-color:#0b67b2!important; background:#0b67b2!important; }
.cky-btn:hover { opacity:1!important; transform:translateY(-1px); }
.cky-btn-revisit-wrapper { width:46px!important; height:46px!important; background:#0b67b2!important; box-shadow:0 8px 24px rgba(7,27,51,.2)!important; }
.cky-preference-center { border:1px solid #bfd3e2!important; border-radius:18px!important; }
.cky-preference-header { padding:24px 28px!important; }
.cky-preference-header .cky-preference-title { color:#0a2238!important; font-size:23px!important; }
.cky-preference-body-wrapper { padding:0 28px!important; }
.cky-accordion-header .cky-accordion-btn { color:#0a2238!important; }
.cky-accordion:not(#ckyDetailCategorynecessary) .cky-always-active { display:none!important; }
.cky-switch input[type="checkbox"]:checked { background:#0b67b2!important; }
@media(max-width:767px) {
 .hc-privacy__hero { padding:120px 0 62px; }
 .hc-privacy__hero h1 { font-size:clamp(43px,13vw,64px); }
 .hc-privacy__layout { grid-template-columns:1fr; gap:42px; padding-top:48px; padding-bottom:80px; }
 .hc-privacy__aside { position:static; }
 .hc-privacy__content { font-size:16px; }
 .hc-privacy__content h2 { margin-top:48px; }
 .cky-consent-container .cky-consent-bar { padding:24px!important; border-radius:16px 16px 0 0!important; }
 .cky-notice-btn-wrapper { flex-direction:column!important; padding:0!important; }
 .cky-notice-btn-wrapper .cky-btn { width:100%!important; order:initial!important; margin:0!important; }
}
