:root{--color-primary-50:#eff9fa;--color-primary-100:#d6f1f4;--color-primary-200:#b0e8ee;--color-primary-300:#7ddce6;--color-primary-400:#4acbde;--color-primary-500:#2fb4ce;--color-primary-600:#239cb5;--color-primary-700:#1f7c95;--color-primary-800:#1f6479;--color-primary-900:#1b5364;--color-primary-950:#113742;--color-secondary-50:#fefbec;--color-secondary-100:#fcf6d6;--color-secondary-200:#faedb0;--color-secondary-300:#f7e07d;--color-secondary-400:#f4d04a;--color-secondary-500:#f2c02f;--color-secondary-600:#e0a623;--color-secondary-700:#bb7f1f;--color-secondary-800:#99641f;--color-secondary-900:#7f521b;--color-secondary-950:#452a0c;--color-neutral-0:#ffffff;--color-neutral-50:#f8fafc;--color-neutral-100:#f1f5f9;--color-neutral-200:#e2e8f0;--color-neutral-300:#cbd5e1;--color-neutral-400:#94a3b8;--color-neutral-500:#64748b;--color-neutral-600:#475569;--color-neutral-700:#334155;--color-neutral-800:#1e293b;--color-neutral-900:#0f172a}.bg-page{background-color:var(--color-bg)}.bg-surface{background-color:var(--color-surface)}.bg-surface-elevated{background-color:var(--color-surface-elevated)}.bg-alt{background-color:var(--color-bg-alt)}.bg-accent{background-color:var(--color-accent)}.bg-accent-light{background-color:var(--color-accent-light)}.bg-primary{background-color:var(--color-primary)}.bg-primary-dark{background-color:var(--color-primary-dark)}.bg-warning{background-color:var(--color-warning)}.bg-warning-hover{background-color:var(--color-warning-hover)}.text-secondary{color:var(--color-ink-muted)}.text-muted{color:var(--color-ink-subtle)}.text-accent{color:var(--color-accent)}.text-navy{color:var(--color-navy)}.text-gold{color:var(--color-gold)}.text-inverse{color:var(--color-surface)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.border-subtle{border-color:var(--color-border)}.border{border-width:1px;border-style:solid}.border-t{border-top-width:1px;border-top-style:solid}.border-b{border-bottom-width:1px;border-bottom-style:solid}.border-strong{border-color:var(--color-border-strong)}.border-accent{border-color:var(--color-accent)}.shadow-card{box-shadow:0 4px 12px var(--color-shadow)}.shadow-panel{box-shadow:0 8px 24px var(--color-shadow-strong)}.focus-ring:focus{outline:2px solid var(--color-accent);outline-offset:2px}.focus-ring:focus-visible{outline:3px solid color-mix(in srgb,var(--color-accent) 72%,white);outline-offset:3px}.text-display{font-size:var(--text-5xl);line-height:var(--leading-tight)}.text-display,.text-h1{font-weight:var(--font-bold);letter-spacing:var(--tracking-tight);font-family:var(--font-family-display)}.text-h1{font-size:var(--text-4xl);line-height:1.2}.text-h2{font-size:var(--text-3xl);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight)}.text-h2,.text-h3{font-weight:var(--font-bold);font-family:var(--font-family-display)}.text-h3{font-size:var(--text-xl);line-height:1.3}.text-h4{font-weight:var(--font-bold);line-height:1.24;font-family:var(--font-family-display)}.text-body,.text-h4{font-size:var(--text-base)}.text-body{line-height:var(--leading-loose)}.text-body,.text-small{font-weight:var(--font-normal)}.text-small{font-size:var(--text-sm);line-height:var(--leading-relaxed)}.text-disclosure{font-size:var(--text-xs);font-weight:var(--font-normal);line-height:1.4}.text-cta{font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.text-quote{font-size:var(--text-lg);font-weight:var(--font-normal);line-height:var(--leading-relaxed);font-style:italic}.text-eyebrow{font-size:11px;font-weight:var(--font-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.tracking-wide{letter-spacing:var(--tracking-wide)}.tracking-normal{letter-spacing:var(--tracking-normal)}.text-xs{font-size:var(--text-xs);line-height:1.4}.text-sm{font-size:var(--text-sm);line-height:1.45}.text-base{font-size:var(--text-base);line-height:1.5}.text-lg{font-size:var(--text-lg);line-height:1.45}a{color:inherit}a,a:hover{text-decoration:none}@media (max-width:639px){.text-display{font-size:var(--text-4xl)}.text-h1{font-size:var(--text-3xl)}.text-h2{font-size:var(--text-2xl)}}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.p-5{padding:var(--space-5)}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.py-12{padding-top:var(--space-12);padding-bottom:var(--space-12)}.py-16{padding-top:var(--space-16);padding-bottom:var(--space-16)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.gap-12{gap:var(--space-12)}.gap-3{gap:var(--space-3)}.m-0{margin:0}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mt-12{margin-top:var(--space-12)}.mt-16{margin-top:var(--space-16)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mb-12{margin-bottom:var(--space-12)}.mb-16{margin-bottom:var(--space-16)}.rounded-card{border-radius:var(--radius-card)}.rounded-panel{border-radius:var(--radius-panel)}.rounded-lg{border-radius:var(--radius-md)}.rounded-pill{border-radius:var(--radius-full)}.rounded-button{border-radius:var(--radius-button)}.rounded-sm{border-radius:var(--radius-sm)}.app-shell{width:100%;max-width:100vw;overflow-x:hidden;display:flex;flex-direction:column;min-height:100vh}.main-content{min-height:60vh;padding-bottom:64px}.app-shell[data-page-type=homepage] .main-content{margin-top:0!important}.app-shell[data-page-type=detail] .main-content,.app-shell[data-page-type=hub] .main-content{padding-top:0}.container{max-width:var(--container);margin:0 auto;padding:0 28px;width:100%}@media (max-width:880px){.container{padding:0 20px}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.w-full{width:100%}.h-full{height:100%}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1 1}.text-xs{font-size:12px}.text-sm{font-size:14px}.text-base{font-size:16px}.text-secondary{color:var(--color-text-soft)}.font-semibold{font-weight:600}.tracking-wide{letter-spacing:.05em}.uppercase{text-transform:uppercase}.p-3\.5{padding:14px}.gap-1\.5{gap:6px}.gap-2\.5{gap:10px}.mt-auto{margin-top:auto}.overflow-hidden{overflow:hidden}.aspect-video{aspect-ratio:16/9}.object-cover{object-fit:cover}.flex-row{flex-direction:row}.absolute{position:absolute}.inset-0{top:0;right:0;bottom:0;left:0}.bg-alt{background:var(--surface-2)}.relative{position:relative}.aspect-\[3\/2\]{aspect-ratio:3/2}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-\[21\/9\]{aspect-ratio:21/9}.aspect-square{aspect-ratio:1/1}.bg-surface{background-color:var(--surface)}.border-line{border:1px solid var(--color-line)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\:shadow-md:hover{box-shadow:var(--shadow-md)}.hover\:-translate-y-1:hover{transform:translateY(-4px)}.text-h5{font-size:18px;font-family:var(--font-serif)}.leading-tight{line-height:1.25}.text-primary{color:var(--color-ink)}.leading-6{line-height:1.5}.top-2\.5{top:10px}.left-2\.5{left:10px}.bg-\[var\(--badge-dark\)\]{background-color:var(--badge-dark)}.text-white{color:white}.text-\[10\.5px\]{font-size:10.5px}.text-\[13px\]{font-size:13px}.px-2{padding-left:8px;padding-right:8px}.py-1{padding-top:4px;padding-bottom:4px}.px-3{padding-left:12px;padding-right:12px}.py-1\.5{padding-top:6px;padding-bottom:6px}.rounded-full{border-radius:9999px}.backdrop-blur-sm{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.bg-white\/95{background-color:rgba(255,255,255,.95)}.text-ink{color:var(--color-ink)}.text-\[color\:var\(--star\)\]{color:var(--star)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (min-width:641px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}