:root {
  --hh-navy: #10385f;
  --hh-navy-dark: #082745;
  --hh-navy-deep: #061d35;
  --hh-blue: #1d4f7f;
  --hh-orange: #ff7a00;
  --hh-orange-dark: #e96e00;
  --hh-text: #24374a;
  --hh-muted: #6b7b8c;
  --hh-line: #e5ebf1;
  --hh-soft: #f6f8fb;
  --hh-white: #fff;
  --hh-radius: 16px;
  --hh-shadow: 0 14px 40px rgba(10, 47, 80, .10);
  --hh-container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html.hh-no-scroll { overflow: hidden; }
body.hidrohas-modern {
  margin: 0;
  color: var(--hh-text);
  background: #fff;
  font-family: 'Ubuntu', Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.hidrohas-modern button,
body.hidrohas-modern input,
body.hidrohas-modern textarea,
body.hidrohas-modern select,
body.hidrohas-modern .tp-caption,
body.hidrohas-modern .tp-caption * {
  font-family: 'Ubuntu', Arial, sans-serif !important;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.hh-container { width: min(var(--hh-container), calc(100% - 48px)); margin-inline: auto; }
.screen-reader-text, .hh-skip-link { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.hh-skip-link:focus { width: auto; height: auto; clip: auto; z-index: 99999; top: 10px; left: 10px; padding: 10px 14px; background: #fff; color: var(--hh-navy); }

.hh-topbar { background: var(--hh-navy-dark); color: #fff; font-size: 12px; }
.hh-topbar-inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; }
.hh-topbar-group { display: flex; gap: 26px; align-items: center; flex-wrap: wrap; }
.hh-topbar a { color: #fff; }

.hh-header { position: sticky; top: 0; z-index: 9990; background: rgba(255,255,255,.98); border-bottom: 1px solid rgba(9, 44, 77, .08); transition: box-shadow .2s ease; }
.hh-header.is-scrolled { box-shadow: 0 8px 30px rgba(8,39,69,.12); }
.hh-header-inner { min-height: 92px; display: flex; align-items: center; gap: 42px; }
.hh-brand { display: flex; align-items: center; width: 245px; min-width: 180px; align-self: stretch; }
.hh-brand img { width: 210px; max-height: 105px; object-fit: contain; object-position: left center; }
.hh-nav { margin-left: auto; min-width: 0; }
.hh-menu, .hh-menu ul { list-style: none; margin: 0; padding: 0; }
.hh-menu { display: flex; align-items: center; gap: 4px; }
.hh-menu > li { position: relative; }
.hh-menu > li > a { display: flex; align-items: center; gap: 8px; min-height: 92px; padding: 0 18px; color: #1f2f40; font-weight: 600; font-size: 14px; position: relative; white-space: nowrap; }
.hh-menu > li > a::after { content: ''; position: absolute; left: 18px; right: 18px; bottom: 0; height: 3px; border-radius: 3px; background: var(--hh-orange); transform: scaleX(0); transition: transform .2s ease; }
.hh-menu > li:hover > a::after, .hh-menu > li.current-menu-item > a::after, .hh-menu > li.current-menu-ancestor > a::after { transform: scaleX(1); }
.hh-menu .menu-item-has-children > a::before { content: '⌄'; order: 2; font-size: 12px; color: var(--hh-navy); }
.hh-menu .sub-menu { position: absolute; top: calc(100% - 1px); left: 0; min-width: 260px; background: var(--hh-navy); box-shadow: 0 18px 40px rgba(5,32,58,.22); border-radius: 0 0 10px 10px; opacity: 0; visibility: hidden; transform: translateY(8px); transition: .18s ease; z-index: 50; }
.hh-menu .sub-menu .sub-menu { top: 0; left: 100%; border-radius: 0 10px 10px 10px; transform: translateX(8px); }
.hh-menu li:hover > .sub-menu, .hh-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translate(0); }
.hh-menu .sub-menu li { position: relative; border-bottom: 1px solid rgba(255,255,255,.09); }
.hh-menu .sub-menu li:last-child { border-bottom: 0; }
.hh-menu .sub-menu a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 15px; color: #fff; font-size: 13px; font-weight: 500; line-height: 1.35; min-height: 46px; }
.hh-menu .sub-menu a:hover { background: rgba(255,255,255,.08); }
.hh-menu .sub-menu .menu-item-has-children > a::before { content: '›'; order: 2; color: rgba(255,255,255,.9); }
.hh-menu-toggle { display: none; width: 44px; height: 44px; border: 0; border-radius: 10px; background: var(--hh-navy); padding: 10px; }
.hh-menu-toggle span:not(.screen-reader-text) { display: block; height: 2px; background: #fff; margin: 5px 0; }

.hh-slider-wrap { overflow: hidden; background: #102f51; }
.hh-slider-wrap .rev_slider_wrapper { margin: 0 !important; }
.hh-fallback-hero { min-height: 500px; background-size: cover; background-position: center; display: flex; align-items: center; color: #fff; }
.hh-fallback-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.hh-fallback-copy > span { letter-spacing: .08em; font-weight: 600; font-size: 13px; }
.hh-fallback-copy h1 { font-size: clamp(42px, 5vw, 70px); line-height: 1; max-width: 650px; margin: 0; }
.hh-fallback-copy strong { background: var(--hh-orange); border-radius: 5px; padding: 10px 16px; font-size: 20px; }

.hh-section { padding: 56px 0; }
.hh-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
.hh-section-heading h2, .hh-about-copy h2, .hh-gallery-heading h2 { margin: 3px 0 0; color: var(--hh-navy-dark); font-size: clamp(28px, 3vw, 38px); line-height: 1.15; letter-spacing: -.025em; }
.hh-section-heading > a { font-size: 14px; font-weight: 700; color: var(--hh-navy); }
.hh-section-heading > a b { color: var(--hh-orange); font-size: 18px; padding-left: 7px; }
.hh-kicker { color: var(--hh-orange); font-weight: 700; letter-spacing: .08em; font-size: 12px; }
.hh-kicker-light { color: #ff9a3d; }

.hh-categories { background: linear-gradient(180deg,#fff,#f6f9fc); }
.hh-category-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.hh-category-card { background: #fff; border: 1px solid #e7edf2; border-radius: 14px; overflow: hidden; box-shadow: 0 7px 25px rgba(9,48,82,.06); min-width: 0; transition: transform .2s ease, box-shadow .2s ease; }
.hh-category-card:hover { transform: translateY(-5px); box-shadow: var(--hh-shadow); }
.hh-category-image { height: 128px; display: flex; align-items: center; justify-content: center; background: #fff; padding: 8px; overflow: hidden; }
.hh-category-image img { width: 100%; height: 100%; object-fit: contain; }
.hh-category-meta { display: flex; min-height: 66px; padding: 12px 12px 14px; align-items: center; justify-content: space-between; gap: 7px; }
.hh-category-meta strong { color: var(--hh-navy-dark); line-height: 1.3; font-size: 13px; }
.hh-category-meta span { display: grid; place-items: center; background: var(--hh-orange); color: #fff; border-radius: 50%; width: 28px; height: 28px; flex: 0 0 28px; }

.hh-about-strip { padding-top: 10px; padding-bottom: 18px; }
.hh-about-grid { display: grid; grid-template-columns: 1.2fr 1.25fr .8fr; gap: 30px; align-items: stretch; }
.hh-about-image { border-radius: 16px; overflow: hidden; min-height: 270px; background: var(--hh-soft); }
.hh-about-image img { width: 100%; height: 100%; object-fit: cover; }
.hh-about-copy { padding: 22px 0; align-self: center; }
.hh-about-copy p { color: #526477; margin: 16px 0 22px; font-size: 14px; }
.hh-btn { display: inline-flex; align-items: center; gap: 16px; background: var(--hh-orange); color: #fff; border-radius: 8px; padding: 11px 18px; font-weight: 700; font-size: 14px; box-shadow: 0 8px 20px rgba(255,122,0,.2); }
.hh-btn:hover { background: var(--hh-orange-dark); }
.hh-btn-light { background: transparent; border: 1px solid rgba(255,255,255,.85); box-shadow: none; }
.hh-btn-orange { background: var(--hh-orange); }
.hh-quick-links { display: grid; gap: 12px; align-content: center; }
.hh-quick { min-height: 118px; border-radius: 14px; color: #fff; padding: 18px; display: grid; grid-template-columns: 42px 1fr 26px; gap: 12px; align-items: center; transition: transform .2s ease; }
.hh-quick:hover { transform: translateX(4px); }
.hh-quick-blue { background: var(--hh-navy); }
.hh-quick-orange { background: var(--hh-orange); }
.hh-quick-icon { font-size: 30px; }
.hh-quick strong { display: block; font-size: 20px; line-height: 1.1; }
.hh-quick small { display: block; margin-top: 7px; line-height: 1.35; opacity: .9; }
.hh-quick b { font-size: 22px; }

.hh-history { margin-top: 18px; padding: 58px 0; background: radial-gradient(circle at 100% 0%, rgba(38,91,135,.48), transparent 38%), linear-gradient(115deg,var(--hh-navy-deep),#0e416f); color: #fff; position: relative; overflow: hidden; }
.hh-history::after { content: ''; position: absolute; inset: 0; opacity: .08; background: linear-gradient(135deg, transparent 0 46%, #fff 46% 47%, transparent 47% 100%); background-size: 36px 36px; pointer-events: none; }
.hh-history-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 260px 1fr; gap: 38px; }
.hh-history-intro h2 { margin: 5px 0 18px; font-size: 46px; line-height: .98; color: #fff; }
.hh-history-intro p { color: rgba(255,255,255,.78); font-size: 14px; margin-bottom: 24px; }
.hh-history-timeline { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; position: relative; padding-top: 35px; }
.hh-history-timeline::before { content: ''; position: absolute; top: 14px; left: 10%; right: 10%; height: 2px; background: rgba(255,255,255,.34); }
.hh-history-card { position: relative; display: block; padding: 0; border: 0; border-radius: 14px; overflow: visible; background: #fff; color: var(--hh-text); text-align: left; cursor: zoom-in; box-shadow: 0 18px 40px rgba(0,0,0,.18); }
.hh-history-card::before { content: ''; position: absolute; top: -28px; left: 50%; width: 9px; height: 9px; margin-left: -4px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 5px rgba(255,255,255,.15); }
.hh-era { position: absolute; top: -58px; left: 50%; transform: translateX(-50%); background: #e9eef4; color: var(--hh-navy-dark); padding: 5px 14px; border-radius: 999px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.hh-history-card:last-child .hh-era { background: var(--hh-orange); color: #fff; }
.hh-history-card img { display: block; width: 100%; height: 185px; object-fit: cover; border-radius: 14px 14px 0 0; }
.hh-history-card-body { position: relative; display: block; min-height: 118px; padding: 15px 43px 16px 16px; }
.hh-history-card-body strong { display: block; color: var(--hh-navy-dark); font-size: 16px; }
.hh-history-card-body small { display: block; margin-top: 5px; color: #627385; line-height: 1.35; }
.hh-history-card-body b { position: absolute; right: 14px; top: 17px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--hh-orange); color: #fff; }

.hh-page-main { min-height: 60vh; }
.hh-page-hero { padding: 55px 0; color: #fff; background: linear-gradient(115deg,var(--hh-navy-deep),var(--hh-blue)); }
.hh-page-hero h1 { font-size: clamp(38px, 5vw, 58px); line-height: 1; margin: 10px 0 8px; }
.hh-page-hero p { max-width: 700px; color: rgba(255,255,255,.78); margin: 14px 0 0; }
.hh-breadcrumb { display: flex; gap: 9px; align-items: center; font-size: 12px; color: rgba(255,255,255,.7); }
.hh-breadcrumb a:hover { color: #fff; }
.hh-content-wrap { max-width: 1100px; }
.hh-prose { color: #425466; font-size: 16px; }
.hh-prose h2, .hh-prose h3 { color: var(--hh-navy-dark); line-height: 1.2; }
.hh-prose a { color: var(--hh-blue); text-decoration: underline; text-underline-offset: 3px; }
.hh-prose img { border-radius: 12px; }
.hh-prose [style*="font-family"] { font-family: 'Ubuntu', Arial, sans-serif !important; }
.hh-gallery-heading { margin: 40px 0 22px; }
.hh-gallery-heading p { color: var(--hh-muted); margin: 8px 0 0; }
.hh-gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.hh-gallery-card { position: relative; aspect-ratio: 4/3; border: 0; padding: 0; overflow: hidden; border-radius: 12px; background: #e8edf2; cursor: zoom-in; box-shadow: 0 7px 24px rgba(7,42,72,.08); }
.hh-gallery-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .28s ease; }
.hh-gallery-card:hover img { transform: scale(1.04); }
.hh-gallery-zoom { position: absolute; right: 10px; bottom: 10px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: rgba(7,39,69,.88); color: #fff; font-size: 22px; opacity: 0; transform: translateY(5px); transition: .2s ease; }
.hh-gallery-card:hover .hh-gallery-zoom { opacity: 1; transform: translateY(0); }

.hh-product-group { padding: 10px 0 52px; scroll-margin-top: 130px; }
.hh-product-group + .hh-product-group { border-top: 1px solid var(--hh-line); padding-top: 46px; }
.hh-product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.hh-product-card { border: 1px solid #e5ebf0; border-radius: 14px; background: #fff; overflow: hidden; box-shadow: 0 8px 28px rgba(10,49,82,.07); transition: transform .2s ease, box-shadow .2s ease; }
.hh-product-card:hover { transform: translateY(-5px); box-shadow: var(--hh-shadow); }
.hh-product-image { height: 185px; background: #f7f9fb; }
.hh-product-image img { width: 100%; height: 100%; object-fit: cover; }
.hh-product-meta { padding: 14px 15px 16px; }
.hh-product-meta strong { display: block; color: var(--hh-navy-dark); font-size: 15px; line-height: 1.3; }
.hh-product-meta span { display: block; color: var(--hh-orange-dark); font-size: 12px; font-weight: 700; margin-top: 8px; }

.hh-tech-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.hh-tech-card { display: grid; grid-template-columns: 112px 1fr 28px; align-items: center; gap: 16px; min-height: 125px; border: 1px solid var(--hh-line); border-radius: 15px; padding: 12px; background: #fff; box-shadow: 0 8px 28px rgba(10,49,82,.07); }
.hh-tech-image { height: 100px; border-radius: 10px; overflow: hidden; background: var(--hh-soft); display: grid; place-items: center; color: var(--hh-orange); font-size: 35px; }
.hh-tech-image img { width: 100%; height: 100%; object-fit: cover; }
.hh-tech-card strong { display: block; color: var(--hh-navy-dark); line-height: 1.25; }
.hh-tech-card small { display: block; color: var(--hh-muted); margin-top: 7px; }
.hh-tech-card b { color: var(--hh-orange); font-size: 24px; }

.hh-history-hero { background: linear-gradient(115deg,#071f37,#0f4f82); }
.hh-archive-nav { position: sticky; top: 105px; z-index: 20; display: inline-flex; gap: 8px; background: rgba(255,255,255,.94); box-shadow: 0 6px 20px rgba(8,39,69,.08); border: 1px solid var(--hh-line); padding: 7px; border-radius: 999px; margin-bottom: 25px; backdrop-filter: blur(8px); }
.hh-archive-nav a { padding: 8px 15px; border-radius: 999px; background: var(--hh-navy); color: #fff; font-size: 13px; font-weight: 700; }
.hh-archive-block { scroll-margin-top: 165px; padding-bottom: 58px; }
.hh-archive-block + .hh-archive-block { border-top: 1px solid var(--hh-line); padding-top: 30px; }
.hh-archive-grid { grid-template-columns: repeat(5,1fr); }

.hh-lightbox { position: fixed; inset: 0; z-index: 10050; background: rgba(3,15,27,.93); display: grid; place-items: center; opacity: 0; visibility: hidden; transition: opacity .2s ease; padding: 70px; }
.hh-lightbox.is-open { opacity: 1; visibility: visible; }
.hh-lightbox figure { margin: 0; max-width: min(1300px, 90vw); max-height: 86vh; display: flex; flex-direction: column; align-items: center; gap: 9px; }
.hh-lightbox img { max-width: 100%; max-height: 78vh; object-fit: contain; border-radius: 8px; box-shadow: 0 20px 60px rgba(0,0,0,.45); }
.hh-lightbox figcaption { color: rgba(255,255,255,.8); font-size: 13px; }
.hh-lightbox button { position: absolute; border: 0; width: 48px; height: 48px; border-radius: 50%; color: #fff; background: rgba(255,255,255,.12); cursor: pointer; font-size: 34px; line-height: 1; }
.hh-lightbox-close { top: 22px; right: 26px; }
.hh-lightbox-prev { left: 26px; top: 50%; transform: translateY(-50%); }
.hh-lightbox-next { right: 26px; top: 50%; transform: translateY(-50%); }

.hh-footer { background: var(--hh-navy-dark); color: #fff; margin-top: 0; }
.hh-footer-grid { min-height: 110px; display: grid; grid-template-columns: 170px 1.1fr 1.55fr .8fr 1.25fr; gap: 24px; align-items: center; }
.hh-footer-brand img { max-width: 140px; max-height: 80px; object-fit: contain; filter: brightness(1.05); }
.hh-footer-item { display: flex; align-items: center; gap: 12px; font-size: 12px; color: rgba(255,255,255,.78); line-height: 1.45; }
.hh-footer-item strong { color: #fff; }
.hh-footer-icon { font-size: 22px; color: #fff; }
.hh-footer-bottom { border-top: 1px solid rgba(255,255,255,.09); background: #071f38; }
.hh-footer-bottom-inner { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 22px; color: rgba(255,255,255,.55); font-size: 11px; }
.hh-footer-links { display: flex; gap: 14px; flex-wrap: wrap; }
.hh-footer-links a:hover { color: #fff; }

@media (max-width: 1180px) {
  .hh-container { width: min(100% - 34px, 1120px); }
  .hh-header-inner { gap: 18px; }
  .hh-brand { width: 190px; }
  .hh-brand img { width: 180px; }
  .hh-menu > li > a { padding-inline: 11px; font-size: 13px; }
  .hh-category-grid { grid-template-columns: repeat(3, 1fr); }
  .hh-about-grid { grid-template-columns: 1fr 1.1fr; }
  .hh-quick-links { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
  .hh-product-grid { grid-template-columns: repeat(3,1fr); }
  .hh-archive-grid { grid-template-columns: repeat(4,1fr); }
  .hh-footer-grid { grid-template-columns: 140px 1fr 1.4fr; padding: 25px 0; }
}

@media (max-width: 1080px) {
  .hh-topbar { display: none; }
  .hh-header-inner { min-height: 78px; }
  .hh-brand { width: auto; margin-right: auto; }
  .hh-brand img { width: 155px; max-height: 74px; }
  .hh-menu-toggle { display: block; }
  .hh-nav { position: fixed; top: 78px; left: 0; right: 0; bottom: 0; background: #fff; padding: 14px 18px 40px; overflow: auto; transform: translateX(100%); transition: transform .2s ease; }
  .hh-nav.is-open { transform: translateX(0); }
  .hh-menu { display: block; }
  .hh-menu > li > a { min-height: 50px; padding: 0 10px; border-bottom: 1px solid var(--hh-line); font-size: 15px; }
  .hh-menu > li > a::after { display: none; }
  .hh-menu .sub-menu, .hh-menu .sub-menu .sub-menu { position: static; min-width: 0; box-shadow: none; border-radius: 0; opacity: 1; visibility: visible; transform: none; display: none; background: #f4f7fa; margin-left: 12px; }
  .hh-menu li.mobile-open > .sub-menu { display: block; }
  .hh-menu .sub-menu a { color: var(--hh-navy-dark); border-bottom: 1px solid #e5ebf0; }
  .hh-menu .sub-menu a:hover { background: #eaf0f5; }
  .hh-menu .sub-menu .menu-item-has-children > a::before { color: var(--hh-navy); }
  .hh-history-inner { grid-template-columns: 1fr; }
  .hh-history-intro { max-width: 620px; }
  .hh-gallery-grid { grid-template-columns: repeat(3,1fr); }
  .hh-tech-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 760px) {
  .hh-container { width: min(100% - 28px, 680px); }
  .hh-section { padding: 38px 0; }
  .hh-category-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding: 3px 2px 14px; margin-right: -14px; }
  .hh-category-card { flex: 0 0 72%; scroll-snap-align: start; }
  .hh-category-image { height: 150px; }
  .hh-about-grid { grid-template-columns: 1fr; gap: 18px; }
  .hh-about-image { min-height: 220px; }
  .hh-about-copy { padding: 0; }
  .hh-quick-links { grid-template-columns: 1fr; }
  .hh-history { padding: 45px 0 50px; }
  .hh-history-timeline { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-top: 40px; margin-right: -14px; }
  .hh-history-timeline::before { display: none; }
  .hh-history-card { flex: 0 0 84%; scroll-snap-align: start; }
  .hh-history-card::before { display: none; }
  .hh-era { top: -35px; left: 8px; transform: none; }
  .hh-page-hero { padding: 42px 0; }
  .hh-gallery-grid, .hh-archive-grid { grid-template-columns: repeat(2,1fr); gap: 8px; }
  .hh-product-grid { grid-template-columns: repeat(2,1fr); gap: 10px; }
  .hh-product-image { height: 145px; }
  .hh-tech-grid { grid-template-columns: 1fr; }
  .hh-footer-grid { grid-template-columns: 1fr; gap: 16px; padding: 30px 0; }
  .hh-footer-brand img { max-width: 150px; }
  .hh-footer-bottom-inner { align-items: flex-start; flex-direction: column; padding: 18px 0; }
  .hh-lightbox { padding: 56px 15px; }
  .hh-lightbox-prev { left: 10px; }
  .hh-lightbox-next { right: 10px; }
  .hh-lightbox-close { right: 12px; top: 12px; }
}

@media (max-width: 480px) {
  .hh-section-heading { align-items: flex-start; }
  .hh-section-heading > a { display: none; }
  .hh-category-card { flex-basis: 82%; }
  .hh-gallery-grid, .hh-archive-grid, .hh-product-grid { grid-template-columns: 1fr 1fr; }
  .hh-gallery-card { border-radius: 8px; }
  .hh-product-meta strong { font-size: 13px; }
  .hh-fallback-hero { min-height: 420px; }
  .hh-fallback-copy h1 { font-size: 42px; }
}
