/* ============================================================
   UCPM Quotes — Full Redesign CSS
   CRO-Optimized · Google Ads Ready · 2025 Design System
   ============================================================ */

:root {
  --brand-dark:       #0B0F1A;
  --brand-dark-2:     #131929;
  --brand-dark-3:     #1C2438;
  --brand-green:      #16A34A;
  --brand-green-dark: #15803D;
  --brand-green-glow: rgba(22, 163, 74, 0.25);
  --brand-amber:      #F59E0B;
  --brand-amber-dark: #D97706;
  --brand-blue:       #2563EB;
  --brand-blue-dark:  #1D4ED8;
  --surface-white:    #FFFFFF;
  --surface-gray:     #F8FAFC;
  --surface-gray-2:   #F1F5F9;
  --text-primary:     #111827;
  --text-secondary:   #4B5563;
  --text-muted:       #6B7280;
  --text-light:       #9CA3AF;
  --border:           #E5E7EB;
  --border-dark:      #D1D5DB;
  --font-heading: 'Syne', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-body:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --shadow-xs: 0 1px 2px rgba(0,0,0,.06);
  --shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.05);
  --shadow-md: 0 4px 6px -1px rgba(0,0,0,.08), 0 2px 4px -1px rgba(0,0,0,.05);
  --shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05);
  --shadow-xl: 0 20px 25px -5px rgba(0,0,0,.12), 0 10px 10px -5px rgba(0,0,0,.06);
  --shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25);
  --ease-fast:   0.18s cubic-bezier(.4,0,.2,1);
  --ease-medium: 0.3s  cubic-bezier(.4,0,.2,1);
  --ease-slow:   0.5s  cubic-bezier(.4,0,.2,1);
}

/* ── Reset ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:var(--font-body); color:var(--text-primary); background:var(--surface-gray); line-height:1.6; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
h1,h2,h3,h4,h5,h6 { font-family:var(--font-heading); color:var(--text-primary); font-weight:700; line-height:1.2; }
a { color:inherit; text-decoration:none; transition:var(--ease-fast); }
button,input,select,textarea { font-family:inherit; }
img { max-width:100%; height:auto; display:block; }

::-webkit-scrollbar { width:8px; }
::-webkit-scrollbar-track { background:var(--surface-gray); }
::-webkit-scrollbar-thumb { background:var(--border-dark); border-radius:9999px; border:2px solid var(--surface-gray); }
::-webkit-scrollbar-thumb:hover { background:var(--brand-green); }

/* ── Layout ── */
.container { width:100%; max-width:1200px; margin-inline:auto; padding-inline:1.5rem; }
.section-padding { padding:5.5rem 0; }
@media (max-width:768px) { .section-padding { padding:4rem 0; } }

/* ── Animations ── */
@keyframes fade-up { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
@keyframes fade-in { from{opacity:0} to{opacity:1} }
@keyframes slide-down { from{opacity:0;transform:translateY(-10px)} to{opacity:1;transform:translateY(0)} }
@keyframes ticker-scroll { from{transform:translate3d(0,0,0)} to{transform:translate3d(-50%,0,0)} }
@keyframes pulse-ring { 0%{box-shadow:0 0 0 0 var(--brand-green-glow)} 70%{box-shadow:0 0 0 16px rgba(22,163,74,0)} 100%{box-shadow:0 0 0 0 rgba(22,163,74,0)} }
@keyframes blink-dot { 0%,100%{opacity:1} 50%{opacity:.25} }
@keyframes bounce-in { 0%{transform:scale(0);opacity:0} 60%{transform:scale(1.15);opacity:1} 80%{transform:scale(.95)} 100%{transform:scale(1)} }
@keyframes shake { 0%,100%{transform:translateX(0)} 20%{transform:translateX(-6px)} 40%{transform:translateX(6px)} 60%{transform:translateX(-4px)} 80%{transform:translateX(4px)} }
@keyframes phone-ring { 0%,50%,100%{transform:rotate(0)} 10%{transform:rotate(-14deg)} 20%{transform:rotate(14deg)} 30%{transform:rotate(-10deg)} 40%{transform:rotate(10deg)} }
@keyframes spin { to{transform:rotate(360deg)} }

.animate-fade-up { animation:fade-up .6s ease-out both; }
.animate-fade-in { animation:fade-in .4s ease-out both; }
.animate-shake   { animation:shake .45s ease-out both; }

/* ── Announcement Bar Ticker (Amber) ── */
.announcement-bar { width:100%; overflow:hidden; background:linear-gradient(90deg,var(--brand-amber-dark),var(--brand-amber),var(--brand-amber-dark)); border-bottom:1px solid rgba(0,0,0,.1); }
.ticker-wrap { display:flex; width:100%; overflow:hidden; padding:.4rem 0; }
.ticker-content { display:flex; white-space:nowrap; animation:ticker-scroll 75s linear infinite; }
.ticker-content:hover { animation-play-state:paused; }
.ticker-text { padding:0 3rem; font-size:.78rem; color:#1C1917; font-weight:700; letter-spacing:.015em; }
.ticker-sep { color:rgba(0,0,0,.3); padding:0 .5rem; }

/* ── Header ── */
#app-header { position:sticky; top:0; left:0; right:0; z-index:1000; background:rgba(255,255,255,.92); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border-bottom:1px solid rgba(229,231,235,.8); transition:var(--ease-medium); }
#app-header.scrolled { background:rgba(255,255,255,.98); box-shadow:var(--shadow-md); }
.nav-container { display:flex; justify-content:space-between; align-items:center; height:4.25rem; }
.logo-link { display:flex; align-items:center; gap:.625rem; }
.logo-img { height:2.5rem; width:auto; object-fit:contain; border-radius:6px; }
.logo-text { font-family:var(--font-heading); font-size:1.375rem; font-weight:800; background:linear-gradient(135deg,var(--brand-green),#065F46); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.nav-menu { display:flex; align-items:center; gap:2rem; }
.nav-link { font-size:1rem; font-weight:700; color:var(--text-primary); position:relative; padding:.375rem 0; transition:color var(--ease-fast); }
.nav-link::after { content:''; position:absolute; bottom:0; left:0; width:0; height:2px; background:var(--brand-green); border-radius:9999px; transition:width var(--ease-medium); }
.nav-link:hover,.nav-link.active { color:var(--brand-green); }
.nav-link:hover::after,.nav-link.active::after { width:100%; }
.btn-quote { background:linear-gradient(135deg,var(--brand-green),var(--brand-green-dark)) !important; color:white !important; padding:.5rem 1.375rem; border-radius:9999px; font-weight:700; box-shadow:0 4px 14px var(--brand-green-glow); transition:all var(--ease-fast) !important; }
.btn-quote::after { display:none !important; }
.btn-quote:hover { transform:translateY(-1px); box-shadow:0 6px 20px var(--brand-green-glow) !important; color:white !important; }
.nav-phone-desktop { display:flex; align-items:center; gap:.75rem; }
.nav-phone-label { text-align:right; font-size:.8rem; color:var(--text-muted); line-height:1.3; }
.nav-phone-number { font-family:var(--font-heading); font-size:1.05rem; font-weight:700; color:var(--text-primary); }
.nav-phone-btn { display:inline-flex; align-items:center; gap:.5rem; background:linear-gradient(135deg,var(--brand-green),var(--brand-green-dark)); color:white; padding:.6rem 1.25rem; border-radius:9999px; font-weight:700; font-size:.875rem; box-shadow:0 4px 14px var(--brand-green-glow); transition:var(--ease-fast); }
.nav-phone-btn i { animation:phone-ring 3s ease-in-out infinite; }
.nav-phone-btn:hover { transform:translateY(-1px); box-shadow:0 6px 20px var(--brand-green-glow); }
.nav-toggle { display:none; background:none; border:none; font-size:1.375rem; color:var(--text-primary); cursor:pointer; width:2.5rem; height:2.5rem; border-radius:.5rem; align-items:center; justify-content:center; transition:var(--ease-fast); }
.nav-toggle:hover { background:var(--surface-gray-2); }
.nav-phone-mobile { display:none; }

@media (max-width:1024px) {
  .nav-toggle { display:flex; }
  .nav-phone-desktop { display:none; }
  .nav-menu { position:absolute; top:100%; left:0; right:0; background:rgba(255,255,255,.99); backdrop-filter:blur(20px); border-bottom:2px solid var(--border); flex-direction:column; align-items:stretch; gap:0; padding:.75rem 0 1rem; box-shadow:var(--shadow-xl); display:none; opacity:0; transform:translateY(-8px); transition:all var(--ease-medium); }
  .nav-menu.active { display:flex; opacity:1; transform:translateY(0); }
  .nav-link { padding:.875rem 2rem; border-bottom:1px solid rgba(229,231,235,.5); font-size:1.05rem; }
  .nav-link::after { display:none; }
  .btn-quote { margin:.75rem 2rem .5rem !important; text-align:center; border-radius:.75rem !important; padding:.875rem 1.5rem !important; }
  .nav-phone-mobile { display:block; margin:.5rem 2rem; background:var(--surface-gray); padding:.875rem 1rem; border-radius:.75rem; text-align:center; font-weight:700; color:var(--text-primary); font-size:.875rem; }
}
@media (max-width:480px) { .logo-text { font-size:1.125rem; } .logo-img { height:2rem; } }

/* ── Hero ── */
.hero-section { position:relative; min-height:90vh; display:flex; align-items:center; justify-content:center; text-align:center; padding:5rem 1.5rem 6rem; background-color:var(--brand-dark); background-image:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(22,163,74,.18) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 80% 80%,rgba(37,99,235,.12) 0%,transparent 50%); overflow:hidden; }
.hero-section::before { content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:60px 60px; pointer-events:none; }
.hero-section::after { content:''; position:absolute; width:700px; height:700px; background:radial-gradient(circle,rgba(22,163,74,.12) 0%,transparent 70%); top:50%; left:50%; transform:translate(-50%,-50%); pointer-events:none; }
.hero-content { position:relative; z-index:5; max-width:880px; animation:fade-up .8s ease-out both; }
.hero-badge { display:inline-flex; align-items:center; gap:.5rem; background:rgba(22,163,74,.15); border:1px solid rgba(22,163,74,.35); color:#86EFAC; padding:.4rem 1.125rem; border-radius:9999px; font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-bottom:1.75rem; }
.hero-badge i { color:#4ADE80; }
.hero-title { color:white; font-size:clamp(2.25rem,5vw,3.875rem); font-weight:800; line-height:1.1; letter-spacing:-.035em; margin-bottom:1.5rem; }
.hero-title .highlight { background:linear-gradient(135deg,#4ADE80,#34D399); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.hero-subtitle { color:#CBD5E1; font-size:clamp(1.05rem,2vw,1.2rem); max-width:660px; margin:0 auto 2rem; line-height:1.75; }
.hero-proof { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:1.25rem 1.75rem; margin-bottom:3rem; }
.proof-item { display:flex; align-items:center; gap:.5rem; color:rgba(255,255,255,.75); font-size:.875rem; font-weight:600; }
.proof-item i { color:#4ADE80; font-size:1rem; }
.proof-divider { width:4px; height:4px; border-radius:50%; background:rgba(255,255,255,.25); }
@media (max-width:600px) { .proof-divider { display:none; } }

/* ── Service Cards ── */
.services-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; max-width:920px; margin:0 auto; }
@media (min-width:640px) { .services-grid { grid-template-columns:repeat(3,1fr); } }
@media (min-width:900px) { .services-grid { grid-template-columns:repeat(5,1fr); gap:1.25rem; } }
.service-card { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:1.25rem; padding:1.75rem 1rem; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; cursor:pointer; transition:all var(--ease-medium); position:relative; overflow:hidden; }
.service-card::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(22,163,74,.12),rgba(37,99,235,.08)); opacity:0; transition:var(--ease-medium); }
.service-card:hover { transform:translateY(-6px); border-color:rgba(22,163,74,.4); box-shadow:0 12px 28px rgba(22,163,74,.2); }
.service-card:hover::before { opacity:1; }
.service-card.featured { border-color:rgba(22,163,74,.5); background:rgba(22,163,74,.08); }
.service-card.featured::after { content:'🔥 Popular'; position:absolute; top:-.375rem; left:50%; transform:translateX(-50%); background:var(--brand-amber); color:#1C1917; font-size:.6rem; font-weight:800; padding:.2rem .625rem; border-radius:9999px; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; }
.service-icon-wrapper { width:3.75rem; height:3.75rem; border-radius:50%; background:linear-gradient(135deg,rgba(22,163,74,.2),rgba(37,99,235,.15)); border:1px solid rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; font-size:1.625rem; color:#4ADE80; transition:var(--ease-medium); position:relative; z-index:2; }
.service-card:hover .service-icon-wrapper { background:linear-gradient(135deg,var(--brand-green),var(--brand-green-dark)); color:white; transform:scale(1.1); box-shadow:0 8px 20px var(--brand-green-glow); }
.service-title { color:white; font-size:1rem; font-weight:700; text-align:center; position:relative; z-index:2; }
.service-arrow { color:rgba(255,255,255,.3); font-size:.7rem; transition:var(--ease-fast); position:relative; z-index:2; }
.service-card:hover .service-arrow { color:#4ADE80; transform:translateX(4px); }
@media (max-width:640px) { .service-card:nth-child(5) { grid-column:span 2; } }

/* ── Stats Row ── */
.stats-section { background:var(--surface-white); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:2.5rem 0; }
.stats-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2rem; }
@media (min-width:640px) { .stats-grid { grid-template-columns:repeat(4,1fr); } }
.stat-item { display:flex; flex-direction:column; align-items:center; text-align:center; gap:.375rem; }
.stat-value { font-family:var(--font-heading); font-size:2.25rem; font-weight:800; background:linear-gradient(135deg,var(--brand-green),var(--brand-green-dark)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; line-height:1; }
.stat-label { font-size:.875rem; color:var(--text-muted); font-weight:600; }

/* ── Section Header ── */
.section-header { text-align:center; max-width:640px; margin:0 auto 3.5rem; }
.section-tag { display:inline-block; background:rgba(22,163,74,.1); color:var(--brand-green-dark); font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:.3rem .875rem; border-radius:9999px; margin-bottom:.875rem; }
.section-title { font-size:clamp(1.75rem,4vw,2.5rem); font-weight:800; margin-bottom:.875rem; letter-spacing:-.025em; }
.section-subtitle { color:var(--text-secondary); font-size:1.075rem; line-height:1.7; }

/* ── Benefits ── */
.benefits-section { background:var(--surface-gray); }
.benefits-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media (min-width:768px) { .benefits-grid { grid-template-columns:repeat(3,1fr); } }
.benefit-card { background:var(--surface-white); border:1px solid var(--border); border-radius:1.25rem; padding:2.5rem 2rem; text-align:center; box-shadow:var(--shadow-sm); transition:all var(--ease-medium); position:relative; overflow:hidden; }
.benefit-card::before { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--brand-green),var(--brand-blue)); transform:scaleX(0); transition:var(--ease-medium); }
.benefit-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-xl); border-color:rgba(22,163,74,.2); }
.benefit-card:hover::before { transform:scaleX(1); }
.benefit-icon-box { width:4.5rem; height:4.5rem; border-radius:1.125rem; background:rgba(22,163,74,.1); color:var(--brand-green); display:flex; align-items:center; justify-content:center; font-size:1.875rem; margin:0 auto 1.75rem; transition:var(--ease-medium); }
.benefit-card:hover .benefit-icon-box { background:var(--brand-green); color:white; transform:scale(1.08) rotate(-5deg); }
.benefit-title { font-size:1.2rem; font-weight:700; margin-bottom:.75rem; }
.benefit-desc { color:var(--text-secondary); font-size:.95rem; line-height:1.65; }

/* ── How It Works ── */
.how-section { background:var(--brand-dark); padding:5.5rem 0; position:relative; overflow:hidden; }
.how-section::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(22,163,74,.12) 0%,transparent 60%); }
.how-section .section-tag { color:#86EFAC; background:rgba(74,222,128,.1); border:1px solid rgba(74,222,128,.2); }
.how-section .section-title { color:white; }
.how-section .section-subtitle { color:#94A3B8; }
.steps-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; position:relative; z-index:2; }
@media (min-width:768px) { .steps-grid { grid-template-columns:repeat(3,1fr); } }
.step-card { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); border-radius:1.25rem; padding:2.5rem 2rem; text-align:center; transition:var(--ease-medium); }
.step-card:hover { background:rgba(255,255,255,.08); border-color:rgba(22,163,74,.3); transform:translateY(-4px); }
.step-number { width:3.5rem; height:3.5rem; border-radius:50%; background:linear-gradient(135deg,var(--brand-green),var(--brand-green-dark)); color:white; font-family:var(--font-heading); font-size:1.375rem; font-weight:800; display:flex; align-items:center; justify-content:center; margin:0 auto 1.5rem; box-shadow:0 6px 20px var(--brand-green-glow); }
.step-title { color:white; font-size:1.15rem; font-weight:700; margin-bottom:.75rem; }
.step-desc { color:#94A3B8; font-size:.95rem; line-height:1.65; }

/* ── Testimonials ── */
.testimonials-section { background:var(--surface-white); }
.testimonials-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media (min-width:640px) { .testimonials-grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px) { .testimonials-grid { grid-template-columns:repeat(4,1fr); } }
.testimonial-card { background:var(--surface-gray); border:1px solid var(--border); border-radius:1.25rem; padding:2rem; display:flex; flex-direction:column; transition:all var(--ease-medium); }
.testimonial-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); border-color:rgba(22,163,74,.2); }
.testimonial-stars { color:var(--brand-amber); font-size:1rem; letter-spacing:.05em; margin-bottom:.875rem; }
.testimonial-quote { color:var(--text-secondary); font-size:.95rem; line-height:1.7; font-style:italic; flex-grow:1; margin-bottom:1.5rem; }
.testimonial-author-row { display:flex; align-items:center; gap:.75rem; }
.testimonial-avatar { width:2.5rem; height:2.5rem; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:.875rem; color:white; flex-shrink:0; }
.testimonial-author { font-weight:700; font-size:.9rem; color:var(--text-primary); }
.testimonial-location { font-size:.78rem; color:var(--text-muted); }

/* ── FAQ ── */
.faq-section { background:var(--surface-gray); }
.faq-accordion { max-width:780px; margin:0 auto; border:1px solid var(--border); border-radius:1.25rem; overflow:hidden; box-shadow:var(--shadow-sm); background:white; }
.faq-item { border-bottom:1px solid var(--border); }
.faq-item:last-child { border-bottom:0; }
.faq-trigger { width:100%; display:flex; justify-content:space-between; align-items:center; padding:1.5rem 2rem; background:none; border:none; text-align:left; cursor:pointer; font-size:1.05rem; font-weight:700; color:var(--text-primary); transition:var(--ease-fast); gap:1rem; }
.faq-trigger:hover { background:var(--surface-gray); }
.faq-icon { width:2rem; height:2rem; border-radius:50%; background:rgba(22,163,74,.1); color:var(--brand-green); display:flex; align-items:center; justify-content:center; font-size:1.125rem; font-weight:900; flex-shrink:0; transition:all var(--ease-medium); }
.faq-item.active .faq-icon { background:var(--brand-green); color:white; transform:rotate(45deg); }
.faq-panel { max-height:0; overflow:hidden; transition:max-height var(--ease-medium) cubic-bezier(0,1,0,1); }
.faq-item.active .faq-panel { max-height:600px; transition:max-height .5s cubic-bezier(1,0,1,0); }
.faq-content { padding:0 2rem 1.75rem; color:var(--text-secondary); font-size:.975rem; line-height:1.75; }

/* ── Form Page Hero ── */
.form-hero { background:var(--brand-dark); background-image:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(22,163,74,.18) 0%,transparent 55%),radial-gradient(ellipse 50% 40% at 90% 100%,rgba(37,99,235,.1) 0%,transparent 50%); padding:3.5rem 1.5rem 5rem; text-align:center; position:relative; overflow:hidden; }
.form-hero::before { content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px); background-size:50px 50px; }
.form-hero-inner { position:relative; z-index:2; max-width:700px; margin:0 auto; animation:fade-up .6s ease-out both; }
.form-hero-badge { display:inline-flex; align-items:center; gap:.5rem; background:rgba(22,163,74,.15); border:1px solid rgba(22,163,74,.35); color:#86EFAC; padding:.35rem 1rem; border-radius:9999px; font-size:.75rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-bottom:1.25rem; }
.form-hero-title { color:white; font-size:clamp(1.75rem,4vw,2.875rem); font-weight:800; letter-spacing:-.03em; line-height:1.12; margin-bottom:1rem; }
.form-hero-title .hl { color:#4ADE80; }
.form-hero-subtitle { color:#94A3B8; font-size:1.05rem; line-height:1.65; }

/* ── Trust Bar ── */
.trust-bar { background:var(--brand-green-dark); padding:.875rem 1.5rem; }
.trust-bar-inner { max-width:900px; margin:0 auto; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:1rem 2rem; }
.trust-item { display:flex; align-items:center; gap:.5rem; color:rgba(255,255,255,.95); font-size:.875rem; font-weight:700; }
.trust-item i { color:#BBF7D0; }
.trust-sep { width:4px; height:4px; background:rgba(255,255,255,.3); border-radius:50%; }
@media (max-width:600px) { .trust-sep { display:none; } }

/* ── Form Page 2-Column Layout ── */
.form-page-layout { max-width:1100px; margin:-2rem auto 5rem; padding:0 1.5rem; display:grid; grid-template-columns:1fr; gap:1.75rem; position:relative; z-index:10; }
@media (min-width:900px) { .form-page-layout { grid-template-columns:1fr 360px; align-items:start; } }

/* Form Card */
.form-card { background:var(--surface-white); border-radius:1.5rem; padding:2.75rem 2.5rem; box-shadow:var(--shadow-2xl); border:1px solid var(--border); animation:fade-up .5s ease-out both; }
@media (max-width:640px) { .form-page-layout { margin-top:-1rem; } .form-card { padding:1.75rem 1.25rem; border-radius:1.25rem; } }

/* Urgency Strip */
.urgency-strip { display:flex; align-items:center; gap:.625rem; background:rgba(245,158,11,.08); border:1px solid rgba(245,158,11,.25); border-radius:.75rem; padding:.75rem 1.125rem; margin-bottom:1.75rem; font-size:.875rem; font-weight:700; color:#92400E; }
.live-dot { width:8px; height:8px; border-radius:50%; background:#16A34A; animation:blink-dot 1.5s ease-in-out infinite; flex-shrink:0; }

/* Form Section Labels */
.form-section-label { display:flex; align-items:center; gap:.75rem; margin-bottom:1.375rem; margin-top:1.75rem; }
.form-section-label:first-of-type { margin-top:0; }
.form-section-label::before,.form-section-label::after { content:''; flex:1; height:1px; background:var(--border); }
.form-section-text { display:flex; align-items:center; gap:.45rem; white-space:nowrap; font-size:.75rem; font-weight:800; color:var(--text-muted); text-transform:uppercase; letter-spacing:.06em; }
.form-section-text i { color:var(--brand-green); }

/* Field Groups */
.field-group { display:grid; gap:1.125rem; margin-bottom:1.125rem; }
.field-group.cols-2 { grid-template-columns:repeat(2,1fr); }
@media (max-width:580px) { .field-group.cols-2 { grid-template-columns:1fr; } }
.field-wrapper { position:relative; display:flex; flex-direction:column; gap:.375rem; }
.field-label { font-size:.75rem; font-weight:800; color:var(--text-secondary); text-transform:uppercase; letter-spacing:.05em; }
.input-control { width:100%; padding:.875rem 1rem; border-radius:.875rem; border:1.5px solid var(--border); background:var(--surface-gray); color:var(--text-primary); font-size:1rem; font-weight:500; transition:all var(--ease-fast); outline:none; }
.input-control:focus { border-color:var(--brand-green); background:white; box-shadow:0 0 0 3px rgba(22,163,74,.12); }
.input-control::placeholder { color:#BCC1CC; }
select.input-control { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236B7280' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 1rem center; background-size:1rem; padding-right:2.75rem; cursor:pointer; }

/* Consent */
.consent-section { margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--border); display:flex; flex-direction:column; gap:.875rem; }
.consent-item { display:flex; gap:.75rem; align-items:flex-start; }
.consent-checkbox { margin-top:.2rem; width:1.125rem; height:1.125rem; border-radius:.3rem; accent-color:var(--brand-green); cursor:pointer; flex-shrink:0; }
.consent-label { font-size:.77rem; color:var(--text-muted); line-height:1.6; }

/* Submit Button */
.btn-submit { display:flex; align-items:center; justify-content:center; gap:.625rem; width:100%; padding:1.125rem 2rem; background:linear-gradient(135deg,var(--brand-green),var(--brand-green-dark)); color:white; font-size:1.125rem; font-weight:800; border:none; border-radius:1rem; cursor:pointer; transition:all var(--ease-fast); margin-top:1.75rem; box-shadow:0 4px 20px var(--brand-green-glow); animation:pulse-ring 2.5s ease-in-out infinite; letter-spacing:-.01em; }
.btn-submit:hover { transform:translateY(-2px); box-shadow:0 8px 30px rgba(22,163,74,.4); animation-play-state:paused; }
.btn-submit:active { transform:translateY(0); }
.btn-submit:disabled { opacity:.65; cursor:not-allowed; transform:none !important; animation:none !important; }
.btn-submit .spinner { display:inline-block; width:1.125rem; height:1.125rem; border:2px solid rgba(255,255,255,.3); border-top-color:white; border-radius:50%; animation:spin .7s linear infinite; }
.submit-privacy { text-align:center; margin-top:.875rem; font-size:.75rem; color:var(--text-muted); display:flex; align-items:center; justify-content:center; gap:.375rem; }
.submit-privacy i { color:var(--brand-green); }

/* Notifications */
#notification-area { margin-bottom:1.25rem; }
.form-notification { display:flex; align-items:flex-start; gap:.75rem; padding:1rem 1.25rem; border-radius:.875rem; font-size:.875rem; font-weight:600; animation:slide-down .3s ease-out; }
.form-notification.error { background:#FEF2F2; border:1px solid #FCA5A5; color:#991B1B; }
.form-notification.success { background:#ECFDF5; border:1px solid #6EE7B7; color:#065F46; }

/* ── Trust Sidebar ── */
.trust-sidebar { display:flex; flex-direction:column; gap:1.25rem; animation:fade-up .7s .15s ease-out both; }
.sidebar-card { background:var(--surface-white); border:1px solid var(--border); border-radius:1.25rem; padding:1.75rem; box-shadow:var(--shadow-sm); }
.sidebar-card-title { font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:var(--text-muted); margin-bottom:1.25rem; }
.sidebar-trust-items { display:flex; flex-direction:column; gap:.875rem; }
.sidebar-trust-item { display:flex; align-items:center; gap:.75rem; font-size:.95rem; font-weight:600; color:var(--text-primary); }
.sidebar-trust-icon { width:2.25rem; height:2.25rem; border-radius:.625rem; background:rgba(22,163,74,.1); color:var(--brand-green); display:flex; align-items:center; justify-content:center; font-size:1.05rem; flex-shrink:0; }
.sidebar-review { padding:.875rem 0; border-bottom:1px solid var(--border); }
.sidebar-review:last-child { border-bottom:none; padding-bottom:0; }
.sidebar-review:first-child { padding-top:0; }
.sidebar-review-stars { color:var(--brand-amber); font-size:.875rem; margin-bottom:.375rem; }
.sidebar-review-text { font-size:.875rem; color:var(--text-secondary); line-height:1.55; margin-bottom:.5rem; font-style:italic; }
.sidebar-review-name { font-size:.78rem; font-weight:700; color:var(--text-muted); }
.sidebar-phone-card { background:linear-gradient(135deg,var(--brand-green),var(--brand-green-dark)); border:none; text-align:center; color:white; }
.sidebar-phone-label { font-size:.78rem; opacity:.85; font-weight:600; margin-bottom:.5rem; }
.sidebar-phone-number { font-family:var(--font-heading); font-size:1.5rem; font-weight:800; letter-spacing:-.01em; display:block; margin-bottom:1rem; }
.sidebar-phone-btn { display:inline-flex; align-items:center; gap:.5rem; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.3); color:white; padding:.625rem 1.5rem; border-radius:9999px; font-weight:700; font-size:.875rem; transition:var(--ease-fast); }
.sidebar-phone-btn:hover { background:rgba(255,255,255,.25); transform:translateY(-1px); }

/* ── Success ── */
.success-screen { text-align:center; padding:3rem 1rem; }
.success-circle { width:6rem; height:6rem; border-radius:50%; background:rgba(22,163,74,.1); border:3px solid rgba(22,163,74,.25); color:var(--brand-green); display:flex; align-items:center; justify-content:center; font-size:2.5rem; margin:0 auto 1.75rem; animation:bounce-in .6s cubic-bezier(.175,.885,.32,1.275); }
.success-title { font-size:2rem; margin-bottom:.875rem; }
.success-message { color:var(--text-secondary); font-size:1.05rem; max-width:460px; margin:0 auto 2.25rem; line-height:1.65; }

/* ── Footer ── */
#app-footer { background:var(--brand-dark); color:#94A3B8; padding:4rem 0 2rem; }
.footer-grid { display:grid; grid-template-columns:1fr; gap:3rem; margin-bottom:3rem; }
@media (min-width:640px) { .footer-grid { grid-template-columns:2fr 1fr 1fr; } }
.footer-logo { display:flex; align-items:center; gap:.625rem; margin-bottom:1rem; }
.footer-logo-img { height:2.25rem; width:auto; border-radius:5px; }
.footer-logo-text { font-family:var(--font-heading); font-size:1.25rem; font-weight:800; color:white; }
.footer-tagline { font-size:.875rem; line-height:1.7; color:#64748B; max-width:300px; }
.footer-title { font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:white; margin-bottom:1.25rem; }
.footer-links { list-style:none; display:flex; flex-direction:column; gap:.75rem; }
.footer-links a { color:#64748B; font-size:.875rem; transition:var(--ease-fast); }
.footer-links a:hover { color:#4ADE80; padding-left:.25rem; }
.footer-badges { display:flex; align-items:center; gap:1.25rem; flex-wrap:wrap; margin-bottom:2rem; padding-bottom:2rem; border-bottom:1px solid rgba(255,255,255,.07); }
.footer-badge { display:flex; align-items:center; gap:.5rem; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:.625rem; padding:.45rem .875rem; font-size:.73rem; color:#94A3B8; font-weight:600; }
.footer-badge i { color:#4ADE80; }
.footer-divider { height:1px; background:rgba(255,255,255,.07); margin-bottom:2rem; }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; font-size:.78rem; color:#475569; }
.footer-bottom a { color:#475569; }
.footer-bottom a:hover { color:#4ADE80; }

/* ── Legal Pages ── */
.legal-container { padding:4rem 0 6rem; }
.legal-card { background:white; border-radius:1.25rem; padding:3rem; box-shadow:var(--shadow-sm); border:1px solid var(--border); max-width:860px; margin:0 auto; }
.legal-card h1 { font-size:2rem; margin-bottom:2rem; }
.service-card:hover::before { opacity:1; }
.service-card.featured { border-color:rgba(22,163,74,.5); background:rgba(22,163,74,.08); }
.service-card.featured::after { content:'🔥 Popular'; position:absolute; top:-.375rem; left:50%; transform:translateX(-50%); background:var(--brand-amber); color:#1C1917; font-size:.6rem; font-weight:800; padding:.2rem .625rem; border-radius:9999px; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; }
.service-icon-wrapper { width:3.75rem; height:3.75rem; border-radius:50%; background:linear-gradient(135deg,rgba(22,163,74,.2),rgba(37,99,235,.15)); border:1px solid rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; font-size:1.625rem; color:#4ADE80; transition:var(--ease-medium); position:relative; z-index:2; }
.service-card:hover .service-icon-wrapper { background:linear-gradient(135deg,var(--brand-green),var(--brand-green-dark)); color:white; transform:scale(1.1); box-shadow:0 8px 20px var(--brand-green-glow); }
.service-title { color:white; font-size:1rem; font-weight:700; text-align:center; position:relative; z-index:2; }
.service-arrow { color:rgba(255,255,255,.3); font-size:.7rem; transition:var(--ease-fast); position:relative; z-index:2; }
.service-card:hover .service-arrow { color:#4ADE80; transform:translateX(4px); }
@media (max-width:640px) { .service-card:nth-child(5) { grid-column:span 2; } }

/* ── Stats Row ── */
.stats-section { background:var(--surface-white); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:2.5rem 0; }
.stats-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2rem; }
@media (min-width:640px) { .stats-grid { grid-template-columns:repeat(4,1fr); } }
.stat-item { display:flex; flex-direction:column; align-items:center; text-align:center; gap:.375rem; }
.stat-value { font-family:var(--font-heading); font-size:2.25rem; font-weight:800; background:linear-gradient(135deg,var(--brand-green),var(--brand-green-dark)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; line-height:1; }
.stat-label { font-size:.875rem; color:var(--text-muted); font-weight:600; }

/* ── Section Header ── */
.section-header { text-align:center; max-width:640px; margin:0 auto 3.5rem; }
.section-tag { display:inline-block; background:rgba(22,163,74,.1); color:var(--brand-green-dark); font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:.3rem .875rem; border-radius:9999px; margin-bottom:.875rem; }
.section-title { font-size:clamp(1.75rem,4vw,2.5rem); font-weight:800; margin-bottom:.875rem; letter-spacing:-.025em; }
.section-subtitle { color:var(--text-secondary); font-size:1.075rem; line-height:1.7; }

/* ── Benefits ── */
.benefits-section { background:var(--surface-gray); }
.benefits-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media (min-width:768px) { .benefits-grid { grid-template-columns:repeat(3,1fr); } }
.benefit-card { background:var(--surface-white); border:1px solid var(--border); border-radius:1.25rem; padding:2.5rem 2rem; text-align:center; box-shadow:var(--shadow-sm); transition:all var(--ease-medium); position:relative; overflow:hidden; }
.benefit-card::before { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--brand-green),var(--brand-blue)); transform:scaleX(0); transition:var(--ease-medium); }
.benefit-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-xl); border-color:rgba(22,163,74,.2); }
.benefit-card:hover::before { transform:scaleX(1); }
.benefit-icon-box { width:4.5rem; height:4.5rem; border-radius:1.125rem; background:rgba(22,163,74,.1); color:var(--brand-green); display:flex; align-items:center; justify-content:center; font-size:1.875rem; margin:0 auto 1.75rem; transition:var(--ease-medium); }
.benefit-card:hover .benefit-icon-box { background:var(--brand-green); color:white; transform:scale(1.08) rotate(-5deg); }
.benefit-title { font-size:1.2rem; font-weight:700; margin-bottom:.75rem; }
.benefit-desc { color:var(--text-secondary); font-size:.95rem; line-height:1.65; }

/* ── How It Works ── */
.how-section { background:var(--brand-dark); padding:5.5rem 0; position:relative; overflow:hidden; }
.how-section::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(22,163,74,.12) 0%,transparent 60%); }
.how-section .section-tag { color:#86EFAC; background:rgba(74,222,128,.1); border:1px solid rgba(74,222,128,.2); }
.how-section .section-title { color:white; }
.how-section .section-subtitle { color:#94A3B8; }
.steps-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; position:relative; z-index:2; }
@media (min-width:768px) { .steps-grid { grid-template-columns:repeat(3,1fr); } }
.step-card { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); border-radius:1.25rem; padding:2.5rem 2rem; text-align:center; transition:var(--ease-medium); }
.step-card:hover { background:rgba(255,255,255,.08); border-color:rgba(22,163,74,.3); transform:translateY(-4px); }
.step-number { width:3.5rem; height:3.5rem; border-radius:50%; background:linear-gradient(135deg,var(--brand-green),var(--brand-green-dark)); color:white; font-family:var(--font-heading); font-size:1.375rem; font-weight:800; display:flex; align-items:center; justify-content:center; margin:0 auto 1.5rem; box-shadow:0 6px 20px var(--brand-green-glow); }
.step-title { color:white; font-size:1.15rem; font-weight:700; margin-bottom:.75rem; }
.step-desc { color:#94A3B8; font-size:.95rem; line-height:1.65; }

/* ── Testimonials ── */
.testimonials-section { background:var(--surface-white); }
.testimonials-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media (min-width:640px) { .testimonials-grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px) { .testimonials-grid { grid-template-columns:repeat(4,1fr); } }
.testimonial-card { background:var(--surface-gray); border:1px solid var(--border); border-radius:1.25rem; padding:2rem; display:flex; flex-direction:column; transition:all var(--ease-medium); }
.testimonial-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); border-color:rgba(22,163,74,.2); }
.testimonial-stars { color:var(--brand-amber); font-size:1rem; letter-spacing:.05em; margin-bottom:.875rem; }
.testimonial-quote { color:var(--text-secondary); font-size:.95rem; line-height:1.7; font-style:italic; flex-grow:1; margin-bottom:1.5rem; }
.testimonial-author-row { display:flex; align-items:center; gap:.75rem; }
.testimonial-avatar { width:2.5rem; height:2.5rem; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:.875rem; color:white; flex-shrink:0; }
.testimonial-author { font-weight:700; font-size:.9rem; color:var(--text-primary); }
.testimonial-location { font-size:.78rem; color:var(--text-muted); }

/* ── FAQ ── */
.faq-section { background:var(--surface-gray); }
.faq-accordion { max-width:780px; margin:0 auto; border:1px solid var(--border); border-radius:1.25rem; overflow:hidden; box-shadow:var(--shadow-sm); background:white; }
.faq-item { border-bottom:1px solid var(--border); }
.faq-item:last-child { border-bottom:0; }
.faq-trigger { width:100%; display:flex; justify-content:space-between; align-items:center; padding:1.5rem 2rem; background:none; border:none; text-align:left; cursor:pointer; font-size:1.05rem; font-weight:700; color:var(--text-primary); transition:var(--ease-fast); gap:1rem; }
.faq-trigger:hover { background:var(--surface-gray); }
.faq-icon { width:2rem; height:2rem; border-radius:50%; background:rgba(22,163,74,.1); color:var(--brand-green); display:flex; align-items:center; justify-content:center; font-size:1.125rem; font-weight:900; flex-shrink:0; transition:all var(--ease-medium); }
.faq-item.active .faq-icon { background:var(--brand-green); color:white; transform:rotate(45deg); }
.faq-panel { max-height:0; overflow:hidden; transition:max-height var(--ease-medium) cubic-bezier(0,1,0,1); }
.faq-item.active .faq-panel { max-height:600px; transition:max-height .5s cubic-bezier(1,0,1,0); }
.faq-content { padding:0 2rem 1.75rem; color:var(--text-secondary); font-size:.975rem; line-height:1.75; }

/* ── Form Page Hero ── */
.form-hero { background:var(--brand-dark); background-image:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(22,163,74,.18) 0%,transparent 55%),radial-gradient(ellipse 50% 40% at 90% 100%,rgba(37,99,235,.1) 0%,transparent 50%); padding:3.5rem 1.5rem 5rem; text-align:center; position:relative; overflow:hidden; }
.form-hero::before { content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px); background-size:50px 50px; }
.form-hero-inner { position:relative; z-index:2; max-width:700px; margin:0 auto; animation:fade-up .6s ease-out both; }
.form-hero-badge { display:inline-flex; align-items:center; gap:.5rem; background:rgba(22,163,74,.15); border:1px solid rgba(22,163,74,.35); color:#86EFAC; padding:.35rem 1rem; border-radius:9999px; font-size:.75rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-bottom:1.25rem; }
.form-hero-title { color:white; font-size:clamp(1.75rem,4vw,2.875rem); font-weight:800; letter-spacing:-.03em; line-height:1.12; margin-bottom:1rem; }
.form-hero-title .hl { color:#4ADE80; }
.form-hero-subtitle { color:#94A3B8; font-size:1.05rem; line-height:1.65; }

/* ── Trust Bar ── */
.trust-bar { background:var(--brand-green-dark); padding:.875rem 1.5rem; }
.trust-bar-inner { max-width:900px; margin:0 auto; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:1rem 2rem; }
.trust-item { display:flex; align-items:center; gap:.5rem; color:rgba(255,255,255,.95); font-size:.875rem; font-weight:700; }
.trust-item i { color:#BBF7D0; }
.trust-sep { width:4px; height:4px; background:rgba(255,255,255,.3); border-radius:50%; }
@media (max-width:600px) { .trust-sep { display:none; } }

/* ── Form Page 2-Column Layout ── */
.form-page-layout { max-width:1100px; margin:-2rem auto 5rem; padding:0 1.5rem; display:grid; grid-template-columns:1fr; gap:1.75rem; position:relative; z-index:10; }
@media (min-width:900px) { .form-page-layout { grid-template-columns:1fr 360px; align-items:start; } }

/* Form Card */
.form-card { background:var(--surface-white); border-radius:1.5rem; padding:2.75rem 2.5rem; box-shadow:var(--shadow-2xl); border:1px solid var(--border); animation:fade-up .5s ease-out both; }
@media (max-width:640px) { .form-page-layout { margin-top:-1rem; } .form-card { padding:1.75rem 1.25rem; border-radius:1.25rem; } }

/* Urgency Strip */
.urgency-strip { display:flex; align-items:center; gap:.625rem; background:rgba(245,158,11,.08); border:1px solid rgba(245,158,11,.25); border-radius:.75rem; padding:.75rem 1.125rem; margin-bottom:1.75rem; font-size:.875rem; font-weight:700; color:#92400E; }
.live-dot { width:8px; height:8px; border-radius:50%; background:#16A34A; animation:blink-dot 1.5s ease-in-out infinite; flex-shrink:0; }

/* Form Section Labels */
.form-section-label { display:flex; align-items:center; gap:.75rem; margin-bottom:1.375rem; margin-top:1.75rem; }
.form-section-label:first-of-type { margin-top:0; }
.form-section-label::before,.form-section-label::after { content:''; flex:1; height:1px; background:var(--border); }
.form-section-text { display:flex; align-items:center; gap:.45rem; white-space:nowrap; font-size:.75rem; font-weight:800; color:var(--text-muted); text-transform:uppercase; letter-spacing:.06em; }
.form-section-text i { color:var(--brand-green); }

/* Field Groups */
.field-group { display:grid; gap:1.125rem; margin-bottom:1.125rem; }
.field-group.cols-2 { grid-template-columns:repeat(2,1fr); }
@media (max-width:580px) { .field-group.cols-2 { grid-template-columns:1fr; } }
.field-wrapper { position:relative; display:flex; flex-direction:column; gap:.375rem; }
.field-label { font-size:.75rem; font-weight:800; color:var(--text-secondary); text-transform:uppercase; letter-spacing:.05em; }
.input-control { width:100%; padding:.875rem 1rem; border-radius:.875rem; border:1.5px solid var(--border); background:var(--surface-gray); color:var(--text-primary); font-size:1rem; font-weight:500; transition:all var(--ease-fast); outline:none; }
.input-control:focus { border-color:var(--brand-green); background:white; box-shadow:0 0 0 3px rgba(22,163,74,.12); }
.input-control::placeholder { color:#BCC1CC; }
select.input-control { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236B7280' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 1rem center; background-size:1rem; padding-right:2.75rem; cursor:pointer; }

/* Consent */
.consent-section { margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--border); display:flex; flex-direction:column; gap:.875rem; }
.consent-item { display:flex; gap:.75rem; align-items:flex-start; }
.consent-checkbox { margin-top:.2rem; width:1.125rem; height:1.125rem; border-radius:.3rem; accent-color:var(--brand-green); cursor:pointer; flex-shrink:0; }
.consent-label { font-size:.77rem; color:var(--text-muted); line-height:1.6; }

/* Submit Button */
.btn-submit { display:flex; align-items:center; justify-content:center; gap:.625rem; width:100%; padding:1.125rem 2rem; background:linear-gradient(135deg,var(--brand-green),var(--brand-green-dark)); color:white; font-size:1.125rem; font-weight:800; border:none; border-radius:1rem; cursor:pointer; transition:all var(--ease-fast); margin-top:1.75rem; box-shadow:0 4px 20px var(--brand-green-glow); animation:pulse-ring 2.5s ease-in-out infinite; letter-spacing:-.01em; }
.btn-submit:hover { transform:translateY(-2px); box-shadow:0 8px 30px rgba(22,163,74,.4); animation-play-state:paused; }
.btn-submit:active { transform:translateY(0); }
.btn-submit:disabled { opacity:.65; cursor:not-allowed; transform:none !important; animation:none !important; }
.btn-submit .spinner { display:inline-block; width:1.125rem; height:1.125rem; border:2px solid rgba(255,255,255,.3); border-top-color:white; border-radius:50%; animation:spin .7s linear infinite; }
.submit-privacy { text-align:center; margin-top:.875rem; font-size:.75rem; color:var(--text-muted); display:flex; align-items:center; justify-content:center; gap:.375rem; }
.submit-privacy i { color:var(--brand-green); }

/* Notifications */
#notification-area { margin-bottom:1.25rem; }
.form-notification { display:flex; align-items:flex-start; gap:.75rem; padding:1rem 1.25rem; border-radius:.875rem; font-size:.875rem; font-weight:600; animation:slide-down .3s ease-out; }
.form-notification.error { background:#FEF2F2; border:1px solid #FCA5A5; color:#991B1B; }
.form-notification.success { background:#ECFDF5; border:1px solid #6EE7B7; color:#065F46; }

/* ── Trust Sidebar ── */
.trust-sidebar { display:flex; flex-direction:column; gap:1.25rem; animation:fade-up .7s .15s ease-out both; }
.sidebar-card { background:var(--surface-white); border:1px solid var(--border); border-radius:1.25rem; padding:1.75rem; box-shadow:var(--shadow-sm); }
.sidebar-card-title { font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:var(--text-muted); margin-bottom:1.25rem; }
.sidebar-trust-items { display:flex; flex-direction:column; gap:.875rem; }
.sidebar-trust-item { display:flex; align-items:center; gap:.75rem; font-size:.95rem; font-weight:600; color:var(--text-primary); }
.sidebar-trust-icon { width:2.25rem; height:2.25rem; border-radius:.625rem; background:rgba(22,163,74,.1); color:var(--brand-green); display:flex; align-items:center; justify-content:center; font-size:1.05rem; flex-shrink:0; }
.sidebar-review { padding:.875rem 0; border-bottom:1px solid var(--border); }
.sidebar-review:last-child { border-bottom:none; padding-bottom:0; }
.sidebar-review:first-child { padding-top:0; }
.sidebar-review-stars { color:var(--brand-amber); font-size:.875rem; margin-bottom:.375rem; }
.sidebar-review-text { font-size:.875rem; color:var(--text-secondary); line-height:1.55; margin-bottom:.5rem; font-style:italic; }
.sidebar-review-name { font-size:.78rem; font-weight:700; color:var(--text-muted); }
.sidebar-phone-card { background:linear-gradient(135deg,var(--brand-green),var(--brand-green-dark)); border:none; text-align:center; color:white; }
.sidebar-phone-label { font-size:.78rem; opacity:.85; font-weight:600; margin-bottom:.5rem; }
.sidebar-phone-number { font-family:var(--font-heading); font-size:1.5rem; font-weight:800; letter-spacing:-.01em; display:block; margin-bottom:1rem; }
.sidebar-phone-btn { display:inline-flex; align-items:center; gap:.5rem; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.3); color:white; padding:.625rem 1.5rem; border-radius:9999px; font-weight:700; font-size:.875rem; transition:var(--ease-fast); }
.sidebar-phone-btn:hover { background:rgba(255,255,255,.25); transform:translateY(-1px); }

/* ── Success ── */
.success-screen { text-align:center; padding:3rem 1rem; }
.success-circle { width:6rem; height:6rem; border-radius:50%; background:rgba(22,163,74,.1); border:3px solid rgba(22,163,74,.25); color:var(--brand-green); display:flex; align-items:center; justify-content:center; font-size:2.5rem; margin:0 auto 1.75rem; animation:bounce-in .6s cubic-bezier(.175,.885,.32,1.275); }
.success-title { font-size:2rem; margin-bottom:.875rem; }
.success-message { color:var(--text-secondary); font-size:1.05rem; max-width:460px; margin:0 auto 2.25rem; line-height:1.65; }

/* ── Footer ── */
#app-footer { background:var(--brand-dark); color:#94A3B8; padding:4rem 0 2rem; }
.footer-grid { display:grid; grid-template-columns:1fr; gap:3rem; margin-bottom:3rem; }
@media (min-width:640px) { .footer-grid { grid-template-columns:2fr 1fr 1fr; } }
.footer-logo { display:flex; align-items:center; gap:.625rem; margin-bottom:1rem; }
.footer-logo-img { height:2.25rem; width:auto; border-radius:5px; }
.footer-logo-text { font-family:var(--font-heading); font-size:1.25rem; font-weight:800; color:white; }
.footer-tagline { font-size:.875rem; line-height:1.7; color:#64748B; max-width:300px; }
.footer-title { font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:white; margin-bottom:1.25rem; }
.footer-links { list-style:none; display:flex; flex-direction:column; gap:.75rem; }
.footer-links a { color:#64748B; font-size:.875rem; transition:var(--ease-fast); }
.footer-links a:hover { color:#4ADE80; padding-left:.25rem; }
.footer-badges { display:flex; align-items:center; gap:1.25rem; flex-wrap:wrap; margin-bottom:2rem; padding-bottom:2rem; border-bottom:1px solid rgba(255,255,255,.07); }
.footer-badge { display:flex; align-items:center; gap:.5rem; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:.625rem; padding:.45rem .875rem; font-size:.73rem; color:#94A3B8; font-weight:600; }
.footer-badge i { color:#4ADE80; }
.footer-divider { height:1px; background:rgba(255,255,255,.07); margin-bottom:2rem; }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; font-size:.78rem; color:#475569; }
.footer-bottom a { color:#475569; }
.footer-bottom a:hover { color:#4ADE80; }

/* ── Legal Pages ── */
.legal-container { padding:4rem 0 6rem; }
.legal-card { background:white; border-radius:1.25rem; padding:3rem; box-shadow:var(--shadow-sm); border:1px solid var(--border); max-width:860px; margin:0 auto; }
.legal-card h1 { font-size:2rem; margin-bottom:2rem; }
.legal-card h2 { font-size:1.25rem; margin:2rem 0 .875rem; }
.legal-card p { color:var(--text-secondary); line-height:1.8; margin-bottom:1rem; }
.legal-card ul { color:var(--text-secondary); line-height:1.8; padding-left:1.5rem; margin-bottom:1rem; }
@media (max-width:640px) { .legal-card { padding:2rem 1.25rem; } }

/* ── Back Home Button ── */
.btn-home { display:inline-flex; align-items:center; gap:.5rem; background:var(--brand-dark); color:white; padding:.875rem 2rem; border-radius:.875rem; font-weight:700; font-size:1rem; border:none; cursor:pointer; transition:var(--ease-fast); }
.btn-home:hover { background:var(--brand-dark-2); transform:translateY(-1px); }

/* ================================================================
   RESPONSIVE SYSTEM — Mobile-First CRO Optimization
   Tablet: ≤1024px  |  Mobile: ≤640px  |  Small Phone: ≤480px
   ================================================================ */

/* ── Tablet (≤1024px) ── */
@media (max-width:1024px) {
  /* Hero */
  .hero-section { min-height:auto; padding:4rem 1.25rem 5rem; }
  .hero-title { font-size:clamp(2rem,5vw,3rem); }
  .hero-subtitle { font-size:1.1rem; }
  .hero-proof { gap:1rem 1.5rem; }

  /* Stats */
  .stats-grid { grid-template-columns:repeat(2,1fr); gap:1.5rem; }

  /* Benefits */
  .benefits-grid { grid-template-columns:repeat(2,1fr); }

  /* Steps */
  .steps-grid { grid-template-columns:repeat(3,1fr); gap:1.25rem; }

  /* Testimonials */
  .testimonials-grid { grid-template-columns:repeat(2,1fr); }

  /* Form layout stays 1-col until 900px (already set in base CSS) */
  .form-card { padding:2.25rem 2rem; }

  /* Footer */
  .footer-grid { grid-template-columns:1fr 1fr; gap:2rem; }
  .footer-grid > div:first-child { grid-column:span 2; }
  .footer-badges { gap:1rem; }
}

/* ── Mobile (≤768px) ── */
@media (max-width:768px) {
  /* Global spacing */
  .section-padding { padding:3.5rem 0; }
  .container { padding-inline:1.25rem; }

  /* Hero */
  .hero-section { padding:3.5rem 1.25rem 4.5rem; min-height:auto; }
  .hero-title { font-size:clamp(1.75rem,7vw,2.5rem); letter-spacing:-.025em; margin-bottom:1.125rem; }
  .hero-subtitle { font-size:1rem; margin-bottom:1.75rem; line-height:1.65; }
  .hero-badge { font-size:.7rem; padding:.35rem 1rem; margin-bottom:1.375rem; }
  .hero-proof { gap:.875rem; margin-bottom:2rem; }
  .proof-item { font-size:.8rem; }
  .proof-item i { font-size:.875rem; }

  /* Service Cards */
  .services-grid { grid-template-columns:repeat(2,1fr); gap:.875rem; }
  .service-card { padding:1.5rem .875rem; border-radius:1rem; }
  .service-icon-wrapper { width:3.25rem; height:3.25rem; font-size:1.4rem; }
  .service-title { font-size:.9rem; }

  /* Stats */
  .stats-section { padding:2rem 0; }
  .stats-grid { grid-template-columns:repeat(2,1fr); gap:1.25rem; }
  .stat-value { font-size:1.875rem; }
  .stat-label { font-size:.8rem; }

  /* Section headers */
  .section-header { margin-bottom:2.5rem; }
  .section-title { font-size:clamp(1.5rem,5vw,2.125rem); }
  .section-subtitle { font-size:1rem; }
  .section-tag { font-size:.7rem; padding:.275rem .75rem; }

  /* Benefits */
  .benefits-section { background:var(--surface-gray); }
  .benefits-grid { grid-template-columns:1fr; gap:1.125rem; }
  .benefit-card { padding:2rem 1.5rem; border-radius:1rem; }
  .benefit-icon-box { width:3.75rem; height:3.75rem; font-size:1.625rem; margin-bottom:1.25rem; }
  .benefit-title { font-size:1.1rem; }
  .benefit-desc { font-size:.9rem; }

  /* How It Works */
  .how-section { padding:3.5rem 0; }
  .steps-grid { grid-template-columns:1fr; gap:1rem; }
  .step-card { padding:2rem 1.5rem; }
  .step-number { width:3rem; height:3rem; font-size:1.25rem; margin-bottom:1.25rem; }
  .step-title { font-size:1.05rem; }
  .step-desc { font-size:.9rem; }

  /* Testimonials */
  .testimonials-grid { grid-template-columns:1fr; gap:1rem; }
  .testimonial-card { padding:1.625rem; }
  .testimonial-quote { font-size:.9rem; }
  .testimonial-stars { font-size:.9rem; }

  /* FAQ */
  .faq-trigger { padding:1.25rem 1.5rem; font-size:1rem; }
  .faq-content { padding:0 1.5rem 1.375rem; font-size:.925rem; }
  .faq-accordion { border-radius:1rem; }

  /* Form Hero */
  .form-hero { padding:2.75rem 1.25rem 4rem; }
  .form-hero-title { font-size:clamp(1.5rem,6vw,2.25rem); }
  .form-hero-subtitle { font-size:.975rem; }
  .form-hero-badge { font-size:.7rem; }

  /* Trust Bar */
  .trust-bar { padding:.75rem 1.25rem; }
  .trust-bar-inner { gap:.75rem 1.5rem; }
  .trust-item { font-size:.8rem; }

  /* Form Card */
  .form-page-layout { margin-top:-.75rem; padding:0 1rem; margin-bottom:3rem; }
  .form-card { padding:1.625rem 1.25rem; border-radius:1.25rem; }
  .urgency-strip { padding:.625rem 1rem; font-size:.825rem; }

  /* Form Fields */
  .field-group.cols-2 { grid-template-columns:1fr; }
  .input-control { padding:.8rem .9rem; font-size:.975rem; border-radius:.75rem; }
  .field-label { font-size:.7rem; }
  .form-section-text { font-size:.7rem; }

  /* Submit Button */
  .btn-submit { padding:1rem 1.5rem; font-size:1.05rem; border-radius:.875rem; margin-top:1.375rem; }
  .submit-privacy { font-size:.7rem; margin-top:.75rem; }

  /* Consent */
  .consent-section { gap:.75rem; margin-top:1.25rem; padding-top:1.25rem; }
  .consent-label { font-size:.73rem; line-height:1.55; }
  .consent-checkbox { width:1rem; height:1rem; }

  /* Trust Sidebar — Collapses to single column, below form on mobile */
  .trust-sidebar { gap:1rem; }
  .sidebar-card { padding:1.375rem; border-radius:1rem; }
  .sidebar-card-title { font-size:.72rem; margin-bottom:1rem; }
  .sidebar-trust-item { font-size:.875rem; gap:.625rem; }
  .sidebar-trust-icon { width:2rem; height:2rem; font-size:.95rem; border-radius:.5rem; }
  .sidebar-phone-card { padding:1.375rem; }
  .sidebar-phone-number { font-size:1.35rem; }
  .sidebar-review-stars { font-size:.8rem; }
  .sidebar-review-text { font-size:.825rem; }
  .sidebar-review-name { font-size:.73rem; }

  /* Footer */
  .footer-grid { grid-template-columns:1fr; gap:2rem; margin-bottom:2rem; }
  .footer-grid > div:first-child { grid-column:auto; }
  #app-footer { padding:3rem 0 1.5rem; }
  .footer-badges { gap:.75rem; }
  .footer-badge { font-size:.68rem; padding:.375rem .75rem; }
  .footer-bottom { flex-direction:column; gap:.625rem; text-align:center; font-size:.73rem; }
  .footer-tagline { max-width:100%; }

  /* Announcement ticker */
  .ticker-text { font-size:.72rem; padding:0 2rem; }

  /* Nav */
  .nav-container { height:3.875rem; }
  .logo-img { height:2.25rem; }
  .logo-text { font-size:1.25rem; }

  /* Legal */
  .legal-card { padding:1.75rem 1.125rem; }
  .legal-card h1 { font-size:1.625rem; }
  .legal-card h2 { font-size:1.1rem; }
}

/* ── Small Phones (≤480px) ── */
@media (max-width:480px) {
  /* Tighten all padding */
  .container { padding-inline:1rem; }
  .section-padding { padding:3rem 0; }

  /* Hero — above-the-fold converts immediately */
  .hero-section { padding:3rem 1rem 3.75rem; }
  .hero-title { font-size:clamp(1.6rem,8vw,2.125rem); line-height:1.15; }
  .hero-subtitle { font-size:.95rem; margin-bottom:1.5rem; }
  .hero-badge { font-size:.68rem; padding:.3rem .875rem; margin-bottom:1.125rem; }
  .hero-proof { gap:.75rem; }
  .proof-item { font-size:.75rem; }

  /* Services — 2-col stays, better spacing */
  .services-grid { grid-template-columns:repeat(2,1fr); gap:.75rem; }
  .service-card { padding:1.25rem .75rem; border-radius:.875rem; gap:.75rem; }
  .service-card.featured::after { font-size:.55rem; }
  .service-icon-wrapper { width:3rem; height:3rem; font-size:1.25rem; }
  .service-title { font-size:.825rem; }
  .service-arrow { display:none; }

  /* Stats */
  .stat-value { font-size:1.625rem; }
  .stat-label { font-size:.75rem; }

  /* Section labels */
  .section-title { font-size:clamp(1.375rem,6.5vw,1.875rem); }
  .section-tag { font-size:.68rem; }

  /* Benefits */
  .benefit-card { padding:1.75rem 1.25rem; }
  .benefit-icon-box { width:3.25rem; height:3.25rem; font-size:1.375rem; margin-bottom:1rem; border-radius:1rem; }
  .benefit-title { font-size:1rem; margin-bottom:.625rem; }
  .benefit-desc { font-size:.875rem; }

  /* Steps */
  .step-card { padding:1.75rem 1.25rem; }
  .step-number { width:2.75rem; height:2.75rem; font-size:1.125rem; }
  .step-title { font-size:1rem; }

  /* Testimonials */
  .testimonial-card { padding:1.375rem; }
  .testimonial-avatar { width:2.25rem; height:2.25rem; font-size:.8rem; }
  .testimonial-author { font-size:.85rem; }
  .testimonial-location { font-size:.73rem; }

  /* Form Hero */
  .form-hero { padding:2.25rem 1rem 3.5rem; }
  .form-hero-title { font-size:clamp(1.375rem,7vw,1.875rem); }
  .form-hero-subtitle { font-size:.9rem; }
  .form-hero-badge { font-size:.65rem; margin-bottom:1rem; }

  /* Trust Bar — compact on small screens */
  .trust-bar { padding:.625rem 1rem; }
  .trust-item { font-size:.75rem; }
  .trust-item i { font-size:.85rem; }

  /* Form */
  .form-page-layout { padding:0 .875rem; margin-bottom:2.5rem; }
  .form-card { padding:1.375rem 1rem; border-radius:1rem; }
  .urgency-strip { font-size:.775rem; padding:.5rem .875rem; gap:.5rem; }
  .live-dot { width:7px; height:7px; }

  .field-group { gap:.875rem; margin-bottom:.875rem; }
  .input-control { padding:.75rem .875rem; font-size:.95rem; }
  .field-label { font-size:.68rem; }

  /* BIG green submit button — CTA priority on small phones */
  .btn-submit { padding:1.125rem 1.25rem; font-size:1.075rem; font-weight:900; letter-spacing:-.005em; }
  .btn-submit i { font-size:1rem; }

  /* Consent */
  .consent-label { font-size:.7rem; line-height:1.5; }

  /* Sidebar phone card — prominent CTA */
  .sidebar-phone-card { padding:1.25rem; }
  .sidebar-phone-number { font-size:1.25rem; margin-bottom:.875rem; }
  .sidebar-phone-btn { font-size:.825rem; padding:.5rem 1.25rem; }
  .sidebar-phone-label { font-size:.73rem; }

  /* Trust sidebar items */
  .sidebar-trust-item { font-size:.825rem; }
  .sidebar-card-title { font-size:.68rem; }

  /* FAQ */
  .faq-trigger { padding:1.125rem 1.25rem; font-size:.95rem; }
  .faq-icon { width:1.75rem; height:1.75rem; font-size:1rem; }
  .faq-content { padding:0 1.25rem 1.25rem; font-size:.9rem; }

  /* Footer */
  .footer-logo-text { font-size:1.125rem; }
  .footer-tagline { font-size:.825rem; }
  .footer-title { font-size:.7rem; }
  .footer-links a { font-size:.825rem; }
  .footer-badges { display:none; } /* hide badges on very small screens, save space */
  #app-footer { padding:2.5rem 0 1.25rem; }
  .footer-bottom { font-size:.7rem; }

  /* Announcement ticker */
  .ticker-text { font-size:.68rem; padding:0 1.5rem; }

  /* Nav */
  .nav-container { height:3.625rem; }
  .logo-img { height:2rem; }
  .logo-text { font-size:1.125rem; }
  .nav-toggle { font-size:1.25rem; }
}

/* ── Extra Small (≤375px — iPhone SE) ── */
@media (max-width:375px) {
  .hero-title { font-size:1.5rem; }
  .hero-subtitle { font-size:.9rem; }
  .form-hero-title { font-size:1.3rem; }
  .service-card { padding:1.125rem .625rem; }
  .service-title { font-size:.8rem; }
  .btn-submit { font-size:1rem; padding:1rem; }
  .form-card { padding:1.25rem .875rem; }
  .container { padding-inline:.875rem; }
}

/* ── Touch Device Optimizations ── */
@media (hover:none) {
  /* Remove hover-only transforms on touch screens to prevent flicker */
  .service-card:hover { transform:none; }
  .benefit-card:hover { transform:none; }
  .testimonial-card:hover { transform:none; }
  .step-card:hover { transform:none; }
  /* Keep button hover states for tap feedback */
  .btn-submit:hover { transform:translateY(-2px); }
  .nav-phone-btn:hover { transform:none; }
}

/* ── High DPI / Retina Screens ── */
@media (-webkit-min-device-pixel-ratio:2), (min-resolution:192dpi) {
  .logo-img { image-rendering:crisp-edges; }
}

/* ── Landscape Phone (short viewport height) ── */
@media (max-height:500px) and (orientation:landscape) {
  .hero-section { min-height:auto; padding:3rem 1.5rem; }
  .hero-proof { margin-bottom:1.5rem; }
  .services-grid { grid-template-columns:repeat(5,1fr); }
}

/* ── Safe area for notched phones (iPhone X+) ── */
@supports (padding-bottom:env(safe-area-inset-bottom)) {
  #app-footer { padding-bottom:calc(2rem + env(safe-area-inset-bottom)); }
}
