@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Montserrat:wght@500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap";
:root{--color-navy:#0b1f3a;--color-navy-light:#123e7c;--color-tahoe-blue:#1e63c6;--color-action:#f47a20;--color-action-hover:#d96512;--color-gold:#ffb347;--color-charcoal:#1c2430;--color-slate:#4b5b70;--color-mist:#8c9aaf;--color-border:#d9e2ec;--color-bg:#f3f7fb;--color-bg-soft:#eef4fa;--color-bg-snow:#f8fbff;--color-white:#fff;--color-pine:#234a3b;--color-forest:#1b342b;--color-error:#d92d20;--color-success:#12b76a;--color-success-dark:#027a48;--font-heading:"Montserrat",sans-serif;--font-body:"Inter",sans-serif;--font-editorial:"Playfair Display",serif;--space-xs:8px;--space-sm:16px;--space-md:24px;--space-lg:32px;--space-xl:48px;--space-2xl:64px;--space-3xl:80px;--space-4xl:96px;--radius-sm:8px;--radius-md:14px;--radius-lg:18px;--radius-xl:20px;--radius-full:9999px;--shadow-card:0 8px 24px #0b1f3a14;--shadow-hover:0 14px 34px #0b1f3a24;--shadow-featured:0 10px 30px #f47a202e;--shadow-search:0 20px 40px #0003;--shadow-button:0 4px 14px #f47a204d;--gradient-hero:linear-gradient(135deg,#0b1f3a 0%,#123e7cb3 45%,#f47a2066 100%);--gradient-sunset:linear-gradient(135deg,#123e7c 0%,#1e63c6 35%,#f47a20 75%,#ffb347 100%);--gradient-premium:linear-gradient(135deg,#f47a20 0%,#ffb347 100%);--gradient-navy:linear-gradient(135deg,#0b1f3a 0%,#123e7c 100%);--container-width:1200px;--container-wide:1360px;--container-readable:720px;--header-height:80px;--transition-fast:.18s ease-out;--transition-base:.24s ease-out;--transition-slow:.4s ease-out}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--color-charcoal);background-color:var(--color-bg-snow);font-size:16px;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:var(--color-tahoe-blue);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-action)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-navy);font-weight:700;line-height:1.2}h1{font-size:56px}h2{font-size:40px}h3{font-size:30px}h4{font-size:24px;font-weight:600}.text-editorial{font-family:var(--font-editorial)}.text-body-lg{font-size:20px;line-height:1.5}.text-small{font-size:14px}.text-meta{color:var(--color-slate);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:500}.container{max-width:var(--container-width);padding:0 var(--space-md);margin:0 auto}.container-wide{max-width:var(--container-wide);padding:0 var(--space-md);margin:0 auto}.section{padding:var(--space-3xl)0}.section-sm{padding:var(--space-xl)0}.grid{gap:var(--space-md);display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.btn{justify-content:center;align-items:center;gap:var(--space-xs);font-family:var(--font-heading);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;padding:14px 28px;font-size:16px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{transform:scale(1.02)}.btn-primary{background:var(--color-action);color:var(--color-white);box-shadow:var(--shadow-button)}.btn-primary:hover{background:var(--color-action-hover);color:var(--color-white)}.btn-secondary{background:var(--color-navy-light);color:var(--color-white)}.btn-secondary:hover{background:var(--color-navy);color:var(--color-white)}.btn-outline{color:var(--color-navy-light);border:1.5px solid var(--color-navy-light);background:0 0}.btn-outline:hover{background:var(--color-navy-light);color:var(--color-white)}.btn-soft{color:var(--color-navy-light);background:#eaf2ff}.btn-soft:hover{background:var(--color-tahoe-blue);color:var(--color-white)}.btn-sm{border-radius:var(--radius-sm);padding:10px 20px;font-size:14px}.btn-lg{padding:18px 36px;font-size:18px}.badge{border-radius:var(--radius-full);font-size:12px;font-weight:600;font-family:var(--font-heading);align-items:center;gap:4px;padding:4px 12px;line-height:1;display:inline-flex}.badge-featured{background:var(--color-action);color:var(--color-white)}.badge-verified{color:var(--color-navy-light);background:#eaf2ff}.badge-local-favorite{color:#c75a08;background:#fff0e3}.badge-tahoe-pick{color:var(--color-tahoe-blue);background:#e8f4ff}.badge-new,.badge-open-now{color:var(--color-success-dark);background:#ecfdf3}.card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:all var(--transition-base);overflow:hidden}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px)}.card-featured{box-shadow:var(--shadow-featured);border:1px solid #f47a2059}.card-featured:hover{box-shadow:0 16px 40px #f47a2038}.chip{border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);border:1.5px solid var(--color-border);background:var(--color-white);color:var(--color-charcoal);align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;display:inline-flex}.chip:hover,.chip.active{background:var(--color-tahoe-blue);color:var(--color-white);border-color:var(--color-tahoe-blue)}.input{height:56px;padding:0 var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-white);font-family:var(--font-body);color:var(--color-charcoal);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%;font-size:16px}.input:focus{border-color:var(--color-tahoe-blue);outline:none;box-shadow:0 0 0 3px #1e63c62e}.input::placeholder{color:var(--color-mist)}.stars{color:var(--color-gold);gap:2px;display:inline-flex}.stars-empty{color:var(--color-border)}@media (max-width:1024px){h1{font-size:40px}h2{font-size:32px}h3{font-size:24px}.grid-4{grid-template-columns:repeat(2,1fr)}.section{padding:var(--space-2xl)0}}@media (max-width:768px){h1{font-size:36px}h2{font-size:28px}h3{font-size:22px}h4{font-size:20px}.text-body-lg{font-size:18px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.container,.container-wide{padding:0 var(--space-sm)}.section{padding:var(--space-xl)0}.btn-lg{padding:16px 28px;font-size:16px}:root{--header-height:64px}}@media (max-width:480px){h1{font-size:28px}h2{font-size:24px}}.answer-hero,.events-hero{background:var(--gradient-navy);color:var(--color-white);padding:var(--space-3xl)0 var(--space-2xl)}.answer-hero h1,.events-hero h1{color:var(--color-white);margin-top:var(--space-xs)}.answer-hero h1{max-width:840px}.hero-copy,.events-hero p{color:#ffffffd1;max-width:760px;margin-top:var(--space-sm);font-size:19px}.answer-stats{margin-top:var(--space-md);flex-wrap:wrap;gap:12px;display:flex}.answer-stats span{border-radius:var(--radius-sm);color:#ffffffe0;background:#ffffff1a;border:1px solid #ffffff2e;align-items:center;gap:8px;padding:8px 12px;font-size:14px;display:inline-flex}.answer-layout{gap:var(--space-xl);grid-template-columns:300px 1fr;align-items:start;display:grid}.answer-sidebar{top:calc(var(--header-height) + var(--space-md));background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:var(--shadow-card);position:sticky}.answer-sidebar h2,.guide-grid h2,.faq-list h2{margin-bottom:var(--space-sm);font-size:24px}.answer-sidebar p,.guide-grid p{color:var(--color-slate);line-height:1.7}.link-stack,.mini-list{gap:10px;display:grid}.link-stack{margin-top:var(--space-md)}.link-stack a,.mini-list a{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-snow);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-weight:600;text-decoration:none;display:flex}.compact{align-items:end}.compact p{color:var(--color-slate);margin-top:4px}.answer-band,.event-band,.source-band,.monetize-band{background:var(--color-bg)}.guide-grid{gap:var(--space-xl);grid-template-columns:1.1fr .9fr;display:grid}.faq-list{max-width:860px}.faq-list details{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-sm);margin-top:10px}.faq-list summary{cursor:pointer;font-family:var(--font-heading);color:var(--color-navy);font-weight:700}.faq-list details p{color:var(--color-slate);margin-top:10px}.near-hero{background:linear-gradient(135deg,var(--color-bg)0%,var(--color-white)55%,#f47a201f 100%);padding:var(--space-3xl)0 var(--space-xl)}.near-icon{border-radius:var(--radius-md);background:var(--color-action);width:56px;height:56px;color:var(--color-white);margin-bottom:var(--space-sm);justify-content:center;align-items:center;display:inline-flex}.near-hero h1{max-width:860px}.near-hero p{max-width:760px;color:var(--color-slate);margin-top:var(--space-sm);font-size:19px}.district-strip{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.district-strip a{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);color:var(--color-charcoal);grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:12px;display:grid}.district-strip strong{color:var(--color-action)}.near-band{background:var(--color-navy);color:var(--color-white)}.near-band h2,.near-band h3{color:var(--color-white)}.near-band p{color:#ffffffc2}.near-grid,.monetize-grid{gap:var(--space-xl);grid-template-columns:1fr 360px;align-items:center;display:grid}.cta-panel{border-radius:var(--radius-md);padding:var(--space-md);background:#ffffff1a;border:1px solid #ffffff2e}.cta-panel p{margin:8px 0 var(--space-sm)}.visit-hero{background:var(--gradient-hero);padding:var(--space-3xl)0 var(--space-2xl);color:var(--color-white)}.visit-icon,.award-icon{border-radius:var(--radius-md);margin-bottom:var(--space-sm);background:#ffffff24;border:1px solid #ffffff38;justify-content:center;align-items:center;display:inline-flex}.visit-icon{width:56px;height:56px}.visit-hero h1,.awards-hero h1{color:var(--color-white)}.visit-hero p,.awards-hero p{color:#ffffffd1;max-width:760px;margin-top:var(--space-sm);font-size:19px}.visit-links,.award-actions{margin-top:var(--space-md);flex-wrap:wrap;gap:12px;display:flex}.timeline{max-width:900px}.timeline-row{gap:var(--space-md);padding:var(--space-md)0;border-bottom:1px solid var(--color-border);grid-template-columns:52px 1fr;display:grid}.timeline-index{border-radius:var(--radius-sm);background:var(--color-navy);width:44px;height:44px;color:var(--color-white);font-family:var(--font-heading);justify-content:center;align-items:center;font-weight:700;display:flex}.timeline-row h3{margin:4px 0 6px;font-size:24px}.timeline-row p{color:var(--color-slate)}.row-links{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.row-links a{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-white);align-items:center;gap:6px;padding:6px 10px;font-weight:600;display:inline-flex}.event-grid,.events-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.events-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.event-band .event-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm);box-shadow:var(--shadow-card);color:var(--color-charcoal);gap:12px;display:flex}.event-band .event-card h3{margin-bottom:4px;font-size:18px}.event-band .event-card p{color:var(--color-slate);font-size:14px}.events-grid .event-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:var(--shadow-card)}.event-date,.event-place,.event-actions,.event-actions a{align-items:center;gap:8px;display:flex}.event-date{color:var(--color-action);margin-bottom:var(--space-sm);font-weight:700}.events-grid .event-card h2{margin-bottom:10px;font-size:23px}.event-place,.event-attr{color:var(--color-slate);font-size:14px}.event-attr{margin:var(--space-sm)0}.event-actions{flex-wrap:wrap;gap:12px}.event-actions a{font-weight:700}.source-grid{justify-content:space-between;align-items:center;gap:var(--space-lg);display:flex}.source-grid p{color:var(--color-slate);max-width:760px}.event-detail{background:var(--gradient-navy);color:var(--color-white);padding:var(--space-3xl)0}.detail-grid{gap:var(--space-xl);grid-template-columns:1fr 360px;align-items:start;display:grid}.back-link{color:#ffffffc7;margin-bottom:var(--space-sm);font-weight:700;display:inline-block}.event-detail h1{color:var(--color-white);max-width:850px}.detail-meta{color:#ffffffd6;align-items:center;gap:10px;margin-top:12px;font-size:18px;display:flex}.source-card{border-radius:var(--radius-md);padding:var(--space-md);background:#ffffff1a;border:1px solid #fff3}.source-card h2{color:var(--color-white);font-size:22px}.source-card p{color:#ffffffc7;margin:var(--space-sm)0}.event-note{max-width:820px}.event-note p{color:var(--color-slate);margin-top:var(--space-xs)}.event-links{margin-top:var(--space-md);flex-wrap:wrap;gap:10px;display:flex}.event-links a{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-white);padding:8px 12px;font-weight:700}.awards-hero{background:linear-gradient(135deg,var(--color-navy)0%,var(--color-pine)54%,var(--color-action)100%);color:var(--color-white);padding:var(--space-3xl)0 var(--space-2xl)}.award-icon{width:60px;height:60px}.awards-grid{gap:var(--space-xl);display:grid}.award-group{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-xl)}.award-heading{margin-bottom:var(--space-md);align-items:center;gap:12px;display:flex}.award-heading h2{font-size:30px}.compact-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.category-link{margin-top:var(--space-md);font-family:var(--font-heading);font-weight:700;display:inline-block}.monetize-grid p{color:var(--color-slate);max-width:760px}.monetize-steps{gap:10px;display:grid}.monetize-steps span{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:12px;font-weight:700;display:flex}@media (max-width:900px){.answer-layout,.guide-grid{grid-template-columns:1fr}.answer-sidebar{position:static}}@media (max-width:850px){.near-grid,.monetize-grid{grid-template-columns:1fr}}@media (max-width:820px){.detail-grid{grid-template-columns:1fr}}@media (max-width:720px){.source-grid{flex-direction:column;align-items:flex-start}}@media (max-width:640px){.timeline-row{grid-template-columns:1fr}}
