html,body{height:100%}*,:after,:before{box-sizing:border-box}html{line-height:1.5;-webkit-text-size-adjust:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial;min-font-size:16px;color:#1f2937;background-color:#ffffff}img{max-width:100%;height:auto;display:block;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}:focus{outline:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(79,167,132,0.18);outline-offset:3px;border-radius:0.5rem}.container{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media(min-width:640px){.container{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1024px){.container{padding-left:2.5rem;padding-right:2.5rem}}/***** Mobile menu & overlays *****/#mobileMenu{transition:opacity 250ms ease,visibility 250ms ease}#mobileMenu.hidden{opacity:0;visibility:hidden}#mobileMenu .animate-slideup{animation:slideup .45s ease both}#mobileOverlay{pointer-events:auto}#mobileMenu .bg-white{max-height:90vh;overflow:auto}body.menu-open{height:100%;overflow:hidden}#signupModal{transition:opacity 250ms ease,visibility 250ms ease}#signupModal.hidden{opacity:0;visibility:hidden}#signupOverlay,#mobileOverlay{backdrop-filter:blur(6px)}@keyframes slideup{0%{transform:translateY(10px);opacity:0}100%{transform:translateY(0);opacity:1}}@keyframes beam{0%{transform:translateY(0);opacity:.6}50%{transform:translateY(-6px);opacity:1}100%{transform:translateY(0);opacity:.6}}@keyframes fadein{0%{opacity:0}100%{opacity:1}}/***** Cookie consent *****/#cookieConsent{min-height:56px;box-shadow:0 8px 24px rgba(15,23,42,0.08);border:1px solid rgba(15,23,42,0.04)}@media(max-width:420px){#cookieConsent{right:12px;left:12px;padding:.75rem}#cookieConsent .flex-1{font-size:.9rem}}/***** Modals & forms *****/input[type="text"],input[type="email"],input[type="tel"],textarea,select{background:#fff;border:1px solid rgba(15,23,42,0.06);border-radius:0.75rem;padding:.75rem .9rem;color:#111827}input::placeholder,textarea::placeholder{color:#9ca3af}button[disabled]{opacity:.6;cursor:not-allowed}#signupForm{max-width:100%}#signupMessage{min-height:1.25rem}/* Accessible hidden */.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}footer a:focus,header a:focus{outline:3px solid rgba(47,176,100,0.16);outline-offset:3px;border-radius:.5rem}/* Visual helpers for hover lifting cards */.hover\:lift:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(15,23,42,0.08)}.transition-smooth{transition:all .28s cubic-bezier(.2,.9,.3,1)}/***** Ensure readable text on gradients */.hero-contrast{color:#0f172a}/* small utility to constrain media */.media-constraint{max-height:440px;overflow:hidden}/* Form validation states */input:invalid{box-shadow:none;border-color:#ef4444}input:valid{border-color:rgba(34,197,94,0.28)}/***** Favicon accessible area (keeps consistent look) *****/.favicon-placeholder{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}/* Ensure no horizontal overflow */html,body,#__next,main{overflow-x:hidden}