:root{
    --navy:#122b63;
    --navy-deep:#071530;
    --navy-ink:#0d214c;
    --red:#e31d2f;
    --red-soft:#ffb7c0;
    --white:#ffffff;
    --light:#f5f7fc;
    --light-blue:#ecf2ff;
    --text:#1d2a44;
    --muted:#5b6b8a;
    --border:rgba(18,43,99,.10);
    --shadow:0 12px 38px rgba(7,21,48,.10);
    --shadow-strong:0 22px 55px rgba(7,21,48,.16);
    --hero-shadow:0 25px 70px rgba(7,21,48,.36);
    --serif:"Helvetica Neue",Helvetica,Arial,sans-serif;
    --sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    --wordmark:"Helvetica Neue",Helvetica,Arial,sans-serif;
    --maxw:1240px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

body{
    font-family:var(--sans);
    background:var(--white);
    color:var(--text);
    overflow-x:hidden;
    line-height:1.6;
}

img{max-width:100%;display:block;}
a{color:inherit;}

.skip-link{
    position:absolute;
    left:-9999px;
    top:0;
    z-index:2000;
    background:var(--navy);
    color:#fff;
    padding:12px 18px;
    border-radius:0 0 10px 0;
    font-weight:700;
}
.skip-link:focus{left:0;}

:focus-visible{
    outline:3px solid var(--red);
    outline-offset:3px;
    border-radius:6px;
}

section{
    padding:clamp(64px,9vw,108px) clamp(20px,8vw,8%);
}

h1,h2,h3{font-family:var(--serif);font-weight:700;}
h2{font-size:clamp(2rem,4vw,3.1rem);line-height:1.08;letter-spacing:-.02em;}

/* ---------- Navbar ---------- */
.navbar{
    position:sticky;top:0;z-index:1000;
    display:flex;justify-content:space-between;align-items:center;gap:24px;
    padding:14px clamp(20px,8vw,8%);
    background:rgba(255,255,255,.9);
    backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(18,43,99,.08);
    transition:box-shadow .3s ease,padding .3s ease,background .3s ease;
}
.navbar.scrolled{box-shadow:0 10px 30px rgba(7,21,48,.10);background:rgba(255,255,255,.96);}
.logo{height:54px;width:auto;}

.navbar nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:22px;}
.navbar nav a{
    text-decoration:none;color:var(--navy);
    font-size:.93rem;font-weight:700;letter-spacing:.01em;
    position:relative;padding:4px 0;
}
.navbar nav a::after{
    content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;
    background:var(--red);transition:width .25s ease;
}
.navbar nav a:hover::after,.navbar nav a.active::after{width:100%;}
.navbar nav a:hover{color:var(--red);}

.nav-toggle{
    display:none;flex-direction:column;gap:5px;
    width:44px;height:44px;border:none;background:transparent;cursor:pointer;
    align-items:center;justify-content:center;
}
.nav-toggle span{display:block;width:26px;height:3px;border-radius:3px;background:var(--navy);transition:transform .3s ease,opacity .3s ease;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

.lang-switch{display:flex;gap:6px;}
.lang-switch button{
    border:1px solid transparent;background:var(--light-blue);color:var(--navy);
    padding:7px 12px;border-radius:999px;cursor:pointer;font-weight:800;font-size:.82rem;
    transition:background .25s ease,color .25s ease;
}
.lang-switch button[aria-pressed="true"]{background:var(--navy);color:#fff;}

/* ---------- Hero ---------- */
.hero{
    position:relative;min-height:100vh;
    display:flex;flex-direction:column;justify-content:center;
    padding-top:clamp(70px,9vw,120px);padding-bottom:clamp(90px,11vw,140px);
    isolation:isolate;overflow:hidden;color:var(--white);
}
.hero-body{
    display:flex;align-items:center;gap:clamp(24px,5vw,64px);
    width:100%;position:relative;z-index:4;
}
.hero::before{
    content:"";position:absolute;inset:0;z-index:-4;
    background:
        linear-gradient(90deg, rgba(7,21,48,.95) 0%, rgba(7,21,48,.88) 36%, rgba(7,21,48,.66) 60%, rgba(7,21,48,.85) 100%),
        url("../images/devices.jpg") center/cover no-repeat;
}
.hero-copy{position:relative;z-index:4;flex:1 1 560px;max-width:760px;}

.hero-kicker{
    display:inline-flex;align-items:center;gap:10px;
    padding:10px 18px;margin-bottom:16px;border-radius:999px;
    background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
    font-size:.74rem;font-weight:800;letter-spacing:.16em;color:var(--red-soft);
}
.hero-kicker::before{content:"";width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,var(--red),#ffd4d9);}
.hero-tag{margin-bottom:10px;color:#ffd6db;font-size:.85rem;font-weight:700;letter-spacing:.22em;}

.hero-wordmark{
    font-family:var(--wordmark);font-weight:700;
    text-align:center;width:100%;position:relative;z-index:4;
    font-size:clamp(3.4rem,9vw,7rem);
    line-height:1;letter-spacing:-.01em;font-weight:700;
    margin:0 auto clamp(26px,4.5vw,52px);
    color:#fff;
    text-shadow:0 10px 40px rgba(0,0,0,.38);
}
.hero-title{
    max-width:660px;margin-bottom:18px;
    font-family:var(--serif);font-weight:700;
    font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.14;letter-spacing:-.01em;color:#fff;
}
.hero-subtitle{max-width:620px;margin-bottom:30px;color:#d0dbf4;font-size:clamp(1rem,1.4vw,1.16rem);line-height:1.7;}

.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:34px;}
.btn-primary,.btn-secondary{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:200px;padding:15px 28px;border-radius:999px;text-decoration:none;
    font-weight:800;font-size:1rem;cursor:pointer;border:none;
    transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
}
.btn-primary{background:linear-gradient(135deg,#ff3347,var(--red));color:#fff;box-shadow:0 14px 28px rgba(227,29,47,.30);}
.btn-secondary{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);}
.btn-primary:hover,.btn-secondary:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(227,29,47,.36);}

.hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:680px;}
.hero-metric{padding:18px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px);}
.hero-metric strong{display:block;margin-bottom:4px;font-size:1.7rem;font-family:var(--serif);}
.hero-metric span{display:block;color:#d8e1f7;font-size:.88rem;line-height:1.4;}

.hero-visual{
    flex:1 1 340px;position:relative;
    aspect-ratio:1/1;max-width:440px;margin:0 auto;
    display:flex;align-items:center;justify-content:center;
}
.hero-visual picture{display:contents;}
.hero-orbit{position:absolute;left:50%;top:50%;border-radius:50%;border:1px solid rgba(255,255,255,.16);transform:translate(-50%,-50%);z-index:1;}
.orbit-1{width:80%;height:80%;}
.orbit-2{width:100%;height:100%;border-color:rgba(255,255,255,.10);}
.hero-logo{
    position:relative;z-index:2;
    width:min(68%,300px);height:auto;
    transform-origin:center center;
    filter:drop-shadow(0 14px 30px rgba(0,0,0,.35));
    pointer-events:auto;
}

/* ---------- Surfaces / section heads ---------- */
.surface{position:relative;}
.surface-light{background:var(--white);}
.surface-light + .surface-light{border-top:1px solid var(--border);}
.surface-dark{background:linear-gradient(180deg,#0d214c,#081632);color:#fff;}
.surface-accent{background:linear-gradient(135deg,#0b1c42 0%,#102a63 60%,#0f2557 100%);color:#fff;}

.section-head{max-width:760px;margin:0 auto 48px;text-align:center;}
.section-head-left{margin:0;text-align:left;}
.section-head-compact{margin-bottom:40px;}
.section-head p{color:var(--muted);font-size:1.02rem;line-height:1.75;}
.surface-dark .section-head p,.surface-accent .section-head p{color:#c7d2ef;}
.section-kicker{margin-bottom:12px;color:var(--red);font-size:.8rem;font-weight:800;letter-spacing:.2em;}
.section-kicker-light{color:#ffd6db;}

/* ---------- Industries ---------- */
.industry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;max-width:var(--maxw);margin:0 auto;}
.industry-card{padding:30px 26px;border-radius:22px;background:linear-gradient(180deg,var(--white),var(--light-blue));border:1px solid var(--border);box-shadow:var(--shadow);text-align:center;}
.industry-icon{font-size:2.2rem;display:block;margin-bottom:12px;}
.industry-card h3{color:var(--navy-ink);font-size:1.3rem;margin-bottom:8px;}
.industry-card p{color:var(--muted);font-size:.95rem;}

/* ---------- Services / pillars ---------- */
.pillar-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px;max-width:var(--maxw);margin:0 auto;align-items:start;}
.pillar{padding:34px 30px;border-radius:24px;background:linear-gradient(180deg,var(--white),var(--light-blue));border:1px solid var(--border);box-shadow:var(--shadow);}
.pillar-feature{background:linear-gradient(180deg,#122b63,#0d214c);color:#fff;border:none;}
.pillar-tag{font-size:.74rem;font-weight:800;letter-spacing:.18em;color:var(--red);margin-bottom:10px;}
.pillar-feature .pillar-tag{color:var(--red-soft);}
.pillar h3{font-size:1.7rem;margin-bottom:12px;color:var(--navy-ink);}
.pillar-feature h3{color:#fff;}
.pillar p{color:var(--muted);line-height:1.7;}
.pillar-feature p{color:#cfd9f3;}
.pillar-list{list-style:none;margin-top:18px;display:grid;gap:10px;}
.pillar-list li{padding-left:22px;position:relative;font-size:.96rem;color:#dde6fa;}
.pillar-list li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--red);}
.pillar-list strong{color:#fff;}
.pillar:not(.pillar-feature) .pillar-list li{color:var(--muted);}
.pillar:not(.pillar-feature) .pillar-list strong{color:var(--navy-ink);}

/* ---------- Regulations ---------- */
.reg-groups{display:grid;gap:26px;max-width:980px;margin:0 auto;}
.reg-group-label{margin-bottom:12px;color:#ffd6db;font-size:.78rem;font-weight:800;letter-spacing:.16em;}
.regulation-grid{display:flex;flex-wrap:wrap;gap:12px;}
.regulation-grid span{padding:11px 18px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);font-weight:700;font-size:.92rem;}

/* ---------- Trust ---------- */
.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;max-width:var(--maxw);margin:0 auto 40px;}
.trust-card{padding:30px 28px;border-radius:22px;background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow);}
.trust-card h3{color:var(--navy-ink);font-size:1.3rem;margin-bottom:10px;}
.trust-card p{color:var(--muted);}
.cert-block{max-width:var(--maxw);margin:0 auto;padding:34px;border-radius:24px;background:var(--light);border:1px dashed var(--border);text-align:center;}
.cert-label{font-size:.78rem;font-weight:800;letter-spacing:.18em;color:var(--navy);margin-bottom:20px;}
.cert-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;}
.cert-placeholder{flex:0 1 200px;padding:26px 16px;border-radius:16px;background:#fff;border:1px solid var(--border);color:var(--muted);font-weight:600;font-size:.9rem;}

/* ---------- Coverage ---------- */
.coverage-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1fr);gap:38px;align-items:center;max-width:var(--maxw);margin:0 auto;}
.coverage-card{padding:34px;border-radius:28px;background:linear-gradient(180deg,#122b63,#0d214c);color:#fff;box-shadow:var(--shadow-strong);}
.coverage-label{margin-bottom:20px;color:#ffd6db;font-size:.8rem;font-weight:800;letter-spacing:.18em;}
.country-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.country-grid div{padding:16px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);text-align:center;font-weight:700;font-size:.95rem;}

/* ---------- Team ---------- */
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:760px;margin:0 auto;}
.team-card{padding:34px 30px;border-radius:24px;background:linear-gradient(180deg,var(--white),var(--light-blue));border:1px solid var(--border);box-shadow:var(--shadow);text-align:center;}
.team-card h3{color:var(--navy-ink);font-size:1.6rem;margin-bottom:8px;}
.team-card p{color:var(--muted);font-weight:700;}

/* ---------- FAQ ---------- */
.faq-list{max-width:820px;margin:0 auto;display:grid;gap:14px;}
.faq-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:6px 22px;}
.faq-item summary{cursor:pointer;padding:16px 0;font-weight:700;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;color:#fff;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-size:1.5rem;line-height:1;color:var(--red-soft);transition:transform .25s ease;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{padding:0 0 18px;color:#c7d2ef;line-height:1.7;}

/* ---------- Contact ---------- */
.contact-panel{max-width:var(--maxw);margin:0 auto;text-align:center;}
.contact-panel h2{margin-bottom:14px;}
.contact-panel > p{font-size:1.03rem;line-height:1.75;color:#d7e1f7;max-width:640px;margin:0 auto;}
.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin-top:36px;text-align:left;align-items:start;}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:30px;}
.field{display:flex;flex-direction:column;gap:6px;}
.field-full{grid-column:1 / -1;}
.contact-form label{font-size:.85rem;font-weight:700;color:#dce4f7;}
.contact-form input,.contact-form select,.contact-form textarea{
    width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.95);color:var(--text);font-family:inherit;font-size:.95rem;
}
.contact-form textarea{resize:vertical;}
.contact-form .btn-primary{width:100%;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.form-status{margin-top:12px;font-weight:700;font-size:.92rem;min-height:1.2em;}
.form-status.ok{color:#7CFFB2;}
.form-status.err{color:#ffb7c0;}
.form-consent{margin-top:10px;font-size:.82rem;color:#aebbdb;}
.form-consent a{color:#ffd6db;}

.contact-box{padding:30px;border-radius:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px);}
.contact-box-label{font-size:.78rem;font-weight:800;letter-spacing:.16em;color:#ffd6db;margin-bottom:16px;}
.contact-box p + p{margin-top:12px;}
.contact-box a{text-decoration:none;font-weight:700;}
.contact-box a:hover{color:#ffd6db;}

/* ---------- Privacy ---------- */
.privacy-section .section-head{margin-bottom:0;max-width:var(--maxw);}
.privacy-section p{color:var(--muted);}

/* ---------- Footer ---------- */
footer{padding:48px 20px 56px;background:var(--navy-deep);color:#fff;text-align:center;}
.footer-logo{height:64px;width:auto;margin:0 auto 18px;}
.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-bottom:18px;}
.footer-nav a{text-decoration:none;color:#c7d2ef;font-weight:700;font-size:.9rem;}
.footer-nav a:hover{color:#fff;}
.footer-tagline{font-family:var(--serif);font-size:1.05rem;margin-bottom:8px;}
.footer-legal{color:#7e8db0;font-size:.82rem;}
                                                                                     