/* Landing refinements; keep the existing brand and shared components. */
.cs-section { padding: 88px 0; }
.cs-hero .container, .cs-section .container, .cs-section-sm .container, .cs-churches .container, .cs-cta-final .container { width:100%; max-width:1240px; padding-left:24px; padding-right:24px; }
.cs-title { font-size:clamp(28px,3.4vw,44px); line-height:1.18; }
.cs-btn { min-height:48px; border-radius:12px; justify-content:center; }
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline:3px solid #3a7af6; outline-offset:5px; }
.cs-hero { min-height:auto; padding:150px 0 72px; }
.cs-hero-grid { grid-template-columns:1.05fr 1fr; gap:48px; }
.cs-hero-grid > *, .cs-demo-layout > *, .cs-modules-layout > * { min-width:0; }
.cs-hero h1 { font-size:clamp(36px,4vw,54px); line-height:1.12; }
.cs-hero h1 em { background:none; color:#ffad63; -webkit-text-fill-color:currentColor; }
.cs-hero-lead { max-width:560px; color:#d5dfef; }
.cs-hero-reassurance { color:#d5dfef; font-size:14px; margin:16px 0 0; }
.cs-hero-visual { animation:cs-enter .6s ease-out both; }
.cs-hero-mockup { box-shadow:0 28px 70px #0005; transform:perspective(1200px) rotateY(-4deg); }
.cs-hero-mockup img { height:auto; }
.cs-float-card { animation:cs-float 6s ease-in-out infinite; z-index:1; }
.cs-float-1 { right:0; top:-36px; }
.cs-float-2 { left:-12px; bottom:-28px; animation-delay:-3s; }
.cs-hero-stat-label { color:#b8c8df; }
.cs-churches { padding:32px 0; background:#f8faff; border-bottom:1px solid var(--border); }
.cs-churches-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.cs-churches h2 { font-size:16px; font-weight:600; color:#475569; }
.cs-carousel-toggle { border:1px solid var(--border); background:#fff; color:#475569; border-radius:8px; padding:10px 14px; min-height:44px; font-size:14px; cursor:pointer; }
.cs-churches-window { overflow:hidden; }
#church-track { display:flex; gap:20px; width:max-content; animation:scroll-churches 45s linear infinite; }
.cs-church-logo { flex:0 0 176px; height:116px; padding:10px; border:1px solid var(--border); border-radius:14px; background:white; display:flex; align-items:center; justify-content:center; }
.cs-church-logo img { width:100%; height:100%; object-fit:contain; }
.cs-churches-window:hover #church-track, .cs-churches-window:focus-within #church-track, #church-track.is-paused { animation-play-state:paused; }
@keyframes scroll-churches { to { transform:translateX(calc(-50% - 10px)); } }
.cs-problem { padding-bottom:36px; }
.cs-problem .cs-title { font-size:clamp(25px,3vw,38px); max-width:900px; margin:auto; }
.cs-problem .cs-lead, .cs-demo .cs-lead { margin:20px auto 0; max-width:680px; }
.cs-features-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:40px; }
.cs-feature-main { grid-column:span 2; grid-row:span 2; background:linear-gradient(140deg,#f0f6ff,#fff); }
.cs-feature-main .cs-feature-title { font-size:26px; }
.cs-feature-card:nth-child(2) { background:#f0fbf7; }
.cs-feature-card:nth-child(3) { background:#fff7ee; }
.cs-feature-desc, .cs-feature-link { font-size:15px; }
.cs-feature-link { color:#245fc5; }
.cs-feature-card:hover { transform:translateY(-3px); border-color:#c5d6f4; box-shadow:0 12px 32px #1d4ed812; }
.cs-feature-preview { margin:24px 0 0; }
.cs-feature-preview img, .cs-demo-preview img { display:block; width:100%; height:auto; border:1px solid #dce5f2; border-radius:12px; }
.cs-feature-preview figcaption, .cs-demo-preview figcaption { font-size:14px; color:#52637a; margin-top:12px; }
.cs-demo { background:var(--light); }
.cs-demo-tabs { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:32px 0; }
.cs-demo-tabs button { padding:12px 20px; min-height:48px; border:1px solid #d2deef; border-radius:10px; background:#fff; color:#31435e; cursor:pointer; font:inherit; font-weight:600; transition:background .18s,color .18s; }
.cs-demo-tabs button[aria-selected="true"] { background:#2563d4; color:#fff; border-color:#2563d4; box-shadow:0 6px 16px #2563d422; }
.cs-demo-layout { display:grid; grid-template-columns:1.7fr 1fr; gap:32px; align-items:center; }
.cs-demo-panel { padding:28px; background:#fff; border:1px solid var(--border); border-radius:16px; animation:cs-enter .2s ease-out; }
.cs-demo-panel[hidden] { display:none; }
.cs-demo-panel h3 { font-size:24px; margin-bottom:16px; color:var(--navy); }
.cs-demo-panel p { color:#52637a; line-height:1.8; }
.cs-modules-layout { display:grid; grid-template-columns:1fr 1.3fr; gap:48px; align-items:center; }
.cs-modules-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:0; gap:12px; }
.cs-module-chip { min-height:110px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.cs-module-chip-label { font-size:14px; }
.cs-module-chip-new { color:#0a1628; }
.cs-stat-label { color:#fff; font-size:15px; }
.cs-stats-grid > div + div { border-left:1px solid #ffffff40; }
.cs-testi-grid { grid-template-columns:1.2fr 1fr; }
.cs-testi-featured { grid-row:span 2; display:flex; flex-direction:column; justify-content:center; background:#0f2952; padding:40px; }
.cs-testi-featured .cs-testi-text { color:#fff; font-size:22px; line-height:1.75; }
.cs-testi-featured .cs-testi-name { color:#fff; }
.cs-testi-featured .cs-testi-role { color:#bacde8; }
.cs-testi-role { font-size:14px; }
.cs-security { background:#fff; border-top:1px solid var(--border); }
.cs-security-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:32px; }
.cs-security-grid i { color:#2563d4; font-size:22px; margin-bottom:16px; }
.cs-security-grid h3 { font-size:18px; margin-bottom:10px; }
.cs-security-grid p { color:#52637a; line-height:1.7; }
.cs-security-grid a { color:#245fc5; text-decoration:underline; }
.cs-pricing-grid { align-items:stretch; gap:24px; }
.cs-price-card { display:flex; flex-direction:column; padding:32px 26px; }
.cs-price-card.featured { transform:translateY(-8px); border:2px solid #3a7af6; }
.cs-price-name { font-size:18px; }
.cs-price-card.featured .cs-price-name, .cs-price-card.featured .cs-price-period { color:#c5d6ef; }
.cs-price-period, .cs-price-features li { font-size:15px; }
.cs-price-features { margin-bottom:28px; }
.cs-price-features li { align-items:baseline; }
.cs-price-features i { flex:0 0 16px; }
.cs-price-cta { margin-top:auto; min-height:48px; }
.cs-price-card.featured .cs-price-cta, .cs-price-badge { color:#0a1628; }
.cs-price-features span { color:#64748b !important; }
.cs-faq-list { max-width:820px; margin:36px auto 0; }
.cs-faq details { border-bottom:1px solid var(--border); padding:0 4px; }
.cs-faq summary { padding:22px 28px 22px 0; cursor:pointer; font-size:17px; font-weight:600; color:var(--navy); }
.cs-faq details[open] summary { color:#245fc5; }
.cs-faq details p { color:#52637a; line-height:1.8; padding-bottom:22px; }
.cs-cta-final h2 { max-width:900px; margin-left:auto; margin-right:auto; }
@keyframes cs-enter { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@keyframes cs-float { 50% { transform:translateY(-5px); } }
@media (max-width:1100px) { .cs-hero-grid { gap:28px; } .cs-price-card { padding:28px 20px; } }
@media (max-width:1100px) {
 #header_main #cs-header-menu { display:none !important; }
 #header_main .s2-mobile_menu_button { display:block; top:-42px; right:0; min-width:44px; min-height:44px; text-align:center; }
 #header_main .brand_logo { max-width:200px; }
 #header_main .brand_logo img { max-width:100%; object-fit:contain; }
 #header_main .s2-mobile_menu_content { width:min(320px,90vw); }
}
@media (max-width:992px) {
 .cs-hero-grid { grid-template-columns:1fr; gap:56px; }
 .cs-hero-visual { display:block; max-width:760px; width:100%; margin:auto; }
 .cs-hero-mockup { transform:none; }
 .cs-hero-lead { max-width:680px; }
 .cs-modules-layout { grid-template-columns:1fr; gap:32px; }
 .cs-demo-layout { grid-template-columns:1fr; }
 .cs-pricing-grid { grid-template-columns:1fr; max-width:640px; margin-left:auto; margin-right:auto; }
 .cs-price-card.featured { transform:none; }
 .cs-testi-grid { grid-template-columns:1fr 1fr; }
 .cs-testi-featured { grid-column:span 2; grid-row:auto; }
}
@media (max-width:767px) {
 .cs-section { padding:56px 0; }
 .cs-hero { padding:110px 0 56px; }
 .cs-hero h1 { font-size:clamp(34px,7vw,48px); }
 .cs-hero-lead { font-size:17px; }
 .cs-hero-stats { justify-content:space-between; gap:12px; }
 .cs-hero-stat-label { font-size:12px; }
 .cs-float-card { display:none; }
 .cs-hero-grid { gap:32px; }
 .cs-churches-window { overflow-x:auto; padding:0 24px 12px; scroll-snap-type:x proximity; }
 #church-track { animation:none; }
 .cs-church-logo { scroll-snap-align:start; }
 .cs-church-logo[aria-hidden="true"], .cs-carousel-toggle { display:none; }
 .cs-features-grid { grid-template-columns:1fr; }
 .cs-feature-main { grid-column:auto; grid-row:auto; }
 .cs-feature-card { padding:24px; }
 .cs-demo-tabs { justify-content:flex-start; }
 .cs-demo-tabs button { flex:1 0 auto; padding:12px; }
 .cs-modules-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .cs-testi-grid, .cs-security-grid { grid-template-columns:1fr; }
 .cs-testi-featured { grid-column:auto; padding:28px; }
 .cs-testi-featured .cs-testi-text { font-size:20px; }
 .cs-stats-grid > div:nth-child(3) { border-left:0; }
 .cs-cta-actions { align-items:stretch; }
 .cs-cta-actions .cs-btn { width:100%; padding:16px 20px !important; }
 .cs-title { letter-spacing:-.5px; }
}
@media (prefers-reduced-motion:reduce) {
 .cs-hero-visual, .cs-float-card, .cs-demo-panel, #church-track { animation:none; }
 .cs-churches-window { overflow-x:auto; }
 .cs-church-logo[aria-hidden="true"], .cs-carousel-toggle { display:none; }
 .cs-btn, .cs-feature-card, .cs-module-chip, .cs-price-card, .cs-price-cta, .cs-demo-tabs button { transition:none; }
}
