:root { --sp-blue:#102b58; --sp-cyan:#34bfd0; --sp-ink:#132033; --sp-muted:#607089; --sp-line:#dce7ef; --sp-bg:#f7fafc; }
.sp-page { color:var(--sp-ink); font-family:Manrope,sans-serif; }
.sp-page,.sp-page * { box-sizing:border-box; }
body:has(.sp-page), .wp-site-blocks, .wp-block-post-content { margin-top:0 !important; padding-top:0 !important; overflow-x:hidden !important; }
body:has(.sp-page) #wp--skip-link--target { margin-top:0 !important; padding-left:0 !important; padding-right:0 !important; max-width:none !important; }
body:has(.sp-page) #wp--skip-link--target > .wp-block-group { margin:0 !important; padding:0 !important; width:100% !important; max-width:none !important; }
body:has(.sp-page) .entry-content.has-global-padding { padding-left:0 !important; padding-right:0 !important; margin-left:0 !important; margin-right:0 !important; width:100% !important; max-width:none !important; }
.wp-site-blocks > header,.wp-block-post-title { display:none !important; }
.wp-site-blocks > footer { margin-block-start:0 !important; }
.wp-block-post-content .sp-page { width:100%; max-width:100%; margin-left:0; margin-right:0; overflow-x:hidden; }
.sp-wrap { width:min(1160px, calc(100% - 40px)); margin:0 auto; }
.sp-hero { position:relative; overflow:hidden; min-height:640px; display:grid; align-items:center; background:var(--sp-blue); color:#fff; }
.sp-hero-media { position:absolute; inset:0; z-index:0; }
.sp-hero-img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.sp-hero::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(120deg,rgba(16,43,88,.94),rgba(16,43,88,.70) 52%,rgba(16,43,88,.22)); pointer-events:none; }
.sp-nav { position:absolute; z-index:20; top:0; left:0; right:0; border-bottom:1px solid rgba(255,255,255,.18); }
.sp-nav .sp-wrap { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:22px; }
.sp-nav-top { display:contents; }
.sp-brand { font-weight:850; font-size:20px; }
.sp-menu-check,.sp-mobile-button { display:none; }
.sp-menu { display:flex; gap:22px; flex-wrap:wrap; }
.sp-menu a { color:#fff; text-decoration:none; }
.sp-cta { display:inline-flex; min-height:46px; align-items:center; justify-content:center; padding:0 20px; border-radius:999px; background:var(--sp-cyan); color:#06233d; font-weight:850; text-decoration:none; }
.sp-phone { display:inline-flex; min-height:46px; align-items:center; justify-content:center; color:#fff; font-weight:800; text-decoration:none; white-space:nowrap; }
.sp-outline { display:inline-flex; min-height:46px; align-items:center; justify-content:center; padding:0 20px; border-radius:999px; border:1px solid rgba(255,255,255,.45); color:#fff; font-weight:750; text-decoration:none; }
.sp-hero-copy { position:relative; z-index:2; width:min(690px, calc(100% - 40px)); max-width:690px; margin-left:max(20px, calc((100vw - 1160px)/2)); margin-right:auto; padding-top:98px; }
.sp-eyebrow { display:inline-flex; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.2); margin-bottom:22px; }
.sp-hero h1 { font-size:clamp(38px,4.8vw,60px); line-height:1.04; margin:0 0 24px; letter-spacing:0; text-wrap:balance; }
.sp-hero p { font-size:18px; line-height:1.62; max-width:620px; color:rgba(255,255,255,.92); margin:0 0 32px; }
.sp-actions { display:flex; gap:14px; flex-wrap:wrap; }
.sp-strip { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--sp-line); border-bottom:1px solid var(--sp-line); }
.sp-strip div { padding:28px; border-right:1px solid var(--sp-line); background:#fff; }
.sp-strip strong { display:block; color:var(--sp-blue); font-size:24px; margin-bottom:6px; }
.sp-strip span { color:var(--sp-muted); line-height:1.45; }
.sp-section { padding:66px 0; }
.sp-section.alt { background:var(--sp-bg); }
.sp-head { display:flex; justify-content:space-between; align-items:end; gap:28px; margin-bottom:34px; }
.sp-head h2 { font-size:clamp(30px,4vw,48px); line-height:1.05; margin:0; color:var(--sp-blue); letter-spacing:0; }
.sp-head p { max-width:560px; color:var(--sp-muted); line-height:1.65; margin:0; }
.sp-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.sp-card { border:1px solid var(--sp-line); border-radius:8px; padding:28px; background:#fff; }
.sp-card b { display:block; color:var(--sp-blue); font-size:21px; margin-bottom:12px; }
.sp-card p,.sp-card li { color:var(--sp-muted); line-height:1.55; }
.sp-card ul { padding-left:19px; margin:12px 0 0; }
.sp-pdbis { display:grid; grid-template-columns:.9fr 1.1fr; gap:28px; align-items:center; }
.sp-pdbis > .sp-card { align-self:stretch; display:flex; flex-direction:column; justify-content:center; min-height:360px; }
.sp-pdbis img,.sp-images img { width:100%; height:360px; object-fit:cover; border-radius:8px; display:block; }
.sp-images picture { display:block; }
.sp-panel { background:var(--sp-blue); color:#fff; border-radius:8px; padding:38px; }
.sp-panel h2 { color:#fff; font-size:40px; line-height:1.05; margin:0 0 16px; }
.sp-panel p { color:rgba(255,255,255,.82); line-height:1.65; }
.sp-images { display:none; }
.sp-contact { background:var(--sp-blue); color:#fff; padding:70px 0; }
.sp-contact h2 { color:#fff; font-size:42px; line-height:1.05; margin:0 0 12px; }
.sp-contact p { color:rgba(255,255,255,.82); }
.sp-contact a { color:#06233d; }
.sp-contact-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:22px; }
.sp-contact .sp-phone { border:1px solid rgba(255,255,255,.45); color:#fff; border-radius:999px; padding:0 20px; }
.sp-faq-list { display:grid; gap:12px; }
.sp-faq-item { border:1px solid var(--sp-line); border-radius:8px; background:#fff; overflow:hidden; }
.sp-faq-item summary { cursor:pointer; list-style:none; padding:22px 24px; color:var(--sp-blue); font-weight:850; font-size:20px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.sp-faq-item summary::-webkit-details-marker { display:none; }
.sp-faq-item summary::after { content:"+"; flex:0 0 auto; width:28px; height:28px; border-radius:999px; display:grid; place-items:center; background:var(--sp-cyan); color:#06233d; font-weight:900; line-height:1; }
.sp-faq-item[open] summary::after { content:"–"; }
.sp-faq-item p { margin:0; padding:0 24px 24px; color:var(--sp-muted); line-height:1.65; max-width:860px; }
@media(min-width:1101px) { .sp-section.alt .sp-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:1100px) { .sp-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:900px) { .sp-nav .sp-wrap,.sp-head { display:block; padding:18px 0; } .sp-hero-copy { padding-top:170px; margin-left:auto; margin-right:auto; } .sp-strip,.sp-grid,.sp-pdbis,.sp-images { grid-template-columns:1fr; } .sp-pdbis > .sp-card { min-height:260px; } }
@media(max-width:640px) {
  .sp-wrap { width:100%; max-width:100%; margin:0; padding-left:22px; padding-right:22px; }
  .sp-hero { display:block; min-height:auto; padding-bottom:42px; }
  .sp-hero-img { object-position:58% center; }
  .sp-nav { position:relative; overflow:hidden; background:rgba(16,43,88,.84); }
  .sp-nav .sp-wrap { position:relative; width:100vw; max-width:100vw; min-height:70px; display:grid; grid-template-columns:1fr; gap:0; margin-left:0 !important; margin-right:0 !important; padding:14px 22px; }
  .sp-nav-top { display:block; padding-right:64px; }
  .sp-brand { font-size:18px; }
  .sp-mobile-button { position:static !important; z-index:50; width:48px; height:44px; display:grid !important; place-items:center; border:0; border-radius:8px; background:var(--sp-cyan); color:#06233d; box-shadow:0 10px 26px rgba(0,0,0,.22); cursor:pointer; padding:0; font-size:28px; font-weight:900; line-height:1; }
  .sp-mobile-button span { display:block; transform:translateY(-1px); }
  .sp-menu,.sp-nav > .sp-wrap > .sp-cta,.sp-nav > .sp-wrap > .sp-phone { display:none; }
  .sp-menu-check:checked ~ .sp-menu { display:grid; grid-template-columns:1fr; gap:0; margin-top:14px; padding-top:10px; border-top:1px solid rgba(255,255,255,.16); font-size:17px; line-height:1.25; }
  .sp-menu-check:checked ~ .sp-menu a { min-width:0; padding:12px 0; overflow-wrap:anywhere; border-bottom:1px solid rgba(255,255,255,.10); }
  .sp-menu-check:checked ~ .sp-phone { display:flex; width:100%; min-height:40px; margin-top:12px; }
  .sp-menu-check:checked ~ .sp-cta { display:flex; width:100%; min-height:44px; margin-top:10px; }
  .sp-hero-copy { width:100%; max-width:390px; margin:0; padding-top:36px; padding-left:22px; padding-right:22px; }
  .sp-eyebrow { max-width:100%; font-size:14px; line-height:1.25; }
  .sp-hero h1 { width:100%; max-width:330px; font-size:clamp(28px,7.8vw,32px); line-height:1.12; margin-bottom:18px; text-wrap:initial; overflow-wrap:break-word; }
  .sp-hero p { width:100%; max-width:330px; font-size:16px; line-height:1.55; margin-bottom:24px; }
  .sp-actions { display:grid; grid-template-columns:1fr; gap:10px; }
  .sp-actions .sp-cta,.sp-actions .sp-outline,.sp-panel .sp-cta,.sp-contact .sp-cta,.sp-contact .sp-phone { width:100%; min-height:44px; padding:0 14px; }
  .sp-strip { grid-template-columns:1fr; }
  .sp-strip div { padding:20px 16px; border-right:0; border-bottom:1px solid var(--sp-line); }
  .sp-strip strong { font-size:21px; }
  .sp-section { padding:46px 0; }
  .sp-head { margin-bottom:22px; }
  .sp-head h2 { font-size:clamp(28px,8vw,34px); line-height:1.12; }
  .sp-grid { grid-template-columns:1fr; gap:14px; }
  .sp-card { padding:22px 18px; min-width:0; }
  .sp-pdbis > .sp-card { min-height:auto; display:block; }
  .sp-card b { font-size:19px; }
  .sp-panel { padding:26px 18px; }
  .sp-panel h2 { font-size:30px; line-height:1.12; }
  .sp-contact { padding:48px 0; }
  .sp-contact h2 { font-size:31px; line-height:1.12; }
  .sp-faq-item summary { padding:18px; font-size:18px; align-items:flex-start; }
  .sp-faq-item p { padding:0 18px 18px; }
}
@media(max-width:330px) { .sp-hero h1 { font-size:30px; } }

@media(max-width:900px) {
  .sp-nav { position:relative; overflow:visible; background:rgba(16,43,88,.92); }
  .sp-nav .sp-wrap { width:100%; max-width:100%; min-height:70px; display:grid !important; grid-template-columns:1fr auto; align-items:center; gap:14px; margin:0 !important; padding:14px 22px; }
  .sp-nav-top { display:contents !important; padding:0; }
  .sp-brand { grid-column:1; grid-row:1; min-width:0; font-size:18px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .sp-mobile-button { position:static !important; grid-column:2; grid-row:1; justify-self:end; z-index:3; width:48px; height:44px; display:grid !important; place-items:center; gap:5px; border:0; border-radius:8px; background:var(--sp-cyan); color:#06233d; box-shadow:none; cursor:pointer; padding:0; }
  .sp-mobile-button span { display:block; width:22px; height:2px; border-radius:999px; background:#06233d; transition:transform .18s ease, opacity .18s ease; }
  .sp-wrap.is-open .sp-mobile-button span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .sp-wrap.is-open .sp-mobile-button span:nth-child(2) { opacity:0; }
  .sp-wrap.is-open .sp-mobile-button span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .sp-menu, .sp-nav > .sp-wrap > .sp-phone, .sp-nav > .sp-wrap > .sp-cta { display:none; }
  .sp-wrap.is-open .sp-menu { grid-column:1 / -1; display:grid; grid-template-columns:1fr; gap:0; width:100%; min-height:0; margin-top:4px; padding-top:12px; border-top:1px solid rgba(255,255,255,.16); background:rgba(16,43,88,.98); font-size:17px; line-height:1.25; }
  .sp-wrap.is-open .sp-menu a { display:block; min-width:0; padding:13px 0; color:#fff; overflow-wrap:anywhere; border-bottom:1px solid rgba(255,255,255,.10); }
  .sp-wrap.is-open .sp-phone { grid-column:1 / -1; display:flex; width:100%; min-height:40px; margin-top:10px; }
  .sp-wrap.is-open .sp-cta { grid-column:1 / -1; display:flex; width:100%; min-height:44px; margin-top:0; }
}
