.site-header { position: sticky; inset-block-start: 0; z-index: 50; height: var(--header-height); background: color-mix(in srgb, var(--surface), transparent 8%); border-bottom: 1px solid var(--line); backdrop-filter: blur(18px); }
.header-row { min-height: 100%; display: grid; grid-template-columns: auto minmax(15rem, 1fr) auto; align-items: center; gap: clamp(.8rem, 2vw, 1.5rem); }
.brand { display: inline-flex; align-items: center; gap: .65rem; flex: none; }
.brand-logo { width: clamp(3.35rem, 5vw, 4.65rem); height: 3.55rem; display: block; object-fit: contain; transform-origin: 50% 65%; filter: drop-shadow(0 5px 12px color-mix(in srgb, var(--brand), transparent 76%)); transition: transform .3s cubic-bezier(.2,.75,.25,1.25), filter .3s ease; }
.site-header .brand:hover .brand-logo, .site-header .brand:focus-visible .brand-logo { transform: translateY(-2px) rotate(-2deg) scale(1.055); filter: drop-shadow(0 8px 17px color-mix(in srgb, var(--accent), transparent 66%)); }
.site-header .brand:active .brand-logo { transform: translateY(0) scale(.96); }
.site-header .brand-logo:not([hidden]) { animation: brand-arrival .62s cubic-bezier(.18,.84,.28,1.22) both; }
.brand-name { color: var(--text); font-size: clamp(1.45rem, 2vw, 1.85rem); font-weight: 950; letter-spacing: -.05em; line-height: 1; }
.header-actions { display: flex; align-items: center; gap: .45rem; }
.mobile-header-row,
.mobile-header-search,
.mobile-bottom-nav { display: none; }
@keyframes brand-arrival { from { opacity: 0; transform: translateY(7px) scale(.88); } to { opacity: 1; transform: none; } }

.intro-bar { padding-block: .7rem; background: var(--surface); border-bottom: 1px solid var(--line); }
.advertising-header { width: 100%; height: clamp(11rem, 24vw, 18.75rem); min-height: 11rem; max-height: 18.75rem; overflow: hidden; position: relative; background: #f1f3f5; border-bottom: 1px solid var(--line); }
.advertising-header img { width: 100%; height: 100%; min-height: inherit; max-height: inherit; display: block; object-fit: cover; object-position: center; }
.compact-intro { display: flex; align-items: baseline; gap: .8rem 1.4rem; }
.intro-title { margin: 0; color: var(--text); font-size: clamp(.92rem, 1.35vw, 1.08rem); font-weight: 850; line-height: 1.35; letter-spacing: -.02em; white-space: nowrap; }
.intro-copy { color: var(--muted); font-size: .82rem; white-space: nowrap; }

.section { padding-block: clamp(2.25rem, 5vw, 4.5rem); }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 1.6rem; }
.section-heading-actions { display: flex; align-items: center; justify-content: end; gap: .55rem; flex: none; }
.section-heading h2, .safety h2 { margin: .25rem 0 0; font-size: clamp(1.7rem, 3vw, 2.65rem); line-height: 1.15; }
.category-grid { display: grid; grid-template-columns: repeat(var(--category-regular-columns, 5), minmax(0, 1fr)); gap: .85rem; }
.listings-section { background: var(--surface-2); border-block: 1px solid var(--line); }
.listing-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(.65rem, 1.2vw, .95rem); }
.safety { min-width: 0; margin-block: clamp(1.4rem, 3vw, 2.5rem); padding: .72rem 1rem; display: flex; align-items: center; gap: .65rem; overflow: hidden; border: 1px solid color-mix(in srgb, var(--brand), transparent 70%); border-radius: var(--radius-sm); background: var(--brand-soft); white-space: nowrap; }
.safety-label { flex: none; color: var(--brand-strong); font-size: .72rem; font-weight: 850; }
.safety p { min-width: 0; margin: 0; overflow: hidden; color: var(--muted); font-size: clamp(.68rem, 1.1vw, .8rem); line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.safety strong { color: var(--text); }
.site-footer { padding-block: 0 2.5rem; border-top: 1px solid var(--line); background: var(--surface); }
.partner-strip { padding-block: 1.15rem 1.35rem; margin-bottom: 2.5rem; overflow: hidden; border-bottom: 1px solid var(--line); background: var(--surface-2); }
.partner-strip-heading { margin-bottom: .8rem; }
.partner-viewport { width: 100%; overflow: hidden; mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent); }
.partner-track { width: max-content; display: flex; align-items: center; direction: ltr; animation: partner-scroll 28s linear infinite; will-change: transform; }
.partner-track:hover, .partner-track:focus-within { animation-play-state: paused; }
.partner-track.is-static { width: 100%; animation: none; justify-content: center; }
.partner-set { display: flex; align-items: center; gap: clamp(1.6rem, 4vw, 3.25rem); padding-inline: clamp(.8rem, 2vw, 1.6rem); }
.footer-grid { display: grid; grid-template-columns: auto minmax(12rem, 1fr) auto; align-items: center; gap: 2rem; }
.footer-grid p { max-width: 36rem; color: var(--muted); }
.footer-grid nav { display: flex; flex-wrap: wrap; gap: 1rem; color: var(--muted); font-size: .9rem; }
.footer-mark { width: 3.5rem; height: 3.5rem; flex: none; display: block; object-fit: cover; border-radius: 1rem; box-shadow: 0 8px 22px rgba(56, 45, 105, .13); }

.drawer-backdrop { position: fixed; inset: 0; z-index: 79; background: rgba(24, 34, 45, .52); backdrop-filter: blur(3px); }
.mobile-drawer { position: fixed; inset-block: 0; inset-inline-start: 0; z-index: 80; width: min(86vw, 22rem); padding: 1rem; background: var(--surface); border-inline-end: 1px solid var(--line); box-shadow: var(--shadow); transform: translateX(110%); transition: transform .24s ease; visibility: hidden; }
[dir="ltr"] .mobile-drawer { transform: translateX(-110%); }
.mobile-drawer.is-open { transform: translateX(0); visibility: visible; }
.drawer-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.drawer-nav { display: grid; gap: .35rem; padding-top: 1rem; }
.drawer-nav a, .drawer-nav button { width: 100%; min-height: 3.25rem; display: flex; align-items: center; gap: .8rem; padding: .7rem .85rem; text-align: start; border: 0; border-radius: .85rem; color: var(--text); background: transparent; cursor: pointer; }
.drawer-nav a:hover, .drawer-nav button:hover { color: var(--brand); background: var(--brand-soft); }
.drawer-nav .icon { color: var(--brand); flex: none; }
