/* Editorial section: the founders-wire features (ticker, edition bar, cover
   story, data strip, opinion, most read, newsletter, article extras) drawn
   with the founders-wireupdate tokens and components. */

/* ---------- ticker ---------- */
.ticker{display:flex;align-items:stretch;height:36px;background:var(--ink);color:rgba(255,255,255,.86);font-size:12px;font-weight:500;letter-spacing:.03em;overflow:hidden}
.ticker__label{display:flex;align-items:center;padding:0 16px;background:var(--accent);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;flex-shrink:0}
.ticker__viewport{flex:1;overflow:hidden;display:flex;align-items:center}
.ticker__track{display:flex;gap:44px;padding-left:24px;white-space:nowrap;animation:fw-ticker 60s linear infinite;will-change:transform}
.ticker:hover .ticker__track{animation-play-state:paused}
.ticker__item{display:inline-flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}
.ticker__item--up span{color:#86C59B}
.ticker__item--down span{color:#E58A8A}
@keyframes fw-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker__track{animation:none}}

/* ---------- edition bar ---------- */
.edition-bar{background:#fff;border-bottom:1px solid var(--rule)}
.edition-bar__inner{display:flex;align-items:center;gap:24px;min-height:50px}
.edition-bar__links{display:flex;flex-wrap:wrap;align-items:center;column-gap:26px;flex:1;min-width:0}
.edition-bar__link{position:relative;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--body);text-decoration:none;white-space:nowrap;padding:16px 0}
.edition-bar__link:hover{color:var(--accent)}
.edition-bar__link[aria-current="page"]{color:var(--ink)}
.edition-bar__link[aria-current="page"]::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent)}
.edition-bar__date{font-size:12px;color:var(--muted-2);white-space:nowrap}
.edition-bar__subscribe{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);text-decoration:none;white-space:nowrap;padding:7px 14px;border:1px solid var(--accent);border-radius:var(--radius);transition:background .18s var(--ease),color .18s var(--ease)}
.edition-bar__subscribe:hover{background:var(--accent);color:#fff}

/* ---------- shared bits ---------- */
.badge--accent{background:var(--accent);color:#fff}
.section__head .kicker{margin-bottom:10px}
.page-head .kicker{margin-bottom:12px}
.media img,.listing__mark img,.profile-hero__mark img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.listing__mark,.profile-hero__mark{position:relative}
.media:has(img)::after{display:none}

/* Establishment logos (directory cards + profile): whole logo on white, not cropped */
.feat-card__media,.listing__mark,.profile-hero__mark{position:relative}
.has-logo{background:#fff;border:1px solid var(--rule)}
.has-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:12%}
.feat-card__media.has-logo{border-width:0 0 1px}
.feat-card__media.has-logo img{padding:20px 28px}

/* ---------- cover story ---------- */
.ed-hero{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center;padding:56px 0 8px;text-decoration:none}
.ed-hero__title{font-size:clamp(30px,4.2vw,50px);line-height:1.08;letter-spacing:-.03em;margin:4px 0 20px;transition:color .18s var(--ease)}
.ed-hero:hover .ed-hero__title{color:var(--accent)}
.ed-hero__dek{font-size:18px;color:var(--muted);line-height:1.62;margin-bottom:22px;max-width:52ch}
.ed-hero__media .media{aspect-ratio:16/10}
.ed-hero__caption{margin-top:10px;font-size:12px;color:var(--muted-2)}

/* ---------- story grid ---------- */
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 32px}
.story-card{display:flex;flex-direction:column;text-decoration:none}
.story-card .media{aspect-ratio:16/10;margin-bottom:20px}
.story-card__cat{font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;display:block}
.story-card h3{font-size:21px;line-height:1.22;letter-spacing:-.02em;margin-bottom:10px;transition:color .18s var(--ease)}
.story-card:hover h3{color:var(--accent)}
.story-card__dek{font-size:14.5px;color:var(--muted);line-height:1.6;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.story-card .byline{margin-top:auto}

/* ---------- data strip ---------- */
.data-strip{background:var(--ink);color:#fff;padding:72px 0;position:relative;overflow:hidden}
.data-strip::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 12% 20%,rgba(124,29,36,.38),transparent 55%);pointer-events:none}
.data-strip__inner{position:relative;display:grid;grid-template-columns:1fr 2.2fr;gap:56px;align-items:center}
.data-strip__kicker{color:#E7B9B5}
.data-strip__heading{color:#fff;font-size:clamp(26px,3vw,34px);line-height:1.15;letter-spacing:-.025em}
.data-strip__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:32px;margin:0}
.data-strip__stat{border-left:1px solid rgba(255,255,255,.18);padding-left:20px}
.data-strip__num{font-family:var(--serif);font-size:clamp(28px,3.4vw,40px);font-weight:600;letter-spacing:-.02em;line-height:1.1;margin-bottom:8px}
.data-strip__desc{margin:0;font-size:13px;color:rgba(255,255,255,.66);line-height:1.5}

/* ---------- opinion + most read ---------- */
.ed-bottom{display:grid;grid-template-columns:2fr 1fr;gap:64px;align-items:start}
.opinion-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.opinion-card{background:#fff;border:1px solid var(--rule);border-top:2px solid var(--accent);border-radius:var(--radius);padding:26px 24px 24px}
.opinion-card__author{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.opinion-card__avatar{width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;font-size:16px;flex-shrink:0}
.opinion-card__name{font-size:14px;font-weight:600;color:var(--ink)}
.opinion-card__role{font-size:12px;color:var(--muted-2)}
.opinion-card__quote{font-size:20px;line-height:1.3;letter-spacing:-.015em;margin-bottom:10px}
.opinion-card__quote a{text-decoration:none}
.opinion-card__quote a:hover{color:var(--accent)}
.opinion-card__sub{font-size:14px;color:var(--muted);line-height:1.6}
.opinion-empty{font-size:14px;color:var(--muted)}
.most-read{border-top:2px solid var(--ink);padding-top:22px}
.most-read__title{font-size:22px;margin-bottom:8px}
.most-read__list{list-style:none;margin:0;padding:0}
.most-read__list li{display:grid;grid-template-columns:44px 1fr;gap:8px;padding:18px 0;border-bottom:1px solid var(--rule)}
.most-read__num{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--accent);line-height:1.1}
.most-read__list a{font-family:var(--serif);font-size:17px;font-weight:600;line-height:1.3;color:var(--ink);text-decoration:none}
.most-read__list a:hover{color:var(--accent)}

/* ---------- newsletter ---------- */
.newsletter{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;padding:48px;border:1px solid var(--rule);border-top:3px solid var(--accent);background:var(--paper-2);border-radius:var(--radius)}
.newsletter .kicker{margin-bottom:12px}
.newsletter__title{font-size:clamp(22px,2.6vw,30px);line-height:1.18;letter-spacing:-.022em;margin-bottom:10px}
.newsletter__sub{font-size:15px;color:var(--muted)}
.newsletter__form .search{margin:0}
.newsletter__note{margin-top:10px;font-size:12px;color:var(--muted-2)}

/* ---------- sector bar (top of the Editorial front page) ---------- */
.sectors-bar{background:#fff;padding:32px 0 36px;border-bottom:1px solid var(--rule)}
.sectors-bar__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:18px}
.sectors-bar__head .sector-menu{margin-left:auto;align-self:center}

/* ---------- "All sectors" dropdown (Editorial front page + edition bar) ---------- */
.sector-menu{position:relative}
.sector-menu__toggle{display:inline-flex;align-items:center;gap:9px;list-style:none;cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);padding:8px 14px;border:1px solid var(--rule-strong);border-radius:var(--radius);background:#fff;white-space:nowrap;user-select:none;transition:border-color .18s var(--ease),color .18s var(--ease)}
.sector-menu__toggle::-webkit-details-marker{display:none}
.sector-menu__toggle::marker{content:''}
.sector-menu__toggle:hover{border-color:var(--ink)}
.sector-menu__chevron{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s var(--ease)}
.sector-menu[open] .sector-menu__chevron{transform:translateY(1px) rotate(-135deg)}
.sector-menu__list{position:absolute;right:0;top:calc(100% + 8px);z-index:120;width:min(320px,calc(100vw - 32px));max-height:min(420px,70vh);overflow-y:auto;padding:6px 0;background:#fff;border:1px solid var(--rule);border-radius:var(--radius);box-shadow:0 18px 40px -20px rgba(16,20,24,.35)}
.sector-menu__list a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 18px;font-size:14px;color:var(--body);text-decoration:none}
.sector-menu__list a:hover,.sector-menu__list a:focus-visible{background:var(--paper-2);color:var(--accent)}
.sector-menu__count{font-size:12px;color:var(--muted-2);font-variant-numeric:tabular-nums}
.sector-menu--bar .sector-menu__toggle{border:0;background:none;padding:16px 0;color:var(--body);font-weight:600;letter-spacing:.1em}
.sector-menu--bar .sector-menu__toggle:hover{color:var(--accent)}
.sector-menu--bar .sector-menu__list{top:100%}
.sectors-bar__head .kicker{margin:0}
.sectors-bar__title{font-size:22px;letter-spacing:-.02em}
.cat-grid--sectors{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.cat-grid--compact .cat-card{min-height:0;padding:22px 24px 20px}
.cat-grid--compact .cat-card h3{font-size:20px;margin:0 0 6px}
.cat-grid--compact .cat-card p{font-size:14px;margin-bottom:14px}

/* ---------- article page additions ---------- */
.progress-bar{position:fixed;top:0;left:0;height:3px;width:0;background:var(--accent);z-index:300;transition:width .08s linear}
.article-page__head .breadcrumbs{justify-content:center}
.article-page__byline a{color:var(--ink);font-weight:600;text-decoration:none}
.article-page__byline a:hover{color:var(--accent)}
.share{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:22px}
figure.article-page__hero{position:relative;margin-left:auto;margin-right:auto}
.article-page__caption{max-width:1080px;margin:-44px auto 56px;font-size:12.5px;color:var(--muted-2)}
.article-body h2{font-size:clamp(24px,3vw,30px);margin:48px 0 18px}
.article-body h3{font-size:22px;margin:40px 0 14px}
.article-body ul,.article-body ol{margin:0 0 28px;padding-left:24px;font-family:var(--serif);font-size:19px;line-height:1.7;color:#232C34}
.article-body ul{list-style:disc}
.article-body li{margin-bottom:8px}
.article-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.article-body figure{margin:40px 0}
.article-body img{height:auto;border-radius:var(--radius)}
.article-body figcaption,.article-body .wp-element-caption{margin-top:10px;font-size:13px;color:var(--muted-2);font-family:var(--sans)}
.article-body blockquote p{font-size:inherit;line-height:inherit;color:inherit;margin:0}
.article-topics{max-width:700px;margin:48px auto 0;padding-top:28px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.author-card{max-width:700px;margin:40px auto 0;display:grid;grid-template-columns:64px 1fr;gap:22px;padding:28px;border:1px solid var(--rule);background:var(--paper-2);border-radius:var(--radius)}
.author-card__avatar{width:64px;height:64px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:26px;font-weight:600;text-decoration:none}
.author-card__name{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--ink);text-decoration:none}
.author-card__name:hover{color:var(--accent)}
.author-card__role{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);margin:4px 0 12px}
.author-card__bio{font-size:15px;color:var(--body);line-height:1.65;margin-bottom:14px}
.author-card__links{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center}
.author-card__social{font-size:13px;font-weight:500;color:var(--muted);text-decoration:none}
.author-card__social:hover{color:var(--accent)}
.author-card--profile{max-width:none;margin:0;padding:0;border:0;background:none;grid-template-columns:88px 1fr;gap:28px;align-items:start}
.author-card--profile .author-card__avatar{width:88px;height:88px;font-size:34px}
.author-card--profile .page-head__intro{margin-bottom:14px}

/* ---------- forms, pagination ---------- */
.form-alert{margin-bottom:24px;padding:14px 18px;border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--accent-dark);font-size:14px;font-weight:500}
.pagination{margin-top:56px}
.pagination ul{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--rule-strong);border-radius:var(--radius);font-size:14px;font-weight:500;color:var(--body);text-decoration:none;transition:border-color .18s var(--ease),color .18s var(--ease)}
.pagination a:hover{border-color:var(--ink);color:var(--ink)}
.pagination .current{background:var(--ink);border-color:var(--ink);color:#fff}
.pagination .dots{border:0}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .ed-hero{grid-template-columns:1fr;gap:32px}
  .ed-hero__media{order:-1}
  .data-strip__inner{grid-template-columns:1fr;gap:36px}
  .ed-bottom{grid-template-columns:1fr;gap:56px}
}
@media (max-width:960px){
  .edition-bar__date{display:none}
  .edition-bar__links{column-gap:20px}
  .cat-grid--sectors{grid-template-columns:repeat(2,1fr)}
  .edition-bar__link{padding:12px 0}
  .story-grid{grid-template-columns:repeat(2,1fr)}
  .newsletter{grid-template-columns:1fr;gap:28px;padding:36px 28px}
  .data-strip{padding:56px 0}
}
@media (max-width:620px){
  .story-grid,.opinion-grid,.cat-grid--sectors{grid-template-columns:1fr}
  .edition-bar__subscribe{display:none}
  .ed-hero{padding-top:36px}
  .author-card,.author-card--profile{grid-template-columns:1fr}
  .article-page__caption{margin-top:-32px}
}
@media print{
  .ticker,.edition-bar,.progress-bar,.share,.newsletter{display:none}
}
