/* Components */

/* Container */
.us-container { width: 100%; max-width: var(--us-container); margin: 0 auto; padding: 0 var(--us-gutter); }
.us-narrow { max-width: var(--us-narrow); }
.us-wide { max-width: var(--us-wide); }
.us-text-center { text-align: center; }

/* Buttons */
.us-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--us-s-2); padding: 0.875rem 1.5rem; border-radius: var(--us-r-pill); font-weight: 600; font-size: var(--us-text-base); line-height: 1; letter-spacing: -0.01em; transition: transform var(--us-dur-2) var(--us-ease), box-shadow var(--us-dur-2) var(--us-ease), background var(--us-dur-2) var(--us-ease), color var(--us-dur-2) var(--us-ease); cursor: pointer; white-space: nowrap; border: 1px solid transparent; }
.us-btn:hover { transform: translateY(-2px); }
.us-btn:active { transform: translateY(0); }
.us-btn--sm { padding: 0.625rem 1.125rem; font-size: var(--us-text-sm); }
.us-btn--lg { padding: 1.125rem 2rem; font-size: var(--us-text-lg); }
.us-btn--block { width: 100%; }

.us-btn--primary { background: var(--us-primary); color: #fff; box-shadow: var(--us-shadow-md); }
.us-btn--primary:hover { background: var(--us-primary-600); box-shadow: var(--us-shadow-lg); }

.us-btn--accent { background: var(--us-accent); color: var(--us-ink); box-shadow: var(--us-shadow-md); }
.us-btn--accent:hover { background: var(--us-accent-600); }

.us-btn--ink { background: var(--us-ink); color: #fff; }
.us-btn--ink:hover { background: #0a304a; }

.us-btn--ghost { background: transparent; color: var(--us-ink); border-color: var(--us-hairline); }
.us-btn--ghost:hover { background: var(--us-soft); border-color: var(--us-primary); color: var(--us-primary); }

.us-btn--link { background: transparent; color: var(--us-primary); padding: 0.25rem 0; border-radius: 0; border-bottom: 1px solid currentColor; }
.us-btn--link:hover { transform: none; color: var(--us-primary-700); }

.us-btn-row { display: flex; gap: var(--us-s-4); flex-wrap: wrap; }

/* Header */
.us-header { position: sticky; top: 0; z-index: var(--us-z-sticky); background: rgba(250,247,242,0.8); backdrop-filter: saturate(180%) blur(12px); -webkit-backdrop-filter: saturate(180%) blur(12px); border-bottom: 1px solid transparent; transition: border-color var(--us-dur-2) var(--us-ease), background var(--us-dur-2) var(--us-ease); }
.us-header[data-scrolled] { background: rgba(250,247,242,0.95); border-bottom-color: var(--us-hairline); }
.us-header__inner { display: flex; align-items: center; justify-content: space-between; height: var(--us-header-h); gap: var(--us-s-6); }
.us-header__brand { display: flex; align-items: center; gap: var(--us-s-3); font-family: var(--us-font-display); font-weight: 700; color: var(--us-ink); }
.us-header__brand img { width: 44px; height: 44px; border-radius: 50%; }
.us-header__brand-text { display: flex; flex-direction: column; line-height: 1; }
.us-header__brand-name { font-size: var(--us-text-xl); letter-spacing: -0.02em; }
.us-header__brand-tag { font-family: var(--us-font-body); font-size: 0.7rem; color: var(--us-muted); letter-spacing: 0.1em; text-transform: uppercase; margin-top: 3px; }

.us-nav { display: none; }
@media (min-width: 960px) { .us-nav { display: block; } }
.us-nav__list { display: flex; gap: var(--us-s-6); }
.us-nav__list a { font-size: var(--us-text-sm); font-weight: 500; color: var(--us-ink-soft); padding: var(--us-s-2) 0; position: relative; transition: color var(--us-dur-2) var(--us-ease); }
.us-nav__list a::after { content: ''; position: absolute; left: 0; bottom: -4px; width: 100%; height: 2px; background: var(--us-primary); transform: scaleX(0); transform-origin: left; transition: transform var(--us-dur-2) var(--us-ease); border-radius: 2px; }
.us-nav__list a:hover, .us-nav__list a:focus-visible, .us-nav__list .current-menu-item > a { color: var(--us-primary); }
.us-nav__list a:hover::after, .us-nav__list .current-menu-item > a::after { transform: scaleX(1); }

.us-header__actions { display: flex; align-items: center; gap: var(--us-s-3); }
.us-header__call { display: none; }
@media (min-width: 700px) { .us-header__call { display: inline-flex; } }
.us-header__book { display: none; }
@media (min-width: 960px) { .us-header__book { display: inline-flex; } }

.us-nav-toggle { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 44px; height: 44px; gap: 5px; border-radius: var(--us-r-sm); }
@media (min-width: 960px) { .us-nav-toggle { display: none; } }
.us-nav-toggle__bar { width: 22px; height: 2px; background: var(--us-ink); border-radius: 2px; transition: transform var(--us-dur-2) var(--us-ease), opacity var(--us-dur-2) var(--us-ease); }
.us-nav-toggle[aria-expanded="true"] .us-nav-toggle__bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.us-nav-toggle[aria-expanded="true"] .us-nav-toggle__bar:nth-child(2) { opacity: 0; }
.us-nav-toggle[aria-expanded="true"] .us-nav-toggle__bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile nav */
.us-mobile-nav { position: fixed; inset: var(--us-header-h) 0 0 0; background: var(--us-surface); z-index: var(--us-z-overlay); transform: translateX(100%); transition: transform var(--us-dur-3) var(--us-ease); visibility: hidden; overflow-y: auto; }
.us-mobile-nav[data-open] { transform: translateX(0); visibility: visible; }
.us-mobile-nav__inner { padding: var(--us-s-8) var(--us-gutter); display: flex; flex-direction: column; gap: var(--us-s-8); }
.us-mobile-nav__list { display: flex; flex-direction: column; gap: var(--us-s-2); }
.us-mobile-nav__list a { display: block; padding: var(--us-s-4); font-family: var(--us-font-display); font-size: var(--us-text-2xl); color: var(--us-ink); border-bottom: 1px solid var(--us-hairline); }
.us-mobile-nav__cta { display: flex; flex-direction: column; gap: var(--us-s-3); }

/* Cards */
.us-card { background: var(--us-surface-2); border-radius: var(--us-r-lg); padding: var(--us-s-8); box-shadow: var(--us-shadow-md); border: 1px solid var(--us-hairline); transition: transform var(--us-dur-2) var(--us-ease), box-shadow var(--us-dur-2) var(--us-ease); }
.us-card:hover { transform: translateY(-4px); box-shadow: var(--us-shadow-lg); }
.us-card--soft { background: var(--us-soft); border-color: transparent; }
.us-card--ink { background: var(--us-ink); color: #fff; border-color: transparent; }
.us-card--ink h2, .us-card--ink h3 { color: #fff; }
.us-card--ink p { color: rgba(255,255,255,0.8); }

/* Badge */
.us-badge { display: inline-flex; align-items: center; gap: var(--us-s-1); padding: 4px 10px; background: var(--us-soft); color: var(--us-deep); border-radius: var(--us-r-pill); font-size: var(--us-text-xs); font-weight: 600; letter-spacing: 0.03em; }
.us-badge--accent { background: var(--us-tint); color: var(--us-accent-600); }
.us-badge--dot::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--us-success); box-shadow: 0 0 0 3px rgba(22,163,74,0.15); }

/* WhatsApp float */
.us-wa-float { position: fixed; right: var(--us-s-4); bottom: calc(var(--us-s-4) + env(safe-area-inset-bottom)); z-index: var(--us-z-sticky); width: 56px; height: 56px; border-radius: 50%; background: #25D366; display: flex; align-items: center; justify-content: center; box-shadow: var(--us-shadow-lg); color: #fff; transition: transform var(--us-dur-2) var(--us-ease); animation: us-pulse 2.4s infinite; }
.us-wa-float:hover { transform: scale(1.08); }
.us-wa-float svg { width: 28px; height: 28px; }
@media (max-width: 768px) { .us-wa-float { bottom: calc(var(--us-bottom-nav-h) + var(--us-s-3) + env(safe-area-inset-bottom)); } }
@keyframes us-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(37,211,102,0.5), var(--us-shadow-lg); } 50% { box-shadow: 0 0 0 12px rgba(37,211,102,0), var(--us-shadow-lg); } }

/* Mobile bottom nav */
.us-bottom-nav { position: fixed; left: 0; right: 0; bottom: 0; background: var(--us-surface-2); border-top: 1px solid var(--us-hairline); display: none; z-index: var(--us-z-sticky); padding-bottom: env(safe-area-inset-bottom); }
@media (max-width: 768px) { .us-bottom-nav { display: grid; grid-template-columns: repeat(4, 1fr); height: var(--us-bottom-nav-h); } }
.us-bottom-nav a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; font-size: 10px; color: var(--us-ink-soft); font-weight: 500; transition: color var(--us-dur-2) var(--us-ease); }
.us-bottom-nav a:hover, .us-bottom-nav a:focus-visible { color: var(--us-primary); }
.us-bottom-nav svg { width: 22px; height: 22px; }

/* Breadcrumbs */
.us-breadcrumbs { background: transparent; padding: var(--us-s-4) 0; border-bottom: 1px solid var(--us-hairline); }
.us-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: var(--us-s-2); font-size: var(--us-text-sm); color: var(--us-muted); }
.us-breadcrumbs li { display: flex; align-items: center; gap: var(--us-s-2); }
.us-breadcrumbs li + li::before { content: '/'; color: var(--us-hairline); }
.us-breadcrumbs a:hover { color: var(--us-primary); }
.us-breadcrumbs [aria-current] { color: var(--us-ink); font-weight: 500; }

/* Forms */
.us-field { display: flex; flex-direction: column; gap: var(--us-s-2); }
.us-field label { font-size: var(--us-text-sm); font-weight: 600; color: var(--us-ink); }
.us-input, .us-select, .us-textarea { width: 100%; padding: 0.875rem 1rem; border: 1px solid var(--us-hairline); border-radius: var(--us-r-md); background: var(--us-surface-2); font-size: var(--us-text-base); transition: border-color var(--us-dur-2) var(--us-ease), box-shadow var(--us-dur-2) var(--us-ease); }
.us-input:focus, .us-select:focus, .us-textarea:focus { outline: 0; border-color: var(--us-primary); box-shadow: var(--us-ring); }
.us-textarea { min-height: 120px; resize: vertical; font-family: inherit; }

/* FAQ */
.us-faq { border-top: 1px solid var(--us-hairline); }
.us-faq__item { border-bottom: 1px solid var(--us-hairline); }
.us-faq__btn { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: var(--us-s-6) 0; text-align: left; font-family: var(--us-font-display); font-size: var(--us-text-xl); font-weight: 600; color: var(--us-ink); gap: var(--us-s-4); }
.us-faq__btn:hover { color: var(--us-primary); }
.us-faq__icon { flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--us-hairline); display: flex; align-items: center; justify-content: center; transition: transform var(--us-dur-3) var(--us-ease), background var(--us-dur-2) var(--us-ease), border-color var(--us-dur-2) var(--us-ease); }
.us-faq__item[data-open] .us-faq__icon { transform: rotate(45deg); background: var(--us-primary); border-color: var(--us-primary); color: #fff; }
.us-faq__body { max-height: 0; overflow: hidden; transition: max-height var(--us-dur-3) var(--us-ease); }
.us-faq__body-inner { padding: 0 0 var(--us-s-6) 0; color: var(--us-ink-soft); max-width: 68ch; line-height: 1.7; }

/* Divider */
.us-divider { height: 1px; background: var(--us-hairline); margin: var(--us-s-12) 0; border: 0; }

/* Search */
.us-search { display: flex; align-items: center; gap: var(--us-s-2); background: var(--us-surface-2); border: 1px solid var(--us-hairline); border-radius: var(--us-r-pill); padding: var(--us-s-1) var(--us-s-2) var(--us-s-1) var(--us-s-4); }
.us-search__input { flex: 1; border: 0; background: transparent; padding: var(--us-s-2) 0; }
.us-search__input:focus { outline: 0; }
.us-search__btn { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; background: var(--us-primary); color: #fff; border-radius: 50%; }

/* Muted text helper */
.us-muted { color: var(--us-muted); font-weight: 400; }

/* Section dividers — soft fade between sections */
.us-section + .us-section { position: relative; }
.us-section + .us-section::before { content: ''; position: absolute; left: 10%; right: 10%; top: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--us-hairline), transparent); }

/* Global image rounding + lift */
img.u-rounded-lg { border-radius: var(--us-r-lg); box-shadow: var(--us-shadow-md); transition: transform var(--us-dur-3) var(--us-ease), box-shadow var(--us-dur-3) var(--us-ease); }
img.u-rounded-lg:hover { transform: translateY(-4px); box-shadow: var(--us-shadow-xl); }

/* Button shine */
.us-btn--primary { position: relative; overflow: hidden; }
.us-btn--primary::after { content: ''; position: absolute; top: 0; left: -75%; width: 50%; height: 100%; background: linear-gradient(115deg, transparent, rgba(255,255,255,0.28), transparent); transition: left 700ms var(--us-ease); pointer-events: none; }
.us-btn--primary:hover::after { left: 125%; }

/* Eyebrow — subtle underline accent */
.us-eyebrow { position: relative; }

/* Pagination */
.us-pagination { display: flex; justify-content: center; gap: var(--us-s-2); margin-top: var(--us-s-12); }
.us-pagination a, .us-pagination span { padding: var(--us-s-2) var(--us-s-4); border-radius: var(--us-r-md); background: var(--us-surface-2); border: 1px solid var(--us-hairline); font-size: var(--us-text-sm); }
.us-pagination .current { background: var(--us-primary); color: #fff; border-color: var(--us-primary); }

/* Google review badge */
.us-gbadge { display: inline-flex; flex-direction: column; gap: var(--us-s-3); padding: var(--us-s-4) var(--us-s-5); background: var(--us-surface-2); border: 1px solid var(--us-hairline); border-radius: var(--us-r-lg); box-shadow: var(--us-shadow-sm); max-width: 100%; }
.us-gbadge__head { display: flex; align-items: center; gap: var(--us-s-3); }
.us-gbadge__g { flex-shrink: 0; }
.us-gbadge__meta { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.us-gbadge__rating { font-size: var(--us-text-lg); font-weight: 800; color: var(--us-ink); line-height: 1; }
.us-gbadge__stars { display: inline-flex; gap: 1px; line-height: 0; }
.us-gbadge__count { font-size: var(--us-text-xs); color: var(--us-muted); font-weight: 600; }
.us-gbadge__actions { display: flex; gap: var(--us-s-2); flex-wrap: wrap; }
.us-gbadge__link { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; background: var(--us-soft); color: var(--us-ink); border-radius: var(--us-r-pill); font-size: var(--us-text-xs); font-weight: 600; border: 1px solid transparent; transition: background var(--us-dur-2) var(--us-ease), color var(--us-dur-2) var(--us-ease); }
.us-gbadge__link:hover { background: var(--us-primary); color: #fff; }
.us-gbadge__link--write { background: #FBBC05; color: #1a1a1a; }
.us-gbadge__link--write:hover { background: #f5a623; color: #1a1a1a; }

.us-gbadge--hero { background: rgba(255,255,255,0.96); backdrop-filter: blur(8px); margin-top: var(--us-s-4); align-self: flex-start; }
.us-gbadge--footer { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.12); color: #fff; }
.us-gbadge--footer .us-gbadge__rating { color: #fff; }
.us-gbadge--footer .us-gbadge__count { color: rgba(255,255,255,0.7); }
.us-gbadge--footer .us-gbadge__link { background: rgba(255,255,255,0.1); color: #fff; }
.us-gbadge--footer .us-gbadge__link:hover { background: #fff; color: var(--us-ink); }
.us-gbadge--inline { padding: var(--us-s-2) var(--us-s-3); flex-direction: row; align-items: center; }
.us-gbadge--card { width: 100%; max-width: 420px; }

/* Google map card */
.us-gmap { background: var(--us-surface-2); border: 1px solid var(--us-hairline); border-radius: var(--us-r-lg); overflow: hidden; box-shadow: var(--us-shadow-md); }
.us-gmap__header { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--us-s-4); padding: var(--us-s-5) var(--us-s-5) var(--us-s-4); flex-wrap: wrap; }
.us-gmap__title { display: flex; gap: var(--us-s-3); align-items: flex-start; flex: 1; min-width: 200px; }
.us-gmap__pin { flex-shrink: 0; margin-top: 2px; }
.us-gmap__title strong { display: block; font-size: var(--us-text-base); color: var(--us-ink); margin-bottom: 2px; }
.us-gmap__title span { font-size: var(--us-text-sm); color: var(--us-muted); line-height: 1.4; }
.us-gmap__rating { display: flex; align-items: center; gap: 4px; white-space: nowrap; }
.us-gmap__stars { color: #FBBC05; font-size: var(--us-text-sm); letter-spacing: -1px; }
.us-gmap__rating strong { font-weight: 800; color: var(--us-ink); }
.us-gmap__count { font-size: var(--us-text-xs); color: var(--us-muted); font-weight: 600; }
.us-gmap__embed { position: relative; width: 100%; aspect-ratio: 16/9; background: var(--us-soft); }
.us-gmap__embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.us-gmap__actions { display: flex; gap: var(--us-s-3); flex-wrap: wrap; padding: var(--us-s-4) var(--us-s-5); border-top: 1px solid var(--us-hairline); }
.us-gmap__actions .us-btn { padding: 0.625rem 1.125rem; font-size: var(--us-text-sm); }
.us-btn--outline { background: transparent; color: var(--us-ink); border-color: var(--us-hairline); }
.us-btn--outline:hover { background: #FBBC05; border-color: #FBBC05; color: #1a1a1a; }

/* Sticky review CTA */
.us-review-sticky { position: fixed; right: var(--us-s-4); bottom: 96px; z-index: 60; display: inline-flex; align-items: center; gap: var(--us-s-2); padding: 0.75rem 1.125rem; background: #FBBC05; color: #1a1a1a; border-radius: var(--us-r-pill); font-weight: 700; font-size: var(--us-text-sm); box-shadow: var(--us-shadow-lg); transition: transform var(--us-dur-2) var(--us-ease); }
.us-review-sticky:hover { transform: translateY(-2px) scale(1.03); color: #1a1a1a; }
@media (max-width: 640px) { .us-review-sticky { bottom: 80px; right: var(--us-s-3); font-size: var(--us-text-xs); padding: 0.625rem 0.875rem; } }

.us-exit-modal__trust { margin-top: var(--us-s-3); padding-top: var(--us-s-3); border-top: 1px solid var(--us-hairline); display: flex; justify-content: center; }

/* ═══════════════════════════════════════════════════════
   Premium UI layer — buttons, cards, badges, nav, reveals
   ═══════════════════════════════════════════════════════ */

/* Button — refined motion + focus ring + press feel */
.us-btn { will-change: transform; transition: transform var(--us-dur-2) var(--us-ease), box-shadow var(--us-dur-2) var(--us-ease), background var(--us-dur-2) var(--us-ease), color var(--us-dur-2) var(--us-ease), border-color var(--us-dur-2) var(--us-ease); }
.us-btn:focus-visible { outline: 0; box-shadow: var(--us-ring); }
.us-btn:active { transform: translateY(1px) scale(0.98); transition-duration: 80ms; }
.us-btn--primary:hover { box-shadow: var(--us-glow); }

/* Outlined primary — premium, compact */
.us-btn--outline-primary { background: transparent; color: var(--us-primary); border: 1.5px solid var(--us-primary); }
.us-btn--outline-primary:hover { background: var(--us-primary); color: #fff; box-shadow: var(--us-glow); }

/* Ripple on click (JS sets --rx/--ry; graceful no-op without JS) */
.us-btn { position: relative; overflow: hidden; isolation: isolate; }
.us-btn::before { content: ''; position: absolute; left: var(--rx, 50%); top: var(--ry, 50%); width: 0; height: 0; border-radius: 50%; background: rgba(255,255,255,0.35); transform: translate(-50%, -50%); pointer-events: none; z-index: -1; transition: width 500ms var(--us-ease-out), height 500ms var(--us-ease-out), opacity 700ms var(--us-ease-out); opacity: 0; }
.us-btn.is-rippling::before { width: 420px; height: 420px; opacity: 1; }
.us-btn--ghost::before, .us-btn--outline-primary::before { background: rgba(27,169,165,0.18); }

/* Header scroll-shrink */
.us-header { transition: height var(--us-dur-2) var(--us-ease), background var(--us-dur-2) var(--us-ease), box-shadow var(--us-dur-2) var(--us-ease), border-color var(--us-dur-2) var(--us-ease); }
.us-header[data-scrolled] { box-shadow: var(--us-shadow-sm); }
.us-header[data-scrolled] .us-header__inner { height: calc(var(--us-header-h) - 12px); }
.us-header[data-scrolled] .us-header__brand img { width: 38px; height: 38px; transition: width var(--us-dur-2) var(--us-ease), height var(--us-dur-2) var(--us-ease); }

/* Cards — gradient hover, price peek */
.us-card { position: relative; overflow: hidden; transition: transform var(--us-dur-3) var(--us-ease), box-shadow var(--us-dur-3) var(--us-ease), border-color var(--us-dur-3) var(--us-ease); }
.us-card::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(27,169,165,0.07), rgba(245,166,35,0.05)); opacity: 0; transition: opacity var(--us-dur-3) var(--us-ease); pointer-events: none; z-index: 0; }
.us-card > * { position: relative; z-index: 1; }
.us-card:hover { transform: translateY(-6px); box-shadow: var(--us-shadow-xl); border-color: rgba(27,169,165,0.25); }
.us-card:hover::before { opacity: 1; }

/* Service card price peek (if .us-card__price exists) */
.us-card__price { display: inline-block; margin-top: var(--us-s-3); padding: 4px 10px; border-radius: var(--us-r-pill); background: var(--us-tint); color: var(--us-accent-600); font-size: var(--us-text-xs); font-weight: 700; letter-spacing: 0.02em; opacity: 0; transform: translateY(6px); transition: opacity var(--us-dur-2) var(--us-ease), transform var(--us-dur-2) var(--us-ease); }
.us-card:hover .us-card__price { opacity: 1; transform: translateY(0); }

/* Google rating badge — premium float */
.us-gbadge { border-radius: var(--us-r-xl); box-shadow: var(--us-shadow-md); transition: transform var(--us-dur-2) var(--us-ease), box-shadow var(--us-dur-2) var(--us-ease); }
.us-gbadge:hover { transform: translateY(-2px); box-shadow: var(--us-shadow-lg); }
.us-gbadge--hero { background: rgba(255,255,255,0.82); -webkit-backdrop-filter: saturate(180%) blur(18px); backdrop-filter: saturate(180%) blur(18px); border: 1px solid rgba(255,255,255,0.6); box-shadow: var(--us-shadow-lg); }
.us-gbadge__rating { font-family: var(--us-font-display); font-size: var(--us-text-xl); letter-spacing: -0.02em; }
.us-gbadge__stars svg { filter: drop-shadow(0 1px 0 rgba(14,90,88,0.08)); }
.us-gbadge__link { transition: background var(--us-dur-2) var(--us-ease), color var(--us-dur-2) var(--us-ease), transform var(--us-dur-2) var(--us-ease); }
.us-gbadge__link:hover { transform: translateY(-1px); }

/* Bottom nav — pill dock */
@media (max-width: 768px) {
  .us-bottom-nav { left: var(--us-s-3); right: var(--us-s-3); bottom: calc(var(--us-s-3) + env(safe-area-inset-bottom)); border: 1px solid rgba(14,90,88,0.08); border-radius: var(--us-r-xl); background: rgba(255,255,255,0.88); -webkit-backdrop-filter: saturate(180%) blur(22px); backdrop-filter: saturate(180%) blur(22px); box-shadow: var(--us-shadow-lg); padding-bottom: 0; height: 62px; }
  .us-bottom-nav a { position: relative; color: var(--us-ink-soft); transition: color var(--us-dur-2) var(--us-ease), transform var(--us-dur-2) var(--us-ease); }
  .us-bottom-nav a::before { content: ''; position: absolute; top: 6px; left: 50%; transform: translateX(-50%) scale(0.6); width: 36px; height: 4px; border-radius: 999px; background: var(--us-primary); opacity: 0; transition: opacity var(--us-dur-2) var(--us-ease), transform var(--us-dur-2) var(--us-ease); }
  .us-bottom-nav a.is-active, .us-bottom-nav a[aria-current="page"] { color: var(--us-primary); }
  .us-bottom-nav a.is-active::before, .us-bottom-nav a[aria-current="page"]::before { opacity: 1; transform: translateX(-50%) scale(1); }
  .us-bottom-nav a:active { transform: scale(0.94); }
  body { padding-bottom: calc(62px + var(--us-s-3) + env(safe-area-inset-bottom)); }
}

/* WhatsApp float — above pill dock */
@media (max-width: 768px) {
  .us-wa-float { bottom: calc(62px + var(--us-s-4) + env(safe-area-inset-bottom) + var(--us-s-3)); }
}

/* Reveal on scroll — staggered */
.us-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--us-ease-out), transform .7s var(--us-ease-out); will-change: opacity, transform; }
.us-reveal.is-visible { opacity: 1; transform: translateY(0); }
.us-reveal-group > * { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--us-ease-out), transform .7s var(--us-ease-out); }
.us-reveal-group.is-visible > *:nth-child(1) { transition-delay: 0ms; }
.us-reveal-group.is-visible > *:nth-child(2) { transition-delay: 80ms; }
.us-reveal-group.is-visible > *:nth-child(3) { transition-delay: 160ms; }
.us-reveal-group.is-visible > *:nth-child(4) { transition-delay: 240ms; }
.us-reveal-group.is-visible > *:nth-child(5) { transition-delay: 320ms; }
.us-reveal-group.is-visible > *:nth-child(6) { transition-delay: 400ms; }
.us-reveal-group.is-visible > *:nth-child(n+7) { transition-delay: 480ms; }
.us-reveal-group.is-visible > * { opacity: 1; transform: translateY(0); }

/* Form inputs — premium focus */
.us-input, .us-select, .us-textarea { transition: border-color var(--us-dur-2) var(--us-ease), box-shadow var(--us-dur-2) var(--us-ease), background var(--us-dur-2) var(--us-ease); }
.us-input:hover, .us-select:hover, .us-textarea:hover { border-color: var(--us-primary); }

/* Section head — hairline underline on eyebrow */
.us-eyebrow { display: inline-block; font-family: var(--us-font-body); font-size: var(--us-text-xs); font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--us-primary); }
.us-eyebrow::before { content: ''; display: inline-block; width: 28px; height: 2px; background: var(--us-primary); border-radius: 2px; margin-right: 10px; vertical-align: middle; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .us-reveal, .us-reveal-group > * { opacity: 1 !important; transform: none !important; }
  .us-card::before { transition: none; }
}
