:root {
  --orange: #f25a0a;
  --orange-dark: #c94300;
  --orange-soft: #fff1e8;
  --navy: #0b2239;
  --navy-2: #133553;
  --ink: #172234;
  --charcoal: #2f3744;
  --muted: #687487;
  --line: #e2e7ed;
  --wash: #f5f7fa;
  --white: #ffffff;
  --silver: #a9b0b8;
  --shadow: 0 22px 60px rgba(10, 30, 50, .14);
  --shadow-soft: 0 12px 34px rgba(10, 30, 50, .08);
  --radius-xl: 28px;
  --radius-lg: 20px;
  --radius-md: 14px;
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--white);
  line-height: 1.55;
}
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
.container { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; }
.eyebrow {
  color: var(--orange);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: 0 0 10px;
}
.section-title {
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1.03;
  letter-spacing: -.055em;
  margin: 0;
}
.section-lede { color: var(--muted); font-size: 1.05rem; max-width: 720px; margin: 18px 0 0; }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 20px;
  border-radius: 10px;
  border: 1px solid transparent;
  font-weight: 850;
  font-size: .95rem;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
  cursor: pointer;
  white-space: nowrap;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: var(--white); background: linear-gradient(135deg, var(--orange), var(--orange-dark)); box-shadow: 0 16px 34px rgba(242, 90, 10, .25); }
.btn-primary:hover { box-shadow: 0 20px 42px rgba(242, 90, 10, .34); }
.btn-outline { color: var(--navy); background: rgba(255,255,255,.86); border-color: rgba(11,34,57,.32); }
.btn-outline:hover { border-color: var(--navy); background: #fff; }
.btn-white { color: var(--orange-dark); background: var(--white); box-shadow: 0 12px 28px rgba(18,24,36,.18); }
.topbar { background: var(--navy); color: #e4eaf1; font-size: .84rem; }
.topbar-inner { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.topbar-note { display: flex; align-items: center; gap: 9px; font-weight: 750; }
.topbar-note > span { color: var(--orange); }
.topbar-note i { width: 1px; height: 16px; background: rgba(255,255,255,.4); }
.topbar-contact { display: flex; align-items: center; gap: 22px; }
.topbar-contact a:hover { color: #fff; }
.topbar-address { color: rgba(255,255,255,.72); }
.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(226,231,237,.9);
}
.nav { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; gap: 13px; min-width: 330px; }
.brand-logo { width: 57px; height: 57px; object-fit: contain; flex: 0 0 auto; }
.brand-name { display: flex; flex-direction: column; line-height: 1; }
.brand-name strong { color: var(--navy); font-size: 1.02rem; letter-spacing: -.025em; text-transform: uppercase; }
.brand-name span { margin-top: 6px; color: var(--orange); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.nav-links { display: flex; align-items: center; gap: 23px; color: #303b4a; font-weight: 760; font-size: .91rem; }
.nav-links a { position: relative; }
.nav-links a::after { content:""; position:absolute; left:0; right:0; bottom:-9px; height:2px; background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.nav-links a:hover::after { transform:scaleX(1); }
.header-actions { display: flex; align-items: center; gap: 12px; }
.email-pill { display:inline-flex; align-items:center; padding:10px 13px; border-radius:999px; background:var(--wash); color:var(--navy); font-size:.86rem; font-weight:850; }
.menu-toggle { display:none; width:44px; height:44px; border:1px solid var(--line); border-radius:12px; background:#fff; padding:10px; cursor:pointer; }
.menu-toggle span { display:block; height:2px; background:var(--navy); margin:5px 0; border-radius:2px; }
.hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 16% 8%, rgba(242,90,10,.10), transparent 24%),
    linear-gradient(180deg, #ffffff 0%, #f7f9fb 100%);
  border-bottom: 1px solid var(--line);
}
.hero::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(11,34,57,.03) 1px, transparent 1px),linear-gradient(90deg,rgba(11,34,57,.03) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.6) 44%,transparent 88%); z-index:-2; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr); gap:44px; align-items:center; padding:70px 0 66px; }
.hero-copy h1 { margin:0; color:var(--navy); font-size:clamp(3rem,6.4vw,5.4rem); line-height:.95; letter-spacing:-.07em; text-transform:uppercase; }
.hero-copy h1 span { color:var(--orange); }
.hero-copy > p:not(.eyebrow) { color:var(--muted); max-width:650px; margin:24px 0 0; font-size:1.12rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
.hero-proof { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:36px; max-width:720px; }
.proof-mini { padding:14px 15px; border:1px solid rgba(226,231,237,.95); border-radius:18px; background:rgba(255,255,255,.78); box-shadow:0 14px 30px rgba(10,30,50,.05); }
.proof-mini strong { display:block; font-size:.95rem; letter-spacing:-.02em; }
.proof-mini span { color:var(--muted); font-size:.82rem; }
.hero-panel { position:relative; min-height:625px; }
.generator-stage { position:absolute; inset:0 0 48px 24px; border-radius:var(--radius-xl); overflow:hidden; background-image:linear-gradient(135deg,rgba(11,34,57,.12),rgba(11,34,57,0)),url('assets/hero-generator.jpg'); background-size:cover; background-position:center; box-shadow:var(--shadow); }
.generator-stage::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(11,34,57,.16),transparent 48%); pointer-events:none; }
.form-card { position:absolute; left:0; top:70px; width:min(375px,calc(100% - 32px)); border-radius:26px; padding:24px; background:rgba(255,255,255,.96); box-shadow:var(--shadow); border:1px solid rgba(255,255,255,.9); backdrop-filter:blur(18px); }
.form-card h2 { margin:0 0 4px; font-size:1.72rem; line-height:1.06; letter-spacing:-.045em; color:var(--navy); }
.form-card > p:not(.eyebrow) { margin:0 0 18px; color:var(--muted); font-size:.93rem; }
.lead-form { display:grid; gap:11px; }
.lead-form label { display:grid; gap:6px; font-size:.78rem; font-weight:850; color:#3a4252; }
.lead-form input,.lead-form select,.lead-form textarea { width:100%; border:1px solid #d4dbe4; background:#fff; border-radius:12px; padding:12px 13px; color:var(--ink); outline:none; transition:border-color .2s ease,box-shadow .2s ease; }
.lead-form textarea { min-height:82px; resize:vertical; }
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus { border-color:var(--orange); box-shadow:0 0 0 4px rgba(242,90,10,.1); }
.form-note { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:.8rem; margin-top:4px; }
.hidden-field { position:absolute!important; left:-9999px!important; }
.trust-strip { position:relative; z-index:3; margin-top:-34px; }
.trust-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--line); border-radius:24px; background:rgba(255,255,255,.97); box-shadow:var(--shadow-soft); overflow:hidden; }
.trust-item { padding:24px 22px; display:flex; gap:14px; align-items:flex-start; border-right:1px solid var(--line); }
.trust-item:last-child { border-right:none; }
.icon-box { flex:0 0 44px; width:44px; height:44px; border-radius:15px; display:grid; place-items:center; color:var(--orange); background:var(--orange-soft); }
.trust-item strong { display:block; letter-spacing:-.02em; color:var(--navy); }
.trust-item span { color:var(--muted); font-size:.9rem; }
section { padding:94px 0; }
.section-head { display:flex; justify-content:space-between; gap:36px; align-items:end; margin-bottom:38px; }
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.service-card { position:relative; padding:28px; border:1px solid var(--line); border-radius:24px; background:var(--white); box-shadow:0 12px 30px rgba(10,30,50,.05); overflow:hidden; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.service-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-soft); border-color:rgba(242,90,10,.28); }
.service-card::after { content:""; position:absolute; inset:auto 0 0; height:4px; background:linear-gradient(90deg,var(--orange),#ff9b45); opacity:0; transition:opacity .2s ease; }
.service-card:hover::after { opacity:1; }
.service-card h3 { margin:18px 0 9px; font-size:1.22rem; line-height:1.18; letter-spacing:-.035em; color:var(--navy); }
.service-card p { margin:0; color:var(--muted); }
.split { background:var(--wash); }
.split-grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:24px; align-items:stretch; }
.premium-panel { border:1px solid var(--line); border-radius:var(--radius-xl); background:var(--white); padding:38px; box-shadow:0 12px 32px rgba(10,30,50,.06); }
.premium-panel.dark { color:var(--white); background:radial-gradient(circle at 86% 12%,rgba(242,90,10,.35),transparent 28%),linear-gradient(145deg,var(--navy),#182f45); border-color:rgba(255,255,255,.08); }
.premium-panel.dark .section-lede,.premium-panel.dark p,.premium-panel.dark li { color:rgba(255,255,255,.78); }
.premium-panel.dark .section-title { color:#fff; }
.check-list { list-style:none; padding:0; margin:26px 0 0; display:grid; gap:14px; }
.check-list li { display:flex; gap:12px; align-items:flex-start; color:var(--muted); }
.check-list svg { flex:0 0 20px; color:var(--orange); margin-top:2px; }
.brand-cloud { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.brand-chip { padding:10px 12px; border-radius:999px; background:rgba(255,255,255,.1); color:rgba(255,255,255,.88); border:1px solid rgba(255,255,255,.13); font-size:.86rem; font-weight:780; }
.sector-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.sector-card { min-height:310px; border-radius:var(--radius-xl); padding:28px; color:var(--white); background:linear-gradient(160deg,var(--navy),#1c3954); position:relative; overflow:hidden; box-shadow:var(--shadow-soft); }
.sector-card:nth-child(2) { background:linear-gradient(160deg,var(--orange),var(--orange-dark)); }
.sector-card:nth-child(3) { background:linear-gradient(160deg,#5d6670,#252d36); }
.sector-card::after { content:""; position:absolute; width:220px; height:220px; right:-80px; bottom:-80px; border-radius:50%; background:rgba(255,255,255,.1); }
.sector-card h3 { margin:0 0 12px; font-size:1.55rem; letter-spacing:-.04em; line-height:1.06; }
.sector-card p { color:rgba(255,255,255,.8); margin:0; position:relative; z-index:1; }
.sector-tag { display:inline-flex; margin-bottom:74px; padding:8px 11px; border-radius:999px; background:rgba(255,255,255,.14); color:rgba(255,255,255,.9); font-weight:850; font-size:.76rem; letter-spacing:.07em; text-transform:uppercase; }
.process-area { background:linear-gradient(180deg,#fff,#f7f9fb); }
.process-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.steps { margin-top:30px; display:grid; gap:16px; }
.step { display:grid; grid-template-columns:48px 1fr; gap:16px; align-items:start; padding:18px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.step-num { width:48px; height:48px; display:grid; place-items:center; border-radius:16px; color:#fff; background:var(--orange); font-weight:900; box-shadow:0 12px 24px rgba(242,90,10,.2); }
.step h3 { margin:0 0 3px; letter-spacing:-.025em; color:var(--navy); }
.step p { margin:0; color:var(--muted); }
.map-card { position:relative; min-height:430px; overflow:hidden; }
.map-visual { position:absolute; inset:0; opacity:.98; background:radial-gradient(circle at 70% 42%,rgba(242,90,10,.23),transparent 19%),linear-gradient(135deg,transparent 0 48%,rgba(11,34,57,.05) 48% 49%,transparent 49%),linear-gradient(35deg,transparent 0 58%,rgba(11,34,57,.06) 58% 59%,transparent 59%),linear-gradient(160deg,#fff,#eaf0f5); }
.map-pin { position:absolute; right:24%; top:32%; width:62px; height:62px; border-radius:50% 50% 50% 12px; transform:rotate(-45deg); background:linear-gradient(145deg,var(--orange),var(--orange-dark)); box-shadow:0 18px 34px rgba(242,90,10,.32); }
.map-pin::after { content:""; position:absolute; width:22px; height:22px; border-radius:50%; background:#fff; left:20px; top:20px; }
.map-copy { position:relative; z-index:2; max-width:430px; }
.city-list { display:flex; flex-wrap:wrap; gap:9px; margin-top:24px; }
.city-list span { background:#fff; border:1px solid var(--line); border-radius:999px; padding:8px 10px; color:#3c4454; font-weight:760; font-size:.85rem; }
.testimonial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.testimonial { border:1px solid var(--line); border-radius:24px; background:var(--white); padding:28px; box-shadow:0 12px 30px rgba(10,30,50,.05); }
.quote-mark { color:var(--orange); font-size:2.2rem; line-height:1; font-weight:900; margin-bottom:12px; }
.testimonial p { margin:0; color:#344052; }
.testimonial strong { display:block; margin-top:18px; color:var(--navy); }
.cta-band { padding:0; background:#fff; }
.cta-inner { display:grid; grid-template-columns:1.2fr .8fr; gap:28px; align-items:center; padding:42px; border-radius:var(--radius-xl); color:#fff; background:radial-gradient(circle at 90% 10%,rgba(255,255,255,.18),transparent 24%),linear-gradient(135deg,var(--orange),var(--orange-dark)); box-shadow:0 24px 60px rgba(242,90,10,.24); }
.cta-inner h2 { margin:0; font-size:clamp(2rem,4vw,3.25rem); line-height:1.02; letter-spacing:-.055em; }
.cta-inner p { color:rgba(255,255,255,.84); margin:12px 0 0; font-size:1.06rem; }
.cta-eyebrow { color:rgba(255,255,255,.85); }
.cta-actions { display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:14px; }
.call-card { max-width:100%; padding:11px 15px; border:1px solid rgba(255,255,255,.22); border-radius:18px; background:rgba(255,255,255,.1); font-weight:900; overflow-wrap:anywhere; }
.call-card small { display:block; color:rgba(255,255,255,.75); font-weight:760; }
.footer { margin-top:94px; color:rgba(255,255,255,.82); background:#0a1c2e; padding:66px 0 28px; }
.footer-grid { display:grid; grid-template-columns:1.2fr 1fr .78fr .95fr .82fr; gap:28px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.1); }
.footer h3,.footer h4 { color:#fff; margin:0 0 14px; letter-spacing:-.02em; }
.footer p { margin:0; color:rgba(255,255,255,.68); }
.footer ul { margin:0; padding:0; list-style:none; display:grid; gap:8px; }
.footer a:hover { color:#fff; }
.footer-brand { margin-bottom:16px; min-width:auto; }
.footer-brand .brand-name strong { color:#fff; }
.footer-bottom { display:flex; justify-content:space-between; gap:22px; flex-wrap:wrap; padding-top:24px; color:rgba(255,255,255,.58); font-size:.86rem; }
.disclaimer { max-width:680px; }
.mobile-sticky { display:none; position:fixed; z-index:50; left:12px; right:12px; bottom:12px; gap:10px; padding:10px; border-radius:20px; background:rgba(255,255,255,.94); box-shadow:0 18px 44px rgba(10,30,50,.22); backdrop-filter:blur(16px); }
.mobile-sticky .btn { flex:1; min-height:46px; font-size:.9rem; }
@media (max-width: 1120px) {
  .brand { min-width:285px; }
  .brand-name strong { font-size:.9rem; }
  .brand-name span { font-size:.65rem; }
  .nav-links { gap:16px; font-size:.84rem; }
  .email-pill { display:none; }
}
@media (max-width: 980px) {
  .topbar-address { display:none; }
  .nav { position:relative; }
  .menu-toggle { display:block; order:3; }
  .nav-links { display:none; position:absolute; top:76px; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; padding:12px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-soft); }
  .nav-links.open { display:flex; }
  .nav-links a { padding:13px 14px; border-radius:10px; }
  .nav-links a:hover { background:var(--wash); }
  .nav-links a::after { display:none; }
  .header-actions { margin-left:auto; }
  .hero-grid { grid-template-columns:1fr; }
  .hero-panel { min-height:560px; }
  .generator-stage { inset:0; }
  .form-card { top:50px; left:22px; }
  .trust-grid,.service-grid,.sector-grid,.testimonial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .trust-item:nth-child(2) { border-right:none; }
  .trust-item { border-bottom:1px solid var(--line); }
  .trust-item:nth-child(3),.trust-item:nth-child(4) { border-bottom:none; }
  .split-grid,.process-grid,.cta-inner { grid-template-columns:1fr; }
  .cta-actions { justify-content:flex-start; }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .container { width:min(100% - 28px,var(--max)); }
  .topbar-inner { min-height:38px; justify-content:center; }
  .topbar-contact { display:none; }
  .topbar-note { font-size:.78rem; }
  .nav { min-height:74px; gap:12px; }
  .brand { min-width:0; gap:9px; }
  .brand-logo { width:45px; height:45px; }
  .brand-name strong { font-size:.77rem; }
  .brand-name span { font-size:.56rem; }
  .header-actions .btn { display:none; }
  .menu-toggle { flex:0 0 44px; }
  .hero-grid { padding:48px 0 68px; gap:30px; }
  .hero-copy h1 { font-size:clamp(2.65rem,14vw,4.2rem); }
  .hero-copy > p:not(.eyebrow) { font-size:1rem; }
  .hero-proof,.trust-grid,.service-grid,.sector-grid,.testimonial-grid { grid-template-columns:1fr; }
  .hero-panel { min-height:680px; }
  .generator-stage { min-height:390px; bottom:auto; background-position:58% center; }
  .form-card { left:14px; right:14px; top:300px; width:auto; padding:21px; }
  .trust-strip { margin-top:-20px; }
  .trust-item { border-right:none; }
  .trust-item:nth-child(3) { border-bottom:1px solid var(--line); }
  .section-head { display:block; }
  section { padding:70px 0; }
  .premium-panel { padding:26px; border-radius:22px; }
  .sector-card { min-height:275px; }
  .sector-tag { margin-bottom:52px; }
  .map-card { min-height:520px; }
  .map-pin { right:15%; top:38%; }
  .cta-inner { padding:30px 24px; }
  .call-card { font-size:.82rem; }
  .footer { margin-top:70px; padding-bottom:94px; }
  .footer-grid { grid-template-columns:1fr; }
  .mobile-sticky { display:flex; }
}
@media (max-width: 410px) {
  .brand-name strong { font-size:.68rem; }
  .brand-name span { font-size:.51rem; letter-spacing:.05em; }
  .brand-logo { width:40px; height:40px; }
  .hero-copy h1 { font-size:2.55rem; }
  .hero-actions .btn { width:100%; }
  .form-card { top:280px; }
  .hero-panel { min-height:670px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; animation:none!important; }
}
