.ei-eyebrow{margin:0 0 18px;color:var(--teal-dark);font:700 11px/1 var(--sans);letter-spacing:.17em;text-transform:uppercase}
.ei-kicker{margin:0 0 8px;color:var(--teal-dark);font:700 10px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.ei-meta{gap:6px 18px;margin:0;padding:0;list-style:none;color:var(--ink-muted);font:500 12px/1.4 var(--sans)}
.ei-meta li+li{position:relative}.ei-meta li+li::before{content:"";position:absolute;left:-10px;top:50%;width:3px;height:3px;border-radius:50%;background:currentColor}
.ei-tag{display:inline-flex;align-items:center;gap:6px;width:max-content;padding:5px 10px;border:1px solid var(--line);border-radius:999px;color:var(--navy);background:#fff;font:600 11px/1 var(--sans)}
.ei-tag svg{color:var(--teal-dark)}
.ei-tag--inperson{color:var(--ink-muted)}
.ei-hero{position:relative;isolation:isolate;background:var(--white);color:var(--navy);border-bottom:1px solid var(--line)}
.ei-hero-photo{position:absolute;z-index:-1;inset:0;overflow:hidden}
.ei-hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transform:translateX(32px)}
.ei-hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--white) 0%,rgb(255 255 255 / 96%) 26%,rgb(255 255 255 / 78%) 37%,transparent 57%)}
.ei-hero-grid{--bs-gutter-x:48px;min-height:clamp(380px,34vw,480px);padding:50px 0 62px}
.ei-head{max-width:560px}
.ei-head .ei-eyebrow{margin-bottom:25px}
.ei-head h1{margin:0;font-family:var(--serif);font-size:clamp(44px,4.1vw,59px);font-weight:400;line-height:1.06;letter-spacing:-.025em}
.ei-head h1 span{display:block}.ei-head h1 em{color:var(--teal-dark);font-style:normal;font-weight:400}
.ei-head>p:not(.ei-eyebrow):not(.ei-sample){max-width:445px;margin:27px 0 0;color:var(--ink-muted);font-size:16px;line-height:1.75}
.ei-sample{margin:18px 0 0;color:var(--ink-muted);font:500 12px/1.4 var(--sans)}
.ei-featured{padding:var(--tp-section-y-sm) 0 0}
.ei-featured-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.ei-featured-media{display:block;text-decoration:none;padding:0;border:0;background:none;cursor:pointer;overflow:hidden;border-radius:10px;aspect-ratio:4/3}
.ei-featured-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.ei-featured-media:hover img{transform:scale(1.03)}
.ei-featured-copy{color:var(--navy)}
.ei-featured-copy .ei-eyebrow{margin:0}
.ei-featured-copy h2{margin:0;font:400 clamp(30px,2.8vw,40px)/1.12 var(--serif);text-wrap:pretty}
.ei-featured-copy>p{margin:0;max-width:480px;color:var(--ink-muted);font-size:16px;line-height:1.7}
.ei-featured-copy .button{margin-top:8px}
.ei-browse{padding:var(--tp-section-y-sm) 0 clamp(56px,7vw,96px)}
.ei-browse-head{display:flex;gap:20px 40px;padding-bottom:20px;border-bottom:1px solid var(--navy)}
.ei-browse-head h2{margin:0;color:var(--navy);font:400 clamp(30px,2.8vw,40px)/1.1 var(--serif)}
.ei-filters{display:flex;flex-wrap:wrap;gap:8px}
.ei-filters button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font:600 13px var(--sans);cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.ei-filters button span{color:var(--ink-muted);font-weight:500;font-size:12px}
.ei-filters button:hover{border-color:var(--teal-dark)}
.ei-filters button[aria-pressed="true"],.ei-filters button[aria-selected="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.ei-filters button[aria-pressed="true"] span,.ei-filters button[aria-selected="true"] span{color:rgb(255 255 255 / 70%)}
.ei-list{margin:0;padding:0;list-style:none}
.ei-row{border-bottom:1px solid var(--line)}
.ei-row-btn{text-decoration:none;display:grid;grid-template-columns:150px minmax(0,1fr) 200px;gap:32px;align-items:start;width:100%;padding:28px 0;border:0;background:none;text-align:left;color:var(--navy);cursor:pointer;font:inherit}
.ei-row-side{display:grid;gap:10px;justify-items:start}
.ei-row-status{color:var(--ink-muted);font:500 12px var(--sans)}
.ei-row-copy h3{margin:0 0 8px;font:400 clamp(22px,1.9vw,26px)/1.2 var(--serif);text-wrap:pretty;transition:color .2s}
.ei-row-copy>p:not(.ei-kicker){margin:0 0 12px;max-width:620px;color:var(--ink-muted);font-size:15px;line-height:1.65}
.ei-row-img{overflow:hidden;border-radius:8px;aspect-ratio:4/3}
.ei-row-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.ei-row-btn:hover h3{color:var(--teal-dark)}
.ei-row-btn:hover .ei-row-img img{transform:scale(1.04)}
.ei-row-btn:focus-visible{outline:2px solid var(--teal-dark);outline-offset:4px}
@media (max-width:1120px){.ei-hero-photo>img{transform:translateX(24px)}.ei-hero-grid{--bs-gutter-x:28px}.ei-head h1{font-size:clamp(39px,4.4vw,50px)}.ei-row-btn{grid-template-columns:130px minmax(0,1fr) 170px;gap:24px}}
@media (max-width:800px){
.ei-hero{display:flex;flex-direction:column}.ei-hero-photo{position:relative;inset:auto;z-index:0;order:1;width:100%;height:400px}.ei-hero-photo>img{object-position:center;transform:none}.ei-hero-photo::after{background:none}
.ei-hero-grid{--bs-gutter-x:0;min-height:auto;padding:42px 0 30px}.ei-head{max-width:100%}.ei-head h1{font-size:clamp(36px,7vw,56px)}
.ei-featured-grid{grid-template-columns:1fr}
.ei-row-btn{grid-template-columns:minmax(0,1fr) 120px;gap:16px 20px}.ei-row-side{grid-column:1/-1;display:flex;align-items:center;gap:12px}}
@media (max-width:480px){.ei-hero-grid{padding-top:32px;padding-bottom:26px}.ei-head h1{font-size:clamp(32px,9.2vw,40px)}.ei-hero-photo{height:300px}
.ei-row-btn{grid-template-columns:1fr}.ei-row-img{grid-row:2;aspect-ratio:16/9}}
@media (prefers-reduced-motion:reduce){.ei-row-img img,.ei-featured-media img{transition:none}}

.ei-featured-tags{gap:10px}
.ei-status{display:inline-flex;align-items:center;gap:6px;width:max-content;color:var(--teal-dark);font:700 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.ei-status--live{color:#b3261e}.ei-status--live::before,.ei-live-dot{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#b3261e;animation:eiPulse 1.6s ease-in-out infinite}
.ei-status--past{color:var(--ink-muted)}
@keyframes eiPulse{50%{opacity:.35}}
.ei-when{margin:0 0 10px!important;color:var(--navy)!important;font:600 13px/1.5 var(--sans)!important}
.ei-featured-copy .ei-when{margin:0!important}
.ei-formats{display:flex;flex-wrap:wrap;gap:6px 20px;padding:16px 0 4px}
.ei-formats button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0;border:0;border-bottom:2px solid transparent;background:none;color:var(--ink-muted);font:600 13px var(--sans);cursor:pointer}
.ei-formats button span{font-weight:500;font-size:12px;opacity:.75}
.ei-formats button:hover{color:var(--navy)}
.ei-formats button[aria-pressed="true"]{color:var(--navy);border-bottom-color:var(--teal-dark)}
.ei-filter-note{margin:6px 0 0;color:var(--ink-muted);font:500 12px/1.5 var(--sans)}
.ei-empty{display:grid;justify-items:start;gap:16px;padding:40px 0;border-bottom:1px solid var(--line)}
.ei-empty p{margin:0;max-width:520px;color:var(--ink-muted);font-size:15px;line-height:1.65}
@media (prefers-reduced-motion:reduce){.ei-status--live::before,.ei-live-dot{animation:none}}
.ei-toolbar{gap:12px 16px}
.ei-select{display:inline-flex;align-items:center;gap:8px;color:var(--ink-muted);font:600 12px var(--sans);letter-spacing:.04em}
.ei-select select{min-height:40px;padding:0 34px 0 14px;border:1px solid var(--line);border-radius:999px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23162444' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 14px center;color:var(--navy);font:600 13px var(--sans);appearance:none;-webkit-appearance:none;cursor:pointer}
.ei-select select:hover{border-color:var(--teal-dark)}
.ei-select select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.ei-browse-head+.ei-filter-note{margin-top:14px}
@media (max-width:767px){.ei-toolbar{width:100%}.ei-select{flex:1 1 160px}.ei-select select{flex:1}}
/* Lightweight discovery controls (refs: NYT "sorted by newest", Snowflake inline filter dropdowns) */
.ei-browse-head{border-bottom:1px solid var(--line);padding-bottom:0}
.ei-browse-head h2{padding-bottom:18px}
.ei-tabs{flex-wrap:wrap;gap:4px 28px}
.ei-tabs button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;background:none;color:var(--ink-muted);font:600 14px var(--sans);cursor:pointer;transition:color .2s,border-color .2s}
.ei-tabs button span{font-weight:500;font-size:12px;opacity:.7}
.ei-tabs button:hover{color:var(--navy)}
.ei-tabs button[aria-pressed="true"]{color:var(--navy);border-bottom-color:var(--navy)}
.ei-tabs button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.ei-resultbar{gap:8px 24px;padding:14px 0}
.ei-count{margin:0;color:var(--ink-muted);font:500 13px var(--sans)}
.ei-selects{gap:4px 24px}
.ei-select{gap:6px;color:var(--ink-muted);font:500 13px var(--sans);letter-spacing:0}
.ei-select select{min-height:36px;padding:0 20px 0 2px;border:0;border-radius:0;background-color:transparent;background-position:right 2px center;color:var(--navy);font:600 13px var(--sans)}
.ei-select select:hover{color:var(--teal-dark)}
.ei-resultbar+.ei-filter-note{margin:0 0 6px}
.ei-resultbar~.ei-list{border-top:1px solid var(--line)}
@media (max-width:767px){.ei-browse-head{display:block}.ei-tabs{gap:4px 20px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.ei-tabs button{flex:none}.ei-selects{width:auto}.ei-select{flex:none}}
.ei-pager{display:flex;gap:8px 16px;padding:32px 0 0}
.ei-pager ol{margin:0;padding:0;list-style:none}
.ei-pager button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:40px;min-height:40px;padding:0 10px;border:0;border-radius:999px;background:none;color:var(--navy);font:600 14px var(--sans);cursor:pointer}
.ei-pager button:hover:not(:disabled){color:var(--teal-dark)}
.ei-pager button[aria-current="page"]{background:var(--navy);color:#fff}
.ei-pager button:disabled{color:var(--ink-muted);opacity:.45;cursor:default}
.ei-pager button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
/* ---- Theme additions (not in the prototype; no new breakpoints) ---- */
/* Elements the script shows/hides with the hidden attribute must stay hidden even where a class sets display. */
.button[hidden],.ei-empty[hidden],.ei-pager[hidden],.ei-filter-note[hidden],.ei-featured[hidden],.ei-row[hidden]{display:none}
/* Content with no image: the copy takes the whole row instead of leaving an empty column. */
.ei-featured-grid--text{grid-template-columns:minmax(0,1fr)}
.ei-row--text .ei-row-btn{grid-template-columns:150px minmax(0,1fr)}
@media (max-width:1120px){.ei-row--text .ei-row-btn{grid-template-columns:130px minmax(0,1fr)}}
@media (max-width:800px){.ei-row--text .ei-row-btn{grid-template-columns:minmax(0,1fr)}}
/* The theme button is an <a>: keep the prototype's non-wrapping label and no underline. */
.ei-featured-copy .button,.ei-empty .button{white-space:nowrap;text-decoration:none}
