:root{
  --navy:#1B2A4A;
  --accent:#2E6FF2;
  --purple:#8B2FE0;
  --grad-dark:linear-gradient(120deg,#131E38 0%,#212B6B 45%,#5B2E9E 85%,#7C2CB0 100%);
  --grad-accent:linear-gradient(90deg,var(--accent),var(--purple));
  --ice:#EAF1FB;
  --cardbg:#F4F7FC;
  --grey:#5B6472;
  --text:#2B3648;
  --danger:#B3261E;
  --success:#0F6E56;
  --font-display:'Cabinet Grotesk','Segoe UI',-apple-system,BlinkMacSystemFont,Arial,sans-serif;
  --font-body:'Switzer','Segoe UI',-apple-system,BlinkMacSystemFont,Calibri,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{overflow-x:hidden;}
body{font-family:var(--font-body);color:var(--text);background:#fff;line-height:1.6;overflow-x:hidden;}

h1,h2,.section-title,.logo-mark{font-family:var(--font-display);font-weight:700;letter-spacing:-0.01em;}
h3,h4{font-family:var(--font-body);font-weight:400;letter-spacing:normal;}

header{background:var(--grad-dark);color:#fff;padding:13px 6vw;display:flex;align-items:center;}
.logo-lockup{height:42px;width:auto;display:block;}

.section-title{font-size:26px;font-weight:700;color:var(--navy);margin-bottom:8px;text-align:center;line-height:1.3;}
.section-sub{font-size:15px;color:var(--grey);text-align:center;margin-bottom:36px;max-width:560px;margin-left:auto;margin-right:auto;line-height:1.5;}

@media (prefers-reduced-motion: no-preference){
  .reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease;}
  .reveal.is-visible{opacity:1;transform:translateY(0);}
  .pain-grid > .reveal:nth-child(1),.risk-grid > .reveal:nth-child(1),.solution-list > .reveal:nth-child(1),.why-grid > .reveal:nth-child(1){transition-delay:.05s;}
  .pain-grid > .reveal:nth-child(2),.risk-grid > .reveal:nth-child(2),.solution-list > .reveal:nth-child(2),.why-grid > .reveal:nth-child(2){transition-delay:.16s;}
  .pain-grid > .reveal:nth-child(3),.solution-list > .reveal:nth-child(3),.why-grid > .reveal:nth-child(3){transition-delay:.27s;}
  .pain-grid > .reveal:nth-child(4),.solution-list > .reveal:nth-child(4){transition-delay:.38s;}
  .faq-list > .reveal:nth-child(1){transition-delay:.04s;}
  .faq-list > .reveal:nth-child(2){transition-delay:.1s;}
  .faq-list > .reveal:nth-child(3){transition-delay:.16s;}
  .faq-list > .reveal:nth-child(4){transition-delay:.22s;}
  .faq-list > .reveal:nth-child(5){transition-delay:.28s;}
}

.btn-primary{display:inline-block;background:var(--grad-accent);color:#fff;font-weight:700;font-size:16px;
  padding:14px 30px;border-radius:8px;text-decoration:none;border:none;cursor:pointer;text-align:center;
  box-shadow:0 8px 24px rgba(139,47,224,0.3);}
.btn-primary:active{opacity:0.85;}

.form-wrap{max-width:500px;margin:0 auto;background:var(--cardbg);border-radius:14px;padding:32px;}
.form-wrap h2{font-size:20px;color:var(--navy);margin-bottom:6px;text-align:center;}
.form-wrap p.sub{font-size:13.5px;color:var(--grey);text-align:center;margin-bottom:22px;}
.field{margin-bottom:14px;}
.field label{display:block;font-size:13px;font-weight:600;color:var(--navy);margin-bottom:5px;}
.field input,.field select{width:100%;padding:11px 12px;border-radius:8px;border:1px solid #C8D3E3;font-size:14px;background:#fff;font-family:inherit;}
.field input:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:1px;}
.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
.row2{display:flex;gap:12px;}
.row2 .field{flex:1;}
.error-msg{color:var(--danger);font-size:12px;margin-top:4px;display:none;}
.form-note{text-align:center;font-size:11.5px;color:var(--grey);margin-top:14px;}

.success-panel{max-width:500px;margin:0 auto;background:var(--cardbg);border-radius:14px;padding:40px 32px;text-align:center;display:none;}
.success-panel .check{width:56px;height:56px;border-radius:50%;background:var(--success);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 18px;}
.success-panel h2{font-size:20px;color:var(--navy);margin-bottom:10px;}
.success-panel p{font-size:14px;color:var(--grey);}
.form-dialog{position:fixed;inset:0;width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:10px;background:var(--cardbg);overflow:auto;}
.form-dialog::backdrop{background:rgba(19,30,56,0.72);}
.form-dialog .form-wrap,.form-dialog .success-panel{max-width:none;}
.form-dialog .form-wrap{padding:40px 32px 32px;}
.dialog-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:0;border-radius:50%;background:#fff;color:var(--navy);font-size:24px;line-height:1;cursor:pointer;}
.form-submit{width:100%;}

footer{background:var(--grad-dark);color:#C6B9F0;text-align:center;padding:32px 6vw 22px;font-size:12px;}
footer a,footer button{background:none;border:none;color:#C6B9F0;font-size:12px;text-decoration:underline;cursor:pointer;font-family:inherit;}

.social-row{display:flex;justify-content:center;gap:14px;margin-bottom:16px;}
.social-row a{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.16);text-decoration:none;transition:background .15s ease;}
.social-row a:hover{background:rgba(255,255,255,0.18);}
.social-row svg{width:16px;height:16px;fill:#DCE7F7;}

.contact-line{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;font-size:12.5px;color:#DCE7F7;margin-bottom:18px;}
.contact-line a{color:#DCE7F7;text-decoration:none;border-bottom:1px solid rgba(220,231,247,0.35);}
.contact-line a:hover{border-color:#DCE7F7;}

.footer-legal{border-top:1px solid rgba(255,255,255,0.12);padding-top:16px;}

.back-link{display:inline-flex;align-items:center;gap:6px;color:#C6B9F0;text-decoration:none;font-size:13px;font-weight:600;}
.back-link:hover{color:#fff;}
.back-link svg{width:14px;height:14px;fill:currentColor;}

.admin{display:none;padding:40px 6vw;background:#fff;border-top:2px solid var(--ice);}
.admin h2{font-size:18px;color:var(--navy);margin-bottom:4px;}
.admin .sub{font-size:13px;color:var(--grey);margin-bottom:18px;}
.admin table{width:100%;border-collapse:collapse;font-size:13px;}
.admin th{text-align:left;background:var(--cardbg);color:var(--navy);padding:8px 10px;font-weight:600;}
.admin td{padding:8px 10px;border-bottom:1px solid #EEF1F6;}
.admin .empty{color:var(--grey);font-size:13px;padding:16px 0;}
.admin .refresh{font-size:12px;color:var(--accent);background:none;border:none;cursor:pointer;margin-bottom:14px;text-decoration:none;}

@media (max-width:720px){
  .row2{flex-direction:column;}
}

@media (max-width:480px){
  header{padding:10px 5vw;}
  .logo-lockup{height:32px;}
  .back-link span,.back-link{font-size:12px;}
}
