:root{--red:#c61f2b;--dark:#101216;--ink:#24262b;--muted:#6f747c;--light:#f5f5f3;--line:#e5e5e2;--white:#fff;--container:1220px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:'Outfit',sans-serif;color:var(--ink);background:#fff;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.container{width:min(var(--container),calc(100% - 48px));margin:auto}.site-header{position:fixed;top:0;left:0;width:100%;z-index:1000;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.07);transition:.3s}.site-header.scrolled{box-shadow:0 10px 30px rgba(0,0,0,.08)}.nav-wrap{height:96px;display:flex;align-items:center;justify-content:space-between}.brand img{width:220px;max-height:68px;object-fit:contain}.footer-logo{width:220px;max-height:75px;object-fit:contain;margin-bottom:20px}.main-nav{display:flex;align-items:center;gap:22px}.main-nav a{font-size:14px;font-weight:600;letter-spacing:.02em;position:relative}.main-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--red);transition:.3s}.main-nav a:hover::after,.main-nav a.active::after{width:100%}.nav-cta{padding:12px 20px;background:var(--red);color:#fff}.nav-dropdown{position:relative;display:inline-flex;align-items:center}.nav-dropdown-toggle{font-size:14px;font-weight:600;letter-spacing:.02em;position:relative;display:inline-flex;align-items:center;gap:4px;cursor:pointer;padding:10px 0}.arrow-down{font-size:11px;transition:transform .2s ease}.nav-dropdown:hover .arrow-down{transform:rotate(180deg)}.dropdown-content{position:absolute;top:100%;left:-12px;min-width:260px;background:#fff;border:1px solid rgba(0,0,0,.09);box-shadow:0 12px 30px rgba(0,0,0,.11);border-radius:6px;padding:8px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .25s ease;z-index:1100}.nav-dropdown:hover .dropdown-content{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-content a{display:block;padding:10px 18px;font-size:13.5px;font-weight:550;color:var(--ink);transition:background .2s,color .2s}.dropdown-content a:hover{background:#f8f8f6;color:var(--red)}.dropdown-content a::after{display:none!important}@media(max-width:1100px){.nav-dropdown{flex-direction:column;align-items:flex-start;width:100%}.nav-dropdown-toggle{padding:6px 0}.dropdown-content{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding-left:14px;min-width:100%;background:transparent}.dropdown-content a{padding:6px 0;font-size:13px;color:var(--muted)}}.menu-toggle{display:none;background:none;cursor:pointer}.menu-toggle span{display:block;width:26px;height:2px;background:#111;margin:5px 0;transition:.3s}.lang-selector{display:inline-flex;align-items:center;margin-left:4px}.lang-selector select{padding:9px 14px;border:1px solid #d0d0cc;background:#fff;color:var(--ink);font-size:13px;font-weight:600;font-family:inherit;border-radius:4px;outline:none;cursor:pointer;transition:.2s}.lang-selector select:hover,.lang-selector select:focus{border-color:var(--red);color:var(--red)}.hero{height:75vh;min-height:540px;position:relative}.hero-slider,.hero-slide{height:100%}.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;visibility:hidden;transition:opacity .8s ease}.hero-slide.active{opacity:1;visibility:visible}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,10,15,.83),rgba(7,10,15,.18))}.hero-overlay.light{background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.25))}.hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:white;max-width:1220px}.hero-content.dark{color:var(--dark)}.eyebrow,.section-kicker{font-size:13px;letter-spacing:.19em;font-weight:700;color:var(--red);margin-bottom:18px}.hero h1,.hero h2{font-size:clamp(52px,7vw,96px);line-height:.98;max-width:900px;font-weight:700;letter-spacing:-.04em}.hero-content>p:not(.eyebrow){max-width:670px;font-size:20px;margin-top:28px;color:rgba(255,255,255,.85)}.hero-content.dark>p:not(.eyebrow){color:#4a4d53}.hero-actions{display:flex;gap:14px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 23px;font-weight:650;font-size:14px;border:1px solid transparent;cursor:pointer;transition:.3s}.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:#a91621;transform:translateY(-2px)}.btn-light{background:#fff;color:#16181c}.btn-light:hover{background:transparent;color:#fff;border-color:#fff}.dark .btn-light{border:1px solid #222}.dark .btn-light:hover{color:#222}.slider-dots{position:absolute;z-index:5;right:38px;top:50%;display:flex;flex-direction:column;gap:11px}.dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer}.dot.active{background:var(--red);transform:scale(1.35)}.scroll-cue{position:absolute;z-index:5;bottom:30px;left:50%;transform:translateX(-50%);color:#fff;font-size:12px;letter-spacing:.13em;text-transform:uppercase}.scroll-cue span{margin-left:8px}.hero-stats-banner{background:#15171c;padding:45px 0;border-bottom:1px solid rgba(255,255,255,.08);position:relative;z-index:10}.hero-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.hero-stat-card{padding:0 32px;border-right:1px solid rgba(255,255,255,.12)}.hero-stat-card:first-child{padding-left:0}.hero-stat-card:last-child{border-right:none;padding-right:0}.hero-stat-num{font-size:54px;font-weight:800;color:#ff5e62;line-height:1;margin-bottom:10px;font-family:'Outfit',sans-serif;letter-spacing:-.02em}.hero-stat-title{font-size:15px;font-weight:700;color:#fff;margin-bottom:4px;line-height:1.3}.hero-stat-desc{font-size:12px;color:#8f949d;font-weight:400;line-height:1.4}.section{padding:110px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:82px;align-items:center}.image-stack{position:relative}.main-image{width:100%;min-height:520px;object-fit:cover}.experience-card{position:absolute;right:-28px;bottom:40px;background:var(--red);color:#fff;padding:24px;width:185px}.experience-card strong{font-size:48px;line-height:1;display:block}.experience-card span{font-size:13px}.content h2,.section-head h2,.impact-banner h2,.career-inner h2,.contact h2{font-size:clamp(38px,5vw,64px);line-height:1.05;letter-spacing:-.035em;margin-bottom:26px}.content>p{font-size:17px;color:var(--muted);margin-bottom:18px}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:34px 0}.mini-stats div{padding-top:18px;border-top:1px solid var(--line)}.mini-stats strong{font-size:36px;color:var(--red);display:block}.mini-stats span{font-size:13px;color:var(--muted)}.text-link{font-weight:650}.text-link span{color:var(--red);margin-left:8px}.businesses{background:var(--light)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:50px}.section-head>p{max-width:460px;color:var(--muted);font-size:17px}.business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.business-card{position:relative;height:470px;overflow:hidden;background:#111}.business-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.business-card:hover img{transform:scale(1.06)}.card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(5,7,10,.95),rgba(5,7,10,.06) 70%)}.card-content{position:absolute;left:28px;right:28px;bottom:26px;color:#fff}.card-content>span{font-size:12px;color:#ddd}.card-content h3{font-size:26px;line-height:1.1;margin:10px 0}.card-content p{color:#d8d8d8;font-size:14px;max-height:0;opacity:0;overflow:hidden;transition:.4s}.card-content a{display:inline-block;color:#fff;margin-top:14px;font-weight:600;font-size:13px}.business-card:hover .card-content p{max-height:90px;opacity:1}.impact-banner{padding:90px 0;background:var(--red);color:#fff}.impact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center}.light-text{color:#fff}.impact-items{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.impact-items div{border-left:1px solid rgba(255,255,255,.35);padding-left:20px}.impact-items strong{display:block;font-size:20px;margin-bottom:8px}.impact-items span{font-size:13px;color:rgba(255,255,255,.75)}.leader-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.leader-card{background:var(--light)}.leader-card img{width:100%;height:335px;object-fit:cover;object-position:top}.leader-card div{padding:22px}.leader-card p{font-size:11px;letter-spacing:.16em;color:var(--red);font-weight:700}.leader-card h3{font-size:21px;margin:7px 0}.leader-card span{font-size:14px;color:var(--muted)}.vision-section{background:#111}.vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.vision-card{min-height:520px;background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end;overflow:hidden}.vision-card .shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.86),rgba(0,0,0,.1))}.vision-card>div:last-child{position:relative;color:white;padding:40px}.vision-card span{color:#ef6d75;font-weight:700;letter-spacing:.15em;font-size:12px}.vision-card h3{font-size:32px;line-height:1.2;margin-top:13px}.reverse-mobile{}.check-list{list-style:none;margin:26px 0 34px}.check-list li{padding:12px 0 12px 27px;border-bottom:1px solid var(--line);position:relative}.check-list li::before{content:"✓";position:absolute;left:0;color:var(--red);font-weight:800}.sustainability-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sustainability-gallery img{height:240px;width:100%;object-fit:cover}.sustainability-gallery img:first-child{grid-column:span 2;height:300px}.careers{padding:95px 0;background:url('assets/life at-CXFI-WOh.jpeg') center/cover fixed;position:relative;color:#fff}.careers::before{content:"";position:absolute;inset:0;background:rgba(8,10,14,.77)}.career-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:40px}.career-inner p:not(.section-kicker){max-width:650px;color:#d4d4d4}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.contact-copy>p{color:var(--muted);font-size:17px}.contact-points{margin-top:38px}.contact-points div{padding:18px 0;border-bottom:1px solid var(--line)}.contact-points span{font-size:11px;letter-spacing:.15em;color:var(--red);font-weight:700;display:block}.contact-points a,.contact-points p{font-size:18px}.contact-form{background:var(--light);padding:38px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:block;font-size:13px;font-weight:600;margin-bottom:18px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:8px;padding:13px 14px;border:1px solid #d7d7d2;background:#fff;outline:none;font:inherit}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--red)}.form-status{margin-top:14px;font-size:14px;color:#267a37}.footer{background:#0e1013;color:#c9c9c9;padding:72px 0 22px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:32px}.footer-logo{width:160px;margin-bottom:20px}.footer-grid h4{color:#fff;margin-bottom:18px}.footer-grid a{display:block;margin:9px 0;font-size:14px}.footer-grid p{max-width:310px;font-size:14px}.footer-bottom{margin-top:55px;padding-top:20px;border-top:1px solid #292c31;display:flex;justify-content:space-between;font-size:12px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:1100px){.nav-wrap{height:84px}.main-nav{position:fixed;top:84px;right:-100%;width:min(340px,85vw);height:calc(100vh - 84px);background:#fff;flex-direction:column;align-items:stretch;padding:32px 24px;transition:right 0.35s cubic-bezier(0.16,1,0.3,1);box-shadow:-10px 20px 40px rgba(0,0,0,.15);overflow-y:auto;z-index:999}.main-nav.open{right:0}.main-nav a{padding:12px 0;font-size:15px;border-bottom:1px solid #f0f0ed;width:100%}.main-nav a:not(.nav-cta)::after{display:none!important}.nav-cta{margin-top:14px;text-align:center;border-radius:6px;border-bottom:none!important}.menu-toggle{display:block}.business-grid{grid-template-columns:repeat(2,1fr)}.leader-grid{grid-template-columns:repeat(2,1fr)}.two-col,.contact-grid{gap:45px}.impact-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:repeat(2,1fr)}.lang-selector{margin-left:0;margin-top:14px;width:100%}.lang-selector select{width:100%;padding:12px 14px;font-size:14px}}.clients-section{background:#f9f9f8;padding:90px 0;border-bottom:1px solid var(--line)}.clients-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:50px}.client-card{background:#fff;border:1px solid #e8e8e4;padding:32px 28px;transition:transform .3s ease,box-shadow .3s ease;border-radius:2px}.client-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.06);border-color:#dcdcd6}.client-icon{margin-bottom:18px}.client-card h3{font-size:19px;font-weight:700;color:var(--dark);margin-bottom:8px}.client-card p{font-size:14px;color:var(--muted);line-height:1.55}.client-marquee-wrap{background:#fff;border:1px solid var(--line);padding:28px 32px;text-align:center;overflow:hidden}.marquee-title{font-size:11px;letter-spacing:.18em;font-weight:700;color:var(--muted);margin-bottom:18px}.client-marquee{overflow:hidden;white-space:nowrap;position:relative}.marquee-track{display:inline-block;animation:marquee 24s linear infinite;font-size:15px;font-weight:650;color:var(--ink)}.marquee-track span.dot{color:var(--red);margin:0 18px}@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}.portfolio-section{background:#fdfdfd;padding:95px 0;border-bottom:1px solid var(--line)}.portfolio-link-cta{font-size:14px;font-weight:600;color:var(--ink);transition:.2s}.portfolio-link-cta:hover{color:var(--red)}.portfolio-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px}.filter-btn{padding:10px 20px;border-radius:24px;font-size:13px;font-weight:600;background:#f0f0ed;color:#555;border:none;cursor:pointer;transition:.25s ease;font-family:inherit}.filter-btn:hover,.filter-btn.active{background:var(--red);color:#fff}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.portfolio-card{position:relative;height:480px;border-radius:18px;overflow:hidden;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:32px;transition:transform .35s ease,box-shadow .35s ease;cursor:pointer}.portfolio-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.2)}.portfolio-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,12,16,.95) 0%,rgba(10,12,16,.58) 55%,rgba(10,12,16,.15) 100%)}.portfolio-card-content{position:relative;z-index:2;color:#fff}.portfolio-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;color:#ff6b6b;margin-bottom:12px;font-family:'Outfit',sans-serif}.portfolio-card h3{font-size:22px;font-weight:700;line-height:1.25;margin-bottom:10px;color:#fff}.portfolio-card p{font-size:13px;color:rgba(255,255,255,.84);line-height:1.5}.project-registry-section{background:#fff;padding:85px 0;border-bottom:1px solid var(--line)}.registry-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:28px}.registry-header h2{font-size:clamp(24px,3.8vw,34px);font-weight:700;color:var(--dark);margin-bottom:0}.registry-controls{display:flex;gap:12px;flex-wrap:wrap}.registry-controls input,.registry-controls select{padding:10px 16px;border:1px solid #d4d4cf;background:#fff;border-radius:4px;font-size:13px;font-family:inherit;outline:none;transition:border-color .2s}.registry-controls input:focus,.registry-controls select:focus{border-color:var(--red)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #e2e4e8;border-radius:4px}.project-table{width:100%;border-collapse:collapse;font-size:13.5px;text-align:left}.project-table thead tr{background:#22242a;color:#fff}.project-table th{padding:15px 18px;font-weight:700;font-size:12px;letter-spacing:.05em;color:#ff6b6b;border-right:1px solid rgba(255,255,255,.08)}.project-table th:last-child{border-right:none}.project-table tbody tr{border-bottom:1px solid #edf0f4;transition:background .2s}.project-table tbody tr:nth-child(even){background:#fafafa}.project-table tbody tr:hover{background:#f2f4f8}.project-table td{padding:14px 18px;color:#333;vertical-align:middle;line-height:1.45}.project-table td strong{color:var(--dark);font-weight:600}.cost-cell{font-weight:800;color:var(--red);font-family:'Outfit',sans-serif;white-space:nowrap}.badge{display:inline-block;padding:5px 12px;border-radius:12px;font-size:11px;font-weight:700;white-space:nowrap}.badge-green{background:#e6f7ec;color:#1e7e44}.badge-red{background:#fde8e8;color:#c61f2b}.badge-grey{background:#ededeb;color:#55565a}.badge-blue{background:#e8f2fc;color:#1d63b8}.registry-footer{display:flex;justify-content:space-between;align-items:center;margin-top:24px;flex-wrap:wrap;gap:14px}.registry-footer p{font-size:13px;color:var(--muted);font-weight:600}@media(max-width:990px){.hero-stats-grid{grid-template-columns:repeat(2,1fr);gap:32px 0}.hero-stat-card{padding:0 24px!important;border-right:none}.hero-stat-card:nth-child(odd){border-right:1px solid rgba(255,255,255,.12)!important;padding-left:0!important}.clients-grid,.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.clients-grid,.portfolio-grid{grid-template-columns:1fr}.portfolio-card{height:420px;padding:24px}}@media(max-width:760px){.container{width:min(100% - 30px,var(--container))}.nav-wrap{height:72px}.main-nav{top:72px;height:calc(100vh - 72px)}.hero{height:70vh;min-height:480px}.hero h1,.hero h2{font-size:48px}.hero-content>p:not(.eyebrow){font-size:17px}.hero-actions{flex-direction:column;align-items:flex-start}.slider-dots{right:18px}.section{padding:78px 0}.two-col,.vision-grid,.contact-grid{grid-template-columns:1fr}.experience-card{right:10px}.mini-stats{grid-template-columns:1fr 1fr}.business-grid{grid-template-columns:1fr}.business-card{height:430px}.impact-items{grid-template-columns:1fr}.leader-grid{grid-template-columns:1fr 1fr}.leader-card img{height:270px}.vision-card{min-height:420px}.reverse-mobile .content{order:2}.reverse-mobile .sustainability-gallery{order:1}.career-inner{flex-direction:column;align-items:flex-start}.form-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}}@media(max-width:560px){.hero-stats-grid{grid-template-columns:1fr;gap:24px}.hero-stat-card{border-right:none!important;border-bottom:1px solid rgba(255,255,255,.1);padding:0 0 20px 0!important}.hero-stat-card:last-child{border-bottom:none;padding-bottom:0!important}}@media(max-width:480px){.hero h1,.hero h2{font-size:40px}.leader-grid{grid-template-columns:1fr}.mini-stats{grid-template-columns:1fr}.sustainability-gallery{grid-template-columns:1fr}.sustainability-gallery img:first-child{grid-column:auto}.contact-form{padding:24px}.vision-card h3{font-size:26px}}
.mega-dropdown-content{left:-120px;min-width:620px;padding:24px 30px;background:#fff;border:1px solid rgba(0,0,0,.09);box-shadow:0 18px 45px rgba(0,0,0,.12);border-radius:8px}
.mega-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;text-align:left}
.mega-col-title{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--dark);display:block;margin-bottom:8px;text-transform:uppercase}
.mega-line{height:1px;background:#e5e5e0;margin-bottom:14px;width:100%}
.mega-item{font-size:13.5px;font-weight:550;color:var(--ink);transition:color .2s ease;display:block;padding:4px 0!important}
.mega-item:hover{color:var(--red);background:none!important}

/* Keyboard access and reduced-motion support */
:where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid rgba(198, 31, 43, .45);
  outline-offset: 3px;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.address-text {
  text-align: justify;
  text-justify: inter-word;
}
.address-text a { display: block; }
.portfolio-card { cursor: default; }
.nav-dropdown:focus-within .dropdown-content {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.nav-dropdown:focus-within .arrow-down { transform: rotate(180deg); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Drawer-only controls must never appear in the desktop header. */
.mobile-drawer-header {
  display: none;
}

@media (min-width: 1101px) {
  .mobile-drawer-footer {
    display: contents;
  }
}

@media(max-width:1100px){
  .mega-dropdown-content{min-width:100%;left:0;padding:12px 0}
  .mega-grid{grid-template-columns:1fr;gap:18px}
}

/* ULTRA-STRICT GOOGLE TRANSLATE SUPPRESSION (OBLITERATE ALL FLOATING BADGES & ICONS) */
[class*="VIpgJd"],
[id*="VIpgJd"],
[class*="goog-te"],
[id*="goog-gt"],
[class*="goog-"],
.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate,
iframe.goog-te-banner-frame,
iframe[id*=":1.container"],
iframe[id*="goog"],
iframe[src*="translate"],
.goog-te-gadget,
.goog-te-gadget-icon,
.goog-te-gadget-simple,
.goog-te-gadget-clothing,
.skiptranslate:not(#langSelect),
#google_translate_element,
#google_translate_element *,
#goog-gt-tt,
.goog-te-balloon-frame,
.goog-tooltip,
.goog-tooltip:hover,
.goog-text-highlight,
.goog-te-spinner-pos,
.goog-te-menu-frame,
.goog-te-banner,
#goog-gt- {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  max-height: 0 !important;
  width: 0 !important;
  max-width: 0 !important;
  overflow: hidden !important;
  z-index: -9999 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: scale(0) !important;
}

body {
  top: 0px !important;
  position: static !important;
  margin-top: 0px !important;
  padding-top: 0px !important;
}

body > .skiptranslate,
body > iframe[src*="translate"] {
  display: none !important;
  height: 0 !important;
  width: 0 !important;
}

font font {
  background-color: transparent !important;
  box-shadow: none !important;
}

/* Group Structure Section */
.group-structure-section {
  padding: 90px 0;
  background: #fafafa;
  border-bottom: 1px solid var(--line);
}
.group-structure-title {
  font-size: clamp(32px, 4vw, 44px);
  font-weight: 800;
  color: var(--dark);
  text-align: center;
  margin-bottom: 4px;
  letter-spacing: -0.03em;
}
.group-structure-accent {
  width: 50px;
  height: 3.5px;
  background: var(--red);
  margin: 10px auto 46px;
  border-radius: 2px;
}
.group-structure-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  max-width: 1060px;
  margin: 0 auto;
}
.group-structure-card {
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 16px;
  padding: 36px 32px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  transition: transform .3s ease, box-shadow .3s ease;
}
.group-structure-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.09);
}
.group-structure-icon {
  width: 52px;
  height: 52px;
  background: #fdf2f2;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
}
.group-structure-card h3 {
  font-size: 21px;
  font-weight: 700;
  color: var(--dark);
  line-height: 1.3;
  margin-bottom: 8px;
}
.group-structure-subtitle {
  font-size: 11px;
  font-weight: 800;
  color: var(--muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 18px;
  display: block;
}
.group-structure-card p {
  font-size: 14.5px;
  color: #555e68;
  line-height: 1.65;
}
@media (max-width: 768px) {
  .group-structure-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .group-structure-card {
    padding: 28px 24px;
  }
}

/* Cross-Browser & Multi-Device Responsiveness Normalization */
html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
.site-header {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.table-responsive {
  -webkit-overflow-scrolling: touch;
}
input, select, textarea, button {
  font-family: inherit;
}
input[type="tel"] {
  -moz-appearance: textfield;
}
input[type="tel"]::-webkit-outer-spin-button,
input[type="tel"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

@media (max-width: 1024px) {
  .board-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 640px) {
  .board-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Contact Points Icon Styling - Brand Color (#c61f2b & #fdf2f2) */
.contact-point-item {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
}
.contact-point-item:last-child {
  border-bottom: none;
}
.contact-points .contact-point-item > div {
  padding: 0 !important;
  border-bottom: none !important;
}
.contact-icon-box {
  width: 48px;
  height: 48px;
  min-width: 48px;
  border-radius: 12px;
  background: #fdf2f2;
  border: 1px solid rgba(198, 31, 43, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
  cursor: pointer;
  transition: all 0.25s ease;
  text-decoration: none;
}
.contact-icon-box:hover {
  background: #c61f2b;
  border-color: #c61f2b;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(198, 31, 43, 0.25);
}
.contact-icon-box svg {
  transition: stroke 0.25s ease;
}
.contact-icon-box:hover svg {
  stroke: #ffffff;
}

/* Contact Quote Box Styling */
.contact-quote-box {
  margin-top: 24px;
  padding: 20px 24px;
  background: linear-gradient(135deg, #fdf2f2 0%, #fff6f6 100%);
  border: 1px solid rgba(198, 31, 43, 0.28);
  border-radius: 14px;
  text-align: left;
}
.contact-quote-box p {
  font-size: 15px;
  font-style: italic;
  color: #33363e;
  line-height: 1.5;
  margin: 0;
  font-weight: 500;
}

/* Cookie Consent Banner Styling */
.cookie-banner {
  position: fixed;
  bottom: -180px;
  left: 24px;
  max-width: 460px;
  width: calc(100% - 48px);
  background: #121418;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-left: 4px solid #c61f2b;
  border-radius: 12px;
  padding: 20px 22px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
  z-index: 10000;
  opacity: 0;
  transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
.cookie-banner.show {
  bottom: 24px;
  opacity: 1;
}
.cookie-banner-inner {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.cookie-title {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  display: block;
  margin-bottom: 4px;
}
.cookie-text-wrap p {
  font-size: 12.5px;
  color: #a0a4ab;
  line-height: 1.5;
  margin: 0;
}
.cookie-actions {
  display: flex;
  gap: 10px;
  margin-top: 4px;
}
.btn-sm {
  padding: 9px 16px !important;
  font-size: 12.5px !important;
  border-radius: 6px !important;
}
.btn-outline-light {
  background: transparent;
  color: #d1d4dc;
  border: 1px solid rgba(255, 255, 255, 0.25);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
.btn-outline-light:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}
@media (max-width: 540px) {
  .cookie-banner {
    left: 14px;
    width: calc(100% - 28px);
    padding: 16px 18px;
  }
  .cookie-actions {
    flex-direction: column;
  }
}

/* Desktop header alignment and overflow fixes */
@media (min-width: 1101px) {
  .site-header {
    background: #ffffff;
  }

  .nav-wrap {
    height: 88px;
    gap: 32px;
  }

  .brand {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
  }

  .brand img {
    width: 180px;
    max-height: 58px;
  }

  .main-nav {
    justify-content: flex-end;
    gap: 20px;
    min-width: 0;
  }

  .main-nav > a,
  .main-nav > .nav-dropdown,
  .main-nav > .lang-selector {
    flex: 0 0 auto;
  }

  .main-nav a,
  .nav-dropdown-toggle,
  .nav-cta {
    white-space: nowrap;
  }

  .main-nav > a:not(.nav-cta),
  .nav-dropdown-toggle {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    line-height: 1.2;
  }

  .arrow-down {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
  }

  .nav-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 18px;
    line-height: 1.2;
  }

  .lang-selector {
    margin-left: 6px;
  }

  .lang-selector select {
    height: 48px;
    min-width: 146px;
    padding: 0 38px 0 14px;
    line-height: 1.2;
  }

  .hero {
    margin-top: 88px;
    height: calc(75vh - 88px);
  }
}

/* Keep the desktop navigation comfortable just above the mobile breakpoint. */
@media (min-width: 1101px) and (max-width: 1240px) {
  .nav-wrap {
    gap: 20px;
  }

  .brand img {
    width: 156px;
    max-height: 52px;
  }

  .main-nav {
    gap: 13px;
  }

  .main-nav a,
  .nav-dropdown-toggle {
    font-size: 13px;
  }

  .nav-cta {
    padding-inline: 15px;
  }

  .lang-selector {
    margin-left: 0;
  }

  .lang-selector select {
    min-width: 126px;
    padding-right: 30px;
  }
}

@media (min-width: 761px) and (max-width: 1100px) {
  .hero {
    margin-top: 80px;
    height: calc(75vh - 80px);
  }
}

@media (max-width: 760px) {
  .hero {
    margin-top: 72px;
    height: calc(70vh - 72px);
  }
}

/* Fullscreen Mobile Drawer Styling Matching Reference Image */
@media (max-width: 1100px) {
  .site-header {
    background: #ffffff !important;
  }
  .nav-wrap {
    height: 80px;
  }
  .brand img {
    width: 190px;
    max-height: 56px;
  }
  .menu-toggle {
    display: block;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 8px;
  }
  .menu-toggle span {
    display: block;
    width: 26px;
    height: 2.5px;
    background: #101216;
    margin: 5px 0;
    border-radius: 2px;
    transition: 0.3s;
  }

  /* Full Screen Mobile Drawer */
  .main-nav {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    background: #0f1218 !important;
    color: #ffffff !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    padding: 24px 24px 32px 24px !important;
    transform: translateX(100%) !important;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    z-index: 10000 !important;
    overflow-y: auto !important;
    box-shadow: none !important;
  }
  .main-nav.open {
    transform: translateX(0) !important;
  }

  /* Drawer Top Header (Logo + Close X) */
  .mobile-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    margin-bottom: 16px;
  }
  .mobile-drawer-logo {
    width: 160px;
    max-height: 52px;
    object-fit: contain;
  }
  .mobile-drawer-close {
    background: transparent;
    border: none;
    color: #ffffff;
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
    padding: 4px 8px;
    opacity: 0.85;
    transition: opacity 0.2s;
  }
  .mobile-drawer-close:hover {
    opacity: 1;
  }

  /* Mobile Nav Links */
  .main-nav > a:not(.mobile-quick-enquiry-btn) {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07) !important;
    display: block !important;
    width: 100% !important;
    transition: color 0.2s !important;
  }
  .main-nav > a.active {
    color: #c61f2b !important;
  }
  .main-nav a:not(.nav-cta)::after {
    display: none !important;
  }

  /* Nav Dropdowns in Mobile Drawer */
  .nav-dropdown {
    width: 100% !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07) !important;
  }
  .nav-dropdown-toggle {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    padding: 12px 0 !important;
    width: 100% !important;
    justify-content: space-between !important;
  }
  .dropdown-content {
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 0 10px 16px !important;
    min-width: 100% !important;
    background: transparent !important;
  }
  .dropdown-content a {
    padding: 8px 0 !important;
    font-size: 14.5px !important;
    color: #a0a4ab !important;
    font-weight: 500 !important;
    display: block !important;
    border-bottom: none !important;
  }
  .dropdown-content a:hover {
    color: #c61f2b !important;
    background: transparent !important;
  }
  .mega-dropdown-content {
    min-width: 100% !important;
    left: 0 !important;
    padding: 0 0 10px 16px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }
  .mega-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .mega-col-title {
    color: #c61f2b !important;
    font-size: 11px !important;
    margin-top: 6px !important;
  }
  .mega-line {
    background: rgba(255, 255, 255, 0.12) !important;
  }
  .mega-item {
    color: #a0a4ab !important;
  }

  .main-nav > .nav-cta {
    display: none !important;
  }

  /* Drawer Footer Container */
  .mobile-drawer-footer {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
  }
  .mobile-drawer-footer .lang-selector {
    width: 100% !important;
    margin: 0 !important;
  }
  .mobile-drawer-footer .lang-selector select {
    width: 100% !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    color: #ffffff !important;
    padding: 13px 16px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
    outline: none !important;
  }
  .mobile-drawer-footer .lang-selector select option {
    background: #101216 !important;
    color: #ffffff !important;
  }
  .mobile-quick-enquiry-btn {
    width: 100% !important;
    padding: 15px !important;
    background: #c61f2b !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    text-align: center !important;
    border: none !important;
    box-shadow: 0 8px 20px rgba(198, 31, 43, 0.35) !important;
    display: block !important;
  }
}

/* Reference-style ANJ mobile navigation */
.mobile-nav-links {
  display: none;
}

.mobile-quick-enquiry-btn {
  display: none;
}

@media (max-width: 1100px) {
  .nav-wrap > .brand {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 0 auto;
  }

  .nav-wrap > .brand img {
    width: auto;
    height: 52px;
    max-height: 52px;
    object-fit: contain;
    object-position: left center;
  }

  .main-nav {
    background: #ffffff !important;
    color: #101216 !important;
    padding: 22px 8px 14px !important;
    justify-content: flex-start !important;
    overflow-y: auto !important;
  }

  .main-nav > a,
  .main-nav > a:not(.mobile-quick-enquiry-btn),
  .main-nav > .nav-dropdown,
  .main-nav > .mobile-drawer-header {
    display: none !important;
  }

  .main-nav .nav-cta,
  .main-nav > a.nav-cta:not(.mobile-quick-enquiry-btn) {
    display: none !important;
  }

  .mobile-nav-links {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
  }

  .mobile-menu-brand {
    display: flex;
    align-items: center;
    min-height: 62px;
    margin: -4px 44px 22px 0;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(16, 18, 22, 0.14);
  }

  .mobile-menu-brand img {
    width: 150px;
    max-height: 48px;
    object-fit: contain;
    object-position: left center;
  }

  .mobile-nav-links a {
    display: block !important;
    width: 100% !important;
    padding: 0 0 22px !important;
    border: 0 !important;
    color: #101216 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
  }

  .mobile-nav-links a.active,
  .mobile-nav-links a:hover {
    color: #ef1745 !important;
  }

  .mobile-drawer-footer {
    width: 100%;
    margin-top: auto !important;
    padding-top: 24px !important;
    gap: 12px !important;
    border-top: 1px solid rgba(16, 18, 22, 0.14) !important;
  }

  .mobile-drawer-footer .lang-selector select {
    height: 41px !important;
    padding: 0 16px !important;
    background: #ffffff !important;
    border-color: #c9ced6 !important;
    color: #101216 !important;
    border-radius: 11px !important;
  }

  .mobile-drawer-footer .lang-selector select option {
    background: #ffffff !important;
    color: #101216 !important;
  }

  .mobile-quick-enquiry-btn {
    min-height: 44px !important;
    padding: 11px 16px !important;
    border-radius: 11px !important;
    background: #dd1742 !important;
    box-shadow: none !important;
    line-height: 1.35 !important;
  }

  .menu-toggle {
    position: relative;
    z-index: 10001;
  }

  body.menu-open .menu-toggle {
    position: fixed;
    top: 20px;
    right: 18px;
  }

  body.menu-open .menu-toggle span {
    background: #101216;
  }

  body.menu-open .menu-toggle span:nth-child(1) {
    transform: translateY(7.5px) rotate(45deg);
  }

  body.menu-open .menu-toggle span:nth-child(2) {
    opacity: 0;
  }

  body.menu-open .menu-toggle span:nth-child(3) {
    transform: translateY(-7.5px) rotate(-45deg);
  }
}

/* Site-wide responsive content fixes */
@media (max-width: 900px) {
  .profile-grid,
  .chairman-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 40px !important;
  }

  .capabilities-grid,
  .culture-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .profile-grid > *,
  .chairman-grid > *,
  .capabilities-grid > *,
  .culture-grid > * {
    min-width: 0;
    width: 100%;
  }

  .chairman-img-wrap img {
    min-height: 0 !important;
    max-height: 520px !important;
  }
}

@media (max-width: 760px) {
  .page-hero,
  .service-hero,
  .careers-hero {
    padding: 128px 0 62px !important;
    background-attachment: scroll !important;
  }

  .profile-section,
  .chairman-section,
  .service-details,
  .careers-section,
  .group-structure-section {
    padding: 64px 0 !important;
  }

  .profile-grid,
  .chairman-grid {
    gap: 30px !important;
  }

  .capabilities-grid,
  .culture-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  .profile-card-box,
  .cap-card,
  .culture-card {
    width: 100% !important;
    padding: 26px 22px !important;
  }

  .main-image {
    min-height: 0 !important;
    height: auto !important;
  }

  .profile-grid h2,
  .profile-card-box h3,
  .page-hero h1,
  .service-hero h1,
  .careers-hero h1,
  .section-head h2 {
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .profile-grid h2,
  .chairman-grid h2,
  .section-head h2 {
    font-size: 32px !important;
    line-height: 1.15 !important;
  }

  .page-hero h1,
  .service-hero h1,
  .careers-hero h1 {
    font-size: 38px !important;
    line-height: 1.08 !important;
  }

  .page-hero p,
  .service-hero p,
  .careers-hero p,
  .profile-grid p,
  .chairman-grid p,
  .profile-card-box li,
  .cap-card p,
  .culture-card p,
  .group-structure-card p,
  .board-card-info p,
  .timeline-desc,
  .section-head > p {
    max-width: 100% !important;
    text-align: left;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .profile-card-box .check-list li {
    padding: 13px 0 13px 25px;
  }

  .timeline {
    margin-top: 30px !important;
    padding-left: 22px !important;
  }

  .timeline-item::before {
    left: -29px !important;
  }

  .timeline-year {
    font-size: 11px !important;
    letter-spacing: .07em !important;
  }

  .timeline-title {
    font-size: 17px !important;
  }

  .footer-grid a,
  .footer-grid p {
    overflow-wrap: anywhere;
  }
}

@media (max-width: 420px) {
  .container {
    width: calc(100% - 28px) !important;
  }

  .page-hero h1,
  .service-hero h1,
  .careers-hero h1 {
    font-size: 34px !important;
  }

  .profile-grid h2,
  .chairman-grid h2,
  .section-head h2 {
    font-size: 29px !important;
  }

  .profile-card-box,
  .cap-card,
  .culture-card,
  .group-structure-card {
    padding: 23px 18px !important;
  }

  .job-card .btn {
    width: 100%;
  }
}
