/* Human × AI 2027 — "Sisyphus Spark / Roboto" design system.
   One six-column grid for every layer; the tokens below are the only palette.
   Fonts: Roboto (display headings) + IBM Plex Sans (identity, navigation, text), self-hosted variable WOFF2, SIL OFL 1.1. */

@font-face{font-family:"Roboto";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/roboto-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Roboto";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/roboto-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:100 700;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:100 700;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* Metric-matched Arial fallbacks (measured widths; hhea metrics of the WOFF2 files) keep layout shift low. */
@font-face{font-family:"Roboto Fallback";src:local("Arial");size-adjust:100%;ascent-override:92.8%;descent-override:24.4%;line-gap-override:0%}
@font-face{font-family:"IBM Plex Sans Fallback";src:local("Arial");size-adjust:100%;ascent-override:102.5%;descent-override:27.5%;line-gap-override:0%}

:root{
  --paper:#FFFFFF;         /* header, Content Hub and the default layer */
  --hero:#DFEBFB;          /* hero, starting under the white header */
  --pale:#F4F6FB;          /* light neutral content layer */
  --ink:#20245E;           /* deep indigo: text (14.2:1 on paper) and dark layers */
  --cobalt:#3155D9;        /* rules, actions, active links: 6.1:1 on paper, 5.1:1 on hero */
  --cobalt-hover:#2442B3;  /* button hover: white text 8.4:1 */
  --muted:#515C76;         /* secondary text: 6.7:1 on paper, 6.2:1 on pale, 5.5:1 on hero */
  --line:#CCD4E5;          /* decorative rules */
  --control:#7C86A2;       /* form control borders: 3.6:1 on paper, 3.4:1 on pale */
  --on-dark:#F4F6FB;       /* text on indigo: 13.2:1 */
  --on-dark-muted:#C8D3EE; /* secondary text on indigo: 9.5:1 */
  --on-dark-rule:#879DEE;  /* row rules on indigo */
  --on-dark-line:#586783;  /* quiet dividers on indigo */
  --violet:#BD6BFD;        /* small accent: stream numbers on indigo (4.5:1) */
  --pink:#FF78A2;          /* small accent: link underlines on indigo */
  --error:#B3261E;         /* 6.5:1 on paper */
  --on-dark-error:#FFB4AB;
  --white:#FFFFFF;

  --font-display:"Roboto","Roboto Fallback",Arial,sans-serif;
  --font-text:"IBM Plex Sans","IBM Plex Sans Fallback",Arial,sans-serif;

  --maxw:1200px;
  --pad:48px;
  --gap:24px;
  --inset:max(var(--pad),calc((100% - var(--maxw)) / 2));
  --cols:repeat(6,minmax(0,1fr));

  --band-y:56px;
  --h2:27px;              /* every functional section heading */
  --radius:6px;
  --logo-scale:1;
  color-scheme:light;
}
@media (max-width:850px){:root{--pad:28px;--gap:18px;--band-y:48px;--logo-scale:.85;--h2:25px}}
@media (max-width:600px){:root{--pad:20px;--gap:12px;--band-y:40px;--logo-scale:.8;--h2:24px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:16px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--font-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-wrap:break-word}
img,svg,video,iframe{max-width:100%}
img{height:auto;display:block}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}
p,h1,h2,h3,h4,ul,ol,figure,blockquote,dl,dd{margin:0}
ul[role=list],ol[role=list]{list-style:none;padding:0}
h1,h2,h3,h4{font-family:var(--font-text);font-weight:500;font-style:normal;text-wrap:balance}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--cobalt);outline-offset:3px}
.hx-band--deep :focus-visible,.hx-footer :focus-visible,.hx-dialog :focus-visible,.hx-dark :focus-visible{outline-color:var(--on-dark)}
[hidden]{display:none!important}
.hx-vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Skip link and staging notice */
.hx-skip{position:absolute;left:12px;top:-100px;z-index:1000;background:var(--ink);color:var(--white);padding:12px 16px;font-weight:600;text-decoration:none;border-radius:var(--radius)}
.hx-skip:focus{top:12px}
.hx-staging{background:#FFE8A3;color:#3B2F00;font:500 13px/1.4 var(--font-text);padding:8px var(--inset);text-align:center;border-bottom:1px solid #D9C27A}

/* ---------------------------------------------------------------- layers and grid */
.hx-band{padding-inline:var(--inset);padding-block:var(--band-y)}
.hx-band--pale{background:var(--pale)}
.hx-band--deep{background:var(--ink);color:var(--on-dark)}
.hx-band--rule{border-top:1px solid var(--line)}
.hx-band--tight{padding-block:calc(var(--band-y) - 12px)}
.hx-grid{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap)}
.hx-span-all{grid-column:1/-1}
.hx-c1-2{grid-column:1/3}.hx-c1-3{grid-column:1/4}.hx-c1-4{grid-column:1/5}.hx-c1-5{grid-column:1/6}
.hx-c3-4{grid-column:3/5}.hx-c3-6{grid-column:3/7}.hx-c4-6{grid-column:4/7}.hx-c5-6{grid-column:5/7}.hx-c2-5{grid-column:2/6}
@media (max-width:600px){
  .hx-c1-2,.hx-c1-3,.hx-c1-4,.hx-c1-5,.hx-c3-4,.hx-c3-6,.hx-c4-6,.hx-c5-6,.hx-c2-5{grid-column:1/-1}
}

/* ---------------------------------------------------------------- type */
.hx-label,.hx-kicker{display:block;font:500 13px/1.5 var(--font-text);letter-spacing:.01em;color:var(--muted)}
.hx-band--deep .hx-label,.hx-band--deep .hx-kicker{color:var(--on-dark-muted)}
h2>.hx-label,h2>.hx-kicker{margin-bottom:6px}
.hx-h2{font:500 var(--h2)/1.3 var(--font-text);letter-spacing:-.025em}
.hx-h3{font:500 20px/1.35 var(--font-text);letter-spacing:-.015em}
.hx-lead{font-size:21px;line-height:1.5;letter-spacing:-.01em}
.hx-body{font-size:16px;line-height:1.7;color:var(--muted)}
.hx-band--deep .hx-body{color:var(--on-dark-muted)}
.hx-muted{color:var(--muted)}
.hx-tba{font:400 15px/1.5 var(--font-text);color:var(--muted)}
.hx-intro-note{max-width:46em;margin-bottom:28px}
@media (max-width:850px){.hx-lead{font-size:19px}}

/* ---------------------------------------------------------------- links & buttons */
.hx-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:500 14px/1.3 var(--font-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.hx-link:hover{text-decoration-thickness:2px}
.hx-link svg,.hx-btn svg,.hx-arrow{width:12px;height:12px;flex:none}
/* Section-level "explore" links carry the cobalt of actions; links on indigo get a small pink underline. */
.hx-ribbon__all,.hx-sectionhead>.hx-link,.hx-heading__side{color:var(--cobalt)}
.hx-band--deep .hx-link{color:var(--on-dark);text-decoration-color:var(--pink)}
.hx-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;background:var(--cobalt);color:var(--white);font:500 15px/1.3 var(--font-text);text-decoration:none;border:0;border-radius:var(--radius);cursor:pointer}
.hx-btn:hover{background:var(--cobalt-hover)}
.hx-btn[disabled],.hx-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}
.hx-btn[disabled]:hover,.hx-btn[aria-disabled=true]:hover{background:var(--cobalt)}
.hx-textlink{text-decoration:underline;text-underline-offset:5px}
.hx-textlink:hover{text-decoration-thickness:2px}

/* ---------------------------------------------------------------- header (white, separate from the hero) */
.hx-header{padding-inline:var(--inset);border-bottom:1px solid var(--line);background:var(--paper)}
.hx-header__grid{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);align-items:center;min-height:72px}
.hx-brand{grid-column:1/3;justify-self:start;display:inline-flex;align-items:center;min-height:44px;font:500 17px/1.4 var(--font-text);letter-spacing:-.04em;color:var(--ink);text-decoration:none;white-space:nowrap}
.hx-nav{display:contents}
.hx-nav a{justify-self:start;display:inline-flex;align-items:center;gap:6px;min-height:44px;font:400 14px/1.3 var(--font-text);text-decoration:none;white-space:nowrap}
.hx-nav a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
/* One active style for every position: a cobalt underline, same weight as the other items. */
.hx-nav a[aria-current=page],.hx-nav a[data-active]{text-decoration:underline;text-decoration-color:var(--cobalt);text-decoration-thickness:2px;text-underline-offset:7px}
.hx-nav__conference{grid-column:3}
.hx-nav__streams{grid-column:4}
.hx-nav__hub{grid-column:5}
.hx-nav__archive{grid-column:6;justify-self:end!important;color:var(--muted)}
.hx-subnav{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);border-top:1px solid var(--line)}
.hx-subnav__list{grid-column:3/-1;display:flex;flex-wrap:wrap;column-gap:var(--gap);margin:0;padding:0;list-style:none}
.hx-subnav a{display:inline-flex;align-items:center;min-height:44px;font:400 13px/1.2 var(--font-text);color:var(--muted);text-decoration:none;white-space:nowrap}
.hx-subnav a:hover{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.hx-subnav a[aria-current=page]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--cobalt);text-decoration-thickness:2px;text-underline-offset:6px}
@media (max-width:850px){
  .hx-header__grid{min-height:64px}
  .hx-nav a{font-size:13px}
  /* One row that scrolls sideways; the padding/negative-margin pair keeps focus outlines unclipped without moving the text off the grid. */
  .hx-subnav .hx-subnav__list{grid-column:1/-1;flex-wrap:nowrap;min-width:0;overflow-x:auto;scrollbar-width:none;margin:-6px;padding:6px}
  .hx-subnav__list::-webkit-scrollbar{display:none}
  .hx-subnav a{font-size:13px;scroll-margin-inline:6px}
  /* Fade the right edge while more items are hidden (the attribute is set by site.js). */
  .hx-subnav .hx-subnav__list[data-more]{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 48px),transparent)}
}
/* Two header rows below 761px: four single-column items no longer fit side by side. */
@media (max-width:760px){
  .hx-header__grid{grid-template-rows:auto auto;row-gap:0;padding-block:8px 0}
  .hx-brand{grid-column:1/4;grid-row:1}
  .hx-nav__archive{grid-column:4/7;grid-row:1}
  .hx-nav__conference{grid-column:1/3;grid-row:2}
  .hx-nav__streams{grid-column:3/5;grid-row:2}
  .hx-nav__hub{grid-column:5/7;grid-row:2}
  .hx-nav .hx-nav__hub{justify-self:end}
}
/* Narrowest phones: "Conference 2027" is wider than two columns, so the other two items move right. */
@media (max-width:360px){.hx-nav__streams{justify-self:center!important}}

/* ---------------------------------------------------------------- hero: light layer under the header; text in 1–3, illustration to the right and bottom edges */
.hx-hero{--hero-pb:38px;background:var(--hero);color:var(--ink);padding-block:32px var(--hero-pb);overflow:hidden;isolation:isolate}
/* Edge tracks outside the six columns: the illustration can reach the real right edge (the inset grows on wide screens) while text keeps the shared axes. */
.hx-hero__grid{display:grid;grid-template-columns:[full-start] calc(var(--inset) - var(--gap)) repeat(6,[c] minmax(0,1fr)) [c] calc(var(--inset) - var(--gap)) [full-end];grid-template-rows:auto auto auto auto 1fr;column-gap:var(--gap);align-items:start}
.hx-hero__name,.hx-hero h1,.hx-hero__desc,.hx-hero__attend{position:relative;z-index:1}
.hx-hero__name{grid-column:c 1/c 7;grid-row:1;margin-bottom:30px;font:500 40px/1.3 var(--font-text);letter-spacing:-.035em}
.hx-hero__x{font-size:1.12em;line-height:1;font-weight:400;color:var(--cobalt)}
.hx-hero h1{grid-column:c 1/c 4;grid-row:2;margin:0 0 22px;font-family:var(--font-display);font-weight:500;font-synthesis:none;text-wrap:initial}
.hx-hero__lead{display:block;margin-bottom:5px;font:400 24px/1.35 var(--font-display);letter-spacing:-.01em}
.hx-hero__big{display:block;font-size:clamp(44px,5.75vw,70px);line-height:1.14;font-weight:700;letter-spacing:-.02em}
.hx-hero__desc{grid-column:c 1/c 4;grid-row:3;max-width:15em;margin-bottom:26px;font-size:18px;line-height:1.5;text-wrap:balance}
.hx-hero__attend{grid-column:c 1/c 4;grid-row:4;display:flex;flex-direction:column;align-items:flex-start;gap:19px}
.hx-hero__when{display:flex;flex-direction:column;gap:3px}
.hx-hero__when strong{font:500 18px/1.45 var(--font-text)}
.hx-hero__when span{font-size:14px;line-height:1.5;color:var(--muted)}
.hx-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}
/* The drawing's pale sky is darkened into the hero colour, so no rectangle shows; anchored bottom-right so the slope meets both edges. */
.hx-hero__art{grid-column:c 3/full-end;grid-row:2/6;align-self:stretch;position:relative;margin:0 0 calc(-1 * var(--hero-pb));mix-blend-mode:darken;pointer-events:none}
.hx-hero__art img{position:absolute;right:0;bottom:0;width:115%;height:100%;max-width:none;object-fit:contain;object-position:right bottom}
/* Wider than 1440px the inset grows: the drawing grows with it (extra height goes to the last, empty row) so the figure stays in columns 4–6. */
@media (min-width:1441px){.hx-hero__art{min-height:min(calc(93vw - 1112px),720px)}}
.hx-video-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:500 14px/1.3 var(--font-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.hx-video-link:hover{text-decoration-thickness:2px}
@media (max-width:850px){
  .hx-hero__name{font-size:34px;margin-bottom:26px}
  .hx-hero__lead{font-size:21px}
  /* Fluid in the tablet range so "Growth Engine" stays on one line inside columns 1–3. */
  .hx-hero__big{font-size:clamp(36px,5.8vw,44px)}
  .hx-hero__desc{font-size:16px}
  .hx-hero .hx-btn{font-size:14px;padding-inline:18px}
}
@media (max-width:600px){
  .hx-hero{--hero-pb:30px;padding-top:25px}
  .hx-hero__grid{grid-template-rows:none}
  .hx-hero__name{font-size:33px;margin-bottom:24px}
  .hx-hero__conf{display:block;margin-top:3px;font-size:20px;letter-spacing:-.01em}
  .hx-hero h1,.hx-hero__desc,.hx-hero__attend{grid-column:c 1/c 7}
  .hx-hero h1{margin-bottom:20px}
  .hx-hero__lead{font-size:23px}
  .hx-hero__big{font-size:clamp(36px,9.5vw,54px);line-height:1.17}
  .hx-hero__desc{font-size:17px;margin-bottom:20px}
  .hx-hero__attend{gap:16px}
  /* Below the text, edge to edge: the crop keeps the figure, its contact with the star and every star point. */
  .hx-hero__art{grid-column:full-start/full-end;grid-row:5;aspect-ratio:1.2;margin-top:40px}
  .hx-hero__art img{width:100%;object-fit:cover}
}

/* Video dialog (the player loads only after a click) */
.hx-dialog{width:min(960px,calc(100vw - 32px));max-width:none;padding:0;border:0;border-radius:var(--radius);overflow:hidden;background:var(--ink);color:var(--on-dark)}
.hx-dialog::backdrop{background:rgba(14,16,48,.8)}
.hx-dialog__bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font:500 14px/1.3 var(--font-text)}
.hx-dialog__close{min-width:44px;min-height:44px;background:transparent;border:1px solid var(--on-dark-line);border-radius:var(--radius);color:var(--on-dark);cursor:pointer;font-size:14px;font-weight:500;padding:0 14px}
.hx-dialog__close:hover{border-color:var(--on-dark)}
.hx-dialog__frame{position:relative;aspect-ratio:16/9;background:#000}
.hx-dialog__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.hx-dialog__foot{padding:10px 14px;font-size:14px;color:var(--on-dark-muted)}
.hx-dialog__foot a{color:var(--on-dark);text-decoration-color:var(--pink)}

/* ---------------------------------------------------------------- Content Hub ribbon (white, directly after the hero) */
.hx-ribbon{background:var(--paper);padding-inline:var(--inset);padding-block:28px 32px;border-bottom:1px solid var(--line)}
.hx-ribbon__grid{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);row-gap:24px}
.hx-ribbon__head{grid-column:1/-1;display:grid;grid-template-columns:subgrid;align-items:center}
.hx-ribbon__title{grid-column:1/5;font:500 var(--h2)/1.3 var(--font-text);letter-spacing:-.025em}
.hx-ribbon__all{grid-column:5/7;justify-self:end}
.hx-ribbon__item{display:block;text-decoration:none;min-width:0}
.hx-ribbon__item--lead{grid-column:1/5;display:grid;grid-template-columns:subgrid;grid-template-rows:min-content min-content 1fr;row-gap:9px;align-content:start}
.hx-ribbon__img{grid-column:1;grid-row:1/4;width:100%;height:164px;object-fit:cover;object-position:50% 20%;filter:grayscale(1);background:var(--pale)}
.hx-ribbon__item--lead>:not(img){grid-column:2/5}
.hx-ribbon__item--text>:not(img){grid-column:1/5}
.hx-ribbon__meta{font-size:14px;line-height:1.5;color:var(--muted)}
.hx-ribbon__item h3{font:500 18px/1.3 var(--font-text);letter-spacing:-.02em}
.hx-ribbon__item--lead h3{font-size:24px;line-height:1.3;letter-spacing:-.025em}
.hx-ribbon__teaser{align-self:start;max-width:40ch;font-size:15px;line-height:1.55;color:var(--muted)}
.hx-ribbon__item:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.hx-ribbon__list{grid-column:5/7;display:flex;flex-direction:column;gap:16px;margin:0;padding:0}
.hx-ribbon__list li{padding-bottom:16px;border-bottom:1px solid var(--line)}
.hx-ribbon__list .hx-ribbon__meta{margin-bottom:6px}
.hx-ribbon__state{grid-column:1/-1;color:var(--muted)}
@media (max-width:850px){.hx-ribbon__item--lead h3{font-size:22px}.hx-ribbon__item h3{font-size:17px}.hx-ribbon__teaser{font-size:14px}.hx-ribbon__img{height:170px}}
@media (max-width:600px){
  .hx-ribbon{padding-block:24px 28px}
  .hx-ribbon__title{grid-column:1/4}
  .hx-ribbon__all{grid-column:4/7}
  .hx-ribbon__item--lead{grid-column:1/-1;column-gap:var(--gap);row-gap:8px}
  .hx-ribbon__img{grid-column:1/3;height:auto;aspect-ratio:4/5;align-self:start}
  .hx-ribbon__item--lead>:not(img){grid-column:3/7}
  .hx-ribbon__item--text>:not(img){grid-column:1/-1}
  .hx-ribbon__item--lead h3{font-size:21px;line-height:1.25}
  .hx-ribbon__teaser{font-size:14px;line-height:1.5}
  .hx-ribbon__list{grid-column:1/-1;gap:0}
  .hx-ribbon__list li{padding:16px 0 0;margin-top:16px;border-bottom:0;border-top:1px solid var(--line)}
  .hx-ribbon__list li:first-child{margin-top:4px}
  .hx-ribbon__item h3{font-size:18px}
}

/* ---------------------------------------------------------------- section heads */
.hx-sectionhead,.hx-heading{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);row-gap:12px;align-items:end;margin-bottom:32px}
.hx-sectionhead h2,.hx-heading h2{grid-column:1/5;font:500 var(--h2)/1.3 var(--font-text);letter-spacing:-.025em}
.hx-sectionhead>.hx-link,.hx-heading__side{grid-column:5/7;justify-self:end}
.hx-heading--full h2{grid-column:1/-1}
@media (max-width:600px){.hx-sectionhead h2,.hx-heading h2{grid-column:1/-1}.hx-sectionhead>.hx-link,.hx-heading__side{grid-column:1/-1;justify-self:start}.hx-sectionhead,.hx-heading{margin-bottom:24px}}

/* ---------------------------------------------------------------- mission: heading 1–2, one reading column 3–6 */
.hx-mission{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);row-gap:24px;align-items:start}
.hx-mission__title{grid-column:1/3;font:500 var(--h2)/1.3 var(--font-text);letter-spacing:-.025em}
@media (min-width:851px){.hx-mission__title{position:sticky;top:24px}}
.hx-mission__text{grid-column:3/7;max-width:34em}
.hx-mission__text p{font-size:16px;line-height:1.65}
.hx-mission__text>p+p,.hx-mission__part p+p{margin-top:14px}
.hx-mission__text>.hx-mission__lead{font-size:23px;line-height:1.5;letter-spacing:-.015em;margin-bottom:20px}
.hx-mission__part{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}
.hx-mission__part h3{font:500 15px/1.4 var(--font-text);letter-spacing:0;color:var(--ink);margin-bottom:8px}
@media (max-width:850px){.hx-mission__text>.hx-mission__lead{font-size:21px}}
@media (max-width:600px){.hx-mission__title,.hx-mission__text{grid-column:1/-1}}

/* ---------------------------------------------------------------- organisations */
.hx-orgrow{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);row-gap:24px;align-items:start}
.hx-orgrow__title{grid-column:1/3;font:500 var(--h2)/1.3 var(--font-text);letter-spacing:-.025em}
.hx-orgrow__list{grid-column:3/7;display:grid;grid-template-columns:subgrid;row-gap:28px;margin:0;padding:0;list-style:none}
.hx-orgrow__list>li{display:flex;min-width:0}
.hx-org{display:flex;flex-direction:column;gap:14px;text-decoration:none;min-width:0}
.hx-orgrow .hx-org{min-height:100%}
.hx-orgrow .hx-org .hx-logo{margin-block:auto 0}
.hx-org__name{font:500 14px/1.35 var(--font-text)}
.hx-org__desc{font-size:14px;line-height:1.55;color:var(--muted);max-width:34ch}
.hx-org:hover .hx-org__name,.hx-org:hover .hx-org__desc{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
/* Logo cropped to its measured content box: the visible mark, not the file padding, sits on the axis. */
.hx-logo{position:relative;display:block;flex:none;width:calc(var(--lw) * var(--logo-scale));max-width:100%;aspect-ratio:var(--lr);overflow:hidden}
.hx-logo img{position:absolute;max-width:none;height:auto}
.hx-logo--multiply img{mix-blend-mode:multiply}
.hx-logo--invert img{filter:brightness(0)}
.hx-orgrow .hx-org{justify-content:flex-start}
.hx-orgrow__list .hx-logo{height:auto}
.hx-orgrow__list>li>.hx-org{display:grid;grid-template-rows:64px auto;row-gap:14px}
.hx-orgrow__list>li>.hx-org .hx-logo{align-self:center}
.hx-groups{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);row-gap:36px;margin-top:36px;padding-top:26px;border-top:1px solid var(--line)}
.hx-groups--first{margin-top:0;padding-top:0;border-top:0}
.hx-group{grid-column:span 2;min-width:0}
.hx-group h2,.hx-group h3{font:500 13px/1.5 var(--font-text);letter-spacing:.01em;color:var(--muted);margin-bottom:16px}
.hx-group ul{display:flex;flex-direction:column;gap:28px;margin:0;padding:0;list-style:none}
.hx-group .hx-org{gap:8px}
.hx-group .hx-logo{margin-bottom:4px}
@media (max-width:850px){
  .hx-orgrow__list>li{grid-column:span 2}
  .hx-orgrow__list>li>.hx-org{grid-template-rows:56px auto}
  .hx-group{grid-column:span 3}
}
@media (max-width:600px){
  .hx-orgrow__title,.hx-orgrow__list{grid-column:1/-1}
  .hx-orgrow__list>li{grid-column:1/-1}
  .hx-orgrow__list>li>.hx-org{grid-template-rows:52px auto;row-gap:10px}
  .hx-org__desc{max-width:none}
  .hx-group{grid-column:1/-1}
}

/* ---------------------------------------------------------------- invitations (mission partner / speaker) */
.hx-invite{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);row-gap:20px;align-items:center}
.hx-invite__text{grid-column:1/5}
.hx-invite__text h2{font:500 var(--h2)/1.3 var(--font-text);letter-spacing:-.025em;margin-bottom:6px}
.hx-invite__text .hx-tba{margin-bottom:12px}
.hx-invite__text p{font-size:15px;line-height:1.65;color:var(--muted);max-width:62ch}
.hx-invite__action{grid-column:5/7;justify-self:start}
@media (max-width:600px){.hx-invite__text,.hx-invite__action{grid-column:1/-1}}

/* ---------------------------------------------------------------- Content Streams (indigo thematic layer) */
.hx-streams__intro{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);row-gap:16px;align-items:end;margin-bottom:28px}
.hx-streams__intro h2{grid-column:1/5;font:500 48px/1.15 var(--font-display);letter-spacing:-.015em}
.hx-streams__intro .hx-link{grid-column:5/7;justify-self:start}
.hx-streams__note{margin-top:24px;max-width:62ch;font-size:14px;line-height:1.6;color:var(--on-dark-muted)}
.hx-streams__list{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);margin:0;padding:0;list-style:none;border-bottom:1px solid var(--on-dark-rule)}
.hx-streams__list>li{grid-column:1/-1;display:grid;grid-template-columns:subgrid}
.hx-stream{grid-column:1/-1;display:grid;grid-template-columns:subgrid;align-items:baseline;padding:23px 0;border-top:1px solid var(--on-dark-rule);text-decoration:none}
.hx-stream__n{grid-column:1;font:500 24px/1.3 var(--font-display);color:var(--violet)}
.hx-stream h2,.hx-stream h3{grid-column:2/5;font:500 24px/1.3 var(--font-display);letter-spacing:-.01em}
.hx-stream__desc{grid-column:5/7;font-size:15px;line-height:1.6;color:var(--on-dark-muted)}
.hx-stream__count{display:block;margin-top:6px;font-weight:500}
.hx-stream:hover h2,.hx-stream:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.hx-stream:focus-visible{outline-offset:-2px}
@media (max-width:850px){.hx-streams__intro h2{font-size:40px}.hx-stream h2,.hx-stream h3{font-size:22px}.hx-stream__desc{font-size:14px}}
@media (max-width:600px){
  .hx-streams__intro h2,.hx-streams__intro .hx-link{grid-column:1/-1;justify-self:start}
  .hx-streams__intro h2{font-size:34px}
  .hx-stream{row-gap:12px;padding:21px 0}
  .hx-stream h2,.hx-stream h3{grid-column:2/7;font-size:21px}
  .hx-stream__desc{grid-column:2/7;font-size:15px}
  .hx-stream__n{font-size:16px}
}
/* Light variant (Hub pages): cobalt numbers, since the violet accent is for the indigo layer only. */
.hx-streams--light{border-bottom-color:var(--line)}
.hx-streams--light .hx-stream{border-top-color:var(--line)}
.hx-streams--light .hx-stream__n{color:var(--cobalt)}
.hx-streams--light .hx-stream h2,.hx-streams--light .hx-stream h3{font-size:22px}
.hx-streams--light .hx-stream__desc{color:var(--muted)}
.hx-streams--light .hx-stream__count{color:var(--ink)}
.hx-streams--light .hx-stream:focus-visible{outline-color:var(--cobalt)}

/* ---------------------------------------------------------------- open article items (2+2+2) */
.hx-cards{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);row-gap:0;margin:0;padding:0;list-style:none}
/* Each item spans five shared rows (image, meta, title, excerpt, byline) so a group lines up. */
.hx-cards>li{grid-column:span 2;display:grid;grid-row:span 5;grid-template-rows:subgrid;margin-bottom:36px}
.hx-card{grid-row:1/-1;display:grid;grid-template-rows:subgrid;align-content:start;text-decoration:none;min-width:0}
.hx-card__img{grid-row:1;display:block;width:100%;aspect-ratio:1.6;object-fit:cover;object-position:50% 25%;filter:grayscale(1);background:var(--pale);margin-bottom:14px}
.hx-card__meta{grid-row:2;font-size:14px;line-height:1.5;color:var(--muted);margin-bottom:6px}
.hx-card h2,.hx-card h3{grid-row:3;font:500 20px/1.3 var(--font-text);letter-spacing:-.015em}
.hx-card__excerpt{grid-row:4;margin-top:8px;font-size:15px;line-height:1.6;color:var(--muted)}
.hx-card__foot,.hx-card__by{grid-row:5;margin-top:10px;font-size:14px;line-height:1.5;color:var(--muted)}
/* Narrow columns: fill lines instead of balancing them into three short ones. */
.hx-card h2,.hx-card h3{text-wrap:pretty}
.hx-card:hover h2,.hx-card:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
@media (max-width:850px){.hx-cards>li{grid-column:span 3}.hx-card h2,.hx-card h3{font-size:19px}}
@media (max-width:600px){.hx-cards>li{grid-column:1/-1}}

/* ---------------------------------------------------------------- editorial rows (full Hub, streams, formats) */
.hx-rows{margin:0;padding:0;list-style:none;border-bottom:1px solid var(--line)}
.hx-rows>li{border-top:1px solid var(--line)}
.hx-row{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);padding:24px 0;text-decoration:none}
.hx-row__media{grid-column:1/3}
.hx-row__img{width:100%;aspect-ratio:1.2;object-fit:cover;object-position:50% 25%;filter:grayscale(1);background:var(--pale)}
.hx-row__text{grid-column:3/7;display:flex;flex-direction:column;gap:10px;min-width:0}
.hx-row__meta,.hx-row__foot{display:block;font-size:14px;line-height:1.5;color:var(--muted)}
.hx-row h2,.hx-row h3{font:500 29px/1.3 var(--font-display);letter-spacing:-.02em;max-width:28em}
.hx-row__excerpt{display:block;max-width:62ch;font-size:15px;line-height:1.6;color:var(--muted)}
.hx-row__foot{margin-top:auto;padding-top:6px}
.hx-row:hover h2,.hx-row:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
@media (max-width:850px){.hx-row h2,.hx-row h3{font-size:24px}}
@media (max-width:600px){
  .hx-row{padding:18px 0}
  .hx-row__text{gap:6px}
  .hx-row h2,.hx-row h3{font-size:20px;line-height:1.3}
  .hx-row__excerpt{font-size:14px}
}

/* Content Hub notes, topic links and chips */
.hx-hubnote{margin-top:32px;padding-top:18px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.hx-topiclinks{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.hx-chip{display:inline-flex;align-items:center;min-height:44px;padding:6px 14px;border:1px solid var(--control);border-radius:var(--radius);font:500 14px/1.3 var(--font-text);color:var(--ink);text-decoration:none;background:transparent}
.hx-chip:hover{border-color:var(--cobalt);color:var(--cobalt)}
.hx-chip[aria-current=true],.hx-chip[aria-current=page]{background:var(--ink);color:var(--white);border-color:var(--ink)}

/* ---------------------------------------------------------------- audiences */
.hx-convene{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);row-gap:24px;align-items:start}
.hx-convene__title{grid-column:1/3;font:500 var(--h2)/1.3 var(--font-text);letter-spacing:-.025em}
.hx-convene__list{grid-column:3/7;display:grid;grid-template-columns:subgrid;margin:0;padding:0;list-style:none;counter-reset:aud}
.hx-convene__list li{grid-column:1/-1;display:grid;grid-template-columns:subgrid;align-items:baseline;counter-increment:aud;border-bottom:1px solid var(--line);padding:18px 0;font-size:16px;line-height:1.55}
.hx-convene__list li:first-child{padding-top:0}
.hx-convene__list li::before{content:"0" counter(aud);grid-column:1;font:500 14px/1.4 var(--font-text);color:var(--cobalt)}
.hx-convene__list li span{grid-column:2/5}
@media (max-width:600px){.hx-convene__title,.hx-convene__list{grid-column:1/-1}.hx-convene__list li span{grid-column:2/7}}

/* ---------------------------------------------------------------- practical (speakers / agenda / venue) 2+2+2 */
.hx-practical{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);row-gap:36px}
.hx-practical>section{grid-column:span 2;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}
.hx-practical h2{font:500 24px/1.3 var(--font-text);letter-spacing:-.02em}
.hx-practical .hx-tba{margin-bottom:4px}
.hx-practical p{font-size:15px;line-height:1.65;color:var(--muted)}
.hx-practical h3{font:500 16px/1.4 var(--font-text);margin-top:6px}
.hx-practical .hx-textlink{font-size:14px;min-height:40px;display:inline-flex;align-items:center}
@media (max-width:600px){.hx-practical>section{grid-column:1/-1}}

/* ---------------------------------------------------------------- contact */
.hx-contact{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);row-gap:20px;align-items:start}
.hx-contact__title{grid-column:1/3;font:500 var(--h2)/1.3 var(--font-text);letter-spacing:-.025em}
.hx-contact__body{grid-column:3/7;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.hx-contact__lead{font-size:23px;line-height:1.45;letter-spacing:-.015em}
.hx-email{font:500 20px/1.35 var(--font-text);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;overflow-wrap:anywhere}
.hx-email:hover{text-decoration-thickness:2px}
.hx-social{display:flex;flex-wrap:wrap;gap:0 22px;margin:0;padding:0;list-style:none}
.hx-social a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:44px;font:500 14px/1.3 var(--font-text);text-decoration:underline;text-underline-offset:5px}
@media (max-width:600px){.hx-contact__title,.hx-contact__body{grid-column:1/-1}.hx-contact__lead{font-size:20px}}

/* ---------------------------------------------------------------- footer (indigo) */
.hx-footer{background:var(--ink);color:var(--on-dark);padding-inline:var(--inset);padding-block:44px 28px}
.hx-footer a{color:inherit}
.hx-footer__grid{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);row-gap:32px}
.hx-footer__id{grid-column:1/5}
.hx-footer__mark{font:500 32px/1.25 var(--font-display);letter-spacing:-.025em}
.hx-footer__line{margin-top:8px;font-size:14px;color:var(--on-dark-muted)}
.hx-footer__contact{grid-column:5/7;display:flex;flex-direction:column;gap:4px}
.hx-footer .hx-email{font-size:16px;text-decoration-color:var(--pink)}
.hx-footer .hx-social a{font-size:14px;font-weight:400;text-decoration-color:var(--pink)}
.hx-footer__nav{grid-column:1/-1;display:grid;grid-template-columns:subgrid;row-gap:24px;padding-top:24px;border-top:1px solid var(--on-dark-line)}
.hx-footer__col{grid-column:span 2;min-width:0}
.hx-footer__col h2{font:500 13px/1.5 var(--font-text);color:var(--on-dark-muted);margin-bottom:8px}
.hx-footer__col ul{margin:0;padding:0;list-style:none}
.hx-footer__col a{display:inline-flex;align-items:center;min-height:34px;font-size:14px;text-decoration:none}
.hx-footer__col a:hover{text-decoration:underline;text-decoration-color:var(--pink);text-underline-offset:5px}
.hx-footer__news{grid-column:1/-1;display:grid;grid-template-columns:subgrid;row-gap:14px;align-items:start;padding-top:24px;border-top:1px solid var(--on-dark-line)}
.hx-footer__news-text{grid-column:1/3}
.hx-footer__news-text h2{font:500 18px/1.35 var(--font-text)}
.hx-footer__news-text p{font-size:14px;line-height:1.55;color:var(--on-dark-muted);margin-top:4px}
.hx-footer__news form{grid-column:3/6}
.hx-footer__bottom{grid-column:1/-1;display:grid;grid-template-columns:subgrid;row-gap:8px;align-items:center;padding-top:18px;border-top:1px solid var(--on-dark-line);font-size:14px;color:var(--on-dark-muted)}
.hx-footer__bottom>span{grid-column:1/5}
.hx-footer__legal{grid-column:5/7;display:flex;flex-wrap:wrap;gap:0 22px}
.hx-footer__legal a{display:inline-flex;align-items:center;min-height:40px}
@media (max-width:850px){.hx-footer__news-text{grid-column:1/-1}.hx-footer__news form{grid-column:1/5}.hx-footer__col a{min-height:40px}}
@media (max-width:600px){
  .hx-footer__id,.hx-footer__contact,.hx-footer__news form,.hx-footer__bottom>span,.hx-footer__legal{grid-column:1/-1}
  .hx-footer__mark{font-size:28px}
  .hx-footer__col{grid-column:span 3}
}

/* ---------------------------------------------------------------- newsletter form */
.hx-news{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.hx-news label{grid-column:1/-1;font:500 14px/1.4 var(--font-text)}
.hx-news input[type=email]{min-height:48px;padding:10px 14px;border:1px solid var(--control);border-radius:var(--radius);background:var(--white);color:var(--ink);font-size:16px}
.hx-news.hx-dark input[type=email]{border-color:transparent}
.hx-news__status{grid-column:1/-1;font-size:14px;line-height:1.5;min-height:1.5em}
.hx-news.hx-dark .hx-news__status[data-state=error]{color:var(--on-dark-error)}
.hx-news.hx-dark .hx-news__status[data-state=ok]{color:var(--on-dark)}
.hx-news.hx-light .hx-news__status[data-state=error]{color:var(--error)}
.hx-news.hx-light .hx-news__status[data-state=ok]{color:var(--ink)}
.hx-news__hint{grid-column:1/-1;font-size:12px;opacity:.9}

/* ---------------------------------------------------------------- page heads (secondary pages) */
.hx-pagehead{padding-inline:var(--inset);padding-block:44px 40px;border-bottom:1px solid var(--line)}
.hx-pagehead__grid{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);row-gap:14px}
.hx-pagehead .hx-kicker{margin-bottom:10px}
.hx-pagehead h1{font:500 clamp(44px,4.6vw,64px)/1.12 var(--font-display);letter-spacing:-.025em}
.hx-pagehead h1 em{font-style:normal}
.hx-pagehead__lead{grid-column:1/5;font-size:19px;line-height:1.55;color:var(--muted);max-width:40em}
.hx-pagehead__side{grid-column:5/7;align-self:end;justify-self:end}
.hx-pagehead__links{display:flex;flex-wrap:wrap;gap:0 20px}
.hx-crumbs{grid-column:1/-1;font-size:14px;color:var(--muted)}
.hx-crumbs ol{display:flex;flex-wrap:wrap;gap:4px 8px;margin:0;padding:0;list-style:none}
.hx-crumbs li+li::before{content:"/";margin-right:8px;color:var(--control)}
.hx-crumbs a{text-decoration:none}
.hx-crumbs a:hover{text-decoration:underline}
@media (max-width:850px){.hx-pagehead h1{font-size:44px}}
@media (max-width:600px){.hx-pagehead{padding-block:32px 28px}.hx-pagehead__lead,.hx-pagehead__side{grid-column:1/-1;justify-self:start}.hx-pagehead h1{font-size:clamp(34px,9.5vw,44px)}.hx-pagehead__lead{font-size:17px}}

/* ---------------------------------------------------------------- hub page */
.hx-filters{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);row-gap:16px;margin-bottom:18px}
.hx-field{grid-column:span 3;display:flex;flex-direction:column;gap:6px;min-width:0}
.hx-field--search{grid-column:1/-1}
.hx-field label{font:500 14px/1.4 var(--font-text)}
.hx-field select,.hx-field input{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--control);border-radius:var(--radius);background:var(--white);font-size:16px}
.hx-field select:hover,.hx-field input:hover{border-color:var(--ink)}
.hx-searchbox{display:flex;gap:10px}
.hx-searchbox input{flex:1}
.hx-searchbox .hx-btn{flex:none}
.hx-filters__formats{display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px;margin-bottom:22px}
.hx-filters__formats--end{margin:32px 0 0}
.hx-formatlinks{display:flex;flex-wrap:wrap;gap:0 18px;margin:0;padding:0;list-style:none}
.hx-formatlinks a{display:inline-flex;align-items:center;min-height:44px;font:400 14px/1.3 var(--font-text);color:var(--muted);text-decoration:none}
.hx-formatlinks a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:6px}
.hx-formatlinks a[aria-current=true]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--cobalt);text-decoration-thickness:2px;text-underline-offset:6px}
.hx-active{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-bottom:18px;font-size:14px;color:var(--muted)}
.hx-active strong{color:var(--ink);font-weight:500}
.hx-results{margin-bottom:16px;font-size:14px;color:var(--muted)}
.hx-results[aria-busy=true],[data-hub-results][aria-busy=true]{opacity:.6}
.hx-state{padding:32px 0 8px;border-top:1px solid var(--line)}
.hx-state h2,.hx-state h3{font:500 24px/1.3 var(--font-text);letter-spacing:-.02em;margin-bottom:10px}
.hx-state p{font-size:16px;color:var(--muted);max-width:40em}
.hx-state__actions{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:20px;align-items:center}
.hx-state--error h2,.hx-state--error h3{color:var(--error)}
.hx-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:40px}
.hx-pager__pages{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.hx-pager a,.hx-pager span.hx-pager__cur{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 14px;border:1px solid var(--control);border-radius:var(--radius);text-decoration:none;font:500 14px/1 var(--font-text)}
.hx-pager span.hx-pager__cur{background:var(--ink);color:var(--white);border-color:var(--ink)}
.hx-pager a:hover{border-color:var(--cobalt);color:var(--cobalt)}
.hx-pager__gap{display:inline-flex;align-items:center;min-height:44px;padding:0 4px}
.hx-hubsplit{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);row-gap:28px;align-items:start}
.hx-hubsplit>*{grid-column:span 3}
@media (max-width:600px){.hx-field{grid-column:1/-1}.hx-hubsplit>*{grid-column:1/-1}.hx-searchbox{flex-wrap:wrap}.hx-searchbox .hx-btn{width:100%}}

/* ---------------------------------------------------------------- article */
.hx-article__head{padding-inline:var(--inset);padding-block:36px 32px}
.hx-article__grid{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);row-gap:16px}
.hx-article__meta{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 14px;font:500 14px/1.5 var(--font-text);color:var(--muted)}
.hx-article__meta a{text-decoration:underline;text-underline-offset:4px}
.hx-article__head h1{grid-column:1/6;font:500 46px/1.15 var(--font-display);letter-spacing:-.02em}
.hx-article__standfirst{grid-column:1/5;font-size:20px;line-height:1.55;color:var(--muted)}
.hx-article__byline{grid-column:1/-1;font-size:14px;color:var(--muted)}
.hx-article__byline strong{color:var(--ink);font-weight:500}
.hx-article__cover{grid-column:1/-1;margin:8px 0 0}
.hx-article__cover img{width:100%;max-height:560px;object-fit:cover;background:var(--pale)}
.hx-article__cover--portrait{grid-column:1/3}
.hx-article__cover--portrait img{aspect-ratio:1;max-height:none}
.hx-article__body{padding-inline:var(--inset);padding-bottom:48px}
.hx-article__layout{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);row-gap:36px}
.hx-prose{grid-column:1/5;max-width:66ch;font-size:18px;line-height:1.7}
.hx-article__aside{grid-column:5/7;font-size:14px;color:var(--muted);display:flex;flex-direction:column;gap:22px}
.hx-article__aside h2{font:500 13px/1.5 var(--font-text);color:var(--ink);margin-bottom:6px}
.hx-article__aside ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px}
.hx-article__aside a{display:inline-flex;align-items:center;min-height:36px;text-decoration:underline;text-underline-offset:4px}
.hx-article__aside .hx-taglist{flex-direction:row;flex-wrap:wrap;gap:6px}
.hx-article__aside .hx-taglist a{text-decoration:none}
@media (max-width:850px){.hx-article__head h1{grid-column:1/-1;font-size:38px}.hx-article__standfirst{grid-column:1/-1;font-size:18px}.hx-prose,.hx-article__aside{grid-column:1/-1}.hx-article__cover--portrait{grid-column:1/4}}
@media (max-width:600px){.hx-article__head h1{font-size:clamp(29px,8.4vw,36px)}.hx-prose{font-size:17px}.hx-article__cover--portrait{grid-column:1/-1}}

.hx-prose>*+*,.hx-prose>:is(article,section,div)>*+*{margin-top:1.1em}
.hx-prose h2{font:600 1.45em/1.3 var(--font-text);letter-spacing:-.015em;margin-top:1.8em}
.hx-prose h3{font:600 1.2em/1.35 var(--font-text);letter-spacing:-.01em;margin-top:1.6em}
.hx-prose h4{font:600 1.05em/1.4 var(--font-text);margin-top:1.4em}
.hx-prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--cobalt);text-underline-offset:3px}
.hx-prose a:hover{text-decoration-thickness:2px}
.hx-prose ul,.hx-prose ol{padding-left:1.3em}
.hx-prose li+li{margin-top:.45em}
.hx-prose blockquote{border-left:2px solid var(--cobalt);padding:.2em 0 .2em 1.1em;font:400 1.15em/1.5 var(--font-display);color:var(--ink)}
.hx-prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.hx-prose img{max-width:100%;height:auto}
.hx-prose figure figcaption{font-size:.85em;color:var(--muted);margin-top:.5em}
.hx-prose table{border-collapse:collapse;width:100%;font-size:.9em;display:block;overflow-x:auto}
.hx-prose th,.hx-prose td{border-bottom:1px solid var(--line);padding:.5em .6em;text-align:left;vertical-align:top}
.hx-prose code{font-size:.9em;background:var(--pale);padding:.1em .3em;border-radius:3px}
.hx-prose .faq-section{border-top:1px solid var(--line);padding-top:1em}
.hx-prose .ch-implications{background:var(--pale);padding:1.2em 1.4em;border-radius:var(--radius)}
.hx-prose .ch-implications h2{margin-top:0}
.hx-prose .ch-implications ul{list-style:none;padding:0}
.hx-prose .ch-implications li{border-bottom:1px solid var(--line);padding:.6em 0}
.hx-prose .ch-implications li:last-child{border-bottom:0}
.hx-prose .ch-article-cta-line{font-style:italic;color:var(--muted);border-top:1px solid var(--line);padding-top:1.2em}
.hx-prose .ch-article-speaker-link{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;background:var(--cobalt);color:var(--white);text-decoration:none;border-radius:var(--radius);font:500 15px/1.3 var(--font-text)}
.hx-prose .ch-article-speaker-link:hover{background:var(--cobalt-hover)}
.hx-prose .in-brief{background:var(--pale);padding:1em 1.2em;border-radius:var(--radius)}
.hx-embed{position:relative;margin:1.6em 0}
.hx-embed a{display:grid;place-items:center;position:relative;aspect-ratio:16/9;background:var(--ink);color:var(--on-dark);text-decoration:none;overflow:hidden}
.hx-embed img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72}
.hx-embed span{position:relative;display:inline-flex;align-items:center;gap:10px;padding:12px 18px;background:var(--cobalt);color:var(--white);border-radius:var(--radius);font:500 15px/1.2 var(--font-text)}
.hx-embed iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
.hx-embed figcaption{font-size:14px;color:var(--muted);margin-top:8px}
.hx-taglist{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.hx-taglist a{display:inline-flex;align-items:center;min-height:36px;padding:4px 10px;border:1px solid var(--control);border-radius:var(--radius);font-size:14px;font-weight:500;text-decoration:none}
.hx-taglist a:hover{border-color:var(--cobalt);color:var(--cobalt)}
.hx-note{grid-column:1/-1;background:var(--pale);border-radius:var(--radius);padding:14px 16px;font-size:15px;line-height:1.6}

/* ---------------------------------------------------------------- profile (2026 speaker) */
.hx-profile{display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);row-gap:28px}
.hx-profile__photo{grid-column:1/3}
.hx-profile__photo img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--pale)}
.hx-profile__main{grid-column:3/7;display:flex;flex-direction:column;gap:18px}
.hx-profile__role{font-size:20px;line-height:1.5}
.hx-profile__quote{font:400 22px/1.45 var(--font-display);letter-spacing:-.01em;border-left:2px solid var(--cobalt);padding-left:18px}
.hx-profile__section h2{font:500 13px/1.5 var(--font-text);color:var(--muted);margin-bottom:8px}
.hx-profile__section .hx-prose{max-width:66ch}
.hx-session{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);padding:18px}
.hx-session h3{font:500 20px/1.3 var(--font-text);margin:6px 0 8px}
.hx-session dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:15px}
.hx-session dt{color:var(--muted)}
@media (max-width:600px){.hx-profile__photo{grid-column:1/5}.hx-profile__main{grid-column:1/-1}}

/* ---------------------------------------------------------------- legal & text pages */
.hx-textpage{padding-inline:var(--inset);padding-block:44px 60px}
.hx-textpage .hx-prose{grid-column:1/5}
.hx-textpage aside{grid-column:5/7}
@media (max-width:850px){.hx-textpage .hx-prose,.hx-textpage aside{grid-column:1/-1}}

/* ---------------------------------------------------------------- 404 */
.hx-lost{padding-inline:var(--inset);padding-block:64px}
.hx-lost__code{font:500 clamp(80px,14vw,150px)/1 var(--font-display);color:var(--muted);letter-spacing:-.03em}

/* ---------------------------------------------------------------- motion & print */
@media (prefers-reduced-motion:no-preference){
  .hx-btn,.hx-chip,.hx-pager a{transition:background-color .15s ease,border-color .15s ease,color .15s ease}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media print{.hx-header,.hx-footer,.hx-ribbon,.hx-staging,.hx-news,.hx-skip,.hx-hero__art{display:none!important}body{background:#fff}.hx-hero,.hx-band--deep{background:#fff;color:#000}}

/* Grid inspection overlay (development only: add ?grid to the URL) */
.hx-gridlines{position:fixed;inset:0 var(--inset);display:grid;grid-template-columns:var(--cols);column-gap:var(--gap);pointer-events:none;z-index:999}
.hx-gridlines span{background:rgba(214,85,69,.07);border-inline:1px solid rgba(214,85,69,.45)}
