*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#f5f5fa;--color-white:#fff;--color-navy:#14143c;--color-navy-soft:#1f1f4a;--color-violet:#9494f7;--color-violet-light:#bbbbfc;--color-violet-dark:#7070d0;--color-violet-bg:#f0f0ff;--color-lime:#daff00;--color-text:#14143c;--color-text-secondary:#5a5a8a;--color-text-muted:#9090b0;--color-border:#e0e0ee;--color-pink:#e8507a;--font-sans:"Albert Sans", system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-display:"IBM Plex Mono", ui-monospace, monospace;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:999px;--shadow-sm:0 1px 2px #14143c0a;--shadow-md:0 4px 12px #14143c0f;--shadow-lg:0 12px 32px #14143c1a}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}h1,h2,h3,.heading{font-family:var(--font-display);color:var(--color-navy);letter-spacing:-.02em;line-height:1.1}h1{letter-spacing:-.03em;font-size:2.5rem;font-weight:700}h2{letter-spacing:-.025em;font-size:1.75rem;font-weight:600}h3{letter-spacing:-.02em;font-size:1.25rem;font-weight:600}h4,h5,h6{font-family:var(--font-display);color:var(--color-navy);letter-spacing:-.01em;font-weight:500;line-height:1.2}.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);font-size:.7rem;font-weight:500}.btn{border-radius:var(--radius-full);font-family:var(--font-sans);letter-spacing:-.01em;cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:all .18s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-violet);outline-offset:2px}.btn-primary{background:var(--color-navy);color:var(--color-white)}.btn-primary:hover{background:var(--color-navy-soft);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:var(--color-white);color:var(--color-navy);border-color:var(--color-border)}.btn-secondary:hover{border-color:var(--color-violet);color:var(--color-violet-dark);box-shadow:var(--shadow-sm)}.btn-accent{background:var(--color-lime);color:var(--color-navy)}.btn-accent:hover{filter:brightness(.96);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-link{color:var(--color-navy);background:0 0;border-radius:0;padding:.4rem .25rem;font-weight:600}.btn-link:hover{color:var(--color-violet-dark)}.btn-link:after{content:"→";font-family:var(--font-mono);transition:transform .18s}.btn-link:hover:after{transform:translate(3px)}.btn-sm{padding:.5rem 1rem;font-size:.825rem}.btn-lg{padding:.95rem 2rem;font-size:1rem}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#eeeef5}::-webkit-scrollbar-thumb{background:#c0c0d8;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--color-violet)}::selection{background:var(--color-violet);color:#fff}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit}.rich-content{color:var(--color-text-secondary);font-size:.95rem;line-height:1.65}.rich-content>:first-child{margin-top:0}.rich-content>:last-child{margin-bottom:0}.rich-content h2{font-family:var(--font-sans);color:var(--color-navy);letter-spacing:-.01em;margin:1.5rem 0 .5rem;font-size:1.05rem}.rich-content h3{font-family:var(--font-sans);color:var(--color-navy);margin:1.1rem 0 .4rem;font-size:.95rem}.rich-content p{margin:0 0 .85rem}.rich-content ul,.rich-content ol{margin:0 0 .85rem;padding-left:1.25rem}.rich-content li{margin-bottom:.3rem}.rich-content strong{color:var(--color-navy);font-weight:600}.rich-content a{color:var(--color-violet-dark);text-decoration:underline}.card-grid{grid-template-columns:repeat(auto-fill,minmax(clamp(260px,22vw,320px),1fr));align-items:stretch;gap:clamp(.875rem,1.2vw,1.25rem);display:grid}.card-grid>*{height:100%;min-height:360px}.filterbar-chips{border-bottom:1px solid #f0f0f5;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.875rem 1.5rem .5rem;display:flex}.filterbar-row{flex-wrap:wrap;align-items:center;gap:.625rem;padding:1rem 1.5rem;display:flex}.filterbar-search{flex:220px;min-width:180px;max-width:360px;position:relative}.app-shell{background:var(--color-bg);height:100vh;min-height:100dvh;display:flex;overflow:hidden}.app-sidebar{background:var(--color-white);border-right:1px solid var(--color-border);z-index:60;flex-direction:column;flex-shrink:0;width:clamp(240px,17vw,280px);min-width:240px;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-toggle,.sidebar-overlay{display:none}.detail-hero{align-items:flex-start;gap:1.75rem;display:flex}@media (max-width:1024px){.detail-grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important}}@media (max-width:768px){.card-grid{grid-template-columns:1fr;gap:.875rem}.filterbar-row{gap:.5rem;padding:.75rem 1rem .75rem 3.5rem}.filterbar-chips{padding:.75rem 1rem .4rem 3.5rem}.filterbar-search{flex:100%;min-width:0;max-width:none}.app-sidebar{width:84vw;min-width:0;max-width:320px;height:100dvh;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:0 0 48px #14143c40}.app-sidebar.open{transform:translate(0)}.sidebar-toggle{z-index:65;background:var(--color-white);border:1px solid var(--color-border);width:2.5rem;height:2.5rem;color:var(--color-navy);cursor:pointer;border-radius:.75rem;justify-content:center;align-items:center;display:flex;position:fixed;top:.6rem;left:.6rem;box-shadow:0 2px 8px #14143c1a}.sidebar-overlay.open{z-index:58;background:#14143c59;display:block;position:fixed;inset:0}.detail-hero{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem!important}.detail-hero .detail-hero-actions{justify-content:center}.detail-main{padding:1.25rem 1rem 3rem!important}}@media (max-width:480px){.filterbar-row>*{flex:auto}.detail-header{padding:.6rem .875rem!important}.detail-header-inner{flex-wrap:wrap;gap:.5rem!important}.detail-breadcrumb{overflow-wrap:anywhere;word-break:break-word;font-size:.75rem}}html,body{overflow-x:hidden}.detail-breadcrumb{overflow-wrap:anywhere}.breadcrumb-city:hover{color:#14143c;text-decoration:underline}
