    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --brand:    #2B2F8F;
      --brand-dk: #1a1d5e;
      --brand-lt: #3d42b3;
      --accent:   #FFD700;
      --steel:    #a8b5cc;
      --offwhite: #F0EDE8;
      --charcoal: #2C3E50;
      --mid:      #22264d;
      --dark:     #13163b;
      --rule:     rgba(43,47,143,0.45);
      --rule-lt:  rgba(255,255,255,0.12);
    }

    html { scroll-behavior: smooth; }
    body {
      font-family: 'Inter', sans-serif;
      background: var(--dark);
      color: var(--offwhite);
      overflow-x: hidden;
    }

    
    nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 100;
      display: flex; align-items: center; justify-content: space-between;
      padding: 14px 6vw;
      background:rgb(255 255 255 / 96%);
      backdrop-filter: blur(10px);
      border-bottom: 1px solid var(--rule-lt);
    }
    .nav-logo {
      display: flex; align-items: center; gap: 0.9rem;
    }
    .nav-logo img {
      height: 56px; width: auto;
    }
    .nav-logo-text {
      display: flex; flex-direction: column; line-height: 1.15;
    }
    .nav-logo-name {
      font-family: 'Inter', sans-serif;;
      font-size: 1.15rem; font-weight: 900;
      color: var(--offwhite); letter-spacing: 0.05em;
    }
    .nav-logo-sub {
      font-size: 0.62rem; letter-spacing: 0.14em;
      text-transform: uppercase; color: var(--steel);
      font-weight: 500;
    }
    nav ul { list-style: none; display: flex; gap: 2.4rem; }
    nav ul a {
      text-decoration: none; color:#2d3192;
      font-size: 0.82rem; font-weight: 500; letter-spacing: 0.1em;
      text-transform: uppercase; transition: color 0.2s;
    }
    nav ul a:hover { color:black; }
    .nav-cta {
      background: var(--brand) !important;
      color: #fff !important;
      padding: 9px 22px; border-radius: 2px;
      font-weight: 600 !important;
      border: 1px solid var(--brand-lt) !important;
      transition: background 0.2s !important;
    }
    .nav-cta:hover { background: var(--brand-lt) !important; }

    
    .banner-hero {
      position: relative;
      
      padding-top: 84px; padding-bottom: 84px;
      display: flex; align-items: stretch;
      overflow: hidden;
    }
    .banner-bg {
      position: absolute; inset: 0;
      background-image: var(--banner-img);
      background-size: cover; background-position: center;
      z-index: 0;
    }
    .banner-bg::after {
      content: '';
      position: absolute; inset: 0;
      background: linear-gradient(
        105deg,
        rgba(10,12,40,0.82) 0%,
        rgba(10,12,40,0.72) 48%,
        rgba(10,12,40,0.30) 100%
      );
    }
    .banner-inner {
      position: relative; z-index: 1;
      width: 100%; display: grid;
      grid-template-columns: 1fr 520px;
      gap: 4rem; align-items: center;
      padding: 5rem 0;padding-bottom: 0 ;
    }
    .banner-text {}
    .banner-eyebrow {
      font-size: 0.72rem; letter-spacing: 0.24em; text-transform: uppercase;
      color: var(--accent); font-weight: 700; margin-bottom: 1.3rem;
      display: flex; align-items: center; gap: 0.8rem;
    }
    .banner-eyebrow::before {
      content: ''; display: block; width: 36px; height: 2px; background: var(--accent);
    }
    h1 {
      font-family: 'Inter', sans-serif;;
      font-size: clamp(2.4rem, 4.5vw, 4rem);
      line-height: 1.1; font-weight: 900;
      color: #fff; margin-bottom: 1.4rem;
    }
    h1 em { color: var(--accent); font-style: normal; }
    .banner-sub {
      color: rgba(255,255,255,0.78); font-size: 1rem; line-height: 1.75;
      max-width: 500px; margin-bottom: 2.2rem;
    }
    .banner-badges {
      display: flex; flex-wrap: wrap; gap: 0.6rem; margin-bottom: 2.4rem;
    }
    .badge {
      border: 1px solid rgba(255,255,255,0.22); border-radius: 2px;
      padding: 6px 14px; font-size: 0.7rem;
      letter-spacing: 0.1em; text-transform: uppercase;
      color: rgba(255,255,255,0.7); font-weight: 500;
    }
    .badge.highlight { border-color: var(--accent); color: var(--accent); }
    .banner-actions { display: flex; gap: 1rem; flex-wrap: wrap; }
    .btn-primary {
      background: var(--brand); color: #fff;
      padding: 13px 30px; border-radius: 2px;
      font-weight: 700; font-size: 0.85rem;
      letter-spacing: 0.08em; text-transform: uppercase;
      text-decoration: none; transition: background 0.2s, transform 0.15s;
      display: inline-block; border: none; cursor: pointer; font-family: inherit;
    }
    .btn-primary:hover { background: var(--brand-lt); transform: translateY(-1px); }
    .btn-ghost {
      border: 2px solid rgba(255,255,255,0.5); color: #fff;
      padding: 13px 30px; border-radius: 2px;
      font-weight: 600; font-size: 0.85rem;
      letter-spacing: 0.08em; text-transform: uppercase;
      text-decoration: none; transition: border-color 0.2s, background 0.2s;
      display: inline-block;
    }
    .btn-ghost:hover { border-color: #fff; background: rgba(255,255,255,0.08); }

    
    .banner-form-wrap {
      background: rgba(255,255,255,0.97);
      border-radius: 4px;
      padding: 2rem 2rem 2.4rem;
      box-shadow: 0 24px 64px rgba(0,0,0,0.45);
    }
    .banner-form-wrap h3 {
      font-family: 'Inter', sans-serif;;
      font-size: 1.2rem; font-weight: 900;
      color: var(--brand); margin-bottom: 0.3rem;
      text-align: center;
    }
    .banner-form-wrap .form-tagline {
      font-size: 0.75rem; text-align: center; color: #777;
      margin-bottom: 1.4rem; letter-spacing: 0.04em;
      border-bottom: 1px solid #eee; padding-bottom: 1rem;
    }
    .bform { display: flex; flex-direction: column; gap: 0.75rem; }
    .bform-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
    .bform-group { display: flex; flex-direction: column; gap: 0.3rem; }
    .bform-group label {
      font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase;
      color: #777; font-weight: 600;
    }
    .bform-group input,
    .bform-group select,
    .bform-group textarea {
      background: #f5f6fb; border: 1px solid #dde0ef;
      color: #222; font-family: 'Inter', sans-serif;
      font-size: 0.88rem; padding: 10px 12px;
      outline: none; border-radius: 3px; transition: border-color 0.2s;
    }
    .bform-group input:focus,
    .bform-group select:focus,
    .bform-group textarea:focus { border-color: var(--brand); background: #fff; }
    .bform-group textarea { resize: vertical; min-height: 76px; }
    .bform-group select option { background: #fff; }
    .bform-submit {
      background: var(--brand); color: #fff;
      border: none; padding: 12px; border-radius: 3px;
      font-family: 'Inter', sans-serif;
      font-size: 0.85rem; font-weight: 700;
      letter-spacing: 0.1em; text-transform: uppercase;
      cursor: pointer; margin-top: 0.4rem;
      transition: background 0.2s;
      width: 100%;
    }
    .bform-submit:hover { background: var(--brand-lt); }

    
    .pulse-ring { animation: pulseRing 3s ease-in-out infinite; }
    @keyframes pulseRing {
      0%,100% { opacity: 0.12; transform: scale(1); }
      50%      { opacity: 0.3; transform: scale(1.04); }
    }
    .coil-animate {
      stroke-dasharray: 600; stroke-dashoffset: 600;
      animation: drawCoil 2.4s ease forwards;
    }
    @keyframes drawCoil { to { stroke-dashoffset: 0; } }

    
    .stats-bar {
      background: var(--mid);
      border-top: 1px solid var(--rule-lt);
      border-bottom: 1px solid var(--rule-lt);
      display: grid; grid-template-columns: repeat(4, 1fr);
      padding: 0 6vw;
    }
    .stat-item {
      padding: 2.4rem 1.5rem;
      border-right: 1px solid var(--rule-lt);
      display: flex; flex-direction: column; gap: 0.3rem;
    }
    .stat-item:last-child { border-right: none; }
    .stat-num {
      font-family: 'Inter', sans-serif;;
      font-size: 2.4rem; font-weight: 900;
      color: var(--accent); line-height: 1;
    }
    .stat-label {
      font-size: 0.75rem; text-transform: uppercase;
      letter-spacing: 0.12em; color: var(--steel); font-weight: 500;
    }

    
    section { padding: 7rem 6vw; }
    .section-eyebrow {
      font-size: 0.72rem; letter-spacing: 0.22em; text-transform: uppercase;
      color: var(--accent); font-weight: 600; margin-bottom: 1rem;
      display: flex; align-items: center; gap: 0.8rem;
    }
    .section-eyebrow::before {
      content: ''; display: block; width: 24px; height: 2px; background: var(--accent);
    }
    h2 {
      font-family: 'Inter', sans-serif;;
      font-size: clamp(1.9rem, 3vw, 2.8rem);
      font-weight: 700; line-height: 1.2;
      color: var(--offwhite); margin-bottom: 1.2rem;
    }
    h2 em { color: var(--accent); font-style: normal; }
    .section-sub {
      color: var(--steel); font-size: 1rem; line-height: 1.75;
      max-width: 600px; margin-bottom: 3.5rem;
    }

    
    .products { background: var(--dark); }
    .products-grid {
      display: grid; grid-template-columns: repeat(3, 1fr);
      gap: 1.5px; background: var(--rule-lt);
      border: 1.5px solid var(--rule-lt);
    }
    .product-card {
      background: var(--dark); padding: 2.8rem 2.4rem;
      transition: background 0.25s; cursor: default;
    }
    .product-card:hover { background: var(--mid); }
    .product-icon { width: 52px; height: 52px; margin-bottom: 1.4rem; color: var(--brand-lt); }
    .product-card h3 {
      font-family: 'Inter', sans-serif;;
      font-size: 1.25rem; font-weight: 700;
      color: var(--offwhite); margin-bottom: 0.8rem;
    }
    .product-card p { font-size: 0.88rem; color: var(--steel); line-height: 1.7; }
    .spec-list { margin-top: 1.2rem; list-style: none; display: flex; flex-direction: column; gap: 0.4rem; }
    .spec-list li {
      font-size: 0.78rem; color: var(--accent);
      display: flex; align-items: center; gap: 0.5rem; letter-spacing: 0.04em;
    }
    .spec-list li::before { content: '—'; color: var(--brand-lt); font-weight: 700; }

    
    .about {
      background: var(--mid);
      border-top: 1px solid var(--rule-lt);
      border-bottom: 1px solid var(--rule-lt);
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 6rem; align-items: center;
    }
    .about-image-wrap {
      position: relative;
      background: linear-gradient(135deg, rgba(43,47,143,0.18), rgba(28,46,72,0.4));
      border: 1px solid var(--rule-lt);
      padding: 3rem;
      display: flex; align-items: center; justify-content: center;
    }
    .about-image-wrap svg { width: 100%; max-width: 340px; }
    .collab-badge {
      position: absolute; bottom: -1px; right: -1px;
      background: var(--brand); padding: 12px 20px;
      font-size: 0.7rem; font-weight: 600; letter-spacing: 0.1em;
      text-transform: uppercase; color: #fff;
    }
    .timeline { display: flex; flex-direction: column; gap: 2rem; margin-top: 2.5rem; }
    .tl-item { display: grid; grid-template-columns: 70px 1fr; gap: 1.2rem; align-items: start; }
    .tl-year {
      font-family: 'Inter', sans-serif;;
      font-size: 1rem; font-weight: 700; color: var(--accent); padding-top: 2px;
    }
    .tl-desc { font-size: 0.9rem; color: var(--steel); line-height: 1.6; }
    .tl-title { font-weight: 600; color: var(--offwhite); margin-bottom: 0.2rem; font-size: 0.95rem; }

    
    .capabilities { background: var(--dark); }
    .cap-grid {
      display: grid; grid-template-columns: repeat(2, 1fr);
      gap: 2px; background: var(--rule-lt);
      border: 1.5px solid var(--rule-lt);
      margin-top: 1rem;
    }
    .cap-card {
      background: var(--dark); padding: 2.4rem;
      display: flex; gap: 1.4rem; align-items: flex-start;
      transition: background 0.2s;
    }
    .cap-card:hover { background: var(--mid); }
    .cap-icon { width: 40px; height: 40px; flex-shrink: 0; color: var(--brand-lt); margin-top: 2px; }
    .cap-card h4 {
      font-family: 'Inter', sans-serif;;
      font-size: 1.05rem; font-weight: 700;
      color: var(--offwhite); margin-bottom: 0.5rem;
    }
    .cap-card p { font-size: 0.85rem; color: var(--steel); line-height: 1.65; }

    
    .certifications {
      background: var(--mid);
      border-top: 1px solid var(--rule-lt);
      text-align: center; padding: 5rem 6vw;
    }
    .cert-grid {
      display: flex; justify-content: center; gap: 3rem;
      flex-wrap: wrap; margin-top: 3rem;
    }
    .cert-item {
      border: 1px solid var(--rule-lt); padding: 2rem 2.8rem;
      display: flex; flex-direction: column; align-items: center; gap: 0.6rem; min-width: 180px;
    }
    .cert-item svg { color: var(--accent); width: 36px; height: 36px; }
    .cert-name { font-family: 'Inter', sans-serif;; font-size: 1.1rem; font-weight: 700; color: var(--offwhite); }
    .cert-desc { font-size: 0.75rem; color: var(--steel); letter-spacing: 0.05em; text-transform: uppercase; }

    
    .contact {
      background: var(--dark);
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 6rem; align-items: start;
    }
    .contact-form { display: flex; flex-direction: column; gap: 1rem; }
    .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
    .form-group { display: flex; flex-direction: column; gap: 0.4rem; }
    .form-group label { font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--steel); font-weight: 500; }
    .form-group input,
    .form-group textarea,
    .form-group select {
      background: var(--mid); border: 1px solid var(--rule-lt);
      color: var(--offwhite); font-family: 'Inter', sans-serif;
      font-size: 0.9rem; padding: 12px 14px;
      outline: none; border-radius: 2px; transition: border-color 0.2s;
    }
    .form-group input:focus,
    .form-group textarea:focus,
    .form-group select:focus { border-color: var(--brand-lt); }
    .form-group textarea { resize: vertical; min-height: 120px; }
    .form-group select option { background: var(--mid); }
    .contact-info { padding-top: 0.5rem; }
    .contact-info h3 {
      font-family: 'Inter', sans-serif;;
      font-size: 1.5rem; font-weight: 700; color: var(--offwhite); margin-bottom: 2rem;
    }
    .info-items { display: flex; flex-direction: column; gap: 1.6rem; }
    .info-item { display: flex; gap: 1rem; align-items: flex-start; }
    .info-item svg { color: var(--brand-lt); width: 20px; height: 20px; flex-shrink: 0; margin-top: 2px; }
    .info-item-text strong {
      display: block; font-size: 0.82rem; letter-spacing: 0.1em;
      text-transform: uppercase; color: var(--steel); margin-bottom: 0.3rem; font-weight: 500;
    }
    .info-item-text span { font-size: 0.92rem; color: var(--offwhite); line-height: 1.5; }

    
    .footer-main {
      background: #2a2d35;
      border-top: 4px solid var(--brand);
      padding: 3.5rem 6vw;
    }
    .footer-grid {
      display: grid;
      grid-template-columns: 1.6fr 1fr 1.4fr 1fr;
      gap: 3rem;
    }
    .footer-col h4 {
      font-size: 0.82rem; font-weight: 700;
      letter-spacing: 0.14em; text-transform: uppercase;
      color: var(--offwhite); margin-bottom: 1.4rem;
      padding-bottom: 0.7rem;
      border-bottom: 2px solid rgba(255,255,255,0.15);
    }
    
    .footer-about-text {
      font-size: 0.86rem; color: #c0c6d4; line-height: 1.75;
    }
    .footer-about-text strong { color: var(--offwhite); }

    
    .footer-links-list { list-style: none; display: flex; flex-direction: column; }
    .footer-links-list li { border-bottom: 1px solid rgba(255,255,255,0.08); }
    .footer-links-list a {
      display: block; padding: 0.6rem 0;
      font-size: 0.88rem; color: #c0c6d4;
      text-decoration: none; transition: color 0.2s, padding-left 0.2s;
    }
    .footer-links-list a:hover { color: #fff; padding-left: 6px; }

    
    .footer-contact-items { display: flex; flex-direction: column; gap: 0.9rem; }
    .footer-contact-line { font-size: 0.87rem; color: #c0c6d4; line-height: 1.5; }
    .footer-contact-line strong { color: var(--offwhite); display: block; }

    
    .allstate-box {
      
      
      display: inline-block;
      
    }
    .allstate-box img{
    width: 74%;}
    .allstate-box-inner {
      display: flex; flex-direction: column; align-items: center; gap: 0.3rem;
    }
    .allstate-name {
      font-family: 'Inter', sans-serif;;
      font-size: 1.5rem; font-weight: 900;
      color: #1a2a6c; letter-spacing: 0.06em; line-height: 1;
    }
    .allstate-name .allstate-a { color: #c0392b; }
    .allstate-since {
      font-size: 0.7rem; font-weight: 700; letter-spacing: 0.2em;
      color: #1a2a6c; text-transform: uppercase; border-top: 1px solid #1a2a6c;
      padding-top: 0.3rem; width: 100%; text-align: center;
    }

    
    .footer-bottom {
      background: #1e2128;
      border-top: 1px solid rgba(255,255,255,0.1);
      padding: 1.1rem 6vw;
      display: flex; align-items: center; justify-content: space-between;
      flex-wrap: wrap; gap: 0.6rem;
    }
    .footer-bottom-copy { font-size: 0.78rem; color: #8a93a8; }
    .footer-bottom-credit { font-size: 0.78rem; color: #8a93a8; }
    .back-to-top {
      width: 36px; height: 36px;
      border-radius: 50%; background: var(--brand);
      display: flex; align-items: center; justify-content: center;
      cursor: pointer; border: none;
      color: #fff; font-size: 1rem;
      transition: background 0.2s;
      text-decoration: none;
    }
    .back-to-top:hover { background: var(--brand-lt); }

    
    .trust-bar {
      background: #fff;
      border-top: 3px solid var(--brand);
      padding: 3rem 6vw;
    }
    .trust-grid {
      display: grid; grid-template-columns: repeat(3, 1fr);
      gap: 0; border: 1px solid #dde0ef;
    }
    .trust-card {
      padding: 2.4rem 2rem; text-align: center;
      border-right: 1px solid #dde0ef;
      display: flex; flex-direction: column; align-items: center; gap: 1rem;
    }
    .trust-card:last-child { border-right: none; }
    .trust-icon { color: var(--brand); width: 54px; height: 54px; }
    .trust-card h4 {
      font-size: 0.72rem; font-weight: 700;
      letter-spacing: 0.18em; text-transform: uppercase;
      color: var(--brand); margin: 0;
    }
    .trust-card p {
      font-size: 0.85rem; color: #555; line-height: 1.65; margin: 0;
    }

    
    .pt-spotlight {
      background: #f4f5fb;
      padding: 4rem 6vw;
      border-top: 1px solid #dde0ef;
      border-bottom: 1px solid #dde0ef;
    }
    .pt-inner {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 4rem; align-items: center;
      background: #fff;
      border: 1px solid #dde0ef;
      overflow: hidden;
    }
    .pt-image-col {
      background: #ffffff;
      display: flex; align-items: center; justify-content: center;
      padding: 3rem;
      min-height: 280px;
    }
    .pt-image-col svg { width: 100%; max-width: 280px; height: auto; }
    .pt-text-col { padding: 3rem 3rem 3rem 1.5rem; }
    .pt-text-col h3 {
      font-family: 'Inter', sans-serif;;
      font-size: 1.6rem; font-weight: 900;
      color: var(--brand); margin-bottom: 1rem;
      letter-spacing: 0.04em; text-transform: uppercase;
    }
    .pt-text-col p { font-size: 0.95rem; color: #555; line-height: 1.7; margin-bottom: 1.8rem; }
    .pt-btn-row { display: flex; gap: 1rem; flex-wrap: wrap; }
    .btn-brand {
      background: var(--brand); color: #fff;
      padding: 10px 24px; font-size: 0.78rem;
      font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
      text-decoration: none; border: 2px solid var(--brand);
      transition: background 0.2s, color 0.2s; cursor: pointer;
      font-family: inherit; display: inline-block;
    }
    .btn-brand:hover { background: var(--brand-lt); border-color: var(--brand-lt); }
    .btn-brand-outline {
      background: transparent; color: var(--brand);
      padding: 10px 24px; font-size: 0.78rem;
      font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
      text-decoration: none; border: 2px solid var(--brand);
      transition: background 0.2s, color 0.2s; cursor: pointer;
      font-family: inherit; display: inline-block;
    }
    .btn-brand-outline:hover { background: var(--brand); color: #fff; }

    
    .tgallery {
      background: #fff;
      padding: 4rem 6vw;
      border-bottom: 1px solid #dde0ef;
    }
    .tgallery h2 {
      text-align: center; font-family: 'Inter', sans-serif;;
      font-size: 1.5rem; font-weight: 900;
      color: var(--brand); letter-spacing: 0.12em; text-transform: uppercase;
      margin-bottom: 2.4rem;
    }
    .tgallery-grid {
      display: grid; grid-template-columns: repeat(4, 1fr);
      gap: 1.5rem; margin-bottom: 2.4rem;
    }
    .tgallery-card {
      display: flex; flex-direction: column; align-items: center;
      gap: 0.7rem;
    }
    .tgallery-img {
      width: 100%; aspect-ratio: 1 / 1;
      background: #e8eaf5;
      display: flex; align-items: center; justify-content: center;
      overflow: hidden; border: 1px solid #dde0ef;
    }
    .tgallery-img svg { width: 85%; height: 85%; }
    .tgallery-card span {
      font-size: 0.82rem; color: #555; text-align: center;
      letter-spacing: 0.04em; font-weight: 500;
    }
    .tgallery-cta { text-align: center; }

    
    @media (max-width: 1100px) {
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
    }
    @media (max-width: 900px) {
      .hero { grid-template-columns: 1fr; padding-top: 100px; }
      .hero-visual { display: none; }
      .stats-bar { grid-template-columns: repeat(2, 1fr); }
      .stat-item:nth-child(2) { border-right: none; }
      .products-grid { grid-template-columns: 1fr; }
      .about { grid-template-columns: 1fr; }
      .about-image-wrap { display: none; }
      .cap-grid { grid-template-columns: 1fr; }
      .contact { grid-template-columns: 1fr; }
      .form-row { grid-template-columns: 1fr; }
      nav ul { display: none; }
      .footer-grid { grid-template-columns: 1fr; }
    }
    @media (prefers-reduced-motion: reduce) {
      .coil-animate, .pulse-ring { animation: none; stroke-dashoffset: 0; }
    }

    
    .trust-bar {
      background: #fff;
      border-top: 4px solid var(--brand);
      padding: 3rem 6vw;
    }
    .trust-grid {
      display: grid; grid-template-columns: repeat(3, 1fr);
      border: 1px solid #dde0ef;
    }
    .trust-card {
      padding: 2.4rem 2rem; text-align: center;
      border-right: 1px solid #dde0ef;
      display: flex; flex-direction: column; align-items: center; gap: 1rem;
    }
    .trust-card:last-child { border-right: none; }
    .trust-icon { color: var(--brand); width: 54px; height: 54px; }
    .trust-card h4 {
      font-size: 0.72rem; font-weight: 700; letter-spacing: 0.18em;
      text-transform: uppercase; color: var(--brand); margin: 0;
    }
    .trust-card p { font-size: 0.85rem; color: #555; line-height: 1.65; margin: 0; }

    
    .pt-spotlight {
      background: #f4f5fb; padding: 4rem 6vw;
      border-top: 1px solid #dde0ef; border-bottom: 1px solid #dde0ef;
    }
    .pt-inner {
      display: grid; grid-template-columns: 1fr 1fr;
      align-items: center; background: #fff;
      border: 1px solid #dde0ef; overflow: hidden;
    }
    .pt-image-col {
      background: #ffffff; display: flex; align-items: center;
      justify-content: center; padding: 3rem; min-height: 300px;
    }
    .pt-image-col svg { width: 100%; max-width: 300px; height: auto; }
    .pt-text-col { padding: 3rem 3.5rem; }
    .pt-text-col h3 {
      font-family: 'Inter', sans-serif;; font-size: 1.7rem;
      font-weight: 900; color: var(--brand); margin-bottom: 1rem;
      letter-spacing: 0.04em; text-transform: uppercase;
    }
    .pt-text-col p { font-size: 0.95rem; color: #555; line-height: 1.7; margin-bottom: 1.8rem; }
    .pt-btn-row { display: flex; gap: 1rem; flex-wrap: wrap; }
    .btn-brand {
      background: var(--brand); color: #fff; padding: 11px 26px;
      font-size: 0.78rem; font-weight: 700; letter-spacing: 0.1em;
      text-transform: uppercase; text-decoration: none;
      border: 2px solid var(--brand); transition: background 0.2s;
      cursor: pointer; font-family: inherit; display: inline-block;
    }
    .btn-brand:hover { background: var(--brand-lt); border-color: var(--brand-lt); }
    .btn-brand-outline {
      background: transparent; color: var(--brand); padding: 11px 26px;
      font-size: 0.78rem; font-weight: 700; letter-spacing: 0.1em;
      text-transform: uppercase; text-decoration: none;
      border: 2px solid var(--brand); transition: background 0.2s, color 0.2s;
      cursor: pointer; font-family: inherit; display: inline-block;
    }
    .btn-brand-outline:hover { background: var(--brand); color: #fff; }

    
    .tgallery { background: #fff; padding: 4rem 6vw; border-bottom: 1px solid #dde0ef; }
    .tgallery-title {
      text-align: center; font-family: 'Inter', sans-serif;;
      font-size: 1.6rem; font-weight: 900; color: var(--brand);
      letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 2.4rem;
    }
    .tgallery-grid {
      display: grid; grid-template-columns: repeat(4, 1fr);
      gap: 1.5rem; margin-bottom: 2.4rem;
    }
    .tgallery-card {
      display: flex; flex-direction: column; align-items: center;
      gap: 0.7rem; cursor: pointer;
    }
    .tgallery-img {
      width: 100%; aspect-ratio: 4/3; background: #ffffff;
      display: flex; align-items: center; justify-content: center;
      overflow: hidden; border: 1px solid #dde0ef; transition: box-shadow 0.2s;
    }
    .tgallery-card:hover .tgallery-img { box-shadow: 0 4px 20px rgba(43,47,143,0.18); }
    .tgallery-img svg { width: 90%; height: 90%; }
    .tgallery-card span {
      font-size: 0.83rem; color: #444; text-align: center;
      letter-spacing: 0.04em; font-weight: 500;
    }
    .tgallery-cta { text-align: center; }
.pt-image-col img{width: 100%;}
.trust-card img{    width: 20%;}
 .menu-btn {
    display: none;
}
.close-menu {
    display: none;}
    
    @media (max-width: 1000px) {
      .banner-inner { grid-template-columns: 1fr; padding: 4rem 0 3rem; padding-bottom: 0;}
      .banner-form-wrap { max-width: 560px; }
      .bform-row { grid-template-columns: 1fr; }
    }
    @media (max-width: 700px) {
      .trust-grid { grid-template-columns: 1fr; }
      .trust-card { border-right: none; border-bottom: 1px solid #dde0ef; }
      .pt-inner { grid-template-columns: 1fr; }
      .pt-image-col { display: none; }
      .tgallery-grid { grid-template-columns: repeat(1, 1fr); }
       .close-menu, .menu-btn {
        display: block;
        position: absolute;
        right: 20px;
        top: 30px;
        background: none;
        border: none;
        padding: 0;
        width: 25px;
        height: 25px;
    }
        .menu-btn span {
        width: 100%;
        height: 2px;
        background: #003087;
        margin: 4px 0;
        display: block;
    }
        .nav-links {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: #1f2c43;
        z-index: 9;
        padding: 30px;
        padding-top: 55px;
        transform: translateX(100%);
        transition: ease .5s all;
        display:block;        height: 100vh;
    }
        .close-menu span:first-child {
        transform: rotate(45deg);
    }
        .close-menu span:last-child {
        transform: rotate(-45deg);
        margin-top: -6px;
    }
        .close-menu span {
        width: 100%;
        height: 2px;
        background: #fff;
        margin: 5px 0;
        display: block;
    }
        .nav-links.active {
        transform: translateX(0);        height: 100vh;
    }
    .nav-links li a{    color: rgb(255 255 255);}
    .nav-links li{border-bottom: 1px solid #5b5b5b;        display: block;
        padding: 25px 0;}
        .stat-item {
    padding: 1rem 0.5rem;
    }
    .stat-num {
    font-family: 'Inter', sans-serif;;
    font-size: 1.8rem;
    }
  }


.enhanced-form input:focus,.enhanced-form select:focus,.enhanced-form textarea:focus{outline:none;border-color:#b48842;box-shadow:0 0 0 3px rgba(180,136,66,.18);transform:translateY(-1px)}
.enhanced-form input,.enhanced-form select,.enhanced-form textarea{transition:all .25s ease}
.enhanced-form button{cursor:pointer;transition:all .25s ease}.enhanced-form button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.iso-section,.photo-gallery{padding:80px 8%;text-align:center;background:#fff}.iso-section .section-sub{max-width:850px;margin:0 auto 25px}.cert-open{border:0;display:inline-block}.photo-gallery{background:#f8f6f0}.gallery-carousel{position:relative;max-width:980px;margin:30px auto 0;overflow:hidden;border-radius:18px;box-shadow:0 18px 45px rgba(0,0,0,.16);background:#111}.gallery-track{position:relative;height:520px}.gallery-slide{position:absolute;inset:0;opacity:0;transition:opacity .55s ease}.gallery-slide.active{opacity:1}.gallery-slide img{width:100%;height:100%;object-fit:cover;display:block}.gallery-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;border:0;width:46px;height:46px;border-radius:50%;font-size:34px;line-height:40px;background:rgba(255,255,255,.88);color:#1d2340;cursor:pointer}.gallery-prev{left:18px}.gallery-next{right:18px}.transformer-popup-trigger{cursor:pointer}.transformer-popup-trigger:hover{transform:translateY(-4px)}.custom-modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:none;align-items:center;justify-content:center;z-index:9999;padding:22px}.custom-modal.active{display:flex}.custom-modal-box{background:#fff;max-width:760px;width:100%;border-radius:14px;position:relative;padding:34px;box-shadow:0 20px 60px rgba(0,0,0,.35);max-height:90vh;overflow:auto}.custom-modal-close{position:absolute;right:15px;top:10px;border:0;background:transparent;font-size:34px;line-height:1;cursor:pointer;color:#333}.custom-modal-content h3{margin:0 0 10px;font-family:'Playfair Display',serif;color:#1d2340}.custom-modal-content h4{margin:12px 0 8px;color:#b48842}.custom-modal-content p{line-height:1.7;color:#333}.modal-cert-img{width:100%;height:auto;display:block;border-radius:8px}@media(max-width:768px){.gallery-track{height:310px}.gallery-btn{width:38px;height:38px;font-size:28px}.custom-modal-box{padding:28px 20px}}


.iso-section{
  padding:70px 7% !important;
  text-align:left !important;
  background:linear-gradient(135deg,#ffffff 0%,#f8f6f0 100%) !important;
}
.iso-card{
  max-width:1120px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);
  gap:36px;
  align-items:center;
  background:#fff;
  border-radius:22px;
  padding:34px;
  box-shadow:0 18px 55px rgba(0,0,0,.12);
  border:1px solid rgba(180,136,66,.2);
}
.iso-copy h2{
  color:#1d2340;
  line-height:1.18;
  margin:12px 0 16px;
  font-size:clamp(30px,4vw,48px);
}
.iso-copy .section-sub{
  max-width:100% !important;
  margin:0 0 24px !important;
  color:#333;
  font-size:18px;
  line-height:1.75;
}
.iso-thumb{
  border:0;
  background:#fff;
  cursor:pointer;
  padding:12px;
  border-radius:16px;
  box-shadow:0 12px 35px rgba(0,0,0,.14);
  display:block;
  width:100%;
}
.iso-thumb img{
  width:100%;
  height:auto;
  max-height:430px;
  object-fit:contain;
  display:block;
  border-radius:10px;
}
.iso-thumb span{
  display:block;
  margin-top:10px;
  color:#1d2340;
  font-weight:700;
  font-size:14px;
}
.photo-gallery{
  padding:78px 7% !important;
  background:#f8f6f0 !important;
  overflow:hidden;
}
.photo-gallery .section-eyebrow,
.photo-gallery h2{
  color:#1d2340 !important;
  opacity:1 !important;
  visibility:visible !important;
  position:relative;
  z-index:3;
}
.photo-gallery h2{
  font-size:clamp(30px,4vw,46px);
  margin-bottom:20px;
}
.gallery-carousel{
  max-width:1120px !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  overflow:visible !important;
  padding:0 58px;
}
.gallery-track{
  position:relative !important;
  display:flex !important;
  gap:22px;
  height:auto !important;
  transition:transform .55s ease;
  will-change:transform;
}
.gallery-slide{
  position:relative !important;
  inset:auto !important;
  opacity:1 !important;
  flex:0 0 calc(50% - 11px);
  height:360px;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(0,0,0,.16);
  background:#fff;
}
.gallery-slide img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block;
}
.gallery-btn{
  top:50% !important;
  background:#fff !important;
  color:#1d2340 !important;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}
.gallery-prev{left:0 !important;}
.gallery-next{right:0 !important;}
.nav-links a[href="#photo-gallery"]{
  white-space:nowrap;
}
@media(max-width:768px){
  .iso-section{padding:48px 5% !important;text-align:center !important;}
  .iso-card{grid-template-columns:1fr;padding:22px;gap:24px;}
  .iso-copy .section-eyebrow{justify-content:center;}
  .iso-copy .section-sub{font-size:16px;line-height:1.65;}
  .iso-thumb img{max-height:360px;}
  .gallery-carousel{padding:0 44px;}
  .gallery-track{gap:0;}
  .gallery-slide{flex:0 0 100%;height:300px;}
  .gallery-prev{left:0 !important;}
  .gallery-next{right:0 !important;}
}


*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{min-width:320px;overflow-x:hidden;}
img{max-width:100%;height:auto;}
button,input,select,textarea{font:inherit;-webkit-appearance:none;appearance:none;}
a[href^="mailto:"],.contact-info a[href^="mailto:"],.footer-contact-line a[href^="mailto:"]{color:#f4c060!important;background:rgba(29,35,64,.92);padding:2px 6px;border-radius:5px;font-weight:700;text-decoration:none;word-break:break-word;overflow-wrap:anywhere;}
a[href^="mailto:"]:hover,.contact-info a[href^="mailto:"]:hover,.footer-contact-line a[href^="mailto:"]:hover{color:#ffffff!important;background:#b48842;text-decoration:none;}
.contact-info span,.footer-contact-line{overflow-wrap:anywhere;}
.enhanced-form input,.enhanced-form select,.enhanced-form textarea{border-radius:8px;min-height:44px;}
.enhanced-form textarea{min-height:118px;resize:vertical;}
.enhanced-form button,.btn-primary,.btn-brand,.nav-cta{-webkit-tap-highlight-color:transparent;touch-action:manipulation;}
.gallery-track{-webkit-transition:-webkit-transform .55s ease;transition:-webkit-transform .55s ease;transition:transform .55s ease;transition:transform .55s ease,-webkit-transform .55s ease;}
.gallery-slide{-webkit-transform:translateZ(0);transform:translateZ(0);}
@supports (-webkit-touch-callout:none){.banner-hero{background-attachment:scroll!important;}.custom-modal{height:-webkit-fill-available;}}
@media(max-width:1024px){nav{padding-left:5%;padding-right:5%;}.gallery-slide{height:330px;}.iso-card{gap:26px;}.contact{gap:28px;}}
@media(max-width:768px){.nav-links{overflow-y:auto;-webkit-overflow-scrolling:touch;}.nav-links a[href="#photo-gallery"]{display:block;}.contact,.footer-content{display:block!important;}.contact-info,.contact-form{width:100%!important;}.footer-column{margin-bottom:24px;}.gallery-carousel{max-width:100%!important;}.gallery-slide{height:285px;}.iso-copy h2{font-size:30px;}.contact-info a[href^="mailto:"],.footer-contact-line a[href^="mailto:"]{display:inline-block;margin-top:4px;}}
@media(max-width:480px){body{font-size:15px;}.banner-content h1{font-size:32px;line-height:1.15;}.gallery-carousel{padding:0 38px!important;}.gallery-slide{height:230px;}.gallery-btn{width:34px!important;height:34px!important;font-size:24px!important;line-height:30px!important;}.iso-card{padding:18px!important;border-radius:16px;}.iso-copy h2{font-size:26px;}.enhanced-form input,.enhanced-form select,.enhanced-form textarea{font-size:16px;}}
@media(max-width:360px){.gallery-carousel{padding:0 32px!important;}.gallery-slide{height:205px;}.banner-content h1{font-size:28px;}}


.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;}
.faq-section{background:#ffffff;color:#1d2340;padding:78px 7%;}
.faq-section .section-eyebrow,.faq-section h2{color:#1d2340;}
.faq-section .section-eyebrow::before{background:#b48842;}
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1120px;margin:28px auto 0;}
.faq-item{border:1px solid #dde0ef;background:#f8f6f0;border-radius:14px;padding:24px;box-shadow:0 10px 24px rgba(0,0,0,.06);}
.faq-item h3{color:#1d2340;font-size:1.05rem;margin:0 0 10px;font-weight:800;}
.faq-item p{color:#4f5667;line-height:1.7;margin:0;font-size:.95rem;}
.contact .section-sub{margin-bottom:1.5rem;}
.bform-submit,.contact-form .btn-primary{min-height:48px;}
.thank-you-section{min-height:100vh;display:flex!important;align-items:center;justify-content:center;text-align:left!important;}
.thank-you-card{max-width:780px!important;grid-template-columns:1fr!important;}
.banner-hero{background-color:#13163b;}
.banner-form-wrap{border:1px solid rgba(43,47,143,.18);}
@media(max-width:768px){.faq-grid{grid-template-columns:1fr;}.faq-section{padding:54px 5%;}.thank-you-section{text-align:center!important;}.banner-actions .btn-primary{width:100%;text-align:center;}}

.phone-link{color:#f4c060!important;background:rgba(29,35,64,.92);padding:2px 6px;border-radius:5px;font-weight:700;text-decoration:none;display:inline-block;}
.phone-link:hover{color:#fff!important;background:#b48842;text-decoration:none;}


.mobile-sticky-cta{
  display:none;
}
@media(max-width:768px){
  .mobile-sticky-cta{
    position:fixed;
    left:12px;
    right:12px;
    bottom:calc(12px + env(safe-area-inset-bottom));
    z-index:10000;
    display:flex;
    gap:10px;
    padding:10px;
    border-radius:16px;
    background:rgba(255,255,255,.96);
    box-shadow:0 12px 34px rgba(0,0,0,.28);
    border:1px solid rgba(43,47,143,.16);
    opacity:0;
    visibility:hidden;
    transform:translateY(130%);
    transition:opacity .28s ease, transform .28s ease, visibility .28s ease;
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
  }
  .mobile-sticky-cta.is-visible{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }
  .mobile-sticky-cta a{
    flex:1 1 0;
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    text-decoration:none;
    font-size:14px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }
  .mobile-sticky-quote{
    background:#2B2F8F;
    color:#fff!important;
  }
  .mobile-sticky-call{
    background:#f4c060;
    color:#1d2340!important;
    border:1px solid rgba(29,35,64,.14);
  }
  body.has-mobile-sticky-cta{
    padding-bottom:84px;
  }
}
@media(max-width:360px){
  .mobile-sticky-cta{
    left:8px;
    right:8px;
    gap:8px;
    padding:8px;
  }
  .mobile-sticky-cta a{
    font-size:12px;
    min-height:44px;
  }
}

