
:root {
  --spw-navy: #0A2540;
  --spw-navy-2: #123E6D;
  --spw-blue: #3B9BDB;
  --spw-blue-dark: #287EB8;
  --spw-offwhite: #F8FAFC;
  --spw-text: #1E293B;
  --spw-muted: #64748B;
  --spw-border: #DCE6EF;
  --spw-shadow: 0 18px 50px rgba(10, 37, 64, .10);
}
html { scroll-behavior: smooth; overflow-x: clip; }
body { color: var(--spw-text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.65; overflow-x: clip; padding-bottom: 0; }
img, svg { max-width: 100%; height: auto; }
a { color: var(--spw-blue-dark); }
a:hover { color: var(--spw-navy); }
.skip-link { position: fixed; top: -80px; left: 1rem; z-index: 2000; background: #fff; color: var(--spw-navy); padding: .75rem 1rem; border-radius: .5rem; box-shadow: var(--spw-shadow); }
.skip-link:focus { top: 1rem; }
.site-header { background: rgba(255,255,255,.97); border-bottom: 1px solid rgba(10,37,64,.08); backdrop-filter: blur(14px); }
.navbar-brand { display:flex; align-items:center; gap:.65rem; color:var(--spw-navy); font-weight:800; letter-spacing:-.02em; }
.navbar-brand:hover { color:var(--spw-navy); }
.brand-logo { width: 50px; height: 50px; object-fit: contain; }
.brand-text { line-height: 1.05; font-size: 1rem; max-width: 150px; }
.navbar .nav-link { color: #334155; font-weight: 650; padding: .75rem .7rem !important; }
.navbar .nav-link:hover, .navbar .nav-link.active { color: var(--spw-blue-dark); }
.navbar-toggler { border-color: rgba(10,37,64,.18); }
.navbar-toggler:focus { box-shadow: 0 0 0 .25rem rgba(59,155,219,.2); }
.btn { border-radius: 999px; font-weight: 750; padding: .78rem 1.25rem; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { --bs-btn-bg: var(--spw-blue); --bs-btn-border-color: var(--spw-blue); --bs-btn-hover-bg: var(--spw-blue-dark); --bs-btn-hover-border-color: var(--spw-blue-dark); --bs-btn-active-bg: var(--spw-blue-dark); --bs-btn-active-border-color: var(--spw-blue-dark); box-shadow: 0 10px 26px rgba(59,155,219,.25); }
.btn-dark { --bs-btn-bg: var(--spw-navy); --bs-btn-border-color: var(--spw-navy); --bs-btn-hover-bg: var(--spw-navy-2); --bs-btn-hover-border-color: var(--spw-navy-2); }
.btn-outline-light:hover { color: var(--spw-navy); }
.hero { position:relative; overflow:hidden; background: linear-gradient(135deg, #071f36 0%, #0a2540 54%, #123e6d 100%); color:#fff; padding: clamp(4.5rem, 8vw, 7.5rem) 0; }
.hero::before { content:""; position:absolute; inset:-30% -20% auto auto; width:630px; aspect-ratio:1; border-radius:50%; background: radial-gradient(circle, rgba(59,155,219,.30), rgba(59,155,219,0) 67%); }
.hero::after { content:""; position:absolute; inset:auto auto -45% -12%; width:550px; aspect-ratio:1; border-radius:50%; background: radial-gradient(circle, rgba(59,155,219,.17), rgba(59,155,219,0) 67%); }
.hero .container { position:relative; z-index:1; }
.hero h1 { font-size: clamp(2.55rem, 6vw, 5.25rem); line-height: .98; letter-spacing: -.055em; font-weight: 850; max-width: 11ch; }
.hero .lead { font-size: clamp(1.05rem, 2vw, 1.28rem); color: rgba(255,255,255,.84); max-width: 650px; }
.hero-image-wrap { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); padding:.8rem; border-radius:2rem; box-shadow:0 30px 90px rgba(0,0,0,.28); transform:rotate(1deg); }
.hero-image { border-radius:1.4rem; width:100%; }
.eyebrow { display:inline-flex; align-items:center; gap:.5rem; color:var(--spw-blue-dark); text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; font-weight:850; }
.hero .eyebrow { color:#94d1f6; }
.eyebrow::before { content:""; width:2rem; height:2px; background:currentColor; }
.trust-strip { margin-top:-1px; background:#fff; border-bottom:1px solid var(--spw-border); }
.trust-item { display:flex; align-items:center; gap:.75rem; padding:1.1rem 0; color:#334155; font-weight:700; }
.icon-bubble { width:2.4rem; height:2.4rem; display:inline-flex; align-items:center; justify-content:center; background:#eaf6ff; color:var(--spw-blue-dark); border-radius:50%; flex:0 0 auto; }
.section { padding: clamp(4.5rem, 8vw, 7rem) 0; }
.section-soft { background:var(--spw-offwhite); }
.section-title { font-size:clamp(2rem,4vw,3.35rem); line-height:1.05; letter-spacing:-.04em; font-weight:850; color:var(--spw-navy); }
.section-copy { color:var(--spw-muted); font-size:1.075rem; max-width:720px; }
.service-card { height:100%; background:#fff; border:1px solid rgba(10,37,64,.08); border-radius:1.35rem; overflow:hidden; box-shadow:0 10px 35px rgba(10,37,64,.07); transition:transform .2s ease, box-shadow .2s ease; }
.service-card:hover { transform:translateY(-5px); box-shadow:var(--spw-shadow); }
.service-card img { width:100%; aspect-ratio:16/10; object-fit:cover; background:#dceaf5; }
.service-card .card-body { padding:1.5rem; }
.service-card h3 { color:var(--spw-navy); font-size:1.25rem; font-weight:800; }
.link-arrow { text-decoration:none; font-weight:800; }
.link-arrow::after { content:" →"; }
.feature-panel { border-radius:1.6rem; background:#fff; border:1px solid var(--spw-border); box-shadow:var(--spw-shadow); overflow:hidden; }
.feature-panel img { width:100%; height:100%; object-fit:cover; min-height:350px; }
.check-list { list-style:none; padding:0; margin:0; }
.check-list li { position:relative; padding-left:2rem; margin-bottom:.85rem; }
.check-list li::before { content:"✓"; position:absolute; left:0; top:.02rem; width:1.35rem; height:1.35rem; display:flex; align-items:center; justify-content:center; color:#fff; background:var(--spw-blue); border-radius:50%; font-size:.78rem; font-weight:900; }
.price-card { height:100%; border-radius:1.25rem; border:1px solid var(--spw-border); background:#fff; padding:1.45rem; box-shadow:0 10px 30px rgba(10,37,64,.06); }
.price-card .price { color:var(--spw-blue-dark); font-size:1.25rem; font-weight:850; }
.price-card h3 { color:var(--spw-navy); font-size:1.15rem; font-weight:800; }
.notice { background:#eaf6ff; border-left:4px solid var(--spw-blue); padding:1.1rem 1.25rem; border-radius:0 1rem 1rem 0; color:#24435d; }
.cta-band { position:relative; overflow:hidden; background:linear-gradient(135deg,var(--spw-navy),var(--spw-navy-2)); color:#fff; border-radius:2rem; padding:clamp(2rem,5vw,4.25rem); box-shadow:0 24px 70px rgba(10,37,64,.22); }
.cta-band::after { content:""; position:absolute; width:340px; aspect-ratio:1; border-radius:50%; right:-110px; top:-155px; background:rgba(59,155,219,.22); }
.cta-band > * { position:relative; z-index:1; }
.page-hero { background:linear-gradient(135deg,#071f36,#123e6d); color:#fff; padding:clamp(3.8rem,7vw,6rem) 0; }
.page-hero h1 { font-size:clamp(2.5rem,5vw,4.5rem); letter-spacing:-.05em; font-weight:850; line-height:1; }
.page-hero p { color:rgba(255,255,255,.82); font-size:1.15rem; max-width:720px; }
.breadcrumb { --bs-breadcrumb-divider-color:rgba(255,255,255,.55); --bs-breadcrumb-item-active-color:#fff; }
.breadcrumb a { color:#94d1f6; }
.content-image { border-radius:1.5rem; box-shadow:var(--spw-shadow); background:#dceaf5; }
.area-pill { display:inline-flex; align-items:center; gap:.45rem; padding:.7rem 1rem; background:#fff; border:1px solid var(--spw-border); border-radius:999px; font-weight:700; box-shadow:0 6px 20px rgba(10,37,64,.05); }
.form-control, .form-select { border-radius:.8rem; padding:.82rem 1rem; border-color:#cdd9e4; }
.form-control:focus, .form-select:focus { border-color:var(--spw-blue); box-shadow:0 0 0 .25rem rgba(59,155,219,.16); }
.form-label { font-weight:750; color:var(--spw-navy); }
.site-footer { background:#071f36; color:rgba(255,255,255,.72); padding:4rem 0 1.5rem; }
.site-footer h2, .site-footer h3 { color:#fff; }
.site-footer a { color:rgba(255,255,255,.78); text-decoration:none; }
.site-footer a:hover { color:#fff; }
.footer-logo { width:74px; height:74px; object-fit:contain; }
.footer-links { list-style:none; padding:0; margin:0; }
.footer-links li { margin:.5rem 0; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); margin-top:2.5rem; padding-top:1.25rem; font-size:.9rem; }
.mobile-call-bar { display:none; }
.anchor-offset { scroll-margin-top:100px; }
@media (max-width: 991.98px) {
  .navbar-collapse { padding:1rem 0 1.25rem; }
  .navbar .nav-link { padding:.65rem 0 !important; }
  .navbar .dropdown-menu { border:0; padding:.1rem 0 .6rem 1rem; }
  .hero h1 { max-width:14ch; }
}
@media (max-width: 767.98px) {
  body { padding-bottom:70px; }
  .brand-text { font-size:.9rem; max-width:135px; }
  .brand-logo { width:44px; height:44px; }
  .hero { padding-top:3.75rem; }
  .hero-image-wrap { margin-top:2rem; transform:none; }
  .trust-item { justify-content:flex-start; border-bottom:1px solid var(--spw-border); }
  .trust-strip .col-md-4:last-child .trust-item { border-bottom:0; }
  .mobile-call-bar { display:flex; position:fixed; z-index:1040; bottom:0; left:0; right:0; background:#fff; border-top:1px solid var(--spw-border); box-shadow:0 -12px 35px rgba(10,37,64,.12); padding:.65rem max(.8rem, env(safe-area-inset-right)) calc(.65rem + env(safe-area-inset-bottom)) max(.8rem, env(safe-area-inset-left)); gap:.65rem; }
  .mobile-call-bar .btn { flex:1; padding:.7rem .55rem; font-size:.93rem; }
  .section { padding:4rem 0; }
  .cta-band { border-radius:1.4rem; }
}
@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto} *,*::before,*::after{transition:none!important;animation:none!important} }
