/* Founders Sheffield / V5
   The same visual system on the community and partnership pages.
   No framework, third-party animation dependency or bundled font files. */
:root{
 --plum:#470F31;--plum-deep:#330A23;--paper:#F7F7F5;--mint:#55E3BB;
 --soft:#D3BDCB;--ink-soft:#725065;--line:rgba(247,247,245,.18);
 --heading:'Darker Grotesque',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif;
 --gutter:clamp(22px,4.2vw,80px);--ease:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:116px;scrollbar-gutter:stable}
body{margin:0;background:var(--plum);color:var(--paper);font:16px/1.7 var(--body);-webkit-font-smoothing:antialiased}
body.dialog-open{overflow:hidden}
[hidden]{display:none!important}
::selection{background:var(--mint);color:var(--plum)}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--heading);font-weight:700;letter-spacing:-.035em;line-height:.95}
h1{font-size:clamp(84px,9vw,156px);font-weight:800;letter-spacing:-.042em;line-height:.94}
h2{font-size:clamp(48px,5.3vw,84px)}
h3{font-size:36px}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font-family:var(--body);font-size:inherit}
button{border:0;cursor:pointer;color:inherit;background:none}
button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--mint);outline-offset:5px}
button:disabled{cursor:default}
img{max-width:100%;height:auto;display:block}
.container{width:calc(100% - var(--gutter)*2);max-width:1440px;margin-inline:auto}
.section-pad{padding-block:clamp(82px,9vw,145px)}
.eyebrow{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;line-height:1.55}
.section-eyebrow{color:var(--mint);margin-bottom:34px}
.accent{color:var(--mint)}
.lead{font-size:clamp(20px,1.6vw,25px);font-weight:500;line-height:1.45;letter-spacing:-.02em}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:12px;left:16px;z-index:80;background:var(--paper);color:var(--plum);padding:12px 20px;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.reading-progress{position:fixed;inset:0 0 auto;height:2px;z-index:65;pointer-events:none}
.reading-progress span{display:block;width:100%;height:100%;background:var(--mint);transform:scaleX(0);transform-origin:left}
/* Floating controls directly on the page. No box, border, pill or glass navbar. */
.site-header{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:27px var(--gutter);border:0;border-radius:0;box-shadow:none;background:none;pointer-events:none;transition:padding .3s var(--ease)}
.site-header::before{content:'';position:absolute;inset:0 0 -24px;z-index:-1;background:linear-gradient(var(--plum) 5%,rgba(71,15,49,.95) 56%,rgba(71,15,49,0));opacity:0;pointer-events:none;transition:opacity .25s}
.site-header.is-scrolled{padding-block:17px}
.site-header.is-scrolled::before{opacity:1}
.site-header>*{pointer-events:auto}
.brand{display:block;width:175px;flex-shrink:0}
.header-right{display:flex;align-items:center;gap:42px}
.header-event{font-size:12px;display:flex;align-items:center;gap:15px}
.header-event span{color:var(--mint);font-size:24px}
.menu-toggle{display:none;align-items:center;gap:16px;min-height:48px;padding:8px 0 8px 10px;border:0;box-shadow:none;border-radius:0;background:none}
.menu-enabled .menu-toggle{display:flex}
.menu-word{font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.hamburger{position:relative;width:33px;height:24px;display:block}
.hamburger span{position:absolute;top:6px;left:0;width:33px;height:2px;background:var(--paper);transition:width .25s var(--ease)}
.hamburger span:last-child{top:16px;left:auto;right:0;width:24px}
.menu-toggle:hover .hamburger span:first-child{width:24px}
.menu-toggle:hover .hamburger span:last-child{width:33px}
.no-script-nav{font-size:12px}
/* Focus is trapped by a native modal dialog; backdrop is inert. */
dialog{border:0;padding:0;color:var(--plum);background:var(--paper);max-width:calc(100vw - 36px)}
dialog::backdrop{background:rgba(24,4,16,.7);backdrop-filter:blur(5px)}
dialog button:focus-visible,dialog a:focus-visible,dialog textarea:focus-visible{outline-color:var(--plum)}
.menu-dialog{position:fixed;inset:0;margin:0 0 0 auto;width:min(700px,66vw);height:100dvh;max-height:none;max-width:100vw;overflow-y:auto;overscroll-behavior:contain}
.menu-dialog[open]{animation:menu-in .5s var(--ease) both}
.menu-dialog.is-closing{animation:menu-out .3s ease both}
.menu-dialog[open]::backdrop{animation:fade-in .3s both}
@keyframes menu-in{from{transform:translateX(102%)}to{transform:none}}
@keyframes menu-out{to{transform:translateX(102%)}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
.menu-shell{min-height:100%;display:flex;flex-direction:column;padding:26px clamp(24px,4vw,58px) 32px}
.menu-topline{display:flex;align-items:center;justify-content:space-between;gap:20px}
.icon-close{position:relative;width:48px;min-width:48px;height:48px;padding:0;background:none;border:0}
.icon-close span{position:absolute;top:23px;left:10px;width:28px;height:2px;background:currentColor;transform:rotate(45deg)}
.icon-close span:last-child{transform:rotate(-45deg)}
.icon-close:hover{color:#156A53}
.menu-intro{color:var(--ink-soft);font-size:13px;margin:45px 0 15px}
.drawer-links{display:flex;flex-direction:column}
.drawer-links a{display:grid;grid-template-columns:22px 1fr 24px;align-items:center;gap:16px;padding:19px 0 23px;border-bottom:1px solid rgba(71,15,49,.18);font:700 clamp(35px,3.4vw,52px)/.95 var(--heading);letter-spacing:-.025em}
.link-number{font:500 10px/1 var(--body);color:var(--ink-soft);letter-spacing:0}
.link-arrow{font:400 24px/1 Arial,sans-serif;transition:transform .25s}
.drawer-links a:hover,.drawer-links a[aria-current]{color:#156A53}
.drawer-links a:hover .link-arrow{transform:translate(3px,-3px)}
.menu-bottom{margin-top:auto;padding-top:46px;display:flex;justify-content:space-between;gap:24px;align-items:end}
.menu-bottom p{font-size:12px;max-width:245px;color:var(--ink-soft)}
.menu-bottom .text-link{white-space:nowrap;font-size:11px}
/* The type, the story and a single clear action. */
.hero{padding:148px 0 23px;overflow:clip}
.hero-topline{display:flex;justify-content:space-between;align-items:center;gap:22px}
.hero-topline .eyebrow{display:flex;align-items:center;gap:12px}
.hero-chapter{color:var(--soft)}
.micro-cross{color:var(--mint);font-size:20px;line-height:1;font-weight:400}
.hero-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;padding:48px 0 48px}
.hero-copy,.hero-art,.about-layout>*,.day-layout>*,.people-layout>*,.event-layout>*,.questions-layout>*,.partner-hero-layout>*,.enquiry-layout>*{min-width:0}
.hero-line{display:block}
.hero-description{max-width:420px;margin-top:34px;font-size:16px;line-height:1.75;color:var(--soft)}
.hero-actions{display:flex;align-items:center;gap:24px;margin-top:30px}
.action{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:54px;padding:15px 21px;border:0;border-radius:0;box-shadow:none;font-size:12px;font-weight:600;line-height:1.4;transition:background .2s,color .2s}
.action::before,.action::after{content:none!important}
.action-primary{background:var(--mint);color:var(--plum)}
.action-primary:hover{background:var(--paper);color:var(--plum)}
.action-dark{background:var(--plum);color:var(--paper)}
.action-dark:hover{background:#681B4A;color:var(--paper)}
.action-arrow{font:400 23px/1 Arial,sans-serif;display:inline-block;transition:transform .25s var(--ease)}
.action:hover .action-arrow{transform:translate(3px,-3px)}
.action[aria-disabled=true]{opacity:.75;cursor:default}
.action[aria-disabled=true] .action-arrow{display:none}
.hero-date{font-size:11px;line-height:1.7;color:var(--soft)}
.hero-date strong{display:block;font-size:12px;font-weight:500;color:var(--paper)}
.hero-bottom{border-top:1px solid var(--line);padding-top:17px;display:flex;align-items:center;justify-content:space-between;font-size:10px}
.scroll-link{display:flex;align-items:center;gap:20px;text-transform:uppercase;letter-spacing:.13em}
.scroll-link>span{font-size:22px;color:var(--mint)}
.motion-toggle{display:none;align-items:center;gap:8px;min-height:42px;padding:8px 0;background:none;color:var(--soft);font-size:10px}
.motion-enabled .motion-toggle{display:inline-flex}
.motion-toggle:hover{color:var(--mint)}
.motion-symbol{min-width:16px;text-align:center;font-size:13px;line-height:1}
/* Connection → collaboration → construction. The original torus is removed. */
.community-art:not(.story-enabled) .story-controls,.community-art:not(.story-enabled) .story-bottom{display:none}
.community-art{align-self:center;position:relative;margin:0;padding-left:12px}
.art-label{display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--soft)}
.art-label .eyebrow{font-size:9px;letter-spacing:.12em}
.art-label>span:last-child{font-size:20px;color:var(--mint)}
.community-scene{width:100%;aspect-ratio:640 / 500;contain:layout paint;isolation:isolate}
.build-svg{display:block;width:100%;height:100%;overflow:visible}
.founder-block{will-change:transform}
.community-figure figcaption{display:flex;justify-content:space-between;gap:14px;color:var(--soft);font-size:9px;padding:4px 0 20px;line-height:1.6}
.art-key{display:flex;align-items:center;gap:7px}
.art-key i{width:6px;height:6px;background:var(--mint);display:block;transform:rotate(45deg)}
.art-key b{width:19px;height:1px;background:var(--mint);position:relative;display:block}
.art-key b::after{content:'';position:absolute;width:3px;height:3px;border-radius:50%;background:var(--paper);left:8px;top:-1px}
.story-controls{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.story-step{position:relative;display:flex;align-items:center;gap:10px;justify-content:center;padding:15px 0;min-height:50px;color:var(--soft);font-size:12px;background:none}
.story-step>span{font-size:9px;color:var(--soft)}
.story-step::before{content:'';position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--mint);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.story-step.is-active{color:var(--mint)}
.story-step.is-active::before{transform:scaleX(1)}
.story-step:hover{color:var(--paper)}
.story-bottom{display:flex;align-items:start;justify-content:space-between;gap:12px;color:var(--soft);font-size:10px;line-height:1.6;min-height:49px}
.story-bottom p{max-width:330px;padding-top:8px}
.story-replay{display:inline-flex;gap:8px;align-items:center;white-space:nowrap;min-height:38px;padding:7px 0;font-size:10px;color:var(--mint)}
.story-replay span{font-size:18px}
/* Small functional event shortcut. */
.event-strip{background:var(--plum-deep);border-bottom:1px solid var(--line)}
.event-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:28px}
.strip-label{display:flex;align-items:center;gap:25px}
.strip-label .eyebrow{max-width:78px;font-size:9px;color:var(--soft)}
.strip-date{font:700 34px/1 var(--heading);letter-spacing:-.01em}
.event-strip p{font-size:12px;line-height:1.7}
.event-strip p strong{display:block;font-weight:500}
.event-strip p span{font-size:10px;color:var(--soft)}
.text-link{display:inline-flex;align-items:center;gap:23px;padding:7px 0;font-size:12px;line-height:1.5;background:none;border:0}
.text-link>span{font:400 22px/1 Arial,sans-serif;transition:transform .25s}
.text-link:hover>span{transform:translate(3px,-3px)}
/* Human copy balanced by a purposeful flow line. */
.about-layout{display:grid;grid-template-columns:1.25fr .85fr;gap:clamp(42px,7vw,115px);align-items:center}
.about-layout h2{font-size:clamp(45px,5.35vw,82px)}
.underlined-word{position:relative;display:inline-block}
.underlined-word::after{content:'';position:absolute;bottom:-9px;left:0;right:0;height:2px;background:var(--mint)}
.about-copy{max-width:460px}
.about-copy>p:not(.lead){color:var(--soft);font-size:15px;line-height:1.85;margin-top:22px}
.about-copy .text-link{color:var(--mint);margin-top:22px;font-size:11px}
.connection-line{display:flex;align-items:center;gap:22px;margin-top:75px;font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--soft)}
.connection-line>span{white-space:nowrap}
.connection-line>span:last-child{color:var(--mint)}
.connection-track{flex:1;height:1px;background:var(--line);position:relative}
.connection-track i{position:absolute;left:0;top:-2.5px;width:6px;height:6px;background:var(--mint);border-radius:50%;animation:idea-travel 8s linear infinite}
.connection-track i:nth-child(2){animation-delay:-2.65s}.connection-track i:nth-child(3){animation-delay:-5.3s}
@keyframes idea-travel{0%{left:0;opacity:0}8%,90%{opacity:1}100%{left:calc(100% - 6px);opacity:0}}
.shared-flow{position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:38px 0 43px;overflow:hidden}
.shared-flow-inner{display:flex;justify-content:space-between;align-items:center;gap:22px;font:600 clamp(21px,2.35vw,38px)/1 var(--heading);letter-spacing:-.025em}
.shared-flow i{font:400 17px var(--body);font-style:normal;color:var(--soft)}
.flow-rail{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line)}
.flow-rail span{position:absolute;top:0;left:0;bottom:0;width:90px;background:var(--mint);animation:flow-ideas 14s linear infinite}
.flow-rail span:nth-child(2){animation-delay:-4.6s}.flow-rail span:nth-child(3){animation-delay:-9.3s}
@keyframes flow-ideas{from{left:-90px}to{left:100%}}
.day-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(65px,11vw,170px);align-items:start}
.day-intro{position:sticky;top:133px}
.day-intro h2{font-size:clamp(54px,5.4vw,82px)}
.day-intro-copy{margin-top:32px;font-size:16px;color:var(--soft)}
.day-footnote{margin-top:70px;font-size:11px;color:var(--soft)}
.day-item{border-top:1px solid var(--line)}
.day-item:last-child{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
.day-item summary{display:grid;grid-template-columns:40px 1fr 26px;gap:20px;align-items:center;padding:24px 0 30px}
.day-index{color:var(--mint);font-size:11px}
.day-name{font:700 clamp(48px,5vw,76px)/1 var(--heading);letter-spacing:-.025em}
.detail-plus{width:21px;height:21px;display:block;position:relative}
.detail-plus::before,.detail-plus::after{content:'';width:17px;height:1px;background:currentColor;position:absolute;left:2px;top:10px}
.detail-plus::after{transform:rotate(90deg);transition:transform .25s}
details[open]>summary .detail-plus::after{transform:rotate(0deg)}
.day-item[open] .day-name{color:var(--mint)}
.day-content{padding:0 0 36px 60px}
.day-content .eyebrow{color:var(--mint);font-size:9px;margin-bottom:16px}
.day-content>p:not(.eyebrow){font-size:15px;line-height:1.8;color:var(--soft);max-width:450px}
.day-small{display:block;font-size:10px;color:var(--soft);margin-top:24px}
/* Work = units arriving and fitting together. Connect = ideas passing. */
.work-graphic{display:flex;align-items:end;gap:5px;margin-top:32px;height:76px;position:relative;width:100%;border-bottom:1px solid var(--line)}
.work-graphic span{height:38px;width:28%;background:var(--mint);clip-path:polygon(0 0,85% 0,85% 25%,100% 25%,100% 75%,85% 75%,85% 100%,0 100%,0 75%,15% 75%,15% 25%,0 25%);animation:fit-piece 7s var(--ease) infinite}
.work-graphic span:nth-child(2){animation-delay:.3s;opacity:.65}.work-graphic span:nth-child(3){animation-delay:.6s;opacity:.35}
.work-graphic i{display:none}
@keyframes fit-piece{0%,8%{transform:translateY(-18px);opacity:.2}28%,85%{transform:translateY(0);opacity:1}100%{transform:translateY(-18px);opacity:.2}}
.connect-graphic{margin-top:35px;position:relative;height:55px;display:flex;align-items:center;justify-content:space-between;width:85%}
.connect-graphic::before{content:'';position:absolute;left:0;right:0;height:1px;background:var(--mint);opacity:.6}
.connect-graphic i{width:25px;height:25px;background:var(--plum);border:1px solid var(--mint);z-index:1;border-radius:50%;position:relative}
.connect-graphic i::after{content:'';position:absolute;inset:7px;border-radius:50%;background:var(--mint)}
.connect-graphic::after{content:'';position:absolute;left:0;width:5px;height:5px;background:var(--paper);animation:idea-travel 6s linear infinite}
.social-graphic{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.social-graphic span{border:1px solid var(--line);padding:12px 18px;font-size:12px;position:relative}
.social-graphic span:last-child{border-color:var(--mint);color:var(--mint);margin-top:15px}
.off-script{padding:68px 0 72px;background:var(--mint);color:var(--plum);overflow:hidden}
.off-script-inner{position:relative}
.off-script-top{display:flex;justify-content:space-between;align-items:center;gap:22px}
.off-script-top>span{font:400 67px/1 Arial,sans-serif}
.off-script h2{font-size:clamp(68px,10vw,156px);letter-spacing:-.04em;line-height:.88;margin:39px 0 50px;position:relative;z-index:1}
.off-script h2 span{padding-left:13%}
.off-script-bottom{display:flex;justify-content:space-between;gap:30px;font-size:12px;line-height:1.7;position:relative;z-index:1}
.off-script-bottom p:last-child{text-align:right}
.joined-beams{position:absolute;right:2%;top:18%;width:190px;height:90px;opacity:.13;display:grid;grid-template-columns:repeat(4,1fr);gap:3px;transform:rotate(-32deg)}
.joined-beams span{height:100%;background:var(--plum);animation:beams-fit 11s var(--ease) infinite}
.joined-beams span:nth-child(2){animation-delay:.25s}.joined-beams span:nth-child(3){animation-delay:.5s}.joined-beams span:nth-child(4){animation-delay:.75s}
@keyframes beams-fit{0%,100%{transform:translateY(18%)}25%,80%{transform:none}}
.people-layout{display:grid;grid-template-columns:1fr .9fr;gap:100px;align-items:start}
.people-left h2{font-size:clamp(53px,6vw,93px)}
.people-right>p:not(.lead){color:var(--soft);font-size:16px;line-height:1.8;margin-top:24px}
.people-list{margin-top:30px;border-top:1px solid var(--line)}
.people-list>div{border-bottom:1px solid var(--line);padding:19px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}
.people-list>div>span:last-child{color:var(--mint);font-size:23px}
.people-right .people-note{font-size:11px!important}
.next-event-section{background:var(--plum-deep)}
.event-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:100px;align-items:center}
.event-intro h2{font-size:clamp(52px,5.8vw,90px)}
.event-intro>p:not(.eyebrow){margin-top:27px;max-width:410px;font-size:15px;line-height:1.8;color:var(--soft)}
.chapter-mark{display:flex;align-items:center;gap:27px;margin-top:45px}
.chapter-mark>span{font:600 83px/.9 var(--heading);color:var(--mint);letter-spacing:-.045em}
.chapter-mark>div{font-size:10px;line-height:1.6;color:var(--soft)}
.event-ticket{color:var(--plum);background:var(--paper);padding:34px 37px 28px;position:relative;width:100%;max-width:570px}
.ticket-top{display:flex;justify-content:space-between;align-items:center;gap:20px}
.ticket-top .eyebrow{font-size:9px}
.ticket-tab{font-size:9px;background:var(--mint);padding:4px 10px;line-height:1.5;text-transform:uppercase;letter-spacing:.08em}
.ticket-date{display:flex;align-items:center;gap:25px;margin:17px 0 23px;line-height:1.1}
.ticket-day{font:800 clamp(130px,12vw,178px)/.85 var(--heading);letter-spacing:-.05em}
.ticket-date>div{padding-top:19px;min-width:0}
.ticket-date strong{display:block;font:700 38px/1 var(--heading)}
.ticket-date>div>span{font-size:10px;line-height:2.2;color:var(--ink-soft)}
.ticket-venue h3{font-size:32px;letter-spacing:-.025em;line-height:1.1}
.ticket-venue p{font-size:12px;color:var(--ink-soft);margin-top:10px}
.ticket-venue p>span{margin-inline:8px}
.map-link{display:inline-flex;gap:10px;font-size:10px;margin-top:8px;min-height:32px;align-items:center;text-decoration:underline;text-underline-offset:4px}
.ticket-divider{position:relative;border-top:1px dashed rgba(71,15,49,.26);margin:29px -37px 25px}
.ticket-divider::before,.ticket-divider::after{content:'';position:absolute;top:-10px;left:-10px;width:20px;height:20px;border-radius:50%;background:var(--plum-deep)}
.ticket-divider::after{left:auto;right:-10px}
.ticket-countdown .eyebrow{color:var(--ink-soft);font-size:9px}
.countdown{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:8px;margin-top:17px;margin-bottom:21px}
.countdown>div{text-align:center}
.countdown strong{font:600 clamp(30px,3.25vw,48px)/1 var(--body);font-variant-numeric:tabular-nums;letter-spacing:-.05em}
.countdown-colon{font:400 29px/1.6 var(--body);opacity:.45}
.countdown>div>span{display:block;font-size:8px;letter-spacing:.14em;text-transform:uppercase;margin-top:8px;color:var(--ink-soft)}
.countdown-status{font-size:12px;line-height:1.5;margin-bottom:15px}
.countdown-status:empty{display:none}
.event-ticket>.action{width:100%}
.event-ticket a:focus-visible{outline-color:var(--plum)}
.booking-note{margin-top:10px;text-align:center;font-size:10px;color:var(--ink-soft)}
.calendar-link{display:flex;align-items:center;justify-content:center;gap:15px;font-size:10px;margin-top:13px;min-height:37px}
.calendar-link:hover{text-decoration:underline;text-underline-offset:4px}
.calendar-link span{font-size:20px}
.booking-fallback{display:none;font-size:12px;line-height:1.7;margin-top:20px}
.booking-fallback:target{display:block}
.questions-section{padding-block:95px;border-bottom:1px solid var(--line)}
.questions-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.questions-layout h2{font-size:56px}
.questions-list details{border-bottom:1px solid var(--line)}
.questions-list details:first-child{border-top:1px solid var(--line)}
.questions-list summary{display:flex;align-items:center;justify-content:space-between;gap:22px;font-size:15px;line-height:1.5;padding:22px 0}
.questions-list .detail-plus{flex-shrink:0;color:var(--mint)}
.questions-list details p{font-size:14px;color:var(--soft);padding:0 25px 24px 0;line-height:1.8}
.partner-invitation{border-bottom:1px solid var(--line);padding-block:86px}
.invitation-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:90px;align-items:center}
.invitation-layout .eyebrow{color:var(--mint);margin-bottom:24px}
.invitation-layout h2{font-size:clamp(45px,5vw,78px)}
.invitation-layout>div:last-child p{font-size:15px;color:var(--soft);max-width:360px;margin-bottom:27px;line-height:1.8}
.site-footer{padding:40px 0 26px}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;color:var(--soft)}
.footer-top .text-link{color:var(--mint)}
.footer-wordmark{display:block;width:min(870px,81%);margin:55px 0 45px}
.footer-nav{display:flex;gap:28px;align-items:center;flex-wrap:wrap;font-size:12px;padding-bottom:20px}
.footer-nav a:hover,.footer-nav a[aria-current]{color:var(--mint)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:17px;border-top:1px solid var(--line);font-size:9px;color:var(--soft)}
.booking-dialog,.enquiry-dialog{padding:42px;width:520px;position:fixed;max-height:88dvh;overflow-y:auto}
.booking-dialog>.icon-close,.enquiry-dialog>.icon-close{position:absolute;top:15px;right:15px}
.booking-dialog>.eyebrow,.enquiry-dialog>.eyebrow{font-size:9px;margin-right:40px}
.booking-dialog h2,.enquiry-dialog h2{font-size:52px;margin:28px 0 22px}
.booking-dialog>p:not(.eyebrow),.enquiry-dialog>p:not(.eyebrow){font-size:14px;line-height:1.8;margin:15px 0;color:var(--ink-soft)}
.booking-dialog .action{margin-top:15px;width:100%}
.booking-dialog small{font-size:10px;display:block;margin-top:14px;color:var(--ink-soft)}
/* Partnership page: distinct content, same editorial system. */
.partner-hero{padding-top:150px;padding-bottom:72px;border-bottom:1px solid var(--line)}
.partner-hero-layout{display:grid;grid-template-columns:1.15fr .75fr;gap:120px;align-items:end;padding:60px 0 70px}
.partner-hero h1{font-size:clamp(92px,10vw,168px);line-height:.94}
.partner-hero-aside{padding-bottom:5px}
.partner-hero-aside>.lead{max-width:315px}
.partner-hero-aside>p:not(.lead){color:var(--soft);font-size:15px;max-width:365px;line-height:1.8;margin-top:24px}
.partner-hero-aside .action{margin-top:27px}
.partner-hero-aside .partner-hero-small{font-size:11px!important;margin-top:20px!important}
.partner-foundation{position:relative;display:grid;grid-template-columns:1fr 40px 1fr 40px 1fr;gap:20px;padding-top:36px;border-top:1px solid var(--line)}
.foundation-unit{min-width:0;position:relative;z-index:1;transform:translateY(0)}
.foundation-unit .eyebrow{display:block;color:var(--soft);font-size:9px;letter-spacing:.13em}
.foundation-unit strong{display:block;font:650 clamp(32px,4vw,62px)/1.1 var(--heading);margin-top:10px;letter-spacing:-.025em}
.foundation-unit:last-child strong{color:var(--mint)}
.foundation-joint{font:300 27px/1 var(--body);align-self:center;color:var(--mint);text-align:center}
.foundation-line{position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--line);overflow:hidden}
.foundation-line::before{content:'';position:absolute;left:-100px;height:1px;width:100px;background:var(--mint);animation:flow-ideas 12s linear infinite}
.partner-purpose .about-layout{align-items:start}
.partner-routes{background:var(--plum-deep)}
.section-heading-row{display:grid;grid-template-columns:1.2fr .7fr;gap:100px;align-items:end;margin-bottom:68px}
.section-heading-row>p{color:var(--soft);font-size:15px;max-width:310px;padding-bottom:5px}
.partner-route{display:grid;grid-template-columns:38px .85fr 1.1fr;gap:40px;border-top:1px solid var(--line);padding:48px 0 53px}
.partner-route:last-child{border-bottom:1px solid var(--line)}
.route-title,.route-detail{min-width:0}
.route-index{font-size:11px;color:var(--mint);padding-top:3px}
.route-title .eyebrow{font-size:9px;color:var(--soft);margin-bottom:24px;display:block}
.route-title h3{font-size:clamp(44px,4.7vw,72px);line-height:.93}
.route-detail p{color:var(--paper);font-size:16px;line-height:1.7;max-width:485px}
.route-detail ul{padding:0;margin:24px 0;list-style:none;color:var(--soft);font-size:13px;line-height:1.75}
.route-detail li{padding-left:18px;position:relative;margin:10px 0}
.route-detail li::before{content:'+';position:absolute;left:0;top:0;color:var(--mint)}
.route-detail .text-link{color:var(--mint);font-size:12px}
.routes-note{font-size:11px;color:var(--soft);max-width:700px;margin-top:25px}
.partner-principles{background:var(--mint);color:var(--plum);padding:82px 0}
.partner-principles h2{font-size:clamp(61px,8.8vw,138px);line-height:.88;margin:33px 0 48px}
.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;padding-top:28px;border-top:1px solid rgba(71,15,49,.25)}
.principle-grid p{font-size:13px;line-height:1.8}
.principle-grid strong{display:block;font-size:15px;margin-bottom:10px}
.enquiry-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,9vw,140px);align-items:start}
.enquiry-intro h2{font-size:clamp(58px,6.3vw,97px);line-height:.9}
.enquiry-intro>p:not(.eyebrow){margin-top:29px;font-size:15px;line-height:1.8;color:var(--soft);max-width:340px}
.enquiry-disclosure{border-top:1px solid var(--line);padding-top:23px;max-width:340px;margin-top:45px}
.enquiry-disclosure .eyebrow{color:var(--mint);font-size:9px}
.enquiry-disclosure p{font-size:11px;line-height:1.8;margin-top:10px;color:var(--soft)}
.partner-form{padding-top:8px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.form-field{margin-bottom:29px;min-width:0}
.form-field label{display:block;font-size:12px;line-height:1.5;margin-bottom:12px}
.form-field label span{font-size:10px;color:var(--soft)}
.form-field input,.form-field select,.form-field textarea{display:block;width:100%;border:0;border-bottom:1px solid rgba(247,247,245,.4);border-radius:0;padding:13px 0 16px;background:none;color:var(--paper);font-size:14px;line-height:1.5;outline-offset:4px}
.form-field input::placeholder,.form-field textarea::placeholder{color:var(--soft);opacity:.7}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--mint)}
.form-field select option{color:var(--plum);background:var(--paper)}
.form-field textarea{resize:vertical;min-height:126px;max-height:360px}
.partner-form .action{width:100%}
.form-footnote{font-size:10px;color:var(--soft);line-height:1.8;margin-top:14px;max-width:480px}
.form-status{font-size:12px;line-height:1.6;min-height:1em;margin-top:12px}
.enquiry-dialog{width:640px}
.enquiry-dialog h2{font-size:50px}
#enquiry-draft{width:100%;display:block;background:white;color:var(--plum);border:1px solid rgba(71,15,49,.22);font:12px/1.8 var(--body);padding:16px;border-radius:0;resize:vertical;max-height:40dvh;margin:22px 0}
.enquiry-result-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.enquiry-result-actions .text-link{font-size:11px}
/* Progressive enhancement: never hide content by default. */
.reveal.will-reveal{opacity:0;transform:translateY(22px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal.in-view{opacity:1;transform:none}
.motion-paused *, .motion-paused *::before, .motion-paused *::after{animation-play-state:paused!important}
.motion-paused .reveal.will-reveal{opacity:1;transform:none}
.motion-paused .menu-dialog[open],.motion-paused .menu-dialog.is-closing{animation:none!important;transform:none}
/* Tablet: typography and the artwork reflow; nothing is cropped to make it fit. */
@media(min-width:1600px){.hero-layout{gap:45px}.hero-description{font-size:17px}.community-art{max-width:670px;justify-self:end;width:100%}}
@media(max-width:1100px){
 .hero-layout{gap:20px}.hero{padding-top:136px}.hero-description{font-size:14px;max-width:370px}.hero-actions{gap:17px}.hero-date{font-size:10px}.hero-actions .action{font-size:11px;padding-inline:17px;gap:20px}
 .community-art{padding-left:0}.art-label .eyebrow{font-size:8px}.community-figure figcaption{font-size:8px;gap:10px}.story-bottom{font-size:9px}.story-bottom p{max-width:250px}
 .about-layout{gap:60px}.about-layout h2{font-size:5.2vw}.day-layout{gap:55px}.people-layout,.event-layout,.questions-layout{gap:65px}.people-left h2{font-size:6vw}.event-intro h2{font-size:6vw}
 .event-ticket{padding:28px}.ticket-divider{margin-inline:-28px}.ticket-date strong{font-size:32px}.ticket-venue h3{font-size:28px}
 .partner-hero-layout{gap:70px}.partner-route{gap:26px;grid-template-columns:30px .9fr 1.2fr}.principle-grid{gap:32px}.enquiry-layout{gap:55px}.invitation-layout{gap:60px}
}
@media(max-width:800px){
 :root{--gutter:30px}.site-header{padding-block:22px}.brand{width:150px}.header-right{gap:27px}.menu-dialog{width:83vw}
 .hero{padding-top:126px}.hero-layout{grid-template-columns:1fr;gap:55px;padding-top:45px;padding-bottom:34px}.hero-copy h1{font-size:clamp(84px,13.6vw,113px)}.hero-description{font-size:16px;max-width:475px;margin-top:28px}.hero-actions .action{font-size:12px;padding-inline:21px;gap:30px}.hero-actions{gap:27px}.hero-date{font-size:11px}
 .community-art{width:min(100%,620px);justify-self:center}.art-label .eyebrow{font-size:9px}.community-figure figcaption{font-size:10px}.story-bottom{font-size:11px}.story-bottom p{max-width:420px}.story-step{font-size:13px}
 .event-strip-inner{gap:22px;flex-wrap:wrap}.event-strip-inner>.text-link{display:none}.strip-date{font-size:34px}.event-strip p{font-size:11px}
 .about-layout{grid-template-columns:1fr;gap:38px}.about-layout h2{font-size:clamp(52px,8vw,68px)}.about-copy{max-width:600px}.connection-line{margin-top:50px}
 .shared-flow-inner{gap:15px;font-size:clamp(22px,3vw,28px)}.shared-flow{padding-block:32px}
 .day-intro h2{font-size:55px}.day-layout{gap:40px;grid-template-columns:.8fr 1.2fr}.day-name{font-size:50px}.day-item summary{grid-template-columns:26px 1fr 20px;gap:14px}.day-content{padding-left:40px}.day-content>p:not(.eyebrow){font-size:14px}.day-intro-copy{font-size:14px}
 .people-layout{gap:40px}.people-left h2{font-size:56px}.people-right>p:not(.lead){font-size:14px}.people-list>div{font-size:12px}
 .event-layout{grid-template-columns:1fr;gap:48px}.event-intro h2{font-size:72px}.event-intro>p:not(.eyebrow){max-width:510px}.chapter-mark{margin-top:30px}.event-ticket{max-width:590px;justify-self:center}.ticket-day{font-size:155px}.countdown strong{font-size:43px}.ticket-venue h3{font-size:33px}
 .questions-layout{grid-template-columns:1fr;gap:38px}.questions-layout h2{font-size:53px}.questions-list{max-width:650px}.questions-section{padding-block:78px}
 .invitation-layout{grid-template-columns:1fr;gap:30px}.invitation-layout h2{font-size:64px}.invitation-layout>div:last-child p{max-width:530px}.footer-wordmark{width:90%}
 .partner-hero{padding-top:130px;padding-bottom:55px}.partner-hero-layout{gap:40px;grid-template-columns:1fr 1fr;padding-top:52px}.partner-hero h1{font-size:12vw}.partner-hero-aside>.lead{font-size:20px}.partner-hero-aside>p:not(.lead){font-size:13px}.partner-hero-aside .action{font-size:11px;gap:20px;padding-inline:15px}
 .partner-foundation{gap:12px;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1.35fr)}.foundation-unit .eyebrow{font-size:8px}.foundation-unit strong{font-size:clamp(26px,4.5vw,38px)}
 .section-heading-row{gap:45px}.section-heading-row h2{font-size:60px}.section-heading-row>p{font-size:13px}.partner-route{gap:25px;grid-template-columns:22px .8fr 1.2fr}.route-title h3{font-size:45px}.route-title .eyebrow{font-size:8px}.route-detail p{font-size:14px}.route-detail ul{font-size:12px}
 .partner-principles h2{font-size:83px}.enquiry-layout{grid-template-columns:1fr;gap:46px}.enquiry-intro h2{font-size:75px}.enquiry-intro>p:not(.eyebrow){max-width:480px}.enquiry-disclosure{max-width:100%;margin-top:28px}.partner-form{max-width:650px}
}
@media(max-width:560px){
 :root{--gutter:22px}html{scroll-padding-top:96px}.site-header{padding-block:18px}.site-header.is-scrolled{padding-block:14px}.brand{width:133px}.header-event{display:none}.header-right{gap:0}.menu-word{font-size:9px}.menu-toggle{gap:12px}.hamburger{width:29px}.hamburger span{width:29px}.hamburger span:last-child{width:22px}
 .hero{padding-top:115px}.hero-topline{gap:12px;align-items:start}.hero-topline .eyebrow{font-size:8px;letter-spacing:.11em;gap:9px}.hero-chapter{max-width:89px;text-align:right}.micro-cross{font-size:16px}.hero-layout{padding-top:43px;gap:47px}.hero-copy h1{font-size:clamp(67px,18.5vw,96px);line-height:.94;letter-spacing:-.045em}.hero-description{font-size:14px;line-height:1.8;margin-top:26px}.hero-actions{gap:17px;margin-top:23px}.hero-actions .action{font-size:10px;gap:25px;padding-inline:17px;min-height:50px}.hero-date{font-size:9px}.hero-date strong{font-size:11px}
 .community-figure figcaption{font-size:8px;padding-bottom:17px;gap:8px;flex-wrap:wrap}.art-key{gap:5px}.art-label .eyebrow{font-size:7.5px;letter-spacing:.08em}.community-scene{margin-top:2px}.story-step{padding:13px 0;min-height:44px;gap:10px;font-size:12px}.story-step>span{font-size:8px}.story-bottom{font-size:9px;min-height:52px;gap:14px}.story-replay{font-size:9px}.story-bottom p{max-width:225px}
 .hero-bottom{gap:18px;padding-top:12px;align-items:center}.scroll-link{font-size:8px;letter-spacing:.09em;gap:10px}.motion-toggle{font-size:9px;white-space:nowrap}.event-strip-inner{padding-block:24px;gap:16px}.strip-label{gap:20px}.strip-label .eyebrow{font-size:8px;max-width:70px}.strip-date{font-size:32px}.event-strip p{flex-basis:100%;display:flex;justify-content:space-between;gap:18px;font-size:10px}.event-strip p span{font-size:9px;max-width:140px;text-align:right;line-height:1.5}
 .section-pad{padding-block:75px}.section-eyebrow{font-size:9px;margin-bottom:29px}.about-layout{gap:35px}.about-layout h2{font-size:clamp(40px,10.6vw,57px)}.about-copy .lead{font-size:20px}.about-copy>p:not(.lead){font-size:14px}.about-copy .text-link{font-size:10px;gap:18px}.underlined-word::after{bottom:-7px}.connection-line{gap:12px;margin-top:38px;font-size:8px;letter-spacing:.06em}.connection-track i{width:4px;height:4px;top:-1.5px}
 .shared-flow{padding-block:30px}.shared-flow-inner{font-size:26px;flex-wrap:wrap;justify-content:start;gap:15px;line-height:1}.shared-flow-inner>span:last-child{flex-basis:100%;font-size:34px;margin-top:4px}.shared-flow-inner i{font-size:13px}
 .day-layout{grid-template-columns:1fr;gap:37px}.day-intro{position:static}.day-intro h2{font-size:61px;line-height:.9}.day-intro-copy{font-size:14px;margin-top:25px}.day-footnote{display:none}.day-item summary{padding:22px 0;grid-template-columns:26px 1fr 20px;gap:13px}.day-name{font-size:50px}.day-content{padding:0 0 30px 39px}.day-content .eyebrow{font-size:8px}.work-graphic{height:60px}.day-small{font-size:9px}
 .off-script{padding:43px 0 48px}.off-script-top .eyebrow{font-size:8px;max-width:215px}.off-script-top>span{font-size:43px}.off-script h2{font-size:clamp(47px,12.2vw,68px);line-height:.9;margin:33px 0}.off-script h2 span{padding-left:0}.off-script-bottom{flex-direction:column;gap:18px;font-size:11px}.off-script-bottom p:last-child{text-align:left}.joined-beams{right:-120px;top:45%;opacity:.08}
 .people-layout{grid-template-columns:1fr;gap:34px}.people-left h2{font-size:63px}.people-right .lead{font-size:20px}.people-list>div{font-size:12px;gap:18px}.people-note{font-size:10px!important}
 .event-layout{gap:39px}.event-intro h2{font-size:clamp(49px,15.4vw,64px)}.event-intro>p:not(.eyebrow){font-size:14px}.chapter-mark>span{font-size:72px}.chapter-mark>div{font-size:9px}.event-ticket{padding:25px 23px 22px}.ticket-top .eyebrow{font-size:8px}.ticket-date{margin:20px 0 24px;gap:clamp(12px,3vw,20px)}.ticket-day{font-size:clamp(84px,24vw,130px);flex-shrink:0}.ticket-date strong{font-size:clamp(23px,6.5vw,34px)}.ticket-date>div>span{font-size:9px}.ticket-venue h3{font-size:30px}.ticket-venue p{font-size:11px}.ticket-divider{margin:27px -23px 23px}.countdown{gap:5px}.countdown strong{font-size:36px}.countdown-colon{font-size:23px;line-height:1.8}.countdown>div>span{font-size:7px}.booking-note,.calendar-link{font-size:9px}
 .questions-section{padding-block:68px}.questions-layout h2{font-size:53px}.questions-list summary{font-size:14px}.questions-list details p{font-size:13px}
 .partner-invitation{padding-block:69px}.invitation-layout h2{font-size:clamp(42px,11.2vw,59px)}.invitation-layout>div:last-child p{font-size:14px}.invitation-layout .action{font-size:11px}
 .site-footer{padding-top:26px}.footer-top{align-items:start;gap:20px;font-size:10px}.footer-top .text-link{font-size:9px;max-width:170px;gap:10px;padding-top:0}.footer-wordmark{width:100%;margin:35px 0 27px}.footer-nav{font-size:10px;gap:20px}.footer-bottom{font-size:8px;flex-wrap:wrap;gap:14px}.footer-bottom .motion-toggle{margin-left:auto}
 .menu-dialog{width:100%;max-width:100vw}.menu-shell{padding:22px 23px 30px}.menu-topline .eyebrow{font-size:9px}.menu-intro{margin-top:37px;font-size:12px}.drawer-links a{font-size:35px;grid-template-columns:20px 1fr 21px;gap:12px;padding:20px 0 24px}.link-arrow{font-size:22px}.menu-bottom{padding-top:40px;flex-direction:column;align-items:start;gap:20px}.menu-bottom p{font-size:11px}
 .booking-dialog,.enquiry-dialog{padding:28px}.booking-dialog h2,.enquiry-dialog h2{font-size:42px}.booking-dialog>p:not(.eyebrow),.enquiry-dialog>p:not(.eyebrow){font-size:13px}
 .partner-hero{padding-top:115px;padding-bottom:43px}.partner-hero-layout{grid-template-columns:1fr;gap:37px;padding:46px 0 47px}.partner-hero h1{font-size:clamp(68px,19vw,94px);line-height:.94}.partner-hero-aside>.lead{font-size:22px;max-width:290px}.partner-hero-aside>p:not(.lead){font-size:14px;margin-top:20px}.partner-hero-aside .action{font-size:12px;padding-inline:20px}.partner-hero-small{display:none}
 .partner-foundation{gap:7px;grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr) 10px minmax(0,1.35fr);padding-top:22px}.foundation-unit .eyebrow{font-size:6px;letter-spacing:.05em;min-height:22px;max-width:95px}.foundation-unit strong{font-size:clamp(18px,5.5vw,29px);letter-spacing:-.035em}.foundation-joint{font-size:15px}
 .section-heading-row{grid-template-columns:1fr;gap:26px;margin-bottom:43px}.section-heading-row h2{font-size:56px}.section-heading-row>p{font-size:14px;max-width:330px}.partner-route{grid-template-columns:22px 1fr;gap:18px;padding:32px 0 36px}.route-title .eyebrow{font-size:8px;margin-bottom:16px}.route-title h3{font-size:clamp(42px,11.2vw,53px)}.route-title h3 br{display:block}.route-detail{grid-column:2}.route-detail p{font-size:14px}.route-detail ul{font-size:12px;margin:19px 0}.route-detail .text-link{font-size:10px;gap:15px}.routes-note{font-size:10px;margin-top:20px}
 .partner-principles{padding:57px 0}.partner-principles h2{font-size:clamp(43px,11.4vw,60px);line-height:.91;margin:28px 0 32px}.principle-grid{grid-template-columns:1fr;gap:24px}.principle-grid p{font-size:13px}.principle-grid strong{font-size:14px;margin-bottom:6px}
 .enquiry-layout{gap:34px}.enquiry-intro h2{font-size:67px}.enquiry-intro>p:not(.eyebrow){font-size:14px}.enquiry-disclosure{margin-top:25px}.enquiry-disclosure p{font-size:11px}.form-row{grid-template-columns:1fr;gap:0}.form-field{margin-bottom:25px}.form-field label{font-size:11px}.form-field input,.form-field textarea,.form-field select{font-size:16px}.form-footnote{font-size:10px}.enquiry-result-actions{gap:17px}.enquiry-dialog .action{font-size:11px;padding-inline:15px;gap:20px}
}
@media(max-width:360px){
 :root{--gutter:18px}.hero-copy h1{font-size:65px}.hero-date{display:none}.hero-topline .eyebrow{font-size:7px}.art-label .eyebrow{font-size:7px}.story-bottom{font-size:8px}.community-figure figcaption{font-size:7px}.hero-bottom{gap:10px}.scroll-link{font-size:7px}.motion-toggle{font-size:8px}.about-layout h2{font-size:37px}.countdown strong{font-size:31px}.ticket-day{font-size:84px}.ticket-date strong{font-size:23px}.ticket-venue h3{font-size:27px}.drawer-links a{font-size:31px}.partner-hero h1{font-size:64px}.route-title h3{font-size:45px}.section-heading-row h2{font-size:49px}.event-intro h2{font-size:49px}.footer-nav{gap:16px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
 .reveal.will-reveal{opacity:1;transform:none}
}
@media print{
 .site-header,.reading-progress,dialog,.motion-toggle,.story-controls,.story-replay,.partner-form{display:none!important}
 body{background:white;color:var(--plum)}body *{color:var(--plum)!important}.hero,.partner-hero{padding-top:25px}.section-pad,.questions-section{padding-block:30px}.reveal{opacity:1!important;transform:none!important}.day-intro{position:static}.event-ticket{border:1px solid var(--plum)}.footer-wordmark{display:none}.hero-layout,.event-layout{display:block}.hero-art{max-width:450px}.partner-foundation{break-inside:avoid}
}
