/* ===== SHARED DEMO CSS ===== */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{overflow-x:hidden}
a{text-decoration:none;color:inherit}

/* COOKIE BANNER */
#cookie-banner{position:fixed;bottom:60px;left:16px;right:16px;z-index:9000;background:#fff;border-radius:12px;border-top:3px solid var(--accent);box-shadow:0 8px 48px rgba(0,0,0,0.18);padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:inherit;transform:translateY(120%);transition:transform .45s cubic-bezier(.16,1,.3,1);max-width:860px;margin:0 auto}
#cookie-banner.visible{transform:translateY(0)}
#cookie-banner p{font-size:13px;color:#555;line-height:1.6;flex:1;min-width:200px}
#cookie-banner p a{color:var(--accent);text-decoration:underline}
.cookie-btns{display:flex;gap:10px;flex-shrink:0}
.cookie-btn-accept{background:var(--accent);color:#fff;border:0;padding:10px 20px;border-radius:6px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}
.cookie-btn-decline{background:transparent;color:#888;border:1px solid #ddd;padding:10px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}

/* DEMO BANNER */
.demo-strip{background:var(--accent);color:#fff;text-align:center;padding:9px 16px;font-size:12px;font-weight:700;letter-spacing:.3px;position:fixed;bottom:0;left:0;right:0;z-index:8000}
.demo-strip a{color:#fff;text-decoration:underline;opacity:.85}
.demo-strip a:hover{opacity:1}

/* SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}
.reveal-delay-4{transition-delay:.4s}

/* SCROLL TO TOP */
#to-top{position:fixed;right:20px;bottom:68px;width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;border:0;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s,background .2s;box-shadow:0 4px 16px rgba(0,0,0,0.2);z-index:7000}
#to-top:hover{background:var(--accent2,var(--accent))}

/* MOBILE NAV */
.mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;flex-direction:column;gap:5px;flex-shrink:0}
.mobile-toggle span{display:block;width:24px;height:2px;background:currentColor;border-radius:2px;transition:all .3s}
.mobile-toggle.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.mobile-toggle.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.mobile-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

@media(max-width:860px){
  .mobile-toggle{display:flex}
  .nav-links{display:none!important;position:absolute;top:100%;left:0;right:0;padding:12px 20px 20px;flex-direction:column!important;gap:2px!important;z-index:800}
  .nav-links.open{display:flex!important}
  .nav-links a{padding:11px 4px;border-bottom:1px solid rgba(128,128,128,0.12);font-size:15px!important}
  .nav-links a:last-child{border:none;margin-top:6px}
  .nav-cta{text-align:center;justify-content:center}
}

/* FORMS */
.form-group{margin-bottom:18px}
.form-group label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;color:inherit;opacity:.7;letter-spacing:.5px;text-transform:uppercase}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:13px 16px;border:1px solid var(--line,rgba(0,0,0,0.12));border-radius:6px;font-family:inherit;font-size:15px;background:var(--field-bg,#fff);color:inherit;transition:border-color .2s,box-shadow .2s;outline:none}
.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(200,134,10,0.12)}
.form-group textarea{resize:vertical;min-height:120px}
