:root{
  --navy:#0d1b3d;
  --navy-soft:#16264d;
  --blue:#1565c0;
  --blue-soft:#e8f1fb;
  --orange:#ff6a00;
  --orange-bright:#ff7f22;
  --grey-100:#f7f8fa;
  --grey-200:#e6e8eb;
  --white:#ffffff;
  --text-dim:#5b6472;
  --hairline:rgba(13,27,61,0.10);
  --hairline-dark:rgba(255,255,255,0.14);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--grey-100);color:var(--navy);font-family:'Montserrat',sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3{font-family:'Montserrat',sans-serif;font-weight:800;letter-spacing:-0.01em;color:var(--navy);}
.mono{font-family:'IBM Plex Mono',monospace;}
a{color:inherit;text-decoration:none;}
img,svg{display:block;max-width:100%;}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px;}
p{color:var(--text-dim);}

.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--hairline);}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;max-width:1120px;margin:0 auto;gap:20px;}
.brand{display:flex;align-items:center;gap:10px;}
.brand img.logo-nav{height:40px;width:auto;}
nav.main-nav{display:flex;align-items:center;gap:22px;font-size:0.92rem;font-weight:600;color:var(--navy);}
nav.main-nav a:hover{color:var(--orange);}
.nav-drop{position:relative;}
.nav-drop-panel{
  position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%);
  background:var(--white);border:1px solid var(--hairline);border-radius:12px;
  padding:10px;min-width:230px;display:none;flex-direction:column;gap:2px;
  box-shadow:0 24px 48px -18px rgba(13,27,61,0.25);
}
.nav-drop:hover .nav-drop-panel{display:flex;}
.nav-drop-panel a{padding:9px 12px;border-radius:8px;font-size:0.88rem;font-weight:500;color:var(--text-dim);}
.nav-drop-panel a:hover{background:var(--grey-100);color:var(--navy);}
.call-pill{display:flex;align-items:center;gap:8px;background:var(--orange);color:var(--white);padding:10px 18px;border-radius:999px;font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:0.92rem;white-space:nowrap;transition:background .18s ease, transform .18s ease;}
.call-pill:hover{background:var(--orange-bright);transform:translateY(-1px);}
.call-pill svg{width:16px;height:16px;flex-shrink:0;}

.breadcrumb{padding:16px 0;font-size:0.82rem;color:var(--text-dim);}
.breadcrumb a:hover{color:var(--orange);}
.breadcrumb span{margin:0 6px;opacity:.5;}

.hero{position:relative;padding:64px 0 60px;overflow:hidden;border-bottom:1px solid var(--hairline);}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 12%, rgba(255,106,0,0.08), transparent 45%),radial-gradient(circle at 6% 95%, rgba(21,101,192,0.10), transparent 50%);pointer-events:none;}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr 0.85fr;gap:48px;align-items:center;}
.badge-24{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--orange);background:#fff4ec;color:#c95400;padding:6px 14px;border-radius:999px;font-family:'IBM Plex Mono',monospace;font-size:0.76rem;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:20px;font-weight:600;}
.badge-24 .dot{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px rgba(255,106,0,0.25);animation:pulse 2.2s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.4;}}
.hero h1{font-size:clamp(2rem,3.6vw,3.05rem);line-height:1.1;margin-bottom:18px;}
.hero h1 em{font-style:normal;color:var(--orange);}
.hero p.lede{color:var(--text-dim);font-size:1.08rem;max-width:52ch;margin-bottom:28px;}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:28px;}
.btn-primary{display:inline-flex;align-items:center;gap:10px;background:var(--orange);color:var(--white);padding:16px 26px;border-radius:10px;font-weight:700;font-size:1.02rem;box-shadow:0 12px 28px -12px rgba(255,106,0,0.5);transition:transform .18s ease, background .18s ease;}
.btn-primary:hover{background:var(--orange-bright);transform:translateY(-2px);}
.btn-primary svg{width:19px;height:19px;transition:transform .3s ease;}
.btn-primary:hover svg{transform:rotate(-18deg);}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--navy);color:var(--navy);padding:16px 24px;border-radius:10px;font-weight:600;transition:border-color .18s ease, background .18s ease;}
.btn-secondary:hover{background:var(--navy);color:var(--white);}
.trust-row{display:flex;flex-wrap:wrap;gap:20px;color:var(--text-dim);font-size:0.86rem;}
.trust-row span{display:flex;align-items:center;gap:7px;font-weight:500;}
.trust-row svg{width:15px;height:15px;color:var(--blue);flex-shrink:0;}

.signature{position:relative;display:flex;align-items:center;justify-content:center;}
.signature-frame{position:relative;width:100%;max-width:340px;aspect-ratio:1/1;border-radius:24px;background:linear-gradient(160deg, var(--white), var(--grey-200));border:1px solid var(--hairline);display:flex;align-items:center;justify-content:center;box-shadow:0 40px 80px -30px rgba(13,27,61,0.18);}
.signature-frame img{width:58%;height:auto;}
.keytag{position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);background:var(--navy);color:var(--white);font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:0.75rem;letter-spacing:0.05em;padding:8px 16px;border-radius:6px;box-shadow:0 12px 24px -10px rgba(13,27,61,0.4);white-space:nowrap;}

section{padding:72px 0;border-bottom:1px solid var(--hairline);}
.eyebrow{font-family:'IBM Plex Mono',monospace;color:var(--blue);text-transform:uppercase;letter-spacing:0.12em;font-size:0.76rem;margin-bottom:12px;font-weight:600;}
.section-head{max-width:640px;margin-bottom:44px;}
.section-head h2{font-size:clamp(1.5rem,2.6vw,2.05rem);margin-bottom:12px;}
.section-head p{color:var(--text-dim);font-size:1.02rem;}

.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;}
.service-card{background:var(--white);border:1px solid var(--hairline);border-radius:16px;padding:26px 22px 24px;position:relative;transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;}
.service-card:hover{transform:translateY(-4px);border-color:var(--orange);box-shadow:0 20px 40px -24px rgba(13,27,61,0.25);}
.service-tag{position:absolute;top:-12px;left:20px;background:var(--navy);color:var(--white);font-family:'IBM Plex Mono',monospace;font-size:0.7rem;font-weight:600;padding:4px 10px;border-radius:5px;letter-spacing:0.04em;}
.service-card svg{width:28px;height:28px;color:var(--blue);margin:14px 0 14px;}
.service-card h3{font-size:1.1rem;margin-bottom:8px;}
.service-card p{color:var(--text-dim);font-size:0.92rem;}

.areas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;}
.area-card{background:var(--white);border:1px solid var(--hairline);border-radius:12px;padding:18px 20px;transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;}
.area-card:hover{border-color:var(--orange);transform:translateY(-2px);box-shadow:0 16px 32px -22px rgba(13,27,61,0.22);}
.area-card .mono{color:var(--blue);font-size:0.72rem;letter-spacing:0.06em;font-weight:600;}
.area-card h3{font-size:1.05rem;margin:6px 0 4px;}
.area-card p{color:var(--text-dim);font-size:0.86rem;}

.factors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}
.factor-card{background:var(--grey-100);border:1px solid var(--hairline);border-radius:14px;padding:20px;}
.factor-card .num{font-family:'IBM Plex Mono',monospace;color:var(--orange);font-weight:700;font-size:0.82rem;}
.factor-card h3{font-size:1rem;margin:8px 0 6px;}
.factor-card p{font-size:0.88rem;}

.process{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--hairline);border-radius:18px;overflow:hidden;background:var(--white);}
.process-step{padding:30px 26px;position:relative;}
.process-step + .process-step{border-left:1px solid var(--hairline);}
.process-step .tag{font-family:'IBM Plex Mono',monospace;color:var(--blue);font-size:0.76rem;letter-spacing:0.05em;font-weight:600;}
.process-step h3{margin:10px 0 8px;font-size:1.06rem;}
.process-step p{color:var(--text-dim);font-size:0.9rem;}

.faq-list{display:flex;flex-direction:column;gap:10px;}
.faq-item{background:var(--white);border:1px solid var(--hairline);border-radius:12px;overflow:hidden;}
.faq-item summary{padding:18px 22px;cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--navy);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";color:var(--orange);font-size:1.3rem;flex-shrink:0;}
.faq-item[open] summary::after{content:"–";}
.faq-item p{padding:0 22px 20px;color:var(--text-dim);font-size:0.94rem;}

.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;}
.review-card{background:var(--white);border:1px solid var(--hairline);border-radius:14px;padding:22px;}
.review-stars{color:var(--orange);letter-spacing:2px;margin-bottom:10px;font-size:0.9rem;}
.review-card p{color:var(--text-dim);font-size:0.92rem;margin-bottom:14px;}
.review-who{font-family:'IBM Plex Mono',monospace;font-size:0.78rem;color:var(--navy);}

.cta-band{background:var(--navy);color:var(--white);text-align:center;padding:60px 24px;border-radius:20px;margin:0 24px;}
.cta-band h2{color:var(--white);margin-bottom:10px;}
.cta-band p{color:rgba(255,255,255,0.72);margin-bottom:24px;}

.quote-shell{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
form{background:var(--white);border:1px solid var(--hairline);border-radius:18px;padding:30px;display:flex;flex-direction:column;gap:15px;box-shadow:0 20px 50px -30px rgba(13,27,61,0.2);}
label{font-size:0.84rem;color:var(--text-dim);margin-bottom:6px;display:block;font-weight:500;}
input,select,textarea{width:100%;background:var(--grey-100);border:1px solid var(--hairline);color:var(--navy);padding:12px 14px;border-radius:8px;font-family:'Montserrat',sans-serif;font-size:0.94rem;}
input:focus,select:focus,textarea:focus{border-color:var(--orange);}
textarea{resize:vertical;min-height:88px;}
.field{display:flex;flex-direction:column;}
.form-submit{background:var(--orange);color:var(--white);border:none;padding:15px;border-radius:8px;font-weight:700;font-size:1rem;cursor:pointer;transition:background .18s ease;}
.form-submit:hover{background:var(--orange-bright);}
.form-note{font-size:0.82rem;color:var(--text-dim);text-align:center;}

footer{background:var(--navy);color:rgba(255,255,255,0.85);padding:48px 0 30px;}
footer .wrap{padding:0 24px;}
.footer-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;margin-bottom:30px;}
.footer-cols h4{font-size:0.82rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--orange);margin-bottom:14px;font-weight:700;}
.footer-cols a{display:block;color:rgba(255,255,255,0.7);font-size:0.88rem;padding:5px 0;}
.footer-cols a:hover{color:var(--white);}
.footer-call{display:inline-flex;align-items:center;gap:10px;font-family:'IBM Plex Mono',monospace;font-size:1.1rem;font-weight:600;color:var(--white);margin:14px 0;}
.footer-call svg{width:19px;height:19px;}
.footer-motto{font-family:'IBM Plex Mono',monospace;font-size:0.78rem;letter-spacing:0.04em;color:rgba(255,255,255,0.55);margin-top:8px;}
.footer-bottom{border-top:1px solid var(--hairline-dark);padding-top:20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:rgba(255,255,255,0.55);font-size:0.8rem;}
.footer-bottom a:hover{color:var(--white);}

@media (max-width:860px){
  nav.main-nav{display:none;}
  .hero-grid{grid-template-columns:1fr;}
  .signature{order:-1;margin-bottom:4px;}
  .signature-frame{max-width:220px;}
  .quote-shell{grid-template-columns:1fr;}
  .process{grid-template-columns:1fr;}
  .process-step + .process-step{border-left:none;border-top:1px solid var(--hairline);}
  .footer-cols{grid-template-columns:1fr;}
}
