:root{--bg:#03081d;--bg2:#061231;--blue:#12c9ff;--blue2:#376eff;--violet:#a33dff;--pink:#ff2f79;--white:#f7f9ff;--muted:#aebbd7;--line:rgba(80,160,255,.23);--shadow:0 30px 90px rgba(0,0,0,.4);--font-head:'Space Grotesk',Inter,Segoe UI,Arial,sans-serif;--font-mono:'JetBrains Mono',ui-monospace,Menlo,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--white)}a{text-decoration:none;color:inherit}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:700;letter-spacing:-.02em}
.eyebrow,.section-head .eyebrow,.badge,.placeholder-tag,.tag,.lang-switch a,.sector-card .meta,.hosting-plan .tag{font-family:var(--font-mono)}
.eyebrow{text-transform:uppercase;font-weight:600}
.container{width:min(1320px,92%);margin:auto}.header{position:absolute;top:0;left:0;right:0;height:94px;z-index:30;background:#ffffff;border-bottom:1px solid #eef2f8;box-shadow:0 6px 26px rgba(9,43,93,.07)}.header-inner{width:min(1380px,94%);height:100%;margin:auto;display:flex;align-items:center;gap:30px}.logo-link{width:310px;display:block}.logo-link img{width:285px;height:72px;object-fit:contain;object-position:left center}.nav{display:flex;align-items:center;gap:27px;flex:1;justify-content:center;font-size:14px;color:#2c4066;white-space:nowrap}.nav a{padding:37px 0 34px;border-bottom:2px solid transparent;color:#2c4066}.nav a:hover,.nav .active{color:#0a1e3f;border-bottom-color:var(--blue2)}.nav span{color:#93a7c9}.nav-actions{display:flex;align-items:center;gap:16px}.lang{font-size:13px;color:#4a5f82}.gradient-btn{display:inline-flex;align-items:center;gap:17px;padding:13px 22px;border-radius:12px;font-weight:700;background:linear-gradient(100deg,#11c8ff,#4665ff 50%,#ae37ff);box-shadow:0 10px 35px rgba(49,101,255,.25);white-space:nowrap}.gradient-btn b{font-size:19px}.large{padding:16px 24px}.outline-btn{display:inline-flex;align-items:center;padding:15px 24px;border:1px solid #25baff;border-radius:12px;font-weight:600;background:rgba(2,13,37,.25)}.hero{height:770px;position:relative;overflow:hidden;padding-top:94px;background:#03081d}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,7,22,.98) 0%,rgba(3,9,28,.94) 34%,rgba(4,13,37,.64) 58%,rgba(4,10,28,.12) 100%),url('hero-servers.jpg');background-size:auto,56% 100%;background-position:center, right center;background-repeat:no-repeat}.hero-glow{position:absolute;width:600px;height:600px;right:4%;top:70px;background:radial-gradient(circle,rgba(31,113,255,.25),transparent 68%);filter:blur(12px)}.hero-inner{position:relative;z-index:2;width:min(1380px,94%);height:100%;margin:auto;display:flex;align-items:center}.hero-copy{width:58%;padding-top:10px}.eyebrow{font-size:12px;letter-spacing:.24em;color:#62d7ff;display:flex;align-items:center;gap:11px}.eyebrow i{width:9px;height:9px;border-radius:50%;background:var(--blue);box-shadow:0 0 18px var(--blue)}h1{font-size:clamp(48px,5.3vw,78px);line-height:1.03;letter-spacing:-3px;margin:23px 0 22px}h1 span{background:linear-gradient(90deg,#12c9ff,#9148ff,#ff3976);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy>p{max-width:700px;color:#c0cbe1;font-size:18px;line-height:1.6;margin:0}.hero-buttons{display:flex;gap:15px;margin:28px 0}.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);max-width:720px}.hero-stats>div{border-right:1px solid rgba(255,255,255,.2);padding:0 20px}.hero-stats>div:first-child{padding-left:0}.hero-stats>div:last-child{border:0}.hero-stats strong{display:block;font-size:25px}.hero-stats small{display:block;color:#aab9d5;font-size:12px;margin-top:3px}.hero-art{position:absolute;right:-1%;bottom:62px;width:53%;height:610px;z-index:1;display:flex;align-items:center;justify-content:flex-end}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:25px;opacity:.98;mix-blend-mode:screen;filter:saturate(1.2) contrast(1.08);mask-image:linear-gradient(to right,transparent 0%,black 22%,black 100%)}.scroll-note{position:absolute;right:5%;bottom:38px;z-index:4;text-align:center;color:#9db0d5}.scroll-note span{display:grid;place-items:center;margin:auto auto 7px;width:40px;height:40px;border:1px solid #6887b9;border-radius:50%;font-size:22px}.scroll-note small{font-size:9px;letter-spacing:1.5px}.services-strip{margin-top:-1px;padding:25px 0 34px;background:linear-gradient(180deg,#061231,#04102a);position:relative;z-index:4}.services-strip .container{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.service-card{height:110px;border:1px solid var(--line);border-radius:13px;background:rgba(5,19,52,.74);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:inset 0 1px rgba(255,255,255,.04)}.service-icon{font-size:27px;color:#26d4ff;margin-bottom:10px}.service-card b{font-size:13px;line-height:1.3}.trust{padding:25px 0 45px;background:#04102a}.trust-line{display:flex;align-items:center;justify-content:center;gap:28px;color:#6da7dd;font-size:10px;letter-spacing:3px}.trust-line span{width:55px;height:1px;background:#4a72a4}.below{background:#f6f8fc;color:#07183e;padding:90px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.visual{height:410px;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.visual img{width:100%;height:100%;object-fit:cover}.eyebrow.dark{color:#1767a8}.below h2{font-size:42px;line-height:1.1;margin:12px 0}.muted{color:#667897}.features{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.features>div{display:flex;gap:13px}.features b{width:42px;height:42px;min-width:42px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,#087dff,#7a39e9)}.features p{margin:0;color:#61718c;font-size:13px}.features strong{color:#122750}.cta{background:#f6f8fc;padding:0 0 85px}.cta-box{border-radius:25px;padding:40px 50px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(110deg,#061638,#12316c 55%,#40104f);box-shadow:var(--shadow)}.cta-box h2{margin:8px 0;font-size:34px}.cta-box p{margin:0;color:#b5c4e1}.cta .eyebrow{font-size:10px}footer{background:#020714;padding:55px 0 20px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:50px}.footer-logo{width:245px;height:70px;object-fit:contain;object-position:left}.footer-logo-card{display:inline-block;background:#fff;padding:16px 22px;border-radius:16px;box-shadow:0 12px 34px rgba(0,0,0,.28);margin-bottom:14px}.footer p,.footer a{color:#8da1c4;font-size:13px}.footer h4{margin-top:0}.footer a{display:block;margin:8px 0}.copyright{border-top:1px solid var(--line);margin-top:40px;padding-top:18px;color:#657897;font-size:11.5px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;line-height:1.8}
.copyright .legal-ids{color:#7c8db0;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px}
.copyright .legal-ids b{color:#93a3c4;font-weight:600}@media(max-width:1100px){.nav{gap:14px;font-size:12px}.logo-link{width:240px}.logo-link img{width:220px}.nav-actions .lang{display:none}.hero-copy{width:62%}.hero-art{width:54%}}@media(max-width:800px){.header{height:75px}.nav{display:none}.nav-toggle{display:flex}.logo-link{width:210px}.logo-link img{width:200px;height:62px}.nav-actions{margin-left:auto}.hero{height:auto;min-height:860px;padding-top:75px}.hero-inner{display:block;padding-top:75px}.hero-copy{width:100%}.hero-bg{background:linear-gradient(180deg,rgba(2,7,22,.94) 0%,rgba(3,9,28,.72) 60%,rgba(3,8,23,.96) 100%),url('hero-servers.jpg');background-size:cover;background-position:center}.hero-art{position:absolute;right:0;bottom:0;width:100%;height:420px;opacity:.55}.hero-copy>p{font-size:16px}.hero-stats{max-width:100%}.services-strip .container{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.below h2{font-size:34px}.cta-box{display:block}.cta-box .gradient-btn{margin-top:22px}}@media(max-width:520px){.gradient-btn{padding:11px 14px;font-size:12px}.nav-actions .gradient-btn{font-size:11px}.hero-copy h1{font-size:43px}.hero-buttons{flex-direction:column;align-items:flex-start}.hero-stats{grid-template-columns:1fr 1fr;gap:18px}.hero-stats>div{border:0;padding:0}.services-strip .container{grid-template-columns:1fr 1fr}.service-card{height:105px}.features{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.visual{height:300px}.cta-box{padding:30px}}

/* --- Ajouts : composants manquants utilisés par les sous-pages (hosting.html, etc.) --- */
.page-hero{background:linear-gradient(120deg,#03081d,#0a1c46 60%,#2c0f45);padding:190px 0 70px;color:#fff;position:relative;overflow:hidden}
.page-hero .container.two-col{align-items:center;gap:50px}
.page-hero .eyebrow{margin-bottom:14px}
.page-hero h1{font-size:clamp(34px,4.2vw,54px);line-height:1.1;letter-spacing:-1.5px;margin:0 0 18px}
.page-hero p.lead{color:#c0cbe1;font-size:17px;line-height:1.6;margin:0 0 30px}
.page-hero .actions{display:flex;gap:14px;flex-wrap:wrap}
.page-hero .hero-visual{border-radius:22px;overflow:hidden;height:360px;box-shadow:0 30px 80px rgba(0,0,0,.45);position:relative}
.page-hero .hero-visual img{width:100%;height:100%;object-fit:cover}
.page-hero .hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,10,28,0) 55%,rgba(4,10,28,.55));}
@media(max-width:900px){.page-hero .container.two-col{grid-template-columns:1fr}.page-hero .hero-visual{height:240px;order:-1;margin-bottom:10px}}
a.cta{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:12px;font-weight:700;background:linear-gradient(100deg,#11c8ff,#4665ff 50%,#ae37ff);color:#fff;box-shadow:0 10px 35px rgba(49,101,255,.25)}
a.cta.alt{background:none;border:1px solid #25baff;color:#fff;box-shadow:none}
.section-head{text-align:center;max-width:820px;margin:0 auto 40px}
.section-head .eyebrow{display:inline-block;margin-bottom:10px;color:#1767a8}
.section-head h2{font-size:34px;color:#08295d;margin:0 0 10px;line-height:1.15}
.section-head p{color:#5f789e;margin:0}
.service-section{padding:75px 0;background:#fff}
.service-section.alt{background:#f6f8fc}
.service-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.service-cta h2{color:#08295d;margin:8px 0}
.service-cta p{color:#5f789e;margin:0;max-width:520px}
@media(max-width:800px){.page-hero{padding:150px 0 50px}.service-cta{display:block}.service-cta a.cta{margin-top:20px;display:inline-flex}}

/* --- Fiches détaillées de services (services.html) --- */
.service-detail-section{padding:80px 0;background:#fff}
.service-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.service-detail-card{border:1px solid #dce7f3;border-radius:20px;padding:30px;background:#f9fbfe;transition:transform .25s,box-shadow .25s,border-color .25s}
.service-detail-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(9,43,93,.1);border-color:#bcd4f2}
.service-detail-card .icon{position:relative;width:54px;height:54px;border-radius:15px;display:grid;place-items:center;font-size:22px;color:#fff;background:linear-gradient(135deg,#0e8bff,#7a39e9);margin-bottom:20px;box-shadow:0 10px 24px rgba(70,60,220,.28);transition:transform .25s}
.service-detail-card:hover .icon{transform:scale(1.08) rotate(-4deg)}
.service-detail-card .icon svg{width:25px;height:25px}
.service-detail-card .icon:after{content:"";position:absolute;inset:-6px;border-radius:19px;background:inherit;opacity:.18;filter:blur(6px);z-index:-1}
.service-detail-card .icon.step-icon{font-family:var(--font-mono);font-size:17px;font-weight:600;letter-spacing:.02em}
.service-detail-card h3{color:#08295d;margin:0 0 10px;font-size:19px;line-height:1.3}
.service-detail-card p{color:#5f789e;font-size:14px;line-height:1.65;margin:0 0 14px}
.service-detail-card .meta{font-size:12.5px;color:#31577f;line-height:1.7;margin:0 0 8px}
.service-detail-card .meta b{color:#08295d}
@media(max-width:900px){.service-detail-grid{grid-template-columns:1fr}}
.process-grid{grid-template-columns:repeat(4,1fr)!important}
.process-grid .icon{background:linear-gradient(135deg,#11c8ff,#4665ff 55%,#ae37ff);font-weight:800;font-size:19px}
@media(max-width:900px){.process-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:520px){.process-grid{grid-template-columns:1fr!important}}

/* --- Réalisations / études de cas (projects.html) --- */
.case-section{padding:80px 0;background:#f6f8fc}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.case-card{position:relative;border:1px solid #dce7f3;border-radius:20px;padding:26px;background:#fff;transition:transform .25s,box-shadow .25s}
.case-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(9,43,93,.1)}
.case-card .sector-icon{margin-bottom:14px}
.case-card .placeholder-tag{display:inline-block;font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:800;color:#c6791b;background:#fff2df;border-radius:999px;padding:5px 10px;margin-bottom:14px}
.case-card h3{color:#08295d;margin:0 0 12px;font-size:18px}
.case-card p{color:#5f789e;font-size:13.5px;line-height:1.7;margin:0 0 10px}
.case-card .case-label{font-weight:800;color:#08295d}
.case-card .tech{font-size:12px;color:#7187a5;margin-top:14px}
@media(max-width:900px){.case-grid{grid-template-columns:1fr}}

/* --- Témoignages (index.html) --- */
.testimonial-section{padding:80px 0;background:#fff}
.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.testimonial-card{border:1px solid #dce7f3;border-radius:20px;padding:28px;background:#f9fbfe;position:relative}
.testimonial-card .placeholder-tag{display:inline-block;font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:800;color:#c6791b;background:#fff2df;border-radius:999px;padding:5px 10px;margin-bottom:14px}
.testimonial-card p.quote{color:#31577f;font-size:15px;line-height:1.7;margin:0 0 16px;font-style:italic}
.testimonial-card .author{font-weight:800;color:#08295d;font-size:13.5px}
.testimonial-card .role{color:#7187a5;font-size:12.5px}
@media(max-width:800px){.testimonial-grid{grid-template-columns:1fr}}

/* --- Blog (blog.html) --- */
.blog-featured{padding:80px 0;background:#fff}
.blog-featured-inner{max-width:820px;margin:0 auto}
.blog-featured .eyebrow{color:#1767a8}
.blog-featured h2{color:#08295d;font-size:30px;margin:14px 0 18px}
.blog-featured p{color:#3d5674;font-size:15.5px;line-height:1.8;margin:0 0 16px}
.blog-grid-section{padding:20px 0 80px;background:#f6f8fc}
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.blog-card{border:1px solid #dce7f3;border-radius:18px;padding:24px;background:#fff}
.blog-card .badge{display:inline-block;font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:800;color:#7187a5;background:#eef3fa;border-radius:999px;padding:5px 10px;margin-bottom:12px}
.blog-card h3{color:#08295d;margin:0 0 10px;font-size:16.5px}
.blog-card p{color:#5f789e;font-size:13.5px;line-height:1.7;margin:0}
@media(max-width:800px){.blog-grid{grid-template-columns:1fr}}

/* --- Sélecteur de langue (page d'accueil) --- */
.lang-switch{display:flex;align-items:center;gap:2px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:3px}
.lang-switch a{padding:6px 10px;border-radius:7px;font-size:12.5px;color:#aebbd7;font-weight:600}
.lang-switch a.active{background:linear-gradient(100deg,#11c8ff,#4665ff 60%,#ae37ff);color:#fff}
@media(max-width:800px){.lang-switch{display:none}}

/* --- Secteurs d'intervention --- */
.sectors-section{padding:80px 0;background:#fff}
.sectors-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sector-card{border:1px solid #dce7f3;border-radius:18px;padding:26px;background:#f9fbfe;transition:transform .25s,box-shadow .25s,border-color .25s}
.sector-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(9,43,93,.1);border-color:#bcd4f2}
.sector-icon{position:relative;width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#0e8bff,#7a39e9);margin-bottom:18px;color:#fff;box-shadow:0 10px 24px rgba(70,60,220,.28);transition:transform .25s}
.sector-card:hover .sector-icon{transform:scale(1.08) rotate(-4deg)}
.sector-icon:after{content:"";position:absolute;inset:-6px;border-radius:20px;background:inherit;opacity:.18;filter:blur(6px);z-index:-1}
.sector-icon svg{width:25px;height:25px;stroke-width:1.6}
.sector-card h3{color:#08295d;margin:0 0 8px;font-size:16px}
.sector-card p{color:#5f789e;font-size:13.5px;line-height:1.6;margin:0}
@media(max-width:900px){.sectors-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.sectors-grid{grid-template-columns:1fr}}

/* --- Menu mobile (hamburger) --- */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;border:none;background:none;cursor:pointer;padding:0;margin-left:auto}
.nav-toggle span{display:block;width:100%;height:2px;background:#1b2c4d;border-radius:2px;transition:transform .25s,opacity .2s}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:0 24px 44px rgba(9,43,93,.16);border-top:1px solid #eef2f8;padding:6px 0 22px;z-index:29;max-height:calc(100vh - 75px);overflow-y:auto}
.mobile-nav.open{display:block}
.mobile-nav a{display:block;padding:15px 7%;color:#22375c;font-size:15.5px;border-bottom:1px solid #f0f3f9;font-weight:500}
.mobile-nav a.active{color:#376eff;font-weight:700}
.mobile-nav .mobile-lang{display:flex;gap:8px;padding:18px 7% 4px}
.mobile-nav .mobile-lang a{flex:1;text-align:center;border:1px solid #dbe6f4;border-radius:10px;padding:11px;font-family:var(--font-mono);font-size:12.5px;color:#4a5f82}
.mobile-nav .mobile-lang a.active{background:linear-gradient(100deg,#11c8ff,#4665ff 60%,#ae37ff);color:#fff;border-color:transparent}
.mobile-nav .mobile-cta{display:block;margin:18px 7% 0;text-align:center;padding:15px;border-radius:12px;background:linear-gradient(100deg,#11c8ff,#4665ff 50%,#ae37ff);color:#fff;font-weight:700;border:0}
@media(min-width:801px){.nav-toggle{display:none!important}.mobile-nav{display:none!important}}

/* =========================================================
   MOBILE UX ENHANCEMENT — Inspirat Technology
   ========================================================= */
html, body { max-width:100%; overflow-x:hidden; }
body.menu-open { overflow:hidden; }

/* Keep the desktop header clean and make mobile navigation reliable. */
@media (max-width: 900px) {
  .header {
    position: fixed;
    height: 72px;
    top: 0;
    background: rgba(255,255,255,.98);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 4px 24px rgba(9,43,93,.10);
  }
  .header-inner {
    width: min(100% - 28px, 1380px);
    gap: 10px;
  }
  .logo-link { width: auto; flex: 1 1 auto; min-width:0; }
  .logo-link img {
    width: min(205px, 58vw);
    height: 58px;
    object-fit: contain;
    object-position: left center;
  }
  .nav { display:none !important; }
  .nav-actions {
    margin-left:auto;
    gap:8px;
    flex:0 0 auto;
  }
  .nav-actions > .gradient-btn { display:none; }
  .nav-actions .lang-switch { display:none !important; }
  .nav-toggle {
    display:flex !important;
    width:44px;
    height:44px;
    padding:9px;
    margin:0;
    border-radius:10px;
    background:#f2f6fb;
    border:1px solid #dbe6f4;
    align-items:center;
    justify-content:center;
    gap:5px;
    z-index:40;
  }
  .nav-toggle span { width:23px; height:2.5px; }
  .mobile-nav {
    position:fixed;
    top:72px;
    left:0;
    right:0;
    width:100%;
    max-height:calc(100dvh - 72px);
    padding:8px 0 24px;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    box-shadow:0 18px 40px rgba(9,43,93,.18);
    border-top:1px solid #e9eef6;
    z-index:100;
  }
  .mobile-nav.open { display:block; }
  .mobile-nav a {
    padding:16px 24px;
    font-size:16px;
    line-height:1.25;
  }
  .mobile-nav .mobile-lang {
    padding:18px 24px 4px;
  }
  .mobile-nav .mobile-cta {
    margin:18px 24px 0;
  }

  /* Prevent the fixed header from covering page content. */
  .hero { padding-top:72px; }
  .page-hero { padding-top:132px; }
}

/* Tablets and normal phones */
@media (max-width: 600px) {
  .container { width:min(100% - 32px, 1320px); }

  h1, .hero-copy h1 {
    font-size:clamp(38px, 11vw, 48px);
    letter-spacing:-2px;
  }
  .hero {
    min-height:790px;
  }
  .hero-inner {
    width:min(100% - 32px, 1380px);
    padding-top:48px;
  }
  .hero-copy>p { font-size:15px; line-height:1.55; }
  .hero-buttons {
    width:100%;
    gap:10px;
  }
  .hero-buttons a {
    width:100%;
    justify-content:center;
    text-align:center;
  }
  .hero-stats {
    width:100%;
    gap:14px 12px;
  }
  .hero-stats>div {
    padding:0 !important;
    min-width:0;
  }
  .hero-stats strong { font-size:22px; }
  .hero-stats small { font-size:11px; line-height:1.35; }

  .hero-art {
    height:330px;
    opacity:.38;
    pointer-events:none;
  }

  .services-strip { padding:20px 0 28px; }
  .services-strip .container {
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .service-card {
    min-height:96px;
    height:auto;
    padding:14px 8px;
  }
  .service-card b { font-size:12px; }

  .below { padding:55px 0; }
  .two-col { gap:34px; }
  .visual { height:260px; }
  .below h2 { font-size:32px; }

  .section-head { margin-bottom:28px; }
  .section-head h2 { font-size:30px; }

  .service-section,
  .service-detail-section,
  .sectors-section { padding:55px 0; }
  .service-detail-grid { grid-template-columns:1fr; gap:16px; }
  .service-detail-card { padding:24px; }

  .page-hero { padding:125px 0 45px; }
  .page-hero h1 { font-size:38px; }
  .page-hero p.lead { font-size:15px; }
  .page-hero .hero-visual { height:220px; }

  .cta { padding-bottom:55px; }
  .cta-box {
    padding:28px 22px;
    border-radius:20px;
  }
  .cta-box h2 { font-size:29px; }
  .cta-box .gradient-btn { width:100%; justify-content:center; }

  .footer-grid { grid-template-columns:1fr; gap:28px; }
  .footer-logo { width:210px; }
  .copyright { margin-top:28px; }
}

/* Small phones: avoid cramped controls and oversized typography. */
@media (max-width: 380px) {
  .header-inner { width:calc(100% - 20px); }
  .logo-link img { width:175px; }
  .hero-inner { padding-top:35px; }
  .hero-copy h1 { font-size:37px; }
  .services-strip .container { grid-template-columns:1fr; }
  .hero-stats { grid-template-columns:1fr 1fr; }
  .mobile-nav a { padding-left:20px; padding-right:20px; }
  .mobile-nav .mobile-lang { padding-left:20px; padding-right:20px; }
}
