@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=DM+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root {
  --ink: #11110f;
  --paper: #f1eadc;
  --paper-2: #ded4c0;
  --white: #fffaf0;
  --red: #d82e24;
  --yellow: #f4b51b;
  --cyan: #a7e5da;
  --lime: #d7e85a;
  --line: #11110f;
  --muted: #756e61;
  --shadow: 7px 7px 0 var(--ink);
  --display: 'Barlow Condensed', Impact, 'Arial Narrow', sans-serif;
  --body: 'Space Grotesk', Helvetica, Arial, sans-serif;
  --mono: 'DM Mono', 'SFMono-Regular', Consolas, monospace;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 8px;
  left: 8px;
  padding: 10px 14px;
  border: 3px solid var(--ink);
  background: var(--yellow);
  color: var(--ink);
  font: 800 11px var(--mono);
  text-transform: uppercase;
  transform: translateY(-180%);
}
.skip-link:focus { transform: translateY(0); }
main:focus { outline: none; }

/* Organisation portal preview */
.notice-board-rules{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:end;margin:24px 0 30px;padding:24px;border:3px solid var(--ink);background:var(--lime)}.notice-board-rules h2,.notice-board-toolbar h2,.notice-board-privacy h2{margin:10px 0 0;font:900 clamp(42px,5vw,68px)/.8 var(--display);letter-spacing:-.05em;text-transform:uppercase}.notice-type-list{display:flex;flex-wrap:wrap;gap:7px}.notice-type-list span{padding:6px 7px;border:1px solid var(--ink);background:var(--paper);font:800 8px var(--mono);text-transform:uppercase}.notice-board-toolbar{display:flex;justify-content:space-between;gap:30px;align-items:end;margin:36px 0 24px;padding-bottom:18px;border-bottom:3px solid var(--ink)}.notice-board-toolbar>div:last-child{display:grid;justify-items:end;gap:10px}.notice-board-toolbar small{max-width:330px;font:700 8px/1.4 var(--mono);text-align:right;text-transform:uppercase}.notice-board-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}.notice-card{position:relative;min-height:255px;padding:19px;border:3px solid var(--ink);background:var(--paper);box-shadow:7px 8px 0 var(--ink);transform:rotate(-1deg);display:flex;flex-direction:column}.notice-card:nth-child(2n){transform:rotate(1.1deg)}.notice-card:nth-child(3n){margin-top:22px}.notice-card--yellow{background:var(--yellow);box-shadow:7px 8px 0 var(--red)}.notice-card--cyan{background:var(--cyan);box-shadow:7px 8px 0 var(--ink)}.notice-card--lime{background:var(--lime);box-shadow:7px 8px 0 var(--red)}.notice-card--featured{border-width:4px;box-shadow:10px 11px 0 var(--red)}.notice-pin{position:absolute;top:-11px;left:50%;width:18px;height:18px;border:3px solid var(--ink);border-radius:50%;background:var(--red);transform:translateX(-50%);box-shadow:2px 2px 0 var(--paper)}.notice-card-top{display:flex;justify-content:space-between;gap:10px;align-items:start}.notice-card-top>span,.notice-card-top b{font:800 8px var(--mono);text-transform:uppercase}.notice-card-top b{padding:4px;border:1px solid var(--ink);background:var(--paper)}.notice-card h3{margin:31px 0 10px;font:900 clamp(29px,3vw,43px)/.8 var(--display);letter-spacing:-.04em;text-transform:uppercase}.notice-card p{margin:0;font-size:12px;line-height:1.45}.notice-card-bottom{display:flex;justify-content:space-between;gap:10px;align-items:end;margin-top:auto;padding-top:16px;border-top:2px solid var(--ink)}.notice-card-bottom>span,.notice-card-bottom button{font:800 8px/1.35 var(--mono);text-transform:uppercase}.notice-card-bottom button{padding:0;border:0;background:transparent;color:inherit;text-align:right;text-decoration:underline;cursor:pointer}.notice-board-privacy{display:grid;grid-template-columns:.8fr 1.2fr;gap:26px;align-items:end;margin-top:60px;padding:30px;background:var(--ink);color:var(--paper)}.notice-board-privacy ol{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin:0;padding:0;list-style:none}.notice-board-privacy li{min-height:135px;padding:16px;border:1px solid rgba(241,234,220,.28)}.notice-board-privacy li b{display:block;margin-bottom:19px;color:var(--yellow);font:900 23px var(--display)}.notice-board-privacy li span{font-size:12px;line-height:1.4}.notice-board-privacy li strong{color:var(--yellow)}
.organisation-switch{display:grid;grid-template-columns:1fr max-content 1fr;gap:14px;align-items:center;margin-bottom:20px;padding:13px 16px;border:3px solid var(--ink);background:var(--paper-2)}.organisation-switch>div{display:grid;gap:4px}.organisation-switch span{font:800 8px var(--mono);text-transform:uppercase}.organisation-switch strong{font:900 22px/.9 var(--display);text-transform:uppercase}.organisation-current{padding-left:16px;border-left:3px solid var(--red);text-align:right}.organisation-portal-layout{display:grid;grid-template-columns:.32fr 1fr;border:3px solid var(--ink);background:var(--ink);gap:3px}.organisation-portal-nav{display:flex;min-height:640px;padding:20px;flex-direction:column;background:var(--ink);color:var(--paper)}.organisation-portal-nav>strong{margin:12px 0 16px;font:900 clamp(38px,4vw,58px)/.78 var(--display);letter-spacing:-.04em;text-transform:uppercase}.organisation-state{align-self:flex-start;padding:5px 6px;border:1px solid var(--yellow);color:var(--yellow);font:800 8px var(--mono);text-transform:uppercase}.organisation-portal-nav nav{display:grid;gap:3px;margin:31px 0}.organisation-portal-nav nav button{padding:12px 0;border:0;border-bottom:1px solid rgba(241,234,220,.25);background:transparent;color:var(--paper);text-align:left;font:800 11px var(--mono);text-transform:uppercase}.organisation-portal-nav nav button.active{color:var(--ink);background:var(--yellow);padding-left:8px}.organisation-portal-nav small{margin-top:auto;color:var(--paper-2);font:700 9px/1.4 var(--mono);text-transform:uppercase}.organisation-portal-main{padding:24px;background:var(--paper)}.organisation-main-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:20px;border-bottom:3px solid var(--ink)}.organisation-main-head h2,.organisation-package-note h2{margin:9px 0 0;font:900 clamp(48px,5vw,70px)/.78 var(--display);letter-spacing:-.05em;text-transform:uppercase}.organisation-main-head>span{padding:6px 7px;border:2px solid var(--ink);background:var(--cyan);font:800 8px var(--mono);text-transform:uppercase}.organisation-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin:18px 0;background:var(--ink)}.organisation-stat-grid article{min-height:135px;padding:16px;background:var(--paper-2);display:flex;flex-direction:column;justify-content:space-between}.organisation-stat-grid article:nth-child(2){background:var(--yellow)}.organisation-stat-grid article:nth-child(3){background:var(--lime)}.organisation-stat-grid span,.organisation-approval-list span{font:800 8px var(--mono);text-transform:uppercase}.organisation-stat-grid strong{font:900 clamp(34px,4vw,55px)/.78 var(--display);letter-spacing:-.04em;text-transform:uppercase}.organisation-stat-grid small{font:700 9px/1.35 var(--mono);text-transform:uppercase}.organisation-approval{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;margin-top:25px;padding:22px;border:3px solid var(--ink);background:var(--cyan)}.organisation-approval h3,.organisation-team h3{margin:12px 0 0;font:900 clamp(36px,4.2vw,58px)/.8 var(--display);letter-spacing:-.04em;text-transform:uppercase}.organisation-approval p{max-width:405px;font-size:13px;line-height:1.45}.organisation-approval-list{display:grid;gap:10px}.organisation-approval-list article{padding:14px;border:2px solid var(--ink);background:var(--paper);display:grid;gap:8px;align-content:start}.organisation-approval-list strong{font:900 18px/.95 var(--display);text-transform:uppercase}.organisation-approval-list small{font-size:11px;line-height:1.4}.organisation-approval-list .button{justify-self:start}.organisation-team{display:grid;grid-template-columns:.85fr 1.15fr;gap:26px;margin-top:25px;padding:24px;background:var(--ink);color:var(--paper)}.organisation-team p{margin:0 0 14px;color:var(--paper-2);font-size:13px;line-height:1.5}.organisation-team .button{background:var(--yellow);color:var(--ink)}.organisation-package-note{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:end;margin-top:50px;padding:30px;border-top:8px solid var(--red);background:var(--paper-2)}.organisation-package-note p{max-width:600px;margin:0 0 12px;font-size:14px;line-height:1.5}.organisation-package-note p:last-child{margin-bottom:0}

@media (max-width:900px){.organisation-portal-layout,.organisation-approval,.organisation-team,.organisation-package-note{grid-template-columns:1fr}.organisation-portal-nav{min-height:0}.organisation-portal-nav nav{grid-template-columns:repeat(3,1fr)}.organisation-portal-nav nav button{padding:10px}.organisation-portal-nav small{margin-top:12px}}
@media (max-width:680px){.organisation-switch,.organisation-stat-grid{grid-template-columns:1fr}.organisation-switch .button{justify-self:start}.organisation-current{padding:12px 0 0;border-top:3px solid var(--red);border-left:0;text-align:left}.organisation-portal-main{padding:16px}.organisation-portal-nav{padding:16px}.organisation-portal-nav nav{grid-template-columns:1fr}.organisation-approval,.organisation-team,.organisation-package-note{gap:16px;padding:18px}.organisation-main-head{display:grid}.organisation-main-head>span{justify-self:start}}

/* Newsroom */
.news-hero { position: relative; padding: 76px 0 64px; overflow: hidden; border-bottom: 3px solid var(--ink); background: var(--ink); color: var(--paper); }
.news-hero::after { content: ''; position: absolute; right: -4vw; bottom: -110px; width: 44vw; height: 250px; border: 3px solid var(--yellow); border-radius: 50%; transform: rotate(-12deg); opacity: .7; }
.news-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(440px, 1.15fr); gap: clamp(44px, 5vw, 76px); align-items: center; }
.news-hero h1 { max-width: 790px; margin: 20px 0 22px; font: 900 clamp(66px, 9vw, 132px)/.76 var(--display); letter-spacing: -.055em; text-transform: uppercase; }
.news-hero h1 em { color: var(--yellow); font-style: normal; }
.news-hero p { max-width: 650px; margin: 0; color: var(--paper-2); font-size: 17px; line-height: 1.55; }
.news-hero-portrait { position: relative; width: min(100%, 520px); margin: 0 0 0 auto; border: 3px solid var(--paper); background: #050915; box-shadow: 10px 10px 0 var(--red); }
.news-hero-portrait img { width: 100%; height: clamp(560px, 58vw, 680px); object-fit: cover; object-position: 50% 24%; }
.news-hero-portrait.newsroom-portrait {
  width: min(100%, 640px);
  padding: 42px 26px 26px;
  border-color: var(--paper);
  background: var(--red);
  box-shadow: 14px 14px 0 var(--yellow);
  overflow: hidden;
}
.news-hero-portrait.newsroom-portrait::before {
  content: '01 / SOURCE-BACKED MOVEMENT';
  display: block;
  margin: 0 0 16px;
  color: var(--paper);
  font: 800 13px/1 var(--mono);
  letter-spacing: .04em;
}
.news-hero-portrait.newsroom-portrait::after {
  content: '';
  position: absolute;
  z-index: 2;
  inset: 42px 26px 26px;
  pointer-events: none;
  background: linear-gradient(112deg, transparent 30%, rgba(255,255,255,.32) 47%, rgba(167,229,218,.22) 52%, transparent 66%);
  mix-blend-mode: screen;
  transform: translateX(-120%);
  animation: home-art-scan 6.8s ease-in-out infinite;
}
.news-hero-portrait.newsroom-portrait img {
  position: relative;
  z-index: 1;
  display: block;
  height: auto;
  aspect-ratio: 4 / 3;
  border: 3px solid var(--ink);
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transform: scale(1.018);
  transition: opacity .22s ease-out, transform .42s ease-out;
}
.news-hero-portrait.newsroom-portrait.newsroom-ready img { opacity: 1; transform: scale(1); }
.news-hero-portrait.newsroom-portrait.hero-puzzle-ready img { opacity: 0; transform: none; transition: none; }
.news-track-portrait { display: grid; place-items: stretch; overflow: hidden; }
.news-track-art { width: 100%; height: clamp(560px, 58vw, 680px); display: block; }
.news-track-shadow { fill: none; stroke: #000; stroke-width: 112; stroke-linecap: round; stroke-linejoin: round; opacity: .62; }
.news-track-road { fill: none; stroke: var(--paper); stroke-width: 88; stroke-linecap: round; stroke-linejoin: round; }
.news-track-centre { fill: none; stroke: var(--ink); stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 14 14; }
.news-track-car rect { stroke: var(--ink); stroke-width: 4; }
.news-track-car path { fill: rgba(241,234,220,.72); stroke: var(--ink); stroke-width: 3; }
.news-track-car circle { fill: var(--ink); stroke: var(--paper); stroke-width: 2; }
.news-track-car--red rect { fill: var(--red); }.news-track-car--cyan rect { fill: var(--cyan); }.news-track-car--lime rect { fill: var(--lime); }.news-track-car--paper rect { fill: var(--paper); }
.news-track-signal { fill: var(--yellow); stroke: var(--ink); stroke-width: 4; animation: news-track-signal 1.4s ease-in-out infinite; }
.news-track-mark { fill: var(--ink); font: 900 19px var(--display); letter-spacing: .04em; }
.news-track-label { fill: var(--paper); font: 800 13px var(--mono); letter-spacing: .12em; }
@keyframes news-track-signal { 50% { r: 16; opacity: .76; } }
.news-desk-status { position: absolute; z-index: 2; left: -34px; bottom: 24px; width: min(380px, calc(100% - 20px)); display: grid; grid-template-columns: auto 1fr; gap: 14px; padding: 18px; border: 2px solid var(--paper); background: rgba(17, 17, 15, .93); box-shadow: 7px 7px 0 var(--red); }
.news-desk-status strong { display: block; margin-bottom: 8px; font: 800 15px var(--mono); text-transform: uppercase; }
.news-desk-status p { font-size: 12px; line-height: 1.5; }
.news-status-dot { width: 13px; height: 13px; margin-top: 3px; border: 2px solid var(--paper); border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 5px rgba(244, 181, 27, .16); }
.news-source-rail { border-bottom: 3px solid var(--ink); background: var(--yellow); }
.news-source-rail .container { display: grid; grid-template-columns: repeat(5, 1fr); width: 100%; max-width: none; }
.news-source-rail span { min-height: 56px; display: grid; place-items: center; padding: 11px 16px; border-right: 2px solid var(--ink); font: 800 9px var(--mono); text-align: center; text-transform: uppercase; }
.news-source-rail span:last-child { border-right: 0; background: var(--red); color: var(--paper); }
.news-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; padding-bottom: 16px; border-bottom: 3px solid var(--ink); }
.news-toolbar h2 { margin: 8px 0 0; font: 800 clamp(45px, 6vw, 80px)/.8 var(--display); letter-spacing: -.04em; text-transform: uppercase; }
.news-toolbar nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.news-toolbar nav a { padding: 8px 10px; border: 1px solid var(--ink); font: 700 9px var(--mono); text-transform: uppercase; }
.news-toolbar nav a:hover, .news-toolbar nav a.active { background: var(--ink); color: var(--paper); }
.news-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.news-card { min-height: 330px; display: flex; flex-direction: column; padding: 24px; border: 2px solid var(--ink); background: var(--white); box-shadow: 6px 6px 0 var(--ink); }
.news-card--red { border-top: 12px solid var(--red); }
.news-card--yellow { border-top: 12px solid var(--yellow); }
.news-card--cyan { border-top: 12px solid var(--cyan); }
.news-card--lime { border-top: 12px solid var(--lime); }
.news-card-meta, .news-card-footer { display: flex; justify-content: space-between; gap: 16px; font: 700 9px var(--mono); text-transform: uppercase; }
.news-card h2 { max-width: 560px; margin: 28px 0 14px; font: 800 clamp(38px, 5vw, 62px)/.86 var(--display); letter-spacing: -.035em; text-transform: uppercase; }
.news-card p { max-width: 560px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.news-card-footer { margin-top: auto; padding-top: 20px; border-top: 1px solid var(--ink); }
.news-empty { min-height: 260px; display: grid; grid-template-columns: 180px 1fr auto; gap: 34px; align-items: center; padding: 34px; border: 3px solid var(--ink); background: var(--cyan); box-shadow: 8px 8px 0 var(--ink); }
.news-empty-index { align-self: start; font: 800 10px var(--mono); }
.news-empty h3 { margin: 0 0 12px; font: 800 clamp(40px, 5vw, 70px)/.82 var(--display); letter-spacing: -.04em; text-transform: uppercase; }
.news-empty p { max-width: 690px; margin: 0; font-size: 14px; line-height: 1.55; }
.news-empty-state { padding: 10px 12px; border: 2px solid var(--ink); background: var(--paper); font: 800 9px var(--mono); text-transform: uppercase; white-space: nowrap; }
.news-method-section { border-top: 3px solid var(--ink); background: var(--paper-2); }
.news-method-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 2px solid var(--ink); }
.news-method-grid article { min-height: 250px; padding: 24px; border-right: 2px solid var(--ink); background: var(--paper); }
.news-method-grid article:nth-child(2) { background: var(--yellow); }
.news-method-grid article:nth-child(3) { border-right: 0; background: var(--red); color: var(--paper); }
.news-method-grid span { font: 800 10px var(--mono); text-transform: uppercase; }
.news-method-grid h3 { margin: 48px 0 12px; font: 800 38px/.9 var(--display); text-transform: uppercase; }
.news-method-grid p { margin: 0; font-size: 13px; line-height: 1.55; }
.news-article-hero { padding: 74px 0 64px; border-bottom: 3px solid var(--ink); background: var(--yellow); }
.news-article-hero h1 { max-width: 1000px; margin: 20px 0; font: 900 clamp(60px, 9vw, 126px)/.78 var(--display); letter-spacing: -.05em; text-transform: uppercase; }
.news-article-hero p { max-width: 760px; font-size: 20px; line-height: 1.5; }
.news-byline { margin-top: 28px; font: 700 10px var(--mono); text-transform: uppercase; }
.news-article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 70px; padding-top: 70px; padding-bottom: 80px; }
.news-article-body { max-width: 760px; font-size: 18px; line-height: 1.75; }
.news-article-body p:first-child::first-letter { float: left; margin: 3px 9px 0 0; font: 900 72px/.7 var(--display); color: var(--red); }
.news-source-panel { align-self: start; padding: 22px; border: 2px solid var(--ink); background: var(--cyan); box-shadow: 6px 6px 0 var(--ink); }
.news-source-panel h2 { margin: 14px 0 20px; font: 800 36px/.9 var(--display); text-transform: uppercase; }
.news-source-panel a { display: block; padding: 14px 0; border-top: 1px solid var(--ink); }
.news-source-panel a strong, .news-source-panel a span { display: block; }
.news-source-panel a span { margin-top: 5px; font: 9px var(--mono); text-transform: uppercase; }
.news-source-panel p { margin: 20px 0 0; font-size: 11px; line-height: 1.5; }

@media (max-width: 900px) {
  .news-hero-grid, .news-article-layout { grid-template-columns: 1fr; }
  .news-hero-portrait { width: min(100%, 560px); margin: 8px auto 0; }
  .news-hero-portrait.newsroom-portrait { width: min(100%, 640px); }
  .news-source-rail .container { grid-template-columns: repeat(3, 1fr); }
  .news-source-rail span:nth-child(3) { border-right: 0; }
  .news-source-rail span:nth-child(n+4) { border-top: 2px solid var(--ink); }
  .news-source-rail span:nth-child(4) { grid-column: span 2; }
  .news-empty { grid-template-columns: 120px 1fr; }
  .news-empty-state, .news-empty .button { grid-column: 2; justify-self: start; }
}

@media (max-width: 1199px) {
  .calendar-timeline { width: calc(100% - 48px); max-width: none; }
  .calendar-timeline-item { grid-template-columns: 180px minmax(0, 1fr) 220px; column-gap: 34px; }
}
@media (max-width: 680px) {
  .news-hero { padding: 54px 0 44px; }
  .news-hero h1 { font-size: 61px; }
  .news-hero-portrait { box-shadow: 7px 7px 0 var(--red); }
  .news-hero-portrait.newsroom-portrait { padding: 28px 18px 18px; box-shadow: 8px 8px 0 var(--yellow); }
  .news-hero-portrait.newsroom-portrait::before { margin-bottom: 11px; font-size: 11px; }
  .news-hero-portrait img { height: max(460px, min(132vw, 620px)); }
  .news-desk-status { position: relative; left: auto; bottom: auto; width: auto; margin: -38px 14px 14px; }
  .news-source-rail .container, .news-grid, .news-method-grid { grid-template-columns: 1fr; }
  .news-source-rail span, .news-source-rail span:nth-child(3) { border-right: 0; border-top: 2px solid var(--ink); }
  .news-source-rail span:first-child { border-top: 0; }
  .news-source-rail span:nth-child(4) { grid-column: auto; }
  .news-toolbar { align-items: start; flex-direction: column; }
  .news-toolbar nav { justify-content: flex-start; }
  .news-empty { grid-template-columns: 1fr; gap: 18px; padding: 24px; }
  .news-empty-state, .news-empty .button { grid-column: auto; }
  .news-method-grid article { min-height: 210px; border-right: 0; border-bottom: 2px solid var(--ink); }
  .news-method-grid article:last-child { border-bottom: 0; }
  .news-method-grid h3 { margin-top: 30px; }
  .news-article-layout { gap: 36px; }
}

/* My Circuit rooms preview: event-bound conversation, not a generic social feed. */
.rooms-preview-intro { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 26px; padding-bottom: 16px; border-bottom: 3px solid var(--ink); }
.rooms-preview-intro h2, .room-create-panel h2 { margin: 7px 0 0; font: 900 clamp(38px, 5vw, 68px)/.8 var(--display); letter-spacing: -.05em; text-transform: uppercase; }
.rooms-preview-intro p { max-width: 460px; margin: 0; font-size: 14px; line-height: 1.45; }
.rooms-preview-layout { display: grid; grid-template-columns: minmax(210px, .44fr) minmax(0, 1fr); border: 3px solid var(--ink); background: var(--paper); box-shadow: 8px 8px 0 var(--ink); }
.rooms-list { display: grid; align-content: start; border-right: 3px solid var(--ink); background: var(--ink); }
.rooms-list-head { display: flex; justify-content: space-between; padding: 15px; border-bottom: 2px solid #504d46; color: var(--paper); font: 800 9px var(--mono); letter-spacing: .08em; text-transform: uppercase; }.rooms-list-head span { color: var(--yellow); }
.room-list-item, .room-list-create { display: grid; gap: 6px; padding: 15px; border: 0; border-bottom: 1px solid #504d46; color: var(--paper); background: transparent; cursor: pointer; text-align: left; text-decoration: none; }
.room-list-item:hover, .room-list-item:focus-visible { background: var(--paper); color: var(--ink); outline: 0; }.room-list-item strong { font: 900 21px/.85 var(--display); text-transform: uppercase; }.room-list-item small { font: 700 8px var(--mono); text-transform: uppercase; }.room-list-item--yellow strong { color: var(--yellow); }.room-list-item--cyan strong { color: var(--cyan); }.room-list-item--red strong { color: #ff544c; }.room-list-item--lime strong { color: var(--lime); }.room-list-item:hover strong { color: var(--red); }
.room-list-create { place-items: center start; color: var(--ink); background: var(--yellow); font: 800 10px var(--mono); text-transform: uppercase; }.room-list-create:hover { background: var(--red); color: var(--paper); }
.room-stage { min-width: 0; background: var(--paper-2); }.room-stage-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding: 22px; border-bottom: 3px solid var(--ink); background: var(--red); color: var(--paper); }.room-stage-head span { font: 800 8px var(--mono); letter-spacing: .07em; text-transform: uppercase; }.room-stage-head h2 { margin: 7px 0 0; font: 900 clamp(35px, 4vw, 58px)/.78 var(--display); text-transform: uppercase; }.room-stage-head b { padding: 8px; border: 2px solid var(--ink); background: var(--yellow); color: var(--ink); font: 800 9px var(--mono); text-transform: uppercase; white-space: nowrap; }
.room-message-list { display: grid; gap: 16px; padding: 22px; }.room-message { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 11px; align-items: start; }.room-avatar { display: grid; width: 38px; height: 38px; place-items: center; border: 2px solid var(--ink); border-radius: 50%; color: var(--ink); font: 900 13px var(--mono); font-style: normal; }.room-avatar--yellow { background: var(--yellow); }.room-avatar--cyan { background: var(--cyan); }.room-avatar--lime { background: var(--lime); }.room-message strong { font: 800 12px var(--mono); text-transform: uppercase; }.room-message strong small { margin-left: 7px; color: var(--muted); font-size: 8px; }.room-message p { max-width: 530px; margin: 5px 0; padding: 11px 13px; border: 2px solid var(--ink); background: var(--paper); font-size: 13px; line-height: 1.4; }.room-message time { color: var(--muted); font: 700 8px var(--mono); }.room-sponsor-note { margin-left: 51px; padding: 12px 14px; border: 2px dashed var(--red); background: var(--yellow); color: var(--ink); }.room-sponsor-note span { display: block; margin-bottom: 5px; font: 800 8px var(--mono); text-transform: uppercase; }.room-sponsor-note strong { font-size: 12px; line-height: 1.25; }.room-composer-preview { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 22px; border-top: 3px solid var(--ink); background: var(--paper); }.room-composer-preview span { font: 700 9px var(--mono); text-transform: uppercase; }
.room-message--host .room-avatar--host { background: var(--red); color: var(--paper); }.room-message--host p { border-color: var(--red); background: var(--yellow); }.room-message--host strong small { color: var(--red); }
.room-create-panel { display: grid; grid-template-columns: .75fr 1.25fr; gap: 30px; align-items: start; margin-top: 34px; padding: 26px; border: 3px solid var(--ink); background: var(--cyan); box-shadow: 7px 7px 0 var(--red); }.room-create-panel p { max-width: 400px; margin: 14px 0 0; font-size: 13px; line-height: 1.45; }.room-create-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }.room-create-fields label { display: grid; gap: 6px; font: 800 8px var(--mono); text-transform: uppercase; }.room-create-fields select, .room-create-fields input { min-width: 0; padding: 10px; border: 2px solid var(--ink); background: var(--paper); color: var(--ink); font: 700 12px var(--mono); }.room-create-wide { grid-column: 1 / -1; }.room-create-fields .button { justify-self: start; }
@media (max-width: 760px) { .rooms-preview-intro, .room-stage-head, .room-composer-preview { display: block; }.rooms-preview-intro p, .room-stage-head b, .room-composer-preview .button { margin-top: 14px; }.rooms-preview-layout, .room-create-panel { grid-template-columns: 1fr; }.rooms-list { border-right: 0; border-bottom: 3px solid var(--ink); }.room-create-fields { grid-template-columns: 1fr; }.room-create-wide { grid-column: auto; } }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--body); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
:focus-visible { outline: 3px solid var(--red); outline-offset: 4px; }
.site-header :focus-visible, .hero :focus-visible, .page-hero :focus-visible { outline-color: var(--yellow); }

.site-shell { min-height: 100vh; overflow: hidden; }
.top-strip { background: var(--red); border-bottom: 3px solid var(--line); padding: 8px 3vw; display: flex; justify-content: space-between; gap: 20px; font: 700 11px var(--mono); text-transform: uppercase; letter-spacing: .08em; }
.top-strip span:last-child { color: var(--paper); }
.site-header { position: sticky; top: 0; z-index: 10; background: var(--ink); color: var(--paper); border-bottom: 3px solid var(--ink); }
.nav-wrap { display: flex; align-items: stretch; min-height: 72px; padding: 0 3vw; }
.wordmark { min-width: 230px; display: flex; align-items: center; gap: 11px; padding-right: 25px; border-right: 2px solid #5a554b; font: 900 29px/0.82 var(--display); letter-spacing: -.04em; text-transform: uppercase; }
.wordmark-copy { display: grid; gap: 4px; }
.wordmark-copy > span { display: block; }
.wordmark-copy small { justify-self: end; color: var(--red); font: 700 16px/1 var(--mono); letter-spacing: .02em; text-align: right; text-transform: none; }
.wordmark-mark { width: 28px; height: 28px; display: grid; place-items: center; color: var(--ink); background: var(--yellow); border: 2px solid var(--paper); font: 900 17px var(--display); transform: skew(-12deg); }
.wordmark em { color: var(--yellow); font-style: normal; }
.nav-links { display: flex; align-items: stretch; gap: 0; flex: 1; }
.nav-link { display: inline-flex; flex: 1 1 0; align-items: center; justify-content: center; padding: 0 12px; border-right: 1px solid #393830; color: #d6cdbd; font: 700 12px var(--mono); text-align: center; text-transform: uppercase; letter-spacing: .04em; transition: background .15s, color .15s; }
.nav-link:hover, .nav-link.active { background: var(--yellow); color: var(--ink); }
.calendar-subnav { position: sticky; top: 72px; z-index: 9; overflow: hidden; border-bottom: 2px solid var(--ink); background: var(--paper); color: var(--ink); }
.calendar-subnav-scroll { display: flex; width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; scrollbar-color: var(--red) var(--paper-2); }
.calendar-subnav-link { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 9px; min-height: 45px; padding: 0 15px; border-right: 1px solid var(--ink); color: var(--ink); font: 800 10px var(--mono); letter-spacing: .03em; text-transform: uppercase; transition: background .15s ease, color .15s ease; }
.calendar-subnav-link small { display: inline-grid; min-width: 20px; height: 20px; place-items: center; padding: 0 5px; border: 1px solid currentColor; border-radius: 999px; font: 700 8px var(--mono); }
.calendar-subnav-link:hover, .calendar-subnav-link:focus-visible { background: var(--cyan); color: var(--ink); outline: 0; }
.calendar-subnav-link.active { background: var(--red); color: var(--paper); }
.nav-actions { display: flex; align-items: center; gap: 12px; margin-left: auto; padding-left: 14px; }
.sign-in { color: var(--paper); font: 700 11px var(--mono); text-transform: uppercase; background: transparent; border: 0; }
.header-cta { padding: 12px 15px; border: 2px solid var(--paper); background: var(--red); color: var(--paper); font: 800 12px var(--mono); text-transform: uppercase; box-shadow: 3px 3px 0 var(--yellow); }
.header-cta:hover { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--yellow); }
.mobile-toggle { display: none; background: transparent; border: 0; color: var(--paper); font-size: 23px; }
.mobile-toggle:focus-visible, .sign-in:focus-visible { outline-color: var(--yellow); outline-offset: 3px; }

.container { width: min(1280px, 94vw); margin: 0 auto; }
.eyebrow { font: 700 12px var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.eyebrow::before { content: '/// '; color: var(--red); }
.display { font-family: var(--display); text-transform: uppercase; letter-spacing: -.035em; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 28px; border-bottom: 3px solid var(--ink); padding-bottom: 13px; }
.section-heading h2 { margin: 0; font: 800 clamp(38px, 5vw, 76px)/.82 var(--display); text-transform: uppercase; letter-spacing: -.04em; }
.section-heading p { max-width: 380px; margin: 0; font-size: 14px; line-height: 1.5; }
.section { padding: 74px 0; }
.section.compact { padding: 46px 0; }

.hero { background: var(--ink); color: var(--paper); padding: 63px 0 36px; position: relative; border-bottom: 3px solid var(--ink); }
.hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 38px; align-items: end; }
.hero h1 { max-width: 780px; margin: 20px 0 20px; font: 900 clamp(68px, 10.5vw, 160px)/.78 var(--display); text-transform: uppercase; letter-spacing: -.055em; }
.hero h1 span { color: var(--yellow); display: block; }
.hero-copy { max-width: 510px; color: #d8cfbf; font-size: 17px; line-height: 1.48; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 27px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 18px; border: 2px solid var(--ink); background: var(--yellow); color: var(--ink); font: 800 12px var(--mono); text-transform: uppercase; letter-spacing: .03em; box-shadow: 4px 4px 0 var(--red); transition: transform .15s, box-shadow .15s; }
.button:hover { transform: translate(3px, 3px); box-shadow: 1px 1px 0 var(--red); }
.button.secondary { background: transparent; border-color: var(--paper); color: var(--paper); box-shadow: 4px 4px 0 var(--red); }
.button.dark { background: var(--ink); color: var(--paper); border-color: var(--ink); box-shadow: 4px 4px 0 var(--yellow); }
.button.small { min-height: 38px; padding: 8px 12px; font-size: 10px; }
.hero-art { position: relative; min-height: 395px; border: 3px solid var(--paper); background: var(--red); overflow: hidden; box-shadow: 10px 10px 0 var(--yellow); }
.hero-art img { width: 100%; height: 100%; min-height: 395px; object-fit: cover; object-position: 52% center; mix-blend-mode: normal; }
.hero-art-label { position: absolute; left: 18px; bottom: 17px; padding: 10px 12px; background: var(--yellow); color: var(--ink); border: 2px solid var(--ink); font: 800 11px var(--mono); text-transform: uppercase; }
.hero-status { display: flex; align-items: center; gap: 9px; margin-top: 37px; padding-top: 17px; border-top: 1px solid #5e594e; color: #d8cfbf; font: 11px var(--mono); text-transform: uppercase; }
.live-dot { width: 10px; height: 10px; background: var(--lime); border-radius: 50%; box-shadow: 0 0 0 4px rgba(215,232,90,.18); }

.signal-row { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 3px solid var(--ink); }
.signal { min-height: 118px; padding: 21px 22px; border-right: 2px solid var(--ink); background: var(--paper-2); }
.signal:nth-child(2) { background: var(--cyan); }
.signal:nth-child(3) { background: var(--yellow); }
.signal:nth-child(4) { background: var(--red); color: var(--paper); border-right: 0; }
.signal strong { display: block; font: 800 43px/.9 var(--display); }
.signal span { display: block; margin-top: 11px; font: 700 10px var(--mono); text-transform: uppercase; }

.event-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.event-card { position: relative; display: flex; flex-direction: column; min-height: 284px; padding: 18px; border: 2px solid var(--ink); background: var(--white); box-shadow: 5px 5px 0 var(--ink); transition: transform .15s, box-shadow .15s; }
.event-card:hover { transform: translate(-2px, -2px); box-shadow: 8px 8px 0 var(--ink); }
.event-card.featured { grid-column: span 2; min-height: 330px; background: var(--red); color: var(--paper); }
.event-card.featured .event-card-meta, .event-card.featured .event-card-footer { border-color: rgba(241,234,220,.4); }
.event-card.featured .event-type { background: var(--yellow); color: var(--ink); }
.event-card-top { display: flex; justify-content: space-between; align-items: start; gap: 12px; }
.event-type { display: inline-block; padding: 5px 7px; background: var(--ink); color: var(--paper); font: 700 10px var(--mono); text-transform: uppercase; }
.save-button { border: 0; background: transparent; padding: 2px; font-size: 22px; line-height: 1; color: inherit; }
.save-button.saved { color: var(--yellow); }
.event-card h3 { margin: 26px 0 9px; font: 800 38px/.83 var(--display); text-transform: uppercase; letter-spacing: -.03em; }
.event-card.featured h3 { font-size: clamp(46px, 5vw, 70px); max-width: 560px; }
.event-card p { margin: 0; color: #655e53; font-size: 13px; line-height: 1.45; max-width: 450px; }
.event-card.featured p { color: var(--paper-2); }
.event-card-meta { display: flex; flex-wrap: wrap; gap: 8px 15px; margin-top: auto; padding-top: 18px; border-top: 1px solid #c7beac; font: 10px var(--mono); text-transform: uppercase; }
.event-card-meta span::before { content: '■ '; color: var(--red); }
.event-card-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 17px; padding-top: 12px; border-top: 1px solid #c7beac; font: 10px var(--mono); text-transform: uppercase; }
.status { display: inline-flex; align-items: center; gap: 6px; font: 700 10px var(--mono); text-transform: uppercase; }
.status::before { content: ''; width: 8px; height: 8px; background: var(--lime); border: 1px solid var(--ink); }
.status.warn::before { background: var(--yellow); }
.status.cancelled::before { background: var(--red); }

.editorial-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 22px; align-items: stretch; }
.editorial-image { min-height: 380px; border: 2px solid var(--ink); box-shadow: 6px 6px 0 var(--red); overflow: hidden; }
.editorial-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.editorial-copy { display: flex; flex-direction: column; justify-content: center; padding: 38px; background: var(--yellow); border: 2px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); }
.editorial-copy h2 { margin: 18px 0; font: 800 clamp(54px, 7vw, 100px)/.78 var(--display); text-transform: uppercase; letter-spacing: -.05em; }
.editorial-copy p { max-width: 490px; margin: 0 0 25px; font-size: 15px; line-height: 1.5; }
.hub-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.hub-card { min-height: 210px; padding: 20px; border: 2px solid var(--ink); background: var(--ink); color: var(--paper); display: flex; flex-direction: column; justify-content: end; box-shadow: 5px 5px 0 var(--red); }
.hub-card:nth-child(2) { background: var(--cyan); color: var(--ink); box-shadow: 5px 5px 0 var(--ink); }
.hub-card:nth-child(3) { background: var(--paper-2); color: var(--ink); box-shadow: 5px 5px 0 var(--yellow); }
.hub-card h3 { margin: 8px 0 7px; font: 800 44px/.82 var(--display); text-transform: uppercase; }
.hub-card p { margin: 0; font: 10px var(--mono); text-transform: uppercase; }

.page-hero { padding: 62px 0 42px; background: var(--ink); color: var(--paper); border-bottom: 3px solid var(--ink); }
.page-hero h1 { margin: 18px 0 0; font: 900 clamp(70px, 11vw, 150px)/.76 var(--display); text-transform: uppercase; letter-spacing: -.055em; }
.page-hero h1 em { color: var(--yellow); font-style: normal; }
.page-hero p { max-width: 610px; margin: 25px 0 0; color: #d8cfbf; font-size: 16px; line-height: 1.5; }
.directory-toolbar { display: flex; flex-wrap: wrap; gap: 9px; padding: 17px; border: 2px solid var(--ink); background: var(--paper-2); box-shadow: 5px 5px 0 var(--ink); margin-bottom: 26px; }
.search-field { flex: 1 1 260px; min-height: 42px; padding: 0 13px; border: 2px solid var(--ink); background: var(--white); color: var(--ink); }
.filter-select { min-height: 42px; padding: 0 11px; border: 2px solid var(--ink); background: var(--paper); color: var(--ink); font: 700 11px var(--mono); text-transform: uppercase; }
.view-toggle { display: flex; margin-left: auto; border: 2px solid var(--ink); }
.view-toggle button { padding: 0 12px; border: 0; border-right: 1px solid var(--ink); background: var(--paper); font: 700 10px var(--mono); text-transform: uppercase; }
.view-toggle button:last-child { border-right: 0; }
.view-toggle button.active { background: var(--ink); color: var(--paper); }
.directory-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.directory-grid .event-card h3 { font-size: 46px; }
.featured-networking-heading { margin-bottom: 20px; }
.networking-featured-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 36px; }
.networking-featured-grid .event-card.featured { grid-column: auto; min-height: 290px; }
.networking-featured-grid .event-card.featured h3 { font-size: clamp(38px, 4vw, 58px); }
.empty-state { padding: 38px; border: 2px dashed var(--ink); background: var(--paper-2); text-align: center; }
.empty-state h3 { margin: 0 0 9px; font: 800 42px/.85 var(--display); text-transform: uppercase; }
.empty-state p { margin: 0 auto 18px; max-width: 480px; font-size: 14px; }

.detail-layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 22px; align-items: start; }
.detail-layout > * { min-width: 0; }
.detail-main, .panel { border: 2px solid var(--ink); background: var(--white); box-shadow: 5px 5px 0 var(--ink); }
.detail-main { position: relative; padding: clamp(24px, 5vw, 58px); }
.event-year-stamp { position: absolute; top: clamp(18px, 2vw, 30px); right: clamp(18px, 2vw, 30px); color: var(--red); font: 900 clamp(34px, 4vw, 58px)/.72 var(--display); letter-spacing: -.06em; pointer-events: none; }
.event-side-artwork { position: relative; margin: 0 0 18px; border: 2px solid var(--ink); background: var(--ink); box-shadow: 5px 5px 0 var(--red); overflow: hidden; }
.event-side-artwork img { display: block; width: 100%; height: auto; }
.event-side-artwork::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(112deg, transparent 35%, rgba(255,255,255,.22) 49%, transparent 63%); transform: translateX(-140%); animation: artwork-gloss 7s ease-in-out 1.2s infinite; }
.detail-main h1 { margin: 20px 0 15px; font: 900 clamp(68px, 9vw, 126px)/.74 var(--display); text-transform: uppercase; letter-spacing: -.055em; }
.detail-lead { max-width: 720px; font-size: 17px; line-height: 1.55; color: #5e584e; }
.detail-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 29px 0 32px; }
.detail-art { height: 250px; border: 2px solid var(--ink); overflow: hidden; margin-top: 30px; }
.detail-art img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.fact-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 2px solid var(--ink); border-left: 2px solid var(--ink); }
.fact { padding: 15px; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); }
.fact label { display: block; margin-bottom: 6px; color: var(--muted); font: 700 10px var(--mono); text-transform: uppercase; }
.fact strong { font: 700 16px var(--body); }
.panel { padding: 23px; margin-bottom: 18px; }
.panel h3 { margin: 0 0 17px; font: 800 34px/.82 var(--display); text-transform: uppercase; }
.panel p { color: #615b50; font-size: 13px; line-height: 1.5; }
.source-row { display: flex; align-items: start; gap: 10px; padding: 13px 0; border-top: 1px solid #bbb09c; }
.source-row:first-of-type { border-top: 0; }
.source-badge { flex: 0 0 auto; padding: 4px 6px; background: var(--cyan); border: 1px solid var(--ink); font: 700 9px var(--mono); text-transform: uppercase; }
.source-row strong { display: block; font-size: 13px; }
.source-row small { display: block; margin-top: 4px; color: var(--muted); font: 10px var(--mono); }
.event-story { position: relative; margin-top: 28px; padding: clamp(24px, 4vw, 48px); border: 3px solid var(--ink); background: var(--white); box-shadow: 8px 8px 0 var(--red); overflow: hidden; }
.event-story h2 { max-width: 980px; margin: 10px 0 16px; font: 900 clamp(48px, 7vw, 96px)/.76 var(--display); letter-spacing: -.055em; text-transform: uppercase; }
.event-story p { max-width: 720px; margin: 0; color: #5e584e; font-size: 15px; line-height: 1.5; }
.event-story-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; }
.event-story-countdown { display: grid; place-items: center; flex: 0 0 150px; min-height: 150px; padding: 18px; border: 3px solid var(--ink); background: var(--yellow); box-shadow: 7px 7px 0 var(--ink); transform: rotate(2deg); text-align: center; }
.event-story-countdown strong { font: 900 72px/.7 var(--display); letter-spacing: -.05em; }
.event-story-countdown span { font: 800 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.event-story-copy { position: relative; z-index: 1; }
.event-story-actions { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 36px; padding-right: clamp(0px, 15vw, 185px); }
.event-story-action { display: flex; min-height: 190px; flex-direction: column; align-items: flex-start; padding: 20px; border: 2px solid var(--ink); background: var(--paper); box-shadow: 4px 4px 0 var(--ink); }
.event-story-action:nth-child(2) { background: var(--lime); }
.event-story-action:nth-child(3) { background: var(--yellow); }
.event-story-action > span { font: 800 9px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.event-story-action p { margin: 12px 0 22px; color: var(--ink); font-size: 13px; }
.event-story-action a, .event-story-action button { margin-top: auto; padding: 0 0 5px; border: 0; border-bottom: 3px solid var(--ink); background: transparent; color: var(--ink); font: 900 12px var(--display); text-align: left; text-transform: uppercase; cursor: pointer; }
.event-story-action a:hover, .event-story-action a:focus-visible, .event-story-action button:hover, .event-story-action button:focus-visible { color: var(--red); border-color: var(--red); outline: 0; }
.event-story-contact-sheet { position: absolute; right: -25px; bottom: -22px; width: clamp(175px, 20vw, 260px); height: 225px; padding: 14px; border: 3px solid var(--ink); background: var(--ink); color: var(--paper); transform: rotate(-4deg); box-shadow: 7px 7px 0 var(--yellow); }
.event-story-contact-sheet > span { display: block; color: var(--yellow); font: 700 9px var(--mono); }
.event-story-contact-sheet i { display: inline-block; width: 29%; height: 72px; margin: 14px 2% 0 0; border: 2px solid var(--paper); background: linear-gradient(145deg, var(--red), #1d1d1a 60%); }
.event-story-contact-sheet i:nth-of-type(2) { background: linear-gradient(145deg, var(--yellow), #1d1d1a 60%); }
.event-story-contact-sheet i:nth-of-type(3) { background: linear-gradient(145deg, var(--lime), #1d1d1a 60%); }
.event-story-contact-sheet b { display: block; margin-top: 13px; font: 900 30px/.76 var(--display); letter-spacing: -.03em; }
.event-story-live { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr); gap: 34px; align-items: center; }
.event-story-live-marker { display: inline-flex; align-items: center; gap: 10px; padding: 8px 11px; border: 2px solid var(--ink); background: var(--paper); font: 800 9px var(--mono); text-transform: uppercase; }
.event-story-live-marker i { width: 11px; height: 11px; border: 2px solid var(--ink); border-radius: 50%; background: var(--red); box-shadow: 0 0 0 5px rgba(203,59,45,.18); }
.event-story-day { display: inline-block; margin: 4px 0 18px; padding: 7px 10px; background: var(--yellow); border: 2px solid var(--ink); font: 900 17px var(--display); text-transform: uppercase; }
.event-story-live-pass { display: grid; min-height: 330px; place-items: center; align-content: center; border: 3px solid var(--paper); outline: 3px solid var(--ink); background: var(--ink); color: var(--paper); box-shadow: 10px 10px 0 var(--yellow); transform: rotate(2deg); text-align: center; }
.event-story-live-pass span, .event-story-live-pass small { font: 700 9px var(--mono); text-transform: uppercase; }
.event-story-live-pass strong { margin: 25px 0; color: var(--yellow); font: 900 76px/.7 var(--display); }
.event-story-inline-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.event-story-gallery { position: relative; }
.event-story-filters { display: flex; flex-wrap: wrap; gap: 7px; }
.event-story-filters button { padding: 8px 10px; border: 2px solid var(--ink); background: var(--paper); font: 800 9px var(--mono); cursor: pointer; }
.event-story-filters button.active { background: var(--ink); color: var(--paper); }
.event-story-gallery-grid { display: grid; grid-template-columns: 1.5fr .75fr .75fr; grid-auto-rows: minmax(175px, 25vw); gap: 12px; margin: 28px 0 22px; }
.event-story-media { min-width: 0; margin: 0; }
.event-story-media.is-featured { grid-row: span 2; }
.event-story-media-frame { position: relative; height: 100%; min-height: 170px; overflow: hidden; border: 2px solid var(--ink); background: var(--ink); }
.event-story-media img, .event-story-media video { width: 100%; height: 100%; object-fit: cover; }
.event-story-media-source { position: absolute; top: 9px; left: 9px; padding: 5px 7px; border: 1px solid var(--ink); background: var(--yellow); font: 800 8px var(--mono); text-transform: uppercase; }
.event-story-play { position: absolute; inset: 50% auto auto 50%; display: grid; width: 56px; height: 56px; place-items: center; border: 3px solid var(--paper); border-radius: 50%; background: var(--red); color: var(--paper); transform: translate(-50%, -50%); pointer-events: none; }
.event-story-media figcaption { padding: 8px 2px 0; }
.event-story-media figcaption strong, .event-story-media figcaption small { display: block; }
.event-story-media figcaption small { margin-top: 4px; color: var(--muted); font: 9px var(--mono); }
.event-story-media-fallback { margin: 20px 0; padding: 20px; border: 2px dashed var(--ink); background: var(--paper); }
.event-story-media-fallback strong, .event-story-media-fallback a { display: block; }
.event-story-media-fallback a { margin-top: 8px; font: 800 10px var(--mono); text-transform: uppercase; }
.event-story-quiet, .event-story-notice { max-width: 900px; min-height: 300px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.event-story-quiet time, .event-story-notice time { margin-top: 16px; font: 800 10px var(--mono); text-transform: uppercase; }
.event-story-quiet > .button, .event-story-notice > .button { margin-top: 25px; }
.event-story--post_event_pending { background: var(--yellow); }
.event-story--post_event_empty { background: var(--paper); }
.event-story--cancelled { background: var(--red); color: var(--paper); }
.event-story--cancelled p { color: var(--paper); }
.event-story--postponed { background: var(--yellow); }
.event-story-new-dates { position: absolute; top: 15px; right: 15px; padding: 7px 9px; border: 2px solid var(--ink); background: var(--lime); font: 800 9px var(--mono); text-transform: uppercase; }
.event-story-dialog { width: min(1120px, calc(100vw - 36px)); max-height: calc(100vh - 36px); padding: 0; border: 3px solid var(--ink); background: var(--paper); box-shadow: 10px 10px 0 var(--red); }
.event-story-dialog::backdrop { background: rgba(17,17,15,.78); }
.event-story-dialog-head { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px; border-bottom: 3px solid var(--ink); background: var(--yellow); }
.event-story-dialog-head h2 { margin: 0; font-size: clamp(30px, 4vw, 54px); }
.event-story-dialog-head button { width: 46px; height: 46px; border: 2px solid var(--ink); background: var(--paper); font-size: 28px; cursor: pointer; }
.event-story-dialog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 18px; }
.event-story-dialog .event-story-media-frame { aspect-ratio: 16 / 10; }
.event-story-dialog .event-story-media.is-featured { grid-row: auto; }
.parent-event-panel { margin-top: 28px; padding: clamp(20px, 3vw, 34px); border: 2px solid var(--ink); background: var(--white); box-shadow: 6px 6px 0 var(--red); }
.parent-event-panel__head { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 22px; padding-bottom: 18px; border-bottom: 2px solid var(--ink); }
.parent-event-panel h2 { margin: 7px 0 0; font: 900 clamp(38px, 5vw, 66px)/.78 var(--display); letter-spacing: -.04em; text-transform: uppercase; }
.parent-event-panel__count { flex: 0 0 auto; padding: 8px 10px; border: 2px solid var(--ink); background: var(--lime); font: 800 10px var(--mono); text-transform: uppercase; }
.parent-event-panel__table-wrap { overflow-x: auto; border: 2px solid var(--ink); }
.parent-event-panel table { width: 100%; min-width: 690px; border-collapse: collapse; }
.parent-event-panel th { padding: 11px 13px; background: var(--ink); color: var(--paper); font: 800 10px var(--mono); letter-spacing: .05em; text-align: left; text-transform: uppercase; }
.parent-event-panel td { padding: 14px 13px; border-top: 1px solid var(--ink); font-size: 13px; vertical-align: top; }
.parent-event-panel td:first-child { width: 155px; font: 800 11px var(--mono); }
.parent-event-panel td:first-child small { display: block; margin-top: 4px; color: var(--muted); font: 10px var(--mono); }
.parent-event-panel td:nth-child(2) a { font-weight: 800; text-decoration: underline; text-decoration-color: var(--red); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.parent-event-panel td:last-child { width: 64px; white-space: nowrap; font: 800 10px var(--mono); text-transform: uppercase; }
.parent-event-panel__dummy { display: inline-block; margin-left: 8px; padding: 3px 5px; border: 1px solid var(--ink); background: var(--yellow); font: 800 8px var(--mono); letter-spacing: .05em; vertical-align: middle; }
.parent-event-panel__empty { color: var(--muted); font-style: italic; }
.parent-event-panel > p { margin: 15px 0 0; color: var(--muted); font-size: 12px; }

.timeline { border-left: 3px solid var(--ink); margin: 10px 0 0 10px; }
.timeline-item { position: relative; padding: 0 0 22px 23px; }
.timeline-item::before { content: ''; position: absolute; left: -9px; top: 1px; width: 14px; height: 14px; background: var(--yellow); border: 2px solid var(--ink); }
.timeline-item time { display: block; margin-bottom: 6px; color: var(--red); font: 700 10px var(--mono); text-transform: uppercase; }
.timeline-item strong { font-size: 16px; }
.timeline-item p { margin: 5px 0 0; }

.form-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.form-card { padding: 30px; background: var(--white); border: 2px solid var(--ink); box-shadow: 5px 5px 0 var(--ink); }
.form-card h2 { margin: 0 0 22px; font: 800 54px/.8 var(--display); text-transform: uppercase; }
.field { margin-bottom: 15px; }
.field label { display: block; margin-bottom: 6px; font: 700 10px var(--mono); text-transform: uppercase; }
.field input, .field select, .field textarea { width: 100%; padding: 12px; border: 2px solid var(--ink); background: var(--paper); color: var(--ink); }
.field textarea { min-height: 118px; resize: vertical; }
.check-row { display: flex; gap: 9px; align-items: start; margin: 10px 0 20px; color: #615b50; font-size: 12px; line-height: 1.4; }
.check-row input { accent-color: var(--red); margin-top: 2px; }

.progress-panel { padding: 25px; background: var(--red); color: var(--paper); border: 2px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); }
.progress-panel h2 { margin: 0; font: 800 62px/.78 var(--display); text-transform: uppercase; }
.progress-meta { display: flex; justify-content: space-between; gap: 10px; margin: 23px 0 8px; font: 700 10px var(--mono); text-transform: uppercase; }
.progress-track { height: 17px; padding: 3px; border: 2px solid var(--paper); }
.progress-fill { height: 100%; width: 62%; background: var(--yellow); }
.badge-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.badge { padding: 20px; min-height: 160px; border: 2px solid var(--ink); background: var(--paper-2); box-shadow: 4px 4px 0 var(--ink); }
.badge:nth-child(2) { background: var(--cyan); }
.badge:nth-child(3) { background: var(--yellow); }
.badge strong { display: block; margin: 23px 0 8px; font: 800 28px/.82 var(--display); text-transform: uppercase; }
.badge small { font: 10px var(--mono); text-transform: uppercase; }
.badge.locked { opacity: .48; filter: grayscale(.8); }

.admin-layout { display: grid; grid-template-columns: 240px 1fr; gap: 22px; }
.admin-nav { border: 2px solid var(--ink); background: var(--ink); color: var(--paper); align-self: start; }
.admin-nav button { width: 100%; padding: 15px; border: 0; border-bottom: 1px solid #4a463f; background: transparent; color: var(--paper); text-align: left; font: 700 10px var(--mono); text-transform: uppercase; }
.admin-nav button.active, .admin-nav button:hover { background: var(--yellow); color: var(--ink); }
.admin-content h2 { margin: 0 0 16px; font: 800 62px/.8 var(--display); text-transform: uppercase; }
.admin-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 20px; }
.admin-stat { padding: 17px; border: 2px solid var(--ink); background: var(--white); box-shadow: 4px 4px 0 var(--ink); }
.admin-stat strong { display: block; font: 800 45px/.85 var(--display); }
.admin-stat span { display: block; margin-top: 9px; font: 700 9px var(--mono); text-transform: uppercase; }
.data-table { width: 100%; border-collapse: collapse; background: var(--white); border: 2px solid var(--ink); font-size: 12px; }
.data-table th, .data-table td { padding: 14px 12px; text-align: left; border-bottom: 1px solid #bdb3a1; }
.data-table th { background: var(--ink); color: var(--paper); font: 700 9px var(--mono); text-transform: uppercase; }
.data-table tr:last-child td { border-bottom: 0; }
.data-table td strong { display: block; font-size: 13px; }
.data-table td small { color: var(--muted); font: 10px var(--mono); }

.policy-grid { display: grid; grid-template-columns: .6fr 1.4fr; gap: 22px; align-items: start; }
.policy-nav { padding: 20px; background: var(--yellow); border: 2px solid var(--ink); box-shadow: 5px 5px 0 var(--ink); }
.policy-nav strong { display: block; margin-bottom: 15px; font: 800 30px/.85 var(--display); text-transform: uppercase; }
.policy-nav a { display: block; padding: 9px 0; border-top: 1px solid var(--ink); font: 700 10px var(--mono); text-transform: uppercase; }
.policy-copy { padding: 34px; background: var(--white); border: 2px solid var(--ink); box-shadow: 5px 5px 0 var(--ink); }
.policy-copy h2 { margin: 0 0 18px; font: 800 58px/.78 var(--display); text-transform: uppercase; }
.policy-copy h3 { margin: 29px 0 8px; font: 800 30px/.86 var(--display); text-transform: uppercase; }
.policy-copy p, .policy-copy li { color: #5e584e; font-size: 14px; line-height: 1.65; }

.site-footer { padding: 42px 0 32px; background: var(--ink); color: var(--paper); border-top: 3px solid var(--ink); }
.footer-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 28px; }
.footer-brand { font: 900 54px/.75 var(--display); text-transform: uppercase; letter-spacing: -.05em; }
.footer-brand em { color: var(--yellow); font-style: normal; }
.footer-copy { max-width: 330px; color: #aaa293; font-size: 13px; line-height: 1.5; }
.footer-links { display: flex; flex-wrap: wrap; align-content: start; gap: 9px 17px; }
.footer-links a { color: var(--paper); font: 700 10px var(--mono); text-transform: uppercase; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 41px; padding-top: 16px; border-top: 1px solid #4c483f; color: #aaa293; font: 10px var(--mono); text-transform: uppercase; }
.toast { position: fixed; right: 18px; bottom: 18px; z-index: 20; max-width: 350px; padding: 15px 17px; border: 2px solid var(--ink); background: var(--yellow); box-shadow: 5px 5px 0 var(--ink); font: 700 11px var(--mono); text-transform: uppercase; animation: toast-in .2s ease-out; }
@keyframes toast-in { from { transform: translateY(15px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

@media (max-width: 980px) {
  .wordmark { min-width: 205px; }
  .nav-link { padding: 0 10px; font-size: 10px; }
  .hero-grid, .detail-layout, .policy-grid { grid-template-columns: 1fr; }
  .hero-art { min-height: 320px; }
  .hero-art img { min-height: 320px; }
  .event-grid { grid-template-columns: repeat(2, 1fr); }
  .event-card.featured { grid-column: span 2; }
  .admin-layout { grid-template-columns: 1fr; }
  .admin-nav { display: flex; overflow-x: auto; }
  .admin-nav button { width: auto; white-space: nowrap; border-right: 1px solid #4a463f; border-bottom: 0; }
  .event-story-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-right: 0; }
  .event-story-contact-sheet { display: none; }
  .event-story-live { grid-template-columns: 1fr; }
  .event-story-live-pass { min-height: 230px; }
  .event-story-gallery-grid { grid-template-columns: 1.35fr .65fr; }
}
@media (max-width: 680px) {
  .top-strip { font-size: 9px; }
  .top-strip span:last-child { display: none; }
  .nav-wrap { min-height: 62px; align-items: center; }
  .wordmark { min-width: auto; padding-right: 0; border: 0; font-size: 26px; }
  .wordmark-copy { gap: 3px; }
  .wordmark-copy small { font-size: 10px; }
  .nav-links, .nav-actions { display: none; }
  .mobile-toggle { display: block; margin-left: auto; }
  .nav-wrap.open { display: block; padding-bottom: 12px; }
  .nav-wrap.open .nav-links, .nav-wrap.open .nav-actions { display: flex; flex-direction: column; margin: 12px 0 0; }
  .nav-wrap.open .nav-link { min-height: 43px; border: 0; border-top: 1px solid #393830; }
  .nav-wrap.open .nav-actions { align-items: stretch; padding: 12px 0 0; }
  .section { padding: 51px 0; }
  .hero { padding-top: 43px; }
  .hero h1 { font-size: clamp(64px, 19vw, 100px); }
  .hero-art { min-height: 255px; box-shadow: 6px 6px 0 var(--yellow); }
  .hero-art img { min-height: 255px; }
  .signal-row { grid-template-columns: repeat(2, 1fr); }
  .signal { border-bottom: 2px solid var(--ink); }
  .signal:nth-child(2) { border-right: 0; }
  .signal:nth-child(4) { border-right: 0; }
  .section-heading { display: block; }
  .section-heading p { margin-top: 15px; }
  .event-grid, .directory-grid, .hub-grid, .form-layout, .badge-grid, .admin-stats, .footer-grid { grid-template-columns: 1fr; }
  .networking-featured-grid { grid-template-columns: 1fr; }
  .event-card.featured { grid-column: auto; }
  .event-card h3, .directory-grid .event-card h3, .event-card.featured h3 { font-size: 48px; }
  .editorial-copy { padding: 25px; }
  .editorial-image { min-height: 270px; }
  .view-toggle { margin-left: 0; }
  .detail-main h1, .page-hero h1 { font-size: 75px; }
  .fact-grid { grid-template-columns: 1fr; }
  .form-card, .policy-copy { padding: 24px; }
  .form-card h2, .policy-copy h2, .admin-content h2 { font-size: 52px; }
  .data-table { display: block; overflow-x: auto; white-space: nowrap; }
  .footer-bottom { display: block; }
  .footer-bottom span { display: block; margin-top: 7px; }
  .event-story { padding: 22px; box-shadow: 6px 6px 0 var(--red); }
  .event-story h2 { font-size: clamp(45px, 14vw, 68px); }
  .event-story-heading { display: grid; align-items: start; }
  .event-story-countdown { width: 124px; min-height: 112px; flex-basis: auto; place-self: start; transform: none; }
  .event-story-countdown strong { font-size: 58px; }
  .event-story-actions { grid-template-columns: 1fr; margin-top: 27px; }
  .event-story-action { min-height: 155px; }
  .event-story-gallery-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; }
  .event-story-gallery-grid .event-story-media { min-width: min(82vw, 340px); scroll-snap-align: start; }
  .event-story-gallery-grid .event-story-media-frame { aspect-ratio: 4 / 3; }
  .event-story-dialog-grid { grid-template-columns: 1fr; }
  .event-story-inline-actions { display: grid; width: 100%; }
  .event-story-inline-actions .button { width: 100%; }
}

/* Restoration pass: calendar, private planning, and moderation surfaces. */
.event-card-info { display: flex; flex-direction: column; gap: 4px; margin-top: 15px; padding-top: 12px; border-top: 1px solid #c7beac; color: #5f584d; font: 10px var(--mono); line-height: 1.4; text-transform: uppercase; }
.event-card.featured .event-card-info { border-color: rgba(241,234,220,.4); color: var(--paper-2); }
.freshness-pill { display: inline-block; margin-left: 7px; color: var(--muted); font: 9px var(--mono); text-transform: uppercase; }
.event-card.featured .freshness-pill { color: var(--paper-2); }
.detail-status { margin-bottom: 16px; }
.fact-note { display: block; margin-top: 7px; color: var(--muted); font: 10px var(--mono); }
.result-summary, .calendar-summary { margin: -10px 0 20px; color: var(--muted); font: 700 10px var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.view-toggle a { display: inline-flex; align-items: center; padding: 0 12px; border-right: 1px solid var(--ink); background: var(--paper); font: 700 10px var(--mono); text-transform: uppercase; }
.view-toggle a:last-child { border-right: 0; }

.calendar-controls { display: flex; flex-wrap: wrap; gap: 9px; padding: 17px; border: 2px solid var(--ink); background: var(--paper-2); box-shadow: 5px 5px 0 var(--ink); margin-bottom: 26px; }
.calendar-controls .filter-select { flex: 1 1 150px; }
.date-filter { display: flex; align-items: center; gap: 7px; min-height: 42px; padding: 0 9px; border: 2px solid var(--ink); background: var(--paper); font: 700 9px var(--mono); text-transform: uppercase; }
.date-filter input { min-width: 130px; border: 0; background: transparent; color: var(--ink); font: 11px var(--mono); }
.calendar-board { border: 2px solid var(--ink); background: var(--white); box-shadow: 6px 6px 0 var(--ink); }
.calendar-nav { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 15px; border-bottom: 2px solid var(--ink); background: var(--yellow); font: 800 22px var(--display); text-transform: uppercase; }
.calendar-nav .eyebrow { color: var(--ink); font-size: 9px; }
.calendar-weekdays { display: grid; grid-template-columns: repeat(7, 1fr); border-bottom: 2px solid var(--ink); background: var(--ink); color: var(--paper); }
.calendar-weekdays span { padding: 10px; border-right: 1px solid #4a463f; font: 700 10px var(--mono); text-transform: uppercase; }
.calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.calendar-cell { min-height: 125px; padding: 8px; border-right: 1px solid #c3b9a7; border-bottom: 1px solid #c3b9a7; background: var(--white); }
.calendar-cell:nth-child(7n) { border-right: 0; }
.calendar-cell.muted { background: #e5dccb; }
.calendar-date { display: inline-grid; place-items: center; width: 25px; height: 25px; margin-bottom: 7px; background: var(--ink); color: var(--paper); font: 700 10px var(--mono); }
.calendar-event { display: block; margin: 4px 0; padding: 6px; border-left: 4px solid var(--red); background: var(--paper-2); font-size: 11px; line-height: 1.1; }
.calendar-event strong, .calendar-event small { display: block; }
.calendar-event small { margin-top: 4px; color: var(--muted); font: 9px var(--mono); }
.week-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.week-column { min-height: 310px; padding: 12px; border-right: 1px solid #c3b9a7; }
.week-column:last-child { border-right: 0; }
.week-column > strong { display: block; padding-bottom: 11px; border-bottom: 2px solid var(--ink); font: 800 16px var(--display); text-transform: uppercase; }
.week-event { display: block; margin-top: 11px; padding: 9px; border: 1px solid var(--ink); background: var(--cyan); font-size: 11px; line-height: 1.2; }
.week-event b, .week-event span, .week-event small { display: block; }
.week-event b { color: var(--red); font: 700 9px var(--mono); }
.week-event small { margin-top: 5px; color: #5f584d; font: 9px var(--mono); }
.week-empty { display: block; margin-top: 16px; color: var(--muted); font: 9px var(--mono); text-transform: uppercase; }
.calendar-timeline { width: calc(100% - 80px); max-width: 1560px; margin: 0 auto; padding: 20px 26px; background: var(--white); }
.calendar-timeline-year { margin: 0; padding: 6px 0 14px; border-bottom: 3px solid var(--ink); color: var(--red); font: 900 clamp(42px, 6vw, 76px)/.78 var(--display); letter-spacing: -.05em; }
.calendar-timeline-year:first-child { padding-top: 0; }
.calendar-timeline-item { display: grid; grid-template-columns: 220px minmax(0, 1fr) 280px; column-gap: 56px; row-gap: 10px; align-items: center; padding: 33px 0; border-bottom: 2px solid var(--ink); }
.calendar-timeline-item:last-child { border-bottom: 0; }
.calendar-timeline-item time { color: var(--red); font: 900 16px/.92 var(--display); letter-spacing: .015em; text-transform: uppercase; }
.calendar-timeline-item h3 { margin: 0 0 7px; font: 800 29px/.86 var(--display); text-transform: uppercase; }
.calendar-timeline-title-row { display: flex; align-items: center; justify-content: flex-start; gap: 16px; }
.calendar-timeline-title-row > a { flex: 0 1 34rem; }
.calendar-timeline-content { align-self: center; margin: 0; }
.calendar-timeline-place { align-self: center; display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; min-height: 88px; padding: 14px 16px; border: 2px solid var(--ink); background: var(--cyan); color: var(--ink); box-shadow: 4px 4px 0 var(--yellow); transition: transform .18s ease, box-shadow .18s ease; }
.calendar-timeline-place:hover, .calendar-timeline-place:focus-visible { transform: translate(-3px, -4px); box-shadow: 8px 9px 0 var(--red); outline: 0; }
.calendar-timeline-place--online { cursor: default; box-shadow: 4px 4px 0 var(--lime); }
.calendar-timeline-place strong { font: 900 25px/.82 var(--display); letter-spacing: -.035em; text-transform: uppercase; }
.calendar-timeline-place small { font: 700 8px var(--mono); text-transform: uppercase; }
.calendar-timeline-place span { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--red); font-size: 24px; }
.calendar-timeline-attendance { position: relative; flex: 0 0 auto; align-self: center; justify-self: start; display: grid; place-content: center; width: 88px; height: 88px; border: 2px solid var(--ink); border-radius: 50%; background: var(--yellow); color: var(--ink); text-align: center; overflow: hidden; box-shadow: 3px 3px 0 var(--ink); }
.calendar-timeline-attendance::before { content: ''; position: absolute; inset: 5px; border: 2px dashed var(--red); border-radius: 50%; opacity: .8; transition: transform .45s ease; }
.calendar-timeline-item:hover .calendar-timeline-attendance::before { transform: rotate(120deg); }
.calendar-timeline-attendance strong, .calendar-timeline-attendance small { position: relative; z-index: 1; display: block; }
.calendar-timeline-attendance strong { font: 900 29px/.78 var(--display); }
.calendar-timeline-attendance small { margin-top: 4px; font: 700 7px var(--mono); text-transform: uppercase; }
.calendar-timeline-item p { margin: 0 0 9px; color: var(--muted); font-size: 12px; }

.plan-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 17px 0; padding: 9px; border: 2px solid var(--ink); background: var(--paper-2); }
.plan-label { margin-right: 3px; font: 700 9px var(--mono); text-transform: uppercase; }
.plan-button { padding: 7px 9px; border: 1px solid var(--ink); background: var(--paper); color: var(--ink); font: 700 9px var(--mono); text-transform: uppercase; }
.plan-button:hover, .plan-button.active { background: var(--red); color: var(--paper); }
.circuit-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 24px; padding-bottom: 20px; border-bottom: 3px solid var(--ink); }
.circuit-toolbar h2 { margin: 9px 0 0; font: 800 60px/.8 var(--display); text-transform: uppercase; }
.circuit-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.circuit-actions > a.button.small { display: grid; min-width: 128px; min-height: 44px; place-items: center; }
.calendar-export-menu { position: relative; align-self: stretch; }
.calendar-export-menu summary { display: flex; align-items: center; min-height: 44px; padding: 10px 13px; border: 2px solid var(--ink); background: var(--ink); color: var(--paper); cursor: pointer; font: 800 10px var(--mono); letter-spacing: .03em; list-style: none; text-transform: uppercase; }
.calendar-export-menu summary::-webkit-details-marker { display: none; }
.calendar-export-menu summary::after { content: '⌄'; margin-left: 9px; color: var(--yellow); font-size: 15px; }
.calendar-export-menu > div { position: absolute; top: calc(100% + 5px); right: 0; z-index: 4; display: grid; min-width: 172px; border: 2px solid var(--ink); background: var(--paper); box-shadow: 4px 4px 0 var(--ink); }
.calendar-export-menu button { padding: 11px 13px; border: 0; border-bottom: 1px solid var(--ink); background: var(--paper); color: var(--ink); cursor: pointer; font: 800 10px var(--mono); text-align: left; text-transform: uppercase; }
.calendar-export-menu button:last-child { border-bottom: 0; }.calendar-export-menu button:hover, .calendar-export-menu button:focus-visible { background: var(--yellow); outline: 0; }
.circuit-view-tabs { display: flex; width: min(100%, 620px); margin-bottom: 32px; overflow: hidden; border: 3px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); }
.circuit-view-tabs a { flex: 1 1 0; padding: 18px 22px; border-right: 3px solid var(--ink); color: var(--ink); background: var(--paper); text-align: center; font: 900 14px var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.circuit-view-tabs a:last-child { border-right: 0; }
.circuit-view-tabs a:hover, .circuit-view-tabs a:focus-visible, .circuit-view-tabs a.active { background: var(--yellow); outline: 0; }
.community-preview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.community-preview-card { display: grid; gap: 17px; min-height: 320px; padding: 26px; border: 3px solid var(--ink); box-shadow: 7px 7px 0 var(--ink); }
.community-preview-card--red { background: var(--red); color: var(--paper); }
.community-preview-card--paper { background: var(--paper); }
.community-preview-card--yellow { background: var(--yellow); }
.community-preview-card--cyan { background: var(--cyan); }
.community-preview-card--ink { background: var(--ink); color: var(--paper); }
.community-preview-card--ink .button { background: var(--paper); color: var(--ink); }
.community-preview-card h3 { margin: 0; font: 900 clamp(38px, 4vw, 62px)/.82 var(--display); letter-spacing: -.05em; text-transform: uppercase; }
.community-preview-card p { max-width: 40ch; margin: 0; font-size: 15px; line-height: 1.45; }
.community-preview-card dl { display: grid; gap: 10px; margin: 0; }
.community-preview-card dl div { display: grid; gap: 2px; padding-top: 10px; border-top: 1px solid currentColor; }
.community-preview-card dt { font: 800 9px var(--mono); letter-spacing: .08em; text-transform: uppercase; opacity: .75; }
.community-preview-card dd { margin: 0; font-size: 13px; line-height: 1.35; }
.community-preview-card .button { justify-self: start; }
.community-preview-card--red .button { background: var(--paper); color: var(--ink); }
.community-finder { padding: 0; }
.community-finder-head { display: grid; grid-template-columns: minmax(0, .85fr) minmax(260px, .8fr); align-items: end; gap: 36px; margin-bottom: 24px; }
.community-finder-head h2 { margin: 7px 0 0; font: 900 clamp(52px, 6vw, 88px)/.76 var(--display); letter-spacing: -.06em; text-transform: uppercase; }
.community-finder-head p { max-width: 46ch; margin: 0 0 4px; font-size: 15px; line-height: 1.55; }
.community-filter-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-bottom: 30px; padding: 11px; border-top: 3px solid var(--ink); border-bottom: 3px solid var(--ink); }
.community-filter-bar > span, .community-filter-bar small { font: 800 10px var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.community-filter-bar small { margin-left: auto; color: var(--muted); }
.community-filter-bar button { padding: 8px 10px; border: 1px solid var(--ink); background: transparent; color: var(--ink); cursor: pointer; font: 800 10px var(--mono); letter-spacing: .03em; text-transform: uppercase; }
.community-filter-bar button:hover, .community-filter-bar button.active { background: var(--ink); color: var(--paper); }
.community-orbit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.community-orbit-card { display: grid; grid-template-columns: 152px minmax(0, 1fr); gap: 22px; align-items: center; min-height: 242px; padding: 20px; border: 2px solid var(--ink); background: var(--paper); transition: transform .22s ease, box-shadow .22s ease; }
.community-orbit-card:hover { transform: translate(-4px, -4px); box-shadow: 7px 7px 0 var(--ink); }
.community-orbit-card[hidden] { display: none; }
.community-orbit-mark { position: relative; display: grid; width: 146px; aspect-ratio: 1; place-items: center; border: 3px solid var(--ink); border-radius: 50%; background: var(--paper); isolation: isolate; }
.community-orbit-mark::before, .community-orbit-mark::after { position: absolute; border-radius: 50%; content: ''; }
.community-orbit-mark::before { inset: 12px; border: 2px dashed var(--ink); opacity: .6; }
.community-orbit-mark::after { inset: 29px; border: 1px solid var(--ink); }
.community-orbit-card:hover .community-orbit-mark::before { animation: circleSpin 4s linear infinite; }
.community-orbit-mark span { position: relative; z-index: 1; max-width: 86px; overflow-wrap: anywhere; text-align: center; font: 900 30px/.85 var(--display); letter-spacing: -.04em; }
.community-orbit-card .community-orbit-mark { background: var(--paper); color: var(--ink); }
.community-orbit-card--paper .community-orbit-mark { background: var(--paper-2); }
.community-orbit-copy { display: grid; gap: 9px; }
.community-orbit-meta { display: flex; justify-content: space-between; gap: 9px; color: var(--red); font: 800 9px var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.community-orbit-card h3 { margin: 0; font: 900 clamp(29px, 3vw, 47px)/.84 var(--display); letter-spacing: -.05em; text-transform: uppercase; }
.community-orbit-card p { margin: 0; font-size: 13px; line-height: 1.42; }
.community-orbit-card small { display: grid; gap: 3px; margin-top: 2px; padding-top: 8px; border-top: 1px solid var(--ink); font: 11px/1.35 var(--body); }
.community-orbit-card small b { font: 800 8px var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.community-open { justify-self: start; margin-top: 3px; padding: 0; border: 0; background: transparent; color: var(--red); cursor: pointer; font: 900 10px var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.community-open:hover { color: var(--ink); }
.back-link { display: inline-block; margin: -2px 0 22px; color: var(--red); font: 800 10px var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.circle-detail-hero { display: grid; grid-template-columns: 190px minmax(0, 1fr) minmax(170px, .45fr); gap: 26px; align-items: center; padding: 28px; border: 3px solid var(--ink); background: var(--paper-2); }.circle-detail-mark { display: grid; width: 168px; aspect-ratio: 1; place-items: center; border: 3px solid var(--ink); border-radius: 50%; background: var(--paper); font: 900 40px/.8 var(--display); letter-spacing: -.05em; }.circle-detail-hero h2 { margin: 8px 0 12px; font: 900 clamp(48px, 6vw, 80px)/.77 var(--display); letter-spacing: -.06em; text-transform: uppercase; }.circle-detail-hero p { margin: 0; font-size: 15px; line-height: 1.5; }.circle-detail-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }.circle-detail-hero aside { display: grid; gap: 8px; padding-left: 20px; border-left: 2px solid var(--ink); }.circle-detail-hero aside span { color: var(--red); font: 800 9px var(--mono); letter-spacing: .06em; text-transform: uppercase; }.circle-detail-hero aside strong { font: 900 18px/.95 var(--display); text-transform: uppercase; }.circle-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 30px 0; }.circle-detail-grid article { display: grid; align-content: start; gap: 12px; min-height: 255px; padding: 23px; border: 2px solid var(--ink); }.circle-detail-grid h3 { margin: 0; font: 900 36px/.84 var(--display); letter-spacing: -.04em; text-transform: uppercase; }.circle-detail-grid p { margin: 0; font-size: 13px; line-height: 1.45; }.circle-detail-grid small { margin-top: auto; font: 700 9px/1.45 var(--mono); text-transform: uppercase; }.circle-people-row { display: flex; align-items: center; }.circle-people-row i { display: grid; width: 36px; height: 36px; margin-right: -6px; place-items: center; border: 2px solid var(--ink); border-radius: 50%; background: var(--paper); font: 800 9px var(--mono); font-style: normal; }.circle-people-row span { margin-left: 16px; color: var(--red); font: 800 9px var(--mono); text-transform: uppercase; }.circle-event-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }.circle-event-list li { display: grid; grid-template-columns: 55px 1fr; gap: 8px; padding-top: 8px; border-top: 1px solid var(--ink); font-size: 12px; }.circle-event-list b { color: var(--red); font: 800 9px var(--mono); }
.circle-detail-how { background: var(--yellow) !important; border-color: var(--ink) !important; color: var(--ink) !important; box-shadow: 4px 4px 0 var(--red) !important; }
.circle-detail-about { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 32px; margin-top: 30px; padding: 28px; border: 3px solid var(--ink); background: var(--paper); }
.circle-detail-about h2 { margin: 8px 0 0; font: 900 clamp(40px, 5vw, 68px)/.8 var(--display); letter-spacing: -.05em; text-transform: uppercase; }
.circle-detail-about p { max-width: 52ch; margin: 0; font-size: 16px; line-height: 1.52; }
.circle-detail-about small { display: block; margin-top: 18px; color: var(--muted); font: 800 8px/1.4 var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.circle-join-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; margin: 0; border: 3px solid var(--ink); background: var(--ink); }
.circle-join-steps > div { min-height: 158px; padding: 20px; background: var(--paper-2); }
.circle-join-steps > div:nth-child(2) { background: var(--yellow); }.circle-join-steps > div:nth-child(3) { background: var(--cyan); }
.circle-join-steps span { display: block; margin-bottom: 20px; color: var(--red); font: 900 28px/.8 var(--display); }.circle-join-steps strong { display: block; font: 900 20px/.9 var(--display); text-transform: uppercase; }.circle-join-steps p { margin: 8px 0 0; font-size: 12px; line-height: 1.4; }
.community-join-modal { width: min(940px, calc(100vw - 28px)); max-width: none; padding: 0; border: 3px solid var(--ink); background: var(--paper); color: var(--ink); box-shadow: 12px 12px 0 var(--ink); }.community-join-modal::backdrop { background: rgba(17,17,15,.72); backdrop-filter: blur(3px); }.community-modal-close { position: absolute; z-index: 2; top: 14px; right: 15px; width: 36px; height: 36px; border: 2px solid var(--ink); border-radius: 50%; background: var(--paper); color: var(--ink); cursor: pointer; font: 900 26px/.8 var(--display); }.community-join-modal-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(280px, .88fr); }.community-join-modal form { display: grid; gap: 14px; padding: 34px; }.community-join-modal h2 { margin: 0; font: 900 clamp(46px, 5vw, 70px)/.78 var(--display); letter-spacing: -.06em; text-transform: uppercase; }.community-join-modal h3 { margin: 8px 0 20px; font: 900 44px/.78 var(--display); letter-spacing: -.05em; text-transform: uppercase; }.community-join-modal p { margin: 0; font-size: 13px; line-height: 1.45; }.community-join-modal label:not(.check-row) { display: grid; gap: 6px; font: 800 9px var(--mono); letter-spacing: .05em; text-transform: uppercase; }.community-join-modal input:not([type="checkbox"]) { width: 100%; padding: 12px 13px; border: 2px solid var(--ink); background: var(--paper); color: var(--ink); font: 15px var(--body); }.community-join-modal .check-row { margin: 2px 0; font-size: 11px; }.community-request-note { color: var(--muted); font: 800 8px/1.4 var(--mono); letter-spacing: .05em; text-transform: uppercase; }.community-join-modal aside { padding: 34px; background: var(--cyan); }.community-join-modal ol { display: grid; gap: 13px; margin: 0 0 22px; padding: 0; list-style: none; }.community-join-modal li { display: grid; gap: 4px; padding-top: 10px; border-top: 1px solid var(--ink); }.community-join-modal li b { font: 900 17px/.9 var(--display); text-transform: uppercase; }.community-join-modal li span { font-size: 12px; line-height: 1.35; }
@keyframes circleSpin { to { transform: rotate(360deg); } }
.community-benefit-panel { display: grid; grid-template-columns: .8fr 1.2fr; gap: 28px; margin-top: 42px; padding: 28px; border: 3px solid var(--ink); background: var(--cyan); }
.community-benefit-panel h2 { margin: 7px 0 0; font: 900 clamp(42px, 5vw, 70px)/.8 var(--display); letter-spacing: -.05em; text-transform: uppercase; }
.community-benefit-panel p { max-width: 52ch; margin: 0; font-size: 15px; line-height: 1.5; }
.community-benefit-panel ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 22px; margin: 18px 0 0; padding: 0; list-style: none; font: 800 10px var(--mono); text-transform: uppercase; }
.community-benefit-panel li::before { content: '↗'; margin-right: 7px; color: var(--red); }
.news-desk-rail { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2px; margin: 0 0 30px; border: 2px solid var(--ink); background: var(--ink); }
.news-desk-rail > div { display: grid; gap: 7px; min-height: 122px; padding: 16px; background: var(--paper); }
.news-desk-rail > div:nth-child(2) { background: var(--cyan); }
.news-desk-rail > div:nth-child(3) { background: var(--yellow); }
.news-desk-rail > div:nth-child(4) { background: var(--lime); }
.news-desk-rail > div:nth-child(5) { background: var(--red); color: var(--paper); }
.news-desk-rail span { font: 800 10px var(--mono); }
.news-desk-rail strong { align-self: end; font: 900 clamp(19px, 2vw, 30px)/.86 var(--display); letter-spacing: -.03em; text-transform: uppercase; }
.news-desk-rail small { font: 700 9px var(--mono); letter-spacing: .04em; text-transform: uppercase; }
@media (max-width: 760px) {
  .circuit-view-tabs { width: 100%; overflow-x: auto; }
  .circuit-view-tabs a { min-width: 126px; padding: 15px 14px; font-size: 12px; }
  .community-preview-grid, .community-benefit-panel, .community-finder-head, .community-orbit-grid, .circle-detail-about, .community-join-modal-grid { grid-template-columns: 1fr; }
  .circle-join-steps { grid-template-columns: 1fr; }
  .community-join-modal form, .community-join-modal aside { padding: 25px 20px; }
  .community-orbit-card { grid-template-columns: 112px minmax(0, 1fr); gap: 16px; min-height: 0; }
  .community-orbit-mark { width: 108px; }
  .community-orbit-mark span { font-size: 24px; }
  .community-filter-bar small { width: 100%; margin-left: 0; }
  .community-benefit-panel ul { grid-template-columns: 1fr; }
  .news-desk-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .news-desk-rail > div:last-child { grid-column: 1 / -1; }
}
.directory-preview-intro { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 26px; padding-bottom: 15px; border-bottom: 3px solid var(--ink); }
.directory-preview-intro h2 { margin: 7px 0 0; font: 900 clamp(40px, 5vw, 72px)/.8 var(--display); letter-spacing: -.05em; text-transform: uppercase; }
.directory-preview-intro p { max-width: 440px; margin: 0; font-size: 14px; line-height: 1.5; }
.member-directory-filters { display: grid; gap: 12px; margin-bottom: 20px; }
.member-directory-filters .speaker-alphabet a { border-color: var(--ink); background: var(--paper); color: var(--ink); }
.member-directory-filters .speaker-alphabet a:hover, .member-directory-filters .speaker-alphabet a:focus-visible, .member-directory-filters .speaker-alphabet a.active { background: var(--yellow); color: var(--ink); box-shadow: 3px 3px 0 var(--red); }
.member-filter-row { display: flex; align-items: center; gap: 8px; font: 800 9px var(--mono); text-transform: uppercase; }
.member-filter-row > span { margin-right: 4px; }
.member-filter-row details { position: relative; }
.member-filter-row summary { min-width: 116px; padding: 8px 10px; border: 1px solid var(--ink); background: var(--paper); cursor: pointer; list-style: none; }
.member-filter-row summary::-webkit-details-marker { display: none; }
.member-filter-row summary::after { content: '⌄'; float: right; color: var(--red); }
.member-filter-row details > div { position: absolute; top: calc(100% + 4px); z-index: 3; display: grid; min-width: 160px; border: 1px solid var(--ink); background: var(--paper); box-shadow: 3px 3px 0 var(--ink); }
.member-filter-row details a { padding: 9px 10px; color: var(--ink); }
.member-filter-row details a:hover, .member-filter-row details a:focus-visible { background: var(--yellow); outline: 0; }
.member-directory-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.member-directory-card { display: grid; grid-template-columns: 58px minmax(0, 1fr) minmax(112px, .72fr); align-items: center; gap: 11px; min-height: 112px; padding: 13px; border: 2px solid var(--ink); box-shadow: 4px 4px 0 var(--ink); }
.member-directory-card--yellow { background: var(--yellow); }.member-directory-card--cyan { background: var(--cyan); }.member-directory-card--lime { background: var(--lime); }.member-directory-card--paper { background: var(--white); }
.member-placeholder { display: grid; width: 72px; height: 72px; place-items: center; border: 2px solid var(--ink); border-radius: 50%; background: var(--ink); color: var(--paper); font: 900 25px var(--display); }
.member-directory-status { display: inline-block; margin-bottom: 5px; padding: 3px 5px; border: 1px solid var(--ink); background: var(--paper); font: 700 0/1 var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.member-directory-status::after { content: 'Illustrative profile'; font-size: 7px; }
.member-placeholder { background-image: url('/illustrative-profiles/contact-sheet.png'); background-repeat: no-repeat; background-size: 500% 200%; background-position: 0 0; color: transparent; overflow: hidden; }
.member-directory-card:nth-child(5n + 2) .member-placeholder { background-position: 25% 0; }.member-directory-card:nth-child(5n + 3) .member-placeholder { background-position: 50% 0; }.member-directory-card:nth-child(5n + 4) .member-placeholder { background-position: 75% 0; }.member-directory-card:nth-child(5n) .member-placeholder { background-position: 100% 0; }.member-directory-card:nth-child(n + 6):nth-child(5n + 1) .member-placeholder { background-position: 0 100%; }.member-directory-card:nth-child(n + 6):nth-child(5n + 2) .member-placeholder { background-position: 25% 100%; }.member-directory-card:nth-child(n + 6):nth-child(5n + 3) .member-placeholder { background-position: 50% 100%; }.member-directory-card:nth-child(n + 6):nth-child(5n + 4) .member-placeholder { background-position: 75% 100%; }.member-directory-card:nth-child(n + 6):nth-child(5n) .member-placeholder { background-position: 100% 100%; }
.member-directory-card h3 { margin: 0; font: 900 clamp(21px, 1.8vw, 29px)/.82 var(--display); letter-spacing: -.04em; text-transform: uppercase; }.member-directory-card p { margin: 5px 0 3px; font-size: 11px; font-weight: 700; }.member-directory-card small { font: 700 7px var(--mono); text-transform: uppercase; }
.member-circuit-preview { display: grid; gap: 5px; align-self: stretch; padding: 11px; background: var(--red); color: var(--paper); }
.member-circuit-preview span { color: var(--yellow); font: 800 7px var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.member-circuit-preview strong { font: 800 10px/1.15 var(--mono); text-transform: uppercase; }
.directory-preview-note { margin-top: 26px; padding: 17px 19px; border: 2px solid var(--ink); background: var(--white); font-size: 13px; line-height: 1.45; }

/* People discovery refresh: compact circuit-passport cards only. */
.people-circuit-page { overflow: hidden; }
.people-discovery-header { display: flex; align-items: end; justify-content: space-between; gap: 34px; margin: 38px 0 24px; padding-bottom: 23px; border-bottom: 3px solid var(--ink); }
.people-discovery-header h1 { margin: 9px 0; font: 900 clamp(48px, 6vw, 94px)/.77 var(--display); letter-spacing: -.055em; text-transform: uppercase; }
.people-discovery-header h1 em { color: var(--red); font-style: normal; }
.people-discovery-header p { max-width: 570px; margin: 0; font-size: 16px; line-height: 1.45; }
.people-privacy-note { display: grid; gap: 5px; max-width: 300px; padding: 14px 16px; border: 2px solid var(--ink); background: var(--white); box-shadow: 5px 5px 0 var(--yellow); font-size: 12px; line-height: 1.4; }
.people-privacy-note strong { font: 800 12px var(--mono); text-transform: uppercase; }
.people-discovery-toolbar { position: sticky; top: 10px; z-index: 4; display: grid; gap: 13px; margin-bottom: 30px; padding: 14px; border: 2px solid var(--ink); background: var(--ink); box-shadow: 7px 7px 0 var(--red); color: var(--paper); }
.people-search { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 13px; background: var(--paper); color: var(--ink); }
.people-search span { flex: 0 0 auto; font: 800 10px var(--mono); text-transform: uppercase; }
.people-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--ink); font: 700 15px var(--sans); }
.people-search i { color: var(--red); font-style: normal; font-weight: 900; }
.people-toolbar-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.people-filter-chips, .people-selects { display: flex; flex-wrap: wrap; gap: 6px; }
.people-filter-chips button, .people-selects select, .people-alphabet summary, .people-clear { min-height: 35px; border: 1px solid var(--paper); background: transparent; color: var(--paper); font: 800 9px var(--mono); letter-spacing: .02em; text-transform: uppercase; cursor: pointer; }
.people-filter-chips button { padding: 0 10px; }
.people-filter-chips button.active, .people-filter-chips button:hover, .people-filter-chips button:focus-visible { background: var(--yellow); color: var(--ink); outline: 0; }
.people-selects select { max-width: 128px; padding: 0 8px; }
.people-selects select option { background: var(--paper); color: var(--ink); }
.people-alphabet { position: relative; }
.people-alphabet summary { display: grid; min-width: 48px; place-items: center; list-style: none; }
.people-alphabet summary::-webkit-details-marker { display: none; }
.people-alphabet[open] summary { background: var(--cyan); color: var(--ink); }
.people-alphabet > div { position: absolute; right: 0; z-index: 5; display: grid; grid-template-columns: repeat(6, 35px); gap: 4px; width: max-content; margin-top: 7px; padding: 8px; border: 2px solid var(--ink); background: var(--paper); box-shadow: 5px 5px 0 var(--red); }
.people-alphabet > div button { min-width: 35px; min-height: 35px; border: 1px solid var(--ink); background: var(--paper); color: var(--ink); font: 800 10px var(--mono); cursor: pointer; }
.people-alphabet > div button:hover, .people-alphabet > div button:focus-visible { background: var(--yellow); outline: 0; }
.people-clear { padding: 0 9px; border-color: var(--yellow); color: var(--yellow); }
.people-results { display: flex; justify-content: space-between; gap: 10px; padding-top: 2px; font: 800 9px var(--mono); letter-spacing: .03em; text-transform: uppercase; }
.people-results strong { color: var(--yellow); }
.circuit-person-grid { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; isolation: isolate; }
.circuit-person-grid::before { content: ''; position: absolute; z-index: -1; inset: 14% -5% auto; height: 60%; border: 1px solid color-mix(in srgb, var(--red) 30%, transparent); border-left: 0; border-right: 0; border-radius: 46% 0 46% 0; transform: rotate(-2deg); pointer-events: none; }
.circuit-person-card { position: relative; display: flex; min-width: 0; min-height: 232px; flex-direction: column; gap: 8px; padding: 13px; border: 2px solid var(--ink); background: var(--paper); box-shadow: 5px 5px 0 var(--ink), 9px 9px 0 var(--red); animation: person-card-in 260ms both; animation-delay: calc(var(--card-order) * 34ms); transition: transform 220ms ease, box-shadow 220ms ease; }
.circuit-person-card::after { content: ''; position: absolute; right: 11px; bottom: 49px; width: 36px; height: 10px; border-top: 2px solid var(--ink); border-right: 2px solid var(--ink); opacity: .18; transform: skewX(-28deg); }
.circuit-person-card--yellow { border-top: 9px solid var(--yellow); }.circuit-person-card--cyan { border-top: 9px solid var(--cyan); }.circuit-person-card--lime { border-top: 9px solid var(--lime); }.circuit-person-card--paper { border-top: 9px solid var(--red); }
.circuit-person-card:hover, .circuit-person-card:focus-within { transform: translateY(-5px) rotate(-.3deg); box-shadow: 7px 9px 0 var(--ink), 12px 12px 0 var(--red); }
.circuit-person-card-top { display: flex; align-items: center; gap: 7px; min-height: 18px; }
.circuit-person-marker { color: var(--red); font: 900 14px/.8 var(--display); }
.circuit-person-status, .circuit-person-badge { padding: 3px 5px; border: 1px solid var(--ink); background: var(--white); font: 800 7px var(--mono); letter-spacing: .03em; text-transform: uppercase; }
.circuit-person-save { margin-left: auto; width: 28px; height: 28px; border: 1px solid var(--ink); background: var(--paper); color: var(--ink); font-size: 17px; cursor: pointer; }
.circuit-person-save:hover, .circuit-person-save:focus-visible { background: var(--yellow); outline: 2px solid var(--red); outline-offset: 2px; }
.circuit-person-identity { display: grid; grid-template-columns: 54px minmax(0, 1fr); align-items: center; gap: 10px; min-width: 0; }
.circuit-person-avatar { display: grid; width: 52px; height: 52px; place-items: center; border: 2px solid var(--ink); border-radius: 14px 14px 18px 4px; background: var(--yellow); color: var(--ink); font: 900 18px var(--display); transform: rotate(-4deg); transition: transform 220ms ease; }
.circuit-person-card--cyan .circuit-person-avatar { background: var(--cyan); }.circuit-person-card--lime .circuit-person-avatar { background: var(--lime); }.circuit-person-card--paper .circuit-person-avatar { background: var(--red); color: var(--paper); }
.circuit-person-card:hover .circuit-person-avatar, .circuit-person-card:focus-within .circuit-person-avatar { transform: rotate(-4deg) scale(1.04); }
.company-circuit-page .company-directory-note { border-color: var(--cyan); box-shadow: 6px 6px 0 var(--ink); }
.company-circuit-page .circuit-company-card { border-top-width: 9px; }
.company-circuit-page .circuit-company-card--cyan { background: #d8efeb; border-top-color: var(--cyan); }
.company-circuit-page .circuit-company-card--yellow { background: #f9e6ad; border-top-color: var(--yellow); }
.company-circuit-page .circuit-company-card--lime { background: #e3eeae; border-top-color: var(--lime); }
.company-circuit-page .circuit-company-card--paper { background: #edf0ef; border-top-color: var(--ink); }
.company-circuit-page .circuit-company-mark { border-radius: 0; background: var(--ink); color: var(--paper); transform: skew(-7deg); }
.company-circuit-page .circuit-company-mark + div { transform: none; }
.company-circuit-page .circuit-company-card .circuit-person-relevance { background: rgba(255,255,255,.42); }
.circuit-person-identity h2 { overflow-wrap: anywhere; margin: 0; font: 900 clamp(24px, 2vw, 31px)/.87 var(--display); letter-spacing: -.035em; text-transform: uppercase; }
.circuit-person-identity p, .circuit-person-identity strong { display: block; overflow: hidden; margin: 4px 0 0; color: var(--ink); font-size: 10px; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.circuit-person-identity strong { font: 800 8px var(--mono); letter-spacing: .02em; text-transform: uppercase; }
.circuit-person-location { margin: 0; color: var(--muted); font: 800 8px var(--mono); letter-spacing: .02em; text-transform: uppercase; }
.circuit-person-relevance { margin: 1px 0 0; padding: 6px 7px; border-left: 3px solid var(--red); background: color-mix(in srgb, var(--yellow) 34%, var(--paper)); font-size: 10px; line-height: 1.2; }
.circuit-person-events { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; min-height: 22px; }
.circuit-person-events > span, .circuit-person-events summary { padding: 4px 5px; border: 1px solid var(--ink); background: var(--white); font: 800 7px var(--mono); text-transform: uppercase; }
.circuit-person-events details { position: relative; }.circuit-person-events summary { cursor: pointer; list-style: none; }.circuit-person-events summary::-webkit-details-marker { display: none; }
.circuit-person-events details > div { position: absolute; right: 0; bottom: calc(100% + 4px); display: grid; gap: 4px; min-width: 138px; padding: 6px; border: 1px solid var(--ink); background: var(--paper); box-shadow: 3px 3px 0 var(--red); }
.circuit-person-events details > div span { padding: 4px; border: 1px solid var(--ink); font: 800 7px var(--mono); text-transform: uppercase; }
.circuit-person-card footer { display: flex; align-items: center; justify-content: space-between; gap: 7px; margin-top: auto; }
.circuit-person-badge { max-width: 105px; background: var(--cyan); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.circuit-person-card footer .button { min-height: 32px; padding: 8px 9px; box-shadow: 2px 2px 0 var(--red); font-size: 8px; }
.directory-pagination { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 30px 0 18px; font: 800 10px var(--mono); text-transform: uppercase; }
.directory-pagination a[aria-disabled="true"] { pointer-events: none; opacity: .45; }
.people-directory-footnote { margin-top: 34px; padding: 15px 17px; border: 2px solid var(--ink); background: var(--white); font-size: 12px; }.people-directory-footnote strong { margin-right: 6px; }
@keyframes person-card-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@media (min-width: 1640px) { .circuit-person-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 1120px) { .people-toolbar-row { align-items: flex-start; flex-direction: column; }.circuit-person-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .people-discovery-header { display: grid; margin-top: 26px; }.people-discovery-toolbar { position: static; }.people-selects { width: 100%; }.people-selects select { flex: 1 1 42%; max-width: none; min-height: 44px; }.people-filter-chips button { min-height: 44px; }.people-clear, .people-alphabet summary { min-height: 44px; }.circuit-person-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }.circuit-person-card { min-height: 238px; }.circuit-person-card footer { align-items: flex-end; flex-direction: column; }.circuit-person-badge { max-width: 100%; }.circuit-person-card footer .button { width: 100%; } }
@media (max-width: 480px) { .people-discovery-header h1 { font-size: 50px; }.people-toolbar-row { gap: 9px; }.people-filter-chips { flex-wrap: nowrap; width: 100%; overflow-x: auto; }.people-filter-chips button { flex: 0 0 auto; }.circuit-person-grid { grid-template-columns: 1fr; }.circuit-person-card { min-height: 225px; }.people-results { font-size: 8px; } }
@media (prefers-reduced-motion: reduce) { .circuit-person-card, .circuit-person-avatar { animation: none; transition: none; }.circuit-person-card:hover, .circuit-person-card:focus-within { transform: none; } }
.passport-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 22px; margin-bottom: 42px; }
.passport-card, .pulse-card { min-height: 245px; padding: 25px; border: 2px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); }
.passport-card { display: grid; grid-template-columns: auto 1fr; gap: 17px; align-content: start; background: var(--ink); color: var(--paper); }
.passport-card--circuit-scout { border-color: var(--cyan); }
.passport-card--event-builder { border-color: var(--yellow); }
.passport-card--trusted-curator { border-color: var(--lime); }
.passport-card--circuit-insider { border-color: var(--red); }
.passport-card--founding-circuit-member { border-color: var(--paper); }
.passport-avatar { display: grid; place-items: center; width: 78px; height: 78px; padding: 5px; border: 3px solid currentColor; border-radius: 50%; font: 900 18px var(--mono); transform: rotate(-8deg); }
.passport-avatar span { display: grid; width: 100%; height: 100%; place-items: center; border: 2px solid currentColor; border-radius: 50%; }
.passport-avatar--circuit-scout { color: var(--cyan); }
.passport-avatar--event-builder { color: var(--yellow); }
.passport-avatar--trusted-curator { color: var(--lime); }
.passport-avatar--circuit-insider { color: var(--red); }
.passport-avatar--founding-circuit-member { color: var(--paper); }
.passport-card h2 { margin: 10px 0 8px; font: 900 clamp(38px, 5vw, 66px)/.78 var(--display); text-transform: uppercase; }
.passport-card p, .pulse-card p { margin: 0; max-width: 430px; color: #cfc6b7; font-size: 13px; line-height: 1.45; }
.passport-stats { display: grid; grid-template-columns: auto 1fr auto 1fr; grid-column: 1 / -1; gap: 8px 12px; align-items: end; margin-top: 12px; padding-top: 14px; border-top: 1px solid #5b564e; }
.passport-stats strong { color: var(--yellow); font: 900 36px/.8 var(--display); }
.passport-stats span { font: 700 9px var(--mono); text-transform: uppercase; }
.passport-card .demo-note { grid-column: 1 / -1; color: #aaa293; line-height: 1.4; }
.pulse-card { background: var(--cyan); }
.pulse-card h3 { margin: 13px 0 8px; font: 900 clamp(38px, 4vw, 48px)/.78 var(--display); text-transform: uppercase; }
.pulse-card p { color: #2b3232; }
.pulse-track { height: 13px; margin: 19px 0; border: 2px solid var(--ink); background: var(--paper); }
.pulse-track span { display: block; height: 100%; background: var(--red); }
.passport-missions { display: grid; gap: 8px; }
.passport-mission { display: flex; gap: 9px; align-items: flex-start; padding-top: 8px; border-top: 1px solid rgba(17,17,15,.35); }
.passport-mission > span { font: 900 17px var(--mono); }
.passport-mission strong, .passport-mission small { display: block; }
.passport-mission strong { font: 800 14px/.9 var(--display); text-transform: uppercase; }
.passport-mission small { margin-top: 3px; font-size: 11px; line-height: 1.35; }
.passport-mission.is-complete { color: var(--red); }
.warning-panel { display: flex; align-items: center; gap: 15px; margin-bottom: 24px; padding: 14px 17px; border: 2px solid var(--ink); background: var(--yellow); font-size: 13px; }
.warning-panel strong { font: 800 23px/.85 var(--display); text-transform: uppercase; }
.circuit-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 22px; }
.subheading { margin: 0 0 15px; font: 800 38px/.82 var(--display); text-transform: uppercase; }
.agenda-row { display: grid; grid-template-columns: 150px 1fr; gap: 18px; padding: 19px 0; border-bottom: 2px solid var(--ink); }
.agenda-time { color: var(--red); font: 700 10px var(--mono); text-transform: uppercase; }
.agenda-time strong { display: block; margin-top: 8px; color: var(--ink); font: 800 28px/.8 var(--display); }
.agenda-event h3 { margin: 0; font: 800 35px/.82 var(--display); text-transform: uppercase; }
.agenda-event p { margin: 7px 0; color: var(--muted); font-size: 12px; }
.note-row { display: flex; gap: 8px; align-items: end; }
.note-row textarea { flex: 1; min-height: 44px; padding: 8px; border: 2px solid var(--ink); background: var(--white); font-size: 12px; }
.hidden-list { margin-top: 48px; padding-top: 22px; border-top: 3px solid var(--ink); }
.hidden-list > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid #bdb3a1; font: 700 12px var(--mono); }
.demo-note { color: var(--muted); font: 10px var(--mono); text-transform: uppercase; }
.mission-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 22px; margin-top: 48px; }
.mission { display: flex; justify-content: space-between; gap: 15px; padding: 16px 0; border-bottom: 2px solid var(--ink); }
.mission strong, .mission small { display: block; }
.mission strong { font: 800 25px/.85 var(--display); text-transform: uppercase; }
.mission small { margin-top: 7px; color: var(--muted); font: 10px var(--mono); }
.mission-progress { flex: 0 0 120px; text-align: right; font: 700 10px var(--mono); }
.mission-progress > div { height: 10px; margin-top: 9px; padding: 2px; border: 1px solid var(--ink); }
.mission-progress i { display: block; height: 100%; background: var(--red); }
.big-number { display: block; margin: 15px 0; font: 900 100px/.75 var(--display); }
.admin-actions { display: flex; flex-wrap: wrap; gap: 5px; }
.admin-actions .button { box-shadow: none; }

@media (max-width: 680px) {
  .passport-grid { grid-template-columns: 1fr; }
  .passport-stats { grid-template-columns: auto 1fr; }
  .calendar-controls { display: grid; grid-template-columns: 1fr 1fr; }
  .calendar-controls .filter-select, .calendar-controls .date-filter, .calendar-controls .view-toggle { grid-column: 1 / -1; }
  .calendar-grid { min-width: 720px; }
  .calendar-board { overflow-x: auto; }
  .calendar-weekdays { min-width: 720px; }
  .calendar-nav { position: sticky; left: 0; min-width: 720px; }
  .week-grid { min-width: 840px; }
  .calendar-timeline { width: calc(100% - 28px); padding: 18px 14px; }
  .calendar-timeline-item { grid-template-columns: 1fr; gap: 18px; padding: 24px 0; }
  .calendar-timeline-content { margin: 0; }
  .calendar-timeline-title-row { gap: 10px; }
  .calendar-timeline-title-row > a { flex-basis: auto; }
  .calendar-timeline-place { width: min(100%, 260px); }
  .circuit-toolbar, .warning-panel { display: block; }
  .circuit-toolbar h2 { font-size: 50px; }
  .circuit-actions { margin-top: 18px; }
  .directory-preview-intro { display: block; }.directory-preview-intro p { margin-top: 16px; }.member-directory-grid { grid-template-columns: 1fr; }.member-directory-card { grid-template-columns: 72px minmax(0, 1fr); }.member-circuit-preview { grid-column: 1 / -1; }
  .circuit-layout, .mission-grid { grid-template-columns: 1fr; }
  .agenda-row { grid-template-columns: 1fr; gap: 10px; }
  .agenda-time strong { display: inline; margin-left: 9px; }
  .note-row { display: block; }
  .note-row .button { margin-top: 6px; }
  .mission { display: block; }
  .mission-progress { margin-top: 12px; text-align: left; }
}

/* Circuit Planner: a route-first alternative to a traditional calendar grid. */
.planner-overview { display: grid; grid-template-columns: 1.1fr .9fr; gap: 18px; margin-bottom: 25px; }
.planner-overview-copy { padding: 26px; border: 2px solid var(--ink); background: var(--ink); color: var(--paper); box-shadow: 6px 6px 0 var(--red); }
.planner-overview-copy .eyebrow { color: var(--yellow); }
.planner-overview-copy h2 { max-width: 620px; margin: 17px 0 10px; font: 900 clamp(48px, 6vw, 86px)/.75 var(--display); text-transform: uppercase; letter-spacing: -.055em; }
.planner-overview-copy p { max-width: 590px; margin: 0; color: #d8cfbf; font-size: 14px; line-height: 1.5; }
.planner-stats { display: grid; grid-template-columns: repeat(2, 1fr); border: 2px solid var(--ink); background: var(--white); box-shadow: 6px 6px 0 var(--ink); }
.planner-stats > div { min-height: 109px; padding: 17px; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); background: var(--paper-2); }
.planner-stats > div:nth-child(2) { background: var(--cyan); }
.planner-stats > div:nth-child(3) { background: var(--yellow); }
.planner-stats > div:nth-child(4) { border-right: 0; border-bottom: 0; background: var(--red); color: var(--paper); }
.planner-stats > div:nth-child(3) { border-bottom: 0; }
.planner-stats strong { display: block; font: 900 50px/.8 var(--display); }
.planner-stats span { display: block; margin-top: 10px; font: 700 9px var(--mono); text-transform: uppercase; }
.route-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; align-items: start; gap: 22px; }
.route-main { min-width: 0; }
.route-leg { position: relative; padding: 0 0 40px 78px; }
.route-leg::before { content: ''; position: absolute; left: 24px; top: 50px; bottom: 18px; width: 3px; background: var(--ink); }
.route-leg:last-child::before { bottom: 75px; }
.route-leg-heading { display: flex; align-items: start; gap: 16px; margin-bottom: 22px; }
.route-leg-number { position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 51px; height: 51px; border: 2px solid var(--ink); background: var(--yellow); box-shadow: 3px 3px 0 var(--red); font: 900 20px var(--display); }
.route-leg-heading h2 { margin: 7px 0 5px; font: 900 53px/.78 var(--display); text-transform: uppercase; letter-spacing: -.04em; }
.route-leg-heading p { margin: 0; color: var(--muted); font: 10px var(--mono); text-transform: uppercase; }
.route-day { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 17px; position: relative; margin-bottom: 19px; }
.route-day-marker { position: relative; z-index: 1; align-self: start; padding: 9px 4px; background: var(--paper); border: 2px solid var(--ink); text-align: center; }
.route-day-marker span, .route-day-marker small { display: block; color: var(--red); font: 700 9px var(--mono); text-transform: uppercase; }
.route-day-marker strong { display: block; margin: 5px 0; font: 900 38px/.75 var(--display); }
.route-day-events { display: grid; gap: 11px; min-width: 0; }
.route-card { display: grid; grid-template-columns: 8px minmax(0, 1fr); border: 2px solid var(--ink); background: var(--white); box-shadow: 4px 4px 0 var(--ink); }
.route-card-rail { background: var(--tone, var(--red)); }
.route-card-body { min-width: 0; padding: 16px 18px 14px; }
.route-card-top { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.route-card-top .eyebrow { color: var(--muted); font-size: 9px; }
.route-card-top .save-button { flex: 0 0 auto; }
.route-card h3 { margin: 11px 0 7px; font: 900 clamp(29px, 4vw, 52px)/.78 var(--display); text-transform: uppercase; letter-spacing: -.04em; }
.route-card p { max-width: 700px; margin: 0 0 13px; color: #615b50; font-size: 12px; line-height: 1.45; }
.route-card-meta, .route-card-footer { display: flex; flex-wrap: wrap; gap: 7px 15px; font: 9px var(--mono); text-transform: uppercase; }
.route-card-meta { padding: 10px 0; border-top: 1px solid #bdb3a1; border-bottom: 1px solid #bdb3a1; color: var(--ink); }
.route-card-meta span:first-child { color: var(--red); font-weight: 700; }
.route-card-footer { align-items: center; padding-top: 10px; color: var(--muted); }
.route-card-footer .status { margin-right: 0; }
.route-sidebar { position: sticky; top: 95px; }
.route-sidebar-card { padding: 20px; margin-bottom: 17px; border: 2px solid var(--ink); background: var(--white); box-shadow: 5px 5px 0 var(--ink); }
.route-sidebar-card .eyebrow { color: var(--red); }
.route-sidebar-card h3 { margin: 13px 0 18px; font: 900 38px/.78 var(--display); text-transform: uppercase; }
.route-sidebar-card p { color: #615b50; font-size: 12px; line-height: 1.5; }
.route-next { background: var(--yellow); }
.route-next strong { display: block; margin: 17px 0 8px; font: 900 38px/.78 var(--display); text-transform: uppercase; }
.route-next span { display: block; margin-bottom: 17px; font: 10px var(--mono); text-transform: uppercase; }
.route-cluster { display: grid; grid-template-columns: 1fr auto; gap: 3px 10px; padding: 11px 0; border-top: 1px solid #bdb3a1; }
.route-cluster span { font-weight: 700; }
.route-cluster strong { color: var(--red); font: 900 28px/.8 var(--display); }
.route-cluster small { grid-column: 1 / -1; color: var(--muted); font: 9px var(--mono); text-transform: uppercase; }
.route-sidebar-note { background: var(--cyan); }
.route-race-track { position: absolute; left: 19px; top: 0; bottom: 0; width: 13px; border-left: 2px dashed var(--red); border-right: 2px dashed var(--red); pointer-events: none; }
.route-race-label { position: absolute; top: -17px; left: 24px; color: var(--red); white-space: nowrap; font: 700 8px var(--mono); letter-spacing: .12em; transform: rotate(-90deg); transform-origin: left top; }
.route-race-car { position: absolute; left: -15px; top: 0; display: grid; place-items: center; width: 38px; height: 28px; background: var(--yellow); border: 2px solid var(--ink); border-radius: 7px 12px 5px 5px; font-size: 18px; line-height: 1; animation: circuit-drive 9s linear infinite; }
.sponsor-badge { display: inline-block; padding: 2px 4px; border: 1px solid var(--ink); background: var(--yellow); color: var(--ink); font: 700 8px var(--mono); letter-spacing: .04em; text-transform: uppercase; }
@keyframes circuit-drive { 0% { top: 0; transform: rotate(0deg); } 48% { top: calc(100% - 40px); transform: rotate(0deg); } 52% { top: calc(100% - 40px); transform: rotate(180deg); } 100% { top: 0; transform: rotate(180deg); } }
@media (prefers-reduced-motion: reduce) { .route-race-car { animation: none; } }

@media (max-width: 980px) {
  .planner-overview, .route-layout { grid-template-columns: 1fr; }
  .route-sidebar { position: static; display: grid; grid-template-columns: repeat(2, 1fr); gap: 17px; }
  .route-sidebar-card { margin-bottom: 0; }
  .route-sidebar-note { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .planner-overview-copy { padding: 20px; }
  .planner-overview-copy h2 { font-size: 54px; }
  .planner-stats > div { min-height: 83px; padding: 13px; }
  .planner-stats strong { font-size: 39px; }
  .route-leg { padding-left: 0; }
  .route-leg::before, .route-leg-number { display: none; }
  .route-leg-heading { padding-top: 5px; }
  .route-leg-heading h2 { font-size: 45px; }
  .route-day { grid-template-columns: 57px minmax(0, 1fr); gap: 9px; }
  .route-day-marker { padding: 7px 2px; }
  .route-day-marker strong { font-size: 30px; }
  .route-card { grid-template-columns: 6px minmax(0, 1fr); }
  .route-card-body { padding: 13px 12px 12px; }
  .route-card h3 { font-size: 34px; }
  .route-card p { font-size: 11px; }
  .route-card-meta, .route-card-footer { gap: 6px 10px; font-size: 8px; }
  .route-sidebar { display: block; }
  .route-sidebar-card { margin-bottom: 15px; }
  .route-race-track { position: relative; left: auto; top: auto; bottom: auto; width: 100%; height: 28px; margin: 0 0 22px; border: 2px dashed var(--red); background: repeating-linear-gradient(90deg, var(--ink) 0 14px, var(--paper) 14px 28px); }
  .route-race-label { top: 7px; left: 8px; color: var(--paper); transform: none; }
  .route-race-car { top: -3px; left: 0; animation-name: circuit-drive-mobile; }
}
@keyframes circuit-drive-mobile { 0% { left: 0; } 48% { left: calc(100vw - 75px); } 52% { left: calc(100vw - 75px); transform: scaleX(-1); } 100% { left: 0; transform: scaleX(-1); } }

/* Grand Prix route hero: the calendar keeps its utility, but the first impression has race-day energy. */
.gp-stage { display: grid; grid-template-columns: .85fr 1.15fr; gap: 18px; margin: 0 0 26px; min-height: 300px; border: 3px solid var(--ink); background: var(--red); color: var(--paper); box-shadow: 8px 8px 0 var(--ink); overflow: hidden; }
.gp-stage-copy { position: relative; padding: 24px; background: linear-gradient(145deg, var(--red) 0 56%, #9f1d18 56% 100%); }
.gp-stage-copy .eyebrow { color: var(--yellow); }
.gp-stage-copy h2 { margin: 22px 0 14px; font: 900 clamp(48px, 6vw, 76px)/.78 var(--display); text-transform: uppercase; letter-spacing: -.05em; }
.gp-stage-copy h2 em { color: var(--yellow); font-style: normal; }
.gp-stage-copy p { max-width: 310px; margin: 0; color: #f7e8d5; font-size: 12px; line-height: 1.45; }
.gp-telemetry { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.gp-telemetry span { padding: 7px 9px; border: 1px solid rgba(255,255,255,.55); color: var(--paper); font: 9px var(--mono); text-transform: uppercase; }
.gp-telemetry b { display: inline-block; margin-right: 4px; color: var(--yellow); font: 900 20px/.8 var(--display); }
.gp-track-wrap { position: relative; min-height: 300px; background: var(--ink); overflow: hidden; }
.gp-track-svg { display: block; width: 100%; height: 100%; min-height: 300px; }
.gp-track-shadow { fill: none; stroke: #000; stroke-width: 47; opacity: .8; }
.gp-track-lane { fill: none; stroke: var(--paper-2); stroke-width: 39; }
.gp-track-line { fill: none; stroke: var(--red); stroke-width: 26; stroke-dasharray: 14 10; animation: gp-flow 1.2s linear infinite; }
.gp-shortcut { fill: none; stroke: var(--yellow); stroke-width: 3; stroke-dasharray: 6 7; opacity: .8; }
.gp-finish { transform-origin: center; animation: gp-flag 1.5s steps(2) infinite; }
.gp-popup { position: absolute; max-width: 185px; padding: 9px 11px; border: 2px solid var(--ink); background: var(--yellow); color: var(--ink); box-shadow: 4px 4px 0 var(--red); animation: gp-popup 5.5s ease-in-out infinite; }
.gp-popup span { display: block; font: 700 8px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.gp-popup strong { display: block; margin-top: 4px; font: 800 22px/.85 var(--display); text-transform: uppercase; }
.gp-popup small { display: block; margin-top: 6px; font: 9px var(--mono); text-transform: uppercase; }
.gp-popup-a { top: 18px; right: 20px; animation-delay: -.7s; }
.gp-popup-b { bottom: 22px; left: 22px; background: var(--cyan); animation-delay: -2.5s; }
.gp-popup-c { top: 45%; right: 16px; background: var(--paper); animation-delay: -4s; }
.gp-track-label { position: absolute; left: 16px; bottom: 13px; color: var(--paper); font: 700 9px var(--mono); letter-spacing: .13em; }
.gp-track-label b { color: var(--yellow); }
@keyframes gp-flow { to { stroke-dashoffset: -48px; } }
@keyframes gp-popup { 0%, 100% { opacity: .55; transform: translateY(8px) rotate(-1deg); } 12%, 72% { opacity: 1; transform: translateY(0) rotate(0); } 82% { opacity: .65; transform: translateY(-5px) rotate(1deg); } }
@keyframes gp-flag { 50% { transform: skewX(-8deg); } }
@media (max-width: 980px) { .gp-stage { grid-template-columns: 1fr; } .gp-track-wrap { min-height: 260px; } }
@media (max-width: 680px) { .gp-stage-copy { padding: 19px; } .gp-stage-copy h2 { font-size: 52px; } .gp-track-wrap { min-height: 250px; } .gp-popup { max-width: 150px; padding: 7px 8px; } .gp-popup strong { font-size: 17px; } .gp-popup-a { top: 10px; right: 10px; } .gp-popup-b { bottom: 12px; left: 10px; } .gp-popup-c { top: 43%; right: 8px; } }
@media (prefers-reduced-motion: reduce) { .gp-track-line, .gp-finish, .gp-popup { animation: none; } }

.calendar-controls { background: var(--ink); color: var(--paper); border-color: var(--ink); box-shadow: 7px 7px 0 var(--red); }
.calendar-controls .filter-select, .calendar-controls .date-filter { background: #24231f; color: var(--paper); border-color: var(--paper); }
.calendar-controls .date-filter input { color: var(--paper); }
.calendar-controls .view-toggle { border-color: var(--paper); }
.calendar-controls .view-toggle button { background: transparent; color: var(--paper); border-color: #514c43; }
.calendar-controls .view-toggle button.active { background: var(--yellow); color: var(--ink); }

/* Compact calendar scale: preserve the Grand Prix character without making the event feed feel oversized. */
.calendar-page-hero { padding: 42px 0 30px; }
.calendar-page-hero h1 { margin-top: 13px; font-size: clamp(58px, 8vw, 112px); }
.calendar-page-hero p { max-width: 560px; margin-top: 16px; font-size: 14px; }
.calendar-page-hero + .section { padding-top: 44px; }
.planner-overview { gap: 14px; margin-bottom: 20px; }
.planner-overview-copy { padding: 20px; }
.planner-overview-copy h2 { margin: 12px 0 8px; font-size: clamp(40px, 5vw, 68px); }
.planner-overview-copy p { font-size: 12px; }
.planner-stats > div { min-height: 88px; padding: 13px; }
.planner-stats strong { font-size: 42px; }
.planner-stats span { margin-top: 7px; }
.route-leg { padding-bottom: 30px; }
.route-leg-heading { gap: 12px; margin-bottom: 16px; }
.route-leg-number { width: 45px; height: 45px; font-size: 18px; }
.route-leg-heading h2 { margin-top: 5px; font-size: 45px; }
.route-day { gap: 13px; margin-bottom: 14px; }
.route-day-marker { padding: 7px 3px; }
.route-day-marker strong { margin: 4px 0; font-size: 33px; }
.route-card-body { padding: 13px 15px 12px; }
.route-card h3 { margin: 8px 0 6px; font-size: clamp(26px, 3.4vw, 44px); }
.route-card p { margin-bottom: 10px; font-size: 11px; }
.route-card-meta { padding: 8px 0; }
.route-card-footer { padding-top: 8px; }
.route-sidebar-card { padding: 16px; margin-bottom: 14px; }
.route-sidebar-card h3 { margin: 10px 0 14px; font-size: 33px; }
.route-next strong { margin: 13px 0 7px; font-size: 33px; }
.route-next span { margin-bottom: 13px; }
.gp-stage { gap: 12px; min-height: 230px; margin-bottom: 20px; box-shadow: 6px 6px 0 var(--ink); }
.gp-stage-copy { padding: 18px; }
.gp-stage-copy h2 { margin: 13px 0 10px; font-size: clamp(40px, 5vw, 62px); }
.gp-stage-copy p { max-width: 280px; font-size: 11px; }
.gp-telemetry { gap: 6px; margin-top: 14px; }
.gp-telemetry span { padding: 6px 8px; font-size: 8px; }
.gp-telemetry b { font-size: 18px; }
.gp-track-wrap, .gp-track-svg { min-height: 230px; }
.gp-popup { max-width: 160px; padding: 8px 9px; }
.gp-popup strong { font-size: 18px; }

@media (max-width: 680px) {
  .calendar-page-hero { padding: 32px 0 24px; }
  .calendar-page-hero h1 { margin-top: 10px; font-size: 58px; }
  .calendar-page-hero p { margin-top: 13px; font-size: 13px; line-height: 1.4; }
  .calendar-page-hero + .section { padding-top: 28px; }
  .calendar-controls { gap: 6px; padding: 10px; margin-bottom: 18px; }
  .calendar-summary { margin-bottom: 13px; }
  .planner-overview { gap: 10px; margin-bottom: 16px; }
  .planner-overview-copy { padding: 15px; }
  .planner-overview-copy h2 { margin: 9px 0 7px; font-size: 40px; }
  .planner-overview-copy p { font-size: 11px; line-height: 1.35; }
  .planner-stats > div { min-height: 65px; padding: 9px; }
  .planner-stats strong { font-size: 31px; }
  .planner-stats span { margin-top: 5px; font-size: 8px; }
  .route-leg { padding-bottom: 23px; }
  .route-leg-heading { padding-top: 2px; margin-bottom: 12px; }
  .route-leg-heading h2 { font-size: 35px; }
  .route-day { grid-template-columns: 51px minmax(0, 1fr); gap: 8px; margin-bottom: 11px; }
  .route-day-marker { padding: 6px 2px; }
  .route-day-marker span, .route-day-marker small { font-size: 8px; }
  .route-day-marker strong { margin: 3px 0; font-size: 25px; }
  .route-card { grid-template-columns: 5px minmax(0, 1fr); box-shadow: 3px 3px 0 var(--ink); }
  .route-card-body { padding: 10px 10px 9px; }
  .route-card h3 { margin: 6px 0 5px; font-size: 27px; }
  .route-card p { margin-bottom: 8px; font-size: 10px; line-height: 1.35; }
  .route-card-meta, .route-card-footer { gap: 5px 8px; font-size: 7px; }
  .route-card-meta { padding: 7px 0; }
  .route-card-footer { padding-top: 7px; }
  .gp-stage { gap: 0; margin-bottom: 17px; border-width: 2px; box-shadow: 4px 4px 0 var(--ink); }
  .gp-stage-copy { padding: 13px 14px; }
  .gp-stage-copy h2 { margin: 8px 0 7px; font-size: 40px; }
  .gp-stage-copy p { max-width: none; font-size: 10px; line-height: 1.3; }
  .gp-telemetry { gap: 5px; margin-top: 10px; }
  .gp-telemetry span { padding: 5px 6px; font-size: 7px; }
  .gp-telemetry b { font-size: 16px; }
  .gp-track-wrap, .gp-track-svg { min-height: 195px; }
  .gp-popup { max-width: 135px; padding: 6px 7px; box-shadow: 3px 3px 0 var(--red); }
  .gp-popup span { font-size: 7px; }
  .gp-popup strong { font-size: 16px; }
  .gp-popup small { margin-top: 4px; font-size: 7px; }
  .gp-popup-a { top: 8px; right: 8px; }
  .gp-popup-b { bottom: 9px; left: 9px; }
  .gp-popup-c { top: 43%; right: 7px; }
  .gp-track-label { left: 10px; bottom: 9px; font-size: 7px; }
}

/* Restored density-first calendar: familiar month map, compact cells, selected-day run sheet. */
.calendar-page-hero { padding: 38px 0 27px; }
.calendar-page-hero h1 { font-size: clamp(54px, 7.5vw, 104px); }
.calendar-page-hero p { max-width: 560px; margin-top: 14px; font-size: 14px; }
.calendar-page-hero + .section { padding-top: 38px; }
.calendar-controls { padding: 12px; gap: 7px; margin-bottom: 19px; background: var(--paper-2); color: var(--ink); border-color: var(--ink); box-shadow: 5px 5px 0 var(--ink); }
.calendar-controls .filter-select, .calendar-controls .date-filter { background: var(--white); color: var(--ink); border-color: var(--ink); }
.calendar-controls .date-filter input { color: var(--ink); }
.calendar-controls .view-toggle { border-color: var(--ink); }
.calendar-controls .view-toggle button { background: var(--paper); color: var(--ink); border-color: var(--ink); }
.calendar-controls .view-toggle button.active { background: var(--yellow); color: var(--ink); }
.calendar-overview { display: grid; grid-template-columns: 1.05fr .95fr; gap: 14px; margin-bottom: 18px; }
.calendar-overview-copy { padding: 19px; border: 2px solid var(--ink); background: var(--ink); color: var(--paper); box-shadow: 5px 5px 0 var(--red); }
.calendar-overview-copy .eyebrow { color: var(--yellow); }
.calendar-overview-copy h2 { max-width: 520px; margin: 12px 0 7px; font: 800 clamp(38px, 4.5vw, 64px)/.78 var(--display); text-transform: uppercase; letter-spacing: -.045em; }
.calendar-overview-copy p { max-width: 500px; margin: 0; color: #d7cfbf; font-size: 12px; line-height: 1.4; }
.calendar-stats { display: grid; grid-template-columns: repeat(2, 1fr); border: 2px solid var(--ink); background: var(--white); box-shadow: 5px 5px 0 var(--ink); }
.calendar-stats > div { min-height: 86px; padding: 13px; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); background: var(--paper-2); }
.calendar-stats > div:nth-child(2) { background: var(--cyan); }
.calendar-stats > div:nth-child(3) { background: var(--yellow); }
.calendar-stats > div:nth-child(4) { background: var(--red); color: var(--paper); border-right: 0; }
.calendar-stats > div:nth-child(3), .calendar-stats > div:nth-child(4) { border-bottom: 0; }
.calendar-stats strong { display: block; font: 800 40px/.8 var(--display); }
.calendar-stats span { display: block; margin-top: 7px; font: 700 8px var(--mono); text-transform: uppercase; }
.calendar-nav-title { display: grid; gap: 3px; text-align: center; }
.calendar-nav-title span { color: #625b4f; font: 700 8px var(--mono); text-transform: uppercase; }
.calendar-month-layout { display: grid; grid-template-columns: minmax(0, 1fr) 285px; align-items: stretch; }
.calendar-month-main { min-width: 0; }
.calendar-board { box-shadow: 5px 5px 0 var(--ink); }
.calendar-cell { min-height: 96px; position: relative; padding: 7px; }
.calendar-cell.selected { background: var(--cyan); box-shadow: inset 0 0 0 3px var(--ink); }
.calendar-date-button { display: flex; align-items: center; gap: 6px; width: 100%; margin: 0 0 5px; padding: 0; border: 0; background: transparent; color: var(--ink); text-align: left; }
.calendar-date-button:focus-visible { outline: 3px solid var(--red); outline-offset: 2px; }
.calendar-date { flex: 0 0 auto; width: 23px; height: 23px; margin: 0; }
.calendar-date-weekday { display: none; color: var(--muted); font: 700 8px var(--mono); text-transform: uppercase; }
.calendar-count { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 4px; border: 1px solid var(--ink); background: var(--yellow); color: var(--ink); font: 700 8px var(--mono); }
.calendar-cell-events { min-width: 0; }
.calendar-event { overflow: hidden; margin: 3px 0; padding: 4px 5px; border-left: 4px solid var(--tone, var(--red)); background: var(--paper-2); font-size: 9px; line-height: 1.05; }
.calendar-event-time { display: block; margin-bottom: 2px; color: var(--muted); font: 700 7px var(--mono); text-transform: uppercase; }
.calendar-event strong { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.calendar-event small { display: none; }
.calendar-more { width: 100%; margin-top: 4px; padding: 3px 0; border: 0; background: transparent; color: var(--red); text-align: left; font: 700 8px var(--mono); text-transform: uppercase; }
.calendar-legend { display: flex; flex-wrap: wrap; gap: 7px 12px; padding: 9px 10px; border-top: 2px solid var(--ink); background: var(--paper-2); color: var(--muted); font: 700 7px var(--mono); text-transform: uppercase; }
.calendar-legend span { display: inline-flex; align-items: center; gap: 4px; }
.calendar-legend i { width: 8px; height: 8px; display: inline-block; background: var(--tone, var(--red)); border: 1px solid var(--ink); }
.calendar-focus { min-width: 0; padding: 17px 14px; border-left: 2px solid var(--ink); background: var(--ink); color: var(--paper); }
.calendar-focus-kicker { color: var(--yellow); font: 700 8px var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.calendar-focus-heading { display: flex; align-items: end; justify-content: space-between; gap: 7px; margin: 10px 0 14px; padding-bottom: 11px; border-bottom: 2px solid #4a463f; }
.calendar-focus-heading h3 { margin: 0; font: 800 29px/.82 var(--display); text-transform: uppercase; }
.calendar-focus-heading span { color: #aaa293; font: 700 8px var(--mono); text-align: right; text-transform: uppercase; }
.calendar-focus-list { display: grid; gap: 6px; }
.calendar-focus-event { display: grid; grid-template-columns: 48px 8px minmax(0, 1fr) 13px; align-items: start; gap: 6px; padding: 8px 0; border-bottom: 1px solid #4a463f; }
.calendar-focus-time { color: var(--yellow); font: 700 8px var(--mono); line-height: 1.2; text-transform: uppercase; }
.calendar-focus-dot { width: 7px; height: 7px; margin-top: 2px; border-radius: 50%; background: var(--tone, var(--red)); }
.calendar-focus-copy { min-width: 0; }
.calendar-focus-copy strong { display: block; font-size: 11px; line-height: 1.1; }
.calendar-focus-copy small { display: block; margin-top: 4px; color: #aaa293; font: 7px/1.25 var(--mono); text-transform: uppercase; }
.calendar-focus-arrow { color: var(--yellow); font-size: 14px; line-height: .8; }
.calendar-focus-empty { color: #aaa293; font-size: 11px; line-height: 1.4; }
.tone-conference { --tone: var(--red); }
.tone-community { --tone: var(--cyan); }
.tone-dinner { --tone: var(--yellow); }
.tone-online { --tone: var(--lime); }

@media (max-width: 980px) {
  .calendar-overview { grid-template-columns: 1fr; }
  .calendar-month-layout { grid-template-columns: 1fr; }
  .calendar-focus { border-top: 2px solid var(--ink); border-left: 0; }
}
@media (max-width: 680px) {
  .calendar-page-hero { padding: 30px 0 22px; }
  .calendar-page-hero h1 { font-size: 54px; }
  .calendar-page-hero + .section { padding-top: 25px; }
  .calendar-overview-copy { padding: 15px; }
  .calendar-overview-copy h2 { font-size: 42px; }
  .calendar-overview-copy p { font-size: 10px; }
  .calendar-stats > div { min-height: 65px; padding: 9px; }
  .calendar-stats strong { font-size: 31px; }
  .calendar-stats span { font-size: 7px; }
  .calendar-nav { min-width: 0; position: static; padding: 10px 8px; }
  .calendar-nav .button { min-height: 32px; padding: 6px 7px; font-size: 7px; }
  .calendar-nav-title strong { font-size: 18px; }
  .calendar-nav-title span { display: none; }
  .calendar-weekdays { display: none; }
  .calendar-grid { min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calendar-cell.muted { display: none; }
  .calendar-grid.has-events .calendar-cell.empty { display: none; }
  .calendar-cell { min-height: 92px; padding: 7px; }
  .calendar-date-weekday { display: inline; }
  .calendar-date-button { gap: 5px; }
  .calendar-event { padding: 4px; font-size: 9px; }
  .calendar-legend { gap: 6px 8px; font-size: 6px; }
  .calendar-focus { padding: 15px 12px; }
  .calendar-focus-heading h3 { font-size: 26px; }
}

.conference-brand { display: flex; align-items: center; gap: 8px; margin: 11px 0 13px; }
.conference-logo { display: grid; place-items: center; min-width: 32px; height: 27px; padding: 0 5px; border: 2px solid currentColor; background: var(--yellow); color: var(--ink); font: 900 12px/.8 var(--display); letter-spacing: -.04em; }
.conference-brand small, .conference-brand strong { display: block; text-transform: uppercase; }
.conference-brand small { color: inherit; opacity: .72; font: 700 7px var(--mono); letter-spacing: .08em; }
.conference-brand strong { margin-top: 3px; color: inherit; font: 700 10px var(--mono); letter-spacing: .02em; }
.conference-brand-dark { max-width: 290px; margin: 23px 0 0; color: var(--paper); }
.conference-brand-dark .conference-logo { border-color: var(--paper); }
.hub-card .conference-brand { margin-top: 9px; margin-bottom: 9px; }
.hub-card .conference-brand strong { font-size: 9px; }
.event-organiser { display: inline-flex; align-items: center; gap: 5px; }
.event-organiser i { display: inline-grid; place-items: center; min-width: 16px; height: 16px; padding: 0 2px; border: 1px solid currentColor; background: var(--yellow); color: var(--ink); font: 900 7px var(--display); font-style: normal; }
.event-card.featured .event-organiser i { border-color: var(--ink); }

.speaker-intro-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 20px; margin-bottom: 30px; }
.speaker-intro-copy { padding: 28px; border: 2px solid var(--ink); background: var(--ink); color: var(--paper); box-shadow: 6px 6px 0 var(--red); }
.speaker-intro-copy .eyebrow { color: var(--yellow); }
.speaker-intro-copy h2, .speaker-how-grid h2 { max-width: 650px; margin: 17px 0 12px; font: 900 clamp(48px, 6vw, 88px)/.76 var(--display); text-transform: uppercase; letter-spacing: -.055em; }
.speaker-intro-copy p { max-width: 560px; margin: 0; color: #d8cfbf; font-size: 14px; line-height: 1.5; }
.speaker-intro-note { display: flex; flex-direction: column; justify-content: space-between; padding: 24px; border: 2px solid var(--ink); background: var(--yellow); box-shadow: 6px 6px 0 var(--ink); }
.speaker-intro-note strong { max-width: 280px; font: 900 clamp(36px, 4vw, 60px)/.78 var(--display); text-transform: uppercase; }
.speaker-intro-note span { max-width: 300px; margin-top: 30px; font: 700 11px/1.5 var(--mono); text-transform: uppercase; }
.featured-speakers { margin: 44px 0 34px; padding: clamp(22px, 3vw, 34px); border: 3px solid var(--ink); background: var(--paper-2); box-shadow: 8px 8px 0 var(--red); }
.featured-speakers-heading, .speaker-appearances-heading { display: grid; grid-template-columns: 1.15fr .85fr; gap: 28px; align-items: end; margin-bottom: 24px; padding-bottom: 17px; border-bottom: 3px solid var(--ink); }
.featured-speakers-heading h2, .speaker-appearances-heading h2 { margin: 12px 0 0; font: 900 clamp(52px, 7vw, 96px)/.74 var(--display); letter-spacing: -.055em; text-transform: uppercase; }
.featured-speakers-heading p, .speaker-appearances-heading p { max-width: 450px; margin: 0; color: var(--muted); font: 700 10px/1.55 var(--mono); text-transform: uppercase; }
.featured-speaker-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.featured-speaker-card { display: grid; grid-template-columns: minmax(130px, .72fr) 1.28fr; min-height: 280px; overflow: hidden; border: 2px solid var(--ink); background: var(--white); color: var(--ink); box-shadow: 5px 5px 0 var(--ink); transition: transform .15s, box-shadow .15s; }
.featured-speaker-card:hover, .featured-speaker-card:focus-visible { transform: translate(-2px, -2px); box-shadow: 8px 8px 0 var(--ink); }
.featured-speaker-card--cyan { background: var(--cyan); }
.featured-speaker-card--paper { background: var(--yellow); }
.featured-speaker-copy { display: flex; min-width: 0; flex-direction: column; padding: 20px; }
.featured-speaker-copy .eyebrow { margin-top: 24px; font-size: 8px; }
.featured-speaker-copy h3 { margin: 11px 0 9px; font: 900 clamp(40px, 4vw, 64px)/.75 var(--display); letter-spacing: -.05em; text-transform: uppercase; }
.featured-speaker-copy p { margin: 0 0 20px; font: 700 10px/1.35 var(--mono); text-transform: uppercase; }
.featured-speaker-copy > strong { margin-top: auto; padding-top: 13px; border-top: 1px solid currentColor; font: 700 9px var(--mono); text-transform: uppercase; }
.speaker-portrait { position: relative; display: grid; min-width: 0; margin: 0; overflow: hidden; border: 2px solid var(--ink); background: var(--paper); color: var(--ink); box-shadow: 7px 7px 0 var(--yellow); }
.speaker-portrait img { width: 100%; height: 100%; object-fit: cover; }
.speaker-portrait > div { display: grid; min-height: 100%; place-items: center; align-content: center; gap: 12px; padding: 20px; background: linear-gradient(145deg, var(--paper) 0 55%, var(--cyan) 55% 100%); }
.speaker-portrait > div span { font: 900 clamp(60px, 8vw, 118px)/.72 var(--display); letter-spacing: -.06em; }
.speaker-portrait > div small { font: 700 9px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.speaker-portrait figcaption { position: absolute; right: 9px; bottom: 9px; left: 9px; padding: 7px 8px; border: 1px solid var(--ink); background: var(--yellow); color: var(--ink); font: 700 8px var(--mono); text-align: center; text-transform: uppercase; }
.speaker-portrait--compact { height: 100%; min-height: 280px; border: 0; border-right: 2px solid var(--ink); box-shadow: none; }
.speaker-portrait--compact > div span { font-size: clamp(52px, 6vw, 82px); }
.speaker-toolbar { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; margin-bottom: 20px; padding: 14px; border: 2px solid var(--ink); background: var(--paper-2); box-shadow: 5px 5px 0 var(--ink); }
.speaker-toolbar .search-field { flex: 1 1 270px; }
.speaker-results-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin: 34px 0 18px; padding-bottom: 11px; border-bottom: 3px solid var(--ink); }
.speaker-results-heading p { margin: 0; color: var(--muted); font: 10px var(--mono); text-align: right; text-transform: uppercase; }
.speaker-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.speaker-directory { margin-top: 42px; }
.speaker-directory-heading { display: grid; grid-template-columns: 1.05fr .95fr; gap: 28px; align-items: end; margin-bottom: 18px; padding-bottom: 17px; border-bottom: 3px solid var(--ink); }
.speaker-directory-heading h2 { margin: 12px 0 0; font: 900 clamp(48px, 6vw, 82px)/.74 var(--display); letter-spacing: -.055em; text-transform: uppercase; }
.speaker-directory-heading p { max-width: 440px; margin: 0; color: var(--muted); font: 700 10px/1.55 var(--mono); text-transform: uppercase; }
.speaker-alphabet { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 30px; padding: 18px; border: 2px solid var(--ink); background: var(--ink); box-shadow: 6px 6px 0 var(--red); }
.speaker-alphabet a { display: grid; width: 52px; min-height: 52px; place-items: center; border: 2px solid var(--ink); background: var(--paper); color: var(--ink); font: 900 27px/.8 var(--display); text-decoration: none; transition: transform .15s ease, background .15s ease, box-shadow .15s ease; }
.speaker-alphabet a:hover, .speaker-alphabet a:focus-visible, .speaker-alphabet a.active { background: var(--yellow); color: var(--ink); box-shadow: 3px 3px 0 var(--red); outline: 0; transform: translate(-1px, -1px); }
.speaker-alphabet a:first-child { width: auto; min-width: 92px; padding: 0 13px; font: 900 11px var(--mono); text-transform: uppercase; }
.speaker-directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.speaker-directory-card { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 14px; min-height: 132px; padding: 14px; border: 2px solid var(--ink); background: var(--paper); color: var(--ink); box-shadow: 4px 4px 0 var(--ink); transition: transform .15s ease, box-shadow .15s ease; }
.speaker-directory-card:hover, .speaker-directory-card:focus-within { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 var(--red); }
.speaker-directory-card--red { background: var(--red); color: var(--paper); }
.speaker-directory-card--cyan { background: var(--cyan); }
.speaker-directory-card--yellow { background: var(--yellow); }
.speaker-directory-card--lime { background: var(--lime); }
.speaker-directory-card--paper { background: var(--paper-2); }
.speaker-directory-portrait { display: grid; min-height: 74px; place-items: center; align-self: start; border: 2px solid var(--ink); background: var(--paper); color: var(--ink); font: 900 30px/.8 var(--display); letter-spacing: -.05em; }
.speaker-directory-copy { min-width: 0; }
.speaker-directory-copy .eyebrow { font-size: 7px; }
.speaker-directory-copy h3 { margin: 7px 0 5px; font: 900 clamp(28px, 2.6vw, 40px)/.8 var(--display); letter-spacing: -.045em; text-transform: uppercase; }
.speaker-directory-copy p { margin: 0 0 11px; font: 700 9px/1.35 var(--mono); text-transform: uppercase; }
.speaker-directory-copy a { display: inline-block; color: inherit; font: 800 9px var(--mono); text-transform: uppercase; text-decoration: underline; text-underline-offset: 3px; }
.speaker-card { display: flex; min-height: 380px; flex-direction: column; padding: 20px; border: 2px solid var(--ink); background: var(--white); color: var(--ink); box-shadow: 5px 5px 0 var(--ink); transition: transform .15s, box-shadow .15s; }
.speaker-card:hover, .speaker-card:focus-within { transform: translate(-2px, -2px); box-shadow: 8px 8px 0 var(--ink); }
.speaker-card--red { background: var(--red); color: var(--paper); }
.speaker-card--cyan { background: var(--cyan); }
.speaker-card--yellow { background: var(--yellow); }
.speaker-card--lime { background: var(--lime); }
.speaker-card--paper { background: var(--paper-2); }
.speaker-card-top { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.speaker-label { display: inline-flex; width: fit-content; padding: 5px 7px; border: 1px solid currentColor; font: 700 9px var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.speaker-initials, .speaker-profile-mark { display: grid; place-items: center; border: 2px solid var(--ink); background: var(--paper); color: var(--ink); font: 900 28px/.8 var(--display); letter-spacing: -.05em; }
.speaker-initials { width: 63px; height: 63px; }
.speaker-card-copy { margin-top: 34px; }
.speaker-card-copy .eyebrow { font-size: 9px; }
.speaker-card-copy h3 { max-width: 450px; margin: 12px 0 8px; font: 900 clamp(44px, 5vw, 72px)/.74 var(--display); letter-spacing: -.05em; text-transform: uppercase; }
.speaker-role { margin: 0 0 13px; font: 700 12px/1.3 var(--mono); text-transform: uppercase; }
.speaker-card-copy > p:last-child { max-width: 460px; margin: 0; color: inherit; opacity: .78; font-size: 13px; line-height: 1.45; }
.speaker-card-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 16px; border-top: 1px solid currentColor; font: 9px var(--mono); text-transform: uppercase; }
.speaker-card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; margin-top: 15px; }
.speaker-card-actions .button { box-shadow: 3px 3px 0 var(--ink); }
.speaker-text-link { color: inherit; font: 700 10px var(--mono); text-transform: uppercase; }
.speaker-how-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 35px; align-items: start; }
.speaker-how-grid h2 { margin-top: 18px; }
.speaker-how-steps { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 2px solid var(--ink); border-left: 2px solid var(--ink); }
.speaker-how-steps article { min-height: 210px; padding: 17px; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); background: var(--white); }
.speaker-how-steps article:nth-child(2) { background: var(--cyan); }
.speaker-how-steps article:nth-child(3) { background: var(--yellow); }
.speaker-how-steps span { font: 800 13px var(--mono); }
.speaker-how-steps h3 { margin: 42px 0 8px; font: 800 34px/.8 var(--display); text-transform: uppercase; }
.speaker-how-steps p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.4; }
.speaker-profile-hero { padding: 56px 0 48px; border-bottom: 3px solid var(--ink); background: var(--ink); color: var(--paper); }
.speaker-profile-hero--red { background: var(--red); }
.speaker-profile-hero--cyan { background: var(--cyan); color: var(--ink); }
.speaker-profile-hero--yellow { background: var(--yellow); color: var(--ink); }
.speaker-profile-hero--lime { background: var(--lime); color: var(--ink); }
.speaker-profile-hero--paper { background: var(--paper-2); color: var(--ink); }
.speaker-profile-hero-grid { display: grid; grid-template-columns: minmax(220px, 290px) 1fr; gap: clamp(28px, 5vw, 68px); align-items: center; }
.speaker-profile-hero .speaker-portrait { aspect-ratio: 4 / 5; min-height: 0; }
.speaker-profile-mark { width: 150px; height: 150px; font-size: 62px; box-shadow: 7px 7px 0 var(--yellow); }
.speaker-profile-hero h1 { margin: 17px 0 9px; font: 900 clamp(68px, 10vw, 145px)/.72 var(--display); letter-spacing: -.06em; text-transform: uppercase; }
.speaker-profile-hero p { margin: 0; font: 700 13px var(--mono); text-transform: uppercase; }
.speaker-profile-hero-copy { min-width: 0; }
.speaker-profile-preview { max-width: 860px; margin-top: 28px; border: 2px solid currentColor; background: var(--ink); color: var(--paper); box-shadow: 5px 5px 0 var(--red); }
.speaker-profile-preview-note { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 9px 11px; border-bottom: 2px solid var(--paper); background: var(--yellow); color: var(--ink); font-family: var(--mono); text-transform: uppercase; }
.speaker-profile-preview-note strong { font-size: 10px; letter-spacing: .04em; }
.speaker-profile-preview-note span { font-size: 8px; text-align: right; }
.speaker-profile-preview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.speaker-profile-preview-card { display: block; min-height: 105px; color: var(--paper); }
.speaker-profile-preview-card + .speaker-profile-preview-card { border-left: 2px solid var(--paper); }
.speaker-profile-preview-card:hover, .speaker-profile-preview-card:focus-visible { background: #292924; }
.speaker-profile-preview-flyer { min-width: 0; border-right: 2px solid var(--paper); background: var(--paper-2); }
.asset-frame-speaker-preview-flyer { width: 100%; height: 100%; }
.speaker-profile-preview-card > div:last-child { display: flex; min-width: 0; flex-direction: column; padding: 10px; }
.speaker-profile-preview-card span, .speaker-profile-preview-card time, .speaker-profile-preview-card small { font-family: var(--mono); text-transform: uppercase; }
.speaker-profile-preview-card span { color: var(--yellow); font-size: 7px; font-weight: 800; letter-spacing: .05em; }
.speaker-profile-preview-card--past span { color: var(--cyan); }
.speaker-profile-preview-card time { margin-top: 5px; color: #c7bfb1; font-size: 7px; }
.speaker-profile-preview-card strong { margin: 7px 0 5px; overflow-wrap: anywhere; font: 900 clamp(20px, 2.15vw, 34px)/.78 var(--display); letter-spacing: -.035em; text-transform: uppercase; }
.speaker-profile-preview-card small { margin-top: auto; color: #c7bfb1; font-size: 7px; line-height: 1.35; }
.speaker-profile-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 22px; align-items: start; }
.speaker-profile-main { padding: clamp(24px, 4vw, 48px); border: 2px solid var(--ink); background: var(--white); box-shadow: 5px 5px 0 var(--ink); }
.speaker-profile-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; border-bottom: 3px solid var(--ink); padding-bottom: 18px; }
.speaker-profile-heading h2 { margin: 17px 0 0; font: 900 clamp(53px, 6vw, 90px)/.74 var(--display); letter-spacing: -.055em; text-transform: uppercase; }
.speaker-profile-org { padding: 6px 8px; background: var(--cyan); border: 1px solid var(--ink); font: 700 9px var(--mono); text-transform: uppercase; }
.speaker-profile-bio { max-width: 670px; margin: 24px 0 29px; color: var(--muted); font-size: 17px; line-height: 1.5; }
.speaker-facts { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 2px solid var(--ink); border-left: 2px solid var(--ink); }
.speaker-facts > div { min-height: 108px; padding: 15px; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); background: var(--paper-2); }
.speaker-facts > div:nth-child(2) { background: var(--yellow); }
.speaker-facts > div:nth-child(3) { background: var(--cyan); }
.speaker-facts label { display: block; margin-bottom: 8px; color: var(--muted); font: 700 9px var(--mono); text-transform: uppercase; }
.speaker-facts strong { font-size: 14px; line-height: 1.35; }
.speaker-topic-list { margin-top: 28px; }
.speaker-topic-list > div:last-child { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.speaker-topic-list span { padding: 8px 9px; border: 1px solid var(--ink); background: var(--yellow); font: 700 10px var(--mono); text-transform: uppercase; }
.speaker-enquiry-panel { position: sticky; top: 92px; padding: 24px; border: 2px solid var(--ink); background: var(--ink); color: var(--paper); box-shadow: 5px 5px 0 var(--red); }
.speaker-enquiry-panel h2 { margin: 16px 0 10px; font: 900 clamp(45px, 5vw, 71px)/.74 var(--display); letter-spacing: -.055em; text-transform: uppercase; }
.speaker-enquiry-panel p { color: #d8cfbf; font-size: 13px; line-height: 1.5; }
.speaker-enquiry-panel form { display: grid; gap: 13px; margin-top: 22px; }
.speaker-enquiry-panel label { display: grid; gap: 6px; color: var(--paper-2); font: 700 9px var(--mono); text-transform: uppercase; }
.speaker-enquiry-panel input, .speaker-enquiry-panel select, .speaker-enquiry-panel textarea { width: 100%; padding: 10px; border: 2px solid var(--paper); background: var(--paper); color: var(--ink); font: 12px var(--body); }
.speaker-enquiry-panel textarea { min-height: 110px; resize: vertical; }
.speaker-enquiry-panel .button { margin-top: 4px; }
.speaker-enquiry-panel .demo-note { display: block; margin-top: 13px; color: #aaa293; }
.speaker-appearances-section { border-top: 3px solid var(--ink); border-bottom: 3px solid var(--ink); background: var(--paper-2); }
.speaker-appearances-heading p strong { display: block; margin-bottom: 6px; color: var(--red); }
.speaker-appearance-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
.speaker-appearance-column { min-width: 0; }
.speaker-appearance-column-heading { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 8px; margin-bottom: 15px; padding-bottom: 12px; border-bottom: 2px solid var(--ink); }
.speaker-appearance-column-heading .eyebrow { grid-column: 1 / -1; }
.speaker-appearance-column-heading h3 { margin: 0; font: 900 clamp(38px, 4.5vw, 64px)/.76 var(--display); letter-spacing: -.05em; text-transform: uppercase; }
.speaker-appearance-column-heading > span { display: grid; width: 39px; height: 39px; place-items: center; border: 2px solid var(--ink); background: var(--yellow); font: 800 15px var(--mono); }
.speaker-appearance-list { display: grid; gap: 14px; }
.speaker-appearance-card { display: grid; grid-template-columns: 150px minmax(0, 1fr); overflow: hidden; border: 2px solid var(--ink); background: var(--white); box-shadow: 4px 4px 0 var(--ink); }
.speaker-appearance-card--past { background: #e5ded1; }
.speaker-appearance-flyer { position: relative; min-height: 188px; border-right: 2px solid var(--ink); background: var(--ink); }
.asset-frame-speaker-flyer { height: 100%; min-height: 188px; aspect-ratio: 4 / 5; }
.speaker-appearance-flyer > span { position: absolute; top: 9px; left: 9px; z-index: 2; padding: 5px 6px; border: 1px solid var(--ink); background: var(--yellow); color: var(--ink); font: 700 7px var(--mono); text-transform: uppercase; }
.speaker-appearance-card--past .speaker-appearance-flyer > span { background: var(--cyan); }
.speaker-appearance-copy { display: flex; min-width: 0; flex-direction: column; padding: 16px; }
.speaker-appearance-copy time { margin-top: 20px; color: var(--red); font: 800 10px var(--mono); text-transform: uppercase; }
.speaker-appearance-copy h4 { margin: 8px 0 7px; font: 900 clamp(31px, 3vw, 47px)/.78 var(--display); letter-spacing: -.045em; text-transform: uppercase; }
.speaker-appearance-copy p { margin: 0; color: var(--muted); font-size: 12px; }
.speaker-appearance-copy > strong { margin-top: auto; padding-top: 14px; font: 700 9px var(--mono); text-transform: uppercase; }

@media (max-width: 980px) {
  .speaker-intro-grid, .speaker-how-grid, .speaker-profile-layout, .featured-speakers-heading, .speaker-appearances-heading, .speaker-appearance-columns, .speaker-directory-heading { grid-template-columns: 1fr; }
  .speaker-enquiry-panel { position: static; }
  .speaker-how-steps { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 680px) {
  .speaker-grid, .featured-speaker-grid { grid-template-columns: 1fr; }
  .speaker-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .featured-speaker-card { grid-template-columns: 112px 1fr; min-height: 240px; }
  .speaker-portrait--compact { min-height: 240px; }
  .featured-speaker-copy { padding: 15px; }
  .speaker-results-heading { display: block; }
  .speaker-results-heading p { margin-top: 9px; text-align: left; }
  .speaker-how-steps { grid-template-columns: 1fr; }
  .speaker-how-steps article { min-height: 150px; }
  .speaker-how-steps h3 { margin-top: 26px; }
  .speaker-profile-hero { padding: 38px 0 34px; }
  .speaker-profile-hero-grid { grid-template-columns: 112px 1fr; gap: 15px; }
  .speaker-profile-hero .speaker-portrait { width: 112px; }
  .speaker-profile-hero .speaker-portrait figcaption { display: none; }
  .speaker-profile-mark { width: 86px; height: 86px; font-size: 36px; box-shadow: 4px 4px 0 var(--yellow); }
  .speaker-profile-hero h1 { font-size: 55px; }
  .speaker-profile-preview { margin-top: 20px; }
  .speaker-profile-preview-note { display: block; }
  .speaker-profile-preview-note span { display: block; margin-top: 4px; text-align: left; }
  .speaker-profile-preview-grid { grid-template-columns: 1fr; }
  .speaker-profile-preview-card + .speaker-profile-preview-card { border-top: 2px solid var(--paper); border-left: 0; }
  .speaker-appearance-card { grid-template-columns: 112px minmax(0, 1fr); }
  .speaker-appearance-flyer, .asset-frame-speaker-flyer { min-height: 160px; }
  .speaker-appearance-copy { padding: 13px; }
  .speaker-appearance-copy h4 { font-size: 29px; }
}

.landing-v2 { overflow: clip; background: var(--paper); }
.landing-v2 .landing-hero-video { border-bottom: 3px solid var(--ink); }
.landing-video-surface { position: relative; display: flex; min-height: min(860px, calc(100svh - 124px)); align-items: flex-end; overflow: hidden; isolation: isolate; color: var(--paper); background: #1c2b2e; }
.landing-video-surface::before { content: ''; position: absolute; inset: 0; z-index: -4; background: radial-gradient(circle at 75% 25%, rgba(181, 228, 224, .28), transparent 28%), radial-gradient(circle at 20% 75%, rgba(216, 46, 36, .46), transparent 34%), linear-gradient(118deg, #10110f 0%, #273e40 46%, #d82e24 100%); }
.landing-video-surface::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(17,17,15,.82) 0%, rgba(17,17,15,.3) 52%, rgba(17,17,15,.1) 100%), linear-gradient(0deg, rgba(17,17,15,.72) 0%, transparent 58%); }
.landing-video-grid { position: absolute; inset: 0; z-index: -3; opacity: .22; background-image: linear-gradient(rgba(241,234,220,.4) 1px, transparent 1px), linear-gradient(90deg, rgba(241,234,220,.4) 1px, transparent 1px); background-size: 84px 84px; transform: perspective(520px) rotateX(58deg) scale(1.7) translateY(20%); transform-origin: center bottom; }
.landing-video-route { position: absolute; z-index: -2; width: 58vw; height: 18vw; min-height: 160px; border: 5px solid rgba(215,232,90,.75); border-radius: 48% 52% 54% 46%; opacity: .65; filter: drop-shadow(0 0 16px rgba(215,232,90,.25)); transform: rotate(-18deg); }
.landing-video-route--one { top: 9%; right: -11%; }
.landing-video-route--two { bottom: 6%; left: -14%; width: 48vw; height: 25vw; border-color: rgba(182,228,224,.58); transform: rotate(21deg); }
.landing-video-scanline { position: absolute; inset: 0; z-index: -1; opacity: .25; background: repeating-linear-gradient(0deg, transparent 0 4px, rgba(241,234,220,.12) 5px 6px); mix-blend-mode: screen; pointer-events: none; }
.landing-video-placeholder { position: absolute; top: 50%; left: 69%; display: grid; gap: 9px; place-items: center; color: rgba(241,234,220,.76); font: 700 10px var(--mono); letter-spacing: .12em; text-transform: uppercase; transform: translate(-50%, -50%); }
.landing-video-play { display: grid; width: 76px; height: 76px; place-items: center; padding-left: 4px; border: 2px solid var(--paper); border-radius: 50%; background: rgba(17,17,15,.34); font-size: 25px; box-shadow: 0 0 0 12px rgba(241,234,220,.08); }
.landing-video-corner { position: absolute; z-index: 2; color: rgba(241,234,220,.75); font: 9px var(--mono); letter-spacing: .11em; text-transform: uppercase; }
.landing-video-corner--top { top: 28px; right: 3.5vw; }
.landing-video-corner--bottom { right: 3.5vw; bottom: 24px; }
.landing-video-copy { position: relative; z-index: 3; padding-top: 125px; padding-bottom: 90px; }
.landing-kicker--light { color: rgba(241,234,220,.74); }
.landing-kicker--light > span { background: var(--yellow); }
.landing-video-copy h1 { max-width: 760px; margin: 22px 0; color: var(--paper); font: 900 clamp(73px, 10.5vw, 160px)/.76 var(--display); letter-spacing: -.065em; text-transform: uppercase; }
.landing-video-copy h1 em { color: var(--yellow); font-style: normal; }
.landing-video-copy p { max-width: 480px; margin: 0; color: rgba(241,234,220,.84); font-size: clamp(16px, 1.45vw, 20px); line-height: 1.45; }
.landing-video-copy .landing-actions { margin-top: 30px; }
.landing-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 17px; border: 2px solid var(--ink); color: var(--ink); font: 800 11px var(--mono); letter-spacing: .02em; text-transform: uppercase; transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease; }
.landing-button span { display: inline-block; margin-left: 12px; transition: transform .18s ease; }
.landing-button:hover, .landing-button:focus-visible { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 var(--ink); outline: 0; }
.landing-button:hover span, .landing-button:focus-visible span { transform: translate(4px, -3px); }
.landing-button--primary { color: var(--paper); background: var(--red); box-shadow: 5px 5px 0 var(--ink); }
.landing-button--video { color: var(--paper); background: transparent; border-color: rgba(241,234,220,.7); }
.landing-button--dark { color: var(--paper); background: var(--ink); box-shadow: 5px 5px 0 var(--red); }
.landing-video-status { position: absolute; right: 3.5vw; bottom: 72px; z-index: 3; display: flex; align-items: center; gap: 9px; color: rgba(241,234,220,.72); font: 9px var(--mono); text-transform: uppercase; }
.landing-video-status i { width: 8px; height: 8px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 5px rgba(215,232,90,.16); }
.landing-video-status span + span::before { content: '·'; margin: 0 8px; color: var(--yellow); }
.landing-section-head { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 34px; padding-bottom: 17px; border-bottom: 2px solid var(--ink); }
.landing-section-head h2 { margin: 15px 0 0; color: var(--ink); font: 800 clamp(55px, 7vw, 100px)/.8 var(--display); text-transform: uppercase; letter-spacing: -.055em; }
.landing-section-head p { max-width: 330px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.landing-kicker { display: inline-flex; align-items: center; gap: 9px; color: var(--muted); font: 700 10px var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.landing-kicker > span { display: inline-block; width: 28px; height: 2px; background: var(--red); }
.landing-text-link { color: var(--red); font: 800 11px var(--mono); text-transform: uppercase; }
.landing-today { padding: 92px 0 102px; background: var(--paper); }
.landing-today-grid { display: grid; grid-template-columns: 1.3fr repeat(3, .7fr); gap: 14px; }
.landing-today-feature, .landing-today-stat { min-height: 258px; padding: 21px; border: 2px solid var(--ink); box-shadow: 5px 5px 0 var(--ink); }
.landing-today-feature { color: var(--paper); background: var(--red); }
.landing-card-label, .landing-today-stat span { font: 700 9px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.landing-today-feature strong { display: block; margin-top: 32px; color: var(--paper); font: 900 clamp(73px, 7vw, 110px)/.7 var(--display); letter-spacing: -.06em; }
.landing-today-feature h3 { max-width: 330px; margin: 15px 0 10px; color: var(--paper); font: 800 clamp(29px, 3vw, 45px)/.82 var(--display); text-transform: uppercase; }
.landing-today-feature p { max-width: 310px; margin: 0; color: var(--paper-2); font-size: 13px; line-height: 1.45; }
.landing-today-feature .landing-text-link { display: inline-block; margin-top: 25px; color: var(--yellow); }
.landing-today-stat { display: flex; flex-direction: column; background: var(--white); }
.landing-today-stat strong { margin-top: auto; color: var(--ink); font: 900 clamp(65px, 6vw, 96px)/.7 var(--display); letter-spacing: -.06em; }
.landing-today-stat small { max-width: 160px; margin-top: 15px; color: var(--ink); font: 10px/1.3 var(--mono); text-transform: uppercase; }
.landing-today-stat--cyan { background: var(--cyan); }
.landing-today-stat--yellow { background: var(--yellow); }
.landing-today-stat--paper { background: var(--paper-2); }
.landing-up-next { margin-top: 68px; }
.landing-up-next-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 15px; }
.landing-up-next-list { border-top: 2px solid var(--ink); }
.landing-up-next-item { display: grid; grid-template-columns: 44px 120px minmax(0, 1fr) 180px 24px; align-items: center; gap: 14px; min-height: 75px; padding: 14px 0; border-bottom: 1px solid #bbb1a1; color: var(--ink); transition: background-color .18s ease, padding .18s ease, box-shadow .18s ease; }
.landing-up-next-item:hover, .landing-up-next-item:focus-visible { padding-right: 14px; padding-left: 14px; background: var(--cyan); box-shadow: 4px 4px 0 var(--ink); outline: 0; }
.landing-up-next-number { font: 900 25px var(--display); }
.landing-up-next-date, .landing-up-next-city { font: 9px var(--mono); text-transform: uppercase; }
.landing-up-next-item strong { color: var(--ink); font: 800 clamp(24px, 3vw, 41px)/.8 var(--display); text-transform: uppercase; }
.landing-up-next-arrow { color: var(--red); font-size: 22px; text-align: right; }
.landing-up-next-item--red .landing-up-next-number { color: var(--red); }
.landing-up-next-item--yellow .landing-up-next-number { color: #8d7515; }
.landing-up-next-item--cyan .landing-up-next-number { color: #3a7f80; }
.landing-up-next-item--lime .landing-up-next-number { color: #70841e; }
.landing-circuit-section { padding: 93px 0 106px; color: var(--paper); background: var(--ink); border-top: 3px solid var(--ink); }
.landing-circuit-section .landing-section-head { border-color: #5b564e; }
.landing-circuit-section .landing-section-head h2 { color: var(--paper); }
.landing-circuit-section .landing-section-head p { color: #aaa293; }
.landing-circuit-layout { display: grid; grid-template-columns: minmax(230px, .6fr) minmax(0, 1.4fr); gap: clamp(28px, 5vw, 78px); align-items: center; }
.landing-circuit-copy { display: grid; gap: 24px; }
.landing-circuit-instruction { display: grid; grid-template-columns: 41px 1fr; gap: 13px; align-items: start; }
.landing-circuit-key { display: grid; width: 39px; height: 39px; place-items: center; border: 2px solid var(--yellow); color: var(--yellow); font: 900 12px var(--mono); }
.landing-circuit-instruction strong { display: block; color: var(--paper); font: 800 28px/.88 var(--display); text-transform: uppercase; }
.landing-circuit-instruction p { margin: 7px 0 0; color: #aaa293; font-size: 12px; line-height: 1.45; }
.landing-circuit-status { padding-top: 15px; border-top: 1px solid #5b564e; color: var(--lime); font: 10px var(--mono); text-transform: uppercase; }
.landing-circuit-map { position: relative; min-height: 520px; overflow: hidden; border: 2px solid var(--paper); background: #1c3435; box-shadow: 8px 8px 0 var(--red); touch-action: none; }
.circuit-map-grid { position: absolute; inset: 0; opacity: .15; background-image: linear-gradient(rgba(241,234,220,.5) 1px, transparent 1px), linear-gradient(90deg, rgba(241,234,220,.5) 1px, transparent 1px); background-size: 44px 44px; }
.circuit-map-water { position: absolute; top: -12%; right: -6%; width: 34%; height: 66%; border: 1px solid rgba(182,228,224,.6); border-radius: 50%; background: rgba(90, 175, 174, .14); transform: rotate(31deg); }
.circuit-map-lines { position: absolute; inset: 3%; width: 94%; height: 88%; fill: none; stroke: var(--yellow); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 8 10; filter: drop-shadow(0 0 4px rgba(215,232,90,.35)); animation: circuit-line-move 14s linear infinite; }
.circuit-map-lines path + path { stroke: var(--cyan); stroke-width: 2; opacity: .72; }
.circuit-stop { position: absolute; left: var(--stop-x); top: var(--stop-y); z-index: 2; display: grid; grid-template-columns: 14px minmax(0, 1fr) 15px; gap: 7px; align-items: start; width: min(210px, 28%); padding: 8px; border: 1px solid rgba(241,234,220,.7); color: var(--paper); background: rgba(17,17,15,.8); transform: translate(-7px, -7px); transition: transform .18s ease, background-color .18s ease; }
.circuit-stop:hover, .circuit-stop:focus-visible { background: var(--red); transform: translate(-7px, -10px); outline: 0; }
.circuit-stop-pin { width: 11px; height: 11px; margin-top: 2px; border: 2px solid var(--ink); border-radius: 50%; background: var(--yellow); }
.circuit-stop--cyan .circuit-stop-pin { background: var(--cyan); }
.circuit-stop--lime .circuit-stop-pin { background: var(--lime); }
.circuit-stop--red .circuit-stop-pin { background: var(--red); }
.circuit-stop-copy { min-width: 0; }
.circuit-stop-copy strong, .circuit-stop-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.circuit-stop-copy strong { color: var(--paper); font: 800 12px var(--display); text-transform: uppercase; }
.circuit-stop-copy small { margin-top: 3px; color: #c9c1b3; font: 8px/1.25 var(--mono); text-transform: uppercase; }
.circuit-stop-arrow { color: var(--yellow); font-size: 15px; text-align: right; }
.circuit-car { position: absolute; left: var(--car-x); top: var(--car-y); z-index: 4; display: grid; width: 58px; height: 42px; place-items: center; padding: 0; border: 2px solid var(--ink); border-radius: 12px 18px 8px 8px; background: var(--yellow); box-shadow: 3px 3px 0 var(--ink); cursor: grab; transform: translate(-50%, -50%) rotate(-8deg); transition: left .08s linear, top .08s linear, transform .18s ease, box-shadow .18s ease; touch-action: none; }
.circuit-car span { font-size: 26px; line-height: 1; filter: saturate(1.4); }
.circuit-car::after { content: ''; position: absolute; right: -10px; bottom: 3px; width: 17px; height: 2px; background: var(--paper); box-shadow: 5px 4px 0 var(--paper); opacity: .7; }
.circuit-car:hover, .circuit-car:focus-visible { transform: translate(-50%, -50%) rotate(-3deg) scale(1.08); outline: 3px solid var(--cyan); outline-offset: 3px; }
.circuit-car.is-dragging { cursor: grabbing; transform: translate(-50%, -50%) rotate(7deg) scale(1.12); box-shadow: 5px 5px 0 var(--red); }
.circuit-map-legend { position: absolute; right: 13px; bottom: 12px; left: 13px; z-index: 3; display: flex; flex-wrap: wrap; gap: 9px 17px; color: #c9c1b3; font: 8px var(--mono); text-transform: uppercase; }
.circuit-legend-dot { display: inline-block; width: 8px; height: 8px; margin-right: 4px; border: 1px solid var(--ink); border-radius: 50%; background: var(--yellow); }
.circuit-legend-dot--webinar { background: var(--cyan); }
.landing-hubs--edition { padding-top: 92px; background: var(--paper-2); }
.landing-hubs--edition .landing-section-head h2 { color: var(--ink); }
.landing-edition-code { padding: 6px 8px; border: 1px solid currentColor; font: 900 10px var(--mono); }
.landing-hubs--edition .landing-hub { background: var(--paper); }
.landing-hubs--edition .landing-hub--2 { background: var(--ink); }
.landing-hubs--edition .landing-hub--3 { background: var(--lime); }
.landing-hubs--edition .landing-hub h3 { max-width: 390px; }
@keyframes circuit-line-move { to { stroke-dashoffset: -240; } }
@media (max-width: 980px) {
  .landing-video-surface { min-height: min(800px, calc(100svh - 104px)); }
  .landing-video-placeholder { left: 77%; }
  .landing-today-grid { grid-template-columns: 1.2fr 1fr 1fr; }
  .landing-today-stat--paper { grid-column: span 2; min-height: 165px; }
  .landing-circuit-layout { grid-template-columns: 1fr; }
  .landing-circuit-copy { grid-template-columns: repeat(2, 1fr); }
  .landing-circuit-status, .landing-circuit-copy .landing-button { align-self: center; }
  .landing-circuit-map { min-height: 480px; }
}
@media (max-width: 680px) {
  .landing-video-surface { min-height: calc(100svh - 100px); }
  .landing-video-copy { padding-top: 96px; padding-bottom: 82px; }
  .landing-video-copy h1 { font-size: clamp(62px, 18vw, 102px); }
  .landing-video-copy p { max-width: 330px; font-size: 15px; }
  .landing-video-copy .landing-actions { display: grid; max-width: 340px; }
  .landing-video-placeholder { top: 34%; left: 71%; transform: translate(-50%, -50%) scale(.75); }
  .landing-video-corner--top { top: 18px; right: 15px; }
  .landing-video-corner--bottom { right: 15px; bottom: 16px; font-size: 8px; }
  .landing-video-status { right: 15px; bottom: 48px; display: block; max-width: 180px; line-height: 1.5; text-align: right; }
  .landing-video-status i { display: inline-block; margin-right: 4px; }
  .landing-video-status span + span::before { content: ''; margin: 0; }
  .landing-video-route { width: 82vw; }
  .landing-today { padding: 63px 0 70px; }
  .landing-section-head--today { display: block; }
  .landing-today-grid { grid-template-columns: 1fr 1fr; }
  .landing-today-feature { grid-column: span 2; min-height: 280px; }
  .landing-today-stat--paper { grid-column: auto; min-height: 178px; }
  .landing-up-next { margin-top: 50px; }
  .landing-up-next-item { grid-template-columns: 30px minmax(0, 1fr) 21px; gap: 9px; }
  .landing-up-next-date, .landing-up-next-city { grid-column: 2; }
  .landing-up-next-date { grid-row: 1; }
  .landing-up-next-item strong { grid-column: 2; grid-row: 2; }
  .landing-up-next-city { grid-row: 3; }
  .landing-up-next-arrow { grid-column: 3; grid-row: 1 / span 3; }
  .landing-circuit-section, .landing-hubs--edition { padding-top: 63px; padding-bottom: 70px; }
  .landing-circuit-layout, .landing-circuit-copy { display: grid; grid-template-columns: 1fr; }
  .landing-circuit-map { min-height: 470px; }
  .circuit-stop { width: 44%; }
  .circuit-stop-copy strong { font-size: 10px; }
  .circuit-stop-copy small { font-size: 7px; }
  .circuit-map-legend { right: 10px; bottom: 9px; left: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .landing-video-grid, .landing-video-route, .landing-video-scanline, .circuit-map-lines { animation: none; }
  .landing-up-next-item, .circuit-stop, .circuit-car { transition: none; }
}
.landing-hubs--edition { background: var(--ink); color: var(--paper); }
.landing-hubs--edition .landing-section-head { border-color: rgba(241,234,220,.3); }
.landing-hubs--edition .landing-section-head h2, .landing-hubs--edition .landing-section-head p { color: var(--paper); }
.landing-hubs--edition .landing-hub-grid { display: grid; grid-template-columns: 1.2fr .9fr .95fr; gap: 17px; align-items: start; }
.landing-hubs--edition .landing-hub { position: relative; display: flex; min-height: 275px; flex-direction: column; padding: 22px; border: 2px solid var(--ink); color: var(--ink); box-shadow: 6px 6px 0 var(--ink); transition: transform .18s ease, box-shadow .18s ease; overflow: hidden; }
.landing-hubs--edition .landing-hub--1 { background: var(--paper); }
.landing-hubs--edition .landing-hub--2 { margin-top: 42px; background: var(--cyan); color: var(--ink); box-shadow: 6px 6px 0 var(--red); }
.landing-hubs--edition .landing-hub--3 { margin-top: 14px; background: var(--lime); box-shadow: 6px 6px 0 var(--yellow); }
.landing-hubs--edition .landing-hub:hover, .landing-hubs--edition .landing-hub:focus-visible { transform: translate(-3px, -5px); box-shadow: 10px 11px 0 var(--red); outline: 0; }
.landing-hubs--edition .landing-hub--2:hover, .landing-hubs--edition .landing-hub--2:focus-visible { box-shadow: 10px 11px 0 var(--yellow); }
.landing-hubs--edition .landing-hub-top, .landing-hubs--edition .landing-hub-meta, .landing-hubs--edition .landing-hub-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.landing-hubs--edition .landing-hub h3 { margin: 37px 0 14px; color: inherit; font: 800 clamp(42px, 4.6vw, 70px)/.78 var(--display); text-transform: uppercase; letter-spacing: -.045em; }
.landing-hubs--edition .landing-hub-line { height: 2px; margin-bottom: 13px; background: currentColor; }
.landing-hubs--edition .landing-hub-meta, .landing-hubs--edition .landing-hub-footer { font: 9px var(--mono); text-transform: uppercase; }
.landing-hubs--edition .landing-hub-footer { margin-top: auto; padding-top: 18px; }
.landing-contribute { background: var(--cyan); border-top: 3px solid var(--ink); border-bottom: 3px solid var(--ink); }
.landing-contribute-grid { display: grid; grid-template-columns: 1.18fr .82fr; gap: 48px; padding-top: 72px; padding-bottom: 72px; }
.landing-contribute h2 { max-width: 660px; margin: 17px 0 14px; color: var(--ink); font: 900 clamp(61px, 8vw, 122px)/.75 var(--display); text-transform: uppercase; letter-spacing: -.06em; }
.landing-contribute p { max-width: 550px; margin: 0; color: var(--ink); font-size: 15px; line-height: 1.5; }
.landing-progress-meta { display: flex; justify-content: space-between; max-width: 600px; margin-top: 30px; color: var(--ink); font: 700 10px var(--mono); text-transform: uppercase; }
.landing-progress { max-width: 600px; height: 17px; margin-top: 8px; padding: 3px; border: 2px solid var(--ink); background: var(--paper); }
.landing-progress span { display: block; width: 62%; height: 100%; background: var(--red); }
.landing-contribute-card { display: flex; align-items: start; flex-direction: column; justify-content: center; min-height: 275px; padding: 28px; border: 2px solid var(--ink); background: var(--yellow); color: var(--ink); box-shadow: 7px 7px 0 var(--ink); }
.landing-contribute-card strong { margin: 18px 0 22px; color: var(--ink); font: 800 42px/.8 var(--display); text-transform: uppercase; }
.landing-contribute-card small { margin-top: 17px; color: var(--ink); font: 9px/1.4 var(--mono); text-transform: uppercase; }
.landing-pulse { width: 18px; height: 18px; border: 3px solid var(--ink); border-radius: 50%; background: var(--red); }
.conference-brand-visual { position: relative; display: flex; min-height: 220px; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 22px; color: var(--paper); background: var(--ink); border: 2px solid var(--ink); }
.conference-brand-visual--1 { color: var(--ink); background: var(--yellow); }
.conference-brand-visual--2 { color: var(--ink); background: var(--cyan); }
.conference-brand-visual-mark { position: relative; z-index: 1; display: inline-grid; width: max-content; min-width: 48px; height: 48px; place-items: center; padding: 0 8px; border: 2px solid currentColor; font: 900 20px var(--display); }
.conference-brand-visual-route { position: absolute; top: 28%; right: -12%; width: 75%; height: 44%; border: 3px dashed currentColor; border-radius: 50%; transform: rotate(-17deg); opacity: .7; }
.conference-brand-visual strong { position: relative; z-index: 1; font: 900 88px/.72 var(--display); letter-spacing: -.07em; }
.conference-brand-visual small { position: relative; z-index: 1; font: 700 9px var(--mono); text-transform: uppercase; }
.brand-card .brand-card-content { border-top: 0; }
.brand-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 48px; border: 2px solid var(--ink); background: var(--paper); box-shadow: 6px 6px 0 var(--ink); }
.brand-stat-grid > div { min-height: 132px; padding: 22px; border-right: 2px solid var(--ink); }
.brand-stat-grid > div:nth-child(1) { background: var(--paper); }
.brand-stat-grid > div:nth-child(2) { background: var(--yellow); }
.brand-stat-grid > div:nth-child(3) { background: var(--cyan); }
.brand-stat-grid > div:nth-child(4) { border-right: 0; background: var(--red); color: var(--paper); }
.brand-stat-grid strong, .brand-stat-grid span { display: block; }
.brand-stat-grid strong { font: 900 clamp(34px, 4vw, 54px)/.8 var(--display); letter-spacing: -.045em; }
.brand-stat-grid .brand-stat-next strong { font-size: clamp(23px, 2.4vw, 36px); line-height: .9; }
.brand-stat-grid span { margin-top: 13px; font: 700 9px/1.4 var(--mono); text-transform: uppercase; }
.brand-section-heading { margin-top: 12px; }
.brand-conference-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
.brand-conference-card { display: block; overflow: hidden; border: 2px solid var(--ink); background: var(--paper); color: var(--ink); box-shadow: 6px 6px 0 var(--ink); transition: transform .16s ease, box-shadow .16s ease; }
.brand-conference-card:hover, .brand-conference-card:focus-visible { transform: translate(-3px, -4px); box-shadow: 9px 10px 0 var(--red); outline: 0; }
.brand-conference-card.has-template { display: grid; grid-template-columns: minmax(210px, .82fr) minmax(0, 1fr); }
.brand-conference-card-body { display: flex; min-height: 240px; flex-direction: column; padding: 25px; }
.brand-conference-card-top { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.brand-conference-card h3 { margin: 36px 0 13px; font: 900 clamp(38px, 4vw, 60px)/.78 var(--display); letter-spacing: -.045em; text-transform: uppercase; }
.brand-conference-card p { margin: 0 0 28px; color: var(--muted); font: 700 10px/1.55 var(--mono); text-transform: uppercase; }
.brand-conference-card-body > strong { margin-top: auto; font: 800 10px var(--mono); text-transform: uppercase; }
.conference-template-media { position: relative; overflow: hidden; background: var(--ink); }
.brand-conference-card .conference-template-media { border-right: 2px solid var(--ink); }
.asset-frame-conference-template { aspect-ratio: 1003 / 1568; background: var(--ink); }
.conference-template-label { position: absolute; right: 10px; bottom: 10px; z-index: 2; padding: 7px 9px; border: 1px solid var(--paper); background: rgba(8, 12, 18, .88); color: var(--paper); font: 700 7px/1.3 var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.conference-detail-hero { padding-top: 48px; padding-bottom: 54px; }
.conference-detail-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(310px, 430px); gap: clamp(38px, 6vw, 86px); align-items: center; }
.conference-detail-hero-copy { min-width: 0; }
.conference-detail-hero-copy h1 { font-size: clamp(62px, 8.5vw, 122px); text-wrap: balance; }
.conference-detail-hero .conference-template-media { border: 2px solid var(--paper); box-shadow: 9px 9px 0 var(--red); }
.conference-artwork-sample { width: min(100%, 430px); margin: 0; padding: 10px; border: 2px solid var(--paper); background: var(--paper); box-shadow: 9px 9px 0 var(--red); color: var(--ink); }
.conference-artwork-sample img { display: block; width: 100%; height: auto; max-height: 520px; object-fit: cover; object-position: center; }
.conference-artwork-sample figcaption { margin-top: 8px; font: 700 8px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.conference-artwork-sample { position: relative; overflow: hidden; }
.conference-artwork-sample::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(112deg, transparent 35%, rgba(255,255,255,.22) 49%, transparent 63%); transform: translateX(-140%); animation: artwork-gloss 7s ease-in-out 1.2s infinite; }
@keyframes artwork-gloss { 0%, 55%, 100% { transform: translateX(-140%); } 72% { transform: translateX(140%); } }

.auth-modal, .age-modal { width: min(92vw, 520px); padding: 0; border: 0; background: transparent; color: var(--ink); }
.auth-modal::backdrop, .age-modal::backdrop { background: rgba(0,0,0,.72); }
.auth-sheet, .age-sheet { overflow: hidden; border: 3px solid var(--ink); background: var(--paper); box-shadow: 9px 9px 0 var(--red); }
.auth-sheet { position: relative; padding: 28px; }
.auth-sheet h2 { margin: 11px 0; font: 900 clamp(42px, 7vw, 62px)/.78 var(--display); text-transform: uppercase; }
.auth-sheet p { font-size: 13px; line-height: 1.45; }
.dialog-close { position: absolute; top: 12px; right: 12px; width: 32px; height: 32px; border: 2px solid var(--ink); background: var(--paper); font-size: 22px; }
.auth-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.auth-linkedin { display: flex; gap: 12px; align-items: center; margin: 20px 0 12px; padding: 14px; border: 2px solid var(--ink); background: var(--cyan); }
.auth-linkedin-mark { display: grid; width: 38px; height: 38px; place-items: center; background: #0a66c2; color: #fff; font: 900 21px/.8 Arial, sans-serif; }
.auth-linkedin strong, .auth-linkedin small { display: block; }
.auth-linkedin strong { font: 800 11px var(--mono); text-transform: uppercase; }
.auth-linkedin small { margin-top: 5px; font-size: 12px; line-height: 1.3; }
.auth-consent { display: flex; gap: 9px; align-items: flex-start; margin: 0 0 14px; font-size: 12px; line-height: 1.4; }
.auth-consent input { width: 16px; height: 16px; margin-top: 1px; accent-color: var(--red); }
.auth-consent a { text-decoration: underline; text-underline-offset: 3px; }
.age-sheet-head { padding: 27px 30px 25px; background: var(--ink); color: var(--paper); }
.age-sheet-head .eyebrow { color: var(--yellow); }
.age-sheet-head h2 { margin: 12px 0 0; font: 900 clamp(38px, 6vw, 56px)/.8 var(--display); text-transform: uppercase; }
.age-sheet-body { display: grid; gap: 17px; padding: 29px 30px; text-align: center; }
.age-sheet-body p { margin: 0; font-size: 15px; line-height: 1.45; }
.age-confirm { display: flex; gap: 10px; align-items: center; justify-content: center; padding: 13px; border: 2px solid var(--ink); background: var(--white); font: 700 12px var(--mono); text-transform: uppercase; }
.age-confirm input { width: 18px; height: 18px; accent-color: var(--red); }
.age-continue { width: 100%; justify-content: center; }
.age-decline { border: 0; background: none; color: var(--muted); font: 700 11px var(--mono); text-decoration: underline; text-underline-offset: 4px; }
.conference-agenda { display: grid; gap: 22px; }
.conference-agenda-day { display: grid; grid-template-columns: minmax(170px, .34fr) minmax(0, 1fr); border: 2px solid var(--ink); background: var(--paper); box-shadow: 6px 6px 0 var(--ink); }
.conference-agenda-date { display: flex; flex-direction: column; justify-content: space-between; gap: 30px; padding: 24px; border-right: 2px solid var(--ink); background: var(--yellow); }
.conference-agenda-date span, .conference-agenda-source { font: 800 9px/1.3 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.conference-agenda-date strong { font: 900 clamp(28px, 3.4vw, 46px)/.86 var(--display); letter-spacing: -.035em; text-transform: uppercase; }
.conference-agenda-list { min-width: 0; }
.conference-agenda-row { display: grid; grid-template-columns: 105px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 18px 22px; color: var(--ink); border-bottom: 1px solid color-mix(in srgb, var(--ink) 24%, transparent); transition: background .16s ease, color .16s ease; }
.conference-agenda-row:last-child { border-bottom: 0; }
.conference-agenda-row:hover, .conference-agenda-row:focus-visible { background: var(--ink); color: var(--paper); outline: 0; }
.conference-agenda-row time { font: 900 12px var(--mono); }
.conference-agenda-copy { display: grid; gap: 5px; min-width: 0; }
.conference-agenda-copy strong { font: 850 17px/1.15 var(--sans); }
.conference-agenda-copy small { overflow: hidden; color: var(--muted); font: 700 9px/1.45 var(--mono); text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.conference-agenda-row:hover small, .conference-agenda-row:focus-visible small { color: var(--paper-2); }
.conference-agenda-source { color: var(--red); }
.conference-side-scan { display: grid; grid-template-columns: minmax(0, 1fr) 190px auto; gap: 28px; align-items: center; padding: clamp(26px, 4vw, 46px); border: 2px solid var(--ink); background: var(--paper); box-shadow: 7px 7px 0 var(--red); }
.conference-side-scan h3 { margin: 10px 0 8px; font: 900 clamp(32px, 4vw, 54px)/.88 var(--display); letter-spacing: -.04em; text-transform: uppercase; }
.conference-side-scan p { max-width: 760px; margin: 0; color: var(--muted); }
.conference-side-scan-count { display: grid; justify-items: center; text-align: center; }
.conference-side-scan-count strong { font: 900 72px/.8 var(--display); color: var(--red); }
.conference-side-scan-count span { margin-top: 10px; font: 800 9px/1.35 var(--mono); text-transform: uppercase; }
.section-actions { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 900px) {
  .brand-conference-card.has-template { grid-template-columns: minmax(180px, .7fr) minmax(0, 1fr); }
  .conference-detail-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(260px, 350px); gap: 30px; }
  .conference-side-scan { grid-template-columns: minmax(0, 1fr) 150px; }
  .conference-side-scan .button { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 680px) {
  .calendar-subnav { top: 62px; }
  .calendar-subnav-link { min-height: 42px; padding: 0 12px; font-size: 9px; }
  .brand-stat-grid, .brand-conference-grid { grid-template-columns: 1fr; }
  .brand-stat-grid > div { min-height: 92px; border-right: 0; border-bottom: 2px solid var(--ink); }
  .brand-stat-grid > div:last-child { border-bottom: 0; }
  .brand-conference-card.has-template, .conference-detail-hero-grid { grid-template-columns: 1fr; }
  .brand-conference-card .conference-template-media { border-right: 0; border-bottom: 2px solid var(--ink); }
  .brand-conference-card .asset-frame-conference-template { max-height: none; }
  .conference-detail-hero-copy h1 { font-size: clamp(52px, 16vw, 72px); }
  .conference-detail-hero .conference-template-media { width: min(100%, 410px); margin: 0 auto; }
  .conference-artwork-sample { margin: 0 auto; }
  .conference-agenda-day { grid-template-columns: 1fr; }
  .conference-agenda-date { gap: 10px; border-right: 0; border-bottom: 2px solid var(--ink); }
  .conference-agenda-row { grid-template-columns: 88px minmax(0, 1fr); padding: 16px; }
  .conference-agenda-source { display: none; }
  .conference-side-scan { grid-template-columns: 1fr; }
  .conference-side-scan-count { justify-items: start; text-align: left; }
}
@media (max-width: 980px) {
  .landing-hubs--edition .landing-hub-grid, .landing-contribute-grid { grid-template-columns: 1fr 1fr; }
  .landing-hubs--edition .landing-hub--1 { grid-row: span 2; }
  .landing-hubs--edition .landing-hub--2, .landing-hubs--edition .landing-hub--3 { margin-top: 0; }
  .landing-contribute-grid > div:first-child { grid-column: span 2; }
}
@media (max-width: 680px) {
  .landing-section-head { display: block; }
  .landing-section-head p { margin-top: 16px; }
  .landing-hubs--edition .landing-hub-grid, .landing-contribute-grid { grid-template-columns: 1fr; }
  .landing-hubs--edition .landing-hub--1 { grid-row: auto; }
  .landing-hubs--edition .landing-hub { min-height: 250px; }
  .landing-contribute-grid { padding-top: 50px; padding-bottom: 50px; }
  .landing-contribute-grid > div:first-child { grid-column: auto; }
  .landing-progress-meta { display: block; line-height: 1.7; }
  .landing-progress-meta span { display: block; }
}
@media (max-width: 680px) {
  .speaker-profile-heading { display: block; }
  .speaker-profile-org { display: inline-block; margin-top: 16px; }
  .speaker-facts { grid-template-columns: 1fr; }
  .speaker-intro-copy, .speaker-intro-note, .speaker-enquiry-panel { padding: 20px; }
}

/* Homepage visual restoration: one image anchor, text-led records, and a stable editorial rhythm. */
.home-page { overflow: clip; background: var(--paper); }
.home-hero { position: relative; padding: clamp(54px, 6vw, 92px) 0 clamp(58px, 7vw, 104px); overflow: hidden; border-bottom: 3px solid var(--ink); background: var(--ink); color: var(--paper); }
.home-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, .86fr) minmax(460px, 1.14fr); gap: clamp(36px, 5vw, 76px); align-items: center; }
.home-hero-copy { position: relative; z-index: 2; min-width: 0; }
.home-hero-copy .eyebrow { color: var(--cyan); }
.home-hero-copy h1 { max-width: 690px; margin: 23px 0 22px; color: var(--paper); font: 900 clamp(74px, 8.1vw, 124px)/.76 var(--display); letter-spacing: -.058em; text-transform: uppercase; text-wrap: balance; }
.home-hero-copy h1 span { color: var(--yellow); }
.home-hero-lead { max-width: 510px; margin: 0; color: #d6cdbd; font-size: clamp(15px, 1.35vw, 18px); line-height: 1.52; }
.home-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 29px; }
.home-hero-telemetry { display: none; }
.home-source-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 18px; margin-top: 34px; padding-top: 16px; border-top: 1px solid #4f4b43; color: #aaa293; font: 700 9px/1.4 var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.home-source-strip span:last-child { color: var(--lime); }
.home-source-marker { width: 8px; height: 8px; border: 1px solid var(--paper); border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 5px rgba(215, 232, 90, .12); animation: home-signal-pulse 2.6s ease-out infinite; }
.home-hero-art { position: relative; min-width: 0; padding: 30px 18px 18px; border: 2px solid var(--paper); background: var(--red); box-shadow: 10px 10px 0 var(--yellow); }
.home-hero-art::before { content: ''; position: absolute; z-index: 2; inset: 30px 18px 18px; pointer-events: none; background: linear-gradient(112deg, transparent 30%, rgba(255,255,255,.32) 47%, rgba(167,229,218,.22) 52%, transparent 66%); mix-blend-mode: screen; transform: translateX(-120%); animation: home-art-scan 6.8s ease-in-out infinite; }
.home-hero-art::after { content: ''; position: absolute; z-index: 3; right: 14px; top: 42px; width: 8px; height: 8px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 5px rgba(215,232,90,.14), 0 0 22px var(--lime); animation: home-signal-pulse 2.8s ease-out infinite; pointer-events: none; }
.home-hero-art .asset-frame { position: relative; z-index: 1; }
.home-art-kicker { position: absolute; top: 10px; left: 18px; color: var(--paper); font: 700 9px var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.home-hero-art-label { position: absolute; right: 2px; bottom: 50px; z-index: 2; max-width: 190px; padding: 9px 11px; border: 2px solid var(--ink); background: var(--yellow); color: var(--ink); font: 800 9px/1.35 var(--mono); text-transform: uppercase; transform: translateX(18px); }
.home-art-coordinates { margin-top: 13px; color: var(--paper); font: 700 8px/1.45 var(--mono); letter-spacing: .08em; text-align: right; text-transform: uppercase; }
@keyframes home-art-scan { 0%, 24% { transform: translateX(-120%); opacity: 0; } 32% { opacity: 1; } 58%, 100% { transform: translateX(120%); opacity: 0; } }

.asset-frame { position: relative; display: block; overflow: hidden; background: var(--paper-2); }
.asset-frame picture { display: block; width: 100%; height: 100%; }
.asset-frame img { width: 100%; height: 100%; object-fit: cover; object-position: var(--asset-position, 50% 50%); }
.asset-frame-homepage-hero { aspect-ratio: 4 / 3; border: 2px solid var(--ink); background: var(--ink); }
.asset-frame-homepage-hero img { transition: transform 8s cubic-bezier(.2,.75,.2,1); }
.home-hero-art:hover .asset-frame-homepage-hero img { transform: scale(1.025); }
.asset-frame-homepage-hero.hero-puzzle-ready img, .news-hero-portrait.newsroom-portrait.hero-puzzle-ready img { opacity: 0; }
.hero-puzzle { position: absolute; inset: 0; z-index: 2; display: grid; grid-template-columns: repeat(5, 1fr); grid-template-rows: repeat(4, 1fr); overflow: hidden; }
.hero-puzzle-piece { display: block; border: 1px solid rgba(17,17,15,.16); background-repeat: no-repeat; background-size: 500% 400%; background-position: calc(var(--piece-x) * 25%) calc(var(--piece-y) * 33.333%); opacity: 0; transform: translateY(-24px) rotate(-1deg) scale(.97); animation: hero-puzzle-drop .48s cubic-bezier(.2,.86,.35,1) forwards; animation-delay: var(--piece-delay); }
@keyframes hero-puzzle-drop { to { opacity: 1; transform: translateY(0) rotate(0) scale(1); } }
.asset-frame-event-card { aspect-ratio: 16 / 9; }
.asset-frame-conference-hub { aspect-ratio: 3 / 2; }
.asset-frame-editorial-feature { aspect-ratio: 1 / 1; }
.asset-frame.is-loading::after { content: ''; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 25%, rgba(241,234,220,.18) 45%, transparent 65%); transform: translateX(-100%); animation: asset-loading 1.8s ease-in-out infinite; pointer-events: none; }
.asset-frame:not(.is-loading)::after, .asset-frame.is-fallback::after { display: none; }
.asset-fallback { position: absolute; inset: 0; display: none; place-items: center; align-content: center; gap: 9px; padding: 18px; background: var(--paper-2); color: var(--ink); font: 700 9px var(--mono); text-align: center; text-transform: uppercase; }
.asset-frame.is-fallback .asset-fallback { display: grid; }
.asset-fallback-mark { display: grid; width: 46px; height: 46px; place-items: center; border: 2px solid var(--ink); background: var(--yellow); font: 900 23px var(--display); transform: skew(-9deg); }

.home-telemetry-strip { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border-bottom: 3px solid var(--ink); background: var(--paper-2); }
.home-telemetry-block { position: relative; z-index: 1; min-height: 148px; padding: 24px clamp(18px, 2.4vw, 36px); border-right: 2px solid var(--ink); background: var(--paper); }
.home-telemetry-block--cyan { background: var(--cyan); }
.home-telemetry-block--yellow { background: var(--yellow); }
.home-telemetry-block--red { border-right: 0; background: var(--red); color: var(--paper); }
.home-telemetry-block strong { display: block; font: 900 clamp(50px, 5.2vw, 78px)/.75 var(--display); letter-spacing: -.04em; }
.home-telemetry-block span { display: block; margin-top: 15px; font: 700 9px var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.home-route-label { grid-column: 1 / -1; z-index: 1; display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 11px 3vw; background: var(--ink); color: var(--paper-2); font: 700 9px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.home-route-marker { width: 8px; height: 8px; border-radius: 50%; background: var(--lime); }

.home-next-section { background: var(--paper); }
.home-section-heading h2 { max-width: 780px; }
.home-event-rail { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.home-event-card { position: relative; display: flex; grid-column: span 3; min-width: 0; min-height: 330px; flex-direction: column; overflow: hidden; padding: 21px; border: 2px solid var(--ink); background: var(--white); box-shadow: 6px 6px 0 var(--ink); transition: transform .18s ease, box-shadow .18s ease; }
.home-event-card--feature { grid-column: span 6; min-height: 370px; background: var(--red); color: var(--paper); }
.home-event-card--tall { grid-column: span 3; min-height: 390px; margin-top: 28px; background: var(--cyan); }
.home-event-card--paper, .home-event-card--white { background: var(--white); }
.home-event-card--yellow { background: var(--yellow); }
.home-event-card:nth-child(4) { margin-top: 12px; }
.home-event-card.home-event-card--white { background: var(--white); }
.home-event-card:hover, .home-event-card:focus-within { transform: translate(-3px, -4px); box-shadow: 10px 11px 0 var(--ink); }
.home-event-card:focus-within { outline: 3px solid var(--red); outline-offset: 4px; }
.home-event-card--feature:focus-within { outline-color: var(--yellow); }
.event-title-guide-row h1 { margin-bottom: 0; }
.event-title--guide-sample { display: grid; justify-items: start; }
.event-title--guide-sample > span { display: block; }
.event-title-guide-tail { display: flex !important; flex-wrap: wrap; align-items: flex-end; gap: 12px clamp(18px, 3vw, 42px); white-space: normal; }
.event-title-guide-label { white-space: nowrap; }
.travel-guide-signal { position: relative; display: inline-grid; flex: 0 0 auto; grid-template-columns: auto auto; align-items: center; column-gap: 7px; max-width: max-content; margin: 0 0 7px; padding: 10px 38px 11px 17px; color: var(--ink); text-decoration: none; isolation: isolate; transform-origin: 32% 50%; animation: travel-guide-signal-pulse 2.2s ease-in-out infinite; }
.travel-guide-signal::before { content: ''; position: absolute; z-index: -1; inset: 0; background: var(--lime); clip-path: polygon(3% 24%, 14% 17%, 17% 3%, 34% 9%, 46% 0, 57% 10%, 75% 6%, 82% 21%, 98% 27%, 92% 44%, 100% 58%, 86% 68%, 88% 86%, 69% 88%, 58% 100%, 44% 90%, 28% 96%, 19% 81%, 2% 76%, 8% 60%, 0 43%); filter: drop-shadow(4px 4px 0 var(--ink)); }
.travel-guide-signal::after { content: ''; position: absolute; z-index: -2; inset: 5px -6px -4px 7px; border: 2px solid var(--ink); clip-path: polygon(3% 24%, 14% 17%, 17% 3%, 34% 9%, 46% 0, 57% 10%, 75% 6%, 82% 21%, 98% 27%, 92% 44%, 100% 58%, 86% 68%, 88% 86%, 69% 88%, 58% 100%, 44% 90%, 28% 96%, 19% 81%, 2% 76%, 8% 60%, 0 43%); opacity: .38; }
.travel-guide-signal:hover, .travel-guide-signal:focus-visible { animation-play-state: paused; transform: translate(2px, 2px) rotate(-1deg) scale(1.03); outline: 0; }
.travel-guide-signal__prompt { grid-column: 1 / -1; font: 700 8px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.travel-guide-signal strong { font: 900 clamp(22px, 3vw, 31px)/.82 var(--display); letter-spacing: -.04em; text-transform: uppercase; }
.travel-guide-signal__arrow { margin-top: 3px; font: 900 24px/.7 var(--display); }
.travel-guide-signal__spark { position: absolute; top: 6px; right: 14px; width: 6px; height: 6px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 4px rgba(230,47,38,.15); animation: travel-guide-spark .8s steps(2, end) infinite; }
@keyframes travel-guide-signal-pulse { 0%, 100% { transform: rotate(-1.3deg) scale(1); } 50% { transform: rotate(.6deg) scale(1.045); } }
@keyframes travel-guide-spark { 50% { opacity: .15; transform: scale(.6); } }
@media (prefers-reduced-motion: reduce) { .travel-guide-signal, .travel-guide-signal__spark { animation: none; } }
@media (max-width: 740px) { .event-title-guide-tail { align-items: flex-start; flex-direction: column; gap: 12px; white-space: normal; } .travel-guide-signal { margin-bottom: 0; } }
/* Mexico City City Pit Book: reconciled from the owner-reviewed deployed design. */
.travel-guide-page button, .travel-guide-page a { -webkit-tap-highlight-color: transparent; }
.travel-hero { padding: 38px 0 0; background: var(--ink); color: var(--paper); border-bottom: 3px solid var(--ink); }
.travel-hero-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(380px, 5fr); gap: 42px; align-items: stretch; }
.travel-hero-copy { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 30px 0 60px; }
.travel-kicker { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 30px; color: var(--yellow); font: 700 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.travel-kicker b { color: var(--paper-2); font-weight: 700; }
.travel-hero .eyebrow { color: var(--paper-2); }
.travel-hero .eyebrow::before { color: var(--yellow); }
.travel-hero h1 { max-width: 850px; margin: 17px 0 28px; color: var(--paper); font: 900 clamp(58px, 8vw, 120px)/.76 var(--display); letter-spacing: -.055em; text-transform: uppercase; }
.travel-hero-headline { max-width: 770px; margin: 0 0 18px; color: var(--yellow); font: 900 clamp(31px, 4vw, 56px)/.83 var(--display); letter-spacing: -.04em; text-transform: uppercase; }
.travel-hero-lead { max-width: 570px; margin: 0; color: var(--paper-2); font-size: 16px; line-height: 1.55; }
.travel-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; margin-top: 31px; }
.travel-hero-actions .button { min-height: 50px; }
.travel-text-action { min-height: 44px; padding: 10px 0; border: 0; border-bottom: 2px solid var(--yellow); background: transparent; color: var(--paper); font: 800 10px var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.travel-text-action:hover, .travel-text-action:focus-visible { color: var(--yellow); }
.travel-save-mark { margin-left: 7px; color: var(--red); }
.travel-hero-event { display: flex; flex-wrap: wrap; gap: 9px 20px; margin-top: 48px; padding-top: 14px; border-top: 1px solid #514e47; color: var(--paper-2); font: 700 10px var(--mono); text-transform: uppercase; }
.travel-hero-event strong { color: var(--paper); }
.travel-hero-art { position: relative; min-width: 0; padding: 0 0 46px; }
.travel-art-label { position: absolute; top: 18px; left: -17px; z-index: 3; padding: 9px 12px; border: 2px solid var(--ink); background: var(--yellow); color: var(--ink); box-shadow: 4px 4px 0 var(--red); font: 800 9px var(--mono); letter-spacing: .08em; }
.travel-map-board { position: relative; min-height: 600px; overflow: hidden; border: 3px solid var(--paper); background: #e4d9c4; color: var(--ink); box-shadow: 10px 10px 0 var(--red); isolation: isolate; }
.travel-map-grid { position: absolute; inset: 0; z-index: -1; opacity: .45; background-image: linear-gradient(rgba(17,17,15,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(17,17,15,.16) 1px, transparent 1px); background-size: 35px 35px; }
.travel-map-grid::after { content: ''; position: absolute; inset: 0; background: linear-gradient(117deg, transparent 0 42%, rgba(0,115,120,.24) 42% 46%, transparent 46%); }
.travel-map-coord { position: absolute; z-index: 2; color: #575149; font: 700 8px var(--mono); letter-spacing: .08em; }
.travel-map-coord--top { top: 15px; right: 15px; }
.travel-map-coord--bottom { right: 15px; bottom: 14px; }
.travel-map-line { position: absolute; z-index: 1; height: 7px; border: 2px solid var(--ink); background: var(--red); transform-origin: left center; animation: travel-route-draw .85s ease-out both; }
.travel-map-line--main { top: 45%; left: 18%; width: 68%; transform: rotate(-17deg); }
.travel-map-line--branch { top: 45%; left: 57%; width: 24%; background: var(--cyan); transform: rotate(45deg); animation-delay: .32s; }
.travel-map-node { position: absolute; z-index: 2; display: grid; grid-template-columns: 30px 1fr; gap: 1px 8px; align-items: center; min-width: 112px; padding: 7px 9px; border: 2px solid var(--ink); background: var(--paper); box-shadow: 4px 4px 0 var(--ink); transform: rotate(-2deg); }
.travel-map-node b { grid-row: span 2; display: grid; place-items: center; width: 27px; height: 27px; background: var(--yellow); font: 900 14px var(--display); }
.travel-map-node span, .travel-map-node i { display: block; font: 800 9px var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.travel-map-node i { color: var(--red); font-size: 7px; font-style: normal; }
.travel-map-node--airport { top: 18%; left: 8%; }
.travel-map-node--oriente { top: 38%; left: 38%; transform: rotate(3deg); }
.travel-map-node--fil { top: 55%; right: 8%; background: var(--red); color: var(--paper); transform: rotate(-4deg); }
.travel-map-node--fil b { background: var(--yellow); color: var(--ink); }
.travel-map-node--fil i { color: var(--yellow); }
.travel-map-node--arena { right: 19%; bottom: 15%; background: var(--ink); color: var(--paper); transform: rotate(3deg); }
.travel-map-node--arena b { background: var(--cyan); color: var(--ink); }
.travel-map-node--arena i { color: var(--cyan); }
.travel-map-block { position: absolute; z-index: 0; padding: 12px; border: 2px solid var(--ink); font: 800 8px var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.travel-map-block span, .travel-map-block strong { display: block; }
.travel-map-block strong { margin-top: 8px; font: 900 24px/.8 var(--display); letter-spacing: -.03em; }
.travel-map-block--hotel { top: 67%; left: 8%; background: var(--lime); transform: rotate(-7deg); }
.travel-map-block--river { top: 11%; right: 10%; background: var(--cyan); transform: rotate(7deg); }
.travel-map-suitcase { position: absolute; z-index: 3; right: 8%; bottom: 10%; width: 44px; height: 58px; border: 3px solid var(--ink); background: var(--yellow); transform: rotate(11deg); box-shadow: 4px 4px 0 var(--ink); }
.travel-map-suitcase::before { content: ''; position: absolute; top: -12px; left: 9px; width: 20px; height: 12px; border: 3px solid var(--ink); border-bottom: 0; }
.travel-map-suitcase span { position: absolute; left: -3px; right: -3px; top: 18px; border-top: 3px solid var(--ink); }
.travel-map-suitcase b { position: absolute; right: 4px; bottom: 6px; font: 900 12px var(--display); }
.travel-map-jacket { position: absolute; z-index: 2; top: 60%; left: 54%; width: 40px; height: 72px; background: var(--red); border: 3px solid var(--ink); clip-path: polygon(19% 0, 40% 12%, 50% 7%, 60% 12%, 81% 0, 100% 25%, 82% 33%, 76% 100%, 24% 100%, 18% 33%, 0 25%); transform: rotate(-9deg); }
.travel-map-jacket::after { content: ''; position: absolute; top: 10px; bottom: 0; left: 50%; border-left: 2px solid var(--ink); }
.travel-map-stamp { position: absolute; z-index: 3; right: 8%; top: 31%; display: grid; place-items: center; width: 74px; height: 74px; border: 2px solid var(--red); border-radius: 50%; color: var(--red); font: 900 13px/.85 var(--display); letter-spacing: .05em; text-align: center; transform: rotate(15deg); }
.travel-facts { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 0; border: 2px solid var(--ink); border-bottom: 0; background: var(--ink); gap: 2px; }
.travel-facts > div { min-width: 0; min-height: 134px; padding: 16px; background: var(--paper); color: var(--ink); }
.travel-facts > div:nth-child(2) { background: var(--cyan); }.travel-facts > div:nth-child(3) { background: var(--yellow); }.travel-facts > div:nth-child(4) { background: var(--lime); }.travel-facts > div:nth-child(5) { background: var(--red); color: var(--paper); }.travel-facts > div:nth-child(6) { background: var(--paper-2); }
.travel-facts span, .travel-facts small { display: block; font: 800 8px/1.3 var(--mono); text-transform: uppercase; }
.travel-facts strong { display: block; margin: 27px 0 7px; font: 900 22px/.86 var(--display); letter-spacing: -.03em; text-transform: uppercase; }
.travel-facts small { color: inherit; opacity: .75; font-size: 8px; line-height: 1.35; text-transform: none; }
.travel-section-nav { position: sticky; top: 72px; z-index: 8; border-bottom: 2px solid var(--ink); background: var(--yellow); }
.travel-section-nav .container { display: flex; width: 100%; max-width: none; overflow-x: auto; }
.travel-section-nav a { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; min-height: 46px; padding: 0 15px; border-right: 1px solid var(--ink); font: 800 9px var(--mono); text-transform: uppercase; }
.travel-section-nav a:hover, .travel-section-nav a:focus-visible { background: var(--red); color: var(--paper); outline: 0; }
.travel-section-nav b { color: var(--red); font: 900 16px var(--display); }.travel-section-nav a:hover b, .travel-section-nav a:focus-visible b { color: var(--yellow); }
.travel-section { padding: 76px 0; border-bottom: 3px solid var(--ink); }
.travel-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 31px; padding-bottom: 15px; border-bottom: 3px solid var(--ink); }
.travel-section-heading h2 { margin: 11px 0 0; font: 900 clamp(51px, 7vw, 100px)/.76 var(--display); letter-spacing: -.055em; text-transform: uppercase; }
.travel-section-heading h2 em, .travel-survival-copy h2 em, .travel-weather h2 em, .travel-code h2 em, .travel-sources h2 em { color: var(--red); font-style: normal; }
.travel-section-heading p { max-width: 390px; margin: 0; color: var(--travel-muted); font-size: 14px; line-height: 1.5; }
.travel-plan-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 3px solid var(--ink); background: var(--ink); gap: 2px; }
.travel-plan-card { position: relative; min-height: 238px; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; min-width: 0; padding: 21px; background: var(--paper-2); }
.travel-plan-card:nth-child(2) { background: var(--cyan); }.travel-plan-card:nth-child(3) { background: var(--yellow); }.travel-plan-card:nth-child(4) { background: var(--red); color: var(--paper); }
.travel-plan-card > span { font: 900 28px var(--display); }.travel-plan-card h3 { margin: 0 0 10px; font: 900 30px/.88 var(--display); letter-spacing: -.04em; text-transform: uppercase; }.travel-plan-card p { margin: 0; font-size: 12px; line-height: 1.45; }.travel-plan-card i { align-self: end; font: 900 27px var(--display); font-style: normal; }
.travel-arrival { background: var(--paper-2); }.travel-route-rail { display: flex; align-items: center; gap: 12px; margin: -4px 0 28px; font: 800 9px var(--mono); text-transform: uppercase; }.travel-route-rail i { height: 2px; flex: 1; min-width: 16px; background: var(--red); }
.travel-transport-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; align-items: start; }.travel-transport-card, .travel-area-card, .travel-tip-card { min-width: 0; padding: 18px; border: 2px solid var(--ink); background: var(--paper); box-shadow: 6px 6px 0 var(--ink); transition: transform .2s ease, box-shadow .2s ease; }.travel-transport-card:hover, .travel-transport-card:focus-within, .travel-area-card:hover, .travel-tip-card:hover { transform: translate(-3px, -4px); box-shadow: 10px 10px 0 var(--ink); }.travel-transport-card.is-selected { box-shadow: 9px 9px 0 var(--red); }
.travel-tone-yellow { --travel-accent: var(--yellow); background: var(--yellow); }.travel-tone-red { --travel-accent: var(--red); background: var(--red); color: var(--paper); }.travel-tone-cyan { --travel-accent: var(--cyan); background: var(--cyan); }.travel-tone-lime { --travel-accent: var(--lime); background: var(--lime); }.travel-tone-paper { --travel-accent: var(--paper-2); background: var(--paper-2); }
.travel-card-top { display: flex; justify-content: space-between; align-items: start; gap: 12px; margin-bottom: 19px; }.travel-chip { display: inline-flex; padding: 5px 7px; border: 1px solid currentColor; font: 800 8px var(--mono); letter-spacing: .04em; text-transform: uppercase; }.travel-card-index, .travel-tip-date { font: 800 9px var(--mono); opacity: .7; }.travel-transport-card .eyebrow, .travel-area-card .eyebrow { min-height: 27px; font-size: 8px; }.travel-transport-card .eyebrow::before { color: var(--red); }.travel-transport-card h3, .travel-area-card h3, .travel-tip-card h3 { margin: 10px 0 16px; font: 900 clamp(28px, 3vw, 43px)/.82 var(--display); letter-spacing: -.045em; text-transform: uppercase; }.travel-transport-meta { display: flex; flex-wrap: wrap; gap: 9px; align-items: baseline; padding: 10px 0; border-top: 2px solid currentColor; border-bottom: 1px solid currentColor; }.travel-transport-meta strong { font: 900 25px/.9 var(--display); }.travel-transport-meta span { font: 800 9px var(--mono); text-transform: uppercase; }.travel-transport-card dl { margin: 16px 0 0; }.travel-transport-card dl > div { display: grid; grid-template-columns: 60px 1fr; gap: 7px; padding: 7px 0; border-bottom: 1px solid currentColor; }.travel-transport-card dt { font: 800 8px var(--mono); }.travel-transport-card dd { margin: 0; font-size: 11px; line-height: 1.3; }.travel-transport-card p, .travel-area-card p, .travel-tip-card p { margin: 16px 0 0; font-size: 12px; line-height: 1.45; }.travel-transport-footer, .travel-area-footer, .travel-tip-footer { display: flex; justify-content: space-between; align-items: end; gap: 10px; margin-top: 18px; padding-top: 12px; border-top: 2px solid currentColor; font: 800 8px var(--mono); text-transform: uppercase; }.travel-source-link { display: inline-flex; gap: 4px; align-items: center; color: inherit; font: 800 8px var(--mono); text-decoration: underline; text-underline-offset: 3px; }.travel-source-link span { font-size: 14px; text-decoration: none; }.travel-transport-footer .travel-source-link, .travel-area-footer .travel-source-link { max-width: 56%; text-align: right; }
.travel-survival-wrap { display: grid; grid-template-columns: .75fr 1.25fr; gap: 32px; align-items: stretch; }.travel-survival-copy { padding: 30px; border: 3px solid var(--ink); background: var(--yellow); box-shadow: 8px 8px 0 var(--red); }.travel-survival-copy h2 { margin: 18px 0; font: 900 clamp(50px, 6vw, 85px)/.77 var(--display); letter-spacing: -.05em; text-transform: uppercase; }.travel-survival-copy p { max-width: 440px; margin: 0; line-height: 1.5; }.travel-survival-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }.travel-outline-button { min-height: 48px; padding: 10px 13px; border: 2px solid var(--ink); background: transparent; font: 800 10px var(--mono); text-transform: uppercase; }.travel-survival-board { border: 3px solid var(--ink); background: var(--ink); box-shadow: 8px 8px 0 var(--cyan); }.travel-board-header { display: flex; justify-content: space-between; gap: 16px; padding: 16px; background: var(--ink); color: var(--paper); font: 800 10px var(--mono); }.travel-board-header b { color: var(--yellow); }.travel-survival-row { display: grid; grid-template-columns: 52px 140px 1fr; gap: 15px; align-items: center; min-height: 67px; padding: 12px 16px; border-top: 2px solid var(--ink); background: var(--paper); }.travel-survival-row:nth-child(3) { background: var(--cyan); }.travel-survival-row:nth-child(4) { background: var(--yellow); }.travel-survival-row:nth-child(5) { background: var(--lime); }.travel-survival-row:nth-child(6) { background: var(--red); color: var(--paper); }.travel-survival-row:nth-child(7) { background: var(--paper-2); }.travel-survival-row strong { font: 900 24px var(--display); }.travel-survival-row span { font: 800 9px var(--mono); text-transform: uppercase; }.travel-survival-row p { margin: 0; font-size: 12px; line-height: 1.35; }
.travel-stay { background: var(--cyan); }.travel-area-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }.travel-area-card { box-shadow: 6px 6px 0 var(--travel-accent); }.travel-area-card h3 { min-height: 86px; }.travel-area-time { display: block; padding: 10px 0; border-top: 2px solid currentColor; border-bottom: 1px solid currentColor; font: 900 23px/.9 var(--display); text-transform: uppercase; }.travel-area-footer { min-height: 42px; }.travel-area-footer > span { max-width: 48%; font-size: 8px; }.travel-scam-note { display: grid; grid-template-columns: max-content 1fr max-content; gap: 17px; align-items: center; margin-top: 25px; padding: 15px 17px; border: 2px solid var(--ink); background: var(--paper); font-size: 12px; }.travel-scam-note strong, .travel-scam-note a { font: 800 9px var(--mono); text-transform: uppercase; }.travel-scam-note a { text-decoration: underline; text-underline-offset: 3px; }
.travel-weather { background: var(--paper-2); }.travel-weather-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 34px; align-items: center; }.travel-weather h2 { margin: 14px 0 20px; font: 900 clamp(54px, 7vw, 100px)/.75 var(--display); letter-spacing: -.055em; text-transform: uppercase; }.travel-weather-lead { max-width: 520px; margin: 0; font-size: 15px; line-height: 1.55; }.travel-weather-status { display: grid; grid-template-columns: 58px 1fr max-content; gap: 14px; align-items: center; max-width: 520px; margin-top: 28px; padding: 14px; border: 2px solid var(--ink); background: var(--yellow); }.travel-weather-sun { position: relative; display: block; width: 43px; height: 43px; border: 3px solid var(--ink); border-radius: 50%; background: var(--red); }.travel-weather-sun::after { content: ''; position: absolute; inset: -10px; border: 2px dashed var(--ink); border-radius: 50%; }.travel-weather-status strong, .travel-weather-status small { display: block; }.travel-weather-status strong { font: 900 19px/.9 var(--display); text-transform: uppercase; }.travel-weather-status small { margin-top: 6px; font: 700 8px/1.3 var(--mono); text-transform: uppercase; }.travel-weather-status a { font: 800 9px var(--mono); text-decoration: underline; text-transform: uppercase; }.travel-clothes-rail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; padding: 2px; border: 2px solid var(--ink); background: var(--ink); }.travel-clothes-item { position: relative; min-height: 183px; padding: 14px; background: var(--paper); }.travel-clothes-item:nth-child(2) { background: var(--yellow); }.travel-clothes-item:nth-child(3) { background: var(--cyan); }.travel-clothes-item:nth-child(4) { background: var(--red); color: var(--paper); }.travel-clothes-item:nth-child(5) { background: var(--lime); }.travel-clothes-item:nth-child(6) { background: var(--paper-2); }.travel-clothes-item > span { font: 900 12px var(--display); }.travel-clothes-item strong { display: block; margin-top: 22px; font: 900 20px/.82 var(--display); text-transform: uppercase; }.travel-clothes-item p { margin: 6px 0 0; font-size: 10px; line-height: 1.35; }.travel-clothes-shape { position: absolute; top: 22px; right: 16px; width: 33px; height: 33px; border: 3px solid var(--ink); background: var(--travel-accent, var(--yellow)); transform: rotate(12deg); }.travel-clothes-item--1 .travel-clothes-shape { border-radius: 50%; }.travel-clothes-item--2 .travel-clothes-shape { width: 43px; height: 24px; transform: skew(-18deg); }.travel-clothes-item--3 .travel-clothes-shape { width: 45px; height: 17px; border-radius: 50%; transform: rotate(-10deg); }.travel-clothes-item--4 .travel-clothes-shape { clip-path: polygon(0 0, 100% 0, 75% 100%, 25% 100%); }.travel-clothes-item--5 .travel-clothes-shape { border-radius: 3px 3px 18px 18px; }.travel-clothes-item--6 .travel-clothes-shape { border-radius: 50%; }
.travel-time { background: var(--red); color: var(--paper); }.travel-time .travel-section-heading { border-color: var(--paper); }.travel-time .travel-section-heading p { color: var(--paper-2); }.travel-time .travel-section-heading h2 em { color: var(--yellow); }.travel-map-tools { display: grid; grid-template-columns: 1fr 1.2fr; gap: 20px; align-items: stretch; }.travel-map-filter-list { display: flex; flex-wrap: wrap; align-content: start; gap: 8px; }.travel-map-filter-list button { min-height: 42px; padding: 8px 11px; border: 2px solid var(--paper); background: transparent; color: var(--paper); font: 800 9px var(--mono); text-transform: uppercase; }.travel-map-filter-list button:hover, .travel-map-filter-list button.active { background: var(--yellow); color: var(--ink); border-color: var(--yellow); }.travel-mini-map { position: relative; min-height: 225px; overflow: hidden; border: 2px solid var(--ink); background: var(--cyan); color: var(--ink); }.travel-mini-map::before, .travel-mini-map::after { content: ''; position: absolute; background: rgba(17,17,15,.19); }.travel-mini-map::before { inset: 35% 0 auto; height: 2px; box-shadow: 0 45px 0 rgba(17,17,15,.19); }.travel-mini-map::after { inset: 0 auto 0 42%; width: 2px; box-shadow: 45px 0 0 rgba(17,17,15,.19); }.travel-mini-route { position: absolute; top: 53%; left: 16%; width: 65%; height: 7px; border: 2px solid var(--ink); background: var(--red); transform: rotate(-17deg); }.travel-mini-label { position: absolute; padding: 4px 6px; border: 2px solid var(--ink); background: var(--paper); font: 900 9px var(--mono); }.travel-mini-label--fil { right: 12%; top: 35%; }.travel-mini-label--oriente { left: 41%; top: 52%; }.travel-mini-label--river { right: 10%; bottom: 12%; background: var(--lime); }.travel-mini-marker { position: absolute; display: grid; place-items: center; width: 29px; height: 29px; border: 2px solid var(--ink); background: var(--yellow); font: 900 13px var(--display); }.travel-mini-marker--fil { right: 26%; top: 52%; }.travel-mini-marker--oriente { left: 31%; top: 42%; }.travel-map-place-list { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }.travel-map-place { display: grid; grid-template-columns: max-content 1fr max-content; gap: 10px; align-items: center; padding: 12px; border: 2px solid var(--paper); background: rgba(17,17,15,.22); }.travel-map-place[hidden] { display: none; }.travel-place-tag { padding: 4px 5px; border: 1px solid var(--ink); color: var(--ink); font: 800 7px var(--mono); text-transform: uppercase; }.travel-map-place strong, .travel-map-place small { display: block; }.travel-map-place strong { font-size: 12px; line-height: 1.1; }.travel-map-place small { margin-top: 4px; color: var(--paper-2); font-size: 9px; line-height: 1.25; }.travel-map-place > b { font: 900 12px var(--display); text-align: right; text-transform: uppercase; }.travel-time-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-top: 38px; }.travel-time-card { min-width: 0; min-height: 215px; padding: 17px; border: 2px solid var(--ink); color: var(--ink); box-shadow: 5px 5px 0 var(--ink); transition: transform .2s ease, box-shadow .2s ease; }.travel-time-card:hover { transform: translate(-3px, -3px); box-shadow: 8px 8px 0 var(--ink); }.travel-time-card > span { font: 900 16px var(--display); }.travel-time-card h3 { margin: 40px 0 11px; font: 900 27px/.84 var(--display); letter-spacing: -.04em; text-transform: uppercase; }.travel-time-card p { margin: 0; font-size: 11px; line-height: 1.4; }.travel-time-card > strong { display: block; margin-top: 16px; padding-top: 10px; border-top: 1px solid var(--ink); font: 800 8px var(--mono); text-transform: uppercase; }.travel-source-callout { display: flex; align-items: center; gap: 15px; margin-top: 22px; padding: 13px 15px; border: 2px solid var(--paper); font-size: 11px; line-height: 1.4; }.travel-source-callout .travel-source-link { flex: 0 0 auto; color: var(--yellow); }
.travel-code { background: var(--lime); }.travel-phrase-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }.travel-phrase-card { display: grid; grid-template-columns: 35px 1fr max-content; gap: 12px; align-items: center; min-width: 0; padding: 15px; border: 2px solid var(--ink); background: var(--paper); box-shadow: 4px 4px 0 var(--ink); }.travel-phrase-index { font: 900 18px var(--display); color: var(--red); }.travel-phrase-card strong, .travel-phrase-card span, .travel-phrase-card small { display: block; }.travel-phrase-card strong { font: 900 24px/.85 var(--display); text-transform: uppercase; }.travel-phrase-card span { margin-top: 5px; font-size: 12px; }.travel-phrase-card small { margin-top: 5px; color: var(--travel-muted); font: 700 9px var(--mono); text-transform: uppercase; }.travel-phrase-card button { min-height: 40px; padding: 8px 9px; border: 2px solid var(--ink); background: var(--yellow); font: 800 8px var(--mono); }.travel-phrase-card button:hover, .travel-phrase-card button:focus-visible { background: var(--red); color: var(--paper); }.travel-language-note { display: flex; align-items: center; gap: 14px; margin-top: 20px; padding: 14px 16px; border: 2px solid var(--ink); background: var(--paper); font-size: 12px; line-height: 1.4; }.travel-language-note strong, .travel-language-note a { flex: 0 0 auto; font: 800 8px var(--mono); text-transform: uppercase; }.travel-language-note a { margin-left: auto; text-decoration: underline; text-underline-offset: 3px; }
.travel-tips { background: var(--paper-2); }.travel-tips-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }.travel-tip-card { box-shadow: 6px 6px 0 var(--travel-accent); }.travel-tip-card h3 { margin-top: 40px; }.travel-tip-footer { min-height: 41px; }.travel-tip-footer > span { font-size: 8px; }
.travel-sources { background: var(--yellow); }.travel-source-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }.travel-source-card { min-width: 0; min-height: 195px; display: flex; flex-direction: column; padding: 17px; border: 2px solid var(--ink); color: var(--ink); box-shadow: 6px 6px 0 var(--ink); transition: transform .2s ease, box-shadow .2s ease; }.travel-source-card:hover { transform: translate(-3px, -3px); box-shadow: 9px 9px 0 var(--ink); }.travel-source-card > span { font: 800 8px var(--mono); text-transform: uppercase; }.travel-source-card strong { margin-top: 29px; font: 900 27px/.84 var(--display); letter-spacing: -.04em; text-transform: uppercase; }.travel-source-card p { margin: 10px 0 0; font-size: 11px; line-height: 1.35; }.travel-source-card small { display: flex; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 12px; border-top: 1px solid currentColor; font: 700 8px var(--mono); text-transform: uppercase; }.travel-source-card small b { font-size: 16px; }
.travel-route-drawer { position: fixed; inset: 0; z-index: 30; display: flex; justify-content: flex-end; visibility: hidden; pointer-events: none; }.travel-route-drawer.is-open { visibility: visible; pointer-events: auto; }.travel-drawer-backdrop { position: absolute; inset: 0; background: rgba(17,17,15,.68); opacity: 0; transition: opacity .2s ease; }.travel-route-drawer.is-open .travel-drawer-backdrop { opacity: 1; }.travel-drawer-panel { position: relative; z-index: 1; width: min(530px, 100%); height: 100%; overflow-y: auto; padding: 28px; background: var(--paper); border-left: 3px solid var(--ink); box-shadow: -9px 0 0 var(--red); transform: translateX(100%); transition: transform .25s ease; }.travel-route-drawer.is-open .travel-drawer-panel { transform: translateX(0); }.travel-drawer-head { display: flex; justify-content: space-between; gap: 18px; align-items: start; }.travel-drawer-head h2 { margin: 14px 0 0; font: 900 clamp(55px, 7vw, 82px)/.75 var(--display); letter-spacing: -.055em; text-transform: uppercase; }.travel-drawer-head h2 em { color: var(--red); font-style: normal; }.travel-drawer-panel > p { max-width: 400px; margin: 24px 0; color: var(--travel-muted); font-size: 13px; line-height: 1.5; }.travel-drawer-close { width: 43px; height: 43px; border: 2px solid var(--ink); background: var(--yellow); font: 900 31px/.8 var(--display); }.travel-drawer-panel form { display: grid; gap: 15px; }.travel-drawer-panel label { display: grid; gap: 7px; font: 800 9px var(--mono); text-transform: uppercase; }.travel-drawer-panel input, .travel-drawer-panel select { width: 100%; min-height: 46px; padding: 10px; border: 2px solid var(--ink); border-radius: 0; background: var(--paper-2); color: var(--ink); font: 13px var(--body); }.travel-drawer-panel form .button { justify-self: start; margin-top: 6px; }.travel-route-result { margin-top: 25px; padding: 16px; border: 3px solid var(--ink); background: var(--cyan); box-shadow: 6px 6px 0 var(--ink); }.travel-route-result > span { font: 800 8px var(--mono); text-transform: uppercase; }.travel-route-result strong { display: block; margin: 22px 0 9px; font: 900 30px/.85 var(--display); text-transform: uppercase; }.travel-route-result p { margin: 7px 0 0; font-size: 12px; line-height: 1.45; }.travel-route-result small { display: block; margin-top: 15px; padding-top: 11px; border-top: 1px solid var(--ink); font: 700 9px/1.4 var(--mono); text-transform: uppercase; }.travel-route-result.is-ready { background: var(--yellow); }.travel-mobile-bar { display: none; }
@keyframes travel-route-draw { from { transform: rotate(-17deg) scaleX(0); } to { transform: rotate(-17deg) scaleX(1); } }
@media (max-width: 1080px) { .travel-hero-grid { grid-template-columns: 1fr 1fr; }.travel-facts { grid-template-columns: repeat(3, 1fr); }.travel-transport-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.travel-area-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.travel-area-card:nth-child(4), .travel-area-card:nth-child(5) { margin-top: 10px; }.travel-time-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.travel-source-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) { .travel-hero-grid, .travel-survival-wrap, .travel-weather-grid { grid-template-columns: 1fr; }.travel-hero-art { max-width: 700px; width: 100%; margin: 0 auto; }.travel-hero-copy { padding-bottom: 32px; }.travel-map-board { min-height: 520px; }.travel-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.travel-section-heading { align-items: start; flex-direction: column; }.travel-section-heading p { max-width: 600px; }.travel-area-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.travel-area-card:nth-child(4), .travel-area-card:nth-child(5) { margin-top: 0; }.travel-map-tools { grid-template-columns: 1fr; }.travel-map-place-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }.travel-source-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .travel-guide-page { padding-bottom: 63px; }.travel-hero { padding-top: 22px; }.travel-hero-copy { padding: 18px 0 30px; }.travel-kicker { margin-bottom: 22px; font-size: 8px; }.travel-hero h1 { margin: 15px 0 22px; font-size: clamp(53px, 15vw, 78px); }.travel-hero-headline { font-size: clamp(28px, 8vw, 40px); }.travel-hero-lead { font-size: 14px; }.travel-hero-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.travel-hero-actions .button, .travel-text-action { width: 100%; }.travel-hero-event { margin-top: 30px; font-size: 8px; }.travel-art-label { left: 8px; top: 10px; }.travel-map-board { min-height: 430px; }.travel-map-node { min-width: 92px; grid-template-columns: 24px 1fr; gap: 1px 5px; padding: 5px; }.travel-map-node b { width: 22px; height: 22px; font-size: 11px; }.travel-map-node span { font-size: 7px; }.travel-map-node i { font-size: 6px; }.travel-map-node--airport { top: 19%; left: 4%; }.travel-map-node--oriente { left: 30%; }.travel-map-node--fil { right: 4%; }.travel-map-node--arena { right: 8%; bottom: 13%; }.travel-map-block { padding: 8px; }.travel-map-block strong { font-size: 19px; }.travel-map-suitcase { right: 4%; bottom: 6%; transform: rotate(8deg) scale(.8); }.travel-map-jacket { left: 49%; transform: rotate(-9deg) scale(.75); }.travel-map-stamp { right: 5%; top: 31%; transform: rotate(15deg) scale(.78); }.travel-map-coord { font-size: 6px; }.travel-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }.travel-facts > div { min-height: 112px; padding: 12px; }.travel-facts strong { margin-top: 19px; font-size: 19px; }.travel-facts small { font-size: 7px; }.travel-section-nav { top: 60px; }.travel-section-nav a { min-height: 41px; padding: 0 10px; font-size: 8px; }.travel-section-nav a span { max-width: 70px; white-space: normal; }.travel-section { padding: 53px 0; }.travel-section-heading h2 { font-size: clamp(49px, 14vw, 72px); }.travel-plan-grid, .travel-transport-grid, .travel-area-grid, .travel-source-grid, .travel-tips-grid { grid-template-columns: 1fr; }.travel-plan-card { min-height: 190px; }.travel-transport-card, .travel-area-card, .travel-tip-card { box-shadow: 5px 5px 0 var(--travel-accent, var(--ink)); }.travel-route-rail { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.travel-route-rail i { display: none; }.travel-survival-wrap { gap: 24px; }.travel-survival-copy { padding: 22px; }.travel-survival-copy h2 { font-size: clamp(49px, 14vw, 72px); }.travel-survival-row { grid-template-columns: 38px 1fr; gap: 5px 10px; }.travel-survival-row strong { grid-row: span 2; }.travel-survival-row p { grid-column: 2; }.travel-scam-note { grid-template-columns: 1fr; gap: 8px; }.travel-weather-status { grid-template-columns: 48px 1fr; }.travel-weather-status a { grid-column: 2; justify-self: start; }.travel-clothes-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }.travel-clothes-item { min-height: 164px; }.travel-map-place-list { grid-template-columns: 1fr; }.travel-map-place { grid-template-columns: max-content 1fr; }.travel-map-place > b { grid-column: 2; text-align: left; }.travel-time-grid { grid-template-columns: 1fr 1fr; gap: 9px; }.travel-time-card { min-height: 190px; padding: 13px; }.travel-time-card h3 { margin-top: 28px; font-size: 25px; }.travel-source-callout { align-items: start; flex-direction: column; }.travel-phrase-grid { grid-template-columns: 1fr; }.travel-phrase-card { grid-template-columns: 29px 1fr max-content; padding: 12px; }.travel-phrase-card strong { font-size: 21px; }.travel-language-note { align-items: start; flex-direction: column; }.travel-language-note a { margin-left: 0; }.travel-drawer-panel { padding: 22px 18px 78px; }.travel-drawer-head h2 { font-size: 59px; }.travel-mobile-bar { position: fixed; right: 0; bottom: 0; left: 0; z-index: 20; display: grid; grid-template-columns: repeat(4, 1fr); min-height: 57px; border-top: 3px solid var(--ink); background: var(--yellow); box-shadow: 0 -5px 0 rgba(17,17,15,.12); }.travel-mobile-bar a, .travel-mobile-bar button { display: grid; place-items: center; border: 0; border-right: 1px solid var(--ink); background: transparent; color: var(--ink); font: 900 9px var(--mono); }.travel-mobile-bar button { border-right: 0; background: var(--red); color: var(--paper); } }
@media (prefers-reduced-motion: reduce) { .travel-map-line, .travel-transport-card, .travel-area-card, .travel-time-card, .travel-source-card, .travel-drawer-backdrop, .travel-drawer-panel { animation: none; transition: none; }.travel-map-line { transform: rotate(-17deg) scaleX(1); } }

.event-travel-guide__hero { position: relative; overflow: hidden; padding: 58px 0 66px; color: var(--paper); background: var(--ink); border-bottom: 8px solid var(--red); }
.event-travel-guide--lime .event-travel-guide__hero { border-bottom-color: var(--lime); }
.event-travel-guide__hero::after { content: ''; position: absolute; right: -80px; bottom: -145px; width: 440px; height: 440px; border: 45px solid currentColor; border-radius: 50%; opacity: .055; }
.event-travel-guide__hero .detail-breadcrumb { margin-bottom: 44px; color: var(--paper); }
.event-travel-guide__hero .detail-breadcrumb a { color: var(--paper); }
.event-travel-guide__hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(260px, .6fr); gap: 52px; align-items: end; }
.event-travel-guide__hero h1 { margin: 13px 0 24px; font: 900 clamp(64px, 9vw, 132px)/.76 var(--display); letter-spacing: -.055em; text-transform: uppercase; }
.event-travel-guide__hero h1 em { color: var(--red); font-style: normal; }
.event-travel-guide--lime .event-travel-guide__hero h1 em { color: var(--lime); }
.event-travel-guide__hero p { max-width: 710px; margin: 0; font-size: clamp(18px, 2vw, 25px); line-height: 1.36; }
.event-travel-guide__hero aside { display: grid; gap: 14px; padding: 25px; color: var(--ink); background: var(--lime); border: 3px solid var(--paper); box-shadow: 9px 9px 0 var(--red); transform: rotate(1deg); }
.event-travel-guide--lime .event-travel-guide__hero aside { background: var(--red); color: var(--paper); box-shadow: 9px 9px 0 var(--lime); }
.event-travel-guide__hero aside span, .event-travel-guide__hero aside small { font: 700 11px/1.35 var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.event-travel-guide__hero aside strong { font: 900 30px/.95 var(--display); text-transform: uppercase; }
.event-travel-guide__intro { display: grid; grid-template-columns: 1.1fr .8fr; gap: 64px; align-items: end; margin-bottom: 38px; padding-bottom: 30px; border-bottom: 3px solid var(--ink); }
.event-travel-guide__intro h2 { margin: 9px 0 0; font: 900 clamp(39px, 5vw, 66px)/.86 var(--display); letter-spacing: -.035em; text-transform: uppercase; }
.event-travel-guide__intro p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.6; }
.event-travel-guide__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.event-travel-guide__grid article { min-height: 270px; padding: 23px; border: 3px solid var(--ink); background: var(--white); box-shadow: 7px 7px 0 var(--ink); }
.event-travel-guide__grid article:nth-child(2), .event-travel-guide__grid article:nth-child(5) { background: var(--lime); box-shadow-color: var(--red); }
.event-travel-guide--lime .event-travel-guide__grid article:nth-child(2), .event-travel-guide--lime .event-travel-guide__grid article:nth-child(5) { background: var(--red); color: var(--paper); box-shadow-color: var(--lime); }
.event-travel-guide__grid article > span { font: 700 10px/1.2 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.event-travel-guide__grid h2 { margin: 48px 0 15px; font: 900 34px/.92 var(--display); letter-spacing: -.025em; text-transform: uppercase; }
.event-travel-guide__grid p { margin: 0; line-height: 1.52; }
.event-travel-guide__fieldbook { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.event-travel-guide__fieldbook article { display: grid; gap: 18px; min-height: 340px; padding: 28px; background: var(--white); border: 3px solid var(--ink); box-shadow: 8px 8px 0 var(--ink); }
.event-travel-guide__fieldbook article:nth-child(3n + 2) { background: var(--lime); box-shadow-color: var(--red); }
.event-travel-guide__fieldbook article:nth-child(3n) { background: var(--yellow); }
.event-travel-guide__fieldbook header { padding-bottom: 17px; border-bottom: 3px solid var(--ink); }
.event-travel-guide__fieldbook header span { font: 700 10px/1.2 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.event-travel-guide__fieldbook h2 { margin: 12px 0 0; font: 900 clamp(29px, 3.3vw, 46px)/.9 var(--display); letter-spacing: -.03em; text-transform: uppercase; }
.event-travel-guide__fieldbook p { margin: 0; font-size: 16px; line-height: 1.55; }
.event-travel-guide__fieldbook ul { display: grid; gap: 9px; margin: auto 0 0; padding: 15px 0 0 20px; border-top: 2px solid var(--ink); }
.event-travel-guide__fieldbook li { padding-left: 3px; line-height: 1.45; }
.event-travel-guide__sources { background: var(--yellow); border-top: 3px solid var(--ink); }
.event-travel-guide__source-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.event-travel-guide__source-grid article { position: relative; display: grid; gap: 7px; padding: 21px; color: var(--ink); background: var(--paper); border: 2px solid var(--ink); }
.event-travel-guide__source-grid span { font: 700 10px var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.event-travel-guide__source-grid strong { font-size: 19px; }
.accommodation-comparison { color: var(--paper); background: var(--ink); border-top: 8px solid var(--cyan); }
.accommodation-comparison__head { display: grid; grid-template-columns: 1.1fr .8fr; gap: 64px; align-items: end; }
.accommodation-comparison__head h2 { margin: 10px 0 0; font: 900 clamp(42px, 6vw, 78px)/.84 var(--display); letter-spacing: -.04em; text-transform: uppercase; }
.accommodation-comparison__head p { margin: 0; color: #d8d5cc; font-size: 16px; line-height: 1.6; }
.stay-preferences { display: grid; grid-template-columns: 1fr 1fr auto; gap: 14px; align-items: end; margin: 38px 0 18px; padding: 18px; color: var(--ink); background: var(--yellow); border: 3px solid var(--paper); box-shadow: 7px 7px 0 var(--red); }
.stay-preferences label { display: grid; grid-template-columns: auto 1fr; gap: 7px; align-items: center; font: 700 11px/1.2 var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.stay-preferences input { grid-column: 1 / -1; width: 100%; min-height: 45px; padding: 9px 11px; color: var(--ink); background: var(--paper); border: 2px solid var(--ink); font: 800 17px var(--mono); }
.stay-agent-note { display: grid; grid-template-columns: .65fr 1fr 1.6fr; gap: 20px; align-items: center; margin: 28px 0; padding: 21px; color: var(--ink); background: var(--lime); border: 3px solid var(--paper); }
.stay-agent-note > span, .stay-agent-note > small { font: 700 10px/1.35 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.stay-agent-note strong { font: 900 26px/.95 var(--display); text-transform: uppercase; }
.stay-agent-note p { margin: 0; line-height: 1.5; }
.stay-agent-note small { color: #30342b; }
.stay-lanes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 30px; }
.stay-lane { min-width: 0; }
.stay-lane > header { display: flex; gap: 14px; align-items: center; min-height: 84px; padding: 15px; color: var(--ink); background: var(--paper); border: 3px solid var(--paper); }
.stay-lane--booking > header { background: var(--cyan); }
.stay-lane--sidecircuit_share > header { background: var(--red); color: var(--paper); }
.stay-lane > header > span { font: 900 38px/.8 var(--display); }
.stay-lane header small { display: block; margin-bottom: 4px; font: 700 9px var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.stay-lane h3 { margin: 0; font: 900 25px/.95 var(--display); text-transform: uppercase; }
.stay-lane > div { display: grid; gap: 12px; margin-top: 12px; }
.stay-card { display: grid; gap: 10px; min-height: 306px; padding: 18px; color: var(--ink); background: var(--paper); border: 2px solid var(--paper); }
.stay-card__rank { display: flex; justify-content: space-between; align-items: center; }
.stay-card__rank span { font: 900 24px var(--display); }
.stay-card__rank small, .stay-card__status { font: 700 9px/1.3 var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.stay-card h4 { margin: 3px 0 0; font: 900 27px/.93 var(--display); text-transform: uppercase; }
.stay-card p { margin: 0; line-height: 1.42; }
.stay-card__area { font: 700 10px var(--mono); letter-spacing: .035em; text-transform: uppercase; }
.stay-card__price { display: grid; gap: 2px; margin-top: auto; padding-top: 12px; border-top: 2px solid var(--ink); }
.stay-card__price strong { font: 900 25px var(--display); }
.stay-card__price span { font: 700 10px var(--mono); text-transform: uppercase; }
.stay-card__reason { padding: 8px; background: var(--yellow); font: 700 10px/1.35 var(--mono); text-transform: uppercase; }
.stay-card__status { color: var(--muted); }
.stay-disclosure { max-width: 920px; margin: 24px 0 0; color: #bdb9ae; font: 700 10px/1.55 var(--mono); letter-spacing: .035em; text-transform: uppercase; }
.connection-hub { background: var(--cyan); border-top: 3px solid var(--ink); }
.connection-hub__head { display: grid; grid-template-columns: 1.15fr .8fr; gap: 60px; align-items: end; margin-bottom: 36px; }
.connection-hub__head h2 { margin: 9px 0 0; font: 900 clamp(50px, 7.5vw, 100px)/.78 var(--display); letter-spacing: -.045em; text-transform: uppercase; }
.connection-hub__head p { margin: 0; font-size: 17px; line-height: 1.6; }
.connection-hub__layout { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.45fr); gap: 22px; align-items: start; }
.connection-intent { display: grid; gap: 15px; padding: 23px; background: var(--yellow); border: 3px solid var(--ink); box-shadow: 8px 8px 0 var(--red); }
.connection-intent__title, .connection-results__head { display: flex; justify-content: space-between; gap: 14px; align-items: center; padding-bottom: 15px; border-bottom: 3px solid var(--ink); }
.connection-intent__title > span { font: 900 42px/.8 var(--display); }
.connection-intent__title small, .connection-results__head span { font: 700 9px var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.connection-intent__title h3 { margin: 4px 0 0; font: 900 24px/.95 var(--display); text-transform: uppercase; }
.connection-intent label { display: grid; gap: 6px; font: 700 10px var(--mono); letter-spacing: .045em; text-transform: uppercase; }
.connection-intent input, .connection-intent select { width: 100%; min-height: 43px; padding: 8px 10px; color: var(--ink); background: var(--paper); border: 2px solid var(--ink); font: 700 13px var(--body); }
.connection-intent__split { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.connection-intent__privacy { font: 700 9px/1.45 var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.connection-results { min-width: 0; padding: 23px; background: var(--paper); border: 3px solid var(--ink); }
.connection-results__head { margin-bottom: 16px; }
.connection-results__head strong { font: 900 22px var(--display); text-transform: uppercase; }
.connection-results__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.connection-match { display: grid; gap: 11px; min-width: 0; padding: 16px; background: var(--white); border: 2px solid var(--ink); }
.connection-match > div:first-child { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.connection-match > div:first-child span { font: 900 25px var(--display); }
.connection-match > div:first-child small { font: 700 8px var(--mono); text-transform: uppercase; }
.connection-match h4 { margin: 0; font: 900 27px/.92 var(--display); text-transform: uppercase; }
.connection-match > p { margin: 0; min-height: 36px; font: 700 10px/1.35 var(--mono); text-transform: uppercase; }
.connection-match dl { display: grid; gap: 6px; margin: 0; padding: 10px 0; border-block: 2px solid var(--ink); }
.connection-match dl div { display: flex; justify-content: space-between; gap: 8px; }
.connection-match dt, .connection-match dd { margin: 0; font-size: 11px; }
.connection-match dt { color: var(--muted); }
.connection-match ul { display: grid; gap: 5px; margin: 0; padding-left: 17px; font-size: 11px; line-height: 1.35; }
.connection-match .button { margin-top: auto; }
.connection-empty { grid-column: 1 / -1; padding: 30px; background: var(--yellow); border: 2px solid var(--ink); }
.connection-empty strong { font: 900 28px var(--display); text-transform: uppercase; }
.connection-empty p { margin: 8px 0 0; }
.connection-consent { display: grid; grid-template-columns: .6fr 2fr .65fr; gap: 22px; align-items: start; margin-top: 22px; padding: 21px; color: var(--paper); background: var(--ink); border: 3px solid var(--ink); }
.connection-consent > span { font: 700 10px var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.connection-consent ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 0; padding: 0; list-style: none; counter-reset: consent; }
.connection-consent li { display: grid; gap: 5px; counter-increment: consent; }
.connection-consent li strong::before { content: '0' counter(consent) ' / '; color: var(--lime); }
.connection-consent li small { color: #cbc8bf; line-height: 1.45; }
.connection-consent p { margin: 0; color: var(--yellow); font: 700 10px/1.45 var(--mono); text-transform: uppercase; }
.navigator-launch { position: fixed; right: 22px; bottom: 22px; z-index: 70; display: flex; gap: 10px; align-items: center; padding: 9px 15px 9px 9px; color: var(--paper); background: var(--ink); border: 2px solid var(--paper); box-shadow: 5px 5px 0 var(--red); cursor: pointer; }
.navigator-launch span { display: grid; place-items: center; width: 34px; height: 34px; color: var(--ink); background: var(--lime); border-radius: 50%; font: 900 14px var(--display); }
.navigator-launch strong { font: 800 11px var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.navigator-dialog { width: min(920px, calc(100vw - 28px)); max-height: min(850px, calc(100vh - 28px)); padding: 0; color: var(--ink); background: var(--paper); border: 4px solid var(--ink); box-shadow: 12px 12px 0 var(--red); }
.navigator-dialog::backdrop { background: rgba(20, 20, 18, .72); backdrop-filter: blur(4px); }
.navigator-close { position: absolute; top: 13px; right: 13px; z-index: 1; width: 39px; height: 39px; color: var(--paper); background: var(--ink); border: 0; font: 900 24px var(--display); cursor: pointer; }
.navigator-dialog__head { display: grid; grid-template-columns: 1.05fr .75fr; gap: 36px; align-items: end; padding: 34px; background: var(--cyan); border-bottom: 3px solid var(--ink); }
.navigator-dialog__head h2 { margin: 9px 0 0; font: 900 clamp(45px, 7vw, 76px)/.79 var(--display); letter-spacing: -.04em; text-transform: uppercase; }
.navigator-dialog__head p { margin: 0; line-height: 1.55; }
.navigator-form { padding: 25px 34px 14px; }
.navigator-form label { display: block; margin-bottom: 7px; font: 700 10px var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.navigator-form > div { display: grid; grid-template-columns: 1fr auto; }
.navigator-form input { min-width: 0; min-height: 50px; padding: 10px 13px; color: var(--ink); background: var(--white); border: 3px solid var(--ink); border-right: 0; font-size: 15px; }
.navigator-prompts { display: flex; flex-wrap: wrap; gap: 7px; padding: 0 34px 20px; }
.navigator-prompts button { padding: 7px 10px; color: var(--ink); background: var(--yellow); border: 1px solid var(--ink); font: 700 9px var(--mono); text-transform: uppercase; cursor: pointer; }
.navigator-results { padding: 0 34px 30px; }
.navigator-answer { margin: 0 0 14px; padding: 12px; background: var(--lime); border-left: 5px solid var(--ink); font-weight: 700; line-height: 1.45; }
.navigator-result-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.navigator-result-grid > a { display: grid; gap: 6px; padding: 15px; color: var(--ink); text-decoration: none; background: var(--white); border: 2px solid var(--ink); transition: transform .15s ease, box-shadow .15s ease; }
.navigator-result-grid > a:hover, .navigator-result-grid > a:focus-visible { transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--ink); outline: 0; }
.navigator-result-grid span, .navigator-result-grid small { font: 700 9px/1.3 var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.navigator-result-grid strong { font: 900 22px var(--display); text-transform: uppercase; }
.navigator-result-grid p { margin: 0; line-height: 1.4; }
.navigator-no-result { grid-column: 1 / -1; padding: 20px; background: var(--yellow); border: 2px solid var(--ink); }
.navigator-no-result p { margin: 7px 0 0; }
.navigator-dialog > footer { padding: 12px 34px; color: var(--paper); background: var(--ink); font: 700 9px var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.learning-hero { padding: 62px 0 70px; color: var(--paper); background: var(--ink); border-bottom: 9px solid var(--lime); }
.learning-hero__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(260px, .55fr); gap: 56px; align-items: end; margin-top: 20px; }
.learning-hero h1 { margin: 0 0 25px; font: 900 clamp(68px, 10vw, 138px)/.75 var(--display); letter-spacing: -.055em; text-transform: uppercase; }
.learning-hero h1 em { color: var(--lime); font-style: normal; }
.learning-hero p { max-width: 760px; margin: 0; font-size: 20px; line-height: 1.48; }
.learning-hero aside { display: grid; gap: 15px; padding: 24px; color: var(--ink); background: var(--yellow); border: 3px solid var(--paper); box-shadow: 8px 8px 0 var(--red); transform: rotate(1deg); }
.learning-hero aside span, .learning-hero aside small { font: 700 10px/1.4 var(--mono); letter-spacing: .055em; text-transform: uppercase; }
.learning-hero aside strong { font: 900 31px/.9 var(--display); text-transform: uppercase; }
.learning-path-head { display: grid; grid-template-columns: 1fr .78fr; gap: 50px; align-items: end; margin-bottom: 30px; }
.learning-path-head h2 { margin: 9px 0 0; font: 900 clamp(46px, 6vw, 82px)/.83 var(--display); text-transform: uppercase; }
.learning-path-head p { margin: 0; line-height: 1.6; }
.learning-role-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 3px solid var(--ink); }
.learning-role-tabs button { display: grid; gap: 8px; min-height: 124px; padding: 14px; text-align: left; color: var(--ink); background: var(--paper); border: 0; border-right: 2px solid var(--ink); cursor: pointer; }
.learning-role-tabs button:last-child { border-right: 0; }
.learning-role-tabs button.active { color: var(--paper); background: var(--red); }
.learning-role-tabs strong { font: 900 18px/.95 var(--display); text-transform: uppercase; }
.learning-role-tabs span { font-size: 11px; line-height: 1.4; }
.learning-path-summary { display: grid; grid-template-columns: auto .65fr 1.5fr; gap: 18px; align-items: center; margin: 22px 0; padding: 17px 20px; background: var(--cyan); border: 2px solid var(--ink); }
.learning-path-summary span { font: 700 9px var(--mono); text-transform: uppercase; }
.learning-path-summary strong { font: 900 23px var(--display); text-transform: uppercase; }
.learning-path-summary p { margin: 0; }
.learning-graph { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.learning-module { display: grid; gap: 14px; min-height: 390px; padding: 19px; background: var(--white); border: 3px solid var(--ink); transition: opacity .18s ease, transform .18s ease, box-shadow .18s ease; }
.learning-module.is-priority { transform: translate(-3px, -3px); box-shadow: 7px 7px 0 var(--red); }
.learning-module.is-explored { background: var(--lime); }
.learning-module__top { display: flex; justify-content: space-between; align-items: center; }
.learning-module__top span { font: 900 36px/.8 var(--display); }
.learning-module__top small { font: 700 9px var(--mono); text-transform: uppercase; }
.learning-module h3 { margin: 8px 0 0; font: 900 34px/.9 var(--display); text-transform: uppercase; }
.learning-module > p { margin: 0; line-height: 1.48; }
.learning-module ul { display: flex; flex-wrap: wrap; gap: 5px; align-content: start; margin: 0; padding: 0; list-style: none; }
.learning-module li { padding: 5px 7px; background: var(--yellow); border: 1px solid var(--ink); font: 700 9px var(--mono); text-transform: uppercase; }
.learning-module footer { display: grid; gap: 8px; margin-top: auto; padding-top: 13px; border-top: 2px solid var(--ink); }
.learning-module footer a, .learning-module footer button { color: var(--ink); font: 700 9px/1.4 var(--mono); text-transform: uppercase; }
.learning-module footer button { padding: 8px; background: transparent; border: 1px solid var(--ink); cursor: pointer; }
.learning-boundary { display: grid; grid-template-columns: .5fr 1.5fr auto; gap: 24px; align-items: center; margin-top: 25px; padding: 22px; color: var(--paper); background: var(--ink); }
.learning-boundary strong { font: 900 23px/.95 var(--display); text-transform: uppercase; }
.learning-boundary p { margin: 0; color: #d5d1c8; line-height: 1.5; }
@media (max-width: 1080px) { .connection-results__grid { grid-template-columns: 1fr; } }
@media (max-width: 980px) { .stay-lanes { grid-template-columns: 1fr; } .stay-lane > div { grid-template-columns: repeat(3, minmax(0, 1fr)); } .connection-hub__layout { grid-template-columns: 1fr; } .connection-results__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .connection-consent { grid-template-columns: 1fr; } }
@media (max-width: 860px) { .event-travel-guide__hero-grid, .event-travel-guide__intro, .accommodation-comparison__head, .connection-hub__head { grid-template-columns: 1fr; gap: 28px; } .event-travel-guide__hero aside { max-width: 440px; } .event-travel-guide__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .stay-preferences { grid-template-columns: 1fr 1fr; } .stay-preferences button { grid-column: 1 / -1; } .stay-agent-note { grid-template-columns: 1fr 1fr; } .stay-agent-note p { grid-column: 1 / -1; } .connection-results__grid, .connection-consent ol { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .event-travel-guide__hero { padding: 36px 0 48px; } .event-travel-guide__hero .detail-breadcrumb { margin-bottom: 30px; } .event-travel-guide__hero h1 { font-size: clamp(48px, 15vw, 74px); } .event-travel-guide__grid, .event-travel-guide__fieldbook, .event-travel-guide__source-grid, .stay-lane > div, .stay-preferences, .stay-agent-note, .connection-intent__split { grid-template-columns: 1fr; } .event-travel-guide__grid article, .event-travel-guide__fieldbook article { min-height: 0; } .event-travel-guide__grid h2 { margin-top: 34px; } .stay-preferences button, .stay-agent-note p { grid-column: auto; } .stay-card { min-height: 0; } }
@media (max-width: 620px) { .navigator-launch { right: 12px; bottom: 12px; } .navigator-launch strong { display: none; } .navigator-dialog__head, .navigator-result-grid { grid-template-columns: 1fr; } .navigator-dialog__head { gap: 18px; padding: 26px 22px; } .navigator-form, .navigator-results { padding-inline: 22px; } .navigator-prompts { padding-inline: 22px; } .navigator-form > div { grid-template-columns: 1fr; gap: 7px; } .navigator-form input { border-right: 3px solid var(--ink); } }
@media (max-width: 980px) { .learning-role-tabs { grid-template-columns: 1fr 1fr; } .learning-role-tabs button { border-bottom: 2px solid var(--ink); } .learning-graph { grid-template-columns: 1fr 1fr; } .learning-boundary { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .learning-hero__grid, .learning-path-head, .learning-path-summary, .learning-graph { grid-template-columns: 1fr; } .learning-role-tabs { grid-template-columns: 1fr; } .learning-role-tabs button { min-height: 0; border-right: 0; } .learning-module { min-height: 0; } }
.home-event-card-top { display: flex; align-items: start; justify-content: space-between; gap: 13px; }
.home-date-block { display: grid; width: 84px; min-height: 94px; place-items: center; padding: 7px; border: 2px solid currentColor; text-align: center; }
.home-date-block strong { display: block; font: 900 52px/.7 var(--display); letter-spacing: -.05em; }
.home-date-block span, .home-date-block small { font: 700 8px var(--mono); text-transform: uppercase; }
.home-event-type { margin-left: auto; padding: 6px 8px; background: var(--ink); color: var(--paper); font: 700 8px var(--mono); text-transform: uppercase; }
.home-event-card--feature .home-event-type { background: var(--yellow); color: var(--ink); }
.home-save-button { display: grid; width: 35px; height: 35px; flex: 0 0 auto; place-items: center; padding: 0; border: 2px solid currentColor; background: transparent; color: inherit; font-size: 21px; }
.home-save-button:hover, .home-save-button:focus-visible { background: var(--lime); color: var(--ink); outline: 0; }
.home-event-card-copy { margin: clamp(38px, 5vw, 72px) 0 26px; }
.home-event-card-copy h3 { max-width: 650px; margin: 0; color: inherit; font: 900 clamp(39px, 4.5vw, 68px)/.76 var(--display); letter-spacing: -.05em; text-transform: uppercase; overflow-wrap: anywhere; }
.home-event-card:not(.home-event-card--feature) .home-event-card-copy h3 { font-size: clamp(34px, 3.2vw, 48px); }
.home-event-card-copy p { margin: 14px 0 0; color: inherit; font-size: 12px; line-height: 1.45; }
.home-event-card-bottom { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 10px 16px; margin-top: auto; padding-top: 14px; border-top: 1px solid currentColor; font: 700 8px/1.4 var(--mono); text-transform: uppercase; }
.home-source { max-width: 70%; }
.home-time { padding: 5px 7px; border: 1px solid currentColor; }
.home-time.is-tbc { background: var(--paper); color: var(--ink); }

.home-how-section { position: relative; padding: clamp(74px, 7vw, 110px) 0; border-top: 3px solid var(--ink); border-bottom: 3px solid var(--ink); background: var(--paper-2); color: var(--ink); }
.home-how-section .home-section-heading--light { border-color: var(--ink); }
.home-how-section .home-section-heading--light h2 { color: var(--ink); }
.home-how-section .home-section-heading--light p { color: var(--muted); }
.home-section-heading--light { border-color: #514d45; }
.home-section-heading--light h2 { color: var(--paper); }
.home-section-heading--light p { color: #aaa293; }
.home-steps { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; padding-top: 42px; }
.home-step { position: relative; z-index: 1; display: grid; min-height: 290px; grid-template-columns: 55px minmax(0, 1fr); gap: 18px; align-content: end; padding: 24px; border: 2px solid var(--ink); color: var(--ink); box-shadow: 6px 6px 0 var(--red); transition: transform .18s ease, box-shadow .18s ease; }
.home-step--red { background: var(--red); color: var(--paper); }
.home-step--yellow { margin-top: 38px; background: var(--yellow); box-shadow-color: var(--cyan); }
.home-step--cyan { margin-top: 12px; background: var(--cyan); box-shadow-color: var(--yellow); }
.home-step:hover { transform: translateY(-5px); }
.home-step-number { font: 900 26px var(--display); }
.home-step-label { font: 700 8px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.home-step h3 { margin: 13px 0 10px; color: inherit; font: 900 clamp(38px, 3.6vw, 54px)/.76 var(--display); letter-spacing: -.045em; text-transform: uppercase; }
.home-step p { margin: 0; color: inherit; font-size: 12px; line-height: 1.48; }

.home-hubs-section { background: var(--ink); color: var(--paper); }
.home-hubs-section .home-section-heading { border-color: rgba(241,234,220,.3); }
.home-hubs-section .home-section-heading h2, .home-hubs-section .home-section-heading p { color: var(--paper); }
.home-hubs-section .button.dark { border-color: var(--paper); background: var(--paper); color: var(--ink); }
.home-hub-grid { display: grid; grid-auto-rows: 320px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.home-hub-filter-bar { display: flex; flex-wrap: wrap; gap: 8px; margin: -11px 0 28px; }
.home-hub-filter { min-height: 42px; padding: 0 14px; border: 2px solid var(--paper); background: transparent; color: var(--paper); font: 800 10px var(--mono); letter-spacing: .02em; text-transform: uppercase; cursor: pointer; }
.home-hub-filter small { margin-left: 7px; opacity: .72; font: inherit; }
.home-hub-filter:hover, .home-hub-filter:focus-visible { outline: 0; background: var(--paper); color: var(--ink); }
.home-hub-filter.active { border-color: var(--yellow); background: var(--yellow); color: var(--ink); }
.home-hub-filter--awards.active, .home-hub-filter--webinar.active { border-color: var(--cyan); background: var(--cyan); color: var(--ink); }
.home-hub-filter--dinner.active, .home-hub-filter--party.active { border-color: var(--red); background: var(--red); color: var(--paper); }
.home-hub-filter--networking.active, .home-hub-filter--retreat.active { border-color: var(--lime); background: var(--lime); color: var(--ink); }
.home-hub-filter--tournament.active { border-color: var(--yellow); background: var(--yellow); color: var(--ink); }
.home-hub-filter--training.active { border-color: var(--lime); background: var(--lime); color: var(--ink); }
.home-hub-filter--other.active { border-color: var(--paper); background: var(--paper); color: var(--ink); }
.home-hub-panel { margin-top: 5px; }
.home-hub-panel[hidden] { display: none; }
.home-hub-panel-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin: 0 0 18px; padding: 0 0 13px; border-bottom: 2px solid rgba(241,234,220,.42); }
.home-hub-panel-heading h3 { margin: 8px 0 0; color: var(--paper); font: 900 clamp(36px, 4vw, 57px)/.78 var(--display); letter-spacing: -.045em; text-transform: uppercase; }
.home-hub-panel-heading > span { flex: 0 0 auto; color: var(--paper); font: 800 9px var(--mono); letter-spacing: .04em; text-align: right; text-transform: uppercase; }
.home-hub-panel-heading--ordinary { margin-top: 50px; }
.home-hub-card { position: relative; display: flex; min-width: 0; min-height: 320px; height: 320px; max-height: 320px; flex-direction: column; overflow: hidden; padding: 22px; border: 2px solid var(--red); background: var(--ink); color: var(--paper); box-shadow: 6px 6px 0 var(--hub-shadow, var(--red)); transition: transform .18s ease, box-shadow .18s ease; }
.home-hub-card--1, .home-hub-card--2, .home-hub-card--3 { margin-top: 0; background: var(--ink); color: var(--paper); box-shadow-color: var(--red); }
.home-hub-card--conference.home-hub-card--featured { --hub-shadow: var(--red); background: var(--ink); border-color: var(--red); color: var(--paper); }
.home-hub-card--awards.home-hub-card--featured, .home-hub-card--webinar.home-hub-card--featured { --hub-shadow: var(--ink); background: var(--cyan); border-color: var(--ink); color: var(--ink); }
.home-hub-card--dinner.home-hub-card--featured { --hub-shadow: var(--red); background: var(--yellow); border-color: var(--ink); color: var(--ink); }
.home-hub-card--networking.home-hub-card--featured { --hub-shadow: var(--cyan); background: var(--lime); border-color: var(--ink); color: var(--ink); }
.home-hub-card--retreat.home-hub-card--featured { --hub-shadow: var(--cyan); background: var(--paper); border-color: var(--cyan); color: var(--ink); }
.home-hub-card--party.home-hub-card--featured { --hub-shadow: var(--yellow); background: var(--red); border-color: var(--paper); color: var(--paper); }
.home-hub-card--tournament.home-hub-card--featured { --hub-shadow: var(--yellow); background: var(--ink); border-color: var(--yellow); color: var(--paper); }
.home-hub-card--training.home-hub-card--featured { --hub-shadow: var(--red); background: var(--lime); border-color: var(--ink); color: var(--ink); }
.home-hub-card--other.home-hub-card--featured { --hub-shadow: var(--red); background: var(--yellow); border-color: var(--ink); color: var(--ink); }
.home-hub-card--ordinary { --hub-shadow: var(--red); background: #fff; border-color: var(--ink); color: var(--ink); box-shadow-color: var(--hub-shadow); }
.home-hub-card--ordinary.home-hub-card--awards, .home-hub-card--ordinary.home-hub-card--webinar { --hub-shadow: var(--cyan); }
.home-hub-card--ordinary.home-hub-card--dinner, .home-hub-card--ordinary.home-hub-card--party { --hub-shadow: var(--yellow); }
.home-hub-card--ordinary.home-hub-card--networking, .home-hub-card--ordinary.home-hub-card--training { --hub-shadow: var(--lime); }
.home-hub-card--ordinary.home-hub-card--retreat { --hub-shadow: var(--cyan); }
.home-hub-card--ordinary.home-hub-card--tournament { --hub-shadow: var(--yellow); }
.home-hub-card:hover, .home-hub-card:focus-visible { transform: translate(-3px, -5px); box-shadow: 10px 11px 0 var(--hub-shadow, var(--red)); outline: 2px solid var(--paper); outline-offset: 4px; }
.home-hub-number { position: absolute; right: -7px; bottom: -30px; color: rgba(241,234,220,.08); font: 900 170px/.7 var(--display); }
.home-hub-card-top, .home-hub-meta, .home-hub-footer { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 13px; }
.home-hub-arrow { color: var(--red); font-size: 25px; }
.home-hub-card h3 { position: relative; z-index: 1; max-width: 390px; margin: 60px 0 19px; color: inherit; font: 900 clamp(45px, 5vw, 72px)/.76 var(--display); letter-spacing: -.05em; text-transform: uppercase; }
.home-hub-kind { position: relative; z-index: 1; margin-top: 24px; font: 800 9px var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.home-hub-kind + h3 { margin-top: 12px; }
.home-hub-editions { position: relative; z-index: 1; display: grid; gap: 7px; padding: 12px 0; border-top: 2px solid currentColor; border-bottom: 1px solid currentColor; }
.home-hub-editions a { display: grid; gap: 3px; color: inherit; }
.home-hub-editions a:hover, .home-hub-editions a:focus-visible { color: var(--red); outline: 0; }
.home-hub-editions span { font: 800 12px/1.1 var(--mono); text-transform: uppercase; }
.home-hub-editions small { font: 700 8px/1.25 var(--mono); text-transform: uppercase; opacity: .72; }
.home-hub-meta { padding: 12px 0; border-top: 2px solid currentColor; border-bottom: 1px solid currentColor; font: 700 9px var(--mono); text-transform: uppercase; }
.home-hub-footer { margin-top: auto; padding-top: 19px; font: 700 8px var(--mono); text-transform: uppercase; }
.home-hub-browser-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 31px; font: 800 10px var(--mono); letter-spacing: .02em; text-transform: uppercase; }
.home-freshness { display: inline-flex; align-items: center; gap: 6px; }
.home-freshness i { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 3px rgba(215,232,90,.16); }

.home-membership-section { position: relative; overflow: hidden; padding: clamp(74px, 8vw, 122px) 0; border-bottom: 3px solid var(--ink); background: var(--ink); color: var(--paper); }
.home-membership-section .home-section-heading { position: relative; z-index: 3; border-color: rgba(241,234,220,.32); }
.home-membership-section .home-section-heading h2 { max-width: 930px; color: var(--paper); }
.home-membership-section .home-section-heading p { color: #b8b0a2; }
.home-membership-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; align-items: start; margin-top: 38px; }
.home-membership-card { --membership-shadow: var(--red); position: relative; z-index: 2; min-width: 0; border: 2px solid var(--ink); background: var(--paper); color: var(--ink); box-shadow: 7px 7px 0 var(--membership-shadow); transition: transform .2s ease, box-shadow .2s ease; }
.home-membership-card--free { --membership-shadow: var(--lime); }
.home-membership-card--discover { --membership-shadow: var(--red); }
.home-membership-card--connect { --membership-shadow: var(--cyan); background: var(--yellow); }
.home-membership-card--shape { --membership-shadow: var(--yellow); background: var(--cyan); }
.home-membership-card:hover, .home-membership-card:focus-within, .home-membership-card[open] { z-index: 4; box-shadow: 12px 13px 0 var(--membership-shadow); transform: translateY(-6px); }
.home-membership-card summary { display: grid; min-height: 315px; grid-template-columns: 36px minmax(0, 1fr) 28px; gap: 11px; align-items: end; padding: 22px; cursor: pointer; list-style: none; }
.home-membership-card summary::-webkit-details-marker { display: none; }
.home-membership-card summary:focus-visible { outline: 3px solid var(--lime); outline-offset: 5px; }
.home-membership-number { align-self: start; font: 900 24px var(--display); }
.home-membership-summary { display: grid; align-content: end; }
.home-membership-label { margin-bottom: 13px; font: 800 8px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.home-membership-summary strong { font: 900 clamp(36px, 3.15vw, 46px)/.78 var(--display); letter-spacing: -.045em; text-transform: uppercase; overflow-wrap: normal; }
.home-membership-summary small { max-width: 245px; margin-top: 17px; font: 750 10px/1.45 var(--mono); text-transform: uppercase; }
.home-membership-price { display: grid; gap: 4px; margin-top: 20px; padding-top: 14px; border-top: 2px solid currentColor; }
.home-membership-price b { font: 900 28px/.9 var(--display); text-transform: uppercase; }
.home-membership-price em { font: 800 8px/1.35 var(--mono); font-style: normal; text-transform: uppercase; }
.home-membership-toggle { display: grid; width: 28px; height: 28px; place-items: center; align-self: start; border: 2px solid currentColor; font: 900 20px/1 var(--display); transition: transform .18s ease; }
.home-membership-card[open] .home-membership-toggle { transform: rotate(45deg); }
.home-membership-details { display: grid; gap: 20px; padding: 0 22px 22px 69px; }
.home-membership-card:not([open]) .home-membership-details { display: none; }
.home-membership-details ul { display: grid; gap: 9px; margin: 0; padding: 17px 0 0; border-top: 2px solid currentColor; list-style: none; }
.home-membership-details li { position: relative; padding-left: 16px; font-size: 11px; line-height: 1.42; }
.home-membership-details li::before { content: '↗'; position: absolute; left: 0; color: var(--red); font-weight: 900; }
.home-membership-action { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 16px; padding: 0 13px; border: 2px solid var(--ink); background: var(--ink); color: var(--paper); font: 800 9px var(--mono); letter-spacing: .04em; text-transform: uppercase; cursor: pointer; }
.home-membership-action:hover, .home-membership-action:focus-visible { background: var(--red); outline: 3px solid var(--lime); outline-offset: 3px; }
.home-membership-nonprofit { display: grid; grid-template-columns: minmax(180px, .55fr) minmax(260px, .8fr) minmax(300px, 1.35fr); gap: 20px; align-items: center; margin-top: 38px; padding: 21px 24px; border: 2px solid var(--ink); background: var(--lime); color: var(--ink); box-shadow: 7px 7px 0 var(--yellow); }
.home-membership-nonprofit span { font: 800 8px/1.4 var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.home-membership-nonprofit strong { font: 900 28px/.88 var(--display); text-transform: uppercase; }
.home-membership-nonprofit p { margin: 0; font-size: 11px; line-height: 1.48; }
.home-membership-signin { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 48px; padding: 25px 27px; border: 2px solid var(--paper); background: var(--ink); color: var(--paper); }
.home-membership-signin > div { display: grid; max-width: 720px; gap: 7px; }
.home-membership-signin > div > span { color: var(--cyan); font: 800 8px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.home-membership-signin strong { font: 900 24px/.9 var(--display); text-transform: uppercase; }
.home-membership-signin p { margin: 0; color: #b8b0a2; font-size: 10px; line-height: 1.45; }
.home-membership-signin .button { flex: 0 0 auto; }

.home-contribute-section { border-top: 3px solid var(--ink); border-bottom: 3px solid var(--ink); background: var(--cyan); }
.home-contribute-inner { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(310px, .82fr); gap: clamp(34px, 5vw, 70px); align-items: center; padding-top: clamp(58px, 6vw, 88px); padding-bottom: clamp(58px, 6vw, 88px); }
.home-contribute-copy h2 { max-width: 700px; margin: 19px 0 16px; font: 900 clamp(64px, 7.5vw, 112px)/.74 var(--display); letter-spacing: -.058em; text-transform: uppercase; }
.home-contribute-copy p { max-width: 590px; margin: 0; font-size: 15px; line-height: 1.5; }
.home-progress-meta { display: flex; justify-content: space-between; gap: 14px; max-width: 620px; margin-top: 30px; font: 700 9px var(--mono); text-transform: uppercase; }
.home-progress-track { max-width: 620px; height: 17px; margin-top: 9px; padding: 3px; border: 2px solid var(--ink); background: var(--paper); }
.home-progress-track span { display: block; width: 62%; height: 100%; background: var(--red); }
.home-contribute-action { display: flex; min-height: 285px; flex-direction: column; align-items: flex-start; justify-content: center; padding: 29px; border: 2px solid var(--ink); background: var(--yellow); box-shadow: 7px 7px 0 var(--ink); }
.home-contribute-action strong { margin: 20px 0 24px; font: 900 45px/.78 var(--display); text-transform: uppercase; }
.home-contribute-action small { margin-top: 18px; font: 700 8px/1.45 var(--mono); text-transform: uppercase; }
.home-signal-pulse { width: 17px; height: 17px; border: 3px solid var(--ink); border-radius: 50%; background: var(--red); animation: home-signal-pulse 2.6s ease-out infinite; }

@keyframes home-signal-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(215,232,90,.2); } 50% { box-shadow: 0 0 0 8px rgba(215,232,90,0); } }
@keyframes asset-loading { to { transform: translateX(100%); } }

@media (max-width: 1100px) {
  .wordmark { min-width: 188px; }
  .nav-link { padding-right: 8px; padding-left: 8px; font-size: 9px; }
  .nav-actions { gap: 7px; padding-left: 8px; }
  .sign-in { display: none; }
  .header-cta { padding-right: 10px; padding-left: 10px; }
  .home-hero-grid { grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr); gap: 34px; }
  .home-event-card { grid-column: span 4; }
  .home-event-card--feature { grid-column: span 8; }
  .home-event-card:nth-child(4) { grid-column: span 8; margin-top: 0; }
}

@media (max-width: 900px) {
  .home-hero-grid { grid-template-columns: 1fr; }
  .home-hero-copy { max-width: 720px; }
  .home-hero-art { max-width: 760px; }
  .home-telemetry-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-telemetry-block:nth-child(2) { border-right: 0; }
  .home-telemetry-block { border-bottom: 2px solid var(--ink); }
  .home-telemetry-block:nth-child(3), .home-telemetry-block:nth-child(4) { border-bottom: 0; }
  .home-event-card, .home-event-card--feature, .home-event-card:nth-child(4) { grid-column: span 6; }
  .home-event-card--tall, .home-event-card:nth-child(4) { margin-top: 0; }
  .home-steps { grid-template-columns: 1fr; }
  .home-step, .home-step--yellow, .home-step--cyan { min-height: 220px; margin-top: 0; }
  .home-hub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-hub-card--1 { grid-row: auto; }
  .home-hub-card--2, .home-hub-card--3 { margin-top: 0; }
  .home-membership-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-membership-nonprofit { grid-template-columns: 1fr 1fr; }
  .home-membership-nonprofit p { grid-column: 1 / -1; }
  .home-contribute-inner { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .home-hero { padding-top: 42px; padding-bottom: 55px; }
  .speaker-alphabet { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
  .speaker-directory-grid { grid-template-columns: 1fr; }
  .home-hero-grid { gap: 36px; }
  .home-hero-copy h1 { max-width: 360px; margin-top: 19px; font-size: clamp(63px, 18vw, 78px); line-height: .77; }
  .home-hero-lead { max-width: 345px; font-size: 14px; }
  .home-hero-actions { display: grid; width: 100%; max-width: 360px; }
  .home-hero-actions .button { width: 100%; }
  .home-source-strip { margin-top: 27px; }
  .home-hero-art { padding: 27px 12px 14px; box-shadow: 6px 6px 0 var(--yellow); }
  .asset-frame-homepage-hero { aspect-ratio: 4 / 5; }
  .asset-frame-homepage-hero img { object-position: 35% center; }
  .home-hero-art-label { right: 0; bottom: 42px; max-width: 155px; padding: 7px 8px; transform: translateX(7px); }
  .home-art-coordinates { font-size: 7px; }
  .home-telemetry-block { min-height: 116px; padding: 18px 15px; }
  .home-telemetry-block strong { font-size: 47px; }
  .home-telemetry-block span { margin-top: 11px; font-size: 7px; }
  .home-route-label { min-height: 43px; padding-right: 15px; padding-left: 15px; font-size: 7px; }
  .home-event-rail { grid-template-columns: 1fr; }
  .home-event-card, .home-event-card--feature, .home-event-card:nth-child(4) { grid-column: auto; min-height: 285px; }
  .home-event-card-copy { margin: 35px 0 24px; }
  .home-event-card-copy h3, .home-event-card:not(.home-event-card--feature) .home-event-card-copy h3 { font-size: clamp(39px, 12vw, 50px); }
  .home-source { max-width: 100%; }
  .home-step { grid-template-columns: 42px minmax(0, 1fr); gap: 13px; padding: 20px; }
  .home-step h3 { font-size: 42px; }
  .home-hub-grid { grid-template-columns: 1fr; }
  .home-hub-filter-bar { margin-top: 0; }
  .home-hub-filter { flex: 1 1 calc(50% - 6px); min-height: 46px; padding: 0 9px; font-size: 9px; }
  .home-hub-browser-footer { align-items: flex-start; flex-direction: column; }
  .home-hub-panel-heading { align-items: flex-start; flex-direction: column; }
  .home-hub-panel-heading > span { text-align: left; }
  .home-hub-card--1 { grid-row: auto; }
  .home-hub-grid { grid-auto-rows: auto; }
  .home-hub-card { min-height: 275px; height: auto; }
  .home-hub-card h3 { margin-top: 42px; font-size: 52px; }
  .home-membership-section { padding-top: 64px; padding-bottom: 68px; }
  .home-membership-grid { grid-template-columns: 1fr; gap: 16px; margin-top: 24px; }
  .home-membership-card summary { min-height: 230px; grid-template-columns: 38px minmax(0, 1fr) 28px; gap: 10px; padding: 20px; }
  .home-membership-summary strong { font-size: clamp(50px, 16vw, 68px); }
  .home-membership-details { padding: 0 20px 20px 68px; }
  .home-membership-nonprofit { grid-template-columns: 1fr; margin-top: 28px; }
  .home-membership-nonprofit p { grid-column: auto; }
  .home-membership-signin { align-items: flex-start; flex-direction: column; margin-top: 36px; }
  .home-contribute-copy h2 { font-size: clamp(62px, 18vw, 78px); }
  .home-progress-meta { display: grid; gap: 5px; }
  .home-contribute-action { min-height: 250px; padding: 23px; }
  .home-contribute-action strong { font-size: 40px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-source-marker, .home-signal-pulse, .asset-frame.is-loading::after, .hero-puzzle-piece, .event-side-artwork::after { animation: none; }
  .asset-frame-homepage-hero img { transition: none; }
  .home-event-card, .home-step, .home-hub-card, .home-membership-card, .home-membership-toggle { transition: none; }
}

/* Organiser-led event categories */
.category-directory-page .page-hero { border-bottom: 3px solid var(--ink); }
.category-directory-page .page-hero h1 { max-width: 980px; }
.category-directory-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 42px; border: 3px solid var(--ink); background: var(--ink); gap: 2px; }
.category-directory-stats > div { min-width: 0; min-height: 148px; padding: 20px; display: flex; flex-direction: column; justify-content: space-between; background: var(--paper); }
.category-directory-stats > div:nth-child(2) { background: var(--yellow); }
.category-directory-stats > div:nth-child(3) { background: var(--cyan); }
.category-directory-stats > div:nth-child(4) { background: var(--lime); }
.category-directory-stats strong { font: 900 clamp(56px, 7vw, 92px)/.75 var(--display); letter-spacing: -.05em; }
.category-directory-stats span { font: 700 9px/1.35 var(--mono); text-transform: uppercase; }
.category-directory-stats > div { position: relative; transition: transform .16s ease, box-shadow .16s ease; }
.category-directory-stats > div:hover, .category-directory-stats > div:focus-visible { z-index: 1; transform: translate(-3px, -4px); box-shadow: 7px 8px 0 var(--ink); outline: none; }
.category-directory-stats .category-stat--cities small { position: absolute; z-index: 2; right: 12px; bottom: 12px; left: 12px; display: none; padding: 8px; border: 1px solid var(--ink); background: var(--paper); color: var(--ink); font: 700 8px/1.35 var(--mono); text-transform: uppercase; }
.category-directory-stats .category-stat--cities:hover small, .category-directory-stats .category-stat--cities:focus-visible small { display: block; }
.category-directory-stats .category-stat--date strong { font-size: clamp(30px, 3.5vw, 52px); line-height: .9; }
.organiser-directory-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 20px; padding-bottom: 14px; border-bottom: 3px solid var(--ink); }
.organiser-directory-heading > span { font: 700 9px var(--mono); text-transform: uppercase; }
.organiser-directory-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; align-items: start; }
.organiser-directory-card { --organiser-accent: var(--yellow); position: relative; min-width: 0; padding: 24px; border: 3px solid var(--ink); background: var(--paper); box-shadow: 8px 8px 0 var(--organiser-accent); transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease; }
.organiser-directory-card--1 { --organiser-accent: var(--cyan); margin-top: 36px; }
.organiser-directory-card--2 { --organiser-accent: var(--lime); }
.organiser-directory-card--3 { --organiser-accent: var(--red); margin-top: 36px; }
.organiser-directory-card:hover, .organiser-directory-card:focus-within { transform: translate(-3px, -4px); box-shadow: 12px 12px 0 var(--organiser-accent); }
.organiser-directory-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.organiser-directory-mark, .organiser-hero-mark { display: grid; place-items: center; width: 66px; height: 66px; flex: 0 0 auto; border: 3px solid var(--ink); background: var(--organiser-accent); font: 900 24px var(--display); text-transform: uppercase; transform: skew(-7deg); }
.organiser-directory-count { padding: 6px 8px; border: 2px solid var(--ink); background: var(--ink); color: var(--paper); font: 700 8px var(--mono); text-transform: uppercase; }
.organiser-directory-card h3 { max-width: 520px; margin: 34px 0 8px; font: 900 clamp(40px, 5vw, 70px)/.78 var(--display); letter-spacing: -.045em; text-transform: uppercase; }
.organiser-directory-card h3 a { color: inherit; text-decoration: none; }
.organiser-directory-card h3 a:focus-visible { outline: 3px solid var(--red); outline-offset: 5px; }
.organiser-directory-card > p { margin: 0 0 20px; color: var(--muted); font: 700 9px var(--mono); text-transform: uppercase; }
.organiser-event-list { border-top: 3px solid var(--ink); }
.organiser-event-list > a { display: grid; grid-template-columns: minmax(75px, .35fr) minmax(0, 1fr) max-content; gap: 14px; align-items: center; padding: 15px 3px; border-bottom: 1px solid var(--ink); color: inherit; text-decoration: none; transition: padding .16s ease, background-color .16s ease; }
.organiser-event-list > a:hover, .organiser-event-list > a:focus-visible { padding-right: 10px; padding-left: 10px; background: var(--organiser-accent); outline: 2px solid var(--ink); outline-offset: -2px; }
.organiser-event-list time { font: 900 14px var(--display); text-transform: uppercase; }
.organiser-event-list strong, .organiser-event-list small { display: block; }
.organiser-event-list strong { font-size: 13px; line-height: 1.25; }
.organiser-event-list small { margin-top: 4px; color: var(--muted); font: 700 8px/1.35 var(--mono); text-transform: uppercase; }
.organiser-event-list b { color: var(--red); font-size: 19px; transition: transform .16s ease; }
.organiser-event-list > a:hover b, .organiser-event-list > a:focus-visible b { transform: translate(3px, -3px); }
.organiser-more { display: block; margin-top: 13px; font: 700 8px var(--mono); text-transform: uppercase; }
.organiser-directory-link { display: inline-flex; margin-top: 22px; padding-bottom: 5px; border-bottom: 3px solid var(--ink); color: inherit; font: 900 12px var(--display); text-decoration: none; text-transform: uppercase; }
.organiser-directory-link:hover, .organiser-directory-link:focus-visible { border-color: var(--red); color: var(--red); outline: none; }
.organiser-hero { padding: clamp(56px, 8vw, 105px) 0; border-bottom: 3px solid var(--ink); background: var(--ink); color: var(--paper); }
.organiser-hero-grid { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: clamp(28px, 6vw, 80px); align-items: center; }
.organiser-hero-mark { --organiser-accent: var(--yellow); width: 150px; height: 150px; border-color: var(--paper); color: var(--ink); font-size: 50px; box-shadow: 12px 12px 0 var(--red); }
.organiser-hero h1 { max-width: 1000px; margin: 16px 0 18px; color: var(--paper); font: 900 clamp(72px, 11vw, 150px)/.72 var(--display); letter-spacing: -.06em; text-transform: uppercase; overflow-wrap: anywhere; }
.organiser-hero p { max-width: 680px; margin: 0; color: var(--paper-2); font-size: 15px; line-height: 1.55; }
.organiser-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin: 52px 0 20px; padding-bottom: 15px; border-bottom: 3px solid var(--ink); }
.organiser-section-heading h2 { margin: 8px 0 0; font: 900 clamp(42px, 6vw, 78px)/.82 var(--display); letter-spacing: -.045em; text-transform: uppercase; }
.organiser-event-board { border: 3px solid var(--ink); background: var(--ink); display: grid; gap: 2px; }
.organiser-event-board > a { display: grid; grid-template-columns: minmax(120px, .35fr) minmax(0, 1fr) max-content; gap: 24px; align-items: center; min-width: 0; padding: 20px; background: var(--paper); color: inherit; text-decoration: none; transition: background-color .16s ease, padding .16s ease; }
.organiser-event-board > a:nth-child(4n+2) { background: var(--yellow); }
.organiser-event-board > a:nth-child(4n+3) { background: var(--cyan); }
.organiser-event-board > a:nth-child(4n+4) { background: var(--lime); }
.organiser-event-board > a:hover, .organiser-event-board > a:focus-visible { padding-right: 27px; padding-left: 27px; background: var(--red); color: var(--paper); outline: none; }
.organiser-event-board time { font: 900 clamp(24px, 3vw, 40px)/.9 var(--display); text-transform: uppercase; }
.organiser-event-board span, .organiser-event-board p { font: 700 8px/1.4 var(--mono); text-transform: uppercase; }
.organiser-event-board h3 { margin: 7px 0; font: 900 clamp(26px, 3vw, 42px)/.9 var(--display); letter-spacing: -.03em; text-transform: uppercase; }
.organiser-event-board p { margin: 0; color: var(--muted); }
.organiser-event-board > a:hover p, .organiser-event-board > a:focus-visible p { color: var(--paper); }
.organiser-event-board b { font-size: 25px; transition: transform .16s ease; }
.organiser-event-board > a:hover b, .organiser-event-board > a:focus-visible b { transform: translate(4px, -4px); }

/* Event hosts: one lasting organiser profile, surfaced through distinct format hubs. */
.event-hosts-page .page-hero { border-bottom: 3px solid var(--ink); }
.event-hosts-page .page-hero h1 { max-width: 1040px; }
.event-hosts-intro { padding-top: 52px; }
.event-hosts-toolbar { display: grid; grid-template-columns: 1.18fr .82fr; gap: 2px; margin-bottom: 18px; border: 3px solid var(--ink); background: var(--ink); }
.event-host-search, .event-hosts-note { min-height: 132px; padding: 20px; background: var(--paper); }
.event-host-search label { display: block; margin-bottom: 11px; font: 800 9px var(--mono); text-transform: uppercase; }
.event-host-search > div { display: flex; gap: 9px; }
.event-host-search input { min-width: 0; flex: 1; height: 47px; padding: 0 13px; border: 2px solid var(--ink); border-radius: 0; background: var(--white); color: var(--ink); font: 700 13px var(--body); }
.event-host-search input:focus { outline: 3px solid var(--cyan); outline-offset: 2px; }
.event-hosts-note { display: flex; flex-direction: column; justify-content: space-between; background: var(--yellow); }
.event-hosts-note strong { font: 900 clamp(29px, 3.4vw, 46px)/.8 var(--display); letter-spacing: -.04em; text-transform: uppercase; }
.event-hosts-note span { max-width: 340px; font: 700 10px/1.4 var(--mono); text-transform: uppercase; }
.event-host-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 45px; }
.event-host-filter { --host-tone: var(--paper); display: inline-flex; gap: 9px; align-items: center; min-height: 39px; padding: 0 12px; border: 2px solid var(--ink); background: var(--host-tone); color: var(--ink); font: 900 13px var(--display); text-decoration: none; text-transform: uppercase; box-shadow: 3px 3px 0 var(--ink); }
.event-host-filter small { display: grid; place-items: center; min-width: 17px; height: 17px; padding: 0 4px; border: 1px solid currentColor; font: 800 7px var(--mono); }
.event-host-filter:hover, .event-host-filter:focus-visible { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 var(--red); outline: none; }
.event-host-filter.active { background: var(--ink); color: var(--paper); box-shadow: 4px 4px 0 var(--red); }
.event-host-filter--awards { --host-tone: var(--yellow); }.event-host-filter--webinar { --host-tone: var(--cyan); }.event-host-filter--meetup, .event-host-filter--networking { --host-tone: var(--lime); }
.event-host-results { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 22px; padding-bottom: 14px; border-bottom: 3px solid var(--ink); }
.event-host-results h2 { margin: 9px 0 0; font: 900 clamp(42px, 5.3vw, 75px)/.79 var(--display); letter-spacing: -.05em; text-transform: uppercase; }
.event-host-results > span { padding: 7px 9px; border: 2px solid var(--ink); background: var(--red); color: var(--paper); font: 800 8px var(--mono); text-transform: uppercase; white-space: nowrap; }
.event-host-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.event-host-card { --host-accent: var(--red); --host-surface: var(--paper); position: relative; display: flex; min-width: 0; min-height: 340px; padding: 18px; flex-direction: column; border: 3px solid var(--ink); background: var(--host-surface); color: var(--ink); box-shadow: 7px 7px 0 var(--host-accent); transition: transform .16s ease, box-shadow .16s ease; }
.event-host-declaration, .organisation-profile-status { display: inline-block; align-self: flex-start; margin: 0 0 14px; padding: 5px 7px; border: 2px solid var(--ink); background: var(--paper); color: var(--ink); font: 800 8px var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.event-host-declaration--unverified, .organisation-profile-status--unverified { border-style: dashed; background: var(--yellow); }
.event-host-card:hover, .event-host-card:focus-within { transform: translate(-3px, -3px); box-shadow: 11px 11px 0 var(--host-accent); }
.event-host-card--conference { --host-surface: var(--paper); --host-accent: var(--red); border-top-width: 10px; }
.event-host-card--awards { --host-surface: var(--yellow); --host-accent: var(--ink); }
.event-host-card--webinar { --host-surface: var(--cyan); --host-accent: var(--red); }
.event-host-card--meetup, .event-host-card--networking { --host-surface: var(--lime); --host-accent: var(--ink); }
.event-host-card--training { --host-surface: var(--paper-2); --host-accent: var(--cyan); }
.event-host-card-head { display: flex; justify-content: space-between; gap: 13px; align-items: flex-start; }
.event-host-mark { display: grid; place-items: center; width: 57px; height: 57px; flex: 0 0 auto; border: 2px solid var(--ink); background: var(--ink); color: var(--paper); font: 900 20px/.8 var(--display); transform: skew(-8deg); }
.event-host-card--conference .event-host-mark { background: var(--red); }
.event-host-kind, .event-host-count { display: block; text-align: right; font: 800 8px/1.35 var(--mono); text-transform: uppercase; }
.event-host-kind { padding: 4px 5px; border: 1px solid var(--ink); background: var(--paper); }.event-host-count { margin-top: 7px; }
.event-host-card h2 { margin: 35px 0 8px; font: 900 clamp(36px, 3.7vw, 55px)/.78 var(--display); letter-spacing: -.05em; text-transform: uppercase; overflow-wrap: anywhere; }
.event-host-card h2 a { color: inherit; text-decoration: none; }.event-host-card h2 a:focus-visible { outline: 3px solid var(--red); outline-offset: 4px; }
.event-host-location { min-height: 28px; margin: 0; font: 700 9px/1.4 var(--mono); text-transform: uppercase; }
.event-host-formats { display: flex; flex-wrap: wrap; gap: 5px; margin: 18px 0; }.event-host-formats span { padding: 4px 5px; border: 1px solid var(--ink); background: var(--paper); font: 800 7px var(--mono); text-transform: uppercase; }
.event-host-latest { margin-top: auto; padding-top: 14px; border-top: 2px solid var(--ink); }.event-host-latest span, .event-host-latest strong { display: block; }.event-host-latest span { margin-bottom: 5px; font: 700 7px var(--mono); text-transform: uppercase; }.event-host-latest strong { font-size: 12px; line-height: 1.2; }
.event-host-card-foot { display: flex; justify-content: space-between; gap: 12px; align-items: flex-end; margin-top: 13px; font: 700 7px/1.35 var(--mono); text-transform: uppercase; }.event-host-card-foot > span { max-width: 155px; }.event-host-card-foot a { color: inherit; font: 900 11px var(--display); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.event-hosts-principle { padding: 62px 0; border-top: 3px solid var(--ink); background: var(--ink); color: var(--paper); }.event-hosts-principle .container { display: grid; grid-template-columns: 1fr .74fr; gap: 50px; align-items: end; }.event-hosts-principle h2 { margin: 12px 0 0; font: 900 clamp(48px, 6vw, 84px)/.78 var(--display); letter-spacing: -.05em; text-transform: uppercase; }.event-hosts-principle p { max-width: 470px; margin: 0; color: var(--paper-2); font-size: 15px; line-height: 1.55; }
.community-member-layout { display:grid;grid-template-columns:1fr .32fr;gap:24px; }.community-member-welcome{display:flex;justify-content:space-between;gap:24px;padding:26px;border:3px solid var(--ink);background:var(--yellow)}.community-member-welcome>div{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:center}.community-member-mark{display:grid;place-items:center;width:66px;height:66px;background:var(--red);color:var(--paper);border:2px solid var(--ink);font:900 22px var(--display)}.community-member-welcome h2{margin:6px 0 0;font:900 clamp(38px,5vw,62px)/.8 var(--display);text-transform:uppercase}.community-member-welcome p{max-width:290px;margin:0;font-size:14px;line-height:1.45}.community-member-board{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.community-member-board article,.community-member-rail>div{padding:18px;border:2px solid var(--ink);background:var(--paper)}.community-member-board article:nth-child(2){background:var(--cyan)}.community-member-board article:nth-child(3){background:var(--lime)}.community-member-board span,.community-member-rail span{font:800 8px var(--mono);text-transform:uppercase}.community-member-board h3{margin:14px 0 8px;font:900 28px/.85 var(--display);text-transform:uppercase}.community-member-board p,.community-member-rail p{font-size:12px;line-height:1.45}.community-member-board a,.community-member-rail a{color:inherit;font:800 10px var(--mono);text-transform:uppercase}.community-member-rail{display:grid;gap:14px}.community-member-rail>div:first-child{background:var(--ink);color:var(--paper)}.community-member-rail strong{display:block;margin:16px 0 7px;font:900 32px/.85 var(--display);text-transform:uppercase}
.community-dashboard { border: 3px solid var(--ink); background: var(--paper); box-shadow: 9px 9px 0 var(--red); }
.community-dashboard-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 26px; background: var(--yellow); border-bottom: 3px solid var(--ink); }
.community-dashboard-brand { display: flex; align-items: flex-start; gap: 17px; }
.community-dashboard-brand h2 { margin: 7px 0 8px; font: 900 clamp(40px,5vw,66px)/.78 var(--display); letter-spacing: -.05em; text-transform: uppercase; }
.community-dashboard-brand p { max-width: 560px; margin: 0; font-size: 13px; line-height: 1.45; }
.community-dashboard-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.community-dashboard-tabs { display: flex; flex-wrap: wrap; gap: 0; padding: 0 18px; border-bottom: 3px solid var(--ink); background: var(--ink); }
.community-dashboard-tabs button { min-height: 48px; padding: 0 15px; border: 0; border-right: 1px solid rgba(241,234,220,.32); background: transparent; color: var(--paper); font: 800 9px var(--mono); letter-spacing: .04em; text-transform: uppercase; cursor: pointer; }
.community-dashboard-tabs button:hover, .community-dashboard-tabs button:focus-visible { background: var(--paper); color: var(--ink); outline: 0; }
.community-dashboard-tabs button.active { background: var(--red); color: var(--paper); }
.community-dashboard-panels { padding: 25px; }
.community-dashboard-panel-head { display: flex; align-items: end; justify-content: space-between; gap: 26px; padding-bottom: 17px; border-bottom: 2px solid var(--ink); }
.community-dashboard-panel-head h3 { margin: 7px 0 0; font: 900 clamp(31px,4vw,51px)/.8 var(--display); letter-spacing: -.05em; text-transform: uppercase; }
.community-dashboard-panel-head p { max-width: 410px; margin: 0; font-size: 12px; line-height: 1.45; }
.community-dashboard-panel[data-community-dashboard-panel="board"] { margin: 0 -1px; padding: 18px; border: 2px solid var(--ink); background-color: #ba8c61; background-image: radial-gradient(rgba(40,28,18,.15) 1px, transparent 1.5px), linear-gradient(135deg, rgba(255,255,255,.1), transparent 45%); background-size: 9px 9px, auto; }
.community-dashboard-panel[data-community-dashboard-panel="board"] .community-dashboard-panel-head { border-color: var(--ink); }
.community-sticky-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 21px; padding: 31px 12px 24px; }
.community-sticky { --sticky-shadow: var(--ink); position: relative; display: flex; min-height: 245px; flex-direction: column; padding: 20px 18px 17px; border: 2px solid var(--ink); background: var(--paper); box-shadow: 5px 6px 0 var(--sticky-shadow); transform: rotate(-1.3deg); }
.community-sticky::before { content: ''; position: absolute; top: -8px; left: 50%; width: 55px; height: 18px; border: 1px solid rgba(24,24,24,.18); background: rgba(241,234,220,.74); transform: translateX(-50%) rotate(-2deg); }
.community-sticky:nth-child(even) { transform: rotate(1.2deg); }.community-sticky:nth-child(3) { transform: rotate(.45deg); }.community-sticky:nth-child(4) { transform: rotate(-.55deg); }
.community-sticky--yellow { --sticky-shadow: var(--red); background: var(--yellow); }
.community-sticky--cyan { --sticky-shadow: var(--ink); background: var(--cyan); }
.community-sticky--lime { --sticky-shadow: var(--red); background: var(--lime); }
.community-sticky--featured { --sticky-shadow: var(--red); border-width: 3px; box-shadow: 8px 9px 0 var(--sticky-shadow); }
.community-sticky-pin { position: absolute; z-index: 1; top: -12px; left: 50%; width: 15px; height: 15px; border: 2px solid var(--ink); border-radius: 50%; background: var(--red); box-shadow: 1px 2px 0 rgba(24,24,24,.35); transform: translateX(-50%); }
.community-sticky-head { display: flex; justify-content: space-between; gap: 8px; font: 800 8px var(--mono); text-transform: uppercase; }
.community-sticky h3 { margin: 28px 0 9px; font: 700 clamp(25px,2.2vw,36px)/.92 "Bradley Hand", "Comic Sans MS", cursive; letter-spacing: -.04em; text-transform: none; }
.community-sticky p { margin: 0; font-size: 11px; line-height: 1.43; }
.community-sticky button { margin-top: auto; padding-top: 15px; border: 0; border-top: 2px solid var(--ink); background: transparent; color: inherit; font: 800 8px/1.35 var(--mono); text-align: left; text-decoration: underline; text-transform: uppercase; cursor: pointer; }
.community-dashboard-foot { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-top: 17px; border-top: 2px solid var(--ink); font: 800 8px/1.45 var(--mono); text-transform: uppercase; }
.community-dashboard-foot a, .community-announcement-list a, .community-route-grid a { color: inherit; font: 800 9px var(--mono); text-transform: uppercase; }
.community-announcement-list, .community-route-grid, .community-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-top: 25px; }
.community-announcement-list article, .community-route-grid article, .community-settings-grid article { padding: 20px; border: 2px solid var(--ink); background: var(--paper); }
.community-announcement-list article:first-child { background: var(--cyan); }.community-route-grid article:first-child { background: var(--lime); }.community-settings-grid article:first-child { background: var(--yellow); }
.community-announcement-list span, .community-route-grid span, .community-settings-grid span { font: 800 8px var(--mono); text-transform: uppercase; }
.community-announcement-list h3, .community-route-grid h3, .community-settings-grid strong { display: block; margin: 17px 0 8px; font: 900 33px/.84 var(--display); text-transform: uppercase; }
.community-announcement-list p, .community-route-grid p, .community-settings-grid p { margin: 0 0 17px; font-size: 12px; line-height: 1.45; }
@media (max-width: 980px) { .community-sticky-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.community-dashboard-head, .community-dashboard-panel-head { align-items: flex-start; flex-direction: column; }.community-dashboard-actions { justify-content: flex-start; } }
@media (max-width: 680px) { .community-dashboard-head, .community-dashboard-panels { padding: 18px; }.community-dashboard-brand { align-items: flex-start; flex-direction: column; }.community-dashboard-tabs { padding: 0; }.community-dashboard-tabs button { flex: 1 1 50%; padding: 0 9px; }.community-sticky-grid, .community-announcement-list, .community-route-grid, .community-settings-grid { grid-template-columns: 1fr; }.community-dashboard-foot { align-items: flex-start; flex-direction: column; }.community-sticky { min-height: 210px; } }
.detail-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 22px; font: 700 9px var(--mono); text-transform: uppercase; }
.detail-breadcrumb a { color: inherit; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.detail-layout aside .panel .button + .button { margin-top: 9px; }

@media (max-width: 900px) {
  .category-directory-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .organiser-directory-grid { grid-template-columns: 1fr; }
  .organiser-directory-card--1, .organiser-directory-card--3 { margin-top: 0; }
  .organiser-hero-grid { grid-template-columns: 120px minmax(0, 1fr); }
  .organiser-hero-mark { width: 105px; height: 105px; font-size: 38px; }
  .event-host-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-hosts-toolbar, .event-hosts-principle .container { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .category-directory-stats > div { min-height: 108px; padding: 14px; }
  .category-directory-stats strong { font-size: 48px; }
  .organiser-directory-heading, .organiser-section-heading { display: grid; align-items: start; }
  .organiser-directory-card { padding: 18px; box-shadow: 6px 6px 0 var(--organiser-accent); }
  .organiser-directory-card h3 { margin-top: 27px; font-size: clamp(40px, 13vw, 56px); }
  .organiser-event-list > a { grid-template-columns: 66px minmax(0, 1fr) max-content; gap: 9px; }
  .organiser-hero-grid { grid-template-columns: 1fr; }
  .organiser-hero-mark { width: 90px; height: 90px; }
  .organiser-hero h1 { font-size: clamp(65px, 20vw, 96px); }
  .organiser-event-board > a { grid-template-columns: 1fr max-content; gap: 9px 14px; }
  .organiser-event-board time { grid-column: 1 / -1; }
  .event-host-grid { grid-template-columns: 1fr; }
  .event-hosts-toolbar { margin-bottom: 14px; }
  .event-host-search, .event-hosts-note { min-height: auto; padding: 16px; }
  .event-host-search > div { display: grid; grid-template-columns: 1fr; }
  .event-host-search .button { justify-content: center; }
  .event-host-filters { gap: 6px; margin-bottom: 30px; }
  .event-host-filter { min-height: 35px; padding: 0 9px; font-size: 12px; }
  .event-host-results { display: grid; align-items: start; }
  .event-host-card { min-height: 305px; }
  .event-host-card h2 { font-size: clamp(38px, 12vw, 53px); }
  .event-hosts-principle { padding: 46px 0; }
}

@media (prefers-reduced-motion: reduce) {
  .organiser-directory-card, .organiser-event-list > a, .organiser-event-list b, .organiser-event-board > a, .organiser-event-board b { transition: none; }
}

/* Awards archive */
.awards-page .page-hero { position: relative; overflow: hidden; }
.awards-page .page-hero::after { content: '★'; position: absolute; right: 4vw; bottom: -5vw; color: var(--yellow); font: 900 clamp(150px, 24vw, 360px)/1 var(--display); opacity: .95; transform: rotate(-10deg); pointer-events: none; }
.awards-page .page-hero .container { position: relative; z-index: 1; }
.awards-page .page-hero h1 { max-width: 900px; }
.awards-page .page-hero h1 em { display: block; }
.awards-intro { background: var(--yellow); }
.awards-intro-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 32px; align-items: stretch; }
.awards-manifesto { padding: 30px; border: 3px solid var(--ink); background: var(--paper); box-shadow: 8px 8px 0 var(--red); }
.awards-manifesto h2 { margin: 15px 0; font: 900 clamp(44px, 6vw, 82px)/.83 var(--display); letter-spacing: -.045em; text-transform: uppercase; }
.awards-manifesto p { max-width: 620px; margin: 0 0 24px; line-height: 1.55; }
.awards-ledger { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 3px solid var(--ink); background: var(--ink); gap: 2px; }
.awards-ledger > div { min-height: 150px; padding: 22px; background: var(--paper); display: flex; flex-direction: column; justify-content: space-between; }
.awards-ledger strong { font: 900 clamp(56px, 8vw, 98px)/.75 var(--display); letter-spacing: -.05em; }
.awards-ledger span { font: 700 10px/1.35 var(--mono); text-transform: uppercase; }
.awards-ledger .awards-ledger-status { background: var(--red); color: var(--paper); }
.awards-event-rail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.awards-event-rail .event-card { min-height: 330px; }
.awards-event-rail .event-card h3 { font-size: clamp(28px, 3vw, 44px); }
.awards-events-action { display: flex; justify-content: flex-end; margin-top: 22px; }
.award-register-notice { display: grid; grid-template-columns: max-content 1fr; gap: 22px; align-items: center; margin: -3px 0 28px; padding: 16px 18px; border: 2px solid var(--ink); background: var(--cyan); }
.award-register-notice strong { font: 900 18px var(--display); text-transform: uppercase; }
.award-register-notice span { font-size: 13px; line-height: 1.45; }
.award-register-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.award-register-group { min-width: 0; }
.award-register-title { display: flex; gap: 15px; align-items: center; padding: 18px; border: 3px solid var(--ink); background: var(--ink); color: var(--paper); }
.award-register-title > span { display: grid; place-items: center; width: 58px; height: 58px; flex: 0 0 auto; background: var(--yellow); color: var(--ink); font: 900 25px var(--display); transform: skew(-8deg); }
.award-register-title h2 { margin: 4px 0 0; font: 900 clamp(34px, 4vw, 56px)/.86 var(--display); letter-spacing: -.04em; text-transform: uppercase; }
.award-honouree-list { display: grid; gap: 16px; margin-top: 16px; }
.award-honouree { --award-accent: var(--yellow); border: 3px solid var(--ink); background: var(--paper); box-shadow: 6px 6px 0 var(--award-accent); }
.award-honouree--cyan { --award-accent: var(--cyan); }
.award-honouree--red { --award-accent: var(--red); }
.award-honouree--lime { --award-accent: var(--lime); }
.award-honouree-head { display: grid; grid-template-columns: 72px 1fr; gap: 16px; align-items: center; padding: 18px; border-bottom: 2px solid var(--ink); }
.award-honouree-mark { display: grid; place-items: center; width: 66px; height: 66px; border: 2px solid var(--ink); background: var(--award-accent); font: 900 26px var(--display); transform: skew(-7deg); }
.award-record-state, .award-source-state { display: inline-block; padding: 4px 6px; background: var(--ink); color: var(--paper); font: 700 8px var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.award-honouree h3 { margin: 8px 0 3px; font: 900 clamp(30px, 3vw, 44px)/.9 var(--display); letter-spacing: -.035em; text-transform: uppercase; }
.award-honouree-head p { margin: 0; color: var(--muted); font: 700 9px var(--mono); text-transform: uppercase; }
.award-win-list { margin: 0; padding: 0; list-style: none; }
.award-win-list li { display: grid; grid-template-columns: 48px 1fr max-content; gap: 12px; align-items: center; padding: 15px 18px; border-bottom: 1px solid var(--ink); }
.award-win-list li:last-child { border-bottom: 0; }
.award-win-year { font: 900 18px var(--display); }
.award-win-list strong { display: block; font-size: 13px; line-height: 1.25; }
.award-win-list small { display: block; margin-top: 4px; color: var(--muted); font: 700 8px var(--mono); text-transform: uppercase; }
.award-source-state { background: var(--paper-2); color: var(--ink); border: 1px solid var(--ink); white-space: nowrap; }
.awards-method { padding: 58px 0; border-top: 3px solid var(--ink); background: var(--red); color: var(--paper); }
.awards-method-grid { display: grid; grid-template-columns: .8fr 1.2fr max-content; gap: 30px; align-items: center; }
.awards-method h2 { max-width: 430px; margin: 12px 0 0; font: 900 clamp(45px, 6vw, 76px)/.82 var(--display); letter-spacing: -.045em; text-transform: uppercase; }
.awards-method ol { margin: 0; padding: 0; list-style: none; border: 2px solid var(--paper); }
.awards-method li { display: grid; grid-template-columns: 46px 1fr; gap: 12px; padding: 13px; border-bottom: 1px solid rgba(241,234,220,.5); }
.awards-method li:last-child { border-bottom: 0; }
.awards-method li > span { font: 900 20px var(--display); color: var(--yellow); }
.awards-method li strong { font-size: 13px; }
.awards-method li p { margin: 3px 0 0; color: var(--paper-2); font-size: 11px; line-height: 1.35; }

@media (max-width: 980px) {
  .awards-event-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .awards-method-grid { grid-template-columns: 1fr 1.4fr; }
  .awards-method-grid > .button { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 680px) {
  .awards-page .page-hero::after { right: -45px; bottom: -20px; opacity: .3; }
  .awards-intro-grid, .award-register-columns, .awards-method-grid { grid-template-columns: 1fr; }
  .awards-ledger { grid-template-columns: 1fr 1fr; }
  .awards-ledger > div { min-height: 112px; padding: 14px; }
  .awards-event-rail { display: flex; overflow-x: auto; padding: 0 6px 8px 0; scroll-snap-type: x proximity; }
  .awards-event-rail .event-card { min-width: min(84vw, 330px); scroll-snap-align: start; }
  .award-register-notice { grid-template-columns: 1fr; gap: 7px; }
  .award-honouree-head { grid-template-columns: 58px 1fr; padding: 14px; }
  .award-honouree-mark { width: 52px; height: 52px; font-size: 21px; }
  .award-win-list li { grid-template-columns: 42px 1fr; }
  .award-source-state { grid-column: 2; justify-self: start; }
  .awards-method-grid > .button { grid-column: auto; }
}

/* City guides / source-backed field notes */
.city-guides-intro, .city-guide-detail-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 36px; align-items: end; margin-bottom: 34px; }
.city-guides-intro h2, .city-guide-detail h1 { margin: 10px 0 0; font: 900 clamp(44px, 6vw, 84px)/.84 var(--display); letter-spacing: -.05em; text-transform: uppercase; }
.city-guides-intro p { max-width: 610px; margin: 0; font-size: 18px; line-height: 1.5; }
.city-guide-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.city-guide-card { min-height: 330px; display: flex; flex-direction: column; align-items: flex-start; padding: 27px; border: 3px solid var(--ink); box-shadow: 9px 9px 0 var(--red); }
.city-guide-card--yellow, .city-guide-detail-hero--yellow { background: var(--yellow); }
.city-guide-card--cyan, .city-guide-detail-hero--cyan { background: var(--cyan); }
.city-guide-card--lime, .city-guide-detail-hero--lime { background: var(--lime); }
.city-guide-card--red, .city-guide-detail-hero--red { background: var(--red); color: var(--paper); }
.city-guide-card > span, .city-guide-card small, .city-guide-detail-hero > .container > span { font: 700 10px/1.3 var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.city-guide-card h2 { margin: 28px 0 4px; font: 900 clamp(42px, 5vw, 72px)/.8 var(--display); letter-spacing: -.05em; text-transform: uppercase; }
.city-guide-card strong { font: 700 14px/1.2 var(--mono); text-transform: uppercase; }
.city-guide-card p { max-width: 520px; margin: 20px 0; font-size: 16px; line-height: 1.45; }
.city-guide-card .button { margin-top: auto; }
.city-guide-detail-hero { padding: 66px 0 58px; border-bottom: 3px solid var(--ink); }
.city-guide-detail-hero .back-link { display: inline-block; margin-bottom: 48px; }
.city-guide-detail-hero h1 { margin: 14px 0; }
.city-guide-detail-hero p { max-width: 640px; margin: 0 0 18px; font-size: clamp(20px, 2.5vw, 28px); line-height: 1.3; }
.city-guide-detail-layout { align-items: start; margin-bottom: 0; }
.city-guide-detail-layout > article { padding: 10px 0; }
.city-guide-intro { margin: 10px 0 38px; font-size: clamp(22px, 2.5vw, 31px); line-height: 1.32; }
.city-guide-notes { display: grid; gap: 13px; margin: 12px 0 0; padding: 0; list-style: none; }
.city-guide-notes li { padding: 16px 18px 16px 46px; position: relative; border: 2px solid var(--ink); background: var(--paper); font-size: 16px; line-height: 1.45; }
.city-guide-notes li::before { content: '↗'; position: absolute; left: 16px; top: 14px; color: var(--red); font: 900 21px var(--display); }
.city-guide-sources { padding: 26px; border: 3px solid var(--ink); background: var(--ink); color: var(--paper); box-shadow: 8px 8px 0 var(--yellow); }
.city-guide-sources h2 { margin: 14px 0; font: 900 clamp(34px, 4vw, 57px)/.85 var(--display); letter-spacing: -.04em; text-transform: uppercase; }
.city-guide-sources p { color: var(--paper-2); line-height: 1.45; }
.city-guide-sources a { display: block; padding: 13px 0; border-top: 1px solid rgba(241,234,220,.45); color: var(--paper); }
.city-guide-sources a strong, .city-guide-sources a span { display: block; }
.city-guide-sources a span { margin-top: 5px; color: var(--yellow); font: 700 10px var(--mono); text-transform: uppercase; }
@media (max-width: 760px) { .city-guides-intro, .city-guide-detail-layout, .city-guide-grid { grid-template-columns: 1fr; } .city-guides-intro { align-items: start; } .city-guide-card { min-height: 290px; } .city-guide-detail-hero { padding: 45px 0; } .city-guide-detail-hero .back-link { margin-bottom: 32px; } }
@media (prefers-reduced-motion: reduce) { .event-side-artwork::after { animation: none; } .event-story-gallery-grid { scroll-behavior: auto; } }

/* Career path explorer */
.career-page { background: var(--paper); }
.career-hero { padding: 76px 0 66px; border-bottom: 3px solid var(--ink); background: var(--cyan); }
.career-hero h1 { max-width: 1000px; margin: 17px 0; font: 900 clamp(66px, 10vw, 145px)/.75 var(--display); letter-spacing: -.055em; text-transform: uppercase; }
.career-hero h1 em { color: var(--red); font-style: normal; }
.career-hero p { max-width: 780px; margin: 30px 0 0; font-size: clamp(18px, 2vw, 25px); line-height: 1.38; }
.career-layout { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); gap: 34px; align-items: start; }
.career-profile { position: sticky; top: 24px; display: grid; gap: 28px; padding: 26px; border: 3px solid var(--ink); background: var(--yellow); box-shadow: 9px 9px 0 var(--ink); }
.career-profile h2 { margin: 7px 0 14px; font: 900 clamp(31px, 4vw, 48px)/.88 var(--display); letter-spacing: -.04em; text-transform: uppercase; }
.career-choice-grid, .career-skill-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.career-choice-grid label, .career-skill-grid label { position: relative; cursor: pointer; }
.career-choice-grid input, .career-skill-grid input { position: absolute; opacity: 0; pointer-events: none; }
.career-choice-grid span, .career-skill-grid span { display: flex; min-height: 52px; align-items: center; padding: 10px; border: 2px solid var(--ink); background: var(--paper); font: 700 10px/1.25 var(--mono); text-transform: uppercase; }
.career-choice-grid input:checked + span, .career-skill-grid input:checked + span { background: var(--ink); color: var(--yellow); }
.career-choice-grid input:focus-visible + span, .career-skill-grid input:focus-visible + span { outline: 3px solid var(--red); outline-offset: 2px; }
.career-form-help { margin: -5px 0 13px; font-size: 12px; line-height: 1.4; }
.career-experience { display: grid; gap: 8px; }
.career-experience span { font: 700 10px var(--mono); text-transform: uppercase; }
.career-experience select { min-height: 50px; padding: 0 12px; border: 2px solid var(--ink); background: var(--paper); color: var(--ink); font: inherit; }
.career-profile > small { line-height: 1.45; }
.career-results { min-width: 0; }
.career-results-head { display: grid; grid-template-columns: 1fr .8fr; gap: 30px; align-items: end; margin-bottom: 24px; }
.career-results-head h2 { margin: 10px 0 0; font: 900 clamp(47px, 6vw, 82px)/.82 var(--display); letter-spacing: -.05em; text-transform: uppercase; }
.career-results-head p { margin: 0; line-height: 1.5; }
[data-career-results] { display: grid; gap: 19px; }
.career-match-card { padding: 24px; border: 3px solid var(--ink); background: var(--paper); box-shadow: 7px 7px 0 var(--red); }
.career-match-card:nth-child(2) { box-shadow-color: var(--cyan); }
.career-match-card:nth-child(3) { box-shadow-color: var(--lime); }
.career-match-card > header { display: flex; justify-content: space-between; gap: 15px; padding-bottom: 13px; border-bottom: 2px solid var(--ink); font: 700 9px var(--mono); text-transform: uppercase; }
.career-match-card > header strong { padding: 5px 7px; background: var(--ink); color: var(--yellow); }
.career-match-card > .eyebrow { margin-top: 21px; }
.career-match-card h3 { margin: 9px 0 12px; font: 900 clamp(38px, 5vw, 65px)/.84 var(--display); letter-spacing: -.045em; text-transform: uppercase; }
.career-match-card > p { max-width: 740px; font-size: 16px; line-height: 1.48; }
.career-match-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-top: 19px; }
.career-match-columns section { padding: 16px; border: 2px solid var(--ink); background: var(--paper-2); }
.career-match-columns h4 { margin: 0 0 10px; font: 900 16px var(--display); text-transform: uppercase; }
.career-match-columns ul { margin: 0; padding-left: 18px; font-size: 12px; line-height: 1.6; }
.career-match-card footer { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 17px; }
.career-match-card footer span, .career-match-card footer a { padding: 6px 8px; font: 700 9px var(--mono); text-transform: uppercase; }
.career-match-card footer span { background: var(--ink); color: var(--paper); }
.career-match-card footer a { border: 1px solid var(--ink); }
.career-boundary, .career-match-error { margin-top: 28px; padding: 22px; border: 3px solid var(--ink); background: var(--ink); color: var(--paper); }
.career-boundary strong, .career-match-error strong { font: 900 26px var(--display); text-transform: uppercase; }
.career-boundary p, .career-match-error p { max-width: 760px; line-height: 1.5; }
.career-boundary .button { background: var(--yellow); color: var(--ink); }

@media (max-width: 980px) {
  .career-layout { grid-template-columns: 1fr; }
  .career-profile { position: static; }
}
@media (max-width: 680px) {
  .career-hero { padding: 50px 0 45px; }
  .career-choice-grid, .career-skill-grid, .career-results-head, .career-match-columns { grid-template-columns: 1fr; }
  .career-profile { padding: 18px; }
  .career-match-card { padding: 18px; }
  .career-match-card > header { align-items: flex-start; flex-direction: column; }
}

/* Contextual member feedback */
.feedback-launch { position: fixed; z-index: 36; left: 18px; bottom: 18px; display: flex; gap: 9px; align-items: center; min-height: 43px; padding: 7px 13px 7px 7px; border: 2px solid var(--ink); background: var(--paper); color: var(--ink); box-shadow: 4px 4px 0 var(--red); cursor: pointer; }
.feedback-launch span { display: grid; place-items: center; width: 27px; height: 27px; background: var(--red); color: var(--paper); font-size: 18px; }
.feedback-launch strong { font: 700 10px var(--mono); text-transform: uppercase; }
.feedback-dialog { width: min(920px, calc(100vw - 28px)); max-height: min(870px, calc(100vh - 28px)); padding: 0; border: 3px solid var(--ink); background: var(--paper); color: var(--ink); box-shadow: 12px 12px 0 var(--red); }
.feedback-dialog::backdrop { background: rgba(17,17,17,.76); }
.feedback-close { position: absolute; z-index: 1; top: 13px; right: 13px; display: grid; place-items: center; width: 37px; height: 37px; border: 2px solid var(--ink); background: var(--paper); font-size: 24px; cursor: pointer; }
.feedback-dialog__head { display: grid; grid-template-columns: 1.3fr .7fr; gap: 25px; padding: 30px; border-bottom: 3px solid var(--ink); background: var(--cyan); }
.feedback-dialog__head h2 { margin: 13px 0 0; font: 900 clamp(45px, 6vw, 78px)/.8 var(--display); letter-spacing: -.05em; text-transform: uppercase; }
.feedback-dialog__head aside { align-self: end; padding: 17px; border: 2px solid var(--ink); background: var(--yellow); }
.feedback-dialog__head aside strong { font: 900 20px var(--display); text-transform: uppercase; }
.feedback-dialog__head aside p { margin: 7px 0 0; font-size: 11px; line-height: 1.4; }
.feedback-dialog form { display: grid; gap: 20px; padding: 27px 30px; }
.feedback-context { display: grid; grid-template-columns: max-content 1fr; gap: 5px 14px; align-items: center; padding: 13px; border: 2px solid var(--ink); }
.feedback-context span, .feedback-context small, .feedback-description > span, .feedback-description small, .feedback-dialog legend { font: 700 9px/1.4 var(--mono); text-transform: uppercase; }
.feedback-context strong { overflow-wrap: anywhere; }
.feedback-context small { grid-column: 2; color: var(--muted); }
.feedback-dialog fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.feedback-dialog legend { margin-bottom: 9px; }
.feedback-type-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.feedback-type-grid label { position: relative; cursor: pointer; }
.feedback-type-grid input { position: absolute; opacity: 0; }
.feedback-type-grid span { display: flex; min-height: 50px; align-items: center; justify-content: center; padding: 8px; border: 2px solid var(--ink); font: 700 9px/1.25 var(--mono); text-align: center; text-transform: uppercase; }
.feedback-type-grid input:checked + span { background: var(--ink); color: var(--yellow); }
.feedback-type-grid input:focus-visible + span { outline: 3px solid var(--red); outline-offset: 2px; }
.feedback-description { display: grid; gap: 8px; }
.feedback-description textarea { min-height: 130px; resize: vertical; padding: 13px; border: 2px solid var(--ink); background: var(--paper); color: var(--ink); font: inherit; line-height: 1.45; }
.feedback-description small { color: var(--muted); }
.feedback-support-note { display: grid; grid-template-columns: .5fr 1.5fr; gap: 14px; padding: 13px; border: 2px solid var(--ink); background: var(--paper-2); font-size: 11px; line-height: 1.4; }
.feedback-support-note strong { text-transform: uppercase; }
.feedback-dialog form > .button { justify-self: start; }
.feedback-status { margin: 0; padding: 11px 12px; border-left: 5px solid var(--red); background: var(--paper-2); font-size: 12px; line-height: 1.45; }
.feedback-dialog > footer { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 3px solid var(--ink); background: var(--ink); color: var(--paper); }
.feedback-dialog > footer span { padding: 12px; border-right: 1px solid var(--paper); font: 700 9px var(--mono); text-align: center; text-transform: uppercase; }
.feedback-dialog > footer span:last-child { border-right: 0; }

@media (max-width: 680px) {
  .feedback-launch { left: 10px; bottom: 10px; }
  .feedback-launch strong { display: none; }
  .feedback-dialog__head { grid-template-columns: 1fr; padding: 22px; }
  .feedback-dialog form { padding: 21px; }
  .feedback-type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .feedback-support-note { grid-template-columns: 1fr; }
  .feedback-dialog > footer { grid-template-columns: 1fr; }
  .feedback-dialog > footer span { border-right: 0; border-bottom: 1px solid var(--paper); }
}
