:root { color-scheme: light; }
* { -webkit-tap-highlight-color: transparent; }
body { margin: 0; background: #F6F5F1; -webkit-font-smoothing: antialiased; font-family: 'IBM Plex Sans', system-ui, sans-serif; color: #232323; }
img { max-width: 100%; }
a { color: #14502C; text-decoration: none; transition: color 0.2s ease, opacity 0.2s ease; }
a:hover { color: #0E3A20; }
::selection { background: #14502C; color: #fff; }
select { appearance: none; -webkit-appearance: none; }

button { transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease, color 0.2s ease; }
button[data-quote-open]:hover, button[data-send]:hover, button[data-next]:hover { background: #0E3A20 !important; }
button[data-back]:hover, button[data-again]:hover { border-color: #14502C !important; background: #F3F6F3 !important; }
button[data-quote-close]:hover { border-color: #14502C !important; color: #14502C !important; }
button[data-top]:hover { background: #0E3A20 !important; transform: translateY(-2px); }
[data-officebar] [data-office]:hover { background: #0E3A20; }

input:focus, textarea:focus, select:focus { border-color: #14502C !important; background: #FFFFFF !important; outline: none; }

@keyframes ltFade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes ltDrop { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@keyframes ltRise { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }

[data-quote-modal] > div { overflow-x: hidden; }
[data-quotebody] { max-width: 100%; box-sizing: border-box; }
[data-quotebody] input, [data-quotebody] select, [data-quotebody] textarea { max-width: 100%; }
