/*! SEED 2027 — stylesheet (visual concept: feed your hope / hope in action). Plain CSS, no build step. */
:root{
  --brand:#F14940;
  --brand-deep:#A02915;
  --white:#FFFFFF;
  --paper:#E3E3DE;
  --paper-2:#D7D7D1;
  --ink:#1A1919;
  --ink-2:#3d3c3a;
  --muted:#6f6e6a;
  --line:rgba(26,25,25,.14);
  --ease:cubic-bezier(.2,.8,.2,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --gutter:clamp(16px,4vw,56px);
  --max:1240px;
  --leaf:0 55% 0 100% / 0 100% 0 55%;       /* the SEED leaf: sharp top-left + bottom-right, two soft corners */
  --leaf-flip:55% 0 100% 0 / 100% 0 55% 0;
  --font:"Inter Tight","Helvetica Neue",Helvetica,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;font-family:var(--font);font-size:17px;line-height:1.55;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
::selection{background:var(--brand);color:var(--white)}
.wrap{position:relative;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}

/* ---------- type: large, light, tight — like the poster ---------- */
h1,h2,h3,h4{font-weight:400;letter-spacing:-.045em;line-height:.95;margin:0}
.h2{font-size:clamp(40px,6vw,84px)}
.h3{font-size:clamp(28px,3.4vw,46px);letter-spacing:-.035em;line-height:1}
.red{color:var(--brand)}
.nowrap{white-space:nowrap}
.eyebrow{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;letter-spacing:-.01em;margin-bottom:22px}
.eyebrow .leaf{width:14px;height:14px}
.lead{font-size:clamp(16px,1.35vw,19px);color:var(--ink-2);max-width:54ch;margin:0 0 18px;letter-spacing:-.01em}
.lead b{color:var(--ink);font-weight:600}
.dash{font-weight:300}

/* ---------- the leaf ---------- */
.leaf{display:block;aspect-ratio:1;border-radius:var(--leaf);background:var(--brand)}
.leaf--ink{background:var(--ink)}
.leaf--flip{border-radius:var(--leaf-flip)}

/* ---------- reveal ---------- */
.reveal{transform:translateY(14px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--d,0) * 90ms)}
.reveal.is-in{transform:none}

.progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:60;background:var(--brand);transform-origin:0 50%;transform:scaleX(var(--p,0))}

/* ---------- buttons: leaf corners that swap on hover ---------- */
.btn{position:relative;display:inline-flex;align-items:center;gap:14px;padding:17px 24px;background:var(--ink);color:var(--white);
  border-radius:0 22px 0 22px;font-weight:500;font-size:16px;letter-spacing:-.01em;line-height:1;white-space:nowrap;
  transition:border-radius .45s var(--ease),background .3s,color .3s,transform .2s}
.btn:hover{border-radius:22px 0 22px 0;background:var(--brand)}
.btn:active{transform:scale(.96)}
.btn .arrow{display:inline-grid;width:18px;height:18px;overflow:hidden;position:relative}
.btn .arrow svg{width:18px;height:18px;transition:transform .45s var(--ease)}
.btn .arrow svg + svg{position:absolute;transform:translateX(-140%)}
.btn:hover .arrow svg:first-child{transform:translateX(140%)}
.btn:hover .arrow svg + svg{transform:none}
.btn--sm{padding:12px 16px;font-size:14px;border-radius:0 16px 0 16px}
.btn--sm:hover{border-radius:16px 0 16px 0}
.btn--lg{padding:22px 30px;font-size:18px;border-radius:0 28px 0 28px}
.btn--lg:hover{border-radius:28px 0 28px 0}
.btn--light{background:var(--paper);color:var(--ink)}
.btn--light:hover{background:var(--brand);color:var(--white)}

.link-u{display:inline-flex;align-items:center;gap:10px;font-weight:500;padding-bottom:3px;
  background:linear-gradient(var(--ink),var(--ink)) 0 100%/100% 1.5px no-repeat;transition:background-size .4s var(--ease),color .3s}
.link-u .leaf{width:12px;height:12px;transition:transform .5s var(--ease-spring)}
.link-u:hover{color:var(--brand);background-image:linear-gradient(var(--brand),var(--brand))}
.link-u:hover .leaf{transform:rotate(90deg)}

/* ---------- header ---------- */
.header{position:sticky;top:0;z-index:50;background:rgba(227,227,222,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  padding-top:env(safe-area-inset-top,0px);border-bottom:1px solid transparent;transition:border-color .3s,transform .4s var(--ease)}
.header.is-scrolled{border-bottom-color:var(--line)}
.header.is-hidden{transform:translateY(-100%)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;height:76px}
.logo{display:flex;align-items:flex-end;gap:4px;font-weight:700;font-size:24px;letter-spacing:-.04em;line-height:1}
.logo .mark{position:relative;width:16px;height:16px;margin-bottom:12px}
.logo .mark .leaf{width:12px;position:absolute;top:0;left:0;background:var(--ink);transition:transform .6s var(--ease-spring),background .3s}
.logo:hover .mark .leaf{transform:rotate(-90deg);background:var(--brand)}
.menu{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.menu a{position:relative;display:block;padding:8px 10px;font-size:14.5px;font-weight:500;letter-spacing:-.01em;color:var(--ink-2);transition:color .25s}
.menu a::before{content:"";position:absolute;left:50%;top:-2px;width:8px;height:8px;border-radius:var(--leaf);background:var(--brand);transform:translateX(-50%) scale(0) rotate(-90deg);transition:transform .45s var(--ease-spring)}
.menu a:hover,.menu a.is-active{color:var(--ink)}
.menu a:hover::before,.menu a.is-active::before{transform:translateX(-50%) scale(1) rotate(0)}
.nav-actions{display:flex;align-items:center;gap:12px}
.lang{position:relative;display:inline-flex;font-size:13px;font-weight:600}
.lang button{position:relative;padding:8px 8px;color:var(--muted);transition:color .3s}
.lang button + button::before{content:"/";position:absolute;left:-3px;color:var(--line)}
.lang button[aria-pressed="true"]{color:var(--ink)}
.lang button[aria-pressed="true"]::after{content:"";position:absolute;left:8px;right:8px;bottom:2px;height:2px;background:var(--brand);animation:grow .4s var(--ease)}
@keyframes grow{from{transform:scaleX(0)}}
.burger{display:none;width:46px;height:46px;position:relative;background:var(--ink);border-radius:0 16px 0 16px;transition:border-radius .4s var(--ease)}
.burger[aria-expanded="true"]{border-radius:16px 0 16px 0;background:var(--brand)}
.burger span{position:absolute;left:14px;right:14px;height:2px;background:var(--white);transition:transform .4s var(--ease-spring),opacity .2s,top .3s var(--ease)}
.burger span:nth-child(1){top:17px}.burger span:nth-child(2){top:22px}.burger span:nth-child(3){top:27px}
.burger[aria-expanded="true"] span:nth-child(1){top:22px;transform:rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){top:22px;transform:rotate(-45deg)}

.drawer{position:fixed;inset:0;z-index:45;background:var(--ink);color:var(--paper);overflow:hidden;
  padding:calc(100px + env(safe-area-inset-top,0px)) var(--gutter) calc(32px + env(safe-area-inset-bottom,0px));
  display:flex;flex-direction:column;justify-content:space-between;
  clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .6s var(--ease),visibility 0s .6s}
.drawer.is-open{clip-path:inset(0);visibility:visible;transition:clip-path .6s var(--ease),visibility 0s}
.drawer .leaves{position:absolute;right:-40px;bottom:120px;width:240px;opacity:.9}
.drawer ul{position:relative;list-style:none;margin:0;padding:0}
.drawer li{overflow:hidden;border-bottom:1px solid rgba(255,255,255,.14)}
.drawer li a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;font-weight:400;letter-spacing:-.045em;
  font-size:clamp(28px,8vw,52px);line-height:1.05;transform:translateY(110%);transition:transform .6s var(--ease),color .3s}
.drawer li a:hover{color:var(--brand)}
.drawer li a small{font-size:13px;letter-spacing:0;opacity:.5}
.drawer.is-open li a{transform:none}
.drawer.is-open li:nth-child(2) a{transition-delay:.05s}.drawer.is-open li:nth-child(3) a{transition-delay:.1s}
.drawer.is-open li:nth-child(4) a{transition-delay:.15s}.drawer.is-open li:nth-child(5) a{transition-delay:.2s}.drawer.is-open li:nth-child(6) a{transition-delay:.25s}
.drawer-foot{position:relative;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;font-size:15px}
.drawer .btn{background:var(--brand)}

/* ---------- leaf composition (black leaf + two red leaves stepping down) ---------- */
.trio-leaves{--s:clamp(70px,11vw,150px);display:block;flex:none;position:relative;width:calc(var(--s) * 3);height:calc(var(--s) * 2)}
.trio-leaves .leaf{position:absolute;width:var(--s);transform-origin:var(--o,100% 100%);animation:leafIn .9s var(--ease-spring) both}
.trio-leaves .l1{left:0;top:0;--o:100% 100%;animation-delay:.3s}
.trio-leaves .l2{left:var(--s);top:var(--s);--o:0 0;animation-delay:.5s}
.trio-leaves .l3{left:calc(var(--s) * 2);top:var(--s);--o:0 0;animation-delay:.65s}
@keyframes leafIn{from{transform:scale(0) rotate(-45deg)}}
.trio-leaves .leaf{transition:border-radius .5s var(--ease),background .4s}
.trio-leaves:hover .l1{border-radius:var(--leaf-flip)}
.trio-leaves:hover .l2{border-radius:var(--leaf-flip);transition-delay:.06s}
.trio-leaves:hover .l3{border-radius:var(--leaf-flip);transition-delay:.12s}

/* ---------- HERO — the poster ---------- */
.hero{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:auto auto auto auto;column-gap:16px;padding-block:clamp(20px,4vw,48px) clamp(50px,7vw,90px)}
.hero .ed{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;font-weight:600;animation:fade .8s var(--ease) both}
.hero .ed span:last-child{font-weight:400;color:var(--muted)}
@keyframes fade{from{opacity:0}}
.hero h1{grid-column:1 / -1;display:contents}
.hero .t1{display:block;grid-column:5 / -1;justify-self:end;text-align:right;font-size:clamp(56px,9.4vw,140px);margin-top:clamp(24px,4vw,50px);animation:up 1s .1s var(--ease) both}
.hero .t2{display:block;grid-row:3;grid-column:1 / 8;align-self:end;color:var(--brand);font-size:clamp(56px,9.4vw,140px);position:relative;z-index:1;animation:up 1s .9s var(--ease) both}
@keyframes up{from{opacity:0;transform:translateY(30px)}}
.hero .art{display:block;grid-row:3;grid-column:5 / -1;justify-self:end;transform:translateY(var(--shift,0px))}
.hero .t1--mirror{grid-column:1 / 9;justify-self:start;text-align:left}
.hero .art--mirror{grid-column:1 / 6;justify-self:start}
.hero .art--mirror .trio-leaves{transform:scaleX(-1)}
.hero .t2--mirror{grid-column:6 / -1;justify-self:end;text-align:right}
.hero .art .trio-leaves{--s:clamp(64px,10vw,150px);margin-top:clamp(8px,1.5vw,16px)}
.hero-foot{grid-column:1 / -1;display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px;margin-top:clamp(36px,6vw,70px);padding-top:24px;border-top:1px solid var(--line);animation:fade 1s 1.1s var(--ease) both}
.hero-foot .date{font-size:clamp(36px,4.6vw,64px);font-weight:300;letter-spacing:-.04em;line-height:1}
.hero-foot .date small{display:block;margin-top:10px;font-size:15px;font-weight:500;letter-spacing:-.01em;color:var(--ink-2)}
.hero-foot .right{display:flex;flex-direction:column;align-items:flex-end;gap:14px;text-align:right}
.hero-foot .right p{margin:0;max-width:36ch;font-size:15px;color:var(--ink-2)}

/* ---------- WHY ---------- */
.why{background:var(--white);padding-block:clamp(70px,10vw,140px)}
.why-grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:16px;row-gap:clamp(30px,5vw,60px)}
.why-grid .h2{grid-column:1 / 10}
.photos{grid-column:1 / -1;display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:16px;align-items:end}
.pic{position:relative;margin:0;overflow:hidden;background:var(--paper-2);border-radius:var(--leaf);transition:border-radius .8s var(--ease)}
.pic:nth-child(2){border-radius:var(--leaf-flip)}
.pic:hover{border-radius:var(--leaf-flip)}
.pic:nth-child(2):hover{border-radius:var(--leaf)}
.pic img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.pic:hover img{transform:scale(1.05)}
.pic:nth-child(1){aspect-ratio:4/3}.pic:nth-child(2){aspect-ratio:1}.pic:nth-child(3){aspect-ratio:5/4}
.photos figcaption{grid-column:auto;font-size:14px;color:var(--muted);margin-top:10px}
.why-text{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,4vw,56px)}
.stats{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.stat{position:relative;padding:clamp(20px,3vw,32px) 0 0}
.stat + .stat{padding-left:clamp(14px,3vw,32px);border-left:1px solid var(--line)}
.stat b{display:block;font-size:clamp(56px,9vw,128px);font-weight:300;letter-spacing:-.06em;line-height:.9}
.stat > span{display:flex;align-items:center;gap:8px;margin-top:10px;font-weight:500}
.stat > span .leaf{width:10px;height:10px}
.stat:nth-child(2) b{color:var(--brand)}
.is-countable{cursor:pointer}
.is-countable b{transition:transform .4s var(--ease-spring)}
.is-countable:hover b{transform:scale(1.04)}
.count-plus{white-space:nowrap}
.roman i{display:inline-block;font-style:normal;opacity:0;transform:translateY(-30%);transition:.6s var(--ease-spring);transition-delay:calc(var(--k) * 90ms + .2s)}
.is-in .roman i{opacity:1;transform:none}

/* ---------- ABOUT ---------- */
.about{padding-block:clamp(70px,10vw,140px)}
.about-top{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,4vw,56px);align-items:end}
.tl{--pad:clamp(40px,5vw,64px);position:relative;list-style:none;margin:clamp(40px,6vw,80px) 0 0;padding:0 0 0 var(--pad)}
.tl::before,.tl::after{content:"";position:absolute;left:9px;top:28px;bottom:28px;width:1.5px;background:var(--line)}
.tl::after{width:3px;left:8px;background:var(--brand);bottom:auto;height:calc((100% - 56px) * var(--tl,0))}
.tl li{position:relative;display:grid;grid-template-columns:minmax(110px,200px) 1fr;gap:clamp(12px,3vw,40px);align-items:baseline;padding-block:clamp(16px,2.4vw,26px);border-top:1px solid var(--line)}
.tl li::before{content:"";position:absolute;left:calc(9.5px - var(--pad) - 9px);top:clamp(26px,3vw,36px);width:18px;height:18px;border-radius:var(--leaf);background:var(--paper);box-shadow:0 0 0 1.5px var(--ink-2) inset;
  transform:rotate(-90deg) scale(.8);transition:transform .6s var(--ease-spring),background .4s,box-shadow .4s}
.tl li.is-past::before{background:var(--brand);box-shadow:none;transform:none}
.tl li.is-next::before{box-shadow:0 0 0 1.5px var(--brand) inset}
.tl .yr{font-size:clamp(40px,5.4vw,76px);font-weight:300;letter-spacing:-.06em;line-height:1;color:#b9b8b3;transition:color .5s}
.tl li.is-past .yr{color:var(--ink)}
.tl li.is-next .yr{color:var(--brand)}
.tl p{margin:0;color:var(--muted);max-width:62ch;transition:color .4s}
.tl li.is-past p{color:var(--ink-2)}
.tl b{font-weight:600}

.seedblock{position:relative;margin-top:clamp(70px,9vw,120px);background:var(--ink);color:var(--paper);overflow:hidden}
.seedblock-in{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,5vw,72px);padding-block:clamp(56px,8vw,110px)}
.seedblock .eyebrow{color:var(--brand)}
.seedblock .eyebrow .leaf{background:var(--brand)}
.seedblock h3{font-size:clamp(80px,13vw,190px);font-weight:600;letter-spacing:-.06em;line-height:.8}
.seedblock .intro{margin:28px 0 0;font-size:clamp(17px,1.5vw,20px);max-width:42ch;color:#cfcfca}
.seedblock .intro b{color:var(--white);font-weight:500}
.goals{list-style:none;margin:0;padding:0;align-self:end}
.goals li{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:baseline;padding:18px 0;border-top:1px solid rgba(255,255,255,.16);font-size:clamp(20px,2vw,27px);letter-spacing:-.03em;line-height:1.15;
  opacity:0;transform:translateX(24px);transition:opacity .6s,transform .8s var(--ease);transition-delay:calc(var(--k) * .12s + .2s)}
.goals li:last-child{border-bottom:1px solid rgba(255,255,255,.16)}
.seedblock.is-in .goals li{opacity:1;transform:none}
.goals .n{font-size:14px;letter-spacing:0;color:var(--brand)}
.seedblock .note{margin:22px 0 0;font-size:15px;color:#a9a9a4;max-width:46ch}
.seedblock-stat{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 32px;padding-top:clamp(28px,4vw,44px);border-top:1px solid rgba(255,255,255,.16)}
.seedblock-stat b{font-size:clamp(70px,11vw,160px);font-weight:300;letter-spacing:-.06em;line-height:.85;color:var(--brand)}
.seedblock-stat > span{max-width:40ch;color:#cfcfca;padding-bottom:10px}
.seedblock .corner{position:absolute;right:var(--gutter);top:clamp(56px,8vw,110px);opacity:.95}
.seedblock .corner .trio-leaves{--s:clamp(90px,12vw,170px)}
.seedblock .corner .l1{background:var(--paper)}

.partners-band{background:var(--ink);color:var(--paper);padding-block:clamp(64px,8vw,110px)}
.partners-band .eyebrow .leaf{background:var(--brand)}
.partner-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:30px}
.partner{grid-column:span 2;position:relative;display:flex;flex-direction:column;gap:10px;min-height:170px;padding:22px;background:var(--paper-2);border-radius:0 40px 0 40px;
  transition:border-radius .55s var(--ease),background .3s,color .3s}
.partner:hover{border-radius:40px 0 40px 0}
.partner:nth-child(-n+3){background:var(--paper);color:var(--ink)}
.partner--intl{grid-column:span 3}
.partner--intl{background:transparent;color:var(--paper);box-shadow:0 0 0 1px rgba(227,227,222,.28) inset}
.partner--intl:hover{background:rgba(227,227,222,.06)}
.partner .flag::before{content:"";display:inline-block;width:9px;height:9px;margin-right:8px;border-radius:var(--leaf);background:var(--brand)}
.partner .flag{font-size:13px;font-weight:600;opacity:.75}
.partner h4{margin:auto 0 0;font-size:clamp(26px,2.8vw,38px);letter-spacing:-.045em;line-height:1}
.partner p{margin:0;font-size:15px;opacity:.82}
.partner .ext{width:18px;height:18px;vertical-align:middle;rotate:45deg;transition:transform .3s var(--ease)}
a.partner:hover .ext{transform:translate(3px,-3px)}

.manifesto{margin-top:clamp(56px,7vw,96px);display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,60px);align-items:center}
.manifesto .pill{grid-column:1 / -1;display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--ink-2)}
.manifesto .pill .leaf{width:12px}
.manifesto blockquote{margin:0;font-size:clamp(34px,5vw,72px);letter-spacing:-.045em;line-height:1}
.manifesto .trio-leaves{--s:clamp(40px,6vw,86px)}

/* ---------- FESTIVAL ---------- */
.festival{background:var(--white);padding-block:clamp(56px,7vw,100px)}
.festival-head{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end}
.spinner{position:relative;width:clamp(104px,11vw,136px);aspect-ratio:1;border-radius:50%;background:var(--paper);display:grid;place-items:center;transition:scale .4s var(--ease-spring)}
.spinner:hover{scale:1.06}
.spinner svg.ring{position:absolute;inset:0;width:100%;height:100%;animation:spin 18s linear infinite}
.spinner:hover svg.ring{animation-duration:5s}
@keyframes spin{to{rotate:360deg}}
.spinner .mini{position:relative;width:46px;height:30px}
.spinner .mini .leaf{position:absolute;width:15px}
.spinner .mini .leaf:nth-child(1){left:8px;top:0;background:var(--ink)}
.spinner .mini .leaf:nth-child(2){left:23px;top:15px}
.spinner .mini .leaf:nth-child(3){left:38px;top:15px}
.spinner:hover .mini .leaf{border-radius:var(--leaf-flip);transition:border-radius .4s var(--ease)}

.poster{position:relative;display:grid;grid-template-columns:auto auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:clamp(20px,3vw,44px);align-items:center;margin-top:clamp(20px,3vw,32px);padding:clamp(20px,3vw,40px);background:var(--paper);overflow:hidden}
.poster .t1{display:block;grid-column:1;grid-row:1;align-self:end;text-align:left;font-size:clamp(34px,4.2vw,64px);line-height:.92;letter-spacing:-.045em}
.poster .trio-leaves{grid-column:2;grid-row:1 / 3;align-self:center;justify-self:start;--s:clamp(30px,3.4vw,52px)}
.poster .t2{display:block;grid-column:1;grid-row:2;align-self:start;color:var(--brand);font-size:clamp(34px,4.2vw,64px);line-height:.92;letter-spacing:-.045em;margin-top:.04em}
.subthemes{grid-column:3;grid-row:1 / 3;align-self:center;padding-left:clamp(20px,3vw,44px);border-left:1px solid var(--line)}
.subthemes-label{display:block;margin-bottom:10px;font-size:14px;font-weight:600;color:var(--ink-2)}
.subthemes ul{display:grid;grid-template-columns:1fr;gap:8px;list-style:none;margin:0;padding:0}
.subthemes li{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--white);border-radius:0 20px 0 20px;
  font-size:clamp(17px,1.6vw,22px);letter-spacing:-.03em;line-height:1.1;transition:border-radius .5s var(--ease),transform .4s var(--ease)}
.subthemes li .leaf{flex:none;width:clamp(14px,1.3vw,18px);transition:transform .6s var(--ease-spring)}
.subthemes li:hover{border-radius:20px 0 20px 0;transform:translateX(4px)}
.subthemes li:hover .leaf{transform:rotate(90deg)}
.poster p{grid-column:8 / -1;align-self:end;margin:0;font-size:16px;color:var(--ink-2)}
.poster small{grid-column:1 / -1;margin-top:clamp(20px,4vw,40px);font-size:14px;font-weight:600}

.days{list-style:none;margin:clamp(30px,5vw,56px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.day{position:relative;display:flex;flex-direction:column;gap:8px;padding:clamp(20px,2.6vw,30px);background:var(--paper);border-radius:0 44px 0 44px;transition:border-radius .55s var(--ease),transform .4s var(--ease)}
.day:hover{border-radius:44px 0 44px 0;transform:translateY(-4px)}
.day .dn{font-size:clamp(70px,10vw,140px);font-weight:300;letter-spacing:-.07em;line-height:.85}
.day .dow{font-weight:600}
.day .mo{color:var(--muted)}
.day.is-open{background:var(--ink);color:var(--paper)}
.day.is-open .mo{color:#a9a9a4}
.day.is-close{background:var(--brand);color:var(--white)}
.day.is-close .mo{color:rgba(255,255,255,.8)}

.services{list-style:none;margin:clamp(40px,6vw,70px) 0 0;padding:0}
.service{display:grid;grid-template-columns:80px minmax(0,1fr) minmax(0,1.1fr);gap:20px;align-items:baseline;padding:clamp(18px,2.4vw,26px) 0;border-top:1px solid var(--line);transition:padding .45s var(--ease)}
.service:last-child{border-bottom:1px solid var(--line)}
.service .num{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}
.service .num .leaf{width:12px;transform:scale(0) rotate(-90deg);transition:transform .45s var(--ease-spring)}
.service h4{font-size:clamp(26px,3vw,42px);letter-spacing:-.045em;transition:color .3s}
.service p{margin:0;color:var(--ink-2)}
.service:hover{padding-left:14px}
.service:hover h4{color:var(--brand)}
.service:hover .num .leaf{transform:none}
.schedule-cta{display:flex;flex-wrap:wrap;gap:18px 30px;align-items:center;justify-content:space-between;margin-top:clamp(36px,5vw,56px)}
.schedule-cta p{margin:0;font-size:clamp(20px,2vw,28px);letter-spacing:-.03em;line-height:1.15;max-width:30ch}

/* ---------- HERO v2 (client's composition): feed your hope beside the black leaf, red leaves below-left,
   hope in action beside them, date top right. Leaves keep the designer's shape; tips touch. ---------- */
.hero2{display:block;min-height:0;padding-block:clamp(28px,5vw,72px) clamp(40px,6vw,80px)}
.h2-stage{--s:clamp(96px,18.5vw,290px);position:relative;display:grid;grid-template-columns:var(--s) var(--s) var(--s) minmax(0,1fr);grid-template-rows:var(--s) var(--s)}
.h2-stage h1{display:contents}
.h2-t1,.h2-t2{display:block;font-size:calc(var(--s) * .42);font-weight:400;letter-spacing:-.05em;line-height:.9;animation:up 1s var(--ease) both}
.h2-t1{grid-column:1 / 3;grid-row:1;align-self:center;justify-self:end;text-align:right;padding-right:calc(var(--s) * .22);animation-delay:.1s}
.h2-t2{grid-column:3 / 5;grid-row:2;align-self:center;justify-self:start;padding-left:calc(var(--s) * .18);color:var(--brand);animation-delay:.9s;position:relative;z-index:1}
.h2-leaf{width:var(--s);height:var(--s);animation:leafIn .9s var(--ease-spring) both;transition:border-radius .6s var(--ease)}
.h2-black{grid-column:3;grid-row:1;transform-origin:0 100%;animation-delay:.35s}
.h2-red1{grid-column:1;grid-row:2;transform-origin:100% 0;animation-delay:.55s}
.h2-red2{grid-column:2;grid-row:2;transform-origin:100% 0;animation-delay:.7s}
.h2-stage:hover .h2-leaf{border-radius:var(--leaf-flip)}
.h2-stage:hover .h2-red1{transition-delay:.06s}.h2-stage:hover .h2-red2{transition-delay:.12s}
.h2-date{grid-column:4;grid-row:1;justify-self:end;align-self:start;margin:0;font-size:calc(var(--s) * .22);font-weight:300;letter-spacing:-.05em;line-height:1;animation:fade 1s .4s var(--ease) both}
.h2-place{grid-column:4;grid-row:2;justify-self:end;align-self:end;margin:0;font-size:clamp(15px,1.3vw,20px);font-weight:500;letter-spacing:-.02em;animation:fade 1s .6s var(--ease) both}
.h2-foot{display:grid;grid-template-columns:1fr auto;gap:24px 40px;align-items:center;margin-top:clamp(28px,4vw,48px);padding-top:clamp(20px,3vw,32px);border-top:1px solid var(--line);animation:fade 1s 1.1s var(--ease) both}
.h2-tagline{margin:0;max-width:24ch;font-size:clamp(22px,2.3vw,34px);letter-spacing:-.035em;line-height:1.15}
.h2-sub{margin:12px 0 0;max-width:56ch;font-size:15px;color:var(--ink-2)}
.h2-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.btn--ghost{background:transparent;color:var(--ink);box-shadow:0 0 0 1.5px var(--ink) inset}
.btn--ghost:hover{background:var(--ink);color:var(--white)}
@media (max-width:900px){
  .h2-foot{grid-template-columns:1fr}
  .h2-actions{justify-content:flex-start}
}
@media (max-width:640px){
  .h2-stage{--s:25vw;grid-template-columns:var(--s) var(--s) var(--s) minmax(0,1fr);grid-template-rows:auto var(--s) var(--s)}
  .h2-date{grid-column:1 / -1;grid-row:1;justify-self:start;font-size:44px;margin-bottom:22px}
  .h2-place{grid-column:1 / -1;grid-row:4;justify-self:start;margin-top:18px}
  .h2-t1{grid-row:2}.h2-black{grid-row:2}
  .h2-t2{grid-row:3;grid-column:3 / -1;font-size:calc(var(--s) * .36)}
  .h2-red1,.h2-red2{grid-row:3}
}

/* ---------- WHY: goals list on the right of the description ---------- */
.why-text{align-items:start}
.why-goals{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.why-goals li{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line);
  font-size:clamp(17px,1.6vw,22px);letter-spacing:-.025em;line-height:1.25;transition:padding .45s var(--ease),color .3s}
.why-goals .n{font-size:14px;letter-spacing:0;color:var(--brand)}
.why-goals li:hover{padding-left:10px;color:var(--brand-deep)}

/* ---------- TRACKS: points with a title + one line ---------- */
.track-points,.track-steps{display:grid;grid-template-columns:1fr 1fr;gap:8px;list-style:none;margin:0;padding:0}
.track-points li,.track-steps li{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:0 14px 0 14px;font-size:14px;line-height:1.35;transition:border-radius .45s var(--ease),transform .4s var(--ease-spring)}
.track-points li b,.track-steps li b{font-size:16px;font-weight:600;letter-spacing:-.02em}
.track-points li span,.track-steps li > span{opacity:.82}
.track-points li{background:rgba(227,227,222,.08);box-shadow:0 0 0 1px rgba(227,227,222,.22) inset}
.track-points li:hover,.track-steps li:hover{border-radius:14px 0 14px 0;transform:translateY(-3px)}
.track-steps li b::before{content:counter(step) "  ";color:inherit;opacity:.7;font-weight:400}

/* ---------- 2000+: grows on hover ---------- */
.is-countable:hover b{color:var(--brand);transform:scale(1.06)}

/* ---------- TRACKS — learning (black leaf, "feed your hope") + action (red leaves, "hope in action") ---------- */
.track-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;font-size:15px;font-weight:500;letter-spacing:-.02em;line-height:1;
  border-radius:0 14px 0 14px;transition:border-radius .45s var(--ease),background .3s,color .3s}
.chip .leaf{width:11px;transition:transform .5s var(--ease-spring)}
.chip--learn{background:var(--ink);color:var(--paper)}
.chip--learn .leaf{background:var(--paper)}
.chip--action{background:var(--brand);color:var(--white)}
.chip--action .leaf{background:var(--white)}
.chip:hover{border-radius:14px 0 14px 0}
.chip:hover .leaf{transform:rotate(90deg)}
.tracks-head{margin-top:clamp(40px,5vw,64px);scroll-margin-top:100px}
.tracks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
.track{position:relative;display:flex;flex-direction:column;gap:18px;min-height:clamp(420px,42vw,540px);padding:clamp(24px,3.4vw,44px);overflow:hidden;
  border-radius:0 64px 0 64px;transition:border-radius .7s var(--ease)}
.track:hover{border-radius:64px 0 64px 0}
.track--learn{background:var(--ink);color:var(--paper)}
.track--action{background:var(--brand);color:var(--white)}
.track-motto{font-size:15px;font-weight:500;letter-spacing:-.01em;opacity:.8}
.track h3{margin-top:auto;font-size:clamp(56px,7.4vw,110px);letter-spacing:-.06em;line-height:.85}
.track p{margin:0;max-width:40ch;font-size:clamp(15px,1.3vw,17px);opacity:.88}
.track p b{font-weight:600}
.track .btn{align-self:flex-start}
.track-tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.track-tags li{padding:6px 12px;font-size:13px;font-weight:500;border-radius:0 12px 0 12px;box-shadow:0 0 0 1px rgba(227,227,222,.35) inset}
.track-steps{display:grid;grid-template-columns:1fr 1fr;gap:8px;list-style:none;margin:0;padding:0;counter-reset:step}
.track-steps li{counter-increment:step;
  background:rgba(26,25,25,.14);border-radius:0 14px 0 14px;transition:background .3s,transform .4s var(--ease-spring)}

.track-steps li:last-child{background:var(--ink)}
.track-steps li:hover{transform:translateY(-3px)}
.prize{display:inline-block;padding:2px 8px;background:var(--ink);color:var(--white);border-radius:0 8px 0 8px;opacity:1}
.track--action .btn{background:var(--ink)}
.track--action .btn:hover{background:var(--white);color:var(--ink)}
.track-photo{align-self:flex-end;width:min(62%,360px);aspect-ratio:4/3;margin:0 0 8px;overflow:hidden;border-radius:var(--leaf);transition:border-radius .7s var(--ease)}
.track-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.track:hover .track-photo{border-radius:var(--leaf-flip)}
.track:hover .track-photo img{transform:scale(1.05)}
.track h3{margin-top:0}
.wide-photo{margin:clamp(40px,6vw,70px) 0 0;overflow:hidden;aspect-ratio:21/9;border-radius:0 clamp(60px,10vw,160px) 0 clamp(60px,10vw,160px);transition:border-radius .9s var(--ease)}
.wide-photo:hover{border-radius:clamp(60px,10vw,160px) 0 clamp(60px,10vw,160px) 0}
.wide-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.track-leaves{position:absolute;top:clamp(24px,3.4vw,44px);right:clamp(24px,3.4vw,44px);display:flex;align-items:flex-end;--s:clamp(60px,8vw,110px)}
.track-leaves .leaf{width:var(--s);transition:border-radius .6s var(--ease),transform .7s var(--ease-spring)}
.track--learn .track-leaves .leaf{background:var(--paper)}
.track--action .track-leaves .leaf{background:var(--ink)}
.track--action .track-leaves .leaf + .leaf{background:var(--white)}
.track:hover .track-leaves .leaf{border-radius:var(--leaf-flip);transform:rotate(-8deg)}
.track:hover .track-leaves .leaf + .leaf{transition-delay:.08s;transform:rotate(8deg)}

/* ---------- FACILITATORS — speaker cards from the concept ---------- */
.people{padding-block:clamp(70px,10vw,140px)}
.people-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,4vw,56px);align-items:end}
.speakers{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:clamp(30px,5vw,56px);perspective:1200px}
.sp{position:relative;aspect-ratio:3/4.4;transform-style:preserve-3d;transition:transform .9s var(--ease);cursor:pointer}
.sp.is-flipped,.sp:focus-visible{transform:rotateY(180deg)}
@media (hover:hover){.sp:hover{transform:rotateY(180deg)}}
.sp-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;display:flex;flex-direction:column;padding:16px;background:var(--white)}
.sp-art{position:relative;flex:1;margin:-16px -16px 14px}
.sp-art .leaf{position:absolute;top:0;height:100%;width:auto}
.sp-art .leaf:nth-child(1){left:0;width:52%;height:auto;border-radius:var(--leaf)}
.sp-art .leaf:nth-child(2){right:0;width:52%;height:auto}
.sp-art .q{position:absolute;left:26%;top:40%;translate:-50% -50%;font-size:clamp(70px,8vw,110px);font-weight:300;letter-spacing:-.05em;color:var(--white);
  animation:bob 3s ease-in-out infinite;animation-delay:calc(var(--d,0) * .3s)}
@keyframes bob{50%{transform:translateY(-8px)}}
.sp-name{font-size:clamp(22px,2.2vw,30px);letter-spacing:-.045em;line-height:1}
.sp-role{margin-top:6px;font-size:13px;color:var(--muted)}
.sp-when{margin-top:auto;padding-top:14px;display:flex;justify-content:space-between;align-items:baseline;font-size:15px;font-weight:300;letter-spacing:-.02em}
.sp-when b{font-size:12px;font-weight:700;letter-spacing:-.02em}
.sp-back{transform:rotateY(180deg);background:var(--ink);color:var(--paper);justify-content:flex-end}
.sp-back b{font-size:clamp(24px,2.3vw,30px);font-weight:400;letter-spacing:-.04em;line-height:1.05}
.sp-back span{margin-top:10px;font-size:14px;color:#a9a9a4}
.sp-back .leaf{position:absolute;top:18px;left:18px;width:28px}
.notify{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between;margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.notify p{margin:0;font-size:clamp(20px,2vw,28px);letter-spacing:-.03em;line-height:1.15;max-width:30ch}

/* ---------- SUPPORT ---------- */
.support{background:var(--ink);color:var(--paper);padding-block:clamp(70px,10vw,140px);overflow:hidden}
.support .eyebrow .leaf{background:var(--brand)}
.support .lead{color:#bdbdb8}
.support-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,4vw,56px);align-items:end}
.ways{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:clamp(36px,5vw,60px)}
.way{display:flex;flex-direction:column;gap:10px;min-height:260px;padding:26px;background:#252423;color:var(--paper);text-align:left;border-radius:0 44px 0 44px;
  transition:border-radius .55s var(--ease),background .3s,color .3s}
.way:hover{border-radius:44px 0 44px 0;background:var(--brand);color:var(--white)}
.way .n{font-size:14px;color:var(--brand);transition:color .3s}
.way:hover .n{color:var(--white)}
.way b{margin-top:auto;font-size:clamp(26px,2.6vw,34px);font-weight:400;letter-spacing:-.045em;line-height:1}
.way > span:not(.n):not(.go){font-size:15px;opacity:.75}
.way .go{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-weight:500}
.way .go svg{width:16px;height:16px;transition:transform .35s var(--ease)}
.way:hover .go svg{transform:translateX(5px)}
.go--share .idle,.go--share .done{display:inline-flex;align-items:center;gap:8px}
.go--share .done{display:none}
.way.is-copied{background:var(--brand);color:var(--white);border-radius:44px 0 44px 0}
.way.is-copied .n{color:var(--white)}
.way.is-copied .go--share .idle{display:none}
.way.is-copied .go--share .done{display:inline-flex;animation:pop .4s var(--ease-spring)}
.way:hover .go--share svg{transform:none}

/* ---------- SUPPORTERS 2025 — logos sit on paper tiles; multiply hides their white backgrounds ---------- */
.backers{background:var(--white);padding-block:clamp(70px,10vw,140px)}
.backers-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,4vw,56px);align-items:end}
.backers-head .lead .link-u{display:inline-flex}
.tier{margin-top:clamp(40px,5vw,64px)}
.tier-label{display:flex;align-items:baseline;gap:10px;margin:0 0 16px;padding-top:16px;border-top:1px solid var(--line);font-size:15px;font-weight:600;letter-spacing:-.01em}
.tier-label .count{font-weight:400;color:var(--muted)}
.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;list-style:none;margin:0;padding:0}
.logo-tile{display:grid;place-items:center;aspect-ratio:3/2;padding:clamp(14px,2vw,22px);background:var(--paper);border-radius:0 24px 0 24px;transition:border-radius .5s var(--ease),background .3s}
.logo-tile img{max-width:82%;max-height:64px;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply;filter:grayscale(1);opacity:.78;transition:filter .4s,opacity .4s,transform .5s var(--ease-spring)}
.logo-tile:hover{border-radius:24px 0 24px 0;background:var(--paper-2)}
.logo-tile:hover img{filter:none;opacity:1;transform:scale(1.06)}

@media (hover:none){.logo-tile img{filter:none;opacity:1}}
@media (max-width:900px){.backers-head{grid-template-columns:1fr}}
@media (max-width:640px){.logos{grid-template-columns:repeat(2,1fr)}.logo-tile img{max-height:56px}}

/* ---------- CONTACT ---------- */
.contact-sec{padding-block:clamp(70px,10vw,140px) 0}
.cta{position:relative;display:grid;grid-template-columns:repeat(12,1fr);column-gap:16px;padding:clamp(30px,5vw,64px);background:var(--white);overflow:hidden}
.cta .t1{grid-column:1 / 9;font-size:clamp(52px,8vw,120px)}
.cta .t1 .red{display:block}
.cta .trio-leaves{grid-column:9 / -1;justify-self:end;align-self:start;--s:clamp(40px,5.5vw,86px)}
.cta p{grid-column:1 / 7;margin:28px 0 30px;font-size:clamp(16px,1.4vw,19px);color:var(--ink-2)}
.cta .btn{grid-column:1 / -1;justify-self:start}
.contact{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-block:12px clamp(30px,5vw,60px)}
.contact--single{grid-template-columns:minmax(0,520px)}
.card{padding:24px;background:var(--paper-2);border-radius:0 32px 0 32px;transition:border-radius .55s var(--ease)}
.card:hover{border-radius:32px 0 32px 0}
.card small{display:block;margin-bottom:12px;font-size:13px;font-weight:600;color:var(--muted)}
.card a,.card address{font-style:normal;font-size:20px;letter-spacing:-.03em;line-height:1.3}
.copy{display:flex;align-items:center;justify-content:space-between;gap:10px}
.copy .ic{flex:none;width:42px;height:42px;display:grid;place-items:center;background:var(--ink);color:var(--white);border-radius:0 14px 0 14px;transition:border-radius .4s var(--ease),background .3s}
.copy .ic svg{width:17px;height:17px}
.copy .ic:hover{border-radius:14px 0 14px 0;background:var(--brand)}
.copy .ic .ok{display:none}
.copy.is-copied .ic{background:var(--brand)}
.copy.is-copied .ic .cp{display:none}
.copy.is-copied .ic .ok{display:block;animation:pop .35s var(--ease-spring)}
@keyframes pop{from{transform:scale(0)}}
.footer{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;padding-block:22px calc(28px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.footer nav{display:flex;gap:18px}
.footer nav a{color:var(--ink);font-weight:500;transition:color .25s}
.footer nav a:hover{color:var(--brand)}

/* ---------- floating bits ---------- */
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:70;translate:-50% 0;padding:13px 20px;background:var(--ink);color:var(--white);
  border-radius:0 16px 0 16px;font-size:15px;transform:translateY(160%);opacity:0;transition:transform .5s var(--ease-spring),opacity .3s}
.toast.is-on{transform:none;opacity:1}
.totop{position:fixed;right:clamp(14px,3vw,28px);bottom:calc(clamp(14px,3vw,28px) + env(safe-area-inset-bottom,0px));z-index:40;width:52px;height:52px;
  background:var(--ink);color:var(--white);border-radius:0 18px 0 18px;display:grid;place-items:center;overflow:hidden;
  opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .4s,transform .4s var(--ease-spring),border-radius .45s var(--ease),background .3s}
.totop.is-on{opacity:1;transform:none;pointer-events:auto}
.totop:hover{border-radius:18px 0 18px 0;background:var(--brand)}
.totop::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:calc(var(--p,0) * 100%);background:var(--brand)}
.totop:hover::after{background:var(--white)}
.totop svg{width:18px;height:18px}
.mbar{display:none}

/* ---------- language ---------- */
html:not([lang="en"]) .en{display:none!important}
html[lang="en"] .ro{display:none!important}
main.is-switching{animation:langSwap .45s var(--ease)}
@keyframes langSwap{from{opacity:.25;transform:translateY(6px)}}

/* ---------- responsive ---------- */
@media (max-width:1160px){
  .menu,.nav-actions > .btn{display:none}
  .burger{display:block}
}
@media (max-width:900px){
  .about-top,.why-text,.people-head,.support-head,.seedblock-in{grid-template-columns:1fr}
  .why-grid .h2{grid-column:1 / -1}
  .speakers{grid-template-columns:repeat(2,1fr)}
  .ways,.contact,.days,.tracks{grid-template-columns:1fr}
  .partner-grid{grid-template-columns:1fr 1fr}
  .partner,.partner--intl{grid-column:span 1}
  .partner:nth-child(3){grid-column:1 / -1}
  .service{grid-template-columns:44px 1fr}
  .service p{grid-column:2}
  .poster{grid-template-columns:auto 1fr}
  .poster .trio-leaves{grid-column:2;justify-self:end}
  .subthemes{grid-column:1 / -1;grid-row:3;margin-top:22px;padding:18px 0 0;border-left:0;border-top:1px solid var(--line)}
  .cta .t1,.cta p,.cta .trio-leaves{grid-column:1 / -1}
  .cta .trio-leaves{justify-self:start;margin-top:24px}
  .seedblock .corner{display:none}
  .manifesto{grid-template-columns:1fr}
}
@media (max-width:640px){
  body{font-size:16px}
  .hero{min-height:0}
  .hero .t1{grid-column:1 / -1}
  .hero .t2{grid-column:1 / -1;grid-row:4;margin-top:20px}
  .hero .art{grid-column:1 / -1;justify-self:end}
  .hero .t1--mirror,.hero .art--mirror{grid-column:1 / -1;justify-self:start}
  .hero .t2--mirror{grid-column:1 / -1;justify-self:end}
  .hero-foot{grid-template-columns:1fr}
  .hero-foot .right{align-items:flex-start;text-align:left}
  .photos{grid-template-columns:1fr 1fr}
  .pic:nth-child(1){grid-column:1 / -1}
  .stats{grid-template-columns:1fr}
  .stat + .stat{padding-left:0;border-left:0;border-top:1px solid var(--line);margin-top:20px}
  .tl li{grid-template-columns:1fr;gap:4px}
  .partner-grid{grid-template-columns:1fr}
  .festival-head{grid-template-columns:1fr}
  .speakers{gap:10px}
  .sp-face{padding:12px}
  .sp-art{margin:-12px -12px 10px}
  .mbar{display:flex;position:fixed;left:16px;right:84px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:41;justify-content:center;
    background:var(--brand);transform:translateY(180%);transition:transform .5s var(--ease-spring),border-radius .45s var(--ease)}
  .mbar.is-on{transform:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}

/* ---------- Elementor / WordPress safety ----------
   Content that animates in must stay visible inside the Elementor editor. */
.elementor-editor-active .reveal,
.elementor-editor-preview .reveal{opacity:1!important;transform:none!important}
.elementor-editor-active .header{position:relative}
