  :root{
    --cream:#FBF4E9;
    --paper:#FFFDF8;
    --ink:#1C1A16;
    --ink-soft:#4A453D;
    --coral:#D0161F;
    --coral-deep:#A8101A;
    --saffron:#E6A02C;
    --pine:#013469;
    --pine-2:#014284;
    --frost:#1874C7;
    --slate:#5B6676;
    --line:rgba(28,26,22,.14);
    --maxw:1240px;
    --r:18px;
    --hero-img:url('images/hero-ndp2025.jpg');
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:"Schibsted Grotesk",system-ui,sans-serif;
    background:var(--cream);
    color:var(--ink);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  /* grain overlay */
  body::after{
    content:"";position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.04;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  h1,h2,h3,h4{font-family:"Fraunces",Georgia,serif;font-weight:500;line-height:1.04;letter-spacing:-.015em}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
  .eq{font-family:"Schibsted Grotesk";font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600}

  /* ---------- Peranakan tile motif ---------- */
  .tile-band{
    height:14px;width:100%;
    background:
      repeating-linear-gradient(45deg,var(--coral) 0 14px,transparent 14px 28px),
      repeating-linear-gradient(-45deg,var(--pine) 0 14px,transparent 14px 28px),
      var(--saffron);
    background-size:28px 28px;
    opacity:.9;
  }

  /* ---------- Header ---------- */
  header{
    position:sticky;top:0;z-index:100;
    backdrop-filter:saturate(1.4) blur(12px);
    background:rgba(251,244,233,.78);
    border-bottom:1px solid var(--line);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;height:72px}
  .brand{display:flex;align-items:center;gap:12px;font-weight:700}
  .brand .mark{width:44px;height:44px;flex:none;display:block}
  .brand b{font-family:"Fraunces";font-weight:600;font-size:1.18rem;letter-spacing:-.02em}
  .brand span{display:block;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--slate);font-weight:600;margin-top:-2px}
  nav ul{display:flex;gap:30px;list-style:none;align-items:center}
  nav ul a{font-size:.92rem;font-weight:500;color:var(--ink-soft);transition:color .2s}
  nav ul a:hover{color:var(--coral)}
  .btn{
    display:inline-flex;align-items:center;gap:9px;
    background:var(--coral);color:#fff;font-weight:600;font-size:.92rem;
    padding:11px 20px;border-radius:999px;border:1px solid var(--coral-deep);
    transition:transform .18s ease,background .2s;cursor:pointer;
  }
  .btn:hover{transform:translateY(-2px);background:var(--coral-deep)}
  .btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}
  .btn.ghost:hover{background:var(--ink);color:var(--cream)}
  .burger{display:none;background:none;border:0;font-size:1.6rem;cursor:pointer;color:var(--ink)}

  /* ---------- Hero (photo background) ---------- */
  .hero{
    position:relative;min-height:90vh;display:flex;align-items:center;
    padding:120px 0 96px;overflow:hidden;color:var(--cream);
    background-color:var(--pine);
    background-image:
      radial-gradient(130% 100% at 0% 28%,rgba(1,16,36,.62) 0%,rgba(1,16,36,0) 52%),
      linear-gradient(0deg,rgba(1,18,40,.84) 0%,rgba(1,18,40,0) 36%),
      linear-gradient(90deg,rgba(1,22,48,.92) 0%,rgba(1,22,48,.72) 38%,rgba(1,22,48,.2) 70%,rgba(1,22,48,.34) 100%),
      var(--hero-img);
    background-size:cover;background-position:center;background-repeat:no-repeat;
  }
  .hero-inner{position:relative;z-index:2;max-width:780px}
  .kicker{display:inline-flex;align-items:center;gap:10px;color:var(--saffron);margin-bottom:24px}
  .kicker .dot{width:7px;height:7px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px rgba(208,22,31,.32)}
  .hero h1{font-size:clamp(2.9rem,6.8vw,5.6rem);font-weight:400;color:#fff;text-shadow:0 2px 34px rgba(0,0,0,.4)}
  .hero h1 em{font-style:italic;color:var(--saffron)}
  .hero h1 .pine{color:#fff}
  .hero p.lead{font-size:1.2rem;color:rgba(251,244,233,.94);max-width:42ch;margin:26px 0 34px;text-shadow:0 1px 18px rgba(0,0,0,.45)}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
  .hero .btn.ghost{color:#fff;border-color:rgba(255,255,255,.65)}
  .hero .btn.ghost:hover{background:#fff;color:var(--pine);border-color:#fff}
  .stat-row{display:flex;gap:38px;margin-top:48px;flex-wrap:wrap}
  .stat b{font-family:"Fraunces";font-size:2.1rem;display:block;line-height:1;color:#fff}
  .stat span{font-size:.8rem;color:rgba(251,244,233,.78);letter-spacing:.04em}

  /* ---------- Section scaffolding ---------- */
  section{padding:92px 0;position:relative}
  .sec-head{max-width:62ch;margin-bottom:54px}
  .sec-head .eq{color:var(--coral);margin-bottom:14px;display:block}
  .sec-head h2{font-size:clamp(2rem,3.6vw,3rem);font-weight:400}
  .sec-head p{color:var(--ink-soft);font-size:1.08rem;margin-top:16px}

  /* About strip */
  .about{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
  .pillar{padding:30px;border:1px solid var(--line);border-radius:var(--r);background:var(--cream);transition:transform .2s,box-shadow .2s}
  .pillar:hover{transform:translateY(-4px);box-shadow:0 20px 40px -28px rgba(1,52,105,.4)}
  .pillar .ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:1.3rem;margin-bottom:18px;background:rgba(208,22,31,.1)}
  .pillar h3{font-size:1.32rem;margin-bottom:8px}
  .pillar p{color:var(--ink-soft);font-size:.98rem}

  /* Chapters */
  .chapters-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
  .chap{
    position:relative;border-radius:16px;overflow:hidden;min-height:230px;
    border:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end;
    padding:20px;color:#fff;isolation:isolate;transition:transform .25s;
  }
  .chap:hover{transform:translateY(-5px)}
  .chap::before{content:"";position:absolute;inset:0;z-index:-1;transition:transform .4s}
  .chap:hover::before{transform:scale(1.06)}
  .chap.oslo::before{background:linear-gradient(160deg,#014284,#012650)}
  .chap.sthlm::before{background:linear-gradient(160deg,#1874C7,#0F4F8F)}
  .chap.cph::before{background:linear-gradient(160deg,#D0161F,#8E0E16)}
  .chap.hel::before{background:linear-gradient(160deg,#3a6ea5,#1d3f63)}
  .chap.rvk::before{background:linear-gradient(160deg,#6a4c93,#3d2a5c)}
  .chap .flag{position:absolute;top:16px;left:18px;font-size:1.4rem}
  .chap h3{font-size:1.45rem;color:#fff}
  .chap .ct{font-size:.84rem;opacity:.85;margin-top:2px}
  .chap .mem{position:absolute;top:18px;right:18px;font-size:.72rem;background:rgba(255,255,255,.18);padding:4px 10px;border-radius:999px;backdrop-filter:blur(4px)}

  /* Events */
  .events{background:var(--pine);color:var(--cream)}
  .events .sec-head .eq{color:var(--saffron)}
  .events .sec-head h2{color:var(--cream)}
  .events .sec-head p{color:rgba(251,244,233,.78)}
  .ev-tabs{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}
  .ev-tab{font-size:.86rem;font-weight:600;padding:9px 16px;border-radius:999px;border:1px solid rgba(251,244,233,.28);background:transparent;color:var(--cream);cursor:pointer;transition:.2s}
  .ev-tab.active,.ev-tab:hover{background:var(--saffron);color:var(--pine);border-color:var(--saffron)}
  .ev-list{display:grid;gap:14px}
  .ev{
    display:grid;grid-template-columns:96px 1fr auto;gap:22px;align-items:center;
    padding:22px 26px;border-radius:16px;background:rgba(251,244,233,.06);
    border:1px solid rgba(251,244,233,.14);transition:.2s;
  }
  .ev:hover{background:rgba(251,244,233,.1);transform:translateX(4px)}
  .ev .date{text-align:center;border-right:1px solid rgba(251,244,233,.2);padding-right:20px}
  .ev .date .d{font-family:"Fraunces";font-size:2rem;line-height:1}
  .ev .date .m{font-size:.74rem;text-transform:uppercase;letter-spacing:.16em;color:var(--saffron)}
  .ev .info h3{font-size:1.32rem;color:var(--cream);margin-bottom:4px}
  .ev .info .meta{font-size:.88rem;opacity:.8;display:flex;gap:14px;flex-wrap:wrap}
  .ev .city{font-size:.74rem;padding:5px 12px;border-radius:999px;background:rgba(230,160,44,.18);color:var(--saffron);white-space:nowrap}
  .ev[hidden]{display:none}

  /* Membership */
  .tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch}
  .tier{display:flex;flex-direction:column;padding:30px 26px;border-radius:var(--r);border:1px solid var(--line);background:var(--paper);position:relative}
  .tier.feat{background:var(--ink);color:var(--cream);border-color:var(--ink);transform:scale(1.03)}
  .tier.feat .price,.tier.feat h3{color:var(--cream)}
  .tier .tag{position:absolute;top:-12px;right:18px;background:var(--saffron);color:var(--pine);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
  .tier h3{font-size:1.3rem;margin-bottom:4px}
  .tier .price{font-family:"Fraunces";font-size:2.2rem;color:var(--pine);line-height:1.1}
  .tier .price small{font-size:.86rem;font-family:"Schibsted Grotesk";color:var(--slate);font-weight:500}
  .tier ul{list-style:none;margin:20px 0 24px;display:grid;gap:11px;flex:1}
  .tier li{font-size:.93rem;padding-left:26px;position:relative;color:inherit}
  .tier.feat li{color:rgba(251,244,233,.86)}
  .tier li::before{content:"";position:absolute;left:0;top:7px;width:13px;height:13px;border-radius:50%;background:var(--frost);box-shadow:inset 0 0 0 2px var(--paper)}
  .tier.feat li::before{box-shadow:inset 0 0 0 2px var(--ink)}
  .tier .btn{width:100%;justify-content:center}
  .tier.feat .btn{background:var(--saffron);color:var(--pine);border-color:var(--saffron)}

  /* Free join card */
  .join-card{display:grid;grid-template-columns:1.4fr 1fr;gap:0;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--paper)}
  .join-perks{padding:42px}
  .join-perks h3{font-size:1.5rem;margin-bottom:22px}
  .join-perks ul{list-style:none;display:grid;gap:14px}
  .join-perks li{font-size:1.02rem;padding-left:30px;position:relative;color:var(--ink-soft)}
  .join-perks li::before{content:"";position:absolute;left:0;top:8px;width:14px;height:14px;border-radius:50%;background:var(--frost);box-shadow:inset 0 0 0 2px var(--paper)}
  .join-aside{padding:42px;background:var(--pine);color:var(--cream);display:flex;flex-direction:column;justify-content:center;gap:18px}
  .join-aside .big{font-family:"Fraunces";font-size:2.1rem;line-height:1.08;color:var(--cream)}
  .join-aside .btn{align-self:flex-start;background:var(--saffron);color:var(--pine);border-color:var(--saffron)}
  @media(max-width:760px){.join-card{grid-template-columns:1fr}.join-aside{align-items:flex-start}}

  /* Connect / extras */
  .extras{background:var(--paper);border-top:1px solid var(--line)}
  .extra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .extra{padding:28px;border-radius:var(--r);border:1px solid var(--line);background:var(--cream);position:relative;overflow:hidden}
  .extra .n{font-family:"Fraunces";font-size:.9rem;color:var(--coral);font-weight:600;letter-spacing:.05em}
  .extra h3{font-size:1.28rem;margin:8px 0 8px}
  .extra p{font-size:.95rem;color:var(--ink-soft)}
  .extra .soon{display:inline-block;margin-top:14px;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--frost);font-weight:700}

  /* Newsletter / CTA */
  .joinband{position:relative;overflow:hidden;background:var(--coral);color:#fff;text-align:center;border-radius:28px;padding:64px 28px;margin:0 auto;max-width:var(--maxw)}
  .joinband::before{content:"";position:absolute;inset:0;opacity:.12;background:repeating-linear-gradient(45deg,#fff 0 18px,transparent 18px 36px);background-size:36px 36px}
  .joinband h2{font-size:clamp(2rem,4vw,3.2rem);font-weight:400;color:#fff;position:relative}
  .joinband p{position:relative;max-width:48ch;margin:14px auto 28px;opacity:.94}
  .signup{position:relative;display:flex;gap:10px;max-width:480px;margin:0 auto;flex-wrap:wrap;justify-content:center}
  .signup input{flex:1;min-width:240px;padding:14px 18px;border-radius:999px;border:0;font-family:inherit;font-size:.95rem}
  .signup .btn{background:var(--ink);border-color:var(--ink)}
  .signup .btn:hover{background:#000}

  /* Footer */
  footer{background:var(--ink);color:rgba(251,244,233,.82);padding:64px 0 28px}
  .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px;margin-bottom:42px}
  footer h4{font-family:"Schibsted Grotesk";font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--saffron);margin-bottom:16px;font-weight:700}
  footer ul{list-style:none;display:grid;gap:10px}
  footer a{font-size:.94rem;opacity:.85}
  footer a:hover{opacity:1;color:var(--saffron)}
  .foot-brand b{font-family:"Fraunces";font-size:1.3rem;color:var(--cream)}
  .foot-brand p{font-size:.92rem;margin-top:10px;max-width:34ch;opacity:.7}
  .foot-bottom{border-top:1px solid rgba(251,244,233,.14);padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.84rem;opacity:.7}

  /* reveal animation */
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}
  .hero .reveal,.page-head .reveal{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
  .hero .reveal:nth-child(1){animation-delay:.05s}
  @keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}

  /* Responsive */
  @media(max-width:980px){
    .hero-grid{grid-template-columns:1fr;gap:40px}
    .pillars,.extra-grid{grid-template-columns:1fr 1fr}
    .chapters-grid{grid-template-columns:repeat(2,1fr)}
    .tiers{grid-template-columns:1fr 1fr}
    .tier.feat{transform:none}
    .foot-grid{grid-template-columns:1fr 1fr}
  }
  @media(max-width:680px){
    nav ul{display:none}
    .burger{display:block}
    nav.open ul{
      display:flex;position:absolute;top:72px;left:0;right:0;flex-direction:column;
      background:var(--paper);padding:20px 28px;gap:18px;border-bottom:1px solid var(--line);
    }
    .pillars,.extra-grid,.chapters-grid,.tiers,.foot-grid{grid-template-columns:1fr}
    .ev{grid-template-columns:70px 1fr;gap:16px}
    .ev .city{grid-column:2;justify-self:start}
    .stat-row{gap:24px}
    section{padding:64px 0}
    .hero{min-height:auto;padding:96px 0 64px}
  }

  /* ---------- Additions 2026-09 : audience, festival, team, past events ---------- */
  .brand b{white-space:nowrap}
  .hero h1{font-size:clamp(2.6rem,6vw,5rem)}
  .hero-note{font-size:.92rem;color:rgba(251,244,233,.78);margin-top:40px;max-width:52ch}
  .hero-note b{color:var(--saffron);font-weight:600}

  /* Who is this for */
  .who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .who{
    position:relative;border-radius:16px;overflow:hidden;min-height:240px;
    border:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end;
    padding:26px;color:#fff;isolation:isolate;transition:transform .25s;
  }
  .who:hover{transform:translateY(-5px)}
  .who::before{content:"";position:absolute;inset:0;z-index:-1;transition:transform .4s}
  .who:hover::before{transform:scale(1.06)}
  .who.a::before{background:linear-gradient(160deg,#014284,#012650)}
  .who.b::before{background:linear-gradient(160deg,#D0161F,#8E0E16)}
  .who.c::before{background:linear-gradient(160deg,#1874C7,#0F4F8F)}
  .who .ico{position:absolute;top:20px;left:24px;font-size:1.6rem}
  .who h3{font-size:1.5rem;color:#fff;margin-bottom:8px}
  .who p{font-size:.95rem;opacity:.9}

  /* Events: upcoming + past */
  .ev-group{margin-bottom:34px}
  .ev-group h3.gl{font-family:"Schibsted Grotesk";font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--saffron);margin-bottom:14px;font-weight:700}
  .ev .info .meta a{text-decoration:underline;text-underline-offset:3px}
  .ev.past{opacity:.82}
  .ev-empty{padding:22px 26px;border-radius:16px;border:1px dashed rgba(251,244,233,.3);font-size:.95rem;color:rgba(251,244,233,.8)}

  /* Film festival banner */
  .festival{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .fest-card{display:grid;grid-template-columns:1.2fr 1fr;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--cream)}
  .fest-copy{padding:46px}
  .fest-copy h3{font-size:clamp(1.7rem,3vw,2.4rem);margin:10px 0 16px}
  .fest-copy p{color:var(--ink-soft);font-size:1.02rem;margin-bottom:14px}
  .fest-copy ul{list-style:none;display:grid;gap:10px;margin:18px 0 26px}
  .fest-copy li{padding-left:26px;position:relative;color:var(--ink-soft);font-size:.98rem}
  .fest-copy li::before{content:"";position:absolute;left:0;top:8px;width:13px;height:13px;border-radius:50%;background:var(--coral);box-shadow:inset 0 0 0 2px var(--cream)}
  .fest-side{background:var(--ink);color:var(--cream);padding:46px;display:flex;flex-direction:column;justify-content:center;gap:14px}
  .fest-side .yr{font-family:"Fraunces";font-size:clamp(3rem,6vw,5rem);line-height:1;color:var(--saffron)}
  .fest-side .sub{font-size:1.05rem;opacity:.9}
  .fest-side .url{font-family:"Schibsted Grotesk";font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
  @media(max-width:860px){.fest-card{grid-template-columns:1fr}}

  /* Team */
  .team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
  .member{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);overflow:hidden;transition:transform .2s,box-shadow .2s}
  .member:hover{transform:translateY(-4px);box-shadow:0 20px 40px -28px rgba(1,52,105,.4)}
  .member img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;display:block;background:var(--cream)}
  .member .mb{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
  .member h3{font-size:1.28rem;margin-bottom:2px}
  .member .role{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--coral);font-weight:700;margin-bottom:12px}
  .member p{font-size:.93rem;color:var(--ink-soft);flex:1}
  .member .li{display:inline-flex;align-items:center;gap:7px;margin-top:16px;font-size:.86rem;font-weight:600;color:var(--pine)}
  .member .li:hover{color:var(--coral)}
  .member .li svg{width:16px;height:16px;fill:currentColor}
  .team-teaser{display:block}
  .faces{display:flex}
  .faces img{width:58px;height:58px;border-radius:50%;object-fit:cover;object-position:center top;border:3px solid var(--paper);margin-left:-14px;background:var(--cream)}
  .faces img:first-child{margin-left:0}
  .team-teaser .tt{display:flex;align-items:center;gap:22px;padding:26px 30px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);flex-wrap:wrap}
  .team-teaser .tt p{color:var(--ink-soft);flex:1;min-width:220px}

  /* Team page header */
  .page-head{background:var(--pine);color:var(--cream);padding:120px 0 72px}
  .page-head .eq{color:var(--saffron);display:block;margin-bottom:14px}
  .page-head h1{font-size:clamp(2.4rem,5vw,4rem);font-weight:400;color:#fff}
  .page-head p{max-width:56ch;margin-top:18px;color:rgba(251,244,233,.86);font-size:1.1rem}
  .org-note{margin-top:34px;font-size:.92rem;color:var(--slate)}

  /* Contact card */
  .contact-card{display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .contact-card .cc{padding:30px;border:1px solid var(--line);border-radius:var(--r);background:var(--cream)}
  .contact-card h3{font-size:1.3rem;margin-bottom:8px}
  .contact-card p{color:var(--ink-soft);font-size:.98rem;margin-bottom:16px}

  @media(max-width:980px){
    .team-grid,.who-grid{grid-template-columns:1fr 1fr}
  }
  @media(max-width:680px){
    .team-grid,.who-grid,.contact-card{grid-template-columns:1fr}
    .fest-copy,.fest-side{padding:30px}
  }
  .ev .date .d:only-child{font-size:1.5rem;padding:6px 0}

  /* ---------- Additions 2026-09-25 : logo, Kebaya Night, gallery, contribute ---------- */
  .hero{background-position:center 38%}
  .foot-logo{display:block;width:64px;height:64px;padding:6px;border-radius:50%;background:#fff;margin-bottom:16px}

  /* Upcoming feature (Kebaya Night) */
  .ev-feature{display:grid;grid-template-columns:minmax(200px,300px) 1fr;gap:34px;align-items:center;padding:26px;border-radius:20px;background:rgba(251,244,233,.06);border:1px solid rgba(251,244,233,.14)}
  .ev-feature .poster{display:block;border-radius:12px;overflow:hidden;box-shadow:0 24px 50px -24px rgba(0,0,0,.6);transition:transform .25s}
  .ev-feature .poster:hover{transform:translateY(-4px)}
  .ev-feature .poster img{display:block;width:100%;height:auto}
  .evf-date{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--saffron);font-weight:700}
  .evf-body h3{font-size:clamp(1.9rem,3.4vw,2.6rem);color:var(--cream);margin:8px 0 4px}
  .evf-sub{color:rgba(251,244,233,.72);margin-bottom:16px}
  .evf-body p{max-width:56ch;color:rgba(251,244,233,.88)}
  .evf-note{font-size:.9rem;margin-top:10px;opacity:.75}
  .evf-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
  .evf-cta .btn{background:var(--saffron);color:var(--pine);border-color:var(--saffron)}
  .evf-cta .btn.ghost{background:transparent;color:var(--cream);border-color:rgba(251,244,233,.6)}
  .evf-cta .btn.ghost:hover{background:var(--cream);color:var(--pine)}
  @media(max-width:760px){.ev-feature{grid-template-columns:1fr;padding:20px}.ev-feature .poster{max-width:320px}}

  /* Past events gallery */
  .gallery{position:relative}
  .g-track{display:flex;align-items:flex-start;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 0 6px;outline:none;overscroll-behavior-x:contain}
  .g-track::-webkit-scrollbar{display:none}
  .g-track:focus-visible{box-shadow:0 0 0 2px var(--saffron);border-radius:16px}
  .slide{flex:0 0 min(78%,820px);min-width:0;scroll-snap-align:center;margin:0}
  .slide img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:16px;background:rgba(251,244,233,.08)}
  .slide figcaption{margin-top:12px;font-size:.98rem;color:rgba(251,244,233,.9)}
  .g-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:18px}
  .g-btn{width:46px;height:46px;border-radius:50%;border:1px solid rgba(251,244,233,.4);background:transparent;color:var(--cream);font-size:1.15rem;cursor:pointer;transition:.2s}
  .g-btn:hover{background:var(--saffron);color:var(--pine);border-color:var(--saffron)}
  .g-count{font-size:.84rem;letter-spacing:.14em;color:rgba(251,244,233,.75);min-width:60px;text-align:center}
  @media(max-width:680px){.slide{flex-basis:88%}}

  /* Contribute (Vipps) */
  .contribute{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;margin-top:22px;padding:34px 42px;border-radius:24px;border:1px solid var(--line);background:var(--paper)}
  .contribute .eq{color:var(--coral);display:block;margin-bottom:10px}
  .contribute h3{font-size:1.6rem;margin-bottom:8px}
  .contribute p{color:var(--ink-soft);max-width:52ch}
  .vipps{display:flex;flex-direction:column;align-items:center;padding:18px 28px;border-radius:18px;background:var(--coral);color:#fff;text-align:center}
  .vipps span{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;opacity:.9}
  .vipps b{font-family:"Fraunces";font-size:2.2rem;line-height:1.1;font-weight:500}
  @media(max-width:680px){.contribute{padding:28px}}
  @media(max-width:680px){.brand{gap:10px}.brand .mark{width:38px;height:38px}.brand b{font-size:1rem}.wrap{padding:0 18px}}

  /* ---------- Additions 2026-10-04 : logo colour scheme (Kathleen's email 2026-09-25) ---------- */
  .tile-band{
    background:
      repeating-linear-gradient(45deg,var(--coral) 0 14px,transparent 14px 28px),
      repeating-linear-gradient(-45deg,var(--pine) 0 14px,transparent 14px 28px),
      #D7A550;
    background-size:28px 28px;opacity:1;
  }
  .brand b{color:var(--coral)}
  .brand span{letter-spacing:.12em}
