html { scroll-behavior: smooth; }
body { letter-spacing: 0; }
.hero-bg { background: linear-gradient(135deg, #1F2F2A 0%, #45634F 54%, #8FB89A 100%); }
.hero-orb { position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.13); pointer-events: none; }
.stat-card { background: rgba(255,255,255,.08); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,.18); }
.form-input:focus { outline: none; border-color: #5A7C65; box-shadow: 0 0 0 3px rgba(90,124,101,.15); }
.sticky-bar { transition: transform .3s ease, background .3s ease; }
.cta-glow { box-shadow: 0 0 30px rgba(201,154,63,.35); }
.cta-glow:hover { box-shadow: 0 0 45px rgba(201,154,63,.55); }
.gradient-text { background: linear-gradient(90deg, #5A7C65, #C99A3F); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.portrait-arch { border-radius: 999px 999px 24px 24px; }
.blend-fade-frame { position: relative; overflow: hidden; }
.blend-fade-frame::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to right, #F7F5F0 0%, rgba(247,245,240,0) 22%), linear-gradient(to bottom, #F7F5F0 0%, rgba(247,245,240,0) 18%, rgba(247,245,240,0) 82%, #F7F5F0 100%); }
.blend-fade-frame-white { position: relative; overflow: hidden; }
.blend-fade-frame-white::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to right, #FFFFFF 0%, rgba(255,255,255,0) 22%), linear-gradient(to bottom, #FFFFFF 0%, rgba(255,255,255,0) 18%, rgba(255,255,255,0) 82%, #FFFFFF 100%); }
.orig-faq-container { max-width: 800px; margin: 0 auto; }
.orig-faq-item { margin-bottom: 10px; overflow: hidden; background: #fff; border: 1px solid #e8e8e8; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,.05); }
.orig-faq-question { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; color: #45634F; font-size: 17px; font-weight: 700; cursor: pointer; transition: background-color .3s ease; }
.orig-faq-question:hover { background: #f7f5f0; }
.orig-faq-answer { display: none; padding: 12px 20px 18px; color: #555; border-top: 1px solid #f0f0f0; font-size: 15px; line-height: 1.7; }
.orig-faq-arrow { flex-shrink: 0; margin-left: 12px; font-size: 22px; font-weight: 700; transition: transform .3s ease; }
.orig-faq-item.open .orig-faq-arrow { transform: rotate(45deg); }
.fade-up { animation: fadeUp .7s ease forwards; }
.delay-100 { animation-delay: .1s; opacity: 0; }
.delay-200 { animation-delay: .2s; opacity: 0; }
.delay-300 { animation-delay: .3s; opacity: 0; }
.delay-400 { animation-delay: .4s; opacity: 0; }
.delay-500 { animation-delay: .5s; opacity: 0; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .fade-up, [class*='delay-'] { animation: none; opacity: 1; } }
