:root{
    --blue:#0D5EAF;
    --blue-deep:#073B73;
    --green:#4CAF50;
    --green-deep:#2E7D32;
    --bg:#F8FAFC;
    --ink:#1E293B;
    --ink-soft:#52606D;
    --line:#E2E8F0;
    --grad: linear-gradient(115deg, var(--blue) 0%, var(--green) 100%);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter', sans-serif;
    color:var(--ink);
    background:var(--bg);
    overflow-x:hidden;
  }
  h1,h2,h3,h4,.display-font{
    font-family:'Space Grotesk', sans-serif;
    letter-spacing:-0.02em;
  }
  a {text-decoration:none;}
  .mono{font-family:'JetBrains Mono', monospace;}

  /* ===== Charge-meter signature motif ===== */
  .charge-rail{
    position:relative;
    height:4px;
    width:100%;
    background:var(--line);
    border-radius:4px;
    overflow:hidden;
  }
  .charge-rail span{
    position:absolute; inset:0;
    background:var(--grad);
    animation:chargeFill 2.4s ease-in-out infinite alternate;
    border-radius:4px;
  }
  @keyframes chargeFill{
    0%{width:15%;}
    100%{width:100%;}
  }
  .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    font-family:'JetBrains Mono', monospace;
    font-size:.72rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--blue);
    font-weight:500;
  }
  .eyebrow::before{
    content:"";
    width:18px;height:2px;
    background:var(--grad);
    display:inline-block;
  }

  /* ===== Pill Glass Navbar (sarvam.ai style) ===== */
  .nav-pill-wrap{
    position:fixed;
    top:0; left:0; right:0;
    z-index:1030;
    padding:1.1rem 1.25rem 0;
    pointer-events:none;
  }
  .nav-pill{
    pointer-events:auto;
    max-width:1140px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:.55rem .55rem .55rem 1.75rem;
    border-radius:100px;
    background:rgba(255,255,255,.55);
    -webkit-backdrop-filter:blur(18px) saturate(1.4);
    backdrop-filter:blur(18px) saturate(1.4);
    border:1px solid rgba(255,255,255,.65);
    box-shadow:
      0 4px 24px rgba(13,94,175,.06),
      inset 0 1px 0 rgba(255,255,255,.8);
    transition:background .3s ease, box-shadow .3s ease, border-color .3s ease;
  }
  .nav-pill.scrolled{
    background:rgba(255,255,255,.72);
    border-color:rgba(255,255,255,.85);
    box-shadow:
      0 8px 32px rgba(13,94,175,.1),
      inset 0 1px 0 rgba(255,255,255,.9);
  }
  .nav-pill-brand{
    font-family:'Space Grotesk',sans-serif;
    font-weight:700;
    font-size:1.15rem;
    color:var(--ink);
    letter-spacing:-.02em;
    white-space:nowrap;
    flex-shrink:0;
  }
  .nav-pill-brand:hover{color:var(--ink);}
  .nav-pill-toggle{
    display:none;
    width:40px; height:40px;
    border-radius:50%;
    border:1px solid rgba(30,41,59,.12);
    background:rgba(255,255,255,.7);
    color:var(--ink);
    align-items:center;
    justify-content:center;
    padding:0;
    flex-shrink:0;
    transition:background .2s ease;
  }
  .nav-pill-toggle:hover{background:#fff;}
  .nav-pill-menu{
    display:flex;
    align-items:center;
    gap:.25rem;
    flex:1;
    justify-content:flex-end;
  }
  .nav-pill-links{
    display:flex;
    align-items:center;
    list-style:none;
    margin:0;
    padding:0;
    gap:.15rem;
  }
  .nav-pill-links .nav-link{
    color:var(--ink)!important;
    font-family:'Inter',sans-serif;
    font-weight:500;
    font-size:.68rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    padding:.55rem .85rem;
    border-radius:50px;
    position:relative;
    white-space:nowrap;
    transition:color .2s ease, background .2s ease;
  }
  .nav-pill-links .nav-link::after{display:none;}
  .nav-pill-links .nav-link:hover,
  .nav-pill-links .nav-link.active{
    color:var(--ink)!important;
    background:rgba(255,255,255,.55);
  }
  .nav-pill-actions{
    display:flex;
    align-items:center;
    gap:.45rem;
    margin-left:.6rem;
    flex-shrink:0;
  }
  .btn-nav-primary{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    background:#1a2332;
    color:#fff!important;
    border-radius:50px;
    padding:.55rem 1.15rem;
    font-weight:500;
    font-size:.82rem;
    border:none;
    white-space:nowrap;
    transition:background .2s ease, transform .2s ease;
  }
  .btn-nav-primary:hover{
    background:#0f1724;
    color:#fff!important;
    transform:translateY(-1px);
  }
  .btn-nav-secondary{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    background:#fff;
    color:var(--ink)!important;
    border-radius:50px;
    padding:.55rem 1.15rem;
    font-weight:500;
    font-size:.82rem;
    border:1px solid rgba(30,41,59,.08);
    white-space:nowrap;
    transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
  }
  .btn-nav-secondary:hover{
    background:#fff;
    color:var(--ink)!important;
    transform:translateY(-1px);
    box-shadow:0 4px 14px rgba(13,94,175,.1);
  }
  .btn-nav-secondary.active{
    background:var(--grad);
    color:#fff!important;
    border-color:transparent;
  }
  @media (max-width:1199px){
    .nav-pill-links .nav-link{padding:.5rem .55rem; font-size:.64rem;}
    .nav-pill{padding-left:1.4rem;}
  }
  @media (max-width:991px){
    .nav-pill-wrap{padding:.85rem 1rem 0;}
    .nav-pill{
      flex-wrap:wrap;
      border-radius:28px;
      padding:.65rem .75rem .75rem 1.25rem;
    }
    .nav-pill-toggle{display:inline-flex;}
    .nav-pill-menu{
      display:none;
      width:100%;
      flex-direction:column;
      align-items:stretch;
      gap:.75rem;
      padding-top:.5rem;
      border-top:1px solid rgba(30,41,59,.08);
      margin-top:.25rem;
    }
    .nav-pill-menu.show{display:flex;}
    .nav-pill-links{
      flex-direction:column;
      align-items:stretch;
      gap:.15rem;
    }
    .nav-pill-links .nav-link{
      font-size:.78rem;
      padding:.65rem 1rem;
      text-align:left;
    }
    .nav-pill-actions{
      margin-left:0;
      flex-direction:column;
      gap:.5rem;
    }
    .btn-nav-primary,
    .btn-nav-secondary{
      justify-content:center;
      width:100%;
      padding:.7rem 1rem;
    }
  }

  .btn-grad{
    background:var(--grad);
    color:#fff;
    border:none;
    border-radius:50px;
    padding:.85rem 2rem;
    font-weight:600;
    transition:transform .2s ease, box-shadow .2s ease;
    box-shadow:0 8px 24px rgba(13,94,175,.22);
  }
  .btn-grad:hover{transform:translateY(-3px); color:#fff; box-shadow:0 14px 28px rgba(76,175,80,.3);}
  .btn-outline-brand{
    border:1.5px solid var(--blue);
    color:var(--blue);
    border-radius:50px;
    padding:.82rem 2rem;
    font-weight:600;
    background:transparent;
    transition:all .25s ease;	
  }
  .btn-outline-brand:hover{background:var(--blue); color:#fff;}

  /* ===== Hero ===== */
  .hero{
    position:relative;
    min-height:96vh;
    display:flex;
    align-items:center;
    padding-top:110px;
    background:
      radial-gradient(circle at 85% 15%, rgba(76,175,80,.12), transparent 45%),
      radial-gradient(circle at 10% 85%, rgba(13,94,175,.10), transparent 50%),
      var(--bg);
    overflow:hidden;
  }
  .hero-grid-lines{
    position:absolute; inset:0;
    background-image:
      linear-gradient(rgba(13,94,175,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(13,94,175,.05) 1px, transparent 1px);
    background-size:48px 48px;
    mask-image:radial-gradient(ellipse 80% 60% at 60% 40%, black 30%, transparent 75%);
  }
  .hero h1{
    font-size:clamp(2.3rem, 5.2vw, 4rem);
    font-weight:700;
    line-height:1.06;
  }
  .logo_text{
    background:var(--grad);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .hero h1 .accent{
    background:var(--grad);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .hero p.lead{
    color:var(--ink-soft);
    font-size:1.12rem;
    max-width:520px;
  }
  .hero-stat-strip{
    display:flex; gap:2.2rem; flex-wrap:wrap;
    margin-top:2.2rem;
  }
  .hero-stat-strip .num{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:1.5rem; color:var(--blue);}
  .hero-stat-strip .label{font-size:.76rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.05em;}

  /* Battery / solar illustration */
  .hero-illustration{
    position:relative;
    width:100%;
    height:460px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .battery-svg{
    filter:drop-shadow(0 25px 45px rgba(13,94,175,.18));
  }
  .battery-fill{
    transform-origin:bottom;
    animation:fillUp 3s ease-in-out infinite;
  }
  @keyframes fillUp{
    0%, 100%{ transform: scaleY(.35);}
    50%{ transform: scaleY(.92);}
  }
  .bolt-icon{
    animation:pulseBolt 2s ease-in-out infinite;
    transform-origin:center;
  }
  @keyframes pulseBolt{
    0%,100%{opacity:.55; transform:scale(.92);}
    50%{opacity:1; transform:scale(1.06);}
  }
  .orbit-ring{
    position:absolute;
    border:1.5px dashed rgba(13,94,175,.18);
    border-radius:50%;
    animation:spin 30s linear infinite;
  }
  @keyframes spin{to{transform:rotate(360deg);}}
  .floating-chip{
    position:absolute;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    padding:.55rem .9rem;
    font-size:.78rem;
    font-weight:600;
    box-shadow:0 12px 28px rgba(13,94,175,.12);
    display:flex; align-items:center; gap:.5rem;
    animation:floaty 4s ease-in-out infinite;
  }
  @keyframes floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}

  section{padding:6rem 0;}
  .section-tight{padding:5rem 0;}
  .section-alt{background:#F1F6FB;}

  /* ===== About / Stats ===== */
  .stat-card{
    border-radius:18px;
    background:#fff;
    border:1px solid var(--line);
    padding:1.8rem 1.2rem;
    text-align:center;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .stat-card:hover{transform:translateY(-6px); box-shadow:0 18px 34px rgba(13,94,175,.1);}
  .stat-card .num{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:2.1rem; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
  .stat-card .lbl{color:var(--ink-soft); font-size:.85rem; font-weight:500;}

  /* ===== Service Cards ===== */
  .service-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    padding:2.2rem 1.8rem;
    height:100%;
    position:relative;
    overflow:hidden;
    transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  }
  .service-card::before{
    content:"";
    position:absolute; top:0; left:0; right:0; height:3px;
    background:var(--grad);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .35s ease;
  }
  .service-card:hover::before{transform:scaleX(1);}
  .service-card:hover{transform:translateY(-8px); box-shadow:0 22px 40px rgba(13,94,175,.12); border-color:transparent;}
  .service-icon{
    width:58px; height:58px;
    border-radius:16px;
    display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg, rgba(13,94,175,.1), rgba(76,175,80,.12));
    color:var(--blue);
    font-size:1.4rem;
    margin-bottom:1.2rem;
    transition:all .35s ease;
  }
  .service-card:hover .service-icon{background:var(--grad); color:#fff; transform:rotate(-6deg) scale(1.05);}
  .service-card h3{font-size:1.15rem; font-weight:700; margin-bottom:.6rem; color:var(--ink);}
  .service-card p{color:var(--ink-soft); font-size:.92rem; margin-bottom:0;}
  a.service-card,
  a.service-card:hover,
  a.service-card:focus,
  a.service-card h3,
  a.service-card p{
    text-decoration:none!important;
  }
  a.service-card .service-icon{
    text-decoration:none!important;
    color:var(--blue);
  }
  a.service-card:hover .service-icon,
  a.service-card:focus .service-icon{
    color:#fff;
  }
  a.service-card p{color:var(--ink-soft);}

  /* ===== Why choose ===== */
  .why-section{
    background:linear-gradient(180deg, #fff 0%, #F1F6FB 100%);
  }
  .why-box{
    display:flex; gap:1rem;
    padding:1.4rem;
    border-radius:16px;
    transition:background .3s ease;
  }
  .why-box:hover{background:#fff; box-shadow:0 12px 30px rgba(13,94,175,.08);}
  .why-icon{
    flex-shrink:0;
    width:48px;height:48px;
    border-radius:50%;
    background:var(--grad);
    color:#fff;
    display:flex; align-items:center; justify-content:center;
    font-size:1.1rem;
  }
  .why-box h4{font-size:1rem; font-weight:700; margin-bottom:.3rem;}
  .why-box p{font-size:.86rem; color:var(--ink-soft); margin:0;}

  /* ===== Products ===== */
  .product-card{
    border-radius:20px;
    overflow:hidden;
    background:#fff;
    border:1px solid var(--line);
    transition:transform .35s ease, box-shadow .35s ease;
  }
  .product-card:hover{transform:translateY(-8px); box-shadow:0 24px 44px rgba(13,94,175,.14);}
  .product-thumb{
    height:190px;
    background:linear-gradient(135deg, rgba(13,94,175,.14), rgba(76,175,80,.18));
    display:flex; align-items:center; justify-content:center;
    font-size:3rem;
    color:var(--blue);
    position:relative;
  }
  .product-thumb .tag{
    position:absolute; top:12px; left:12px;
    background:#fff;
    font-size:.65rem;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    padding:.3rem .6rem;
    border-radius:50px;
    color:var(--green-deep);
  }
  .product-body{padding:1.3rem 1.4rem 1.6rem;}
  .product-body h3{font-size:1.05rem; font-weight:700; margin-bottom:.4rem;}
  .product-body p{font-size:.85rem; color:var(--ink-soft); margin-bottom:0;}

  /* ===== Process ===== */
  .process-track{
    position:relative;
  }
  .process-track .charge-rail{position:absolute; top:34px; left:8%; width:84%; z-index:0;}
  .process-step{
    position:relative; z-index:1;
    text-align:center;
  }
  .process-step .step-circle{
    width:68px; height:68px;
    border-radius:50%;
    background:#fff;
    border:2px solid var(--blue);
    display:flex; align-items:center; justify-content:center;
    font-size:1.3rem;
    color:var(--blue);
    margin:0 auto 1.1rem;
    transition:all .3s ease;
  }
  .process-step:hover .step-circle{background:var(--grad); color:#fff; border-color:transparent; transform:scale(1.08);}
  .process-step h4{font-size:1rem; font-weight:700; margin-bottom:.4rem;}
  .process-step p{font-size:.82rem; color:var(--ink-soft);}

  /* ===== Testimonials ===== */
  .testimonial-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    padding:2.4rem;
    text-align:center;
    max-width:680px;
    margin:0 auto;
  }
  .testimonial-card i.fa-quote-left{color:var(--green); font-size:1.6rem; opacity:.4;}
  .testimonial-card p{font-size:1.05rem; color:var(--ink); margin:1.2rem 0;}
  .testimonial-card .stars{color:#F5A623; margin-bottom:.6rem;}
  .testi-name{font-weight:700;}
  .testi-role{font-size:.8rem; color:var(--ink-soft);}
  #testiCarousel .carousel-indicators{
    position:relative;
    margin:1.75rem 0 0;
    justify-content:center;
    gap:.35rem;
  }
  #testiCarousel .carousel-indicators button{
    width:10px;
    height:10px;
    margin:0 .25rem;
    padding:0;
    border:0;
    border-radius:50%;
    background-color:var(--blue);
    opacity:.35;
    text-indent:0;
    box-sizing:border-box;
    flex:0 0 auto;
    transition:opacity .25s ease, transform .25s ease;
  }
  #testiCarousel .carousel-indicators button.active{
    opacity:1;
    transform:scale(1.15);
  }

  /* ===== Gallery ===== */
  .gallery-grid{
    column-count:3;
    column-gap:1rem;
  }
  @media(max-width:768px){.gallery-grid{column-count:2;}}
  @media(max-width:480px){.gallery-grid{column-count:1;}}
  .gallery-item{
    break-inside:avoid;
    margin-bottom:1rem;
    border-radius:16px;
    overflow:hidden;
    position:relative;
    background:linear-gradient(135deg, rgba(13,94,175,.16), rgba(76,175,80,.2));
    display:flex; align-items:center; justify-content:center;
    color:var(--blue);
    font-size:2.2rem;
    cursor:pointer;
  }
  .gallery-item::after{
    content:attr(data-label);
    position:absolute; inset:auto 0 0 0;
    background:linear-gradient(0deg, rgba(7,59,115,.82), transparent);
    color:#fff; font-size:.78rem; font-weight:600;
    padding:.8rem 1rem .6rem;
    opacity:0; transition:opacity .3s ease;
    font-family:'Inter',sans-serif;
  }
  .gallery-item:hover::after{opacity:1;}
  .gallery-item:nth-child(odd){height:230px;}
  .gallery-item:nth-child(even){height:170px;}

  /* ===== Contact ===== */
  .contact-info-item{
    display:flex; gap:1rem; margin-bottom:1.6rem;
  }
  .contact-info-item .ic{
    width:46px; height:46px;
    border-radius:12px;
    background:var(--grad);
    color:#fff;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
  }
  .contact-info-item h5{font-size:.95rem; font-weight:700; margin-bottom:.2rem;}
  .contact-info-item p, .contact-info-item a{font-size:.88rem; color:var(--ink-soft); margin:0; text-decoration:none;}
  .contact-info-item a:hover{color:var(--blue);}

  .form-control{
    border-radius:12px;
    border:1px solid var(--line);
    padding:.75rem 1rem;
    font-size:.9rem;
  }
  .form-control:focus{
    border-color:var(--blue);
    box-shadow:0 0 0 3px rgba(13,94,175,.12);
  }
  .contact-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:22px;
    padding:2.2rem;
    box-shadow:0 18px 40px rgba(13,94,175,.08);
  }
  .page-hero + .contact-section{
    padding-top:3rem;
  }
  .map-frame{
    border-radius:18px;
    overflow:hidden;
    border:1px solid var(--line);
    height:230px;
  }

  /* ===== Footer ===== */
  footer{
    background:var(--blue-deep);
    color:#cfe0f2;
    padding:4rem 0 1.5rem;
  }
  footer h5{color:#fff; font-weight:700; font-size:1rem; margin-bottom:1.1rem;}
  footer a{color:#b9d2ec; text-decoration:none; font-size:.88rem; line-height:2.1;}
  footer a:hover{color:#fff;}
  .footer-brand{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:1.4rem; color:#fff;}
  .footer-brand .accent{color:#7FD988;}
  .social-icons a{
    width:38px; height:38px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    display:inline-flex; align-items:center; justify-content:center;
    margin-right:.5rem;
    transition:all .25s ease;
  }
  .social-icons a:hover{background:var(--green); transform:translateY(-3px);}
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,.1);
    margin-top:2.5rem;
    padding-top:1.4rem;
    font-size:.82rem;
    text-align:center;
    color:#9bb8d6;
  }

  .back-to-top{
    position:fixed; bottom:24px; right:24px;
    width:46px; height:46px;
    border-radius:50%;
    background:var(--grad);
    color:#fff;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 12px 26px rgba(13,94,175,.3);
    opacity:0; visibility:hidden;
    transition:all .3s ease;
    z-index:999;
    border:none;
  }
  .back-to-top.show{opacity:1; visibility:visible;}

  .form-alert{
    border-radius:12px;
    padding:.85rem 1rem;
    font-size:.88rem;
    margin-bottom:1rem;
    display:none;
  }
  .form-alert.show{display:block;}
  .form-alert.success{background:rgba(76,175,80,.12); color:var(--green-deep); border:1px solid rgba(76,175,80,.3);}
  .form-alert.error{background:rgba(220,53,69,.08); color:#b02a37; border:1px solid rgba(220,53,69,.25);}
  .form-control.is-invalid{border-color:#dc3545;}
  .invalid-feedback{display:none; font-size:.78rem; color:#dc3545; margin-top:.25rem;}
  .form-control.is-invalid + .invalid-feedback{display:block;}

  @media (prefers-reduced-motion: reduce){
    *{animation:none!important; transition:none!important;}
  }

  /* ===== Inner pages ===== */
  .page-hero{
    position:relative;
    padding:8.5rem 0 3.5rem;
    background:
      radial-gradient(circle at 85% 15%, rgba(76,175,80,.12), transparent 45%),
      radial-gradient(circle at 10% 85%, rgba(13,94,175,.10), transparent 50%),
      var(--bg);
    overflow:hidden;
  }
  .page-hero h1{
    font-size:clamp(1.85rem, 4vw, 2.75rem);
    font-weight:700;
    line-height:1.12;
    max-width:780px;
  }
  .page-hero .lead{
    color:var(--ink-soft);
    font-size:1.05rem;
    max-width:640px;
    margin-bottom:0;
  }
  .breadcrumb-bar{
    font-size:.82rem;
    color:var(--ink-soft);
    margin-bottom:1rem;
  }
  .breadcrumb-bar a{color:var(--blue);}
  .breadcrumb-bar a:hover{text-decoration:underline;}
  .page-content{
    padding:4rem 0 6rem;
  }
  .page-content h2{
    font-size:1.45rem;
    font-weight:700;
    margin:2.2rem 0 1rem;
  }
  .page-content h3{
    font-size:1.1rem;
    font-weight:700;
  }
  .page-content p,
  .page-content li{
    color:var(--ink-soft);
    font-size:.98rem;
    line-height:1.75;
  }
  .page-content ul{margin:1rem 0 1.5rem; padding-left:1.25rem;}
  .page-content li{margin-bottom:.45rem;}
  .content-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    padding:2rem;
  }
  .content-card h3{font-size:1.05rem; margin-top:0;}
  .content-card .ic{
    width:48px; height:48px;
    border-radius:14px;
    background:linear-gradient(135deg, rgba(13,94,175,.1), rgba(76,175,80,.12));
    color:var(--blue)!important;
    display:flex; align-items:center; justify-content:center;
    font-size:1.2rem;
    margin-bottom:1rem;
  }
  .cta-banner{
    background:var(--grad);
    border-radius:22px;
    padding:2.5rem 2rem;
    color:#fff;
    text-align:center;
  }
  .cta-banner h2{color:#fff; font-size:1.6rem; margin-bottom:.75rem;}
  .cta-banner p{color:rgba(255,255,255,.9); margin-bottom:1.5rem; max-width:520px; margin-left:auto; margin-right:auto;}
  .cta-banner .btn-light{
    border-radius:50px;
    padding:.75rem 1.75rem;
    font-weight:600;
    color:var(--blue);
  }
  .related-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
    gap:1rem;
    margin-top:1.5rem;
  }
  .related-link{
    display:block;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    padding:1rem 1.15rem;
    font-size:.9rem;
    font-weight:600;
    color:var(--ink);
    transition:border-color .2s ease, box-shadow .2s ease;
  }
  .related-link:hover{
    border-color:var(--blue);
    box-shadow:0 8px 20px rgba(13,94,175,.08);
    color:var(--blue);
  }
  .area-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));
    gap:.75rem;
    margin:1.5rem 0;
  }
  .area-tag{
    background:#fff;
    border:1px solid var(--line);
    border-radius:12px;
    padding:.75rem 1rem;
    font-size:.88rem;
    font-weight:500;
    text-align:center;
  }

  /* ===== FAQ ===== */
  .faq-section{background:#F1F6FB;}
  .faq-accordion .accordion-item{
    border:1px solid var(--line);
    border-radius:14px!important;
    margin-bottom:.75rem;
    overflow:hidden;
    background:#fff;
  }
  .faq-accordion .accordion-button{
    font-family:'Space Grotesk',sans-serif;
    font-weight:600;
    font-size:.95rem;
    color:var(--ink);
    padding:1.1rem 1.25rem;
    box-shadow:none!important;
    background:#fff;
  }
  .faq-accordion .accordion-button:not(.collapsed){
    color:var(--blue);
    background:rgba(13,94,175,.04);
  }
  .faq-accordion .accordion-body{
    color:var(--ink-soft);
    font-size:.92rem;
    line-height:1.7;
    padding:0 1.25rem 1.15rem;
  }

  /* ===== Service sidebar ===== */
  .service-page-row{
    align-items:flex-start;
  }
  .service-sidebar-col{
    align-self:flex-start;
  }
  .service-sidebar-wrap{
    width:100%;
    position:relative;
    z-index:1;
  }
  .service-sidebar-wrap .content-card{
    height:auto;
    width:100%;
  }
  .service-sidebar-wrap .content-card p{
    margin-bottom:0;
  }
  .page-content .cta-banner{
    position:relative;
    z-index:2;
    clear:both;
    width:100%;
  }
  .service-sidebar-nav{
    display:flex;
    flex-direction:column;
    gap:.45rem;
  }
  .sidebar-service-link{
    display:flex;
    align-items:center;
    gap:.65rem;
    padding:.7rem .85rem;
    border-radius:12px;
    border:1px solid var(--line);
    background:#fff;
    font-size:.88rem;
    font-weight:600;
    color:var(--ink);
    text-decoration:none!important;
    transition:border-color .2s ease, background .2s ease, color .2s ease;
  }
  .sidebar-service-link i,
  .sidebar-service-link:hover i,
  .sidebar-service-link:focus i,
  .sidebar-service-link.active i{
    width:1.25rem;
    color:var(--blue)!important;
    text-align:center;
    text-decoration:none!important;
  }
  .sidebar-service-link:hover{
    border-color:var(--blue);
    color:var(--blue);
    text-decoration:none!important;
  }
  .sidebar-service-link.active{
    background:rgba(13,94,175,.08);
    border-color:var(--blue);
    color:var(--blue);
  }
  .sidebar-service-link-muted{
    font-weight:500;
    font-size:.84rem;
  }
  .service-sidebar-subhead{
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--ink-soft);
    margin:1.35rem 0 .65rem;
  }
  .service-benefits-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:1rem;
    margin:1.75rem 0 2rem;
  }
  .service-benefit-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    padding:1.25rem 1.35rem;
  }
  .service-benefit-icon{
    width:42px;
    height:42px;
    border-radius:12px;
    background:linear-gradient(135deg, rgba(13,94,175,.1), rgba(76,175,80,.12));
    color:var(--blue);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:.85rem;
  }
  .service-benefit-card h3{
    font-size:1rem;
    margin:0 0 .45rem;
  }
  .service-benefit-card p{
    margin:0;
    font-size:.9rem;
    line-height:1.6;
  }
  .service-highlight{
    background:linear-gradient(135deg, rgba(13,94,175,.06), rgba(76,175,80,.08));
    border:1px solid rgba(13,94,175,.12);
    border-radius:18px;
    padding:1.35rem 1.5rem;
    margin:1.75rem 0;
  }
  .service-highlight p:last-child{margin-bottom:0;}
  .service-process{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:1rem;
    margin:1.5rem 0 2rem;
    padding:0;
    list-style:none;
  }
  .service-process li{
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    padding:1rem;
    text-align:center;
    margin:0;
  }
  .service-process strong{
    display:block;
    color:var(--ink);
    font-size:.92rem;
    margin-bottom:.35rem;
  }
  .service-faq-block,
  .service-related-block{
    margin-top:2.5rem;
    padding-top:.5rem;
  }
  .service-faq-block h2,
  .service-related-block h2{
    margin-top:0;
  }
  @media (max-width: 991px){
    .service-benefits-grid,
    .service-process{grid-template-columns:1fr 1fr;}
  }
  @media (max-width: 575px){
    .service-benefits-grid,
    .service-process{grid-template-columns:1fr;}
  }
