/* service-cloud.html - generated by build-css.py from: demo-content.css, style.css, merged.css, premium.css, menu-carousels.css, cookie-consent.css, responsive-layout.css, hero-images.css, color-icons.css, partner-carousel.css, site-texture.css, orange-accents.css, service-stage.css, site-font.css */

/* ===== demo-content.css ===== */
/* INGROWLOGY — Premium Design System v3 — Dark/Light + Transitions */
600;700;800&family=Playfair+Display:ital,wght@0,400;0,700;1,400;1,700&family=DM+Sans:wght@300;400;500&display=swap');
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

/* ═══ DARK THEME (default) ═══════════════════════════════ */
:root,[data-theme="dark"]{
  --ink:#040d0b;--deep:#060f0d;--surf:#0c1e17;--surf2:#101f18;
  --bdr:rgba(51,211,171,.1);--bdr2:rgba(51,211,171,.25);
  --teal:#33D3AB;--teal2:#5ae0bf;--teal3:rgba(51,211,171,.15);
  --org:#FF8000;--yel:#FFD400;
  --g1:linear-gradient(120deg,#FFD400,#FF8000);
  --g2:linear-gradient(120deg,#FF8000,#FFD400);
  --cre:#dff5ed;--mut:#5a9178;--mut2:#2d4e3c;--wht:#f0faf5;
  --fd:'Playfair Display',Georgia,serif;
  --fh:'Syne',sans-serif;--fb:'DM Sans',sans-serif;
  --e1:cubic-bezier(.16,1,.3,1);--e2:cubic-bezier(.76,0,.24,1);
  --nav-glass:rgba(4,13,11,.94);
  --dd-bg:#060f0d;
  --hero-grad:radial-gradient(ellipse 90% 70% at 65% 25%,rgba(51,211,171,.07) 0%,transparent 55%),radial-gradient(ellipse 55% 55% at 10% 80%,rgba(255,128,0,.05) 0%,transparent 60%),linear-gradient(165deg,#040d0b 0%,#06120f 40%,#09170f 100%);
  --toggle-track:#1a3d2f;--toggle-pip:var(--teal);
  --pt-curtain:#040d0b;--pt-stripe:var(--teal);
  --noise:.025;
}

/* ═══ LIGHT THEME ════════════════════════════════════════ */
[data-theme="light"]{
  --ink:#f0faf6;--deep:#e4f5ec;--surf:#d4ead e;--surf2:#c8e5d2;
  /* corrected */
  --ink:#f0faf6;--deep:#e5f5ed;--surf:#d6ece0;--surf2:#c8e4d4;
  --bdr:rgba(0,90,50,.1);--bdr2:rgba(0,90,50,.2);
  --teal:#1aaa89;--teal2:#0d9070;--teal3:rgba(26,170,137,.14);
  --cre:#0d2018;--mut:#2e6650;--mut2:#6baa8a;--wht:#0a1a12;
  --nav-glass:rgba(240,250,246,.96);
  --dd-bg:#e5f5ed;
  --hero-grad:radial-gradient(ellipse 90% 70% at 65% 25%,rgba(26,170,137,.09) 0%,transparent 55%),radial-gradient(ellipse 55% 55% at 10% 80%,rgba(255,128,0,.06) 0%,transparent 60%),linear-gradient(165deg,#eaf7f0 0%,#e0f3eb 100%);
  --toggle-track:#b8e8d0;--toggle-pip:#0d9070;
  --pt-curtain:#e5f5ed;--pt-stripe:#1aaa89;
  --noise:.015;
}
[data-theme="light"] body{background:var(--ink);color:var(--cre)}
[data-theme="light"] .dd-item,[data-theme="light"] .dd-panel{background:var(--dd-bg)}
[data-theme="light"] .dd-item:hover{background:var(--surf)}
[data-theme="light"] .mob-nav{background:var(--ink)}
[data-theme="light"] .stat:hover,[data-theme="light"] .feat:hover,[data-theme="light"] .svc:hover,[data-theme="light"] .p-card:hover,[data-theme="light"] .wc:hover,[data-theme="light"] .ph-card:hover,[data-theme="light"] .psvc:hover,[data-theme="light"] .ac:hover,[data-theme="light"] .c-pill:hover{background:var(--surf2)}
[data-theme="light"] .feat,[data-theme="light"] .svc,[data-theme="light"] .wc,[data-theme="light"] .ph-card,[data-theme="light"] .psvc{background:var(--ink)}
[data-theme="light"] .p-card,[data-theme="light"] .mv-panel.b,[data-theme="light"] .cert,[data-theme="light"] .cs-panel,[data-theme="light"] footer{background:var(--deep)}
[data-theme="light"] .mv-panel.a,[data-theme="light"] .stats-band,[data-theme="light"] .mq,[data-theme="light"] .ac,[data-theme="light"] .wyc,[data-theme="light"] .cs-panel.b,[data-theme="light"] .lblock{background:var(--surf)}
[data-theme="light"] .cf-inp,[data-theme="light"] .cf-sel,[data-theme="light"] .cf-ta{background:var(--ink);color:var(--cre)}
[data-theme="light"] .cta-bg{background:radial-gradient(ellipse 70% 65% at 50% 50%,rgba(26,170,137,.08) 0%,transparent 70%),var(--deep)}
[data-theme="light"] .mq::before{background:linear-gradient(90deg,var(--surf),transparent)}
[data-theme="light"] .mq::after{background:linear-gradient(-90deg,var(--surf),transparent)}
[data-theme="light"] .client-mq::before{background:linear-gradient(90deg,var(--deep),transparent)}
[data-theme="light"] .client-mq::after{background:linear-gradient(-90deg,var(--deep),transparent)}
[data-theme="light"] .hero-circuit{opacity:.1}
[data-theme="light"] .quote-block{background:linear-gradient(135deg,var(--surf),rgba(26,170,137,.04))}
[data-theme="light"] .tr-node{background:var(--surf)}

/* Global theme transition — smooth but NOT on transforms */
html{transition:background-color .4s,color .4s}
body,body *:not(.hero-h1 .li):not(.reveal-line .rl-inner):not(.orb):not(.tr):not(.mq-track):not(.client-track):not(.pt-left):not(.pt-right):not(.pt-logo):not(#cur .c-dot):not(#cur .c-ring){
  transition:background-color .38s ease,border-color .38s ease,color .38s ease,box-shadow .38s ease !important;
}

/* ═══ THEME TOGGLE BUTTON ════════════════════════════════ */
.theme-toggle{
  position:relative;width:52px;height:28px;
  background:var(--toggle-track);
  border:1px solid var(--bdr2);border-radius:14px;
  cursor:none;outline:none;flex-shrink:0;
}
.theme-toggle::before{
  content:'';position:absolute;top:3px;left:3px;
  width:20px;height:20px;border-radius:50%;
  background:var(--toggle-pip);
  transition:transform .45s cubic-bezier(.16,1,.3,1),background .35s !important;
  box-shadow:none;
}
[data-theme="light"] .theme-toggle::before{transform:translateX(24px)}
.tog-ico{position:absolute;top:50%;font-size:.65rem;transform:translateY(-50%);pointer-events:none;line-height:1;transition:opacity .3s !important}
.tog-moon{left:6px;opacity:1}
.tog-sun{right:5px;opacity:0}
[data-theme="light"] .tog-moon{opacity:0}
[data-theme="light"] .tog-sun{opacity:1}

/* ═══ PREMIUM PAGE TRANSITION ════════════════════════════ */
/* Diamond-curtain from center: two halves meet, logo appears, then open */
#pt{
  position:fixed;inset:0;z-index:99990;
  pointer-events:none;
  display:flex;align-items:center;justify-content:center;
}
.pt-left,.pt-right{
  position:absolute;top:0;bottom:0;width:51%;
  background:var(--pt-curtain);
  transform:scaleX(0);will-change:transform;
}
.pt-left{left:0;transform-origin:left}
.pt-right{right:0;transform-origin:right}
/* Gradient stripe on inner edge */
.pt-left::after,.pt-right::after{
  content:'';position:absolute;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,var(--teal),var(--org),var(--yel));
  opacity:.8;
}
.pt-left::after{right:-1px}
.pt-right::after{left:-1px}
/* Center branding */
.pt-logo{
  position:absolute;z-index:3;
  display:flex;flex-direction:column;align-items:center;
  opacity:0;pointer-events:none;
}
.pt-wordmark{display:none}
.pt-logo-svg{
  width:clamp(240px,32vw,380px);
  height:auto;
  filter:none;
}
.pt-wordmark{
  font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.62rem;letter-spacing:.4em;
  text-transform:uppercase;color:var(--teal);white-space:nowrap;
}
/* Bottom sweep bar */
.pt-sweep{
  position:absolute;bottom:0;left:0;right:0;height:3px;z-index:4;
  background:var(--g1);transform:scaleX(0);transform-origin:left;
}

/* ── EXIT (curtains CLOSE) ── */
body.pt-out .pt-left{
  animation:curtainIn .52s cubic-bezier(.76,0,.24,1) forwards;
}
body.pt-out .pt-right{
  animation:curtainIn .52s cubic-bezier(.76,0,.24,1) .04s forwards;
}
body.pt-out .pt-logo{
  animation:logoReveal .45s .34s cubic-bezier(.16,1,.3,1) forwards;
}
body.pt-out .pt-sweep{
  animation:sweepIn .52s cubic-bezier(.76,0,.24,1) forwards;
}
/* ── ENTER (curtains OPEN) ── */
body.pt-in .pt-left{
  transform:scaleX(1);
  animation:curtainOut .58s cubic-bezier(.76,0,.24,1) .05s forwards;
}
body.pt-in .pt-right{
  transform:scaleX(1);
  animation:curtainOut .58s cubic-bezier(.76,0,.24,1) 0s forwards;
}
body.pt-in .pt-logo{
  opacity:1;
  animation:logoHide .25s cubic-bezier(.76,0,.24,1) forwards;
}
body.pt-in .pt-sweep{
  transform:scaleX(1);
  animation:sweepOut .55s cubic-bezier(.76,0,.24,1) forwards;
}

@keyframes curtainIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes curtainOut{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@keyframes logoReveal{
  0%  {opacity:0;transform:scale(.7) translateY(12px)}
  55% {opacity:1;transform:scale(1.04) translateY(-3px)}
  100%{opacity:1;transform:scale(1) translateY(0)}
}
@keyframes logoHide{
  from{opacity:1;transform:scale(1)}
  to{opacity:0;transform:scale(1.3)}
}
@keyframes sweepIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes sweepOut{from{transform:scaleX(1)}to{transform:scaleX(0)}}

/* ═══ SCROLL PROGRESS ════════════════════════════════════ */
#scroll-prog{position:fixed;top:0;left:0;height:2px;background:var(--g1);z-index:9999;width:0;pointer-events:none}

/* ═══ NOISE OVERLAY ══════════════════════════════════════ */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9997;opacity:var(--noise);
background:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
background-size:200px}

/* ═══ CURSOR ══════════════════════════════════════════════ */
#cur{position:fixed;top:0;left:0;pointer-events:none;z-index:99998}
#cur .c-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--teal);transform:translate(-50%,-50%)}
#cur .c-ring{position:absolute;width:38px;height:38px;border-radius:50%;border:1.5px solid rgba(51,211,171,.45);transform:translate(-50%,-50%)}
body.c-hover #cur .c-dot{width:44px;height:44px;background:rgba(51,211,171,.12)}
body.c-hover #cur .c-ring{width:52px;height:52px;border-color:var(--teal);opacity:0}
body.c-active #cur .c-dot{width:5px;height:5px}

/* ═══ NAVBAR ═════════════════════════════════════════════ */
#nav{position:fixed;top:0;left:0;right:0;z-index:900;padding:26px 64px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid transparent;transition:padding .5s var(--e1),background .4s,border-color .4s,backdrop-filter .4s}
#nav.stuck{padding:14px 64px;background:var(--nav-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom-color:var(--bdr)}
.nav-logo{text-decoration:none;display:flex;align-items:center}
.nav-logo svg{height:28px;width:auto}
.nav-mid{display:flex;align-items:center;gap:6px}
.nav-right{display:flex;align-items:center;gap:12px}
.nav-link{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);text-decoration:none;padding:8px 14px;position:relative;display:flex;align-items:center;gap:6px;cursor:none;background:none;border:none}
.nav-link::after{content:'';position:absolute;bottom:4px;left:14px;right:14px;height:1px;background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--e1) !important}
.nav-link:hover,.nav-link.active{color:var(--teal)}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1)}
.nav-link .chevron{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);display:inline-block;margin-top:-3px;transition:transform .3s !important}

/* ── DROPDOWN ── */
.nav-dd{position:relative}
.nav-dd:hover .nav-link .chevron{transform:rotate(-135deg)}
.dd-panel{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(-8px);min-width:580px;background:var(--dd-bg);border:1px solid var(--bdr);pointer-events:none;opacity:0;transition:opacity .3s var(--e1),transform .3s var(--e1) !important;z-index:200;padding:24px;box-shadow:none}
.nav-dd:hover .dd-panel{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:all}
.dd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--bdr)}
.dd-item{background:var(--dd-bg);padding:18px 20px;text-decoration:none;display:block;position:relative;overflow:hidden}
.dd-item:hover{background:var(--surf)}
.dd-item-ico{font-size:1.3rem;margin-bottom:8px;display:block}
.dd-item-name{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.75rem;font-weight:700;color:var(--wht);margin-bottom:4px}
.dd-item-desc{font-size:.72rem;color:var(--mut);line-height:1.5}
.dd-item-bar{position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--g1);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--e1) !important}
.dd-item:hover .dd-item-bar{transform:scaleX(1)}
.dd-footer{margin-top:12px;padding-top:12px;border-top:1px solid var(--bdr);display:flex;justify-content:space-between;align-items:center}
.dd-footer-text{font-size:.72rem;color:var(--mut)}
.dd-footer-link{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);text-decoration:none;display:flex;align-items:center;gap:6px;transition:gap .3s !important}
.dd-footer-link:hover{gap:10px}
.nav-cta{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.68rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;background:var(--teal);color:var(--ink);padding:11px 26px;text-decoration:none;cursor:none}
.nav-cta:hover{background:var(--teal2);transform:translateY(-2px)}
.nav-toggle{display:none;flex-direction:column;gap:6px;background:none;border:none;cursor:none;padding:4px}
.nav-toggle span{display:block;width:24px;height:1.5px;background:var(--teal);transition:all .3s var(--e1) !important}
.mob-nav{display:none;position:fixed;inset:0;background:var(--ink);flex-direction:column;align-items:center;justify-content:center;gap:0;z-index:880;padding:20px}
.mob-nav.open{display:flex}
.mob-link{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:clamp(2rem,5vw,3.5rem);font-style:italic;color:var(--mut);text-decoration:none;padding:14px 0;transition:all .4s !important;text-align:center}
.mob-link:hover{color:var(--teal);transform:translateX(10px)}
.mob-sub{font-size:.85rem;color:var(--mut);text-decoration:none;padding:6px 0;transition:color .3s !important;text-align:center}
.mob-sub:hover{color:var(--teal)}
.mob-toggle-row{margin-top:24px;display:flex;align-items:center;gap:14px}
.mob-toggle-lbl{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}

/* ═══ SCROLL ANIMATIONS ══════════════════════════════════ */
.reveal-line{overflow:hidden}
.reveal-line .rl-inner{display:block;transform:translateY(105%);transition:transform .9s var(--e1) !important}
.reveal-line.on .rl-inner{transform:translateY(0)}
.fu{opacity:0;transform:translateY(44px);transition:opacity .85s var(--e1),transform .85s var(--e1) !important}
.fu.on{opacity:1;transform:translateY(0)}
.fi{opacity:0;transition:opacity .9s var(--e1) !important}
.fi.on{opacity:1}
.si{opacity:0;transform:scale(.9);transition:opacity .8s var(--e1),transform .8s var(--e1) !important}
.si.on{opacity:1;transform:scale(1)}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}
.d4{transition-delay:.4s}.d5{transition-delay:.5s}.d6{transition-delay:.6s}.d7{transition-delay:.7s}

/* ═══ KEYFRAMES ══════════════════════════════════════════ */
@keyframes floatA{0%,100%{transform:translate(0,0) rotate(0deg)}33%{transform:translate(-15px,-20px) rotate(2deg)}66%{transform:translate(10px,10px) rotate(-1deg)}}
@keyframes floatB{0%,100%{transform:translate(0,0)}50%{transform:translate(12px,-16px)}}
@keyframes floatC{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-8px,-12px) scale(1.06)}}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes spinRev{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}
@keyframes pulse{0%,100%{opacity:.4;transform:scale(1)}50%{opacity:.9;transform:scale(1.08)}}
@keyframes marqueeL{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes gradShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes fadeDown{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}
@keyframes heroLi{to{transform:translateY(0);opacity:1}}
@keyframes scPulse{0%,100%{opacity:.8;transform:scaleX(1)}50%{opacity:.3;transform:scaleX(.4)}}

/* ═══ HERO ════════════════════════════════════════════════ */
.hero{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden;padding:120px 64px 80px}
.hero-bg{position:absolute;inset:0;background:var(--hero-grad)}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(51,211,171,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(51,211,171,.018) 1px,transparent 1px);background-size:88px 88px;mask-image:radial-gradient(ellipse 85% 90% at 50% 50%,black 10%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 85% 90% at 50% 50%,black 10%,transparent 100%)}
.orb{position:absolute;border-radius:50%;pointer-events:none}
.orb1{width:420px;height:420px;top:5%;right:5%;background:radial-gradient(circle,rgba(51,211,171,.07) 0%,transparent 70%);border:1px solid rgba(51,211,171,.06);animation:floatA 8s ease-in-out infinite}
.orb2{width:260px;height:260px;top:45%;right:18%;background:radial-gradient(circle,rgba(255,128,0,.05) 0%,transparent 70%);border:1px solid rgba(255,128,0,.07);animation:floatB 10s ease-in-out infinite}
.orb3{width:160px;height:160px;bottom:18%;right:8%;background:radial-gradient(circle,rgba(255,212,0,.04) 0%,transparent 70%);animation:floatC 6.5s ease-in-out infinite}
.hero-circuit{position:absolute;right:0;top:0;width:48%;height:100%;pointer-events:none;opacity:.25}
.hero-inner{position:relative;z-index:2;max-width:1000px;width:100%}
.hero-badge{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(51,211,171,.22);padding:7px 16px 7px 8px;margin-bottom:40px;opacity:0;animation:fadeDown .7s .4s var(--e1) forwards}
.hero-badge-dot{width:7px;height:7px;border-radius:50%;background:var(--teal);animation:pulse 2s infinite}
.hero-badge-txt{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--teal)}
.hero-h1{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-weight:400;font-size:clamp(3.8rem,8vw,8.5rem);line-height:.97;letter-spacing:-.02em;color:var(--wht)}
.hero-h1 .line{display:block;overflow:hidden}
.hero-h1 .line .li{display:block;transform:translateY(108%);opacity:0}
.hero-h1 .line:nth-child(1) .li{animation:heroLi .9s .55s var(--e1) forwards}
.hero-h1 .line:nth-child(2) .li{animation:heroLi .9s .72s var(--e1) forwards}
.hero-h1 .line:nth-child(3) .li{animation:heroLi .9s .89s var(--e1) forwards}
.hero-h1 .grad{background:var(--g1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 200%;animation:gradShift 4s ease infinite}
.hero-h1 em{font-style:italic;color:var(--teal)}
.hero-sub{font-size:1.05rem;color:var(--mut);line-height:1.78;max-width:540px;margin:28px 0 0;opacity:0;animation:fadeDown .8s 1.1s var(--e1) forwards}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:44px;opacity:0;animation:fadeDown .8s 1.3s var(--e1) forwards}
.hero-right{position:absolute;right:64px;top:50%;transform:translateY(-50%);z-index:2;display:flex;flex-direction:column;gap:28px;opacity:0;animation:fadeDown .9s 1.5s var(--e1) forwards}
.hs{text-align:right}
.hs-n{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:2.9rem;font-style:italic;background:var(--g1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;display:block}
.hs-l{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mut);margin-top:4px;display:block}
.hs-sep{width:1px;height:36px;background:var(--bdr);align-self:flex-end}
.scroll-cue{position:absolute;bottom:44px;left:64px;z-index:2;display:flex;align-items:center;gap:14px;opacity:0;animation:fadeDown .8s 1.7s var(--e1) forwards}
.sc-line{width:56px;height:1px;background:linear-gradient(90deg,var(--teal),transparent);animation:scPulse 2.2s ease-in-out infinite}
.sc-txt{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.56rem;letter-spacing:.28em;text-transform:uppercase;color:var(--mut)}

/* ═══ MARQUEE ════════════════════════════════════════════ */
.mq{background:var(--surf);border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);padding:16px 0;overflow:hidden;position:relative}
.mq::before,.mq::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:1;pointer-events:none}
.mq::before{left:0;background:linear-gradient(90deg,var(--surf),transparent)}
.mq::after{right:0;background:linear-gradient(-90deg,var(--surf),transparent)}
.mq-track{display:inline-flex;animation:marqueeL 28s linear infinite;white-space:nowrap}
.mq-item{padding:0 28px;display:flex;align-items:center;gap:28px}
.mq-item span{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--mut2)}
.mq-item span.hi{color:var(--teal)}
.mq-dot{width:3px;height:3px;border-radius:50%;background:var(--mut2);flex-shrink:0}

/* ═══ LAYOUT ═════════════════════════════════════════════ */
.wrap{max-width:1360px;margin:0 auto;padding:0 64px}
.sec{padding:120px 0}
.eyebrow{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;color:var(--teal);display:flex;align-items:center;gap:14px;margin-bottom:22px}
.eyebrow::before{content:'';width:32px;height:1px;background:var(--teal);flex-shrink:0}
.sec-title{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-weight:400;font-size:clamp(2.4rem,5vw,5rem);line-height:1.07;color:var(--wht)}
.sec-title em{font-style:italic;color:var(--teal)}
.sec-title .gt{background:var(--g1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-style:italic}
.divider{height:1px;background:linear-gradient(90deg,transparent,var(--teal3) 30%,var(--teal3) 70%,transparent)}

/* ═══ BUTTONS ════════════════════════════════════════════ */
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;cursor:none;border:none;font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-weight:700;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;position:relative;overflow:hidden}
.btn::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.07);transform:translateX(-105%);transition:transform .4s var(--e1) !important}
.btn:hover::before{transform:translateX(0)}
.btn-pri{background:var(--teal);color:var(--ink);padding:16px 36px}
.btn-pri:hover{background:var(--teal2);transform:translateY(-3px)}
.btn-out{background:transparent;color:var(--cre);border:1px solid rgba(51,211,171,.25);padding:15px 36px}
.btn-out:hover{border-color:var(--teal);color:var(--teal)}
.btn-grad{background:var(--g1);color:var(--ink);padding:16px 40px;font-weight:800;background-size:200% 200%;animation:gradShift 5s ease infinite}
.btn-grad:hover{transform:translateY(-3px)}
.btn .arr{transition:transform .3s var(--e1) !important}
.btn:hover .arr{transform:translateX(5px)}

/* ═══ STATS ══════════════════════════════════════════════ */
.stats-band{background:var(--surf);border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr)}
.stats-row{display:flex}
.stat{flex:1;padding:52px 36px;border-right:1px solid var(--bdr);text-align:center;position:relative;overflow:hidden}
.stat:last-child{border-right:none}
.stat:hover{background:var(--surf2)}
.stat::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--g1);transform:scaleX(0);transform-origin:center;transition:transform .5s var(--e1) !important}
.stat:hover::after{transform:scaleX(1)}
.stat-n{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:3.8rem;font-style:italic;background:var(--g1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;line-height:1}
.stat-l{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin-top:10px;display:block}

/* ═══ SERVICE/FEATURE GRIDS ══════════════════════════════ */
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bdr)}
.feat{background:var(--ink);padding:44px 36px;position:relative;overflow:hidden}
.feat:hover{background:var(--surf);transform:translateY(-4px)}
.feat-top{position:absolute;top:0;left:0;right:0;height:2px;background:var(--g1);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--e1) !important}
.feat:hover .feat-top{transform:scaleX(1)}
.feat-ico{font-size:2.2rem;margin-bottom:20px;display:block;transition:transform .4s var(--e1) !important}
.feat:hover .feat-ico{transform:scale(1.15)}
.feat h3{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:1.1rem;font-weight:700;color:var(--wht);margin-bottom:12px}
.feat p{font-size:.87rem;color:var(--mut);line-height:1.78}
.svc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bdr)}
.svc{background:var(--ink);padding:48px 40px;position:relative;overflow:hidden}
.svc:hover{background:var(--surf)}
.svc-n{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:5rem;font-style:italic;color:var(--bdr);line-height:1;position:absolute;top:16px;right:22px}
.svc:hover .svc-n{color:var(--teal3)}
.svc-ico{width:54px;height:54px;border:1px solid var(--bdr);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:26px}
.svc:hover .svc-ico{border-color:var(--teal);background:rgba(51,211,171,.07)}
.svc h3{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:1.2rem;font-weight:700;color:var(--wht);margin-bottom:12px}
.svc p{font-size:.87rem;color:var(--mut);line-height:1.78;margin-bottom:20px}
.svc-tags{display:flex;flex-wrap:wrap;gap:6px}
.stag{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut2);border:1px solid var(--bdr);padding:4px 10px}
.svc:hover .stag{border-color:rgba(51,211,171,.3);color:var(--teal)}
.svc-bar{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--g1);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--e1) !important}
.svc:hover .svc-bar{transform:scaleX(1)}

/* ═══ TABS ════════════════════════════════════════════════ */
.tabs{display:flex;border-bottom:1px solid var(--bdr);overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mut);padding:16px 28px;background:none;border:none;border-bottom:2px solid transparent;cursor:none;transition:all .3s !important;white-space:nowrap;position:relative;bottom:-1px}
.tab:hover{color:var(--cre)}
.tab.on{color:var(--teal);border-bottom-color:var(--teal)}
.panel{display:none}.panel.on{display:grid}
.panel-grid{grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bdr)}
.p-card{background:var(--deep);padding:38px 34px}
.p-card:hover{background:var(--surf)}
.p-card-ico{font-size:1.6rem;margin-bottom:14px;display:block}
.p-card h4{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.95rem;font-weight:700;color:var(--wht);margin-bottom:8px}
.p-card p{font-size:.85rem;color:var(--mut);line-height:1.75}

/* ═══ PARTNERS / CLIENTS ═════════════════════════════════ */
.p-logos{display:flex;flex-wrap:wrap;border:1px solid var(--bdr)}
.p-logo{flex:1 1 180px;padding:36px 28px;border-right:1px solid var(--bdr);border-bottom:1px solid var(--bdr);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-decoration:none;cursor:none;position:relative;overflow:hidden}
.p-logo::before{content:'';position:absolute;inset:0;background:var(--g1);opacity:0;transition:opacity .4s !important;mix-blend-mode:soft-light}
.p-logo:hover::before{opacity:.06}
.p-logo:hover{background:var(--surf);border-color:var(--bdr2)}
.p-logo-name{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:1.25rem;font-style:italic;color:var(--mut);text-align:center}
.p-logo:hover .p-logo-name{color:var(--cre)}
.p-logo-badge{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.5rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mut2)}
.p-logo:hover .p-logo-badge{color:var(--teal)}
.client-mq{overflow:hidden;position:relative}
.client-mq::before,.client-mq::after{content:'';position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none}
.client-mq::before{left:0;background:linear-gradient(90deg,var(--deep),transparent)}
.client-mq::after{right:0;background:linear-gradient(-90deg,var(--deep),transparent)}
.client-track{display:inline-flex;gap:12px;animation:marqueeL 38s linear infinite}
.c-pill{display:inline-flex;align-items:center;gap:16px;background:var(--surf);border:1px solid var(--bdr);padding:18px 26px;flex-shrink:0}
.c-pill:hover{border-color:var(--bdr2);background:var(--surf2)}
.c-pill-init{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:1.6rem;font-style:italic;background:var(--g1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}
.c-pill-name{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.72rem;font-weight:700;color:var(--wht);letter-spacing:.06em;display:block}
.c-pill-type{font-size:.65rem;color:var(--mut);display:block;margin-top:2px}

/* ═══ MISSION/VISION ══════════════════════════════════════ */
.mv-wrap{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--bdr)}
.mv-panel{padding:72px 60px;position:relative;overflow:hidden}
.mv-panel.a{background:var(--surf)}
.mv-panel.b{background:var(--deep)}
.mv-bg-letter{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:12rem;font-style:italic;color:rgba(51,211,171,.05);position:absolute;top:-24px;right:-10px;line-height:1;pointer-events:none}
.mv-panel:hover .mv-bg-letter{color:rgba(51,211,171,.09)}
.mv-panel h2{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:2.4rem;font-style:italic;color:var(--wht);margin:18px 0 24px}
.mv-items{display:flex;flex-direction:column}
.mv-item{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--bdr)}
.mv-item:last-child{border-bottom:none}
.mv-dot{width:6px;height:6px;border-radius:50%;background:var(--teal);flex-shrink:0;margin-top:8px}
.mv-item h4{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.88rem;font-weight:700;color:var(--cre);margin-bottom:4px}
.mv-item p{font-size:.84rem;color:var(--mut);line-height:1.68}

/* ═══ CTA ════════════════════════════════════════════════ */
.cta-banner{position:relative;overflow:hidden;text-align:center;padding:160px 64px}
.cta-bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 65% at 50% 50%,rgba(51,211,171,.07) 0%,transparent 70%),var(--deep)}
.cta-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid;pointer-events:none}
.cta-ring.r1{width:600px;height:600px;border-color:rgba(51,211,171,.05);animation:spin 40s linear infinite}
.cta-ring.r2{width:400px;height:400px;border-color:rgba(51,211,171,.07);animation:spinRev 25s linear infinite}
.cta-inner{position:relative;z-index:1}
.cta-title{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:clamp(2.8rem,6vw,6.5rem);font-weight:400;font-style:italic;color:var(--wht);line-height:1.06}
.cta-title em{background:var(--g1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-style:italic}
.cta-sub{font-size:1.05rem;color:var(--mut);max-width:520px;margin:20px auto 48px;line-height:1.78}

/* ═══ CONTACT ════════════════════════════════════════════ */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--bdr)}
.cs-panel{padding:72px 60px;background:var(--deep)}
.cs-panel.b{background:var(--surf)}
.cs-title{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:clamp(2rem,4vw,3.5rem);font-style:italic;color:var(--wht);line-height:1.1;margin-bottom:32px}
.cs-title em{color:var(--teal)}
.cs-items{display:flex;flex-direction:column}
.cs-item{display:flex;gap:20px;align-items:flex-start;padding:22px 0;border-bottom:1px solid var(--bdr);transition:padding-left .3s !important}
.cs-item:hover{padding-left:8px}
.cs-item:first-child{border-top:1px solid var(--bdr)}
.cs-ico{font-size:1.4rem;margin-top:2px;flex-shrink:0}
.cs-lbl{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);margin-bottom:5px}
.cs-val{font-size:.95rem;color:var(--cre)}
.cf{display:flex;flex-direction:column;gap:16px}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cf-lbl{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);display:block;margin-bottom:7px}
.cf-inp,.cf-sel,.cf-ta{width:100%;background:var(--ink);border:1px solid var(--bdr);color:var(--cre);padding:13px 16px;font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.9rem;outline:none;appearance:none;resize:none}
.cf-inp:focus,.cf-sel:focus,.cf-ta:focus{border-color:var(--teal)}
.cf-inp::placeholder,.cf-ta::placeholder{color:var(--mut2)}
.cf-ta{height:110px}
.cf-btn{background:var(--teal);color:var(--ink);border:none;padding:15px 40px;font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;cursor:none;margin-top:6px;align-self:flex-start}
.cf-btn:hover{background:var(--teal2);transform:translateY(-2px)}

/* ═══ FOOTER ═════════════════════════════════════════════ */
footer{background:var(--deep);border-top:1px solid var(--bdr)}
.foot-grid{padding:72px 64px 48px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px}
.foot-brand .logo{display:block;margin-bottom:16px}
.foot-brand .logo svg{height:26px;width:auto}
.foot-brand p{font-size:.85rem;color:var(--mut);line-height:1.72;max-width:270px}
.foot-col h4{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:var(--teal);margin-bottom:20px}
.foot-col a{display:block;font-size:.85rem;color:var(--mut);text-decoration:none;margin-bottom:11px}
.foot-col a:hover{color:var(--cre)}
.foot-bot{padding:20px 64px;border-top:1px solid var(--bdr);display:flex;justify-content:space-between;align-items:center}
.foot-bot p{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.62rem;letter-spacing:.1em;color:var(--mut2)}
.foot-soc{display:flex;gap:20px}
.foot-soc a{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mut2);text-decoration:none}
.foot-soc a:hover{color:var(--teal)}

/* ═══ PAGE HERO ══════════════════════════════════════════ */
.phero{min-height:50vh;display:flex;align-items:flex-end;padding:160px 64px 80px;position:relative;overflow:hidden}
.phero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 65% 55% at 60% 30%,rgba(51,211,171,.06) 0%,transparent 65%),linear-gradient(175deg,var(--ink) 0%,var(--deep) 100%)}
.phero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(51,211,171,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(51,211,171,.018) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 100%)}
.phero-content{position:relative;z-index:2}

/* ═══ PARTNER PAGE ════════════════════════════════════════ */
.partner-hero{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding:130px 64px 80px;position:relative;overflow:hidden}
.ph-lockup{display:flex;align-items:center;gap:20px;margin-bottom:44px;opacity:0;animation:fadeDown .7s .3s var(--e1) forwards}
.ph-plus{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:2rem;color:var(--bdr);font-style:italic}
.ph-pname{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:1.3rem;font-weight:800}
.psvc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bdr)}
.psvc{background:var(--ink);padding:44px 40px;position:relative;overflow:hidden}
.psvc:hover{background:var(--surf)}
.psvc-ico{width:52px;height:52px;border:1px solid var(--bdr);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:22px}
.psvc:hover .psvc-ico{border-color:var(--teal);background:rgba(51,211,171,.07)}
.psvc h3{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:1.1rem;font-weight:700;color:var(--wht);margin-bottom:10px}
.psvc p{font-size:.86rem;color:var(--mut);line-height:1.75}
.psvc-num{position:absolute;bottom:12px;right:20px;font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:5rem;font-style:italic;color:var(--bdr);line-height:1}
.psvc:hover .psvc-num{color:var(--teal3)}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.why-list{display:flex;flex-direction:column}
.why-item{display:flex;gap:18px;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--bdr)}
.why-item:first-child{border-top:1px solid var(--bdr)}
.why-check{width:20px;height:20px;border:1px solid var(--teal);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;font-size:.5rem;color:var(--teal)}
.why-item h4{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.88rem;font-weight:700;color:var(--cre);margin-bottom:4px}
.why-item p{font-size:.84rem;color:var(--mut);line-height:1.65}
.why-cards{display:flex;flex-direction:column;gap:12px}
.wyc{background:var(--surf);border:1px solid var(--bdr);padding:26px 30px}
.wyc:hover{border-color:var(--bdr2)}
.wyc-ico{font-size:1.6rem;margin-bottom:10px}
.wyc h4{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.95rem;font-weight:700;color:var(--wht);margin-bottom:6px}
.wyc p{font-size:.83rem;color:var(--mut);line-height:1.65}
.certs{display:flex;flex-wrap:wrap;gap:1px;background:var(--bdr);margin-top:44px}
.cert{background:var(--deep);padding:20px 32px;flex:1;min-width:150px;text-align:center}
.cert:hover{background:var(--surf)}
.cert-t{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);font-weight:700;display:block;margin-bottom:4px}
.cert-s{font-size:.72rem;color:var(--mut)}
.pstat-row{display:flex;max-width:1360px;margin:0 auto}
.pstat{flex:1;padding:44px 36px;border-right:1px solid var(--bdr);text-align:center}
.pstat:last-child{border-right:none}
.pstat-n{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:2.8rem;font-style:italic;background:var(--g1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;line-height:1}
.pstat-l{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin-top:8px;display:block}
.trusted{background:var(--deep);border-bottom:1px solid var(--bdr);padding:44px 64px}
.trusted-lbl{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:var(--mut2);margin-bottom:24px;text-align:center}
.trusted-logos{display:flex;flex-wrap:wrap;justify-content:center}
.tl{padding:16px 30px;border:1px solid var(--bdr);margin:-1px 0 0 -1px;min-width:130px;display:flex;align-items:center;justify-content:center}
.tl:hover{background:var(--surf);border-color:var(--bdr2)}
.tl span{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-style:italic;color:var(--mut);font-size:.95rem}
.tl:hover span{color:var(--cre)}

/* ═══ PARTNERS HUB ════════════════════════════════════════ */
.ph-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bdr);margin-top:60px}
.ph-card{background:var(--ink);padding:50px 44px;position:relative;overflow:hidden;text-decoration:none;display:block;border:1px solid transparent}
.ph-card:hover{background:var(--surf);border-color:var(--bdr2)}
.ph-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--g1);transform:scaleY(0);transform-origin:top;transition:transform .5s var(--e1) !important}
.ph-card:hover::before{transform:scaleY(1)}
.ph-cat{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.58rem;letter-spacing:.25em;text-transform:uppercase;color:var(--teal);margin-bottom:12px;display:block}
.ph-card h3{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:1.3rem;font-weight:700;color:var(--wht);margin-bottom:12px}
.ph-card p{font-size:.86rem;color:var(--mut);line-height:1.72;margin-bottom:22px}
.ph-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}
.ph-tag{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut2);border:1px solid var(--bdr);padding:4px 10px}
.ph-arrow{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);display:flex;align-items:center;gap:8px;transition:gap .3s !important}
.ph-card:hover .ph-arrow{gap:14px}
.pf-wrap{display:flex;gap:8px;flex-wrap:wrap;margin-top:44px}
.pf-btn{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;background:none;border:1px solid var(--bdr);color:var(--mut);padding:9px 20px;cursor:none}
.pf-btn:hover,.pf-btn.on{border-color:var(--teal);color:var(--teal);background:rgba(51,211,171,.06)}

/* ═══ ABOUT ══════════════════════════════════════════════ */
.about-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ac{background:var(--surf);border:1px solid var(--bdr);padding:32px 28px;position:relative;overflow:hidden}
.ac:hover{background:var(--surf2);transform:translateY(-3px)}
.ac::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--g1);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--e1) !important}
.ac:hover::after{transform:scaleX(1)}
.ac-ico{font-size:2rem;margin-bottom:14px;display:block}
.ac h4{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:1rem;font-weight:700;color:var(--wht);margin-bottom:8px}
.ac p{font-size:.84rem;color:var(--mut);line-height:1.7}
.quote-block{border:1px solid var(--bdr);background:linear-gradient(135deg,var(--surf),rgba(51,211,171,.03));padding:36px 32px;margin-top:28px}
.q-text{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:1.45rem;font-style:italic;color:var(--wht);line-height:1.42;margin-bottom:16px}
.q-attr{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--teal)}
.tech-rings{position:relative;aspect-ratio:1/1;max-width:480px;margin:0 auto}
.tr{position:absolute;border-radius:50%;border:1px solid rgba(51,211,171,.12)}
.tr1{inset:0;animation:spin 22s linear infinite}
.tr2{inset:10%;border-color:rgba(51,211,171,.08);animation:spinRev 30s linear infinite}
.tr3{inset:22%;border-color:rgba(255,128,0,.07);animation:spin 16s linear infinite}
.tr4{inset:35%;border-radius:50%;background:radial-gradient(circle,rgba(51,211,171,.12) 0%,transparent 70%);animation:pulse 3.5s ease-in-out infinite}
.tr-node{position:absolute;width:52px;height:52px;background:var(--surf);border:1px solid var(--bdr);display:flex;align-items:center;justify-content:center;font-size:1.3rem;animation:floatA 6s ease-in-out infinite}
.tr-node:nth-child(5){top:4%;left:50%;transform:translateX(-50%)}
.tr-node:nth-child(6){right:4%;top:42%;animation-delay:1.5s;animation-name:floatB}
.tr-node:nth-child(7){bottom:4%;left:50%;transform:translateX(-50%);animation-delay:3s;animation-name:floatC}
.tr-node:nth-child(8){left:4%;top:42%;animation-delay:2s}
.tr-node:hover{border-color:var(--teal);background:rgba(51,211,171,.1);transform:scale(1.1)}
.tr-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:4rem;font-style:italic;background:var(--g1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:pulse 4s ease-in-out infinite}
.wc{background:var(--ink);padding:52px 40px;position:relative;overflow:hidden;border-top:2px solid transparent}
.wc:hover{background:var(--surf);border-top-color:var(--teal)}
.wc-num{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:6rem;font-style:italic;color:rgba(51,211,171,.07);line-height:1;position:absolute;top:12px;right:20px}
.wc:hover .wc-num{color:rgba(51,211,171,.14)}
.wc-ico{font-size:2rem;display:block;margin-bottom:18px;transition:transform .35s var(--e1) !important}
.wc:hover .wc-ico{transform:scale(1.1) rotate(-5deg)}
.wc h3{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:1.2rem;font-weight:700;color:var(--wht);margin-bottom:12px}
.wc p{font-size:.87rem;color:var(--mut);line-height:1.78}

/* ═══ LEGAL ══════════════════════════════════════════════ */
.legal-wrap{display:grid;grid-template-columns:240px 1fr;gap:80px;align-items:start}
.ltoc{position:sticky;top:100px}
.ltoc h4{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.58rem;letter-spacing:.25em;text-transform:uppercase;color:var(--teal);margin-bottom:18px}
.ltoc a{display:block;font-size:.82rem;color:var(--mut);text-decoration:none;padding:6px 12px;border-left:2px solid transparent;font-family:var(--brand-font, 'Poppins', Arial, sans-serif)}
.ltoc a:hover{color:var(--cre)}
.ltoc a.on{color:var(--teal);border-left-color:var(--teal);background:rgba(51,211,171,.05)}
.lc h2{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:1.9rem;font-style:italic;color:var(--wht);margin:52px 0 14px;scroll-margin-top:100px}
.lc h2:first-child{margin-top:0}
.lc h3{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.93rem;font-weight:700;color:var(--cre);margin:22px 0 8px}
.lc p,.lc li{font-size:.9rem;color:var(--mut);line-height:1.85;margin-bottom:12px}
.lc ul{padding-left:20px;margin-bottom:14px}
.lc a{color:var(--teal)}
.ldiv{height:1px;background:var(--bdr);margin:32px 0}
.lblock{background:var(--surf);border:1px solid var(--bdr);border-left:3px solid var(--teal);padding:18px 22px;margin:18px 0}
.lblock p{margin:0;color:var(--cre);font-size:.88rem}
.lmeta{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:.7rem;color:var(--mut2);margin-bottom:40px;letter-spacing:.05em}

/* ═══ RESPONSIVE ══════════════════════════════════════════ */
@media(max-width:1100px){
  .feat-grid{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr;gap:40px}
  .hero-right{display:none}
  .ph-grid,.svc-cards,.psvc-grid{grid-template-columns:1fr 1fr}
  .contact-grid,.mv-wrap,.why-grid,.legal-wrap,.about-cards{grid-template-columns:1fr}
  .panel-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .wrap{padding:0 24px}
  #nav{padding:16px 24px}
  #nav.stuck{padding:12px 24px}
  .nav-mid,.nav-cta{display:none}
  .nav-toggle{display:flex}
  .hero{padding:0 24px 60px}
  .sec{padding:80px 0}
  .feat-grid,.svc-cards,.psvc-grid,.ph-grid,.stats-row,.pstat-row,.panel-grid{grid-template-columns:1fr}
  .stat,.pstat{border-right:none;border-bottom:1px solid var(--bdr)}
  .foot-grid{grid-template-columns:1fr;gap:32px;padding:40px 24px 28px}
  .foot-bot{flex-direction:column;gap:14px;padding:16px 24px;text-align:center}
  .phero,.partner-hero,.cta-banner{padding:100px 24px 60px}
  .cs-panel,.trusted,.mv-panel{padding:52px 28px}
  .cf-row{grid-template-columns:1fr}
  .tabs{gap:0}
  .ltoc{display:none}
  .nav-right{gap:8px}
}

/* ===== style.css ===== */
/* =========================================================
   Design Tokens & System Variables
   ========================================================= */
:root {
  --green: #22634f;
  --orange: #e89750;
  --navy: #0b2239;
  --navy-deep: #061524;
  --ink: #172f46;
  --muted: #667085;
  --line: #dce6e2;
  --paper: #ffffff;
  --gray: #f4f7f6;

  /* Geometric dot textures */
  --tech-grid: radial-gradient(rgba(11, 34, 57, 0.08) 1px, transparent 1px);
  --dark-grid: radial-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1px);
}

/* =========================================================
   Base & Reset
   ========================================================= */
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family:var(--brand-font, 'Poppins', Arial, sans-serif);
  color: var(--ink);
  line-height: 1.65;
  background-color: #ffffff;
  background-image: var(--tech-grid);
  background-size: 32px 32px;
}

a {
  text-decoration: none;
  color: inherit;
}

.wrap {
  width: min(1180px, calc(100% - 40px));
  margin: auto;
}

/* =========================================================
   Header, Navigation & Top Bar
   ========================================================= */
.top {
  background: var(--navy);
  color: #ffffff;
  font-size: 11px;
  letter-spacing: .04em;
}

.top-inner {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
}

header {
  position: sticky;
  top: 0;
  background: #ffffff;
  z-index: 1000;
  border-bottom: 1px solid var(--line);
}

.header-inner {
  height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  gap: 28px;
}

.logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.25rem;
  color: #0f172a;
}

.logo-icon {
  height: 36px;
  width: auto;
  max-width: 160px;
  object-fit: contain;
  display: block;
}

.logo span {
  color: var(--orange);
}

.white {
  color: #ffffff;
}

nav {
  display: flex;
  align-items: center;
  gap: 16px;
}

nav a,
.nav-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 12px;
  background: none;
  border: 0;
  font: inherit;
  color: var(--navy);
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: color 0.2s ease;
}

nav a:hover,
.nav-trigger:hover {
  color: var(--green);
}

.nav-dropdown {
  position: static;
  display: inline-flex;
  align-items: center;
}

.chevron {
  font-size: 14px;
  line-height: 1;
  transition: transform .2s ease;
}

.nav-trigger[aria-expanded="true"] .chevron {
  transform: rotate(180deg);
}

.hamb {
  display: none;
  border: 1px solid var(--line);
  background: #ffffff;
  padding: 8px 12px;
  font-size: 20px;
  cursor: pointer;
  border-radius: 4px;
}

/* =========================================================
   Buttons & Interactive Elements
   ========================================================= */

/* Replaced Button Box */
.submit-success-box {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background-color: #edf5f1;
  border: 1px solid var(--green);
  padding: 14px 20px;
  border-radius: 4px;
  animation: fadeIn 0.35s ease forwards;
}

.submit-success-box .success-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: var(--green);
  color: #ffffff;
  border-radius: 50%;
  font-size: 13px;
  font-weight: 800;
}

.submit-success-box p {
  margin: 0;
  color: var(--navy);
  font-weight: 600;
  font-size: 15px;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.cta,
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--green);
  color: #ffffff;
  padding: 13px 22px;
  border-radius: 2px;
  font-weight: 700;
  border: 1px solid var(--green);
  cursor: pointer;
}

.cta {
  border-radius: 0;
}

.outline {
  border: 1px solid var(--green);
  padding: 13px 22px;
  color: var(--green);
  font-weight: 700;
  background: #ffffff;
}

.light {
  background: #ffffff;
  color: var(--green);
  border-color: #ffffff;
}

/* =========================================================
   Mega Menus & Dropdowns
   ========================================================= */
.services-mega {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 2000;
  display: grid;
  grid-template-columns: 1.3fr repeat(4, 1fr);
  background: #ffffff;
  border-top: 3px solid var(--orange);
  border-radius: 0 0 18px 18px;
  box-shadow:none;
  padding: 28px;
}

.mega-intro {
  padding: 5px 28px 8px 4px;
  border-right: 1px solid #e5ebe8;
}

.mega-intro small,
.mega-col small,
.partner-heading small,
.section-head small,
.hero-copy small,
.cta-band small {
  display: block;
  font-size: 11px;
  letter-spacing: .13em;
  font-weight: 800;
  color: var(--green);
  margin-bottom: 10px;
}

.mega-intro h3,
.partner-heading h3 {
  margin: 0 0 9px;
  color: #102a43;
  font-size: 19px;
  line-height: 1.2;
}

.mega-intro p {
  color: #657786;
  font-size: 12px;
  line-height: 1.6;
  margin: 0 0 15px;
}

.mega-intro > a {
  color: var(--green) !important;
  font-weight: 800 !important;
  font-size: 12px !important;
}

.mega-col {
  padding: 5px 20px;
  border-right: 1px solid #e5ebe8;
}

.mega-col:last-child {
  border-right: 0;
}

.mega-number,
.partner-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 31px;
  height: 31px;
  border-radius: 50%;
  background: #edf5f1;
  color: var(--green);
  font-size: 10px;
  font-weight: 800;
  margin-bottom: 12px;
}

.mega-col a {
  display: block !important;
  color: #657786 !important;
  font-size: 12px !important;
  padding: 6px 0 !important;
  line-height: 1.4;
}

.mega-col a:hover {
  color: var(--green) !important;
  transform: translateX(2px);
}

.partner-dropdown {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 355px;
  background: #ffffff;
  border-top: 3px solid var(--orange);
  border-radius: 0 0 18px 18px;
  padding: 18px;
  box-shadow:none;
  z-index: 2000;
}

.partner-heading {
  padding: 4px 8px 12px;
  border-bottom: 1px solid #e5ebe8;
  margin-bottom: 5px;
}

.partner-dropdown > a {
  display: grid !important;
  grid-template-columns: 32px 1fr 18px;
  align-items: center;
  gap: 10px;
  padding: 13px 8px !important;
  border-radius: 10px;
  color: #102a43 !important;
}

.partner-dropdown > a:hover {
  background: #f3f8f6;
}

.partner-dropdown > a .partner-num {
  margin: 0;
  background: #fff4df;
  color: #d68100;
}

.partner-dropdown strong {
  display: block;
  font-size: 12px;
  margin-bottom: 3px;
}

.partner-dropdown em {
  display: block;
  font-style: normal;
  color: #657786;
  font-size: 10px;
}

.partner-dropdown b {
  color: var(--green);
}

/* =========================================================
   Hero & Content Sections
   ========================================================= */
.hero {
  position: relative;
  background: linear-gradient(120deg, #f4f8f6 0%, #ffffff 50%, #eef5f2 100%);
  background-image: var(--tech-grid), linear-gradient(120deg, #f4f8f6 0%, #ffffff 50%, #eef5f2 100%);
  background-size: 32px 32px, 100% 100%;
  padding: 85px 0 80px;
  border-bottom: 1px solid var(--line);
}

.hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
}

.hero h1,
.page h1 {
  font-size: clamp(46px, 6.2vw, 76px);
  line-height: 1.02;
  letter-spacing: -3px;
  margin: 18px 0;
}

.hero h1 em {
  font-family:var(--brand-font, 'Poppins', Arial, sans-serif);
  color: var(--green);
  font-weight: 600;
}

.hero p,
.page p {
  font-size: 18px;
  color: var(--muted);
  max-width: 690px;
}

.actions {
  display: flex;
  gap: 12px;
  margin-top: 28px;
  flex-wrap: wrap;
}

.hero-visual {
  position: relative;
  min-height: 500px;
}

.hero-image {
  height: 500px;
  background: linear-gradient(180deg, #102a4340, #102a4390), url('../assets/photos/team-collaboration.jpg') center/cover;
  box-shadow:none;
}

.hero-stat {
  position: absolute;
  bottom: -18px;
  left: -28px;
  background: var(--green);
  color: #ffffff;
  padding: 20px 25px;
  display: flex;
  align-items: center;
  gap: 18px;
}

.hero-stat strong {
  font-size: 45px;
  color: var(--orange);
  line-height: 1;
}

.hero-stat span {
  max-width: 170px;
  font-size: 13px;
}

.marquee {
  overflow: hidden;
  white-space: nowrap;
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  display: flex;
  user-select: none;
}

.marquee-track {
  display: flex;
  width: max-content;
  animation: marquee-scroll 18s linear infinite;
}

.marquee:hover .marquee-track {
  animation-play-state: paused;
}

.marquee-row {
  display: flex;
  align-items: center;
  gap: 32px;
  padding: 12px 14px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  color: var(--green);
}

.marquee i {
  color: var(--orange);
  font-style: normal;
}

@keyframes marquee-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

section {
  padding: 85px 0;
}

.section {
  padding: 85px 0;
  background-color: #ffffff;
  background-image: var(--tech-grid);
  background-size: 30px 30px;
}

.section-head {
  max-width: 760px;
  margin-bottom: 40px;
}

.section-head h2 {
  font-size: clamp(34px, 4vw, 50px);
  line-height: 1.1;
  letter-spacing: -1.8px;
  margin: 12px 0;
}

.section-head p {
  font-size: 17px;
  color: var(--muted);
}

.feature-grid,
.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.feature-image {
  min-height: 520px;
  background: linear-gradient(180deg, #102a4320, #102a4375), url('../assets/photos/team-collaboration.jpg') center/cover;
}

.feature-list > div {
  border-top: 1px solid var(--line);
  padding: 24px 0;
}

.feature-list b {
  color: var(--orange);
  font-size: 13px;
}

.feature-list h3 {
  margin: 7px 0;
  font-size: 23px;
}

.feature-list p {
  color: var(--muted);
  margin: 0;
}

.section.muted,
.gray {
  background-color: #f8faf9;
  background-image: linear-gradient(180deg, #f0f5f3 0%, #fbfdfc 100%);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.service-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

/* Card container */
.card {
  background: #ffffff;
  border: 1px solid var(--line);
  min-height: 100%;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.card-body {
  padding: 32px 28px; /* Increased from 24px */
}


.card:hover {
  transform: translateY(-5px);
  border-color: var(--green);
  box-shadow:none;
}

/* Base Photo styling for all cards */
.card-media {
  position: relative;
  width: 100%;
  height: 200px;
  background-color: #f1f5f4;
  overflow: hidden;
}

.card-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease, opacity 0.35s ease;
}

/* =========================================================
   Hover Swap ONLY for cards with a Logo (.has-hover-logo)
   Home & Services cards will remain completely untouched.
   ========================================================= */

/* Logo Overlay: Only exists/renders on partner cards */
.card.has-hover-logo .card-logo-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  padding: 28px 36px;
  opacity: 0;
  transform: scale(0.92);
  transition: opacity 0.35s ease, transform 0.35s ease;
  border-bottom: 1px solid var(--line);
}

.card.has-hover-logo .card-hover-logo {
  max-width: 78%;
  max-height: 70px;
  object-fit: contain;
  filter:none;
  transition: transform 0.3s ease;
}

/* Trigger image swap ONLY on .has-hover-logo */
.card.has-hover-logo:hover .card-photo {
  transform: scale(1.06);
  opacity: 0;
}

.card.has-hover-logo:hover .card-logo-overlay {
  opacity: 1;
  transform: scale(1);
}

.card.has-hover-logo:hover .card-hover-logo {
  transform: scale(1.04);
}
.number {
  font-size: 12px;
  font-weight: 800;
  color: var(--orange);
}

.card h3 {
  font-size: 22px;
  margin: 7px 0;
}

.card p {
  color: var(--muted);
  font-size: 14px;
}

.arrow {
  display: inline-flex;
  color: var(--green);
  font-size: 13px;
  font-weight: 800;
  margin-top: 8px;
  gap: 8px;
}

.solution-image {
  min-height: 430px;
  background: linear-gradient(180deg, #102a4315, #102a4370), url('../assets/photos/team-collaboration.jpg') center/cover;
}

.dark,
.technology-section {
  background: linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 100%);
  background-image: var(--dark-grid), linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 100%);
  background-size: 28px 28px, 100% 100%;
  color: #ffffff;
  position: relative;
}

.dark .section-head small {
  color: var(--orange);
}

.dark .section-head h2 {
  color: #ffffff;
}

.partner-strip {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}

.partner-strip span {
  border: 1px solid #ffffff25;
  padding: 28px 15px;
  text-align: center;
  color: #dce7ee;
  font-weight: 700;
}

.cta-band {
  padding: 55px 0;
  background: var(--orange);
}

.cta-band .wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
}

.cta-band h2 {
  font-size: 38px;
  line-height: 1.1;
  margin: 8px 0;
  color: var(--navy);
}

/* =========================================================
   Listing Banner & Internal Pages
   ========================================================= */
.page {
  position: relative;
  background: linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 50%, #15395b 100%);
  padding: 85px 0 65px;
  color: #ffffff;
  border-bottom: 3px solid var(--orange);
  overflow: hidden;
}

.page::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--dark-grid);
  background-size: 28px 28px;
  opacity: 0.6;
  pointer-events: none;
}

.page::after {
  content: "";
  position: absolute;
  top: -40%;
  right: -10%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(54, 107, 91, 0.35) 0%, transparent 70%);
  pointer-events: none;
}

.page .wrap {
  position: relative;
  z-index: 2;
}

.page small {
  color: var(--orange);
  font-size: 11px;
  letter-spacing: 0.16em;
  font-weight: 800;
  display: block;
}

.page h1 {
  color: #ffffff;
  font-size: clamp(38px, 5.5vw, 64px);
  margin: 10px 0 14px;
  letter-spacing: -1.5px;
  max-width: 850px;
}

.page p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 19px;
  max-width: 720px;
}

.listing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.about-image {
  min-height: 520px;
  background: linear-gradient(180deg, #102a4310, #102a4360), url('../assets/photos/team-collaboration.jpg') center/cover;
}

.large {
  font-size: 20px;
  color: var(--muted);
  line-height: 1.8;
}

.mini-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 30px;
}

.mini-stats div {
  padding: 18px 12px;
  border-top: 2px solid var(--orange);
}

.mini-stats strong {
  display: block;
  color: var(--green);
}

.mini-stats span {
  font-size: 13px;
}

/* Contact Grid Layout */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: stretch; /* ensures equal height with form */
  background: #ffffff;
  padding: 40px;
  border: 1px solid var(--line);
  box-shadow:none;
  margin-top: 50px;
  margin-bottom: 50px;
}

/* Contact Image Wrapper */
.contact-image-wrapper {
  position: relative;
  width: 100%;
  min-height: 480px;
  height: 100%;
  border-radius: 4px;
  overflow: hidden; /* prevents any spillover */
  border: 1px solid var(--line);
  background-color: #f7faf9;
  cursor: pointer;
}

/* Base Photo */
.contact-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(16, 42, 67, 0.08), rgba(16, 42, 67, 0.45)),
              url('../assets/photos/team-collaboration.jpg') center/cover;
  transition: opacity 0.35s ease, transform 0.4s ease;
}

/* Logo Overlay */
.contact-logo-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #ffffff 0%, #f4f8f6 100%);
  padding: 32px;
  opacity: 0;
  transform: scale(0.96);
  transition: opacity 0.35s ease, transform 0.35s ease;
  box-sizing: border-box;
}

/* Constrain Logo Dimensions */
.contact-hover-logo {
  max-width: 80%;
  max-height: 90px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter:none;
  display: block;
}

/* Hover Interactions */
.contact-image-wrapper:hover .contact-image {
  opacity: 0;
  transform: scale(1.03);
}

.contact-image-wrapper:hover .contact-logo-overlay {
  opacity: 1;
  transform: scale(1);
}

form {
  display: grid;
  gap: 14px;
  align-content: start;
}

form h2 {
  font-size: 38px;
  margin: 0 0 10px;
}

input,
textarea {
  padding: 14px 15px;
  border: 1px solid var(--line);
  font: inherit;
  border-radius: 0;
  background: #ffffff;
}

textarea {
  min-height: 170px;
  resize: vertical;
}

.consent {
  font-size: 12px;
  color: var(--muted);
}

.form-msg {
  color: var(--green);
  font-weight: 700;
}

/* Footer Container */
footer {
  background: var(--navy-deep);
  color: #c9d8e2;
  padding: 70px 0 24px;
  border-top: 3px solid var(--orange);
}

/* 5-Column Responsive Grid */
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 0.9fr 1fr 1.2fr 1.1fr;
  gap: 32px;
  align-items: start;
}

.footer-grid b {
  display: block;
  font-size: 14.5px;
  margin-bottom: 14px;
  color: #ffffff;
  letter-spacing: -0.2px;
}

.footer-grid a {
  display: block;
  margin: 6px 0;
  font-size: 13px;
  color: #c9d8e2;
  transition: color 0.2s ease;
}

.footer-grid a:hover {
  color: var(--orange);
}

.footer-brand p {
  font-size: 13px;
  line-height: 1.6;
  margin: 14px 0 20px;
  color: #9cb2c2;
}

/* Location Address Groups */
.footer-address {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.location-group small {
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: var(--orange);
  margin-bottom: 4px;
}

.location-group address {
  font-style: normal;
  font-size: 12.5px;
  line-height: 1.5;
  color: #dbe7ef;
  margin-bottom: 6px;
}

.contact-line {
  font-size: 12px;
  margin: 2px 0;
  color: #dbe7ef;
}

.contact-line span {
  color: #8da4b5;
}

.contact-line a {
  display: inline !important;
  color: #ffffff;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.2);
}

.contact-line a:hover {
  color: var(--orange);
}

/* LinkedIn Button */
.linkedin-link {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 8px 14px;
  border-radius: 4px;
  font-size: 12.5px !important;
  font-weight: 600;
  color: #ffffff !important;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.linkedin-link:hover {
  background: var(--green);
  border-color: var(--green);
}

/* Copyright Row */
.copyright {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  margin-top: 50px;
  padding-top: 20px;
  font-size: 12px;
  display: flex;
  justify-content: space-between;
  color: #7b94a6;
}

/* Tablet & Mobile Layout */
@media(max-width: 1024px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }
}

@media(max-width: 600px) {
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .copyright {
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }
}

/* =========================================================
   Service Detail Pages
   ========================================================= */
.service-hero {
  position: relative;
  min-height: 650px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.service-hero-image {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}

.service-hero-content {
  position: relative;
  z-index: 2;
  color: #ffffff;
  padding: 80px 0;
}

.service-hero-content small {
  display: block;
  color: var(--orange);
  font-weight: 800;
  letter-spacing: .14em;
}

.service-hero-content h1 {
  font-size: clamp(48px, 7vw, 92px);
  line-height: .98;
  letter-spacing: -.045em;
  max-width: 850px;
  margin: 15px 0 22px;
}

.service-hero-content > p {
  font-size: 20px;
  line-height: 1.6;
  max-width: 680px;
  color: rgba(255, 255, 255, .88);
  margin: 0 0 30px;
}

.back-link {
  display: block;
  color: #ffffff !important;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 70px;
}

.service-overview-grid,
.service-benefit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}

.service-overview-grid h2,
.service-benefit-grid h2,
.technology-section h2,
.service-section-title h2 {
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.05;
  letter-spacing: -.035em;
  margin: 10px 0;
  color: #102a43;
}

.service-overview-grid > p {
  font-size: 20px;
  line-height: 1.75;
  color: #526776;
  margin: 0;
}

.service-section-title {
  max-width: 720px;
  margin-bottom: 42px;
}

.service-capabilities {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: #dfe8e4;
  border: 1px solid #dfe8e4;
}

.service-capability {
  background: #ffffff;
  min-height: 220px;
  padding: 30px;
}

.service-capability span {
  color: var(--orange);
  font-size: 12px;
  font-weight: 800;
}

.service-capability h3 {
  font-size: 19px;
  color: #102a43;
  margin: 32px 0 10px;
}

.service-capability p {
  font-size: 13px;
  line-height: 1.65;
  color: #657786;
  margin: 0;
}

.service-benefit-grid {
  align-items: center;
}

.service-benefit-grid > div > p {
  font-size: 16px;
  color: #657786;
  line-height: 1.7;
}

.benefit-list {
  display: grid;
  border-top: 1px solid #dfe8e4;
}

.benefit-item {
  display: flex;
  gap: 15px;
  align-items: center;
  padding: 21px 0;
  border-bottom: 1px solid #dfe8e4;
  color: #102a43;
}

.benefit-item span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #edf5f1;
  color: var(--green);
  font-weight: 900;
}

.technology-section h2 {
  color: #ffffff;
  margin-bottom: 35px;
}

.technology-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.technology-list span {
  border: 1px solid rgba(255, 255, 255, .18);
  padding: 15px 20px;
  color: #e8efed;
  background: rgba(255, 255, 255, .035);
}

.process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.process-card {
  background: #ffffff;
  padding: 30px;
  min-height: 245px;
  border-top: 3px solid var(--green);
  box-shadow:none;
}

.process-card > span {
  font-size: 11px;
  font-weight: 900;
  color: var(--orange);
}

.process-card h3 {
  color: #102a43;
  font-size: 22px;
  margin: 35px 0 12px;
}

.process-card p {
  color: #657786;
  line-height: 1.65;
  font-size: 13px;
}

.service-cta {
  padding-top: 0;
}

.service-cta-inner {
  background: var(--green);
  color: #ffffff;
  padding: 65px 70px;
  display: flex;
  justify-content: space-between;
  gap: 50px;
  align-items: center;
}

.service-cta-inner h2 {
  font-size: clamp(32px, 4vw, 56px);
  line-height: 1.05;
  letter-spacing: -.035em;
  max-width: 720px;
  margin: 10px 0;
}

.service-cta-inner p {
  color: rgba(255, 255, 255, .8);
  margin: 0;
}

.service-cta-inner small {
  color: var(--orange);
}

.cta.light {
  background: #ffffff !important;
  color: #102a43 !important;
  white-space: nowrap;
}

/* =========================================================
   Partners Pages
   ========================================================= */
.partner-hero {
  position: relative;
  min-height: 650px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.partner-hero-image {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}

.partner-hero-content {
  position: relative;
  z-index: 2;
  color: #ffffff;
  padding: 80px 0;
}

.partner-hero-content small,
.partner-home-hero small,
.partner-banner small,
.partner-cta-inner small {
  display: block;
  color: var(--orange);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
}

.partner-hero-content h1 {
  font-size: clamp(48px, 7vw, 92px);
  line-height: .98;
  letter-spacing: -.045em;
  max-width: 900px;
  margin: 15px 0 22px;
}

.partner-hero-content > p {
  font-size: 20px;
  line-height: 1.6;
  max-width: 700px;
  color: rgba(255, 255, 255, .88);
  margin: 0 0 30px;
}

.partner-overview-grid,
.partner-benefit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}

.partner-overview-grid h2,
.partner-benefit-grid h2 {
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.05;
  letter-spacing: -.035em;
  margin: 10px 0;
  color: #102a43;
}

.partner-overview-grid > p {
  font-size: 20px;
  line-height: 1.75;
  color: #526776;
  margin: 0;
}

.partner-area-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: #dfe8e4;
  border: 1px solid #dfe8e4;
}

.partner-area-card {
  background: #ffffff;
  padding: 30px;
  min-height: 240px;
}

.partner-area-card > span {
  color: var(--orange);
  font-size: 12px;
  font-weight: 800;
}

.partner-area-card h3 {
  color: #102a43;
  font-size: 20px;
  margin: 32px 0 10px;
}

.partner-area-card p {
  font-size: 13px;
  color: #657786;
  line-height: 1.65;
}

.partner-cta {
  padding-top: 0;
}

.partner-cta-inner {
  background: var(--green);
  color: #ffffff;
  padding: 65px 70px;
  display: flex;
  justify-content: space-between;
  gap: 50px;
  align-items: center;
}

.partner-cta-inner h2 {
  font-size: clamp(32px, 4vw, 56px);
  line-height: 1.05;
  letter-spacing: -.035em;
  max-width: 760px;
  margin: 10px 0;
}

.partner-cta-inner p {
  color: rgba(255, 255, 255, .8);
  margin: 0;
}

.partner-home-hero {
  background: linear-gradient(115deg, #102a43 0%, #193e48 58%, #22634f 100%);
  color: #ffffff;
  padding: 120px 0 110px;
}

.partner-home-hero h1 {
  font-size: clamp(52px, 8vw, 100px);
  line-height: .95;
  letter-spacing: -.055em;
  max-width: 1000px;
  margin: 15px 0 25px;
}

.partner-home-hero h1 span {
  color: var(--orange);
}

.partner-home-hero p {
  max-width: 720px;
  font-size: 19px;
  line-height: 1.7;
  color: rgba(255, 255, 255, .8);
}

.hero-actions {
  display: flex;
  align-items: center;
  gap: 25px;
  margin-top: 35px;
}

.text-link {
  color: #ffffff !important;
  font-weight: 800;
  font-size: 13px;
}

.partner-home-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.partner-home-card {
  display: block;
  background: #ffffff;
  border: 1px solid #dfe8e4;
  padding: 35px;
  min-height: 300px;
  transition: transform .2s, box-shadow .2s;
}

.partner-home-card:hover {
  transform: translateY(-5px);
  box-shadow:none;
}

.partner-home-card > span {
  color: var(--orange);
  font-size: 11px;
  font-weight: 900;
}

.partner-home-card h3 {
  font-size: 26px;
  color: #102a43;
  margin: 60px 0 12px;
}

.partner-home-card p {
  font-size: 14px;
  line-height: 1.65;
  color: #657786;
  max-width: 330px;
}

.partner-home-card b {
  display: block;
  color: var(--green);
  font-size: 12px;
  margin-top: 28px;
}

.partner-home-card.featured {
  background: var(--green);
  border-color: var(--green);
  color: #ffffff;
}

.partner-home-card.featured h3 {
  color: #ffffff;
}

.partner-home-card.featured p {
  color: rgba(255, 255, 255, .78);
}

.partner-home-card.featured b {
  color: var(--orange);
}

.partner-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  background: #f1f6f4;
  padding: 55px 60px;
}

.partner-banner h2 {
  color: #102a43;
  font-size: clamp(30px, 4vw, 50px);
  line-height: 1.05;
  max-width: 760px;
  margin: 10px 0 0;
}

/* =========================================================
   Responsive Breakpoints
   ========================================================= */
@media(max-width:900px) {
  nav {
    display: none;
    position: absolute;
    top: 82px;
    left: 0;
    right: 0;
    background: #ffffff;
    padding: 20px 24px;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    border-top: 1px solid var(--line);
    box-shadow:none;
  }

  nav.open {
    display: flex;
  }

  nav a,
  .nav-trigger {
    width: 100%;
    justify-content: space-between;
    padding: 12px 0;
  }

  .nav-dropdown {
    display: block;
    width: 100%;
  }

  .hamb {
    display: block;
  }

  .header-inner .cta {
    display: none;
  }

  .services-mega,
  .partner-dropdown {
    position: static;
    transform: none;
    left: auto;
    right: auto;
    top: auto;
    width: 100%;
    box-shadow:none;
    border-top: 1px solid #e5ebe8;
    border-radius: 0;
  }

  .services-mega {
    grid-template-columns: 1fr 1fr;
    padding: 15px 0;
  }

  .mega-intro {
    grid-column: 1/-1;
    border-right: 0;
    padding: 6px 0 15px;
  }

  .mega-col {
    border-right: 0;
    padding: 12px 8px;
  }

  .partner-dropdown {
    padding: 8px 0 12px;
  }

  .partner-heading {
    padding-left: 4px;
  }

  .hero-grid,
  .feature-grid,
  .split,
  .contact-grid {
    grid-template-columns: 1fr;
  }

  .hero-visual {
    min-height: 400px;
  }

  .hero-image {
    height: 400px;
  }

  .service-grid,
  .listing-grid,
  .partner-strip,
  .footer-grid,
  .service-capabilities,
  .process-grid,
  .partner-area-grid {
    grid-template-columns: 1fr 1fr;
  }

  .partner-home-grid {
    grid-template-columns: 1fr;
  }

  .service-overview-grid,
  .service-benefit-grid,
  .partner-overview-grid,
  .partner-benefit-grid {
    grid-template-columns: 1fr;
    gap: 35px;
  }

  .service-hero,
  .partner-hero {
    min-height: 560px;
  }

  .service-cta-inner,
  .partner-banner {
    display: block;
    padding: 45px 35px;
  }

  .service-cta-inner .cta,
  .partner-banner .cta {
    display: inline-block;
    margin-top: 25px;
  }

  .cta-band .wrap {
    display: block;
  }

  .cta-band .button {
    margin-top: 20px;
  }
}

@media(max-width:600px) {
  .wrap {
    width: calc(100% - 28px);
  }

  .top-inner {
    display: block;
    text-align: center;
  }

  .top-inner span:last-child {
    display: none;
  }

  .hero {
    padding: 55px 0;
  }

  .hero h1,
  .page h1 {
    font-size: 46px;
    letter-spacing: -2px;
  }

  .hero-visual {
    min-height: 330px;
  }

  .hero-image {
    height: 330px;
  }

  .hero-stat {
    left: 10px;
  }

  .marquee-row {
    overflow: hidden;
    gap: 20px;
    justify-content: flex-start;
  }

  .marquee-row span:nth-of-type(n+4),
  .marquee-row i:nth-of-type(n+4) {
    display: none;
  }

  .services-mega {
    grid-template-columns: 1fr;
  }

  .mega-col {
    border-bottom: 1px solid #eef1ef;
  }

  .service-grid,
  .listing-grid,
  .footer-grid,
  .mini-stats,
  .partner-strip,
  .service-capabilities,
  .process-grid,
  .partner-area-grid {
    grid-template-columns: 1fr;
  }

  section {
    padding: 60px 0;
  }

  .feature-image,
  .about-image,
  .contact-image {
    min-height: 360px;
  }

  .cta-band h2 {
    font-size: 30px;
  }

  .service-hero-content h1,
  .partner-hero-content h1 {
    font-size: 48px;
  }

  .service-hero-content > p,
  .partner-hero-content > p {
    font-size: 17px;
  }

  .service-cta-inner,
  .partner-cta-inner {
    padding: 35px 25px;
    display: block;
  }

  .service-cta-inner .cta,
  .partner-cta-inner .cta {
    display: inline-block;
    margin-top: 25px;
  }

  .hero-actions {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* ===== merged.css ===== */
/* Compatibility for public HTML content inside the original site's design system. */
body{background:#fff;color:#172f46;cursor:auto!important;font-size:16px}a,button{cursor:pointer!important}input,textarea{cursor:text!important}*{min-width:0}h1,h2,h3{overflow-wrap:break-word}p{line-height:1.75}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e89750;outline-offset:4px}.skip{position:fixed;top:-100px;left:15px;background:white;z-index:9999;padding:12px}.skip:focus{top:10px}.top a{color:inherit}.menu-panel{display:none}.menu-group.open .menu-panel{display:grid}.services-mega{grid-template-columns:1.3fr repeat(3,1fr);max-height:75vh;overflow:auto}.mega-col p{font-size:14px;color:#667085}.menu-group>button{color:var(--navy)}header{z-index:1000}.hero{min-height:0}.original-marquee{padding:25px 0;background:var(--navy);color:white;font-size:18px;font-weight:600;letter-spacing:.08em}.original-marquee .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.original-marquee span{color:var(--orange)}.partner-strip a{color:inherit}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}.footer-grid a:not(:has(img)){display:block;margin:10px 0;color:#d7e5e3}.footer-grid h3{color:white;font-size:18px}.footer-grid p{color:#d7e5e3}.footer-bottom{margin-top:35px;padding-top:20px;border-top:1px solid #ffffff33;font-size:13px}.additional-link{margin-top:30px}.contact-grid{padding-block:60px}.enquiry-form{display:grid;gap:18px;padding:25px;background:#fff}.enquiry-form h2{font-size:28px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.enquiry-form label{display:grid;gap:8px;font-size:14px}.enquiry-form input:not([type=checkbox]),.enquiry-form select,.enquiry-form textarea{width:100%;border:1px solid #c8d8d1;border-radius:5px;padding:13px;background:white;color:#172f46;font-size:16px}.enquiry-form textarea{min-height:140px}.enquiry-form .consent{display:flex;align-items:flex-start;gap:10px}.consent input{width:18px;height:18px;margin-top:4px}.enquiry-form .btn{background:#22634f;border:0;color:white;padding:15px 24px;border-radius:4px;font-weight:600}.form-status[data-error=true]{color:#a92727}.bot-field{position:absolute!important;left:-10000px}.enquiry-form button:disabled{opacity:.6}.form-status{font-size:14px}.demo-content{--ink:#fff;--deep:#f4f7f6;--surf:#edf5f1;--surf2:#e1ede7;--wht:#0b2239;--cre:#172f46;--mut:#667085;--mut2:#667085;--teal:#22634f;--teal2:#23513f;--bdr:#dce6e2;--bdr2:#bccfc4;--fd:'Playfair Display',Georgia,serif;--fh:'Poppins',Arial,sans-serif;--fb:'Poppins',Arial,sans-serif;--hero-grad:linear-gradient(135deg,#f4f8f6,#fff);--g1:linear-gradient(120deg,#22634f,#e89750)}.demo-content .phero{padding-top:60px;min-height:0}.demo-content .sec-title{font-family:var(--brand-font, 'Poppins', Arial, sans-serif);font-size:clamp(36px,4vw,56px);line-height:1.2;letter-spacing:-.025em}.demo-content .sec-title em{font-family:var(--brand-font, 'Poppins', Arial, sans-serif)}.demo-content .fu,.demo-content .fi,.demo-content .si,.demo-content .rl-inner{opacity:1!important;transform:none!important}.demo-content .hero-circuit,.demo-content .phero-grid,.demo-content .orb,.demo-content .tr{display:none}.demo-content p{font-size:16px!important}.demo-content .eyebrow,.demo-content .ph-cat,.demo-content .ph-tag{font-size:14px}.demo-content .btn{background:#22634f;color:white;letter-spacing:0;font-size:14px;border-radius:4px}.demo-content .ph-grid,.demo-content .wc-grid,.demo-content .p-grid{gap:24px}.demo-content .ph-card,.demo-content .wc,.demo-content .p-card,.demo-content .psvc{border:1px solid #dce6e2;border-radius:8px;background:#fff}.demo-content .ph-card h3,.demo-content .psvc h3{color:#0b2239}.demo-content .tr-wrap{display:none}.demo-content .ph-lockup{opacity:1}.demo-content .wrap{width:min(1200px,90%)}.page-lead{padding:70px 0 35px}.page-lead h1{font-size:clamp(36px,5vw,60px);line-height:1.2;margin:20px 0}.page-lead em{color:#22634f;font-family:var(--brand-font, 'Poppins', Arial, sans-serif)}.merge-section{padding:55px 0}.merged-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.merged-card{display:flex;flex-direction:column;border:1px solid #dce6e2;background:#fff;border-radius:8px;overflow:hidden;color:#172f46}.merged-card>img{width:100%;height:220px;object-fit:cover}.card-copy{padding:26px;display:flex;flex-direction:column;flex:1}.card-copy h3{font-size:24px;margin:15px 0}.card-copy p{color:#667085}.card-link{margin-top:auto;padding-top:20px;color:#22634f}.eyebrow{color:#22634f;font-size:13px;font-weight:600;letter-spacing:.1em}.partner-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.partner-intro img{width:100%;height:350px;object-fit:cover}.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.capability-grid>div{padding:25px;background:#f4f7f6;border-radius:8px}.capability-grid span{color:#22634f}.subheading{margin:35px 0 20px}.tech-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.tech-tags span{padding:10px;background:#edf5f1}.merge-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:60px 0}.merge-cta .btn{background:#22634f;color:#fff;padding:15px 24px}.benefit-list{padding-left:20px}.demo-content section{padding-block:65px}.demo-content .phero{padding-block:65px}
@media(max-width:1000px){.services-mega{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.merged-cards{grid-template-columns:1fr 1fr}}
@media(max-width:768px){#site-menu.open{display:flex}.menu-panel.mega{position:static;width:100%;max-width:none;box-shadow:none;transform:none}.services-mega{grid-template-columns:1fr}.demo-content .ph-grid,.demo-content .p-grid,.demo-content .wc-grid,.demo-content .stats-grid,.demo-content .contact-grid{grid-template-columns:1fr!important}.merged-cards,.partner-intro,.capability-grid,.form-row{grid-template-columns:1fr}.merge-cta{flex-direction:column;align-items:start}.footer-grid{grid-template-columns:1fr}.demo-content .sec-title{font-size:36px}.demo-content section{padding-block:45px}.original-marquee{font-size:13px}.hero h1{font-size:42px}.contact-grid{padding-block:35px}.top-inner{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto!important}}

/* Shared partner navigation and accessible category filters. */
.partners-mega{grid-template-columns:1fr 2.5fr;max-height:75vh;overflow:auto}
.partner-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.partner-menu-link{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:6px!important;padding:16px!important;border:1px solid #dce6e2;border-radius:6px}
.partner-menu-link strong{font-size:15px;color:#0b2239}.partner-menu-link span{font-size:13px;color:#667085;line-height:1.5}
.partner-menu-link:hover,.partner-menu-link:focus-visible{background:#edf5f1}
.ph-card[hidden]{display:none!important}
.partner-filter-status{font-size:14px!important;color:#667085;margin:18px 0}
.demo-content .pf-wrap{display:flex;gap:10px;flex-wrap:wrap}
.demo-content .pf-btn{font:600 14px 'Poppins',Arial,sans-serif;padding:11px 18px;border:1px solid #bccfc4;background:#fff;color:#22634f;border-radius:5px;cursor:pointer}
.demo-content .pf-btn.on{background:#22634f;color:#fff;border-color:#22634f}
@media(max-width:1000px){.partner-menu-grid{grid-template-columns:1fr 1fr}.partners-mega{grid-template-columns:1fr}}
@media(max-width:768px){.partner-menu-grid{grid-template-columns:1fr}.partners-mega{max-height:none}.demo-content .pf-wrap{gap:8px}.demo-content .pf-btn{padding:10px 13px}}

.direct-contact{padding:40px;background:#f4f7f6;border:1px solid #dce6e2;border-radius:8px;display:flex;flex-direction:column;justify-content:center;gap:18px}.direct-contact small{font-size:13px;letter-spacing:.1em;color:#22634f}.direct-contact h2{font-size:32px;color:#0b2239;line-height:1.25}.direct-contact p{color:#667085}.direct-contact a{color:#22634f;font-size:18px;overflow-wrap:anywhere}.direct-contact a:hover{text-decoration:underline}@media(max-width:600px){.direct-contact{padding:25px}.direct-contact h2{font-size:27px}}

/* Anchor both dropdowns to the header without shifting navigation. */
header .header-inner{position:relative}
header #site-menu .partners-mega{position:absolute;top:100%;left:0;right:0;width:100%;z-index:2000;grid-template-columns:minmax(180px,1fr) minmax(0,2.5fr);background:#fff;border-top:3px solid #e89750;border-radius:0 0 18px 18px;box-shadow:none;padding:28px;gap:20px;max-height:calc(100dvh - 160px);overflow-y:auto;box-sizing:border-box}
header #site-menu .menu-panel{display:none}
header #site-menu .menu-group.open>.menu-panel{display:grid}
header #site-menu .partner-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
header #site-menu .partner-menu-link{white-space:normal;min-width:0;text-decoration:none}
header #site-menu .partner-menu-link strong{line-height:1.4}
@media(max-width:900px){
 header #site-menu{top:100%;max-height:calc(100dvh - 110px);overflow-y:auto}
 header #site-menu .partners-mega,header #site-menu .services-mega{position:static;left:auto;right:auto;top:auto;width:100%;grid-template-columns:1fr;max-height:none;overflow:visible;padding:16px 0;background:#fff;border-radius:0;box-shadow:none}
 header #site-menu .partner-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){header #site-menu .partner-menu-grid{grid-template-columns:1fr}}

/* ===== premium.css ===== */
/* Ingrowlogy — shared visual system for every page. */
:root{
 --brand-font:'Poppins',Arial,sans-serif;
 --green:#22634f;--orange:#e6ad55;--navy:#102e3c;--navy-deep:#091f2c;
 --ink:#193540;--muted:#586d76;--line:#dbe6e3;--paper:#fff;--gray:#f3f7f6;
 --surface-shadow:0 14px 42px rgba(15,51,47,.07);
 --texture:radial-gradient(ellipse at 4% 12%,rgba(102,174,151,.17),transparent 48%),radial-gradient(ellipse at 95% 85%,rgba(230,173,85,.11),transparent 45%),linear-gradient(135deg,#f6faf8 0%,#fff 52%,#edf5f2 100%);
}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body,body *,body *::before,body *::after{font-family:var(--brand-font, 'Poppins', Arial, sans-serif)}
body{background:#fff;color:var(--ink);font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.75}
::selection{background:#c9e8da;color:#102e3c}
h1,h2,h3,h4,h5,h6{color:var(--navy);font-weight:600;letter-spacing:-.035em;line-height:1.23}
h1 em,h2 em,h3 em,.sec-title em{font-style:normal;font-weight:500;color:var(--green)}
p{color:var(--muted)}
a,button{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #be8b3f;outline-offset:4px}
.top{background:linear-gradient(110deg,#102e3c,#184638);color:#e4efeb;border-bottom:1px solid #ffffff12}
.top-inner{min-height:35px;font-size:12px}.top a{color:#e4efeb}
header{background:rgba(255,255,255,.95);backdrop-filter:blur(18px);border-bottom:1px solid #e0e9e6;box-shadow:none}
.header-inner{min-height:86px}header nav>a:not(.cta),header .nav-trigger{font-size:14px;font-weight:500}
header nav>a[aria-current=page]{color:var(--green);text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:9px;text-decoration-thickness:2px}
header #site-menu .menu-panel{border-top:2px solid var(--orange);background:linear-gradient(135deg,#fff,#f6faf8);box-shadow:none;border-radius:0 0 18px 18px}
header .partner-menu-link{background:#fff;border-color:#e0e9e6;border-radius:10px}header .partner-menu-link:hover{background:#edf5f1;border-color:#b8d4c6;transform:translateY(-2px)}
header .mega-number{background:#edf5f1;color:var(--green)}header .mega-intro h3{font-size:23px;letter-spacing:-.03em}
.button,.cta,.demo-content .btn,.enquiry-form .btn,.merge-cta .btn{border-radius:9px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 25px;font-size:14px;font-weight:600;letter-spacing:0;text-transform:none;background:linear-gradient(115deg,#286e57,#174a3c);color:#fff;border:1px solid #1d5644;box-shadow:none}
.button:hover,.cta:hover,.demo-content .btn:hover,.enquiry-form .btn:hover{transform:translateY(-2px);box-shadow:none}
.outline,.demo-content .btn-out{background:#ffffffbd!important;border:1px solid #bbcfc7!important;color:var(--green)!important;box-shadow:none;border-radius:9px;min-height:48px;padding:14px 24px;font-size:14px}
.hero,.page,.demo-content .phero,.page-lead{background:var(--texture)!important;background-size:auto;border-bottom:1px solid #dfe9e5}
.hero{padding:82px 0 88px}.hero-grid{gap:64px}.hero h1,.page h1{font-size:clamp(42px,5.2vw,68px);line-height:1.14;letter-spacing:-.045em;font-weight:600;margin:14px 0 24px}
.hero h1 em{color:var(--green);font-weight:500}.hero p{font-size:17px;line-height:1.85;max-width:560px}.actions{gap:14px;margin-top:32px}
.hero-image{border-radius:24px 24px 72px 24px;box-shadow:none;border:1px solid #ffffffc0}
.hero-stat{left:-22px;bottom:-12px;border-radius:14px;background:linear-gradient(120deg,#184d3e,#0e3035);border:1px solid #ffffff33;box-shadow:none;padding:20px 26px}.hero-stat strong{color:#ebbc72;font-weight:500;font-size:36px}.hero-stat span{color:#f0f7f4;font-size:14px}
.original-marquee{background:linear-gradient(100deg,#143a40,#20533f);border-block:1px solid #ffffff1a;font-size:14px;letter-spacing:.1em;padding:24px 0}.original-marquee span{color:#e8b86c}
.section-head{max-width:790px;margin-bottom:40px}.section-head h2,.section-heading h2,.merge-section h2{font-size:clamp(29px,3.3vw,44px);line-height:1.24;letter-spacing:-.035em}.section-head small,.eyebrow,.page small{font-size:12px;font-weight:600;letter-spacing:.15em;color:var(--green)}
.gray,.muted,.services-home{background:linear-gradient(140deg,#f1f7f4,#f8faf9 60%,#eef5f4)!important}
.feature-image,.solution-image,.about-image{border-radius:20px;box-shadow:none}.feature-list>div{border-color:#dce8e2;padding-block:23px}.feature-list b{color:var(--green);background:#edf5f1;border-radius:50%}.feature-list h3{font-size:22px}.feature-list p{font-size:16px}
.card,.merged-card,.demo-content .ph-card,.demo-content .psvc,.demo-content .p-card,.demo-content .wc,.service-capability,.process-card{border:1px solid #dfe8e4;border-radius:16px;background:linear-gradient(145deg,#fff 75%,#f7faf8);box-shadow:none;overflow:hidden}
.card:hover,.merged-card:hover,.demo-content .ph-card:hover{transform:translateY(-5px);border-color:#b1d0c1;box-shadow:none}
.card-media{overflow:hidden}.card-photo{transition:transform .5s ease;object-fit:cover}.card:hover .card-photo{transform:scale(1.035)}.card-body,.card-copy{padding:28px}.card h3,.card-copy h3{font-size:23px;line-height:1.3;letter-spacing:-.025em}.card p,.card-copy p{font-size:16px;line-height:1.8}.number{color:#628574;font-size:14px;letter-spacing:.08em}.arrow{font-size:14px;font-weight:600;color:var(--green)}
.dark,.ecosystem,.technology-section,footer{background:radial-gradient(ellipse at 90% 0%,#245d4b66,transparent 60%),linear-gradient(120deg,#0b2636,#123d36)!important;color:#eaf3ef}
.dark h2,.ecosystem h2,.technology-section h2,footer h3{color:#f3f8f6}.dark p,.ecosystem p,.technology-section p,footer p{color:#b9cdc7}.dark small,.ecosystem small{color:#9bc9b2}.partner-strip{border-top:1px solid #ffffff20;padding-top:30px;gap:30px}.partner-strip a{color:#edf6f2;font-weight:500}
.cta-band{background:var(--texture);border-block:1px solid #dbe7e0;color:var(--navy)}.cta-band h2{color:var(--navy);font-size:clamp(28px,3vw,40px);line-height:1.3}.cta-band small{color:var(--green)}.cta-band .button.light{background:linear-gradient(115deg,#286e57,#174a3c);color:#fff}
footer{padding-top:65px}.footer-grid{gap:40px}.footer-grid p{font-size:14px;max-width:340px;line-height:1.85}.footer-grid h3{font-size:15px;font-weight:600;letter-spacing:.02em}.footer-grid a:not(:has(img)){font-size:14px;color:#c7d9d2}.footer-grid a:hover{color:#f0c98a}.footer-bottom{color:#a9c3b8;font-size:12px;border-color:#ffffff18;padding-bottom:15px}
.demo-content{--fh:var(--brand-font);--fd:var(--brand-font);--fb:var(--brand-font);--ink:#fff;--deep:#f3f7f5;--surf:#edf5f0;--surf2:#e2eee7;--teal:#22634f;--mut:#586d76;--wht:#102e3c;--bdr:#dbe6e0;--g1:linear-gradient(110deg,#22634f,#3f876c)}
.demo-content .sec-title,.page-lead h1{font-size:clamp(36px,4.5vw,60px);font-weight:600;line-height:1.18;letter-spacing:-.04em}.demo-content .sec-title em,.page-lead em{font-style:normal;font-weight:500}.demo-content .phero{padding-block:75px!important}.demo-content .phero-content{max-width:1200px}.demo-content .stats-band{background:linear-gradient(110deg,#eaf3ee,#f8faf8);border-block:1px solid #dce8df}.demo-content .stat-n{color:#22634f;font-weight:500;letter-spacing:-.035em}.demo-content .stat-l{color:#586d76;font-size:13px}.demo-content .ph-tag,.demo-content .psvc-tag{background:#edf5f0;border:1px solid #d7e5dc;border-radius:30px;font-size:12px;color:#32654f}
.demo-content .pf-btn{border-radius:30px;padding:11px 20px;background:#fff;border-color:#d6e3db;font-weight:500}.demo-content .pf-btn.on{background:linear-gradient(120deg,#286e57,#174a3c);color:#fff;box-shadow:none}.partner-filter-status{font-size:14px;color:#586d76}
.contact-image-wrapper{border-radius:20px;overflow:hidden;box-shadow:none}.enquiry-form{border:1px solid #dce8e0;border-radius:18px;padding:35px;box-shadow:none;background:linear-gradient(145deg,#fff,#f7faf8)}.enquiry-form h2{font-size:28px}.enquiry-form input:not([type=checkbox]),.enquiry-form textarea,.enquiry-form select{border-color:#d4e0d9;border-radius:8px;background:#fff;padding:13px 15px;transition:border-color .2s,box-shadow .2s}.enquiry-form input:focus,.enquiry-form textarea:focus,.enquiry-form select:focus{border-color:#5c947b;box-shadow:none}.enquiry-form label{font-weight:500;font-size:14px}.enquiry-form .consent{font-weight:400}
@media(max-width:900px){.hero-grid{gap:35px}.hero{padding:55px 0 65px}.hero h1{font-size:clamp(38px,6vw,56px)}.hero-image{border-radius:18px 18px 45px 18px}.header-inner{min-height:80px}.card-body,.card-copy{padding:23px}.demo-content .phero{padding-block:55px!important}}
@media(max-width:600px){.hero{padding:36px 0 55px}.hero h1{font-size:40px;line-height:1.16;letter-spacing:-.04em}.hero p{font-size:16px}.hero-stat{left:12px;bottom:-15px;padding:15px 20px}.hero-stat strong{font-size:30px}.original-marquee{font-size:11px;letter-spacing:.07em}.section-head h2{font-size:30px}.demo-content .sec-title,.page-lead h1{font-size:36px!important}.enquiry-form{padding:23px}.card-body,.card-copy{padding:23px}.footer-grid{gap:28px}.top-inner{font-size:11px}.page h1{font-size:38px}.hero-visual{margin-top:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.demo-content [style*="opacity:0"]{opacity:1!important}.card:hover,.merged-card:hover,.button:hover,.cta:hover{transform:none}}

/* Services: fixed introduction column, independent six-item grid. */
header #site-menu .services-mega{grid-template-columns:minmax(220px, .95fr) minmax(0, 2.4fr);align-items:stretch;gap:28px;padding:28px;max-height:calc(100dvh - 150px);overflow-y:auto}
header #site-menu .services-mega>.mega-intro{grid-column:auto;padding:6px 26px 6px 4px;border-right:1px solid #dbe6e3;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}
header #site-menu .services-mega>.mega-intro>a{margin-top:14px;width:auto}
.services-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}
header #site-menu .services-menu-grid>.mega-col{border:1px solid #dfe8e3;border-radius:10px;padding:16px;background:rgba(255,255,255,.75);display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0}
header #site-menu .services-menu-grid .mega-number{width:30px;height:30px;flex-shrink:0;margin:0;display:inline-flex;align-items:center;justify-content:center;font-size:11px}
header #site-menu .services-menu-grid a{padding:0;margin:0;font-size:14px;font-weight:600;line-height:1.5;white-space:normal;color:#173b35;width:auto}
header #site-menu .services-menu-grid p{margin:0;font-size:13px;line-height:1.7;color:#63766e}
header #site-menu .services-menu-grid .mega-col:hover{background:#eef6f1;border-color:#b9d5c7}
@media(max-width:1100px) and (min-width:901px){header #site-menu .services-mega{grid-template-columns:minmax(190px,.8fr) minmax(0,2fr);gap:18px;padding:20px}.services-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){header #site-menu .services-mega{grid-template-columns:1fr;padding:16px 0;gap:16px;max-height:none;overflow:visible}header #site-menu .services-mega>.mega-intro{border-right:0;border-bottom:1px solid #dbe6e3;padding:0 0 16px}.services-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.services-menu-grid{grid-template-columns:1fr}}

/* Keep the complete desktop navigation in the header row. */
header .header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:24px}
header .header-inner>.logo{flex:0 0 auto}
@media(min-width:901px){header #site-menu{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:8px;min-width:0}header #site-menu>a,header #site-menu>.menu-group>.nav-trigger{white-space:nowrap;font-size:14px;padding:10px}header #site-menu>.cta{padding:13px 20px}header .hamb{display:none}}
@media(max-width:900px){header #site-menu{display:none}header #site-menu.open{display:flex;flex-direction:column;align-items:stretch}header .hamb{display:block;margin-left:auto}header .header-inner{gap:14px}}

/* ===== menu-carousels.css ===== */
header #site-menu .menu-carousel{grid-column:1/-1;min-width:0;border-top:1px solid #d9e6de;padding-top:16px;margin-top:2px}
.menu-carousel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.menu-carousel-heading>span{font-size:12px;font-weight:600;color:#376650;letter-spacing:.07em;text-transform:uppercase}
.menu-carousel-controls{display:flex;gap:7px;align-items:center}
.menu-carousel-controls button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbddd2;background:#fff;border-radius:7px;min-width:36px;min-height:36px;padding:5px 10px;font-size:22px;color:#22634f;cursor:pointer}
.menu-carousel-controls button[data-carousel-action=pause]{font-size:12px;min-width:58px}
.menu-carousel-controls button:hover{background:#e8f3ed}.menu-carousel-controls button:disabled{opacity:.4;cursor:default}
.menu-carousel-track{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#bed5c7 transparent;padding:2px 2px 9px;min-width:0}
header #site-menu .menu-slide{flex:0 0 calc((100% - 36px)/4);min-width:140px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:98px;padding:14px 10px!important;border:1px solid #dce7e0;border-radius:10px;background:#fff;color:#204c3e;text-decoration:none;text-align:center;white-space:normal}
header #site-menu .menu-slide:hover{background:#f0f7f2;border-color:#9fc5af}
header #site-menu .menu-slide>span{font-size:12px;font-weight:500;line-height:1.45}
.partner-slide img{height:32px;width:125px;max-width:100%;object-fit:contain}
.partner-slide.logo-unavailable>span{font-size:15px!important;font-weight:600!important}
.service-carousel-icon{display:flex;align-items:center;justify-content:center;width:43px;height:43px;border-radius:11px;background:linear-gradient(135deg,#e1f0e6,#f1f7f3);color:#286e57}
@media(max-width:900px){header #site-menu .menu-slide{flex-basis:calc((100% - 24px)/3);min-width:125px}.menu-carousel-heading{flex-wrap:wrap}}
@media(max-width:560px){header #site-menu .menu-slide{flex-basis:calc((100% - 12px)/2);min-width:115px}.menu-carousel-heading>span{font-size:11px}.menu-carousel-controls button{min-width:34px;min-height:34px}}

/* A single visible row: carousel pagination rather than a scroll container. */
header #site-menu .menu-carousel-track{display:grid;grid-template-columns:repeat(var(--visible-slides,4),minmax(0,1fr));gap:10px;overflow:visible;scroll-snap-type:none;padding:0;min-width:0}
header #site-menu .menu-slide{min-width:0;width:auto;min-height:66px;padding:9px!important;gap:6px;box-sizing:border-box}
header #site-menu .menu-slide[hidden]{display:none!important}
header #site-menu .partner-slide img{height:27px;width:112px;object-fit:contain}
header #site-menu .partner-slide>span{font-size:11px;line-height:1.35}
header #site-menu .menu-carousel-heading{margin-bottom:9px}
header #site-menu .menu-carousel{padding-top:12px;margin-top:0}
header #site-menu .service-slide{padding:0 0 8px!important;overflow:hidden;gap:7px}
header #site-menu .service-carousel-photo{display:block;width:100%;height:64px;object-fit:cover}
header #site-menu .service-carousel-photo[hidden]{display:none}
header #site-menu .service-slide>span{padding-inline:7px;font-size:12px}
header #site-menu .service-slide.logo-unavailable{min-height:85px;justify-content:center}
@media(min-width:901px){
 header #site-menu .services-mega,header #site-menu .partners-mega{max-height:none;overflow:visible;padding:18px 22px;gap:16px}
 header #site-menu .services-mega{grid-template-columns:minmax(205px,.9fr) minmax(0,2.4fr)}
 header #site-menu .services-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
 header #site-menu .services-menu-grid>.mega-col{display:grid;grid-template-columns:26px minmax(0,1fr);align-content:start;align-items:center;gap:7px;padding:12px}
 header #site-menu .services-menu-grid .mega-number{width:25px;height:25px;font-size:10px}
 header #site-menu .services-menu-grid a{font-size:13px;line-height:1.4}
 header #site-menu .services-menu-grid p{grid-column:1/-1;font-size:12px;line-height:1.55}
 header #site-menu .mega-intro h3{font-size:20px;line-height:1.25}
 header #site-menu .mega-intro p{font-size:12px;line-height:1.6}
 header #site-menu .partner-menu-link{padding:10px 12px!important;gap:3px!important}
 header #site-menu .partner-menu-link strong{font-size:13px}
 header #site-menu .partner-menu-link span{font-size:12px;line-height:1.4}
}
@media(max-width:900px){header #site-menu .services-mega,header #site-menu .partners-mega{max-height:none;overflow:visible}header #site-menu .menu-carousel-track{gap:8px}header #site-menu .service-carousel-photo{height:74px}}
@media(prefers-reduced-motion:reduce){header #site-menu .menu-slide{animation:none}}

/* Partner carousel contains logo images only. */
header #site-menu #partner-logo-track .partner-slide{min-height:66px;padding:12px 16px!important}
header #site-menu #partner-logo-track .partner-slide img{height:34px;width:140px;max-width:100%;object-fit:contain}
header #site-menu #partner-logo-track .partner-slide>span{display:none}

/* Local vector service icons in Partners and Industries carousels. */
header #site-menu .service-slide{padding:14px 10px!important;gap:10px;min-height:108px}
header #site-menu .service-slide .service-carousel-symbol{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:9px;background:#eaf3ee;color:#24634d;flex-shrink:0}
.service-carousel-symbol svg{display:block;width:30px;height:30px}
header #site-menu .service-slide>span:last-child{font-size:12px;line-height:1.4}

/* ===== cookie-consent.css ===== */
.cookie-banner[hidden],.cookie-dialog [hidden]{display:none!important}
.cookie-banner,.cookie-dialog{font-family:inherit;color:#193b37;box-sizing:border-box}
.cookie-banner{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:min(1120px,calc(100% - 32px));z-index:10000;display:flex;align-items:center;gap:24px;padding:24px;background:#fff;border:1px solid #d4e3dc;border-top:3px solid #286e57;border-radius:16px;box-shadow:none}
.cookie-message{flex:1}.cookie-message h2{font-size:19px;margin:0 0 8px;line-height:1.35}
.cookie-message p,.cookie-dialog p{font-size:14px!important;line-height:1.75;color:#53665f;margin:0 0 14px}
.cookie-message p{margin:0}.cookie-message a,.cookie-dialog a{color:#22634f;text-decoration:underline;text-underline-offset:3px}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}
.cookie-actions button{font:inherit;font-size:13px;font-weight:600;min-height:46px;padding:12px 18px;border:1px solid #24644f;border-radius:8px;background:#fff;color:#205d49;cursor:pointer}
.cookie-actions button[data-cookie=accept],.cookie-actions button[data-cookie=save]{background:#22634f;color:#fff}.cookie-actions button:hover{filter:brightness(.95)}
.cookie-dialog{width:min(740px,calc(100% - 28px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #d3e3dc;border-radius:20px;background:linear-gradient(140deg,#fff,#f8fbf9);box-shadow:none;overflow:auto;overscroll-behavior:contain}
.cookie-dialog::backdrop{background:#092b24a6;backdrop-filter:blur(4px)}
.cookie-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:26px 30px 16px}
.cookie-dialog-heading h2{margin:0;font-size:26px;line-height:1.3;color:#173d32}.cookie-dialog-heading button{font:inherit;font-size:26px;background:#edf5f0;color:#22634f;border:0;border-radius:50%;min-width:42px;min-height:42px;cursor:pointer}
.cookie-dialog-content{padding:0 30px}.cookie-dialog h3{font-size:15px;line-height:1.5;color:#173d32;margin:0 0 12px;font-weight:600}
.cookie-category{padding:23px 0 10px;border-top:1px solid #dce8e1}.cookie-category-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}.cookie-category-heading h3{margin:0}.cookie-always{font-size:12px;color:#22634f;white-space:nowrap;background:#e9f4ed;padding:6px 10px;border-radius:20px}
.cookie-switch{display:flex;align-items:center;gap:9px;position:relative;flex-shrink:0;min-height:44px;cursor:pointer;font-size:12px;color:#53665f}.cookie-switch input{position:absolute;right:0;width:44px;height:26px;opacity:0;margin:0;cursor:pointer}.cookie-switch-track{width:44px;height:26px;border-radius:20px;background:#85978e;position:relative;pointer-events:none;transition:background .15s}.cookie-switch-track::after{content:'';position:absolute;width:20px;height:20px;top:3px;left:3px;border-radius:50%;background:#fff;box-shadow:none;transition:transform .15s}.cookie-switch input:checked+.cookie-switch-track{background:#24694f}.cookie-switch input:checked+.cookie-switch-track::after{transform:translateX(18px)}
.cookie-switch input:focus-visible+.cookie-switch-track,.cookie-actions button:focus-visible,.cookie-dialog a:focus-visible,.cookie-dialog-heading button:focus-visible,.cookie-settings-link:focus-visible{outline:3px solid #bc8413;outline-offset:4px}
.cookie-dialog-actions{position:sticky;bottom:0;padding:18px 30px 24px;background:#f8fbf9;border-top:1px solid #dce8e1}.cookie-dialog-actions button{flex:1}.cookie-dialog .cookie-note{font-size:12px!important}.cookie-dialog .cookie-error{color:#a02929}
footer .cookie-settings-link{display:block;margin:10px 0;padding:0;background:none;border:0;color:#c7d9d2;font:inherit;font-size:14px;cursor:pointer;text-align:left}
@media(max-width:800px){.cookie-banner{flex-direction:column;align-items:stretch;gap:16px;padding:20px;bottom:12px}.cookie-banner .cookie-actions button{flex:1}}
@media(max-width:480px){.cookie-dialog-heading{padding:20px 18px 16px}.cookie-dialog-heading h2{font-size:22px}.cookie-dialog-content{padding:0 18px}.cookie-dialog-actions{padding:14px 18px;gap:8px}.cookie-dialog-actions button{padding:10px 8px;font-size:12px}.cookie-category-heading{gap:10px}.cookie-category-heading h3{font-size:14px}.cookie-always{font-size:11px;padding:5px 7px}}
@media(max-height:500px){.cookie-banner{max-height:80dvh;overflow:auto}.cookie-dialog-actions{position:static}}
@media(prefers-reduced-motion:reduce){.cookie-switch-track,.cookie-switch-track::after{transition:none}}
@media print{.cookie-banner,.cookie-dialog,footer .cookie-settings-link{display:none!important}}

/* ===== responsive-layout.css ===== */
/* Shared responsive layout, loaded after page-specific styles. */
html{scroll-padding-top:100px}
*,*::before,*::after{box-sizing:border-box}
body{margin:0}
.wrap,.demo-content .wrap{width:min(1400px,calc(100% - 64px));margin-inline:auto}
img,video{max-width:100%}img{vertical-align:middle}
main h1,main h2,main h3,main p,footer p,footer a{overflow-wrap:break-word}
main h1,main h2{ text-wrap:balance }
main p{line-height:1.75}
.hero-grid,.feature-grid,.split,.partner-intro,.contact-grid{gap:clamp(24px,4vw,64px)}
.hero-image{height:clamp(320px,38vw,540px);background-position:center;background-size:cover}
.hero-visual{min-height:0}
.card-photo,.merged-card>img,.partner-intro>img,.contact-image-wrapper>img{display:block;width:100%;object-fit:cover;object-position:center}
.card-photo,.merged-card>img{aspect-ratio:16/10;height:auto}
.partner-intro>img{height:auto;aspect-ratio:4/3}
.contact-image-wrapper>img{height:100%;min-height:280px}
.card,.merged-card,.ph-card,.psvc{height:100%}
.card-body,.card-copy{min-width:0}
.actions,.tech-tags,.pf-wrap,.partner-strip{flex-wrap:wrap}
.button,.btn,.outline,.cta{max-width:100%;white-space:normal;text-align:center}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{min-width:0;max-width:100%}
.top-inner{gap:12px;align-items:center;flex-wrap:wrap}
header #site-menu .menu-panel{background:#fff}
header #site-menu .partner-menu-grid{align-items:stretch}
header #site-menu .partner-menu-link{height:100%;overflow-wrap:break-word}
@media(min-width:901px){
 header #site-menu .menu-panel{left:0;right:0;width:100%;max-width:1400px;margin-inline:auto;transform:none}
 header #site-menu .partners-mega{grid-template-columns:minmax(190px,.7fr) minmax(0,2.5fr)}
 header #site-menu .partner-menu-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
 header #site-menu .partner-menu-link span{font-size:11px}
}
@media(min-width:1600px){
 .hero h1{font-size:72px}.hero p{max-width:650px}
 .demo-content .phero-content{max-width:1400px;margin-inline:auto}
 main section{padding-block:80px}
}
@media(min-width:901px) and (max-width:1100px){
 .wrap,.demo-content .wrap{width:calc(100% - 40px)}
 header .header-inner{gap:12px}header #site-menu{gap:1px}
 header #site-menu>a,header #site-menu>.menu-group>.nav-trigger{font-size:13px;padding:9px 7px}
 header #site-menu>.cta{padding:11px 12px}
 header #site-menu .partner-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .hero-grid,.feature-grid,.split{gap:30px}
 .hero h1{font-size:clamp(40px,4.6vw,52px)}
}
@media(max-width:900px){
 .wrap,.demo-content .wrap{width:calc(100% - 40px)}
 header .header-inner{height:76px;min-height:76px}
 header #site-menu{position:absolute;top:100%;left:0;right:0;width:100%;margin:0;background:#fff;border:1px solid #dce6e2;padding:14px;max-height:calc(100dvh - 90px);overflow-y:auto;box-shadow:none}
 header #site-menu .menu-group{display:block;width:100%}
 header #site-menu>a,header #site-menu .nav-trigger{width:100%;min-height:44px}
 header #site-menu .menu-panel{position:static;transform:none;width:100%;margin:0;box-shadow:none;border-radius:0;max-height:none;overflow:visible}
 header #site-menu .partners-mega,header #site-menu .services-mega{grid-template-columns:1fr;padding:14px 0}
 header #site-menu .mega-intro{border-right:0;border-bottom:1px solid #dce6e2;padding:0 0 16px}
 header #site-menu .partner-menu-grid,.services-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero-grid,.feature-grid,.split,.partner-intro,.contact-grid,.demo-content .contact-grid,.why-grid,.mv-wrap{grid-template-columns:minmax(0,1fr)!important}
 .hero-visual{width:100%}.hero-image{height:400px}.feature-image{min-height:350px}
 .merged-cards,.capability-grid,.svc-cards,.psvc-grid,.demo-content .ph-grid,.demo-content .p-grid,.demo-content .wc-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
 .legal-wrap{grid-template-columns:1fr;gap:28px}
 .legal-wrap .lside{position:static}
 .merge-cta{flex-wrap:wrap}
}
@media(max-width:600px){
 .wrap,.demo-content .wrap{width:calc(100% - 32px)}
 .top-inner{justify-content:center;text-align:center;font-size:11px}
 .hero h1,.page h1,.page-lead h1,.demo-content .sec-title{font-size:clamp(30px,8vw,40px)!important;line-height:1.2;letter-spacing:-.025em}
 .section-head h2{font-size:clamp(27px,7vw,34px);line-height:1.25}
 main section,.demo-content section{padding-block:40px!important}
 .demo-content .solution-panel{padding:14px!important}
 .hero-image{height:300px;box-shadow:none}.hero-stat{max-width:calc(100% - 24px);left:12px}
 .feature-image{min-height:280px}
 .merged-cards,.capability-grid,.svc-cards,.psvc-grid,.demo-content .ph-grid,.demo-content .p-grid,.demo-content .wc-grid,.feat-grid,.stats-grid,.footer-grid,.form-row,.cf-row{grid-template-columns:minmax(0,1fr)!important}
 .card-copy,.card-body,.enquiry-form{padding:20px}
 .contact-grid{padding-block:32px}
 .actions{align-items:stretch}.actions>a{flex:1 1 180px}
 .merge-cta{align-items:flex-start;gap:20px}
 .demo-content .pf-btn{padding:10px 14px;min-height:44px}
 .demo-content .phero{padding-block:40px!important}
 .solution-tabs [role=tab]{flex-basis:calc(50% - 8px);min-height:44px}
 .flow-viewport{max-width:100%;overscroll-behavior-x:contain}
 footer{padding-top:40px}
}
@media(max-width:380px){
 header #site-menu .partner-menu-grid,.services-menu-grid{grid-template-columns:1fr}
 .logo-icon{max-width:140px}.cookie-actions{gap:6px}
}
/* Allow the Industries link to fit comfortably on laptop navigation. */
@media(min-width:901px) and (max-width:1200px){header .header-inner{gap:10px}header .logo-icon{max-width:140px}header #site-menu{gap:0}header #site-menu>a,header #site-menu>.menu-group>.nav-trigger{font-size:12px;padding:9px 6px}header #site-menu>.cta{padding:10px}}
/* Full-width square dropdowns, with their own scrolling on short screens. */
html{scrollbar-gutter:stable}

header #site-menu .menu-panel.mega{position:fixed;top:var(--dropdown-top,86px);bottom:auto;left:0;right:0;width:auto;max-width:none;height:auto;max-height:calc(100dvh - var(--dropdown-top,86px) - 12px);margin:0;transform:none;border-radius:0;background:#fff;overflow-y:auto;overscroll-behavior:contain;padding:24px max(24px,calc((100vw - 1400px)/2)) 24px;align-content:start;gap:24px;box-shadow:none;z-index:2100}
header #site-menu .industries-mega{grid-template-columns:minmax(220px,.9fr) minmax(0,2.4fr)}
.industry-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
header #site-menu .menu-panel .mega-col,header #site-menu .menu-panel .partner-menu-link,header #site-menu .menu-panel .menu-slide,header #site-menu .menu-panel img{border-radius:0}

header #site-menu .menu-panel .menu-carousel{margin-top:18px}
@media(max-width:900px){
 header #site-menu .menu-panel.mega{grid-template-columns:1fr;padding:20px;gap:18px}
 header #site-menu .industry-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 
}
@media(max-width:480px){header #site-menu .industry-menu-grid{grid-template-columns:1fr}}
/* Responsive dropdown grids and mobile accordion navigation. */
header #site-menu .menu-panel.mega>*{min-width:0}
header #site-menu .menu-panel a,header #site-menu .menu-panel p{overflow-wrap:anywhere}
header #site-menu .menu-panel .menu-carousel-track{width:100%;min-width:0}
header #site-menu .menu-panel .menu-slide img{max-width:100%}
@media(min-width:901px) and (max-width:1100px){
 header #site-menu .menu-panel.mega{grid-template-columns:minmax(170px,.7fr) minmax(0,2fr);padding:20px;gap:18px}
 header #site-menu .services-menu-grid,header #site-menu .industry-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 header #site-menu .partner-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
 header #site-menu{position:fixed;top:var(--dropdown-top,76px);left:0;right:0;width:100%;max-height:calc(100dvh - var(--dropdown-top,76px));padding:12px 20px 24px;overflow-y:auto;overscroll-behavior:contain;border-radius:0}
 header #site-menu .menu-panel.mega{position:static;top:auto;bottom:auto;width:100%;height:auto;max-height:none;padding:16px 0;grid-template-columns:minmax(0,1fr);gap:16px;overflow:visible;box-shadow:none;border-top:1px solid #dce6e2}
 header #site-menu .menu-panel .mega-intro{padding:0 0 14px;border-right:0}
 header #site-menu .services-menu-grid,header #site-menu .partner-menu-grid,header #site-menu .industry-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 header #site-menu .nav-trigger{display:flex;justify-content:space-between;min-height:48px;font-size:15px}
 header #site-menu .partner-menu-link{min-height:64px;padding:12px!important}
 header #site-menu .menu-panel .menu-carousel{margin-top:4px}
}
@media(max-width:560px){
 header #site-menu{padding-inline:16px}
 header #site-menu .services-menu-grid,header #site-menu .partner-menu-grid,header #site-menu .industry-menu-grid{grid-template-columns:minmax(0,1fr)}
 header #site-menu .services-menu-grid>.mega-col{padding:12px}
 header #site-menu .mega-intro h3{font-size:20px;line-height:1.35}
 header #site-menu .menu-panel .menu-carousel-track{gap:8px}
 header #site-menu #partner-logo-track .partner-slide{padding:10px!important;min-height:60px}
}

/* Keep touch targets and carousel tiles readable at narrow widths. */
header #site-menu .menu-panel.mega{overflow-x:hidden}
header #site-menu .menu-slide{min-height:64px}
@media(max-width:900px){
 header #site-menu .menu-panel .mega-intro h3{max-width:36ch}
 header #site-menu .menu-panel a{min-height:44px}
 header #site-menu .services-menu-grid a{display:flex!important;align-items:center}
 header #site-menu .menu-panel p{margin-block:4px;font-size:13px;line-height:1.6}
 header #site-menu .menu-carousel{padding-bottom:env(safe-area-inset-bottom,0px)}
}

/* ===== hero-images.css ===== */
/* Individual locally hosted hero illustrations on every page. */
.hero-page-image{display:block;width:100%;height:clamp(220px,28vw,380px);object-fit:cover;object-position:center;border-radius:14px;margin:24px 0;border:1px solid #d4e3db;background:#123b35}
.hero-visual .hero-page-image{height:clamp(320px,38vw,520px);margin:0;object-fit:cover;background-image:none;box-shadow:none}
.phero-content,.industry-hero>.wrap,.page-lead>.wrap{min-width:0}
@media(min-width:1600px){.hero-page-image{height:400px}}
@media(max-width:600px){.hero-page-image{height:220px;margin:20px 0;border-radius:8px}.hero-visual .hero-page-image{height:280px}}

/* Team photography fills each responsive image area without distortion. */
.hero-page-image[src*="assets/photos/"]{object-fit:cover;object-position:center 48%}
.partner-hero-art[src*="assets/photos/"]{object-fit:cover;object-position:center;height:auto;aspect-ratio:16/10}
@media(max-width:600px){.hero-page-image[src*="assets/photos/"]{height:230px}.partner-hero-art[src*="assets/photos/"]{aspect-ratio:4/3}}

/* ===== color-icons.css ===== */
/* Compact orange-gradient orbit icons, with no boxes or shadows. */
.ig-color-icon,header #site-menu .service-slide .service-carousel-symbol,.industry-icon,.industry-card .industry-icon{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex-shrink:0;width:48px;height:48px;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.orbit-icon{display:block;width:100%;height:100%;object-fit:contain;filter:none}
header #site-menu .mega-col .ig-color-icon{width:32px;height:32px}
header #site-menu .services-menu-grid>.mega-col{grid-template-columns:34px minmax(0,1fr)}
header #site-menu .service-slide .service-carousel-symbol{width:38px;height:38px}
header #site-menu .service-slide{min-height:86px;padding:10px!important;gap:7px}
header #site-menu .service-slide>span:last-child{font-size:11px;font-weight:500}
.card-body>.ig-color-icon{margin-bottom:12px}.industry-card .industry-icon{margin-bottom:12px}
@media(max-width:600px){.ig-color-icon,.industry-icon,.industry-card .industry-icon{width:42px;height:42px}}

/* ===== partner-carousel.css ===== */
/* Display the complete partner ecosystem, without rotating or hidden slides. */
.home-partner-carousel{margin:24px 0 18px;overflow:visible}
#home-partner-logo-track,header #site-menu #partner-logo-track{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px 20px;width:100%;overflow:visible;transform:none}
#home-partner-logo-track .partner-slide,header #site-menu #partner-logo-track .partner-slide{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;width:100%;height:56px;min-height:56px;padding:10px 12px!important;margin:0;background:#fff;border:0;box-shadow:none;order:initial}
#home-partner-logo-track img,header #site-menu #partner-logo-track img{display:block;object-fit:contain;width:100%;max-width:128px;height:32px;max-height:32px}
#home-partner-logo-track a:focus-visible,header #site-menu #partner-logo-track a:focus-visible{outline:2px solid #d76b19;outline-offset:-2px}
.logo-load-failed{font:500 13px Poppins,sans-serif;color:#153047}
@media(max-width:1000px){#home-partner-logo-track,header #site-menu #partner-logo-track{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 14px}}
@media(max-width:600px){#home-partner-logo-track,header #site-menu #partner-logo-track{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}#home-partner-logo-track .partner-slide,header #site-menu #partner-logo-track .partner-slide{height:48px;min-height:48px;padding:8px!important}#home-partner-logo-track img,header #site-menu #partner-logo-track img{height:28px}}
@media(max-width:340px){#home-partner-logo-track,header #site-menu #partner-logo-track{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Match the Fortinet wordmark width, preserving each brand's aspect ratio. */
#home-partner-logo-track .partner-slide,header #site-menu #partner-logo-track .partner-slide{height:100px;min-height:100px;overflow:hidden;padding:8px!important}
#home-partner-logo-track img,header #site-menu #partner-logo-track img{width:128px;max-width:100%;height:auto;max-height:84px;object-fit:contain;flex-shrink:0}
#home-partner-logo-track a[href="partner-digicert.html"] img,header #site-menu #partner-logo-track a[href="partner-digicert.html"] img{width:176px;max-width:138%;max-height:none}
@media(max-width:600px){#home-partner-logo-track img,header #site-menu #partner-logo-track img{width:108px;max-height:72px}#home-partner-logo-track .partner-slide,header #site-menu #partner-logo-track .partner-slide{height:88px;min-height:88px}}

/* ===== site-texture.css ===== */
/* Shared dark navy-to-green surface, matching the homepage banner palette. */
:root {
    --brand-dark-surface: linear-gradient(100deg, #102a3a 8%, #103a31 65%, #22634f 100%)
}

*,
*::before,
*::after {
    box-shadow: none !important;
    text-shadow: none !important
}

body>footer {
    background: var(--brand-dark-surface) !important;
    color: #edf4f0 !important
}

body>footer h3 {
    color: #fff !important
}

body>footer p,
body>footer a,
body>footer button,
body>footer .footer-bottom {
    color: #edf4f0 !important
}

body>footer .footer-bottom {
    border-color: rgba(237, 244, 240, .2) !important
}

body>footer a:hover,
body>footer button:hover {
    color: #e89750 !important;
    text-decoration: underline
}

body>footer a:focus-visible,
body>footer button:focus-visible {
    outline: 2px solid #e89750;
    outline-offset: 3px
}

.contact-page .contact-form-heading {
    background: var(--brand-dark-surface) !important;
    color: #fff
}

.contact-page .contact-form-heading h2 {
    color: #fff
}

.contact-page .contact-form-heading p {
    color: #edf4f0
}

/* ===== orange-accents.css ===== */
/* Warm, restrained outlines; preserve existing image sizes and layouts. */
:root {
    --orange-outline: #edbc92;
    --orange-outline-strong: #e78a3e
}

.why-stack-card {
    border: 1px solid var(--orange-outline-strong)
}

.industry-card,
.industry-fold,
.solution-summary,
.service-card,
.partner-card {
    border: 1px solid var(--orange-outline)
}

.industry-fold.is-active {
    border-color: var(--orange-outline-strong)
}

.home-about-grid>img,
.industry-fold-photo,
.hero-image img,
.hero-photo img {
    outline: 1px solid var(--orange-outline);
    outline-offset: -1px
}

.why-card-visual img {
    outline: 1px solid rgba(245, 139, 38, .55);
    outline-offset: 8px;
    border-radius: 10px
}

.industry-card:hover,
.solution-summary:hover,
.service-card:hover,
.partner-card:hover {
    border-color: var(--orange-outline-strong)
}

/* Photo frames, scoped to photographs so brand logos stay unframed. */
main img[src*="assets/photos/"]:not(.ig-banner-bg):not(.ig-banner-image) {
    box-sizing: border-box;
    border: 0px solid #e89750;
    border-radius: 14px;
    padding: 6px;
    outline: 1px solid #f5c99f;
    outline-offset: -6px
}

.industry-fold .industry-fold-photo {
    border-radius: 12px;
    padding: 5px
}

@media(max-width:600px) {
    main img[src*="assets/photos/"]:not(.ig-banner-bg):not(.ig-banner-image) {
        padding: 4px;
        border-radius: 10px;
        outline-offset: -4px
    }
}

/* ===== service-stage.css ===== */
/* Spacious, centered service heroes inspired by the supplied reference. */
.service-stage{position:relative;isolation:isolate;overflow:hidden;background:#103a31;margin:16px clamp(12px,2vw,32px) 0;padding:clamp(64px,8vw,120px) 24px;min-height:620px;display:grid;place-items:center;text-align:center;border:1px solid #e8975060}
main .service-stage img.service-stage-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;border-radius:0;padding:0;outline:none;margin:0;max-width:none;opacity:.2;z-index:-2}
.service-stage-tint{position:absolute;inset:0;background:rgba(10,42,35,.64);z-index:-1}
.service-stage-content{width:100%;max-width:1100px;margin:auto}
.service-stage-breadcrumb{display:flex;justify-content:center;gap:10px;color:#c8d8d1;font-size:12px;margin-bottom:40px}
.service-stage-breadcrumb a{color:inherit}
.service-stage-label{display:block;color:#e89750;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:600;margin-bottom:24px}
main .service-stage h1{font:500 clamp(36px,4.6vw,70px)/1.12 Poppins,sans-serif;letter-spacing:-.035em;color:#fff;max-width:1000px;margin:0 auto 24px;overflow-wrap:break-word}
main .service-stage h1 em{color:#e89750;font-style:normal}
main .service-stage p{color:#e1eae5;font-size:clamp(14px,1.2vw,17px);line-height:1.8;max-width:760px;margin:0 auto}
.service-stage-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:32px}
.service-stage-actions a{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:600;text-decoration:none}
.service-stage-primary{background:#e89750;color:#12372e;border:1px solid #e89750}.service-stage-secondary{color:#fff;border:1px solid #8aaba0;background:transparent}
.service-stage-actions a:hover{background:#fff;color:#12372e}.service-stage a:focus-visible{outline:2px solid #e89750;outline-offset:5px}
.service-stage-anchor{scroll-margin-top:120px}
@media(min-width:1600px){.service-stage{min-height:690px}}
@media(max-width:700px){.service-stage{min-height:0;padding:52px 20px;margin:10px 10px 0}.service-stage-breadcrumb{margin-bottom:28px}.service-stage-label{font-size:10px;letter-spacing:.1em}.service-stage-actions{gap:12px}.service-stage-actions a{width:100%;max-width:320px}}
/* Fit service heroes below the actual header on desktop; grow if text needs it. */
@media(min-width:901px){
 .service-stage{box-sizing:border-box;min-height:0;height:auto;min-height:calc(100svh - var(--service-header-height,140px) - 24px);padding:clamp(22px,4vh,48px) 24px}
 .service-stage-breadcrumb{margin-bottom:clamp(12px,2vh,24px)}
 .service-stage-label{margin-bottom:14px}
 main .service-stage h1{font-size:clamp(34px,min(4.1vw,6.7vh),62px);margin-bottom:18px}
 main .service-stage p{font-size:clamp(13px,1.7vh,16px);line-height:1.65;max-width:880px}
 .service-stage-actions{margin-top:22px}
}
@media(min-width:901px) and (max-height:700px){
 .service-stage{padding:18px 24px}
 .service-stage-breadcrumb{margin-bottom:10px}
 .service-stage-label{margin-bottom:10px}
 main .service-stage h1{font-size:clamp(30px,4.9vh,40px);margin-bottom:12px}
 .service-stage-actions{margin-top:14px}
}
/* Large desktop displays: restrained line length and proportionate spacing. */
@media(min-width:1600px){
 .service-stage{margin-inline:clamp(24px,2vw,64px);padding-inline:48px}
 .service-stage-content{max-width:1200px}
 main .service-stage h1{max-width:1120px;font-size:clamp(52px,min(3.7vw,6.7vh),76px)}
 main .service-stage p{max-width:880px;font-size:18px}
 .service-stage-label{font-size:12px}
 .service-stage-actions a{font-size:16px;min-height:52px}
}
@media(min-width:2400px){
 .service-stage-content{max-width:1440px}
 main .service-stage h1{max-width:1320px;font-size:clamp(64px,min(3.2vw,6.5vh),88px)}
 main .service-stage p{max-width:1000px;font-size:20px}
 .service-stage-breadcrumb{font-size:14px}
 .service-stage-actions{margin-top:32px}
}
/* Short, wide windows must retain the compact desktop layout. */
@media(min-width:1600px) and (max-height:800px){
 main .service-stage h1{font-size:clamp(34px,6vh,48px)}
 main .service-stage p{font-size:15px}
 .service-stage-actions{margin-top:18px}
}

/* ===== site-font.css ===== */
/* One font family across headings, content and interactive controls. */
:root{--brand-font:'Poppins',Arial,sans-serif;--fh:var(--brand-font);--fd:var(--brand-font);--fb:var(--brand-font)}
html body,html body *,html body *::before,html body *::after{font-family:'Poppins',Arial,sans-serif!important}
