/* Fixitz Renovations demo styles (Tailwind Play CDN handles utilities) */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Scroll reveals */
.js .reveal { opacity: 0; transform: translateY(18px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); transition-delay: var(--d, 0ms); }
.js .reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js .reveal { opacity: 1; transform: none; transition: none; } }

/* Services list */
.svc { display: grid; grid-template-columns: 4.5rem 1fr; gap: 1rem; align-items: baseline; padding: 1.75rem 0; border-top: 1px solid rgba(20, 50, 41, .14); }
.svc:last-child { border-bottom: 1px solid rgba(20, 50, 41, .14); }
.svc-n { font-family: Fraunces, Georgia, serif; font-style: italic; font-size: 1.25rem; color: #b98a4b; }
.svc-t { font-family: Fraunces, Georgia, serif; font-weight: 500; font-size: clamp(1.75rem, 3.6vw, 2.75rem); line-height: 1.05; letter-spacing: -0.015em; color: #143229; transition: color .3s ease, transform .3s ease; }
.svc-d { margin-top: .5rem; font-size: .95rem; color: rgba(31, 36, 33, .62); }
.svc:hover .svc-t { color: #2f6b55; transform: translateX(6px); }
@media (max-width: 639px) { .svc { grid-template-columns: 2.75rem 1fr; padding: 1.35rem 0; } }

/* Steps */
.step { border-top: 1px solid rgba(226, 192, 143, .35); padding-top: 1.5rem; }
.step-n { display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; border-radius: 9999px; border: 1px solid rgba(226, 192, 143, .6); font-family: Fraunces, Georgia, serif; font-size: 1.35rem; color: #e2c08f; }

/* Glass panels (7c) */
.glass { position: relative; overflow: hidden; border-radius: 22px; border: 1px solid rgba(255,255,255,.55); background: rgba(255,255,255,.62); box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 8px 32px -4px rgba(20,50,41,.16); -webkit-backdrop-filter: blur(24px) saturate(1.5); backdrop-filter: blur(24px) saturate(1.5); }
.field-l { display: block; font-size: .875rem; font-weight: 700; color: #143229; }
.field { margin-top: .5rem; display: block; width: 100%; min-height: 3rem; border-radius: 12px; border: 1px solid rgba(20,50,41,.16); background: rgba(255,255,255,.85); padding: .75rem 1rem; color: #1f2421; outline: none; transition: border-color .2s, box-shadow .2s; }
.field::placeholder { color: rgba(31,36,33,.4); }
.field:focus { border-color: #2f6b55; box-shadow: 0 0 0 3px rgba(47,107,85,.22); }

/* Mobile call bar */
.callbar { padding-bottom: calc(.75rem + env(safe-area-inset-bottom)); }
