@font-face {
    font-family:Anton;
    src:url('/fonts/Anton-Regular.ttf') format('truetype');
    font-display:swap;
}
@font-face {
    font-family:Barlow;
    src:url('/fonts/Barlow-Medium.ttf') format('truetype');
    font-weight:400 500;
    font-display:swap;
}
@font-face {
    font-family:Barlow;
    src:url('/fonts/Barlow-Bold.ttf') format('truetype');
    font-weight:600 800;
    font-display:swap;
}
:root {
    --paper:#f6f3eb;
    --ink:#25251f;
    --muted:#626259;
    --line:#d5d3c8;
    --white:#fffef9;
    --accent:#f5169f;
}
* {
    box-sizing:border-box;
}
html {
    scroll-behavior:smooth;
    scroll-padding-top:24px;
}
body {
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font:18px/1.5 Barlow,Arial,sans-serif;
}
a {
    color:inherit;
    text-decoration:none;
}
button,input,textarea,select {
    font:inherit;
}
button,a,input,select,textarea {
    touch-action:manipulation;
}
button {
    cursor:pointer;
}
button:disabled {
    cursor:default;
}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible {
    outline:3px solid #285cf0;
    outline-offset:5px;
}
p {
    margin:0 0 18px;
}
h1,h2,h3 {
    margin:0;
    font-weight:700;
    line-height:1.04;
}
h1,h2 {
    letter-spacing:-.035em;
}
h2 {
    font-size:46px;
}
h3 {
    font-size:29px;
    letter-spacing:-.02em;
}
.wrap {
    width:min(1240px,calc(100% - 104px));
    margin-inline:auto;
}
.preview-bar {
    display:flex;
    justify-content:space-between;
    gap:15px;
    align-items:center;
    background:var(--ink);
    color:var(--paper);
    font:12px/1.4 Arial,sans-serif;
    padding:11px 28px;
}
.preview-bar strong {
    font-size:10px;
    letter-spacing:.14em;
}
.preview-bar form {
    display:flex;
    align-items:center;
    gap:9px;
}
.preview-bar select,.preview-bar button {
    background:#39392f;
    color:#fff;
    border:1px solid #77766a;
    padding:5px 10px;
    border-radius:3px;
    font-size:12px;
}
.site-header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
    min-height:114px;
    border-bottom:1px solid var(--line);
}
.wordmark {
    font:25px/1 Anton,Impact,sans-serif;
    text-transform:uppercase;
    letter-spacing:-.02em;
    display:flex;
    align-items:center;
    white-space:nowrap;
}
.wordmark span {
    margin-left:5px;
}
.wordmark i {
    height:13px;
    width:13px;
    background:var(--accent);
    margin:0 0 0 9px;
    border-radius:50%;
    border:1px solid var(--ink);
}
.site-header nav {
    display:flex;
    gap:30px;
    font-size:16px;
}
.site-header nav a:hover,.text-link:hover {
    text-decoration:underline;
    text-underline-offset:5px;
}
.button {
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    background:var(--ink);
    color:var(--white);
    padding:16px 23px;
    border:1px solid var(--ink);
    font-weight:700;
    font-size:17px;
    line-height:1.25;
    border-radius:2px;
}
.button:hover {
    background:#45453b;
}
.button.small {
    font-size:15px;
    padding:12px 18px;
    gap:26px;
}
.text-link {
    display:inline-flex;
    align-items:center;
    gap:18px;
    font-weight:700;
    background:none;
    border:0;
    padding:0;
}
.button span,.text-link span {
    font-family:Arial,sans-serif;
}
.hero {
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:70px;
    align-items:center;
    padding-block:72px 82px;
}
.eyebrow {
    text-transform:uppercase;
    letter-spacing:.13em;
    font-size:12px;
    font-weight:700;
    margin-bottom:26px;
    display:flex;
    align-items:center;
    gap:10px;
}
.dot {
    display:inline-block;
    width:8px;
    height:8px;
    background:var(--ink);
    border-radius:50%;
    flex-shrink:0;
}
.hero h1 {
    font-size:clamp(60px,5.2vw,81px);
    line-height:1.04;
    margin-bottom:27px;
}
.intro {
    font-size:24px;
    line-height:1.35;
    max-width:530px;
}
.hero-detail {
    max-width:505px;
    color:var(--muted);
    font-size:18px;
    margin-bottom:27px;
}
.hero-actions {
    display:flex;
    align-items:center;
    gap:25px;
    flex-wrap:wrap;
}
.small-note {
    font-size:14px;
    color:var(--muted);
    margin:13px 0 0;
}
.discipline-strip {
    border-block:1px solid var(--ink);
    padding:19px 0;
}
.discipline-strip .wrap {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    font-size:14px;
    font-weight:700;
}
.discipline-strip b {
    font:20px/1 Arial,sans-serif;
}
.section {
    padding-block:88px;
}
.idea {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:85px;
}
.idea-copy p {
    color:var(--muted);
}
.idea-copy .lead {
    font-size:24px;
    line-height:1.35;
    color:var(--ink);
}
.status-note {
    display:flex;
    gap:13px;
    border-top:1px solid var(--line);
    padding-top:22px;
    margin-top:26px;
    font-size:15px;
}
.status-note .dot {
    margin-top:8px;
    background:var(--accent);
    border:1px solid var(--ink);
}
.status-note p {
    margin:4px 0 0;
}
.people-section {
    background:#ecebe1;
    border-block:1px solid var(--line);
}
.section-heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:60px;
    margin-bottom:45px;
}
.section-heading>p {
    max-width:330px;
    margin-bottom:3px;
    color:var(--muted);
}
.people-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:32px;
}
.people-grid article {
    border-top:2px solid var(--ink);
    padding-top:20px;
    display:flex;
    flex-direction:column;
}
.index {
    font-size:13px;
    margin-bottom:28px;
}
.people-grid h3 {
    font-size:33px;
    margin-bottom:17px;
}
.people-grid .role-caption {
    font-size:12px;
    font-weight:700;
    color:var(--ink);
    margin-bottom:18px;
}
.people-grid p {
    font-size:17px;
    color:var(--muted);
}
.people-grid a {
    margin-top:auto;
    padding-top:12px;
    font-size:16px;
    font-weight:700;
    display:flex;
    justify-content:space-between;
}
.people-grid a:hover {
    text-decoration:underline;
}
.next {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:85px;
}
.next h2 {
    margin-bottom:25px;
}
.next>div>p:last-child {
    max-width:360px;
    color:var(--muted);
}
.steps {
    list-style:none;
    padding:0;
    margin:0;
}
.steps li {
    display:flex;
    gap:24px;
    padding:25px 0;
    border-top:1px solid var(--line);
}
.steps li:first-child {
    padding-top:0;
    border-top:0;
}
.steps li>span {
    font-size:12px;
    line-height:30px;
}
.steps h3 {
    font-size:23px;
    margin-bottom:9px;
}
.steps p {
    font-size:17px;
    color:var(--muted);
    margin:0;
}
.join-section {
    background:var(--ink);
    color:var(--paper);
    padding-block:80px;
}
.join-grid {
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:85px;
}
.join-copy h2 {
    font-size:72px;
    margin-bottom:23px;
}
.join-copy h2>span {
    font-family:Georgia,serif;
    font-weight:400;
    font-style:italic;
}
.join-copy>p:not(.eyebrow) {
    font-size:20px;
    color:#d5d3c8;
}
.organiser {
    display:flex;
    gap:16px;
    border-top:1px solid #606052;
    padding-top:25px;
    margin-top:46px;
}
.organiser-mark {
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    width:42px;
    height:42px;
    border:1px solid #a4a496;
    font:23px Georgia,serif;
}
.organiser strong {
    font-size:17px;
}
.organiser p {
    font-size:15px;
    color:#d5d3c8;
    margin:8px 0 0;
}
.join-copy .project-context {
    font-size:13px!important;
    color:#b9b9a9!important;
    margin-top:24px;
    max-width:350px;
}
.join-panel {
    background:var(--paper);
    color:var(--ink);
    padding:30px;
}
.route-tabs {
    display:flex;
    border-bottom:1px solid var(--line);
    margin-bottom:25px;
    gap:25px;
}
.route-tabs button {
    border:0;
    background:none;
    font-weight:700;
    padding:0 0 13px;
    font-size:17px;
    color:var(--muted);
}
.route-tabs button[aria-selected=true] {
    color:var(--ink);
    border-bottom:3px solid var(--ink);
}
.form-intro {
    font-size:16px;
    margin-bottom:22px;
    color:var(--muted);
}
.field-pair {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:17px;
}
.preview-form label {
    display:block;
    font-size:14px;
    font-weight:700;
    margin-bottom:18px;
}
.preview-form input:not([type=checkbox]),textarea {
    display:block;
    background:var(--white);
    border:1px solid #aaa99e;
    border-radius:0;
    width:100%;
    padding:11px 12px;
    margin-top:7px;
    font-size:16px;
    color:var(--ink);
    font-weight:400;
    min-width:0;
}
.preview-form input::placeholder,textarea::placeholder {
    color:#75756c;
}
.preview-form fieldset {
    border:0;
    padding:0;
    margin:0 0 22px;
    min-width:0;
}
.preview-form legend {
    font-size:14px;
    font-weight:700;
    margin-bottom:10px;
}
.preview-form legend span,.optional {
    color:var(--muted);
    font-size:12px;
    font-weight:400;
}
.optional {
    float:right;
}
.interest-options {
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
.interest-options label {
    margin:0;
    position:relative;
    cursor:pointer;
}
.interest-options input {
    position:absolute;
    opacity:0;
    width:100%;
    height:100%;
    margin:0;
    cursor:pointer;
}
.interest-options span {
    display:block;
    padding:8px 10px;
    border:1px solid #b8b7ac;
    font-weight:400;
    font-size:13px;
    pointer-events:none;
}
.interest-options input:checked+span {
    background:var(--ink);
    color:var(--white);
    border-color:var(--ink);
}
.interest-options input:focus-visible+span {
    outline:3px solid #285cf0;
    outline-offset:3px;
}
.form-note {
    font-size:13px;
    color:var(--muted);
    margin:0 0 18px;
}
.preview-form>.button {
    width:100%;
    font-size:16px;
}
.demo-note {
    font-size:11px;
    color:var(--muted);
    margin:12px 0 0;
}
.form-feedback {
    background:#e1e5ce;
    border-left:3px solid var(--ink);
    font-size:14px;
    margin:18px 0 0;
    padding:12px;
}
.share-section {
    padding-block:48px;
    display:grid;
    grid-template-columns:1.5fr 1fr;
    gap:40px;
    align-items:center;
    border-bottom:1px solid var(--line);
}
.share-section .eyebrow {
    font-size:10px;
    margin-bottom:12px;
}
.share-section h2 {
    font-size:30px;
    margin-bottom:13px;
}
.share-section p {
    font-size:16px;
    max-width:590px;
    color:var(--muted);
    margin-bottom:0;
}
.share-section>div:nth-child(2) {
    justify-self:end;
}
.button.outline {
    background:none;
    color:var(--ink);
}
.button.outline:hover {
    background:#e7e5da;
}
.share-section .small-note {
    font-size:12px;
}
#share-panel {
    grid-column:1/-1;
    border:1px solid var(--line);
    padding:22px;
    background:var(--white);
}
#share-panel label {
    font-weight:700;
    font-size:14px;
}
#share-panel textarea {
    font-size:16px;
    resize:vertical;
}
#close-share {
    margin-top:16px;
    font-size:14px;
}
.local-section {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:35px;
    padding-block:50px;
    border-bottom:1px solid var(--line);
}
.local-section .eyebrow {
    margin-bottom:15px;
}
.local-section h2 {
    font-size:29px;
    margin-bottom:15px;
}
.local-section p:last-child {
    font-size:16px;
    color:var(--muted);
    margin-bottom:0;
}
.local-section>a {
    font-size:16px;
    white-space:nowrap;
}
.site-footer {
    padding-block:32px;
    display:flex;
    gap:25px;
    align-items:center;
    justify-content:space-between;
}
.site-footer .wordmark {
    font-size:19px;
}
.site-footer .wordmark i {
    width:9px;
    height:9px;
}
.site-footer p,.site-footer>a {
    font-size:12px;
    margin:0;
    color:var(--muted);
}
.skip-link {
    position:absolute;
    top:-100px;
    left:20px;
    padding:10px;
    background:white;
    z-index:5;
}
.skip-link:focus {
    top:10px;
}
[hidden] {
    display:none!important;
}
@media(min-width:1600px) {
    .hero {
        padding-block:90px;
    }
    .hero h1 {
        font-size:86px;
    }
}
@media(max-width:1100px) {
    .wrap {
        width:calc(100% - 64px);
    }
    .hero {
        gap:40px;
    }
    .hero h1 {
        font-size:62px;
    }
    .hero .intro {
        font-size:21px;
    }
    .site-header nav {
        gap:19px;
    }
    .idea,.next,.join-grid {
        gap:45px;
    }
    .join-panel {
        padding:24px;
    }
    .hero-actions {
        gap:19px;
    }
    .hero-actions .text-link {
        font-size:16px;
    }
    h2 {
        font-size:39px;
    }
    .join-copy h2 {
        font-size:64px;
    }
}
@media(max-width:800px) {
    .wrap {
        width:calc(100% - 40px);
    }
    .preview-bar {
        padding:10px 20px;
    }
    .preview-detail {
        display:none;
    }
    .preview-bar label {
        font-size:10px;
    }
    .site-header {
        min-height:87px;
    }
    .site-header nav {
        display:none;
    }
    .wordmark {
        font-size:22px;
    }
    .hero {
        padding-block:43px 55px;
        gap:28px;
        grid-template-columns:1.1fr .9fr;
    }
    .hero h1 {
        font-size:48px;
    }
    .hero .intro {
        font-size:20px;
    }
    .hero-detail {
        font-size:16px;
    }
    .eyebrow {
        font-size:10px;
    }
    .hero-actions .button {
        font-size:15px;
        padding:14px 18px;
    }
    .discipline-strip .wrap {
        flex-wrap:wrap;
        justify-content:center;
        gap:10px 19px;
        font-size:12px;
    }
    .section {
        padding-block:58px;
    }
    .idea,.next {
        gap:30px;
    }
    h2 {
        font-size:34px;
    }
    .idea-copy .lead {
        font-size:21px;
    }
    .idea-copy p {
        font-size:16px;
    }
    .section-heading {
        gap:30px;
    }
    .section-heading>p {
        max-width:280px;
        font-size:16px;
    }
    .people-grid {
        gap:22px;
    }
    .people-grid h3 {
        font-size:27px;
    }
    .people-grid p {
        font-size:16px;
    }
    .people-grid .role-caption {
        font-size:11px;
    }
    .join-grid {
        grid-template-columns:1fr;
        gap:34px;
    }
    .join-copy {
        max-width:600px;
    }
    .join-copy h2 {
        font-size:55px;
    }
    .organiser {
        margin-top:25px;
        max-width:500px;
    }
    .join-copy .project-context {
        max-width:500px;
    }
    .share-section {
        gap:25px;
    }
    .share-section h2 {
        font-size:26px;
    }
    .share-section .button {
        font-size:14px;
        gap:15px;
        padding:14px;
    }
    .local-section {
        align-items:flex-start;
        flex-direction:column;
        gap:22px;
    }
    .site-footer {
        flex-wrap:wrap;
    }
    .site-footer>p {
        display:none;
    }
}
@media(max-width:570px) {
    .preview-bar {
        gap:8px;
        padding:8px 14px;
    }
    .preview-bar strong {
        font-size:8px;
        letter-spacing:.08em;
    }
    .preview-bar form {
        gap:6px;
    }
    .preview-bar label {
        display:none;
    }
    .preview-bar select {
        max-width:124px;
        font-size:11px;
        padding:4px;
    }
    .preview-bar button {
        font-size:11px;
        padding:4px 7px;
    }
    .site-header {
        gap:15px;
    }
    .site-header .button {
        font-size:13px;
        padding:10px 12px;
        gap:13px;
    }
    .wordmark {
        font-size:19px;
    }
    .wordmark i {
        width:9px;
        height:9px;
        margin-left:6px;
    }
    .hero {
        grid-template-columns:1fr;
        gap:42px;
        padding-top:36px;
    }
    .hero h1 {
        font-size:clamp(43px,11.5vw,64px);
        margin-bottom:22px;
    }
    .hero .eyebrow {
        margin-bottom:21px;
    }
    .hero .intro {
        font-size:22px;
        max-width:350px;
    }
    .hero-detail {
        font-size:17px;
    }
    .hero-actions {
        gap:19px;
    }
    .hero-actions .text-link {
        font-size:14px;
        gap:10px;
    }
    .small-note {
        font-size:12px;
    }
    .discipline-strip {
        padding-block:15px;
    }
    .discipline-strip .wrap {
        gap:8px 14px;
    }
    .discipline-strip b:nth-of-type(3) {
        display:none;
    }
    .idea,.next {
        grid-template-columns:1fr;
        gap:28px;
    }
    .idea h2 {
        font-size:36px;
    }
    .section .eyebrow {
        margin-bottom:19px;
    }
    .section-heading {
        display:block;
    }
    .section-heading>p {
        max-width:none;
        margin:22px 0 0;
    }
    .people-grid {
        grid-template-columns:1fr;
        gap:32px;
    }
    .people-grid article {
        position:relative;
        padding-left:38px;
    }
    .people-grid .index {
        position:absolute;
        left:0;
        top:23px;
    }
    .people-grid h3 {
        font-size:30px;
    }
    .people-grid h3 br {
        display:none;
    }
    .people-grid a {
        padding-top:0;
    }
    .next>div>p:last-child {
        margin:0;
    }
    .steps li:first-child {
        padding-top:22px;
        border-top:1px solid var(--line);
    }
    .join-section {
        padding-block:50px;
    }
    .join-grid {
        width:calc(100% - 32px);
    }
    .join-copy {
        padding-inline:4px;
    }
    .join-copy h2 {
        font-size:58px;
    }
    .join-panel {
        padding:22px 18px;
    }
    .field-pair {
        grid-template-columns:1fr;
        gap:0;
    }
    .route-tabs {
        gap:22px;
    }
    .route-tabs button {
        font-size:16px;
    }
    .share-section {
        grid-template-columns:1fr;
        padding-block:35px;
        gap:24px;
    }
    .share-section>div:nth-child(2) {
        justify-self:start;
    }
    .local-section {
        padding-block:35px;
    }
    .local-section h2 {
        font-size:27px;
    }
    .site-footer {
        gap:19px;
        align-items:flex-start;
        flex-direction:column;
    }
    .site-footer .wordmark {
        font-size:21px;
    }
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto;
    }
}
.preview-form>.demo-fields {
    margin:0;
    padding:0;
    border:0;
    min-width:0;
}
.demo-fields>.button {
    width:100%;
    font-size:16px;
}
.hero>* {
    min-width:0;
}
@media(max-width:360px) {
    .hero h1 {
        font-size:38px;
    }
    .site-header {
        gap:8px;
    }
    .site-header .wordmark {
        font-size:17px;
    }
    .site-header .button {
        padding:10px;
        gap:9px;
    }
}
/* Revision 2: use the established dark Fringe palette and display typography. */ :root {
    --paper:#050109;
    --ink:#fff;
    --muted:#beb9c5;
    --line:#342c3d;
    --white:#fff;
    --panel:#15101d;
}
body {
    font-family:Arial,Helvetica,sans-serif;
    font-size:17px;
}
h1,h2 {
    font-family:Anton,Impact,sans-serif;
    font-weight:400;
    letter-spacing:0;
    text-transform:uppercase;
    line-height:1.09;
}
h3 {
    letter-spacing:0;
    font-size:25px;
}
.preview-bar {
    background:#201728;
    color:#ddd5e3;
    border-bottom:1px solid var(--line);
}
.preview-bar select,.preview-bar button {
    background:#100a17;
    border-color:#51445e;
}
.site-header {
    min-height:98px;
}
.wordmark span {
    color:var(--accent);
}
.wordmark i {
    display:none;
}
.button {
    background:var(--accent);
    color:var(--poster-ink);
    border-color:var(--accent);
    border-radius:6px;
}
.button:hover {
    background:var(--accent);
    filter:brightness(1.12);
}
.site-header nav {
    font-size:14px;
    font-weight:700;
    text-transform:uppercase;
    gap:24px;
}
.hero {
    grid-template-columns:1fr 1fr;
    gap:65px;
    padding-block:62px 70px;
}
.hero h1 {
    font-size:clamp(66px,7.5vw,108px);
    line-height:1.02;
    margin-bottom:24px;
    overflow-wrap:anywhere;
}
.hero h1 span,.hero h1 strong {
    display:block;
    font-weight:400;
}
.hero h1 strong {
    color:var(--accent);
}
.hero .intro {
    font-size:28px;
    font-weight:700;
    line-height:1.2;
}
.hero .eyebrow {
    margin-bottom:22px;
}
.hero-detail {
    font-size:17px;
    line-height:1.6;
}
.dot {
    background:var(--accent);
}
.hero-actions {
    gap:24px;
}
.connection-panel {
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:8px;
    padding:30px;
    min-width:0;
}
.connection-panel .eyebrow {
    font-size:10px;
    color:var(--muted);
    margin-bottom:21px;
}
.connection-panel h2 {
    font-size:clamp(30px,3.4vw,48px);
    line-height:1.15;
}
.connection-panel h2 span {
    color:var(--accent);
}
.connection-intro {
    font-size:15px;
    color:var(--muted);
    margin:16px 0 25px;
}
.screen-illustration {
    background:#09060d;
    border:4px solid #51475d;
    border-radius:7px;
    box-shadow:0 14px 22px #0006;
    padding:15px;
    transform:rotate(-2deg);
    margin:12px 0 30px;
}
.screen-top,.screen-bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    font-size:9px;
    font-weight:700;
}
.screen-top {
    padding-bottom:12px;
    border-bottom:1px solid #4d4058;
}
.screen-top span:first-child {
    color:var(--accent);
}
.screen-top span:last-child {
    color:#a69aac;
    font-size:8px;
}
.screen-body {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:23px 0;
    gap:10px;
}
.screen-body strong {
    font:32px/1.1 Anton,Impact,sans-serif;
}
.screen-arrow {
    color:var(--accent);
    font:60px/1 Arial,sans-serif;
}
.screen-bottom {
    background:var(--accent);
    color:var(--poster-ink);
    padding:10px;
    margin:0 -4px -4px;
}
.connection-channels {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    font-size:10px;
    font-weight:700;
}
.connection-channels b {
    color:var(--accent);
    font-size:15px;
}
.connection-note {
    border-top:1px solid var(--line);
    padding-top:17px;
    margin:19px 0 0;
    color:var(--muted);
    font-size:13px;
}
.discipline-strip {
    background:#100a17;
    border-color:var(--line);
}
.discipline-strip b {
    color:var(--accent);
}
.people-section {
    background:#100a17;
}
.people-grid article {
    border-top-color:var(--accent);
}
.people-grid a {
    color:#fff;
}
.people-grid h3 {
    font:30px/1.15 Anton,Impact,sans-serif;
    text-transform:uppercase;
}
.status-note .dot {
    border:0;
}
.join-section {
    background:#100a17;
    color:var(--ink);
    border-block:1px solid var(--line);
}
.join-copy h2>span {
    font-family:inherit;
    font-weight:400;
    font-style:normal;
    color:var(--accent);
}
.join-copy>p:not(.eyebrow),.organiser p {
    color:var(--muted);
}
.organiser {
    border-top-color:var(--line);
}
.join-copy .project-context {
    color:var(--muted)!important;
}
.join-panel {
    background:#1a1422;
    border:1px solid var(--line);
    border-radius:8px;
}
.route-tabs button[aria-selected=true] {
    border-bottom-color:var(--accent);
}
.preview-form input:not([type=checkbox]),textarea {
    background:#0d0813;
    color:#fff;
    border-color:#62556f;
    border-radius:5px;
}
.preview-form input::placeholder,textarea::placeholder {
    color:#a69bab;
}
.interest-options span {
    border-color:#62556f;
    border-radius:5px;
}
.interest-options input:checked+span {
    background:var(--accent);
    color:var(--poster-ink);
    border-color:var(--accent);
}
.form-feedback {
    background:#2b2333;
    border-left-color:var(--accent);
}
.button.outline {
    border-color:#7e6c8d;
}
.button.outline:hover {
    background:#21172c;
    color:#fff;
}
#share-panel {
    background:var(--panel);
}
.skip-link {
    background:#fff;
    color:#050109;
}
.site-footer .wordmark {
    font-size:21px;
}
@media(min-width:1600px) {
    .hero h1 {
        font-size:118px;
    }
}
@media(max-width:1100px) {
    .hero {
        gap:34px;
    }
    .hero h1 {
        font-size:78px;
    }
    .connection-panel {
        padding:24px;
    }
    .hero .intro {
        font-size:25px;
    }
    .hero .eyebrow {
        font-size:10px;
    }
    .hero-actions {
        gap:20px;
    }
    .hero-actions .text-link {
        font-size:14px;
    }
}
@media(max-width:800px) {
    .hero {
        gap:26px;
    }
    .hero h1 {
        font-size:65px;
    }
    .connection-panel {
        padding:20px;
    }
    .connection-panel h2 {
        font-size:32px;
    }
    .screen-body strong {
        font-size:25px;
    }
    .screen-arrow {
        font-size:45px;
    }
    .connection-channels {
        flex-wrap:wrap;
        justify-content:flex-start;
        gap:8px;
    }
    .connection-panel .eyebrow {
        font-size:9px;
    }
}
@media(max-width:570px) {
    .hero {
        grid-template-columns:1fr;
        gap:35px;
        padding-block:35px 45px;
    }
    .hero h1 {
        font-size:clamp(55px,15vw,82px);
    }
    .hero .intro {
        font-size:25px;
    }
    .connection-panel {
        padding:24px;
    }
    .connection-panel h2 {
        font-size:38px;
    }
    .connection-channels {
        justify-content:space-between;
        gap:5px;
    }
    .screen-body strong {
        font-size:31px;
    }
    .screen-arrow {
        font-size:55px;
    }
    .join-copy h2 {
        font-size:53px;
    }
    .section h2 {
        font-size:35px;
    }
    .site-header {
        min-height:85px;
    }
    .hero-actions .text-link {
        font-size:14px;
    }
    .hero-actions {
        gap:18px;
    }
}
@media(max-width:360px) {
    .hero h1 {
        font-size:54px;
    }
    .connection-panel {
        padding:18px;
    }
    .connection-panel h2 {
        font-size:32px;
    }
    .screen-body strong {
        font-size:27px;
    }
    .screen-arrow {
        font-size:42px;
    }
    .connection-channels {
        font-size:9px;
    }
    .screen-bottom {
        font-size:8px;
    }
    .hero .eyebrow {
        font-size:9px;
    }
    .join-copy h2 {
        font-size:47px;
    }
}

.hero h1>span { font-size:min(1em,calc(8em / var(--city-length))); white-space:nowrap; }
.wordmark span,.connection-panel h2 span,.screen-top span:first-child,.screen-arrow { color:color-mix(in srgb,var(--accent) 85%,white 15%); }
/* Revision 3: original overlapping wordmark, city artwork and audience-led story. */
.hero{position:relative;isolation:isolate;min-height:760px;padding-block:65px 155px;grid-template-columns:1.15fr .85fr;gap:95px;align-items:center}
.hero::before{content:'';position:absolute;z-index:-2;inset:0 -52px;pointer-events:none}
.hero--city::before{background:linear-gradient(90deg,#050109 0%,rgba(5,1,9,.84) 29%,rgba(5,1,9,.22) 67%,rgba(5,1,9,.35) 100%),linear-gradient(180deg,#050109 0%,transparent 30%,transparent 91%,#050109 100%),var(--city-artwork) center bottom/auto 620px no-repeat;opacity:.8}
.hero h1.festival-title{font-family:Impact,Haettenschweiler,'Arial Narrow Bold','Arial Black',sans-serif;font-size:clamp(94px,10vw,158px);font-weight:900;line-height:.84;letter-spacing:0;margin:0 0 37px;text-shadow:0 8px 28px #000a;overflow-wrap:normal}
.hero h1.festival-title>span{font-size:min(1em,calc(7.4em / var(--city-length)));position:relative;z-index:1}
.hero h1.festival-title>strong{position:relative;z-index:2;margin-top:-.045em;font-weight:900;color:var(--accent);text-shadow:0 4px 18px #0009,0 0 26px color-mix(in srgb,var(--accent) 35%,transparent)}
.hero .intro{font-size:27px;max-width:490px;line-height:1.22;margin-bottom:17px}
.hero-detail{max-width:465px;text-shadow:0 2px 12px #000;font-size:17px}
.hero .small-note{max-width:430px;color:#c9c1d0;text-shadow:0 2px 10px #000}
.audience-promise{align-self:start;margin-top:48px;padding-bottom:180px;max-width:390px;text-shadow:0 3px 15px #000}
.audience-promise h2{font-size:clamp(39px,4.7vw,64px);line-height:.88;margin-bottom:25px}
.audience-promise h2 span{color:color-mix(in srgb,var(--accent) 85%,white 15%)}
.audience-promise>p:last-child{font-size:17px;line-height:1.55;max-width:350px;color:#d5ccdc}
.audience-promise .eyebrow{font-size:10px;color:#c9c1d0}
.idea{padding-bottom:45px}
.reach-section{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding-bottom:80px}
.reach-section article{padding:25px;background:#15101d;border:1px solid var(--line);border-radius:8px}
.reach-number{display:block;color:color-mix(in srgb,var(--accent) 75%,white 25%);text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.1em;margin-bottom:22px}
.reach-section h3{font-family:Anton,Impact,sans-serif;font-size:27px;line-height:1.15;text-transform:uppercase;font-weight:400;margin-bottom:19px}
.reach-section p{font-size:15px;color:var(--muted);line-height:1.65;margin:0}
.people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 55px}
.people-grid h3{font-size:31px;line-height:1.2}
.people-grid p{max-width:440px}
.people-grid .index{margin-bottom:18px}
.people-grid a{padding-top:5px}
@media(max-width:1100px){.hero{gap:48px;min-height:730px}.hero h1.festival-title{font-size:120px}.audience-promise h2{font-size:49px}.audience-promise{margin-top:52px}.reach-section{gap:18px}.reach-section article{padding:20px}.reach-section h3{font-size:25px}}
@media(max-width:800px){.hero{gap:35px;min-height:690px;padding-block:50px 105px}.hero::before{inset:0 -20px}.hero h1.festival-title{font-size:96px}.hero .intro{font-size:24px}.hero-detail{font-size:16px}.audience-promise{margin-top:38px}.audience-promise h2{font-size:39px}.audience-promise>p:last-child{font-size:15px}.hero--city::before{background-size:auto,auto,auto 470px}.reach-section{grid-template-columns:1fr}.reach-section article{padding:26px}.reach-section h3 br{display:none}.reach-section h3{font-size:27px}}
@media(max-width:570px){.hero{display:block;min-height:0;padding-block:35px 40px}.hero h1.festival-title{font-size:clamp(100px,29vw,150px);margin-bottom:31px}.hero .intro{font-size:24px}.hero--city::before{background:linear-gradient(180deg,#050109 0%,rgba(5,1,9,.94) 52%,rgba(5,1,9,.35) 80%,#050109 100%),var(--city-artwork) center bottom/auto 365px no-repeat}.audience-promise{margin-top:55px;padding-bottom:120px;max-width:100%;display:block}.audience-promise h2{font-size:39px;max-width:330px}.audience-promise>p:last-child{font-size:15px;max-width:310px}.audience-promise .eyebrow{font-size:9px}.reach-section{padding-bottom:50px;gap:16px}.people-grid{grid-template-columns:1fr;gap:32px}.people-grid article{padding-left:0}.people-grid .index{position:static}.people-grid h3{font-size:29px}.idea{padding-bottom:30px}}
@media(max-width:360px){.hero h1.festival-title{font-size:95px}.hero h1.festival-title>span{font-size:min(1em,calc(6.6em / var(--city-length)))}.hero .intro{font-size:22px}.audience-promise h2{font-size:35px}}
@media(min-width:801px) and (max-width:1100px){.hero::before{inset:0 -32px}}
.reach-section article{min-width:0}
@media(max-width:800px){.reach-section{grid-template-columns:minmax(0,1fr)}.reach-section h3 br{display:initial}}
@media(max-width:360px){.reach-section h3{font-size:24px}}
.hero h1.festival-title>span{font-size:min(1em,calc(5.1em / var(--city-length)))}

/* Keep both engagement routes comfortable on narrow phones. */
@media(max-width:570px){.route-tabs{display:grid;grid-template-columns:1fr 1fr}.route-tabs button{min-width:0;white-space:normal;line-height:1.3;padding:14px 8px}}

.consent{display:flex!important;align-items:flex-start;gap:10px;margin-block:20px}.consent input{width:18px;height:18px;flex-shrink:0;margin-top:3px}
