*{box-sizing:border-box}:root{--navy:#0b2851;--deep:#071d3b;--orange:#ff7800;--heading:#102e57;--text:#65758a;--line:#e5eaf0;--soft:#f8fafc;--white:#fff}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:#fff;font-size:17px;line-height:1.6}a{text-decoration:none;color:inherit}.container{width:calc(100% - 64px);max-width:1200px;margin:auto}.topbar{background:var(--deep);color:#d4dfec;font-size:13px}.topbar-in{height:36px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar a:hover{color:#fff}.header{height:70px;background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:20}.header-in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo{display:flex;align-items:center;gap:9px}.logo-mark{width:35px;height:35px;border-radius:8px;background:var(--orange);color:#fff;display:grid;place-items:center;font-size:18px;font-weight:800}.logo>span:last-child{display:flex;flex-direction:column;line-height:1}.logo b{font-size:15px;letter-spacing:.05em;color:var(--navy)}.logo small{font-size:11px;font-weight:800;color:var(--orange);letter-spacing:.1em;margin-top:4px}.nav{display:flex;align-items:center;gap:19px;color:#35465d;font-size:15px;font-weight:600}.nav a:hover{color:var(--orange)}.nav .call{color:var(--orange)}.orange-btn{border:0;background:var(--orange);color:#fff;border-radius:7px;padding:12px 18px;font-weight:800;font-size:15px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.small-btn{padding:10px 14px}.menu-btn{display:none;border:0;background:none;width:40px}.menu-btn i{display:block;height:2px;background:var(--navy);margin:5px}

.hero{background:linear-gradient(135deg,#071d3b,#103463);color:#fff;padding:62px 0 78px}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:65px;align-items:center}.hero-kicker,.mini-label,.section-title>span,.content-kicker,.dark-label,.mission-box>span{font-size:13px;letter-spacing:.11em;font-weight:800;color:var(--orange);text-transform:uppercase}.hero-kicker{display:inline-block;background:rgba(255,120,0,.12);padding:6px 9px;border-radius:5px;color:#ff9a42}.hero h1{font-size:44px;line-height:1.12;letter-spacing:-.035em;margin:16px 0 16px;max-width:620px}.hero h1 em{font-style:normal;color:#ff8d2b}.hero-copy>p{font-size:17px;color:#c4d1df;max-width:600px;margin:0 0 20px}.hero-pills{display:flex;gap:8px;flex-wrap:wrap}.hero-pills span{font-size:14px;padding:7px 9px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:rgba(255,255,255,.04)}.certs{display:flex;gap:20px;margin-top:23px;color:#d8e3ee;font-size:13px}.quote{background:#fff;border-radius:14px;padding:24px;color:var(--heading);box-shadow:0 25px 65px rgba(0,0,0,.22)}.quote h2{font-size:27px;margin:8px 0 12px;letter-spacing:-.02em}.step-line{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:11px}.step-line b{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:9px}.quote form{display:grid;gap:10px}.quote label{display:grid;gap:5px;font-size:13px;font-weight:700}.quote input,.quote select{height:40px;border:1px solid var(--line);border-radius:6px;padding:0 10px;font:inherit;font-size:15px;color:#41516a;background:#fff;width:100%}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.full{width:100%}.quote small{text-align:center;font-size:12px;color:#8a97a7}

.stats{margin-top:-44px;position:relative;z-index:5;background:linear-gradient(180deg,#fff,#fdfefe);border:1px solid #dfe6ee;border-radius:16px;box-shadow:0 18px 42px rgba(11,40,81,.14);display:grid;grid-template-columns:repeat(4,1fr);padding:25px 18px}
.stat-item{min-width:0;display:flex;align-items:center;gap:17px;padding:0 22px;border-right:1px solid #dfe6ee}
.stat-item:last-child{border-right:0}
.stat-icon{width:58px;height:58px;flex:0 0 58px;border-radius:50%;display:grid;place-items:center;position:relative}
.stat-icon:after{content:"";position:absolute;inset:-7px;border-radius:45% 55% 58% 42%;opacity:.38;z-index:-1}
.stat-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.stat-orange{color:#f36b20;background:#fff0e9}.stat-orange:after{background:#ffe6dc}
.stat-blue{color:#1768c5;background:#eaf3ff}.stat-blue:after{background:#dceaff}
.stat-green{color:#11a56e;background:#e9f9f2}.stat-green:after{background:#daf4e8}
.stat-gold{color:#f3a000;background:#fff5df}.stat-gold:after{background:#ffedc5}
.stat-copy{display:flex;flex-direction:column;min-width:0}
.stat-copy strong{font-size:28px;line-height:1.1;color:var(--navy);letter-spacing:-.035em}
.stat-copy b{font-size:15px;line-height:1.3;color:#344b68;margin-top:5px}
.stat-copy span{font-size:13px;line-height:1.45;color:#8290a3;margin-top:5px}
.section{padding:76px 0}.soft{background:var(--soft)}.section-title{text-align:center;max-width:650px;margin:0 auto 34px}.section-title h2{font-size:32px;line-height:1.2;color:var(--heading);letter-spacing:-.025em;margin:9px 0 8px}.section-title p{font-size:16px;margin:0;color:#7b899b}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.card{border:1px solid var(--line);border-radius:10px;padding:20px;background:#fff;display:flex;flex-direction:column;min-height:300px}.card>i{font-style:normal;width:39px;height:39px;border-radius:8px;background:#eef3f8;color:var(--navy);display:grid;place-items:center;font-size:18px;font-weight:800;margin-bottom:14px}.card h3{font-size:22px;color:var(--heading);margin:0 0 6px}.card p,.card li{font-size:16px}.card p{margin:0 0 9px}.card ul{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:4px}.card li:before{content:"✓";color:var(--orange);font-weight:800;margin-right:6px}.card a{font-size:15px;font-weight:800;color:var(--navy);margin-top:auto}.compare{display:grid;grid-template-columns:1fr 1fr;gap:17px;max-width:990px;margin:auto}.compare article{padding:23px;border-radius:11px;border:1px solid}.bad{background:#fff8f8;border-color:#f1dfe1!important}.good{background:#f5fcf8;border-color:#dcefe5!important}.compare h3{font-size:22px;color:var(--heading);margin:0 0 17px}.compare h3 i{font-style:normal;width:28px;height:28px;display:inline-grid;place-items:center;border-radius:50%;margin-right:7px}.bad h3 i{background:#ffe5e7;color:#dd5866}.good h3 i{background:#ddf6e9;color:#0c9669}.compare p{font-size:16px;margin:8px 0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.steps article{border:1px solid var(--line);border-radius:10px;padding:20px}.steps article>b{width:35px;height:35px;border-radius:50%;background:#edf3f8;color:var(--navy);display:grid;place-items:center;font-size:10px}.steps article:last-child>b{background:var(--orange);color:#fff}.steps h3{font-size:21px;color:var(--heading);margin:15px 0 5px}.steps p{font-size:16px;margin:0}.routes{background:var(--deep);color:#fff;padding:52px 0}.routes h2{font-size:32px;margin:7px 0 5px}.routes>div>p{font-size:16px;color:#adbbcb;margin:0 0 20px}.dark-label{color:#ff9941}.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.route-grid a{font-size:15px;font-weight:600;color:#dce5ef;padding:11px 13px;border:1px solid rgba(255,255,255,.09);border-radius:6px;background:rgba(255,255,255,.04)}.route-grid a:hover{border-color:rgba(255,120,0,.4)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.review-grid article{border:1px solid var(--line);border-radius:10px;padding:20px}.stars{font-size:10px;color:var(--orange);letter-spacing:1px}.review-grid article>p{font-size:16px;line-height:1.75;min-height:82px}.review-grid footer{border-top:1px solid var(--line);padding-top:12px;display:flex;align-items:center;gap:9px}.review-grid footer>b{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#eef3f8;color:var(--navy);font-size:9px}.review-grid footer span{display:flex;flex-direction:column}.review-grid footer strong{font-size:15px;color:var(--heading)}.review-grid footer small{font-size:13px;color:#8a97a7}

/* New long-form body content area */
.content-section{background:#f8fafc;border-top:1px solid #eef1f5;padding:78px 0}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:55px;align-items:start}.body-content{background:#fff;border:1px solid var(--line);border-radius:12px;padding:38px 42px}.body-content h2{font-size:32px;line-height:1.3;color:var(--heading);letter-spacing:-.025em;margin:9px 0 18px}.body-content h3{font-size:22px;line-height:1.4;color:var(--heading);margin:30px 0 9px}.body-content p,.body-content li{font-size:17px;line-height:1.8;color:#5e6f85}.body-content p{margin:0 0 16px}.body-content ul{padding-left:19px;margin:9px 0 18px}.body-content li{margin:5px 0}.content-sidebar{display:grid;gap:15px;position:sticky;top:20px}.side-box,.side-links{background:#fff;border:1px solid var(--line);border-radius:11px;padding:22px}.side-box>span{font-size:9px;letter-spacing:.1em;color:var(--orange);font-weight:800}.side-box h3,.side-links h3{font-size:22px;line-height:1.35;color:var(--heading);margin:8px 0}.side-box p{font-size:15px;margin:0 0 16px}.side-links{display:flex;flex-direction:column}.side-links h3{margin:0 0 11px}.side-links a{font-size:15px;padding:9px 0;border-top:1px solid #edf0f3;display:flex;justify-content:space-between}.side-links b{color:var(--orange)}

.mission{padding:25px 0 76px;background:#fff}.mission-box{background:var(--navy);color:#fff;border-radius:13px;padding:52px 30px;text-align:center}.mission-box>span{color:#ff9941}.mission-box h2{font-size:24px;line-height:1.45;max-width:780px;margin:14px auto 10px}.mission-box p{font-size:9px;color:#b4c1d0;margin:0 0 20px}.footer{background:var(--deep);color:#aebccc}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.05fr;gap:42px;padding:52px 0 40px}.footer-grid>div{display:flex;flex-direction:column;gap:7px}.footer-grid h4{font-size:17px;color:#fff;margin:0 0 5px}.footer-grid p,.footer-grid a{font-size:14px;margin:0}.footer-about p{font-size:14px;line-height:1.75;max-width:300px;margin-top:9px}.footer-logo{margin-bottom:5px}.footer-logo b{color:#fff}.copyright{border-top:1px solid rgba(255,255,255,.08);min-height:55px;display:flex;justify-content:space-between;align-items:center;font-size:13px}.copyright div{display:flex;gap:15px}

@media(max-width:980px){.nav{gap:11px}.hero-grid{gap:35px}.hero h1{font-size:38px}.content-layout{grid-template-columns:1fr 260px;gap:25px}}
@media(max-width:850px){.menu-btn{display:block}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:15px 24px;border-bottom:1px solid var(--line);box-shadow:0 15px 30px rgba(7,29,59,.1)}.nav.open{display:flex}.nav a{padding:8px 0}.hero-grid{grid-template-columns:1fr}.hero-copy{text-align:center}.hero-copy h1,.hero-copy>p{margin-left:auto;margin-right:auto}.hero-pills,.certs{justify-content:center}.service-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.content-layout{grid-template-columns:1fr}.content-sidebar{position:static;grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){body{font-size:14px}.container{width:calc(100% - 28px)}.topbar{display:none}.header{height:64px}.nav{top:64px}.hero{padding:45px 0 60px}.hero h1{font-size:33px}.hero-copy>p{font-size:12px}.certs{flex-wrap:wrap;gap:9px}.two{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr;padding:0}.stats>div{padding:15px 6px;border-bottom:1px solid var(--line)}.stats>div:nth-child(2){border-right:0}.stats>div:nth-child(3),.stats>div:nth-child(4){border-bottom:0}.section{padding:58px 0}.section-title h2{font-size:25px}.service-grid,.compare,.steps,.route-grid,.review-grid{grid-template-columns:1fr}.card{min-height:auto}.content-section{padding:58px 0}.body-content{padding:25px 20px}.body-content h2{font-size:25px}.body-content h3{font-size:18px}.body-content p,.body-content li{font-size:14px}.content-sidebar{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-about{grid-column:1/-1}.copyright{display:block;padding:16px 0}.copyright div{margin-top:7px;flex-wrap:wrap}.mission-box h2{font-size:21px}}
@media(max-width:1050px){
  .stats{grid-template-columns:1fr 1fr;padding:8px 18px}
  .stat-item{padding:18px 22px}
  .stat-item:nth-child(2){border-right:0}
  .stat-item:nth-child(1),.stat-item:nth-child(2){border-bottom:1px solid #dfe6ee}
}
@media(max-width:620px){
  .container{width:calc(100% - 32px)}
  .stats{grid-template-columns:1fr;margin-top:-28px;padding:6px 17px;border-radius:14px}
  .stat-item{border-right:0!important;border-bottom:1px solid #e4e9ef!important;padding:17px 4px;gap:16px;text-align:left}
  .stat-item:last-child{border-bottom:0!important}
  .stat-icon{width:52px;height:52px;flex-basis:52px}
  .stat-icon svg{width:27px;height:27px}
  .stat-copy strong{font-size:25px}
  .stat-copy b{font-size:15px}
  .stat-copy span{font-size:13px}
  .hero h1{font-size:34px}
  .section-title h2,.body-content h2{font-size:28px}
  .card h3,.compare h3,.steps h3,.body-content h3{font-size:21px}
  .body-content p,.body-content li,.card p,.card li,.compare p,.steps p,.review-grid article>p{font-size:16px}
}


/* =========================================================
   FINAL TYPOGRAPHY SYSTEM — USER APPROVED
   Desktop:
   paragraph 15px | H1 44px | H2 32px | H3 22px
   menu/buttons 15px | supporting text 13px
   Mobile:
   paragraph 15px | H1 32px | H2 26px | H3 21px
   menu/buttons 15px | supporting text 13px
   ========================================================= */

body{
  font-size:15px;
  line-height:1.6;
}

/* Main heading */
.hero h1{
  font-size:44px;
  line-height:1.14;
}

/* Section headings */
.section-title h2,
.routes h2,
.body-content h2{
  font-size:32px;
  line-height:1.25;
}

/* Subheadings */
.card h3,
.compare h3,
.steps h3,
.body-content h3,
.side-box h3,
.side-links h3{
  font-size:22px;
  line-height:1.4;
}

/* Normal paragraphs/content */
.hero-copy>p,
.section-title p,
.card p,
.card li,
.compare p,
.steps p,
.routes>div>p,
.review-grid article>p,
.body-content p,
.body-content li,
.side-box p{
  font-size:15px;
}

/* Navigation / buttons */
.nav,
.orange-btn,
.card a,
.route-grid a,
.side-links a{
  font-size:15px;
}

/* Small supporting text */
.hero-kicker,
.mini-label,
.section-title>span,
.content-kicker,
.dark-label,
.mission-box>span,
.hero-pills span,
.certs,
.quote label,
.quote small,
.stat-copy span,
.review-grid footer small,
.footer-grid p,
.footer-grid a,
.footer-about p,
.copyright{
  font-size:13px;
}

/* Form text should remain easy to read */
.quote input,
.quote select{
  font-size:15px;
}

/* Quote heading is a card heading, not page H2 */
.quote h2{
  font-size:24px;
}

/* Stats hierarchy */
.stat-copy strong{
  font-size:28px;
}
.stat-copy b{
  font-size:15px;
}
.stat-copy span{
  font-size:13px;
}

/* Review names */
.review-grid footer strong{
  font-size:15px;
}

/* Footer headings */
.footer-grid h4{
  font-size:16px;
}

/* Mission statement is a visual CTA heading */
.mission-box h2{
  font-size:28px;
  line-height:1.45;
}

/* Keep normal desktop side spacing */
.container{
  width:calc(100% - 64px);
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
}

@media(max-width:620px){
  body{
    font-size:15px;
  }

  .container{
    width:calc(100% - 32px);
  }

  .hero h1{
    font-size:32px;
    line-height:1.16;
  }

  .section-title h2,
  .routes h2,
  .body-content h2{
    font-size:26px;
    line-height:1.3;
  }

  .card h3,
  .compare h3,
  .steps h3,
  .body-content h3,
  .side-box h3,
  .side-links h3{
    font-size:21px;
  }

  .hero-copy>p,
  .section-title p,
  .card p,
  .card li,
  .compare p,
  .steps p,
  .routes>div>p,
  .review-grid article>p,
  .body-content p,
  .body-content li,
  .side-box p{
    font-size:15px;
  }

  .nav,
  .orange-btn,
  .card a,
  .route-grid a,
  .side-links a{
    font-size:15px;
  }

  .hero-kicker,
  .mini-label,
  .section-title>span,
  .content-kicker,
  .dark-label,
  .mission-box>span,
  .hero-pills span,
  .certs,
  .quote label,
  .quote small,
  .stat-copy span,
  .review-grid footer small,
  .footer-grid p,
  .footer-grid a,
  .footer-about p,
  .copyright{
    font-size:13px;
  }

  .quote h2{
    font-size:24px;
  }

  .mission-box h2{
    font-size:26px;
  }

  .stat-copy strong{
    font-size:26px;
  }

  .stat-copy b{
    font-size:15px;
  }

  .stat-copy span{
    font-size:13px;
  }
}


/* =========================================================
   FINAL BALANCED TYPOGRAPHY
   Typography only — layout/colors/spacing/components unchanged
   ========================================================= */

/* Base readable copy */
body{
  font-size:15px;
  line-height:1.65;
}

/* Header hierarchy */
.topbar{
  font-size:12px;
}
.logo b{
  font-size:14px;
}
.logo small{
  font-size:9px;
}
.nav{
  font-size:13px;
}
.nav .orange-btn,
.header .orange-btn{
  font-size:13px;
}

/* Small labels / eyebrow text */
.hero-kicker,
.mini-label,
.section-title>span,
.content-kicker,
.dark-label,
.mission-box>span{
  font-size:11px;
  line-height:1.4;
}

/* Hero */
.hero h1{
  font-size:46px;
  line-height:1.12;
}
.hero-copy>p{
  font-size:16px;
  line-height:1.7;
}
.hero-pills span{
  font-size:12px;
}
.certs{
  font-size:11px;
}

/* Quote card */
.quote h2{
  font-size:25px;
  line-height:1.25;
}
.step-line{
  font-size:12px;
}
.quote label{
  font-size:12px;
}
.quote input,
.quote select{
  font-size:14px;
}
.quote .orange-btn{
  font-size:14px;
}
.quote small{
  font-size:11px;
}

/* Highlighted statistics */
.stat-copy strong{
  font-size:28px;
  line-height:1.1;
}
.stat-copy b{
  font-size:14px;
  line-height:1.35;
}
.stat-copy span{
  font-size:11px;
  line-height:1.5;
}

/* Main section heading hierarchy */
.section-title h2,
.routes h2{
  font-size:32px;
  line-height:1.22;
}
.section-title p,
.routes>div>p{
  font-size:14px;
  line-height:1.7;
}

/* Service cards */
.card h3{
  font-size:18px;
  line-height:1.35;
}
.card p,
.card li{
  font-size:14px;
  line-height:1.65;
}
.card a{
  font-size:13px;
}

/* Comparison */
.compare h3{
  font-size:18px;
  line-height:1.4;
}
.compare p{
  font-size:14px;
  line-height:1.65;
}

/* Process */
.steps h3{
  font-size:17px;
  line-height:1.4;
}
.steps p{
  font-size:14px;
  line-height:1.65;
}

/* Route buttons */
.route-grid a{
  font-size:13px;
}

/* Reviews */
.review-grid article>p{
  font-size:14px;
  line-height:1.75;
}
.review-grid footer strong{
  font-size:13px;
}
.review-grid footer small{
  font-size:11px;
}

/* Long-form SEO/body content:
   intentionally slightly larger than card copy for reading */
.body-content h2{
  font-size:30px;
  line-height:1.3;
}
.body-content h3{
  font-size:21px;
  line-height:1.4;
}
.body-content p,
.body-content li{
  font-size:15px;
  line-height:1.8;
}

/* Body content sidebar */
.side-box h3,
.side-links h3{
  font-size:18px;
}
.side-box p{
  font-size:14px;
}
.side-box .orange-btn{
  font-size:14px;
}
.side-links a{
  font-size:13px;
}

/* Mission CTA */
.mission-box h2{
  font-size:27px;
  line-height:1.45;
}
.mission-box p{
  font-size:12px;
}
.mission-box .orange-btn{
  font-size:14px;
}

/* Footer should stay quieter than page content */
.footer-grid h4{
  font-size:15px;
}
.footer-grid p,
.footer-grid a,
.footer-about p{
  font-size:12px;
  line-height:1.7;
}
.copyright{
  font-size:11px;
}

/* Generic buttons outside header/quote */
.orange-btn{
  font-size:14px;
}

/* Mobile hierarchy */
@media(max-width:620px){
  body{
    font-size:15px;
  }

  .logo b{
    font-size:13px;
  }
  .logo small{
    font-size:9px;
  }
  .nav{
    font-size:15px;
  }

  .hero h1{
    font-size:33px;
    line-height:1.16;
  }
  .hero-copy>p{
    font-size:15px;
  }
  .hero-pills span{
    font-size:12px;
  }
  .certs{
    font-size:11px;
  }

  .quote h2{
    font-size:23px;
  }
  .quote label{
    font-size:12px;
  }
  .quote input,
  .quote select{
    font-size:14px;
  }

  .stat-copy strong{
    font-size:25px;
  }
  .stat-copy b{
    font-size:14px;
  }
  .stat-copy span{
    font-size:11px;
  }

  .section-title h2,
  .routes h2{
    font-size:27px;
  }
  .section-title p,
  .routes>div>p{
    font-size:14px;
  }

  .card h3,
  .compare h3{
    font-size:19px;
  }
  .steps h3{
    font-size:18px;
  }
  .card p,
  .card li,
  .compare p,
  .steps p,
  .review-grid article>p{
    font-size:14px;
  }

  .body-content h2{
    font-size:27px;
  }
  .body-content h3{
    font-size:20px;
  }
  .body-content p,
  .body-content li{
    font-size:15px;
  }

  .mission-box h2{
    font-size:24px;
  }

  .footer-grid h4{
    font-size:15px;
  }
  .footer-grid p,
  .footer-grid a,
  .footer-about p{
    font-size:15px;
  }
}


/* =========================================================
   MULTI-PAGE ARCHITECTURE — V5 THEME
   ========================================================= */
.nav>a.active,.nav-drop>a.active{color:var(--orange)}
.nav-drop{position:relative}
.nav-drop>a{display:flex;align-items:center;gap:4px}
.nav-drop>a span{font-size:12px}
.drop-menu{position:absolute;top:calc(100% + 17px);left:-18px;min-width:210px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:7px;box-shadow:0 16px 35px rgba(7,29,59,.12);opacity:0;visibility:hidden;transform:translateY(7px);transition:.18s ease}
.drop-menu:before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.nav-drop:hover .drop-menu{opacity:1;visibility:visible;transform:none}
.drop-menu a{display:block;padding:9px 11px;border-radius:6px;font-size:13px;color:#40516a;white-space:nowrap}
.drop-menu a:hover{background:#f7f9fc;color:var(--orange)}

.inner-hero{background:linear-gradient(135deg,#071d3b,#103463);color:#fff;padding:66px 0 70px;text-align:center}
.inner-hero .container{max-width:820px}
.inner-hero span{font-size:11px;letter-spacing:.12em;font-weight:800;color:#ff9941}
.inner-hero h1{font-size:40px;line-height:1.16;letter-spacing:-.035em;margin:12px 0 12px}
.inner-hero p{font-size:15px;line-height:1.7;color:#c7d3e0;max-width:700px;margin:auto}

.inner-section{padding:78px 0}
.inner-heading{text-align:center;max-width:680px;margin:0 auto 35px}
.inner-heading h2,.inner-copy h2,.contact-copy h2{font-size:30px;line-height:1.3;color:var(--heading);letter-spacing:-.025em;margin:8px 0 10px}
.inner-heading p,.inner-copy p,.contact-copy p{font-size:15px;line-height:1.8;margin:0 0 16px}
.inner-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.inner-card{border:1px solid var(--line);border-radius:11px;padding:23px;background:#fff;display:flex;flex-direction:column;min-height:260px}
.inner-icon{width:42px;height:42px;border-radius:9px;background:#eef3f8;color:var(--navy);display:grid;place-items:center;font-size:19px;font-weight:800;margin-bottom:17px}
.inner-card h3{font-size:18px;line-height:1.4;color:var(--heading);margin:0 0 8px}
.inner-card p{font-size:14px;line-height:1.7;margin:0 0 18px}
.inner-card a{font-size:13px;font-weight:800;color:var(--navy);margin-top:auto}
.inner-two{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:55px;align-items:start}
.inner-copy{background:#fff}
.inner-copy h3{font-size:21px;line-height:1.4;color:var(--heading);margin:29px 0 8px}
.inner-copy ul{padding-left:20px}
.inner-copy li{font-size:15px;line-height:1.8;margin:5px 0}
.inner-highlight{background:var(--navy);color:#fff;border-radius:13px;padding:27px;position:sticky;top:20px}
.inner-highlight>span{font-size:11px;letter-spacing:.1em;color:#ff9941;font-weight:800}
.inner-highlight h3{font-size:21px;line-height:1.4;margin:8px 0;color:#fff}
.inner-highlight p{font-size:14px;line-height:1.7;color:#c4d0df;margin:0 0 19px}

.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gallery-grid>div{height:235px;border-radius:11px;background:linear-gradient(145deg,#edf2f7,#e3eaf2);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center}
.gallery-grid span{font-size:11px;letter-spacing:.1em;color:var(--orange);font-weight:800}
.gallery-grid b{font-size:16px;color:var(--heading);margin-top:5px}

.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.blog-grid article{border:1px solid var(--line);border-radius:11px;padding:24px}
.blog-grid span{font-size:11px;color:var(--orange);font-weight:800;letter-spacing:.08em}
.blog-grid h3{font-size:19px;line-height:1.4;color:var(--heading);margin:9px 0}
.blog-grid p{font-size:14px;line-height:1.7}
.blog-grid a{font-size:13px;color:var(--navy);font-weight:800}

.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}
.contact-points{display:grid;gap:10px;margin-top:25px}
.contact-points div{display:flex;flex-direction:column;padding:13px 0;border-bottom:1px solid var(--line)}
.contact-points b{font-size:13px;color:var(--heading)}
.contact-points a,.contact-points span{font-size:14px;margin-top:3px}
.contact-form{border:1px solid var(--line);border-radius:12px;padding:27px;display:grid;gap:14px;box-shadow:0 12px 30px rgba(11,40,81,.06)}
.contact-form label{font-size:12px;font-weight:700;color:#43536b;display:grid;gap:6px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:11px;font:inherit;font-size:14px;color:#40516a;background:#fff;outline:none}
.form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}

@media(max-width:1000px){
 .inner-card-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:850px){
 .nav-drop>a{justify-content:space-between}
 .drop-menu{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-radius:0;padding:0 0 4px 14px}
 .nav-drop.mobile-open .drop-menu{display:block}
 .drop-menu a{border-bottom:1px solid #f0f2f5;border-radius:0}
 .inner-two,.contact-layout{grid-template-columns:1fr}
 .inner-highlight{position:static}
}
@media(max-width:620px){
 .inner-hero{padding:50px 0 54px}
 .inner-hero h1{font-size:31px}
 .inner-hero p{font-size:15px}
 .inner-section{padding:58px 0}
 .inner-heading h2,.inner-copy h2,.contact-copy h2{font-size:27px}
 .inner-card-grid,.gallery-grid,.blog-grid{grid-template-columns:1fr}
 .inner-card{min-height:auto}
 .inner-copy h3,.inner-highlight h3{font-size:20px}
 .gallery-grid>div{height:200px}
 .form-two{grid-template-columns:1fr}
}


/* =========================================================
   WHATSAPP + MOBILE STICKY CTA
   ========================================================= */
.floating-whatsapp{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:999;
  height:52px;
  padding:0 17px 0 12px;
  border-radius:28px;
  background:#25d366;
  color:#fff;
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:800;
  box-shadow:0 10px 28px rgba(16,120,67,.28);
  transition:transform .2s ease,box-shadow .2s ease;
}
.floating-whatsapp:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(16,120,67,.34);
  color:#fff;
}
.floating-whatsapp svg{
  width:28px;
  height:28px;
  fill:#fff;
}
.floating-whatsapp .wa-phone{
  fill:#25d366;
}

.mobile-sticky-cta{display:none}

@media(max-width:620px){
  /* Fixed CTA occupies space at the bottom; prevent page/footer content hiding behind it */
  body{
    padding-bottom:72px;
  }

  /* On mobile the dedicated CTA bar replaces the separate floating button */
  .floating-whatsapp{
    display:none;
  }

  .mobile-sticky-cta{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1000;
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    height:64px;
    padding-bottom:env(safe-area-inset-bottom);
    background:#fff;
    border-top:1px solid #dfe5ec;
    box-shadow:0 -8px 24px rgba(7,29,59,.12);
  }

  .mobile-sticky-cta a{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    font-size:11px;
    line-height:1.1;
    font-weight:800;
    border-right:1px solid rgba(0,0,0,.07);
  }
  .mobile-sticky-cta a:last-child{border-right:0}

  .mobile-sticky-cta svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .mobile-call{
    color:var(--navy);
    background:#fff;
  }

  .mobile-whatsapp{
    color:#fff;
    background:#25d366;
  }
  .mobile-whatsapp svg{
    width:23px;
    height:23px;
    fill:#fff;
    stroke:none;
  }
  .mobile-whatsapp .wa-phone{
    fill:#25d366;
  }

  .mobile-quote{
    color:#fff;
    background:var(--orange);
  }
}


/* NAVBAR + FOOTER TEXT SIZE — MATCH BODY COPY */
.nav,.nav > a,.nav-drop > a,.drop-menu a{font-size:15px}
.footer-grid p,.footer-grid a,.footer-about p{font-size:15px}
@media(max-width:620px){
  .nav,.nav > a,.nav-drop > a,.drop-menu a,
  .footer-grid p,.footer-grid a,.footer-about p{font-size:15px}
}


/* =========================================================
   PREMIUM INTERACTIONS — subtle motion, no theme/layout change
   ========================================================= */
.card,.compare article,.steps article,.review-grid article,.route-grid a,.side-box,.side-links{
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background-color .24s ease;
}
.card:hover,.compare article:hover,.steps article:hover,.review-grid article:hover{
  transform:translateY(-5px) scale(1.008);
  box-shadow:0 14px 30px rgba(11,40,81,.10);
  border-color:rgba(255,120,0,.34);
}
.card>i{
  transition:transform .24s ease,background-color .24s ease,color .24s ease;
}
.card:hover>i{
  transform:scale(1.08) rotate(-2deg);
  background:#fff1e5;
  color:var(--orange);
}
.route-grid a:hover{
  transform:translateY(-2px);
  background:rgba(255,120,0,.10);
  border-color:rgba(255,120,0,.58);
  color:#fff;
}
.orange-btn{
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.orange-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 9px 20px rgba(255,120,0,.22);
  filter:brightness(1.04);
}
.stat-item{
  transition:transform .22s ease;
}
.stat-item:hover{transform:translateY(-3px)}
.stat-item:hover .stat-icon{transform:scale(1.06)}
.stat-icon{transition:transform .22s ease}

/* Scroll reveal */
.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .6s ease,transform .6s ease;
}
.reveal.is-visible{
  opacity:1;
  transform:none;
}

/* Auto-moving reviews: duplicates are generated visually by CSS/JS-free layout? 
   Track uses the existing three cards and a gentle horizontal ping-pong animation. */
.review-viewport{
  overflow:hidden;
  padding:3px 2px 18px;
  margin:0 -2px;
}
.review-track{
  display:flex;
  width:max-content;
  gap:15px;
  animation:reviewGlide 12s ease-in-out infinite alternate;
}
.review-track article{
  width:370px;
  flex:0 0 370px;
}
.review-viewport:hover .review-track{animation-play-state:paused}
@keyframes reviewGlide{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-100% + min(100vw - 64px, 1200px)))}
}

/* Subtle WhatsApp attention, not a constant bounce */
@keyframes waPulse{
  0%,82%,100%{box-shadow:0 10px 28px rgba(16,120,67,.28);transform:translateY(0)}
  88%{box-shadow:0 10px 34px rgba(37,211,102,.46);transform:translateY(-2px)}
  94%{box-shadow:0 10px 28px rgba(16,120,67,.28);transform:translateY(0)}
}
.floating-whatsapp{animation:waPulse 6s ease-in-out infinite}
.floating-whatsapp:hover{animation-play-state:paused}

@media(max-width:620px){
  .review-track article{
    width:calc(100vw - 48px);
    flex-basis:calc(100vw - 48px);
  }
  @keyframes reviewGlide{
    from{transform:translateX(0)}
    to{transform:translateX(calc(-200vw + 96px))}
  }
}

/* Respect visitors who prefer reduced motion */
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .review-track,.floating-whatsapp{animation:none!important}
  .card,.compare article,.steps article,.review-grid article,.route-grid a,.orange-btn,.stat-item,.stat-icon{transition:none}
}

/* LANDING PAGES — services + locations */
.lp-hero{padding:62px 0;background:linear-gradient(135deg,#081a3c 0%,#0f2c58 68%,#173b70 100%);color:#fff;overflow:hidden}.lp-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center}.lp-kicker{display:inline-block;color:#ff9b3d;font-size:12px;font-weight:800;letter-spacing:.13em;margin-bottom:13px}.lp-hero h1{font-size:46px;line-height:1.08;margin:0 0 18px;color:#fff}.lp-hero p{font-size:16px;line-height:1.75;color:#dce6f5;max-width:690px;margin:0 0 25px}.lp-actions{display:flex;gap:12px;flex-wrap:wrap}.lp-outline{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.5);color:#fff;padding:13px 20px;border-radius:8px;font-size:14px;font-weight:700}.lp-visual img{width:100%;display:block;border-radius:20px;box-shadow:0 24px 55px rgba(0,0,0,.24)}
.lp-trust{background:#fff;border-bottom:1px solid #e7ebf1}.lp-trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.lp-trust-item{padding:18px 14px;text-align:center;font-size:14px;font-weight:700;color:#17304f;border-right:1px solid #e7ebf1}.lp-trust-item:last-child{border-right:0}.lp-trust-item b{color:#ff7a00;margin-right:5px}
.lp-section{padding:64px 0}.lp-soft{background:#f7f9fc}.lp-head{max-width:760px;margin:0 auto 34px;text-align:center}.lp-head span{font-size:12px;font-weight:800;letter-spacing:.12em;color:#ff7a00}.lp-head h2{font-size:32px;line-height:1.2;margin:8px 0 12px;color:#102b50}.lp-head p{margin:0;color:#607086;line-height:1.7}.lp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.lp-card{background:#fff;border:1px solid #e5eaf1;border-radius:14px;padding:24px;box-shadow:0 8px 22px rgba(11,40,81,.05);transition:.25s ease}.lp-card:hover{transform:translateY(-5px);border-color:#ffb46d;box-shadow:0 15px 30px rgba(11,40,81,.11)}.lp-card .num{width:38px;height:38px;border-radius:10px;background:#fff1e5;color:#ff7a00;display:grid;place-items:center;font-weight:800;margin-bottom:15px}.lp-card h3{font-size:19px;margin:0 0 9px;color:#102b50}.lp-card p{font-size:14px;line-height:1.65;color:#657489;margin:0}
.lp-price-wrap{overflow-x:auto;border:1px solid #e3e8ef;border-radius:14px;background:#fff;box-shadow:0 10px 28px rgba(11,40,81,.06)}.lp-price{width:100%;border-collapse:collapse;min-width:760px}.lp-price th{background:#0f2c58;color:#fff;padding:15px 13px;font-size:13px;text-align:left}.lp-price td{padding:14px 13px;border-bottom:1px solid #e9edf3;font-size:14px;color:#31455f}.lp-price tr:last-child td{border-bottom:0}.lp-price tr:nth-child(even) td{background:#fafbfd}.lp-price td:first-child{font-weight:700;color:#102b50}.lp-note{font-size:12px;color:#728096;margin-top:12px;line-height:1.6}.lp-process{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.lp-step{text-align:center;padding:22px 16px}.lp-step strong{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;margin:0 auto 13px;background:#ff7a00;color:#fff}.lp-step h3{font-size:17px;color:#102b50;margin:0 0 7px}.lp-step p{font-size:13px;line-height:1.6;color:#6c7b90;margin:0}.lp-cta{background:#0f2c58;border-radius:18px;padding:36px 40px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:28px}.lp-cta h2{font-size:28px;margin:0 0 7px;color:#fff}.lp-cta p{margin:0;color:#dce6f5}.lp-faq{max-width:900px;margin:auto}.lp-faq details{background:#fff;border:1px solid #e3e8ef;border-radius:10px;margin-bottom:10px;padding:0 18px}.lp-faq summary{cursor:pointer;padding:17px 0;font-size:15px;font-weight:700;color:#102b50}.lp-faq details p{padding:0 0 17px;margin:0;color:#64748b;font-size:14px;line-height:1.7}.lp-two{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.lp-copy h2{font-size:30px;color:#102b50;margin:0 0 14px}.lp-copy p{font-size:15px;color:#607086;line-height:1.75}.lp-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.lp-checks div{background:#f7f9fc;border:1px solid #e7ebf1;padding:12px 14px;border-radius:9px;font-size:14px;font-weight:600;color:#263d5a}.lp-checks b{color:#ff7a00;margin-right:6px}
@media(max-width:900px){.lp-hero-grid,.lp-two{grid-template-columns:1fr}.lp-visual{max-width:650px}.lp-cards{grid-template-columns:1fr 1fr}.lp-process{grid-template-columns:1fr 1fr}.lp-trust-grid{grid-template-columns:1fr 1fr}.lp-trust-item:nth-child(2){border-right:0}.lp-trust-item:nth-child(-n+2){border-bottom:1px solid #e7ebf1}}
@media(max-width:620px){.lp-hero{padding:42px 0}.lp-hero-grid{gap:28px}.lp-hero h1{font-size:33px}.lp-hero p{font-size:15px}.lp-section{padding:46px 0}.lp-head h2,.lp-copy h2{font-size:27px}.lp-cards,.lp-process{grid-template-columns:1fr}.lp-trust-item{font-size:12px}.lp-cta{padding:28px 22px;display:block}.lp-cta .lp-actions{margin-top:20px}.lp-checks{grid-template-columns:1fr}}
