/* Low-specificity fallback styling; the active theme can refine the chapter design. */
:where(.tie-dynamic-block){margin-block:1.5rem}
:where(.tie-dynamic-bare){margin-block:0}
:where(.tie-icon){width:1em;height:1em;flex:none}
:where(.tie-utility-bar){background:#101010;color:#aaa;font-size:.875rem}
:where(.tie-utility-inner){display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1.5rem;max-width:1240px;margin-inline:auto;padding:.6rem 1.25rem}
:where(.tie-utility-side){display:flex;align-items:center;gap:1.75rem}
:where(.tie-utility-list){display:flex;align-items:center;gap:1.6rem;list-style:none;margin:0;padding:0}
:where(.tie-utility-list li){display:flex;align-items:center;gap:.5rem;margin:0}
:where(.tie-utility-bar a){color:inherit;text-decoration:none}
:where(.tie-hero-banner){position:relative;isolation:isolate;background:#101010;color:#fff}
:where(.tie-hero-media){position:absolute;inset:0;z-index:-2}
:where(.tie-hero-media img){width:100%;height:100%;object-fit:cover;display:block}
:where(.tie-hero-banner):after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(16,16,16,.2),rgba(16,16,16,.9))}
:where(.tie-hero-shell){max-width:1240px;margin-inline:auto;padding:9rem 1.25rem 3rem}
:where(.tie-hero-grid){display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,290px);gap:3.5rem;align-items:end}
:where(.tie-hero-event){background:rgba(0,0,0,.66);border:1px solid rgba(236,236,236,.16);border-radius:12px;padding:1.9rem 2.1rem}
:where(.tie-hero-event-meta){list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
:where(.tie-hero-event-meta li){display:flex;align-items:flex-start;gap:.65rem;color:#9a9a9a;font-size:.875rem}
:where(.tie-hero-button){display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.8rem 1.4rem;border-radius:6px;background:#ed3237;color:#fff;font-weight:700;text-decoration:none}
@media(max-width:860px){:where(.tie-hero-grid){grid-template-columns:minmax(0,1fr)}}
:where(.tie-program-grid,.tie-person-grid,.tie-group-grid,.tie-partner-grid,.tie-gallery-grid){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1.5rem}
:where(.tie-program-card,.tie-person-card,.tie-group-card,.tie-event-card,.tie-partner-card){background:#fff;border:1px solid #e2e4e8;border-radius:12px;overflow:hidden}
:where(.tie-person-card){padding:1.5rem;text-align:center}
:where(.tie-person-info,.tie-program-card-content,.tie-event-card-content){padding:1.25rem}
:where(.tie-person-info){padding:1rem 0 0}
:where(.tie-person-card h3,.tie-program-card h3,.tie-group-card h3,.tie-event-card h3){margin:.4rem 0 .75rem}
:where(.tie-person-card a,.tie-program-card h3 a,.tie-group-card h3 a,.tie-event-card h3 a){color:inherit;text-decoration:none}
:where(.tie-person-photo){display:block;width:120px;height:120px;object-fit:cover;border-radius:50%;margin-inline:auto}
:where(.tie-person-initials){display:flex;align-items:center;justify-content:center;background:#f5eeee;color:#90292c;font-size:2rem;font-weight:700}
:where(.tie-person-role){font-weight:650;color:#a32328}
:where(.tie-person-company,.tie-person-designation,.tie-person-category){font-size:.9rem;margin:.3rem 0;color:#535762}
:where(.tie-person-category){display:block}
:where(.tie-person-linkedin){display:inline-block;font-size:.9rem;margin-top:.75rem;text-decoration:underline!important}
:where(.tie-directory-controls){display:flex;align-items:end;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}
:where(.tie-directory-controls>div){flex:1;min-width:min(100%,190px)}
:where(.tie-directory-controls label,.tie-form-field label){display:block;font-size:.9rem;font-weight:650;margin-bottom:.5rem}
:where(.tie-directory-controls input,.tie-directory-controls select,.tie-contact-form input,.tie-contact-form textarea,.tie-contact-form select){width:100%;max-width:100%;box-sizing:border-box;padding:.8rem 1rem;border:1px solid #c6c9cf;border-radius:6px;background:#fff;font:inherit;color:#24272b}
:where(.tie-directory-more){margin-top:1.5rem}
:where(.tie-directory-status){font-size:.9rem;color:#60656f}
:where(.tie-program-image img,.tie-event-image img){width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
:where(.tie-group-card){padding:1.5rem}
:where(.tie-group-card-top){display:flex;justify-content:space-between;align-items:center}
:where(.tie-pill){display:inline-block;padding:.35rem .7rem;border-radius:100px;background:#fff0f0;color:#a32328;font-size:.8rem;font-weight:650}
:where(.tie-group-lead){display:flex;gap:.75rem;align-items:center;margin:1rem 0}
:where(.tie-group-lead .tie-person-photo){width:48px;height:48px;font-size:1rem;margin:0;flex:none}
:where(.tie-group-lead strong,.tie-group-lead .tie-person-role){display:block;font-size:.85rem}
:where(.tie-button){display:inline-flex;justify-content:center;align-items:center;gap:.6rem;min-height:44px;padding:.8rem 1.2rem;border:0;border-radius:6px;background:#a82329;color:#fff;text-decoration:none;font:inherit;font-weight:650;cursor:pointer}
:where(.tie-text-link){font-weight:650;color:#9d252a}
:where(.tie-empty-state){padding:1.5rem;background:#f5f6f8;border-radius:8px;color:#535762}
:where(.tie-partner-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}
:where(.tie-partner-card){padding:1.25rem;text-align:center}
:where(.tie-partner-card img){max-width:100%;height:90px;object-fit:contain}
:where(.tie-partner-tier){font-size:.8rem;color:#60656f}
:where(.tie-event-list){display:grid;gap:1.5rem}
:where(.tie-event-card){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
:where(.tie-event-card:not(:has(.tie-event-image))){display:block}
:where(.tie-event-image img){height:100%}
:where(.tie-event-date,.tie-event-venue){font-size:.9rem}
:where(.tie-gallery-grid figure){margin:0}
:where(.tie-gallery-grid img){width:100%;height:auto;display:block;border-radius:10px}
:where(.tie-gallery-grid figcaption){font-size:.9rem;color:#60656f;padding-block:.5rem}
:where(.tie-program-detail-grid){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1.5rem}
:where(.tie-program-detail-panel,.tie-edition-panel,.tie-program-next-step,.tie-event-details){padding:1.5rem;background:#f5f6f8;border-radius:12px}
:where(.tie-edition-panel){margin-bottom:1rem}
:where(.tie-person-details){display:flex;gap:2rem;align-items:start;flex-wrap:wrap}
:where(.tie-person-details>.tie-person-photo){width:220px;height:220px;max-width:100%;margin:0}
:where(.tie-person-details-body){flex:1;min-width:min(100%,260px)}
:where(.tie-event-details dl>div){margin-block:1rem}
:where(.tie-event-details dt){font-weight:650}
:where(.tie-event-details dd){margin-left:0}
:where(.tie-contact-section){display:grid;grid-template-columns:1fr 1.5fr;gap:3rem}
:where(.tie-form-field){margin-bottom:1.25rem}
:where(.tie-contact-form textarea){resize:vertical}
:where(.tie-form-privacy){font-size:.85rem;color:#60656f}
:where(.tie-form-trap){position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
:where(.tie-form-notice){padding:1rem;border-radius:8px}
:where(.tie-form-success){background:#edf8ef;color:#205329}
:where(.tie-form-error){background:#fff0f0;color:#942329}
:where(.tie-dynamic-block,.tie-people-section,.tie-contact-section) [hidden]{display:none!important}
:where(.tie-dynamic-block a,.tie-dynamic-block button,.tie-dynamic-block input,.tie-dynamic-block select,.tie-dynamic-block textarea):focus-visible{outline:3px solid #154d9d;outline-offset:4px}
@media(max-width:600px){:where(.tie-contact-section,.tie-event-card){grid-template-columns:1fr}:where(.tie-person-grid){grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}:where(.tie-person-card){padding:1rem .6rem}:where(.tie-person-photo){width:100px;height:100px}:where(.tie-person-card h3){font-size:1rem}:where(.tie-directory-controls){display:block}:where(.tie-directory-controls>div){margin-bottom:1rem}}
@media(prefers-reduced-motion:reduce){.tie-dynamic-block *{scroll-behavior:auto!important;transition:none!important}}

:where(.tie-pillars-carousel){background:#101010;color:#fff;border-radius:16px;padding:2.5rem}
:where(.tie-pillars-carousel-head){display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.5rem}
:where(.tie-pillars-track){display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory}
:where(.tie-pillars-card){flex:0 0 220px;border-radius:12px;overflow:hidden;scroll-snap-align:start;text-decoration:none;display:block;background:#1a1a1a;padding:.6rem}
:where(.tie-pillars-card-media){display:block;border-radius:8px;overflow:hidden;aspect-ratio:4/3}
:where(.tie-pillars-card-media img){width:100%;height:100%;object-fit:cover;display:block}
:where(.tie-pillars-card-body){display:block;padding:.85rem .25rem .35rem}
:where(.tie-pillars-card-body strong){display:block;color:#fff;font-size:1rem;margin-bottom:.35rem}
:where(.tie-pillars-card-body span){display:block;color:#9a9a9a;font-size:.8rem;line-height:1.5}
:where(.tie-pillars-prev,.tie-pillars-next){width:2.2rem;height:2.2rem;border-radius:50%;border:1px solid #3a3a3a;background:transparent;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
:where(.tie-schedule){background:#f5f6f8;border-radius:16px;padding:2.5rem;display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:2.5rem}
:where(.tie-schedule-tab-input){position:absolute;opacity:0;pointer-events:none}
:where(.tie-schedule-tabbar){display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e4e8;margin-bottom:1.25rem}
:where(.tie-schedule-tabs){display:flex;gap:1.5rem}
:where(.tie-schedule-tab){display:inline-block;padding:.6rem 0 .8rem;font-weight:650;color:#8a8f98;cursor:pointer;border-bottom:2px solid transparent}
:where(.tie-schedule-list){display:none;flex-direction:column;gap:1rem}
.tie-schedule-tab-input:first-of-type:checked~.tie-schedule-tabbar .tie-schedule-tabs label:first-child,.tie-schedule-tab-input:last-of-type:checked~.tie-schedule-tabbar .tie-schedule-tabs label:last-child{color:#101010;border-bottom-color:#c91d28}
.tie-schedule-tab-input:first-of-type:checked~.tie-schedule-list-upcoming,.tie-schedule-tab-input:last-of-type:checked~.tie-schedule-list-past{display:flex}
:where(.tie-schedule-card){display:grid;grid-template-columns:110px 1fr;gap:1rem;background:#fff;border:1px solid #e2e4e8;border-radius:10px;padding:.85rem}
:where(.tie-schedule-image){display:block;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#eee}
:where(.tie-schedule-image img){width:100%;height:100%;object-fit:cover;display:block}
:where(.tie-schedule-tags){display:flex;gap:.4rem;flex-wrap:wrap;margin:0 0 .4rem}
:where(.tie-schedule-tags .tie-pill){padding:.2rem .55rem;font-size:.7rem}
:where(.tie-schedule-meta){display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:.78rem;color:#787d86;margin:0 0 .4rem}
:where(.tie-schedule-meta span){display:inline-flex;align-items:center;gap:.3rem}
:where(.tie-schedule-meta .tie-icon,.tie-schedule-search .tie-icon){width:.85rem;height:.85rem;color:#c91d28}
@media(max-width:760px){:where(.tie-schedule){grid-template-columns:1fr}:where(.tie-schedule-card){grid-template-columns:80px 1fr}}

:where(.tie-member-connect-head){display:flex;justify-content:space-between;align-items:flex-end;gap:1.25rem;flex-wrap:wrap}
:where(.tie-member-connect-actions){display:flex;gap:.75rem;flex-wrap:wrap}
:where(.tie-button-outline){background:#fff;color:#101010;border:1px solid #d8dade}
:where(.tie-member-connect-row){display:flex;align-items:center;gap:.85rem}
:where(.tie-member-connect-track){display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;flex:1}
:where(.tie-member-connect-card){flex:0 0 200px;scroll-snap-align:start;text-align:center;background:#f5f6f8;border:1px solid #e2e4e8;border-radius:12px;padding:1.5rem 1rem}
:where(.tie-member-connect-photo){position:relative;display:inline-block}
:where(.tie-member-connect-photo img){width:80px;height:80px;border-radius:50%;object-fit:cover;display:block}
:where(.tie-member-connect-badge){position:absolute;right:-2px;bottom:-2px;width:24px;height:24px;border-radius:50%;background:#0a66c2;color:#fff;display:flex;align-items:center;justify-content:center}
:where(.tie-member-connect-badge .tie-icon){width:13px;height:13px}
:where(.tie-member-connect-prev,.tie-member-connect-next){flex:none;width:2.1rem;height:2.1rem;border-radius:50%;border:1px solid #e2e4e8;background:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}

:where(.tie-board-team){display:flex;flex-direction:column;align-items:center;gap:1.5rem}
:where(.tie-board-team-heading){text-align:center;font-weight:700}
:where(.tie-board-team-grid){display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem}

:where(.tie-entry-points-intro){text-align:center;max-width:640px;margin-inline:auto}
:where(.tie-entry-points-grid){display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}
:where(.tie-entry-points-card){display:block;background:#fff;border:1px solid #e2e4e8;border-radius:12px;overflow:hidden;text-decoration:none;color:inherit}
:where(.tie-entry-points-media){display:block;aspect-ratio:4/3}
:where(.tie-entry-points-media img){width:100%;height:100%;object-fit:cover;display:block}
:where(.tie-entry-points-body){display:block;padding:1.1rem}

:where(.tie-partners-intro){text-align:center;max-width:640px;margin-inline:auto}
:where(.tie-cta-banner){display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;background:#e53935;color:#fff;padding:1.75rem}
:where(.tie-cta-banner-button){background:#fff;color:#101010}
:where(.tie-footer-programs){list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}
:where(.tie-footer-meta){display:flex;align-items:center;justify-content:center;gap:1.1rem;flex-wrap:wrap}
:where(.tie-footer-social){display:flex;gap:.6rem}

/* Media lightbox (built in assets/public.js for [data-tie-lightbox] triggers): a full-screen
   overlay with a centered image, a close control, and — only when the opened trigger belongs
   to a lightbox group (a story's multi-photo gallery) — prev/next controls to page through
   that same group. Real selectors (not :where) since this is a brand-new overlay component
   with no legacy same-specificity rule to lose to. */
body.tie-lightbox-open{overflow:hidden}
.tie-lightbox{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center}
.tie-lightbox[hidden]{display:none}
.tie-lightbox-backdrop{position:absolute;inset:0;background:rgba(10,10,10,.92);border:0;padding:0;margin:0;cursor:pointer}
.tie-lightbox-dialog{position:relative;z-index:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:4rem 4.5rem;box-sizing:border-box}
.tie-lightbox-figure{position:relative;margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:.75rem}
.tie-lightbox-image{display:block;max-width:100%;max-height:calc(100vh - 8rem);width:auto;height:auto;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.tie-lightbox-counter{color:#f2f2f2;font-size:.875rem;letter-spacing:.04em}
.tie-lightbox-counter:empty{display:none}
.tie-lightbox-close{position:absolute;top:1.25rem;right:1.25rem;width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(16,16,16,.5);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.tie-lightbox-close svg{width:1.25rem;height:1.25rem}
.tie-lightbox-prev,.tie-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:3rem;height:3rem;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(16,16,16,.5);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.tie-lightbox-prev[hidden],.tie-lightbox-next[hidden]{display:none}
.tie-lightbox-prev svg,.tie-lightbox-next svg{width:1.4rem;height:1.4rem}
.tie-lightbox-prev{left:1rem}
.tie-lightbox-next{right:1rem}
.tie-lightbox-prev:hover,.tie-lightbox-next:hover,.tie-lightbox-close:hover{background:#e53935;border-color:#e53935}
@media(max-width:782px){
  .tie-lightbox-dialog{padding:3.5rem 1rem}
  .tie-lightbox-close{top:.75rem;right:.75rem;width:2.3rem;height:2.3rem}
  .tie-lightbox-prev,.tie-lightbox-next{width:2.3rem;height:2.3rem}
  .tie-lightbox-image{max-height:calc(100vh - 6.5rem)}
}
@media(max-width:480px){
  .tie-lightbox-dialog{padding:3rem .5rem}
  .tie-lightbox-prev{left:.25rem}
  .tie-lightbox-next{right:.25rem}
}
:where(.tie-footer-social-link){display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:#1c1c1c;color:#fff}
