/* Start custom CSS */.sp2-hero, .sp2-cta{ margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.sp2-wrap{ max-width:1080px; margin:0 auto; padding:0 24px; }
.sp2-hero{ background:radial-gradient(1100px 480px at 88% 0%, rgba(255,199,0,.14), transparent 60%), linear-gradient(160deg,#111C33 0%,#0F172A 55%,#0B1220 100%); color:#FAF7F2; padding:clamp(2.25rem,5vw,4rem) 0 clamp(2rem,4.5vw,3.25rem); overflow:hidden; }
.sp2-hero-grid{ display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:32px; align-items:center; }
.sp2-crumb{ font:600 .8125rem/1.6 Poppins,sans-serif; color:#93A3BE; margin:0 0 .9rem; }
.sp2-crumb a{ color:#93A3BE; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.22); }
.sp2-kicker{ display:block; font:800 .75rem/1.4 Poppins,sans-serif; letter-spacing:.1em; text-transform:uppercase; color:#FFC700; margin:0 0 .6rem; }
.sp2-body .sp2-kicker{ color:#8A6100; }
.sp2 h1{ font:800 clamp(2.25rem,5.4vw,3.75rem)/1.03 Poppins,sans-serif; letter-spacing:-.03em; color:#FAF7F2; margin:0 0 .7rem; }
.sp2-aka{ display:inline-block; font:700 .8125rem/1 Poppins,sans-serif; color:#0F172A; background:#FFC700; border-radius:999px; padding:.45rem .8rem; margin:0 0 1rem; }
.sp2-tagline{ font:600 clamp(1.125rem,2.2vw,1.5rem)/1.4 Poppins,sans-serif; color:#E6EAF2; margin:0 0 1.1rem; max-width:36ch; }
.sp2-chips{ display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.sp2-chips li{ font:600 .8125rem/1 Poppins,sans-serif; color:#C7CEDB; border:1px solid rgba(255,255,255,.22); border-radius:999px; padding:.5rem .8rem; margin:0; }
.sp2 .sp2-mascot{ width:230px !important; max-width:100% !important; height:auto !important; margin:0 auto !important; display:block; }
.sp2-body{ padding-top:clamp(1.75rem,4vw,3rem); padding-bottom:clamp(2rem,4vw,3rem); }
.sp2 h2{ font:800 clamp(1.5rem,3vw,2.125rem)/1.15 Poppins,sans-serif; letter-spacing:-.022em; color:#0F172A; margin:0 0 .9rem; text-wrap:balance; }
.sp2-section{ margin:0 0 clamp(2.25rem,5vw,3.5rem); }
.sp2-body p{ font:400 1.0625rem/1.7 Poppins,sans-serif; color:#33394A; margin:0 0 1rem; }
.sp2-idea{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:28px; align-items:center; }
.sp2-body .sp2-def{ font:600 clamp(1.25rem,2.4vw,1.625rem)/1.45 Poppins,sans-serif; color:#0F172A; margin:0; }
.sp2-illo{ background:#FAF7F2; border:1px solid rgba(15,23,42,.08); border-radius:20px; padding:12px; }
.sp2-illo img{ display:block; width:100%; height:auto; border-radius:12px; }
.sp2-why{ background:#FFFDF4; border:1px solid #F2E3A6; border-left:6px solid #FFC700; border-radius:16px; padding:1.25rem 1.4rem .4rem; }
.sp2-body .sp2-src{ font:600 .8125rem/1.5 Poppins,sans-serif; color:#8A6100; margin:-.25rem 0 .8rem; }
.sp2-uses{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.sp2-use{ background:#fff; border:1px solid rgba(15,23,42,.1); border-radius:18px; padding:1.1rem 1.15rem 1.1rem; display:flex; flex-direction:column; gap:.65rem; }
.sp2-channel{ align-self:flex-start; font:800 .75rem/1 Poppins,sans-serif; letter-spacing:.06em; text-transform:uppercase; color:#0F172A; background:#FFC700; border-radius:999px; padding:.45rem .7rem; }
.sp2-body .sp2-use p{ font-size:.97rem; line-height:1.6; color:#4E5462; margin:0; }
.sp2-line{ position:relative; background:#0F172A; color:#FAF7F2; border-radius:14px 14px 14px 4px; padding:.85rem 4rem .85rem 1rem; font:600 .97rem/1.5 Poppins,sans-serif; margin-top:auto; }
.sp2 .sp2-copy{ position:absolute; right:.5rem; top:.55rem; border:0; background:rgba(255,255,255,.14); color:#FAF7F2; font:700 .6875rem/1 Poppins,sans-serif; letter-spacing:.02em; border-radius:8px; padding:.5rem .6rem; cursor:pointer; box-shadow:none; }
.sp2 .sp2-copy:hover, .sp2 .sp2-copy:focus{ background:#FFC700; color:#0F172A; }
.sp2-templates{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.sp2-templates li{ position:relative; background:#fff; border:1px dashed rgba(15,23,42,.28); border-radius:14px; padding:.95rem 4.6rem .95rem 1rem; font:600 1rem/1.55 Poppins,sans-serif; color:#0F172A; margin:0; }
.sp2 .sp2-templates .sp2-copy{ background:#0F172A; color:#FFC700; top:50%; transform:translateY(-50%); }
.sp2-slot{ background:#FFF1B8; color:#8A6100; border-radius:6px; padding:0 .25rem; }
.sp2-ba{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0 0 1rem; }
.sp2-before, .sp2-after{ border-radius:18px; padding:1rem 1.15rem; }
.sp2-before{ background:#F3F4F6; border:1px solid #E1E4EA; }
.sp2-after{ background:#F0FDF4; border:2px solid #22C55E; }
.sp2-ba-label{ display:block; font:800 .75rem/1 Poppins,sans-serif; letter-spacing:.08em; text-transform:uppercase; margin:0 0 .55rem; }
.sp2-before .sp2-ba-label{ color:#6B7280; }
.sp2-after .sp2-ba-label{ color:#15803D; }
.sp2-body .sp2-before p{ color:#6B7280; font-size:1.0625rem; margin:0; }
.sp2-body .sp2-after p{ color:#0F172A; font-weight:600; font-size:1.0625rem; margin:0; }
.sp2-mistake{ background:#FEF3F2; border:1px solid #F4C7C3; border-radius:16px; padding:1.1rem 1.3rem .3rem; }
.sp2-body .sp2-mistake p{ color:#7A271A; }
.sp2 .sp2-pair{ display:block; background:#fff; border:1px solid rgba(15,23,42,.1); border-left:6px solid #38BDF8; border-radius:18px; padding:1rem 1.2rem; text-decoration:none; }
.sp2 .sp2-pair strong{ display:block; font:800 1.0625rem/1.35 Poppins,sans-serif; color:#0F172A; margin:0 0 .25rem; }
.sp2 .sp2-pair span{ display:block; font:400 .97rem/1.55 Poppins,sans-serif; color:#4E5462; }
.sp2-faq details{ border:1px solid rgba(15,23,42,.1); border-radius:12px; margin-bottom:.625rem; background:#fff; }
.sp2-faq summary{ font:700 1rem/1.45 Poppins,sans-serif; color:#0F172A; cursor:pointer; padding:.9375rem 2.75rem .9375rem 1.125rem; list-style:none; position:relative; }
.sp2-faq summary::-webkit-details-marker{ display:none; }
.sp2-faq summary::after{ content:"+"; position:absolute; right:1rem; top:.75rem; font-size:1.375rem; color:#8A6100; font-weight:700; }
.sp2-faq details[open] summary::after{ content:"\2013"; }
.sp2-faq .sp2-a{ font:400 .97rem/1.66 Poppins,sans-serif; color:#4E5462; padding:0 1.125rem 1.125rem; }
.sp2-pn{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; border-top:1px solid rgba(15,23,42,.1); padding-top:1.25rem; }
.sp2 .sp2-pn a{ font:700 .97rem/1.4 Poppins,sans-serif; color:#0B6FA4; text-decoration:none; }
.sp2-cta{ background:#0F172A; color:#FAF7F2; padding:clamp(2.5rem,5vw,3.5rem) 0; text-align:center; }
.sp2 .sp2-cta h2{ color:#FAF7F2; }
.sp2-cta p{ font:400 1.0625rem/1.65 Poppins,sans-serif; color:#C7CEDB; max-width:52ch; margin:0 auto 1.4rem; }
.sp2 .sp2-btn{ display:inline-block; background:#FFC700; color:#0F172A; font:800 1.0625rem/1 Poppins,sans-serif; padding:1.1rem 1.8rem; border-radius:999px; text-decoration:none; }
.sp2 .sp2-btn:hover{ background:#E0AE00; color:#0F172A; }
.sp2-alt{ display:block; margin-top:1rem; font:600 .9375rem/1.5 Poppins,sans-serif; color:#C7CEDB; }
.sp2 .sp2-alt a{ color:#FFC700; text-decoration:none; border-bottom:1px solid rgba(255,199,0,.45); }
@media (max-width:820px){
  .sp2-hero-grid{ grid-template-columns:1fr; }
  .sp2-hero-art{ order:-1; }
  .sp2 .sp2-mascot{ width:130px !important; margin:0 !important; }
  .sp2-idea, .sp2-uses, .sp2-ba{ grid-template-columns:1fr; }
}

/* FIX: Poppins is wider than the fallback font, so the growth-plan button wrapped to two lines on phones */
@media (max-width:30rem){
  .sp2 .sp2-btn{ font-size:.9375rem; padding:1.05rem 1rem; line-height:1.15; text-align:center; text-wrap:balance; }
}/* End custom CSS */