/* OASIS GLASS v1.6.3 — stability / responsive QA layer
   Loaded after main.css to neutralize legacy cascade conflicts. */

:root{
  --og-navy:#073f7c;
  --og-blue:#087fc0;
  --og-cyan:#00aebe;
  --og-green:#08783d;
  --og-ink:#113f67;
  --og-copy:#355d78;
  --og-line:rgba(50,142,184,.20);
  --og-glass:rgba(248,253,255,.86);
}
html,body{max-width:100%;overflow-x:hidden!important}
body{color:var(--og-copy)!important;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,svg,video{max-width:100%}
.container{max-width:1480px!important}
p,.section-lead,.about-body,.rich-copy,.product-copy p,.feature-card p,.process-step p,.vmg-card p,.footer-brand p,.footer-links a,.contact-card small{color:var(--og-copy)!important}
h1,h2,h3,h4,h5,h6,.section-title,.product-hero-copy h1,.page-hero-copy h1,.footer-title{color:var(--og-ink)!important}

/* Header / language */
.site-header{z-index:5000!important;overflow:visible!important}
.site-header .reference-nav{overflow:visible!important;position:relative!important}
.reference-brand{overflow:visible!important}
.reference-brand img{object-fit:contain!important}
.lang-switch{direction:ltr!important;display:inline-flex!important;align-items:center!important;gap:9px!important;white-space:nowrap!important}
.lang-switch .lang-flag{display:grid!important;place-items:center!important;width:38px!important;height:30px!important;padding:0!important;border-radius:9px!important;overflow:hidden!important;background:#fff!important;border:1px solid rgba(28,113,160,.14)!important;box-shadow:0 7px 18px rgba(5,77,117,.10)!important}
.lang-switch .lang-flag img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
.lang-switch .lang-label{display:inline!important;color:var(--og-ink)!important;font-weight:800!important}

/* Desktop mega menu: JS supplies top/left and clamps it inside viewport. */
@media (min-width:1081px){
  .mobile-toggle,.mobile-nav-head,.mobile-nav-backdrop{display:none!important}
  .main-nav{position:static!important;display:flex!important;overflow:visible!important}
  .nav-dropdown{position:relative!important;isolation:auto!important}
  .nav-dropdown::after{display:none!important}
  .nav-dropdown>.mega{
    position:fixed!important;
    inset:auto!important;
    left:50vw;
    top:108px;
    width:min(660px,calc(100vw - 32px))!important;
    max-width:660px!important;
    margin:0!important;
    padding:18px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    border-radius:26px!important;
    background:rgba(248,253,255,.97)!important;
    border:1px solid rgba(55,145,185,.20)!important;
    box-shadow:0 28px 80px rgba(7,67,105,.18)!important;
    backdrop-filter:blur(28px) saturate(150%)!important;
    transform:translate(-50%,8px)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    z-index:6000!important;
  }
  .nav-dropdown.open>.mega,.nav-dropdown:hover>.mega,.nav-dropdown:focus-within>.mega{
    opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate(-50%,0)!important;
  }
  .mega::before{content:""!important;position:absolute!important;left:0!important;right:0!important;top:-14px!important;height:16px!important;background:transparent!important}
  .mega a{min-width:0!important;grid-template-columns:72px minmax(0,1fr)!important;overflow:hidden!important}
  .mega a>span{min-width:0!important}
  .mega strong,.mega span span{white-space:normal!important;overflow-wrap:anywhere!important}
}

/* Product detail breadcrumb should never create a large blank hero. */
.product-breadcrumb-strip{padding:132px 0 18px!important;background:transparent!important;min-height:0!important;position:relative!important}
.product-breadcrumb-strip .breadcrumb{margin:0!important;padding:12px 16px!important;border-radius:14px!important;background:rgba(248,253,255,.72)!important;border:1px solid var(--og-line)!important;width:max-content!important;max-width:100%!important;flex-wrap:wrap!important}
.product-hero{align-items:center!important}
.product-hero-media{height:auto!important;min-height:0!important;overflow:visible!important;box-shadow:none!important}
.product-single-media{width:100%!important;aspect-ratio:4/3!important;min-height:0!important;height:auto!important}
.product-single-media .single-media-frame img{object-fit:contain!important}

/* Page hero: compact and predictable on desktop. */
.page-hero.page-hero-v16,.page-hero.page-hero-v12{padding:142px 0 58px!important;overflow:hidden!important}
.page-hero-frame{overflow:hidden!important}
.page-hero-grid{align-items:center!important}
.page-hero-copy{min-width:0!important}
.page-hero-copy h1{font-size:clamp(2.65rem,4.3vw,5rem)!important;line-height:1.38!important;max-width:820px!important;overflow-wrap:normal!important;word-break:normal!important}
.page-hero-copy p{font-size:1rem!important;line-height:1.95!important;max-width:760px!important}
.premium-single-media,.page-hero-v16 .premium-single-media,.about-grid-v16 .about-image-single,.executive-media{overflow:hidden!important}
.single-media-frame img{object-fit:contain!important}

/* readable stat/process bands */
.stat-band{background:linear-gradient(120deg,#073f7c,#087fc0 58%,#00aebe)!important;color:#fff!important}
.stat-band h3,.stat-band p,.stat-band b,.stat-band span{color:#fff!important;text-shadow:0 1px 2px rgba(0,24,58,.15)}

/* overlays on photos must be legible */
.bento-copy,.bento-copy h3,.bento-copy p,.bento-copy span,.gallery-item::before{color:#fff!important;text-shadow:0 2px 12px rgba(0,20,45,.72)!important}
.bento-card::after{background:linear-gradient(180deg,transparent 30%,rgba(2,31,61,.88))!important}

/* Contact / forms */
.contact-grid,.form-shell{align-items:start!important}
.rfq-form,.contact-list,.rfq-aside{min-width:0!important}
.form-grid{width:100%!important}
.field input,.field select,.field textarea{width:100%!important;max-width:100%!important;min-width:0!important}
.field textarea{resize:vertical!important}
.contact-card strong{overflow-wrap:anywhere!important}

/* Footer social icons keep brand colors even without links */
.social-links-v13 a,.social-links-v13 .social-disabled{opacity:1!important;filter:none!important}
.social-instagram{color:#E1306C!important}.social-x{color:#111!important}.social-linkedin{color:#0A66C2!important}.social-youtube{color:#FF0000!important}.social-facebook{color:#1877F2!important}.social-snapchat{color:#111!important;background:#FFFC00!important}
html[data-theme="dark"] .social-x{color:#fff!important}

/* ================= MOBILE / TABLET ================= */
@media (max-width:1080px){
  :root{--header-h:78px}
  .container{width:calc(100% - 24px)!important;max-width:none!important}
  .site-header{height:78px!important;padding:6px 0!important}
  .site-header .reference-nav{height:66px!important;min-height:66px!important;padding:5px 7px!important;border-radius:20px!important;gap:7px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
  .reference-brand{width:76px!important;min-width:76px!important;flex:0 0 76px!important;height:58px!important;padding:4px!important}
  .reference-brand img{width:64px!important;height:50px!important}
  .reference-brand .brand-copy{display:none!important}
  .reference-actions{display:flex!important;align-items:center!important;gap:6px!important;margin-inline-start:auto!important}
  .reference-actions .nav-cta{display:none!important}
  .reference-actions .icon-btn,.mobile-toggle{display:grid!important;width:42px!important;height:42px!important;flex:0 0 42px!important}
  .lang-switch{height:42px!important;min-height:42px!important;padding:0 7px!important;border-radius:14px!important;gap:6px!important}
  .lang-switch .lang-flag{width:34px!important;height:26px!important;border-radius:7px!important}
  .lang-switch .lang-label{font-size:.72rem!important}
  .lang-switch .lang-switch-arrow{display:none!important}

  /* true drawer — never floats in the page flow */
  .mobile-nav-backdrop{display:block!important;position:fixed!important;inset:0!important;z-index:5500!important;background:rgba(3,30,51,.32)!important;backdrop-filter:blur(3px)!important;-webkit-backdrop-filter:blur(3px)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .25s ease,visibility .25s ease!important}
  body.mobile-nav-open .mobile-nav-backdrop{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  body.mobile-nav-open{overflow:hidden!important;touch-action:none!important}

  .reference-nav .main-nav{
    display:flex!important;
    position:fixed!important;
    top:0!important;bottom:0!important;
    right:0!important;left:auto!important;
    width:min(88vw,390px)!important;
    max-width:390px!important;
    height:100dvh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:6px!important;
    padding:18px 14px 30px!important;
    margin:0!important;
    border-radius:28px 0 0 28px!important;
    background:linear-gradient(160deg,rgba(249,254,255,.995),rgba(226,246,250,.985))!important;
    border:0!important;
    border-inline-start:1px solid rgba(70,165,206,.26)!important;
    box-shadow:-24px 0 70px rgba(3,55,89,.18)!important;
    backdrop-filter:none!important;
    transform:translateX(105%)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:none!important;
    transition:transform .3s cubic-bezier(.2,.8,.2,1)!important;
    z-index:5600!important;
  }
  html[dir="ltr"] .reference-nav .main-nav{left:0!important;right:auto!important;transform:translateX(-105%)!important;border-radius:0 28px 28px 0!important;border-inline-start:0!important;border-inline-end:1px solid rgba(70,165,206,.26)!important}
  .reference-nav .main-nav.open{transform:translateX(0)!important;pointer-events:auto!important}
  .mobile-nav-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:2px 2px 14px!important;margin:0 0 6px!important;border-bottom:1px solid rgba(48,142,184,.16)!important;flex:0 0 auto!important}
  .mobile-nav-brand{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}
  .mobile-nav-brand img{width:58px!important;height:48px!important;object-fit:contain!important}
  .mobile-nav-brand span{display:grid!important;min-width:0!important}.mobile-nav-brand strong{font-size:.88rem!important;color:var(--og-ink)!important}.mobile-nav-brand small{font-size:.65rem!important;color:#5c7b90!important}
  .mobile-nav-close{display:grid!important;width:42px!important;height:42px!important;place-items:center!important;flex:0 0 42px!important;border-radius:50%!important;border:1px solid var(--og-line)!important;background:#fff!important;color:var(--og-ink)!important;font-size:1.45rem!important}

  .reference-nav .main-nav>a,.reference-nav .nav-dropdown>button{
    display:flex!important;align-items:center!important;justify-content:flex-start!important;
    width:100%!important;min-height:48px!important;padding:11px 13px!important;margin:0!important;
    border-radius:14px!important;border:1px solid transparent!important;background:transparent!important;
    color:var(--og-ink)!important;font-size:.9rem!important;font-weight:800!important;text-align:start!important;line-height:1.5!important;
  }
  .reference-nav .main-nav>a::after,.reference-nav .nav-dropdown>button::after{display:none!important}
  .reference-nav .main-nav>a.active,.reference-nav .nav-dropdown.open>button{background:linear-gradient(135deg,rgba(8,127,192,.10),rgba(0,174,190,.10))!important;border-color:rgba(8,127,192,.15)!important}
  .nav-caret{margin-inline-start:auto!important}
  .nav-dropdown{display:block!important;width:100%!important;position:static!important;isolation:auto!important}
  .nav-dropdown::after{display:none!important}
  .nav-dropdown>.mega{
    display:none!important;position:static!important;inset:auto!important;transform:none!important;width:100%!important;max-width:100%!important;margin:5px 0 2px!important;padding:8px!important;
    grid-template-columns:1fr!important;gap:6px!important;border-radius:16px!important;background:rgba(238,249,252,.92)!important;border:1px solid rgba(48,142,184,.13)!important;box-shadow:none!important;
    opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  }
  .nav-dropdown.open>.mega{display:grid!important}
  .mega::before{display:none!important}
  .mega a{display:grid!important;grid-template-columns:56px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;width:100%!important;min-height:62px!important;padding:7px!important;border-radius:12px!important;background:#fff!important;border:1px solid rgba(48,142,184,.10)!important;overflow:hidden!important}
  .mega img{width:56px!important;height:48px!important;object-fit:cover!important;border-radius:10px!important}
  .mega a>span{min-width:0!important}.mega strong{font-size:.82rem!important;color:var(--og-ink)!important;white-space:normal!important;line-height:1.4!important}.mega span span{font-size:.64rem!important;color:#5b788c!important;white-space:normal!important;line-height:1.35!important}
  .mega-all{width:56px!important;height:48px!important;border-radius:10px!important}

  /* hero */
  .hero-v11{padding-top:94px!important;min-height:0!important;overflow:hidden!important}
  .hero-v11 .hero-grid{display:flex!important;flex-direction:column!important;gap:30px!important;padding:34px 0 48px!important;width:100%!important}
  .hero-v11 .hero-copy,.hero-v11 .hero-visual{width:100%!important;min-width:0!important;max-width:100%!important}
  .hero-v11 .hero-copy{order:1!important}.hero-v11 .hero-visual{order:2!important;min-height:0!important}
  .hero-v11 h1{font-size:clamp(2.15rem,9vw,3.35rem)!important;line-height:1.45!important;width:100%!important;max-width:100%!important;margin:20px 0 16px!important;overflow-wrap:normal!important;word-break:normal!important;text-wrap:balance!important}
  .hero-v11 p{font-size:.9rem!important;line-height:1.95!important;width:100%!important;max-width:100%!important}
  .hero-actions{width:100%!important}.hero-actions .btn{flex:1 1 180px!important;min-width:0!important}
  .hero-picture-shell.hero-single-media{width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:4/3!important;margin:0!important}
  .reference-media-stage{width:100%!important;max-width:100%!important;min-width:0!important}
  .oasis-float-preview{max-width:42%!important}
  .hero-proof{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;width:100%!important}
  .proof-item{width:auto!important;min-width:0!important;padding:12px!important}

  /* page layouts */
  .page-hero.page-hero-v16,.page-hero.page-hero-v12{padding:96px 0 38px!important}
  .page-hero-frame{padding:20px 16px!important;border-radius:26px!important;width:100%!important}
  .page-hero-grid{display:flex!important;flex-direction:column!important;gap:26px!important;width:100%!important}
  .page-hero-copy,.page-hero-media{width:100%!important;min-width:0!important;max-width:100%!important}
  .page-hero-copy h1{font-size:clamp(2rem,8.5vw,2.9rem)!important;line-height:1.5!important;width:100%!important;max-width:100%!important}
  .page-hero-copy p{font-size:.88rem!important;line-height:1.9!important;width:100%!important}
  .premium-single-media,.page-hero-v16 .premium-single-media,.about-grid-v16 .about-image-single,.executive-media,.product-single-media{width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:4/3!important;margin:0!important;border-radius:24px!important;padding:8px!important}
  .single-media-frame,.single-media-frame img{width:100%!important;height:100%!important;max-width:100%!important}
  .single-media-frame img{object-fit:contain!important}

  .section{padding:58px 0!important;overflow:visible!important}.section.tight{padding:44px 0!important}
  .split-head{display:block!important;margin-bottom:28px!important}.split-head .section-lead{margin-top:12px!important}
  .section-title,.about-copy h2,.product-hero-copy h1{font-size:clamp(1.9rem,8vw,2.65rem)!important;line-height:1.5!important;width:100%!important;max-width:100%!important}
  .about-grid-v16,.about-grid,.product-hero,.ceo-luxury,.ceo,.form-shell,.contact-grid,.cta-panel{display:flex!important;flex-direction:column!important;gap:24px!important;width:100%!important}
  .product-hero-media,.product-hero-copy,.about-copy,.ceo-copy,.contact-list,.rfq-form,.rfq-aside{width:100%!important;min-width:0!important;max-width:100%!important}
  .product-grid,.cards-3,.sector-grid,.values-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .process{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .stat-band{grid-template-columns:1fr 1fr!important;padding:28px!important;gap:20px!important}.stat-intro{grid-column:1/-1!important}
  .footer-grid{grid-template-columns:1fr 1fr!important}
  .footer-contact-ribbon{grid-template-columns:1fr!important}
  .gallery-toolbar{position:static!important;flex-direction:column!important;align-items:stretch!important}
  .gallery-filters{overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:4px!important}
  .premium-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:auto!important}
  .premium-gallery .gallery-item{grid-column:auto!important;grid-row:auto!important;aspect-ratio:4/3!important}
  .form-grid{grid-template-columns:1fr 1fr!important}
  .field.full{grid-column:1/-1!important}
  .product-breadcrumb-strip{padding:96px 0 8px!important}
}

@media (max-width:680px){
  .container{width:calc(100% - 18px)!important}
  .reference-brand{width:66px!important;min-width:66px!important;flex-basis:66px!important}.reference-brand img{width:54px!important;height:45px!important}
  .reference-actions .icon-btn,.mobile-toggle{width:40px!important;height:40px!important;flex-basis:40px!important}
  .lang-switch{width:44px!important;min-width:44px!important;padding:0!important;justify-content:center!important}.lang-switch .lang-label{display:none!important}.lang-switch .lang-flag{width:32px!important;height:24px!important}
  .reference-nav .main-nav{width:min(92vw,360px)!important;border-radius:24px 0 0 24px!important;padding:14px 11px 24px!important}
  html[dir="ltr"] .reference-nav .main-nav{border-radius:0 24px 24px 0!important}
  .hero-v11 h1{font-size:clamp(2rem,10.2vw,2.8rem)!important;line-height:1.46!important}
  .hero-proof{display:flex!important;overflow-x:auto!important;gap:10px!important;padding-bottom:5px!important;scroll-snap-type:x proximity!important}.proof-item{flex:0 0 170px!important;scroll-snap-align:start!important}
  .hero-picture-shell.hero-single-media{aspect-ratio:1/1!important}
  .oasis-float-preview{width:44%!important;max-width:170px!important}
  .page-hero-copy h1{font-size:clamp(1.9rem,10vw,2.55rem)!important}
  .premium-single-media,.page-hero-v16 .premium-single-media,.about-grid-v16 .about-image-single,.executive-media,.product-single-media{aspect-ratio:1/1!important}
  .product-grid,.cards-3,.sector-grid,.values-grid,.process{grid-template-columns:1fr!important}
  .stat-band{grid-template-columns:1fr!important;padding:24px 20px!important}.stat-intro{grid-column:auto!important}
  .footer-grid{grid-template-columns:1fr!important}
  .form-grid{grid-template-columns:1fr!important}.field.full{grid-column:auto!important}
  .premium-gallery{grid-template-columns:1fr!important}
  .cta-panel{padding:30px 20px!important}
  .floating-whatsapp{transform:scale(.92);transform-origin:bottom left}
}

@media (max-width:390px){
  .container{width:calc(100% - 12px)!important}
  .reference-brand{width:58px!important;min-width:58px!important;flex-basis:58px!important}.reference-brand img{width:48px!important}
  .reference-actions{gap:4px!important}.reference-actions .icon-btn,.mobile-toggle{width:38px!important;height:38px!important;flex-basis:38px!important}.lang-switch{width:40px!important;min-width:40px!important;height:38px!important;min-height:38px!important}.lang-switch .lang-flag{width:29px!important;height:22px!important}
  .hero-v11 h1{font-size:1.95rem!important}
}

html[data-theme="dark"] .reference-nav .main-nav{background:linear-gradient(160deg,rgba(8,31,48,.995),rgba(4,23,36,.99))!important}
html[data-theme="dark"] .reference-nav .main-nav>a,html[data-theme="dark"] .reference-nav .nav-dropdown>button{color:#e7f8ff!important}
html[data-theme="dark"] .nav-dropdown>.mega{background:rgba(10,41,58,.96)!important}
html[data-theme="dark"] .mega a{background:rgba(18,52,70,.88)!important;border-color:rgba(104,202,221,.12)!important}
html[data-theme="dark"] .mega strong{color:#e7f8ff!important}html[data-theme="dark"] .mega span span{color:#aed0df!important}
