.promospirit-marketing-home,
.promospirit-marketing-home button,
.promospirit-marketing-home input,
.promospirit-marketing-home textarea { font-family: Poppins, Arial, sans-serif; }
.promospirit-marketing-home .site-content,
.promospirit-marketing-home .content-area,
.promospirit-marketing-home .site-main { width: 100%; max-width: none; margin: 0; padding: 0; }
.promospirit-marketing-home .page-title,
.promospirit-marketing-home .entry-title,
.promospirit-marketing-home .breadcrumbs,
.promospirit-marketing-home .sidebar { display: none !important; }
/* Elementor Canvas adds layout wrappers around the editable section widgets.
   Keep those wrappers full-bleed so the saved layout matches the PHP fallback. */
.promospirit-marketing-home .psm-elementor-page,
.promospirit-marketing-home .psm-elementor-page > .elementor-container,
.promospirit-marketing-home .psm-elementor-page > .elementor-container > .elementor-column,
.promospirit-marketing-home .psm-elementor-page > .elementor-container > .elementor-column > .elementor-widget-wrap,
.promospirit-marketing-home .psm-elementor-page > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget,
.promospirit-marketing-home .psm-elementor-page > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget > .elementor-widget-container { width:100%; max-width:none; margin:0!important; padding:0!important; }
.psm-home,.psm-home * { box-sizing: border-box; }
.psm-home { --psm-navy:#004183;--psm-blue:#124F8C;--psm-bright:#069AD7;--psm-sky:#6EC1E4;--psm-ink:#10213a;--psm-muted:#66758b;--psm-line:#E4E0D8;--psm-soft:#F7F7F7; width:100vw; margin-left:calc(50% - 50vw); overflow:hidden; color:var(--psm-ink); background:#fff; font-family:Poppins,Arial,sans-serif; }
.psm-home h1,.psm-home h2,.psm-home h3,.psm-home p { margin-top:0; }
.psm-home h1,.psm-home h2,.psm-home h3 { font-family:Poppins,Arial,sans-serif; }
.psm-home a { text-decoration:none; }
.psm-shell { width:min(1380px,calc(100% - 52px)); margin-inline:auto; }
.psm-section { padding:clamp(68px,8vw,112px) 0; }
.psm-eyebrow { display:block; margin-bottom:13px; color:var(--psm-bright); font-size:11px; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.psm-section-head { max-width:850px; margin-bottom:42px; }
.psm-section-head h2,.psm-control h2,.psm-support h2,.psm-why h2,.psm-start h2 { margin-bottom:16px; color:var(--psm-ink); font-size:clamp(34px,4.6vw,62px); font-weight:900; letter-spacing:-.05em; line-height:1.04; }
.psm-section-head p,.psm-control p,.psm-support p,.psm-start p { max-width:760px; margin-bottom:0; color:var(--psm-muted); font-size:clamp(15px,1.35vw,18px); line-height:1.75; }
.psm-section-head.is-centered { margin-inline:auto; text-align:center; }
.psm-button { display:inline-flex; align-items:center; justify-content:center; min-height:54px; border-radius:12px; padding:14px 22px; font-size:13px; font-weight:800; transition:transform .18s ease,box-shadow .18s ease; }
.psm-button:hover { transform:translateY(-2px); }
.psm-button-primary { color:#fff!important; background:var(--psm-bright); box-shadow:0 12px 26px rgba(47,107,237,.3); }
.psm-button-light { border:1px solid rgba(255,255,255,.4); color:#fff!important; background:rgba(255,255,255,.08); }

.psm-hero { position:relative; overflow:hidden; color:#fff; background:linear-gradient(125deg,#061b3b 0%,#0c3265 55%,#1b56a3 100%); }
.psm-hero::before { position:absolute; width:720px; height:720px; right:-220px; top:-360px; border-radius:50%; background:rgba(72,119,240,.26); content:""; }
.psm-hero::after { position:absolute; width:430px; height:430px; left:-260px; bottom:-300px; border-radius:50%; background:rgba(68,186,218,.19); content:""; }
.psm-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.03fr) minmax(450px,.97fr); align-items:center; gap:clamp(44px,6vw,96px); min-height:690px; padding-block:72px; }
.psm-hero .psm-eyebrow { color:#a9d9f7; }
.psm-hero h1 { max-width:760px; margin-bottom:24px; color:#fff; font-size:clamp(53px,6.7vw,96px); font-weight:900; letter-spacing:-.065em; line-height:.94; }
.psm-hero h1 span { color:#8fd1f6; }
.psm-hero-copy>p { max-width:720px; margin-bottom:29px; color:#d7e6f7; font-size:clamp(16px,1.55vw,20px); line-height:1.72; }
.psm-hero-actions { display:flex; flex-wrap:wrap; gap:11px; }
.psm-trust-row { display:flex; flex-wrap:wrap; gap:19px; margin-top:29px; color:#d5e4f6; font-size:12px; font-weight:650; }
.psm-trust-row span { display:flex; align-items:center; gap:7px; }
.psm-trust-row i { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; color:#fff; background:rgba(108,192,235,.22); font-style:normal; }
.psm-hero-visual { position:relative; padding:40px 28px; }
.psm-dashboard { border:1px solid rgba(255,255,255,.32); border-radius:24px; padding:23px; color:var(--psm-ink); background:rgba(255,255,255,.96); box-shadow:0 28px 70px rgba(0,0,0,.28); transform:rotate(1.25deg); }
.psm-dashboard-head { display:flex; justify-content:space-between; align-items:center; gap:20px; border-bottom:1px solid #e6edf5; padding-bottom:17px; }
.psm-dashboard-head span,.psm-dashboard-head b,.psm-dashboard-head small { display:block; }
.psm-dashboard-head b { font-size:17px; }
.psm-dashboard-head small { color:#7a8798; font-size:10px; }
.psm-dashboard-head>i { border-radius:999px; padding:5px 9px; color:#067647; background:#e6f9ef; font-size:9px; font-style:normal; font-weight:850; letter-spacing:.12em; }
.psm-dashboard-stats { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:17px 0; }
.psm-dashboard-stats>div { border:1px solid #e2e9f1; border-radius:14px; padding:15px; background:#f7f9fc; }
.psm-dashboard-stats span,.psm-dashboard-stats strong,.psm-dashboard-stats small { display:block; }
.psm-dashboard-stats span { color:#66758b; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.psm-dashboard-stats strong { margin:5px 0 2px; color:#0f376d; font-size:26px; line-height:1; }
.psm-dashboard-stats small { color:#8a96a6; font-size:9px; }
.psm-dashboard-list { display:grid; gap:9px; }
.psm-dashboard-list>div { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:11px; border:1px solid #e6edf5; border-radius:12px; padding:10px 11px; }
.psm-dash-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; color:#fff; background:#174f91; font-size:9px; font-weight:850; }
.psm-dashboard-list p,.psm-dashboard-list strong,.psm-dashboard-list small { display:block; margin:0; }
.psm-dashboard-list strong { font-size:11px; }
.psm-dashboard-list small { color:#7b8797; font-size:8px; }
.psm-dashboard-list em { border-radius:999px; padding:5px 8px; color:#174f91; background:#eaf1fb; font-size:8px; font-style:normal; font-weight:800; }
.psm-float-card { position:absolute; z-index:2; display:grid; min-width:105px; border:1px solid rgba(255,255,255,.42); border-radius:16px; padding:13px 15px; color:#fff; background:rgba(8,38,83,.9); box-shadow:0 15px 30px rgba(0,0,0,.24); backdrop-filter:blur(10px); }
.psm-float-card strong { font-size:20px; line-height:1; }
.psm-float-card span { margin-top:4px; font-size:8px; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }
.psm-float-card-one { right:0; top:4px; }
.psm-float-card-two { left:0; bottom:5px; grid-template-columns:26px 1fr; align-items:center; gap:8px; }
.psm-float-card-two strong { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; color:#0c6339; background:#b8f2d4; font-size:13px; }
.psm-float-card-two span { margin:0; }

.psm-audiences { background:#fff; }
.psm-audience-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.psm-audience-grid article { min-width:0; border:1px solid var(--psm-line); border-radius:19px; padding:24px 21px; background:#fff; box-shadow:0 8px 24px rgba(16,33,58,.055); transition:transform .18s ease,border-color .18s ease; }
.psm-audience-grid article:hover { transform:translateY(-4px); border-color:#a9c4e7; }
.psm-audience-grid article>span { display:inline-flex; align-items:center; min-height:30px; border-radius:999px; padding:6px 10px; color:#174f91; background:#eaf2fb; font-size:9px; font-weight:850; letter-spacing:.1em; }
.psm-audience-grid h3 { margin:20px 0 9px; font-size:18px; font-weight:850; line-height:1.25; }
.psm-audience-grid p { margin:0; color:var(--psm-muted); font-size:12px; line-height:1.7; }

.psm-control { color:#fff; background:#071d3e; }
.psm-control-grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); align-items:center; gap:clamp(45px,7vw,100px); }
.psm-control h2 { color:#fff; }
.psm-control p { color:#b8c9df; }
.psm-control .psm-eyebrow { color:#79c0ed; }
.psm-text-link { display:inline-flex; align-items:center; gap:10px; margin-top:26px; color:#fff!important; font-size:13px; font-weight:800; }
.psm-text-link span { font-size:20px; }
.psm-feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.psm-feature-grid article { border:1px solid rgba(255,255,255,.14); border-radius:18px; padding:22px; background:rgba(255,255,255,.055); }
.psm-feature-grid i { display:grid; place-items:center; width:35px; height:35px; border-radius:10px; color:#061b3b; background:#8fd1f6; font-size:10px; font-style:normal; font-weight:900; }
.psm-feature-grid h3 { margin:17px 0 7px; color:#fff; font-size:16px; }
.psm-feature-grid p { color:#b8c9df; font-size:11px; line-height:1.65; }

.psm-steps { background:var(--psm-soft); }
.psm-step-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; counter-reset:steps; }
.psm-step-grid article { position:relative; border:1px solid var(--psm-line); border-radius:20px; padding:25px; background:#fff; }
.psm-step-grid b { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; color:#fff; background:var(--psm-bright); font-size:13px; }
.psm-step-grid h3 { margin:22px 0 8px; font-size:17px; line-height:1.3; }
.psm-step-grid p { margin:0; color:var(--psm-muted); font-size:12px; line-height:1.7; }

.psm-support { background:#fff; }
.psm-support-card { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(390px,.9fr); align-items:center; gap:clamp(42px,7vw,100px); border-radius:30px; padding:clamp(34px,6vw,76px); color:#fff; background:linear-gradient(130deg,#0d376e,#1c5aa3); box-shadow:0 24px 60px rgba(8,38,83,.18); }
.psm-support h2 { color:#fff; }
.psm-support p { color:#d9e7f6; }
.psm-support .psm-eyebrow { color:#a7d9f7; }
.psm-progress-demo { position:relative; border:1px solid rgba(255,255,255,.32); border-radius:21px; padding:27px 26px 30px; background:rgba(255,255,255,.1); }
.psm-progress-title,.psm-progress-values { display:flex; justify-content:space-between; gap:20px; }
.psm-progress-title { align-items:end; font-size:12px; font-weight:750; }
.psm-progress-title strong { font-size:24px; }
.psm-progress-track { height:15px; margin:14px 0 9px; border:2px solid rgba(255,255,255,.72); border-radius:999px; padding:2px; }
.psm-progress-track i { display:block; width:68%; height:100%; border-radius:999px; background:#8fd1f6; }
.psm-progress-values { color:#d6e4f4; font-size:10px; }
.psm-rate { display:inline-grid; margin-top:24px; border-radius:14px; padding:12px 16px; color:#0d376e; background:#fff; }
.psm-rate strong { font-size:25px; line-height:1; }
.psm-rate span { margin-top:3px; font-size:8px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }

.psm-stores { background:var(--psm-soft); }
.psm-directory-link { display:inline-flex; align-items:center; gap:8px; margin-top:20px; color:var(--psm-blue)!important; font-size:13px; font-weight:800; }
.psm-directory-link span { font-size:18px; }
.psm-stores .ps-store-directory__filters button.is-active,.psm-stores .ps-store-directory__filters button:hover { border-color:var(--psm-blue)!important; background:var(--psm-blue)!important; }
.psm-stores .ps-store-directory__search input:focus { border-color:var(--psm-blue)!important; box-shadow:0 0 0 3px rgba(23,79,145,.12)!important; }

.psm-page-hero .psm-hero-grid { grid-template-columns:minmax(0,1fr) minmax(360px,.62fr); min-height:470px; }
.psm-page-hero h1 { font-size:clamp(48px,6vw,78px); }
.psm-page-card { border:1px solid rgba(255,255,255,.28); border-radius:22px; padding:26px; background:rgba(255,255,255,.09); box-shadow:0 22px 54px rgba(0,0,0,.2); }
.psm-page-card strong,.psm-page-card span { display:block; }
.psm-page-card strong { font-size:22px; }
.psm-page-card span { margin-top:8px; color:#d7e6f7; font-size:13px; line-height:1.65; }

.psm-why { background:#fff; }
.psm-why-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(44px,8vw,120px); align-items:start; }
.psm-why ul { display:grid; gap:13px; margin:0; padding:0; list-style:none; }
.psm-why li { display:flex; align-items:flex-start; gap:14px; border-bottom:1px solid var(--psm-line); padding:0 0 17px; }
.psm-why li>b { display:grid; place-items:center; flex:0 0 30px; height:30px; border-radius:50%; color:#fff; background:var(--psm-blue); }
.psm-why li span,.psm-why li strong,.psm-why li small { display:block; }
.psm-why li strong { font-size:14px; }
.psm-why li small { margin-top:4px; color:var(--psm-muted); font-size:11px; line-height:1.6; }

.psm-start { color:#fff; background:#071d3e; }
.psm-start-grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr); align-items:center; gap:clamp(48px,8vw,120px); }
.psm-start h2 { color:#fff; }
.psm-start p { color:#bacce2; }
.psm-start .psm-eyebrow { color:#82c9f3; }
.psm-start-points { display:flex; flex-wrap:wrap; gap:10px; margin-top:25px; }
.psm-start-points span { border:1px solid rgba(255,255,255,.18); border-radius:999px; padding:8px 11px; color:#d9e7f6; font-size:10px; font-weight:700; }
.psm-lead-card { border-radius:23px; padding:clamp(24px,4vw,38px); color:var(--psm-ink); background:#fff; box-shadow:0 25px 60px rgba(0,0,0,.22); }
.psm-lead-card form { display:grid; gap:14px; }
.psm-lead-card form>div { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.psm-lead-card label { display:grid; gap:6px; margin:0; }
.psm-lead-card label>span { color:#3f4c5e; font-size:10px; font-weight:750; text-transform:uppercase; letter-spacing:.06em; }
.psm-lead-card input,.psm-lead-card textarea { width:100%; min-height:49px; margin:0!important; border:1px solid #d5dfea!important; border-radius:11px!important; padding:11px 13px!important; color:var(--psm-ink)!important; background:#fff!important; font:500 13px/1.4 Poppins,Arial,sans-serif!important; box-shadow:none!important; }
.psm-lead-card textarea { min-height:105px; resize:vertical; }
.psm-lead-card input:focus,.psm-lead-card textarea:focus { outline:none; border-color:var(--psm-bright)!important; box-shadow:0 0 0 3px rgba(47,107,237,.12)!important; }
.psm-lead-card button { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:52px; border:0; border-radius:11px; padding:13px 17px; color:#fff; background:var(--psm-bright); font-size:12px; font-weight:850; cursor:pointer; }
.psm-lead-card button span { font-size:19px; }
.psm-hp { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; opacity:0!important; }
.psm-lead-success { display:grid; gap:7px; border:1px solid #a7e7c2; border-radius:16px; padding:25px; color:#067647; background:#ecfdf3; }
.psm-lead-success strong { font-size:23px; }
.psm-lead-success span { color:#246d50; font-size:13px; }

@media(max-width:1100px){
  .psm-hero-grid { grid-template-columns:1fr 430px; gap:35px; }
  .psm-audience-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .psm-step-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:840px){
  .psm-shell { width:min(100% - 34px,1380px); }
  .psm-hero-grid,.psm-control-grid,.psm-support-card,.psm-why-grid,.psm-start-grid { grid-template-columns:1fr; }
  .psm-hero-grid { padding-block:62px 78px; }
  .psm-hero-visual { width:min(560px,100%); margin-inline:auto; }
  .psm-audience-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .psm-support-card { gap:34px; }
}
@media(max-width:560px){
  .psm-shell { width:min(100% - 26px,1380px); }
  .psm-section { padding:64px 0; }
  .psm-hero h1 { font-size:48px; }
  .psm-hero-actions,.psm-hero-actions .psm-button { width:100%; }
  .psm-trust-row { gap:11px 15px; }
  .psm-hero-visual { padding:25px 0; }
  .psm-dashboard { border-radius:19px; padding:15px; transform:none; }
  .psm-float-card { display:none; }
  .psm-dashboard-list>div { grid-template-columns:31px 1fr; }
  .psm-dashboard-list em { display:none; }
  .psm-audience-grid,.psm-feature-grid,.psm-step-grid { grid-template-columns:1fr; }
  .psm-support-card { min-width:0; border-radius:22px; padding:29px 21px; }
  .psm-progress-demo { padding:22px 18px; }
  .psm-start-grid { min-width:0; }
  .psm-lead-card { padding:22px 18px; }
  .psm-lead-card form>div { grid-template-columns:1fr; }
}

/* PromoSpirit v2.8.17 — Creative Promo palette, PromoSpirit logo, and upgraded type. */
body.promospirit-marketing-home .site-header,
body.promospirit-marketing-home #masthead,
body.promospirit-marketing-home .hfe-site-header,
body.promospirit-marketing-home .elementor-location-header,
body.promospirit-marketing-home [data-elementor-type="header"],
body.promospirit-marketing-home .site-footer,
body.promospirit-marketing-home #colophon,
body.promospirit-marketing-home .elementor-location-footer,
body.promospirit-marketing-home [data-elementor-type="footer"] { display:none!important; }

.psm-site-header,.psm-site-header *,.psm-site-footer,.psm-site-footer * { box-sizing:border-box; font-family:Poppins,Arial,sans-serif; }
.psm-site-header { position:relative; z-index:1000; width:100vw; margin-left:calc(50% - 50vw); border-bottom:1px solid #E4E0D8; color:#004183; background:#fff; box-shadow:0 8px 28px rgba(0,65,131,.08); }
.psm-nav-shell { display:flex; align-items:center; justify-content:space-between; gap:34px; width:min(1380px,calc(100% - 52px)); min-height:88px; margin-inline:auto; }
.psm-brand { display:inline-flex; align-items:center; flex:0 0 auto; color:#004183!important; text-decoration:none!important; }
.psm-brand-logo { display:block; width:auto; height:48px; max-width:210px; object-fit:contain; }
.psm-brand-fallback { color:#124F8C; font-family:Poppins,Arial,sans-serif!important; font-size:29px; font-weight:900; letter-spacing:-.04em; }
.psm-desktop-nav { display:flex; align-items:center; gap:clamp(15px,1.8vw,29px); }
.psm-desktop-nav a { color:#004183!important; font-size:14px; font-weight:750; text-decoration:none!important; white-space:nowrap; }
.psm-desktop-nav a:hover { color:#069AD7!important; }
.psm-desktop-nav .psm-nav-cta { border-radius:11px; padding:13px 18px; color:#fff!important; background:#124F8C; box-shadow:0 9px 22px rgba(18,79,140,.24); }
.psm-desktop-nav .psm-nav-cta:hover { color:#fff!important; background:#004183; }
.psm-mobile-nav { display:none; position:relative; }
.psm-mobile-nav summary { border:1px solid #124F8C; border-radius:10px; padding:10px 14px; color:#fff; background:#124F8C; font-size:14px; font-weight:800; cursor:pointer; list-style:none; }
.psm-mobile-nav summary::-webkit-details-marker { display:none; }
.psm-mobile-nav nav { position:absolute; right:0; top:50px; display:grid; min-width:230px; border:1px solid #E4E0D8; border-radius:16px; padding:10px; background:#fff; box-shadow:0 20px 50px rgba(0,65,131,.24); }
.psm-mobile-nav nav a { border-radius:9px; padding:12px 13px; color:#004183!important; font-size:15px; font-weight:700; text-decoration:none!important; }
.psm-mobile-nav nav a:last-child { color:#fff!important; background:#124F8C; }

.psm-home { --psm-navy:#004183;--psm-blue:#124F8C;--psm-bright:#069AD7;--psm-orange:#069AD7;--psm-sky:#6EC1E4;--psm-ink:#15243B;--psm-muted:#5E6E82;--psm-line:#E4E0D8;--psm-soft:#F7F7F7; }
.psm-shell { width:min(1380px,calc(100% - 52px)); }
.psm-section { padding:clamp(68px,7vw,96px) 0; }
.psm-eyebrow { margin-bottom:16px; color:var(--psm-orange); font-size:13px; font-weight:900; letter-spacing:.14em; }
.psm-section-head { max-width:920px; margin-bottom:40px; }
.psm-section-head h2,.psm-control h2,.psm-support h2,.psm-why h2,.psm-start h2 { margin-bottom:20px; font-size:clamp(42px,5vw,70px); line-height:1.02; }
.psm-section-head p,.psm-control p,.psm-support p,.psm-start p { max-width:850px; font-size:clamp(17px,1.45vw,21px); line-height:1.75; }
.psm-button { min-height:58px; border-radius:13px; padding:15px 25px; font-size:15px; }
.psm-button-primary { background:var(--psm-blue); box-shadow:0 13px 28px rgba(18,79,140,.3); }

.psm-hero { background:linear-gradient(122deg,#002449 0%,#004183 52%,#124F8C 100%); }
.psm-hero::before { right:-170px; top:-340px; width:760px; height:760px; background:rgba(110,193,228,.2); }
.psm-hero::after { left:-190px; bottom:-310px; background:rgba(6,154,215,.16); }
.psm-hero-grid { min-height:720px; padding-block:88px 82px; }
.psm-hero h1 { margin-bottom:28px; font-size:clamp(62px,7vw,102px); }
.psm-hero h1 span { color:#8ED8F2; }
.psm-hero-copy>p { max-width:780px; margin-bottom:34px; color:#E2ECF8; font-size:clamp(18px,1.6vw,22px); line-height:1.72; }
.psm-trust-row { gap:15px 24px; margin-top:32px; font-size:14px; }
.psm-trust-row i { width:23px; height:23px; background:rgba(6,154,215,.34); }
.psm-pennant-line { position:absolute; z-index:1; top:25px; left:50%; display:flex; gap:13px; width:min(1380px,calc(100% - 52px)); transform:translateX(-50%); opacity:.72; }
.psm-pennant-line::before { position:absolute; left:0; right:0; top:0; height:2px; background:rgba(255,255,255,.35); content:""; }
.psm-pennant-line i { width:23px; height:31px; clip-path:polygon(0 0,100% 0,100% 72%,50% 100%,0 72%); background:#6EC1E4; }
.psm-pennant-line i:nth-child(3n+2) { background:#069AD7; }
.psm-pennant-line i:nth-child(3n) { background:#fff; }
.psm-dashboard { border:2px solid rgba(255,255,255,.44); border-radius:28px; padding:27px; box-shadow:0 31px 80px rgba(0,0,0,.3); }
.psm-dashboard-head b { font-size:20px; }
.psm-dashboard-head small { margin-top:4px; font-size:11px; }
.psm-dashboard-head>i { padding:6px 10px; font-size:10px; }
.psm-dashboard-stats>div { padding:18px; }
.psm-dashboard-stats span { font-size:10px; }
.psm-dashboard-stats strong { font-size:31px; }
.psm-dashboard-stats small { margin-top:4px; font-size:10px; }
.psm-dashboard-list>div { grid-template-columns:39px 1fr auto; padding:13px; }
.psm-dash-icon { width:39px; height:39px; background:var(--psm-orange); font-size:10px; }
.psm-dashboard-list strong { font-size:13px; }
.psm-dashboard-list small { margin-top:3px; font-size:10px; }
.psm-dashboard-list em { font-size:10px; }
.psm-float-card { min-width:122px; padding:15px 17px; border-radius:18px; }
.psm-float-card strong { font-size:24px; }
.psm-float-card span { font-size:9px; }

.psm-rally-bar { border-bottom:1px solid #E4E0D8; background:#fff; }
.psm-rally-bar .psm-shell { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.psm-rally-bar span { display:flex; align-items:center; justify-content:center; gap:13px; min-height:76px; border-right:1px solid #E4E0D8; color:#004183; font-size:17px; font-weight:850; letter-spacing:.025em; text-align:center; text-transform:uppercase; }
.psm-rally-bar span:first-child { border-left:1px solid #E4E0D8; }
.psm-rally-bar b { display:grid; place-items:center; width:38px; height:44px; padding-bottom:5px; clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%); color:#fff; background:#069AD7; font-size:12px; }

.psm-audiences { background:linear-gradient(180deg,#FFFFFF 0%,#F7F7F7 100%); }
.psm-audience-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.psm-audience-grid article { position:relative; overflow:hidden; border:1px solid #D7E7F1; border-top:6px solid var(--psm-bright); border-radius:22px; padding:30px 27px 28px; box-shadow:0 14px 35px rgba(0,65,131,.07); }
.psm-audience-grid article:nth-child(2n) { border-top-color:#124F8C; }
.psm-audience-grid article:nth-child(4n+3) { border-top-color:#6EC1E4; }
.psm-audience-grid article::after { position:absolute; right:-24px; top:-32px; width:78px; height:86px; clip-path:polygon(0 0,100% 0,100% 75%,50% 100%,0 75%); background:rgba(234,244,250,.9); content:""; transform:rotate(12deg); }
.psm-audience-grid article>span { min-height:34px; padding:7px 12px; color:#124F8C; background:#EAF4FA; font-size:11px; }
.psm-audience-grid h3 { margin:23px 0 11px; font-size:23px; }
.psm-audience-grid p { color:#52647A; font-size:15px; line-height:1.72; }
.psm-audience-grid article>strong { display:block; margin-top:18px; border-top:1px solid #E1EAF3; padding-top:15px; color:#124F8C; font-size:13px; line-height:1.5; }

.psm-control { background:#004183; }
.psm-feature-grid { gap:18px; }
.psm-feature-grid article { border-radius:21px; padding:27px; }
.psm-feature-grid i { width:40px; height:45px; padding-bottom:5px; clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%); border-radius:0; color:#fff; background:#069AD7; font-size:11px; }
.psm-feature-grid h3 { margin:20px 0 9px; font-size:20px; }
.psm-feature-grid p { font-size:14px; line-height:1.75; }
.psm-text-link { font-size:15px; }
.psm-step-grid { gap:20px; }
.psm-step-grid article { border-radius:22px; padding:30px; }
.psm-step-grid b { width:42px; height:48px; padding-bottom:5px; clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%); border-radius:0; background:#069AD7; font-size:14px; }
.psm-step-grid h3 { margin:25px 0 10px; font-size:21px; }
.psm-step-grid p { font-size:15px; line-height:1.75; }
.psm-support-card { background:linear-gradient(130deg,#004183,#124F8C); }
.psm-rate { color:#004183; }
.psm-why li strong { font-size:17px; }
.psm-why li small { margin-top:6px; font-size:14px; line-height:1.65; }
.psm-why li>b { background:#069AD7; }
.psm-start { background:#004183; }
.psm-start-points span { font-size:13px; }
.psm-lead-card label>span { font-size:12px; }
.psm-lead-card input,.psm-lead-card textarea { font-size:15px!important; }
.psm-lead-card button { font-size:15px; }

.psm-page-hero .psm-hero-grid { min-height:560px; }
.psm-page-card strong { font-size:27px; }
.psm-page-card span { font-size:16px; }
.psm-directory-link { color:#124F8C!important; font-size:15px; }

.psm-reward-receipt { position:relative; border:2px solid rgba(255,255,255,.48); border-radius:26px; padding:28px; color:#15243B; background:#fff; box-shadow:0 30px 80px rgba(0,0,0,.3); transform:rotate(1deg); }
.psm-reward-receipt::before,.psm-reward-receipt::after { position:absolute; left:18px; right:18px; height:12px; background:radial-gradient(circle at 6px 0,transparent 6px,#fff 6.5px) repeat-x; background-size:12px 12px; content:""; }
.psm-reward-receipt::before { top:-9px; transform:rotate(180deg); }
.psm-reward-receipt::after { bottom:-9px; }
.psm-receipt-kicker { display:block; border-bottom:2px dashed #E4E0D8; padding-bottom:17px; color:#069AD7; font-size:12px; font-weight:900; letter-spacing:.13em; }
.psm-reward-receipt>div { display:grid; grid-template-columns:43px 1fr; align-items:center; gap:14px; border-bottom:1px solid #E5EDF4; padding:17px 0; }
.psm-reward-receipt i { display:grid; place-items:center; width:43px; height:43px; border-radius:13px; color:#fff; background:#124F8C; font-size:11px; font-style:normal; font-weight:900; }
.psm-reward-receipt p,.psm-reward-receipt strong,.psm-reward-receipt small { display:block; margin:0; }
.psm-reward-receipt strong { font-size:15px; }
.psm-reward-receipt small { margin-top:4px; color:#66758A; font-size:12px; line-height:1.5; }
.psm-reward-receipt .psm-receipt-total { padding-top:20px; color:#004183; font-size:21px; }
.psm-reward-flow { background:#F7F7F7; }
.psm-dual-benefits { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.psm-dual-benefits article { border:1px solid #E4E0D8; border-radius:25px; padding:clamp(28px,4vw,46px); background:#fff; box-shadow:0 16px 40px rgba(0,65,131,.07); }
.psm-dual-benefits article:nth-child(2) { color:#fff; background:#004183; }
.psm-dual-benefits article>span { display:inline-block; border-radius:999px; padding:8px 12px; color:#124F8C; background:#EAF4FA; font-size:11px; font-weight:900; letter-spacing:.1em; }
.psm-dual-benefits article:nth-child(2)>span { color:#fff; background:#069AD7; }
.psm-dual-benefits h3 { margin:24px 0 13px; font-size:clamp(30px,3vw,44px); }
.psm-dual-benefits p { color:#5D6F84; font-size:16px; line-height:1.75; }
.psm-dual-benefits article:nth-child(2) p { color:#C5D5E8; }
.psm-dual-benefits ul { display:grid; gap:11px; margin:24px 0; padding:0; list-style:none; }
.psm-dual-benefits li { position:relative; padding-left:27px; font-size:15px; line-height:1.55; }
.psm-dual-benefits li::before { position:absolute; left:0; color:#6EC1E4; content:"✓"; font-weight:900; }
.psm-dual-benefits article>small { display:block; border-top:1px solid #E4E0D8; padding-top:18px; color:#66758A; font-size:13px; line-height:1.6; }
.psm-dual-benefits article:nth-child(2)>small { border-color:rgba(255,255,255,.16); color:#AFC2D9; }
.psm-benefits-section { background:#fff; }
.psm-benefit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.psm-benefit-grid article { border:1px solid #E4E0D8; border-radius:21px; padding:29px; background:#fff; box-shadow:0 12px 30px rgba(0,65,131,.055); }
.psm-benefit-grid b { display:grid; place-items:center; width:39px; height:45px; padding-bottom:5px; clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%); color:#fff; background:#069AD7; font-size:11px; }
.psm-benefit-grid h3 { margin:23px 0 9px; font-size:22px; }
.psm-benefit-grid p { margin:0; color:#5C6D82; font-size:15px; line-height:1.72; }
.psm-inline-cta { display:flex; align-items:center; justify-content:space-between; gap:38px; margin-top:48px; border-radius:27px; padding:clamp(30px,5vw,58px); color:#fff; background:#004183; }
.psm-inline-cta h2 { margin:0; color:#fff; font-size:clamp(30px,4vw,52px); line-height:1.05; }
.psm-inline-cta .psm-eyebrow { color:#8ED8F2; }

.psm-app-device { width:min(390px,100%); margin-inline:auto; border:10px solid #07182F; border-radius:42px; padding:18px; color:#15243B; background:#F4F7FB; box-shadow:0 35px 90px rgba(0,0,0,.38); transform:rotate(2deg); }
.psm-device-top { display:flex; justify-content:space-between; align-items:center; padding:0 5px 14px; font-size:10px; font-weight:800; }
.psm-device-top i { width:82px; height:20px; border-radius:999px; background:#07182F; }
.psm-device-brand { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:9px; border-radius:17px; padding:11px; color:#fff; background:#004183; }
.psm-device-brand>b { display:grid; place-items:center; width:43px; height:48px; padding-bottom:5px; clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%); background:#069AD7; }
.psm-device-logo-wrap { display:grid; place-items:center; width:82px; height:39px; border-radius:8px; padding:4px 6px; background:#fff; }
.psm-device-logo-wrap img { display:block; width:100%; height:100%; object-fit:contain; }
.psm-device-brand p,.psm-device-brand strong,.psm-device-brand small { display:block; margin:0; }
.psm-device-brand strong { font-size:14px; }
.psm-device-brand small { color:#AFC2D9; font-size:9px; }
.psm-device-brand em { border-radius:999px; padding:6px 8px; color:#004183; background:#8ED8F2; font-size:8px; font-style:normal; font-weight:900; }
.psm-device-cards { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:12px 0; }
.psm-device-cards>div { border:1px solid #E4E0D8; border-radius:14px; padding:14px; background:#fff; }
.psm-device-cards span,.psm-device-cards strong { display:block; }
.psm-device-cards span { color:#66758A; font-size:8px; font-weight:800; }
.psm-device-cards strong { margin-top:5px; color:#124F8C; font-size:28px; }
.psm-device-order { border:1px solid #E4E0D8; border-radius:16px; padding:15px; background:#fff; }
.psm-device-order span,.psm-device-order strong { display:block; }
.psm-device-order span { color:#069AD7; font-size:9px; font-weight:900; }
.psm-device-order strong { margin:7px 0 14px; font-size:13px; }
.psm-device-order button { width:100%; border:0; border-radius:10px; padding:11px; color:#fff; background:#124F8C; font-size:11px; font-weight:900; }
.psm-device-nav { display:flex; justify-content:space-around; margin-top:13px; border-radius:13px; padding:11px 7px; color:#6B7C91; background:#fff; font-size:9px; }
.psm-device-nav b { color:#069AD7; }
.psm-app-roles { background:#F7F7F7; }
.psm-role-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.psm-role-grid article { border:1px solid #E4E0D8; border-radius:23px; padding:32px; background:#fff; }
.psm-role-grid span { display:inline-block; border-radius:999px; padding:7px 11px; color:#fff; background:#069AD7; font-size:10px; font-weight:900; letter-spacing:.12em; }
.psm-role-grid article:nth-child(2) span { background:#124F8C; }
.psm-role-grid article:nth-child(3) span { color:#004183; background:#8ED8F2; }
.psm-role-grid h3 { margin:22px 0 10px; font-size:24px; }
.psm-role-grid p { margin:0; color:#5C6D82; font-size:15px; line-height:1.72; }
.psm-app-features { background:#fff; }
.psm-app-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }

.psm-site-footer { width:100vw; margin-left:calc(50% - 50vw); color:#DCE8F5; background:#002449; }
.psm-footer-grid { display:grid; grid-template-columns:minmax(320px,1.4fr) minmax(180px,.6fr) minmax(220px,.7fr); gap:clamp(40px,7vw,100px); padding-block:70px 56px; }
.psm-footer-brand { display:grid; align-content:start; justify-items:start; gap:18px; }
.psm-footer-logo-wrap { display:inline-flex; align-items:center; justify-content:center; border-radius:15px; padding:10px 15px; background:#fff; box-shadow:0 12px 30px rgba(0,0,0,.18); }
.psm-footer-logo { display:block; width:auto; height:62px; max-width:280px; object-fit:contain; }
.psm-footer-brand p { max-width:520px; margin:0; color:#AFC2D9; font-size:15px; line-height:1.75; }
.psm-footer-links { display:grid; align-content:start; gap:11px; }
.psm-footer-links strong { margin-bottom:5px; color:#8ED8F2; font-size:13px; letter-spacing:.1em; text-transform:uppercase; }
.psm-footer-links a,.psm-footer-links span { color:#DCE8F5!important; font-size:14px; line-height:1.6; text-decoration:none!important; }
.psm-footer-bottom { display:flex; justify-content:space-between; gap:30px; border-top:1px solid rgba(255,255,255,.14); padding-block:23px; color:#8FA7C2; font-size:12px; }
.psm-footer-bottom a { color:#8ED8F2!important; text-decoration:none!important; }

@media(max-width:1180px){
  .psm-desktop-nav { gap:15px; }
  .psm-desktop-nav a { font-size:13px; }
  .psm-audience-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:980px){
  .psm-desktop-nav { display:none; }
  .psm-mobile-nav { display:block; }
  .psm-hero-grid,.psm-page-hero .psm-hero-grid { grid-template-columns:1fr; min-height:0; }
  .psm-rally-bar .psm-shell { grid-template-columns:1fr 1fr; }
  .psm-rally-bar span:nth-child(3) { border-left:1px solid #E4E0D8; }
  .psm-dual-benefits,.psm-role-grid { grid-template-columns:1fr; }
  .psm-benefit-grid,.psm-app-grid { grid-template-columns:1fr 1fr; }
  .psm-footer-grid { grid-template-columns:1fr 1fr; }
  .psm-footer-brand { grid-column:1/-1; }
}
@media(max-width:640px){
  .psm-nav-shell { width:calc(100% - 28px); min-height:76px; }
  .psm-brand-logo { height:42px; max-width:170px; }
  .psm-shell { width:calc(100% - 28px); }
  .psm-section { padding:72px 0; }
  .psm-section-head h2,.psm-control h2,.psm-support h2,.psm-why h2,.psm-start h2 { font-size:39px; }
  .psm-section-head p,.psm-control p,.psm-support p,.psm-start p { font-size:17px; }
  .psm-hero-grid { padding-block:76px 70px; }
  .psm-hero h1 { font-size:50px; }
  .psm-hero-copy>p { font-size:17px; }
  .psm-pennant-line { width:calc(100% - 28px); gap:9px; }
  .psm-pennant-line i { width:18px; height:25px; }
  .psm-rally-bar .psm-shell { grid-template-columns:1fr; }
  .psm-rally-bar span,.psm-rally-bar span:nth-child(3) { justify-content:flex-start; border-left:1px solid #E4E0D8; min-height:72px; padding:0 18px; font-size:14px; }
  .psm-audience-grid,.psm-benefit-grid,.psm-app-grid { grid-template-columns:1fr; }
  .psm-audience-grid h3 { font-size:24px; }
  .psm-audience-grid p,.psm-benefit-grid p,.psm-role-grid p { font-size:16px; }
  .psm-dashboard-list>div { grid-template-columns:39px 1fr; }
  .psm-dashboard-list em { display:none; }
  .psm-inline-cta { align-items:flex-start; flex-direction:column; }
  .psm-inline-cta .psm-button { width:100%; }
  .psm-app-device { transform:none; }
  .psm-footer-grid { grid-template-columns:1fr; padding-block:56px 42px; }
  .psm-footer-brand { grid-column:auto; }
  .psm-footer-logo { height:54px; max-width:230px; }
  .psm-footer-bottom { align-items:flex-start; flex-direction:column; gap:7px; }
}
