@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400..700&family=Inter:wght@400..650&display=swap');

:root {
  --navy:#071c35;
  --blue:#0c3c6f;
  --cyan:#00b4e5;
  --cyan-soft:#e3f8ff;
  --cyan-light:#87e6fb;
  --cyan-ink:#00647f;
  --ink:#102640;
  --muted:#4b6176;
  --accent-ink:#005b7b;
  --paper:#fff;
  --ice:#eff5f9;
  --line:#d3e1eb;
  --radius:20px;
  --radius-wide:clamp(26px,4vw,56px);
  --heading:"Inter",Arial,sans-serif;
  --body:"DM Sans",Arial,sans-serif;
  --ease:cubic-bezier(.23,1,.32,1);
  --shadow:0 16px 35px -24px #0c3c6f60;
}
*,*::before,*::after {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:105px}
body {margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--body)}
h1,h2,h3,p,figure,dl,dd {margin:0}
a {color:inherit}
img {display:block;max-width:100%;height:auto}
button,input,textarea {font:inherit}
button,summary {cursor:pointer}
[hidden] {display:none!important}
::selection {background:#a7eafa;color:var(--navy)}
:focus-visible {outline:3px solid #007da6;outline-offset:4px}
.dark-band :focus-visible,.quote-panel :focus-visible,.site-footer :focus-visible {outline-color:#6ee0ff}
.wrap {width:min(1300px,calc(100% - clamp(36px,9vw,152px)));margin-inline:auto}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip {position:fixed;z-index:50;top:8px;left:8px;padding:10px 16px;border-radius:30px;background:white;color:var(--navy);transform:translateY(-150%)}
.skip:focus {transform:translateY(0)}
.icon {width:20px;height:20px;flex:none;display:inline-block;vertical-align:middle}
.utility {background:#bcefff;color:#103653;font-size:13px}
.utility-inner,.utility-social {display:flex;align-items:center;gap:4px}
.utility-inner {justify-content:space-between;min-height:44px}
.utility a {text-decoration:none}
.utility-email {display:inline-flex;align-items:center;min-height:44px}
.utility a:hover,.footer-grid a:hover {text-decoration:underline;text-underline-offset:4px}
.brand-icon {display:inline-block;width:18px;height:18px;flex:none;background:currentColor;mask:var(--brand) center / contain no-repeat}
.brand-facebook {--brand:url('/assets/brands/facebook.svg')}
.brand-instagram {--brand:url('/assets/brands/instagram.svg')}
.brand-youtube {--brand:url('/assets/brands/youtube.svg')}
.brand-whatsapp {--brand:url('/assets/brands/whatsapp.svg')}
.utility-social a,.social a {display:inline-flex;align-items:center;justify-content:center;width:42px;min-height:44px;border-radius:50%;transition:background 160ms ease,color 160ms ease}
.utility-social a:hover {background:#dcf8ff;color:var(--blue)}
.social a:hover {background:#193a56;color:white}
.site-header {position:sticky;top:0;background:#fff;z-index:20;box-shadow:0 8px 24px -22px #0b396f8c}
.nav-wrap {min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand {display:flex;align-items:center;flex:none}
.brand img {width:115px}
nav {display:flex;align-items:center;gap:clamp(7px,1.6vw,25px);font-weight:550;font-size:15px}
nav a,nav summary {display:flex;align-items:center;gap:5px;min-height:44px;padding:7px 10px;border-radius:24px;text-decoration:none;white-space:nowrap;transition:background 180ms ease,color 180ms ease}
nav summary {list-style:none}
nav summary::-webkit-details-marker {display:none}
nav summary .icon {width:16px}
nav a:hover,nav summary:hover,nav a[aria-current],nav .current {background:var(--ice);color:var(--accent-ink)}
.nav-products {position:relative}
.nav-products > div {position:absolute;top:calc(100% + 8px);left:0;min-width:195px;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:7px;transform-origin:top left}
@media (hover:hover) and (pointer:fine) {
  .nav-products[open] > div {animation:popover 180ms var(--ease) both}
}
@keyframes popover {from {opacity:.7;transform:translateY(-3px) scale(.98)}}
.button {min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 20px;border:1px solid transparent;border-radius:100px;text-decoration:none;font-weight:650;font-size:15px;line-height:1.2;transition:transform 160ms var(--ease),background 180ms ease,color 180ms ease,border-color 180ms ease}
.button:active,.filters button:active {transform:scale(.97)}
.primary,.chat-cta,.nav-cta {background:var(--blue);color:white}
.primary:hover,.chat-cta:hover,.nav-cta:hover {background:var(--navy)}
.secondary,.outline {background:white;border-color:#b9cfdf;color:var(--blue)}
.secondary:hover,.outline:hover {background:#e1f2fa;border-color:#8ab5cf}
.nav-cta {min-height:44px;font-size:14px}
.chat-cta .brand-icon,.nav-cta .brand-icon {color:#fff}
.actions {display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.hero {position:relative;isolation:isolate;overflow:hidden;background:#0b2441;color:white}
.hero-inner {min-height:clamp(410px,42vw,620px);display:flex;align-items:center;padding-block:clamp(52px,8vw,105px)}
.hero-copy {position:relative;z-index:1;max-width:min(64%,800px)}
.hero-visual,.hero-image,.hero-scrim {position:absolute;inset:0;margin:0}
.hero-visual {z-index:-2;overflow:hidden}
.hero-image img {width:100%;height:100%;object-fit:cover;object-position:center 45%}
.hero-scrim {z-index:-1;background:linear-gradient(90deg,#061a30 0%,#061a30f2 23%,#061a30cf 42%,#061a3066 69%,#061a3020 100%),linear-gradient(0deg,#061a3073,transparent 45%)}
.hero::after {content:"";position:absolute;z-index:-1;inset:auto 0 0;height:2px;background:linear-gradient(90deg,#66dbf8 0%,#66dbf880 28%,transparent 74%);transform-origin:left;animation:signal 1050ms var(--ease) both}
[data-enter] .hero-copy {animation:hero-copy 650ms var(--ease) both}
[data-enter] .hero-visual {animation:hero-visual 1100ms var(--ease) both}
@keyframes hero-copy {from {opacity:.7;transform:translateY(16px)}}
@keyframes hero-visual {from {opacity:.55;transform:scale(1.035)}}
@keyframes signal {from {transform:scaleX(0);opacity:.5}}
h1,h2,h3 {font-family:var(--heading);line-height:1.13;font-weight:520;letter-spacing:-.035em;text-wrap:balance}
h1 {font-size:clamp(2.45rem,4.3vw,4.8rem);text-wrap:pretty}
.hero-description {max-width:56ch;margin-top:19px;color:#e6f1fa;font-size:clamp(16px,1.5vw,21px);line-height:1.54}
.hero-sectors {margin-top:22px;font-size:14px;font-weight:550;color:#a8eaff}
.hero .primary,.hero .chat-cta {background:#b9efff;color:#08213b}
.hero .chat-cta .brand-icon {color:inherit}
.hero .primary:hover,.hero .chat-cta:hover {background:white}
.hero .outline {background:#0a203a91;border-color:#b8d5e7;color:white}
.hero .outline:hover {background:white;color:var(--navy)}
.compact-hero .hero-inner {min-height:340px}
.home-hero {background:#05233e}
.home-hero .hero-inner {min-height:clamp(545px,46vw,705px)}
.home-hero .hero-image img {object-position:68% 48%}
.home-hero .hero-scrim {background:radial-gradient(ellipse at 84% 15%,#00b4e530,transparent 49%),linear-gradient(106deg,#061c34 6%,#052641f7 31%,#064062a3 58%,#06365020 100%),linear-gradient(0deg,#041b3080,transparent 45%)}
.home-hero .hero-copy {max-width:820px}
.home-hero h1 {max-width:none;font-size:clamp(2.9rem,5.7vw,5.85rem);line-height:1.065;font-weight:530;letter-spacing:-.04em}
.home-hero h1 span {display:block;color:#86e6fb}
.home-hero .hero-description {max-width:42ch}
.home-hero .hero-sectors {color:#b9edf8}
.home-hero .hero-image {transform:translate3d(0,var(--photo-shift,0px),0) scale(1.12)}
.about-hero .hero-image {animation:ambient-photo 24s ease-in-out infinite;transform-origin:66% 49%}
@keyframes ambient-photo {
  0%,100% {transform:scale(1.03)}
  50% {transform:translate3d(-1%,1%,0) scale(1.115)}
}
.about-hero[data-paused] .hero-image {animation-play-state:paused}
.ambient-pause {position:absolute;right:max(16px,calc((100% - 1300px) / 2));bottom:16px;z-index:2;min-height:44px;padding:6px 13px;border:1px solid #c3e4f1;border-radius:30px;background:#0c2b47cc;color:white;font-size:13px;opacity:0;transition:opacity 180ms ease}
.about-hero:hover .ambient-pause,.ambient-pause:focus-visible,.about-hero[data-paused] .ambient-pause {opacity:1}
@media (hover:none) {.ambient-pause {opacity:1}}
@media (prefers-reduced-motion:reduce) {
  .ambient-pause {display:none}
  .home-hero .hero-image,.about-hero .hero-image {transform:none}
}
.editorial-hero {background:#e4f7ff;color:var(--ink)}
.editorial-hero::after {display:none}
.editorial-hero .hero-inner {position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(25px,5vw,75px);min-height:0;padding-block:clamp(38px,6vw,80px);align-items:center}
.editorial-hero .hero-copy {max-width:none}
.editorial-hero .hero-topic {font-size:14px;font-weight:650;color:var(--cyan-ink);margin-bottom:14px}
.editorial-hero .hero-description {color:var(--muted)}
.editorial-hero .hero-image {position:relative;inset:auto;overflow:hidden;aspect-ratio:1.45;background:#d9f4fc}
.editorial-hero .hero-image img {width:100%;height:100%;object-fit:cover;object-position:center}
.editorial-hero .primary {background:var(--blue);color:white}
.editorial-hero .primary:hover {background:var(--navy)}
.editorial-hero .outline {background:white;border-color:#abd4e8;color:var(--blue)}
.editorial-hero .outline:hover {background:#cef3ff}
.product-hero {background:radial-gradient(ellipse at 71% 65%,#a5ecfc,transparent 57%),linear-gradient(125deg,#f2fcff,#d5f4ff)}
.product-hero .hero-inner {min-height:clamp(385px,35vw,520px);display:flex}
.product-hero .hero-copy {max-width:48%}
.product-hero .hero-visual {inset:0 0 0 35%;mask-image:linear-gradient(90deg,transparent,#000 42%)}
.product-hero .hero-image {position:absolute;inset:0;aspect-ratio:auto;background:none}
.product-hero .hero-image img {object-position:66% center}
.product-hero .hero-scrim {background:linear-gradient(90deg,#f1fbff 0%,#eefaff 30%,#e8f9fced 42%,#c5f4ff66 59%,#80e7ff1c 100%)}
.parts-hero .hero-image img {object-fit:contain;object-position:76% center;mix-blend-mode:multiply;padding:20px}
.parts-hero .hero-visual {mix-blend-mode:multiply;mask-image:none}
.parts-hero .hero-scrim {background:linear-gradient(90deg,#f1fbff 5%,#ebfaff 33%,#e8f9fc88 49%,transparent 66%)}
.journal-hero {background:#eaf8ff}
.journal-hero .hero-inner {min-height:clamp(370px,36vw,540px)}
.journal-hero .hero-image {position:absolute;inset:0 min(-5vw, calc((1300px - 100vw) / 2)) 0 auto;width:61%;aspect-ratio:auto;background:none;mask-image:linear-gradient(90deg,transparent 0%,#000 32%)}
.journal-hero .hero-copy {grid-column:1}
.journal-hero .hero-image img {object-position:63% center}
.band {padding-block:clamp(45px,7vw,94px)}
.tight-band {padding-top:0}
.industry-intro {padding-bottom:12px}
.soft-band,.catalog-band {background:var(--ice)}
.dark-band {background:var(--navy);color:white;border-radius:clamp(20px,3vw,42px);margin:clamp(22px,4vw,60px) clamp(8px,2.4vw,36px)}
.dark-band .section-heading .summary,.dark-band .info-card p {color:#d7e7f4}
.section-heading {max-width:830px;margin-bottom:clamp(22px,3vw,39px)}
.section-heading .eyebrow,.end-panel .eyebrow {display:none}
h2 {font-size:clamp(2rem,3.65vw,3.75rem)}
h3 {font-size:clamp(1.28rem,2.1vw,1.94rem);letter-spacing:-.022em}
.section-heading .summary {max-width:67ch;margin-top:12px;color:var(--muted);font-size:18px}
.brand-band {padding-block:34px}
.brand-heading {margin-bottom:9px}
.brand-heading h2 {font-size:clamp(1.27rem,2.25vw,1.9rem);letter-spacing:-.03em}
.brand-heading {display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand-window {overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.brand-track {display:flex;width:max-content;animation:brand-loop var(--loop-duration) linear infinite}
@keyframes brand-loop {to {transform:translateX(-50%)}}
.brands {display:flex;flex:none;align-items:center;gap:clamp(18px,3vw,44px);list-style:none;margin:0;padding:0 clamp(18px,3vw,44px) 0 0}
.brand-tile {flex:none;width:clamp(140px,16vw,214px);height:clamp(91px,9vw,128px);display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center}
.brand-tile img {width:100%;height:100%;object-fit:contain;min-height:0;mix-blend-mode:multiply}
.brand-carousel[data-paused] .brand-track {animation-play-state:paused}
.brand-pause {min-height:44px;border:0;border-radius:24px;padding:6px 11px;background:var(--cyan-soft);color:var(--cyan-ink);font-size:13px;opacity:0;transition:opacity 180ms ease}
.brand-pause:focus-visible,.brand-carousel:hover .brand-pause,.brand-carousel[data-paused] .brand-pause {opacity:1}
@media (prefers-reduced-motion:reduce) {
  .brand-window {mask-image:none}
  .brand-track {width:100%}
  .brands {width:100%;flex-wrap:wrap;justify-content:center;padding:0}
  .brands-clone,.brand-pause {display:none}
}
.filters button,.menu-toggle {display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid #b6ccdd;background:white;color:var(--blue);border-radius:50px;transition:transform 150ms var(--ease),background 180ms ease;font-weight:600}
.menu-toggle {display:none}
.filters button:hover,.menu-toggle:hover {background:#e3f2fa}
.category-strip {padding-top:42px}
.category-grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.category-card {position:relative;display:flex;flex-direction:column;gap:13px;padding:14px 14px 18px;background:#eaf8fd;border-radius:var(--radius);text-decoration:none;transition:transform 180ms var(--ease),background 180ms ease}
.category-copy {padding-right:0}
.category-copy strong {display:block;font:550 clamp(1.1rem,1.8vw,1.5rem)/1.2 var(--heading)}
.category-copy small {display:block;margin-top:5px;color:var(--muted);font-size:14px;line-height:1.4}
.products,.tiles,.video-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,26px)}
.product-card {background:white;display:flex;flex-direction:column;min-width:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform 180ms var(--ease)}
.product-media {aspect-ratio:1.62;display:grid;grid-template: minmax(0,1fr) / minmax(0,1fr);place-items:center;background:#f4f8fb;padding:15px;overflow:hidden}
.product-media.photo-media {padding:0}
.product-media.photo-media img {object-fit:cover;mix-blend-mode:normal}
.product-media img {width:100%;height:100%;object-fit:contain;min-height:0;mix-blend-mode:multiply;transition:transform 240ms var(--ease)}
.product-copy {flex:1;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(18px,2.2vw,30px)}
.spec {color:var(--accent-ink);font:650 13px/1.45 var(--body);font-variant-numeric:tabular-nums;font-feature-settings:"zero" 0;margin-bottom:9px}
.product-copy h3 + p,.info-card h3 + p {margin-top:9px;color:var(--muted)}
.product-copy p:not(.spec) {margin-bottom:11px}
.text-link {display:inline-flex;align-items:center;gap:7px;margin-top:auto;min-height:44px;font-weight:650;color:var(--accent-ink);text-decoration:none;text-underline-offset:4px}
.text-link:hover {text-decoration:underline}
@media (hover:hover) and (pointer:fine) {
  .category-card:hover,.product-card:hover {transform:translateY(-2px)}
  .category-card:hover {background:#e6f2fa}
  .product-card:hover .product-media img {transform:scale(1.025)}
}
.filters {display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}
.filters button {padding-inline:14px}
.filters button[aria-pressed="true"] {background:var(--blue);border-color:var(--blue);color:white}
.feature-tiles,.timeline {grid-template-columns:repeat(4,minmax(0,1fr))}
.info-card {display:flex;flex-direction:column;gap:13px;padding:clamp(16px,2vw,25px);border-radius:var(--radius);background:white;min-width:0;color:var(--ink)}
.tile-icon {display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#d8f5ff;color:var(--cyan-ink);flex:none}
.tile-icon .icon {width:23px;height:23px}
.sector-tiles .info-card {flex-direction:row;align-items:flex-start;background:#f0f6fa}
.mission-tiles {grid-template-columns:repeat(2,minmax(0,1fr))}
.mission-tiles .info-card {background:white;padding:clamp(20px,4vw,42px)}
.dark-band .info-card {background:#143451;color:white}
.dark-band .tile-icon {background:#1e4969;color:#a8eaff}
.timeline {counter-reset:step}
.timeline .info-card {counter-increment:step}
.timeline .info-card::before {content:counter(step,decimal-leading-zero);color:#b1eaff;font-size:14px;font-weight:650;font-variant-numeric:tabular-nums}
.steps {grid-template-columns:1fr;gap:0}
.steps .info-card {padding:15px 0;display:flex;flex-direction:row;align-items:flex-start;border-radius:0;border-top:1px solid var(--line)}
.steps .tile-icon {background:transparent;color:#0d5b73;border-radius:0}
.trust-tiles .tile-icon {background:#e7f3ff;color:#234b80}
.values-tiles .tile-icon {background:#e8eefd;color:#353b83;border-radius:50%}
.mission-tiles .tile-icon {background:transparent;color:#007d82;border:1px solid #a3d9d6;border-radius:50%}
.performance-tiles .tile-icon {background:#dff6ff;color:#005a83;border-radius:11px}
.industry-tiles .tile-icon {background:transparent;color:#365c42}
.industry-tiles .info-card {background:#edf6f0}
.service-tiles .tile-icon {background:#faedda;color:#7c4617;border-radius:50%}
.service-tiles .info-card {background:#fffdf7}
.info-card {transition:transform 230ms var(--ease),box-shadow 240ms var(--ease),background 200ms ease}
.tile-icon {transition:transform 230ms var(--ease)}
@media (hover:hover) and (pointer:fine) {
  .info-card:hover {transform:translateY(-4px);box-shadow:0 12px 24px -13px #00244358}
  .dark-band .info-card:hover {background:#1b4161}
  .info-card:hover .tile-icon {transform:translateY(-2px) scale(1.08)}
}
.steps h3 {font-size:20px}
.steps .info-card p {margin-top:4px}
.split {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(26px,5.5vw,90px);align-items:center}
.split.reverse figure {grid-column:2;grid-row:1}
.split.reverse > div {grid-column:1;grid-row:1}
.split figure {margin:0;border-radius:18px;overflow:hidden;background:#eef5f9}
.split figure img {width:100%;max-height:530px;object-fit:contain;mix-blend-mode:multiply}
.intro-band .split figure,.photo-band .split figure {aspect-ratio:1.15}
.intro-band .split figure img,.photo-band .split figure img {height:100%;max-height:none;object-fit:cover;mix-blend-mode:normal}
.body-copy p {margin:0 0 14px;color:var(--muted)}
.coverage-band {background:#f2f8fc}
.coverage-map {display:grid;place-items:center;background:#e6f1f8!important;padding:15px}
.coverage-map svg {display:block;width:min(100%,390px);height:auto;max-height:460px}
.coverage-map path {fill:#bfcede;stroke:#edf6fc;stroke-width:1.2;stroke-linejoin:round;transition:fill 220ms ease}
.coverage-map .covered {fill:#2287ac}
.coverage-map .covered.selected {filter:drop-shadow(0 2px 2px #0c3c6f45)}
.coverage-map .covered.selected {fill:#0b355b;stroke:white;stroke-width:2}
.coverage {display:flex;flex-wrap:wrap;padding:0;margin:0;list-style:none;gap:7px}
.coverage li span,.coverage button {display:inline-flex;align-items:center;min-height:44px;background:white;border:1px solid #b9cfdf;border-radius:24px;color:var(--blue);padding:6px 12px;font-weight:550}
.coverage button:hover {background:#dfedf5}
.coverage button[aria-pressed="true"] {background:var(--blue);color:white;border-color:var(--blue)}
.map-source {font-size:13px;color:var(--muted);margin-top:12px}
.stats-panel {position:relative}
.stats {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;text-align:center}
.stats > div {display:flex;flex-direction:column-reverse;background:linear-gradient(150deg,#e0f8ff,#f3fbff);border-radius:var(--radius);padding:20px 8px}
.stats dt {font-size:14px;color:var(--muted)}
.stats dd {font:520 clamp(32px,5vw,65px)/1.1 var(--heading);color:var(--cyan-ink);animation:stat-breathe 5.5s ease-in-out infinite}
.stat:nth-child(2) dd {animation-delay:-1.1s}
.stat:nth-child(3) dd {animation-delay:-2.2s}
.stat:nth-child(4) dd {animation-delay:-3.3s}
.stat-plus {display:inline-block;color:#007b98;transform-origin:center;transition:transform 300ms var(--ease)}
.stat:hover .stat-plus {transform:rotate(90deg) scale(1.17)}
.stats-panel[data-paused] dd {animation-play-state:paused}
.stats-pause {position:relative;right:auto;bottom:auto;display:block;margin:8px 0 0 auto;background:#e7f7ff;color:var(--blue);border-color:#bbdeed}
.stats-panel:hover .stats-pause,.stats-panel[data-paused] .stats-pause {opacity:1}
@keyframes stat-breathe {0%,100% {translate:0 0} 50% {translate:0 -4px}}
@media (prefers-reduced-motion:reduce) {.stats-pause {display:none}}

.close-band {padding-block:clamp(35px,5vw,70px)}
.end-panel {position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.76fr);align-items:stretch;overflow:hidden;background:#dff5ff;color:var(--ink);border-radius:clamp(20px,3vw,40px)}
.end-panel > div {padding:clamp(27px,5vw,69px);align-self:center}
.end-panel h2 {font-size:clamp(1.85rem,3vw,3.35rem)}
.end-panel p {margin-top:13px;color:#355571}
.end-panel .primary {background:var(--blue);color:white}
.end-panel .primary:hover {background:var(--navy)}
.end-panel .chat-cta {background:#f3fbff;border-color:#86b5d0;color:var(--blue)}
.end-panel .chat-cta .brand-icon {color:inherit}
.end-panel .chat-cta:hover {background:#c2ecfc}
.end-image {position:relative;overflow:hidden;min-height:285px;background:#dff5ff}
.end-image img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:61% 42%}
.end-image::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,#dff5ff 0%,#dff5ff80 9%,transparent 32%);pointer-events:none}
.quote-intro .chat-cta {background:#d5f4ff;color:var(--navy)}
.quote-intro .chat-cta .brand-icon {color:inherit}
.video-band {background:linear-gradient(180deg,#f0fbff,#fff)}
.video-card {border-radius:var(--radius);overflow:hidden;background:white;box-shadow:var(--shadow)}
.video-frame {aspect-ratio:16/9;background:var(--navy);position:relative}
.video-frame iframe,.video-preview,.video-preview img {width:100%;height:100%;display:block;border:0}
.video-preview {position:relative;overflow:hidden}
.video-preview:focus-visible {outline-offset:-4px}
.video-preview img {object-fit:cover;transition:transform 260ms var(--ease)}
.video-play {display:grid;place-items:center;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:55px;height:55px;border-radius:50%;color:#062743;background:#c6f6ff;box-shadow:0 6px 26px #061a305c;transition:background 180ms ease,scale 180ms var(--ease)}
.video-play svg {width:26px;height:26px}
.video-preview:hover .video-play {background:white;scale:1.08}
.video-preview:hover img {transform:scale(1.04)}
.video-copy {padding:17px 20px}
.video-copy h3 {font-size:1.12rem;line-height:1.35;letter-spacing:-.015em;text-wrap:pretty}
.blog-feature figure {aspect-ratio:1.6}
.blog-feature figure img {height:100%;max-height:none;object-fit:cover;mix-blend-mode:normal}
.blog-feature .button {margin-top:6px}
.journal-band {background:#f1faff}
.journal-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}
.journal-card a {display:flex;align-items:center;gap:16px;min-height:112px;padding:10px 15px 10px 10px;border-radius:16px;background:white;text-decoration:none;transition:background 180ms ease,box-shadow 220ms ease}
.journal-card a:hover {background:#f9fdff;box-shadow:var(--shadow)}
.journal-thumb {position:relative;display:block;color:var(--cyan-ink);flex:0 0 114px;aspect-ratio:1.24;border-radius:11px;overflow:hidden;background:#dceff8}
.journal-thumb img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 240ms var(--ease)}
.journal-thumb img[src*="saneamiento-bga-"] {top:-4%;height:160%;object-position:center top}
.journal-card a:hover img {transform:scale(1.045)}
.journal-card-copy {min-width:0;display:grid;gap:5px}
.journal-label {color:var(--cyan-ink);font-size:13px;font-weight:650}
.journal-card h3 {font-size:clamp(1rem,1.45vw,1.33rem);line-height:1.28;letter-spacing:-.018em;text-wrap:pretty}
.reading-page {padding-block:clamp(38px,6vw,85px);background:white}
.article-heading {margin-bottom:26px}
.article-heading .text-link {min-height:44px;margin-bottom:10px}
.article-heading .journal-label {margin-bottom:9px}
.article-heading h1 {font-size:clamp(2rem,4.2vw,3.95rem);line-height:1.09;letter-spacing:-.04em}
.article-heading .article-lead {margin-top:14px;font-size:clamp(17px,1.65vw,22px)}
.article-body {max-width:76ch;margin-inline:auto}
.article-body section {margin-top:34px}
.article-body h2 {font-size:clamp(1.8rem,3vw,2.85rem);margin-bottom:12px}
.article-body p {font-size:18px;color:var(--muted)}
.article-references {margin-top:38px;padding:18px 0;border-block:1px solid var(--line)}
.article-references h2 {font-size:1.5rem}
.article-references ul {margin:0;padding-left:21px}
.article-references a {color:var(--accent-ink)}
.quote-panel {padding-block:clamp(45px,7vw,90px);background:var(--blue);color:white;border-radius:clamp(20px,3vw,42px);margin:clamp(24px,4vw,60px) clamp(8px,2.4vw,36px)}
.quote-grid {display:grid;grid-template-columns:.85fr 1fr;gap:clamp(24px,7vw,108px);align-items:center}
address {display:grid;gap:5px;font-style:normal;color:#e5f0fa;margin-bottom:21px}
address a {width:fit-content}
.quote-form {background:white;color:var(--ink);padding:clamp(20px,3.5vw,40px);border-radius:var(--radius-wide)}
.quote-form h2 {font-size:clamp(1.85rem,3vw,3rem)}
.quote-form > p {margin-top:9px;color:var(--muted)}
.form-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 12px}
.quote-form label {display:block;font-weight:600;font-size:15px}
.quote-form input,.quote-form textarea {display:block;width:100%;margin-top:4px;padding:9px 12px;color:var(--ink);caret-color:var(--accent-ink);background:#f6f9fc;border:1px solid #a4b9cd;border-radius:13px}
.quote-form input {min-height:44px}
.quote-form textarea {min-height:90px;resize:vertical;margin-bottom:15px}
.quote-form .form-status:empty {display:none}
.site-footer {background:var(--navy);color:#dbe7f3;padding-top:42px}
.footer-grid {display:grid;grid-template-columns:1.2fr .7fr .65fr 1.12fr;gap:22px;padding-bottom:32px}
.footer-grid h2 {color:white;font:650 15px/1.4 var(--body);letter-spacing:normal;margin-bottom:9px}
.footer-grid p {margin-top:7px;font-size:14px}
.footer-grid a {display:block;width:fit-content;text-decoration:none;margin-bottom:5px;font-size:14px;overflow-wrap:anywhere}
.footer-logo img {width:113px;height:64px;object-fit:cover;filter:brightness(0) invert(1)}
.social {display:flex;gap:2px;flex-wrap:wrap;margin-top:8px}
.footer-grid .social a {display:inline-flex;width:42px;margin:0}
.footer-end {border-top:1px solid #d2e5f32b;padding-block:16px;display:flex;justify-content:space-between;gap:14px;font-size:13px}
.footer-end a {text-decoration:none}
.footer-end a:hover {text-decoration:underline}
@media (max-width:1050px) {
  .category-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
  .feature-tiles,.timeline {grid-template-columns:repeat(2,minmax(0,1fr))}
  .info-card h3 {overflow-wrap:anywhere;hyphens:auto}
  .nav-wrap {gap:10px}
  nav {gap:3px}
  nav a,nav summary {padding-inline:8px}
}
@media (max-width:800px) {
  html {scroll-padding-top:80px}
  .wrap {width:calc(100% - 36px)}
  .nav-wrap {min-height:69px;display:grid;grid-template-columns:1fr auto auto;gap:8px}
  .brand img {width:89px}
  .js .menu-toggle {display:inline-flex;grid-column:3;grid-row:1;background:#eef8ff;color:var(--blue)}
  .menu-toggle .icon {width:22px;height:22px}
  .nav-cta {grid-column:2;grid-row:1;padding-inline:11px;font-size:13px}
  .desktop-nav {grid-column:1/-1;flex-wrap:wrap;padding-bottom:10px}
  .js .desktop-nav {display:none}
  .desktop-nav .nav-products > div {position:static;box-shadow:none}
  .menu-drawer {position:fixed;inset:0 0 0 auto;margin:0;padding:0;border:0;width:min(370px,calc(100vw - 28px));height:100dvh;max-width:none;max-height:none;border-radius:22px 0 0 22px;background:#fff;color:var(--ink);box-shadow:-20px 0 65px #071c3538;overscroll-behavior:contain}
  .menu-drawer[open] {animation:drawer-enter 250ms var(--ease) both}
  .menu-drawer::backdrop {background:#071c3588;animation:backdrop-enter 220ms ease both}
  .drawer-open {overflow:hidden}
  .drawer-inner {display:flex;flex-direction:column;gap:18px;min-height:100%;padding:20px 20px calc(22px + env(safe-area-inset-bottom))}
  .drawer-head {display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px}
  .drawer-head h2 {font-size:1.45rem}
  .drawer-close {display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--ice);color:var(--blue)}
  .drawer-nav {display:flex;flex-direction:column;align-items:stretch;gap:4px}
  .drawer-nav a,.drawer-nav summary {min-height:48px;padding:8px 12px;border-radius:12px}
  .drawer-nav summary {justify-content:space-between}
  .drawer-nav .nav-products > div {position:static;min-width:0;padding:4px 0 4px 12px;border:0;box-shadow:none;animation:none}
  .drawer-nav .nav-products[open] summary .icon {transform:rotate(180deg)}
  .drawer-cta {align-self:stretch;margin-top:auto}
  .ambient-pause,.brand-pause {display:none}
  .about-hero .hero-image,.stats dd {animation:none}
  .hero-inner {min-height:420px;align-items:end;padding-block:110px 38px}
  .home-hero .hero-inner {min-height:525px}
  .hero-copy {max-width:650px}
  .hero-scrim {background:linear-gradient(0deg,#061a30 3%,#061a30f5 36%,#061a30ad 67%,#061a3030 100%)}
  .hero-image img {object-position:63% center}
  .home-hero .hero-scrim {background:linear-gradient(0deg,#061c34 4%,#052641f6 35%,#064062bc 69%,#06365040 100%)}
  .home-hero h1 {font-size:clamp(2.7rem,7.2vw,4.9rem)}
  .editorial-hero .hero-inner,.end-panel {grid-template-columns:1fr}
  .editorial-hero:not(.journal-hero) .hero-inner {gap:23px}
  .journal-hero .hero-inner {min-height:0;padding-bottom:0}
  .journal-hero .hero-image {position:relative;inset:auto;width:calc(100% + 36px);max-width:none;margin:0 -18px;aspect-ratio:1.95;mask-image:linear-gradient(180deg,transparent,#000 25%)}
  .editorial-hero:not(.journal-hero) .hero-image {max-width:640px}
  .product-hero .hero-inner {min-height:0;display:block;padding-bottom:clamp(210px,43vw,320px)}
  .product-hero .hero-copy {max-width:650px}
  .product-hero .hero-visual {inset:auto 0 0;height:clamp(195px,40vw,300px);mask-image:linear-gradient(180deg,transparent,#000 32%)}
  .product-hero .hero-scrim {background:linear-gradient(180deg,#ecfaff 8%,#e7faff 39%,transparent 65%)}
  .parts-hero .hero-image img {object-position:center;padding:0 16px 9px}
  .end-image {min-height:clamp(230px,59vw,390px)}
  .end-image::after {background:linear-gradient(180deg,#dff5ff 0%,#dff5ff80 9%,transparent 32%)}
  .products,.tiles,.video-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps,.quote-grid {grid-template-columns:1fr}
  .footer-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:550px) {
  .wrap {width:calc(100% - 32px)}
  .hero-inner {padding-top:105px}
  .editorial-hero .hero-inner {padding-block:34px}
  .product-hero .hero-inner {padding-bottom:225px}
  .journal-hero .hero-inner {padding-bottom:0}
  .journal-hero .hero-image {width:calc(100% + 32px);margin-inline:-16px;max-width:none}
  .journal-grid {grid-template-columns:1fr}
  .journal-thumb {flex-basis:98px}
  .journal-card a {min-height:94px}
  .hero-description {margin-top:13px}
  .hero-sectors {margin-top:14px}
  .actions {margin-top:17px}
  .button {padding-inline:13px}
  .category-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .category-card {padding:10px}
  .category-copy {padding-right:0}
  .category-copy small {font-size:13px}
  .products,.sector-tiles,.video-grid,.steps,.timeline,.split {grid-template-columns:minmax(0,1fr)}
  .split > * {min-width:0}
  .split.reverse figure,.split.reverse > div {grid-row:auto;grid-column:auto}
  .split > div {grid-row:1}
  .split.reverse > div {grid-row:1}
  .split figure img {max-height:330px}
  .photo-band .split figure img,.intro-band .split figure img,.blog-feature figure img {max-height:none}
  .form-fields {grid-template-columns:1fr}
  .stats {grid-template-columns:repeat(2,minmax(0,1fr))}
  .utility {font-size:11px}
  .utility-social {gap:0}
  .utility-social a {width:32px}
  .utility-social .brand-icon {width:15px;height:15px}
  .utility-email {min-width:0;display:grid;align-content:center;overflow-wrap:anywhere;text-align:right}
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {scroll-behavior:auto!important;animation:none!important;transition:none!important}
}

@keyframes drawer-enter {from {transform:translateX(100%)}}
@keyframes backdrop-enter {from {opacity:0}}
