*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--blue: #1A3BB3;--blue-light: #2347cc;--cream: #F0EDE8;--cream-card: #F8F6F2;--navy: #0f1e5a;--charcoal: #2a2a35;--border: rgba(26, 59, 179, .18);--font-hand: "Caveat", cursive;--font-body: "DM Sans", sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{background-color:var(--cream);scroll-behavior:smooth}body{margin:0;background-color:var(--cream);color:var(--charcoal);font-family:var(--font-body);min-width:320px}#root{min-height:100vh}.mobile-tab-bar{display:none}@media(max-width:720px){.mobile-tab-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:50;background:#f0ede8eb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1.5px solid var(--border);padding:.5rem 1rem calc(.5rem + env(safe-area-inset-bottom));gap:.5rem}.mobile-tab{flex:1;text-align:center;font-family:var(--font-body);font-size:.8rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--blue);text-decoration:none;padding:.5rem 0;border-radius:8px;transition:background-color .15s}.mobile-tab:hover,.mobile-tab:active{background-color:#1a3bb314}.page-footer{padding-bottom:calc(6.5rem + env(safe-area-inset-bottom))}}.side-nav{position:fixed;right:1.25rem;top:50%;transform:translateY(-50%);z-index:50;display:flex;flex-direction:column;gap:.6rem;align-items:flex-end}.side-nav-item{display:flex;align-items:center;gap:.5rem;text-decoration:none;cursor:pointer}.side-nav-dot{width:8px;height:8px;border-radius:50%;background-color:var(--blue);opacity:.3;flex-shrink:0;transition:opacity .2s,transform .2s;order:2}.side-nav-label{font-family:var(--font-body);font-size:.72rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);opacity:0;transform:translate(4px);transition:opacity .2s,transform .2s;order:1;white-space:nowrap}.side-nav:hover .side-nav-dot{opacity:.6}.side-nav-item:hover .side-nav-dot{opacity:1;transform:scale(1.35)}.side-nav-item:hover .side-nav-label{opacity:1;transform:translate(0)}@media(max-width:720px){.side-nav{display:none}}.page{width:100%;background-color:var(--cream);overflow-x:hidden}.hero{padding:3.5rem 1.5rem 1.5rem}.hero-inner{max-width:680px;margin:0 auto;text-align:center}.event-title{font-family:var(--font-hand);font-size:clamp(2.6rem,7vw,4.2rem);font-weight:700;color:var(--blue);line-height:1.1;letter-spacing:.01em;margin-bottom:1.1rem}.event-meta{display:flex;justify-content:center;align-items:center;gap:.6rem;flex-wrap:wrap}.meta-item{font-family:var(--font-hand);font-size:clamp(1.3rem,3.5vw,1.75rem);font-weight:600;color:var(--blue);letter-spacing:.02em}.meta-dot{font-family:var(--font-hand);font-size:1.6rem;color:var(--blue);opacity:.5;line-height:1}.event-location{margin-top:.55rem;font-family:var(--font-body);font-size:clamp(.9rem,2.2vw,1.05rem);font-weight:400;color:var(--navy);letter-spacing:.04em;text-transform:uppercase;opacity:.75}.hero:after{content:"";display:block;width:min(320px,70%);height:2px;background:linear-gradient(90deg,transparent,var(--blue),transparent);margin:0 auto;opacity:.18}.description-section{padding:.5rem 1.5rem 3.5rem}.description-inner{max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.description-text{font-family:var(--font-body);font-size:clamp(.95rem,2.4vw,1.08rem);line-height:1.75;color:var(--charcoal);font-weight:300}.description-text strong{font-weight:500;color:var(--navy)}.highlight-text{font-style:italic;color:var(--blue);font-weight:400;border-left:3px solid var(--blue);padding-left:1rem;opacity:.9}.companies-section{padding:1rem 1.5rem 4rem;background-color:#1a3bb308;border-top:1.5px solid var(--border)}.companies-inner{max-width:880px;margin:0 auto}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:2.25rem;padding-top:2.5rem}.section-title{font-family:var(--font-hand);font-size:clamp(2rem,5.5vw,3rem);font-weight:700;color:var(--blue);line-height:1}.companies-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.company-card{background-color:#f5f2ed;border:1.5px solid var(--blue);border-radius:12px;box-shadow:0 2px 12px #1a3bb312;padding:1.25rem 1.35rem 1.1rem;display:flex;flex-direction:column;gap:.9rem;transition:box-shadow .2s ease,transform .2s ease}.company-card:hover{box-shadow:0 8px 28px #1a3bb326;transform:translateY(-3px)}.card-header{display:flex;flex-direction:column;gap:.2rem}.card-name-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.star-btn{background:none;border:none;cursor:pointer;font-size:1.2rem;line-height:1;color:var(--blue);opacity:.3;padding:0;flex-shrink:0;transition:opacity .15s,transform .15s}.star-btn:hover{opacity:.7;transform:scale(1.15)}.star-btn--active{opacity:1}.filter-btn--star.filter-btn--active{background-color:var(--blue);border-color:var(--blue);color:#fff}.filter-btn--star.filter-btn--active:hover{background-color:var(--blue-light);border-color:var(--blue-light)}.card-name{font-family:var(--font-hand);font-size:1.55rem;font-weight:700;color:var(--blue);line-height:1.15;margin:0}.card-link{color:var(--blue);text-decoration:none}.card-link:hover{text-decoration:underline;text-underline-offset:3px}.card-industry{font-family:var(--font-body);font-size:.72rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--navy);opacity:.5;margin:0}.card-tags{display:flex;flex-direction:column;gap:.45rem}.card-roles,.card-positions{display:flex;flex-wrap:wrap;gap:.35rem}.tag{display:inline-block;border-radius:999px;font-family:var(--font-body);font-weight:500;line-height:1;white-space:nowrap}.role-tag{font-size:.72rem;padding:.3rem .65rem}.tag-filled{background-color:var(--blue);color:#fff}.tag-outline{background-color:transparent;border:1.5px solid var(--blue);color:var(--blue)}.position-tag{font-size:.65rem;padding:.22rem .55rem;background-color:#0000000f;color:var(--charcoal);opacity:.75}.dinners-section{padding:1rem 1.5rem 4rem;border-top:1.5px solid var(--border)}.dinners-inner{max-width:880px;margin:0 auto}.dinners-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.dinner-card{display:flex;flex-direction:column;gap:.65rem}.dinner-label{font-family:var(--font-hand);font-size:1.4rem;font-weight:600;color:var(--blue);margin:0}.dinner-label--link{cursor:pointer;display:inline-block;transition:opacity .15s}.dinner-label--link:hover{opacity:.7;text-decoration:underline;text-underline-offset:3px}.dinner-external-link{display:inline-block;padding:.6rem 1.4rem;background-color:var(--blue);color:#fff;font-family:var(--font-body);font-size:.88rem;font-weight:500;border-radius:999px;text-decoration:none;letter-spacing:.02em;transition:background-color .18s,transform .15s;align-self:flex-start}.dinner-external-link:hover{background-color:var(--blue-light);transform:translateY(-1px)}@media(max-width:720px){.dinners-grid{grid-template-columns:1fr}}.page-footer{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 1.5rem 3rem;border-top:1.5px solid var(--border)}.footer-text{font-family:var(--font-body);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);opacity:.5}.filter-bar{background-color:#e8e4de;border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.4rem 1rem;margin-bottom:1.75rem;display:flex;flex-direction:column;gap:.85rem}.filter-groups{display:flex;flex-wrap:wrap;gap:1.1rem 2rem;align-items:flex-start}.filter-group{display:flex;flex-direction:column;gap:.45rem}.filter-label{font-family:var(--font-hand);font-size:1rem;font-weight:600;color:var(--blue);letter-spacing:.01em}.filter-toggles{display:flex;flex-wrap:wrap;gap:.4rem}.filter-btn{font-family:var(--font-body);font-size:.75rem;font-weight:500;padding:.3rem .75rem;border-radius:999px;border:1.5px solid var(--blue);background:transparent;color:var(--blue);cursor:pointer;transition:background-color .15s,color .15s,transform .12s;white-space:nowrap}.filter-btn:hover{background-color:#1a3bb314}.filter-btn--active{background-color:var(--blue);color:#fff}.filter-btn--active:hover{background-color:var(--blue-light)}.filter-status{display:flex;align-items:center;gap:1rem;padding-top:.4rem;border-top:1px solid var(--border)}.filter-count{font-family:var(--font-body);font-size:.75rem;color:var(--navy);opacity:.55}.filter-clear{font-family:var(--font-body);font-size:.75rem;font-weight:500;color:var(--blue);background:none;border:none;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;opacity:.8;transition:opacity .15s}.filter-clear:hover{opacity:1}.empty-state{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:4rem 1rem;opacity:.5}.empty-state-text{font-family:var(--font-hand);font-size:1.6rem;font-weight:600;color:var(--blue);text-align:center}.company-card{cursor:pointer}.company-card:focus-visible{outline:2.5px solid var(--blue);outline-offset:2px}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-backdrop{position:fixed;inset:0;background:#0f143c8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:100;animation:backdropIn .2s ease forwards}.modal-card{position:relative;background:#f5f2ed;border:1.5px solid var(--blue);border-radius:16px;box-shadow:0 20px 60px #0f143c40;width:100%;max-width:640px;max-height:88vh;overflow-y:auto;padding:2.25rem 2.25rem 2rem;display:flex;flex-direction:column;gap:1.25rem;animation:modalIn .22s cubic-bezier(.22,1,.36,1) forwards}.modal-close{position:absolute;top:1rem;right:1.1rem;background:none;border:none;font-size:1.1rem;color:var(--blue);cursor:pointer;padding:.25rem .4rem;line-height:1;opacity:.7;transition:opacity .15s}.modal-close:hover{opacity:1}.modal-star-btn{position:absolute;top:1rem;right:3rem;background:none;border:none;font-size:1.35rem;line-height:1;color:var(--blue);opacity:.3;cursor:pointer;padding:.25rem .3rem;transition:opacity .15s,transform .15s}.modal-star-btn:hover{opacity:.7;transform:scale(1.15)}.modal-star-btn.star-btn--active{opacity:1}.modal-name{font-family:var(--font-hand);font-size:clamp(2rem,5vw,2.6rem);font-weight:700;color:var(--blue);line-height:1.1;margin:0;padding-right:2rem}.modal-name-link{color:var(--blue);text-decoration:none}.modal-name-link:hover{text-decoration:underline;text-underline-offset:3px}.modal-industry-row{display:flex;flex-wrap:wrap;gap:.4rem}.modal-badges{display:flex;flex-direction:column;gap:.4rem}.modal-section{display:flex;flex-direction:column;gap:.35rem}.modal-label{font-family:var(--font-body);font-size:.68rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--navy);opacity:.5}.modal-bio{font-family:var(--font-body);font-size:.95rem;line-height:1.7;color:var(--charcoal);font-weight:300;margin:0}.modal-meta-grid{display:flex;flex-direction:column;gap:.6rem;border-top:1px solid var(--border);padding-top:1rem}.modal-meta-row{display:grid;grid-template-columns:10rem 1fr;gap:.5rem;align-items:baseline}.modal-value{font-family:var(--font-body);font-size:.88rem;color:var(--charcoal);font-weight:400;line-height:1.5}.modal-contact-btn{display:inline-block;align-self:flex-start;margin-top:.25rem;padding:.6rem 1.4rem;background-color:var(--blue);color:#fff;font-family:var(--font-body);font-size:.88rem;font-weight:500;border-radius:999px;text-decoration:none;letter-spacing:.02em;transition:background-color .18s,transform .15s}.modal-contact-btn:hover{background-color:var(--blue-light);transform:translateY(-1px)}@media(max-width:720px){.companies-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.filter-groups{flex-direction:column;gap:.9rem}.filter-toggles{flex-wrap:wrap}.filter-btn{flex:1 1 auto;text-align:center}}@media(max-width:480px){.companies-grid{grid-template-columns:1fr}.filter-bar{padding:1rem}.modal-card{padding:1.5rem 1.25rem;border-radius:12px;max-height:92vh}.modal-meta-row{grid-template-columns:1fr;gap:.15rem}}
