html { scroll-behavior: smooth; }
body { font-family: 'Inter', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
h1,h2,h3,h4,.font-display { font-family: 'Fraunces', Georgia, serif; font-weight: 600; letter-spacing: -0.015em; }
::selection { background: #E07B22; color: #fff; }
.gold-rule { display:inline-block; width:2.5rem; height:2px; background:linear-gradient(90deg,#E07B22,#F5C24C); border-radius:2px; vertical-align:middle; }
.leaf-deco { position:absolute; pointer-events:none; color:#E07B22; }

.eyebrow { letter-spacing: .18em; text-transform: uppercase; font-weight: 700; font-size: .72rem; font-family: 'Inter', system-ui, sans-serif; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1); }
.reveal.in { opacity: 1; transform: none; }

.live-dot { position: relative; }
.live-dot::after { content:''; position:absolute; inset:-4px; border-radius:9999px; border:2px solid currentColor; opacity:.5; animation: ping 1.8s cubic-bezier(0,0,.2,1) infinite; }
@keyframes ping { 75%,100% { transform: scale(2); opacity: 0; } }
.ring-pulse { animation: ringpulse 1.6s ease-out infinite; }
@keyframes ringpulse { 0% { transform: scale(.85); opacity:.7; } 100% { transform: scale(1.6); opacity:0; } }
.shake { animation: shake .4s ease; }
@keyframes shake { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-5px)} 75%{transform:translateX(5px)} }

/* On-load entrance (hero) */
.rise { opacity:0; animation: rise .9s cubic-bezier(.22,.61,.36,1) both; }
@keyframes rise { from { opacity:0; transform: translateY(26px); } to { opacity:1; transform:none; } }
.d1{animation-delay:.10s} .d2{animation-delay:.20s} .d3{animation-delay:.30s} .d4{animation-delay:.40s} .d5{animation-delay:.50s}

/* Ambient motion */
.float-slow { animation: floatY 6.5s ease-in-out infinite; }
@keyframes floatY { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
.sway { transform-origin:72% 88%; animation: sway 9s ease-in-out infinite; }
@keyframes sway { 0%,100%{transform:rotate(-2.5deg)} 50%{transform:rotate(3deg)} }
.glow-pulse { animation: glowPulse 7s ease-in-out infinite; }
@keyframes glowPulse { 0%,100%{opacity:.18; transform:scale(1)} 50%{opacity:.34; transform:scale(1.08)} }

/* Logo focal hover */
.logo-link img { transition: transform .35s cubic-bezier(.22,.61,.36,1), filter .35s ease; }
.logo-link:hover img { transform: scale(1.04); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity:1; transform:none; transition:none; }
  .rise { opacity:1; animation:none; }
  .live-dot::after, .ring-pulse, .float-slow, .sway, .glow-pulse { animation: none; }
}

.field { width:100%; height:3rem; border-radius:.5rem; border:1px solid rgba(14,53,26,.16); background:#fff; padding:0 .9rem; color:#1C2A1E; font-size:1rem; transition:border-color .2s, box-shadow .2s; }
.field:focus { outline:none; border-color:#20764A; box-shadow:0 0 0 3px rgba(32,118,74,.18); }
select.field { -webkit-appearance:none; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235A6357' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right .9rem center; padding-right:2.4rem; }
textarea.field { height:auto; padding:.75rem .9rem; line-height:1.5; }
