@font-face{font-family:Unbounded;src:url('assets/fonts/unbounded-variable.ttf') format('truetype');font-weight:200 900;font-display:swap}
:root{--ink:#0e0e11;--blue:#6e8bff;--mint:#5cffd1;--coral:#ff6f61;--paper:#fafaf7;--pad:clamp(1.25rem,4vw,5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid currentColor;outline-offset:6px}img,video{display:block;max-width:100%}p{line-height:1.65}h1,h2,h3,h4,p{margin-top:0}.skip{position:fixed;top:-6rem;left:1rem;z-index:100;background:var(--mint);padding:1rem}.skip:focus{top:1rem}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem var(--pad);background:var(--paper);border-bottom:1px solid var(--ink)}.brand{font-size:1rem;font-weight:800;white-space:nowrap}.brand span{font-weight:400;margin-left:.4rem}.topbar nav{display:flex;gap:clamp(1rem,3vw,3rem);align-items:center}.topbar nav a{font-size:.875rem;padding:.4rem 0;text-underline-offset:6px}.topbar nav a:hover,.topbar nav a[aria-current]{text-decoration:underline}.hero{padding:0 var(--pad) 2.5rem}.hero-stage{position:relative;max-width:1600px;margin:auto;min-height:36rem;height:70svh;max-height:850px;display:grid;place-items:center}.hero h1{width:100%;margin:0}.hero h1 img{width:100%;max-height:65svh;object-fit:contain}.word{position:absolute;z-index:1;line-height:1.1;font-weight:700;letter-spacing:-.045em;animation:float 8s ease-in-out infinite alternate}.w1{top:8%;left:0;font-size:clamp(2rem,5.6vw,6rem);color:var(--coral);transform:rotate(-6deg)}.w2{top:15%;right:0;padding:.3em .4em;background:var(--mint);font-size:clamp(1rem,2.2vw,2.3rem);transform:rotate(7deg);animation-delay:-3s}.w3{bottom:13%;left:4%;font-size:clamp(1.1rem,2.3vw,2.6rem);transform:rotate(-4deg);animation-delay:-5s}.w4{bottom:6%;right:6%;font-size:clamp(2rem,4.2vw,4.8rem);color:var(--coral);transform:rotate(6deg);animation-delay:-2s}.hero-bottom{display:flex;gap:3rem;align-items:end;justify-content:space-between}.hero-bottom p{max-width:780px;font-size:clamp(1rem,1.5vw,1.4rem);margin:0;line-height:1.5}.text-link{display:inline-flex;gap:1.5rem;align-items:center;white-space:nowrap;border-bottom:2px solid currentColor;padding:.65rem 0;font-size:1rem}.text-link span{font-size:1.7rem}.pattern-band{height:clamp(110px,17vw,250px);background-color:var(--blue);background-image:url('assets/background/reference-pattern-1.svg');background-size:42% auto;background-position:center 45%;border-block:1px solid var(--ink)}
.recap{padding:4rem var(--pad);background:var(--ink);color:var(--paper)}.recap h2{font-size:1rem;font-weight:400}.recap-composition{display:grid;grid-template-columns:1fr 1.25fr;align-items:center;gap:1.5rem 4vw;padding:3rem 0}.recap-composition>span{display:block}.number{grid-row:1/3;color:var(--blue);font-size:clamp(9rem,25vw,28rem);font-weight:800;line-height:.9;letter-spacing:-.09em}.co-created{color:var(--mint);font-size:clamp(2rem,5.5vw,7rem);font-weight:700;transform:rotate(5deg);letter-spacing:-.05em}.dj-events{color:var(--coral);font-size:clamp(2.3rem,6vw,7rem);font-weight:700;transform:rotate(-4deg)}.communities{font-size:clamp(1.4rem,3.3vw,4rem);line-height:1.2;margin:3rem 0 2rem}.across{font-size:clamp(2rem,5vw,6rem);color:var(--mint);transform:rotate(-5deg);justify-self:center}.places{grid-column:1/-1;justify-self:end;color:var(--blue);font-size:clamp(1.5rem,4.6vw,5.5rem);line-height:1.25;letter-spacing:-.04em;text-align:right}
.experiences{padding:6rem var(--pad);overflow:clip}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:2rem}.section-intro h2{font-size:clamp(3rem,7vw,8rem);line-height:1;letter-spacing:-.06em;color:var(--blue);margin:0}.motion-toggle{border:1px solid var(--ink);border-radius:100px;padding:.8rem 1rem;background:transparent;font-size:.875rem;white-space:nowrap}.motion-toggle:hover{background:var(--mint)}.event-group{margin-top:6rem}.event-group h3{font-size:clamp(2rem,4vw,4.4rem);line-height:1.05;letter-spacing:-.05em;margin:0 0 2.5rem;transform:rotate(-3deg);transform-origin:left}.event-group h3 span{font-weight:400}.group-1 h3,.group-3 h3{margin-left:30%;transform:rotate(3deg)}.event-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2.8vw,3rem);align-items:start}.event:nth-child(even){padding-top:5rem}.event:nth-child(3n){padding-top:2rem}.event-link{display:block}.media{overflow:hidden;aspect-ratio:3/4;background:var(--blue);border-radius:38% 12% 32% 12% / 20% 30% 15% 32%;isolation:isolate}.event:nth-child(even) .media{border-radius:12% 36% 12% 32% / 30% 14% 35% 15%}.media video{width:100%;height:100%;object-fit:cover;transition:transform .35s}.event-link:hover video{transform:scale(1.035)}.event-info{margin-top:1.3rem;min-height:6rem}.event-info h4{font-size:clamp(1rem,1.35vw,1.4rem);font-weight:600;line-height:1.35;letter-spacing:-.025em;margin:0 0 .7rem;overflow-wrap:anywhere}.location{font-size:.875rem;color:#48484c}.recap-link{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--ink);padding:.75rem 0;font-size:.875rem}.event-link:hover .recap-link{background:var(--mint)}.group-4 .event:last-child{grid-column:2/3}.partners{padding:6rem var(--pad);background:var(--blue);border-block:1px solid var(--ink)}.partners h2{font-size:clamp(3rem,8vw,9rem);letter-spacing:-.06em;line-height:1;margin-bottom:4rem}.partners h2 span{color:var(--paper)}.partner-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3rem 2rem}.partner-grid>div{grid-column:span 2}.partner-grid>div:nth-child(-n+2){grid-column:span 3}.partner-grid h3{font-size:1rem;line-height:1.4;font-weight:500;border-top:1px solid var(--ink);padding-top:1rem}.logo-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:center}.logo-list.single{max-width:350px;grid-template-columns:1fr 1fr}.partner-logo{width:100%;height:95px;object-fit:contain}.powered-art{max-width:210px;max-height:190px;object-fit:contain}.invite{background:var(--mint);padding:6rem var(--pad);display:grid;grid-template-columns:1.2fr 1fr;gap:6vw;align-items:center}.invite h2{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 0;align-items:center;font-weight:700;letter-spacing:-.055em;line-height:1;margin:0}.want{grid-column:1/-1;font-size:clamp(2rem,4.5vw,5.5rem);transform:rotate(-4deg)}.year{grid-column:1/-1;font-size:clamp(6rem,13vw,16rem);color:var(--ink);letter-spacing:-.08em}.edition{font-size:clamp(1.6rem,3vw,3.5rem);transform:rotate(-6deg)}.with{font-size:clamp(1.6rem,3vw,3.5rem);transform:rotate(7deg)}.invite-copy p{font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.7;margin-bottom:1.5rem}.footer-pattern{height:130px;background-position:center 70%}footer{padding:5rem var(--pad) 2rem;background:var(--ink);color:var(--paper)}footer h2{font-size:clamp(2.8rem,6.7vw,8rem);line-height:1.15;letter-spacing:-.055em;margin-bottom:4rem}footer h2 a{color:var(--mint);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:.1em}.footer-middle{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;margin-bottom:5rem}.email{font-size:clamp(1rem,1.7vw,2rem);overflow-wrap:anywhere}.email:hover{text-decoration:underline}form label{font-size:1rem}.email-row{display:flex;border-bottom:1px solid var(--paper);margin-top:1rem}.email-row input{min-width:0;width:100%;padding:1rem 0;background:transparent;border:0;color:var(--paper);font-size:1rem}.email-row input::placeholder{color:#b6b6bd}.email-row button{background:transparent;border:0;color:var(--mint);min-width:48px;font-size:2rem}#updates-status{font: .875rem/1.5 Arial,sans-serif;color:#b6b6bd}.footer-line{border-top:1px solid #646469;padding-top:1.5rem;display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;font-size:.875rem;line-height:1.5}.footer-line a:hover{text-decoration:underline}@keyframes float{to{translate:0 -9px}}.motion-paused .word{animation-play-state:paused}
@media(min-width:1800px){.hero-stage,.hero-bottom,.recap-composition,.section-intro,.event-group,.partner-grid,.invite-copy{max-width:1700px;margin-left:auto;margin-right:auto}}
@media(max-width:1000px){.event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 3rem}.event:nth-child(3n){padding-top:0}.event:nth-child(even){padding-top:4rem}.group-4 .event:last-child{grid-column:auto}.event-info{min-height:4.5rem}.invite{grid-template-columns:1fr;gap:4rem}.invite h2{max-width:650px}.year{font-size:clamp(6rem,22vw,14rem)}.want{font-size:clamp(2.6rem,7vw,5rem)}.edition,.with{font-size:clamp(2rem,5vw,3rem)}.invite-copy{max-width:760px}.partner-grid>div{grid-column:span 3}.hero-bottom{align-items:start}.hero-bottom p{max-width:65%}}
@media(max-width:600px){html{scroll-padding-top:5rem}.topbar{gap:.7rem;padding:.8rem 1rem}.brand{font-size:.875rem}.brand span{display:block;margin:2px 0 0;font-size:.75rem}.topbar nav{gap:.85rem}.topbar nav a{font-family:Arial,sans-serif;font-size:.875rem;min-height:40px;display:flex;align-items:center}.hero-stage{min-height:27rem;height:66svh;max-height:38rem}.hero h1 img{width:100%;height:auto}.w1{font-size:clamp(1.5rem,7.4vw,2.6rem);top:12%}.w2{top:25%;right:0;font-size:clamp(.875rem,3.5vw,1.2rem)}.w3{bottom:24%;left:1%;font-size:1rem}.w4{bottom:10%;right:2%;font-size:2rem}.hero-bottom{display:block}.hero-bottom p{max-width:100%;font-size:1rem}.hero-bottom .text-link{margin-top:1rem;font-size:.875rem}.recap{padding:3rem var(--pad)}.recap-composition{grid-template-columns:1fr 1fr;gap:1.5rem .7rem;padding:2rem 0 0}.number{grid-row:auto;font-size:30vw}.co-created{font-size:6vw;overflow-wrap:normal}.dj-events{grid-column:1/-1;font-size:12vw;justify-self:end}.communities{grid-column:1/-1;font-size:6vw;margin:1.5rem 0}.across{justify-self:start;font-size:8vw}.places{font-size:6vw;text-align:right;line-height:1.3}.experiences,.partners,.invite{padding:4rem var(--pad)}.section-intro{display:block}.section-intro h2{font-size:clamp(2.8rem,12vw,4.5rem)}.motion-toggle{margin-top:1.5rem}.event-group{margin-top:4rem}.event-group h3{font-size:clamp(1.8rem,7vw,2.6rem);margin-left:0;margin-bottom:2rem}.event-grid{gap:2rem 1.2rem}.event:nth-child(even){padding-top:3rem}.event-info{min-height:7rem;margin-top:1rem}.event-info h4{font-family:Arial,sans-serif;font-size:1.1rem;line-height:1.3;font-weight:700;letter-spacing:0;overflow-wrap:normal}.recap-link,.location{font: .875rem/1.4 Arial,sans-serif}.partners h2{font-size:3.7rem}.partner-grid{display:block}.partner-grid>div{margin-bottom:2.5rem}.logo-list{grid-template-columns:repeat(3,minmax(0,1fr))}.partner-logo{height:85px}.invite h2{gap:1rem 0}.invite-copy p{font-size:1rem}.footer-middle{grid-template-columns:1fr;gap:2rem}.footer-line{display:grid;grid-template-columns:1fr 1fr;font-family:Arial,sans-serif}.footer-line>span{grid-column:1/-1}footer h2{font-size:clamp(2.5rem,10vw,4rem)}footer{padding-top:3rem}.footer-middle{margin-bottom:3rem}}
@media(max-width:359px){.event-grid{grid-template-columns:1fr}.event:nth-child(n){padding-top:0}.event-info{min-height:0}.event-group h3{font-size:1.8rem}.topbar nav{gap:.6rem}.topbar nav a{font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.word{animation:none}.media video{transition:none}}

/* Compact five-column programme, following the original category structure. */
:root{--paper:#fff;--coral:var(--mint)}
.topbar{position:relative;background:white;border:0;padding-block:1rem}.brand{color:var(--blue)}
.hero{padding:1.5rem var(--pad) 2.5rem;background:white}.hero-stage{height:auto;min-height:0;max-height:none;padding:1rem 0 1.5rem;max-width:800px}.hero h1{color:var(--blue);text-align:center;font-size:clamp(2rem,6vw,5.5rem);font-weight:300;line-height:1.04;letter-spacing:-.035em}.hero h1 strong{display:block;font-size:1.3em;font-weight:700}.hero h1 span{display:block}.hero-bottom{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.hero-bottom p{max-width:760px;font-size:clamp(1rem,1.5vw,1.25rem);font-weight:300;line-height:1.5}.hero-bottom .text-link{font-size:.875rem;border:0;color:var(--blue);margin:0}
.recap{background:var(--blue);color:var(--mint);padding:2.5rem var(--pad) 1.5rem;text-align:center}.recap h2{font-size:1rem;color:var(--ink);font-weight:400;margin-bottom:1rem}.recap h2 span{font-weight:600}.recap-composition{display:block;max-width:1100px;margin:0 auto;padding:0}.recap-headline{font-size:clamp(1.6rem,3.4vw,3.5rem);font-weight:500;line-height:1.25;letter-spacing:-.035em;margin:0 0 .75rem}.recap-headline strong{font-size:1.35em;font-weight:700}.recap-detail{font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.55;font-weight:300;margin:0}.recap-detail strong{font-weight:500}
.experiences{background:var(--blue);color:var(--mint);padding:0 var(--pad) 3.5rem;overflow:clip}.section-intro{justify-content:flex-end;max-width:1700px;margin:0 auto .75rem}.section-intro h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%)}.motion-toggle{margin:0;color:var(--ink);border-color:var(--ink);padding:.5rem .75rem;font: .875rem/1.4 Arial,sans-serif}.programme-columns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);max-width:1700px;margin:auto;align-items:start}.event-group{margin:0;min-width:0}.event-group h3,.group-1 h3,.group-3 h3{transform:none;margin:0 0 1.25rem;min-height:3.6em;font-size:clamp(1rem,1.55vw,1.5rem);font-weight:600;line-height:1.2;letter-spacing:-.03em;text-align:center;text-transform:uppercase;display:flex;flex-direction:column;justify-content:center}.event-group h3 span{font-weight:300}.event-group h3 br{display:none}.event-grid{display:flex;flex-direction:column;gap:1.75rem}.event:nth-child(n){padding:0;margin:0;width:100%;min-width:0}.media,.event:nth-child(even) .media{aspect-ratio:3/4;border-radius:16px;background:var(--ink)}.event-info{min-height:0;margin:.75rem 0 0;text-align:center}.event-info h4{font-family:Arial,Helvetica,sans-serif;font-size:clamp(.875rem,1.05vw,1.125rem);font-weight:500;line-height:1.4;letter-spacing:-.02em;overflow-wrap:normal;margin:0 0 .4rem}.location{font:.875rem/1.4 Arial,sans-serif;color:var(--ink);text-transform:uppercase}.recap-link{justify-content:center;gap:.4rem;color:var(--ink);border:0;padding:.5rem 0 0;font:.875rem/1.4 Arial,sans-serif}.event-link:hover .recap-link{background:transparent;text-decoration:underline}.event-link:focus-visible{outline-color:var(--ink)}
.partners{background:white;border:0;padding:3rem var(--pad)}.partners h2{font-size:2rem;text-align:center;font-weight:300;margin-bottom:2rem}.partners h2 span{color:var(--blue)}.partner-grid{gap:2rem}.partner-grid h3{border:0;color:var(--blue);padding:0}.invite{padding:3rem var(--pad);background:var(--blue);color:var(--mint);grid-template-columns:1fr 1.25fr;gap:4vw}.invite h2{display:block;font-size:clamp(1.8rem,3vw,3rem);line-height:1.25;letter-spacing:-.04em}.invite .year{display:inline;font-size:1.5em;letter-spacing:-.05em;color:var(--mint)}.invite-copy{color:var(--ink)}.invite-copy p{font-size:1rem;font-weight:300;line-height:1.6;margin-bottom:1rem}.footer-pattern{display:none}footer{padding-top:3rem}footer h2{font-size:clamp(2rem,4vw,4rem);margin-bottom:2rem}.footer-middle{margin-bottom:3rem}
@media(max-width:1100px) and (min-width:701px){.programme-columns{gap:1rem}.experiences{padding-inline:1.25rem}.event-group h3{font-size:.875rem;min-height:4.5em}.event-info h4{font-size:.875rem}.media,.event:nth-child(even) .media{border-radius:12px}.recap-link{font-size:.875rem}.invite{grid-template-columns:1fr;gap:2rem}}
@media(max-width:700px){.programme-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 1.25rem}.event-grid{gap:1.5rem}.event-group h3,.group-1 h3,.group-3 h3{font-size:1rem;min-height:3.6em;margin:0 0 1rem}.hero{padding:1rem 1.25rem 2rem}.hero-stage{height:auto;min-height:0;padding:1rem 0 1.5rem}.hero h1{font-size:7.2vw}.hero h1 strong{font-size:1.4em}.hero-bottom p{max-width:100%;font-size:1rem}.recap{padding:2rem 1.25rem 1rem}.recap-detail br{display:none}.recap-detail strong{display:block;margin-top:.25rem}.experiences{padding:0 1.25rem 2.5rem}.section-intro{display:flex;margin-bottom:1.25rem}.event-info{min-height:0}.event-info h4{font-size:.875rem}.partners{padding:2.5rem 1.25rem}.partners h2{font-size:1.75rem}.invite{padding:2.5rem 1.25rem;grid-template-columns:1fr;gap:1.5rem}.invite h2{font-size:2rem}.invite .year{font-size:1.5em}}
@media(max-width:359px){.programme-columns{grid-template-columns:1fr}.event-group h3{min-height:0}.event-info h4{font-size:1rem}}

/* Tessellated bands: every row fills its width, with no masonry holes. */
.experiences{padding:0 0 0;background:var(--blue)}
.section-intro{padding:0 var(--pad);margin-bottom:1rem}
.activation-mosaic{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;width:100%;margin:0;align-items:stretch}
.activation{min-width:0;grid-column:span 1;display:flex;--tile-colour:var(--mint);--preview-height:clamp(240px,27vw,410px)}
.activation:nth-child(8n+1),.activation:nth-child(8n+4),.activation:nth-child(8n+6),.activation:nth-child(8n+7){grid-column:span 2}
.activation:nth-child(4n+2){--tile-colour:#a4b8f8}.activation:nth-child(4n+3){--tile-colour:var(--blue)}
.activation:nth-child(8n+5),.activation:nth-child(8n+6),.activation:nth-child(8n+7),.activation:nth-child(8n+8){--preview-height:clamp(220px,23vw,350px)}
.activation-inner{display:flex;flex-direction:column;min-width:0;width:100%;height:100%;background:var(--tile-colour);color:var(--ink);text-decoration:none;cursor:pointer}
.activation .preview-link{display:block;position:relative;overflow:hidden;flex:none}
.activation .media{border-radius:0;aspect-ratio:auto;height:var(--preview-height);background:#23232b}
.activation .media video{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.activation-inner:hover video{transform:scale(1.025)}
.activation-info{padding:16px clamp(12px,1.4vw,22px) 20px;flex:1}
.activation-info h3{font:500 clamp(1rem,1.3vw,1.4rem)/1.35 Arial,Helvetica,sans-serif;letter-spacing:-.035em;margin:0 0 12px;text-wrap:pretty}
.activation-hosts{display:flex;align-items:center;gap:12px;height:36px;margin-bottom:12px}
.host-logo{width:auto;max-width:min(120px,70%);height:auto;max-height:36px;object-fit:contain;object-position:left center}.host-logo.mono{filter:grayscale(1) invert(1)}
.activation-details{display:flex;flex-direction:column;gap:3px;font:400 .875rem/1.4 Arial,sans-serif;color:#242438}
.activation-details span:first-child{font-weight:500}
.activation-inner:focus-visible{outline:4px solid #12123a;outline-offset:-4px}
.activation-inner:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.partners{background:var(--mint);border:0}.partners h2 span,.partner-grid h3{color:var(--ink)}
@media(max-width:1000px){.activation-mosaic{grid-template-columns:repeat(4,minmax(0,1fr))}.activation:nth-child(n){grid-column:span 1;--preview-height:clamp(200px,27vw,310px)}.activation-info{padding:14px 12px 18px}}
@media(max-width:700px){.activation-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}.activation:nth-child(n){--preview-height:clamp(215px,58vw,370px)}.activation:nth-child(4n+3),.activation:nth-child(4n+4){--preview-height:clamp(185px,48vw,310px)}.activation-info h3{font-size:1rem}.activation-details{font-size:.875rem}.host-logo{max-width:min(110px,70%)}}
@media(max-width:359px){.activation-mosaic{grid-template-columns:minmax(0,1fr)}.activation:nth-child(n){--preview-height:105vw}}
@media(prefers-reduced-motion:reduce){.activation .media video{transition:none}}

.partners .partner-logo{filter:grayscale(1) invert(1)}.partners .partner-logo.original-logo{filter:none}

/* Calm motion from the original wave artwork; original supplied logo. */
.topbar{background:#d9fff1}
.hero{isolation:isolate;position:relative;overflow:hidden;background:#d9fff1;padding:1rem var(--pad) 3rem}
.hero-pattern{position:absolute;z-index:-2;inset:-30%;background-image:url('assets/background/reference-pattern-1.svg');background-size:clamp(900px,100vw,1800px) auto;background-repeat:repeat;background-position:50% 48%;opacity:.65;transform:rotate(-12deg) scale(1.08);animation:hero-wave-drift 38s ease-in-out infinite alternate;will-change:transform;pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(217,255,241,.28),rgba(217,255,241,.12) 55%,rgba(217,255,241,.9));pointer-events:none}
.hero-stage{width:100%;max-width:1000px;min-height:0;height:auto;padding:0;margin:auto}
.hero h1{width:100%;margin:0;line-height:0}
.hero h1 .hero-logo{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.hero-bottom{position:relative;margin-top:-1.5rem}
.hero-bottom p{color:var(--ink);font-weight:400}
.hero-bottom .text-link{color:var(--ink)}
.partners,.invite,footer{background:var(--blue);color:#fff}
.partners h2 span,.partner-grid h3,.invite-copy,.invite-copy .text-link,.invite .year,footer h2 a,.email-row button{color:#fff}
.partners .partner-logo,.partners .partner-logo.original-logo,.host-logo.mono{filter:brightness(0) invert(1)}
.partners .partner-logo.original-logo,.host-logo.original{filter:grayscale(1) invert(1) contrast(10);mix-blend-mode:screen}
#updates-status,.email-row input::placeholder{color:#fff}.footer-line{border-color:rgba(255,255,255,.5)}
@keyframes hero-wave-drift{from{transform:translate3d(-1.5%,-2%,0) rotate(-12deg) scale(1.08)}to{transform:translate3d(1.5%,2%,0) rotate(-8deg) scale(1.12)}}
.motion-paused .hero-pattern{animation-play-state:paused}
@media(max-width:700px){.hero{padding:1.5rem 1rem 2rem}.hero-stage{padding:1rem 0}.hero-bottom{margin-top:0}.hero-pattern{background-size:800px auto}.hero h1 .hero-logo{width:100%;height:auto}}
@media(prefers-reduced-motion:reduce){.hero-pattern{animation:none;will-change:auto}}

/* One uninterrupted wave canvas, from the top through the mosaic entrance. */
#main{position:relative;isolation:isolate;overflow:clip;background:var(--mint)}
.topbar{position:absolute;inset:0 0 auto;background:transparent;border:0}
.hero{isolation:auto;background:transparent;padding-top:5rem;padding-bottom:1rem;overflow:visible}
.hero::after{display:none}
.hero-pattern{z-index:-1;inset:-200px -25%;opacity:1;background-size:clamp(1000px,110vw,1900px) auto;background-position:50% 10%;background-repeat:repeat}
.hero-bottom .text-link{font-weight:500}
.recap{background:transparent;color:var(--ink);text-align:left;padding:3rem var(--pad) 1.5rem;position:relative}
.recap h2{max-width:1000px;margin:0 auto .75rem;font-size:.875rem;color:var(--ink);text-align:left;letter-spacing:.05em;text-transform:uppercase}
.recap-composition{max-width:1000px;margin:0 auto}
.recap-headline{font-size:clamp(2.2rem,5.5vw,5.5rem);font-weight:500;line-height:1.1;letter-spacing:-.055em;margin:0 0 1.5rem}
.recap-headline strong{font-size:1em;font-weight:700}
.recap-tail{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem}
.recap-detail{font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.55;margin:0}
.recap-tail .motion-toggle{flex:none;background:transparent;color:var(--ink);margin:0}
.experiences{background:transparent;padding:0;margin:0}
.experiences .section-intro{position:absolute;width:1px;height:1px;overflow:hidden;padding:0;margin:0;clip-path:inset(50%)}
.activation-mosaic{position:relative;background:transparent}
.activation-inner{height:auto;flex:1}
.activation:nth-child(1){padding-top:clamp(40px,6vw,100px)}
.activation:nth-child(2){padding-top:0}
.activation:nth-child(3){padding-top:clamp(20px,3vw,50px)}
.activation:nth-child(4){padding-top:clamp(55px,8vw,130px)}
@media(max-width:1000px){.activation:nth-child(1){padding-top:60px}.activation:nth-child(3){padding-top:30px}.activation:nth-child(4){padding-top:80px}}
@media(max-width:700px){.hero{padding-top:5rem;padding-bottom:1rem}.hero-pattern{background-size:950px auto}.recap{padding:2rem 1.25rem 1.5rem}.recap-headline{font-size:clamp(2rem,8vw,3.5rem)}.recap-tail{align-items:flex-start;flex-direction:column;gap:1rem}.recap-detail br{display:none}.recap-detail strong{display:block}.activation:nth-child(n){padding-top:0}.activation:nth-child(1){padding-top:40px}}
@media(max-width:359px){.activation:nth-child(n){padding-top:0}}

/* The wave field becomes the same column structure as the real mosaic. */
.hero-pattern{inset:0 0 auto;height:1100px;opacity:1;background:var(--mint);transform:none;animation:none;will-change:auto;overflow:hidden}
.hero-pattern canvas{display:block;width:100%;height:100%}
.recap{padding-bottom:clamp(100px,13vw,180px)}
.activation:nth-child(n){padding-top:0}
@media(max-width:700px){.recap{padding-bottom:100px}.hero-pattern{background-size:auto}}

/* The final cards finish at different depths over the blue partner section. */
.activation-mosaic{background:var(--blue)}
@media(min-width:701px){
 .activation:nth-last-child(-n+4){align-self:start}
 .activation.end-step-0{--preview-height:calc(clamp(240px,27vw,410px) + 56px)}
 .activation.end-step-1{--preview-height:calc(clamp(240px,27vw,410px) + 120px)}
 .activation.end-step-2{--preview-height:calc(clamp(240px,27vw,410px) + 20px)}
 .activation.end-step-3{--preview-height:clamp(240px,27vw,410px)}
}
@media(min-width:701px) and (max-width:1000px){
 .activation.end-step-0{--preview-height:calc(clamp(200px,27vw,310px) + 40px)}
 .activation.end-step-1{--preview-height:calc(clamp(200px,27vw,310px) + 96px)}
 .activation.end-step-2{--preview-height:calc(clamp(200px,27vw,310px) + 12px)}
 .activation.end-step-3{--preview-height:clamp(200px,27vw,310px)}
}
@media(min-width:360px) and (max-width:700px){
 .activation.end-step-2,.activation.end-step-3{align-self:start}
 .activation.end-step-2{--preview-height:calc(clamp(185px,48vw,310px) + 40px)}
}

/* A single story rises beneath the same logo as it settles into the corner. */
.topbar{position:absolute;display:flex;justify-content:flex-end;z-index:30;padding:24px var(--pad)}
.hero{height:100svh;min-height:480px;padding:0;display:flex;align-items:center;justify-content:center;position:relative}
.hero-stage{width:min(76vw,820px);max-width:none;margin:0;padding:0}
.hero h1{position:static;transform:none}
.travelling-logo{display:block;width:100%;line-height:0;transform-origin:0 0}
.hero h1 .hero-logo{width:100%;height:auto}
.logo-travels .travelling-logo{position:fixed;left:0;top:0;z-index:40;will-change:transform}
.story-cue{position:absolute;bottom:6vh;left:50%;transform:translateX(-50%);color:var(--ink);font:32px/1 Arial,sans-serif;text-decoration:none;will-change:opacity}
.recap.story{padding:5vh max(7vw,24px) 70px;text-align:left;color:var(--ink)}
.story-beat{max-width:960px;margin:0 auto clamp(60px,12vh,130px);font-size:clamp(1.35rem,3.1vw,3rem);line-height:1.5;font-weight:350;letter-spacing:-.035em;text-wrap:pretty}
.story-beat strong{font-weight:650}
.story-count{font-size:1.22em;line-height:1.3}
.story-ending{margin-bottom:2rem}
.story .recap-tail{max-width:960px;margin:auto;justify-content:flex-end}
.story-animates .story-beat{opacity:0;transform:translateY(26px);transition:opacity .65s ease,transform .65s ease}
.story-animates .story-beat.is-visible{opacity:1;transform:none}
@media(max-width:700px){.topbar{padding:20px 16px}.topbar nav{gap:14px}.hero-stage{width:90vw}.recap.story{padding:3vh 24px 55px}.story-beat{margin-bottom:64px;font-size:clamp(1.25rem,5.5vw,1.9rem);line-height:1.5}.story-ending{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.story-animates .story-beat{opacity:1;transform:none;transition:none}.logo-travels .travelling-logo{will-change:auto}}
.motion-paused .story-beat{opacity:1;transform:none;transition:none}
.hero-stage{aspect-ratio:16/9}
.travelling-logo .hero-logo{display:block;width:100%;height:auto}
.visually-hidden-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

/* Match the current 2027 site typography. */
body,button,input,.story-beat,.activation-info h3{font-family:Arial,Helvetica,sans-serif}
.story-beat{font-weight:400;letter-spacing:-.025em}.story-beat strong{font-weight:700}
/* Independent original initials and a compact, centered narrative. */
.logo-initials-travel .travelling-logo{position:fixed;inset:0;width:100vw;height:100vh;z-index:40;pointer-events:none;transform:none}
.logo-initials-travel .travelling-logo .hero-logo{width:100%;height:100%;overflow:visible}
.logo-initials-travel .logo-initial{pointer-events:visiblePainted}
.hero-place{position:fixed;z-index:41;top:clamp(112px,12.2vh,128px);left:24px;width:max-content;margin:0;color:var(--blue);font:800 .65rem/1 Arial,Helvetica,sans-serif;letter-spacing:.16em;text-transform:uppercase;will-change:transform,opacity;pointer-events:none}.hero-place b{color:var(--mint);font-size:1.3em}@media(max-width:700px){.hero-place{top:96px;left:16px;font-size:.56rem;letter-spacing:.12em}}
.recap.story{text-align:center;padding-top:3vh}
.story-beat{max-width:900px;font-size:clamp(1.6rem,3.8vw,3.5rem);font-weight:700;line-height:1.12;letter-spacing:-.04em;text-wrap:balance;margin-bottom:clamp(44px,8vh,80px);translate:0 var(--story-parallax,0px)}
.story-beat strong{font-weight:700}.story-count{font-size:1.25em;line-height:1.05}
.story-ending{margin-bottom:28px}.story .recap-tail{justify-content:center}
@media(max-width:700px){.story-beat{font-size:clamp(1.5rem,6.8vw,2.2rem);line-height:1.14;margin-bottom:48px}.story-ending{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.story-beat{translate:none}}
.motion-paused .story-beat{translate:none}

/* A quieter opening: hold the pattern while the short introduction is read. */
.story-beat{font-size:clamp(1.4rem,2.7vw,2.5rem);max-width:780px;line-height:1.18;letter-spacing:-.03em}
.story-beat:first-child{margin-bottom:clamp(160px,32vh,300px)}
#story-2026{translate:none}
@media(max-width:700px){.story-beat{font-size:clamp(1.3rem,5.5vw,1.8rem);line-height:1.2}.story-beat:first-child{margin-bottom:26vh}}

/* Keep all approved copy, with the reading pause just before the year. */
.story-beat:first-child{margin-bottom:clamp(44px,8vh,80px)}
.story-beat:nth-child(3){margin-bottom:clamp(110px,20vh,190px)}
@media(max-width:700px){.story-beat:first-child{margin-bottom:48px}.story-beat:nth-child(3){margin-bottom:18vh}}
/* Blend the story's ink with the moving shapes, as in the 2027 site. */
.recap.story{isolation:auto}
.story-beat{color:#5cffd1;mix-blend-mode:difference}
.story-beat strong{color:inherit}

/* Blue ink on white; cool dark ink over the moving mint shapes. */
.story-beat{color:#243b9e;mix-blend-mode:multiply}
.story-beat:first-child{margin-bottom:clamp(110px,20vh,190px)}
.story-beat:nth-child(3){margin-bottom:clamp(44px,8vh,80px)}
@media(max-width:700px){.story-beat:first-child{margin-bottom:18vh}.story-beat:nth-child(3){margin-bottom:48px}}

/* Story glyphs use the exact moving shape map with selected brand inks. */
.story-beat{mix-blend-mode:normal;color:#243b9e}
.story-beat.palette-ink{background-repeat:no-repeat;background-size:100% 100%;background-clip:text;-webkit-background-clip:text;color:transparent}
.story-beat.palette-ink strong{color:inherit}

/* Three readable beats, with place names held inside the sentence. */
.recap.story{padding-inline:clamp(24px,6vw,90px);padding-bottom:12vh}
.story-beat{max-width:960px;font-size:clamp(1.65rem,3.2vw,3rem);font-weight:700;line-height:1.3;letter-spacing:-.035em}
.story-beat:first-child,.story-beat:nth-child(3),.story-beat{margin:0 auto clamp(130px,24vh,250px)}
.story-beat.story-finale{margin-bottom:0}
.story-beat p{font:inherit;margin:0}
.story-ink{color:#243b9e;mix-blend-mode:normal}
.story-ink.palette-ink{background-repeat:no-repeat;background-size:100% 100%;background-clip:text;-webkit-background-clip:text;color:transparent}
.story-ink.palette-ink strong{color:inherit}
.story-count{display:inline-block;font-size:1.35em;line-height:1.15}
.story-finale .finale-line{margin-top:1em}
.story-cities{margin:.18em auto .3em;display:flex;flex-direction:column;align-items:center;gap:.12em}
.city-row{display:flex;align-items:baseline;justify-content:center;gap:.35em;max-width:100%}
.city{font-family:Unbounded,Arial,sans-serif;font-size:.95em;line-height:1.3;letter-spacing:-.055em;display:inline-block;padding:.06em .02em;white-space:nowrap}
.city-lisbon{font-weight:800;transform:rotate(4deg)}
.city-caparica{font-weight:400}
.city-ericeira{font-weight:800}
.city-carcavelos{font-weight:250;transform:rotate(-4deg)}
@media(max-width:700px){
  .story-beat{font-size:clamp(1.8rem,7.8vw,2.55rem);line-height:1.2}
  .story-count{font-size:1em;line-height:1.2}
  .story-beat:first-child,.story-beat:nth-child(3),.story-beat{margin-bottom:20vh}
  .story-beat.story-finale{margin-bottom:0}
  .city{font-size:.82em}
  .city-row{gap:.25em}
  .story-finale .finale-line{margin-top:2.25em}
  .story-reveal-ready .story-beat{opacity:0;transform:translateY(30px) scale(.985);filter:blur(7px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1),filter .75s ease}
  .story-reveal-ready .story-beat.is-revealed{opacity:1;transform:none;filter:none}
}
@media(max-width:700px) and (prefers-reduced-motion:reduce){.story-reveal-ready .story-beat{opacity:1;transform:none;filter:none;transition:none}}

/* Mobile: keep the fixed signature clear and preserve the complete Community Talks mark. */
.activation[aria-labelledby="activation-5"] .host-logo{filter:none!important;mix-blend-mode:normal!important;transform:none!important;width:min(240px,100%);object-fit:contain;object-position:left center}
@media(max-width:700px){
  .hero-place{top:108px}
  .activation[aria-labelledby="activation-5"]{--host-logo-height:46px}
  .activation[aria-labelledby="activation-5"] .host-logo{width:min(210px,100%);height:46px;max-height:46px}
}

/* The first videos rise into the pattern while the next row stays joined. */
.recap.story{padding-bottom:clamp(220px,30vh,360px)}
.activation:nth-child(-n+4){--entrance-rise:0px}
.activation:nth-child(1){--entrance-rise:56px}
.activation:nth-child(2){--entrance-rise:112px}
.activation:nth-child(3){--entrance-rise:24px}
.activation:nth-child(4){--entrance-rise:80px}
.activation:nth-child(-n+4) .activation-inner{margin-top:calc(-1 * var(--entrance-rise))}
.activation:nth-child(-n+4) .media{height:calc(var(--preview-height) + var(--entrance-rise))}
@media(max-width:700px){
.activation:nth-child(-n+4){--entrance-rise:0px}
.activation:nth-child(1){--entrance-rise:32px}
.activation:nth-child(2){--entrance-rise:72px}
.recap.story{padding-bottom:220px}
}
@media(max-width:359px){.activation:nth-child(n){--entrance-rise:0px}}

/* Original partner composition: studio, curators, Lisbon, then the coastal groups. */
.partners{padding:110px 24px 64px}
.partner-grid{display:grid;grid-template-columns:20% 20% minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;gap:28px 20px;align-items:start}
.partner-grid>div{margin:0;min-width:0;text-align:center}
.partner-grid>div:nth-child(1){grid-column:1;grid-row:1 / 3}
.partner-grid>div:nth-child(2){grid-column:2;grid-row:1 / 3}
.partner-grid>div:nth-child(3){grid-column:3;grid-row:1 / 3}
.partner-grid>div:nth-child(4){grid-column:4;grid-row:1}
.partner-grid>div:nth-child(5){grid-column:4;grid-row:2}
.partner-grid h3{font:500 clamp(15px,1.7vw,24px)/1.3 Unbounded,Arial,sans-serif;color:var(--mint);margin:0 0 27px;padding:0;border:0;text-align:center}
.partner-grid .logo-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:center}
.partner-grid .logo-list.single{grid-template-columns:1fr;gap:10px;justify-items:center}
.partner-grid .partner-logo{width:100%;height:90px;max-width:100%;object-fit:contain}
.partner-grid .single .partner-logo{max-width:210px;height:110px}
.partner-grid .powered-art{width:100%;max-width:240px;height:auto}
@media(max-width:809px){
.partners{padding:70px 20px 40px}
.partner-grid{grid-template-columns:1fr 1fr;gap:36px 20px}
.partner-grid>div:nth-child(n){grid-column:auto;grid-row:auto}
.partner-grid>div:nth-child(3){grid-column:1 / -1}
.partner-grid h3{font-size:16px}
.partner-grid .partner-logo{height:70px}
.partner-grid .single .partner-logo{height:85px}
}
@media(max-width:420px){.partner-grid>div:nth-child(4),.partner-grid>div:nth-child(5){grid-column:1 / -1}}

/* Closing invitation and footer, shared with the next edition. */
.next-edition{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,.82fr);align-items:center;gap:clamp(60px,9vw,150px);padding:clamp(88px,10vh,118px) clamp(24px,6vw,100px) clamp(92px,9vw,132px);background:var(--blue);color:#fff}
.next-edition-copy h2{margin:0;font:900 clamp(3rem,5vw,6.1rem)/.84 Unbounded,Arial,sans-serif;letter-spacing:-.07em}
.next-edition-copy h2,.next-edition-copy p span{display:block}
.next-edition-copy p{margin:clamp(24px,4.5vh,48px) 0 0;font-size:clamp(1.4rem,2.4vw,2.55rem);font-weight:700;line-height:1.12;letter-spacing:-.04em}
.next-edition-copy p span+span{margin-top:.28em}
.next-edition-copy p span:nth-child(1){color:var(--mint)}
.next-edition-copy p span:nth-child(2){color:#a4b8f8}
.next-edition-copy p span:nth-child(3){color:#fff}
.conversation-form{width:min(620px,100%);display:grid;gap:14px}
.conversation-form label{display:grid;gap:6px}.conversation-form label span{font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:lowercase}
.conversation-form input,.conversation-form textarea{width:100%;padding:10px 0;border:0;border-bottom:1px solid rgba(255,255,255,.55);outline:none;background:transparent;color:#fff;font:inherit}
.conversation-form textarea{resize:vertical;min-height:70px}.conversation-form input:focus,.conversation-form textarea:focus{border-bottom-color:#fff;box-shadow:0 2px 0 #fff}
.conversation-form button{margin-top:8px;padding:5px 0;display:flex;justify-content:space-between;align-items:flex-end;border:0;background:transparent;color:#fff;font:900 clamp(1.5rem,2.8vw,3rem)/.85 Unbounded,Arial,sans-serif;letter-spacing:-.06em;text-align:left;cursor:pointer}.conversation-form button span{color:var(--mint);font-size:1.2em}
.conversation-form .conversation-consent{grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;margin-top:4px;cursor:pointer}.conversation-form .conversation-consent input{width:18px;height:18px;margin:1px 0 0;padding:0;accent-color:var(--mint);box-shadow:none}.conversation-form .conversation-consent span{font-size:.72rem;font-weight:500;line-height:1.4;letter-spacing:0;text-transform:none}.conversation-form button:disabled{opacity:.55;cursor:wait}.conversation-status{min-height:1.4em;margin:0;color:rgba(255,255,255,.78);font:750 clamp(.82rem,1vw,.95rem)/1.4 Arial,Helvetica,sans-serif;transition:color .2s ease,background-color .2s ease,padding .2s ease}.conversation-status.is-success{padding:10px 12px;background:var(--mint);color:#0b0b0d}.conversation-status.is-error{padding:10px 12px;background:#fff;color:#0b0b0d}.conversation-honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;border:0!important}
.site-footer{position:relative;z-index:1;min-height:430px;padding:clamp(76px,7vw,104px) 0 calc(clamp(92px,8.8vw,132px) + 28px);display:grid;align-content:space-between;gap:clamp(38px,4.5vw,62px);background:#0e0e11;color:#fff;overflow:hidden}
.footer-transition{display:grid;gap:48px}.footer-main,.footer-bottom,.footer-statement{margin-right:clamp(18px,4vw,64px);margin-left:clamp(18px,4vw,64px)}
.footer-statement{max-width:440px;margin-top:0;margin-bottom:0;color:#fff;font-size:clamp(.98rem,1.25vw,1.34rem);font-weight:400;line-height:1.38;text-align:left}.footer-inline-logo{display:inline-block;width:auto;height:1.9em;margin:0 .1em -.4em -.18em;vertical-align:baseline;filter:brightness(0) invert(1)}
.footer-main{display:grid;grid-template-columns:minmax(260px,420px) minmax(0,1fr);align-items:end;gap:clamp(52px,10vw,170px)}.footer-updates{display:grid;gap:14px}.footer-updates>label{font:900 clamp(1.55rem,2.8vw,3rem)/.85 Unbounded,Arial,sans-serif;letter-spacing:-.065em;text-transform:lowercase}.footer-email-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;border-bottom:1px solid rgba(255,255,255,.54)}.footer-email-row input{min-width:0;padding:10px 12px 10px 0;border:0;outline:0;background:transparent;color:#fff;font:inherit}.footer-email-row input::placeholder{color:rgba(255,255,255,.45)}.footer-email-row button{width:52px;padding:4px 0 7px 14px;display:grid;place-items:center;border:0;background:transparent;color:var(--mint);cursor:pointer}.footer-email-row button span{font-size:2rem;font-weight:900}.footer-bottom{display:flex;justify-content:flex-end;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}.footer-links{display:grid;grid-template-columns:repeat(4,max-content);justify-content:end;align-items:baseline;gap:clamp(24px,3.2vw,56px)}.footer-links a{color:rgba(255,255,255,.84);font-size:clamp(.72rem,.82vw,.82rem);font-weight:650}.footer-links a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}.site-footer small{color:rgba(255,255,255,.46);font-size:.54rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
@media(max-width:700px){.next-edition{grid-template-columns:1fr;gap:42px;padding:72px 20px 100px}.next-edition-copy h2{font-size:clamp(2.7rem,11vw,4.2rem)}.next-edition-copy p{margin-top:18px;font-size:clamp(1.25rem,5.8vw,1.8rem)}.conversation-form{gap:11px}.site-footer{min-height:0;padding:70px 0 72px}.footer-main{grid-template-columns:1fr;align-items:start;gap:38px}.footer-links{grid-template-columns:repeat(2,max-content);justify-content:start;row-gap:18px;column-gap:30px}.footer-bottom{justify-content:flex-start}}

/* Stronger, easier-to-scan mosaic cards. */
.activation-info{padding:20px clamp(15px,1.7vw,26px) 24px}
.activation-info h3{font:800 clamp(1.25rem,1.7vw,1.85rem)/1.05 Arial,Helvetica,sans-serif;letter-spacing:-.055em;margin:0 0 18px;text-wrap:balance}
.host-label{margin:0 0 7px;color:rgba(14,14,17,.72);font:700 .66rem/1 Arial,Helvetica,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.activation-hosts{display:flex;align-items:center;gap:16px;height:56px;margin-bottom:18px}.host-logo{max-width:min(180px,90%);max-height:56px;width:auto;height:auto;object-fit:contain;object-position:left center}
.activation-details{display:flex;flex-direction:row;flex-wrap:wrap;gap:7px;color:var(--ink);font:700 .74rem/1.1 Arial,Helvetica,sans-serif}.activation-details span{display:inline-flex;align-items:center;min-height:28px;padding:6px 9px;border:1.5px solid currentColor;border-radius:999px;background:rgba(255,255,255,.16);letter-spacing:.01em}.activation-details span:first-child{font-weight:800;background:var(--ink);color:#fff;border-color:var(--ink)}
@media(max-width:700px){.activation-info{padding:16px 13px 19px}.activation-info h3{font-size:clamp(1.15rem,5vw,1.5rem);margin-bottom:15px}.activation-hosts{height:48px;margin-bottom:15px}.host-logo{max-height:48px;max-width:min(150px,90%)}.activation-details{font-size:.69rem;gap:5px}.activation-details span{min-height:26px;padding:5px 8px}}

/* Same generous visual scale for every host mark. */
.activation-hosts{height:64px;min-width:0}.activation-hosts .host-logo{display:block;width:auto;height:64px;max-width:100%;max-height:64px;object-fit:contain;object-position:left center}.activation-hosts .host-logo.original{filter:grayscale(1) invert(1) contrast(10);mix-blend-mode:screen}
@media(max-width:700px){.activation-hosts{height:56px}.activation-hosts .host-logo{height:56px;max-height:56px}}

/* Individual host-logo optical sizing, based on the recap mosaic. */
.activation{--host-logo-height:64px}
.activation-hosts{height:var(--host-logo-height)}
.activation-hosts .host-logo{height:var(--host-logo-height);max-height:var(--host-logo-height)}
.activation[aria-labelledby="activation-0"],.activation[aria-labelledby="activation-4"]{--host-logo-height:92px}
.activation[aria-labelledby="activation-1"],.activation[aria-labelledby="activation-7"],.activation[aria-labelledby="activation-10"]{--host-logo-height:96px}
.activation[aria-labelledby="activation-15"],.activation[aria-labelledby="activation-12"],.activation[aria-labelledby="activation-16"]{--host-logo-height:80px}
.activation[aria-labelledby="activation-11"],.activation[aria-labelledby="activation-8"],.activation[aria-labelledby="activation-6"],.activation[aria-labelledby="activation-13"],.activation[aria-labelledby="activation-17"],.activation[aria-labelledby="activation-3"]{--host-logo-height:74px}
.activation[aria-labelledby="activation-5"]{--host-logo-height:56px}
.activation[aria-labelledby="activation-5"] .host-logo,.activation[aria-labelledby="activation-14"] .host-logo{transform:translateX(-9px)}
@media(max-width:700px){.activation{--host-logo-height:56px}.activation[aria-labelledby="activation-0"],.activation[aria-labelledby="activation-4"]{--host-logo-height:76px}.activation[aria-labelledby="activation-1"],.activation[aria-labelledby="activation-7"],.activation[aria-labelledby="activation-10"]{--host-logo-height:80px}.activation[aria-labelledby="activation-15"],.activation[aria-labelledby="activation-12"],.activation[aria-labelledby="activation-16"]{--host-logo-height:68px}.activation[aria-labelledby="activation-11"],.activation[aria-labelledby="activation-8"],.activation[aria-labelledby="activation-6"],.activation[aria-labelledby="activation-13"],.activation[aria-labelledby="activation-17"],.activation[aria-labelledby="activation-3"]{--host-logo-height:64px}.activation[aria-labelledby="activation-5"]{--host-logo-height:50px}}

/* Closing invitation and footer share the 2027 type system. */
.next-edition{min-height:100svh;padding:clamp(88px,10vh,118px) clamp(18px,6vw,100px) calc(clamp(92px,8.8vw,132px) + clamp(24px,4vh,42px));gap:clamp(68px,9vw,160px);align-items:center}
.next-edition-copy{max-width:720px}
.next-edition-copy h2{margin:0;font-family:Arial,Helvetica,sans-serif;font-size:clamp(3.15rem,5vw,6.1rem);font-weight:760;line-height:.82;letter-spacing:-.07em}
.next-edition-copy h2 span,.next-edition-copy p span{display:block}
.next-edition-copy h2 span{white-space:nowrap}
.next-edition-copy p{margin:clamp(24px,4.5vh,48px) 0 0;font-size:clamp(1.65rem,2.6vw,2.6rem);font-weight:700;line-height:1.12;letter-spacing:-.035em}
.next-edition-copy p span{white-space:nowrap;color:var(--mint)}
.next-edition-copy p span:nth-child(1),.next-edition-copy p span:nth-child(2){color:#fff}
.next-edition-copy p span+span{margin-top:.28em}
.conversation-form{width:min(620px,100%);max-height:100%;gap:clamp(10px,1.65vh,18px)}
.conversation-form label{gap:clamp(3px,.65vh,7px)}
.conversation-form label>span{font-size:.68rem;font-weight:800;letter-spacing:.07em}
.conversation-form input,.conversation-form textarea{padding:clamp(7px,1.05vh,11px) 0;font-size:clamp(.9rem,1.25vw,1.05rem)}
.conversation-form textarea{min-height:clamp(48px,7.5vh,72px)}
.conversation-form button{margin-top:clamp(6px,1vh,12px);padding:5px 0;font-family:Arial,Helvetica,sans-serif;font-size:clamp(1.55rem,2.8vw,3rem);font-weight:900;line-height:.82;letter-spacing:-.065em}
.footer-updates>label{font-family:Arial,Helvetica,sans-serif;font-size:clamp(1.55rem,2.8vw,3rem);font-weight:900;line-height:.82;letter-spacing:-.065em}
@media(max-width:700px){.next-edition{min-height:100svh;padding:clamp(70px,9svh,86px) 18px calc(100px + env(safe-area-inset-bottom));grid-template-columns:1fr;grid-template-rows:auto auto;align-content:center;gap:clamp(34px,4.5svh,46px)}.next-edition-copy{max-width:100%}.next-edition-copy h2{font-size:clamp(2.2rem,9.4vw,3.25rem);line-height:.84}.next-edition-copy p{margin-top:clamp(10px,1.7svh,16px);font-size:clamp(1.15rem,5.9vw,1.78rem);font-weight:760;line-height:1.06;letter-spacing:-.052em}.next-edition-copy p span+span{margin-top:.2em}.conversation-form{gap:5px}.conversation-form input,.conversation-form textarea{padding:4px 0}.conversation-form textarea{min-height:34px}.conversation-form button{padding:10px 14px}}

/* Match the 2027 closing rhythm and brand signature. */
.next-edition{padding-bottom:clamp(70px,7vw,110px)}
.footer-transition{gap:clamp(40px,4.5vw,68px)}
.footer-statement{max-width:420px;letter-spacing:-.012em}
.footer-inline-logo{overflow:visible;filter:none}
.powered-by-wow{display:inline-flex;align-items:center;gap:.3em;white-space:nowrap}

/* Compact MailerLite capture in the existing footer link row. */
.footer-newsletter-inline{position:relative;display:flex;align-items:center;gap:8px;min-width:min(280px,100%);border-bottom:1px solid rgba(255,255,255,.55)}
.footer-newsletter-inline input{width:clamp(88px,10vw,150px);min-width:0;padding:5px 0;border:0;outline:0;background:transparent;color:#fff;font:650 clamp(.72rem,.82vw,.82rem)/1 Arial,Helvetica,sans-serif}
.footer-newsletter-inline input::placeholder{color:rgba(255,255,255,.58)}.footer-newsletter-inline:focus-within{border-bottom-color:#fff}
.footer-newsletter-inline button{display:flex;align-items:center;gap:5px;padding:5px 0;border:0;background:transparent;color:#fff;font:650 clamp(.72rem,.82vw,.82rem)/1 Arial,Helvetica,sans-serif;white-space:nowrap}.footer-newsletter-inline button span{color:var(--mint)}
.footer-newsletter-inline button:disabled{opacity:.55;cursor:wait}.footer-newsletter-inline #updates-status{position:absolute;top:calc(100% + 7px);right:0;width:max-content;max-width:280px;color:rgba(255,255,255,.76);font:.68rem/1.35 Arial,Helvetica,sans-serif;text-align:right}.sr-only,.form-response-frame{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);border:0}
@media(max-width:700px){.footer-newsletter-inline{grid-column:1/-1;width:min(290px,100%)}.footer-newsletter-inline input{width:100%}.footer-newsletter-inline #updates-status{right:auto;left:0;text-align:left}}
.footer-instagram-icon{display:grid!important;place-items:center;width:25px!important;height:25px;padding:0!important;border:0!important;color:#fff!important;flex:0 0 25px}.footer-instagram-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8}.footer-instagram-icon .instagram-dot{fill:currentColor;stroke:none}.footer-instagram-icon:hover{color:var(--mint)!important}
.footer-wow .footer-links{align-items:center;gap:0}.footer-contact{margin-left:clamp(34px,3vw,48px)}
.footer-newsletter-inline{flex:1;min-width:0;max-width:285px;margin-left:clamp(24px,2.2vw,34px)}.footer-newsletter-inline input{flex:1;width:auto}.footer-newsletter-inline button{color:var(--mint);font-size:.88rem;font-weight:750}.footer-newsletter-inline button span{font-size:1.15em}
.footer-playbook{transform:translateX(clamp(8px,1.5vw,22px));grid-template-columns:clamp(102px,8.5vw,126px) minmax(250px,1fr)}.playbook-copy>p:not(.playbook-kicker) span{display:block;white-space:nowrap}
@media(max-width:1050px){.footer-playbook{transform:none;grid-template-columns:112px minmax(220px,1fr)}.playbook-copy>p:not(.playbook-kicker) span{white-space:normal}}
@media(max-width:800px){.footer-wow .footer-links{flex-wrap:wrap}.footer-contact{margin-left:30px}.footer-newsletter-inline{flex-basis:245px;margin-left:24px}.footer-playbook{grid-template-columns:112px 1fr}}
.wow-logo-crop{display:inline-flex;width:1.95em;height:1.05em;align-items:center;overflow:hidden;vertical-align:middle}
.wow-logo-crop img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:700px){.next-edition{padding-bottom:clamp(70px,9svh,86px)}.footer-transition{gap:40px}}

/* A 2026 threshold: angular, double polylines flow into the footer. */
.footer-polyline-divider{position:relative;height:clamp(66px,7vw,108px);overflow:hidden;background:var(--blue);isolation:isolate;cursor:default}
.polyline-track{position:absolute;left:-5%;width:110%;height:44%;display:flex;align-items:center;will-change:transform;animation:polyline-drift 12s ease-in-out infinite alternate}
.polyline-track i{display:block;flex:1 0 13%;height:2px;background:currentColor;transform-origin:center}
.polyline-track i:nth-child(1){transform:rotate(18deg)}.polyline-track i:nth-child(2){transform:rotate(-23deg)}.polyline-track i:nth-child(3){transform:rotate(14deg)}.polyline-track i:nth-child(4){transform:rotate(-17deg)}.polyline-track i:nth-child(5){transform:rotate(25deg)}.polyline-track i:nth-child(6){transform:rotate(-14deg)}.polyline-track i:nth-child(7){transform:rotate(20deg)}.polyline-track i:nth-child(8){transform:rotate(-18deg)}
.polyline-mint{top:14%;color:var(--mint)}.polyline-blue{bottom:16%;color:#a4b8f8;animation-delay:-4.5s}
.footer-polyline-divider:hover .polyline-mint{animation-duration:3.8s}.footer-polyline-divider:hover .polyline-blue{animation-duration:4.7s}
@keyframes polyline-drift{0%{transform:translateX(-2%) translateY(-3px)}100%{transform:translateX(2%) translateY(4px)}}
.site-footer{min-height:0;padding-top:clamp(48px,4.5vw,68px)}
.wow-logo-crop{width:1.28em;height:1em}
@media(max-width:700px){.footer-polyline-divider{height:68px}.site-footer{padding-top:48px}}

/* Final recap refinements. */
.activation-details{flex-direction:column;align-items:flex-start;gap:5px}.activation-details span{width:max-content}
.activation-mosaic{grid-auto-flow:dense;overflow:hidden}
.partners{padding-right:12px;padding-left:12px}.partner-grid{grid-template-columns:minmax(120px,.62fr) minmax(270px,1.42fr) minmax(220px,1fr) minmax(220px,1fr);grid-template-rows:auto;gap:20px 10px;align-items:start}.partner-grid>div:nth-child(n){grid-column:auto;grid-row:auto}.partner-grid .logo-list,.partner-grid .logo-list.single{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 5px;max-width:none;justify-items:center}.partner-grid .partner-logo{height:60px}.partner-grid .partner-logo.wide{max-width:76%;justify-self:center}.partner-grid .single .partner-logo{height:60px;max-width:100%}.partner-grid .partner-logo[alt="MVMT Studio"]{width:auto;height:40px;max-width:62%;justify-self:center;object-fit:contain}.partner-grid h3{margin-bottom:12px;font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-.025em}
.footer-polyline-divider{height:clamp(76px,8vw,122px);background:var(--blue)}.footer-polyline-divider::after{content:"";position:absolute;inset:37% 0 -1px;background:#0e0e11;clip-path:polygon(0 42%,12% 0,25% 62%,39% 15%,54% 83%,70% 22%,84% 68%,100% 13%,100% 100%,0 100%)}.polyline-track{z-index:1}.site-footer{padding-top:clamp(38px,3vw,52px)}
@media(max-width:700px){.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.partner-grid>div:nth-child(n){grid-column:auto}.partner-grid .logo-list,.partner-grid .logo-list.single{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 6px}.partner-grid .partner-logo,.partner-grid .single .partner-logo{height:58px}.site-footer{padding-top:36px}}

/* The 2027 footer-line rhythm, reduced to the 2026 white and bright-mint palette. */
.footer-polyline-divider{visibility:hidden}
.footer-line-divider{--footer-cell:clamp(10px,1.05vw,17px);position:relative;height:calc(var(--footer-cell) * 4);overflow:hidden;background:#0e0e11}
.footer-line-track{width:max-content;height:100%;display:flex;animation:footer-line-flow 22s linear infinite;will-change:transform}
.footer-line-group{flex:none;height:100%;display:flex;align-items:stretch;background:#0e0e11}
.footer-line-segment{display:flex;height:100%;color:#fff}.footer-line-segment.tone-mint{color:var(--mint)}
.footer-line-segment i{display:block;flex:0 0 var(--footer-cell);width:var(--footer-cell);height:100%;align-self:end;background:currentColor;animation:footer-line-breathe 4.2s steps(1,end) infinite}
.footer-line-segment i:nth-child(1){--line-low:.72;animation-delay:-.3s}.footer-line-segment i:nth-child(2){--line-low:.46;animation-delay:-1.1s}.footer-line-segment i:nth-child(3){--line-low:.64;animation-delay:-2.2s}.footer-line-segment i:nth-child(4){--line-low:.38;animation-delay:-3.1s}.footer-line-segment i:nth-child(5){--line-low:.56;animation-delay:-1.7s}
.footer-line-segment.form-rise i:nth-child(1){height:25%}.footer-line-segment.form-rise i:nth-child(2){height:50%}.footer-line-segment.form-rise i:nth-child(3){height:75%}.footer-line-segment.form-rise i:nth-child(4),.footer-line-segment.form-rise i:nth-child(5){height:100%}
.footer-line-segment.form-fall i:nth-child(2){height:75%}.footer-line-segment.form-fall i:nth-child(3){height:50%}.footer-line-segment.form-fall i:nth-child(4),.footer-line-segment.form-fall i:nth-child(5){height:25%}.footer-line-segment.form-low i{height:50%}.footer-line-segment.form-notch i:nth-child(3){height:25%}.footer-line-segment.form-split i:nth-child(2),.footer-line-segment.form-split i:nth-child(4){height:50%}
@keyframes footer-line-flow{to{transform:translateX(-33.333%)}}@keyframes footer-line-breathe{50%{opacity:var(--line-low)}}
.motion-paused .footer-line-track,.motion-paused .footer-line-segment i{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.footer-line-track{animation:none}.footer-line-segment i{animation:none}}

/* Two continuous 2027-style currents, recoloured for the 2026 palette. */
.footer-wave-divider{position:relative;height:clamp(76px,8vw,122px);overflow:hidden;background:var(--blue);isolation:isolate}
.footer-wave-divider svg{position:absolute;inset:0 -6%;width:112%;height:100%;overflow:visible;animation:footer-wave-drift 14s ease-in-out infinite alternate;will-change:transform}
.footer-wave-divider .divider-wave{fill:none;stroke-linecap:round;stroke-linejoin:round}
.footer-wave-divider .divider-wave-white{stroke:#fff;stroke-width:3px}
.footer-wave-divider .divider-wave-mint{stroke:var(--mint);stroke-width:4px;animation:footer-wave-breathe 7s ease-in-out infinite alternate}
@keyframes footer-wave-drift{to{transform:translateX(-2.5%)}}
@keyframes footer-wave-breathe{to{transform:translateY(5px)}}
.motion-paused .footer-wave-divider svg,.motion-paused .footer-wave-divider .divider-wave-mint{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.footer-wave-divider svg,.footer-wave-divider .divider-wave-mint{animation:none}}
@media(max-width:700px){.footer-wave-divider{height:72px}.footer-wave-divider svg{width:155%;right:-26%;left:-29%}}

/* Requested optical corrections for event and partner marks. */
.activation[aria-labelledby="activation-2"] .host-logo{width:150px;height:48px}
.activation[aria-labelledby="activation-19"] .host-logo{width:102px;height:32px}
.partner-grid .partner-logo[alt="O Gato que Bebe"]{filter:none!important;mix-blend-mode:normal!important}
.partner-grid .partner-logo[alt="MVMT Studio"]{width:auto;height:42px;max-width:64%;object-fit:contain}
@media(max-width:700px){.activation[aria-labelledby="activation-2"] .host-logo{width:138px;height:44px}.activation[aria-labelledby="activation-19"] .host-logo{width:96px;height:30px}}

/* Three city partner groups with one anchor partner in each grid. */
.partners{padding:clamp(64px,7vw,104px) clamp(20px,4vw,64px)}
.partner-grid{width:min(1500px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,70px);align-items:start}
.partner-grid .partner-group{min-width:0}
.partner-grid h3{margin:0 0 clamp(20px,2vw,30px);font-family:Arial,Helvetica,sans-serif;font-size:clamp(1.05rem,1.8vw,1.65rem);font-weight:750;line-height:1.15;letter-spacing:-.035em;text-align:left;color:var(--mint)}
.partner-grid .logo-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(62px,6vw,82px);gap:clamp(8px,1vw,15px);align-items:center;justify-items:center}
.partner-grid .partner-logo{display:block;width:100%;height:100%;max-width:100%;max-height:62px;object-fit:contain;object-position:center}
.partner-grid .featured-partner{grid-column:1/-1;width:76%;max-width:300px;max-height:clamp(104px,9vw,138px);margin-bottom:8px}
.partner-grid .lisbon-partners .featured-partner{width:58%;max-width:225px}
.partner-grid .caparica-partners .featured-partner{width:84%;max-width:330px}
.partner-grid .partner-logo[alt="MVMT Studio"]{width:62%;height:auto;max-width:78px;max-height:38px;object-fit:contain}
.partner-grid .partner-logo[alt="O Gato que Bebe"]{filter:none!important;mix-blend-mode:normal!important}
@media(max-width:900px){.partner-grid{gap:24px}.partner-grid .logo-list{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-grid .featured-partner{grid-column:1/-1}}
@media(max-width:700px){.partners{padding:58px 18px}.partner-grid{grid-template-columns:1fr;gap:52px}.partner-grid h3{text-align:center;font-size:1.25rem}.partner-grid .logo-list{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:66px}.partner-grid .partner-logo{max-height:56px}.partner-grid .featured-partner{max-height:112px}.partner-grid .lisbon-partners .featured-partner{width:50%}}

/* The mint current is also the living edge of the black footer. */
.footer-wave-divider{height:clamp(92px,9vw,142px)}
.footer-wave-divider .divider-wave-fill{fill:#0e0e11;stroke:none}
.footer-wave-divider .divider-wave-mint{animation:none}
.site-footer{margin-top:-1px}

/* Closing information in three clear spaces. */
.site-footer{padding:clamp(58px,5vw,82px) clamp(20px,4vw,64px) 28px;gap:clamp(52px,5vw,76px)}
.footer-columns{width:min(1500px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(220px,.82fr) minmax(240px,.92fr) minmax(360px,1.55fr);gap:clamp(42px,5vw,86px);align-items:start}
.footer-panel{min-width:0}
.footer-lcw .footer-statement{max-width:390px;margin:0;color:#fff;font-size:clamp(1rem,1.18vw,1.22rem);line-height:1.42}
.footer-lcw .footer-links{margin-top:34px;display:flex;justify-content:flex-start;gap:28px}
.footer-powered{display:flex;align-items:center;gap:16px;width:max-content;max-width:100%;color:#fff;font-size:clamp(1rem,1.25vw,1.28rem);font-weight:750}
.footer-powered img{display:block;width:clamp(70px,6vw,98px);height:52px;object-fit:contain;filter:brightness(0) invert(1)}
.footer-wow p{margin:28px 0 0;max-width:410px;font-size:clamp(.98rem,1.1vw,1.15rem);line-height:1.43}
.footer-wow p strong,.footer-wow p span{display:block}.footer-wow p span{margin-top:1em;color:rgba(255,255,255,.76)}
.footer-playbook{display:grid;grid-template-columns:minmax(130px,.72fr) minmax(190px,1fr);gap:clamp(20px,2.3vw,36px);align-items:center}
.playbook-cover{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 55%;border-radius:24px}
.playbook-copy h2{margin:0;color:var(--mint);font-family:Arial,Helvetica,sans-serif;font-size:clamp(1.45rem,2vw,2.15rem);font-weight:800;line-height:1.05;letter-spacing:-.045em}
.playbook-copy>p{margin:12px 0 20px;color:#fff;font-size:clamp(.92rem,1vw,1.08rem);line-height:1.4}
.footer-playbook .footer-email-row{display:grid;grid-template-columns:1fr;border:0;gap:12px}
.footer-playbook .footer-email-row input{padding:12px 14px;background:#fff;color:#0e0e11;border:0;border-radius:2px;font-size:.95rem}
.footer-playbook .footer-email-row input::placeholder{color:#374151}
.footer-playbook .footer-email-row button{width:100%;padding:13px 16px;display:block;background:#ff7658;color:#fff;border:0;border-radius:2px;font:750 1rem/1 Arial,Helvetica,sans-serif}
.footer-bottom{width:min(1500px,100%);margin:0 auto;padding-top:20px}
@media(max-width:1050px){.footer-columns{grid-template-columns:1fr 1fr}.footer-playbook{grid-column:1/-1;grid-template-columns:minmax(170px,260px) minmax(260px,430px);max-width:760px}}
@media(max-width:700px){.footer-wave-divider{height:86px}.site-footer{padding:48px 18px 24px}.footer-columns{grid-template-columns:1fr;gap:48px}.footer-playbook{grid-column:auto;grid-template-columns:42% 1fr;gap:18px}.playbook-cover{border-radius:18px}.footer-powered img{height:44px}.footer-lcw .footer-links{margin-top:24px}.footer-bottom{justify-content:flex-start}}
@media(max-width:430px){.footer-playbook{grid-template-columns:1fr}.playbook-cover{width:72%;max-width:260px}.playbook-copy h2{font-size:1.7rem}}

/* A single, fully occupied partner rectangle. */
.partners{padding-top:clamp(58px,6vw,88px);padding-bottom:clamp(24px,2.5vw,38px)}
.partner-grid{grid-template-columns:minmax(0,1.22fr) minmax(0,1.12fr) minmax(0,.96fr);gap:clamp(18px,2.2vw,34px)}
.partner-grid h3{margin-bottom:16px}
.partner-grid .logo-list{height:240px;gap:8px 10px;grid-auto-rows:1fr}
.partner-grid .lisbon-partners .logo-list{grid-template-columns:1.18fr repeat(3,1fr);grid-template-rows:repeat(3,1fr)}
.partner-grid .lisbon-partners .featured-partner{grid-column:1;grid-row:1/-1;width:100%;max-width:none;max-height:190px;margin:0}
.partner-grid .ericeira-partners .logo-list{grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(2,1fr)}
.partner-grid .ericeira-partners .featured-partner{grid-column:1/3;grid-row:1/-1;width:100%;max-width:none;max-height:150px;margin:0}
.partner-grid .caparica-partners .logo-list{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr)}
.partner-grid .caparica-partners .featured-partner{grid-column:1/3;grid-row:1/-1;width:100%;max-width:none;max-height:155px;margin:0}
.partner-grid .partner-logo{max-height:64px}
.partner-grid .partner-logo[alt="MVMT Studio"]{width:78%;max-width:96px;max-height:48px}

/* Tighter handoffs between the last three sections. */
.next-edition{min-height:auto;padding-top:clamp(58px,6vw,82px);padding-bottom:clamp(34px,4vw,56px)}
.footer-wave-divider{margin-top:0}

/* An airy editorial footer with one quiet action. */
.site-footer{padding-top:clamp(48px,4vw,68px);gap:clamp(42px,4vw,58px)}
.footer-columns{grid-template-columns:minmax(210px,.82fr) minmax(230px,.9fr) minmax(330px,1.35fr);gap:clamp(54px,6vw,104px)}
.footer-lcw .footer-statement{font-size:clamp(.95rem,1.05vw,1.12rem);line-height:1.5}
.footer-lcw .footer-links{margin-top:28px}
.footer-wow p{margin-top:24px;font-size:clamp(.92rem,1vw,1.06rem);line-height:1.5}
.footer-powered{font-size:1rem}.footer-powered img{width:74px;height:42px}
.footer-playbook{grid-template-columns:clamp(112px,10vw,150px) minmax(190px,1fr);gap:clamp(24px,2.6vw,42px);align-items:start}
.playbook-cover{aspect-ratio:4/5;border-radius:20px;object-position:center}
.playbook-kicker{margin:0 0 10px!important;color:rgba(255,255,255,.5)!important;font-size:.7rem!important;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.playbook-copy h2{font-size:clamp(1.45rem,1.8vw,2rem);line-height:1.08}
.playbook-copy>p:not(.playbook-kicker){margin:14px 0 22px;color:rgba(255,255,255,.72);font-size:clamp(.9rem,.95vw,1.02rem);line-height:1.48}
.playbook-copy>a{display:inline-flex;align-items:center;gap:10px;padding-bottom:5px;border-bottom:1px solid var(--mint);color:var(--mint);font-size:.88rem;font-weight:750}
.playbook-copy>a span{font-size:1.15em}
@media(max-width:1100px){.partner-grid{grid-template-columns:1fr;gap:34px}.partner-grid .logo-list{height:190px}.partner-grid .lisbon-partners .logo-list{grid-template-columns:1fr repeat(3,1fr)}.partner-grid .ericeira-partners .logo-list{grid-template-columns:repeat(5,1fr)}.partner-grid .caparica-partners .logo-list{grid-template-columns:repeat(4,1fr)}.footer-columns{grid-template-columns:1fr 1fr}.footer-playbook{grid-column:1/-1;max-width:660px}}
@media(max-width:700px){.partners{padding-bottom:22px}.partner-grid{gap:38px}.partner-grid h3{text-align:left}.partner-grid .logo-list{height:190px}.partner-grid .lisbon-partners .logo-list{grid-template-columns:1.05fr repeat(3,1fr);grid-template-rows:repeat(3,1fr)}.partner-grid .ericeira-partners .logo-list{grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(2,1fr)}.partner-grid .caparica-partners .logo-list{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr)}.partner-grid .partner-logo{max-height:52px}.next-edition{padding-top:52px;padding-bottom:34px}.site-footer{padding-top:42px}.footer-columns{grid-template-columns:1fr;gap:46px}.footer-playbook{grid-column:auto;grid-template-columns:112px 1fr;max-width:none}.playbook-cover{width:100%}}
@media(max-width:430px){.partner-grid .logo-list{height:168px;gap:6px}.footer-playbook{grid-template-columns:92px 1fr}.playbook-cover{width:100%}.playbook-copy h2{font-size:1.45rem}}

/* Exact, gap-free partner tessellation from the complete 2026 roster. */
.partner-grid{grid-template-columns:1.35fr 1.08fr .92fr;gap:clamp(18px,2vw,30px)}
.partner-grid .logo-list{height:252px;gap:7px 9px}
.partner-grid .lisbon-partners .logo-list{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));grid-auto-flow:row}
.partner-grid .lisbon-partners .featured-partner{grid-column:1/3;grid-row:1/3;width:82%;max-width:210px;max-height:126px;justify-self:center}
.partner-grid .ericeira-partners .logo-list{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));grid-auto-flow:row}
.partner-grid .ericeira-partners .featured-partner{grid-column:1/3;grid-row:1/3;width:88%;max-width:205px;max-height:148px;justify-self:center}
.partner-grid .caparica-partners .logo-list{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));grid-auto-flow:row}
.partner-grid .caparica-partners .featured-partner{grid-column:1/3;grid-row:1/3;width:92%;max-width:210px;max-height:145px;justify-self:center}
.partner-grid .partner-logo{max-height:58px}
.partner-grid .partner-logo[alt="DanceLab"]{max-height:54px}.partner-grid .partner-logo[alt="The Bakery Crossfit"]{max-height:38px}.partner-grid .partner-logo[alt="LX Entrepreneurs"]{max-height:42px}.partner-grid .partner-logo[alt="Casa Paço d'Ilhas"]{max-height:64px}.partner-grid .partner-logo[alt="MVMT Studio"]{width:84%;max-width:104px;max-height:50px}
@media(max-width:1100px){.partner-grid{grid-template-columns:1fr}.partner-grid .logo-list{height:220px}.partner-grid .lisbon-partners .logo-list{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr))}.partner-grid .ericeira-partners .logo-list{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.partner-grid .caparica-partners .logo-list{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.partner-grid .logo-list{height:196px}.partner-grid .lisbon-partners .featured-partner{width:90%}.partner-grid .ericeira-partners .featured-partner,.partner-grid .caparica-partners .featured-partner{width:94%}}
@media(max-width:430px){.partner-grid .logo-list{height:176px;gap:5px}.partner-grid .partner-logo{max-height:46px}.partner-grid .lisbon-partners .featured-partner{max-height:92px}.partner-grid .ericeira-partners .featured-partner,.partner-grid .caparica-partners .featured-partner{max-height:108px}}

/* Requested mosaic logo scale and treatment. */
.activation[aria-labelledby="activation-15"] .host-logo{width:150px;height:68px;filter:none!important;mix-blend-mode:normal!important}
.activation[aria-labelledby="activation-1"]{--host-logo-height:116px}
.activation[aria-labelledby="activation-5"]{--host-logo-height:42px}
.activation[aria-labelledby="activation-12"]{--host-logo-height:98px}
.activation[aria-labelledby="activation-2"]{--host-logo-height:78px}
.activation[aria-labelledby="activation-2"] .host-logo{width:220px;height:78px;max-width:100%}
.activation[aria-labelledby="activation-13"]{--host-logo-height:88px}
@media(max-width:700px){.activation[aria-labelledby="activation-15"] .host-logo{width:132px;height:60px}.activation[aria-labelledby="activation-1"]{--host-logo-height:92px}.activation[aria-labelledby="activation-5"]{--host-logo-height:38px}.activation[aria-labelledby="activation-12"]{--host-logo-height:82px}.activation[aria-labelledby="activation-2"]{--host-logo-height:68px}.activation[aria-labelledby="activation-2"] .host-logo{width:188px;height:68px}.activation[aria-labelledby="activation-13"]{--host-logo-height:76px}}

/* Left-justified partner rows, aligned across all three cities. */
.partner-grid{grid-template-columns:1.34fr 1fr .92fr;align-items:start}
.partner-grid h3{text-align:left}
.partner-grid .logo-list{height:228px;justify-items:start;align-items:center;gap:8px 12px}
.partner-grid .partner-logo{object-position:left center;justify-self:start}
.partner-grid .lisbon-partners .logo-list{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}
.partner-grid .lisbon-partners .featured-partner{grid-column:1/3;grid-row:1;width:88%;max-width:210px;max-height:70px;justify-self:start;margin:0}
.partner-grid .ericeira-partners .logo-list{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.partner-grid .ericeira-partners .featured-partner{grid-column:1/3;grid-row:1;width:92%;max-width:215px;max-height:88px;justify-self:start;margin:0}
.partner-grid .caparica-partners .logo-list{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.partner-grid .caparica-partners .featured-partner{grid-column:1/4;grid-row:1;width:88%;max-width:230px;max-height:86px;justify-self:start;margin:0}
.partner-grid .partner-logo[alt="O Gato que Bebe"]{filter:none!important;mix-blend-mode:normal!important}
.partner-grid .partner-logo[alt="Capsule"]{max-width:66px;max-height:66px}
.partner-grid .partner-logo[alt="MVMT Studio"]{width:92%;max-width:116px;max-height:54px}

.footer-powered{gap:20px;font-size:clamp(1.05rem,1.25vw,1.3rem)}
.footer-powered img{width:clamp(130px,10vw,180px);height:auto;max-height:94px;filter:none}
.playbook-copy h2 span{display:block;white-space:nowrap}
@media(max-width:1100px){.partner-grid .logo-list{height:210px}.partner-grid .lisbon-partners .logo-list{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}.partner-grid .ericeira-partners .logo-list,.partner-grid .caparica-partners .logo-list{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.partner-grid .logo-list{height:190px}.partner-grid .partner-logo{object-position:left center}.footer-powered img{width:140px}.playbook-copy h2 span{white-space:normal}}

/* Edge-to-edge desktop partner rectangle with zero unused cells. */
@media(min-width:1101px){
  .partners{width:100%;padding-right:0;padding-left:0}
  .partner-grid{width:100%;max-width:none;grid-template-columns:1.35fr 1fr .95fr;gap:0}
  .partner-grid .partner-group{min-width:0;padding:0 clamp(10px,1.2vw,20px)}
  .partner-grid .partner-group:first-child{padding-left:clamp(18px,2vw,32px)}
  .partner-grid .partner-group:last-child{padding-right:clamp(18px,2vw,32px)}
  .partner-grid .logo-list{height:240px;gap:8px 10px}
  .partner-grid .lisbon-partners .logo-list{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}
  .partner-grid .lisbon-partners .featured-partner{grid-column:1/4;grid-row:1;width:100%;max-width:310px;max-height:76px}
  .partner-grid .ericeira-partners .logo-list{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
  .partner-grid .ericeira-partners .featured-partner{grid-column:1/3;grid-row:1;width:100%;max-width:230px;max-height:96px}
  .partner-grid .caparica-partners .logo-list{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
  .partner-grid .caparica-partners .featured-partner{grid-column:1/4;grid-row:1;width:100%;max-width:260px;max-height:96px}
}

/* Simplified closing footer: one WOW/LCW story beside the playbook. */
.footer-columns{grid-template-columns:minmax(300px,1.15fr) minmax(360px,1fr);gap:clamp(64px,8vw,140px)}
.footer-wow{max-width:680px}
.footer-wow p{max-width:640px;margin-top:22px;font-size:clamp(1rem,1.12vw,1.16rem);line-height:1.52}
.footer-wow p strong{display:inline}
.footer-wow .footer-links{margin-top:28px;display:flex;gap:28px}
.footer-powered{gap:15px;font-size:1rem}
.footer-powered img{width:clamp(92px,7vw,122px);height:auto;max-height:66px;filter:none}
.footer-playbook{justify-self:end;width:min(100%,560px)}
@media(max-width:900px){.footer-columns{grid-template-columns:1fr;gap:48px}.footer-playbook{justify-self:start;width:min(100%,660px)}}
@media(max-width:700px){.footer-powered img{width:102px}.footer-wow p{font-size:1rem}.footer-wow .footer-links{margin-top:24px}}

/* Compact, unified footer alternative. */
.site-footer{padding-inline:clamp(24px,5vw,76px)}
.footer-columns{width:min(1180px,100%);grid-template-columns:minmax(280px,470px) minmax(420px,560px);justify-content:space-between;gap:clamp(72px,9vw,150px)}
.footer-wow,.footer-playbook{padding-top:20px;border-top:2px solid var(--mint)}
.footer-wow{max-width:470px}
.footer-powered{flex-direction:column;align-items:flex-start;gap:8px;color:var(--mint);font-size:.76rem;line-height:1;text-transform:uppercase;letter-spacing:.09em}
.footer-powered img{width:clamp(84px,6vw,108px);max-height:58px}
.footer-wow p{max-width:450px;margin-top:24px;color:#fff;font-size:clamp(1rem,1.04vw,1.1rem);line-height:1.5}
.footer-wow p strong{color:#fff}
.footer-wow .footer-links a{color:#fff;border-bottom:1px solid var(--mint);padding-bottom:4px;font-size:.88rem}
.footer-playbook{grid-template-columns:clamp(108px,9vw,138px) minmax(210px,1fr);gap:clamp(24px,2.8vw,40px)}
.playbook-kicker{color:var(--mint)!important}
.playbook-copy h2{color:#fff}
.playbook-copy>p:not(.playbook-kicker){color:rgba(255,255,255,.82)}
.footer-bottom{width:min(1180px,100%);color:rgba(255,255,255,.58)}
@media(max-width:900px){.footer-columns{width:min(680px,100%);grid-template-columns:1fr;gap:54px}.footer-wow{max-width:520px}.footer-wow p{max-width:500px}.footer-playbook{justify-self:start;width:100%}}
@media(max-width:700px){.site-footer{padding-inline:18px}.footer-wow,.footer-playbook{padding-top:16px}.footer-powered img{width:92px}.footer-playbook{grid-template-columns:108px 1fr;gap:20px}}
@media(max-width:430px){.footer-playbook{grid-template-columns:92px 1fr}}

/* Compact actions belong directly to their copy; paired gaps share one measure. */
.footer-columns{--footer-pair-gap:clamp(22px,2.4vw,36px);grid-template-columns:clamp(125px,11vw,168px) minmax(300px,420px) minmax(420px,560px);gap:var(--footer-pair-gap)}
.footer-powered img{width:clamp(108px,8vw,138px);max-height:74px}
.footer-wow .footer-links{display:flex;gap:28px;margin-top:18px}
.footer-playbook{gap:var(--footer-pair-gap)}
.playbook-copy>p:not(.playbook-kicker){color:#fff}
.playbook-copy>a{margin-top:18px}
@media(max-width:1050px){.footer-columns{grid-template-columns:125px minmax(260px,1fr) minmax(340px,1.2fr);gap:var(--footer-pair-gap)}}
@media(max-width:800px){.footer-columns{grid-template-columns:1fr;gap:30px}.footer-powered,.footer-wow,.footer-playbook{grid-column:1}.footer-wow .footer-links{margin-top:18px}.playbook-copy>a{margin-top:16px}}

/* Match the two image-to-copy gaps and lock the social links to the story edge. */
.footer-columns{grid-template-columns:clamp(108px,8vw,138px) minmax(300px,420px) minmax(420px,560px)}
.footer-powered{width:100%}
.footer-wow .footer-links{width:100%;justify-content:flex-start;margin-left:0}
@media(max-width:1050px){.footer-columns{grid-template-columns:108px minmax(260px,1fr) minmax(340px,1.2fr)}}
@media(max-width:800px){.footer-columns{grid-template-columns:1fr}.footer-powered{width:max-content}}

/* Final compact WOW lockup. */
.footer-columns{--footer-mark-gap:4px;column-gap:var(--footer-mark-gap)}
@media(max-width:800px){.footer-columns{gap:24px}}

/* Final footer spacing override. */
.footer-columns{--footer-mark-gap:clamp(12px,1.15vw,18px);column-gap:var(--footer-mark-gap)}
@media(max-width:800px){.footer-columns{gap:24px}}

/* Compact WOW lockup: the story sits close to the mark, with LCW starting cleanly below. */
.footer-columns{--footer-mark-gap:clamp(12px,1.15vw,18px);column-gap:var(--footer-mark-gap)}
.footer-wow p strong,.footer-wow .footer-lcw-copy{display:block}
.footer-wow .footer-lcw-copy{margin-top:.58em}
@media(max-width:800px){.footer-columns{gap:24px}.footer-wow .footer-lcw-copy{margin-top:.5em}}

/* Footer rhythm: no rules, one body scale, one link language. */
.footer-wow,.footer-playbook{padding-top:0;border-top:0}
.footer-wow p,.playbook-copy>p:not(.playbook-kicker){font-size:clamp(1rem,1.04vw,1.1rem);line-height:1.5}
.footer-wow .footer-links a,.playbook-copy>a{display:inline-flex;align-items:center;gap:10px;padding-bottom:5px;border-bottom:1px solid var(--mint);color:var(--mint);font-size:.88rem;font-weight:750}
.footer-wow .footer-links a span,.playbook-copy>a span{font-size:1.15em}

/* Desktop footer geometry: shared top and action baselines. */
@media(min-width:901px){
  .footer-columns{align-items:stretch}
  .footer-wow{display:grid;grid-template-rows:auto 1fr auto}
  .footer-wow p{margin-bottom:34px}
  .footer-wow .footer-links{align-self:end;margin-top:0}
  .footer-playbook{align-items:stretch}
  .playbook-copy{display:flex;min-height:100%;flex-direction:column;align-items:flex-start}
  .playbook-copy>a{margin-top:auto}
}

/* Rebuilt footer composition: mark, story and playbook as three natural columns. */
.footer-columns{width:min(1280px,100%);grid-template-columns:clamp(105px,10vw,150px) minmax(300px,420px) minmax(420px,560px);gap:clamp(34px,4vw,68px);align-items:start}
.footer-powered{grid-column:1;align-self:start;width:auto;margin:0}
.footer-wow{grid-column:2;display:block;max-width:420px}
.footer-wow p{max-width:420px;margin:0}
.footer-playbook{grid-column:3;display:grid;width:100%;grid-template-columns:clamp(112px,10vw,145px) minmax(220px,1fr);gap:clamp(22px,2.4vw,36px);align-items:start;justify-self:start}
.playbook-cover{width:100%;height:auto;aspect-ratio:4/5;align-self:start;object-fit:cover}
.playbook-copy{display:block;min-height:0}
.playbook-copy>p:not(.playbook-kicker){margin-bottom:0}
.footer-actions{grid-column:2/4;display:grid;grid-template-columns:minmax(300px,420px) minmax(420px,560px);gap:clamp(34px,4vw,68px);align-items:center;margin-top:4px}
.footer-actions>div{display:flex;gap:28px}
.footer-actions a{display:inline-flex;width:max-content;align-items:center;gap:10px;padding-bottom:5px;border-bottom:1px solid var(--mint);color:var(--mint);font-size:.88rem;font-weight:750}
.footer-actions a span{font-size:1.15em}
.footer-bottom{width:min(1280px,100%)}
@media(max-width:1050px){.footer-columns{grid-template-columns:110px minmax(260px,1fr) minmax(340px,1.2fr);gap:30px}.footer-actions{grid-template-columns:minmax(260px,1fr) minmax(340px,1.2fr);gap:30px}}
@media(max-width:800px){.footer-columns{width:min(620px,100%);grid-template-columns:1fr;gap:30px}.footer-powered,.footer-wow,.footer-playbook,.footer-actions{grid-column:1}.footer-wow{max-width:520px}.footer-wow p{max-width:500px}.footer-playbook{grid-template-columns:112px 1fr;max-width:560px}.footer-actions{display:flex;flex-wrap:wrap;gap:18px 28px;margin-top:4px}.footer-actions>div{display:contents}}
@media(max-width:430px){.footer-playbook{grid-template-columns:92px 1fr}}

/* Keep the location and event-type labels stacked at consistent heights in every tile. */
.activation-info{display:flex;flex-direction:column}
.activation-details{display:grid;grid-template-rows:28px 28px;justify-items:start;align-content:end;margin-top:auto}
@media(max-width:700px){.activation-details{grid-template-rows:26px 26px}}

/* Desktop optical alignment for the hosted-by marks. */
@media(min-width:1001px){
  .activation[aria-labelledby="activation-0"] .host-logo,
  .activation[aria-labelledby="activation-4"] .host-logo,
  .activation[aria-labelledby="activation-1"] .host-logo,
  .activation[aria-labelledby="activation-10"] .host-logo{transform:translateY(-9px)}
  .activation[aria-labelledby="activation-5"] .host-logo{transform:translateX(-9px)}
  .activation[aria-labelledby="activation-5"] .host-logo.original{filter:none!important;mix-blend-mode:normal!important}
  .activation[aria-labelledby="activation-1"] .activation-hosts{transform:translateY(-18px)}
  .activation[aria-labelledby="activation-5"] .activation-hosts{transform:translateY(14px)}
}

/* One continuous 12-column desktop partner field: 5 + 4 + 3. */
@media(min-width:1101px){
  .partner-grid{grid-template-columns:5fr 4fr 3fr;gap:0}
  .partner-grid .partner-group,
  .partner-grid .partner-group:first-child,
  .partner-grid .partner-group:last-child{padding:0;min-width:0}
  .partner-grid h3{margin:0;padding:0 clamp(14px,1.6vw,28px) 18px}
  .partner-grid .logo-list{height:246px;gap:0;justify-items:center;align-items:center}
  .partner-grid .partner-logo{display:block;width:88%;height:76%;max-width:none;max-height:none;object-fit:contain;object-position:center}
  .partner-grid .lisbon-partners .logo-list{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}
  .partner-grid .lisbon-partners .featured-partner{grid-column:1;grid-row:1/4;width:100%;height:100%;max-width:none;max-height:none;justify-self:center}
  .partner-grid .ericeira-partners .logo-list{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
  .partner-grid .ericeira-partners .featured-partner{grid-column:1/3;grid-row:1;width:100%;height:100%;max-width:none;max-height:none;justify-self:center}
  .partner-grid .caparica-partners .logo-list{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
  .partner-grid .caparica-partners .featured-partner{grid-column:auto;grid-row:auto;width:100%;height:100%;max-width:none;max-height:none;justify-self:center}
  .partner-grid .partner-logo[alt="MVMT Studio"]{width:88%;max-width:none;max-height:none}
  .partner-grid .partner-logo[alt="Coffee Grooves"]{width:72%;height:72%;max-width:none;max-height:none;filter:none!important}
  .partner-grid .partner-logo[alt="Led by Community"]{width:94%;height:82%;max-width:none;max-height:none;filter:none!important}
  .partner-grid .partner-logo[alt="MVMT Studio"],
  .partner-grid .partner-logo[alt="Bora"],
  .partner-grid .partner-logo[alt="De Boca em Boca"]{width:61.6%;height:53.2%}
  .partner-grid .partner-logo[alt="Coffee Grooves"]{width:50.4%;height:50.4%}
  .partner-grid .partner-logo[alt="The Bakery Crossfit"]{width:100%;height:100%;max-height:57px!important}
}

/* Final footer placement: each action follows its own copy. */
.footer-columns{--footer-pair-gap:clamp(22px,2.4vw,36px);grid-template-columns:clamp(125px,11vw,168px) minmax(300px,420px) minmax(420px,560px);gap:var(--footer-pair-gap)}
.footer-powered img{width:clamp(108px,8vw,138px);max-height:74px}
.footer-wow .footer-links{display:flex;gap:28px;margin-top:18px}
.footer-playbook{gap:var(--footer-pair-gap)}
.playbook-copy>p:not(.playbook-kicker){color:#fff}
.playbook-copy>a{margin-top:18px}
@media(max-width:1050px){.footer-columns{grid-template-columns:125px minmax(260px,1fr) minmax(340px,1.2fr);gap:var(--footer-pair-gap)}}
@media(max-width:800px){.footer-columns{grid-template-columns:1fr;gap:30px}.footer-powered,.footer-wow,.footer-playbook{grid-column:1}.footer-wow .footer-links{margin-top:18px}.playbook-copy>a{margin-top:16px}}

/* Match the two image-to-copy gaps and lock the social links to the story edge. */
.footer-columns{grid-template-columns:clamp(108px,8vw,138px) minmax(300px,420px) minmax(420px,560px)}
.footer-powered{width:100%}
.footer-wow .footer-links{width:100%;justify-content:flex-start;margin-left:0}
@media(max-width:1050px){.footer-columns{grid-template-columns:108px minmax(260px,1fr) minmax(340px,1.2fr)}}
@media(max-width:800px){.footer-columns{grid-template-columns:1fr}.footer-powered{width:max-content}}

/* Final compact WOW lockup. */
.footer-columns{--footer-mark-gap:clamp(12px,1.15vw,18px);column-gap:var(--footer-mark-gap)}
@media(max-width:800px){.footer-columns{gap:24px}}

/* Authoritative footer geometry: override the accumulated legacy spacing rules above. */
@media(min-width:801px){
  .footer-columns{grid-template-columns:122px minmax(360px,470px) minmax(390px,540px);column-gap:4px;justify-content:start}
  .footer-powered{width:122px}
  .footer-powered img{width:118px;max-width:118px}
  .footer-wow{margin-left:0;max-width:470px}
  .footer-wow .footer-links{display:flex;align-items:center;flex-wrap:nowrap;width:100%;gap:10px;margin-top:18px}
  .footer-instagram-icon{color:var(--mint)!important}
  .footer-contact{margin-left:0}
  .footer-newsletter-inline{flex:1 1 auto;min-width:190px;max-width:none;margin-left:8px}
  .footer-newsletter-inline input{min-width:0;width:100%}
  .footer-playbook{width:calc(100% - 24px);margin-left:24px;transform:none}
}
@media(max-width:800px){
  .footer-instagram-icon{color:var(--mint)!important}
  .footer-wow .footer-links{gap:10px}
  .footer-contact{margin-left:0}
  .footer-newsletter-inline{margin-left:8px}
}

/* Footer spacing system: one shared measure for every horizontal relationship. */
@media(min-width:1201px){
  .site-footer{padding-inline:clamp(48px,6.4vw,132px)}
  .footer-columns{
    --footer-unit-gap:clamp(28px,2.4vw,36px);
    width:100%;
    max-width:none;
    margin-inline:0;
    grid-template-columns:clamp(108px,8vw,138px) minmax(360px,520px) minmax(620px,1fr);
    column-gap:var(--footer-unit-gap);
  }
  .footer-powered{grid-column:1;width:100%}
  .footer-wow{grid-column:2;max-width:none}
  .footer-wow p{max-width:520px}
  .footer-playbook{
    grid-column:3;
    --footer-section-breath:clamp(68px,5vw,104px);
    width:calc(100% - var(--footer-section-breath));
    max-width:none;
    margin-left:var(--footer-section-breath);
    grid-template-columns:clamp(112px,10vw,145px) minmax(260px,1fr);
    gap:var(--footer-unit-gap);
  }
  .footer-bottom{width:100%;max-width:none;margin-inline:0}
}

/* Final footer colour consistency. */
.footer-wow .footer-lcw-copy{color:#fff}
.footer-newsletter-inline,
.footer-newsletter-inline:focus-within{border-bottom:1px solid var(--mint)}

/* Refine the WOW lockup and use the full width on large displays. */
.footer-powered{gap:12px;padding-top:0}
.footer-powered>span{line-height:1.5}
@media(min-width:1601px){
  .footer-playbook{transform:translateX(clamp(48px,4vw,88px))}
}

/* Compact footer ending and restore the transparent Cardio Tennis mark. */
.site-footer{padding-bottom:clamp(72px,5vw,92px)}
.footer-bottom{position:absolute;right:clamp(20px,4vw,64px);bottom:22px;width:auto!important;margin:0!important;padding:0;border-top:0}
.activation[aria-labelledby="activation-1"] .host-logo{filter:none!important;mix-blend-mode:normal!important}
@media(max-width:700px){
  .site-footer{padding-bottom:56px}
  .footer-bottom{right:18px;bottom:16px;justify-content:flex-end}
}

/* Make the mobile newsletter confirmation as prominent as the conversation response. */
@media(max-width:700px){
  .footer-newsletter-inline{flex-wrap:wrap;width:100%;max-width:none}
  .footer-newsletter-inline #updates-status:not(:empty){
    position:static;
    flex:0 0 100%;
    width:100%;
    max-width:none;
    margin-top:8px;
    padding:10px 12px;
    background:var(--mint);
    color:#0b0b0d;
    font:750 .82rem/1.4 Arial,Helvetica,sans-serif;
    text-align:left;
  }
}

/* Match the partner treatment and keep the fixed mark legible over Partners. */
.activation[aria-labelledby="activation-1"]{--host-logo-height:64px}
.activation[aria-labelledby="activation-1"] .host-logo{width:auto;height:64px;max-height:64px}
.logo-initial path{transition:fill .22s ease}
.hero-place{transition:color .22s ease}
.logo-over-blue-section .logo-initial path{fill:#fff!important}
.logo-over-blue-section .hero-place{color:#fff}
@media(max-width:700px){
  .activation[aria-labelledby="activation-1"]{--host-logo-height:56px}
  .activation[aria-labelledby="activation-1"] .host-logo{height:56px;max-height:56px}
}

/* White cutout treatment and optical crop for Dr. Bernard. */
.activation[aria-labelledby="activation-1"]{--host-logo-height:70px}
.activation[aria-labelledby="activation-1"] .activation-hosts{height:70px;margin-top:10px;overflow:hidden;transform:none!important}
.activation[aria-labelledby="activation-1"] .host-logo{
  flex:none;width:210px;height:210px;max-width:210px;max-height:210px;
  filter:grayscale(1) invert(1) contrast(10)!important;mix-blend-mode:screen!important;
}
.activation[aria-labelledby="activation-2"] .host-logo{width:240px;height:84px;max-width:100%;max-height:84px}
@media(max-width:700px){
  .activation[aria-labelledby="activation-1"]{--host-logo-height:62px}
  .activation[aria-labelledby="activation-1"] .activation-hosts{height:62px;margin-top:8px}
  .activation[aria-labelledby="activation-1"] .host-logo{width:184px;height:184px;max-width:184px;max-height:184px}
  .activation[aria-labelledby="activation-2"] .host-logo{width:205px;height:74px;max-height:74px}
}

/* Mobile partner directory: three calm, equal columns with one logo per cell. */
@media(max-width:700px){
  .partner-grid{display:grid;grid-template-columns:1fr;gap:44px}
  .partner-grid .partner-group{min-width:0}
  .partner-grid h3{margin-bottom:18px;text-align:left}
  .partner-grid .logo-list,
  .partner-grid .lisbon-partners .logo-list,
  .partner-grid .ericeira-partners .logo-list,
  .partner-grid .caparica-partners .logo-list{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:none;
    grid-auto-flow:row;
    grid-auto-rows:72px;
    width:100%;
    height:auto;
    gap:14px 12px;
    align-items:center;
    justify-items:center;
  }
  .partner-grid .partner-logo,
  .partner-grid .featured-partner,
  .partner-grid .lisbon-partners .featured-partner,
  .partner-grid .ericeira-partners .featured-partner,
  .partner-grid .caparica-partners .featured-partner{
    grid-column:auto;
    grid-row:auto;
    width:auto;
    max-width:90%;
    max-height:58px;
    margin:0;
    justify-self:center;
    object-position:center;
  }
}
@media(max-width:430px){
  .partner-grid .logo-list,
  .partner-grid .lisbon-partners .logo-list,
  .partner-grid .ericeira-partners .logo-list,
  .partner-grid .caparica-partners .logo-list{
    grid-auto-rows:66px;
    gap:12px 8px;
  }
  .partner-grid .partner-logo,
  .partner-grid .featured-partner,
  .partner-grid .lisbon-partners .featured-partner,
  .partner-grid .ericeira-partners .featured-partner,
  .partner-grid .caparica-partners .featured-partner{max-width:88%;max-height:52px}
}

/* Mobile-only partner handoff: De Boca → Lisbon, O Gato → Caparica, Capsule → Ericeira. */
.mobile-partner-shift{display:none!important}
@media(max-width:700px){
  .mobile-partner-shift{display:block!important}
  .mobile-partner-source{display:none!important}
  .lisbon-partners .mobile-partner-tail{order:1}
}

/* Mobile: bring the event mosaic directly beneath the closing story line. */
@media(max-width:700px){
  .recap.story{padding-bottom:32px}
}

/* Mobile footer sequence and clean, unbroken editorial phrases. */
@media(max-width:800px){
  .footer-playbook{order:1;width:calc(100% + 8px);margin-right:-8px;grid-template-columns:minmax(118px,42%) minmax(0,1fr);gap:12px;align-items:start;margin-bottom:28px}
  .footer-playbook .playbook-cover{width:100%;max-width:none;aspect-ratio:2/3;object-fit:cover;object-position:center 48%}
  .footer-playbook .playbook-copy{min-width:0}
  .footer-playbook .playbook-copy h2{font-size:clamp(1.3rem,5.8vw,1.7rem);line-height:1.04}
  .footer-playbook .playbook-copy>p:not(.playbook-kicker){font-size:.86rem;letter-spacing:-.02em}
  .footer-playbook .playbook-copy>p:not(.playbook-kicker) span{display:inline;white-space:normal}
  .footer-playbook .playbook-copy>p:not(.playbook-kicker) .playbook-intro{display:inline;max-width:none}
  .footer-playbook .playbook-copy>p:not(.playbook-kicker) span+span::before{content:" "}
  .footer-playbook .playbook-copy>p:not(.playbook-kicker) .playbook-intro+span::before{content:none}
  .footer-powered{order:2;margin-top:0}
  .footer-wow{order:3}
  .footer-wow p strong .wow-nowrap{display:inline;margin:0;color:inherit;white-space:normal;font:inherit;letter-spacing:inherit}
  .footer-wow .footer-lcw-copy{font-size:.9rem;letter-spacing:-.015em}
  .ericeira-partners .partner-logo[alt="Capsule"]{content:url("assets/partners/capsule-cutout.png")}
  .site-footer{padding-bottom:110px}
}
@media(max-width:430px){
  .footer-playbook{grid-template-columns:122px minmax(0,1fr);gap:12px}
}

/* Email-gated Playbook access, kept separate from the newsletter audience. */
.playbook-request{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:18px;
  padding:0 0 5px;
  border:0;
  border-bottom:1px solid var(--mint);
  background:transparent;
  color:var(--mint);
  font:.88rem/1.2 Arial,Helvetica,sans-serif;
  font-weight:750;
  cursor:pointer;
}
.playbook-request span{font-size:1.15em}
.playbook-form[hidden],.playbook-confirmation[hidden]{display:none!important}
.playbook-form{width:min(100%,330px);margin-top:16px}
.playbook-form>label{display:block;margin-bottom:7px;color:#fff;font:.72rem/1.2 Arial,Helvetica,sans-serif;font-weight:750}
.playbook-email-row{display:flex;align-items:stretch;border-bottom:1px solid var(--mint)}
.playbook-email-row input{width:100%;min-width:0;padding:9px 4px 9px 0;border:0;outline:0;background:transparent;color:#fff;font:.86rem/1.2 Arial,Helvetica,sans-serif}
.playbook-email-row input::placeholder{color:rgba(255,255,255,.52)}
.playbook-email-row button{padding:9px 0 9px 12px;border:0;background:transparent;color:var(--mint);font:.82rem/1.2 Arial,Helvetica,sans-serif;font-weight:800;white-space:nowrap;cursor:pointer}
.playbook-email-row button:disabled{opacity:.55;cursor:wait}
.playbook-status{margin:10px 0 0!important;color:rgba(255,255,255,.76)!important;font:.76rem/1.4 Arial,Helvetica,sans-serif!important}
.playbook-confirmation{display:grid;justify-items:start;gap:10px;margin-top:10px;padding:12px;background:var(--mint);color:#0b0b0d;font:.76rem/1.4 Arial,Helvetica,sans-serif;font-weight:750}
.playbook-access{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:0;background:#0e0e11;color:#fff;font:.84rem/1.2 Arial,Helvetica,sans-serif;font-weight:800;text-decoration:none}
.playbook-access:hover,.playbook-access:focus-visible{background:#24242a;color:var(--mint);text-decoration:none}
@media(max-width:800px){
  .playbook-request{margin-top:14px}
  .playbook-form{width:100%;margin-top:12px}
}

/* Desktop-only optical refinements requested for the story close and Ericeira partners. */
@media(min-width:1101px){
  .story-finale .finale-line{transform:translateY(18px)}
  .ericeira-partners .partner-logo[alt="Senses Gastro Club"],
  .ericeira-partners .partner-logo[alt="Capsule"]{justify-self:center;object-position:center}
  .ericeira-partners .partner-logo[alt="Capsule"]{grid-column:3;grid-row:2}
  .ericeira-partners .partner-logo[alt="Carduma"]{max-width:78%;max-height:48px}
}

/* Desktop footer typography: keep both editorial blocks compact and even. */
@media(min-width:801px){
  .footer-wow p strong{display:block;color:#fff;line-height:1.5}
  .footer-wow p strong .wow-nowrap{display:inline;margin:0;color:#fff;font:inherit;line-height:inherit;letter-spacing:inherit}
  .footer-playbook .playbook-copy>p:not(.playbook-kicker){max-width:390px}
  .footer-playbook .playbook-copy>p:not(.playbook-kicker) .playbook-intro{display:inline;white-space:normal}
}

/* Mobile optical scale: remove the Bakery artwork's oversized transparent canvas. */
@media(max-width:700px){
  .lisbon-partners .partner-logo[alt="The Bakery Crossfit"]{
    content:url("assets/partners/bakery-crossfit-cutout.png");
    width:72%;
    max-width:72%;
    max-height:52px;
  }
}

/* Mobile signature: equal top/left inset with a calmer logo-to-date gap. */
@media(max-width:700px){
  .hero-place{top:124px;left:24px}
}

/* Mobile hero and mosaic optical refinements. */
@media(min-width:360px) and (max-width:700px){
  .story-cue{font-size:42px;font-weight:900;-webkit-text-stroke:.8px currentColor}
  .story-count{font-size:1.18em;line-height:1.16}
  .activation[aria-labelledby="activation-4"]{--host-logo-height:88px}
  .activation[aria-labelledby="activation-4"] .host-logo{max-width:86%}
  .activation[aria-labelledby="activation-5"]{--host-logo-height:32px}
  .activation[aria-labelledby="activation-5"] .host-logo{width:min(178px,88%);height:32px;max-height:32px}
  .activation[aria-labelledby="activation-10"] .activation-hosts{transform:translateY(-10px)}
  .activation.end-step-2{--preview-height:clamp(185px,48vw,310px)}
  .activation.end-step-3{--preview-height:calc(clamp(185px,48vw,310px) + 48px)}
}
