/*
Theme Name: Contango
Theme URI: https://contango-ogs.com
Author: Contango
Author URI: https://contango-ogs.com
Description: قالب ووردبريس احترافي لشركات النفط والغاز — مبني بالكامل ليتحكّم به من خلال أداة التخصيص (Customizer) دون أي إضافات خارجية. يشمل أقسام الخدمات والمنتجات كأنواع منشورات مخصصة مع قائمة ميجا، الأخبار عبر المقالات، ومستورد محتوى تجريبي بضغطة زر يعيد إنشاء التصميم الأصلي كاملًا بالصور. النسخة الثانية بالتصميم المحدّث.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: contango
Tags: business, oil-gas, custom-colors, custom-menu, custom-logo, featured-images, full-width-template, translation-ready, rtl-language-support
*/

:root{
    --ink:#0b1a2c;
    --ink-2:#1f2d3f;
    --muted:#5a6b7e;
    --line:#e5ebf2;
    --bg:#ffffff;
    --bg-soft:#f5f8fc;
    --bg-cool:#eaf2fa;
    --brand:#0070C0;        /* logo blue (exact) */
    --brand-deep:#005A9C;
    --brand-ink:#003A66;
    --accent:#E63946;       /* services red */
    --accent-2:#22a06b;     /* green from "Services" header */
    --shadow-sm:0 1px 2px rgba(15,30,55,.04), 0 1px 1px rgba(15,30,55,.03);
    --shadow-md:0 10px 30px -12px rgba(11,26,44,.18), 0 2px 6px rgba(11,26,44,.06);
    --shadow-lg:0 30px 80px -30px rgba(11,26,44,.30);
    --r-sm:8px; --r-md:14px; --r-lg:22px; --r-xl:32px;
  }
*{box-sizing:border-box}
html{overflow-y:scroll}
html,body{margin:0;padding:0}
body{
    font-family:'Manrope', ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    color:var(--ink);
    background:var(--bg);
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    line-height:1.5;
  }
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
.container{max-width:1240px;margin:0 auto;padding:0 28px}
/* ============ NAV ============ */
  .nav{
    position:sticky;top:0;z-index:50;
    background:rgba(255,255,255,.78);
    backdrop-filter:saturate(180%) blur(14px);
    -webkit-backdrop-filter:saturate(180%) blur(14px);
    border-bottom:1px solid transparent;
    transition:border-color .25s ease, box-shadow .25s ease, background .25s ease;
  }
.nav.scrolled{border-bottom-color:var(--line); background:rgba(255,255,255,.92); box-shadow:var(--shadow-sm)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:96px;gap:24px}
.brand{display:flex;align-items:center;gap:10px}
.brand img{height:52px;width:auto}
.nav-links{display:flex;gap:6px;align-items:center}
.nav-links > a, .nav-links .has-mega{
    padding:10px 14px;border-radius:999px;font-size:14.5px;font-weight:500;color:var(--ink-2);
    transition:background .2s, color .2s;
    display:inline-flex;align-items:center;gap:6px;
  }
.nav-links > a:hover, .nav-links .has-mega:hover{background:var(--bg-cool); color:var(--brand-deep)}
/* active nav */
  .nav-links > a.active, .nav-links .mega-wrap.active .has-mega{background:var(--bg-cool); color:var(--brand-deep)}
.nav-links .has-mega svg{transition:transform .25s}
.nav-links .mega-wrap.open .has-mega{background:var(--bg-cool); color:var(--brand-deep)}
.nav-links .mega-wrap.open .has-mega svg{transform:rotate(180deg)}
.mega-wrap{position:relative}
/* ============ MEGA MENU ============ */
  .mega{
    position:fixed; left:0; right:0; top:96px;
    background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    box-shadow:0 30px 60px -28px rgba(11,26,44,.25);
    opacity:0; visibility:hidden; transform:translateY(-8px);
    transition:opacity .22s ease, transform .22s ease, visibility .22s;
    z-index:49;
  }
.mega.open{opacity:1; visibility:visible; transform:translateY(0)}
.mega-inner{max-width:1240px;margin:0 auto;padding:32px 28px;display:grid; grid-template-columns: 300px 1fr; gap:44px;}
.mega-side{background:linear-gradient(160deg, #005A9C, #003A66);color:#fff; border-radius:var(--r-lg); padding:32px 30px; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center;}
.mega-side::after{content:""; position:absolute; inset:auto -30% -50% auto; width:240px; height:240px; border-radius:99px; background:radial-gradient(circle, rgba(126,195,237,.45), transparent 65%)}
.mega-side .et{font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.65;font-weight:700;position:relative;z-index:1}
.mega-side h4{font-size:23px;line-height:1.25;margin:14px 0 14px;font-weight:800;letter-spacing:-.015em;position:relative;z-index:1}
.mega-side p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.82);margin:0 0 24px;position:relative;z-index:1}
.mega-side a.cta{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--ink);padding:10px 14px;border-radius:999px;font-weight:600;font-size:13.5px;position:relative;z-index:1;transition:transform .15s}
.mega-side a.cta:hover{transform:translateY(-1px)}
.mega-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 20px}
.mega-col h5{
    font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-deep);
    font-weight:700;margin:0 0 14px;display:flex;align-items:center;gap:10px;
  }
.mega-col h5 .ic{
    width:28px;height:28px;border-radius:8px;background:var(--bg-cool);color:var(--brand-deep);
    display:grid;place-items:center;
  }
.mega-col h5 .ic svg{width:14px;height:14px}
.mega-col ul{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.mega-col li a{
    display:flex;align-items:flex-start;gap:10px;
    padding:10px 12px;border-radius:10px;color:var(--ink-2);font-size:14px;font-weight:500;
    transition:background .15s, color .15s;line-height:1.35;
  }
.mega-col li a:hover{background:var(--bg-soft);color:var(--brand-deep)}
.mega-col li a .dotmark{width:6px;height:6px;border-radius:99px;background:var(--brand);margin-top:7px;flex:0 0 auto;opacity:.6}
.mega-col li a:hover .dotmark{opacity:1}
.mega-backdrop{
    position:fixed; inset:96px 0 0 0; background:rgba(11,26,44,.32); backdrop-filter:blur(4px);
    opacity:0; visibility:hidden; transition:opacity .22s, visibility .22s; z-index:48;
  }
.mega-backdrop.open{opacity:1; visibility:visible}
.nav-cta{
    display:inline-flex;align-items:center;gap:10px;
    background:var(--ink); color:#fff; padding:12px 20px 12px 22px; border-radius:8px;
    font-weight:600; font-size:14px; letter-spacing:.01em;
    box-shadow:0 8px 20px -10px rgba(11,26,44,.55);
    position:relative; overflow:hidden;
    isolation:isolate;
    font-weight:600;font-size:14px;
    transition:transform .2s, background .2s;
  }
.nav-cta::before{
    content:""; position:absolute; inset:0; z-index:-1;
    background:linear-gradient(120deg, var(--brand) 0%, var(--brand-deep) 100%);
    opacity:0; transition:opacity .35s ease;
  }
.nav-cta:hover{transform:translateY(-1px); box-shadow:0 14px 28px -10px rgba(0,112,192,.55)}
.nav-cta:hover::before{opacity:1}
.nav-cta svg{width:13px;height:13px; transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.nav-cta:hover svg{transform:translate(2px,-2px)}
.burger{display:none;width:42px;height:42px;border-radius:10px;background:var(--bg-soft);align-items:center;justify-content:center}
.burger span{display:block;width:18px;height:2px;background:var(--ink);position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--ink)}
.burger span::before{top:-6px}
.burger span::after{top:6px}
/* ============ HERO (dark, full-bleed) ============ */
  .hero{
    position:relative; overflow:hidden; isolation:isolate;
    padding:120px 0 100px;
    color:#fff;
    background:
      radial-gradient(900px 540px at 78% 18%, rgba(0,112,192,.45), transparent 65%),
      radial-gradient(700px 400px at 5% 100%, rgba(0,112,192,.20), transparent 65%),
      linear-gradient(160deg, #08213a 0%, #0a2a48 45%, #06192c 100%);
  }
.hero::before{
    /* grid texture */
    content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
    background-image:
      linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size:60px 60px, 60px 60px;
    mask-image:radial-gradient(circle at 50% 40%, #000 30%, transparent 75%);
    -webkit-mask-image:radial-gradient(circle at 50% 40%, #000 30%, transparent 75%);
  }
.hero-bg{position:absolute; inset:0; z-index:0; width:100%; height:100%; pointer-events:none}
.hero-content{position:relative; z-index:2; max-width:880px; margin:0 auto; text-align:center}
.eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    padding:8px 16px; border:1px solid rgba(126,195,237,.35); border-radius:999px;
    background:rgba(126,195,237,.08);
    color:#cfe6f7; font-size:12.5px; font-weight:600; letter-spacing:.04em;
    backdrop-filter:blur(8px);
  }
.eyebrow .dot{width:7px;height:7px;border-radius:99px;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.22)}
h1.hero-title{
    font-size:clamp(38px, 5.2vw, 62px);
    line-height:1;
    letter-spacing:-0.028em;
    font-weight:800;
    margin:22px auto 22px;
    color:#fff;
    max-width:860px;
  }
h1.hero-title em{
    font-family:inherit;
    font-style:normal; font-weight:800;
    background:linear-gradient(180deg, #9ed5f2 0%, #0070C0 100%);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  }
.hero-sub{
    font-size:18px; color:rgba(255,255,255,.72); max-width:620px; margin:0 auto 38px;
  }
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:60px;justify-content:center}
.btn{
    display:inline-flex;align-items:center;gap:12px;
    padding:15px 22px 15px 26px; border-radius:10px; font-weight:600; font-size:15px;
    letter-spacing:.005em; position:relative; overflow:hidden; isolation:isolate;
    will-change:transform;
    transition:transform .15s, box-shadow .2s, background .2s, border-color .2s;
  }
.btn-primary{
    background:linear-gradient(135deg, var(--brand) 0%, var(--brand-deep) 100%);
    color:#fff; box-shadow:0 14px 32px -12px rgba(0,112,192,.55), inset 0 1px 0 rgba(255,255,255,.18);
  }
.btn-primary::before{
    content:""; position:absolute; inset:0; z-index:-1;
    background:linear-gradient(135deg, #1A8CD8 0%, var(--brand) 100%);
    opacity:0; transition:opacity .4s ease;
  }
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 22px 44px -14px rgba(0,112,192,.7), inset 0 1px 0 rgba(255,255,255,.25)}
.btn-primary:hover::before{opacity:1}
.btn-primary:active{transform:translateY(0)}
.btn-ghost{
    background:rgba(255,255,255,.04); color:#fff;
    border:1px solid rgba(255,255,255,.22); backdrop-filter:blur(10px);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  }
.btn-ghost:hover{border-color:rgba(255,255,255,.55); background:rgba(255,255,255,.09); transform:translateY(-2px)}
.btn svg{width:16px;height:16px; transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.btn:hover svg{transform:translate(3px,-3px)}
.hero-meta{
    display:grid; grid-template-columns:repeat(5, 1fr); gap:0;
    margin:0 auto; max-width:1040px;
    padding:28px;
    border:1px solid rgba(255,255,255,.12); border-radius:var(--r-lg);
    background:rgba(255,255,255,.04); backdrop-filter:blur(10px);
  }
.hero-meta .item{text-align:center}
.hero-meta .item .k{font-size:38px;font-weight:800;letter-spacing:-.025em;color:#fff;line-height:1;font-variant-numeric:tabular-nums}
.hero-meta .item .k .u{font-size:18px;color:#7ec3ed;margin-left:2px;font-weight:600}
.hero-meta .item .l{font-size:12px;color:rgba(255,255,255,.6);margin-top:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.hero-meta .item + .item{border-left:1px solid rgba(255,255,255,.10)}
/* Hero visual — engineered composition */
  .hero-vis{
    position:relative; aspect-ratio: 1/1.05; border-radius:var(--r-xl); overflow:hidden;
    background:
      radial-gradient(700px 400px at 70% 20%, rgba(0,112,192,.55), transparent 60%),
      linear-gradient(160deg, #0f3a5b 0%, #005A9C 45%, #0070C0 100%);
    box-shadow:var(--shadow-lg);
  }
.hero-vis::after{
    content:""; position:absolute; inset:0;
    background:
      repeating-linear-gradient(115deg, rgba(255,255,255,.04) 0 2px, transparent 2px 14px);
    mix-blend-mode:overlay;
  }
.hero-vis-inner{position:absolute; inset:0; padding:34px; display:flex; flex-direction:column; justify-content:space-between; color:#fff; z-index:2}
.hero-chip{display:inline-flex; gap:8px; align-items:center; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); padding:8px 14px; border-radius:999px; font-size:12.5px; font-weight:600; align-self:flex-start; backdrop-filter:blur(8px)}
.hero-chip .pulse{width:8px;height:8px;border-radius:99px;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.7);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.7)}70%{box-shadow:0 0 0 12px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.hero-readout{
    background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(10px);
    border-radius:18px; padding:18px; display:grid; grid-template-columns:repeat(2,1fr); gap:14px;
  }
.hero-readout .cell .l{font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.hero-readout .cell .v{font-size:22px;font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums}
.hero-readout .cell .v .u{font-size:12px;opacity:.7;margin-left:4px;font-weight:500}
/* Schematic SVG overlay (turbine + flow lines) */
  .hero-svg{position:absolute; inset:0; width:100%; height:100%; opacity:.85; z-index:1}
/* ============ TRUSTBAR ============ */
  .trust{
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    background:#fff; padding:26px 0;
  }
.trust{padding:32px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff}
.trust-row{
    display:grid; grid-template-columns: 280px 1fr; gap:48px; align-items:center;
    max-width:none; padding:0 0 0 56px;
  }
.trust-label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;line-height:1.5;text-align:left}
.marquee{
    width:100%; overflow:hidden; position:relative;
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
    mask-image:linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
  }
.marquee-track{
    display:flex; gap:0; align-items:center; width:max-content;
    animation:marquee 40s linear infinite;
  }
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{
    from{transform:translateX(0)}
    to{transform:translateX(-50%)}
  }
.partner-logo{
    flex:0 0 auto; display:grid; place-items:center;
    height:110px; width:170px; padding:0 8px;
  }
.partner-logo img{
    height:96px; width:auto; max-width:100%;
    object-fit:contain;
    transition:transform .35s ease, filter .35s ease;
  }
.partner-logo:hover img{
    transform:scale(1.08);
    filter:drop-shadow(0 4px 12px rgba(0,90,156,.18));
  }
@media (max-width:900px){
    .trust-row{grid-template-columns:1fr; padding:0 24px; gap:18px}
  }
/* ============ SECTION SHELL ============ */
  section.block{padding:120px 0; position:relative}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:56px;flex-wrap:wrap}
.sec-head .l{max-width:680px}
.sec-tag{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--brand-deep);font-weight:700;margin-bottom:14px;display:inline-flex;align-items:center;gap:10px}
.sec-tag::before{content:"";width:22px;height:1.5px;background:var(--brand)}
h2.sec-title{
    font-size:clamp(32px, 4vw, 56px);
    line-height:1.04;letter-spacing:-.022em;font-weight:800;margin:0 0 16px;
  }
h2.sec-title em{font-family:inherit; font-style:normal; font-weight:800; color:var(--brand-deep)}
.sec-sub{color:var(--muted); font-size:17px; max-width:560px}
/* ============ SERVICES (mosaic) ============ */
  #services{background:#fff; padding-top:0 !important; padding-bottom:120px !important}
.svc-head{
    background:#fff; padding:120px 0 80px; border-top:1px solid var(--line);
  }
.svc-head-inner{
    max-width:1240px; margin:0 auto; padding:0 28px;
    display:grid; grid-template-columns: 1.4fr 1fr; gap:48px; align-items:end;
  }
.svc-eyebrow{
    color:var(--brand); font-weight:600; font-size:15px; margin-bottom:18px;
    text-transform:uppercase; letter-spacing:.14em;
  }
.svc-bigtitle{
    font-size:clamp(40px, 5vw, 72px); line-height:1.02; letter-spacing:-.025em;
    font-weight:800; color:var(--ink); margin:0; max-width:14ch;
  }
.svc-all-btn{justify-self:end; align-self:end}
.svc-all-btn svg{width:18px; height:18px}
.svc-carousel{max-width:none; margin:0; padding:0}
.svc-carousel-wrap{overflow:hidden; margin:0}
.svc-track{display:flex; gap:0; padding:0; transition:transform .6s cubic-bezier(.22,.7,.2,1); will-change:transform}
.svc-track > .svc-tile{flex:0 0 25%; border-radius:0}
@media (max-width:1080px){ .svc-track > .svc-tile{flex:0 0 33.3333%} }
@media (max-width:820px){ .svc-track > .svc-tile{flex:0 0 50%} }
@media (max-width:560px){ .svc-track > .svc-tile{flex:0 0 100%} }
.svc-card{flex:0 0 calc((100% - 72px)/4); display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; text-decoration:none; color:inherit; transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease}
.svc-card:hover{transform:translateY(-6px); box-shadow:0 30px 60px -30px rgba(0,90,156,.28); border-color:rgba(0,112,192,.4)}
.svc-card .thumb{position:relative; aspect-ratio:4/3; overflow:hidden; background:#0e2940}
.svc-card .thumb img{width:100%; height:100%; object-fit:cover; filter:saturate(.85) contrast(1.04); transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.svc-card:hover .thumb img{transform:scale(1.08)}
.svc-card .thumb .et{position:absolute; left:16px; top:16px; background:rgba(255,255,255,.94); color:var(--brand-deep); font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; padding:6px 11px; border-radius:999px}
.svc-card .cbody{padding:26px 26px 30px; display:flex; flex-direction:column; gap:12px; flex:1}
.svc-card h3{font-size:19px; font-weight:800; letter-spacing:-.01em; color:var(--ink); margin:0; line-height:1.25}
.svc-card p{font-size:14px; color:var(--muted); line-height:1.55; margin:0; flex:1}
.svc-card .more{margin-top:6px; display:inline-flex; align-items:center; gap:10px; color:var(--brand-deep); font-weight:700; font-size:12px; letter-spacing:.12em; text-transform:uppercase}
.svc-card .more svg{width:16px; height:16px; transition:transform .25s}
.svc-card:hover .more svg{transform:translate(3px,-3px)}
.svc-controls{max-width:1240px; margin:36px auto 0; padding:0 28px; display:flex; align-items:center; justify-content:space-between; gap:24px}
.svc-dots{display:flex; gap:8px; align-items:center}
.svc-dot{width:28px; height:3px; background:rgba(0,90,156,.18); border-radius:2px; cursor:pointer; transition:background .3s, width .3s}
.svc-dot.active{background:var(--brand); width:42px}
.svc-arrows{display:flex; gap:10px}
.svc-arrow{width:48px; height:48px; border-radius:10px; border:1px solid var(--line); background:#fff; color:var(--brand-deep); display:grid; place-items:center; cursor:pointer; transition:background .25s, border-color .25s, color .25s, transform .2s}
.svc-arrow:hover:not(:disabled){background:var(--brand); color:#fff; border-color:var(--brand); transform:translateY(-2px)}
.svc-arrow:disabled{opacity:.3; cursor:not-allowed}
.svc-arrow svg{width:18px; height:18px}
@media (max-width:1080px){ .svc-card{flex:0 0 calc((100% - 48px)/3)} }
@media (max-width:820px){ .svc-card{flex:0 0 calc((100% - 24px)/2)} }
@media (max-width:560px){ .svc-card{flex:0 0 100%} }
.svc-tile{position:relative; aspect-ratio: 5/6; overflow:hidden; display:block;
    background:var(--ink); isolation:isolate;
    cursor:pointer;
  }
.svc-tile .bg{
    position:absolute; inset:0; z-index:0; transition:transform 1.2s cubic-bezier(.2,.7,.2,1);
  }
.svc-tile .bg img{
    width:100%; height:100%; object-fit:cover; display:block;
    filter: saturate(.78) contrast(1.05) brightness(.9);
    transition: filter .7s ease, transform 1.2s cubic-bezier(.2,.7,.2,1);
  }
.svc-tile:hover .bg{transform:scale(1.08)}
.svc-tile:hover .bg img{filter: saturate(.6) contrast(1.05) brightness(.55)}
.svc-tile .shade{
    position:absolute; inset:0; z-index:1;
    background:
      linear-gradient(180deg, rgba(6,52,87,.18) 0%, rgba(6,52,87,.05) 35%, rgba(6,52,87,.6) 75%, rgba(11,26,44,.94) 100%);
    transition: opacity .5s ease;
  }
.svc-tile .lbl{
    position:absolute; left:32px; bottom:28px; right:32px; z-index:2;
    display:flex; flex-direction:column; gap:10px;
    transition: opacity .35s ease, transform .55s cubic-bezier(.2,.7,.2,1);
  }
.svc-tile .lbl .lbl-t{color:#fff; font-size:25px; font-weight:800; letter-spacing:.005em; line-height:1.12; text-transform:uppercase}
.svc-tile .lbl .lbl-sum{color:rgba(255,255,255,.85); font-size:18px; font-weight:500; line-height:1.5; text-transform:none; letter-spacing:0}
/* Professional hover card */
  .svc-tile .hover-card{
    position:absolute; inset:0; z-index:3;
    padding:34px;
    display:flex; flex-direction:column; justify-content:space-between;
    color:#fff;
    background:
      linear-gradient(160deg, rgba(0,112,192,.94) 0%, rgba(0,90,156,.96) 55%, rgba(0,58,102,.96) 100%);
    opacity:0;
    clip-path: inset(100% 0 0 0);
    transition: opacity .5s ease, clip-path .6s cubic-bezier(.7,0,.2,1);
    pointer-events:none;
  }
.svc-tile:hover .hover-card{
    opacity:1;
    clip-path: inset(0 0 0 0);
  }
.svc-tile .hover-card::before{
    content:''; position:absolute; inset:0;
    background:
      radial-gradient(circle at 88% 12%, rgba(255,255,255,.16), transparent 45%),
      radial-gradient(circle at 0% 100%, rgba(0,0,0,.32), transparent 55%);
    pointer-events:none;
  }
/* Subtle blueprint grid inside hover */
  .svc-tile .hover-card::after{
    content:''; position:absolute; inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
    background-size: 40px 40px;
    pointer-events:none;
    mask-image: radial-gradient(circle at 100% 0%, #000 0%, transparent 70%);
    -webkit-mask-image: radial-gradient(circle at 100% 0%, #000 0%, transparent 70%);
  }
.svc-tile .hover-card .top{
    display:flex; justify-content:space-between; align-items:flex-start;
    position:relative; z-index:1;
    opacity:0; transform:translateY(-12px);
    transition: opacity .4s ease .15s, transform .5s cubic-bezier(.2,.7,.2,1) .15s;
  }
.svc-tile .hover-card .et{
    font-size:11px; letter-spacing:.22em; text-transform:uppercase; font-weight:700;
    color:rgba(255,255,255,.75);
    display:inline-flex; align-items:center; gap:10px;
  }
.svc-tile .hover-card .et::before{
    content:""; width:22px; height:1.5px; background:rgba(255,255,255,.6);
  }
.svc-tile .hover-card .arrow{
    width:44px; height:44px; display:grid; place-items:center; color:#fff;
    border:1px solid rgba(255,255,255,.35); border-radius:999px;
    transition:transform .35s cubic-bezier(.2,.7,.2,1), background .25s ease, border-color .25s ease;
  }
.svc-tile:hover .hover-card .arrow{
    transform:translate(2px,-2px);
    background:rgba(255,255,255,.12);
    border-color:rgba(255,255,255,.55);
  }
.svc-tile .hover-card .body{
    position:relative; z-index:1;
    opacity:0; transform:translateY(14px);
    transition: opacity .45s ease .2s, transform .55s cubic-bezier(.2,.7,.2,1) .2s;
  }
.svc-tile:hover .hover-card .top,
  .svc-tile:hover .hover-card .body{opacity:1; transform:translateY(0)}
.svc-tile .hover-card h3{
    font-size:24px; font-weight:800; line-height:1.12; letter-spacing:.005em;
    margin:0 0 12px; text-transform:uppercase;
  }
.svc-tile .hover-card .rule{
    width:42px; height:2px; background:#fff; margin:0 0 14px; opacity:.85;
  }
.svc-tile .hover-card p{
    font-size:14.5px; line-height:1.55; color:rgba(255,255,255,.92); margin:0 0 18px;
  }
.svc-tile .hover-card .more{
    display:inline-flex; align-items:center; gap:8px;
    font-size:12px; letter-spacing:.18em; text-transform:uppercase; font-weight:700;
    color:#fff;
  }
.svc-tile .hover-card .more svg{width:18px; height:10px}
.svc-tile .pin-arrow{position:absolute; top:34px; right:34px; z-index:2; width:44px; height:44px; border:1px solid rgba(255,255,255,.4); border-radius:999px; display:grid; place-items:center; color:#fff; background:rgba(255,255,255,.06); backdrop-filter:blur(4px); transition:opacity .3s ease}
.svc-tile:hover .pin-arrow{opacity:0}
.svc-tile:hover .lbl{opacity:0; transform:translateY(8px)}
.svc-tile:hover .shade{opacity:0}
.ph{position:absolute; inset:0; width:100%; height:100%}
/* ============ STATS strip ============ */
  .stats-strip{
    background:linear-gradient(135deg, #005A9C 0%, #0070C0 100%);
    color:#fff; border-radius:var(--r-xl); padding:48px;
    display:grid; grid-template-columns:repeat(4,1fr); gap:36px; position:relative; overflow:hidden;
    margin-top:80px;
    box-shadow:0 30px 80px -30px rgba(0,90,156,.45);
  }
.stats-strip::before{
    content:""; position:absolute; inset:0;
    background:radial-gradient(700px 300px at 10% 0%, rgba(255,255,255,.12), transparent 60%);
    pointer-events:none;
  }
.stat .v{font-size:54px;font-weight:800;letter-spacing:-.03em;line-height:1; font-variant-numeric:tabular-nums}
.stat .v .u{font-size:24px; font-weight:600; opacity:.8; margin-left:2px}
.stat .l{font-size:14px; opacity:.85; margin-top:10px; max-width:220px}
.stat + .stat{border-left:1px solid rgba(255,255,255,.18); padding-left:36px}
/* ============ NEWS ============ */
  #news{background:#fff; padding:120px 0 100px; border-top:1px solid var(--line)}
.news-head{
    max-width:1240px; margin:0 auto 56px; padding:0 28px;
    display:grid; grid-template-columns:1.4fr 1fr; gap:48px; align-items:end;
  }
.news-head .l h2{margin:0}
.news-grid{
    max-width:1240px; margin:0 auto; padding:0 28px;
    position:relative;
  }
.news-track-wrap{overflow:hidden; margin:0 -8px}
.news-track{
    display:flex; gap:24px;
    transition:transform .65s cubic-bezier(.22,.7,.2,1);
    padding:8px 8px 24px;
    will-change:transform;
  }
.news-card{
    flex:0 0 calc((100% - 48px) / 3);
    display:flex; flex-direction:column; background:#fff;
    border:1px solid var(--line); border-radius:var(--r-lg);
    overflow:hidden; transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
    text-decoration:none; color:inherit;
  }
.news-card:hover{
    transform:translateY(-6px);
    box-shadow:0 30px 60px -30px rgba(0,90,156,.25);
    border-color:rgba(0,112,192,.4);
  }
.news-card .thumb{
    aspect-ratio:16/10; overflow:hidden; position:relative; background:#eaf2fa;
  }
.news-card .thumb img{
    width:100%; height:100%; object-fit:cover;
    filter:saturate(.85) contrast(1.04);
    transition:transform .9s cubic-bezier(.2,.7,.2,1);
  }
.news-card:hover .thumb img{transform:scale(1.08)}
.news-card .tag-row{
    position:absolute; left:18px; top:18px; display:flex; gap:8px;
  }
.news-card .tag{
    background:rgba(255,255,255,.94); color:var(--brand-deep);
    font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:700;
    padding:6px 10px; border-radius:999px;
  }
.news-card .body{padding:24px 26px 28px; display:flex; flex-direction:column; gap:14px; flex:1}
.news-card .meta{
    font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); font-weight:600;
    display:flex; align-items:center; gap:10px;
  }
.news-card .meta .dot-sep{width:3px; height:3px; border-radius:99px; background:var(--muted); opacity:.6}
.news-card h3{
    font-size:20px; font-weight:800; line-height:1.25; color:var(--ink); margin:0;
    letter-spacing:-.01em;
  }
.news-card p{
    font-size:14.5px; line-height:1.55; color:var(--muted); margin:0;
  }
.news-card .more{
    margin-top:auto; padding-top:8px;
    display:inline-flex; align-items:center; gap:10px;
    color:var(--brand-deep); font-weight:700; font-size:13px;
    letter-spacing:.12em; text-transform:uppercase;
  }
.news-card .more svg{width:16px; height:16px; transition:transform .25s}
.news-card:hover .more svg{transform:translate(3px,-3px)}
@media (max-width:980px){
    .news-head{grid-template-columns:1fr; gap:20px}
    .news-card{flex:0 0 calc((100% - 24px) / 1)}
  }
@media (min-width:600px) and (max-width:980px){
    .news-card{flex:0 0 calc((100% - 24px) / 2)}
  }
/* Carousel controls */
  .news-controls{
    max-width:1240px; margin:32px auto 0; padding:0 28px;
    display:flex; align-items:center; justify-content:space-between; gap:24px;
  }
.news-dots{display:flex; gap:8px; align-items:center}
.news-dot{
    width:28px; height:3px; background:rgba(0,90,156,.18);
    border-radius:2px; cursor:pointer; transition:background .3s, width .3s;
  }
.news-dot.active{background:var(--brand); width:42px}
.news-arrows{display:flex; gap:10px}
.news-arrow{
    width:48px; height:48px; border-radius:10px;
    border:1px solid var(--line); background:#fff; color:var(--brand-deep);
    display:grid; place-items:center; cursor:pointer;
    transition:background .25s, border-color .25s, color .25s, transform .2s;
  }
.news-arrow:hover:not(:disabled){background:var(--brand); color:#fff; border-color:var(--brand); transform:translateY(-2px)}
.news-arrow:disabled{opacity:.3; cursor:not-allowed}
.news-arrow svg{width:18px; height:18px}
/* ============ APPROACH ============ */
  #approach{background:#fff}
.approach-grid{display:grid;grid-template-columns:repeat(3,1fr); gap:20px}
.ap-card{
    background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--r-lg);
    padding:32px; position:relative; transition:transform .2s, box-shadow .2s, background .2s;
  }
.ap-card:hover{transform:translateY(-4px); background:#fff; box-shadow:var(--shadow-md)}
.ap-num{
    font-family:inherit; font-weight:700; font-size:14px; color:var(--brand-deep); letter-spacing:.16em; text-transform:uppercase;
    display:flex;align-items:center;gap:10px; margin-bottom:24px;
  }
.ap-num::before{content:""; width:28px; height:1.5px; background:var(--brand)}
.ap-card h4{margin:0 0 10px; font-size:22px; letter-spacing:-.015em; font-weight:700}
.ap-card p{margin:0; color:var(--muted); font-size:15px}
.ap-icon{
    position:absolute; top:24px; right:24px;
    width:44px;height:44px;border-radius:12px; background:#fff; border:1px solid var(--line);
    display:grid; place-items:center; color:var(--brand-deep);
  }
/* ============ PRODUCTS ============ */
  #products{background:var(--bg-soft); border-top:1px solid var(--line); padding:120px 0}
.products-grid{max-width:1240px; margin:0 auto; padding:0 28px; display:grid; grid-template-columns:repeat(2,1fr); gap:24px}
.prod-card{display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; text-decoration:none; color:inherit; position:relative; transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease}
.prod-card::before{content:""; position:absolute; left:0; top:0; height:3px; width:100%; background:linear-gradient(90deg, var(--brand), var(--brand-deep)); transform:scaleX(0); transform-origin:left; transition:transform .5s cubic-bezier(.2,.7,.2,1); z-index:3}
.prod-card:hover{transform:translateY(-6px); box-shadow:0 30px 60px -30px rgba(0,90,156,.28); border-color:rgba(0,112,192,.4)}
.prod-card:hover::before{transform:scaleX(1)}
.prod-card .ph{position:relative; aspect-ratio:16/8; background:linear-gradient(135deg, #eef4fa 0%, #dfeaf4 100%); border-bottom:1px dashed rgba(0,112,192,.3); display:grid; place-items:center; overflow:hidden}
.prod-card .ph::after{content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(0,112,192,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(0,112,192,.05) 1px, transparent 1px); background-size:30px 30px}
.prod-card .ph .ph-i{position:relative; z-index:1; text-align:center; color:var(--brand-deep)}
.prod-card .ph .ph-i svg{width:46px; height:46px; opacity:.5}
.prod-card .ph .ph-i .t{font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; opacity:.6; margin-top:8px}
.prod-card .ph .num{position:absolute; left:18px; top:18px; z-index:2; background:rgba(255,255,255,.94); color:var(--brand-deep); font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; padding:6px 11px; border-radius:999px}
.prod-card .cbody{padding:30px 30px 32px; display:flex; flex-direction:column; gap:14px; flex:1}
.prod-card h3{font-size:24px; font-weight:800; letter-spacing:-.015em; margin:0; line-height:1.15}
.prod-card .ptag{font-size:13px; color:var(--brand-deep); font-weight:600}
.prod-card p{font-size:15px; color:var(--muted); line-height:1.6; margin:0}
.prod-card .chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:2px}
.prod-card .chip{font-size:12.5px; font-weight:600; color:var(--brand-deep); background:var(--bg-cool); border:1px solid rgba(0,112,192,.14); padding:6px 12px; border-radius:999px}
.prod-card .more{margin-top:auto; padding-top:6px; display:inline-flex; align-items:center; gap:10px; color:var(--brand-deep); font-weight:700; font-size:12px; letter-spacing:.12em; text-transform:uppercase}
.prod-card .more svg{width:16px; height:16px; transition:transform .25s}
.prod-card:hover .more svg{transform:translate(3px,-3px)}
@media (max-width:880px){
    .products-grid{display:flex; overflow-x:auto; gap:14px; scroll-snap-type:x mandatory; scroll-padding:24px; padding:4px 24px 14px; scrollbar-width:none; -ms-overflow-style:none; -webkit-overflow-scrolling:touch}
    .products-grid::-webkit-scrollbar{display:none}
    .products-grid > .prod-card{flex:0 0 86%; scroll-snap-align:start}
    .prod-card .cbody{padding:22px 20px 24px; gap:12px}
    .prod-card h3{font-size:21px}
    .prod-card p{font-size:14px}
    .prod-card .chip{font-size:11.5px; padding:5px 10px}
    .prod-card .ph .num{left:14px; top:14px}
  }
.m-dots{display:none; justify-content:center; align-items:center; gap:7px; margin-top:18px}
.m-dots span{width:7px; height:7px; border-radius:99px; background:rgba(0,90,156,.18); transition:width .3s, background .3s; cursor:pointer}
.m-dots span.on{width:22px; background:var(--brand)}
@media (max-width:880px){ .products-dots{display:flex} }
@media (max-width:820px){ .ind-dots{display:flex} }
/* ============ INDUSTRIES ============ */
  #industries{background:linear-gradient(180deg, #f5f8fc 0%, #fff 100%)}
.ind-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:18px}
.ind-card{
    aspect-ratio: 4/5;
    background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden;
    position:relative; display:flex; flex-direction:column; justify-content:flex-end;
    padding:24px; transition:transform .25s, box-shadow .25s;
  }
.ind-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-md)}
.ind-card .bg{position:absolute; inset:0; z-index:0}
.ind-card .gloss{position:absolute; inset:0; background:linear-gradient(180deg, transparent 50%, rgba(11,26,44,.78) 100%); z-index:1}
.ind-card .tx{position:relative; z-index:2; color:#fff}
.ind-card .tx .t{font-size:20px; font-weight:700; letter-spacing:-.01em}
.ind-card .tx .s{font-size:13px; opacity:.85; margin-top:6px}
.ind-card .badge{
    position:absolute; top:18px; left:18px; z-index:2;
    background:rgba(255,255,255,.18); color:#fff; padding:6px 10px; border-radius:999px;
    font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:600;
    backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.25);
  }
/* ============ CERTIFICATIONS ============ */
  #certs{background:var(--bg-soft); padding:110px 0 110px; border-top:1px solid var(--line)}
.certs-head{
    max-width:1240px; margin:0 auto 56px; padding:0 28px;
    display:grid; grid-template-columns:1.4fr 1fr; gap:48px; align-items:end;
  }
.certs-head .l h2{margin:0}
.certs-grid{
    max-width:1240px; margin:0 auto; padding:0 28px;
    display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
  }
.cert-card{
    background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
    padding:32px 28px; display:flex; flex-direction:column; gap:20px;
    position:relative; overflow:hidden;
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  }
.cert-card::before{
    content:""; position:absolute; left:0; top:0; width:100%; height:3px;
    background:linear-gradient(90deg, var(--brand) 0%, var(--brand-deep) 100%);
    transform:scaleX(0); transform-origin:left; transition:transform .5s cubic-bezier(.2,.7,.2,1);
  }
.cert-card:hover{transform:translateY(-6px); box-shadow:0 30px 60px -30px rgba(0,90,156,.25); border-color:rgba(0,112,192,.35)}
.cert-card:hover::before{transform:scaleX(1)}
.cert-seal{
    width:96px; height:96px; position:relative; flex:0 0 96px;
  }
.cert-seal svg{width:100%; height:100%; display:block}
.cert-seal .seal-text{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    flex-direction:column; gap:2px; color:var(--brand-deep);
    font-weight:800; letter-spacing:.02em; line-height:1;
  }
.cert-seal .seal-iso{font-size:11px; letter-spacing:.22em; color:var(--brand)}
.cert-seal .seal-num{font-size:18px; font-weight:800; color:var(--brand-ink); letter-spacing:-.01em}
.cert-title{
    font-size:18px; font-weight:800; color:var(--ink); line-height:1.25; margin:0;
    letter-spacing:-.005em;
  }
.cert-desc{font-size:14px; color:var(--muted); line-height:1.55; margin:0; flex:1}
.cert-body{
    display:flex; align-items:center; justify-content:space-between;
    padding-top:18px; border-top:1px solid var(--line);
    font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:700;
    color:var(--muted);
  }
.cert-body .since{color:var(--brand-deep)}
@media (max-width:1100px){ .certs-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:600px){
    .certs-head{grid-template-columns:1fr; gap:20px}
    .certs-grid{grid-template-columns:1fr}
  }
/* ============ CTA ============ */
  .cta-block{
    background:var(--bg-soft);
    padding:120px 28px;
  }
.cta-card{
    max-width:1240px; margin:0 auto;
    position:relative; overflow:hidden;
    background:
      radial-gradient(700px 400px at 0% 0%, rgba(0,112,192,.18), transparent 60%),
      linear-gradient(160deg, #0b1a2c 0%, #14304d 100%);
    color:#fff; border-radius:var(--r-xl); padding:72px 64px;
    display:grid; grid-template-columns: 1.2fr .8fr; gap:48px; align-items:center;
  }
.cta-card::after{
    content:""; position:absolute; inset:auto -10% -50% auto; width:520px; height:520px; border-radius:999px;
    background:radial-gradient(circle at center, rgba(0,112,192,.4) 0%, transparent 60%);
  }
.cta-card h3{font-size:clamp(32px, 4vw, 50px); line-height:1.05; letter-spacing:-.02em; font-weight:800; margin:0 0 16px}
.cta-card h3 em{font-family:inherit;font-style:normal;font-weight:800;color:#7ec3ed}
.cta-card p{color:rgba(255,255,255,.75); font-size:17px; max-width:480px; margin:0 0 28px}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn-white{
    background:#fff; color:var(--ink);
    box-shadow:0 14px 32px -14px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,1);
  }
.btn-white:hover{background:#f4f8fc; transform:translateY(-2px); box-shadow:0 20px 40px -16px rgba(0,0,0,.55)}
.btn-outline{
    background:rgba(255,255,255,.02); color:#fff;
    border:1px solid rgba(255,255,255,.32); backdrop-filter:blur(8px);
  }
.btn-outline:hover{border-color:#fff; background:rgba(255,255,255,.08); transform:translateY(-2px)}
.cta-form{
    background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); backdrop-filter:blur(12px);
    border-radius:var(--r-lg); padding:24px; position:relative; z-index:2;
  }
.cta-form .row{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px}
.cta-form input, .cta-form select, .cta-form textarea{
    width:100%; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); color:#fff;
    padding:13px 14px; border-radius:10px; font-family:inherit; font-size:14px; outline:none;
    transition:border-color .2s, background .2s;
  }
.cta-form input::placeholder, .cta-form textarea::placeholder{color:rgba(255,255,255,.5)}
.cta-form input:focus, .cta-form select:focus, .cta-form textarea:focus{border-color:#7ec3ed; background:rgba(255,255,255,.10)}
.cta-form select option{color:#000}
.cta-form textarea{min-height:90px; resize:vertical}
.cta-form button{
    width:100%; background:var(--brand); color:#fff; padding:14px;
    border-radius:10px; font-weight:700; font-size:15px;
    transition:background .2s;
  }
.cta-form button:hover{background:#1A8CD8}
.cta-form .ok{
    display:none; background:rgba(34,197,94,.12); border:1px solid rgba(34,197,94,.4); color:#7ee2a8;
    padding:12px 14px; border-radius:10px; font-size:13.5px;
  }
.cta-form.sent .ok{display:block}
.cta-form.sent form{display:none}
/* ============ FOOTER ============ */
  footer{background:#0b1a2c; color:#9aabbf; padding:72px 0 32px}
.ft-grid{display:grid; grid-template-columns: 2fr 1fr 1fr 1.2fr; gap:48px}
.ft-brand img{height:32px; filter:brightness(0) invert(1); opacity:.95; margin-bottom:18px}
.ft-brand p{color:#9aabbf; font-size:14px; max-width:320px; margin:0 0 18px}
.ft-social{display:flex;gap:10px}
.ft-social a{
    width:38px;height:38px;border-radius:10px; background:rgba(255,255,255,.06);
    display:grid;place-items:center; color:#fff; transition:background .2s;
  }
.ft-social a:hover{background:var(--brand)}
.ft-col h5{color:#fff; font-size:14px; letter-spacing:.06em; text-transform:uppercase; margin:0 0 18px; font-weight:700}
.ft-col ul{list-style:none;padding:0;margin:0; display:grid; gap:10px}
.ft-col a{font-size:14px}
.ft-col a:hover{color:#fff}
.ft-bottom{
    margin-top:56px; padding-top:24px; border-top:1px solid rgba(255,255,255,.08);
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;
    font-size:13px;
  }
/* Reveal */
  .reveal{opacity:0; transform:translateY(20px); transition:opacity .8s ease, transform .8s ease}
.reveal.in{opacity:1; transform:none}
/* ============ RESPONSIVE ============ */
  @media (max-width:1080px){
    .nav-links{display:none}
    .burger{display:flex}
    .nav-cta{display:none}
    .mega, .mega-backdrop{display:none !important}
    .nav-inner{height:70px;gap:12px}
    .brand{flex:1 1 auto;min-width:0}
    .brand img{height:38px;max-width:min(56vw,210px);width:auto;object-fit:contain;object-position:left center}
    .svc-head{padding:80px 0 52px}
    .svc-head-inner{grid-template-columns:1fr; gap:24px; align-items:start}
    .svc-all-btn{justify-self:start; align-self:start}
    .hero-meta{grid-template-columns:repeat(2,1fr); gap:0}
    .hero-meta .item{padding:18px 0}
    .hero-meta .item:nth-child(3){border-left:none}
    .hero-meta .item:nth-child(3), .hero-meta .item:nth-child(4){border-top:1px solid rgba(255,255,255,.10)}
    .services-shell{grid-template-columns:1fr}
    .svc-tabs{flex-direction:row;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px}
    .svc-tab{flex:0 0 auto; min-width:240px}
    .stats-strip{grid-template-columns:repeat(2,1fr); padding:32px; gap:28px}
    .stat + .stat:nth-child(3){border-left:none; padding-left:0}
    .approach-grid{grid-template-columns:1fr}
    .ind-grid{grid-template-columns:repeat(2,1fr)}
    .cta-card{grid-template-columns:1fr; padding:48px 32px}
    .ft-grid{grid-template-columns:1fr 1fr; gap:36px}
  }
@media (max-width:820px){
    .sec-head{flex-direction:column; align-items:flex-start; gap:14px; margin-bottom:40px}
    .sec-head .l{max-width:100%}
    .sec-head .sec-sub{max-width:100%; margin:0}
    .ind-grid{display:flex; overflow-x:auto; gap:14px; scroll-snap-type:x mandatory; scroll-padding:24px; padding:4px 2px 16px; scrollbar-width:none; -ms-overflow-style:none; -webkit-overflow-scrolling:touch}
    .ind-grid::-webkit-scrollbar{display:none}
    .ind-card{flex:0 0 74%; scroll-snap-align:center}
  }
@media (max-width:640px){
    section.block{padding:64px 0}
    #services{padding-bottom:64px !important}
    #news{padding:64px 0}
    #products{padding:64px 0}
    #certs{padding:64px 0}
    .news-head{margin-bottom:28px}
    .certs-head{margin-bottom:28px}
    footer{padding:56px 0 28px}
    .ft-grid{gap:32px}
    .hero{padding:64px 0 52px}
    .eyebrow{font-size:10.5px; letter-spacing:.12em; padding:8px 16px; line-height:1.6; white-space:normal; text-align:center; max-width:94%}
    h1.hero-title{font-size:clamp(34px, 9.6vw, 40px); line-height:1.08; letter-spacing:-.015em; margin-bottom:16px}
    .hero-sub{display:none}
    .hero-cta{gap:10px; margin-bottom:40px; margin-top:4px}
    .hero-cta .btn{flex:1 1 100%; justify-content:center; padding:15px 22px; font-size:15px}
    .svc-panel{padding:28px}
    .svc-head{padding:52px 0 30px}
    h2.sec-title{font-size:clamp(30px, 8.6vw, 36px)}
    .sec-sub{font-size:15.5px; line-height:1.7}
    .sec-head{margin-bottom:28px}
    #services .sec-sub{font-size:15.5px !important; line-height:1.7; margin-top:12px !important}
    .svc-all-btn{width:100%; justify-content:center}
    .svc-list{grid-template-columns:1fr}
    .svc-panel-head{flex-direction:column}
    .svc-num{font-size:60px}
    .stats-strip{grid-template-columns:1fr}
    .stat + .stat{border-left:none; padding-left:0; padding-top:24px; border-top:1px solid rgba(255,255,255,.18)}
    .ind-card{flex:0 0 82%}
    .ft-grid{grid-template-columns:1fr}
    .hero-meta{grid-template-columns:repeat(2,1fr); max-width:100%; padding:6px 18px}
    .hero-meta .item{padding:16px 8px; border-left:none; border-top:1px solid rgba(255,255,255,.10); margin:0}
    .hero-meta .item + .item{border-left:none; margin-top:0}
    .hero-meta .item:nth-child(-n+2){border-top:none}
    .hero-meta .item:nth-child(even){border-left:1px solid rgba(255,255,255,.10)}
    .hero-meta .item:nth-child(5){grid-column:1/-1}
    .hero-meta .item .k{font-size:27px}
    .hero-meta .item .k .u{font-size:14px}
    .hero-meta .item .l{font-size:10.5px; margin-top:7px; letter-spacing:.08em}
    .svc-controls{margin-top:20px}
    .svc-dot{width:20px}
    .svc-dot.active{width:34px}
    .svc-arrow{width:44px; height:44px}
    .news-arrow{width:44px; height:44px}
    .cta-form .row{grid-template-columns:1fr}
    .prod-card .cbody p{display:none}
    .prod-card .chips{gap:6px}
    .prod-card .chips .chip{font-size:11px; padding:5px 10px; white-space:nowrap; max-width:100%; overflow:hidden; text-overflow:ellipsis}
    .prod-card .chips .chip:nth-child(n+4){display:none}
    .news-card .body p{display:none}
    .cta-form{display:none}
    .cta-block{padding:2px 20px 64px !important}
    .cta-card{padding:36px 24px; gap:30px}
    .cta-card h3{font-size:27px; line-height:1.12}
    .cta-card p{font-size:15px; line-height:1.65; margin-bottom:22px}
    .cta-actions{flex-direction:column; gap:10px}
    .cta-actions .btn{width:100%; justify-content:center; font-size:14.5px; padding:14px 18px}
    .cta-form{padding:18px}
  }
h1.hero-title{
    font-size:clamp(44px, 6vw, 84px);
    line-height:1;
    letter-spacing:-0.028em;
    font-weight:800;
    margin:22px auto 22px;
    color:#fff;
    max-width:860px;
  }
.hero-meta{
    display:grid; grid-template-columns:repeat(4, 1fr); gap:0;
    margin:0 auto; max-width:880px;
    padding:28px;
    border:1px solid rgba(255,255,255,.12); border-radius:var(--r-lg);
    background:rgba(255,255,255,.04); backdrop-filter:blur(10px);
  }
/* ============ SERVICES (mosaic) ============ */
  #services{background:#fff; padding-top:0 !important; padding-bottom:0 !important}
.svc-mosaic{
    display:grid; grid-template-columns:repeat(4, 1fr); gap:0;
    width:100%;
  }
.svc-tile{
    position:relative; aspect-ratio: 1/1; overflow:hidden; display:block;
    background:var(--ink); isolation:isolate;
    cursor:pointer;
  }
.svc-tile .lbl{
    position:absolute; left:32px; bottom:30px; right:32px; z-index:2;
    color:#fff; font-size:22px; font-weight:800; letter-spacing:.005em; line-height:1.12;
    text-transform:uppercase;
    transition: opacity .35s ease, transform .55s cubic-bezier(.2,.7,.2,1);
  }
/* ============ RESPONSIVE ============ */
  @media (max-width:1080px){
    .nav-links{display:none}
    .burger{display:flex}
    .nav-cta{display:none}
    .mega, .mega-backdrop{display:none !important}
    .nav-inner{height:70px;gap:12px}
    .brand{flex:1 1 auto;min-width:0}
    .brand img{height:38px;max-width:min(56vw,210px);width:auto;object-fit:contain;object-position:left center}
    .hero-meta{grid-template-columns:repeat(2,1fr); gap:0}
    .hero-meta .item{padding:18px 0}
    .hero-meta .item:nth-child(3){border-left:none}
    .hero-meta .item:nth-child(3), .hero-meta .item:nth-child(4){border-top:1px solid rgba(255,255,255,.10)}
    .services-shell{grid-template-columns:1fr}
    .svc-tabs{flex-direction:row;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px}
    .svc-tab{flex:0 0 auto; min-width:240px}
    .stats-strip{grid-template-columns:repeat(2,1fr); padding:32px; gap:28px}
    .stat + .stat:nth-child(3){border-left:none; padding-left:0}
    .approach-grid{grid-template-columns:1fr}
    .ind-grid{grid-template-columns:repeat(2,1fr)}
    .cta-card{grid-template-columns:1fr; padding:48px 32px}
    .ft-grid{grid-template-columns:1fr 1fr; gap:36px}
  }
@media (max-width:640px){
    section.block{padding:80px 0}
    .svc-panel{padding:28px}
    .svc-list{grid-template-columns:1fr}
    .svc-panel-head{flex-direction:column}
    .svc-num{font-size:60px}
    .stats-strip{grid-template-columns:1fr}
    .stat + .stat{border-left:none; padding-left:0; padding-top:24px; border-top:1px solid rgba(255,255,255,.18)}
    .ind-grid{grid-template-columns:1fr}
    .ft-grid{grid-template-columns:1fr}
    .hero-meta{grid-template-columns:1fr}
    .hero-meta .item + .item{border-left:none; border-top:1px solid rgba(255,255,255,.10); padding-top:18px; margin-top:8px}
    .cta-form .row{grid-template-columns:1fr}
  }
.page-hero{position:relative; overflow:hidden; color:#fff; padding:140px 0 100px;
  background:radial-gradient(900px 540px at 78% 18%, rgba(0,112,192,.45), transparent 65%),radial-gradient(700px 400px at 5% 100%, rgba(0,112,192,.20), transparent 65%),linear-gradient(160deg, #08213a 0%, #0a2a48 45%, #06192c 100%);}
.page-hero::before{content:""; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:60px 60px, 60px 60px;
  mask-image:radial-gradient(circle at 50% 40%, #000 30%, transparent 75%);
  -webkit-mask-image:radial-gradient(circle at 50% 40%, #000 30%, transparent 75%);}
.page-hero .crumb{display:inline-flex; align-items:center; gap:10px; font-size:12px; letter-spacing:.18em; text-transform:uppercase; font-weight:700; color:#9ed5f2; margin-bottom:18px}
.page-hero .crumb::before{content:""; width:24px; height:1.5px; background:#0070C0}
.page-hero h1{font-size:clamp(44px, 6vw, 76px); font-weight:800; line-height:1.04; letter-spacing:-.022em; margin:0 0 18px; max-width:880px}
.page-hero h1 em{font-style:normal; background:linear-gradient(180deg, #9ed5f2 0%, #0070C0 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent}
.page-hero .lede{font-size:18px; max-width:680px; color:rgba(255,255,255,.78); margin:0}
.block{padding:110px 0}
h2.sec-title{font-size:clamp(34px,4vw,52px); line-height:1.04; letter-spacing:-.022em; font-weight:800; margin:0 0 16px}
h2.sec-title em{font-style:normal; font-weight:800; color:var(--brand-deep)}
.reveal{opacity:0; transform:translateY(20px); transition:opacity .8s, transform .8s}
.reveal.in{opacity:1; transform:translateY(0)}
/* WHO WE ARE */
.who-grid{display:grid; grid-template-columns:1.05fr 1fr; gap:64px; align-items:center}
.who-img{aspect-ratio:4/5; border-radius:var(--r-lg); overflow:hidden; background:#0e2940; position:relative}
.who-img img{width:100%; height:100%; object-fit:cover; object-position:center 25%; filter:saturate(.9) contrast(1.04)}
.who-img .badge{position:absolute; bottom:24px; left:24px; right:24px; background:rgba(11,26,44,.78); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:20px 22px; color:#fff}
.who-img .badge .n{font-size:30px; font-weight:800; letter-spacing:-.01em}
.who-img .badge .l{font-size:13px; color:rgba(255,255,255,.7); margin-top:4px}
.who-text p{font-size:16.5px; line-height:1.7; color:var(--ink-2); margin:0 0 18px}
/* PURPOSE band */
.purpose{position:relative; overflow:hidden; color:#fff;
  background:linear-gradient(160deg, #06192c 0%, #0a2a48 100%);}
.purpose::before{content:""; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:60px 60px; mask-image:radial-gradient(circle at 70% 30%, #000 20%, transparent 70%); -webkit-mask-image:radial-gradient(circle at 70% 30%, #000 20%, transparent 70%);}
.purpose .inner{max-width:900px; position:relative; z-index:2}
.purpose .sec-tag{color:#9ed5f2}
.purpose .sec-tag::before{background:#9ed5f2}
.purpose .statement{font-size:clamp(26px,3.2vw,40px); font-weight:800; line-height:1.28; letter-spacing:-.015em; margin:0 0 28px}
.purpose .statement em{font-style:normal; color:#9ed5f2}
.purpose p{font-size:17px; line-height:1.7; color:rgba(255,255,255,.78); margin:0; max-width:760px}
/* CORE VALUES */
.values-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px}
.value-card{background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:38px 36px; position:relative; overflow:hidden; transition:transform .3s, box-shadow .3s, border-color .3s; display:flex; gap:24px; align-items:flex-start}
.value-card::before{content:""; position:absolute; left:0; top:0; height:3px; width:100%; background:linear-gradient(90deg, var(--brand), var(--brand-deep)); transform:scaleX(0); transform-origin:left; transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.value-card:hover{transform:translateY(-6px); box-shadow:0 30px 60px -30px rgba(0,90,156,.25); border-color:rgba(0,112,192,.35)}
.value-card:hover::before{transform:scaleX(1)}
.value-card .ic{width:58px; height:58px; flex:0 0 58px; border-radius:14px; background:linear-gradient(135deg, #eaf2fa, #cfe4f3); color:var(--brand-deep); display:grid; place-items:center}
.value-card .ic svg{width:26px; height:26px}
.value-card .num{position:absolute; top:24px; right:30px; font-size:46px; font-weight:800; color:var(--bg-cool); line-height:1; letter-spacing:-.02em}
.value-card h3{font-size:21px; font-weight:800; margin:0 0 10px; letter-spacing:-.005em}
.value-card p{font-size:15px; color:var(--muted); line-height:1.6; margin:0}
/* VISION */
.vision-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.vision-card{background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--r-lg); padding:36px 32px; transition:transform .3s, box-shadow .3s, background .3s, border-color .3s}
.vision-card:hover{transform:translateY(-6px); background:#fff; box-shadow:0 30px 60px -30px rgba(0,90,156,.25); border-color:rgba(0,112,192,.35)}
.vision-card .vnum{font-size:13px; letter-spacing:.18em; text-transform:uppercase; font-weight:700; color:var(--brand); margin-bottom:18px; display:flex; align-items:center; gap:10px}
.vision-card .vnum::before{content:""; width:24px; height:1.5px; background:var(--brand)}
.vision-card h3{font-size:21px; font-weight:800; margin:0 0 12px; letter-spacing:-.01em; text-transform:capitalize}
.vision-card p{font-size:15px; color:var(--muted); line-height:1.65; margin:0}
@media (max-width:980px){
  .who-grid{grid-template-columns:1fr; gap:44px}
  .values-grid{grid-template-columns:1fr}
  .vision-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .about-cta-card{grid-template-columns:1fr !important; padding:36px 24px !important; gap:28px !important}
  .about-cta-card h2{font-size:26px !important; line-height:1.18 !important}
  .about-cta-card p{font-size:15px !important; line-height:1.65 !important}
  .about-cta-card .btn{width:100%; justify-content:center}
  .who-grid{gap:32px}
  .who-text p{font-size:15px}
  .purpose .statement{font-size:clamp(23px,6.6vw,28px); line-height:1.34}
  .purpose p{font-size:15px}
  .value-card{padding:24px 20px; gap:16px}
  .value-card .ic{width:48px; height:48px; flex:0 0 48px}
  .value-card .num{font-size:34px; top:18px; right:20px}
  .value-card h3{font-size:18.5px}
  .value-card p{font-size:14px}
  .vision-card{padding:26px 22px}
  .vision-card h3{font-size:18.5px}
  .vision-card p{font-size:14px}
  .stats-strip{padding:28px 22px; border-radius:18px}
}
.svc-cats{display:flex; flex-direction:column; gap:22px; max-width:1240px; margin:0 auto; padding:0 28px}
.svc-cat-row{
  display:grid; grid-template-columns: 210px 1fr 190px; gap:34px; align-items:stretch;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-xl);
  padding:40px; text-decoration:none; color:inherit;
  position:relative; overflow:hidden;
  transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .35s;
}
.svc-cat-row::before{content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:linear-gradient(180deg, var(--brand), var(--brand-deep)); transform:scaleY(0); transform-origin:top; transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.svc-cat-row:hover{transform:translateY(-4px); box-shadow:0 36px 70px -34px rgba(0,90,156,.32); border-color:rgba(0,112,192,.4)}
.svc-cat-row:hover::before{transform:scaleY(1)}
.scr-left{position:relative; align-self:stretch; min-height:196px; border-radius:18px; overflow:hidden; background:#dfeaf4; box-shadow:0 18px 42px -24px rgba(0,90,156,.55)}
.scr-left::after{content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(0,32,58,.30), rgba(0,32,58,0) 42%, rgba(0,32,58,.20))}
.scr-num{position:absolute; top:14px; left:14px; z-index:2; background:rgba(0,44,78,.60); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); color:#fff; padding:6px 13px; border-radius:999px; font-size:13px; font-weight:800; letter-spacing:.14em; font-variant-numeric:tabular-nums}
.scr-ic{position:absolute; inset:0; width:100%; height:100%}
.scr-ic svg{width:30px; height:30px}
.scr-ic img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.svc-cat-row:hover .scr-ic img{transform:scale(1.06)}
.scr-main h2{font-size:clamp(24px,2.4vw,32px); font-weight:800; margin:0 0 10px; letter-spacing:-.015em}
.scr-main p{font-size:15px; color:var(--muted); line-height:1.6; margin:0 0 18px; max-width:640px}
.scr-chips{display:flex; flex-wrap:wrap; gap:8px}
.chip{font-size:12.5px; font-weight:600; color:var(--brand-deep); background:var(--bg-cool); border:1px solid rgba(0,112,192,.14); padding:6px 12px; border-radius:999px}
.scr-go{display:flex; flex-direction:column; align-items:flex-end; gap:14px; text-align:right}
.scr-arrow{width:54px; height:54px; border-radius:14px; border:1px solid var(--line); display:grid; place-items:center; color:var(--brand-deep); transition:background .3s, color .3s, border-color .3s, transform .3s}
.svc-cat-row:hover .scr-arrow{background:var(--brand); color:#fff; border-color:var(--brand); transform:translate(3px,-3px)}
.scr-arrow svg{width:22px; height:22px}
.scr-label{font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:var(--muted)}
@media (max-width:980px){
  .svc-cat-row{grid-template-columns:1fr; gap:24px; padding:24px}
  .scr-left{min-height:150px}
  .scr-go{flex-direction:row; align-items:center; justify-content:space-between}
}
.page-hero{
  position:relative; overflow:hidden; color:#fff;
  padding:140px 0 100px;
  background:
    radial-gradient(900px 540px at 78% 18%, rgba(0,112,192,.45), transparent 65%),
    radial-gradient(700px 400px at 5% 100%, rgba(0,112,192,.20), transparent 65%),
    linear-gradient(160deg, #08213a 0%, #0a2a48 45%, #06192c 100%);
}
.page-hero::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:60px 60px, 60px 60px;
  mask-image:radial-gradient(circle at 50% 40%, #000 30%, transparent 75%);
  -webkit-mask-image:radial-gradient(circle at 50% 40%, #000 30%, transparent 75%);
}
.page-hero .lede{font-size:18px; max-width:640px; color:rgba(255,255,255,.78); margin:0}
.svc-cat{padding:0 0 100px}
.svc-cat-head{display:flex; align-items:flex-end; justify-content:space-between; gap:36px; margin-bottom:36px; flex-wrap:wrap}
.svc-cat-head .l{max-width:680px}
.svc-cat-head .num{font-size:14px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--brand); margin-bottom:8px}
.svc-cat-head h2{font-size:clamp(28px,3vw,40px); font-weight:800; line-height:1.1; margin:0; letter-spacing:-.015em}
.svc-cat-head p{color:var(--muted); font-size:16px; max-width:420px; margin:0}
.svc-list{display:grid; grid-template-columns:repeat(2,1fr); gap:18px}
.svc-row{
  display:grid; grid-template-columns: 80px 1fr auto; align-items:center; gap:24px;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:24px 28px; transition:transform .25s, box-shadow .25s, border-color .25s;
  position:relative; overflow:hidden;
}
.svc-row::after{content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--brand); transform:scaleY(0); transform-origin:top; transition:transform .35s}
.svc-row:hover{transform:translateY(-2px); box-shadow:0 26px 50px -30px rgba(0,90,156,.25); border-color:rgba(0,112,192,.35)}
.svc-row:hover::after{transform:scaleY(1)}
.svc-row .ic{
  width:64px; height:64px; border-radius:14px;
  background:linear-gradient(135deg, #eaf2fa, #cfe4f3);
  display:grid; place-items:center; color:var(--brand-deep);
}
.svc-row .ic svg{width:28px; height:28px}
.svc-row h3{font-size:17px; font-weight:800; margin:0 0 4px; letter-spacing:-.005em}
.svc-row p{font-size:13.5px; color:var(--muted); margin:0; line-height:1.5}
.svc-row .arrow{
  width:42px; height:42px; border-radius:10px; border:1px solid var(--line);
  display:grid; place-items:center; color:var(--brand-deep); flex-shrink:0;
  transition:background .25s, border-color .25s, color .25s;
}
.svc-row:hover .arrow{background:var(--brand); color:#fff; border-color:var(--brand)}
.svc-row .arrow svg{width:16px; height:16px; transition:transform .25s}
.svc-row:hover .arrow svg{transform:translate(2px,-2px)}
.svc-cta{
  margin-top:80px; background:linear-gradient(160deg, #06192c 0%, #0a2a48 100%);
  border-radius:var(--r-xl); padding:60px; color:#fff;
  display:grid; grid-template-columns:1.4fr 1fr; gap:48px; align-items:center;
  position:relative; overflow:hidden;
}
.svc-cta::after{content:""; position:absolute; top:-100px; right:-100px; width:400px; height:400px; border-radius:99px; background:radial-gradient(circle, rgba(0,112,192,.4), transparent 65%)}
.svc-cta h3{font-size:36px; font-weight:800; line-height:1.1; margin:0 0 14px; letter-spacing:-.015em}
.svc-cta h3 em{font-style:normal; color:#9ed5f2}
.svc-cta p{color:rgba(255,255,255,.78); margin:0; font-size:16px; max-width:480px}
.svc-cta-actions{display:flex; flex-direction:column; gap:14px; position:relative; z-index:2}
@media (max-width:1100px){.svc-list{grid-template-columns:1fr}}
@media (max-width:900px){.svc-cta{grid-template-columns:1fr; padding:40px}}
@media (max-width:640px){
  .svc-cats{gap:16px; padding:0 20px}
  .svc-cat-row{padding:16px 16px 22px; gap:18px}
  .scr-left{min-height:170px}
  .scr-main h2{font-size:21px}
  .scr-main p{font-size:14px; line-height:1.65}
  .scr-chips .chip{font-size:11.5px; padding:5px 10px}
  .scr-go{flex-direction:row; align-items:center; gap:12px}
  .scr-arrow{width:44px; height:44px}
  .scr-arrow svg{width:18px; height:18px}
}
.end-cta{padding:0 28px 110px}
.end-cta .ec-card{max-width:1240px;margin:0 auto;background:linear-gradient(160deg,#06192c 0%,#0a2a48 100%);border-radius:24px;padding:60px;color:#fff;display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center;position:relative;overflow:hidden}
.end-cta h2{font-size:clamp(28px,3.4vw,40px);font-weight:800;line-height:1.12;letter-spacing:-.015em;margin:0 0 14px;color:#fff}
.end-cta h2 span{color:#9ed5f2}
.end-cta p{color:rgba(255,255,255,.78);margin:0;font-size:16px;max-width:480px}
.end-cta .ec-acts{display:flex;flex-direction:column;gap:14px;position:relative;z-index:2}
.end-cta .ec-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;border-radius:12px;font-weight:700;font-size:15px;text-decoration:none;transition:transform .2s,background .2s,border-color .2s}
.end-cta .ec-btn svg{width:15px;height:15px}
.end-cta .ec-white{background:#fff;color:#0b1a2c}
.end-cta .ec-white:hover{transform:translateY(-2px)}
.end-cta .ec-outline{border:1px solid rgba(255,255,255,.35);color:#fff}
.end-cta .ec-outline:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.end-cta .ec-glow{position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:999px;background:radial-gradient(circle,rgba(0,112,192,.4),transparent 65%);pointer-events:none}
@media (max-width:820px){.end-cta{padding:0 20px 80px}.end-cta .ec-card{grid-template-columns:1fr;padding:40px 28px;gap:28px}}
.svc-cat-row{
  display:grid; grid-template-columns: 92px 1fr 200px; gap:36px; align-items:center;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-xl);
  padding:40px; text-decoration:none; color:inherit;
  position:relative; overflow:hidden;
  transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .35s;
}
.scr-left{display:flex; flex-direction:column; align-items:center; gap:18px}
.scr-num{font-size:15px; font-weight:800; letter-spacing:.12em; color:var(--brand); font-variant-numeric:tabular-nums}
.scr-ic{width:64px; height:64px; border-radius:16px; background:linear-gradient(135deg, #eaf2fa, #cfe4f3); color:var(--brand-deep); display:grid; place-items:center}
@media (max-width:980px){
  .svc-cat-row{grid-template-columns:1fr; gap:24px; padding:32px}
  .scr-left{flex-direction:row; align-items:center}
  .scr-go{flex-direction:row; align-items:center; justify-content:space-between}
}
.page-hero .lede{font-size:18px; max-width:660px; color:rgba(255,255,255,.78); margin:0}
.prod-cats{display:flex; flex-direction:column; gap:22px; max-width:1240px; margin:0 auto; padding:0 28px}
.prod-row{display:grid; grid-template-columns: 380px 1fr; gap:0; background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); overflow:hidden; text-decoration:none; color:inherit; transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .35s}
.prod-row:hover{transform:translateY(-4px); box-shadow:0 36px 70px -34px rgba(0,90,156,.32); border-color:rgba(0,112,192,.4)}
.prod-row .pimg{position:relative; min-height:280px; background:linear-gradient(135deg,#0e2940,#06192c); overflow:hidden}
.prod-row .pimg img{width:100%; height:100%; object-fit:cover; position:absolute; inset:0; transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.prod-row:hover .pimg img{transform:scale(1.06)}
.prod-row .pimg .num{position:absolute; top:20px; left:22px; z-index:2; background:rgba(255,255,255,.92); color:var(--brand-deep); font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; padding:7px 12px; border-radius:999px}
.prod-row .pimg .ph-i{position:absolute; inset:0; display:grid; place-items:center; color:rgba(126,195,237,.5)}
.prod-row .pimg .ph-i svg{width:60px; height:60px}
.prod-row .pmain{padding:40px 44px; display:flex; flex-direction:column; justify-content:center}
.prod-row .pmain h2{font-size:clamp(24px,2.4vw,32px); font-weight:800; letter-spacing:-.015em; margin:0 0 8px}
.prod-row .pmain .ptag{font-size:14px; color:var(--brand-deep); font-weight:700; margin-bottom:14px}
.prod-row .pmain p{font-size:15px; color:var(--muted); line-height:1.6; margin:0 0 20px; max-width:640px}
.prod-row .chips{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px}
.prod-row .chip{font-size:12.5px; font-weight:600; color:var(--brand-deep); background:var(--bg-cool); border:1px solid rgba(0,112,192,.14); padding:6px 12px; border-radius:999px}
.prod-row .more{display:inline-flex; align-items:center; gap:10px; color:var(--brand-deep); font-weight:700; font-size:12px; letter-spacing:.14em; text-transform:uppercase}
.prod-row .more svg{width:16px; height:16px; transition:transform .25s}
.prod-row:hover .more svg{transform:translate(3px,-3px)}
@media (max-width:900px){ .prod-row{grid-template-columns:1fr} .prod-row .pimg{min-height:220px} }
.prod-cta{padding:0 0 110px}
.prod-cta .card{max-width:1240px; margin:0 auto; padding:0 28px}
.prod-cta .inner{background:linear-gradient(160deg,#06192c,#0a2a48); border-radius:var(--r-xl); padding:56px; color:#fff; display:grid; grid-template-columns:1.4fr 1fr; gap:40px; align-items:center; position:relative; overflow:hidden}
.prod-cta h2{font-size:clamp(26px,3vw,38px); font-weight:800; line-height:1.14; letter-spacing:-.015em; margin:0 0 12px}
.prod-cta h2 span{color:#9ed5f2}
.prod-cta p{color:rgba(255,255,255,.78); margin:0; font-size:15.5px; max-width:440px}
.prod-cta .glow{position:absolute; top:-100px; right:-100px; width:380px; height:380px; border-radius:99px; background:radial-gradient(circle,rgba(0,112,192,.4),transparent 65%)}
.prod-cta .acts{display:flex; flex-direction:column; gap:14px; position:relative; z-index:2}
@media(max-width:860px){ .prod-cta .inner{grid-template-columns:1fr; padding:36px} }
@media (max-width:640px){
  .prod-cats{gap:16px; padding:0 20px}
  .prod-row .pimg{min-height:200px}
  .prod-row .pmain{padding:24px 20px 26px}
  .prod-row .pmain h2{font-size:22px}
  .prod-row .pmain .ptag{font-size:13px; margin-bottom:10px}
  .prod-row .pmain p{font-size:14px; line-height:1.65}
  .prod-row .chip{font-size:11.5px; padding:5px 10px}
}
.block{padding:90px 0 110px}
.nr-toolbar{display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:44px}
.nr-chips{display:flex; gap:10px; flex-wrap:wrap}
.nr-chip{
  padding:10px 18px; border-radius:999px; border:1px solid var(--line); background:#fff;
  font-size:13.5px; font-weight:600; color:var(--ink-2); cursor:pointer;
  transition:background .2s, color .2s, border-color .2s;
}
.nr-chip:hover{border-color:var(--brand); color:var(--brand-deep)}
.nr-chip.active{background:var(--brand); color:#fff; border-color:var(--brand)}
/* Featured */
.nr-feature{
  display:grid; grid-template-columns:1.2fr 1fr; gap:0; margin-bottom:56px;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); overflow:hidden;
  transition:box-shadow .35s, transform .35s, border-color .35s;
}
.nr-feature:hover{transform:translateY(-4px); box-shadow:0 40px 80px -40px rgba(0,90,156,.3); border-color:rgba(0,112,192,.35)}
.nr-feature .img{position:relative; min-height:380px; overflow:hidden; background:#0e2940}
.nr-feature .img img{width:100%; height:100%; object-fit:cover; position:absolute; inset:0; filter:saturate(.9) contrast(1.04); transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.nr-feature:hover .img img{transform:scale(1.06)}
.nr-feature .img .ftag{position:absolute; top:22px; left:22px; z-index:2; background:var(--brand); color:#fff; font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; padding:7px 12px; border-radius:999px}
.nr-feature .txt{padding:48px; display:flex; flex-direction:column; justify-content:center}
.nr-feature .meta{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); font-weight:600; display:flex; align-items:center; gap:10px; margin-bottom:18px}
.nr-feature .meta .dot{width:3px;height:3px;border-radius:99px;background:var(--muted);opacity:.6}
.nr-feature h2{font-size:32px; font-weight:800; line-height:1.18; letter-spacing:-.015em; margin:0 0 16px; color:var(--ink)}
.nr-feature p{font-size:16px; color:var(--muted); line-height:1.6; margin:0 0 28px}
.nr-feature .more{display:inline-flex; align-items:center; gap:10px; color:var(--brand-deep); font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase}
.nr-feature .more svg{width:16px;height:16px; transition:transform .25s}
.nr-feature:hover .more svg{transform:translate(3px,-3px)}
/* Grid */
.nr-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-bottom:56px}
.nr-card{display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; transition:transform .35s, box-shadow .35s, border-color .35s}
.nr-card:hover{transform:translateY(-6px); box-shadow:0 30px 60px -30px rgba(0,90,156,.25); border-color:rgba(0,112,192,.4)}
.nr-card .thumb{aspect-ratio:16/10; overflow:hidden; position:relative; background:#eaf2fa}
.nr-card .thumb img{width:100%; height:100%; object-fit:cover; filter:saturate(.85) contrast(1.04); transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.nr-card:hover .thumb img{transform:scale(1.08)}
.nr-card .tag{position:absolute; left:18px; top:18px; background:rgba(255,255,255,.94); color:var(--brand-deep); font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; padding:6px 10px; border-radius:999px}
.nr-card .body{padding:24px 26px 28px; display:flex; flex-direction:column; gap:14px; flex:1}
.nr-card .meta{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); font-weight:600; display:flex; align-items:center; gap:10px}
.nr-card .meta .dot{width:3px;height:3px;border-radius:99px;background:var(--muted);opacity:.6}
.nr-card h3{font-size:19px; font-weight:800; line-height:1.28; color:var(--ink); margin:0; letter-spacing:-.01em}
.nr-card p{font-size:14px; line-height:1.55; color:var(--muted); margin:0}
.nr-card .more{margin-top:auto; padding-top:8px; display:inline-flex; align-items:center; gap:10px; color:var(--brand-deep); font-weight:700; font-size:12.5px; letter-spacing:.12em; text-transform:uppercase}
.nr-card .more svg{width:15px;height:15px; transition:transform .25s}
.nr-card:hover .more svg{transform:translate(3px,-3px)}
/* Newsletter */
.nr-news{
  margin-top:80px; background:linear-gradient(160deg, #06192c 0%, #0a2a48 100%); color:#fff;
  border-radius:var(--r-xl); padding:60px; position:relative; overflow:hidden;
  display:grid; grid-template-columns:1.3fr 1fr; gap:48px; align-items:center;
}
.nr-news::after{content:""; position:absolute; top:-100px; right:-80px; width:380px; height:380px; border-radius:99px; background:radial-gradient(circle, rgba(0,112,192,.4), transparent 65%)}
.nr-news h3{font-size:32px; font-weight:800; line-height:1.12; margin:0 0 12px; letter-spacing:-.015em}
.nr-news h3 em{font-style:normal; color:#9ed5f2}
.nr-news p{color:rgba(255,255,255,.78); margin:0; font-size:16px}
.nr-form{display:flex; gap:12px; position:relative; z-index:2}
.nr-form input{flex:1; padding:15px 18px; border-radius:10px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.06); color:#fff; font:inherit; font-size:15px}
.nr-form input::placeholder{color:rgba(255,255,255,.5)}
.nr-form input:focus{outline:none; border-color:#9ed5f2; background:rgba(255,255,255,.1)}
.nr-form button{padding:15px 24px; border-radius:10px; background:var(--brand); color:#fff; font-weight:700; font-size:15px; white-space:nowrap; transition:background .25s, transform .2s}
.nr-form button:hover{background:#1A8CD8; transform:translateY(-2px)}
@media (max-width:980px){
  .nr-feature{grid-template-columns:1fr}
  .nr-feature .img{min-height:260px}
  .nr-grid{grid-template-columns:1fr 1fr}
  .nr-news{grid-template-columns:1fr; padding:40px}
}
@media (max-width:640px){.nr-grid{grid-template-columns:1fr}.nr-feature .txt{padding:32px}}
@media (max-width:640px){
  .nr-feature{margin-bottom:32px}
  .nr-feature .img{min-height:220px}
  .nr-feature .txt{padding:26px 22px}
  .nr-feature .txt h2{font-size:23px; line-height:1.18}
  .nr-card .body{padding:22px 20px}
  .nr-card h3{font-size:18px}
  .nr-card p{font-size:14px}
}
.contact-grid{display:grid; grid-template-columns: 1fr 1.2fr; gap:64px; align-items:start}
.c-info{display:flex; flex-direction:column; gap:32px}
.c-info h2{font-size:36px; font-weight:800; margin:0 0 12px; letter-spacing:-.015em; line-height:1.1}
.c-info h2 em{font-style:normal; color:var(--brand-deep)}
.c-info .lede{font-size:16.5px; color:var(--muted); line-height:1.6; margin:0}
.c-item{display:grid; grid-template-columns:48px 1fr; gap:18px; align-items:flex-start}
.c-item .ic{width:48px; height:48px; border-radius:12px; background:linear-gradient(135deg, #eaf2fa, #cfe4f3); color:var(--brand-deep); display:grid; place-items:center}
.c-item .ic svg{width:20px; height:20px}
.c-item .lbl{font-size:11.5px; letter-spacing:.18em; text-transform:uppercase; font-weight:700; color:var(--muted); margin-bottom:4px}
.c-item .val{font-size:16px; color:var(--ink); font-weight:600; line-height:1.4}
.c-item .val a{color:var(--ink); text-decoration:none}
.c-item .val a:hover{color:var(--brand-deep)}
.c-item .sub{font-size:13.5px; color:var(--muted); margin-top:3px}
.c-form-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-xl);
  padding:44px; box-shadow:0 30px 80px -40px rgba(11,26,44,.18);
  position:sticky; top:100px;
}
.c-form-card h3{font-size:24px; font-weight:800; margin:0 0 8px; letter-spacing:-.01em}
.c-form-card .fhint{font-size:14px; color:var(--muted); margin:0 0 28px}
.field{margin-bottom:16px}
.field label{display:block; font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--muted); margin-bottom:8px}
.field input, .field select, .field textarea{
  width:100%; padding:14px 16px; border-radius:10px; font:inherit; font-size:15px;
  border:1px solid var(--line); background:#fff; color:var(--ink);
  transition:border-color .2s, box-shadow .2s;
}
.field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--brand); box-shadow:0 0 0 4px rgba(0,112,192,.12)}
.field textarea{min-height:120px; resize:vertical; font-family:inherit}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.c-form-card button{
  width:100%; margin-top:10px; padding:16px 22px; border-radius:10px;
  background:linear-gradient(135deg, var(--brand) 0%, var(--brand-deep) 100%);
  color:#fff; font-weight:700; font-size:15px; letter-spacing:.005em;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  box-shadow:0 14px 32px -12px rgba(0,112,192,.55);
  transition:transform .2s, box-shadow .25s;
}
.c-form-card button:hover{transform:translateY(-2px); box-shadow:0 22px 44px -14px rgba(0,112,192,.7)}
.c-form-card button svg{width:16px;height:16px; transition:transform .25s}
.c-form-card button:hover svg{transform:translate(3px,-3px)}
.c-ok{display:none; padding:30px; background:#eaf2fa; border:1px solid var(--brand); border-radius:14px; color:var(--brand-ink)}
.c-ok h4{margin:0 0 10px; font-size:18px; font-weight:800}
.c-ok p{margin:0; font-size:14.5px; color:var(--brand-deep)}
.locations{background:var(--bg-soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.loc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:48px}
.loc-card{background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:32px; transition:transform .25s, box-shadow .25s, border-color .25s}
.loc-card:hover{transform:translateY(-4px); box-shadow:0 30px 60px -30px rgba(0,90,156,.25); border-color:rgba(0,112,192,.35)}
.loc-card .ctag{display:inline-flex; align-items:center; gap:10px; font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:700; color:var(--brand-deep); margin-bottom:14px}
.loc-card .ctag::before{content:""; width:8px; height:8px; border-radius:99px; background:var(--brand)}
.loc-card h3{font-size:22px; font-weight:800; margin:0 0 10px; letter-spacing:-.005em}
.loc-card address{font-style:normal; font-size:15px; color:var(--muted); line-height:1.55; margin-bottom:18px; display:block}
.loc-card .ll{display:flex; flex-direction:column; gap:6px; font-size:14px; color:var(--ink)}
.loc-card .ll b{color:var(--muted); font-weight:600; margin-right:8px; font-size:12px; letter-spacing:.1em; text-transform:uppercase}
.faq-grid{display:grid; grid-template-columns:1fr 1fr; gap:36px 48px; margin-top:48px}
.faq h3{font-size:17px; font-weight:800; margin:0 0 8px; letter-spacing:-.005em}
.faq p{font-size:14.5px; color:var(--muted); line-height:1.6; margin:0}
@media (max-width:980px){
  .contact-grid{grid-template-columns:1fr}
  .c-form-card{position:static}
  .loc-grid{grid-template-columns:1fr}
  .faq-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .contact-grid{gap:40px}
  .c-info h2{font-size:28px}
  .c-form-card{padding:26px 20px}
  .field-row{grid-template-columns:1fr}
  .loc-grid{gap:16px; margin-top:32px}
  .loc-card{padding:24px 20px}
}
/* ===== Service detail pages ===== */
.svc-intro{padding:90px 0 30px}
.svc-intro .container{max-width:920px}
.svc-intro .sec-tag{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--brand-deep);font-weight:700;margin-bottom:16px;display:inline-flex;align-items:center;gap:10px}
.svc-intro .sec-tag::before{content:"";width:22px;height:1.5px;background:var(--brand)}
.svc-intro p{font-size:19px; line-height:1.7; color:var(--ink-2); margin:0}
.svc-toc{position:sticky; top:96px; z-index:30; background:rgba(255,255,255,.9); backdrop-filter:blur(12px); border-bottom:1px solid var(--line)}
.svc-toc .inner{max-width:1240px; margin:0 auto; padding:0 28px; display:flex; gap:6px; overflow-x:auto}
.svc-toc a{flex:0 0 auto; padding:18px 18px; font-size:13.5px; font-weight:600; color:var(--muted); border-bottom:2px solid transparent; transition:color .2s, border-color .2s; white-space:nowrap}
.svc-toc a:hover, .svc-toc a.active{color:var(--brand-deep); border-color:var(--brand)}
.svc-block{padding:90px 0; border-bottom:1px solid var(--line)}
.svc-block:last-of-type{border-bottom:none}
.svc-block .grid{max-width:1240px; margin:0 auto; padding:0 28px; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center}
.svc-block.flip .grid{direction:rtl}
.svc-block.flip .grid > *{direction:ltr}
.svc-block .num{font-size:14px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--brand); margin-bottom:14px; display:flex; align-items:center; gap:10px}
.svc-block .num::before{content:""; width:24px; height:1.5px; background:var(--brand)}
.svc-block h2{font-size:clamp(28px,3vw,40px); font-weight:800; line-height:1.1; letter-spacing:-.018em; margin:0 0 20px}
.svc-block .body p{font-size:16px; line-height:1.7; color:var(--ink-2); margin:0 0 16px}
.svc-lists{margin-top:28px; display:grid; gap:24px}
.svc-lists .lt{font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:var(--brand-deep); margin:0 0 14px}
.svc-lists ul{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px 24px}
.svc-lists li{position:relative; padding-left:32px; font-size:14.5px; color:var(--ink-2); line-height:1.5}
.svc-lists li::before{content:""; position:absolute; left:0; top:3px; width:19px; height:19px; border-radius:50%; background:linear-gradient(135deg, var(--brand), var(--brand-deep)); box-shadow:0 2px 6px -1px rgba(0,112,192,.45)}
.svc-lists li::after{content:""; position:absolute; left:6.5px; top:6px; width:4px; height:8px; border-right:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(45deg)}
/* Image placeholder slot */
.img-slot{position:relative; aspect-ratio:4/3; border-radius:var(--r-lg); overflow:hidden; background:linear-gradient(135deg, #eef4fa 0%, #dfeaf4 100%); border:2px dashed rgba(0,112,192,.3); display:grid; place-items:center}
.img-slot::after{content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(0,112,192,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(0,112,192,.05) 1px, transparent 1px); background-size:28px 28px}
.img-slot .ph-inner{position:relative; z-index:1; text-align:center; color:var(--brand-deep)}
.img-slot .ph-inner svg{width:52px; height:52px; opacity:.5; margin-bottom:12px}
.img-slot .ph-inner .t{font-size:13px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; opacity:.65}
.img-slot .ph-inner .s{font-size:12.5px; color:var(--muted); margin-top:4px}
.img-slot.tall{aspect-ratio:3/4}
.svc-end-cta{padding:100px 0}
.svc-end-cta .card{max-width:1240px; margin:0 auto; padding:0 28px}
.svc-end-cta .inner{background:linear-gradient(160deg, #06192c 0%, #0a2a48 100%); border-radius:var(--r-xl); padding:60px; color:#fff; display:grid; grid-template-columns:1.4fr 1fr; gap:48px; align-items:center; position:relative; overflow:hidden}
.svc-end-cta h2{font-size:clamp(28px,3.4vw,40px); font-weight:800; line-height:1.12; letter-spacing:-.015em; margin:0 0 14px}
.svc-end-cta h2 span{color:#9ed5f2}
.svc-end-cta p{color:rgba(255,255,255,.78); margin:0; font-size:16px; max-width:460px}
.svc-end-cta .glow{position:absolute; top:-100px; right:-100px; width:400px; height:400px; border-radius:99px; background:radial-gradient(circle, rgba(0,112,192,.4), transparent 65%)}
.svc-end-cta .acts{display:flex; flex-direction:column; gap:14px; position:relative; z-index:2}
@media (max-width:980px){
  .svc-block .grid{grid-template-columns:1fr; gap:36px}
  .svc-block.flip .grid{direction:ltr}
  .svc-lists ul{grid-template-columns:1fr}
  .svc-end-cta .inner{grid-template-columns:1fr; padding:40px}
}
@media (max-width:1080px){ .svc-toc{top:70px} }
@media (max-width:640px){
  .svc-toc::after{content:""; position:absolute; right:0; top:0; bottom:0; width:38px; background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.96)); pointer-events:none}
  .svc-toc .inner{padding:0 14px; gap:2px; scrollbar-width:none; -ms-overflow-style:none}
  .svc-toc .inner::-webkit-scrollbar{display:none}
  .svc-toc a{padding:14px 12px; font-size:12.5px}
}
@media (max-width:980px){
  .svc-block .grid > .img-slot{order:-1}
}
@media (max-width:640px){
  .svc-end-cta{padding:56px 0 64px}
  .svc-end-cta .inner{padding:36px 24px; gap:28px}
  .svc-end-cta h2{font-size:26px; line-height:1.18}
  .svc-end-cta p{font-size:15px; line-height:1.65}
  .svc-end-cta .acts .btn{width:100%; justify-content:center}
}
.svc-intro{padding:90px 0 30px}
.img-slot{position:relative; aspect-ratio:4/3; border-radius:var(--r-lg); overflow:hidden; background:linear-gradient(135deg, #eef4fa 0%, #dfeaf4 100%); border:2px dashed rgba(0,112,192,.3); display:grid; place-items:center}
.svc-intro p{font-size:19px;line-height:1.7;color:var(--ink-2);margin:0}
.svc-toc{position:sticky;top:96px;z-index:30;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.svc-toc .inner{max-width:1240px;margin:0 auto;padding:0 28px;display:flex;gap:6px;overflow-x:auto}
.svc-toc a{flex:0 0 auto;padding:18px 18px;font-size:13.5px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap}
.svc-toc a:hover,.svc-toc a.active{color:var(--brand-deep);border-color:var(--brand)}
.svc-block{padding:90px 0;border-bottom:1px solid var(--line)}
.svc-block .grid{max-width:1240px;margin:0 auto;padding:0 28px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.svc-block.flip .grid>*{direction:ltr}
.svc-block .num{font-size:14px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--brand);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.svc-block .num::before{content:"";width:24px;height:1.5px;background:var(--brand)}
.svc-block h2{font-size:clamp(28px,3vw,40px);font-weight:800;line-height:1.1;letter-spacing:-.018em;margin:0 0 20px}
.svc-block .body p{font-size:16px;line-height:1.7;color:var(--ink-2);margin:0 0 16px}
.img-slot{position:relative;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;background:linear-gradient(135deg,#eef4fa 0%,#dfeaf4 100%);border:2px dashed rgba(0,112,192,.3);display:grid;place-items:center}
.img-slot::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,112,192,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,112,192,.05) 1px,transparent 1px);background-size:28px 28px}
.img-slot .ph-inner{position:relative;z-index:1;text-align:center;color:var(--brand-deep)}
.img-slot .ph-inner svg{width:52px;height:52px;opacity:.5;margin-bottom:12px}
.img-slot .ph-inner .t{font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;opacity:.65}
.img-slot .ph-inner .s{font-size:12.5px;color:var(--muted);margin-top:4px}
.svc-end-cta .card{max-width:1240px;margin:0 auto;padding:0 28px}
.svc-end-cta .inner{background:linear-gradient(160deg,#06192c 0%,#0a2a48 100%);border-radius:var(--r-xl);padding:60px;color:#fff;display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center;position:relative;overflow:hidden}
.svc-end-cta h2{font-size:clamp(28px,3.4vw,40px);font-weight:800;line-height:1.12;letter-spacing:-.015em;margin:0 0 14px}
.svc-end-cta p{color:rgba(255,255,255,.78);margin:0;font-size:16px;max-width:460px}
.svc-end-cta .glow{position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:99px;background:radial-gradient(circle,rgba(0,112,192,.4),transparent 65%)}
.svc-end-cta .acts{display:flex;flex-direction:column;gap:14px;position:relative;z-index:2}
@media(max-width:980px){.svc-block .grid{grid-template-columns:1fr;gap:36px}.svc-block.flip .grid{direction:ltr}.svc-end-cta .inner{grid-template-columns:1fr;padding:40px}}
/* Grid */
.nr-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px}
.art-hero{position:relative; overflow:hidden; color:#fff; padding:150px 0 90px;
  background:radial-gradient(900px 540px at 78% 18%, rgba(0,112,192,.4), transparent 65%),linear-gradient(160deg, #08213a 0%, #0a2a48 45%, #06192c 100%);}
.art-hero::before{content:""; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:60px 60px; mask-image:radial-gradient(circle at 50% 40%, #000 30%, transparent 75%); -webkit-mask-image:radial-gradient(circle at 50% 40%, #000 30%, transparent 75%);}
.art-hero .wrap{max-width:860px; margin:0 auto; padding:0 28px; position:relative; z-index:2}
.art-hero .crumb{display:inline-flex; align-items:center; gap:10px; font-size:12px; letter-spacing:.18em; text-transform:uppercase; font-weight:700; color:#9ed5f2; margin-bottom:22px}
.art-hero .crumb a{color:#9ed5f2}
.art-hero .crumb::before{content:""; width:24px; height:1.5px; background:#0070C0}
.art-hero .pill{display:inline-block; background:rgba(126,195,237,.14); border:1px solid rgba(126,195,237,.35); color:#cfe6f7; font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; padding:7px 14px; border-radius:999px; margin-bottom:18px}
.art-hero .crumb{margin-bottom:22px}
.art-hero h1{font-size:clamp(32px,4.2vw,52px); font-weight:800; line-height:1.12; letter-spacing:-.02em; margin:0 0 22px}
.art-hero .meta{display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; color:rgba(255,255,255,.72); font-size:14px; font-weight:500}
.art-hero .meta .dot{width:3px; height:3px; border-radius:99px; background:rgba(255,255,255,.5)}
.art-lead-img{max-width:1080px; margin:-60px auto 0; padding:0 28px; position:relative; z-index:5}
.art-lead-img img{width:100%; border-radius:var(--r-lg); display:block; box-shadow:0 40px 80px -40px rgba(11,26,44,.5)}
.art-lead-img .cap{font-size:13px; color:var(--muted); margin-top:14px; text-align:center}
.art-body{max-width:760px; margin:0 auto; padding:70px 28px 40px}
.art-body p{font-size:17.5px; line-height:1.75; color:var(--ink-2); margin:0 0 24px}
.art-body p.lead{font-size:21px; line-height:1.6; color:var(--ink); font-weight:500}
.art-body p strong{color:var(--ink); font-weight:700}
.art-body h2{font-size:27px; font-weight:800; letter-spacing:-.015em; margin:44px 0 18px; color:var(--ink)}
.art-pullquote{margin:44px 0; padding:30px 34px; background:var(--bg-soft); border-left:4px solid var(--brand); border-radius:0 var(--r-md) var(--r-md) 0}
.art-pullquote p{font-size:20px; line-height:1.5; color:var(--ink); font-weight:600; margin:0; font-style:italic}
.art-gallery{max-width:1080px; margin:30px auto 0; padding:0 28px}
.art-gallery .g-grid{display:grid; grid-template-columns:repeat(12,1fr); gap:16px}
.art-gallery img{width:100%; height:100%; object-fit:cover; border-radius:var(--r-md); display:block}
.art-gallery .g-a{grid-column:span 8; aspect-ratio:16/10}
.art-gallery .g-b{grid-column:span 4; aspect-ratio:3/4}
.art-gallery .g-c{grid-column:span 6; aspect-ratio:16/11}
.art-gallery .g-d{grid-column:span 6; aspect-ratio:16/11}
.art-gallery .g-cap{font-size:13px; color:var(--muted); margin-top:16px; text-align:center}
@media (max-width:760px){
  .art-gallery .g-grid{grid-template-columns:1fr 1fr}
  .art-gallery .g-a, .art-gallery .g-b, .art-gallery .g-c, .art-gallery .g-d, .art-gallery .g-e{grid-column:span 1; aspect-ratio:1/1}
}
.art-share{max-width:760px; margin:0 auto; padding:30px 28px 0; display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--line); flex-wrap:wrap}
.art-share .tags{display:flex; gap:8px; flex-wrap:wrap}
.art-share .tags span{font-size:12px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; color:var(--brand-deep); background:var(--bg-cool); padding:6px 12px; border-radius:999px}
.art-cta{padding:90px 0}
.art-cta .card{max-width:1080px; margin:0 auto; padding:0 28px}
.art-cta .inner{background:linear-gradient(160deg, #06192c 0%, #0a2a48 100%); border-radius:var(--r-xl); padding:56px; color:#fff; display:grid; grid-template-columns:1.4fr 1fr; gap:40px; align-items:center; position:relative; overflow:hidden}
.art-cta h2{font-size:clamp(26px,3vw,36px); font-weight:800; line-height:1.15; letter-spacing:-.015em; margin:0 0 12px}
.art-cta h2 span{color:#9ed5f2}
.art-cta p{color:rgba(255,255,255,.78); margin:0; font-size:15.5px; max-width:440px}
.art-cta .glow{position:absolute; top:-100px; right:-100px; width:380px; height:380px; border-radius:99px; background:radial-gradient(circle, rgba(0,112,192,.4), transparent 65%)}
.art-cta .acts{display:flex; flex-direction:column; gap:14px; position:relative; z-index:2}
@media (max-width:860px){ .art-cta .inner{grid-template-columns:1fr; padding:36px} }
.art-gallery img{cursor:zoom-in}
.lightbox{position:fixed; inset:0; z-index:200; background:rgba(6,18,31,.94); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s ease}
.lightbox.open{opacity:1; visibility:visible}
.lightbox .lb-stage{position:relative; width:min(92vw,1200px); height:min(84vh,820px); display:flex; align-items:center; justify-content:center}
.lightbox .lb-img{max-width:100%; max-height:100%; object-fit:contain; border-radius:10px; box-shadow:0 40px 90px -30px rgba(0,0,0,.7); transition:opacity .25s ease}
.lightbox .lb-cap{position:absolute; left:0; right:0; bottom:-46px; text-align:center; color:rgba(255,255,255,.72); font-size:13.5px}
.lb-btn{position:absolute; top:50%; transform:translateY(-50%); width:56px; height:56px; border-radius:999px; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.08); color:#fff; display:grid; place-items:center; cursor:pointer; transition:background .2s, border-color .2s}
.lb-btn:hover{background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.5)}
.lb-btn svg{width:24px; height:24px}
.lb-prev{left:-76px}
.lb-next{right:-76px}
.lb-close{position:absolute; top:24px; right:28px; width:48px; height:48px; border-radius:999px; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.08); color:#fff; display:grid; place-items:center; cursor:pointer; transition:background .2s}
.lb-close:hover{background:rgba(255,255,255,.18)}
.lb-close svg{width:22px; height:22px}
.lb-count{position:absolute; top:30px; left:28px; color:rgba(255,255,255,.7); font-size:13px; letter-spacing:.14em; font-weight:600}
.lb-dots{position:absolute; left:0; right:0; bottom:-80px; display:flex; gap:8px; justify-content:center}
.lb-dot{width:9px; height:9px; border-radius:999px; background:rgba(255,255,255,.3); cursor:pointer; transition:background .2s, transform .2s}
.lb-dot.active{background:#fff; transform:scale(1.2)}
@media(max-width:820px){ .lb-prev{left:8px} .lb-next{right:8px} .lb-btn{width:46px;height:46px} }
main{padding-bottom:0}
.art-hero .pill{display:inline-block; background:rgba(126,195,237,.14); border:1px solid rgba(126,195,237,.35); color:#cfe6f7; font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; padding:7px 14px; border-radius:999px; margin-bottom:20px}
/* =========================================================================
   WordPress integration additions (not part of the static design export).
   Mobile navigation drawer, core WP classes, pagination, comments, RTL.
   ========================================================================= */

/* ---- Accessibility ---- */
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;word-wrap:normal!important}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100000;background:var(--brand);color:#fff;padding:10px 16px;border-radius:0 0 8px 0;font-weight:700}
.skip-link:focus{left:0}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

/* ---- Mobile navigation drawer ----
   Built and styled at runtime by assets/js/mobile-nav.js (matches the handoff). */

/* ---- WordPress core content classes ---- */
.alignwide{margin-left:auto;margin-right:auto;max-width:1100px}
.alignfull{width:100%}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.alignleft{float:left;margin:.4em 1.4em 1em 0}
.alignright{float:right;margin:.4em 0 1em 1.4em}
img.aligncenter{display:block;margin-inline:auto}
.wp-caption{max-width:100%}
.wp-caption img{height:auto;max-width:100%;border-radius:var(--r-md)}
.wp-caption-text,.wp-element-caption{font-size:13.5px;color:var(--muted);text-align:center;margin-top:8px}
.sticky,.gallery-caption,.bypostauthor{}
.wp-block-image img{max-width:100%;height:auto;border-radius:var(--r-md)}
.wp-block-quote,blockquote{border-left:3px solid var(--brand);margin:1.4em 0;padding:.3em 0 .3em 1.2em;color:var(--ink-2);font-style:italic}
.prose img{max-width:100%;height:auto;border-radius:var(--r-md)}

/* ---- Pagination ---- */
.pagination{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:56px auto 0}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;
  border:1px solid var(--line);border-radius:12px;color:var(--ink);font-weight:700;text-decoration:none;background:#fff;transition:.15s}
.pagination .page-numbers:hover{border-color:var(--brand);color:var(--brand-deep)}
.pagination .page-numbers.current{background:var(--brand);border-color:var(--brand);color:#fff}
.pagination .page-numbers.dots{border-color:transparent}

/* ---- Comments ---- */
.comments-area{max-width:820px;margin:56px auto 0;padding:0 24px}
.comments-title,.comment-reply-title{font-size:24px;font-weight:800;color:var(--ink);margin-bottom:20px}
.comment-list{list-style:none;margin:0 0 30px;padding:0}
.comment-list li{margin:0 0 18px}
.comment-body{border:1px solid var(--line);border-radius:var(--r-md);padding:18px 20px;background:var(--bg-soft)}
.comment-author{font-weight:700;color:var(--ink)}
.comment-author .says{display:none}
.comment-metadata{font-size:13px;color:var(--muted);margin:2px 0 8px}
.comment-metadata a{color:var(--muted);text-decoration:none}
.comment-list .children{list-style:none;margin:14px 0 0;padding-left:22px;border-left:2px solid var(--line)}
.comment-respond{border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;background:#fff}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{
  width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font:inherit;margin-top:6px;background:var(--bg-soft)}
.comment-form textarea{min-height:130px;resize:vertical}
.comment-form p{margin:0 0 14px}
.comment-form label{font-weight:600;font-size:14px;color:var(--ink-2)}
.form-submit input,.comment-form .submit{background:var(--brand);color:#fff;border:none;border-radius:12px;padding:13px 26px;font-weight:700;cursor:pointer;font-size:15px}
.form-submit input:hover{background:var(--brand-deep)}

/* ---- Small helpers for WP-rendered bits ---- */
.contango-admin-hint{border:1px dashed var(--brand);background:var(--bg-cool);color:var(--brand-ink);border-radius:var(--r-md);padding:16px 20px;margin:20px auto;max-width:900px;font-size:15px}
.post-password-form input[type=password]{border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit}
.post-password-form input[type=submit]{background:var(--brand);color:#fff;border:none;border-radius:10px;padding:10px 20px;font-weight:700;cursor:pointer}

/* ---- RTL polish ---- */
.rtl blockquote,.rtl .wp-block-quote{border-left:0;border-right:3px solid var(--brand);padding:.3em 1.2em .3em 0}
.rtl .comment-list .children{border-left:0;border-right:2px solid var(--line);padding-left:0;padding-right:22px}
.rtl .alignleft{float:right;margin:.4em 0 1em 1.4em}
.rtl .alignright{float:left;margin:.4em 1.4em 1em 0}
