/* =====================================================
   TRANSLIA DESIGN SYSTEM
   Brand: #076DB0 (blue) · #03304D (navy) · #F67A26 (orange)
   ===================================================== */

/* RESET & VARIABLES */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  /* Brand: Primary=#076DB0 · Darker shade=#03304D · Orange lighter=#F67A26 */
  --navy:#03304D;   /* footer/deepest bg only */
  --blue:#076DB0;   /* PRIMARY brand color — hero, nav, CTA sections */
  --sky:#26A4F6;
  --orange:#F67A26; /* CTA buttons & highlights */
  --rust:#AF4A06;
  --cream:#F8F6F3;  /* warm page background */
  --white:#FFF;
  --smoke:#EEF3F8;  /* light blue-tinted section bg */
  --ink:#0D1F2D;
  --slate:#5C6E7E;  /* matches Concept B mid-tone blue-gray */
  --mist:#8FA3B1;
  --font-display:'Plus Jakarta Sans',sans-serif;
  --font-body:'Figtree',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --serif:'Instrument Serif',Georgia,'Times New Roman',serif;
  --sans:'Figtree',-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;
  --text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;
  --text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;
  --cn:'PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC',sans-serif;
  --max:1120px;
  --px:44px;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--cream);color:var(--ink);overflow-x:hidden;font-size:15px;line-height:1.7}
html.cn body,body.cn{font-family:var(--cn)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:rgba(3,48,77,.34);color:#fff;-webkit-text-fill-color:#fff}
::-moz-selection{background:rgba(3,48,77,.34);color:#fff}
@media(max-width:768px){:root{--px:20px}}

/* LAYOUT */
.box{max-width:var(--max);margin:0 auto;padding:0 var(--px)}

/* ===== NAVIGATION ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 var(--px);
  background:rgba(248,246,243,.92);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(7,109,176,.09);transition:box-shadow .3s}
.nav.scrolled{background:rgba(248,246,243,.98);box-shadow:0 2px 16px rgba(7,109,176,.1)}
body.home-page .nav:not(.scrolled){
  background:transparent;
  border-bottom-color:transparent;
  backdrop-filter:none;
  box-shadow:none;
}
.nav-inner{max-width:var(--max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:72px}
.nav-brand{display:flex;align-items:center;gap:10px}
.nav-mark{width:38px;height:38px;border:2px solid rgba(7,109,176,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;font:700 11px var(--sans);color:var(--blue);letter-spacing:1px;transition:.3s}
.nav-logo-img{width:36px;height:36px;object-fit:contain}
.nav-name{font:700 15px var(--sans);color:var(--blue);letter-spacing:2px;text-transform:uppercase}
.nav-links{display:flex;gap:24px;align-items:center}
.nav-links a{color:var(--slate);font:500 13px var(--sans);transition:.3s;position:relative}
.nav-links a:hover{color:var(--navy)}
.nav-links a.active{color:var(--navy)}
.nav-links a.active::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--orange);border-radius:1px}
.nav-cta{background:var(--orange)!important;color:#fff!important;padding:9px 22px;border-radius:100px;font-weight:700!important;transition:transform .3s,box-shadow .3s!important}
.nav-cta:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(246,122,38,.3)}
.nav-lang{display:inline-flex;align-items:center;padding:5px 12px;border:1px solid rgba(7,109,176,.2);border-radius:999px;font:700 10px var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--blue)!important;transition:.3s}
.nav-lang:hover{border-color:rgba(7,109,176,.45);background:rgba(7,109,176,.06)}
@media(max-width:900px){.nav-lang{padding:8px 16px;font-size:11px;letter-spacing:1px}}
.nav-lang-switch{position:relative;display:flex;align-items:center}
.nav-lang-trigger{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid rgba(7,109,176,.18);border-radius:999px;background:rgba(255,255,255,.74);backdrop-filter:blur(12px);font:700 10px var(--mono);letter-spacing:1.1px;text-transform:uppercase;color:var(--blue);cursor:pointer;transition:border-color .25s,background .25s,transform .25s}
.nav-lang-trigger:hover,.nav-lang-switch.open .nav-lang-trigger{border-color:rgba(7,109,176,.36);background:rgba(255,255,255,.92)}
.nav-lang-trigger:focus-visible{outline:2px solid rgba(7,109,176,.24);outline-offset:2px}
.nav-lang-trigger svg{width:10px;height:10px;transition:transform .25s ease}
.nav-lang-switch.open .nav-lang-trigger svg{transform:rotate(180deg)}
.nav-lang-menu{position:absolute;top:calc(100% + 10px);right:0;display:none;min-width:156px;padding:8px;border:1px solid rgba(7,109,176,.14);border-radius:18px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);box-shadow:0 16px 36px rgba(7,109,176,.12);z-index:120}
.nav-lang-switch.open .nav-lang-menu{display:grid;gap:4px}
.nav-lang-menu .nav-lang-option{display:flex;align-items:center;min-height:38px;padding:9px 12px;border-radius:12px;font:600 13px var(--sans);letter-spacing:0;color:var(--navy)!important;white-space:nowrap;text-transform:none}
.nav-lang-menu .nav-lang-option:hover{background:rgba(7,109,176,.06)}
.nav-lang-menu .nav-lang-option.is-current{background:rgba(7,109,176,.08);color:var(--blue)!important}
.nav-lang-menu .nav-lang-option.is-current::after{display:none}
.nav-mobile{display:none;width:32px;height:32px;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;background:none;border:none}
.nav-mobile span{display:block;width:100%;height:2px;background:var(--navy);border-radius:1px;transition:.3s}
@media(max-width:900px){
  .nav-links{display:none;position:fixed;top:72px;left:0;right:0;background:rgba(248,246,243,.98);flex-direction:column;padding:32px var(--px);gap:20px;border-top:1px solid rgba(7,109,176,.09);box-shadow:0 8px 24px rgba(7,109,176,.08)}
  .nav-links.open{display:flex}
  .nav-mobile{display:flex}
  .nav-lang-switch{width:100%}
  .nav-lang-trigger{width:100%;justify-content:space-between;padding:10px 14px;font-size:12px;letter-spacing:1px;background:rgba(255,255,255,.86)}
  .nav-lang-menu{position:static;min-width:0;margin-top:10px;padding:6px;border-radius:16px;box-shadow:none;background:rgba(255,255,255,.72)}
  .nav-lang-menu .nav-lang-option{min-height:42px;padding:10px 12px}
}

/* ===== HERO ===== */
.hero{position:relative;background:var(--cream);overflow:hidden}
/* Sub-page heroes: cream bg, separated by border from next section */
.hero-sm,.hero-xs{background:var(--cream);border-bottom:1px solid rgba(7,109,176,.1)}
.hero-sm{min-height:60vh;display:flex;align-items:center}
.hero-xs{min-height:48vh;display:flex;align-items:center}
.hero-in{position:relative;z-index:2;max-width:var(--max);margin:0 auto;padding:140px var(--px) 80px;width:100%}
.hero-sm .hero-in{padding-top:130px;padding-bottom:50px}
.hero-xs .hero-in{padding-top:120px;padding-bottom:40px}

/* HOME HERO — two-column grid (matches Concept B) */
.hero-home{display:flex;align-items:center;min-height:82vh}
.hero-home .hero-in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:30px;align-items:center;padding-top:34px;padding-bottom:0;padding-right:var(--px)}
.hero-home .hero-text{max-width:760px;padding:164px 0 88px}
.hero.hero-home h1{font:900 clamp(44px,5.2vw,78px)/1.02 var(--font-display);letter-spacing:-3px;color:var(--navy);max-width:100%}
@media(max-width:980px){
  .hero-home .hero-in{grid-template-columns:1fr;padding-top:88px;padding-bottom:48px}
  .hero-home .hero-text{padding:0}
  .hc-wrap{display:none}
}

/* HERO CARD (right column) */
.hc-wrap{position:relative;justify-self:end;width:100%;max-width:400px;padding:82px 0 20px}
.floating-badge{position:absolute;top:44px;right:0;background:var(--orange);color:#fff;padding:10px 18px;border-radius:100px;font:700 12px var(--sans);letter-spacing:.2px;box-shadow:0 4px 20px rgba(246,122,38,.35);white-space:nowrap;z-index:5}
.hero-card{background:var(--white);border-radius:20px;padding:20px;box-shadow:0 20px 60px rgba(3,48,77,.1);border:1px solid rgba(3,48,77,.06)}
.hero-card-header{display:flex;align-items:center;gap:8px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid rgba(3,48,77,.06);font:700 13px var(--sans);color:var(--navy)}
.hc-dot{width:10px;height:10px;border-radius:50%;background:#22c55e;flex-shrink:0}
.lang-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:8px;margin-bottom:6px;background:var(--cream)}
.lang-name{font:600 13px var(--sans);color:var(--navy)}
.lang-status{font:700 11px var(--sans);padding:3px 10px;border-radius:100px;letter-spacing:.3px;white-space:nowrap}
.status-live{background:rgba(34,197,94,.12);color:#16a34a}
.status-lag{background:rgba(246,122,38,.12);color:var(--orange)}
.status-missing{background:rgba(239,68,68,.1);color:#dc2626}
.hero-card-footer{margin-top:12px;padding:14px 18px;border-radius:10px;background:var(--blue);font:700 13px var(--sans);color:#fff;display:flex;justify-content:space-between;align-items:center}

.chip{display:inline-flex;align-items:center;gap:8px;background:rgba(7,109,176,.07);border:1px solid rgba(7,109,176,.18);border-radius:99px;padding:7px 18px;margin-bottom:32px}
.chip-dot{width:7px;height:7px;background:var(--orange);border-radius:50%;animation:bk 2s infinite}
@keyframes bk{0%,100%{opacity:1}50%{opacity:.3}}
.chip span{font:500 12px var(--sans);color:var(--blue);letter-spacing:.4px}

.hero h1{font:900 clamp(34px,3.8vw,58px)/1.05 var(--font-display);letter-spacing:-2.5px;color:var(--navy);max-width:780px;text-wrap:balance}
.hero h1 em{font-style:normal;background:linear-gradient(135deg,var(--orange),#FFA94D);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-p{font:400 17px/1.82 var(--sans);color:var(--slate);max-width:620px;margin:22px 0 38px}
/* Sub-page heroes: same dark text as homepage hero */
.hero-sm h1,.hero-xs h1{color:var(--navy)}
.hero-sm .hero-p,.hero-xs .hero-p{color:var(--slate)}

.hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.btn-h{display:inline-flex;align-items:center;gap:8px;padding:15px 30px;background:var(--orange);color:#fff;font:700 14px var(--sans);border:none;border-radius:9999px;cursor:pointer;transition:.3s}
.btn-h:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(246,122,38,.3);background:var(--rust)}
.btn-g{display:inline-flex;align-items:center;gap:8px;padding:15px 30px;background:var(--white);border:1.5px solid rgba(7,109,176,.2);color:var(--blue);font:600 14px var(--sans);border-radius:9999px;cursor:pointer;transition:.3s}
.btn-g:hover{background:rgba(7,109,176,.04);border-color:rgba(7,109,176,.45)}

/* Full-width stats band (moved out of hero) */
.stats-band{background:var(--white);border-top:1px solid rgba(7,109,176,.08);border-bottom:1px solid rgba(7,109,176,.08)}
.stats-band .stats{display:grid;grid-template-columns:repeat(4,1fr);max-width:var(--max);margin:0 auto;padding:0 var(--px)}
.stats-band .stat{padding:36px 24px;text-align:center;border-right:1px solid rgba(7,109,176,.08)}
.stats-band .stat:last-child{border-right:none}
.stat b{display:block;font:900 clamp(32px,4vw,52px)/1 var(--font-display);color:var(--blue)}
.stat span{font:500 13px var(--sans);color:var(--slate);margin-top:8px;display:block;letter-spacing:.1px}

/* ===== LOGOS STRIP ===== */
.logos{padding:40px 0;background:var(--white);border-bottom:1px solid rgba(7,109,176,.07)}
.logos-l{display:flex;justify-content:center;align-items:center;width:fit-content;max-width:min(920px,calc(100% - 40px));margin:0 auto 20px;padding:9px 16px;border-radius:999px;border:1px solid rgba(7,109,176,.14);background:rgba(7,109,176,.05);box-shadow:0 8px 24px rgba(7,109,176,.06);text-align:center;font:700 13px/1.4 var(--sans);letter-spacing:0;color:rgba(3,48,77,.82);text-wrap:balance}
.logos-r{display:flex;align-items:center;justify-content:center;gap:36px;flex-wrap:wrap}
.logos-r span{font:800 14px var(--sans);color:#8C96A4;letter-spacing:.6px;text-transform:uppercase;transition:.3s}
.logos-r span:hover{color:var(--blue)}
/* Channel-brand note: only reveals on a deliberate 2s+ hover, hides instantly on leave */
.logos-r span.logo-note{position:relative}
.logos-r span.logo-note::after{content:attr(data-note);position:absolute;left:50%;bottom:150%;transform:translateX(-50%);white-space:nowrap;background:var(--navy);color:#fff;font:400 10px/1.4 var(--sans);letter-spacing:.2px;text-transform:none;padding:5px 9px;border-radius:7px;box-shadow:0 6px 18px rgba(3,48,77,.18);opacity:0;pointer-events:none;transition:opacity .18s ease;transition-delay:0s;z-index:5}
.logos-r span.logo-note:hover::after{opacity:1;transition-delay:2s}

/* ===== SECTIONS ===== */
.s{padding:100px 0}
.s-dk{
  background:
    radial-gradient(680px circle at 18% 12%,rgba(56,189,248,.12),transparent 34%),
    radial-gradient(760px circle at 84% 80%,rgba(7,109,176,.14),transparent 40%),
    linear-gradient(160deg,#03263D 0%,#043B5C 54%,#06496F 100%);
  color:#fff
}
.s-sm{background:var(--smoke)}
.s-wh{background:var(--white)}
.s-wh{background:#fff}
.lb{font:700 11px var(--font-display);letter-spacing:2.5px;text-transform:uppercase;color:var(--orange);margin-bottom:14px}
.sh{font:900 clamp(32px,3.8vw,52px)/1.08 var(--font-display);color:var(--ink);max-width:700px;text-wrap:balance;letter-spacing:-1.5px}
.s-dk .sh{color:#fff}
.sh em{font-style:normal;color:var(--orange)}
.sp{font:400 15px/1.85 var(--sans);color:var(--slate);max-width:600px;margin-top:18px}
.s-dk .sp{color:rgba(255,255,255,.72)}

/* ===== GRIDS ===== */
.g{display:grid;gap:18px;margin-top:44px}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.g3,.g2,.g4{grid-template-columns:1fr}}

/* ===== CARDS ===== */
.c{background:var(--cream);border:1px solid rgba(7,109,176,.1);border-radius:16px;padding:36px 32px;transition:.35s;position:relative;overflow:hidden}
.c:hover{background:var(--white);transform:translateY(-4px);box-shadow:0 16px 44px rgba(7,109,176,.1);border-color:var(--blue)}
.c::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--sky));transform:scaleX(0);transition:.35s;transform-origin:left}
.c:hover::after{transform:scaleX(1)}
.c-dk{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.07)}
.c-dk:hover{border-color:var(--orange);background:rgba(255,255,255,.06)}
.c-dk::after{background:var(--orange)}
.c-n{font:700 44px var(--serif);color:rgba(7,109,176,.14);line-height:1;margin-bottom:14px}
.c h3{font:700 20px var(--font-display);margin-bottom:10px}
.c p{font:400 13px/1.75 var(--sans);color:var(--slate)}
.c-dk p{color:rgba(255,255,255,.45)}
.tag{display:inline-block;padding:3px 10px;border-radius:5px;font:700 10px var(--mono);letter-spacing:1.2px;text-transform:uppercase;margin-bottom:12px}
.tag-b{background:rgba(7,109,176,.07);color:var(--blue)}
.tag-o{background:rgba(246,122,38,.08);color:var(--orange)}
.tag-g{background:rgba(90,140,6,.08);color:#5a8c06}
.c-link{display:inline-flex;align-items:center;gap:4px;margin-top:14px;font:600 13px var(--sans);color:var(--blue);transition:gap .2s,color .2s}
.c-link:hover{color:var(--navy);gap:8px}

/* ===== FLOW DIAGRAM ===== */
.flow{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:40px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:22px;margin-top:44px}
.fn{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:15px;padding:18px 22px;text-align:center;min-width:132px;transition:.3s}
.fn:hover{background:rgba(255,255,255,.08)}
.fn b{display:block;font:700 12px var(--mono);color:var(--sky);letter-spacing:1px;text-transform:uppercase}
.fn span{font:400 13px/1.5 var(--sans);color:rgba(255,255,255,.72);margin-top:6px;display:block}
.fn.gl{border-color:var(--orange);background:rgba(246,122,38,.07)}
.fn.gl b{color:var(--orange)}
.fa{font-size:20px;color:var(--orange)}
.cn .fn b{font:700 16px/1.2 var(--cn);letter-spacing:0;text-transform:none}
.cn .fn span{font:400 14px/1.5 var(--cn);color:rgba(255,255,255,.82)}
@media(max-width:768px){.flow{flex-direction:column}.fa{transform:rotate(90deg)}}

/* ===== METRICS ===== */
.met{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:48px}
.met-i{text-align:center}
.met-i b{font:700 44px var(--mono);color:var(--blue)}
.s-dk .met-i b{color:var(--sky)}
.met-i span{display:block;font:400 13px var(--sans);color:var(--slate);margin-top:4px}
.s-dk .met-i span{color:rgba(255,255,255,.65)}
@media(max-width:768px){.met{grid-template-columns:1fr}}

/* ===== STEPS ===== */
.steps{counter-reset:st;margin-top:48px}
.step{display:grid;grid-template-columns:72px 1fr;gap:20px;margin-bottom:44px;align-items:start}
.step-n{counter-increment:st;width:52px;height:52px;border-radius:50%;background:var(--smoke);display:flex;align-items:center;justify-content:center;font:700 18px var(--mono);color:var(--blue)}
.step-n::before{content:counter(st)}
.step h3{font:700 21px var(--font-display);margin-bottom:8px}
.step p{font:400 13px/1.78 var(--sans);color:var(--slate);max-width:560px}
@media(max-width:600px){.step{grid-template-columns:48px 1fr;gap:14px}}

/* ===== QUOTE ===== */
.qt{border-left:3px solid var(--orange);padding:28px 32px;background:rgba(246,122,38,.03);border-radius:0 14px 14px 0;margin-top:36px}
.qt p{font:400 15px/1.8 var(--sans);color:var(--ink);font-style:italic}
.qt cite{font:700 12px var(--sans);color:var(--orange);font-style:normal;display:block;margin-top:10px}
.s-dk .qt{border-left-color:rgba(255,255,255,.2);background:rgba(255,255,255,.03)}
.s-dk .qt p{color:rgba(255,255,255,.6)}

/* ===== FAQ ===== */
.faq{margin-top:48px}
.faq-i{border-bottom:1px solid rgba(0,0,0,.06);padding:20px 0;cursor:pointer}
.faq-q{font:700 16px var(--sans);color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-q::after{content:'+';font:400 24px var(--mono);color:var(--orange);transition:.3s;flex-shrink:0}
.faq-a{font:400 14px/1.8 var(--sans);color:var(--slate);max-height:0;overflow:hidden;transition:.4s}
.faq-i.open .faq-q::after{transform:rotate(45deg)}
.faq-i.open .faq-a{max-height:300px;padding-top:12px}

/* ===== INDUSTRY ICON ===== */
.ind-icon{font-size:48px;margin-bottom:16px;display:block}

/* ===== CTA BAND ===== */
.cta{padding:96px 0;background:var(--cream);text-align:center}
.cta-inner{max-width:640px;margin:0 auto;padding:0 var(--px);background:var(--white);border-radius:24px;padding:56px 48px;border:1px solid rgba(7,109,176,.1);box-shadow:0 8px 40px rgba(3,48,77,.07)}
.cta h2{font:900 clamp(28px,3.5vw,46px)/1.1 var(--font-display);color:var(--navy);letter-spacing:-1.5px;max-width:560px;margin:0 auto;text-wrap:balance}
.cta h2 em{font-style:normal;color:var(--orange)}
.cta>p,.cta-inner>p{font:400 16px var(--sans);color:var(--slate);margin:14px auto 32px;max-width:440px}
.cta .btn-h{font-size:15px;padding:17px 36px}

/* ===== CONTACT FORM ===== */
.form-wrap{max-width:520px}
.form-wrap label{display:block;font:600 11px var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--slate);margin-bottom:6px;margin-top:20px}
.form-wrap label:first-child{margin-top:0}
.form-wrap input,.form-wrap select,.form-wrap textarea{width:100%;padding:14px 16px;border:1px solid rgba(0,0,0,.1);border-radius:10px;font:400 14px var(--sans);background:#fff;transition:.3s;-webkit-appearance:none}
.form-wrap input:focus,.form-wrap select:focus,.form-wrap textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(7,109,176,.08)}
.form-wrap textarea{height:120px;resize:vertical}
.form-wrap .btn-h{width:100%;justify-content:center;margin-top:24px;border:none}
.form-note{margin-top:14px;font:400 12px/1.7 var(--sans);color:var(--slate)}
.form-note a{color:var(--blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* ===== LEGAL ===== */
.legal-links{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:14px}
.legal-links a{font:400 12px var(--sans);color:rgba(255,255,255,.46);text-decoration:none;transition:.25s}
.legal-links a:hover{color:rgba(255,255,255,.72)}
.footer-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.06);padding-top:20px}
.footer-copy{font:400 11px var(--sans);color:rgba(255,255,255,.3)}
.footer-copy a{color:inherit;text-decoration:none;transition:.25s}
.footer-copy a:hover{color:rgba(255,255,255,.5)}
.footer-aux{display:flex;align-items:center;justify-content:flex-end;gap:14px 18px;flex-wrap:wrap}
.footer-aux a{font:400 12px var(--sans);color:rgba(255,255,255,.44);text-decoration:none;transition:.25s}
.footer-aux a:hover{color:rgba(255,255,255,.72)}
.footer-aux .footer-lang{color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}
.footer-aux .footer-lang:hover{color:#fff!important;border-color:rgba(255,255,255,.4)}
.legal-hero-copy{max-width:760px}
.legal-meta{margin-top:18px;font:700 11px var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--mist)}
.legal-body .article-body h2{margin-top:48px}
.legal-body .article-body h3{margin-top:30px}
.legal-body .article-body ul{margin-left:22px}
.legal-body .article-body p,.legal-body .article-body li{font-size:15px}
@media(max-width:760px){
  .footer-meta{align-items:flex-start}
  .footer-aux{justify-content:flex-start}
}

/* ===== KLARO ===== */
.klaro .cookie-notice,
.klaro .cookie-modal{
  font-family:var(--sans);
}
.klaro .cookie-notice{
  border-radius:16px;
  box-shadow:0 18px 40px rgba(3,48,77,.16);
}
.klaro .cookie-notice .cn-body,
.klaro .cookie-modal .cm-body{
  color:var(--slate);
}
.klaro .cookie-notice .cn-title,
.klaro .cookie-modal .cm-header h1{
  color:var(--ink);
}
.klaro .cookie-notice .cm-btn,
.klaro .cookie-modal .cm-btn{
  border-radius:10px;
}
.klaro .cookie-notice .cm-btn.cm-btn-success,
.klaro .cookie-modal .cm-btn.cm-btn-success{
  background:var(--orange);
  border-color:var(--orange);
}
.klaro .cookie-notice .cm-btn.cm-btn-danger,
.klaro .cookie-modal .cm-btn.cm-btn-danger{
  background:#fff;
  color:var(--navy);
  border:1px solid rgba(3,48,77,.14);
}

/* ===== INSIGHTS ===== */
.insights-list{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:28px}
.insight-card{background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:16px;padding:32px;transition:.35s;position:relative;overflow:hidden}
.insight-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--sky));transform:scaleX(0);transition:.35s;transform-origin:left}
.insight-card:hover{transform:translateY(-4px);box-shadow:0 16px 44px rgba(3,48,77,.07);border-color:var(--blue)}
.insight-card:hover::after{transform:scaleX(1)}
.insight-card h3{font:700 clamp(18px,1.9vw,24px)/1.3 var(--sans);margin-bottom:12px;color:var(--ink);text-wrap:balance;letter-spacing:-.3px}
.insight-card h3 a:hover{color:var(--blue)}
.insight-card p{font:400 15px/1.78 var(--sans);color:var(--slate)}
.article-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:16px;font:700 11px var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--mist)}
.article-hero .hero-in.article-hero-in{display:block;grid-template-columns:none;max-width:920px;padding-top:118px;padding-bottom:42px}
.article-hero h1{max-width:920px;overflow-wrap:break-word}
.article-hero .hero-p{max-width:760px}
.insights-list-hero .hero-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,440px);max-width:var(--max);gap:48px;align-items:center;padding-top:124px;padding-bottom:48px}
.insights-list-hero .hero-text{max-width:720px}
.insights-list-hero h1{max-width:720px;text-wrap:unset}
.insights-list-hero .hero-p{max-width:700px}
.insights-list-hero .hero-art{justify-self:end;width:100%;max-width:440px}
.insights-hero-art{padding:0;background:none;border:none;box-shadow:none}
.insights-sidecard{width:100%;max-width:440px}
.insights-sidecard .hero-card-header{font-size:14px}
.insights-sidecard .lang-row{padding:12px 14px;margin-bottom:8px}
.insights-sidecard .lang-name{font-size:14px}
.insights-sidecard .lang-status{font-size:11px}
.insights-sidecard .hero-card-footer{margin-top:14px}
.article-shell{max-width:920px;margin:0 auto;background:#fff;border:1px solid rgba(3,48,77,.08);border-radius:22px;padding:56px 64px;box-shadow:0 24px 60px rgba(3,48,77,.06);position:relative;overflow:hidden}
.article-shell::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--blue),var(--sky),var(--orange))}
.article-shell-cn{border-color:rgba(3,48,77,.07)}
.article-body{max-width:760px;margin:0 auto;overflow-wrap:break-word}
.cn .article-body > p:first-of-type,.cn .article-body h2,.cn .article-body h3,.cn .article-next-title{font-family:var(--cn)}
.article-body > :first-child{margin-top:0}
.article-body > p:first-of-type{font:400 clamp(20px,2.1vw,26px)/1.65 var(--serif);color:var(--ink);margin-bottom:28px}
.article-body h2,.article-body h3{font:400 clamp(22px,2.4vw,34px)/1.2 var(--serif);margin:52px 0 16px;color:var(--ink);letter-spacing:-.015em}
.article-body h2{padding-top:24px;border-top:1px solid rgba(3,48,77,.08)}
.article-body h2:first-of-type{border-top:none;padding-top:0}
.article-body h3{font-size:clamp(22px,2.2vw,30px);margin-top:40px}
.article-body p,.article-body li{font:400 16px/1.9 var(--sans);color:var(--slate)}
.article-body p{margin:16px 0}
.article-body a{color:var(--blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.article-body a:hover{color:var(--navy)}
.article-body ul,.article-body ol{margin:18px 0 18px 24px;padding-left:8px}
.article-body li{margin:10px 0}
.article-body li::marker{color:var(--orange)}
.article-body strong{color:var(--ink)}
.article-body hr{border:none;height:1px;background:rgba(3,48,77,.08);margin:36px 0}
.article-body blockquote{position:relative;border-left:3px solid var(--orange);padding:20px 24px 20px 28px;margin:32px 0;background:linear-gradient(180deg,rgba(246,122,38,.06),rgba(246,122,38,.03));border-radius:0 14px 14px 0}
.article-body blockquote::before{content:'“';position:absolute;top:8px;left:10px;font:400 34px/1 var(--serif);color:rgba(246,122,38,.45)}
.article-body blockquote p{color:var(--ink);margin:0}
.article-callout{margin:28px 0;padding:22px 24px;border-radius:16px;border:1px solid rgba(3,48,77,.09);background:linear-gradient(180deg,#fff,rgba(3,48,77,.02))}
.article-callout + .article-callout{margin-top:18px}
.article-callout-title{display:block;font:700 11px var(--mono);letter-spacing:1.4px;text-transform:uppercase;margin-bottom:10px}
.article-note .article-callout-title{color:var(--blue)}
.article-takeaway{border-color:rgba(246,122,38,.18);background:linear-gradient(180deg,rgba(246,122,38,.08),rgba(246,122,38,.03))}
.article-takeaway .article-callout-title{color:var(--orange)}
.article-callout p:last-child,.article-callout ul:last-child,.article-callout ol:last-child{margin-bottom:0}
.article-callout p,.article-callout li{color:var(--ink)}
.article-next-grid{align-items:stretch}
.article-next-title{font:700 clamp(22px,2.3vw,32px)/1.2 var(--sans);color:var(--ink);margin-bottom:18px;text-wrap:balance;letter-spacing:-.5px}
.next-links,.service-mini-list{display:grid;gap:14px}
.next-link,.service-mini{display:block;padding:20px 22px;border-radius:14px;border:1px solid rgba(3,48,77,.08);background:linear-gradient(180deg,#fff,rgba(3,48,77,.02));transition:.3s}
.next-link:hover,.service-mini:hover{transform:translateY(-2px);border-color:var(--blue);box-shadow:0 12px 32px rgba(3,48,77,.06)}
.next-link-topic,.service-mini-tag{display:inline-block;font:700 10px var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--orange);margin-bottom:10px}
.next-link strong,.service-mini strong{display:block;font:700 18px/1.35 var(--sans);color:var(--ink);margin-bottom:8px}
.next-link span:last-child,.service-mini span:last-child,.next-empty p{font:400 14px/1.8 var(--sans);color:var(--slate)}
.text-link{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font:700 13px var(--sans);color:var(--blue)}
.text-link:hover{color:var(--navy)}
.article-body code{font:500 14px/1.6 var(--mono);background:rgba(3,48,77,.06);color:var(--navy);padding:2px 6px;border-radius:6px}
.article-body pre{margin:24px 0;padding:20px 22px;background:#0f2231;color:#e9f1f7;border-radius:16px;overflow:auto;border:1px solid rgba(255,255,255,.06)}
.article-body pre code{background:none;color:inherit;padding:0}
.article-body table{width:100%;border-collapse:collapse;margin:28px 0;background:#fff;border:1px solid rgba(3,48,77,.08);border-radius:14px;overflow-x:auto;display:block}
.article-body thead{background:rgba(3,48,77,.04)}
.article-body th,.article-body td{padding:14px 16px;text-align:left;border-bottom:1px solid rgba(3,48,77,.08);font:400 14px/1.7 var(--sans);color:var(--slate)}
.article-body th{font-weight:700;color:var(--ink)}
.article-body tr:last-child td{border-bottom:none}
.article-body-cn > p:first-of-type{font-family:var(--cn);font-weight:400;line-height:1.85}
.article-body-cn h1,.article-body-cn h2,.article-body-cn h3{font-family:var(--cn)!important;font-weight:700!important}
@media(max-width:900px){
  .article-shell{padding:42px 34px}
}
@media(max-width:640px){
  .article-shell{padding:30px 22px;border-radius:18px}
  .article-body > p:first-of-type{font-size:20px;line-height:1.7}
  .article-body h2{margin-top:44px}
  .cn .hero h1 em,.cn .sh em,.cn .cta h2 em{white-space:normal}
}
@media(max-width:768px){
  .insights-list{grid-template-columns:1fr}
}

/* ===== FOOTER ===== */
footer{background:var(--ink);padding:0}
footer p[style*="font:700 16px"]{color:rgba(255,255,255,.82)!important}
footer p[style*="font:700 12px"]{color:rgba(255,255,255,.64)!important}
footer p[style*="font:400 13px/1.7"]{color:rgba(255,255,255,.48)!important}
footer p[style*="font:400 12px/1.7"]{color:rgba(255,255,255,.46)!important}
footer p[style*="font:400 12px 'Noto Sans SC'"]{color:rgba(255,255,255,.46)!important}
footer a[style*="font:400 13px"]{color:rgba(255,255,255,.62)!important}
footer a[style*="font:400 12px"]{color:rgba(255,255,255,.48)!important}
footer p[style*="font:400 11px"]{color:rgba(255,255,255,.30)!important}
footer a{color:inherit;text-decoration:none;transition:.3s}
footer a:hover{color:rgba(255,255,255,.82)}
footer a[href="/cn/"],
footer a[href="/"]{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.82)!important;
  font:700 11px var(--mono)!important;
  letter-spacing:1.1px;
  text-transform:uppercase;
  line-height:1;
}
footer a[href="/cn/"]:hover,
footer a[href="/"]:hover{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.24);
  color:#fff!important;
  transform:translateY(-1px);
}
@media(max-width:768px){
  footer div[style*="grid-template-columns:repeat(3"]{grid-template-columns:1fr!important}
  .logos-l{max-width:calc(100% - 24px);padding:8px 14px;font-size:12px;line-height:1.45}
}

/* ===== ANIMATIONS ===== */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}
.reveal.visible{opacity:1;transform:none}

/* ===== CN OVERRIDES ===== */
.cn h1,.cn h2,.cn h3,.cn .sh,.cn .c h3,.cn .step h3,.cn .cta h2,.cn .faq-q,.cn .insight-card h3,.cn .next-link strong,.cn .service-mini strong{font-family:var(--cn)!important}
.cn h1{font-weight:900!important}
.cn h2,.cn h3,.cn .sh,.cn .c h3,.cn .step h3,.cn .cta h2,.cn .faq-q,.cn .insight-card h3{font-weight:700!important}
.cn .hero h1,.cn .sh,.cn .cta h2,.cn .insight-card h3,.cn .article-next-title{word-break:keep-all;line-break:loose;overflow-wrap:normal;text-wrap:balance}
.cn .hero h1 em,.cn .sh em,.cn .cta h2 em{display:inline-block;white-space:nowrap}
.cn .logos-l{font-family:var(--cn);word-break:keep-all;line-break:loose}

/* ===== VISUAL DESIGN ENHANCEMENTS ===== */

/* no dot grid on cream hero */

/* Dark section dot grid */
.s-dk{position:relative}
.s-dk::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,0) 22%),
    radial-gradient(circle,rgba(255,255,255,.07) 1px,transparent 1px);
  background-size:auto,32px 32px;
  pointer-events:none;
  z-index:0
}
.s-dk .box{position:relative;z-index:1}

/* Hero art — sub-page: static grid column inside hero-in */
.hero-art{display:flex;align-items:center;justify-content:center;pointer-events:none}
.hero-sm .hero-in,.hero-xs .hero-in{display:grid;grid-template-columns:1fr 400px;gap:56px;align-items:center}
@media(max-width:980px){
  .hero-sm,.hero-xs{min-height:auto;align-items:flex-start}
  .hero-sm .hero-in,.hero-xs .hero-in{grid-template-columns:1fr}
  .hero-art{display:none}
}

/* Card icon container */
.c-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;flex-shrink:0}
.c-icon svg{width:22px;height:22px;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke-width:1.6}
.ci-b{background:rgba(7,109,176,.09)}.ci-b svg{stroke:var(--blue)}
.ci-o{background:rgba(246,122,38,.09)}.ci-o svg{stroke:var(--orange)}
.ci-g{background:rgba(28,140,60,.09)}.ci-g svg{stroke:#1c8c3c}
.ci-p{background:rgba(111,66,193,.09)}.ci-p svg{stroke:#6f42c1}
.c-dk .c-icon{background:rgba(255,255,255,.08)}.c-dk .c-icon svg{stroke:var(--sky)}

/* Industry icon container (replaces emoji) */
.ind-icon{width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:0;line-height:0}
.ind-icon svg{width:26px;height:26px;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
.ind-ib{background:rgba(7,109,176,.08)}.ind-ib svg{stroke:var(--blue)}
.ind-io{background:rgba(246,122,38,.08)}.ind-io svg{stroke:var(--orange)}
.ind-ig{background:rgba(28,140,60,.08)}.ind-ig svg{stroke:#1c8c3c}

/* Step number gradient */
.step-n{background:linear-gradient(135deg,var(--blue) 0%,var(--sky) 100%);color:#fff;box-shadow:0 4px 14px rgba(7,109,176,.3)}

/* Metric card subtle treatment (dark section) */
.s-dk .met-i{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:24px 20px;transition:background .3s}
.s-dk .met-i:hover{background:rgba(255,255,255,.14)}
.s-dk .met-i b{color:#fff}

/* ===== MOBILE OPTIMIZATIONS ===== */
@media(max-width:768px){
  /* Reduce section vertical spacing */
  .s{padding:72px 0}
  .s-sm{padding:52px 0}
  /* Sub-page hero: less top padding (nav is 72px, give some breathing room) */
  .hero-sm .hero-in{padding-top:100px;padding-bottom:40px}
  .hero-xs .hero-in{padding-top:96px;padding-bottom:28px}
  /* Stats band: 4-col → 2×2 grid */
  .stats-band .stats{grid-template-columns:repeat(2,1fr)}
  .stats-band .stat{border-right:none;border-bottom:1px solid rgba(7,109,176,.08);padding:28px 20px}
  .stats-band .stat:nth-child(odd){border-right:1px solid rgba(7,109,176,.08)}
  .stats-band .stat:nth-last-child(-n+2){border-bottom:none}
  /* Metrics: 3-col → 2-col (overrides existing 1-col rule lower specificity) */
  .met{grid-template-columns:repeat(2,1fr);gap:20px}
  /* Logos: tighter gap and slightly smaller text */
  .logos{padding:28px 0}
  .logos-r{gap:14px 20px}
  .logos-r span{font-size:12px;letter-spacing:.4px}
  /* Buttons: slightly smaller padding */
  .btn-h,.btn-g{padding:13px 24px;font-size:13px}
  /* CTA section: reduce box padding */
  .cta{padding:64px 0}
  .cta-inner{padding:44px 28px;border-radius:18px}
  /* Fix footer inline-style padding */
  footer div[style*="padding:48px 44px"]{padding:36px 20px 24px!important}
  /* Dark stats section inline padding */
  .s-dk[style*="padding:64px"]{padding:52px 0!important}
}

@media(max-width:480px){
  /* Tighten heading letter-spacing at small sizes */
  .hero.hero-home h1{letter-spacing:-1px}
  .sh{letter-spacing:-.5px}
  /* Hero: no forced min-height, tighter top padding */
  .hero.hero-home{min-height:auto}
  .hero-home .hero-in{padding-top:72px;padding-bottom:44px}
  /* Hero CTA buttons: stack full-width for easy tapping */
  .hero-btns{flex-direction:column;gap:10px}
  .hero-btns .btn-h,.hero-btns .btn-g{width:100%;justify-content:center}
  /* Metrics: 2-col → 1-col */
  .met{grid-template-columns:1fr}
  /* Dark metric cards take full width */
  .s-dk .met-i{padding:20px 18px}
  /* CTA: tighter box and full-width button */
  .cta-inner{padding:36px 20px}
  .cta .btn-h{width:100%;justify-content:center;font-size:15px}
  /* Section headings: reduce top-margin on secondary label */
  .lb{margin-bottom:10px}
}

/* Proof/case card accent line */
.c[data-accentb]{border-top:3px solid var(--blue)}
.c[data-accento]{border-top:3px solid var(--orange)}
.c[data-accentg]{border-top:3px solid #1c8c3c}

/* Flow node highlight */
.fn.gl{background:rgba(38,164,246,.12);border-color:rgba(38,164,246,.35)}

/* ===== MOBILE LAYOUT ===== */
@media(max-width:640px){
  /* Section rhythm */
  .s{padding:64px 0}
  .cta{padding:72px 0}
  .s-sm,.s-wh{padding:64px 0}

  /* Hero */
  .hero-sm,.hero-xs{min-height:auto;align-items:flex-start}
  .hero-in{padding-top:96px;padding-bottom:44px}
  .hero-sm .hero-in,.hero-xs .hero-in{padding-top:108px;padding-bottom:28px;gap:24px}
  .chip{margin-bottom:18px;padding:6px 14px}
  .chip span{font-size:11px}
  .hero h1{font-size:36px;letter-spacing:-1.8px;line-height:1.04}
  .stats-band .stats{grid-template-columns:repeat(2,1fr)}
  .stats-band .stat{padding:22px 16px;border-bottom:1px solid rgba(7,109,176,.08)}
  .stats-band .stat:nth-child(2n){border-right:none}
  .stats-band .stat:nth-child(3),.stats-band .stat:nth-child(4){border-bottom:none}
  .hero-p{font-size:17px;line-height:1.68;margin:14px 0 24px;color:var(--slate)}
  .btn-h,.btn-g{padding:14px 22px;font-size:14px}
  .hero-btns{gap:10px}
  .stats{margin-top:36px;padding-top:24px;gap:20px 32px}
  .stat b{font-size:26px}
  .stat span{font-size:12px}

  /* Logos */
  .logos{padding:22px 0}
  .logos-r{gap:12px 18px}
  .logos-r span{font-size:11px}

  /* Section headings */
  .lb{margin-bottom:10px;letter-spacing:2px}
  .sh{font-size:30px!important;line-height:1.1!important;letter-spacing:-1px!important}
  .sp{font-size:15px;line-height:1.8;margin-top:12px;color:var(--slate)}

  /* Grids */
  .g{margin-top:22px;gap:10px}

  /* Cards */
  .c{padding:24px 20px;border-radius:14px}
  .c-icon{width:38px;height:38px;border-radius:10px;margin-bottom:14px}
  .c-icon svg{width:18px;height:18px}
  .c-n{font-size:28px;margin-bottom:8px}
  .c h3{font-size:16px;margin-bottom:8px}
  .c p{font-size:14px;line-height:1.72}
  .tag{font-size:9px;margin-bottom:8px}

  /* Industry icons */
  .ind-icon{width:48px;height:48px;border-radius:13px;margin-bottom:14px}
  .ind-icon svg{width:22px;height:22px}

  /* Metrics — keep 3-col on mobile with smaller text */
  .met{grid-template-columns:repeat(3,1fr)!important;gap:10px;margin-top:24px}
  .s-dk .met-i{padding:16px 10px}
  .met-i b{font-size:26px}
  .s-dk .met-i b{font-size:24px}
  .met-i span{font-size:10px;margin-top:2px;line-height:1.4}

  /* Flow diagram */
  .flow{padding:20px 14px;gap:8px;margin-top:24px}
  .fn{padding:14px 14px;min-width:0;width:100%}
  .fn b{font-size:11px;letter-spacing:.8px}
  .fn span{font-size:12px}
  .cn .fn b{font-size:15px}
  .cn .fn span{font-size:13px}
  .fa{font-size:16px}

  /* Steps */
  .steps{margin-top:32px}
  .step{margin-bottom:22px;gap:14px}
  .step-n{width:44px;height:44px;font-size:15px}
  .step h3{font-size:16px;margin-bottom:4px}
  .step p{font-size:13px}

  /* FAQ */
  .faq{margin-top:24px}
  .faq-i{padding:14px 0}
  .faq-q{font-size:14px;line-height:1.45;gap:12px}
  .faq-a{font-size:13px}

  /* Quote */
  .qt{padding:18px 20px}
  .qt p{font-size:14px}

  /* CTA */
  .cta{padding:56px 0}
  .cta-inner{padding:36px 24px;border-radius:18px}
  .cta h2{font-size:28px!important;letter-spacing:-.02em}
  .cta>p,.cta-inner>p{font-size:15px;margin:12px auto 24px}
  .cta .btn-h{padding:15px 30px;font-size:15px}

  /* Proof quote */
  .qt{margin-top:24px}
}


/* ── Mesh gradient — homepage hero bg ── */
.hero-home{
  background-image:
    radial-gradient(at 0% 0%,rgba(7,109,176,.13) 0,transparent 55%),
    radial-gradient(at 50% 0%,rgba(2,132,199,.10) 0,transparent 55%),
    radial-gradient(at 100% 0%,rgba(56,189,248,.08) 0,transparent 55%);
}

/* ── Float / glow animations ── */
@keyframes t-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes t-pulse-glow{0%,100%{opacity:.45;transform:scale(1)}50%{opacity:.7;transform:scale(1.04)}}
.animate-float{animation:t-float 6s ease-in-out infinite}
.animate-pulse-glow{animation:t-pulse-glow 4s ease-in-out infinite}

/* ── Scroll reveal ── */
.reveal-up{opacity:0;transform:translateY(36px);
  transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)}
.reveal-left{opacity:0;transform:translateX(-36px);
  transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)}
.reveal-up.is-visible,.reveal-left.is-visible{opacity:1;transform:translate(0,0)}
.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}

/* ── Section visual separation ──
   "bare" = .s without .s-dk / .s-sm / .s-wh modifiers → alternates cream/white
   Modifier classes keep their own background regardless of order. */
.s:not(.s-dk):not(.s-sm):not(.s-wh){background:var(--cream)}
.s-wh{background:var(--white)}
/* First content section after a sub-page hero is white (hero is cream → alternate) */
.hero-sm + .s:not(.s-dk):not(.s-sm):not(.s-wh),
.hero-xs + .s:not(.s-dk):not(.s-sm):not(.s-wh){background:var(--white)}
/* Two consecutive bare sections → second is white */
.s:not(.s-dk):not(.s-sm):not(.s-wh) + .s:not(.s-dk):not(.s-sm):not(.s-wh){background:var(--white)}
/* After a white section → cream */
.s-wh + .s:not(.s-dk):not(.s-sm):not(.s-wh){background:var(--cream)}
/* bare → s-wh */
.s:not(.s-dk):not(.s-sm):not(.s-wh) + .s-wh{background:var(--white)}
/* After a dark section → back to cream */
.s-dk + .s:not(.s-dk):not(.s-sm):not(.s-wh){background:var(--cream)}
/* Hairline dividers between adjacent sections */
.hero-sm + .s:not(.s-dk):not(.s-sm):not(.s-wh),
.hero-xs + .s:not(.s-dk):not(.s-sm):not(.s-wh),
.s:not(.s-dk):not(.s-sm):not(.s-wh) + .s:not(.s-dk):not(.s-sm):not(.s-wh),
.s-wh + .s:not(.s-dk):not(.s-sm):not(.s-wh),
.s:not(.s-dk):not(.s-sm):not(.s-wh) + .s-wh{border-top:1px solid rgba(7,109,176,.07)}

/* ===== HOMEPAGE REDESIGN ===== */
body.home-page{background:#F4F8FC}
body.home-page .box{max-width:1180px}
body.home-page .hero-home{
  --mx:76%;
  --my:24%;
  isolation:isolate;
  min-height:86vh;
  border-bottom:1px solid rgba(7,109,176,.08);
  background:linear-gradient(180deg,#F8FBFF 0%,#EEF4FA 46%,#F4F8FC 100%);
}
body.home-page .hero-home::before{
  content:'';
  position:absolute;
  inset:-12% -8% 0;
  background:
    radial-gradient(680px circle at var(--mx) var(--my),rgba(56,189,248,.26),transparent 34%),
    radial-gradient(520px circle at 12% 18%,rgba(7,109,176,.15),transparent 36%),
    radial-gradient(760px circle at 48% 0%,rgba(2,132,199,.11),transparent 42%);
  z-index:0;
  transition:background .18s ease;
}
body.home-page .hero-home::after{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 24%),
    radial-gradient(circle at 1px 1px,rgba(7,109,176,.08) 1px,transparent 0);
  background-size:auto,30px 30px;
  opacity:.5;
  pointer-events:none;
  z-index:0;
}
body.home-page .hero-home .hero-in{
  grid-template-columns:minmax(0,1.42fr) minmax(280px,.58fr);
  gap:34px;
  padding-top:14px;
}
body.home-page .hero-home .hero-text{
  max-width:760px;
  padding:84px 0 72px;
}
body.home-page .hero-home .chip{
  padding:10px 22px;
  border-radius:999px;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(7,109,176,.18);
  backdrop-filter:blur(14px);
  box-shadow:0 14px 40px rgba(7,109,176,.08);
  margin-bottom:30px;
}
body.home-page .hero-home .chip span{font-weight:700;font-size:13px;letter-spacing:.2px}
body.home-page .hero-home h1{
  font-size:clamp(60px,7vw,112px);
  line-height:.92;
  letter-spacing:-5px;
  max-width:920px;
}
body.home-page .hero-home .home-title-en{
  font-size:clamp(72px,7vw,112px);
  line-height:.92;
  letter-spacing:-5px;
  max-width:620px;
}
html[lang="fr"] body.home-page .hero-home .home-title-fr{
  font-size:clamp(72px,6.8vw,108px);
  letter-spacing:-4px;
  max-width:760px;
}
html[lang="fr"] body.home-page .hero-home .home-title-fr .line-1{
  white-space:normal;
}
html[lang="fr"] body.home-page .hero-home .hero-in{
  grid-template-columns:minmax(0,1.3fr) minmax(340px,.7fr);
}
html[lang="fr"] body.home-page .hc-wrap{
  max-width:430px;
}
body.home-page .hero-home .home-title-en .line-1{display:block;white-space:nowrap}
body.home-page .hero-home h1 em{
  display:block;
  margin-top:6px;
  font-size:.9em;
  font-style:normal;
  white-space:nowrap;
  background:none;
  -webkit-text-fill-color:var(--orange);
  color:var(--orange);
}
body.home-page .hero-home .hero-p{
  max-width:600px;
  margin:24px 0 36px;
  font-size:17px;
  line-height:1.9;
  color:#5B7081;
}
body.home-page .hero-home .hero-btns{gap:16px}
body.home-page .hero-home .btn-h,
body.home-page .hero-home .btn-g{
  padding:17px 34px;
  border-radius:18px;
  font-size:16px;
}
body.home-page .hero-home .btn-g{
  background:rgba(255,255,255,.74);
  border-color:rgba(7,109,176,.16);
  backdrop-filter:blur(12px);
}
body.home-page .hc-wrap{
  max-width:390px;
  padding:62px 0 24px;
  align-self:center;
}
body.home-page .floating-badge{
  top:26px;
  right:14px;
  padding:11px 18px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.2px;
  color:var(--orange);
  background:rgba(255,250,245,.62);
  border:1px solid rgba(246,122,38,.18);
  backdrop-filter:blur(16px);
  box-shadow:0 14px 30px rgba(7,109,176,.12);
}
body.home-page .hero-card{
  position:relative;
  overflow:hidden;
  padding:22px;
  border-radius:28px;
  background:rgba(255,255,255,.74);
  backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 30px 90px rgba(3,48,77,.16);
  transition:transform .18s ease,box-shadow .25s ease;
  transform:perspective(1200px) translate3d(var(--tx,0px),calc(var(--ty,0px) + var(--lift,0px)),0) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
}
body.home-page .hero-card::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(420px circle at var(--px,50%) var(--py,30%),rgba(56,189,248,.24),transparent 42%);
  pointer-events:none;
}
body.home-page .hero-card-header{
  padding-bottom:16px;
  margin-bottom:16px;
  font-size:15px;
  font-weight:800;
}
body.home-page .lang-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  margin-bottom:8px;
  border-radius:14px;
  background:rgba(248,246,243,.72);
}
body.home-page .lang-name{
  min-width:0;
  font-size:14px;
  font-weight:700;
  white-space:nowrap;
}
body.home-page .lang-status{
  justify-self:end;
  font-size:10px;
  padding:5px 9px;
}
body.home-page .hero-card-footer{
  margin-top:16px;
  padding:16px 18px;
  border-radius:16px;
  font-size:15px;
  color:var(--navy);
  text-decoration:none;
  background:rgba(7,109,176,.12);
  border:1px solid rgba(7,109,176,.12);
  backdrop-filter:blur(14px);
  box-shadow:0 12px 28px rgba(7,109,176,.08);
}
body.home-page .stats-band{
  position:relative;
  z-index:4;
  transform:translateY(-44px);
  margin-bottom:-12px;
  background:transparent;
  border:0;
}
body.home-page .stats-band .stats{
  max-width:1180px;
  gap:16px;
  padding:0 var(--px);
}
body.home-page .stats-band .stat{
  position:relative;
  overflow:hidden;
  padding:28px 22px;
  border:1px solid rgba(255,255,255,.74);
  border-right:none;
  border-radius:24px;
  background:rgba(255,255,255,.76);
  backdrop-filter:blur(16px);
  box-shadow:0 20px 44px rgba(7,109,176,.08);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
body.home-page .stats-band .stat::before,
body.home-page .c::before,
body.home-page .faq-i::before,
body.home-page .cta-inner::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(340px circle at var(--px,50%) var(--py,50%),rgba(56,189,248,.18),transparent 40%);
  opacity:0;
  transition:opacity .25s ease;
  pointer-events:none;
}
body.home-page .hero-card,
body.home-page .stats-band .stat,
body.home-page .c,
body.home-page .faq-i,
body.home-page .cta-inner,
body.home-page .hero-home .btn-h,
body.home-page .hero-home .btn-g,
body.home-page .hero-home .chip,
body.home-page .logos-l,
body.home-page .flow,
body.home-page .fn,
body.home-page .s-dk .met-i{
  will-change:transform;
  transform-style:preserve-3d;
}
body.home-page .stats-band .stat:hover,
body.home-page .c:hover,
body.home-page .faq-i:hover,
body.home-page .cta-inner:hover,
body.home-page .hero-home .btn-h:hover,
body.home-page .hero-home .btn-g:hover,
body.home-page .logos-l:hover,
body.home-page .flow:hover,
body.home-page .fn:hover,
body.home-page .s-dk .met-i:hover{
  --lift:-6px;
}
body.home-page .stats-band .stat:hover::before,
body.home-page .c:hover::before,
body.home-page .faq-i:hover::before,
body.home-page .cta-inner:hover::before{opacity:1}
body.home-page .logos{
  padding:18px 0 52px;
  background:transparent;
  border-bottom:0;
}
body.home-page .logos-l{
  padding:12px 18px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border-color:rgba(7,109,176,.12);
  box-shadow:0 10px 30px rgba(7,109,176,.06);
}
body.home-page .logos-r{
  gap:18px 28px;
  max-width:1120px;
  margin:0 auto;
  padding:0 var(--px);
}
body.home-page .logos-r span{
  color:#8090A0;
  font-size:12px;
  letter-spacing:.9px;
}
body.home-page .s{
  padding:112px 0;
  position:relative;
  overflow:hidden;
  border-top:0 !important;
}
body.home-page .s-problem,
body.home-page .s-services,
body.home-page .s-proof,
body.home-page .s-faq{background:#F7FAFD}
body.home-page .s-industries{background:#EEF4FA}
body.home-page .s .lb{
  margin-bottom:18px;
  font-size:12px;
  letter-spacing:3px;
}
body.home-page .s .sh{
  max-width:860px;
  font-size:clamp(40px,4.8vw,70px);
  line-height:.98;
  letter-spacing:-2.6px;
}
body.home-page .s .sp{
  max-width:760px;
  margin-top:22px;
  font-size:17px;
  line-height:1.9;
}
body.home-page .g{gap:22px;margin-top:52px}
body.home-page .c{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  padding:36px 32px;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.8);
  box-shadow:0 18px 54px rgba(7,109,176,.08);
}
body.home-page .c::after{height:4px}
body.home-page .c h3{font-size:22px;margin-bottom:12px}
body.home-page .c p{font-size:14px;line-height:1.85;color:#5F7282}
body.home-page .c-icon{
  width:52px;
  height:52px;
  border-radius:16px;
  margin-bottom:20px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.75);
}
body.home-page .c-n{font-size:48px;color:rgba(7,109,176,.12)}
body.home-page .s-approach{
  background:linear-gradient(160deg,#03263D 0%,#04446B 52%,#05537D 100%);
}
body.home-page .s-approach::after{
  content:'';
  position:absolute;
  inset:-20% auto auto 55%;
  width:520px;
  height:520px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(56,189,248,.18),transparent 62%);
  pointer-events:none;
}
body.home-page .s-approach .sp{max-width:720px;color:rgba(255,255,255,.76)}
body.home-page .flow{
  margin-top:54px;
  padding:42px 28px;
  gap:12px;
  border-radius:30px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(10px);
  box-shadow:0 20px 50px rgba(0,0,0,.12);
}
body.home-page .fn{
  min-width:132px;
  padding:18px 20px;
  border-radius:18px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}
body.home-page .fn span{margin-top:6px;font-size:11px;color:rgba(255,255,255,.56)}
body.home-page .fa{font-size:20px}
body.home-page .met{
  gap:18px;
  margin-top:30px;
}
body.home-page .s-dk{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(680px circle at 18% 12%,rgba(56,189,248,.18),transparent 34%),
    radial-gradient(760px circle at 84% 80%,rgba(7,109,176,.22),transparent 40%),
    linear-gradient(180deg,#03304D 0%,#044A73 56%,#076DB0 100%);
}
body.home-page .s-dk::before{
  background:
    linear-gradient(180deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,0) 24%),
    radial-gradient(circle at 1px 1px,rgba(255,255,255,.12) 1px,transparent 0);
  background-size:auto,32px 32px;
  opacity:.55;
}
body.home-page .s-dk .met-i{
  border-radius:20px;
  padding:26px 22px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
body.home-page .s-industries .c:nth-child(1){background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(241,248,255,.92))}
body.home-page .s-industries .c:nth-child(2){background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,247,241,.92))}
body.home-page .s-industries .c:nth-child(3){background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(244,250,246,.92))}
body.home-page .s-proof .qt{
  margin-top:28px;
  border-radius:0 22px 22px 0;
  background:rgba(246,122,38,.06);
}
body.home-page .faq{
  max-width:980px;
  margin-top:52px;
}
body.home-page .faq-i{
  position:relative;
  overflow:hidden;
  margin-bottom:14px;
  padding:24px 26px;
  border:1px solid rgba(7,109,176,.08);
  border-radius:22px;
  background:rgba(255,255,255,.82);
  box-shadow:0 14px 40px rgba(7,109,176,.06);
}
body.home-page .faq-q{
  font-size:18px;
  font-weight:700;
}
body.home-page .faq-a{font-size:15px;line-height:1.85}
body.home-page .cta{
  padding:124px 0;
  background:linear-gradient(180deg,#F4F8FC 0%,#EFF5FB 100%);
}
body.home-page .cta-inner{
  position:relative;
  overflow:hidden;
  max-width:760px;
  padding:68px 54px;
  border-radius:34px;
  background:linear-gradient(145deg,#042A43 0%,#05507A 100%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 26px 80px rgba(3,48,77,.2);
}
body.home-page .cta-inner::after{
  content:'';
  position:absolute;
  inset:auto -120px -140px auto;
  width:320px;
  height:320px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(56,189,248,.16),transparent 62%);
  pointer-events:none;
}
body.home-page .cta-inner h2{max-width:640px;color:#fff}
body.home-page .cta-inner p{max-width:520px;color:rgba(255,255,255,.76)}
body.home-page .cta-inner .btn-h{
  padding:18px 36px;
  border-radius:18px;
  box-shadow:none;
}
@media(max-width:1100px){
  body.home-page .hero-home .hero-in{grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr);gap:24px}
  body.home-page .hero-home h1{font-size:clamp(52px,6.2vw,88px)}
  body.home-page .hero-home .home-title-en{font-size:clamp(58px,5.4vw,84px);max-width:560px}
  html[lang="fr"] body.home-page .hero-home .home-title-fr{font-size:clamp(60px,5.2vw,90px);max-width:640px}
  html[lang="fr"] body.home-page .hc-wrap{max-width:390px}
  body.home-page .hero-home .hero-text{padding-top:74px}
  body.home-page .hc-wrap{max-width:350px;padding-top:56px}
}
@media(max-width:980px){
  body.home-page .hero-home{min-height:auto}
  body.home-page .hero-home .hero-in{grid-template-columns:1fr;padding-top:96px;padding-bottom:40px}
  body.home-page .hero-home .hero-text{max-width:none;padding:56px 0 24px}
  body.home-page .hero-home h1{font-size:clamp(44px,14vw,72px);line-height:.94;letter-spacing:-3px}
  body.home-page .hero-home .home-title-en{font-size:clamp(44px,14vw,72px);max-width:none;letter-spacing:-3px}
  body.home-page .hero-home .home-title-en .line-1{white-space:normal}
  body.home-page .hero-home .hero-p{font-size:16px;max-width:none}
  body.home-page .stats-band{transform:none;margin:0;background:transparent}
  body.home-page .stats-band .stats{gap:12px}
  body.home-page .s{padding:84px 0}
  body.home-page .s .sh{font-size:clamp(34px,10vw,52px)}
  body.home-page .faq-q{font-size:16px}
  body.home-page .cta{padding:92px 0}
  body.home-page .cta-inner{padding:46px 28px;border-radius:26px}
  .article-hero .hero-in.article-hero-in{padding-top:92px;padding-bottom:32px}
  .insights-list-hero .hero-in{grid-template-columns:1fr;padding-top:96px;padding-bottom:32px}
}
@media(max-width:640px){
  body.home-page .hero-home .chip{padding:8px 16px}
  body.home-page .hero-home .btn-h,
  body.home-page .hero-home .btn-g{width:100%;justify-content:center}
  body.home-page .stats-band .stats{grid-template-columns:1fr 1fr}
  body.home-page .stats-band .stat{padding:20px 16px;border-radius:18px}
  body.home-page .logos{padding:10px 0 34px}
  body.home-page .logos-r{gap:12px 16px}
  body.home-page .c{padding:28px 22px;border-radius:22px}
  body.home-page .faq-i{padding:20px 18px;border-radius:18px}
  .article-hero .hero-in.article-hero-in{padding-top:108px;padding-bottom:28px}
  .article-hero h1{font-size:34px;line-height:1.06;letter-spacing:-1.4px}
  .insights-list-hero .hero-in{grid-template-columns:1fr;padding-top:108px;padding-bottom:28px}
  .insights-list-hero h1{max-width:none}
  .insights-list-hero .hero-p{max-width:none}
  .legal-hero .hero-in.legal-hero-in{padding-top:108px;padding-bottom:28px}
}

/* Testimonial cards */
.testimonial-card {
  background: rgba(7,109,176,0.04);
  border: 1px solid rgba(7,109,176,0.12);
  border-radius: 20px;
  padding: 28px 26px 24px;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 18px;
  transition: border-color 0.2s, background 0.2s;
}
.testimonial-card:hover {
  border-color: rgba(7,109,176,0.28);
  background: rgba(7,109,176,0.07);
}
.testimonial-card p {
  font-size: 14.5px;
  line-height: 1.75;
  color: var(--dark);
  flex: 1;
  font-style: italic;
}
.testimonial-author {
  border-top: 1px solid rgba(7,109,176,0.1);
  padding-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.testimonial-author strong {
  font-size: 13px;
  font-weight: 600;
  color: var(--blue);
}
.testimonial-author span {
  font-size: 12px;
  color: var(--mid);
  line-height: 1.5;
}
</style>
