@tailwind base; @tailwind components; @tailwind utilities; @layer base { :root { --cta-glow: 0 0 0 0 rgba(0, 0, 0, 0); } body { font-family: "IBM Plex Sans", "Avenir Next", "Segoe UI", sans-serif; background: radial-gradient(circle at top left, rgba(241, 196, 110, 0.24), transparent 28%), radial-gradient(circle at top right, rgba(157, 217, 210, 0.16), transparent 34%), linear-gradient(180deg, #fbfaf6 0%, #f5efe3 55%, #f7f3ea 100%); @apply text-stone-900; } h1, h2, h3 { font-family: "Cormorant Garamond", "IBM Plex Sans", serif; } } @layer components { .site-container { @apply mx-auto w-full max-w-7xl px-4 sm:px-5 lg:px-8; } .site-header { @apply sticky top-0 z-40 backdrop-blur; } .utility-bar { background: linear-gradient(90deg, rgba(20, 33, 61, 0.98), rgba(37, 58, 89, 0.94)); @apply border-b border-white/10 text-stone-100; } .header-locale { @apply flex w-full flex-wrap items-center justify-start gap-2 text-sm text-stone-100 sm:w-auto sm:justify-end; } .locale-picker { @apply relative w-full sm:w-auto; } .locale-picker__summary { @apply flex w-full cursor-pointer list-none items-center justify-between gap-2 rounded-full border border-white/0 px-3 py-1.5 text-stone-100 transition hover:border-white/20 hover:bg-white/10 hover:text-white sm:w-auto sm:justify-start; } .locale-picker[open] .locale-picker__summary { @apply border-white/20 bg-white/10 text-white; } .locale-picker__summary::-webkit-details-marker { display: none; } .locale-picker__value { @apply font-medium; } .locale-picker__code, .locale-picker__item-meta, .locale-picker__chevron { @apply text-[0.74rem] uppercase tracking-[0.16em] text-stone-300/80; } .locale-picker__panel { @apply left-0 right-0 z-50 mt-3 min-w-[13rem] rounded-3xl border border-white/70 bg-white/95 p-3 text-stone-900 shadow-[0_22px_48px_rgba(20,33,61,0.18)] backdrop-blur sm:absolute sm:left-auto sm:right-0; } .locale-picker__title { @apply mb-2 px-2 text-[0.68rem] font-semibold uppercase tracking-[0.2em] text-stone-400; } .locale-picker__item { @apply flex w-full items-center justify-between rounded-2xl px-3 py-2 text-sm text-stone-700 transition hover:bg-stone-100 hover:text-stone-900; } .locale-picker__item--active { @apply bg-stone-100 font-medium text-stone-900; } .main-nav { background: rgba(255, 251, 245, 0.82); @apply border-b border-white/60 shadow-[0_10px_30px_rgba(20,33,61,0.08)]; } .header-bar { @apply flex flex-wrap items-center gap-4 py-4 sm:gap-5 sm:py-5 lg:flex-nowrap; } .brand-mark { @apply inline-flex items-end gap-0.5 text-4xl font-black leading-none tracking-tight text-black transition-transform duration-300 hover:-translate-y-0.5 sm:text-5xl; } .brand-mark__accent { @apply text-amber-500; } .menu-toggle { @apply inline-flex h-11 items-center justify-center rounded-full border border-stone-300/70 bg-white/80 px-5 text-xs font-semibold uppercase tracking-[0.28em] text-stone-900 transition hover:border-amber-500 hover:text-amber-600; } .menu-panel { @apply order-last w-full rounded-3xl border border-white/70 bg-white/95 p-4 shadow-[0_16px_34px_rgba(20,33,61,0.12)] backdrop-blur lg:order-none lg:rounded-none lg:border-0 lg:bg-transparent lg:p-0 lg:shadow-none; } .desktop-nav { @apply flex items-center justify-center gap-8 xl:gap-12; } .desktop-nav__link { @apply inline-flex items-center py-4 text-[1.04rem] font-medium text-stone-800 transition hover:text-amber-600; } .desktop-nav__toggle { @apply inline-flex h-8 w-5 items-center justify-center text-sm text-stone-400 transition hover:text-amber-600; } .desktop-nav__entry--open .desktop-nav__link, .desktop-nav__entry--open .desktop-nav__toggle { @apply text-amber-600; } .mega-menu { background: linear-gradient(180deg, rgba(255, 252, 247, 0.98), rgba(252, 248, 240, 0.98)); @apply absolute inset-x-0 top-full z-50 border-t border-white/70 shadow-[0_28px_60px_rgba(20,33,61,0.16)] backdrop-blur; } .mega-menu__grid { @apply site-container grid grid-cols-2 gap-x-12 gap-y-10 py-10 lg:grid-cols-4 xl:grid-cols-5; } .mega-menu__heading { @apply mb-4 inline-flex text-sm font-semibold uppercase tracking-[0.12em] text-stone-900 transition hover:text-amber-600; } .mega-menu__link { @apply inline-flex text-[1.02rem] leading-7 text-stone-700 transition hover:translate-x-1 hover:text-amber-600; } .mega-menu__all { @apply col-span-full flex items-start justify-end border-t border-stone-200 pt-5; } .mega-menu__all-link { @apply inline-flex text-sm font-semibold uppercase tracking-[0.18em] text-amber-600 transition hover:text-amber-700; } .header-actions { @apply ml-0 flex items-center gap-4 text-2xl text-stone-900 lg:ml-auto; } .nav-icon { @apply flex h-11 w-11 items-center justify-center rounded-full bg-white/70 text-[1.35rem] shadow-[0_10px_24px_rgba(20,33,61,0.08)] transition hover:-translate-y-0.5 hover:text-amber-600; } @media (max-width: 1023px) { .desktop-nav, .mega-menu { display: none; } } button[type='submit'] { box-shadow: var(--cta-glow); } }