  :root{
    --navy:#1C5FBF;
    --navy-dark:#1550A8;
    --blue:#2563EB;
    --horizon:#2563EB;
    --bg:#FFFFFF;
    --bg-alt:#F0F6FF;
    --border:#D0E3F8;
    --text:#0D1F35;
    --text-dim:#4A5E78;
    --heading:#0D1F35;
    --r:6px;
  }
  .edge-rule{height:2px; width:100%; background:linear-gradient(90deg, var(--navy), var(--blue) 45%, var(--blue)); border:none;}
  *{box-sizing:border-box; margin:0; padding:0;}
  body{
    font-family:'Inter', sans-serif;
    color:var(--text);
    background:var(--bg);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{font-weight:700; letter-spacing:-0.01em; line-height:1.2;}
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .wrap{max-width:1140px; margin:0 auto; padding:0 24px;}
  section{padding:80px 0;}
  ul{list-style:none;}

  /* ---------- NAV ---------- */
  header{position:sticky; top:0; background:var(--navy); z-index:100;}
  nav{display:flex; align-items:center; justify-content:space-between; padding:18px 0; max-width:1140px; margin:0 auto; padding-left:24px; padding-right:24px;}
  .logo{font-weight:700; font-size:18px; color:#fff; display:flex; align-items:center; gap:8px;}
  .logo span{color:var(--blue);}
  .nav-links{display:flex; gap:30px; font-size:14.5px; color:#E8F0FF;}
  .nav-links a:hover{color:#fff;}
  .nav-right{display:flex; align-items:center; gap:16px;}
  .btn{
    display:inline-block; padding:10px 18px; border-radius:var(--r); font-size:14.5px; font-weight:600;
    cursor:pointer; border:1px solid transparent; transition:background .15s, border-color .15s;
  }
  .btn-primary{background:var(--blue); color:#fff;}
  .btn-primary:hover{background:#2563EB;}
  .btn-outline{border-color:rgba(255,255,255,.25); color:#fff;}
  .btn-outline:hover{border-color:var(--blue); color:var(--blue); background:rgba(255,255,255,.05);}
  .btn-icon-signin{
    display:inline-flex; align-items:center; justify-content:center;
    width:38px; height:38px; border-radius:var(--r);
    border:1px solid rgba(255,255,255,.25); color:#E8F0FF;
    transition:border-color .15s, color .15s, background .15s;
    flex-shrink:0;
  }
  .btn-icon-signin:hover{ border-color:var(--blue); color:#fff; background:rgba(255,255,255,.05); }
  @media (max-width:880px){ .nav-links{display:none;} }

  /* ---------- HERO ---------- */
  .hero{
    position:relative; overflow:hidden;
    background: var(--navy);
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .hero::after{
    content:"";
    position:absolute; top:0; right:0; width:45%; height:100%; z-index:0;
    background: linear-gradient(135deg, rgba(59,130,246,.10) 0%, transparent 60%);
    pointer-events:none;
  }
  .hero-inner{
    max-width:1140px; margin:0 auto; padding:0 24px;
    position:relative; z-index:1;
    display:grid; grid-template-columns:1fr 380px; gap:80px; align-items:center;
    padding-top:4px; padding-bottom:100px;
    min-height: calc(100vh - 62px - 57px); /* viewport - nav - services bar */
  }
  .hero-left{ display:flex; flex-direction:column; align-items:flex-start; }
  .eyebrow-badge{
    display:inline-flex; align-items:center; gap:10px;
    font-size:11.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
    color:#E2EDFF;
    margin-bottom:24px;
  }
  .eyebrow-badge .dot{
    width:18px; height:1px; background:#1C5FBF; flex-shrink:0; display:inline-block;
  }
  .hero h1{
    font-size:50px; margin-bottom:22px; color:#fff;
    line-height:1.1; letter-spacing:-.025em; max-width:560px;
  }
  .hero h1 .accent{ color: #BAD4FF; }
  .hero-left > p{
    font-size:16px; color:#E2EDFF; margin-bottom:38px;
    max-width:480px; line-height:1.72;
  }
  .hero-ctas{ display:flex; gap:12px; flex-wrap:wrap; }
  .hero-ctas .btn-primary{
    background:var(--blue); color:#fff; font-size:14px; padding:12px 24px;
    border-radius:var(--r); font-weight:600; border:1px solid transparent;
    transition: background .15s;
  }
  .hero-ctas .btn-primary:hover{ background:#2563EB; }
  .hero-ctas .btn-ghost{
    display:inline-block; padding:12px 24px; border-radius:var(--r);
    font-size:14px; font-weight:600;
    border:1px solid rgba(255,255,255,.15); color:#E8F0FF; cursor:pointer;
    transition: border-color .15s, color .15s;
  }
  .hero-ctas .btn-ghost:hover{ border-color:rgba(255,255,255,.35); color:#fff; }

  /* Right panel */
  .hero-right{
    border-left:1px solid rgba(255,255,255,.08);
    padding-left:40px;
    display:flex; flex-direction:column; gap:0;
  }
  .hero-stat-row{
    padding:20px 0;
    border-bottom:1px solid rgba(255,255,255,.07);
  }
  .hero-stat-row:first-child{ padding-top:0; }
  .hero-stat-row:last-child{ border-bottom:none; padding-bottom:0; }
  .hero-stat-val{
    font-size:36px; font-weight:700; color:#fff; line-height:1;
    letter-spacing:-.03em; margin-bottom:5px;
  }
  .hero-stat-label{ font-size:12.5px; color:#C8DEFF; font-weight:500; }
  .hero-stat-row-2{
    display:grid; grid-template-columns:1fr 1fr; gap:0;
    padding:20px 0;
    border-bottom:1px solid rgba(255,255,255,.07);
  }
  .hero-stat-sm{ padding-right:20px; }
  .hero-stat-sm:last-child{ padding-right:0; padding-left:20px; border-left:1px solid rgba(255,255,255,.07); }
  .hero-stat-sm .hero-stat-val{ font-size:28px; }

  /* Bottom stats bar */
  .hero-stats-bar{
    border-top:1px solid rgba(255,255,255,.07);
    background:rgba(0,0,0,.2);
  }
  .hero-stats-bar-inner{
    max-width:1140px; margin:0 auto; padding:0 24px;
    display:flex; align-items:stretch;
  }
  .hero-stats-bar-inner > div{
    flex:1; padding:18px 20px;
    border-right:1px solid rgba(255,255,255,.06);
    display:flex; flex-direction:column; gap:3px;
  }
  .hero-stats-bar-inner > div:last-child{ border-right:none; }
  .hero-stats-bar-inner > div:first-child{ padding-left:0; }
  .hero-stats-bar-inner b{ font-size:12.5px; font-weight:600; color:#E8F0FF; }
  .hero-stats-bar-inner span{ font-size:11.5px; color:#E8F0FF; }

  @media (max-width:900px){
    .hero-inner{ grid-template-columns:1fr; padding-top:40px; padding-bottom:40px; gap:0; min-height:auto; }
    .hero-right{ border-left:none; border-top:1px solid rgba(255,255,255,.08); padding-left:0; padding-top:32px; margin-top:40px; display:grid; grid-template-columns:1fr 1fr; gap:0; }
    .hero-stat-row{ border-bottom:none; border-right:1px solid rgba(255,255,255,.07); padding:0 24px 0 0; }
    .hero-stat-row:last-child{ border-right:none; padding-left:24px; padding-right:0; }
    .hero-stat-row-2{ grid-column:span 2; border-top:1px solid rgba(255,255,255,.07); margin-top:20px; padding-top:20px; }
    .hero h1{ font-size:36px; }
    .hero-stats-bar-inner{ flex-wrap:wrap; }
    .hero-stats-bar-inner > div{ flex:1 1 33%; }
  }
  @media (max-width:500px){
    .hero h1{ font-size:30px; }
    .hero-right{ display:block; }
    .hero-stat-row{ border-right:none; border-bottom:1px solid rgba(255,255,255,.07); padding:16px 0; }
    .hero-stats-bar-inner > div{ flex:1 1 50%; }
  }

  /* ---------- TRUST ---------- */
  .trust{padding:44px 0; border-bottom:1px solid var(--border); background:var(--bg-alt); overflow:hidden;}
  .trust-label{text-align:center; font-size:13px; color:var(--text-dim); text-transform:uppercase; letter-spacing:.04em; margin-bottom:28px;}
  .ticker-wrap{overflow:hidden; position:relative; width:100%; margin-bottom:14px;}
  .ticker-wrap::before,.ticker-wrap::after{content:""; position:absolute; top:0; width:80px; height:100%; z-index:2; pointer-events:none;}
  .ticker-wrap::before{left:0; background:linear-gradient(90deg,var(--bg-alt),transparent);}
  .ticker-wrap::after{right:0; background:linear-gradient(270deg,var(--bg-alt),transparent);}
  .ticker-track{display:flex; gap:0; width:max-content;}
  .ticker-track.ltr{animation:ticker-ltr 38s linear infinite;}
  .ticker-track.rtl{animation:ticker-rtl 38s linear infinite;}
  @keyframes ticker-ltr{from{transform:translateX(0)} to{transform:translateX(-50%)}}
  @keyframes ticker-rtl{from{transform:translateX(-50%)} to{transform:translateX(0)}}
  .logo-pill{display:flex; align-items:center; justify-content:center; padding:0 28px; height:60px; min-width:130px;}
  .logo-pill svg,.logo-pill img{max-height:32px; width:auto;}
  .logo-pill .brand-wordmark{font-weight:800; font-size:17px; letter-spacing:-0.02em; white-space:nowrap;}

  /* ---------- SECTION HEADS ---------- */
  .eyebrow{font-size:13px; font-weight:600; color:var(--blue); text-transform:uppercase; letter-spacing:.04em; margin-bottom:16px; display:flex; align-items:center; gap:8px;}
  .eyebrow::before{content:""; width:12px; height:2px; background:var(--blue); display:inline-block;}
  .sec-head{max-width:600px; margin-bottom:44px;}
  .sec-head h2{font-size:30px; color:var(--heading); margin-bottom:12px;}
  .sec-head p{color:var(--text-dim); font-size:15.5px;}

  /* ---------- SERVICES ---------- */
  .grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .card{border:1px solid var(--border); border-radius:var(--r); padding:28px; transition:border-color .15s, box-shadow .15s;}
  .card:hover{border-color:var(--blue); box-shadow:0 2px 10px rgba(20,40,80,.06);}
  .card h3{font-size:17px; margin-bottom:8px; color:var(--heading);}
  .card p{font-size:14px; color:var(--text-dim); margin-bottom:14px;}
  .card ul li{font-size:13.5px; color:var(--text-dim); padding-left:14px; position:relative; margin-bottom:6px;}
  .card ul li::before{content:"•"; position:absolute; left:0; color:var(--blue);}
  .card-icon{
    width:42px; height:42px; border-radius:8px;
    background:#EFF6FF; display:flex; align-items:center; justify-content:center;
    margin-bottom:16px; color:var(--blue); flex-shrink:0;
  }
  .card h3{ font-size:16px; margin-bottom:8px; color:var(--heading); }
  @media (max-width:880px){ .grid-3{grid-template-columns:1fr;} }

  /* ---------- INDUSTRIES / SOLUTIONS CARDS ---------- */
  .sol-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .sol-card{
    border-radius:var(--r); overflow:hidden;
    border:1px solid var(--border);
    transition:border-color .18s, box-shadow .18s, transform .18s;
    cursor:pointer;
    background:#fff;
  }
  .sol-card:hover{border-color:var(--blue); box-shadow:0 6px 24px rgba(14,42,74,.10); transform:translateY(-3px);}
  .sol-card-img{
    position:relative; height:200px; overflow:hidden;
  }
  .sol-card-img img{
    width:100%; height:100%; object-fit:cover; display:block;
    transition:transform .35s ease;
  }
  .sol-card:hover .sol-card-img img{ transform:scale(1.04); }
  .sol-card-img-overlay{
    position:absolute; inset:0;
    background:linear-gradient(to bottom, transparent 40%, rgba(14,42,74,.55) 100%);
  }
  .sol-card-body{
    padding:20px 22px 22px;
  }
  .sol-card-body h3{
    font-size:16.5px; font-weight:700; color:var(--heading);
    margin-bottom:7px; line-height:1.25;
  }
  .sol-card-body p{
    font-size:13.5px; color:var(--text-dim); line-height:1.6; margin:0;
  }
  .sol-card-arrow{
    display:inline-flex; align-items:center; gap:5px;
    font-size:12.5px; font-weight:600; color:var(--blue);
    margin-top:12px;
  }
  .sol-card-arrow svg{ transition:transform .15s; }
  .sol-card:hover .sol-card-arrow svg{ transform:translateX(3px); }
  @media (max-width:880px){ .sol-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .sol-grid{grid-template-columns:1fr;} }

  /* ---------- HEALTHCARE DOMAIN CARDS ---------- */
  .healthcare-section{margin-top:56px;}
  .healthcare-section .sec-sub{font-size:14px; font-weight:600; color:var(--heading); text-transform:uppercase; letter-spacing:.04em; margin-bottom:20px; display:flex; align-items:center; gap:8px;}
  .healthcare-section .sec-sub::before{content:""; width:12px; height:2px; background:var(--blue); display:inline-block;}
  .grid-hc{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .hc-card{border:1px solid var(--border); border-radius:var(--r); overflow:hidden; transition:border-color .15s, box-shadow .15s;}
  .hc-card:hover{border-color:var(--blue); box-shadow:0 4px 16px rgba(20,40,80,.08);}
  .hc-card img{width:100%; height:160px; object-fit:cover; display:block;}
  .hc-card .hc-body{padding:20px;}
  .hc-card .hc-tag{font-size:11px; font-weight:600; color:var(--blue); text-transform:uppercase; letter-spacing:.04em; margin-bottom:6px;}
  .hc-card h4{font-size:15.5px; font-weight:700; color:var(--heading); margin-bottom:6px; line-height:1.3;}
  .hc-card p{font-size:13px; color:var(--text-dim); line-height:1.55;}
  @media (max-width:880px){ .grid-hc{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .grid-hc{grid-template-columns:1fr;} }

  /* ---------- WHY ---------- */
  .grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:30px;}
  .why h4{font-size:16px; margin-bottom:8px; color:var(--heading);}
  .why p{font-size:13.5px; color:var(--text-dim);}
  @media (max-width:880px){ .grid-4{grid-template-columns:repeat(2,1fr); gap:30px 20px;} }

  /* ---------- ABOUT TOP (description + card) ---------- */
  .about-top{display:grid; grid-template-columns:1.3fr .9fr; gap:48px; align-items:center;}
  .about-top .sec-head{ display:flex; flex-direction:column; justify-content:flex-start; }
  .about-card{background:var(--bg-alt); height:100%;}
  .about-card ul{margin-top:2px;}
  @media (max-width:880px){ .about-top{grid-template-columns:1fr; gap:28px;} .about-top .sec-head{max-width:none;} }

  /* ---------- PRODUCT CATEGORY STRIP ---------- */
  .prod-strip-wrap{
    overflow:hidden; position:relative; width:100%;
  }
  .prod-strip-wrap::before,.prod-strip-wrap::after{
    content:""; position:absolute; top:0; width:60px; height:100%; z-index:2; pointer-events:none;
  }
  .prod-strip-wrap::before{ left:0; background:linear-gradient(90deg,var(--bg-alt),transparent); }
  .prod-strip-wrap::after{ right:0; background:linear-gradient(270deg,var(--bg-alt),transparent); }
  .prod-strip-track{
    display:flex; gap:14px; width:max-content;
    animation: ticker-ltr 26s linear infinite;
  }
  .prod-strip-wrap:hover .prod-strip-track{ animation-play-state:paused; }

  .prod-chip{
    background:#fff; color:var(--text);
    border-radius:var(--r); padding:20px 18px;
    cursor:pointer; position:relative;
    border:1px solid var(--border);
    transition:border-color .15s, box-shadow .15s, transform .15s;
  }
  .prod-chip:hover{ border-color:var(--blue); box-shadow:0 4px 14px rgba(20,40,80,.08); transform:translateY(-2px); }
  .prod-chip .chip-icon{
    width:34px; height:34px; border-radius:8px; background:#EFF6FF; color:var(--blue);
    display:flex; align-items:center; justify-content:center; margin-bottom:12px;
  }
  .prod-chip h3{ font-size:14px; color:var(--heading); margin-bottom:3px; }
  .prod-chip .chip-sub{ font-size:11.5px; color:var(--text-dim); }

  .prod-chip-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    margin-bottom:36px;
  }

  a.prod-chip{
    text-decoration:none;
    color:inherit;
  }

  .prod-teaser-cta{
    text-align:center;
  }

  /* overlay body scrollbar */
  #productOverlay { scrollbar-width: thin; scrollbar-color: var(--border) transparent; }

  /* ---------- CASE STUDIES ---------- */
  .case{border:1px solid var(--border); border-radius:var(--r); overflow:hidden;}
  .case .thumb{height:140px; background:var(--bg-alt); border-bottom:1px solid var(--border);}
  .case .body{padding:22px;}
  .case .tagline{font-size:12px; font-weight:600; color:var(--blue); text-transform:uppercase; margin-bottom:8px;}
  .case h3{font-size:16px; margin-bottom:8px; color:var(--heading);}
  .case p{font-size:13.5px; color:var(--text-dim);}

  /* ---------- TESTIMONIALS ---------- */
  .testi{border:1px solid var(--border); border-radius:var(--r); padding:26px;}
  .testi p{font-size:14.5px; color:var(--text); margin-bottom:18px;}
  .testi .who{font-size:13px; color:var(--text-dim);}
  .testi .who b{color:var(--heading); display:block; font-size:13.5px;}

  /* ---------- CAREERS ---------- */
  /* ---------- CAREERS ---------- */
  .careers{
    position:relative; overflow:hidden;
    background: linear-gradient(135deg, #EEF6FF 0%, #F5F9FF 60%, #EBF3FF 100%);
    border-radius:12px; padding:56px 50px;
    display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:start;
    border:1px solid #C8DDF5;
    box-shadow: 0 8px 32px rgba(59,130,246,.10);
  }
  .careers::before{
    content:""; position:absolute; inset:0;
    background: linear-gradient(180deg, rgba(59,130,246,.04) 0%, transparent 40%);
    pointer-events:none;
  }
  .careers-inner-left{ position:relative; z-index:1; }
  .careers .eyebrow{color:var(--blue); margin-bottom:14px;}
  .careers .eyebrow::before{background:var(--blue);}
  .careers h2{color:var(--heading); font-size:28px; margin-bottom:14px; line-height:1.2;}
  .careers p{color:#2A4A70; font-size:15px; margin-bottom:28px; max-width:440px; line-height:1.7;}
  .careers .btn-primary{background:var(--blue); color:#fff; font-weight:700;}
  .careers .btn-primary:hover{background:#2563EB;}
  .careers-cta-row{display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-bottom:32px;}
  .careers-live{display:inline-flex; align-items:center; gap:7px; font-size:12.5px; font-weight:600; color:#4A6080; padding-left:14px; border-left:1px solid #C8DDF5;}
  .careers-live .dot{width:7px; height:7px; border-radius:50%; background:#3CCB7F; flex-shrink:0; box-shadow:0 0 6px rgba(60,203,127,.5); animation:pulse-dot 2s ease-in-out infinite;}
  @keyframes pulse-dot{ 0%,100%{opacity:1;} 50%{opacity:.4;} }
  /* stat chips row */
  .careers-stats{display:flex; gap:0; border-top:1px solid #C8DDF5; padding-top:24px;}
  .careers-stat{flex:1; padding-right:20px; border-right:1px solid #C8DDF5;}
  .careers-stat:last-child{border-right:none; padding-right:0; padding-left:20px;}
  .careers-stat-val{font-size:26px; font-weight:700; color:var(--heading); letter-spacing:-.02em; line-height:1;}
  .careers-stat-lbl{font-size:11.5px; color:#4A6080; margin-top:4px; font-weight:500;}
  /* pillars */
  .pillars{display:grid; grid-template-columns:1fr 1fr; gap:12px; position:relative; z-index:1;}
  .pillars > div{
    background:#fff;
    border:1px solid #D6E8F8;
    border-radius:10px; padding:20px 18px;
    transition:border-color .18s, box-shadow .18s;
  }
  .pillars > div:hover{border-color:#94BEE8; box-shadow:0 4px 14px rgba(59,130,246,.08);}
  .pillars .pillar-icon{width:34px; height:34px; border-radius:8px; background:#EEF6FF; color:var(--blue); display:flex; align-items:center; justify-content:center; margin-bottom:12px;}
  .pillars h4{font-size:13.5px; margin-bottom:5px; color:var(--heading); font-weight:600;}
  .pillars p{font-size:12.5px; color:#4A6080; margin:0; line-height:1.55;}
  @media (max-width:880px){ .careers{grid-template-columns:1fr; padding:36px 28px;} }
  @media (max-width:500px){ .pillars{grid-template-columns:1fr;} }

  /* ---------- CONTACT ---------- */
  .contact{background:var(--bg-alt); border-top:1px solid var(--border); padding-bottom:48px;}
  .contact-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:24px; align-items:stretch;}
  .contact h2{font-size:30px; color:var(--heading); margin-bottom:14px;}
  .contact-lead{color:var(--text-dim); font-size:15px; margin-bottom:30px; max-width:400px;}
  @media(max-width:880px){.contact-grid{grid-template-columns:1fr;}}
  .info{padding:16px 0; border-top:1px solid var(--border); font-size:14px;}
  .info:last-of-type{border-bottom:1px solid var(--border);}
  .info b{display:block; color:var(--heading); margin-bottom:2px;}
  .info span{color:var(--text-dim);}

  .form-card{background:#fff; border:1px solid var(--border); border-radius:var(--r); padding:30px;}
  .row2{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px;}
  .field label{display:block; font-size:13px; color:var(--text-dim); margin-bottom:6px;}
  .field input, .field select, .field textarea{
    width:100%; border:1px solid var(--border); border-radius:var(--r); padding:10px 12px;
    font-family:'Inter'; font-size:14px; outline:none; color:var(--text); transition:border-color .15s;
  }
  .field input:focus, .field select:focus, .field textarea:focus{border-color:var(--blue);}
  .field textarea{resize:vertical; min-height:90px;}
  .form-foot{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:6px;}
  .form-foot .note{font-size:12px; color:var(--text-dim);}
  .form-status{margin-top:12px; font-size:13.5px; color:#157A4A; display:none;}

  /* ---------- NEWSLETTER ---------- */
  .newsletter-section{
    background:var(--navy);
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
    padding:64px 0;
  }
  .newsletter-inner{
    display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;
  }
  .newsletter-text .eyebrow::before{ background:rgba(255,255,255,.3); }
  .newsletter-form-big{ display:flex; flex-direction:column; }
  .nl-field-wrap{
    display:flex; gap:0;
    border:1px solid rgba(255,255,255,.15); border-radius:var(--r); overflow:hidden;
    background:rgba(255,255,255,.06);
  }
  .nl-field-wrap input{
    flex:1; padding:16px 20px;
    background:transparent; border:none; outline:none;
    font-family:'Inter'; font-size:15px; color:#fff;
  }
  .nl-field-wrap input::placeholder{ color:#E8F0FF; }
  .nl-field-wrap input:focus{ background:rgba(255,255,255,.04); }
  .nl-btn{
    padding:16px 28px; background:var(--blue); color:#fff;
    border:none; font-family:'Inter'; font-size:14.5px; font-weight:600;
    cursor:pointer; white-space:nowrap; transition:background .15s;
    border-left:1px solid rgba(255,255,255,.1);
  }
  .nl-btn:hover{ background:#2563EB; }
  @media(max-width:860px){
    .newsletter-inner{ grid-template-columns:1fr; gap:32px; }
  }

  /* ---------- FOOTER ---------- */
  footer{padding:50px 0 26px; background:var(--navy); color:#fff;}
  .foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:40px; align-items:start;}
  .foot-logo{font-weight:700; font-size:17px; color:#fff; margin: -36px 0 10px; line-height:0;}
  .foot-logo .footer-brand-logo{
    display:block; width:auto; height:auto;
    max-height:130px; max-width:min(100%, 500px);
    object-fit:contain;
    object-position: left top;
  }
  .foot-grid p{font-size:13.5px; color:#A9B7C9; max-width:280px;}
  .foot-col h5{font-size:12px; color:#D0E4FF; text-transform:uppercase; letter-spacing:.03em; margin-bottom:14px;}
  .foot-col a{display:block; font-size:13.5px; color:#E8F0FF; margin-bottom:10px;}
  .foot-col a:hover{color:#fff;}
  .foot-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; padding-top:22px; border-top:1px solid rgba(255,255,255,.1); font-size:12.5px; color:#D0E4FF;}
  .foot-social{display:flex; gap:12px; margin-top:20px;}
  .foot-social a{width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; color:#E8F0FF; transition:background .15s, border-color .15s;}
  .foot-social a:hover{background:var(--blue); border-color:var(--blue); color:#fff;}

  /* ---------- PRODUCTS ---------- */
  .products-section{background:var(--bg); border-top:1px solid var(--border);}
  .prod-layout{display:grid; grid-template-columns:260px 1fr; gap:32px; align-items:start;}
  .prod-filters{position:sticky; top:80px; background:#fff; border:1px solid var(--border); border-radius:var(--r); padding:22px; display:flex; flex-direction:column; gap:20px;}
  .prod-filters h4{font-size:13px; font-weight:700; color:var(--heading); text-transform:uppercase; letter-spacing:.04em; margin-bottom:10px;}
  .filter-group{border-top:1px solid var(--border); padding-top:16px;}
  .filter-group label{display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--text); margin-bottom:8px; cursor:pointer; user-select:none;}
  .filter-group label input[type=checkbox]{accent-color:var(--blue); width:15px; height:15px; flex-shrink:0;}
  .filter-group label:hover{color:var(--blue);}
  .prod-search-bar{display:flex; gap:10px; margin-bottom:24px;}
  .prod-search-bar input{flex:1; border:1px solid var(--border); border-radius:var(--r); padding:11px 14px; font-family:'Inter'; font-size:14px; color:var(--text); outline:none; transition:border-color .15s;}
  .prod-search-bar input:focus{border-color:var(--blue);}
  .prod-search-bar button{padding:11px 20px; background:var(--blue); color:#fff; border:none; border-radius:var(--r); font-size:14px; font-weight:600; cursor:pointer; white-space:nowrap;}
  .prod-search-bar button:hover{background:#2563EB;}
  .prod-results-info{font-size:13px; color:var(--text-dim); margin-bottom:16px;}
  .prod-results-info b{color:var(--heading);}
  .prod-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
  .prod-card{border:1px solid var(--border); border-radius:var(--r); overflow:hidden; transition:border-color .15s, box-shadow .15s; cursor:pointer; background:#fff;}
  .prod-card:hover{border-color:var(--blue); box-shadow:0 4px 16px rgba(20,40,80,.08);}
  .prod-card.hidden{display:none;}
  .prod-img{height:150px; background:var(--bg-alt); display:flex; align-items:center; justify-content:center; border-bottom:1px solid var(--border); font-size:36px;}
  .prod-body{padding:16px;}
  .prod-meta{display:flex; justify-content:space-between; align-items:center; margin-bottom:6px;}
  .prod-brand{font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em;}
  .prod-cat{font-size:11px; color:var(--text-dim); background:var(--bg-alt); border-radius:4px; padding:2px 7px;}
  .prod-card h4{font-size:14px; font-weight:700; color:var(--heading); margin-bottom:4px; line-height:1.3;}
  .prod-card p{font-size:12.5px; color:var(--text-dim); margin-bottom:12px; line-height:1.45;}
  .prod-card .prod-cta{font-size:13px; font-weight:600; color:var(--blue);}
  .prod-card .prod-cta:hover{text-decoration:underline;}
  .no-results{text-align:center; padding:60px 20px; color:var(--text-dim); grid-column:1/-1; display:none;}
  .no-results svg{margin:0 auto 12px; display:block; opacity:.3;}
  .active-filters{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px;}
  .filter-tag{display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; color:var(--blue); background:#EFF6FF; border-radius:99px; padding:4px 10px; cursor:pointer;}
  .filter-tag:hover{background:#BFDBFE;}
  .filter-tag span{font-size:14px; line-height:1;}
  @media (max-width:960px){.prod-layout{grid-template-columns:1fr;} .prod-filters{position:static;} .prod-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.prod-grid{grid-template-columns:1fr;}}

  /* ---------- JOBS / CAREERS OVERLAY ---------- */
  .job-results-info{font-size:13px; color:var(--text-dim); margin-bottom:16px;}
  .job-results-info b{color:var(--heading);}
  .job-list{display:flex; flex-direction:column; gap:14px;}
  /* ── Job cards ── */
  .job-card{border:1px solid var(--border); border-radius:12px; background:#fff; transition:border-color .2s, box-shadow .2s; overflow:hidden;}
  .job-card:hover{border-color:#93C5FD; box-shadow:0 6px 24px rgba(28,95,191,.09);}
  .job-card.open{border-color:var(--blue); box-shadow:0 6px 24px rgba(28,95,191,.12);}
  .job-card.hidden{display:none;}
  .job-card-head{display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 26px; cursor:pointer;}
  .job-card-num{width:32px; height:32px; border-radius:8px; background:#EFF6FF; border:1px solid #BFDBFE; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; color:var(--blue); flex-shrink:0; margin-right:4px;}
  .job-card.spontaneous .job-card-num{background:var(--navy); border-color:var(--navy); color:#fff;}
  .job-card-main{flex:1; min-width:0;}
  .job-card-main h4{font-size:16px; font-weight:800; color:var(--heading); margin-bottom:9px; letter-spacing:-.01em; line-height:1.2;}
  .job-card.spontaneous .job-card-main h4{color:var(--navy);}
  .job-card-tags{display:flex; flex-wrap:wrap; gap:7px;}
  .job-tag{font-size:11.5px; font-weight:600; color:var(--text-dim); background:#F4F7FB; border:1px solid var(--border); border-radius:99px; padding:4px 11px; display:inline-flex; align-items:center; gap:5px; white-space:nowrap;}
  .job-tag.dept{color:var(--blue); background:#EFF6FF; border-color:#BFDBFE;}
  .job-tag.spon{color:#fff; background:var(--navy); border-color:var(--navy);}
  .job-card-side{display:flex; align-items:center; gap:14px; flex-shrink:0;}
  .job-card-salary{font-size:12px; font-weight:700; color:var(--text-dim); white-space:nowrap;}
  .job-card-arrow{width:30px; height:30px; border-radius:50%; border:1.5px solid var(--border); display:flex; align-items:center; justify-content:center; color:var(--text-dim); transition:transform .25s, border-color .15s, color .15s, background .15s; flex-shrink:0;}
  .job-card.open .job-card-arrow{transform:rotate(180deg); border-color:var(--blue); color:var(--blue); background:#EFF6FF;}
  .job-card-body{max-height:0; overflow:hidden; transition:max-height .3s ease;}
  .job-card.open .job-card-body{max-height:2000px;}
  .job-card-body-inner{padding:0 26px 26px; border-top:1px solid var(--border);}
  .job-card-body-inner > p{font-size:14px; color:var(--text-dim); line-height:1.7; margin:18px 0 16px;}
  .job-card-body-inner h5{font-size:11px; font-weight:700; color:var(--blue); text-transform:uppercase; letter-spacing:.07em; margin:18px 0 9px;}
  .job-card-body-inner ul{margin-bottom:4px; display:flex; flex-direction:column; gap:6px;}
  .job-card-body-inner li{font-size:13.5px; color:var(--text); padding-left:16px; position:relative; line-height:1.55;}
  .job-card-body-inner li::before{content:"–"; position:absolute; left:0; color:var(--blue); font-weight:700;}
  .job-card-divider{height:1px; background:var(--border); margin:18px 0;}
  .job-apply-row{display:flex; align-items:center; gap:14px; margin-top:18px; flex-wrap:wrap;}
  .job-apply-row .btn-primary{font-size:13.5px; padding:10px 20px;}
  .job-apply-row .note{font-size:12.5px; color:var(--text-dim);}
  .no-jobs{text-align:center; padding:60px 20px; color:var(--text-dim); display:none;}
  .no-jobs svg{margin:0 auto 12px; display:block; opacity:.3;}
  @media (max-width:600px){
    .job-card-head{flex-direction:column; align-items:flex-start; gap:14px;}
    .job-card-side{width:100%; justify-content:space-between;}
  }

  /* ---------- JOB APPLICATION CARD ---------- */
  .apply-card{display:none; margin-top:22px; padding-top:22px; border-top:1px solid var(--border);}
  .apply-card.open{display:block;}
  .apply-card-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:16px;}
  .apply-card-head h5{font-size:14px; font-weight:700; color:var(--heading); text-transform:none; letter-spacing:normal;}
  .apply-card-close{background:none; border:1px solid var(--border); border-radius:50%; width:26px; height:26px; display:flex; align-items:center; justify-content:center; color:var(--text-dim); cursor:pointer; flex-shrink:0; transition:border-color .15s, color .15s;}
  .apply-card-close:hover{border-color:var(--blue); color:var(--blue);}
  .apply-form .field input[type="file"]{padding:8px 12px; font-size:13px; color:var(--text-dim);}
  .apply-form .form-status{color:#157A4A;}
  @media (max-width:560px){ .apply-form .row2{grid-template-columns:1fr;} }

  /* ---------- LANGUAGE SWITCHER ---------- */
  .lang-switcher{
    position:relative; display:flex; align-items:center;
  }
  .lang-btn{
    display:inline-flex; align-items:center; justify-content:center;
    width:38px; height:38px;
    background:none; border:1px solid rgba(255,255,255,.25);
    border-radius:var(--r); cursor:pointer;
    color:#E8F0FF;
    transition:background .15s, border-color .15s, color .15s;
  }
  .lang-btn:hover{ background:rgba(255,255,255,.05); border-color:var(--blue); color:#fff; }
  .lang-btn .lang-globe{ width:18px; height:18px; flex-shrink:0; }
  .lang-dropdown{
    position:absolute; top:calc(100% + 8px); right:0;
    background:var(--navy-dark); border:1px solid rgba(255,255,255,.15);
    border-radius:var(--r); overflow:hidden; z-index:200;
    min-width:140px;
    box-shadow:0 8px 24px rgba(0,0,0,.35);
    display:none;
  }
  .lang-switcher.open .lang-dropdown{ display:block; }
  .lang-option{
    display:flex; align-items:center; gap:10px;
    padding:11px 16px; font-size:13.5px; font-weight:600; color:#E8F0FF;
    cursor:pointer; transition:background .12s, color .12s;
    border-bottom:1px solid rgba(255,255,255,.07);
    user-select:none;
  }
  .lang-option:last-child{ border-bottom:none; }
  .lang-option:hover{ background:rgba(255,255,255,.07); color:#fff; }
  .lang-option.active{ color:#fff; background:rgba(59,130,246,.25); }
  .lang-flag{ font-size:17px; line-height:1; }

/* ---------- DJANGO BRIDGE (not in prototype file) ---------- */
.container,
.wrap {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
}

.site-header {
  position: sticky;
  top: 0;
  background: var(--navy);
  border-bottom: 1px solid var(--navy);
  backdrop-filter: none;
  z-index: 100;
}

.site-header .nav-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
  max-width: 1140px;
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
}

.site-header .logo,
.site-header .brand-text {
  font-weight: 700;
  font-size: 17px;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 7px;
}

.site-header .logo .brand-logo {
  display: block;
  width: auto;
  height: 72px;
  max-width: min(100%, 300px);
  object-fit: contain;
}

@media (max-width: 900px) {
  .site-header .logo .brand-logo {
    height: 56px;
    max-width: min(100%, 240px);
  }

  .foot-logo .footer-brand-logo {
    max-height: 88px;
    max-width: min(100%, 360px);
  }
}

.site-header .logo span,
.site-header .brand-text span {
  color: var(--blue);
}

.site-header .site-nav {
  display: flex;
  gap: 26px;
  font-size: 14px;
  color: #e8f0ff;
}

.site-header .site-nav a:not(.btn) {
  color: #e8f0ff;
  font-size: 14px;
  font-weight: 500;
}

.site-header .site-nav a:not(.btn):hover,
.site-header .site-nav a:not(.btn).is-nav-active {
  color: #fff;
}

.site-header .nav-actions {
  display: flex;
  align-items: center;
  gap: 14px;
}

.site-header .nav-actions .btn-small {
  font-size: 13.5px;
  min-height: 36px;
  padding: 9px 16px;
}

.site-header .btn-icon-signin,
.site-header .lang-btn {
  width: 36px;
  height: 36px;
}

.site-header .lang-btn .lang-globe,
.site-header .btn-icon-signin svg {
  width: 17px;
  height: 17px;
}

.site-footer {
  padding: 50px 0 26px;
  background: var(--navy);
  color: #fff;
}

.site-footer .foot-grid {
  align-items: start;
}

.site-footer .foot-logo {
  margin: -36px 0 10px;
  line-height: 0;
}

.site-footer .foot-logo .footer-brand-logo {
  object-position: left top;
}

.lang-option-form {
  margin: 0;
}

.lang-option-form + .lang-option-form {
  margin-top: 2px;
}

.lang-option-form .lang-option {
  width: 100%;
  border: none;
  background: transparent;
  font: inherit;
  text-align: left;
  appearance: none;
  -webkit-appearance: none;
}

#expertise {
  background: var(--bg);
}

.expertise-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}

.expertise-copy h3 {
  font-size: 20px;
  color: var(--heading);
  margin-bottom: 16px;
}

.expertise-copy p {
  color: var(--text-dim);
  font-size: 15.5px;
  margin-bottom: 20px;
}

.expertise-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.expertise-list li {
  font-size: 14px;
  color: var(--text-dim);
  padding-left: 14px;
  position: relative;
  margin-bottom: 8px;
}

.expertise-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--blue);
}

.expertise-photo {
  width: 100%;
  min-height: 280px;
  object-fit: cover;
  border-radius: var(--r);
  border: 1px solid var(--border);
}

#why-work {
  background: var(--bg-alt);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.benefit-grid .benefit-card {
  text-align: left;
}

.benefit-card .icon-orb {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  background: #eff6ff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.benefit-card h3 {
  color: var(--heading);
  margin-bottom: 10px;
}

.contact-info-card h3,
.contact-form-heading h3 {
  font-size: 17px;
  font-weight: 700;
  color: var(--heading);
  margin-bottom: 6px;
}

.contact-info-lead,
.contact-form-heading p {
  font-size: 13.5px;
  color: var(--text-dim);
  margin-bottom: 24px;
  line-height: 1.6;
}

.contact-grid > .form-card {
  height: 100%;
}

.contact-info-card {
  display: flex;
  flex-direction: column;
}

.contact-info-list {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.contact-info-list .info {
  flex: 1;
  display: flex;
  align-items: center;
  padding: 12px 0;
}

.contact-info-list .info .info-row {
  width: 100%;
}

.contact-form-card {
  display: flex;
  flex-direction: column;
}

.contact-form-card .contact-form {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.contact-form-card .contact-form__submit {
  margin-top: auto;
}

/* ---------- RECLAMATION PAGE ---------- */
.reclamation-page {
  background: #F7F3F4;
}

.reclamation-hero {
  background: transparent;
  color: #1B1D27;
  padding: 1.75rem 0 0;
}

.reclamation-hero__inner {
  max-width: 40rem;
  margin: 0;
  text-align: left;
}

.reclamation-back {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #0057FF;
  transition: color 0.15s ease;
}

.reclamation-back:hover {
  color: #001489;
}

.reclamation-hero h1 {
  margin: 0 0 0.5rem;
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: #001489;
}

.reclamation-hero__lead {
  margin: 0;
  font-size: 0.975rem;
  line-height: 1.5;
  color: #4A5E78;
  max-width: 32rem;
}

.reclamation-main {
  padding: 1.5rem 0 4rem;
}

.reclamation-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 1.75rem;
  align-items: stretch;
}

.reclamation-aside,
.reclamation-panel {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 100%;
  box-sizing: border-box;
}

.reclamation-panel {
  background: #fff;
  border: 1px solid rgba(0, 20, 137, 0.08);
  border-radius: 10px;
  padding: 1.75rem 1.5rem;
}

.reclamation-aside {
  gap: 0;
  padding: 1.65rem 1.4rem 1.5rem;
  background: #fff;
  border: 1px solid rgba(0, 20, 137, 0.08);
  border-radius: 10px;
  box-shadow: inset 3px 0 0 #001489;
}

.reclamation-aside__title {
  margin: 0 0 1.5rem;
  padding: 0 0 0.9rem;
  border-bottom: 1px solid rgba(0, 20, 137, 0.1);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #001489;
}

.reclamation-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
  flex: 1;
}

.reclamation-steps li {
  position: relative;
  display: grid;
  grid-template-columns: 2rem 1fr;
  column-gap: 0.95rem;
  align-items: start;
  padding: 0 0 1.35rem;
}

.reclamation-steps li:last-child {
  padding-bottom: 0.35rem;
}

.reclamation-steps li:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 0.9375rem;
  top: 2rem;
  bottom: 0.15rem;
  width: 1px;
  background: rgba(0, 20, 137, 0.16);
}

.reclamation-steps__num {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: #001489;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  flex-shrink: 0;
  box-shadow: 0 0 0 4px #fff;
}

.reclamation-steps li > div {
  padding-top: 0.15rem;
  min-width: 0;
}

.reclamation-steps strong {
  display: block;
  margin: 0 0 0.35rem;
  font-size: 0.975rem;
  font-weight: 700;
  line-height: 1.3;
  color: #1B1D27;
}

.reclamation-steps p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.55;
  color: #4A5E78;
}

.reclamation-aside__contact {
  margin-top: 1.35rem;
  padding: 1.15rem 1rem 1rem;
  border-top: none;
  border-radius: 8px;
  background: rgba(0, 20, 137, 0.04);
}

.reclamation-aside__contact-label {
  margin: 0 0 0.75rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #001489;
}

.reclamation-aside__link {
  display: block;
  font-size: 0.925rem;
  font-weight: 600;
  color: #0057FF;
  margin: 0;
  line-height: 1.45;
}

.reclamation-aside__link + .reclamation-aside__link {
  margin-top: 0.45rem;
}

.reclamation-aside__link:hover {
  color: #001489;
}

.reclamation-panel__head {
  margin-bottom: 1.4rem;
  padding-bottom: 1.15rem;
  border-bottom: 1px solid rgba(0, 20, 137, 0.08);
}

.reclamation-panel__head h2 {
  margin: 0 0 0.35rem;
  font-size: 1.2rem;
  font-weight: 700;
  color: #001489;
}

.reclamation-panel__head p {
  margin: 0;
  font-size: 0.9rem;
  color: #4A5E78;
}

.reclamation-form {
  display: grid;
  gap: 1rem;
  flex: 1;
  align-content: start;
}

.reclamation-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.reclamation-form__field label {
  display: block;
  margin-bottom: 0.4rem;
  font-size: 0.84rem;
  font-weight: 600;
  color: #1B1D27;
}

.reclamation-form__field input,
.reclamation-form__field textarea {
  width: 100%;
  border: 1px solid #D0E3F8;
  border-radius: 8px;
  padding: 0.7rem 0.85rem;
  font-family: inherit;
  font-size: 0.95rem;
  color: #1B1D27;
  background: #fff;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.reclamation-form__field textarea {
  min-height: 8rem;
  resize: vertical;
}

.reclamation-form__field input:focus,
.reclamation-form__field textarea:focus {
  border-color: #0057FF;
  box-shadow: 0 0 0 3px rgba(0, 87, 255, 0.14);
}

.reclamation-form__field input::placeholder,
.reclamation-form__field textarea::placeholder {
  color: #8A9BB0;
  font-size: 0.875rem;
}

.reclamation-form__upload {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 7.5rem;
  padding: 1.1rem;
  border: 1px dashed #D0E3F8;
  border-radius: 8px;
  background: #fff;
  text-align: center;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.reclamation-form__upload:hover,
.reclamation-form__upload:focus-within {
  border-color: #0057FF;
  box-shadow: 0 0 0 3px rgba(0, 87, 255, 0.14);
}

.reclamation-form__upload.is-attached {
  border-style: solid;
  border-color: #0057FF;
  background: rgba(0, 87, 255, 0.06);
  box-shadow: 0 0 0 3px rgba(0, 87, 255, 0.12);
}

.reclamation-form__upload-icon {
  color: #8A9BB0;
  transform: rotate(-90deg);
}

.reclamation-form__upload-icon--attached {
  transform: none;
  color: #0057FF;
}

.reclamation-form__upload.is-attached .reclamation-form__upload-icon--idle {
  display: none;
}

.reclamation-form__upload:not(.is-attached) .reclamation-form__upload-icon--attached {
  display: none;
}

.reclamation-form__upload.is-attached .reclamation-form__upload-icon--attached {
  display: block;
}

.reclamation-form__upload-status {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #0057FF;
}

.reclamation-form__upload.is-attached .reclamation-form__upload-status {
  display: block;
}

.reclamation-form__upload:not(.is-attached) .reclamation-form__upload-status {
  display: none;
}

.reclamation-form__upload-text {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.35;
  color: #8A9BB0;
}

.reclamation-form__upload.is-attached .reclamation-form__upload-text {
  color: #1B1D27;
  font-weight: 600;
}

.reclamation-form__file-input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  border: 0;
}

.reclamation-form__hint {
  margin: 0.4rem 0 0;
  font-size: 0.8125rem;
  color: #8A9BB0;
}

.reclamation-form__field .errorlist,
.reclamation-form__errors .errorlist {
  margin: 0.35rem 0 0;
  padding: 0;
  list-style: none;
  color: #b42318;
  font-size: 0.8125rem;
}

.reclamation-form__submit {
  width: 100%;
  margin-top: auto;
  min-height: 2.85rem;
  background: #001489;
  border: 0;
  color: #fff;
  font-weight: 700;
}

.reclamation-form__submit:hover {
  background: #0057FF;
  color: #fff;
}

@media (max-width: 900px) {
  .reclamation-layout {
    grid-template-columns: 1fr;
  }

  .reclamation-aside {
    order: 2;
  }

  .reclamation-panel {
    order: 1;
  }
}

@media (max-width: 560px) {
  .reclamation-hero {
    padding: 1.35rem 0 0;
  }

  .reclamation-main {
    padding: 1.25rem 0 3rem;
  }

  .reclamation-form__row {
    grid-template-columns: 1fr;
  }

  .reclamation-panel,
  .reclamation-aside {
    padding: 1.35rem 1.15rem;
  }

  .reclamation-aside {
    padding: 1.35rem 1.1rem 1.2rem;
  }

  .reclamation-aside__contact {
    margin-top: 1.1rem;
    padding: 1rem 0.85rem 0.9rem;
  }

  .reclamation-steps li {
    padding-bottom: 1.15rem;
  }
}

/* ---------- LEGAL / PRIVACY PAGE ---------- */
.legal-page {
  background:
    radial-gradient(ellipse 80% 50% at 100% 0%, rgba(0, 87, 255, 0.06), transparent 55%),
    radial-gradient(ellipse 60% 40% at 0% 100%, rgba(0, 20, 137, 0.05), transparent 50%),
    #F7F3F4;
}

.legal-hero {
  background: transparent;
  color: #1B1D27;
  padding: 1.75rem 0 0;
}

.legal-hero__inner {
  max-width: 44rem;
  margin: 0;
  text-align: left;
}

.legal-back {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #0057FF;
  transition: color 0.15s ease;
}

.legal-back:hover {
  color: #001489;
}

.legal-hero h1 {
  margin: 0 0 0.5rem;
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: #001489;
}

.legal-hero__lead {
  margin: 0;
  font-size: 0.975rem;
  line-height: 1.5;
  color: #4A5E78;
  max-width: 36rem;
}

.legal-main {
  padding: 2.75rem 0 5rem;
}

.legal-layout {
  display: grid;
  grid-template-columns: minmax(11rem, 14rem) minmax(0, 1fr);
  gap: 2.5rem 3rem;
  align-items: start;
  max-width: 64rem;
}

.legal-toc {
  position: sticky;
  top: 5.5rem;
  padding: 1.1rem 0 1.1rem 1rem;
  border-left: 2px solid rgba(0, 20, 137, 0.12);
}

.legal-toc__label {
  margin: 0 0 0.75rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #001489;
}

.legal-toc ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.legal-toc a {
  display: block;
  padding: 0.35rem 0;
  font-size: 0.86rem;
  font-weight: 500;
  line-height: 1.35;
  color: #4A5E78;
  transition: color 0.15s ease, transform 0.15s ease;
}

.legal-toc a:hover {
  color: #0057FF;
  transform: translateX(2px);
}

.legal-article {
  min-width: 0;
}

.legal-section {
  padding: 1.75rem 0;
  border-bottom: 1px solid rgba(0, 20, 137, 0.1);
}

.legal-section:first-child {
  padding-top: 0;
}

.legal-section:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.legal-section h2 {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  margin: 0 0 0.9rem;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #001489;
}

.legal-section__index {
  flex-shrink: 0;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #0057FF;
}

.legal-section p,
.legal-section li {
  margin: 0 0 0.8rem;
  font-size: 0.98rem;
  line-height: 1.7;
  color: #1B1D27;
}

.legal-section p:last-child,
.legal-section ul:last-child {
  margin-bottom: 0;
}

.legal-section ul {
  margin: 0 0 0.9rem;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.45rem;
}

.legal-section li {
  position: relative;
  margin: 0;
  padding: 0.55rem 0.85rem 0.55rem 1.85rem;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(0, 20, 137, 0.07);
  border-radius: 6px;
}

.legal-section li::before {
  content: "";
  position: absolute;
  left: 0.85rem;
  top: 50%;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 1px;
  background: #0057FF;
  transform: translateY(-50%);
}

.legal-section a {
  color: #0057FF;
  font-weight: 600;
}

.legal-section a:hover {
  color: #001489;
}

@media (max-width: 800px) {
  .legal-layout {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  .legal-toc {
    position: static;
    padding: 0 0 1.25rem;
    border-left: none;
    border-bottom: 1px solid rgba(0, 20, 137, 0.1);
  }

  .legal-toc ol {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.15rem 1rem;
  }
}

@media (max-width: 560px) {
  .legal-hero {
    padding: 1.35rem 0 0;
  }

  .legal-main {
    padding: 2rem 0 3.5rem;
  }

  .legal-toc ol {
    grid-template-columns: 1fr;
  }

  .legal-section h2 {
    font-size: 1.08rem;
  }
}

.contact-socials {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.contact-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 7px;
  border: 1px solid var(--border);
  background: transparent;
  color: var(--text-dim);
  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.contact-social-link svg {
  width: 15px;
  height: 15px;
}

.contact-social-link:hover {
  transform: none;
}

.contact-social-link--instagram:hover {
  border-color: #e1306c;
  color: #e1306c;
  background: rgba(225, 48, 108, 0.05);
}

.contact-social-link--linkedin:hover {
  border-color: #0a66c2;
  color: #0a66c2;
  background: rgba(10, 102, 194, 0.05);
}

.contact-social-link--facebook:hover {
  border-color: #1877f2;
  color: #1877f2;
  background: rgba(24, 119, 242, 0.05);
}

.contact-social-link--x:hover {
  border-color: #000;
  color: #000;
  background: rgba(0, 0, 0, 0.04);
}

.info-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.info-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: #eff6ff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--blue);
}

.foot-social-wrap {
  margin-top: 16px;
}

.foot-social-label {
  display: block;
  font-size: 12px;
  color: #d0e4ff;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-bottom: 10px;
}

[data-reveal] {
  opacity: 0;
  transform: translateY(1.75rem);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

[data-reveal="left"] {
  transform: translateX(1.75rem);
}

[data-reveal].is-visible {
  opacity: 1;
  transform: none;
}

@media (max-width: 880px) {
  .hero-inner {
    grid-template-columns: 1fr;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    gap: 0;
    min-height: auto;
  }

  .hero-right {
    border-left: none;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-left: 0;
    padding-top: 2rem;
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .hero-stat-row {
    border-bottom: none;
    border-right: 1px solid rgba(255, 255, 255, 0.07);
    padding: 0 1.5rem 0 0;
  }

  .hero-stat-row-2 {
    grid-column: span 2;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
    margin-top: 1.25rem;
    padding-top: 1.25rem;
  }

  .hero-stats-bar-inner {
    flex-wrap: wrap;
  }

  .hero-stats-bar-inner > div {
    flex: 1 1 33%;
  }

  .about-top,
  .expertise-layout,
  .contact-grid,
  .careers {
    grid-template-columns: 1fr;
  }

  .grid-3,
  .service-grid {
    grid-template-columns: 1fr;
  }

  .prod-chip-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .foot-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 700px) {
  .prod-chip-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .prod-chip-grid {
    grid-template-columns: 1fr;
  }
  .row2 {
    grid-template-columns: 1fr;
  }

  .foot-grid {
    grid-template-columns: 1fr;
  }

  [data-reveal] {
    opacity: 1;
    transform: none;
  }
}