:root{--bg:#ffffff;--bg2:#e3f6fc;--ink:#1c1630;--muted:#56585e;--accent:#4b3478;--accent2:#5a55d6;--line:rgba(28,22,48,.12);--on-accent:#ffffff;--radius:16px;--font-heading:"Montserrat",system-ui,sans-serif;--font-body:"Open Sans",system-ui,sans-serif;--bg-rgb:255,255,255;--ink-rgb:28,22,48;--accent-rgb:75,52,120;--on-accent-rgb:255,255,255;--nav-bg:#ffffff;--nav-bg-rgb:255,255,255;--nav-ink:#1c1630;--hero-scrim:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.45) 60%,rgba(0,0,0,.6) 100%);--hero-ink:#fff;--hero-eyebrow:rgba(255,255,255,.85);--hero-line:rgba(255,255,255,.55);--btn:#50c2ed;--btn-ink:#1c1630;--btn-hover:#36a8d8}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 var(--font-body),system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:var(--font-heading),Georgia,serif;font-weight:400;line-height:1.05;margin:0}
.eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:600}
.accent{color:var(--accent)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:var(--on-accent);text-decoration:none;border:0;font:inherit;font-weight:600;padding:14px 24px;border-radius:999px;cursor:pointer;transition:transform .15s,background .15s}
.btn:hover{background:var(--accent2);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.ghost:hover{background:rgba(var(--ink-rgb),.06)}
.btn small{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;opacity:.6;font-weight:600}
.btns{display:flex;flex-wrap:wrap;gap:12px}

/* nav: "overlay" sits see-through over the first section and turns solid on scroll, "solid" is a sticky bar */
nav{z-index:10}
nav.nav-overlay{position:fixed;inset:0 0 auto 0;transition:background .3s}
nav.nav-overlay.solid{background:rgba(var(--bg-rgb),.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
nav.nav-solid{position:sticky;top:0;background:rgba(var(--bg-rgb),.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
nav .logo{font-family:var(--font-heading),serif;font-size:1.35rem;text-decoration:none}
nav .links{display:flex;gap:26px}
nav .links a{text-decoration:none;font-size:.9rem;color:var(--muted);font-weight:500}
nav .links a:hover,nav .links a[aria-current]{color:var(--ink)}
nav.nav-solid .wrap{gap:16px}
nav.nav-solid .logo{white-space:nowrap}
nav.nav-solid .links{gap:24px}
/* more links than fit must never widen the page: the name gives way first (it wraps, as it always did), then the links scroll sideways inside the bar */
nav .logo{flex-shrink:1000}
nav .links{min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
nav .links::-webkit-scrollbar{display:none}
nav .links a{flex:none;white-space:nowrap}

/* section spacing and backgrounds */
.pad-s{padding:60px 0}
.pad-m{padding:110px 0}
.pad-l{padding:160px 0}
.bg-band{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bg-accent{background:var(--accent);color:var(--on-accent);--ink:var(--on-accent);--muted:var(--on-accent);--ink-rgb:var(--on-accent-rgb);--line:rgba(var(--on-accent-rgb),.3)}
.bg-accent .eyebrow{color:var(--on-accent);opacity:.75}
.bg-accent .accent{color:inherit}
.bg-accent .btn{background:var(--on-accent);color:var(--accent)}
.bg-accent .btn:hover{background:var(--on-accent);opacity:.9}
.bg-accent .btn.ghost{background:transparent;color:var(--on-accent)}
.sx-note{margin:0;border:1px dashed var(--line);border-radius:var(--radius);padding:22px;color:var(--muted);text-align:center;font-size:.95rem}

footer{padding:40px 0 50px;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer a{text-decoration:none}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}
/* in the editor everything is visible straight away */
body[data-studio-edit] .reveal{opacity:1;transform:none;transition:none}
html:has(body[data-studio-edit]){scroll-behavior:auto}

nav.nav-solid,nav.nav-overlay.solid{background:rgba(var(--nav-bg-rgb),.96);border-bottom-color:rgba(var(--nav-bg-rgb),.96)}
nav.nav-solid .logo,nav.nav-overlay.solid .logo{color:var(--nav-ink)}
nav.nav-solid .links a,nav.nav-overlay.solid .links a{color:var(--nav-ink);opacity:.82}
nav.nav-solid .links a:hover,nav.nav-solid .links a[aria-current],nav.nav-overlay.solid .links a:hover,nav.nav-overlay.solid .links a[aria-current]{color:var(--nav-ink);opacity:1}

/* hero */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}
.sx.hero{padding:0}
.hero.h-tall{min-height:80vh;min-height:80svh}
.hero.h-medium{min-height:60vh;min-height:60svh}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:drift 18s ease-out forwards}
@keyframes drift{to{transform:scale(1)}}
/* the shading over the picture and the text colours come from the theme (--hero-*): a dark site fades the picture
   into the page as before; a light site darkens it and writes in white, so the words can be read over any photo */
.hero::after{content:"";position:absolute;inset:0;background:var(--hero-scrim)}
.hero .wrap{position:relative;z-index:1;padding-bottom:12vh;width:100%;color:var(--hero-ink)}
.hero .eyebrow{color:var(--hero-eyebrow)}
.hero h1{font-size:clamp(3.2rem,11vw,8.5rem);letter-spacing:-.01em;color:var(--hero-ink)}
.hero.h-long h1{font-size:clamp(2.2rem,6.5vw,4.8rem)}
.hero h1 em,.hero h1 .accent{color:var(--accent2)}
.hero p{font-size:clamp(1.05rem,2.2vw,1.3rem);color:var(--hero-ink);opacity:.9;margin:14px 0 30px;max-width:34ch}
.hero .btn.ghost{color:var(--hero-ink);border-color:var(--hero-line)}
.hero h1+.btns{margin-top:30px}
/* the editor's page frame is as tall as the whole page, so screen-height units cannot be used there */
body[data-studio-edit] .hero{min-height:760px}
body[data-studio-edit] .hero.h-tall{min-height:610px}
body[data-studio-edit] .hero.h-medium{min-height:460px}
body[data-studio-edit] .hero .wrap{padding-bottom:90px}
/* lets a click or drag in the editor reach the picture under the shading */
body[data-studio-edit] .hero::after{pointer-events:none}
@media (prefers-reduced-motion:reduce){.hero>img{animation:none}}
/* size "xl": a much bigger title on a wider line, and a little more room */
.hero.h-xl .wrap{padding-top:120px;padding-bottom:14vh}
.hero.h-xl.h-tall{min-height:88vh;min-height:88svh}
.hero.h-xl.h-medium{min-height:70vh;min-height:70svh}
.hero.h-xl .eyebrow{font-size:.84rem;letter-spacing:.26em}
.hero.h-xl h1,.hero.h-xl.h-long h1{font-size:clamp(3.2rem,1.2rem + 6vw,6.5rem);line-height:.98;letter-spacing:-.025em;max-width:17ch;margin-top:14px;overflow-wrap:break-word}
.hero.h-xl p{font-size:clamp(1.1rem,1.5vw,1.4rem);line-height:1.55;max-width:52ch;margin:24px 0 38px}
body[data-studio-edit] .hero.h-xl .wrap{padding-bottom:110px}
/* art "network": routes and depots over the picture, under the shading and the words */
.hero.art-network{background:#0b1218}
.hero-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;color:var(--accent2);-webkit-mask-image:linear-gradient(to top right,transparent 12%,#000 62%);mask-image:linear-gradient(to top right,transparent 12%,#000 62%)}
.hero-art .routes{fill:none;stroke:currentColor;stroke-width:1.5;stroke-opacity:.5}
.hero-art .trips{fill:none;stroke:currentColor;stroke-width:3.5;stroke-linecap:round}
.hero-art .pk{stroke-dasharray:6 94;stroke-dashoffset:100;animation:hero-trip 10s linear infinite}
.hero-art .pk.back{animation-direction:reverse}
.hero-art .nodes{fill:currentColor}
.hero-art .pulses{fill:none;stroke:currentColor;stroke-width:1.5}
.hero-art .pulse{transform-box:fill-box;transform-origin:center;opacity:0;animation:hero-pulse 6.5s ease-out infinite}
.hero-art .drift{animation:hero-drift 48s ease-in-out infinite alternate}
@keyframes hero-trip{to{stroke-dashoffset:0}}
@keyframes hero-pulse{0%{transform:scale(.6);opacity:.7}70%,100%{transform:scale(3.2);opacity:0}}
@keyframes hero-drift{to{transform:translate(-36px,14px)}}
@media (prefers-reduced-motion:reduce){
  .hero-art .drift,.hero-art .pulse{animation:none}
  .hero-art .trips{display:none}
}
/* background video (optional): covers the hero like the picture, over it and under the shading; visitors who ask
   their device for less motion see the still picture instead */
.hero>.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
@media (prefers-reduced-motion:reduce){.hero>.hero-video{display:none}}
.hero>.hero-video-tag{position:absolute;top:80px;right:16px;z-index:2;margin:0;padding:6px 12px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-size:.78rem;line-height:1.3;pointer-events:none}

/* feature */
.single{display:grid;grid-template-columns:1fr 1.5fr;gap:56px;align-items:center}
.single.flip{grid-template-columns:1.5fr 1fr}
.single.flip>.video{order:-1}
.single h2{font-size:clamp(2.4rem,5vw,3.8rem);margin:12px 0 18px}
.single p{color:var(--muted);margin:0 0 26px}
.meta{display:flex;gap:22px;flex-wrap:wrap;font-size:.85rem;color:var(--muted);margin-bottom:28px}
.meta b{display:block;color:var(--ink);font-weight:600;font-size:1rem}
.video{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.55),0 0 0 1px var(--line)}
.video img,.video video,.video iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.video button.playbtn{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;background:none;cursor:pointer}
.video button.playbtn span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:78px;height:78px;border-radius:50%;background:rgba(var(--accent-rgb),.92);box-shadow:0 8px 30px rgba(0,0,0,.45)}
.video button.playbtn span::after{content:"";position:absolute;left:31px;top:24px;border-left:24px solid var(--on-accent);border-top:15px solid transparent;border-bottom:15px solid transparent}
.video .soon{position:absolute;inset:auto 0 0 0;padding:18px 20px;background:linear-gradient(0deg,rgba(0,0,0,.75),transparent);font-size:.9rem;color:var(--accent2);letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.glow{position:absolute;left:32%;top:40%;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(255,190,90,.55),transparent 70%);animation:flicker 4s ease-in-out infinite;pointer-events:none}
@keyframes flicker{0%,100%{opacity:.7}50%{opacity:1}}
@media (max-width:860px){
  .single,.single.flip{grid-template-columns:1fr;gap:36px}
}
@media (prefers-reduced-motion:reduce){.glow{animation:none}}

/* split */
.about .grid{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:center}
.about .grid.flip{grid-template-columns:1.2fr 1fr}
.about .grid.flip>img{order:1}
.about .grid.no-img{grid-template-columns:1fr}
.about .grid>img{border-radius:var(--radius);aspect-ratio:4/5;object-fit:cover;width:100%}
.about .grid>img.r-11{aspect-ratio:1/1}
.about .grid>img.r-169{aspect-ratio:16/9}
.about h2{font-size:clamp(2.2rem,4.5vw,3.4rem);margin:12px 0 22px}
.about h3{font-size:1.5rem;margin:26px 0 12px}
.about p,.about ul,.about ol,.about blockquote{color:var(--muted);margin:0 0 18px}
.about p.lead{color:var(--ink);font-size:1.15rem}
.about ul,.about ol{padding-left:1.3em}
.about blockquote{padding-left:16px;border-left:2px solid var(--accent);font-style:italic}
.about.bg-accent blockquote{border-left-color:currentColor}
@media (max-width:860px){
  .about .grid,.about .grid.flip{grid-template-columns:1fr;gap:36px}
  .about .grid>img.r-45{aspect-ratio:1/1}
}

/* text */
.sx-text--narrow .sx-text-in{max-width:720px;margin-left:auto;margin-right:auto}
.sx-text--center .sx-text-in{text-align:center}
.sx-text h1{font-size:clamp(2.6rem,7vw,4.6rem);margin:12px 0 22px}
.sx-text h2{font-size:clamp(2.2rem,4.5vw,3.4rem);margin:12px 0 22px}
.sx-text .sx-text-body p{color:var(--muted);margin:0 0 18px}
.sx-text .sx-text-body p.lead{color:var(--ink);font-size:1.15rem}
.sx-text .sx-text-body h3{font-size:1.5rem;line-height:1.2;margin:36px 0 10px}
.sx-text .sx-text-body ul,.sx-text .sx-text-body ol{color:var(--muted);margin:0 0 18px;padding-left:1.4em}
.sx-text--center .sx-text-body ul,.sx-text--center .sx-text-body ol{display:inline-block;text-align:left}
.sx-text .sx-text-body li{margin:0 0 6px}
.sx-text .sx-text-body blockquote{margin:0 0 18px;padding:2px 0 2px 18px;border-left:2px solid var(--accent);color:var(--ink)}
.sx-text--center .sx-text-body blockquote{border-left:0;padding-left:0}
.sx-text .sx-text-body a{color:var(--accent);text-underline-offset:3px}
.sx-text .sx-text-body a:hover{color:var(--accent2)}
.sx-text .sx-text-in>:first-child,.sx-text .sx-text-body>:first-child{margin-top:0}
.sx-text .sx-text-in>:last-child,.sx-text .sx-text-body>:last-child{margin-bottom:0}
.sx-text.bg-accent .eyebrow,.sx-text.bg-accent .sx-text-body p,.sx-text.bg-accent .sx-text-body ul,.sx-text.bg-accent .sx-text-body ol,.sx-text.bg-accent .sx-text-body blockquote,.sx-text.bg-accent .sx-text-body a{color:inherit}
.sx-text.bg-accent .sx-text-body blockquote{border-color:currentColor}
.sx-text .sx-text-body h2{font-size:1.5rem;line-height:1.2;margin:36px 0 10px;letter-spacing:0}
.sx-text h1 em,.sx-text h2 em{font-style:normal;color:var(--accent2)}
.sx-text--display h1,.sx-text--display h2{font-size:clamp(3.4rem,1rem + 8.4vw,9.5rem);line-height:.92;letter-spacing:-.035em;margin:14px 0 30px}
.sx-text--display .sx-text-body{max-width:62ch}
.sx-text--display.sx-text--center .sx-text-body{margin-left:auto;margin-right:auto}
.sx-text--display .sx-text-body p.lead{font-size:clamp(1.2rem,1.6vw,1.45rem)}
.sx-text.bg-accent h1 em,.sx-text.bg-accent h2 em{color:inherit}
.sx-text--underlined h1,.sx-text--underlined h2{font-size:clamp(1.85rem,1.2rem + 2.6vw,3rem);line-height:1.2;font-weight:600;text-decoration:underline;text-decoration-thickness:.06em;text-underline-offset:.14em;margin:0 0 22px}
.sx-text--underlined .sx-text-body{font-size:.86rem}
/* a page title: what follows starts close under it */
.sx-text.sx-text--underlined{padding-bottom:0}

/* cards */
.sx-cards .sx-cards-head{margin-bottom:44px;max-width:780px}
.sx-cards h1{font-size:clamp(2.6rem,7vw,4.6rem);margin:12px 0 16px}
.sx-cards h2{font-size:clamp(2.2rem,4.5vw,3.4rem);margin:12px 0 16px}
.sx-cards .sx-cards-head p{color:var(--muted);margin:0;max-width:60ch;font-size:1.08rem}
.sx-cards .sx-cards-head>:first-child{margin-top:0}
.sx-cards .sx-cards-head>:last-child{margin-bottom:0}
.sx-cards .sx-cards-grid{list-style:none;margin:0;padding:0;display:grid;gap:22px;grid-template-columns:repeat(3,minmax(0,1fr))}
.sx-cards .sx-cards-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sx-cards .sx-cards-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.sx-cards .sx-card{position:relative;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.sx-cards .sx-card-icon{display:grid;place-items:center;flex:none;width:52px;height:52px;margin-bottom:20px;border-radius:min(var(--radius),14px);background:rgba(var(--accent-rgb),.1);color:var(--accent);transition:background .2s,color .2s}
.sx-cards .sx-card-svg{width:28px;height:28px}
.sx-cards .sx-card-title{font-size:1.4rem;line-height:1.2;margin:0;overflow-wrap:break-word;max-width:100%;transition:color .2s}
.sx-cards .sx-card-text{color:var(--muted);margin:10px 0 0;font-size:.98rem;line-height:1.6;overflow-wrap:break-word;max-width:100%}
.sx-cards .sx-card-more{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:20px;font-weight:600;font-size:.92rem;color:var(--accent)}
.sx-cards .sx-card-arrow{flex:none;transition:transform .2s}
.sx-cards .sx-card-link{color:inherit;text-decoration:none}
.sx-cards .sx-card-link::after{content:"";position:absolute;inset:0;z-index:1;border-radius:var(--radius)}
.sx-cards .sx-card-link:focus-visible{outline:none}
.sx-cards .sx-card-link:focus-visible::after{outline:2px solid var(--accent);outline-offset:3px}
.sx-cards .sx-card--link:hover .sx-card-title{color:var(--accent)}
.sx-cards .sx-card--link:hover .sx-card-arrow{transform:translateX(4px)}
.sx-cards--plain .sx-card{padding-top:26px;border-top:1px solid var(--line)}
.sx-cards--boxed .sx-card,.sx-cards--dark .sx-card{padding:30px 28px;border-radius:var(--radius)}
.sx-cards--boxed .sx-card{background:var(--bg);background:color-mix(in srgb,var(--bg2) 32%,var(--bg));border:1px solid var(--line);transition:transform .2s,box-shadow .2s,border-color .2s}
.sx-cards--boxed.bg-band .sx-card{background:var(--bg)}
.sx-cards--boxed .sx-card--link:hover{transform:translateY(-3px);border-color:rgba(var(--accent-rgb),.45);box-shadow:0 18px 40px -18px rgba(0,0,0,.28)}
.sx-cards--boxed .sx-card--link:hover .sx-card-icon{background:var(--accent);color:var(--on-accent)}
.sx-cards--dark .sx-card{background:#10171d;color:#f2f4f6;border:1px solid rgba(255,255,255,.08);transition:transform .2s,box-shadow .2s,border-color .2s}
.sx-cards--dark .sx-card-icon{background:rgba(255,255,255,.07);color:var(--accent2)}
.sx-cards--dark .sx-card-text{color:rgba(242,244,246,.72)}
.sx-cards--dark .sx-card-more,.sx-cards--dark .sx-card--link:hover .sx-card-title{color:var(--accent2)}
.sx-cards--dark .sx-card--link:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.22);box-shadow:0 22px 44px -20px rgba(0,0,0,.6)}
.sx-cards--dark .sx-card-link:focus-visible::after{outline-color:var(--accent2)}
.sx-cards.bg-accent .eyebrow,.sx-cards.bg-accent .sx-cards-head p,.sx-cards.bg-accent:not(.sx-cards--dark) .sx-card-text,.sx-cards.bg-accent:not(.sx-cards--dark) .sx-card-more,.sx-cards.bg-accent:not(.sx-cards--dark) .sx-card--link:hover .sx-card-title{color:inherit}
.sx-cards.bg-accent:not(.sx-cards--dark) .sx-card-icon{background:rgba(var(--on-accent-rgb),.14);color:inherit}
.sx-cards--boxed.bg-accent .sx-card{background:rgba(var(--on-accent-rgb),.1);border-color:rgba(var(--on-accent-rgb),.22)}
.sx-cards--boxed.bg-accent .sx-card--link:hover .sx-card-icon{background:var(--on-accent);color:var(--accent)}
.sx-cards--figures .sx-cards-grid{gap:30px}
.sx-cards--figures .sx-card{padding-top:22px;border-top:2px solid var(--accent)}
.sx-cards--figures .sx-card-icon{display:none}
.sx-cards--figures .sx-card-title{font-size:clamp(2.6rem,1.2rem + 3.4vw,4.6rem);line-height:1;letter-spacing:-.03em;white-space:nowrap}
.sx-cards--figures .sx-card-text{font-size:1rem;margin-top:14px}
.sx-cards--edit .sx-card{cursor:default}
.sx-cards .sx-cards-note{margin:0;padding:10px 14px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:.85rem}
@media (max-width:980px){
  .sx-cards .sx-cards-grid.cols-3,.sx-cards .sx-cards-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
}
@media (max-width:600px){
  .sx-cards .sx-cards-head{margin-bottom:32px}
  .sx-cards .sx-cards-grid.cols-2,.sx-cards .sx-cards-grid.cols-3,.sx-cards .sx-cards-grid.cols-4{grid-template-columns:minmax(0,1fr);gap:14px}
  .sx-cards--boxed .sx-card,.sx-cards--dark .sx-card{padding:24px 22px}
  .sx-cards--plain .sx-cards-grid{gap:26px}
  /* on a phone a boxed card puts its small picture beside its title, so a long list of cards is not a long scroll */
  .sx-cards--boxed .sx-card:has(>.sx-card-icon),.sx-cards--dark .sx-card:has(>.sx-card-icon){display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:14px;align-items:center}
  .sx-cards--boxed .sx-card:has(>.sx-card-icon)>.sx-card-icon,.sx-cards--dark .sx-card:has(>.sx-card-icon)>.sx-card-icon{width:42px;height:42px;margin:0}
  .sx-cards--boxed .sx-card:has(>.sx-card-icon) .sx-card-svg,.sx-cards--dark .sx-card:has(>.sx-card-icon) .sx-card-svg{width:24px;height:24px}
  .sx-cards--boxed .sx-card:has(>.sx-card-icon)>:not(.sx-card-icon):not(.sx-card-title),.sx-cards--dark .sx-card:has(>.sx-card-icon)>:not(.sx-card-icon):not(.sx-card-title){grid-column:1/-1}
  .sx-cards--boxed .sx-card-title,.sx-cards--dark .sx-card-title{font-size:1.25rem}
  .sx-cards--boxed .sx-card-more,.sx-cards--dark .sx-card-more{padding-top:14px}
  .sx-cards--figures .sx-cards-grid.cols-2,.sx-cards--figures .sx-cards-grid.cols-3,.sx-cards--figures .sx-cards-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px}
  .sx-cards--figures .sx-card-title{font-size:2.3rem}
  .sx-cards--figures .sx-card-text{font-size:.92rem}
}
@media (prefers-reduced-motion:reduce){
  .sx-cards .sx-card,.sx-cards .sx-card-arrow{transition:none}
  .sx-cards .sx-card--link:hover,.sx-cards .sx-card--link:hover .sx-card-arrow{transform:none}
}

/* steps */
.sx-steps .sx-steps-head{margin-bottom:52px;max-width:780px}
.sx-steps h1{font-size:clamp(2.6rem,7vw,4.6rem);margin:12px 0 16px}
.sx-steps h2{font-size:clamp(2.2rem,4.5vw,3.4rem);margin:12px 0 16px}
.sx-steps .sx-steps-head p{color:var(--muted);margin:0;max-width:60ch;font-size:1.08rem}
.sx-steps .sx-steps-head>:first-child{margin-top:0}
.sx-steps .sx-steps-head>:last-child{margin-bottom:0}
.sx-steps .sx-steps-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:44px 28px}
.sx-steps .sx-step{min-width:0}
.sx-steps .sx-step-num{display:block;font-family:var(--font-heading),Georgia,serif;font-size:clamp(2.8rem,4.4vw,4.1rem);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--accent)}
.sx-steps .sx-step-title{font-size:1.35rem;line-height:1.2;margin:0;overflow-wrap:break-word}
.sx-steps .sx-step-text{color:var(--muted);margin:10px 0 0;font-size:.98rem;line-height:1.6;overflow-wrap:break-word}
.sx-steps.bg-accent .eyebrow,.sx-steps.bg-accent .sx-steps-head p,.sx-steps.bg-accent .sx-step-num,.sx-steps.bg-accent .sx-step-text{color:inherit}
.sx-steps .sx-steps-note{margin:0;padding:10px 14px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:.85rem}

.sx-steps--column .sx-steps-list{max-width:820px;gap:0}
.sx-steps--column .sx-step{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:26px}
.sx-steps--column .sx-step-top{display:flex;flex-direction:column;align-items:center}
.sx-steps--column .sx-step-top::after{content:"";flex:1;width:2px;min-height:28px;margin:12px 0 4px;background:linear-gradient(180deg,rgba(var(--accent-rgb),.6),rgba(var(--accent-rgb),.15))}
.sx-steps--column .sx-step:last-child .sx-step-top::after{display:none}
.sx-steps--column .sx-step-body{padding:4px 0 52px}
.sx-steps--column .sx-step:last-child .sx-step-body{padding-bottom:0}
@media (min-width:761px){
.sx-steps--row:not(.sx-steps--wide) .sx-steps-list.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sx-steps--row:not(.sx-steps--wide) .sx-steps-list.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sx-steps--row:not(.sx-steps--wide) .sx-steps-list.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sx-steps--row:not(.sx-steps--wide) .sx-steps-list.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.sx-steps--row:not(.sx-steps--wide) .sx-step-top{display:flex;align-items:center;gap:18px;margin-bottom:22px}
.sx-steps--row:not(.sx-steps--wide) .sx-step-top::after{content:"";flex:1;height:2px;margin-right:-10px;background:linear-gradient(90deg,rgba(var(--accent-rgb),.6),rgba(var(--accent-rgb),.15))}
.sx-steps--row:not(.sx-steps--wide) .sx-step:last-child .sx-step-top::after,.sx-steps--row:not(.sx-steps--wide) .cols-1 .sx-step-top::after,.sx-steps--row:not(.sx-steps--wide) .cols-2 .sx-step:nth-child(2n) .sx-step-top::after,.sx-steps--row:not(.sx-steps--wide) .cols-3 .sx-step:nth-child(3n) .sx-step-top::after,.sx-steps--row:not(.sx-steps--wide) .cols-4 .sx-step:nth-child(4n) .sx-step-top::after,.sx-steps--row:not(.sx-steps--wide) .cols-5 .sx-step:nth-child(5n) .sx-step-top::after{visibility:hidden}
}
@media (max-width:760px){
.sx-steps .sx-steps-head{margin-bottom:36px}
.sx-steps--row:not(.sx-steps--wide) .sx-steps-list{max-width:820px;gap:0}
.sx-steps--row:not(.sx-steps--wide) .sx-step{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:26px}
.sx-steps--row:not(.sx-steps--wide) .sx-step-top{display:flex;flex-direction:column;align-items:center}
.sx-steps--row:not(.sx-steps--wide) .sx-step-top::after{content:"";flex:1;width:2px;min-height:28px;margin:12px 0 4px;background:linear-gradient(180deg,rgba(var(--accent-rgb),.6),rgba(var(--accent-rgb),.15))}
.sx-steps--row:not(.sx-steps--wide) .sx-step:last-child .sx-step-top::after{display:none}
.sx-steps--row:not(.sx-steps--wide) .sx-step-body{padding:4px 0 52px}
.sx-steps--row:not(.sx-steps--wide) .sx-step:last-child .sx-step-body{padding-bottom:0}
}
@media (min-width:1001px){
.sx-steps--row.sx-steps--wide .sx-steps-list.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sx-steps--row.sx-steps--wide .sx-steps-list.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sx-steps--row.sx-steps--wide .sx-steps-list.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sx-steps--row.sx-steps--wide .sx-steps-list.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.sx-steps--row.sx-steps--wide .sx-step-top{display:flex;align-items:center;gap:18px;margin-bottom:22px}
.sx-steps--row.sx-steps--wide .sx-step-top::after{content:"";flex:1;height:2px;margin-right:-10px;background:linear-gradient(90deg,rgba(var(--accent-rgb),.6),rgba(var(--accent-rgb),.15))}
.sx-steps--row.sx-steps--wide .sx-step:last-child .sx-step-top::after,.sx-steps--row.sx-steps--wide .cols-1 .sx-step-top::after,.sx-steps--row.sx-steps--wide .cols-2 .sx-step:nth-child(2n) .sx-step-top::after,.sx-steps--row.sx-steps--wide .cols-3 .sx-step:nth-child(3n) .sx-step-top::after,.sx-steps--row.sx-steps--wide .cols-4 .sx-step:nth-child(4n) .sx-step-top::after,.sx-steps--row.sx-steps--wide .cols-5 .sx-step:nth-child(5n) .sx-step-top::after{visibility:hidden}
}
@media (max-width:1000px){
.sx-steps--row.sx-steps--wide .sx-steps-list{max-width:820px;gap:0}
.sx-steps--row.sx-steps--wide .sx-step{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:26px}
.sx-steps--row.sx-steps--wide .sx-step-top{display:flex;flex-direction:column;align-items:center}
.sx-steps--row.sx-steps--wide .sx-step-top::after{content:"";flex:1;width:2px;min-height:28px;margin:12px 0 4px;background:linear-gradient(180deg,rgba(var(--accent-rgb),.6),rgba(var(--accent-rgb),.15))}
.sx-steps--row.sx-steps--wide .sx-step:last-child .sx-step-top::after{display:none}
.sx-steps--row.sx-steps--wide .sx-step-body{padding:4px 0 52px}
.sx-steps--row.sx-steps--wide .sx-step:last-child .sx-step-body{padding-bottom:0}
}
.sx-steps.bg-accent .sx-step-top::after{background:rgba(var(--on-accent-rgb),.45)}

/* articles */
.sx-articles .sx-articles-head{margin-bottom:36px}
.sx-articles h1{font-size:clamp(2.6rem,7vw,4.6rem);margin:12px 0 14px}
.sx-articles h2{font-size:clamp(2.2rem,4.5vw,3.4rem);margin:12px 0 14px}
.sx-articles .sx-articles-head p{color:var(--muted);margin:0;max-width:52ch}
.sx-articles .sx-articles-head>:first-child{margin-top:0}
.sx-articles .sx-articles-head>:last-child{margin-bottom:0}
.sx-articles .sx-articles-grid{display:grid;gap:30px 22px;align-items:start}
.sx-articles .sx-articles-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sx-articles .sx-articles-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sx-articles .sx-articles-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sx-articles .sx-article-card{display:block;min-width:0;color:inherit;text-decoration:none}
.sx-articles .sx-article-card[hidden]{display:none}
.sx-articles .sx-article-card:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:calc(var(--radius) - 2px)}
.sx-articles .sx-article-cover{display:block;position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:var(--bg2);box-shadow:0 0 0 1px var(--line)}
.sx-articles .sx-article-cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.sx-articles .sx-article-card:hover .sx-article-cover img{transform:scale(1.03)}
.sx-articles .sx-article-cover--none{display:grid;place-items:center;color:var(--muted);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600}
.sx-articles .sx-article-card h3{font-family:var(--font-heading),Georgia,serif;font-weight:400;font-size:1.3rem;line-height:1.25;margin:14px 0 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.sx-articles .sx-article-card:hover h3{color:var(--accent)}
.sx-articles .sx-article-standfirst{color:var(--muted);font-size:.95rem;line-height:1.5;margin:8px 0 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.sx-articles .sx-article-meta{color:var(--muted);font-size:.8rem;margin:10px 0 0}
.sx-articles .sx-articles-more{text-align:center;margin:36px 0 0}
.sx-articles .sx-articles-pages{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:40px}
.sx-articles .sx-articles-pages button{font:inherit;font-size:.9rem;font-weight:600;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:999px;min-width:42px;height:42px;padding:0 14px;cursor:pointer}
.sx-articles .sx-articles-pages button:hover{background:rgba(var(--ink-rgb),.06)}
.sx-articles .sx-articles-pages button[aria-current]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.sx-articles .sx-articles-pages button:disabled{opacity:.4;cursor:default}
.sx-articles .sx-articles-empty{color:var(--muted);margin:0}
.sx-articles.bg-accent .eyebrow,.sx-articles.bg-accent .sx-articles-head p,.sx-articles.bg-accent .sx-article-standfirst,.sx-articles.bg-accent .sx-article-meta,.sx-articles.bg-accent .sx-articles-empty,.sx-articles.bg-accent .sx-article-cover--none{color:inherit}
.sx-articles.bg-accent .sx-article-card:hover h3{color:inherit;opacity:.85}
.sx-articles--edit .sx-article-card{cursor:default}
@media (max-width:860px){
  .sx-articles .sx-articles-grid.cols-3,.sx-articles .sx-articles-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .sx-articles .sx-articles-grid.cols-2,.sx-articles .sx-articles-grid.cols-3,.sx-articles .sx-articles-grid.cols-4{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .sx-articles .sx-article-cover img{transition:none}
}

/* press-freedom */
.sx-press-freedom{--pf-a:var(--accent2);--pf-b:rgba(var(--ink-rgb),.28);--pf-up:#2f8a4f;--pf-down:#c8102e}
.sx-press-freedom.bg-accent{--pf-a:var(--on-accent);--pf-b:rgba(var(--on-accent-rgb),.35);--pf-up:currentColor;--pf-down:currentColor}
.sx-press-freedom [hidden]{display:none!important}
.sx-press-freedom .sx-pf-head{margin-bottom:36px}
.sx-press-freedom h1{font-size:clamp(2.6rem,7vw,4.6rem);margin:12px 0 14px}
.sx-press-freedom h2{font-size:clamp(2.2rem,4.5vw,3.4rem);margin:12px 0 14px}
.sx-press-freedom .sx-pf-head p{color:var(--muted);margin:0;max-width:60ch}
.sx-press-freedom .sx-pf-head>:first-child{margin-top:0}
.sx-press-freedom .sx-pf-head>:last-child{margin-bottom:0}
.sx-press-freedom .pf-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.sx-press-freedom .pf-card,.sx-press-freedom .pf-map-card,.sx-press-freedom .pf-side{background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius);min-width:0}
.sx-press-freedom .pf-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 18px 22px}
.sx-press-freedom .pf-ring{position:relative;width:min(100%,148px);aspect-ratio:1/1;margin:0 0 16px}
.sx-press-freedom .pf-ring svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}
.sx-press-freedom .pf-ring circle{fill:none;stroke-width:10}
.sx-press-freedom .pf-track{stroke:rgba(var(--ink-rgb),.08)}
.sx-press-freedom .pf-arc{transition:stroke-dasharray .9s ease,stroke-dashoffset .9s ease}
.sx-press-freedom .pf-arc-a{stroke:var(--pf-a)}
.sx-press-freedom .pf-arc-b{stroke:var(--pf-b)}
.sx-press-freedom .pf-total{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-heading),Georgia,serif;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1;font-variant-numeric:tabular-nums}
.sx-press-freedom .pf-label{font-weight:600;font-size:.95rem;line-height:1.35;margin:0}
.sx-press-freedom .pf-legends{margin-top:auto;padding-top:12px;display:grid;gap:3px;justify-items:start}
.sx-press-freedom .pf-legend{display:flex;align-items:center;gap:8px;margin:0;font-size:.85rem;line-height:1.4;color:var(--muted);text-align:left}
.sx-press-freedom .pf-key{width:10px;height:10px;border-radius:50%;flex:none}
.sx-press-freedom .pf-key-a{background:var(--pf-a)}
.sx-press-freedom .pf-key-b{background:var(--pf-b)}
.sx-press-freedom .pf-index-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:18px;align-items:stretch}
.sx-press-freedom .pf-map-card{margin:0;padding:20px;display:flex;flex-direction:column;gap:16px}
.sx-press-freedom .pf-map{position:relative;margin:auto 0;aspect-ratio:2.25/1;border-radius:calc(var(--radius) - 2px)}
.sx-press-freedom .pf-map:empty,.sx-press-freedom .pf-map[data-loading]{background:rgba(var(--ink-rgb),.05)}
.sx-press-freedom .pf-map img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
.sx-press-freedom .pf-bands{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.85rem;line-height:1.4}
.sx-press-freedom .pf-bands li{display:flex;align-items:center;gap:7px}
.sx-press-freedom .pf-swatch{width:12px;height:12px;border-radius:3px;flex:none;background:rgba(var(--ink-rgb),.15)}
.sx-press-freedom .pf-band-count{color:var(--muted);font-variant-numeric:tabular-nums}
.sx-press-freedom .pf-side{padding:24px;display:flex;flex-direction:column}
.sx-press-freedom .pf-kicker{margin:0 0 6px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.sx-press-freedom .pf-name{font-size:clamp(1.6rem,2.6vw,2rem);line-height:1.15;margin:0 0 16px;overflow-wrap:anywhere}
.sx-press-freedom .pf-facts{margin:0}
.sx-press-freedom .pf-facts>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.sx-press-freedom .pf-facts dt{color:var(--muted);font-size:.85rem}
.sx-press-freedom .pf-facts dd{margin:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.sx-press-freedom .pf-move[data-move="up"]::before,.sx-press-freedom .pf-move[data-move="down"]::before{display:inline-block;font-size:.7em;margin-right:6px;vertical-align:.12em}
.sx-press-freedom .pf-move[data-move="up"]::before{content:"\25B2";color:var(--pf-up)}
.sx-press-freedom .pf-move[data-move="down"]::before{content:"\25BC";color:var(--pf-down)}
.sx-press-freedom .pf-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:600;line-height:1.5;background:rgba(var(--ink-rgb),.1)}
.sx-press-freedom .pf-top{margin:auto 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:.88rem;line-height:1.5;color:var(--muted)}
.sx-press-freedom .pf-top:empty{display:none}
.sx-press-freedom .pf-pick{display:grid;gap:6px;padding:12px 0 4px;border-top:1px solid var(--line)}
.sx-press-freedom .pf-pick-label{color:var(--muted);font-size:.85rem;line-height:1.4}
.sx-press-freedom .pf-select-wrap{position:relative;display:block;min-width:0}
.sx-press-freedom .pf-select-wrap::after{content:"";position:absolute;right:16px;top:50%;width:7px;height:7px;margin-top:-6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);pointer-events:none}
.sx-press-freedom .pf-select{-webkit-appearance:none;appearance:none;display:block;width:100%;min-width:0;min-height:44px;margin:0;padding:9px 40px 9px 12px;font:inherit;font-size:1rem;font-weight:600;line-height:1.3;color:inherit;background:var(--bg);border:1px solid rgba(var(--ink-rgb),.35);border-radius:calc(var(--radius) / 2);cursor:pointer;text-overflow:ellipsis}
.sx-press-freedom .pf-select:hover{border-color:rgba(var(--ink-rgb),.6)}
.sx-press-freedom .pf-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}
.sx-press-freedom .pf-select:disabled{opacity:1;cursor:default}
.sx-press-freedom--edit .pf-pick{pointer-events:none}
.sx-press-freedom .pf-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.sx-press-freedom .pf-map svg{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible}
.sx-press-freedom .pf-mark,.sx-press-freedom .pf-mark-halo{fill:none;pointer-events:none;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.sx-press-freedom .pf-mark-halo{stroke:var(--bg);stroke-width:3px}
.sx-press-freedom .pf-mark{stroke:rgb(var(--ink-rgb));stroke-width:1.25px}
.sx-press-freedom:not(.sx-press-freedom--edit) .pf-map [data-pf-iso]{cursor:pointer}
@media (hover:hover){.sx-press-freedom:not(.sx-press-freedom--edit) .pf-map [data-pf-iso]:hover{fill-opacity:.7}}
.sx-press-freedom .pf-fail{margin:0;padding:22px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);text-align:center}
.sx-press-freedom .pf-note{margin:16px 0 0;font-size:.8rem;line-height:1.5;color:var(--muted)}
.sx-press-freedom .pf-note-text:not(:empty)+.pf-updated:not(:empty)::before{content:"\00B7";margin:0 .45em}
.sx-press-freedom .pf-more{margin:28px 0 0}
.sx-press-freedom.bg-band .pf-card,.sx-press-freedom.bg-band .pf-map-card,.sx-press-freedom.bg-band .pf-side{background:var(--bg)}
.sx-press-freedom.bg-accent .pf-card,.sx-press-freedom.bg-accent .pf-map-card,.sx-press-freedom.bg-accent .pf-side{background:rgba(var(--ink-rgb),.08)}
.sx-press-freedom.bg-accent .eyebrow,.sx-press-freedom.bg-accent .sx-pf-head p,.sx-press-freedom.bg-accent .pf-legend,.sx-press-freedom.bg-accent .pf-note,.sx-press-freedom.bg-accent .pf-fail{color:inherit}
.sx-press-freedom.bg-accent .pf-select{background:var(--accent)}
.sx-press-freedom.bg-accent .pf-select:focus-visible{outline-color:currentColor;border-color:currentColor}
.sx-press-freedom--edit .pf a{cursor:default}
@media (max-width:860px){
  .sx-press-freedom .pf-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sx-press-freedom .pf-index-grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .sx-press-freedom .pf-cards{gap:12px}
  .sx-press-freedom .pf-card{padding:18px 10px 16px}
  .sx-press-freedom .pf-label{font-size:.88rem}
  .sx-press-freedom .pf-legend{font-size:.78rem;gap:6px}
  .sx-press-freedom .pf-map-card{padding:12px}
  .sx-press-freedom .pf-side{padding:20px}
  .sx-press-freedom .pf-mark-halo{stroke-width:2.5px}
  .sx-press-freedom .pf-mark{stroke-width:1px}
}
@media (prefers-reduced-motion:reduce){
  .sx-press-freedom .pf-arc{transition:none}
}

/* article-header */
.sx-article-header .sx-article-head{max-width:720px;margin:0 auto}
.sx-article-header .sx-article-cat{display:inline-block;color:var(--accent);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;margin-bottom:14px}
.sx-article-header h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.1;margin:0 0 18px}
.sx-article-header .standfirst{color:var(--muted);font-size:1.2rem;line-height:1.5;margin:0 0 18px}
.sx-article-header .sx-article-meta{color:var(--muted);font-size:.85rem;margin:0}
.sx-article-header .sx-article-cover{margin:36px auto 0;max-width:720px}
.sx-article-header--wide .sx-article-cover{max-width:none}
.sx-article-header .sx-article-cover img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius)}
.sx-article-header .sx-article-cover figcaption{color:var(--muted);font-size:.85rem;margin-top:12px;text-align:center}
.sx-article-header.bg-accent .sx-article-cat,.sx-article-header.bg-accent .standfirst,.sx-article-header.bg-accent .sx-article-meta{color:inherit}

/* mosaic */
.sx-mosaic h2{font-size:clamp(2.2rem,4.5vw,3.4rem);margin:12px 0 36px}
.sx-mosaic .more{margin:28px 0 1em}
.tiles{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:190px;gap:12px}
.tiles figure{margin:0;overflow:hidden;border-radius:max(0px,calc(var(--radius) - 4px));position:relative}
.tiles img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.tiles figure:hover img{transform:scale(1.04)}
.t1{grid-column:span 4;grid-row:span 2}.t2{grid-column:span 2;grid-row:span 2}
.t3,.t4,.t5{grid-column:span 2}
.t6{grid-column:span 3;grid-row:span 2}.t7{grid-column:span 3;grid-row:span 2}
body[data-studio-edit] .tiles figure{background:var(--bg2)}
@media (max-width:860px){
  .tiles{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}
  .t1,.t6,.t7{grid-column:span 2;grid-row:span 2}
  .t2,.t3,.t4,.t5{grid-column:span 1;grid-row:span 1}
}

/* gallery */
.sx-gallery .sx-gallery-head{margin-bottom:36px}
.sx-gallery h1{font-size:clamp(2.6rem,7vw,4.6rem);margin:12px 0 14px}
.sx-gallery h2{font-size:clamp(2.2rem,4.5vw,3.4rem);margin:12px 0 14px}
.sx-gallery .sx-gallery-head p{color:var(--muted);margin:0;max-width:52ch}
.sx-gallery .sx-gallery-head>:first-child{margin-top:0}
.sx-gallery .sx-gallery-head>:last-child{margin-bottom:0}
.sx-gallery.bg-accent .eyebrow,.sx-gallery.bg-accent .sx-gallery-head p{color:inherit}
.sx-gallery .sx-gallery-note{margin:0 0 18px;padding:10px 14px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:.85rem}
.sx-gallery .sx-gallery-grid{columns:3 300px;column-gap:14px}
.sx-gallery .sx-gallery-grid figure{margin:0 0 14px;break-inside:avoid;position:relative;border-radius:calc(var(--radius) - 4px);overflow:hidden;cursor:zoom-in;background:var(--bg2)}
.sx-gallery--edit .sx-gallery-grid figure{cursor:default}
.sx-gallery .sx-gallery-grid img{width:100%;height:auto;transition:transform .5s}
.sx-gallery .sx-gallery-grid figure:hover img{transform:scale(1.03)}
.sx-gallery .sx-gallery-grid figure:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.sx-gallery-viewer{position:fixed;inset:0;z-index:50;background:var(--bg);background:color-mix(in srgb,var(--bg) 96%,transparent);display:none;align-items:center;justify-content:center;flex-direction:column;padding:56px 12px 20px}
.sx-gallery-viewer.open{display:flex}
.sx-gallery-viewer .stage{flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center}
.sx-gallery-viewer img{max-width:100%;max-height:100%;border-radius:8px}
.sx-gallery-viewer .cap{color:var(--muted);font-size:.92rem;padding-top:12px;text-align:center;min-height:1.6em}
.sx-gallery-viewer button{position:absolute;background:var(--line);background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink);border:1px solid var(--line);border-radius:999px;width:46px;height:46px;padding:0;font:inherit;font-size:1.3rem;line-height:1;cursor:pointer;display:grid;place-items:center}
.sx-gallery-viewer button:hover{background:color-mix(in srgb,var(--ink) 16%,transparent)}
.sx-gallery-viewer .x{top:10px;right:12px}
.sx-gallery-viewer .prev{left:12px;top:50%;transform:translateY(-50%)}
.sx-gallery-viewer .next{right:12px;top:50%;transform:translateY(-50%)}
.sx-gallery-viewer.single .prev,.sx-gallery-viewer.single .next{display:none}
@media (max-width:640px){
  .sx-gallery-viewer .prev,.sx-gallery-viewer .next{top:auto;bottom:14px;transform:none}
}
@media (prefers-reduced-motion:reduce){
  .sx-gallery .sx-gallery-grid img{transition:none}
}

/* videos */
.sx-videos .sx-videos-head{margin-bottom:36px}
.sx-videos h1{font-size:clamp(2.6rem,7vw,4.6rem);margin:12px 0 14px}
.sx-videos h2{font-size:clamp(2.2rem,4.5vw,3.4rem);margin:12px 0 14px}
.sx-videos .sx-videos-head p{color:var(--muted);margin:0;max-width:52ch}
.sx-videos .sx-videos-head>:first-child{margin-top:0}
.sx-videos .sx-videos-head>:last-child{margin-bottom:0}
.sx-videos.bg-accent .eyebrow,.sx-videos.bg-accent .sx-videos-head p,.sx-videos.bg-accent .sx-videos-empty{color:inherit}
.sx-videos .sx-videos-note{margin:0 0 18px;padding:10px 14px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:.85rem}
.sx-videos .sx-videos-feature{margin-bottom:44px}
.sx-videos .sx-videos-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:22px;align-items:start}
.sx-videos .sx-videos-card{display:block;width:100%;cursor:pointer;background:none;border:0;padding:0;text-align:left;color:inherit;font:inherit}
.sx-videos--edit .sx-videos-card{cursor:default}
.sx-videos .sx-videos-card:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:calc(var(--radius) - 2px)}
.sx-videos .sx-videos-poster{display:block;position:relative;aspect-ratio:16/9;border-radius:calc(var(--radius) - 2px);overflow:hidden;background:#000;box-shadow:0 0 0 1px var(--line)}
.sx-videos .sx-videos-poster img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.sx-videos .sx-videos-card:hover .sx-videos-poster img{transform:scale(1.03)}
.sx-videos .sx-videos-play{position:absolute;inset:0;display:grid;place-items:center}
.sx-videos .sx-videos-play span{width:64px;height:64px;border-radius:50%;background:var(--accent);background:color-mix(in srgb,var(--accent) 92%,transparent);display:grid;place-items:center;box-shadow:0 8px 30px rgba(0,0,0,.45)}
.sx-videos .sx-videos-play span::after{content:"";margin-left:5px;border-left:20px solid var(--on-accent);border-top:12px solid transparent;border-bottom:12px solid transparent}
.sx-videos .sx-videos-dur{position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.72);color:#fff;font-size:.78rem;line-height:1.65;padding:2px 8px;border-radius:6px}
.sx-videos .sx-videos-title{display:block;font-family:var(--font-body);font-weight:600;font-size:1rem;margin:12px 2px 0;line-height:1.35}
.sx-videos .sx-videos-feature .sx-videos-poster{border-radius:calc(var(--radius) + 2px)}
.sx-videos .sx-videos-feature .sx-videos-title{font-family:var(--font-heading);font-weight:400;font-size:clamp(1.6rem,3.5vw,2.3rem);margin-top:16px}
.sx-videos .sx-videos-feature .sx-videos-play span{width:84px;height:84px}
.sx-videos .sx-videos-empty p{color:var(--muted);margin:0;padding:4px 0 20px}
.sx-videos-viewer{position:fixed;inset:0;z-index:50;background:var(--bg);background:color-mix(in srgb,var(--bg) 96%,transparent);display:none;align-items:center;justify-content:center;flex-direction:column;padding:56px 12px 20px}
.sx-videos-viewer.open{display:flex}
.sx-videos-viewer .stage{flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center}
.sx-videos-viewer video,.sx-videos-viewer iframe{max-width:100%;max-height:100%;border-radius:8px}
.sx-videos-viewer iframe,.sx-videos-viewer video.wide{width:min(100%,1280px);aspect-ratio:16/9;height:auto;border:0;background:#000}
.sx-videos-viewer .cap{color:var(--muted);font-size:.92rem;padding-top:12px;text-align:center;min-height:1.6em}
.sx-videos-viewer .x{position:absolute;top:10px;right:12px;background:var(--line);background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink);border:1px solid var(--line);border-radius:999px;width:46px;height:46px;padding:0;font:inherit;font-size:1.3rem;line-height:1;cursor:pointer;display:grid;place-items:center}
.sx-videos-viewer .x:hover{background:color-mix(in srgb,var(--ink) 16%,transparent)}
@media (prefers-reduced-motion:reduce){
  .sx-videos .sx-videos-poster img{transition:none}
}

/* image */
.sx-image .sx-image-fig{margin:0}
.sx-image .sx-image-fig img{width:100%;height:auto;border-radius:var(--radius)}
.sx-image--r169 .sx-image-fig img{aspect-ratio:16/9;object-fit:cover}
.sx-image--r43 .sx-image-fig img{aspect-ratio:4/3;object-fit:cover}
.sx-image--r11 .sx-image-fig img{aspect-ratio:1/1;object-fit:cover}
.sx-image--full .sx-image-fig img{border-radius:0}
.sx-image .sx-image-fig figcaption{color:var(--muted);font-size:.9rem;margin-top:14px;text-align:center}
.sx-image.bg-accent .sx-image-fig figcaption{color:inherit}

/* video */
.sx-video .sx-video-fig{margin:0}
.sx-video .sx-video-box{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.55),0 0 0 1px var(--line)}
.sx-video .sx-video-box img,.sx-video .sx-video-box video,.sx-video .sx-video-box iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.sx-video .sx-video-box video{object-fit:contain}
.sx-video .sx-video-play{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;background:none;cursor:pointer}
.sx-video--edit .sx-video-play{cursor:default}
.sx-video .sx-video-play span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:78px;height:78px;border-radius:50%;background:var(--accent);background:color-mix(in srgb,var(--accent) 92%,transparent);box-shadow:0 8px 30px rgba(0,0,0,.45);transition:transform .15s}
.sx-video .sx-video-play:hover span{transform:translate(-50%,-50%) scale(1.06)}
.sx-video .sx-video-play:focus-visible span{outline:2px solid var(--ink);outline-offset:3px}
.sx-video .sx-video-play span::after{content:"";position:absolute;left:31px;top:24px;border-left:24px solid var(--on-accent);border-top:15px solid transparent;border-bottom:15px solid transparent}
.sx-video .sx-video-hint{position:absolute;inset:0;display:grid;place-items:center;padding:20px;text-align:center;color:#fff;opacity:.75;font-size:.95rem}
.sx-video .sx-video-fig figcaption{color:var(--muted);font-size:.9rem;margin-top:14px;text-align:center}
.sx-video.bg-accent .sx-video-fig figcaption{color:inherit}
@media (prefers-reduced-motion:reduce){
  .sx-video .sx-video-play span{transition:none}
}

/* buttons */
.sx-buttons--center .btns{justify-content:center}
.sx-buttons--right .btns{justify-content:flex-end}
.sx-buttons--small .btns{gap:10px}
.sx-buttons--small .btn{padding:9px 18px;font-size:.92rem}
.sx-buttons .sx-buttons-note{margin:0;padding:10px 14px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:.85rem;text-align:center}

/* quote */
.sx-quote .sx-quote-fig{margin:0 auto;max-width:860px;text-align:center}
.sx-quote .sx-quote-mark{font-family:var(--font-heading);font-size:4.5rem;line-height:.6;height:2.2rem;color:var(--accent);user-select:none}
.sx-quote .sx-quote-text{margin:0;font-family:var(--font-heading);font-size:clamp(1.7rem,4vw,2.8rem);line-height:1.2}
.sx-quote .sx-quote-text em{color:var(--accent2)}
.sx-quote .sx-quote-text a{color:var(--accent)}
.sx-quote .sx-quote-by{margin-top:22px;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.sx-quote--statement .sx-quote-fig{max-width:1000px;margin:0;text-align:left}
.sx-quote--statement .sx-quote-text{font-size:clamp(2.3rem,1rem + 4.6vw,5rem);line-height:1.04;letter-spacing:-.025em}
.sx-quote--statement .sx-quote-text em{font-style:normal}
.sx-quote.bg-accent .sx-quote-mark,.sx-quote.bg-accent .sx-quote-text em,.sx-quote.bg-accent .sx-quote-text a,.sx-quote.bg-accent .sx-quote-by{color:inherit}

/* cta */
.follow{text-align:center;position:relative;overflow:hidden}
.follow>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}
.follow.has-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg),rgba(var(--bg-rgb),.3) 40%,var(--bg))}
body[data-studio-edit] .follow::after{pointer-events:none}
.follow.has-img.bg-band::after{background:linear-gradient(180deg,var(--bg2),rgba(var(--bg-rgb),.3) 40%,var(--bg2))}
.follow .wrap{position:relative;z-index:1}
.follow h2{font-size:clamp(2.4rem,6vw,4.4rem);margin:12px 0 18px}
.follow p{color:var(--muted);margin:0 auto 30px;max-width:46ch}
.follow .btns{justify-content:center}
.socials small{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;opacity:.6;font-weight:600}

/* contact-form */
.sx-contact-form [hidden]{display:none!important}
.sx-contact-form .sx-cf-in{max-width:640px;margin:0 auto}
.sx-contact-form .sx-cf-in>:first-child{margin-top:0}
.sx-contact-form h1{font-size:clamp(2.6rem,7vw,4.6rem);margin:0 0 14px}
.sx-contact-form h2{font-size:clamp(2.2rem,4.5vw,3.4rem);margin:0 0 14px}
.sx-contact-form .sx-cf-intro{color:var(--muted);margin:0;max-width:60ch}
.sx-contact-form .sx-cf-form{display:grid;gap:18px;margin:28px 0 0}
.sx-contact-form .sx-cf-field{display:grid;gap:6px;min-width:0}
.sx-contact-form label{font-weight:600;font-size:.95rem;line-height:1.4}
.sx-contact-form .sx-cf-opt{font-weight:400;color:var(--muted)}
.sx-contact-form input,.sx-contact-form textarea{display:block;width:100%;min-width:0;margin:0;font:inherit;line-height:1.4;color:var(--ink);background:rgba(var(--ink-rgb),.05);border:1px solid rgba(var(--ink-rgb),.35);border-radius:calc(var(--radius) / 2);padding:12px 14px}
.sx-contact-form textarea{min-height:150px;resize:vertical}
.sx-contact-form input:focus-visible,.sx-contact-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}
.sx-contact-form.bg-accent input:focus-visible,.sx-contact-form.bg-accent textarea:focus-visible{outline-color:currentColor;border-color:currentColor}
.sx-contact-form .sx-cf-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.sx-contact-form .sx-cf-send{margin-top:4px}
.sx-contact-form .sx-cf-send .btn{max-width:100%}
.sx-contact-form .sx-cf-send .btn[disabled]{opacity:.6;cursor:progress;transform:none}
.sx-contact-form .sx-cf-status{margin:0;color:var(--muted);font-size:.95rem}
.sx-contact-form .sx-cf-thanks{margin:28px 0 0;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(var(--ink-rgb),.05);font-size:1.05rem;overflow-wrap:anywhere}
.sx-contact-form .sx-cf-thanks:focus{outline:none}
.sx-contact-form .sx-cf-after{margin:22px 0 0;padding:14px 16px;border:1px dashed var(--line);border-radius:10px}
.sx-contact-form .sx-cf-after .sx-cf-thanks{margin:6px 0 0;padding:0;border:0;background:none;font-size:1rem}
.sx-contact-form .sx-cf-after-label,.sx-contact-form .sx-cf-note{margin:0;font-size:.85rem;color:var(--muted)}
.sx-contact-form .sx-cf-note{margin-top:14px}
.sx-contact-form--edit .sx-cf-form input,.sx-contact-form--edit .sx-cf-form textarea{pointer-events:none}
.sx-contact-form--edit .sx-cf-button{cursor:text}
.sx-contact-form.bg-accent .sx-cf-intro,.sx-contact-form.bg-accent .sx-cf-opt,.sx-contact-form.bg-accent .sx-cf-status,.sx-contact-form.bg-accent .sx-cf-note,.sx-contact-form.bg-accent .sx-cf-after-label{color:inherit}
.sx-contact-form label,.sx-contact-form legend{overflow-wrap:anywhere}
.sx-contact-form .sx-cf-help{margin:0;color:var(--muted);font-size:.9rem;line-height:1.45;overflow-wrap:anywhere}
.sx-contact-form input[type=date]{min-height:48px}
.sx-contact-form fieldset.sx-cf-check{margin:0;padding:0;border:0;min-width:0}
.sx-contact-form .sx-cf-check legend{padding:0;margin:0 0 6px;font-weight:600;font-size:.95rem;line-height:1.4}
.sx-contact-form .sx-cf-tick{display:flex;align-items:flex-start;gap:12px;font-weight:400;font-size:.95rem;line-height:1.5;cursor:pointer}
.sx-contact-form .sx-cf-tick span{min-width:0}
.sx-contact-form input[type=checkbox]{flex:none;width:22px;height:22px;margin:1px 0 0;padding:0;accent-color:var(--accent);cursor:pointer}
.sx-contact-form.bg-accent .sx-cf-help{color:inherit}
.sx-contact-form.bg-accent input[type=checkbox]{accent-color:currentColor}

/* site-info */
.sx-site-info[hidden],.sx-site-info [hidden]{display:none!important}
.sx-site-info.si-notice{padding:0;border:0;background:var(--accent);color:var(--on-accent)}
.sx-site-info.si-notice[data-style="warning"]{background:#f2b705;color:#1d1600}
.sx-site-info.si-notice .wrap{padding-top:12px;padding-bottom:12px;text-align:center}
/* first on a page with the see-through menu bar (fixed, 64px tall): the banner starts under the bar, not behind it */
nav.nav-overlay+.sx-site-info.si-notice{margin-top:64px}
.sx-site-info .si-notice-text{margin:0;font-weight:600;font-size:.98rem;line-height:1.45;overflow-wrap:anywhere}
.sx-site-info.si-notice .si-note{margin:6px 0 0;padding:0;border:0;color:inherit;opacity:.8}
.sx-site-info h1{font-size:clamp(2.6rem,7vw,4.6rem);margin:0 0 28px}
.sx-site-info h2{font-size:clamp(2.2rem,4.5vw,3.4rem);margin:0 0 28px}
.sx-site-info .si-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:16px}
.sx-site-info .si-item{background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;min-width:0}
.sx-site-info.bg-band .si-item{background:var(--bg)}
.sx-site-info.bg-accent .si-item{background:rgba(var(--ink-rgb),.08)}
.sx-site-info .si-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 14px}
.sx-site-info .si-name{font-size:1.3rem;line-height:1.2;margin:0;min-width:0;overflow-wrap:anywhere}
.sx-site-info .si-price{margin:0;font-weight:700;color:var(--accent);overflow-wrap:anywhere}
.sx-site-info .si-text{margin:8px 0 0;color:var(--muted);font-size:.95rem;line-height:1.5;overflow-wrap:anywhere}
.sx-site-info .si-note{margin:0 0 18px;padding:10px 14px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:.85rem}
.sx-site-info .si-empty{margin:0;color:var(--muted)}
.sx-site-info.bg-accent .si-price,.sx-site-info.bg-accent .si-text,.sx-site-info.bg-accent .si-note,.sx-site-info.bg-accent .si-empty{color:inherit}
/* sessions: one column, a centred underlined heading for each group, then each session: its title, where (bold) and
   when, and its paragraphs - laid out like the members page they came from */
.sx-site-info .si-groups{display:grid;gap:72px}
.sx-site-info .si-groups:empty{display:none}
.sx-site-info .si-group{min-width:0}
.sx-site-info .si-group-name{font-weight:700;font-size:clamp(1.75rem,1.1rem + 2.4vw,2.85rem);line-height:1.2;text-align:center;text-decoration:underline;text-decoration-thickness:.07em;text-underline-offset:.14em;margin:0 0 56px;overflow-wrap:anywhere}
.sx-site-info .si-session-list{list-style:none;margin:0;padding:0;display:grid;gap:96px}
.sx-site-info .si-session{min-width:0}
.sx-site-info .si-title{font-weight:700;font-size:clamp(1.45rem,.95rem + 2vw,2.3rem);line-height:1.25;margin:0 0 42px;overflow-wrap:anywhere}
.sx-site-info.si-titles-small .si-group-name{margin-bottom:40px}
.sx-site-info.si-titles-small .si-session-list{gap:64px}
.sx-site-info.si-titles-small .si-title{font-size:clamp(1.15rem,1rem + .6vw,1.45rem);text-decoration:underline;text-decoration-thickness:.07em;text-underline-offset:.16em;margin:0 0 8px}
.sx-site-info .si-meta,.sx-site-info .si-body p{margin:0 0 26px;font-size:.92rem;line-height:1.55;overflow-wrap:anywhere}
.sx-site-info .si-meta strong,.sx-site-info .si-body strong{font-weight:700}
.sx-site-info .si-session>:last-child,.sx-site-info .si-body>:last-child{margin-bottom:0}
@media (max-width:640px){.sx-site-info .si-groups,.sx-site-info .si-session-list{gap:56px}.sx-site-info .si-group-name{margin-bottom:36px}.sx-site-info .si-title{margin-bottom:24px}.sx-site-info.si-titles-small .si-title{margin-bottom:8px}}

/* chat */
.sx-chat [hidden]{display:none!important}
.sx-chat .sx-chat-in{max-width:720px;margin:0 auto;scroll-margin-top:80px}
.sx-chat .sx-chat-in>:first-child{margin-top:0}
.sx-chat h1{font-size:clamp(2.6rem,7vw,4.6rem);margin:0 0 14px}
.sx-chat h2{font-size:clamp(2.2rem,4.5vw,3.4rem);margin:0 0 14px}
.sx-chat .sx-chat-intro{color:var(--muted);margin:0;max-width:60ch}
/* the messages: a box of their own that scrolls, the newest at the bottom */
.sx-chat .sx-chat-log{margin:24px 0 0;max-height:min(60vh,540px);overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius);background:rgba(var(--ink-rgb),.03);padding:4px 18px}
.sx-chat .sx-chat-log:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.sx-chat .sx-chat-list{list-style:none;margin:0;padding:0}
.sx-chat .sx-chat-post{padding:14px 0;border-bottom:1px solid var(--line);min-width:0}
.sx-chat .sx-chat-post:last-child{border-bottom:0}
.sx-chat .sx-chat-head{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;font-size:.92rem;line-height:1.4}
.sx-chat .sx-chat-name{font-weight:700;min-width:0;overflow-wrap:anywhere}
.sx-chat .sx-chat-time{color:var(--muted);font-size:.8rem;white-space:nowrap}
.sx-chat .sx-chat-msg{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}
.sx-chat .sx-chat-reply{margin:10px 0 0 12px;padding:4px 0 2px 14px;border-left:3px solid var(--accent)}
.sx-chat .sx-chat-empty{margin:0;padding:14px 0;color:var(--muted)}
.sx-chat .sx-chat-form{display:grid;gap:16px;margin:22px 0 0}
.sx-chat .sx-chat-field{display:grid;gap:6px;min-width:0}
.sx-chat label{font-weight:600;font-size:.95rem;line-height:1.4}
.sx-chat input,.sx-chat textarea{display:block;width:100%;min-width:0;margin:0;font:inherit;line-height:1.4;color:var(--ink);background:rgba(var(--ink-rgb),.05);border:1px solid rgba(var(--ink-rgb),.35);border-radius:calc(var(--radius) / 2);padding:12px 14px}
.sx-chat textarea{min-height:110px;resize:vertical}
.sx-chat input:focus-visible,.sx-chat textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}
.sx-chat.bg-accent input:focus-visible,.sx-chat.bg-accent textarea:focus-visible{outline-color:currentColor;border-color:currentColor}
.sx-chat .sx-chat-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.sx-chat .sx-chat-send .btn{max-width:100%}
.sx-chat .sx-chat-send .btn[disabled]{opacity:.6;cursor:progress;transform:none}
.sx-chat .sx-chat-status{margin:0;color:var(--muted);font-size:.95rem}
.sx-chat .sx-chat-status:empty{display:none}
.sx-chat .sx-chat-note{margin:14px 0 0;padding:10px 14px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:.85rem}
.sx-chat--edit .sx-chat-form input,.sx-chat--edit .sx-chat-form textarea{pointer-events:none}
.sx-chat--edit .sx-chat-button{cursor:text}
.sx-chat.bg-accent .sx-chat-intro,.sx-chat.bg-accent .sx-chat-time,.sx-chat.bg-accent .sx-chat-empty,.sx-chat.bg-accent .sx-chat-status,.sx-chat.bg-accent .sx-chat-note{color:inherit}
.sx-chat.bg-accent .sx-chat-reply{border-left-color:currentColor}

/* embed */
.sx-embed .sx-embed-box{position:relative;display:flow-root}
.sx-embed .sx-embed-box iframe,.sx-embed .sx-embed-box video,.sx-embed .sx-embed-box img{max-width:100%}
.sx-embed .sx-embed-box>iframe{display:block;margin-left:auto;margin-right:auto}
.sx-embed--fixed .sx-embed-box iframe{display:block;width:100%;height:100%;border:0}
.sx-embed .sx-embed-box>iframe.sx-embed-frame{width:100%;border:0;background:transparent}
.sx-embed--edit .sx-embed-box{min-height:90px}
.sx-embed .sx-embed-shield{position:absolute;inset:0;z-index:2;cursor:pointer;border:1px dashed var(--line);border-radius:10px}
.sx-embed .sx-embed-tag{position:absolute;top:8px;left:8px;padding:3px 10px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.sx-embed .sx-embed-empty{display:grid;place-items:center;min-height:90px;padding:20px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:.9rem;text-align:center}

/* divider */
.sx-divider{padding-top:0!important;padding-bottom:0!important}
.sx-divider hr{border:0;border-top:1px solid var(--line);height:0;margin:0}
.sx-divider--line .wrap{padding-top:48px;padding-bottom:48px}
.sx-divider--line.sx-divider--s .wrap{padding-top:24px;padding-bottom:24px}
.sx-divider--line.sx-divider--l .wrap{padding-top:clamp(56px,8vw,88px);padding-bottom:clamp(56px,8vw,88px)}
.sx-divider.bg-accent hr{border-top-color:currentColor;opacity:.3}
.sx-divider .sx-divider-gap{height:64px}
.sx-divider--s .sx-divider-gap{height:32px}
.sx-divider--l .sx-divider-gap{height:clamp(80px,11vw,128px)}
.sx-divider--edit .sx-divider-gap{display:grid;place-items:center;outline:1px dashed var(--line);outline-offset:-1px;color:var(--muted);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}

@media (max-width:860px){
  nav.nav-overlay .links{gap:16px}
  nav.nav-overlay .links a.hide-sm{display:none}
  .pad-s{padding:44px 0}
  .pad-m{padding:80px 0}
  .pad-l{padding:110px 0}
}
@media (max-width:640px){
  nav.nav-solid .links{gap:14px}
  nav.nav-solid .links a.hide-sm{display:none}
  nav.nav-solid .logo{font-size:1.15rem}
}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
}

h2{font-weight:700;letter-spacing:-.02em}
h3{font-weight:600}
nav .logo{font-weight:700}
h1{font-weight:700;letter-spacing:-.02em}
.btn{background:var(--btn);color:var(--btn-ink)}
.btn:hover{background:var(--btn-hover)}
.about .body a,.sx-text .sx-text-body a,.single p a{color:var(--accent);font-weight:600;text-decoration:none}
.about .body a:hover,.sx-text .sx-text-body a:hover,.single p a:hover{text-decoration:underline;text-underline-offset:3px}
.about .body li::marker,.sx-text .sx-text-body li::marker{color:var(--accent)}
.about .body li{margin:0 0 8px}
.about.bg-accent .body a,.sx-text.bg-accent .sx-text-body a,.bg-accent .single p a,.about.bg-accent .body li::marker,.sx-text.bg-accent .sx-text-body li::marker{color:inherit}

nav .logo:has(.logo-img){flex-shrink:0;display:flex;align-items:center}
nav .logo .logo-img{display:block;height:52px;width:auto;max-width:min(260px,55vw)}
@media (max-width:640px){nav .logo .logo-img{height:44px}}

nav .nav-toggle{display:none}
@media (max-width:760px){
  nav.nav-phone .nav-toggle{display:inline-flex;align-items:center;gap:8px;flex:none;margin-left:auto;min-height:44px;padding:8px 16px 8px 13px;font:inherit;font-size:.92rem;font-weight:600;line-height:1;color:inherit;background:transparent;border:1px solid var(--line);border-radius:999px;cursor:pointer}
  nav.nav-solid.nav-phone .nav-toggle,nav.nav-overlay.solid.nav-phone .nav-toggle,nav.nav-phone.open .nav-toggle,nav.nav-phone.open .logo{color:var(--nav-ink)}
  nav.nav-phone .nav-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  nav.nav-phone .nav-toggle .i-close,nav.nav-phone.open .nav-toggle .i-open{display:none}
  nav.nav-phone.open .nav-toggle .i-close{display:inline}
  nav.nav-phone .links{display:none}
  nav.nav-phone.open{background:rgba(var(--nav-bg-rgb),.97);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
  nav.nav-phone.open .links{display:flex;flex-direction:column;gap:0;position:absolute;left:0;right:0;top:100%;padding:4px 20px 16px;background:var(--nav-bg);border-bottom:1px solid var(--line);box-shadow:0 26px 40px -22px rgba(0,0,0,.4);max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);overflow-y:auto;animation:nav-drop .18s ease-out}
  nav.nav-phone.open .links a,nav.nav-phone.open .links a.hide-sm{display:block;padding:15px 2px;font-size:1.08rem;white-space:normal;color:var(--nav-ink);opacity:1;border-bottom:1px solid var(--line)}
  nav.nav-phone.open .links a:last-child{border-bottom:0}
  nav.nav-phone.open .links a[aria-current]{font-weight:700}
  nav.nav-phone.open .links a[aria-current]:not(.nav-cta){color:var(--accent)}
  nav.nav-phone.open .links a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
  nav.nav-phone.open .links a.nav-cta{margin:14px 0 4px;padding:14px 20px;text-align:center;border:0;border-radius:999px;color:var(--btn-ink,var(--on-accent))}
  nav.nav-phone.open .links a.nav-cta:last-child{border-bottom:0}
  /* the page under the open list is dimmed (a shadow from the list's top edge down) and does not scroll */
  nav.nav-phone.open .links{align-items:stretch;box-shadow:0 100vmax 0 100vmax rgba(0,0,0,.5)}
  html:has(nav.nav-phone.open){overflow:hidden}
}
@keyframes nav-drop{from{opacity:0;transform:translateY(-6px)}}
@media (prefers-reduced-motion:reduce){
  nav.nav-phone.open .links{animation:none}
}
