/*
Theme Name: Batalo East
Theme URI: https://bataloeast.org/
Author: Batalo East
Description: BRAND COLOURS (logo yellow #F5BB18, black and warm cream). Tradition Meets Urban — a fresh build of the client's approved homepage design, the same on phones, tablets, laptops and large screens. Edit every word and photo in Appearance › Customize › Batalo East home page; build other pages from the “Batalo East sections” blocks.
Version: 7.34.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: batalo-east
*/
  :root{
    --ink:#16110B;
    --ink-2:#1F1810;
    --bone:#F3EADA;
    --bone-2:#EADFCB;
    --ochre:#E39A2C;   /* tradition */
    --cobalt:#3D53C9;  /* urban */
    --clay:#C34A2B;    /* energy */
    --stone:#A2937C;
    --stone-d:#6E6250;
    --display:'Bricolage Grotesque',sans-serif;
    --serif:'Newsreader',serif;
    --mono:'Space Mono',monospace;
    --edge:1px solid rgba(243,234,218,.14);
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    background:var(--ink);color:var(--bone);
    font-family:var(--serif);font-size:18px;line-height:1.6;
    -webkit-font-smoothing:antialiased;overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none}
  .wrap{max-width:1280px;margin:0 auto;padding:0 clamp(20px,5vw,64px)}
  .mono{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;font-size:12px}
  .disp{font-family:var(--display);font-weight:800;line-height:.92;letter-spacing:-.02em}

  /* pattern texture */
  .grain{position:fixed;inset:0;pointer-events:none;z-index:2;opacity:.05;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cg fill='none' stroke='%23E39A2C' stroke-width='1'%3E%3Cpath d='M0 70 L70 0 L140 70 L70 140 Z'/%3E%3Cpath d='M35 70 L70 35 L105 70 L70 105 Z'/%3E%3C/g%3E%3C/svg%3E");}

  /* ---------- NAV ---------- */
  header{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .4s,border-color .4s;border-bottom:1px solid transparent}
  header.solid{background:rgba(22,17,11,.9);backdrop-filter:blur(10px);border-bottom:var(--edge)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:74px}
  .brand{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.01em;display:flex;align-items:center;gap:9px}
  .brand .dot{width:10px;height:10px;background:var(--ochre);border-radius:50%;box-shadow:0 0 0 4px rgba(227,154,44,.18)}
  .navlinks{display:flex;gap:30px;align-items:center}
  .navlinks a{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:11.5px;color:var(--stone);transition:color .2s;position:relative;padding:4px 0}
  .navlinks a:hover{color:var(--bone)}
  .navlinks a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--ochre);transition:width .25s}
  .navlinks a:hover::after{width:100%}
  .navitem{position:relative;display:flex;align-items:center}
  .navitem::before{content:"";position:absolute;top:100%;left:-8px;right:-8px;height:18px}
  .navtop{display:flex;align-items:center;gap:5px}
  .caret{font-size:8px;color:var(--ochre);transition:transform .25s}
  .navitem:hover .caret,.navitem:focus-within .caret{transform:rotate(180deg)}
  .dropdown{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(8px);
    background:rgba(28,22,15,.97);backdrop-filter:blur(12px);border:var(--edge);border-radius:5px;
    padding:8px;min-width:224px;display:flex;flex-direction:column;gap:1px;z-index:60;
    opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;box-shadow:0 30px 60px -22px rgba(0,0,0,.75)}
  .navitem:hover .dropdown,.navitem:focus-within .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
  .dropdown a{font-family:var(--serif);text-transform:none;letter-spacing:0;font-size:14.5px;color:var(--stone);padding:9px 14px;border-radius:3px;white-space:nowrap}
  .dropdown a::after{display:none}
  .dropdown a:hover{background:rgba(227,154,44,.12);color:var(--bone)}
  .navlinks .nav-cta-mobile{display:none}
  .btn{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:11.5px;font-weight:700;
    padding:11px 20px;border-radius:2px;transition:transform .15s,background .2s,color .2s;display:inline-block}
  .btn-solid{background:var(--ochre);color:var(--ink)}
  .btn-solid:hover{background:var(--bone);transform:translateY(-1px)}
  .btn-ghost{border:1px solid rgba(243,234,218,.3);color:var(--bone)}
  .btn-ghost:hover{border-color:var(--ochre);color:var(--ochre)}
  .menu-toggle{display:none;background:none;border:none;color:var(--bone);cursor:pointer;font-family:var(--mono);font-size:11px;letter-spacing:.12em}

  /* ---------- HERO ---------- */
  .hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding-top:74px;overflow:hidden}
  .hero-bg{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.75;mix-blend-mode:screen;
    background:radial-gradient(120% 90% at 78% 8%,rgba(61,83,201,.22),transparent 55%),
               radial-gradient(90% 80% at 8% 96%,rgba(227,154,44,.18),transparent 52%);}
  .hero-video{position:absolute;inset:0;z-index:0;overflow:hidden;
    background:linear-gradient(135deg,#3a1108,var(--clay) 32%,#7a4d12 62%,#1c2660);}
  .hero-video video{width:100%;height:100%;object-fit:cover;display:block}
  .hero-scrim{position:absolute;inset:0;z-index:1;
    background:linear-gradient(180deg,rgba(22,17,11,.5),rgba(22,17,11,.3) 42%,rgba(22,17,11,.9))}
  .hero-video .poster-note{position:absolute;right:18px;bottom:72px;z-index:2;color:rgba(243,234,218,.5);font-size:10px}
  .hero-inner{position:relative;z-index:3;width:100%}
  .hero .eyebrow{display:flex;gap:16px;align-items:center;color:var(--stone);margin-bottom:26px}
  .hero .eyebrow .line{height:1px;width:52px;background:var(--stone-d)}
  .htype{font-family:var(--display);font-weight:800;line-height:.9;letter-spacing:-.03em;
    font-size:clamp(56px,13vw,180px);text-shadow:0 4px 40px rgba(0,0,0,.35)}
  .htype .l{display:block;overflow:hidden}
  .htype .l span{display:block;transform:translateY(110%);opacity:0}
  .htype .word-trad{color:var(--ochre)}
  .htype .word-meets{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--bone);
    letter-spacing:0;font-size:.52em;padding-left:.12em}
  .htype .word-urban{color:var(--cobalt);-webkit-text-stroke:0}
  .anim .htype .l span{animation:rise .9s cubic-bezier(.16,.9,.3,1) forwards}
  .anim .htype .l:nth-child(1) span{animation-delay:.15s}
  .anim .htype .l:nth-child(2) span{animation-delay:.30s}
  .anim .htype .l:nth-child(3) span{animation-delay:.45s}
  @keyframes rise{to{transform:translateY(0);opacity:1}}
  .hero-sub{max-width:520px;margin:34px 0 0;font-size:clamp(17px,2vw,20px);color:#D8CBB4;opacity:0}
  .anim .hero-sub{animation:fade 1s ease .8s forwards}
  @keyframes fade{to{opacity:1}}
  .hero-cta{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap;opacity:0}
  .anim .hero-cta{animation:fade 1s ease 1s forwards}

  /* marquee */
  .marquee{position:relative;z-index:3;border-top:var(--edge);border-bottom:var(--edge);margin-top:auto;overflow:hidden;background:rgba(31,24,16,.5)}
  .marquee-track{display:flex;gap:0;white-space:nowrap;width:max-content;animation:scroll 34s linear infinite}
  .marquee-track span{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.02em;padding:14px 30px;color:var(--stone);display:flex;align-items:center;gap:30px}
  .marquee-track span::after{content:"◆";color:var(--ochre);font-size:9px}
  @keyframes scroll{to{transform:translateX(-50%)}}

  /* ---------- SECTIONS ---------- */
  section{position:relative;z-index:3}
  .sec-pad{padding-block:clamp(70px,10vw,130px)}
  .kicker{display:flex;align-items:center;gap:14px;margin-bottom:20px;color:var(--ochre)}
  .kicker .num{font-family:var(--mono);font-size:12px}
  .kicker .txt{font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em;font-size:12px;color:var(--stone)}
  .kicker .bar{flex:1;height:1px;background:rgba(243,234,218,.12);max-width:120px}
  h2.big{font-family:var(--display);font-weight:800;line-height:.98;letter-spacing:-.02em;font-size:clamp(34px,5.5vw,68px)}

  /* statement */
  .statement{background:var(--bone);color:var(--ink)}
  .statement .lead{font-family:var(--serif);font-size:clamp(24px,3.6vw,44px);line-height:1.28;font-weight:400;max-width:1000px;letter-spacing:-.01em}
  .statement .lead b{font-weight:500;color:var(--clay);font-style:italic;font-family:var(--serif)}
  .statement .kicker .txt{color:var(--stone-d)}

  /* featured production */
  .feat{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,5vw,72px);align-items:center}
  .poster{position:relative;aspect-ratio:4/5;border-radius:3px;overflow:hidden;
    background:linear-gradient(150deg,var(--clay),var(--ochre) 55%,#7a2f1a);box-shadow:0 40px 80px -40px rgba(0,0,0,.7)}
  .poster::before{content:"";position:absolute;inset:0;mix-blend-mode:multiply;opacity:.35;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.2'%3E%3Cpath d='M30 0 L60 30 L30 60 L0 30 Z'/%3E%3C/g%3E%3C/svg%3E")}
  .poster .plabel{position:absolute;left:20px;bottom:18px;z-index:2}
  .poster .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:rgba(0,0,0,.4)}
  .feat .tag{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--cobalt);border:1px solid rgba(61,83,201,.4);padding:5px 11px;border-radius:2px;margin-bottom:22px}
  .feat h3{font-family:var(--display);font-weight:800;font-size:clamp(30px,4.4vw,52px);line-height:1;letter-spacing:-.02em;margin-bottom:20px}
  .feat p{color:#C9BCA6;max-width:44ch;margin-bottom:28px}
  .feat .meta{display:flex;gap:26px;margin-bottom:30px;flex-wrap:wrap}
  .feat .meta div .mono{color:var(--stone);display:block;margin-bottom:4px}
  .feat .meta div strong{font-family:var(--display);font-weight:700;font-size:19px}

  /* impact band */
  .impact{background:var(--cobalt);color:var(--bone);overflow:hidden}
  .impact .kicker{color:rgba(243,234,218,.8)}
  .impact .kicker .txt{color:rgba(243,234,218,.7)}
  .impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:44px;border:1px solid rgba(243,234,218,.16)}
  .stat{padding:34px 26px;background:var(--cobalt);position:relative;transition:background .3s}
  .stat:hover{background:#33469f}
  .stat .fig{font-family:var(--display);font-weight:800;font-size:clamp(44px,6vw,76px);line-height:.9;letter-spacing:-.03em}
  .stat:nth-child(odd) .fig{color:var(--ochre)}
  .stat .lab{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:11.5px;color:rgba(243,234,218,.85);margin-top:14px;line-height:1.5}

  /* programs list */
  .prog-item{display:grid;grid-template-columns:60px 1fr auto;gap:24px;align-items:center;
    padding:26px 6px;border-top:var(--edge);transition:padding .3s;cursor:pointer}
  .prog-item:last-child{border-bottom:var(--edge)}
  .prog-item .pnum{font-family:var(--mono);font-size:13px;color:var(--stone)}
  .prog-item .pname{font-family:var(--display);font-weight:700;font-size:clamp(22px,3vw,34px);letter-spacing:-.01em;transition:color .25s,transform .25s}
  .prog-item .pdesc{font-family:var(--serif);color:var(--stone);font-size:15px;max-width:38ch;text-align:right;transition:color .25s}
  .prog-item:hover{padding-left:20px}
  .prog-item:hover .pname{color:var(--ochre);transform:translateX(4px)}
  .prog-item:hover .pdesc{color:var(--bone)}
  .prog-item .arrow{opacity:0;transition:opacity .25s;color:var(--ochre)}
  .prog-item:hover .arrow{opacity:1}
  .prog-list{position:relative}
  .prog-preview{position:absolute;top:0;left:0;width:clamp(240px,22vw,320px);aspect-ratio:4/3;
    pointer-events:none;z-index:5;opacity:0;transform:translate(-50%,-50%) scale(.9) rotate(-3deg);
    transition:opacity .3s ease,transform .4s cubic-bezier(.16,.9,.3,1);will-change:transform}
  .prog-list.previewing .prog-preview{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-2deg)}
  .prog-preview-inner{position:absolute;inset:0;border-radius:4px;overflow:hidden;
    box-shadow:0 30px 60px -25px rgba(0,0,0,.8);transition:background .35s}
  .prog-preview-inner .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:rgba(243,234,218,.55)}
  .prog-list[data-active="1"] .prog-preview-inner{background:linear-gradient(135deg,var(--clay),#5a2314)}
  .prog-list[data-active="2"] .prog-preview-inner{background:linear-gradient(135deg,var(--cobalt),#1c2660)}
  .prog-list[data-active="3"] .prog-preview-inner{background:linear-gradient(135deg,var(--ochre),#7a4d12)}
  .prog-list[data-active="4"] .prog-preview-inner{background:linear-gradient(135deg,#2f6b52,#123024)}
  .prog-list[data-active="5"] .prog-preview-inner{background:linear-gradient(135deg,#8d3d7a,#3a1533)}
  .prog-list[data-active="6"] .prog-preview-inner{background:linear-gradient(135deg,var(--stone-d),var(--ink-2))}
  .prog-list.previewing .prog-item{opacity:.42;transition:opacity .3s}
  .prog-list.previewing .prog-item:hover{opacity:1}
  .prog-thumb{display:none}

  /* events */
  .events-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:44px}
  .ev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .ev-card{border:var(--edge);border-radius:3px;padding:26px;transition:transform .25s,border-color .25s,background .25s;display:flex;flex-direction:column;min-height:230px}
  .ev-card:hover{transform:translateY(-4px);border-color:rgba(227,154,44,.5);background:var(--ink-2)}
  .ev-date{display:flex;align-items:baseline;gap:8px;margin-bottom:auto}
  .ev-date .d{font-family:var(--display);font-weight:800;font-size:40px;line-height:1;color:var(--ochre)}
  .ev-date .m{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--stone)}
  .ev-card h4{font-family:var(--display);font-weight:700;font-size:21px;line-height:1.1;margin:22px 0 8px}
  .ev-card .loc{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--stone);text-transform:uppercase}

  /* stories */
  .stories{background:var(--bone-2);color:var(--ink)}
  .stories .kicker .txt{color:var(--stone-d)}
  .st-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:44px}
  .st-card{cursor:pointer}
  .st-thumb{aspect-ratio:3/2;border-radius:3px;overflow:hidden;margin-bottom:20px;position:relative;
    background:linear-gradient(135deg,var(--ink),var(--stone-d))}
  .st-thumb::after{content:"";position:absolute;inset:0;background:rgba(61,83,201,.28);mix-blend-mode:screen;transition:opacity .3s}
  .st-card:hover .st-thumb::after{opacity:.5}
  .st-thumb .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:rgba(243,234,218,.5)}
  .st-cat{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--clay);margin-bottom:10px}
  .st-card h4{font-family:var(--display);font-weight:700;font-size:21px;line-height:1.12;color:var(--ink);letter-spacing:-.01em;transition:color .2s}
  .st-card:hover h4{color:var(--clay)}
  .st-card .date{font-family:var(--mono);font-size:11px;color:var(--stone-d);margin-top:12px}

  /* gallery marquee */
  .gal{padding:0;overflow:hidden;border-top:var(--edge);border-bottom:var(--edge)}
  .gal-track{display:flex;width:max-content;animation:scroll 40s linear infinite}
  .gal-track .tile{width:clamp(220px,26vw,340px);aspect-ratio:3/2;flex-shrink:0;position:relative;
    border-right:var(--edge)}
  .gal-track .tile .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:rgba(243,234,218,.4)}
  .gal-track .tile:nth-child(4n+1){background:linear-gradient(135deg,var(--clay),#5a2314)}
  .gal-track .tile:nth-child(4n+2){background:linear-gradient(135deg,var(--cobalt),#1c2660)}
  .gal-track .tile:nth-child(4n+3){background:linear-gradient(135deg,var(--ochre),#7a4d12)}
  .gal-track .tile:nth-child(4n+4){background:linear-gradient(135deg,var(--ink-2),var(--stone-d))}

  /* partners */
  .partners{text-align:center}
  .plogos{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:44px}
  .plogo{border:var(--edge);border-radius:3px;padding:22px 34px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--stone);min-width:160px;transition:color .2s,border-color .2s}
  .plogo:hover{color:var(--bone);border-color:rgba(227,154,44,.4)}

  /* archive */
  .arch-head{max-width:640px;margin-bottom:40px}
  .arch-sub{color:#C9BCA6;margin-top:16px}
  .arch-controls{display:flex;flex-wrap:wrap;gap:22px 40px;align-items:center;margin-bottom:40px;padding-bottom:26px;border-bottom:var(--edge)}
  .arch-filter{display:flex;align-items:center;gap:14px}
  .arch-label{color:var(--stone);white-space:nowrap}
  .chips{display:flex;gap:8px;flex-wrap:wrap}
  .chip{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;background:transparent;color:var(--stone);border:1px solid rgba(243,234,218,.18);padding:8px 15px;border-radius:100px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
  .chip:hover{color:var(--bone);border-color:rgba(243,234,218,.4)}
  .chip.active{background:var(--ochre);color:var(--ink);border-color:var(--ochre)}
  .arch-count{color:var(--stone);margin-left:auto}
  .arch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .arch-card{display:block;cursor:pointer}
  .arch-card.hide{display:none}
  .arch-thumb{aspect-ratio:4/3;border-radius:3px;position:relative;overflow:hidden;margin-bottom:13px;transition:transform .25s}
  .arch-card:hover .arch-thumb{transform:translateY(-3px)}
  .arch-thumb[data-type="photo"]{background:linear-gradient(135deg,var(--clay),#5a2314)}
  .arch-thumb[data-type="video"]{background:linear-gradient(135deg,var(--cobalt),#1c2660)}
  .arch-thumb[data-type="press"]{background:linear-gradient(135deg,var(--ink-2),var(--stone-d))}
  .arch-thumb .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:rgba(243,234,218,.5)}
  .arch-thumb .play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:rgba(22,17,11,.5);z-index:1}
  .arch-thumb .play::after{content:"";position:absolute;top:50%;left:52%;transform:translate(-50%,-50%);border-left:12px solid var(--bone);border-top:7px solid transparent;border-bottom:7px solid transparent}
  .arch-badge{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ochre)}
  .arch-yr{font-family:var(--mono);font-size:10px;color:var(--stone);margin-left:8px}
  .arch-card h4{font-family:var(--display);font-weight:700;font-size:17px;line-height:1.15;margin-top:7px;letter-spacing:-.01em;transition:color .2s}
  .arch-card:hover h4{color:var(--ochre)}
  .arch-empty{color:var(--stone);font-family:var(--serif);font-style:italic;padding:24px 0}

  /* newsletter */
  .news{background:var(--ochre);color:var(--ink)}
  .news-inner{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
  .news h2{font-family:var(--display);font-weight:800;font-size:clamp(30px,4.5vw,54px);line-height:.98;letter-spacing:-.02em}
  .news p{margin-top:16px;color:#5a3d0f;font-size:18px;max-width:36ch}
  .news-form{display:flex;gap:10px;flex-wrap:wrap}
  .news-form input{flex:1;min-width:220px;background:var(--ink);color:var(--bone);border:none;border-radius:2px;padding:16px 18px;font-family:var(--mono);font-size:13px;letter-spacing:.05em}
  .news-form input::placeholder{color:var(--stone)}
  .news-form button{background:var(--ink);color:var(--bone);border:none;border-radius:2px;padding:16px 26px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;cursor:pointer;transition:background .2s,color .2s}
  .news-form button:hover{background:var(--clay)}

  /* footer */
  footer{background:var(--ink);padding:clamp(60px,8vw,96px) 0 40px}
  .foot-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:56px;border-bottom:var(--edge)}
  .foot-brand .brand{font-size:26px;margin-bottom:18px}
  .foot-brand p{color:var(--stone);max-width:34ch;font-size:15px}
  .foot-col h5{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:var(--ochre);margin-bottom:18px}
  .foot-col a,.foot-col p{display:block;color:var(--stone);font-size:14px;margin-bottom:11px;transition:color .2s;font-family:var(--serif)}
  .foot-col a:hover{color:var(--bone)}
  .foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px;flex-wrap:wrap;gap:14px}
  .foot-bottom .mono{color:var(--stone-d);font-size:11px}

  .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.16,.9,.3,1)}
  .reveal.in{opacity:1;transform:none}

  /* responsive */
  @media(max-width:900px){
    .menu-toggle{display:block}
    .nav-cta{display:none}
    .navlinks{position:fixed;top:74px;left:0;right:0;bottom:0;flex-direction:column;align-items:stretch;gap:0;
      background:rgba(22,17,11,.98);backdrop-filter:blur(14px);padding:14px clamp(20px,5vw,64px) 48px;
      overflow-y:auto;transform:translateX(100%);transition:transform .32s cubic-bezier(.16,.9,.3,1);z-index:45}
    .navlinks.open{transform:none}
    .navitem{display:block;border-bottom:var(--edge)}
    .navitem::before{display:none}
    .navtop{padding:17px 0;font-size:13px;justify-content:space-between}
    .navtop::after{display:none}
    .caret{transform:rotate(180deg)}
    .dropdown{position:static;transform:none;opacity:1;visibility:visible;background:none;border:none;
      box-shadow:none;backdrop-filter:none;padding:0 0 14px 14px;min-width:0}
    .dropdown a{padding:9px 0;font-size:15px}
    .navlinks .nav-cta-mobile{display:inline-block;text-align:center;margin-top:26px}
    .hero-video video{display:none}
    .feat,.news-inner{grid-template-columns:1fr;gap:36px}
    .impact-grid{grid-template-columns:repeat(2,1fr)}
    .ev-grid,.st-grid{grid-template-columns:1fr}
    .foot-top{grid-template-columns:1fr 1fr;gap:32px}
    .prog-item{grid-template-columns:34px 56px 1fr;gap:14px;padding:20px 6px}
    .prog-item .pdesc{display:none}
    .prog-item .arrow{display:none}
    .prog-preview{display:none}
    .prog-list.previewing .prog-item{opacity:1}
    .prog-thumb{display:block;width:56px;aspect-ratio:1;border-radius:3px;overflow:hidden}
    .prog-item[data-img="1"] .prog-thumb{background:linear-gradient(135deg,var(--clay),#5a2314)}
    .prog-item[data-img="2"] .prog-thumb{background:linear-gradient(135deg,var(--cobalt),#1c2660)}
    .prog-item[data-img="3"] .prog-thumb{background:linear-gradient(135deg,var(--ochre),#7a4d12)}
    .prog-item[data-img="4"] .prog-thumb{background:linear-gradient(135deg,#2f6b52,#123024)}
    .prog-item[data-img="5"] .prog-thumb{background:linear-gradient(135deg,#8d3d7a,#3a1533)}
    .prog-item[data-img="6"] .prog-thumb{background:linear-gradient(135deg,var(--stone-d),var(--ink-2))}
    .arch-grid{grid-template-columns:repeat(2,1fr)}
    .arch-count{margin-left:0;width:100%}
  }
  @media(max-width:560px){
    .foot-top{grid-template-columns:1fr}
    .impact-grid{grid-template-columns:1fr}
    .htype .word-meets{font-size:.6em}
    .arch-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  }
  @media(prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
    .htype .l span{transform:none;opacity:1}
    .hero-sub,.hero-cta{opacity:1}
    .reveal{opacity:1;transform:none}
    .hero-video video{display:none}
  }

/* =====================================================================
   WordPress additions (same look)
   ===================================================================== */
.admin-bar header{top:32px}
@media(max-width:782px){.admin-bar header{top:46px}}
img{max-width:100%;display:block}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-9999px;top:8px;z-index:999;background:var(--ochre);color:var(--ink);padding:10px 14px}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--ochre);outline-offset:3px}

/* photos dropped into the design's placeholders */
.hero-video img.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.poster img,.st-thumb img,.gal-track .tile img,.arch-thumb img,.prog-thumb img,.prog-preview-inner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.prog-thumb{position:relative}
.prog-preview-inner img{opacity:0;transition:opacity .3s}
.prog-preview-inner img.on{opacity:1}
.poster.has-img::before{display:none}
.has-img .ph{display:none}
.prog-item{color:inherit}
.ev-card,.st-card{color:inherit}
.plogo img{max-height:46px;width:auto;margin:0 auto}
.news-form button{font:inherit;font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700}
.news-msg{grid-column:1/-1;font-size:15px;color:#5a3d0f;min-height:1em}
.navlinks .current-menu-item > a,.navlinks .current > a{color:var(--bone)}

/* inner pages */
.page-head{position:relative;padding:calc(74px + clamp(70px,10vw,120px)) 0 clamp(50px,7vw,80px);border-bottom:var(--edge);overflow:hidden}
.page-head .hero-bg{z-index:0}
.page-head .wrap{position:relative;z-index:3;width:100%}
.page-head h1{font-family:var(--display);font-weight:800;line-height:.95;letter-spacing:-.03em;font-size:clamp(40px,7vw,96px);max-width:16ch}
.page-head .eyebrow{display:flex;gap:16px;align-items:center;color:var(--stone);margin-bottom:22px}
.page-head .eyebrow .line{height:1px;width:52px;background:var(--stone-d)}
.page-head.has-photo{min-height:60vh;display:flex;align-items:flex-end}
.page-head.has-photo > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.page-head.has-photo::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(22,17,11,.5),rgba(22,17,11,.3) 42%,rgba(22,17,11,.92))}
.content{max-width:760px;margin:0 auto;padding:0 clamp(20px,5vw,64px)}
.content > *{margin-bottom:1.2em}
.content h2{font-family:var(--display);font-weight:800;font-size:clamp(28px,3.6vw,44px);line-height:1.05;letter-spacing:-.02em;margin-top:1.6em}
.content h3{font-family:var(--display);font-weight:700;font-size:24px;line-height:1.15;margin-top:1.4em}
.content a{color:var(--ochre);text-decoration:underline;text-underline-offset:3px}
.content img{border-radius:3px;height:auto}
.content ul,.content ol{padding-left:1.3em}
.content blockquote{border-left:3px solid var(--ochre);padding-left:20px;font-style:italic;font-size:1.2em}
.content .wp-block-button__link{background:var(--ochre);color:var(--ink);font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;padding:12px 20px;border-radius:2px;text-decoration:none}
.content .alignwide{width:min(1100px,calc(100vw - 40px))!important;max-width:none!important;margin-left:calc(50% - min(550px,calc(50vw - 20px)))!important;margin-right:0!important}
.content .alignfull{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.post-grid .st-card h4{color:var(--bone)}
.post-grid .st-card:hover h4{color:var(--ochre)}
.post-grid .st-card .date{color:var(--stone)}
.pager{display:flex;gap:14px;justify-content:center;margin-top:60px}
.pager a,.pager span{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;border:var(--edge);padding:10px 16px;border-radius:2px}
.pager .current{background:var(--ochre);color:var(--ink);border-color:var(--ochre)}
.search-form{display:flex;gap:10px;max-width:560px}
.search-form input[type=search]{flex:1;background:var(--ink-2);color:var(--bone);border:var(--edge);border-radius:2px;padding:14px 16px;font-family:var(--mono);font-size:13px}
.search-form button{background:var(--ochre);color:var(--ink);border:0;border-radius:2px;padding:14px 20px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;cursor:pointer}
.content input,.content textarea,.content select{background:var(--ink-2);color:var(--bone);border:var(--edge);border-radius:2px;padding:12px 14px;font:inherit;width:100%}
@media(max-width:900px){.post-grid{grid-template-columns:1fr}}

/* ---------- Changes requested 17 Oct ---------- */
/* Impact: cream background, like “Who we are” */
.impact{background:var(--bone);color:var(--ink)}
.impact .kicker{color:var(--ochre)}
.impact .kicker .txt{color:var(--stone-d)}
.impact .kicker .bar{background:rgba(22,17,11,.14)}
.impact-grid{border-color:rgba(22,17,11,.16);background:rgba(22,17,11,.12)}
.stat{background:var(--bone)}
.stat:hover{background:var(--bone-2)}
.stat .lab{color:var(--stone-d)}
/* Menu: a group (e.g. Festivals) inside a drop-down */
.dropdown .dd-head{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;font-size:10.5px;color:var(--ochre)}
.dropdown .dd-sub{padding-left:24px}
.dropdown .dd-sep{display:block;height:1px;background:rgba(243,234,218,.12);margin:6px 8px}
@media(max-width:900px){.dropdown .dd-sub{padding-left:14px}.dropdown .dd-sep{margin:6px 0}}

/* ---------- v5.2: YouTube hero, imported pages ---------- */
.hero-yt{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-yt iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100vh;min-width:177.78vh;transform:translate(-50%,-50%);border:0}
@media(max-width:900px){.hero-yt{display:none}}
.content h2[id],.content h3[id]{scroll-margin-top:100px}
.content .wp-block-gallery{display:grid!important;grid-template-columns:repeat(3,1fr);gap:12px!important;margin-top:2em;margin-bottom:2em}
.content .wp-block-gallery.columns-2{grid-template-columns:repeat(2,1fr)}
.content .wp-block-gallery.columns-4{grid-template-columns:repeat(4,1fr)}
.content .wp-block-gallery .wp-block-image{width:auto!important;margin:0!important;display:block!important}
.content .wp-block-gallery .wp-block-image img{width:100%!important;height:auto!important;aspect-ratio:3/2;object-fit:cover;border-radius:3px}
.content .be5-people{gap:26px 22px!important}
.content .be5-people .wp-block-image img{aspect-ratio:4/5}
.content .wp-block-gallery .wp-block-image figcaption{position:static!important;background:none!important;color:var(--stone)!important;padding:12px 0 0!important;margin:0!important;font-size:14px;line-height:1.4;text-align:left!important;max-height:none!important;overflow:visible!important;text-shadow:none!important}
.content .wp-block-gallery .wp-block-image figcaption::before{display:none}
.content .wp-block-gallery .wp-block-image figcaption strong{display:block;font-family:var(--display);font-weight:700;font-size:18px;color:var(--bone);letter-spacing:-.01em;margin-bottom:2px}
@media(max-width:700px){.content .wp-block-gallery,.content .wp-block-gallery.columns-4{grid-template-columns:repeat(2,1fr)}}
.be5-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;border:var(--edge);background:rgba(243,234,218,.12);margin:2em 0}
.be5-facts div{background:var(--ink);padding:18px 20px}
.be5-facts dt{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:var(--ochre);margin-bottom:6px}
.be5-facts dd{margin:0;font-family:var(--display);font-weight:700;font-size:18px;line-height:1.25}
.content .be5-prog{margin:2em auto}
.content .be5-prog .prog-item{text-decoration:none;color:var(--bone)}
.content .be5-editions{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:2em auto}
.content .be5-editions .st-card{text-decoration:none;color:var(--bone)}
.content .be5-editions .st-card:hover h4{color:var(--ochre)}
.content .be5-editions .st-thumb{margin-bottom:14px}
.content ul li{margin-bottom:.4em}
.content .wp-block-buttons{margin-top:2em}
@media(max-width:900px){.content .be5-editions{grid-template-columns:1fr}}
/* v5.3: contact form, maps, menu spacing */
.be5-form{display:grid;gap:16px;margin:1.5em 0 2.5em}
.be5-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.be5-form label{display:grid;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--stone)}
.be5-form input,.be5-form select,.be5-form textarea{font-family:var(--serif);font-size:17px;letter-spacing:0;text-transform:none;color:var(--bone);background:var(--ink-2);border:var(--edge);border-radius:2px;padding:12px 14px;width:100%}
.be5-form input:focus,.be5-form select:focus,.be5-form textarea:focus{outline:2px solid var(--ochre);outline-offset:0;border-color:transparent}
.be5-form .btn{justify-self:start;border:0;cursor:pointer;font-size:12px;padding:14px 24px}
.be5-form__small{font-size:13px;color:var(--stone)}
.be5-form__msg{padding:14px 16px;border-radius:2px;font-size:15px}
.be5-form__msg--ok{background:rgba(227,154,44,.15);border:1px solid var(--ochre)}
.be5-form__msg--err{background:rgba(195,74,43,.15);border:1px solid var(--clay)}
.be5-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.be5-map{margin:1.5em auto 2em}
.be5-map iframe{width:100%;height:360px;border:0;border-radius:3px;filter:grayscale(.3) contrast(1.05)}
.be5-map figcaption{font-size:14px;color:var(--stone);margin-top:10px}
.be5-map figcaption strong{color:var(--bone)}
@media(max-width:700px){.be5-form__row{grid-template-columns:1fr}.be5-map iframe{height:280px}}
@media(min-width:901px) and (max-width:1320px){.navlinks{gap:20px}.navlinks a{letter-spacing:.1em;font-size:11px}}
.be5-facts dd{overflow-wrap:anywhere}

/* =====================================================================
   v6: page sections (every page built like the home page)
   ===================================================================== */
.pg-main{counter-reset:k}
.kicker .num.auto::before{content:counter(k,decimal-leading-zero)}
.pg-main .kicker{counter-increment:k}
.kicker--c{justify-content:center}
/* backgrounds */
.pg-bg-ink{background:var(--ink);color:var(--bone)}
.pg-bg-ink2{background:var(--ink-2);color:var(--bone)}
.pg-bg-bone{background:var(--bone);color:var(--ink)}
.pg-bg-bone2{background:var(--bone-2);color:var(--ink)}
.pg-bg-bone .kicker .txt,.pg-bg-bone2 .kicker .txt{color:var(--stone-d)}
.pg-bg-bone .kicker .bar,.pg-bg-bone2 .kicker .bar{background:rgba(22,17,11,.14)}
/* opening */
.pg-hero{position:relative;min-height:72vh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:74px;overflow:hidden;background:var(--ink)}
.pg-hero--short{min-height:52vh}
.pg-hero .hero-video img.pg-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pg-hero__in{position:relative;z-index:3;width:100%;padding-top:60px;padding-bottom:clamp(40px,7vh,80px)}
.pg-hero .eyebrow{display:flex;gap:16px;align-items:center;color:#D8CBB4;margin-bottom:22px}
.pg-hero .eyebrow .line{height:1px;width:52px;background:var(--stone)}
.pg-h{font-family:var(--display);font-weight:800;line-height:.95;letter-spacing:-.03em;font-size:clamp(42px,6.6vw,96px);max-width:15ch;font-variation-settings:"opsz" 24}
.pg-h b{color:var(--ochre);font-weight:800}
.pg-hero__sub{max-width:560px;margin-top:22px;font-size:clamp(17px,1.8vw,20px);color:#E2D6C1}
.pg-btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
/* statement on dark */
.pg-statement.pg-bg-ink .lead b{color:var(--ochre)}
.pg-statement.pg-bg-ink .kicker .txt{color:var(--stone)}
/* split */
.feat--flip > :first-child{order:2}
.pg-ph{aspect-ratio:4/5}
.pg-ph--landscape{aspect-ratio:4/3}
.pg-ph--square{aspect-ratio:1}
.pg-split .poster::before{opacity:.25}
.pg-split .feat h3{white-space:normal}
.pg-copy p{color:inherit;opacity:.85;max-width:52ch;margin-bottom:16px}
.pg-copy ul{margin:0 0 18px 1.1em;opacity:.85}
.pg-copy li{margin-bottom:6px}
.pg-copy--lg p{font-size:19px;max-width:62ch}
.pg-bg-bone .feat p,.pg-bg-bone2 .feat p{color:var(--stone-d)}
.pg-bg-bone .btn-ghost,.pg-bg-bone2 .btn-ghost{color:var(--ink);border-color:rgba(22,17,11,.35)}
.pg-split .meta{margin-top:6px}
/* text */
.pg-text__in{max-width:820px}
.pg-text h2{margin-bottom:28px}
/* facts */
.pg-facts{padding:clamp(28px,4vw,48px) 0;border-bottom:var(--edge)}
.pg-facts__g{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:rgba(243,234,218,.12);border:var(--edge)}
.pg-fact{background:inherit;padding:22px 24px;background:var(--ink-2)}
.pg-bg-ink .pg-fact{background:var(--ink)}
.pg-fact .mono{display:block;color:var(--ochre);font-size:11px;letter-spacing:.16em;margin-bottom:8px}
.pg-fact strong{font-family:var(--display);font-weight:700;font-size:clamp(17px,1.6vw,21px);line-height:1.25;overflow-wrap:anywhere}
.pg-fact strong a{color:inherit;text-decoration:none}
.pg-fact strong a:hover{color:var(--ochre)}
/* numbers: blue version (the home band is cream) */
.pg-numbers.pg-bg-cobalt{background:var(--cobalt);color:var(--bone)}
.pg-numbers.pg-bg-cobalt .kicker,.pg-numbers.pg-bg-cobalt .kicker .num{color:rgba(243,234,218,.85)}
.pg-numbers.pg-bg-cobalt .kicker .txt{color:rgba(243,234,218,.75)}
.pg-numbers.pg-bg-cobalt .kicker .bar{background:rgba(243,234,218,.25)}
.pg-numbers.pg-bg-cobalt .impact-grid{border-color:rgba(243,234,218,.16);background:rgba(243,234,218,.16)}
.pg-numbers.pg-bg-cobalt .stat{background:var(--cobalt)}
.pg-numbers.pg-bg-cobalt .stat:hover{background:#33469f}
.pg-numbers.pg-bg-cobalt .stat .lab{color:rgba(243,234,218,.85)}
.pg-numbers.pg-bg-ink{background:var(--ink)}
.pg-numbers.pg-bg-ink .stat{background:var(--ink)}
.pg-numbers.pg-bg-ink .stat .lab{color:var(--stone)}
.pg-numbers .stat .lab{text-transform:none;letter-spacing:.02em;font-family:var(--serif);font-size:15px}
/* numbered list: tidy rows (arrow on the same line) */
.pg-list .prog-item{grid-template-columns:60px 1fr minmax(0,40ch) 24px;text-decoration:none;color:inherit}
.pg-list .prog-item .arrow{text-align:right}
/* cards */
.pg-cards .st-grid{grid-template-columns:repeat(var(--cols,3),1fr)}
.pg-cards.pg-bg-ink .st-card h4,.pg-cards.pg-bg-ink2 .st-card h4{color:var(--bone)}
.pg-cards .st-card{text-decoration:none;color:inherit}
.pg-intro{max-width:60ch;margin-top:14px;opacity:.85}
.pg-cards .pg-btns{margin-top:40px}
.pg-cards.pg-bg-bone2 .btn-solid{background:var(--ink);color:var(--bone)}
/* people */
.pg-people__g{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 22px;margin-top:40px}
.pg-person{margin:0}
.pg-person__ph{position:relative;aspect-ratio:4/5;border-radius:3px;overflow:hidden;background:linear-gradient(135deg,var(--clay),#5a2314)}
.pg-person__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .4s}
.pg-person:hover .pg-person__ph img{transform:scale(1.04)}
.pg-person__ph > span{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:64px;color:rgba(243,234,218,.6)}
.pg-person__bio{position:absolute;inset:auto 0 0 0;padding:16px;background:linear-gradient(180deg,transparent,rgba(22,17,11,.92) 30%);color:var(--bone);font-size:14px;line-height:1.45;transform:translateY(100%);transition:transform .35s}
.pg-person:hover .pg-person__bio,.pg-person:focus-within .pg-person__bio{transform:none}
.pg-person figcaption{padding-top:12px}
.pg-person figcaption strong{display:block;font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-.01em;line-height:1.2}
.pg-person figcaption span{display:block;font-size:14px;color:var(--stone);margin-top:4px;line-height:1.4}
/* photo grid + full screen viewer */
.pg-grid__g{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pg-grid__i{display:block;aspect-ratio:3/2;overflow:hidden;border-radius:3px;background:var(--ink-2)}
.pg-grid__i img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pg-grid__i:hover img{transform:scale(1.05)}
.lb{position:fixed;inset:0;z-index:200;background:rgba(10,8,5,.95);display:none;align-items:center;justify-content:center}
.lb.on{display:flex}
.lb img{max-width:92vw;max-height:86vh;object-fit:contain}
.lb button{position:absolute;background:none;border:0;color:var(--bone);font-size:42px;cursor:pointer;padding:16px;line-height:1}
.lb__x{top:10px;right:16px}.lb__p{left:10px;top:50%;transform:translateY(-50%)}.lb__n{right:10px;top:50%;transform:translateY(-50%)}
/* call to action bands */
.pg-cta--ochre{background:var(--ochre);color:var(--ink)}
.pg-cta--cobalt{background:var(--cobalt);color:var(--bone)}
.pg-cta--clay{background:var(--clay);color:var(--bone)}
.pg-cta h2{font-family:var(--display);font-weight:800;font-size:clamp(30px,4.5vw,54px);line-height:.98;letter-spacing:-.02em}
.pg-cta p{margin-top:16px;font-size:18px;max-width:40ch;opacity:.85}
.pg-cta .pg-btns{justify-content:flex-end;margin-top:0}
.btn-dark{background:var(--ink);color:var(--bone)}
.btn-dark:hover{background:var(--bone);color:var(--ink)}
.btn-line{border:1px solid currentColor;color:inherit}
.btn-line:hover{background:rgba(0,0,0,.1)}
/* contact */
.pg-contact__g{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,5vw,72px);align-items:start}
.pg-contact__d{display:grid;gap:1px;background:rgba(243,234,218,.12);border:var(--edge);margin-top:30px}
.pg-contact .be5-form{margin:0}
.pg-maps{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pg-maps .be5-map{margin:0}
/* plain blocks added by staff between sections stay readable */
.pg-main > p,.pg-main > h2,.pg-main > h3,.pg-main > ul,.pg-main > ol,.pg-main > figure:not(.alignwide):not(.alignfull),.pg-main > .wp-block-buttons{max-width:760px;margin:1.2em auto;padding:0 clamp(20px,5vw,64px)}
.pg-main > h2{font-family:var(--display);font-weight:800;font-size:clamp(28px,3.6vw,44px)}
@media(max-width:900px){
  .feat--flip > :first-child{order:0}
  .pg-people__g{grid-template-columns:repeat(2,1fr)}
  .pg-grid__g{grid-template-columns:repeat(2,1fr)}
  .pg-cards .st-grid{grid-template-columns:1fr}
  .pg-contact__g,.pg-maps{grid-template-columns:1fr}
  .pg-cta .pg-btns{justify-content:flex-start;margin-top:10px}
  .pg-list .prog-item{grid-template-columns:34px 56px 1fr}
  .pg-person__bio{position:static;transform:none;background:none;padding:8px 0 0;color:var(--stone)}
}
@media(max-width:560px){.pg-h{font-size:clamp(38px,11vw,56px)}}

/* v6.0.2: no blue backgrounds on inner pages — they use the cream of “Who we are” */
.pg-numbers.pg-bg-cobalt{background:var(--bone);color:var(--ink)}
.pg-numbers.pg-bg-cobalt .kicker,.pg-numbers.pg-bg-cobalt .kicker .num{color:var(--ochre)}
.pg-numbers.pg-bg-cobalt .kicker .txt{color:var(--stone-d)}
.pg-numbers.pg-bg-cobalt .kicker .bar{background:rgba(22,17,11,.14)}
.pg-numbers.pg-bg-cobalt .impact-grid{border-color:rgba(22,17,11,.16);background:rgba(22,17,11,.12)}
.pg-numbers.pg-bg-cobalt .stat{background:var(--bone)}
.pg-numbers.pg-bg-cobalt .stat:hover{background:var(--bone-2)}
.pg-numbers.pg-bg-cobalt .stat .lab{color:var(--stone-d)}
.pg-cta--cobalt{background:var(--bone);color:var(--ink);border-top:1px solid rgba(22,17,11,.1)}
.pg-cta--bone{background:var(--bone);color:var(--ink);border-top:1px solid rgba(22,17,11,.1)}

/* v6.2 — Stories and story pages in the same style as the other pages */
.pg-pager{padding:0 0 clamp(48px,7vw,96px)}
.pg-pager .pager{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.pg-pager .page-numbers{font-family:var(--mono);font-size:13px;min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(22,17,11,.2);color:var(--ink);text-decoration:none;border-radius:2px}
.pg-pager .page-numbers.current,.pg-pager a.page-numbers:hover{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.pg-story{background:var(--ink)}
.pg-main .pg-story .content{font-size:clamp(17px,1.25vw,19px);line-height:1.7}
.pg-main .search-form,.pg-main form[role=search]{max-width:640px}
.single .pg-hero .pg-h{font-size:clamp(34px,5.2vw,76px);max-width:18ch}

/* =====================================================================
   v7: one consistent layout on every screen — phones, tablets, laptops, large screens
   ===================================================================== */
html{-webkit-text-size-adjust:100%}
body{overflow-x:clip}
img,video,iframe{max-width:100%}
.hero{min-height:100vh;min-height:100svh}
.hero-inner{padding-top:clamp(28px,6vh,72px);padding-bottom:clamp(28px,5vh,64px)}
.wrap{padding-left:max(clamp(20px,5vw,64px),env(safe-area-inset-left));padding-right:max(clamp(20px,5vw,64px),env(safe-area-inset-right))}

/* laptops and small desktops: menu fits on one line */
@media(min-width:901px) and (max-width:1100px){
  .navlinks{gap:16px}
  .navlinks a.navtop{font-size:10.5px;letter-spacing:.08em}
  .nav-cta{padding:10px 14px}
}

/* tablets (601–900 px): two columns instead of one long column */
@media(min-width:601px) and (max-width:900px){
  .st-grid,.ev-grid{grid-template-columns:repeat(2,1fr)}
  .ev-grid .ev-card:nth-child(3):last-child,.st-grid .st-card:nth-child(3):last-child{grid-column:1/-1}
}
@media(min-width:700px) and (max-width:900px){
  .st-grid,.ev-grid{grid-template-columns:repeat(3,1fr);gap:18px}
  .ev-grid .ev-card:nth-child(3):last-child,.st-grid .st-card:nth-child(3):last-child{grid-column:auto}
  .st-card h4,.ev-card h4{font-size:17px}
}
@media(min-width:601px) and (max-width:900px){
  .pg-cards .st-grid{grid-template-columns:repeat(2,1fr)}
  .poster{max-width:560px;width:100%;margin:0 auto}
  .feat--flip .poster{order:0}
  .arch-grid{grid-template-columns:repeat(3,1fr)}
  .foot-top{grid-template-columns:repeat(3,1fr)}
  .foot-brand{grid-column:1/-1}
}

/* phones (up to 600 px) */
@media(max-width:600px){
  .poster{aspect-ratio:4/4.4}
  .impact-grid{grid-template-columns:repeat(2,1fr)}
  .stat{padding:22px 16px}
  .stat .fig{font-size:clamp(34px,11vw,48px)}
  .plogos{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
  .plogo{width:auto;min-width:0}
  .ev-grid{gap:14px}
  .news-form{flex-direction:column}
  .news-form input,.news-form button{width:100%}
  .chips{flex-wrap:wrap}
  .btn{padding:13px 18px}
  .hero-cta{flex-wrap:wrap}
}

/* very small phones */
@media(max-width:360px){
  .htype{font-size:clamp(40px,15vw,58px)}
  .impact-grid{grid-template-columns:1fr}
}

/* large screens: keep lines readable, photos sharp */
@media(min-width:1600px){
  .wrap{max-width:1360px}
}

/* tablets held sideways (touch, menu across the top): first tap opens a drop-down, second tap follows the link */
.navitem.is-open .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.navitem.is-open .caret{transform:rotate(180deg)}

/* =====================================================================
   v7.1 HEADER — researched redesign
   - visible menu on computers (hidden menus are used far less: NN/g)
   - opaque bar once you scroll, slim, hides on scroll down / returns on scroll up
   - menu labels in Bricolage Grotesque (the title font) at a readable 15px instead of tiny Space Mono capitals
   - Donate always visible; labelled “Menu” button on phones and tablets
   ===================================================================== */
:root{--ui:'Bricolage Grotesque',system-ui,-apple-system,'Segoe UI',sans-serif;--bxh-h:84px;--bxh-hs:66px}
.menu-font-familjen{--ui:'Familjen Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif}
.menu-font-space-grotesk{--ui:'Space Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif}
.menu-font-space-mono{--ui:'Space Mono',ui-monospace,monospace}
.menu-font-space-mono .bxh__link,.menu-font-space-mono .bxh__cta,.menu-font-space-mono .bxh__toggle{text-transform:uppercase;letter-spacing:.12em;font-size:12px}
.bxh{position:fixed;top:0;left:0;right:0;z-index:60;border-bottom:1px solid transparent;
  transition:transform .32s cubic-bezier(.2,.8,.2,1),background-color .25s,border-color .25s}
.admin-bar .bxh{top:32px}
@media(max-width:782px){.admin-bar .bxh{top:46px}}
/* over the home photo: transparent with a soft shade so white text stays readable */
.bxh--over:not(.is-solid)::before{content:"";position:absolute;inset:0 0 -40px;pointer-events:none;
  background:linear-gradient(180deg,rgba(22,17,11,.72),rgba(22,17,11,0))}
.bxh.is-solid,.bxh:not(.bxh--over){background:var(--ink);border-bottom-color:rgba(243,234,218,.1)}
.bxh.is-hidden{transform:translateY(calc(-100% - 2px))}
.bxh__bar{position:relative;display:flex;align-items:center;gap:clamp(16px,2.4vw,40px);height:var(--bxh-h);transition:height .25s}
.bxh.is-solid .bxh__bar{height:var(--bxh-hs)}
.bxh__brand{flex:none;display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:-.01em;color:var(--bone);min-height:44px}
.bxh__logo{height:40px;width:auto;display:block}
.bxh.is-solid .bxh__logo{height:34px}

/* main links */
.bxh__nav{flex:1;display:flex;justify-content:center}
.bxh__list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:clamp(4px,1vw,14px)}
.bxh__item{position:relative;display:flex;align-items:center}
.bxh__link{font-family:var(--ui);font-weight:500;font-size:15px;letter-spacing:.005em;color:rgba(243,234,218,.88);
  padding:12px 6px 12px 10px;min-height:44px;display:inline-flex;align-items:center;position:relative;transition:color .18s}
.bxh__item:not(.has-panel) .bxh__link{padding-right:10px}
.bxh__link::after{content:"";position:absolute;left:10px;right:6px;bottom:6px;height:2px;border-radius:2px;background:var(--ochre);
  transform:scaleX(0);transform-origin:left;transition:transform .22s}
.bxh__item:not(.has-panel) .bxh__link::after{right:10px}
.bxh__link:hover,.bxh__item.is-open .bxh__link{color:var(--bone)}
.bxh__link:hover::after,.bxh__item.is-here > .bxh__link::after,.bxh__item.is-open > .bxh__link::after{transform:scaleX(1)}
.bxh__item.is-here > .bxh__link{color:var(--bone)}
.bxh__more{background:none;border:0;color:rgba(243,234,218,.7);width:26px;height:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:4px;padding:0}
.bxh__more svg{transition:transform .2s}
.bxh__item.is-open .bxh__more{color:var(--ochre)}
.bxh__item.is-open .bxh__more svg{transform:rotate(180deg)}
.bxh__more:hover{color:var(--bone)}

/* drop-down panels: solid, left-aligned, grouped with headings */
.bxh__panel{position:absolute;top:100%;left:0;min-width:240px;background:#1C150E;border:1px solid rgba(243,234,218,.12);border-radius:6px;
  padding:10px;box-shadow:0 28px 60px -20px rgba(0,0,0,.8);opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .18s,transform .18s,visibility 0s .18s;z-index:5}
.bxh__item.is-open .bxh__panel{opacity:1;visibility:visible;transform:none;transition:opacity .18s,transform .18s}
.bxh__panel ul{list-style:none;margin:0;padding:0}
.bxh__panel a{display:block;font-family:var(--ui);font-size:15px;font-weight:400;color:rgba(243,234,218,.82);padding:10px 14px;border-radius:4px;white-space:nowrap;transition:background .15s,color .15s}
.bxh__panel a:hover,.bxh__panel a[aria-current]{background:rgba(227,154,44,.12);color:var(--bone)}
.bxh__panel a[aria-current]{box-shadow:inset 2px 0 0 var(--ochre)}
.bxh__panel--mega{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,auto);gap:6px 18px;padding:18px}
.bxh__col{min-width:0}
.bxh__panel .bxh__head{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ochre)!important;
  padding:6px 14px 10px!important;background:none!important;box-shadow:none!important}
.bxh__panel a.bxh__head:hover{color:var(--bone)!important}
.bxh__panel::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}

/* right side */
.bxh__actions{flex:none;display:flex;align-items:center;gap:10px}
.bxh__cta{font-family:var(--ui);font-weight:600;font-size:14.5px;letter-spacing:.01em;background:var(--ochre);color:var(--ink);
  padding:0 20px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:3px;transition:background .18s,transform .18s}
.bxh__cta:hover{background:var(--bone);transform:translateY(-1px)}
.bxh.is-solid .bxh__cta{min-height:40px}
.bxh__toggle{display:none;align-items:center;gap:10px;background:none;border:1px solid rgba(243,234,218,.28);color:var(--bone);
  font-family:var(--ui);font-weight:600;font-size:14.5px;min-height:44px;padding:0 14px;border-radius:3px;cursor:pointer}
.bxh__toggle:hover{border-color:var(--ochre)}
.bxh__burger{position:relative;width:18px;height:12px;display:inline-block}
.bxh__burger span{position:absolute;left:0;right:0;height:2px;background:currentColor;border-radius:2px;transition:transform .25s,top .25s}
.bxh__burger span:first-child{top:2px}
.bxh__burger span:last-child{top:8px}
.bxh__toggle[aria-expanded="true"] .bxh__burger span:first-child{top:5px;transform:rotate(45deg)}
.bxh__toggle[aria-expanded="true"] .bxh__burger span:last-child{top:5px;transform:rotate(-45deg)}

/* phones and tablets: full-screen panel */
.bxh__drawer{position:fixed;left:0;right:0;bottom:0;top:var(--bxh-top,66px);background:var(--ink);overflow-y:auto;overscroll-behavior:contain;
  border-top:1px solid rgba(243,234,218,.1)}
.bxh__drawer[hidden]{display:none}
.bxh__drawer-in{padding-top:12px;padding-bottom:calc(36px + env(safe-area-inset-bottom));min-height:100%;display:flex;flex-direction:column}
.bxh__mlist{list-style:none;margin:0;padding:0}
.bxh__mitem{border-bottom:1px solid rgba(243,234,218,.1)}
.bxh__mrow{display:flex;align-items:center;justify-content:space-between;gap:12px}
.bxh__mlink{flex:1;font-family:var(--display);font-weight:700;font-size:clamp(24px,6.4vw,32px);letter-spacing:-.02em;color:var(--bone);padding:16px 0;min-height:56px;display:flex;align-items:center}
.bxh__mitem.is-here .bxh__mlink,.bxh__mlink[aria-current]{color:var(--ochre)}
.bxh__mmore{flex:none;width:48px;height:48px;border-radius:50%;border:1px solid rgba(243,234,218,.22);background:none;color:var(--bone);cursor:pointer;display:flex;align-items:center;justify-content:center}
.bxh__plus{position:relative;width:14px;height:14px}
.bxh__plus::before,.bxh__plus::after{content:"";position:absolute;left:0;right:0;top:6px;height:2px;background:currentColor;border-radius:2px;transition:transform .25s}
.bxh__plus::after{transform:rotate(90deg)}
.bxh__mmore[aria-expanded="true"]{border-color:var(--ochre);color:var(--ochre)}
.bxh__mmore[aria-expanded="true"] .bxh__plus::after{transform:rotate(0)}
.bxh__msub{padding:0 0 18px 2px;display:grid;gap:2px}
.bxh__msub[hidden]{display:none}
.bxh__msubl{font-family:var(--ui);font-size:17px;color:rgba(243,234,218,.85);padding:10px 0;min-height:44px;display:flex;align-items:center}
.bxh__msubl--in{padding-left:16px;border-left:1px solid rgba(243,234,218,.14);margin-left:2px}
.bxh__mhead{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ochre);padding:14px 0 6px;min-height:44px;display:flex;align-items:flex-end}
.bxh__mfoot{margin-top:auto;padding-top:32px;display:grid;gap:18px}
.bxh__cta--wide{width:100%;min-height:52px;font-size:16px}
.bxh__mcontact{display:grid;gap:6px;font-family:var(--ui);font-size:15px;color:var(--stone)}
.bxh__mcontact a,.bxh__msocial a{min-height:32px;display:inline-flex;align-items:center}
.bxh__msocial{display:flex;flex-wrap:wrap;gap:6px 18px;font-family:var(--ui);font-size:14px;color:rgba(243,234,218,.7)}
body.bxh-locked{overflow:hidden}

@media(max-width:1099px){
  .bxh__nav{display:none}
  .bxh__toggle{display:inline-flex}
  .bxh__bar{justify-content:space-between;height:var(--bxh-hs)}
}
@media(max-width:420px){
  .bxh__cta{padding:0 14px;font-size:14px}
  .bxh__toggle{padding:0 12px}
  .bxh__brand{font-size:18px}
}
@media(max-width:340px){.bxh__toggle-txt{display:none}}
@media(min-width:1100px) and (max-width:1240px){
  .bxh__link{font-size:14.5px;padding-left:8px}
  .bxh__list{gap:2px}
}
/* keyboard users always see where they are */
.bxh a:focus-visible,.bxh button:focus-visible{outline:2px solid var(--ochre);outline-offset:2px;border-radius:3px}
/* the page starts below the bar on inner pages */
@media(prefers-reduced-motion:reduce){.bxh,.bxh__panel,.bxh__bar{transition:none!important}}

/* =====================================================================
   v7.2 HERO — researched redesign
   - photo first (fast on every phone), short muted video loop only on computers
   - title sized to sit with the picture, not shout over it; three sizes in the Customizer
   - “Next up” card: the one fact visitors want first — what is happening next
   - moving words are real links, pause with one button (WCAG 2.2.2)
   ===================================================================== */
.hero{min-height:100vh;min-height:100svh;justify-content:flex-end;padding-top:var(--bxh-h,84px)}
.hero .hero-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px 48px;
  padding-top:clamp(24px,5vh,56px);padding-bottom:clamp(28px,6vh,64px)}
.hero-main{min-width:0;max-width:880px}
.hero .hero-video img.hero-img,.hero .hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hero .hero-vid{opacity:0;transition:opacity .8s ease}
.hero .hero-vid.is-ready{opacity:1}
.hero-yt{opacity:0;transition:opacity .8s ease}
.hero-yt.is-ready{opacity:1}
/* shade that keeps words readable on any photo: darker on the left and at the bottom */
.hero .hero-scrim{background:
  linear-gradient(90deg,rgba(22,17,11,.82) 0%,rgba(22,17,11,.55) 38%,rgba(22,17,11,.12) 72%,rgba(22,17,11,0) 100%),
  linear-gradient(0deg,rgba(22,17,11,.9) 0%,rgba(22,17,11,.25) 38%,rgba(22,17,11,0) 60%),
  linear-gradient(180deg,rgba(22,17,11,.45) 0%,rgba(22,17,11,0) 22%)}
.hero:not(.has-photo):not(.has-video) .hero-scrim{opacity:.6}
.hero .hero-bg{opacity:.45}

/* title: balanced with the picture */
.hero .htype{line-height:.88;letter-spacing:-.035em;text-shadow:none;font-size:min(clamp(46px,7.2vw,112px),15svh)}
.hero--small .htype{font-size:min(clamp(40px,5.6vw,86px),12svh)}
.hero--large .htype{font-size:min(clamp(54px,9.4vw,148px),19svh)}
.hero .htype .word-meets{font-size:.5em;margin:.06em 0 .04em;padding-left:.1em}
.hero .hero-sub{max-width:46ch;margin:clamp(18px,2.4vh,28px) 0 0;font-size:clamp(17px,1.45vw,20px);line-height:1.55;color:rgba(243,234,218,.9)}
.hero .hero-cta{margin-top:clamp(20px,3vh,32px)}

/* “Next up” card */
.hero-next{position:relative;display:grid;gap:10px;width:min(360px,100%);padding:16px 18px;border-radius:6px;color:var(--bone);
  background:rgba(22,17,11,.62);border:1px solid rgba(243,234,218,.18);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  opacity:0;transition:border-color .2s,transform .2s}
.anim .hero-next{animation:fade .9s ease 1.15s forwards}
a.hero-next:hover{border-color:var(--ochre);transform:translateY(-2px)}
.hero-next__k{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ochre)}
.hero-next__row{display:flex;align-items:center;gap:14px}
.hero-next__date{flex:none;display:grid;justify-items:center;min-width:58px;padding:6px 8px;border-radius:4px;background:rgba(227,154,44,.14)}
.hero-next__date b{font-family:var(--display);font-weight:800;font-size:28px;line-height:1;color:var(--ochre);font-variant-numeric:tabular-nums}
.hero-next__date small{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:rgba(243,234,218,.75);margin-top:3px;white-space:nowrap}
.hero-next__txt{display:grid;gap:3px;min-width:0}
.hero-next__txt strong{font-family:var(--display);font-weight:700;font-size:16px;line-height:1.2}
.hero-next__txt small{font-family:var(--ui);font-size:13px;color:var(--stone)}
.hero-next__go{margin-left:auto;font-size:18px;color:var(--ochre);transition:transform .2s}
a.hero-next:hover .hero-next__go{transform:translateX(3px)}

/* moving words: links, with a pause button */
.hero-foot{position:relative;z-index:3;display:flex;align-items:stretch;border-top:var(--edge);border-bottom:var(--edge);background:rgba(22,17,11,.55);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.hero-foot .marquee{flex:1;min-width:0;border:0;margin:0;background:none}
.marquee-set{list-style:none;margin:0;padding:0;display:flex}
.marquee-set li{display:flex;align-items:center}
.marquee-set li::after{content:"◆";color:var(--ochre);font-size:9px;padding:0 4px}
.marquee-set a{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.01em;color:rgba(243,234,218,.72);padding:15px 26px;display:block;white-space:nowrap;transition:color .18s}
.marquee-set a:hover,.marquee-set a:focus-visible{color:var(--ochre)}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track,.hero.is-paused .marquee-track{animation-play-state:paused}
.hero-pause{flex:none;width:52px;border:0;border-left:var(--edge);background:none;color:var(--bone);cursor:pointer;display:flex;align-items:center;justify-content:center}
.hero-pause:hover{color:var(--ochre)}
.hero-pause__i{width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor}
.hero.is-paused .hero-pause__i{width:0;height:0;border:0;border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent;margin-left:3px}
.hero:not(.has-video) .hero-pause{display:flex}

/* tablets and phones: photo only, words stacked, card under the buttons */
@media(max-width:999px){
  .hero .hero-inner{grid-template-columns:1fr;gap:22px}
  .hero-next{width:100%;max-width:440px}
}
@media(max-width:900px){
  .hero .hero-scrim{background:linear-gradient(0deg,rgba(22,17,11,.92) 0%,rgba(22,17,11,.55) 45%,rgba(22,17,11,.25) 70%,rgba(22,17,11,.5) 100%)}
  .hero .hero-vid,.hero .hero-yt{display:none}
}
@media(max-width:600px){
  .hero .htype{font-size:clamp(42px,13vw,64px)}
  .hero--small .htype{font-size:clamp(36px,11vw,54px)}
  .hero--large .htype{font-size:clamp(46px,15vw,74px)}
  .marquee-set a{font-size:14px;padding:13px 20px}
  .hero-pause{width:46px}
}
@media(prefers-reduced-motion:reduce){
  .hero-next{opacity:1}
  .hero-foot .marquee{overflow-x:auto}
  .marquee-track{animation:none!important}
  .marquee-set[aria-hidden]{display:none}
}

/* =====================================================================
   v7.3 WHO WE ARE — researched redesign (cream background kept)
   - the section name is now a real heading you can see from across the room
   - statement set at reading size (about 60 characters a line), not poster size
   - real photos of the dancers + three things we do, then a clear next step
   - a soft pattern of the brand's diamond motif gives the cream some life
   ===================================================================== */
.who{position:relative;overflow:hidden;background:var(--bone);color:var(--ink);isolation:isolate}
.who::before{content:"";position:absolute;z-index:-1;top:-80px;right:-120px;width:min(760px,70vw);aspect-ratio:1;opacity:.55;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23E39A2C' stroke-width='1.2' opacity='.55'%3E%3Cpath d='M0 60 L60 0 L120 60 L60 120 Z'/%3E%3Cpath d='M30 60 L60 30 L90 60 L60 90 Z'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image:radial-gradient(closest-side,#000 30%,transparent 100%);mask-image:radial-gradient(closest-side,#000 30%,transparent 100%)}
.who::after{content:"";position:absolute;z-index:-1;left:-140px;bottom:-160px;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(195,74,43,.10),rgba(195,74,43,0));pointer-events:none}
.who-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,6vw,96px);align-items:start}
.who-kicker{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone-d);margin-bottom:16px}
.who-title{font-family:var(--display);font-weight:800;font-size:clamp(40px,5.2vw,72px);line-height:.95;letter-spacing:-.035em;color:var(--ink);margin:0;text-wrap:balance}
.who-title::after{content:"";display:block;width:64px;height:5px;border-radius:3px;background:var(--ochre);margin-top:22px}

/* photos: a large one with a smaller one overlapping, like two frames on a wall */
.who-photos{position:relative;margin:clamp(30px,4vw,48px) 0 0;padding-bottom:16%;max-width:520px}
.who-ph{position:relative;overflow:hidden;border-radius:4px;background:linear-gradient(135deg,#C9B79A,#A2937C);display:flex;align-items:center;justify-content:center}
.who-ph .mono{font-size:10px;color:rgba(22,17,11,.45)}
.who-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.who-photos .who-ph:first-child{width:78%;aspect-ratio:4/5;box-shadow:0 24px 50px -28px rgba(22,17,11,.55)}
.who-photos .who-ph:nth-child(2){position:absolute;right:0;bottom:0;width:46%;aspect-ratio:1;border:6px solid var(--bone);box-shadow:0 18px 40px -22px rgba(22,17,11,.6)}
.who-photos figcaption{position:absolute;left:0;bottom:-28px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--stone-d)}

/* words */
.who-body{padding-top:clamp(0px,1.4vw,18px)}
.who-lead{font-family:var(--serif);font-size:clamp(20px,1.85vw,27px);line-height:1.45;letter-spacing:-.005em;color:var(--ink);margin:0;max-width:34em}
.who-lead b{font-weight:500;font-style:italic;color:var(--clay)}
.who-more{font-family:var(--serif);font-size:clamp(17px,1.25vw,19px);line-height:1.6;color:#4A4033;margin:20px 0 0;max-width:38em}
.who-pillars{list-style:none;margin:clamp(30px,3.6vw,44px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid rgba(22,17,11,.16)}
.who-pillars li{padding:20px 22px 4px 0;display:grid;gap:6px;align-content:start}
.who-pillars li+li{padding-left:22px;border-left:1px solid rgba(22,17,11,.12)}
.who-pillars strong{font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:-.01em;color:var(--ink);display:flex;align-items:center;gap:8px}
.who-pillars strong::before{content:"◆";font-size:9px;color:var(--ochre)}
.who-pillars span{font-family:var(--serif);font-size:16px;line-height:1.5;color:#5A4E3E}
.who-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:clamp(28px,3.4vw,40px)}
.who-cta .btn{min-height:46px;display:inline-flex;align-items:center}
.who-link{font-family:var(--ui);font-weight:600;font-size:15.5px;color:var(--ink);border-bottom:2px solid var(--ochre);padding:6px 0;min-height:44px;display:inline-flex;align-items:center;gap:6px}
.who-link:hover{color:var(--clay)}
.who-link span{transition:transform .2s}
.who-link:hover span{transform:translateX(3px)}

@media(max-width:960px){
  .who-grid{grid-template-columns:1fr;gap:28px}
  .who-photos{max-width:560px;padding-bottom:12%;margin-top:28px}
  .who-head{display:contents}
  .who-kicker,.who-title{grid-column:1}
  .who-title{margin-bottom:6px}
  .who-photos{order:3}
  .who-body{order:2;padding-top:0}
}
@media(max-width:600px){
  .who-pillars{grid-template-columns:1fr}
  .who-pillars li,.who-pillars li+li{padding:16px 0;border-left:0;border-bottom:1px solid rgba(22,17,11,.1)}
  .who-photos .who-ph:first-child{width:74%}
  .who-photos .who-ph:nth-child(2){width:50%;border-width:5px}
  .who::before{width:110vw;right:-40vw;top:-40px;opacity:.4}
}

/* =====================================================================
   v7.4 NOW ON STAGE — researched redesign
   - section name is a real heading; the show title is the second voice
   - dark background after the cream Who we are (cream → dark rhythm)
   - what visitors check first: title, poster, one-line story, date, venue, who
   - trailer opens in a player on the page; three photos open full screen
   ===================================================================== */
.nos{position:relative;overflow:hidden;isolation:isolate}
.nos,.nos--dark{background:var(--ink);color:var(--bone)}
.nos--cream{background:var(--bone-2);color:var(--ink)}
.nos:not(.nos--cream)::before{content:"";position:absolute;z-index:-1;inset:auto -10% -30% auto;width:min(900px,80vw);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(closest-side,rgba(227,154,44,.13),rgba(227,154,44,0));pointer-events:none}
.nos-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px 40px;flex-wrap:wrap;margin-bottom:clamp(32px,4.4vw,56px)}
.nos-kicker{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);margin-bottom:14px}
.nos--cream .nos-kicker{color:var(--stone-d)}
.nos-live{width:9px;height:9px;border-radius:50%;background:var(--clay);box-shadow:0 0 0 0 rgba(195,74,43,.6);animation:nosPulse 2.2s ease-out infinite}
@keyframes nosPulse{0%{box-shadow:0 0 0 0 rgba(195,74,43,.55)}80%,100%{box-shadow:0 0 0 10px rgba(195,74,43,0)}}
.nos-title{font-family:var(--display);font-weight:800;font-size:clamp(40px,5.2vw,72px);line-height:.95;letter-spacing:-.035em;margin:0}
.nos-title::after{content:"";display:block;width:64px;height:5px;border-radius:3px;background:var(--ochre);margin-top:20px}
.nos-all{font-family:var(--ui);font-weight:600;font-size:15.5px;border-bottom:2px solid var(--ochre);padding:6px 0;min-height:44px;display:inline-flex;align-items:center;gap:6px}
.nos-all:hover{color:var(--ochre)}
.nos--cream .nos-all:hover{color:var(--clay)}

.nos-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5.5vw,88px);align-items:center}
.nos-poster{position:relative;margin:0;aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:linear-gradient(135deg,#3a1108,var(--clay) 40%,#7a4d12);
  box-shadow:0 40px 80px -40px rgba(0,0,0,.85);max-width:520px;width:100%}
.nos-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.nos-poster:hover img{transform:scale(1.03)}
.nos-poster::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(22,17,11,.7),rgba(22,17,11,0) 38%);pointer-events:none}
.nos-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:rgba(0,0,0,.45)}
.nos-plabel{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(243,234,218,.92)}

.nos-tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:var(--ochre);
  padding:6px 12px;border-radius:2px;margin-bottom:20px}
.nos-show{font-family:var(--display);font-weight:800;font-size:clamp(36px,4.6vw,64px);line-height:.95;letter-spacing:-.03em;margin:0 0 18px;text-wrap:balance}
.nos-text{font-family:var(--serif);font-size:clamp(17px,1.35vw,20px);line-height:1.6;max-width:42ch;margin:0;color:rgba(243,234,218,.86)}
.nos--cream .nos-text{color:#4A4033}
.nos-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:clamp(24px,3vw,34px) 0 0;max-width:560px;border-top:1px solid rgba(243,234,218,.16)}
.nos--cream .nos-meta{border-color:rgba(22,17,11,.16)}
.nos-meta div{padding:14px 18px 14px 0;border-bottom:1px solid rgba(243,234,218,.1);min-width:0}
.nos--cream .nos-meta div{border-color:rgba(22,17,11,.1)}
.nos-meta div:nth-child(even){padding-left:18px;border-left:1px solid rgba(243,234,218,.1)}
.nos--cream .nos-meta div:nth-child(even){border-left-color:rgba(22,17,11,.1)}
.nos-meta dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);margin-bottom:4px}
.nos--cream .nos-meta dt{color:var(--stone-d)}
.nos-meta dd{margin:0;font-family:var(--display);font-weight:700;font-size:17px;line-height:1.3;overflow-wrap:anywhere}
.nos-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:clamp(24px,3vw,34px)}
.nos-cta .btn{min-height:46px;display:inline-flex;align-items:center}
.nos-play{display:inline-flex;align-items:center;gap:12px;font-family:var(--ui);font-weight:600;font-size:15.5px;min-height:46px;cursor:pointer}
.nos-play__i{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(243,234,218,.45);position:relative;transition:border-color .2s,background .2s}
.nos--cream .nos-play__i{border-color:rgba(22,17,11,.35)}
.nos-play__i::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-35%,-50%);border-left:12px solid currentColor;border-top:8px solid transparent;border-bottom:8px solid transparent}
.nos-play:hover .nos-play__i{border-color:var(--ochre);background:rgba(227,154,44,.14)}
.nos-gal{margin-top:clamp(28px,3.4vw,40px)}
.nos-gal__k{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);margin-bottom:12px}
.nos-gal__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:560px}
.nos-gal__row a{position:relative;display:block;aspect-ratio:3/2;border-radius:4px;overflow:hidden;background:rgba(243,234,218,.08)}
.nos-gal__row img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s,opacity .2s}
.nos-gal__row a:hover img{transform:scale(1.06)}

/* trailer player */
.vbox{position:fixed;inset:0;z-index:200;background:rgba(10,7,4,.92);display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.vbox[hidden]{display:none}
.vbox__in{position:relative;width:min(1100px,100%);aspect-ratio:16/9;background:#000;border-radius:6px;overflow:hidden}
.vbox__in iframe,.vbox__in video{position:absolute;inset:0;width:100%;height:100%;border:0}
.vbox__x{position:absolute;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));width:48px;height:48px;border-radius:50%;border:1px solid rgba(243,234,218,.35);background:rgba(22,17,11,.6);color:var(--bone);font-size:24px;cursor:pointer}
.vbox__x:hover{border-color:var(--ochre);color:var(--ochre)}

@media(max-width:960px){
  .nos-grid{grid-template-columns:1fr}
  .nos-poster{max-width:460px}
}
@media(max-width:600px){
  .nos-meta{grid-template-columns:1fr}
  .nos-meta div:nth-child(even){padding-left:0;border-left:0}
  .nos-poster{max-width:none}
}
@media(prefers-reduced-motion:reduce){.nos-live{animation:none}.nos-poster img,.nos-gal__row img{transition:none}}

/* =====================================================================
   v7.5 OUR IMPACT — researched redesign (inspired by Reach A Hand Uganda)
   - clear name: “Our impact”, set as a real heading
   - a warm coloured panel on the cream, big numbers that count up, line icons
   - a smiling dancer in an arch: a face next to the numbers
   ===================================================================== */
.imp{padding-block:clamp(56px,8vw,120px)}
.imp-panel{position:relative;overflow:hidden;isolation:isolate;border-radius:clamp(20px,2.4vw,32px);padding:clamp(36px,5vw,72px) clamp(22px,4.4vw,64px);
  --p-bg:linear-gradient(150deg,#B9461F 0%,#A33A18 55%,#8B2F13 100%);--p-fg:var(--bone);--p-soft:rgba(243,234,218,.82);--p-ico:#FFD08A;--p-arch:var(--ochre);--p-line:rgba(243,234,218,.18);
  background:var(--p-bg);color:var(--p-fg)}
.imp--ochre .imp-panel{--p-bg:linear-gradient(150deg,#E8A33A,#D98B1E);--p-fg:var(--ink);--p-soft:rgba(22,17,11,.78);--p-ico:var(--ink);--p-arch:var(--clay);--p-line:rgba(22,17,11,.16)}
.imp--cobalt .imp-panel{--p-bg:linear-gradient(150deg,#4A5FD3,#3245B5);--p-ico:#FFD08A;--p-arch:var(--ochre)}
.imp--ink .imp-panel{--p-bg:linear-gradient(150deg,#241B12,#16110B);--p-ico:var(--ochre);--p-arch:var(--clay)}
.imp--none .imp-panel{--p-bg:transparent;--p-fg:var(--ink);--p-soft:#4A4033;--p-ico:var(--clay);--p-arch:var(--ochre);--p-line:rgba(22,17,11,.14);padding-inline:0}
/* ripples in the corners, like sound from a drum */
.imp-panel::before,.imp-panel::after{content:"";position:absolute;z-index:-1;width:420px;height:420px;border-radius:50%;pointer-events:none;opacity:.5;
  background:repeating-radial-gradient(circle,transparent 0 22px,var(--p-line) 22px 23.5px)}
.imp-panel::before{left:-210px;top:-210px}
.imp-panel::after{right:-210px;bottom:-210px}
.imp--none .imp-panel::before,.imp--none .imp-panel::after{display:none}

.imp-head{text-align:center;max-width:720px;margin:0 auto clamp(30px,4vw,52px)}
.imp-title{font-family:var(--display);font-weight:800;font-size:clamp(40px,5.2vw,72px);line-height:.95;letter-spacing:-.035em;margin:0;color:var(--p-fg)}
.imp-title::after{content:"";display:block;width:64px;height:5px;border-radius:3px;background:var(--p-arch);margin:18px auto 0}
.imp--clay .imp-title::after,.imp--cobalt .imp-title::after{background:var(--ochre)}
.imp-intro{font-family:var(--serif);font-size:clamp(17px,1.4vw,20px);line-height:1.55;color:var(--p-soft);margin:18px auto 0;max-width:52ch}

.imp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,340px) minmax(0,1fr);gap:clamp(20px,3.4vw,56px);align-items:center}
.imp-col{display:grid;gap:clamp(28px,4vw,56px)}
.imp-col:last-child{justify-items:end;text-align:right}
.imp-col:last-child .imp-stat{justify-items:end}
.imp-stat{display:grid;gap:8px;justify-items:start}
.imp-ico{width:48px;height:48px;color:var(--p-ico);margin-bottom:4px}
.imp-fig{font-family:var(--display);font-weight:800;font-size:clamp(42px,4.8vw,68px);line-height:.92;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--p-fg);white-space:nowrap}
.imp-suf{font-size:.62em;margin-left:2px;color:var(--p-ico)}
.imp--ochre .imp-suf{color:var(--clay)}
.imp-lab{font-family:var(--ui);font-weight:500;font-size:15px;line-height:1.4;color:var(--p-soft);max-width:22ch}

.imp-arch{position:relative;display:flex;flex-direction:column;align-items:center}
.imp-arch__shape{position:relative;width:100%;aspect-ratio:3/4;border-radius:999px 999px 18px 18px;overflow:hidden;background:var(--p-arch);
  box-shadow:0 0 0 10px rgba(243,234,218,.08),0 0 0 22px rgba(243,234,218,.05);display:flex;align-items:center;justify-content:center}
.imp--ochre .imp-arch__shape{box-shadow:0 0 0 10px rgba(22,17,11,.08),0 0 0 22px rgba(22,17,11,.05)}
.imp-arch__shape img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.imp-arch__shape .mono{font-size:10px;color:rgba(22,17,11,.5)}
.imp-btn{position:relative;margin-top:-26px;z-index:2;font-family:var(--ui);font-weight:600;font-size:15px;background:var(--ink);color:var(--bone);border-radius:999px;
  padding:0 24px;min-height:48px;display:inline-flex;align-items:center;box-shadow:0 14px 30px -14px rgba(0,0,0,.7);transition:transform .2s,background .2s}
.imp-btn:hover{transform:translateY(-2px);background:#000}
.imp--ink .imp-btn{background:var(--ochre);color:var(--ink)}

@media(max-width:960px){
  .imp-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 24px}
  .imp-arch{grid-column:1/-1;grid-row:1;max-width:300px;justify-self:center;width:100%}
  .imp-col,.imp-col:last-child{justify-items:center;text-align:center}
  .imp-stat,.imp-col:last-child .imp-stat{justify-items:center}
}
@media(max-width:600px){
  .imp-grid{grid-template-columns:1fr 1fr;gap:28px 14px}
  .imp-arch{max-width:240px}
  .imp-col{gap:28px}
  .imp-fig{font-size:clamp(34px,10.5vw,46px)}
  .imp-ico{width:38px;height:38px}
  .imp-lab{font-size:13.5px}
  .imp-panel::before,.imp-panel::after{width:260px;height:260px}
  .imp-panel::before{left:-130px;top:-130px}.imp-panel::after{right:-130px;bottom:-130px}
}

/* =====================================================================
   v7.6 — hero "Play video" on phones, Who we are squares across the section,
          Now on stage spotlights
   ===================================================================== */
/* Phones/tablets: the video only loads when the visitor taps this (saves their data) */
.hero-play{display:inline-flex;align-items:center;gap:10px;margin:0 0 22px;padding:8px 16px 8px 8px;min-height:44px;border-radius:999px;cursor:pointer;
  font-family:var(--ui);font-weight:600;font-size:14.5px;color:var(--bone);background:rgba(22,17,11,.45);border:1px solid rgba(243,234,218,.28);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.hero-play[hidden]{display:none}
.hero-play__i{width:30px;height:30px;border-radius:50%;background:var(--ochre);position:relative;flex:none}
.hero-play__i::after{content:"";position:absolute;left:12px;top:9px;border-style:solid;border-width:6px 0 6px 9px;border-color:transparent transparent transparent var(--ink)}
.hero-play:hover .hero-play__i,.hero-play:focus-visible .hero-play__i{background:#f0ad45}
.hero-play:disabled{cursor:progress;opacity:.85}
.hero.is-playing .hero-video video{display:block!important}
.hero.is-playing .hero-yt{display:block!important}

/* Who we are: diamond pattern across the whole section, fainter behind the photos */
.who::before{inset:0!important;width:auto!important;aspect-ratio:auto!important;opacity:.32!important;
  -webkit-mask-image:linear-gradient(100deg,rgba(0,0,0,.35),#000 60%)!important;mask-image:linear-gradient(100deg,rgba(0,0,0,.35),#000 60%)!important}
@media(max-width:900px){
  .who::before{-webkit-mask-image:linear-gradient(180deg,#000 45%,rgba(0,0,0,.35))!important;mask-image:linear-gradient(180deg,#000 45%,rgba(0,0,0,.35))!important}
}

/* Now on stage: soft theatre spotlights falling from above (pure CSS, no download) */
.nos:not(.nos--cream)::after{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;
  background:
    conic-gradient(from 160deg at 22% -12%, transparent 0deg, rgba(243,214,160,.10) 8deg, rgba(243,214,160,.03) 22deg, transparent 30deg),
    conic-gradient(from 178deg at 70% -12%, transparent 0deg, rgba(243,214,160,.06) 6deg, transparent 20deg),
    radial-gradient(ellipse 40% 18% at 30% 100%, rgba(227,154,44,.12), transparent 70%)}
@media(max-width:700px){
  .nos:not(.nos--cream)::after{background:
    conic-gradient(from 165deg at 30% -6%, transparent 0deg, rgba(243,214,160,.10) 10deg, rgba(243,214,160,.03) 26deg, transparent 34deg),
    radial-gradient(ellipse 70% 14% at 40% 100%, rgba(227,154,44,.12), transparent 70%)}
}

/* Now on stage: "From the show" label in the header font with a gold diamond (matches Learn / Create / Connect) */
.nos-gal__k{display:flex;align-items:center;gap:10px;font-family:var(--ui);font-weight:700;font-size:19px;letter-spacing:-.01em;text-transform:none;color:var(--bone);margin-bottom:14px}
.nos-gal__k::before{content:"";flex:none;width:8px;height:8px;background:var(--ochre);transform:rotate(45deg)}
.nos--cream .nos-gal__k{color:var(--ink)}

/* v7.7 Now on stage heading: lighter weight, one word in gold italic (same accent as "preserve culture" and "meets") */
.nos-title,.nos-show{font-weight:600;letter-spacing:-.03em}
.nos-title em{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--ochre);letter-spacing:-.01em}
.nos--cream .nos-title em{color:var(--clay)}

/* =====================================================================
   v7.8 — HOME, LOWER HALF: Programs · Upcoming · Stories · Photo strip ·
          Our journey · Partners · Newsletter · Footer
   One heading system for every section: small label (no numbers, no lines),
   Bricolage 600 heading with one italic accent word, short gold bar.
   ===================================================================== */
.sx-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 48px;flex-wrap:wrap;margin-bottom:clamp(36px,4.6vw,60px)}
.sx-head__txt{max-width:760px}
.sx-kicker{font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px;color:var(--k,var(--stone-d))}
.sx-title{font-family:var(--display);font-weight:600;font-size:clamp(40px,5.2vw,72px);line-height:.98;letter-spacing:-.03em;margin:0;color:inherit;text-wrap:balance}
.sx-title em{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-.01em;color:var(--accent,var(--ochre))}
.sx-title::after{content:"";display:block;width:64px;height:5px;border-radius:3px;background:var(--bar,var(--ochre));margin-top:20px}
.sx-intro{font-family:var(--serif);font-size:clamp(17px,1.4vw,20px);line-height:1.55;margin:20px 0 0;max-width:52ch;color:var(--soft,inherit)}
.sx-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-family:var(--ui);font-weight:600;font-size:15.5px;color:inherit;border-bottom:2px solid var(--bar,var(--ochre));transition:gap .2s,color .2s}
.sx-link:hover,.sx-link:focus-visible{gap:12px}
.sx-arrow{width:18px;height:18px;flex:none}

/* ---------- PROGRAMS: cobalt with a woven-mat zig-zag, six cards with icons, no photos ---------- */
.prg{position:relative;isolation:isolate;overflow:hidden;color:var(--bone);padding-block:clamp(72px,9vw,128px);
  --soft:rgba(243,234,218,.84);--k:#FFD08A;--accent:#FFD08A;--bar:var(--ochre);
  background:linear-gradient(160deg,#4659D1 0%,#3647B9 55%,#2C3DA2 100%)}
.prg::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='28' viewBox='0 0 56 28'%3E%3Cpath d='M0 21 L14 7 L28 21 L42 7 L56 21' fill='none' stroke='%23F3EADA' stroke-opacity='.10' stroke-width='1.6'/%3E%3C/svg%3E");
  -webkit-mask-image:linear-gradient(200deg,#000 0%,rgba(0,0,0,.35) 55%,rgba(0,0,0,.08) 100%);mask-image:linear-gradient(200deg,#000 0%,rgba(0,0,0,.35) 55%,rgba(0,0,0,.08) 100%)}
.prg::after{content:"";position:absolute;z-index:-1;left:-12%;bottom:-38%;width:min(780px,80vw);aspect-ratio:1;border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(227,154,44,.30),rgba(227,154,44,0))}
.prg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.prg-card{position:relative;display:flex;flex-direction:column;padding:28px 26px 26px;border-radius:16px;color:inherit;
  background:rgba(255,255,255,.075);border:1px solid rgba(243,234,218,.16);transition:transform .35s cubic-bezier(.2,.8,.2,1),background .3s,color .3s,box-shadow .3s}
.prg-ico{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--ochre);color:var(--ink);transition:background .3s,color .3s,transform .4s}
.prg-ico svg{width:28px;height:28px}
.prg-name{font-family:var(--display);font-weight:600;font-size:clamp(21px,1.7vw,24px);line-height:1.15;letter-spacing:-.015em;margin:22px 0 10px}
.prg-desc{font-family:var(--serif);font-size:17px;line-height:1.5;margin:0;color:var(--soft);transition:color .3s}
.prg-more{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:22px;font-family:var(--ui);font-weight:600;font-size:15px;color:#FFD08A;transition:gap .2s,color .3s}
a.prg-card:hover,a.prg-card:focus-visible{transform:translateY(-6px);background:var(--bone);color:var(--ink);box-shadow:0 30px 60px -30px rgba(10,14,50,.7)}
a.prg-card:hover .prg-desc,a.prg-card:focus-visible .prg-desc{color:#4A4033}
a.prg-card:hover .prg-more,a.prg-card:focus-visible .prg-more{color:var(--clay);gap:12px}
a.prg-card:hover .prg-ico,a.prg-card:focus-visible .prg-ico{background:var(--cobalt);color:var(--bone);transform:rotate(-8deg)}
div.prg-card:hover{background:rgba(255,255,255,.11)}
@media(max-width:1000px){.prg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){
  .prg-grid{grid-template-columns:1fr;gap:12px}
  .prg-card{display:grid;grid-template-columns:48px 1fr;column-gap:16px;padding:20px 18px}
  .prg-ico{width:48px;height:48px;grid-row:span 3}
  .prg-ico svg{width:24px;height:24px}
  .prg-name{margin:2px 0 6px;font-size:20px}
  .prg-desc{font-size:16px}
  .prg-more{padding-top:12px}
}

/* ---------- UPCOMING: warm gold, ticket-style cards, live countdown ---------- */
.upc{position:relative;isolation:isolate;overflow:hidden;color:var(--ink);padding-block:clamp(72px,9vw,128px);
  --soft:rgba(22,17,11,.8);--k:rgba(22,17,11,.72);--accent:#2B3C9F;--bar:var(--ink);--notch:#E39A2C;
  background:linear-gradient(160deg,#ECA840 0%,#E39A2C 55%,#D98C20 100%)}
.upc::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:repeating-linear-gradient(135deg,rgba(22,17,11,.05) 0 2px,transparent 2px 22px);
  -webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 100%);mask-image:linear-gradient(90deg,transparent 30%,#000 100%)}
.upc::after{content:"";position:absolute;z-index:-1;right:-220px;top:-260px;width:520px;height:520px;border-radius:50%;pointer-events:none;
  box-shadow:0 0 0 2px rgba(243,234,218,.35),0 0 0 48px rgba(243,234,218,.08),0 0 0 50px rgba(243,234,218,.25),0 0 0 110px rgba(243,234,218,.06)}
.upc-grid{display:grid;gap:18px}
.upc-grid--3{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:1fr 1fr}
.upc-grid--3 .upc-card--lead{grid-row:span 2}
.upc-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.upc-card{--stub:118px;position:relative;display:flex;min-width:0;background:var(--bone);color:var(--ink);border-radius:16px;overflow:hidden;
  box-shadow:0 26px 50px -30px rgba(90,45,0,.65);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.upc-card::before,.upc-card::after{content:"";position:absolute;left:calc(var(--stub) - 9px);width:18px;height:18px;border-radius:50%;background:var(--notch);z-index:2}
.upc-card::before{top:-9px}.upc-card::after{bottom:-9px}
.upc-card:hover,.upc-card:focus-within{transform:translateY(-4px);box-shadow:0 34px 60px -30px rgba(90,45,0,.75)}
.upc-stub{flex:none;width:var(--stub);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px 8px;background:var(--clay);color:var(--bone);border-right:2px dashed rgba(243,234,218,.55)}
.upc-day{font-family:var(--display);font-weight:700;font-size:48px;line-height:.95;letter-spacing:-.03em}
.upc-mon{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;margin-top:8px}
.upc-body{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px 26px}
.upc-when{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:6px 11px;border-radius:999px;background:rgba(195,74,43,.12);color:var(--clay)}
.upc-when::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.upc-when.is-soon::before{animation:nosPulse 2s ease-out infinite}
.upc-when.is-past{background:rgba(22,17,11,.08);color:var(--stone-d)}
.upc-title{font-family:var(--display);font-weight:600;font-size:22px;line-height:1.12;letter-spacing:-.015em;margin:0}
.upc-title a{color:inherit}
.upc-title a::after{content:"";position:absolute;inset:0;z-index:1}
.upc-meta{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.upc-meta li{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-size:16.5px;color:#4A4033}
.upc-meta svg{width:18px;height:18px;flex:none;color:var(--clay)}
.upc-more{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:8px;font-family:var(--ui);font-weight:600;font-size:15px;color:var(--clay);transition:gap .2s}
.upc-card:hover .upc-more{gap:12px}
.upc-card--lead{--stub:150px;background:var(--ink);color:var(--bone)}
.upc-card--lead .upc-stub{background:var(--cobalt)}
.upc-card--lead .upc-day{font-size:clamp(56px,5.4vw,78px)}
.upc-card--lead .upc-body{padding:clamp(26px,3vw,40px);justify-content:center;gap:14px}
.upc-card--lead .upc-title{font-size:clamp(26px,2.6vw,36px)}
.upc-card--lead .upc-meta li{color:rgba(243,234,218,.84);font-size:18px}
.upc-card--lead .upc-meta svg,.upc-card--lead .upc-more{color:var(--ochre)}
.upc-card--lead .upc-when{background:var(--ochre);color:var(--ink)}
.upc-card--lead .upc-when.is-past{background:rgba(243,234,218,.14);color:var(--bone)}
@media(max-width:900px){
  .upc-grid--3,.upc-grid--2{grid-template-columns:1fr;grid-template-rows:none}
  .upc-grid--3 .upc-card--lead{grid-row:auto}
}
@media(max-width:520px){
  .upc-card{--stub:88px}
  .upc-card--lead{--stub:104px}
  .upc-day{font-size:38px}
  .upc-card--lead .upc-day{font-size:50px}
  .upc-body{padding:18px}
  .upc-card--lead .upc-body{padding:22px 20px}
  .upc-card--lead .upc-title{font-size:24px}
}

/* ---------- STORIES: one big featured story + two side stories ---------- */
.sto{background:var(--bone);color:var(--ink);padding-block:clamp(72px,9vw,128px) clamp(40px,5vw,64px);--soft:#4A4033;--k:var(--stone-d);--accent:var(--clay);--bar:var(--ochre)}
.sto-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-template-rows:1fr 1fr;gap:20px}
.sto-card{position:relative;display:flex;flex-direction:column;min-width:0;background:#FBF6EC;border-radius:16px;overflow:hidden;
  box-shadow:0 1px 0 rgba(22,17,11,.06),0 22px 44px -34px rgba(22,17,11,.55);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.sto-card:hover,.sto-card:focus-within{transform:translateY(-4px);box-shadow:0 1px 0 rgba(22,17,11,.06),0 30px 54px -34px rgba(22,17,11,.6)}
.sto-card--lead{grid-row:span 2}
.sto-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:#D9CBB2;flex:none}
.sto-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.sto-card:hover .sto-img img{transform:scale(1.05)}
.sto-img--ph::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(243,234,218,.22) 1.4px,transparent 1.6px);background-size:16px 16px}
.sto-img--ph0{background:linear-gradient(140deg,#4659D1,#22307F)}
.sto-img--ph1{background:linear-gradient(140deg,#D2582F,#8E2F15)}
.sto-img--ph2{background:linear-gradient(140deg,#EBA63F,#A86512)}
.sto-body{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:22px 24px 22px;flex:1;min-width:0}
.sto-cat{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--clay)}
.sto-title{font-family:var(--display);font-weight:600;font-size:21px;line-height:1.15;letter-spacing:-.015em;margin:0}
.sto-title a{color:inherit;transition:color .2s}
.sto-title a::after{content:"";position:absolute;inset:0;z-index:1}
.sto-card:hover .sto-title a{color:var(--clay)}
.sto-text{font-family:var(--serif);font-size:17.5px;line-height:1.55;color:#4A4033;margin:0;max-width:56ch}
.sto-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-top:auto;padding-top:6px}
.sto-meta{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--stone-d)}
.sto-read{display:inline-flex;align-items:center;gap:6px;font-family:var(--ui);font-weight:600;font-size:14.5px;color:var(--clay);transition:gap .2s}
.sto-card:hover .sto-read{gap:10px}
.sto-card--lead .sto-img{aspect-ratio:16/10}
.sto-card--lead .sto-body{padding:28px 30px 28px;gap:14px}
.sto-card--lead .sto-title{font-size:clamp(26px,2.5vw,34px)}
.sto-card:not(.sto-card--lead){flex-direction:row}
.sto-card:not(.sto-card--lead) .sto-img{width:42%;aspect-ratio:auto}
@media(max-width:900px){
  .sto-grid{grid-template-columns:1fr;grid-template-rows:none}
  .sto-card--lead{grid-row:auto}
}
@media(max-width:520px){
  .sto-card:not(.sto-card--lead) .sto-img{width:36%}
  .sto-card:not(.sto-card--lead) .sto-body{padding:16px}
  .sto-title{font-size:18px}
  .sto-card--lead .sto-body{padding:22px 20px}
  .sto-card--lead .sto-title{font-size:25px}
}

/* ---------- PHOTO STRIP: mixed portrait/landscape photos, captions, pause on hover, tap to enlarge ---------- */
.gstrip{background:var(--bone);padding-block:clamp(20px,3vw,32px) clamp(64px,8vw,104px);overflow:hidden}
.gstrip-track{display:flex;width:max-content;animation:scroll 70s linear infinite}
.gstrip:hover .gstrip-track,.gstrip:focus-within .gstrip-track{animation-play-state:paused}
.gtile{--h:clamp(200px,24vw,330px);position:relative;flex:none;display:block;height:var(--h);width:calc(var(--h) * var(--r,1.333));margin-right:12px;border-radius:12px;overflow:hidden;background:#D9CBB2}
.gtile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
a.gtile:hover img,a.gtile:focus-visible img{transform:scale(1.06)}
.gtile-cap{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--bone);background:rgba(22,17,11,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:7px 11px;border-radius:6px;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s}
.gtile:hover .gtile-cap,.gtile:focus-visible .gtile-cap{opacity:1;transform:none}
@media(hover:none){.gtile-cap{opacity:1;transform:none}}
.gtile--ph0{background:linear-gradient(135deg,var(--clay),#5a2314)}
.gtile--ph1{background:linear-gradient(135deg,var(--cobalt),#1c2660)}
.gtile--ph2{background:linear-gradient(135deg,var(--ochre),#7a4d12)}
.gtile--ph3{background:linear-gradient(135deg,#3a2c1d,var(--stone-d))}
@media(prefers-reduced-motion:reduce){.gstrip{overflow-x:auto}.gstrip-track{animation:none}}

/* ---------- OUR JOURNEY: a gold timeline you can scroll sideways ---------- */
.jny{position:relative;isolation:isolate;overflow:hidden;color:var(--bone);padding-block:clamp(72px,9vw,128px);
  --soft:rgba(243,234,218,.8);--k:var(--ochre);--accent:var(--ochre);--bar:var(--ochre);--pad:max(clamp(20px,5vw,64px),calc((100vw - 1280px) / 2 + clamp(20px,5vw,64px)));
  background:radial-gradient(ellipse 80% 70% at 15% 0%,#2C2116 0%,var(--ink) 65%)}
@media(min-width:1600px){.jny{--pad:calc((100vw - 1360px) / 2 + 64px)}}
.jny::after{content:"";position:absolute;z-index:-1;right:-10%;bottom:-40%;width:min(820px,80vw);aspect-ratio:1;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,rgba(195,74,43,.22),rgba(195,74,43,0))}
.jny-nav{display:flex;gap:10px}
.jny-btn{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:transparent;color:var(--bone);border:1.5px solid rgba(243,234,218,.32);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.jny-btn svg{width:22px;height:22px}
.jny-btn[data-dir="-1"] svg{transform:rotate(180deg)}
.jny-btn:hover,.jny-btn:focus-visible{background:var(--ochre);border-color:var(--ochre);color:var(--ink)}
.jny-btn:disabled{opacity:.35;cursor:default;background:transparent;color:var(--bone);border-color:rgba(243,234,218,.32)}
.jny-rail{overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad);scrollbar-width:none;-webkit-overflow-scrolling:touch;outline-offset:-4px}
.jny-rail::-webkit-scrollbar{display:none}
.jny-list{position:relative;display:flex;list-style:none;margin:0;padding:6px var(--pad) 8px;width:max-content}
.jny-list::before{content:"";position:absolute;left:var(--pad);right:var(--pad);top:15px;height:2px;background:linear-gradient(90deg,rgba(227,154,44,.25),var(--ochre) 70%)}
.jny-item{position:relative;flex:none;width:clamp(250px,24vw,310px);padding:46px 32px 0 0;scroll-snap-align:start}
.jny-dot{position:absolute;top:0;left:0;width:20px;height:20px;border-radius:50%;background:var(--ink);border:2px solid var(--ochre)}
.jny-item.is-now .jny-dot{background:var(--ochre);box-shadow:0 0 0 6px rgba(227,154,44,.22)}
.jny-year{display:block;font-family:var(--display);font-weight:700;font-size:clamp(44px,4.4vw,62px);line-height:1;letter-spacing:-.035em;color:var(--ochre)}
.jny-name{font-family:var(--display);font-weight:600;font-size:21px;line-height:1.2;letter-spacing:-.01em;margin:14px 0 8px}
.jny-text{font-family:var(--serif);font-size:16.5px;line-height:1.55;margin:0;color:var(--soft)}
.jny-cta{margin-top:clamp(36px,4vw,56px)}
.jny-cta .btn{min-height:46px;display:inline-flex;align-items:center}
@media(max-width:620px){.jny-nav{display:none}.jny-item{width:78vw}}

/* ---------- PARTNERS: logos scrolling freely (no boxes), colour on hover ---------- */
.ptn{background:var(--bone);color:var(--ink);padding-block:clamp(72px,9vw,120px);text-align:center;--soft:#4A4033;--accent:var(--clay);--bar:var(--ochre)}
.ptn-head{display:flex;flex-direction:column;align-items:center}
.ptn .sx-title{max-width:18ch}
.ptn .sx-title::after{margin-inline:auto}
.ptn .sx-intro{margin-inline:auto}
.ptn-band{margin-top:clamp(36px,4.6vw,56px);overflow:hidden;border-block:1px solid rgba(22,17,11,.1)}
.ptn-band.is-running{-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ptn-track{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;padding-block:clamp(22px,3vw,34px)}
.ptn-band.is-running .ptn-track{flex-wrap:nowrap;justify-content:flex-start;width:max-content;animation:scroll 45s linear infinite}
.ptn-band.is-running:hover .ptn-track,.ptn-band.is-running:focus-within .ptn-track{animation-play-state:paused}
.ptn-logo{position:relative;flex:none;display:flex;align-items:center;justify-content:center;height:72px;padding:0 clamp(30px,4vw,60px);color:var(--stone-d);filter:grayscale(1);opacity:.78;transition:filter .3s,opacity .3s,color .3s}
.ptn-logo img{max-height:56px;max-width:170px;width:auto;height:auto;object-fit:contain}
.ptn-logo+.ptn-logo::before,.ptn-band.is-running .ptn-logo::before{content:"";position:absolute;left:-4px;top:50%;width:8px;height:8px;margin-top:-4px;background:var(--ochre);transform:rotate(45deg);opacity:.8}
.ptn-word{font-family:var(--display);font-weight:700;font-size:clamp(20px,2vw,26px);letter-spacing:-.02em;white-space:nowrap}
.ptn-logo:hover,a.ptn-logo:focus-visible{filter:none;opacity:1;color:var(--ink)}
.ptn-cta{margin-top:clamp(28px,3.4vw,40px)}
@media(prefers-reduced-motion:reduce){.ptn-band.is-running .ptn-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto}.ptn-band.is-running .ptn-track>[aria-hidden="true"]{display:none}}

/* ---------- NEWSLETTER: red clay with a mud-cloth pattern, clear benefits, form card ---------- */
.nwl{position:relative;isolation:isolate;overflow:hidden;color:var(--bone);padding-block:clamp(72px,9vw,128px);
  --soft:rgba(243,234,218,.86);--k:#FFD08A;--accent:#FFD08A;--bar:var(--ochre);--pat:%23F3EADA}
.nwl--clay{background:linear-gradient(150deg,#CB532E 0%,#B3411F 55%,#9A3517 100%)}
.nwl--cobalt{background:linear-gradient(150deg,#4659D1,#2C3DA2)}
.nwl--ochre{background:linear-gradient(150deg,#ECA840,#D98C20);color:var(--ink);--soft:rgba(22,17,11,.8);--k:rgba(22,17,11,.72);--accent:#2B3C9F;--bar:var(--ink)}
.nwl::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23F3EADA' stroke-opacity='.11' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M8 10h10M13 5v10'/%3E%3Cpath d='M38 12h16'/%3E%3Cpath d='M6 42h14'/%3E%3Cpath d='M44 38v12M38 44h12'/%3E%3Cpath d='M26 26l4 4M30 26l-4 4'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.25),#000 70%);mask-image:linear-gradient(90deg,rgba(0,0,0,.25),#000 70%)}
.nwl--ochre::before{filter:invert(1) brightness(.2);opacity:.6}
.nwl::after{content:"";position:absolute;z-index:-1;right:-180px;bottom:-220px;width:560px;height:560px;border-radius:50%;pointer-events:none;
  box-shadow:0 0 0 2px rgba(243,234,218,.18),0 0 0 60px rgba(243,234,218,.05),0 0 0 62px rgba(243,234,218,.14)}
.nwl-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(36px,6vw,96px);align-items:center}
.nwl-points{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.nwl-points li{display:flex;align-items:flex-start;gap:12px;font-family:var(--serif);font-size:18px;line-height:1.45}
.nwl-points svg{width:24px;height:24px;flex:none;padding:3px;border-radius:50%;background:rgba(243,234,218,.16);color:#FFD08A;margin-top:1px}
.nwl--ochre .nwl-points svg{background:rgba(22,17,11,.1);color:var(--ink)}
.nwl-card{position:relative;background:var(--bone);color:var(--ink);border-radius:20px;padding:clamp(30px,3.4vw,46px);box-shadow:0 40px 80px -40px rgba(40,10,0,.65)}
.nwl-env{position:absolute;top:-30px;right:30px;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--ochre);color:var(--ink);transform:rotate(-10deg);box-shadow:0 12px 24px -12px rgba(0,0,0,.5)}
.nwl-env svg{width:30px;height:30px}
.nwl-form label{display:block;font-family:var(--ui);font-weight:600;font-size:16px;margin-bottom:10px}
.nwl-row{display:flex;gap:10px}
.nwl-row input{flex:1;min-width:0;height:56px;padding:0 18px;border-radius:12px;border:1.5px solid rgba(22,17,11,.22);background:#fff;font-family:var(--serif);font-size:17px;color:var(--ink)}
.nwl-row input:focus{outline:none;border-color:var(--clay);box-shadow:0 0 0 4px rgba(195,74,43,.16)}
.nwl-row button{flex:none;height:56px;padding:0 24px;border:0;border-radius:12px;background:var(--ink);color:var(--bone);font-family:var(--ui);font-weight:700;font-size:15.5px;cursor:pointer;transition:background .2s,transform .15s}
.nwl-row button:hover,.nwl-row button:focus-visible{background:var(--clay)}
.nwl-row button:active{transform:scale(.98)}
.nwl-note{font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;color:var(--stone-d);margin:16px 0 0}
.nwl-msg{font-family:var(--serif);font-size:16px;margin:12px 0 0;color:var(--clay)}
.nwl-hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);opacity:0}
@media(max-width:900px){.nwl-in{grid-template-columns:1fr}}
@media(max-width:480px){.nwl-row{flex-direction:column}.nwl-row button{width:100%}}

/* ---------- FOOTER: closing line + actions, four columns, social icons, giant wordmark ---------- */
footer.ftr{position:relative;overflow:hidden;background:var(--ink);color:var(--bone);padding:clamp(64px,8vw,112px) 0 0;border:0;--soft:rgba(243,234,218,.78)}
.ftr::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--ochre) 0 33.3%,var(--clay) 33.3% 66.6%,var(--cobalt) 66.6%)}
.ftr-top{display:flex;justify-content:space-between;align-items:flex-end;gap:28px 40px;flex-wrap:wrap;padding-bottom:clamp(40px,5vw,64px);border-bottom:1px solid rgba(243,234,218,.12)}
.ftr-line{font-family:var(--display);font-weight:600;font-size:clamp(42px,6.4vw,92px);line-height:.95;letter-spacing:-.035em;margin:0;max-width:11ch}
.ftr-line em{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--ochre);letter-spacing:-.01em}
.ftr-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ftr-actions .btn{min-height:52px;display:inline-flex;align-items:center;padding-inline:26px}
.ftr-ghost{display:inline-flex;align-items:center;min-height:52px;padding:0 24px;border:1.5px solid rgba(243,234,218,.35);border-radius:2px;font-family:var(--mono);font-weight:700;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--bone);transition:background .2s,color .2s,border-color .2s}
.ftr-ghost:hover,.ftr-ghost:focus-visible{background:var(--bone);color:var(--ink);border-color:var(--bone)}
.ftr-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr)) minmax(0,1.3fr);gap:36px clamp(24px,4vw,56px);padding-block:clamp(40px,5vw,64px)}
.ftr-logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.01em;color:var(--bone)}
.ftr-logo .dot{width:12px;height:12px;border-radius:50%;background:var(--ochre);box-shadow:0 0 0 4px rgba(227,154,44,.18)}
.ftr-logo img{max-height:56px;width:auto}
.ftr-brand p{font-family:var(--serif);font-size:17px;line-height:1.55;color:var(--soft);max-width:36ch;margin:16px 0 22px}
.ftr-social{display:flex;gap:10px;list-style:none;margin:0;padding:0}
.ftr-social a{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1.5px solid rgba(243,234,218,.25);color:var(--bone);transition:background .2s,color .2s,border-color .2s,transform .2s}
.ftr-social svg{width:20px;height:20px}
.ftr-social a:hover,.ftr-social a:focus-visible{background:var(--ochre);border-color:var(--ochre);color:var(--ink);transform:translateY(-3px)}
.ftr-h{font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ochre);margin:6px 0 18px}
.ftr-col ul{list-style:none;margin:0;padding:0}
.ftr-col li{margin:0 0 12px}
.ftr-col a{font-family:var(--ui);font-weight:500;font-size:16.5px;color:rgba(243,234,218,.88);background:linear-gradient(var(--ochre),var(--ochre)) 0 100%/0 2px no-repeat;padding-bottom:2px;transition:color .2s,background-size .25s}
.ftr-col a:hover,.ftr-col a:focus-visible{color:var(--bone);background-size:100% 2px}
.ftr-visit li{display:flex;align-items:flex-start;gap:12px;font-family:var(--serif);font-size:16.5px;line-height:1.5;color:var(--soft)}
.ftr-visit svg{width:20px;height:20px;flex:none;color:var(--ochre);margin-top:2px}
.ftr-visit a{font-family:var(--serif);font-size:16.5px;word-break:break-word}
.ftr-word{font-family:var(--display);font-weight:700;font-size:clamp(64px,16.5vw,290px);line-height:.82;letter-spacing:-.05em;white-space:nowrap;text-align:center;
  color:transparent;-webkit-text-stroke:1.5px rgba(243,234,218,.2);margin:clamp(8px,2vw,24px) 0 -.1em;user-select:none;pointer-events:none}
.ftr-word em{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-.02em;-webkit-text-stroke:0;color:var(--ochre)}
.ftr-bottom{position:relative;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 24px;padding-block:22px 28px;border-top:1px solid rgba(243,234,218,.12);font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--stone)}
.ftr-bottom__r{display:flex;gap:22px;flex-wrap:wrap}
.ftr-bottom a{color:var(--stone);transition:color .2s}
.ftr-bottom a:hover{color:var(--bone)}
.ftr-up{display:inline-flex;align-items:center;gap:6px}
.ftr-up svg{width:14px;height:14px}
@media(max-width:1000px){.ftr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
  .ftr-grid{grid-template-columns:1fr 1fr;gap:32px 20px}
  .ftr-brand,.ftr-visit{grid-column:1/-1}
  .ftr-actions{width:100%}
  .ftr-actions>*{flex:1;justify-content:center}
}
@media(max-width:480px){.nwl-row input{flex:none;width:100%}}
@media(max-width:700px){.upc::after{display:none}}

/* v7.8.1 PROGRAMS — calm warm sand (colour only in the icons), list layout by default */
.prg{background:#EADFCB;color:var(--ink);--soft:#4A4033;--k:var(--stone-d);--accent:var(--clay);--bar:var(--ochre)}
.prg::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='28' viewBox='0 0 56 28'%3E%3Cpath d='M0 21 L14 7 L28 21 L42 7 L56 21' fill='none' stroke='%23C9892A' stroke-opacity='.22' stroke-width='1.6'/%3E%3C/svg%3E")}
.prg::after{background:radial-gradient(closest-side,rgba(227,154,44,.24),rgba(227,154,44,0))}
.prg .prg-card:nth-child(3n+1) .prg-ico{background:var(--ochre);color:var(--ink)}
.prg .prg-card:nth-child(3n+2) .prg-ico{background:var(--cobalt);color:var(--bone)}
.prg .prg-card:nth-child(3n) .prg-ico{background:var(--clay);color:var(--bone)}
/* cards layout on sand */
.prg--cards .prg-card{background:#FBF6EC;border-color:rgba(22,17,11,.08);box-shadow:0 22px 44px -34px rgba(22,17,11,.5)}
.prg--cards .prg-more{color:var(--clay)}
.prg--cards a.prg-card:hover,.prg--cards a.prg-card:focus-visible{background:#fff}
.prg--cards a.prg-card:hover .prg-ico,.prg--cards a.prg-card:focus-visible .prg-ico{transform:rotate(-8deg)}
/* list layout: one programme per row, big names, description beside, no numbers */
.prg--list .prg-grid{display:block;border-top:1px solid rgba(22,17,11,.14)}
.prg--list .prg-card{display:grid;grid-template-columns:60px minmax(0,1fr) minmax(0,38ch) 48px;align-items:center;column-gap:clamp(18px,3vw,40px);
  padding:clamp(22px,2.4vw,30px) clamp(10px,1.4vw,20px);border:0;border-bottom:1px solid rgba(22,17,11,.14);border-radius:0;background:transparent;box-shadow:none;
  transition:background .3s,border-radius .3s,padding .3s}
.prg--list .prg-ico{width:60px;height:60px}
.prg--list .prg-ico svg{width:28px;height:28px}
.prg--list .prg-name{font-size:clamp(24px,3vw,40px);line-height:1.08;letter-spacing:-.025em;margin:0;transition:transform .35s cubic-bezier(.2,.8,.2,1),color .3s}
.prg--list .prg-desc{font-size:17px;line-height:1.5;margin:0;color:#4A4033}
.prg--list .prg-more{grid-column:4;padding:0;margin:0;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1.5px solid rgba(22,17,11,.2);color:var(--ink);transition:background .25s,color .25s,border-color .25s,transform .3s}
.prg--list .prg-more__t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.prg--list .prg-more .sx-arrow{width:20px;height:20px}
.prg--list a.prg-card:hover,.prg--list a.prg-card:focus-visible{background:#FBF6EC;border-radius:14px;transform:none;color:var(--ink);box-shadow:0 18px 40px -30px rgba(22,17,11,.45)}
.prg--list a.prg-card:hover .prg-name,.prg--list a.prg-card:focus-visible .prg-name{transform:translateX(8px);color:var(--clay)}
.prg--list a.prg-card:hover .prg-desc{color:#4A4033}
.prg--list a.prg-card:hover .prg-more,.prg--list a.prg-card:focus-visible .prg-more{background:var(--ink);border-color:var(--ink);color:var(--bone);transform:rotate(-30deg)}
.prg--list a.prg-card:hover .prg-ico{transform:scale(1.06)}
.prg--list div.prg-card:hover{background:rgba(251,246,236,.6)}
@media(max-width:900px){
  .prg--list .prg-card{grid-template-columns:52px minmax(0,1fr) 44px;row-gap:6px;align-items:start}
  .prg--list .prg-ico{width:52px;height:52px;grid-row:span 2}
  .prg--list .prg-ico svg{width:24px;height:24px}
  .prg--list .prg-name{grid-column:2;align-self:center}
  .prg--list .prg-desc{grid-column:2;grid-row:2}
  .prg--list .prg-more{grid-column:3;grid-row:1;width:44px;height:44px}
}
@media(max-width:520px){
  .prg--list .prg-card{grid-template-columns:44px minmax(0,1fr);column-gap:14px;padding:18px 4px}
  .prg--list .prg-ico{width:44px;height:44px}
  .prg--list .prg-ico svg{width:22px;height:22px}
  .prg--list .prg-name{font-size:22px}
  .prg--list .prg-desc{font-size:16px}
  .prg--list .prg-more{display:none}
}
.upc-grid--1{grid-template-columns:1fr}
.gstrip{padding-top:clamp(48px,6vw,88px)}

/* v7.9.2 — 60/30/10 colour balance: Upcoming and Newsletter on calm cream,
   strong colour only in the tickets and the sign-up card */
.upc{background:#F3EADA;--notch:#F3EADA;--soft:#4A4033;--k:var(--stone-d);--accent:var(--cobalt);--bar:var(--ochre)}
.upc::before{background:repeating-linear-gradient(135deg,rgba(201,137,42,.10) 0 2px,transparent 2px 22px)}
.upc::after{box-shadow:0 0 0 2px rgba(227,154,44,.25),0 0 0 48px rgba(227,154,44,.05),0 0 0 50px rgba(227,154,44,.18)}
.upc-card{box-shadow:0 26px 50px -30px rgba(22,17,11,.5)}
.upc-card:not(.upc-card--lead){background:#FFFDF8;box-shadow:0 22px 44px -30px rgba(22,17,11,.45)}
.upc-card:hover,.upc-card:focus-within{box-shadow:0 34px 60px -30px rgba(22,17,11,.55)}
.nwl,.nwl--clay,.nwl--ochre,.nwl--cobalt{background:#EADFCB;color:var(--ink);--soft:#4A4033;--k:var(--stone-d);--accent:var(--clay);--bar:var(--ochre)}
.nwl::before,.nwl--ochre::before{filter:none;opacity:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23C34A2B' stroke-opacity='.13' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M8 10h10M13 5v10'/%3E%3Cpath d='M38 12h16'/%3E%3Cpath d='M6 42h14'/%3E%3Cpath d='M44 38v12M38 44h12'/%3E%3Cpath d='M26 26l4 4M30 26l-4 4'/%3E%3C/g%3E%3C/svg%3E")}
.nwl::after{box-shadow:0 0 0 2px rgba(195,74,43,.16),0 0 0 60px rgba(195,74,43,.04),0 0 0 62px rgba(195,74,43,.12)}
.nwl-points svg,.nwl--ochre .nwl-points svg{background:rgba(195,74,43,.12);color:var(--clay)}
.nwl-card{background:linear-gradient(150deg,#CB532E,#A93A1A);color:var(--bone)}
.nwl-card .nwl-note{color:rgba(243,234,218,.82)}
.nwl-card .nwl-msg{color:#FFD08A}
.nwl-row input{border-color:transparent}
.nwl-row input:focus{border-color:var(--ochre);box-shadow:0 0 0 4px rgba(227,154,44,.3)}
.nwl-row button{background:var(--ink)}
.nwl-row button:hover,.nwl-row button:focus-visible{background:#000}
.ptn{background:#F3EADA}

/* =====================================================================
   v7.10 — BRAND COLOURS on the warm design (client decision, 29 Oct 2026)
   Logo yellow #F5BB18 replaces the orange-gold; every red becomes brand
   yellow or black; blue stays as the 'urban' accent. Italic accent words
   are yellow text (deeper gold #E0A400 on cream so they stay readable).
   ===================================================================== */

:root{--ochre:#F5BB18}
.prg::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='28' viewBox='0 0 56 28'%3E%3Cpath d='M0 21 L14 7 L28 21 L42 7 L56 21' fill='none' stroke='%23E0A400' stroke-opacity='.28' stroke-width='1.6'/%3E%3C/svg%3E")!important}
.who::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23F5BB18' stroke-width='1.2' opacity='.6'%3E%3Cpath d='M0 60 L60 0 L120 60 L60 120 Z'/%3E%3Cpath d='M30 60 L60 30 L90 60 L60 90 Z'/%3E%3C/g%3E%3C/svg%3E")!important}
.upc::before{background:repeating-linear-gradient(135deg,rgba(245,187,24,.14) 0 2px,transparent 2px 22px)!important}
.upc::after{box-shadow:0 0 0 2px rgba(245,187,24,.35),0 0 0 48px rgba(245,187,24,.06),0 0 0 50px rgba(245,187,24,.22)!important}
.imp--ink .imp-panel{--p-ico:#F5BB18}
.prg .sx-title em,.who-lead b,.sto .sx-title em,.ptn .sx-title em,.nwl .sx-title em{color:var(--clay)}

:root{--clay:#16110B;--hl:linear-gradient(transparent 60%,rgba(245,187,24,.85) 60%,rgba(245,187,24,.85) 90%,transparent 90%)}
/* red words become yellow-marked words on cream */
.prg .sx-title em,.sto .sx-title em,.ptn .sx-title em,.nwl .sx-title em,.who-lead b{color:inherit!important;background:var(--hl);padding:0 .06em}
/* impact: yellow panel instead of red */
.imp--clay .imp-panel{--p-bg:linear-gradient(150deg,#F7C533 0%,#F5BB18 55%,#ECAE05 100%);--p-fg:#16110B;--p-soft:rgba(22,17,11,.76);--p-ico:#16110B;--p-arch:#16110B;--p-line:rgba(22,17,11,.14)}
.imp--clay .imp-title::after{background:#16110B}.imp--clay .imp-suf{color:#16110B}
.imp--clay .imp-arch__shape{box-shadow:0 0 0 10px rgba(22,17,11,.08),0 0 0 22px rgba(22,17,11,.05)}
/* programme icons: the red ones become black with a yellow icon */
.prg .prg-card:nth-child(3n) .prg-ico{background:#16110B!important;color:var(--ochre)!important}
.prg--list a.prg-card:hover .prg-name{color:#16110B!important;background:var(--hl)}
/* small event tickets: yellow date stub instead of red */
.upc-card:not(.upc-card--lead) .upc-stub{background:var(--ochre);color:#16110B;border-right-color:rgba(22,17,11,.35)}
.upc-when{background:rgba(245,187,24,.28);color:#16110B}
.upc-meta svg,.upc-more{color:#16110B}
.upc-card--lead .upc-meta svg,.upc-card--lead .upc-more{color:var(--ochre)}
/* photo-strip placeholder that was red */
.gtile--ph0{background:linear-gradient(135deg,#F5BB18,#B98500)}
/* newsletter: yellow sign-up card instead of red, marks in warm black */
.nwl-card{background:linear-gradient(150deg,#F7C533,#ECAE05)!important;color:#16110B!important}
.nwl-card .nwl-note{color:rgba(22,17,11,.74)!important}
.nwl-env{background:#16110B;color:var(--ochre)}
.nwl-points svg{background:var(--ochre)!important;color:#16110B!important}
.nwl::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%2316110B' stroke-opacity='.08' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M8 10h10M13 5v10'/%3E%3Cpath d='M38 12h16'/%3E%3Cpath d='M6 42h14'/%3E%3Cpath d='M44 38v12M38 44h12'/%3E%3Cpath d='M26 26l4 4M30 26l-4 4'/%3E%3C/g%3E%3C/svg%3E")!important}
.nwl::after{box-shadow:0 0 0 2px rgba(245,187,24,.35),0 0 0 60px rgba(245,187,24,.06),0 0 0 62px rgba(245,187,24,.22)!important}
/* small red touches: live dot, footer stripe middle, focus rings */
.nos-live{background:var(--ochre)}
.ftr::before{background:linear-gradient(90deg,var(--ochre) 0 50%,#3D53C9 50%)}
.who::after{background:radial-gradient(closest-side,rgba(245,187,24,.14),rgba(245,187,24,0))!important}
.jny::after{background:radial-gradient(closest-side,rgba(245,187,24,.12),rgba(245,187,24,0))}
/* words: no marker stroke — the word itself turns logo yellow */
.prg .sx-title em,.sto .sx-title em,.ptn .sx-title em,.nwl .sx-title em,.upc .sx-title em,.who-lead b{background:none!important;padding:0!important;color:#F5BB18!important}
.prg--list a.prg-card:hover .prg-name{background:none!important;color:#16110B!important}
:root{--acc-light:#E0A400;--lead-b:var(--ink)}
/* readability: italic words on cream in a deeper shade of the logo yellow; "preserve culture" in dark italic */
.prg .sx-title em,.sto .sx-title em,.ptn .sx-title em,.nwl .sx-title em,.upc .sx-title em{color:#E0A400!important}
.who-lead b{color:var(--ink)!important;font-weight:600}
/* main event ticket: brand yellow date stub (was blue) */
.upc-card--lead .upc-stub{background:var(--ochre);color:#16110B;border-right-color:rgba(22,17,11,.35)}
.upc-card--lead .upc-stub .upc-mon{color:#16110B}
/* v7.10.1 — Who we are and Our impact use the same heading style as every other section */
.who-title,.imp-title{font-weight:600;letter-spacing:-.03em}
.who-title em,.imp-title em{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-.01em}
.who-title em{color:#E0A400}
.imp--clay .imp-title em{color:#16110B}
.imp--ink .imp-title em{color:var(--ochre)}
.imp--none .imp-title em{color:#E0A400}
/* v7.10.3 — Programs without icons */
.prg--list .prg-card{grid-template-columns:minmax(0,1fr) minmax(0,38ch) 48px}
.prg--list .prg-more{grid-column:3}
@media(max-width:900px){
  .prg--list .prg-card{grid-template-columns:minmax(0,1fr) 44px}
  .prg--list .prg-name,.prg--list .prg-desc{grid-column:1}
  .prg--list .prg-more{grid-column:2;grid-row:1}
}
@media(max-width:520px){.prg--list .prg-card{grid-template-columns:1fr;padding:18px 2px}}
@media(max-width:620px){.prg--cards .prg-card{display:flex}.prg--cards .prg-name{margin-top:0}}
.prg--cards .prg-name{margin-top:0}

/* =====================================================================
   v7.11 — EVERY OTHER PAGE in the home page's design language
   (page opening, statement, photo + text, text, key facts, numbers panel,
   list, cards, people, photo strip, gallery, dates, archive, call to action,
   contact, maps). Calm cream/sand most of the time, dark for photos and the
   key-facts band, the brand colour only for the panel and call to action.
   ===================================================================== */
.pg-main{background:var(--bone)}
.x-bg-cream{background:var(--bone);color:var(--ink);--soft:#4A4033}
.x-bg-sand{background:#EADFCB;color:var(--ink);--soft:#4A4033}
.x-bg-dark{background:var(--ink);color:var(--bone);--soft:rgba(243,234,218,.8)}
.x-bg-cream .sx-title em,.x-bg-sand .sx-title em,.x-bg-cream .px-title em,.x-bg-sand .px-title em{color:var(--acc-light,var(--clay))}
.x-bg-dark .sx-title em,.x-bg-dark .px-title em{color:var(--ochre)}
.x-bg-dark .sx-kicker{color:var(--ochre)}
:is(.px-statement,.px-split,.px-text,.px-rows,.px-cards,.px-people,.px-gallery,.px-archive,.px-contact,.px-maps,.px-numbers,.px-cta){position:relative;padding-block:clamp(64px,8vw,112px)}
.px-split.x-bg-cream+.px-split.x-bg-cream,.px-split.x-bg-sand+.px-split.x-bg-sand{padding-top:0}

/* ---------- page opening ---------- */
.px-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;overflow:hidden;color:var(--bone);background:var(--ink);
  min-height:min(84svh,860px);padding-top:calc(var(--bxh-h,84px) + 24px)}
.px-hero--short{min-height:min(58svh,560px)}
.px-hero__media{position:absolute;inset:0;z-index:-1}
.px-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.px-hero__yt{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .8s}
.px-hero__yt.is-ready{opacity:1}
.px-hero__yt iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100%;min-width:177.78vh;transform:translate(-50%,-50%);border:0}
.px-hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,17,11,.62) 0%,rgba(22,17,11,.18) 34%,rgba(22,17,11,.35) 60%,rgba(22,17,11,.9) 100%),linear-gradient(90deg,rgba(22,17,11,.55),rgba(22,17,11,0) 65%)}
.px-hero:not(.has-img) .px-hero__media{background:radial-gradient(ellipse 60% 70% at 85% 10%,rgba(227,154,44,.22),transparent 70%),radial-gradient(ellipse 50% 60% at 0% 100%,rgba(61,83,201,.18),transparent 70%),var(--ink)}
.px-hero__in{position:relative;width:100%;padding-bottom:clamp(48px,7vw,96px)}
.px-hero__eyebrow{font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ochre);margin:0 0 18px}
.px-hero__title{font-family:var(--display);font-weight:600;font-size:clamp(44px,7vw,100px);line-height:.95;letter-spacing:-.035em;margin:0;max-width:15ch;text-wrap:balance}
.px-hero--short .px-hero__title{font-size:clamp(40px,5.6vw,80px)}
.px-hero__title em{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-.01em;color:var(--ochre)}
.px-hero__sub{font-family:var(--serif);font-size:clamp(18px,1.6vw,22px);line-height:1.5;color:rgba(243,234,218,.9);max-width:46ch;margin:22px 0 0}
.px-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.px-btns .btn{min-height:48px;display:inline-flex;align-items:center;padding-inline:22px}
.px-hero .btn-ghost{color:var(--bone);border-color:rgba(243,234,218,.45)}
:is(.x-bg-cream,.x-bg-sand) .btn-ghost{color:var(--ink);border-color:rgba(22,17,11,.35)}
:is(.x-bg-cream,.x-bg-sand) .btn-ghost:hover{background:var(--ink);color:var(--bone)}

/* ---------- statement ---------- */
.px-statement{overflow:hidden;isolation:isolate}
.px-statement::before{content:"";position:absolute;z-index:-1;top:-60px;right:-120px;width:min(640px,70vw);aspect-ratio:1;opacity:.5;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23D9A02A' stroke-width='1.2' opacity='.55'%3E%3Cpath d='M0 60 L60 0 L120 60 L60 120 Z'/%3E%3Cpath d='M30 60 L60 30 L90 60 L60 90 Z'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image:radial-gradient(closest-side,#000 25%,transparent 100%);mask-image:radial-gradient(closest-side,#000 25%,transparent 100%)}
.px-lead{position:relative;font-family:var(--serif);font-size:clamp(24px,2.7vw,40px);line-height:1.34;letter-spacing:-.005em;margin:0;max-width:34ch;color:var(--ink)}
.px-statement .sx-kicker{margin-bottom:34px}
.px-lead b{font-weight:600;font-style:italic;color:var(--lead-b,var(--clay))}

/* ---------- photo + text ---------- */
.px-split__g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5.5vw,96px);align-items:center}
.px-split__g--landscape{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.px-split__g--square{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.px-split__g.is-flip .px-media{order:2}
.px-media{position:relative;margin:0;border-radius:16px;overflow:hidden;background:#D9CBB2;box-shadow:0 34px 70px -40px rgba(22,17,11,.6)}
.px-media--portrait{aspect-ratio:4/5}.px-media--landscape{aspect-ratio:3/2}.px-media--square{aspect-ratio:1}
.px-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.px-media:hover img{transform:scale(1.03)}
.px-media.is-empty,.px-card__img.is-empty--0{background:linear-gradient(140deg,var(--ochre),#8A5B10)}
.px-media.is-empty::after,.px-card__img.is-empty::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(243,234,218,.22) 1.4px,transparent 1.6px);background-size:16px 16px}
.px-tag{display:inline-flex;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:var(--ochre);padding:6px 12px;border-radius:2px;margin-bottom:18px}
.px-title{font-family:var(--display);font-weight:600;font-size:clamp(32px,3.6vw,54px);line-height:1;letter-spacing:-.03em;margin:0 0 20px;text-wrap:balance}
.px-title em{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-.01em}
.px-copy{font-family:var(--serif);font-size:18px;line-height:1.62;color:var(--soft,#4A4033);max-width:58ch}
.px-copy p{margin:0 0 1em}.px-copy p:last-child{margin-bottom:0}
.px-copy b{font-weight:600;font-style:italic;color:var(--lead-b,var(--clay))}
.x-bg-dark .px-copy b{color:var(--ochre)}
.px-copy ul{list-style:none;margin:0 0 1em;padding:0;display:grid;gap:10px}
.px-copy li{position:relative;padding-left:22px}
.px-copy li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;background:var(--ochre);transform:rotate(45deg)}
.px-copy--lg{font-size:clamp(18px,1.45vw,20px)}
.px-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:28px 0 0;max-width:560px;border-top:1px solid rgba(22,17,11,.16)}
.px-meta div{padding:14px 18px 14px 0;border-bottom:1px solid rgba(22,17,11,.1);min-width:0}
.px-meta div:nth-child(even){padding-left:18px;border-left:1px solid rgba(22,17,11,.1)}
.px-meta dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone-d);margin-bottom:4px}
.px-meta dd{margin:0;font-family:var(--display);font-weight:600;font-size:16.5px;line-height:1.3}
.x-bg-dark .px-meta,.x-bg-dark .px-meta div{border-color:rgba(243,234,218,.14)}
.x-bg-dark .px-meta dt{color:var(--stone)}
@media(max-width:900px){
  .px-split__g,.px-split__g--landscape,.px-split__g--square{grid-template-columns:1fr;gap:30px}
  .px-split__g.is-flip .px-media{order:0}
  .px-media--portrait{aspect-ratio:4/4.4}
}

/* ---------- text ---------- */
.px-text__g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,88px);align-items:start}
.px-text__head{position:sticky;top:110px}
@media(max-width:900px){.px-text__g{grid-template-columns:1fr}.px-text__head{position:static}}

/* ---------- key facts band ---------- */
.px-facts{background:var(--ink);color:var(--bone);border-top:1px solid rgba(243,234,218,.08)}
.px-facts__g{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.px-fact{position:relative;display:flex;flex-direction:column;gap:6px;padding:26px 24px;border-left:1px solid rgba(243,234,218,.12)}
.px-fact:first-child{border-left:0;padding-left:0}
.px-fact__k{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ochre)}
.px-fact__v{font-family:var(--display);font-weight:600;font-size:clamp(16px,1.3vw,19px);line-height:1.3;color:var(--bone)}
.px-copybtn{align-self:flex-start;margin-top:8px;font-family:var(--ui);font-weight:600;font-size:13px;color:var(--ink);background:var(--ochre);border:0;border-radius:999px;padding:6px 14px;min-height:32px;cursor:pointer}
.px-copybtn.is-done{background:var(--bone)}
@media(max-width:640px){
  .px-facts__g{grid-template-columns:1fr 1fr}
  .px-fact{border-left:0;padding:18px 12px 18px 0;border-bottom:1px solid rgba(243,234,218,.1)}
  .px-fact:nth-child(even){padding-left:14px;border-left:1px solid rgba(243,234,218,.1)}
}

/* ---------- numbers panel (the page's one brand-colour block) ---------- */
.px-panel{position:relative;overflow:hidden;isolation:isolate;border-radius:clamp(20px,2.4vw,32px);padding:clamp(36px,5vw,72px) clamp(22px,4.4vw,64px);
  background:linear-gradient(150deg,#F2C443 0%,var(--ochre) 55%,#D99A06 100%);color:var(--ink)}
.px-panel::before,.px-panel::after{content:"";position:absolute;z-index:-1;width:420px;height:420px;border-radius:50%;pointer-events:none;opacity:.5;background:repeating-radial-gradient(circle,transparent 0 22px,rgba(22,17,11,.14) 22px 23.5px)}
.px-panel::before{left:-210px;top:-210px}.px-panel::after{right:-210px;bottom:-210px}
.px-panel .sx-head{justify-content:center;text-align:center}
.px-panel .sx-head__txt{margin:0 auto}
.px-panel .sx-kicker{color:rgba(22,17,11,.7)}
.px-panel .sx-title{color:var(--ink);max-width:18ch;margin-inline:auto}
.px-panel .sx-title::after{background:var(--ink);margin-inline:auto}
.px-panel .sx-title em{color:var(--ink)}
.px-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:28px 32px}
.px-num{text-align:center}
.px-num__fig{font-family:var(--display);font-weight:800;font-size:clamp(44px,5vw,72px);line-height:.92;letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap}
.px-num__suf{font-size:.6em;margin-left:2px}
.px-num__lab{font-family:var(--ui);font-weight:500;font-size:15px;line-height:1.4;color:rgba(22,17,11,.78);max-width:24ch;margin:10px auto 0}

/* ---------- list ---------- */
.px-rows__list{border-top:1px solid rgba(22,17,11,.14)}
.px-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,38ch) 48px;align-items:center;column-gap:clamp(18px,3vw,40px);padding:clamp(20px,2.3vw,28px) clamp(10px,1.4vw,20px);
  border-bottom:1px solid rgba(22,17,11,.14);color:inherit;transition:background .3s,border-radius .3s,box-shadow .3s}
div.px-row{grid-template-columns:minmax(0,1fr) minmax(0,38ch)}
.px-row__name{font-family:var(--display);font-weight:600;font-size:clamp(22px,2.6vw,34px);line-height:1.1;letter-spacing:-.025em;margin:0;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.px-row__desc{font-family:var(--serif);font-size:17px;line-height:1.5;margin:0;color:var(--soft)}
.px-row__go{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1.5px solid rgba(22,17,11,.2);transition:background .25s,color .25s,border-color .25s,transform .3s}
.px-row__go .sx-arrow{width:20px;height:20px}
a.px-row:hover,a.px-row:focus-visible{background:#FBF6EC;border-radius:14px;box-shadow:0 18px 40px -30px rgba(22,17,11,.45)}
a.px-row:hover .px-row__name{transform:translateX(8px)}
a.px-row:hover .px-row__go{background:var(--ink);border-color:var(--ink);color:var(--bone);transform:rotate(-30deg)}
@media(max-width:900px){
  .px-row{grid-template-columns:minmax(0,1fr) 44px;row-gap:6px}
  div.px-row{grid-template-columns:1fr}
  .px-row__desc{grid-column:1}
  .px-row__go{grid-column:2;grid-row:1/span 2;width:44px;height:44px}
}
@media(max-width:520px){.px-row{grid-template-columns:1fr;padding:18px 2px}.px-row__go{display:none}}

/* ---------- cards ---------- */
.px-cards__g{display:grid;grid-template-columns:repeat(var(--c,3),minmax(0,1fr));gap:20px}
.px-cards__g--2{--c:2}.px-cards__g--3{--c:3}.px-cards__g--4{--c:4}
.px-card{position:relative;display:flex;flex-direction:column;min-width:0;background:#FBF6EC;border-radius:16px;overflow:hidden;color:var(--ink);
  box-shadow:0 1px 0 rgba(22,17,11,.06),0 22px 44px -34px rgba(22,17,11,.55);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.x-bg-cream .px-card{background:#FFFDF8}
.px-card:hover,.px-card:focus-within{transform:translateY(-4px);box-shadow:0 1px 0 rgba(22,17,11,.06),0 30px 54px -34px rgba(22,17,11,.6)}
.px-card__img{position:relative;aspect-ratio:4/3;overflow:hidden;background:#D9CBB2}
.px-card__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.px-card:hover .px-card__img img{transform:scale(1.05)}
.px-card__img.is-empty--1{background:linear-gradient(140deg,#2A2117,var(--ink))}
.px-card__img.is-empty--2{background:linear-gradient(140deg,#D9CBB2,#A99878)}
.px-card__body{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:20px 22px 22px;flex:1}
.px-card__tag{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc-light,var(--clay))}
.px-card__title{font-family:var(--display);font-weight:600;font-size:20px;line-height:1.18;letter-spacing:-.015em;margin:0;padding-right:36px}
.px-card__title a{color:inherit}
.px-card__title a::after{content:"";position:absolute;inset:0;z-index:1}
.px-card a.px-card__title::after{display:none}
.px-card__meta{font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;color:var(--stone-d);margin:0}
.px-card__go{position:absolute;right:20px;bottom:20px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--bone);transition:background .2s,color .2s,transform .3s}
.px-card__go .sx-arrow{width:16px;height:16px}
.px-card:hover .px-card__go{background:var(--ochre);color:var(--ink);transform:rotate(-30deg)}
a.px-card{color:inherit}
@media(max-width:1000px){.px-cards__g--4{--c:2}.px-cards__g--3{--c:2}}
@media(max-width:600px){.px-cards__g{--c:1!important}}

/* ---------- people ---------- */
.px-people__g{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:36px 22px}
.px-person{margin:0}
.px-person__ph{position:relative;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:#D9CBB2}
.px-person__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.px-person:hover .px-person__ph img{transform:scale(1.04)}
.px-person__ph.is-empty{display:grid;place-items:center;background:linear-gradient(150deg,#F2C443,var(--ochre))}
.px-person__ph.is-empty span{font-family:var(--display);font-weight:700;font-size:72px;color:var(--ink);opacity:.85}
.px-person figcaption{display:flex;flex-direction:column;gap:4px;padding-top:16px}
.px-person__name{font-family:var(--display);font-weight:600;font-size:20px;line-height:1.2;letter-spacing:-.01em}
.px-person__role{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc-light,var(--clay))}
.px-person__bio{font-family:var(--serif);font-size:15.5px;line-height:1.5;color:var(--soft);margin-top:6px}
@media(max-width:520px){.px-people__g{grid-template-columns:1fr 1fr;gap:28px 14px}.px-person__name{font-size:17px}.px-person__ph.is-empty span{font-size:52px}}

/* ---------- photo strip & gallery ---------- */
.px-strip{padding-block:clamp(20px,3vw,32px)}
.px-gallery__g{columns:3 260px;column-gap:12px}
.px-gi{display:block;margin:0 0 12px;break-inside:avoid;border-radius:12px;overflow:hidden;position:relative}
.px-gi img{display:block;width:100%;height:auto;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.px-gi:hover img{transform:scale(1.04)}
@media(max-width:520px){.px-gallery__g{columns:2;column-gap:8px}.px-gi{margin-bottom:8px;border-radius:8px}}

/* ---------- dates (same tickets as the home page) ---------- */
.px-events{padding-block:clamp(64px,8vw,112px)}

/* ---------- archive ---------- */
.px-filters{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;margin:-12px 0 32px}
.px-filter{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.px-filter__k{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone-d)}
.px-filter__count{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:var(--stone-d)}
.px-archive .chips{display:flex;flex-wrap:wrap;gap:8px}
.px-archive .chip{font-family:var(--ui);font-weight:600;font-size:14px;color:var(--ink);background:transparent;border:1.5px solid rgba(22,17,11,.2);border-radius:999px;padding:7px 14px;min-height:38px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.px-archive .chip:hover{border-color:var(--ink)}
.px-archive .chip.active{background:var(--ink);border-color:var(--ink);color:var(--bone)}
.px-archive .arch-card.hide{display:none}
.px-play{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:rgba(22,17,11,.65);z-index:1}
.px-play::after{content:"";position:absolute;left:22px;top:18px;border-style:solid;border-width:10px 0 10px 16px;border-color:transparent transparent transparent var(--bone)}

/* ---------- call to action ---------- */
.px-cta{background:var(--bone)}
.px-cta__panel{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:28px 48px;flex-wrap:wrap;
  border-radius:clamp(20px,2.4vw,32px);padding:clamp(36px,5vw,64px)}
.px-cta--yellow .px-cta__panel{background:linear-gradient(150deg,#F2C443 0%,var(--ochre) 55%,#D99A06 100%);color:var(--ink)}
.px-cta--dark .px-cta__panel{background:linear-gradient(150deg,#2A2117,var(--ink));color:var(--bone)}
.px-cta--plain .px-cta__panel{background:#EADFCB;color:var(--ink)}
.px-cta__panel::after{content:"";position:absolute;z-index:-1;right:-180px;top:-200px;width:460px;height:460px;border-radius:50%;pointer-events:none;opacity:.55;
  background:repeating-radial-gradient(circle,transparent 0 22px,rgba(22,17,11,.13) 22px 23.5px)}
.px-cta--dark .px-cta__panel::after{background:repeating-radial-gradient(circle,transparent 0 22px,rgba(243,234,218,.08) 22px 23.5px)}
.px-cta__txt{max-width:640px}
.px-cta__title{font-family:var(--display);font-weight:600;font-size:clamp(32px,4vw,58px);line-height:.98;letter-spacing:-.03em;margin:0}
.px-cta__title em{font-family:var(--serif);font-style:italic;font-weight:500}
.px-cta--dark .px-cta__title em{color:var(--ochre)}
.px-cta__txt p{font-family:var(--serif);font-size:clamp(17px,1.4vw,20px);line-height:1.5;margin:14px 0 0;max-width:52ch;opacity:.86}
.px-cta .px-btns{margin-top:0}
.btn-ink{background:var(--ink);color:var(--bone)}
.btn-ink:hover{background:#000;color:var(--bone)}
.px-cta .btn-line{border:1.5px solid currentColor;color:inherit;background:transparent}
.px-cta--yellow .btn-line:hover{background:var(--ink);color:var(--ochre);border-color:var(--ink)}
.px-cta--dark .btn-line:hover{background:var(--bone);color:var(--ink)}

/* ---------- contact ---------- */
.px-contact__g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5vw,80px);align-items:start}
.px-cdets{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:18px}
.px-cdet{display:flex;gap:16px;align-items:flex-start}
.px-cdet>svg{flex:none;width:44px;height:44px;padding:11px;border-radius:50%;background:var(--ochre);color:var(--ink)}
.px-cdet__k{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone-d);margin:2px 0 4px}
.px-cdet__v{display:block;font-family:var(--display);font-weight:600;font-size:18px;line-height:1.35;word-break:break-word}
.px-cdet__v a{color:inherit;border-bottom:2px solid var(--ochre)}
.px-contact__form{background:#FFFDF8;border-radius:20px;padding:clamp(24px,3.4vw,44px);box-shadow:0 1px 0 rgba(22,17,11,.06),0 40px 80px -50px rgba(22,17,11,.55)}
.px-contact .be5-form{display:grid;gap:16px}
.px-contact .be5-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.px-contact .be5-form label{display:flex;flex-direction:column;gap:8px;font-family:var(--ui);font-weight:600;font-size:14.5px;color:var(--ink)}
.px-contact .be5-form :is(input,select,textarea){font-family:var(--serif);font-size:17px;color:var(--ink);background:#fff;border:1.5px solid rgba(22,17,11,.18);border-radius:10px;padding:12px 14px;min-height:50px;width:100%}
.px-contact .be5-form textarea{min-height:150px;resize:vertical}
.px-contact .be5-form :is(input,select,textarea):focus{outline:none;border-color:var(--ochre);box-shadow:0 0 0 4px rgba(227,154,44,.22)}
.px-contact .be5-form .btn{justify-self:start;min-height:50px;padding-inline:26px;border:0;cursor:pointer}
.px-contact .be5-form__small{font-family:var(--mono);font-size:11.5px;color:var(--stone-d);margin:0}
@media(max-width:900px){.px-contact__g{grid-template-columns:1fr}}
@media(max-width:560px){.px-contact .be5-form__row{grid-template-columns:1fr}}

/* ---------- maps ---------- */
.px-maps__g{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.px-map{margin:0;background:#FBF6EC;border-radius:16px;overflow:hidden;box-shadow:0 22px 44px -34px rgba(22,17,11,.55)}
.px-map iframe{display:block;width:100%;aspect-ratio:4/3;border:0;filter:grayscale(.25)}
.px-map figcaption{display:flex;flex-direction:column;gap:6px;padding:18px 20px 20px}
.px-map strong{font-family:var(--display);font-weight:600;font-size:19px}
.px-map span{font-family:var(--serif);font-size:16px;color:#4A4033}
.px-map .sx-link{align-self:flex-start}

/* consecutive photo grids alternate cream and sand so the page never turns into one long block */
.px-gallery.x-bg-sand+.px-gallery.x-bg-sand{background:var(--bone)}
.px-gallery.x-bg-sand+.px-gallery.x-bg-sand+.px-gallery.x-bg-sand{background:#EADFCB}
@media(max-width:520px){.px-nums{grid-template-columns:1fr 1fr;gap:26px 14px}.px-num__fig{font-size:40px}}

/* ---------- a story (single post): comfortable reading ---------- */
.pg-story{background:var(--bone);color:var(--ink);padding-block:clamp(56px,7vw,96px)}
.pg-story .content{max-width:720px;margin:0 auto;padding-inline:clamp(20px,5vw,32px);font-family:var(--serif);font-size:clamp(18px,1.4vw,20px);line-height:1.7;color:#2E261C}
.pg-story .content>*:first-child{margin-top:0}
.pg-story .content p{margin:0 0 1.15em}
.pg-story .content>p:first-of-type{font-size:1.18em;line-height:1.55;color:var(--ink)}
.pg-story .content :is(h2,h3,h4){font-family:var(--display);font-weight:600;letter-spacing:-.02em;line-height:1.15;color:var(--ink);margin:1.8em 0 .6em}
.pg-story .content h2{font-size:clamp(26px,2.6vw,34px)}
.pg-story .content h3{font-size:clamp(21px,2vw,26px)}
.pg-story .content a{color:inherit;border-bottom:2px solid var(--ochre)}
.pg-story .content a:hover{background:rgba(227,154,44,.18)}
.pg-story .content :is(figure,.wp-block-image){margin:2em 0}
.pg-story .content img{border-radius:12px;height:auto;max-width:100%}
.pg-story .content figcaption{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--stone-d);margin-top:10px;text-align:left}
.pg-story .content blockquote{margin:2em 0;padding:4px 0 4px 26px;border-left:4px solid var(--ochre);font-size:1.15em;font-style:italic;color:var(--ink)}
.pg-story .content :is(ul,ol){padding-left:1.2em;margin:0 0 1.2em}
.pg-story .content li{margin-bottom:.4em}
.pg-story .content .wp-block-gallery{gap:10px!important}
.px-pager{padding-block:0 clamp(40px,5vw,64px)}
.px-pager .pager{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.px-pager .page-numbers{min-width:44px;height:44px;display:grid;place-items:center;padding:0 12px;border-radius:999px;font-family:var(--ui);font-weight:600;color:var(--ink);border:1.5px solid rgba(22,17,11,.2)}
.px-pager .page-numbers.current,.px-pager a.page-numbers:hover{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.px-search{padding-block:clamp(40px,5vw,64px)}

/* =====================================================================
   v7.12 — DONATE page: ways to give, where it goes, trust, questions
   ===================================================================== */
.dn-give,.dn-trust,.dn-faq{position:relative;padding-block:clamp(64px,8vw,112px)}
.dn-cards{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:20px;align-items:stretch}
.dn-card{position:relative;display:flex;flex-direction:column;background:#FFFDF8;border-radius:20px;padding:clamp(24px,2.6vw,34px);box-shadow:0 1px 0 rgba(22,17,11,.06),0 30px 60px -44px rgba(22,17,11,.55)}
.dn-card--main{background:var(--ink);color:var(--bone)}
.dn-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.dn-ico{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--ochre);color:var(--ink);flex:none}
.dn-ico svg{width:26px;height:26px}
.dn-badge{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--ochre);padding:6px 10px;border-radius:999px}
.dn-card__title{font-family:var(--display);font-weight:600;font-size:clamp(24px,2.2vw,30px);line-height:1.1;letter-spacing:-.02em;margin:0}
.dn-card__sub{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--stone-d);margin:8px 0 18px}
.dn-card--main .dn-card__sub{color:var(--ochre)}
.dn-card__txt{font-family:var(--serif);font-size:17px;line-height:1.55;color:#4A4033;margin:0 0 22px}
.dn-card__btn{margin-top:auto;align-self:flex-start;min-height:48px;display:inline-flex;align-items:center;padding-inline:22px}
.dn-lines{margin:0;display:grid;border-top:1px solid rgba(22,17,11,.12)}
.dn-card--main .dn-lines{border-color:rgba(243,234,218,.16)}
.dn-line{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(22,17,11,.1)}
.dn-card--main .dn-line{border-color:rgba(243,234,218,.12)}
.dn-line dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone-d)}
.dn-card--main .dn-line dt{color:var(--stone)}
.dn-line dd{margin:0;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-family:var(--display);font-weight:600;font-size:17px;line-height:1.3}
.dn-card--main .dn-line:first-child dd span{font-size:24px;letter-spacing:-.01em;color:var(--ochre)}
.dn-copy{margin:0}
.dn-steps{margin:20px 0 0;padding-left:1.2em;font-family:var(--serif);font-size:15.5px;line-height:1.5;color:rgba(243,234,218,.84);display:grid;gap:6px}
.dn-steps li::marker{color:var(--ochre);font-family:var(--display);font-weight:700}
.dn-after{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin:28px 0 0;font-family:var(--serif);font-size:17px;color:#4A4033}
.dn-after>svg{width:30px;height:30px;padding:6px;border-radius:50%;background:var(--ochre);color:var(--ink);flex:none}
.dn-trust__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.dn-trust__i{padding:clamp(22px,2.4vw,30px);border-radius:18px;background:#FFFDF8;box-shadow:0 1px 0 rgba(22,17,11,.06),0 22px 44px -36px rgba(22,17,11,.5)}
.dn-trust__i h3{font-family:var(--display);font-weight:600;font-size:21px;line-height:1.2;letter-spacing:-.01em;margin:18px 0 8px}
.dn-trust__i p{font-family:var(--serif);font-size:16.5px;line-height:1.55;color:#4A4033;margin:0}
.dn-trust__i .sx-link{margin-top:6px}
.dn-faq__g{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:start}
.dn-faq__list{border-top:1px solid rgba(22,17,11,.14)}
.dn-q{border-bottom:1px solid rgba(22,17,11,.14)}
.dn-q summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 4px;font-family:var(--display);font-weight:600;font-size:clamp(18px,1.6vw,21px);line-height:1.3}
.dn-q summary::-webkit-details-marker{display:none}
.dn-q__i{position:relative;flex:none;width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(22,17,11,.22);transition:background .2s,transform .3s}
.dn-q__i::before,.dn-q__i::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;margin:-1px 0 0 -7px;background:currentColor;border-radius:2px}
.dn-q__i::after{transform:rotate(90deg);transition:transform .3s}
.dn-q[open] .dn-q__i{background:var(--ochre);border-color:var(--ochre)}
.dn-q[open] .dn-q__i::after{transform:rotate(0)}
.dn-q p{font-family:var(--serif);font-size:17px;line-height:1.6;color:#4A4033;margin:0;padding:0 50px 22px 4px}
.dn-q summary:focus-visible{outline:2px solid var(--ochre);outline-offset:2px}
@media(max-width:1000px){.dn-cards{grid-template-columns:1fr 1fr}.dn-card--main{grid-column:1/-1}}
@media(max-width:700px){.dn-cards,.dn-trust__g,.dn-faq__g{grid-template-columns:1fr}.dn-line{grid-template-columns:1fr;gap:4px}}

/* =====================================================================
   v7.13 — FESTIVAL page
   ===================================================================== */
.fe-hero__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:32px 48px;align-items:end}
.fe-next{background:rgba(22,17,11,.62);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(243,234,218,.16);border-radius:18px;padding:22px 22px 18px;color:var(--bone)}
.fe-next__k{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ochre);margin:0 0 8px}
.fe-next__name{font-family:var(--display);font-weight:600;font-size:22px;line-height:1.15;letter-spacing:-.01em;margin:0 0 14px}
.fe-count{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px}
.fe-count span{display:flex;flex-direction:column;align-items:center;background:var(--ochre);color:var(--ink);border-radius:12px;padding:10px 4px}
.fe-count b{font-family:var(--display);font-weight:800;font-size:30px;line-height:1;font-variant-numeric:tabular-nums}
.fe-count small{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-top:4px}
.fe-count.is-done{display:block}
.fe-count__now{display:block;text-align:center;font-family:var(--display);font-weight:700;background:var(--ochre);color:var(--ink);border-radius:12px;padding:12px}
.fe-next__list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.fe-next__list li{display:flex;align-items:flex-start;gap:10px;font-family:var(--serif);font-size:15.5px;line-height:1.4;color:rgba(243,234,218,.9)}
.fe-next__list svg{width:18px;height:18px;flex:none;color:var(--ochre);margin-top:2px}
.fe-play{display:inline-flex;align-items:center;gap:10px;cursor:pointer;background:transparent}
.fe-play__i{width:20px;height:20px;border-radius:50%;background:var(--ochre);position:relative}
.fe-play__i::after{content:"";position:absolute;left:8px;top:6px;border-style:solid;border-width:4px 0 4px 6px;border-color:transparent transparent transparent var(--ink)}
@media(max-width:900px){.fe-hero__in{grid-template-columns:1fr}.fe-next{max-width:420px}}
.fe-what,.fe-lineup,.fe-eds,.fe-visit,.fe-involve{position:relative;padding-block:clamp(64px,8vw,112px)}
.fe-what__g,.fe-involve__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.fe-what__i,.fe-inv{display:flex;flex-direction:column;padding:clamp(22px,2.6vw,32px);border-radius:18px;background:#FFFDF8;color:var(--ink);box-shadow:0 1px 0 rgba(22,17,11,.06),0 22px 44px -36px rgba(22,17,11,.5)}
.fe-what__i h3,.fe-inv h3{font-family:var(--display);font-weight:600;font-size:23px;line-height:1.15;letter-spacing:-.015em;margin:18px 0 8px}
.fe-what__i p,.fe-inv p{font-family:var(--serif);font-size:16.5px;line-height:1.55;color:#4A4033;margin:0}
.fe-lineup__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.fe-act{position:relative;border-radius:16px;overflow:hidden;background:var(--ink);color:var(--bone);min-height:240px;display:flex;align-items:flex-end;isolation:isolate}
.fe-act--lead{grid-column:span 2;grid-row:span 2;min-height:500px}
.fe-act__img{position:absolute;inset:0;z-index:-1}
.fe-act__img img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.fe-act:hover .fe-act__img img{transform:scale(1.05)}
.fe-act__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,17,11,0) 35%,rgba(22,17,11,.88))}
.fe-act__img.is-empty{background:linear-gradient(140deg,var(--ochre),#8A5B10)}
.fe-act__txt{padding:20px 22px}
.fe-act h3{font-family:var(--display);font-weight:600;font-size:21px;line-height:1.15;letter-spacing:-.015em;margin:0}
.fe-act--lead h3{font-size:clamp(28px,3vw,40px)}
.fe-act p{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--ochre);margin:8px 0 0}
.fe-eds__g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.fe-ed{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:#FFFDF8;color:var(--ink);box-shadow:0 1px 0 rgba(22,17,11,.06),0 22px 44px -36px rgba(22,17,11,.5);transition:transform .3s}
.fe-ed:hover{transform:translateY(-4px)}
.fe-ed__img{position:relative;aspect-ratio:4/3;overflow:hidden;background:#D9CBB2}
.fe-ed__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.fe-ed:hover .fe-ed__img img{transform:scale(1.05)}
.fe-ed__year{position:absolute;left:14px;bottom:12px;font-family:var(--display);font-weight:800;font-size:44px;line-height:1;color:var(--bone);letter-spacing:-.04em;text-shadow:0 4px 18px rgba(0,0,0,.45)}
.fe-ed__txt{display:flex;flex-direction:column;gap:4px;padding:16px 18px 18px}
.fe-ed__txt strong{font-family:var(--display);font-weight:600;font-size:17px}
.fe-ed__txt span{font-family:var(--mono);font-size:11.5px;color:var(--stone-d)}
.fe-visit__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.fe-tips{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.fe-tips li{display:flex;gap:16px;align-items:flex-start}
.fe-tips strong{display:block;font-family:var(--display);font-weight:600;font-size:19px;margin:4px 0 4px}
.fe-tips p{font-family:var(--serif);font-size:16.5px;line-height:1.55;color:#4A4033;margin:0}
.fe-map{position:sticky;top:110px}
.fe-map iframe{aspect-ratio:1/1}
.fe-inv{transition:transform .3s,box-shadow .3s}
.fe-inv:hover{transform:translateY(-4px)}
.fe-inv--dark{background:var(--ink);color:var(--bone)}
.fe-inv--dark p{color:rgba(243,234,218,.8)}
.fe-inv__go{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:18px;font-family:var(--ui);font-weight:600;font-size:15px;color:var(--acc-light,var(--clay))}
.fe-inv--dark .fe-inv__go{color:var(--ochre)}
@media(max-width:1000px){.fe-eds__g{grid-template-columns:1fr 1fr}.fe-lineup__g{grid-template-columns:1fr 1fr}.fe-act--lead{grid-column:span 2;grid-row:auto;min-height:380px}}
@media(max-width:760px){.fe-what__g,.fe-involve__g,.fe-visit__g{grid-template-columns:1fr}.fe-map{position:static}}
@media(max-width:520px){.fe-lineup__g{grid-template-columns:1fr}.fe-act--lead{grid-column:auto;min-height:320px}.fe-act{min-height:220px}.fe-eds__g{grid-template-columns:1fr 1fr;gap:12px}.fe-ed__year{font-size:32px}}

/* =====================================================================
   v7.14 — CONTACT page
   ===================================================================== */
.ct-quick{position:relative;padding-block:clamp(56px,7vw,96px) clamp(40px,5vw,72px)}
.ct-quick__g{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.ct-q{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px 22px 54px;border-radius:18px;background:#FFFDF8;color:var(--ink);
  box-shadow:0 1px 0 rgba(22,17,11,.06),0 22px 44px -36px rgba(22,17,11,.5);transition:transform .3s,box-shadow .3s}
.ct-q:hover,.ct-q:focus-visible{transform:translateY(-4px);box-shadow:0 1px 0 rgba(22,17,11,.06),0 30px 54px -34px rgba(22,17,11,.6)}
.ct-q .dn-ico{margin-bottom:8px}
.ct-q strong{font-family:var(--display);font-weight:600;font-size:20px;line-height:1.2;letter-spacing:-.01em}
.ct-q__t{font-family:var(--serif);font-size:15.5px;line-height:1.5;color:#4A4033}
.ct-q__go{position:absolute;left:22px;bottom:18px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--bone);transition:background .2s,color .2s,transform .3s}
.ct-q__go .sx-arrow{width:15px;height:15px}
.ct-q:hover .ct-q__go{background:var(--ochre);color:var(--ink);transform:rotate(-30deg)}
.ct-q--wa{background:#1F8F4E;color:#fff}
.ct-q--wa .dn-ico{background:#fff;color:#1F8F4E}
.ct-q--wa .ct-q__t{color:rgba(255,255,255,.88)}
.ct-q--wa .ct-q__go{background:#fff;color:#1F8F4E}
.ct-main{padding-block:clamp(56px,7vw,96px)}
.ct-social{margin-top:26px;display:flex;flex-direction:column;gap:10px}
.ct-social .ftr-social a{border-color:rgba(22,17,11,.22);color:var(--ink)}
.ct-social .ftr-social a:hover{background:var(--ochre);border-color:var(--ochre)}

/* =====================================================================
   v7.15 — PRODUCTION (show) pages: poster opening, story, cast and credits,
   photos, book this show, other productions
   ===================================================================== */
.sh-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--bone);padding:calc(var(--bxh-h,84px) + clamp(32px,5vw,64px)) 0 clamp(56px,7vw,96px)}
.sh-hero__bg{position:absolute;inset:-40px;z-index:-2;opacity:.35;filter:blur(28px) saturate(1.2)}
.sh-hero__bg img{width:100%;height:100%;object-fit:cover}
.sh-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:
  conic-gradient(from 160deg at 22% -12%,transparent 0deg,rgba(255,236,190,.10) 8deg,rgba(255,236,190,.03) 22deg,transparent 30deg),
  linear-gradient(180deg,rgba(22,17,11,.55),rgba(22,17,11,.82))}
.sh-hero__g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5.5vw,96px);align-items:center}
.sh-poster{position:relative;margin:0;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:linear-gradient(140deg,var(--ochre),#8A5B10);box-shadow:0 50px 90px -40px rgba(0,0,0,.9),0 0 0 1px rgba(243,234,218,.08);max-width:520px;width:100%;transform:rotate(-1.2deg)}
.sh-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sh-status{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:6px 12px;border-radius:999px;background:rgba(243,234,218,.12);color:var(--bone);margin:0 0 16px}
.sh-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.sh-status--soon{background:var(--ochre);color:var(--ink)}
.sh-status--soon::before{animation:nosPulse 2s ease-out infinite}
.sh-title{font-family:var(--display);font-weight:600;font-size:clamp(44px,6vw,88px);line-height:.95;letter-spacing:-.035em;margin:0;text-wrap:balance}
.sh-title em{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--ochre);letter-spacing:-.01em}
.sh-sub{font-family:var(--serif);font-size:clamp(18px,1.5vw,21px);line-height:1.55;color:rgba(243,234,218,.88);max-width:46ch;margin:20px 0 0}
.sh-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:28px 0 0;max-width:560px;border-top:1px solid rgba(243,234,218,.16)}
.sh-facts div{padding:14px 18px 14px 0;border-bottom:1px solid rgba(243,234,218,.1);min-width:0}
.sh-facts div:nth-child(even){padding-left:18px;border-left:1px solid rgba(243,234,218,.1)}
.sh-facts dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);margin-bottom:4px}
.sh-facts dd{margin:0;font-family:var(--display);font-weight:600;font-size:16.5px;line-height:1.3}
@media(max-width:900px){.sh-hero__g{grid-template-columns:1fr}.sh-poster{max-width:380px;transform:none}}
.sh-credits,.sh-book{position:relative;padding-block:clamp(64px,8vw,112px)}
.sh-credits__g{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:start}
.sh-credits__list{margin:0;border-top:1px solid rgba(22,17,11,.16)}
.sh-credits__list div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:20px;padding:16px 4px;border-bottom:1px solid rgba(22,17,11,.12)}
.sh-credits__list dt{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone-d);padding-top:4px}
.sh-credits__list dd{margin:0;font-family:var(--display);font-weight:600;font-size:clamp(17px,1.5vw,20px);line-height:1.35}
@media(max-width:800px){.sh-credits__g{grid-template-columns:1fr}.sh-credits__list div{grid-template-columns:1fr;gap:4px}}

/* =====================================================================
   v7.16 — ABOUT page
   ===================================================================== */
.ab-mv,.ab-vals{position:relative;padding-block:clamp(64px,8vw,112px)}
.ab-mv__g{display:grid;grid-template-columns:1fr;gap:clamp(24px,4vw,56px);align-items:center}
.ab-mv__g.has-img{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.ab-mv__cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ab-mv__g.has-img .ab-mv__cards{grid-template-columns:1fr}
.ab-mv__c{padding:clamp(24px,3vw,40px);border-radius:20px;background:#FFFDF8;box-shadow:0 1px 0 rgba(22,17,11,.06),0 26px 50px -38px rgba(22,17,11,.55)}
.ab-mv__c p{font-family:var(--serif);font-size:clamp(20px,1.9vw,26px);line-height:1.4;margin:0;color:var(--ink)}
.ab-mv__c--dark{background:var(--ink)}
.ab-mv__c--dark p{color:var(--bone)}
.ab-vals__g{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.ab-val{position:relative;padding:clamp(24px,2.8vw,34px);border-radius:18px;background:#EADFCB;overflow:hidden}
.ab-val__n{position:absolute;right:18px;top:6px;font-family:var(--display);font-weight:800;font-size:72px;line-height:1;color:rgba(22,17,11,.07)}
.ab-val h3{font-family:var(--display);font-weight:600;font-size:24px;letter-spacing:-.015em;margin:18px 0 8px}
.ab-val p{font-family:var(--serif);font-size:17px;line-height:1.55;color:#4A4033;margin:0}
.ab-team-more{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:36px}
.ab-team-more .btn{min-height:48px;display:inline-flex;align-items:center;padding-inline:22px}
@media(max-width:800px){.ab-mv__g.has-img,.ab-mv__cards{grid-template-columns:1fr}}

/* =====================================================================
   v7.17 — PROGRAMME pages (The Equation, Academy, Dance Lab, Exchange, Outreach…)
   ===================================================================== */
.pr-glance .fe-next__k{margin-bottom:12px}
.pr-next{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 12px;background:var(--ochre);color:var(--ink);border-radius:12px;padding:12px 14px;margin:0 0 14px}
.pr-next__k{grid-column:1/-1;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.pr-next strong{font-family:var(--display);font-weight:700;font-size:19px;line-height:1.2}
.pr-next__in{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;white-space:nowrap}
.pr-glance__list{margin:0;display:grid;gap:0}
.pr-glance__list>div{display:grid;grid-template-columns:20px 1fr;gap:2px 12px;padding:11px 0;border-top:1px solid rgba(243,234,218,.14)}
.pr-glance__list>div:first-child{border-top:0;padding-top:2px}
.pr-glance__list svg{grid-row:1/3;width:18px;height:18px;color:var(--ochre);margin-top:2px}
.pr-glance__list dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(243,234,218,.62)}
.pr-glance__list dd{margin:0;font-family:var(--serif);font-size:16px;line-height:1.4;color:var(--bone)}

.pr-how,.pr-join{position:relative;padding-block:clamp(64px,8vw,112px)}
.pr-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:20px;counter-reset:s}
.pr-step{position:relative;padding:clamp(24px,2.8vw,34px);border-radius:18px;background:#FFFDF8;box-shadow:0 1px 0 rgba(22,17,11,.06),0 22px 44px -36px rgba(22,17,11,.5)}
.pr-step__n{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--ink);color:var(--ochre);font-family:var(--display);font-weight:800;font-size:16px;font-variant-numeric:tabular-nums}
.pr-step:not(:last-child)::after{content:"";position:absolute;top:calc(clamp(24px,2.8vw,34px) + 22px);left:calc(clamp(24px,2.8vw,34px) + 58px);right:-20px;height:2px;background:repeating-linear-gradient(90deg,rgba(22,17,11,.22) 0 6px,transparent 6px 12px)}
.pr-step h3{font-family:var(--display);font-weight:600;font-size:22px;letter-spacing:-.015em;line-height:1.2;margin:20px 0 8px}
.pr-step p{font-family:var(--serif);font-size:17px;line-height:1.55;color:#4A4033;margin:0}

.pr-join__box{display:grid;grid-template-columns:minmax(0,1.5fr) auto;align-items:center;gap:28px 56px;background:var(--ink);color:var(--bone);border-radius:24px;padding:clamp(28px,4.5vw,60px);position:relative;overflow:hidden}
.pr-join__box::before{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;border:40px solid var(--ochre);opacity:.14}
.pr-join__box .sx-kicker{color:var(--ochre)}
.pr-join__box .sx-title{color:var(--bone);margin-bottom:12px}
.pr-join__box .sx-title em{color:var(--ochre)}
.pr-join__p{font-family:var(--serif);font-size:18px;line-height:1.55;color:rgba(243,234,218,.82);margin:0;max-width:56ch}
.pr-join__act{display:flex;flex-direction:column;align-items:flex-start;gap:16px;position:relative}
.pr-join__act .btn{min-height:52px;display:inline-flex;align-items:center;padding-inline:26px}
.pr-join__wa{color:var(--bone)}
@media(max-width:900px){.pr-steps{grid-template-columns:1fr}.pr-step:not(:last-child)::after{display:none}.pr-join__box{grid-template-columns:1fr}}

/* =====================================================================
   v7.18 — IMPACT page
   ===================================================================== */
.im-change,.im-progs,.im-where,.im-voice,.im-thanks{position:relative;padding-block:clamp(64px,8vw,112px)}
.im-change__g{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.im-ch{position:relative;padding:clamp(24px,2.8vw,36px);border-radius:18px;background:#FFFDF8;box-shadow:0 1px 0 rgba(22,17,11,.06),0 22px 44px -36px rgba(22,17,11,.5)}
.im-ch:not(:last-child)::after{content:"";position:absolute;right:-17px;top:50%;width:14px;height:14px;margin-top:-7px;border-top:2px solid rgba(22,17,11,.35);border-right:2px solid rgba(22,17,11,.35);transform:rotate(45deg);z-index:1}
.im-ch__n{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--acc-light,#E0A400);font-weight:700}
.im-ch h3{font-family:var(--display);font-weight:600;font-size:24px;letter-spacing:-.015em;margin:14px 0 10px}
.im-ch p{font-family:var(--serif);font-size:17.5px;line-height:1.55;color:#4A4033;margin:0}
.im-ch--end{background:var(--ochre)}
.im-ch--end .im-ch__n{color:var(--ink)}
.im-ch--end p{color:var(--ink)}

.im-progs__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.im-prog{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:#FFFDF8;color:var(--ink);text-decoration:none;box-shadow:0 1px 0 rgba(22,17,11,.06),0 22px 44px -36px rgba(22,17,11,.5);transition:transform .25s,box-shadow .25s}
a.im-prog:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(22,17,11,.06),0 30px 50px -34px rgba(22,17,11,.6)}
.im-prog__img{position:relative;margin:0;aspect-ratio:16/10;background:#EADFCB;overflow:hidden}
.im-prog__img img{width:100%;height:100%;object-fit:cover;display:block}
.im-prog__big{position:absolute;left:16px;bottom:14px;background:var(--ochre);color:var(--ink);font-family:var(--display);font-weight:800;font-size:clamp(26px,2.6vw,34px);line-height:1;padding:10px 14px;border-radius:12px;font-variant-numeric:tabular-nums}
.im-prog__b{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}
.im-prog__b h3{font-family:var(--display);font-weight:600;font-size:22px;letter-spacing:-.015em;margin:0 0 8px}
.im-prog__b p{font-family:var(--serif);font-size:16.5px;line-height:1.5;color:#4A4033;margin:0 0 16px}
.im-prog__go{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}

.im-where__g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:40px 64px;align-items:center}
.im-where__count{display:flex;align-items:baseline;gap:14px;margin:28px 0 0}
.im-where__count b{font-family:var(--display);font-weight:800;font-size:clamp(64px,7vw,96px);line-height:1;color:var(--ochre)}
.im-where__count span{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(243,234,218,.7);max-width:14ch}
.im-where__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.im-where__list li{display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border-radius:999px;border:1px solid rgba(243,234,218,.2);background:rgba(243,234,218,.05);font-family:var(--display);font-weight:600;font-size:18px;color:var(--bone)}
.im-where__list svg{width:18px;height:18px;color:var(--ochre)}

.im-voice__g{margin:0;display:grid;grid-template-columns:1fr;gap:40px;align-items:center;max-width:960px}
.im-voice__g.has-img{grid-template-columns:minmax(0,4fr) minmax(0,7fr);max-width:none}
.im-voice__img{border-radius:20px;overflow:hidden;aspect-ratio:4/5}
.im-voice__img img{width:100%;height:100%;object-fit:cover;display:block}
.im-voice__mark{display:block;font-family:var(--serif);font-size:120px;line-height:.6;color:var(--acc-light,#E0A400);height:54px}
.im-voice__q{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.6vw,36px);line-height:1.35;color:var(--ink)}
.im-voice__by{margin-top:24px;display:flex;flex-direction:column;gap:4px}
.im-voice__by strong{font-family:var(--display);font-weight:600;font-size:18px}
.im-voice__by span{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#6B5E4C}

.im-logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.im-logos li{display:flex;align-items:center;justify-content:center;min-height:110px;padding:18px;border-radius:16px;background:#FFFDF8;box-shadow:0 1px 0 rgba(22,17,11,.06)}
.im-logos a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:inherit;text-decoration:none}
.im-logos img{max-width:100%;max-height:64px;width:auto;height:auto;object-fit:contain}
.im-logos .ptn-word{font-family:var(--display);font-weight:700;font-size:18px;text-align:center;color:var(--ink)}
.im-thanks__act{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:32px}
.im-thanks__act .btn{min-height:50px;display:inline-flex;align-items:center;padding-inline:24px}
@media(max-width:1000px){.im-progs__g{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.im-change__g,.im-where__g,.im-voice__g.has-img{grid-template-columns:1fr}.im-ch:not(:last-child)::after{right:auto;left:50%;top:auto;bottom:-17px;margin:0 0 0 -7px;transform:rotate(135deg)}.im-voice__img{max-width:320px}}
@media(max-width:620px){.im-progs__g{grid-template-columns:1fr}.im-where__list li{font-size:16px;padding:11px 16px}}
@media(max-width:620px){.im-logos{grid-template-columns:1fr 1fr;gap:10px}.im-logos li{min-height:84px;padding:12px}}

/* =====================================================================
   v7.19 — STORIES (news page, topics, search, single story)
   ===================================================================== */
.sy-topics{position:relative;padding:22px 0;border-bottom:1px solid rgba(22,17,11,.08)}
.sy-topics__l{list-style:none;margin:0;padding:2px;display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sy-topics__l::-webkit-scrollbar{display:none}
.sy-topics__l a{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid rgba(22,17,11,.16);font-family:var(--ui);font-weight:600;font-size:15px;color:var(--ink);text-decoration:none;transition:background .2s,border-color .2s}
.sy-topics__l a span{font-family:var(--mono);font-size:11px;opacity:.55}
.sy-topics__l a:hover{border-color:var(--ink)}
.sy-topics__l a[aria-current]{background:var(--ink);border-color:var(--ink);color:var(--bone)}
.sy-topics__l a[aria-current] span{color:var(--ochre);opacity:1}
.sy-search{padding:36px 0 8px}
.sy-search__n{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#6B5E4C;margin:14px 0 0}

.sy-chip{display:inline-block;align-self:flex-start;background:var(--ochre);color:var(--ink);font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:5px 9px;border-radius:6px}
.sy-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:#6B5E4C}

.sy-feat{padding-block:clamp(48px,6vw,88px)}
.sy-feat__a{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,56px);align-items:center;color:var(--ink);text-decoration:none}
.sy-feat__img{position:relative;margin:0;border-radius:22px;overflow:hidden;aspect-ratio:16/11;background:#EADFCB;box-shadow:0 30px 60px -40px rgba(22,17,11,.6)}
.sy-feat__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.sy-feat__a:hover .sy-feat__img img{transform:scale(1.03)}
.sy-feat__new{position:absolute;left:18px;top:18px;background:var(--ink);color:var(--bone);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:8px 12px;border-radius:999px}
.sy-feat__b{display:flex;flex-direction:column;gap:16px}
.sy-feat__t{font-family:var(--display);font-weight:700;font-size:clamp(30px,3.4vw,48px);line-height:1.06;letter-spacing:-.025em;margin:0}
.sy-feat__ex{font-family:var(--serif);font-size:18px;line-height:1.6;color:#4A4033;margin:0}
.sy-feat__btn{align-self:flex-start;margin-top:6px}

.sy-list{position:relative;padding-block:clamp(64px,8vw,104px)}
.sy-list--more{padding-top:clamp(48px,6vw,80px)}
.sy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sy-card{display:flex}
.sy-card__a{display:flex;flex-direction:column;width:100%;border-radius:18px;overflow:hidden;background:#FFFDF8;color:var(--ink);text-decoration:none;box-shadow:0 1px 0 rgba(22,17,11,.06),0 22px 44px -36px rgba(22,17,11,.5);transition:transform .25s,box-shadow .25s}
.sy-card__a:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(22,17,11,.06),0 30px 50px -34px rgba(22,17,11,.6)}
.sy-card__a:focus-visible{outline:3px solid var(--ochre);outline-offset:3px}
.sy-card__img{margin:0;aspect-ratio:3/2;background:#EADFCB;overflow:hidden}
.sy-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.sy-card__a:hover .sy-card__img img{transform:scale(1.04)}
.sy-card__ph{display:grid;place-items:center;height:100%;color:rgba(22,17,11,.25)}
.sy-card__ph svg{width:44px;height:44px}
.sy-card__b{display:flex;flex-direction:column;gap:12px;flex:1;padding:22px 22px 24px}
.sy-card__t{font-family:var(--display);font-weight:600;font-size:21px;line-height:1.2;letter-spacing:-.015em;margin:0}
.sy-card__ex{font-family:var(--serif);font-size:16px;line-height:1.5;color:#4A4033;margin:0}
.sy-card .sy-meta{margin-top:auto;padding-top:6px}
.sy-more{display:flex;justify-content:center;margin-top:40px}
.sy-more__btn{min-height:52px;display:inline-flex;align-items:center;padding-inline:28px}
.sy-more__btn.is-loading{opacity:.6;pointer-events:none}
.sy-empty{padding-block:clamp(64px,8vw,104px)}

.sy-nl{position:relative;padding-block:clamp(56px,7vw,96px)}
.sy-nl__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 64px;align-items:center}
.sy-nl__p{font-family:var(--serif);font-size:18px;line-height:1.55;color:rgba(243,234,218,.8);margin:12px 0 0;max-width:46ch}
.sy-nl .nwl-form label{color:var(--bone)}
.sy-nl .nwl-row input{border-color:transparent}
.sy-nl .nwl-row button{background:var(--ochre);color:var(--ink)}
.sy-nl .nwl-row button:hover,.sy-nl .nwl-row button:focus-visible{background:#fff}
.sy-nl .nwl-msg{color:var(--ochre)}
.sy-nl__note{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:rgba(243,234,218,.6);margin:12px 0 0}

.sy-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:120;pointer-events:none}
.sy-progress span{display:block;height:100%;background:var(--ochre);transform:scaleX(0);transform-origin:0 50%}
.sy-share{margin-top:clamp(40px,5vw,64px);padding-top:28px;border-top:1px solid rgba(22,17,11,.12)}
.sy-share__k{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#6B5E4C;margin:0 0 14px}
.sy-share__l{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.pg-story .sy-share__l a,.sy-share__copy{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid rgba(22,17,11,.18);background:transparent;font-family:var(--ui);font-weight:600;font-size:15px;color:var(--ink);text-decoration:none;cursor:pointer}
.pg-story .sy-share__l a:hover,.sy-share__copy:hover{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.sy-share__back{display:flex;flex-wrap:wrap;gap:12px 28px;margin:26px 0 0}
.pg-story .sy-share__back a{text-decoration:none}
.sy-next__h{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px}
@media(max-width:1000px){.sy-grid{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.sy-feat__a,.sy-nl__g{grid-template-columns:1fr}}
@media(max-width:620px){.sy-grid{grid-template-columns:1fr}.sy-card__a{flex-direction:row}.sy-card__img{flex:none;width:38%;aspect-ratio:auto;min-height:100%}.sy-card__b{padding:16px}.sy-card__t{font-size:17px}.sy-card__ex{display:none}.sy-card .sy-chip{font-size:9.5px}}
.pg-story .sy-share__l .sy-share__copy{position:static;height:auto;min-height:44px;margin:0;padding:0 18px;border-radius:999px;border:1.5px solid rgba(22,17,11,.18);background:transparent;font-family:var(--ui);font-weight:600;font-size:15px;letter-spacing:0;text-transform:none;color:var(--ink);line-height:1}
.pg-story .sy-share__l .sy-share__copy:hover{background:var(--ink);color:var(--bone)}
.sy-share__l li{margin:0;padding:0}
.sy-share__l li::before{display:none}
@media(max-width:700px){.sy-topics__l{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);padding-right:40px}}

/* =====================================================================
   v7.20 — CREATIVE CENTER page
   ===================================================================== */
.cc-spaces,.cc-happens,.cc-use,.cc-visit{position:relative;padding-block:clamp(64px,8vw,112px)}
.cc-spaces__g{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:22px}
.cc-space{margin:0;display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:#FFFDF8;box-shadow:0 1px 0 rgba(22,17,11,.06),0 22px 44px -36px rgba(22,17,11,.5)}
.cc-space__img{aspect-ratio:4/3;background:#EADFCB;overflow:hidden}
.cc-space__img img{width:100%;height:100%;object-fit:cover;display:block}
.cc-space figcaption{position:relative;padding:22px 24px 26px}
.cc-space__n{position:absolute;right:22px;top:-22px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ochre);color:var(--ink);font-family:var(--display);font-weight:800;font-size:15px}
.cc-space h3{font-family:var(--display);font-weight:600;font-size:22px;letter-spacing:-.015em;margin:0 0 8px}
.cc-space p{font-family:var(--serif);font-size:16.5px;line-height:1.5;color:#4A4033;margin:0}
.cc-happens__g{grid-template-columns:repeat(4,minmax(0,1fr))}
.cc-use__h{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 40px;margin-bottom:8px}
.cc-use__h .btn{min-height:50px;display:inline-flex;align-items:center;padding-inline:24px;margin-bottom:clamp(28px,3vw,44px)}
.cc-use__g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.cc-u{position:relative;display:flex;flex-direction:column;padding:26px 24px 56px;border-radius:18px;background:#FFFDF8;color:var(--ink);text-decoration:none;box-shadow:0 1px 0 rgba(22,17,11,.06),0 22px 44px -36px rgba(22,17,11,.5);transition:transform .25s,background .25s}
.cc-u:hover{transform:translateY(-4px)}
.cc-u h3{font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:-.01em;margin:16px 0 8px}
.cc-u p{font-family:var(--serif);font-size:16px;line-height:1.5;color:#4A4033;margin:0}
.cc-u__go{position:absolute;left:24px;bottom:20px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--bone)}
.cc-u__go svg{width:14px;height:14px}
.cc-visit__g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:40px 64px;align-items:stretch}
.cc-block{margin:0 0 28px}
.cc-block__k{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ochre);margin:0 0 12px}
.cc-block__k svg{width:18px;height:18px}
.cc-hours,.cc-dirs{margin:0}
.cc-hours>div,.cc-dirs>div{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:4px 18px;padding:12px 0;border-top:1px solid rgba(243,234,218,.14)}
.cc-hours dt,.cc-dirs dt{font-family:var(--display);font-weight:600;font-size:16px;color:var(--bone)}
.cc-hours dd,.cc-dirs dd{margin:0;font-family:var(--serif);font-size:16.5px;line-height:1.5;color:rgba(243,234,218,.8)}
.cc-map{position:relative;margin:0;min-height:420px;border-radius:22px;overflow:hidden;background:#2A2219}
.cc-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.2) contrast(1.05)}
.cc-map figcaption{position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;background:var(--ochre);color:var(--ink);font-family:var(--ui);font-weight:700;font-size:14px;padding:10px 14px;border-radius:999px}
.cc-map figcaption svg{width:16px;height:16px}
@media(max-width:1100px){.cc-happens__g,.cc-use__g{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.cc-spaces__g,.cc-visit__g{grid-template-columns:1fr}.cc-map{min-height:320px}}
@media(max-width:560px){.cc-happens__g,.cc-use__g{grid-template-columns:1fr}.cc-hours>div,.cc-dirs>div{grid-template-columns:1fr}}

/* =====================================================================
   v7.21 — PROGRAMS page
   ===================================================================== */
.pgm-all{position:relative;padding-block:clamp(64px,8vw,112px)}
.pgm-all__h{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 40px}
.pgm-filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:clamp(28px,3vw,44px)}
.pgm-filter__k{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#6B5E4C;margin-right:4px}
.pgm-filter button{min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid rgba(22,17,11,.18);background:transparent;font-family:var(--ui);font-weight:600;font-size:15px;color:var(--ink);cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.pgm-filter button:hover{border-color:var(--ink)}
.pgm-filter button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bone)}
.pgm-filter button:focus-visible{outline:3px solid var(--ochre);outline-offset:2px}
.pgm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.pgm-card{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:#FFFDF8;color:var(--ink);text-decoration:none;box-shadow:0 1px 0 rgba(22,17,11,.06),0 22px 44px -36px rgba(22,17,11,.5);transition:transform .25s,box-shadow .25s}
a.pgm-card:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(22,17,11,.06),0 30px 50px -34px rgba(22,17,11,.6)}
a.pgm-card:focus-visible{outline:3px solid var(--ochre);outline-offset:3px}
.pgm-card[hidden]{display:none}
.pgm-card__img{position:relative;margin:0;aspect-ratio:16/10;background:#EADFCB;overflow:hidden}
.pgm-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
a.pgm-card:hover .pgm-card__img img{transform:scale(1.04)}
.pgm-card__next{position:absolute;left:14px;top:14px;background:var(--ochre);color:var(--ink);font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:7px 11px;border-radius:999px}
.pgm-card__b{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px}
.pgm-card__meta{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.pgm-when,.pgm-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:5px 9px;border-radius:6px}
.pgm-when{background:var(--ink);color:var(--bone)}
.pgm-when svg{width:12px;height:12px;color:var(--ochre)}
.pgm-tag{background:#EFE5D2;color:#4A4033}
.pgm-card h3{font-family:var(--display);font-weight:600;font-size:22px;line-height:1.15;letter-spacing:-.015em;margin:0 0 8px}
.pgm-card__t{font-family:var(--serif);font-size:16.5px;line-height:1.5;color:#4A4033;margin:0 0 16px}
.pgm-card__go{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.pgm-card--big{grid-column:span 2;grid-row:span 2}
.pgm-card--big .pgm-card__img{aspect-ratio:auto;flex:1;min-height:320px}
.pgm-card--big h3{font-size:clamp(26px,2.6vw,36px)}
.pgm-card--big .pgm-card__t{font-size:18px}
.pgm-grid.is-filtered .pgm-card--big{grid-column:auto;grid-row:auto}
.pgm-grid.is-filtered .pgm-card--big .pgm-card__img{aspect-ratio:16/10;flex:none;min-height:0}
.pgm-grid.is-filtered .pgm-card--big h3{font-size:22px}
.pgm-none{font-family:var(--serif);font-size:18px;margin:24px 0 0}
@media(max-width:1000px){.pgm-grid{grid-template-columns:1fr 1fr}.pgm-card--big{grid-row:auto}.pgm-card--big .pgm-card__img{aspect-ratio:16/9;flex:none;min-height:0}}
@media(max-width:620px){.pgm-grid{grid-template-columns:1fr}.pgm-card--big{grid-column:auto}.pgm-filter{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-20px;padding-inline:20px}.pgm-filter::-webkit-scrollbar{display:none}.pgm-filter button{flex:none}}
.pgm-card--big .pgm-card__b{flex:none}
.pgm-card--wide3{grid-column:span 3;flex-direction:row}
.pgm-card--wide2{grid-column:span 2;flex-direction:row}
.pgm-card--wide3 .pgm-card__img,.pgm-card--wide2 .pgm-card__img{flex:none;width:42%;aspect-ratio:auto;min-height:240px}
.pgm-card--wide3 .pgm-card__b,.pgm-card--wide2 .pgm-card__b{justify-content:center;padding:28px 32px}
.pgm-card--wide3 h3{font-size:clamp(24px,2.2vw,30px)}
.pgm-grid.is-filtered .pgm-card--wide3,.pgm-grid.is-filtered .pgm-card--wide2{grid-column:auto;flex-direction:column}
.pgm-grid.is-filtered .pgm-card--wide3 .pgm-card__img,.pgm-grid.is-filtered .pgm-card--wide2 .pgm-card__img{width:auto;aspect-ratio:16/10;min-height:0}
@media(max-width:1000px){.pgm-card--wide3,.pgm-card--wide2{grid-column:span 2}}
@media(max-width:620px){.pgm-card--wide3,.pgm-card--wide2{grid-column:auto;flex-direction:column}.pgm-card--wide3 .pgm-card__img,.pgm-card--wide2 .pgm-card__img{width:auto;aspect-ratio:16/10;min-height:0}.pgm-card--wide3 .pgm-card__b,.pgm-card--wide2 .pgm-card__b{padding:20px 22px 22px}}
.pgm-card--wide3 .pgm-card__go,.pgm-card--wide2 .pgm-card__go{margin-top:8px}.pgm-card--wide3 .pgm-card__img,.pgm-card--wide2 .pgm-card__img{min-height:220px}

/* =====================================================================
   v7.22 — KUHAMAHAMA page
   ===================================================================== */
.kh-stats__g{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
.kh-stats__g>div{background:rgba(243,234,218,.06);border:1px solid rgba(243,234,218,.12);border-radius:12px;padding:14px 14px 12px}
.kh-stats__g dt{font-family:var(--display);font-weight:800;font-size:32px;line-height:1;color:var(--ochre);font-variant-numeric:tabular-nums}
.kh-stats__g dd{margin:6px 0 0;font-family:var(--serif);font-size:14.5px;line-height:1.35;color:rgba(243,234,218,.85)}
.pr-step--end{background:var(--ochre)}
.pr-step--end .pr-step__n{background:var(--ink);color:var(--ochre)}
.pr-step--end p{color:var(--ink)}
.kh-regions,.kh-book,.kh-leaders{position:relative;padding-block:clamp(64px,8vw,112px)}
.kh-regions__g{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:22px}
.kh-reg{position:relative;border-radius:22px;overflow:hidden;min-height:440px;display:flex;align-items:flex-end;background:#2A2219;isolation:isolate}
.kh-reg__img{position:absolute;inset:0;z-index:-2}
.kh-reg__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s}
.kh-reg:hover .kh-reg__img img{transform:scale(1.04)}
.kh-reg::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(22,17,11,0) 30%,rgba(22,17,11,.88) 85%)}
.kh-reg__b{padding:26px}
.kh-reg__n{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--ochre)}
.kh-reg__n svg{width:16px;height:16px}
.kh-reg h3{font-family:var(--display);font-weight:700;font-size:clamp(30px,3vw,42px);letter-spacing:-.025em;line-height:1;color:var(--bone);margin:10px 0 8px}
.kh-reg p{font-family:var(--serif);font-size:16.5px;color:rgba(243,234,218,.85);margin:0}
.kh-reg__d{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.kh-reg__d li{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:5px 9px;border-radius:6px;background:var(--ochre);color:var(--ink)}
.kh-regions__more{font-family:var(--serif);font-size:18px;color:rgba(243,234,218,.85);margin:32px 0 0}
.kh-regions__more .sx-link{color:var(--ochre)}
.kh-book{border-top:1px solid rgba(243,234,218,.08)}
.kh-book__g{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:40px 72px;align-items:center}
.kh-book__cover{margin:0;border-radius:6px 18px 18px 6px;overflow:hidden;aspect-ratio:3/4;max-width:420px;box-shadow:-14px 0 0 -6px rgba(245,187,24,.9),0 40px 70px -30px rgba(0,0,0,.8);transform:rotate(-2deg)}
.kh-book__cover img{width:100%;height:100%;object-fit:cover;display:block}
.kh-book__b .sy-chip{margin-bottom:14px}
.kh-book__t p{font-family:var(--serif);font-size:18px;line-height:1.6;color:rgba(243,234,218,.82);margin:0 0 14px;max-width:56ch}
.kh-book__b .px-btns{align-items:center;margin-top:20px}
.kh-book__b .sx-link{color:var(--bone)}
@media(max-width:1000px){.kh-regions__g{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.kh-book__g{grid-template-columns:1fr}.kh-book__cover{max-width:300px}}
@media(max-width:620px){.kh-regions__g{grid-template-columns:1fr}.kh-reg{min-height:340px}}

/* =====================================================================
   v7.23 — FESTIVAL EDITION pages + PAST EDITIONS timeline
   ===================================================================== */
.ed-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;overflow:hidden;color:var(--bone);background:var(--ink);min-height:min(90svh,920px);padding-top:calc(var(--bxh-h,84px) + 24px)}
.ed-hero__media{position:absolute;inset:0;z-index:-2}
.ed-hero__media img{width:100%;height:100%;object-fit:cover}
.ed-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(22,17,11,.7) 0%,rgba(22,17,11,.25) 35%,rgba(22,17,11,.55) 62%,rgba(22,17,11,.96) 100%)}
.ed-hero__in{position:relative;width:100%;padding-bottom:clamp(32px,4vw,48px)}
.ed-hero__year{display:block;font-family:var(--display);font-weight:800;font-size:clamp(110px,22vw,330px);line-height:.8;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:2px var(--ochre);opacity:.95;margin:0 0 -.12em -.04em;user-select:none}
.ed-hero__txt{position:relative;max-width:900px}
.ed-hero .px-hero__title{font-size:clamp(40px,5.4vw,78px)}
.ed-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;margin:clamp(28px,4vw,48px) 0 0;border-radius:18px;overflow:hidden;background:rgba(22,17,11,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(243,234,218,.14)}
.ed-facts>div{display:grid;grid-template-columns:20px 1fr;gap:2px 12px;padding:18px 20px;border-left:1px solid rgba(243,234,218,.12)}
.ed-facts>div:first-child{border-left:0}
.ed-facts svg{grid-row:1/3;width:18px;height:18px;color:var(--ochre);margin-top:2px}
.ed-facts dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(243,234,218,.62)}
.ed-facts dd{margin:0;font-family:var(--serif);font-size:16px;line-height:1.4;color:var(--bone)}

.ed-prog,.ed-also,.ed-next,.pe-time{position:relative;padding-block:clamp(64px,8vw,112px)}
.ed-acts{list-style:none;margin:0;padding:0;display:grid;gap:22px}
.ed-act{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);border-radius:22px;overflow:hidden;background:#FFFDF8;box-shadow:0 1px 0 rgba(22,17,11,.06),0 26px 50px -38px rgba(22,17,11,.55)}
.ed-act:nth-child(even){grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.ed-act:nth-child(even) .ed-act__img{order:2}
.ed-act__img{margin:0;min-height:300px;background:#EADFCB}
.ed-act__img img{width:100%;height:100%;object-fit:cover;display:block}
.ed-act__b{display:flex;flex-direction:column;justify-content:center;padding:clamp(26px,3.5vw,48px)}
.ed-act__n{align-self:flex-start;background:var(--ink);color:var(--ochre);font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;border-radius:6px}
.ed-act__who{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#6B5E4C;margin:16px 0 0}
.ed-act h3{font-family:var(--display);font-weight:700;font-size:clamp(26px,2.8vw,38px);line-height:1.05;letter-spacing:-.025em;margin:10px 0 12px}
.ed-act__t{font-family:var(--serif);font-size:18px;line-height:1.55;color:#4A4033;margin:0}
.ed-act__meta{font-family:var(--serif);font-size:15.5px;line-height:1.55;color:#4A4033;margin:16px 0 0;padding-top:14px;border-top:1px solid rgba(22,17,11,.1)}
.ed-act__meta strong{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-right:6px}
.ed-also__l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px}
.ed-also__l li{display:flex;flex-direction:column;gap:4px;padding:18px 0;border-top:1px solid rgba(22,17,11,.12)}
.ed-also__l strong{font-family:var(--display);font-weight:600;font-size:19px;line-height:1.25}
.ed-also__l span{font-family:var(--serif);font-size:16px;color:#6B5E4C}

.ed-nav{padding-block:clamp(36px,4vw,56px)}
.ed-nav__g{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ed-nav__a{display:flex;align-items:center;gap:18px;padding:14px;border-radius:18px;border:1px solid rgba(243,234,218,.14);color:var(--bone);text-decoration:none;transition:background .2s,border-color .2s}
.ed-nav__a:hover{background:rgba(243,234,218,.06);border-color:var(--ochre)}
.ed-nav__a--newer{flex-direction:row-reverse;text-align:right}
.ed-nav__img{flex:none;width:110px;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#2A2219}
.ed-nav__img img{width:100%;height:100%;object-fit:cover;display:block}
.ed-nav__t{display:flex;flex-direction:column;gap:2px}
.ed-nav__t small{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ochre)}
.ed-nav__t b{font-family:var(--display);font-weight:800;font-size:clamp(34px,4vw,52px);line-height:1;letter-spacing:-.03em}
.ed-nav__t em{font-style:normal;font-family:var(--serif);font-size:15px;color:rgba(243,234,218,.75)}
.ed-nav__all{margin:20px 0 0;text-align:center}
.ed-nav__all .sx-link{color:var(--bone)}
.ed-next__box{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:24px 40px;padding:clamp(26px,4vw,48px);border-radius:24px;background:var(--ink);color:var(--bone)}
.ed-next__box .sx-kicker{color:var(--ochre)}
.ed-next__box .sx-title{color:var(--bone);margin:0}
.ed-next__box .sx-title em{color:var(--ochre)}
.ed-next__p{font-family:var(--serif);font-size:18px;color:rgba(243,234,218,.8);margin:10px 0 0}
.ed-next__count{margin:0;min-width:260px}
.ed-next__box .btn{min-height:50px;display:inline-flex;align-items:center;padding-inline:24px}

.pe-line{list-style:none;margin:0;padding:0 0 0 34px;position:relative;display:grid;gap:22px}
.pe-line::before{content:"";position:absolute;left:9px;top:10px;bottom:10px;width:2px;background:repeating-linear-gradient(180deg,rgba(22,17,11,.25) 0 6px,transparent 6px 12px)}
.pe-item{position:relative}
.pe-item__dot{position:absolute;left:-34px;top:28px;width:20px;height:20px;border-radius:50%;background:var(--sand,#EADFCB);border:3px solid var(--ink)}
.pe-item.is-latest .pe-item__dot{background:var(--ochre);border-color:var(--ochre);box-shadow:0 0 0 6px rgba(245,187,24,.25)}
.pe-card{display:grid;grid-template-columns:1fr;border-radius:20px;overflow:hidden;background:#FFFDF8;color:var(--ink);text-decoration:none;box-shadow:0 1px 0 rgba(22,17,11,.06),0 22px 44px -36px rgba(22,17,11,.5);transition:transform .25s}
.pe-item.has-img .pe-card{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}
a.pe-card:hover{transform:translateX(4px)}
.pe-card__img{margin:0;min-height:220px;background:#EADFCB}
.pe-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.pe-card__b{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:clamp(22px,3vw,36px)}
.pe-card__y{font-family:var(--display);font-weight:800;font-size:clamp(40px,4.4vw,60px);line-height:.95;letter-spacing:-.04em}
.pe-item.is-latest .pe-card__y{color:var(--acc-light,#E0A400)}
.pe-card__ed{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#6B5E4C}
.pe-card p{font-family:var(--serif);font-size:17.5px;line-height:1.5;color:#4A4033;margin:6px 0 0}
.pe-card__go{margin-top:12px;display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.pe-item:not(.has-img) .pe-card{background:transparent;box-shadow:none;border:1.5px dashed rgba(22,17,11,.2)}
.pe-item:not(.has-img) .pe-card__y{font-size:clamp(32px,3.4vw,44px)}

@media(max-width:1000px){.ed-also__l{grid-template-columns:1fr 1fr}.ed-next__box{grid-template-columns:1fr}.ed-next__count{min-width:0;max-width:340px}}
@media(max-width:760px){.ed-act,.ed-act:nth-child(even){grid-template-columns:1fr}.ed-act:nth-child(even) .ed-act__img{order:0}.ed-act__img{min-height:0;aspect-ratio:16/10}.ed-nav__g{grid-template-columns:1fr}.ed-nav__a--newer{flex-direction:row;text-align:left}.pe-item.has-img .pe-card{grid-template-columns:1fr}.pe-card__img{min-height:0;aspect-ratio:16/9}}
@media(max-width:560px){.ed-also__l{grid-template-columns:1fr}.ed-facts{grid-template-columns:1fr 1fr}.ed-facts>div{border-left:0;border-top:1px solid rgba(243,234,218,.12)}.ed-facts>div:nth-child(-n+2){border-top:0}.ed-facts>div:nth-child(even){border-left:1px solid rgba(243,234,218,.12)}.ed-facts>div{padding:14px}.ed-hero__year{-webkit-text-stroke-width:1.5px}}
.ed-hero__year{margin:0 0 clamp(14px,2vw,24px) -.04em}
.ed-act__img,.pe-card__img{position:relative;overflow:hidden}
.ed-act__img img,.pe-card__img img{position:absolute;inset:0}
@media(max-width:760px){.ed-act__img img,.pe-card__img img{position:static}}
.ed-hero__year{margin-bottom:clamp(30px,3.6vw,52px)}

/* =====================================================================
   v7.24 — NOW SHOWING page
   ===================================================================== */
.ns-next__row{display:flex;align-items:center;gap:14px;margin:0 0 14px}
.ns-next .fe-next__name{margin:0 0 8px}
.ns-date{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:68px;height:72px;border-radius:14px;background:var(--ochre);color:var(--ink)}
.ns-date b{font-family:var(--display);font-weight:800;font-size:28px;line-height:1}
.ns-date small{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-top:4px;text-align:center}
.ns-when{background:rgba(245,187,24,.16)!important;color:var(--ochre)!important}
.ns-next__act{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:16px}
.ns-next__act .btn{min-height:44px;display:inline-flex;align-items:center;padding-inline:20px}
.ns-add{display:inline-flex;align-items:center;gap:8px;font-family:var(--ui);font-weight:600;font-size:14.5px;color:var(--bone);text-decoration:none;border-bottom:1px solid rgba(243,234,218,.35);padding-bottom:2px}
.ns-add svg{width:16px;height:16px;color:var(--ochre)}
.ns-add:hover{border-color:var(--ochre)}
.ns-feat,.ns-cal{position:relative;padding-block:clamp(64px,8vw,112px)}
.ns-feat__g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px 72px;align-items:center}
.ns-poster{margin:0;aspect-ratio:3/4;border-radius:18px;overflow:hidden;max-width:460px;background:#2A2219;box-shadow:0 40px 80px -40px rgba(0,0,0,.85);transform:rotate(-1.5deg)}
.ns-poster img{width:100%;height:100%;object-fit:cover;display:block}
.ns-feat__chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 16px}
.ns-feat__t{font-family:var(--display);font-weight:700;font-size:clamp(36px,4.4vw,64px);line-height:.98;letter-spacing:-.03em;color:var(--bone);margin:0 0 18px}
.ns-feat__t em{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--ochre)}
.ns-feat__p{font-family:var(--serif);font-size:18px;line-height:1.6;color:rgba(243,234,218,.82);margin:0 0 22px;max-width:58ch}
.ns-feat .px-btns{margin-top:26px}
.ns-feat .btn-ghost{color:var(--bone);border-color:rgba(243,234,218,.45)}
.ns-month{margin-top:clamp(28px,3vw,40px)}
.ns-month__h{font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#6B5E4C;margin:0 0 12px;padding-bottom:10px;border-bottom:2px solid var(--ink)}
.ns-list{list-style:none;margin:0;padding:0}
.ns-ev{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px 24px;padding:18px 0;border-bottom:1px solid rgba(22,17,11,.12)}
.ns-date--light{background:#FFFDF8;box-shadow:0 1px 0 rgba(22,17,11,.08),0 12px 24px -18px rgba(22,17,11,.5)}
.ns-ev:first-child .ns-date--light{background:var(--ochre);box-shadow:none}
.ns-ev__b h4{font-family:var(--display);font-weight:600;font-size:clamp(19px,1.7vw,23px);line-height:1.2;letter-spacing:-.01em;margin:8px 0 6px}
.ns-ev__b h4 a{color:inherit;text-decoration:none}
.ns-ev__b h4 a:hover{text-decoration:underline;text-decoration-color:var(--ochre);text-underline-offset:4px}
.ns-ev__b p{display:flex;align-items:center;gap:8px;margin:0;font-family:var(--serif);font-size:16px;color:#6B5E4C}
.ns-ev__b p svg{width:15px;height:15px;color:var(--acc-light,#E0A400);flex:none}
.ns-tba{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:6px 11px;border-radius:999px;background:rgba(22,17,11,.07);color:#6B5E4C}
.ns-ev__act{display:flex;align-items:center;gap:14px}
.ns-add--light{color:var(--ink);border-color:rgba(22,17,11,.25)}
.ns-add--light svg{color:var(--acc-light,#E0A400)}
.ns-go{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--bone);transition:background .2s,color .2s}
.ns-go:hover{background:var(--ochre);color:var(--ink)}
.ns-go svg{width:16px;height:16px}
@media(max-width:860px){.ns-feat__g{grid-template-columns:1fr}.ns-poster{max-width:320px}}
@media(max-width:620px){.ns-ev{grid-template-columns:auto minmax(0,1fr);align-items:start}.ns-ev__act{grid-column:2;gap:12px}.ns-date{width:58px;height:64px}.ns-date b{font-size:24px}}

/* =====================================================================
   v7.25 — PEOPLE pages (Team, Board, Advisors)
   ===================================================================== */
.tm-sec{position:relative;padding-block:clamp(56px,7vw,100px)}
.tm-sec__h{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 32px}
.tm-count{display:flex;align-items:baseline;gap:8px;margin:0 0 clamp(28px,3vw,44px);font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#6B5E4C}
.tm-count b{font-family:var(--display);font-size:44px;letter-spacing:-.03em;color:var(--ink);line-height:1}
.tm-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.tm-card{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:#FFFDF8;box-shadow:0 1px 0 rgba(22,17,11,.06),0 22px 44px -36px rgba(22,17,11,.5)}
.tm-card__ph{position:relative;aspect-ratio:4/5;background:#EADFCB;overflow:hidden}
.tm-card__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.tm-card:hover .tm-card__ph img{transform:scale(1.04)}
.tm-ini{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:64px;color:rgba(22,17,11,.22)}
.tm-card__b{display:flex;flex-direction:column;gap:6px;padding:18px 20px 20px;flex:1}
.tm-card__n{font-family:var(--display);font-weight:600;font-size:19px;line-height:1.2;letter-spacing:-.01em;margin:0}
.tm-card__r{font-family:var(--serif);font-size:15.5px;line-height:1.45;color:#5A4E3E;margin:0}
.tm-more{margin-top:6px}
.tm-more summary{cursor:pointer;list-style:none;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.tm-more summary::-webkit-details-marker{display:none}
.tm-more summary::after{content:" +";color:var(--acc-light,#E0A400)}
.tm-more[open] summary::after{content:" –"}
.tm-more p{font-family:var(--serif);font-size:15px;line-height:1.55;color:#4A4033;margin:8px 0 0}
.tm-card__l{margin-top:auto;padding-top:8px}
.tm-card--big{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);margin-bottom:22px;background:var(--ink);color:var(--bone)}
.tm-card--big .tm-card__ph{aspect-ratio:auto;min-height:380px}
.tm-card--big .tm-card__b{justify-content:center;gap:12px;padding:clamp(28px,4vw,56px)}
.tm-card--big .sy-chip{margin-bottom:6px}
.tm-card--big .tm-card__n{font-size:clamp(30px,3.2vw,44px);letter-spacing:-.025em;color:var(--bone)}
.tm-card--big .tm-card__r{font-size:19px;color:var(--ochre)}
.tm-card--big .tm-card__bio{font-family:var(--serif);font-size:18px;line-height:1.6;color:rgba(243,234,218,.82);margin:6px 0 0;max-width:56ch}
.tm-card--big .tm-card__l{color:var(--bone)}
@media(max-width:1100px){.tm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.tm-grid{grid-template-columns:1fr 1fr;gap:14px}.tm-card--big{grid-template-columns:1fr}.tm-card--big .tm-card__ph{min-height:0;aspect-ratio:4/3}.tm-card__b{padding:14px 14px 16px}.tm-card__n{font-size:16.5px}.tm-card__r{font-size:14px}}

/* v7.25 — GALLERY and PAGE NOT FOUND */
.gl-index,.gl-album{position:relative;padding-block:clamp(56px,7vw,100px)}
.gl-covers{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:34px 24px}
.gl-cover{position:relative;display:flex;flex-direction:column;gap:14px;color:var(--ink);text-decoration:none;padding-top:12px}
.gl-cover__stack span{position:absolute;left:8%;right:8%;top:6px;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:#EADFCB;transform:rotate(-3deg);opacity:.7}
.gl-cover__stack span+span{top:0;left:14%;right:14%;transform:rotate(3deg);opacity:.5}
.gl-cover__stack img{width:100%;height:100%;object-fit:cover;display:block}
.gl-cover__img{position:relative;display:block;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:#EADFCB;box-shadow:0 26px 40px -30px rgba(22,17,11,.7);transition:transform .3s}
.gl-cover:hover .gl-cover__img{transform:translateY(-4px) rotate(-.6deg)}
.gl-cover__img img{width:100%;height:100%;object-fit:cover;display:block}
.gl-cover__n{position:absolute;right:12px;bottom:12px;background:rgba(22,17,11,.78);color:var(--bone);font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border-radius:999px}
.gl-cover__b{display:flex;flex-direction:column;gap:3px}
.gl-cover__b small{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#6B5E4C}
.gl-cover__b strong{font-family:var(--display);font-weight:600;font-size:19px;line-height:1.2}
.gl-album__h{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 32px}
.gl-album__meta{display:flex;align-items:center;gap:20px;margin:0 0 clamp(28px,3vw,44px);font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#6B5E4C}
.gl-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(150px,16vw,240px);grid-auto-flow:dense;gap:12px}
.gl-ph{position:relative;display:block;border-radius:14px;overflow:hidden;background:#EADFCB}
.gl-ph.is-tall{grid-row:span 2}
.gl-ph:nth-child(5n+1):not(.is-tall){grid-column:span 2}
.gl-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gl-ph:hover img{transform:scale(1.05)}
.gl-ph:focus-visible{outline:3px solid var(--ochre);outline-offset:3px}
@media(max-width:800px){.gl-grid{grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:8px}.gl-ph:nth-child(5n+1):not(.is-tall){grid-column:span 2}.gl-covers{grid-template-columns:1fr 1fr;gap:26px 14px}.gl-cover__b strong{font-size:16px}}
.nf-hero{padding-block:clamp(64px,9vw,128px)}
.nf-hero__in .px-hero__title{color:var(--bone);max-width:16ch}
.nf-num{-webkit-text-stroke-color:var(--ochre)}
.nf-search{margin-top:30px;max-width:560px}
.nf-go{padding-block:clamp(56px,7vw,96px)}
.nf-home{margin:36px 0 0}
.nf-hero{padding-top:calc(var(--bxh-h,84px) + clamp(32px,5vw,72px))}

/* =====================================================================
   v7.26 — FLOATING GLASS HEADER (Customize › Top menu and footer › Header style)
   ===================================================================== */
html:has(.bxh--float){--bxh-h:96px}
html:has(.bxh--float.has-strip){--bxh-h:132px}
.bxh--float,.bxh--float.is-solid{background:transparent!important;border-bottom-color:transparent!important;padding-top:14px;pointer-events:none}
.bxh--float::before{display:none!important}
.bxh--float>*{pointer-events:auto}
.bxh--float .bxh__bar{box-sizing:border-box;width:min(1220px,calc(100% - 32px));margin-inline:auto;padding:0 8px 0 24px;height:66px;border-radius:999px;
  background:rgba(22,17,11,.38);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);
  border:1px solid rgba(243,234,218,.16);box-shadow:0 18px 40px -24px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.06);
  transition:height .3s cubic-bezier(.2,.8,.2,1),background-color .3s,box-shadow .3s,width .3s}
.bxh--float.is-solid .bxh__bar{height:58px;background:rgba(22,17,11,.84);box-shadow:0 20px 44px -22px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.05);width:min(1120px,calc(100% - 32px))}
.bxh--float .bxh__brand{font-size:19px}
.bxh--float .bxh__link{border-radius:999px;padding-top:9px;padding-bottom:9px;transition:background .2s,color .2s}
.bxh--float .bxh__link::after{display:none}
.bxh--float .bxh__item{border-radius:999px;transition:background .2s}
.bxh--float .bxh__item:hover,.bxh--float .bxh__item.is-open{background:rgba(243,234,218,.08)}
.bxh--float .bxh__item.is-here{background:rgba(245,187,24,.14)}
.bxh--float .bxh__item.is-here>.bxh__link{color:var(--ochre)}
.bxh--float .bxh__more{height:40px;margin-right:4px}
.bxh--float .bxh__cta{border-radius:999px;min-height:48px;padding:0 24px}
.bxh--float.is-solid .bxh__cta{min-height:42px}
.bxh--float .bxh__toggle{border-radius:999px;min-height:46px}
/* drop-down: a glass card with links and a photo card */
.bxh--float .bxh__panel{top:calc(100% + 18px);left:50%;transform:translate(-50%,8px);border-radius:24px;padding:12px;display:grid;grid-template-columns:minmax(200px,auto) 250px;gap:12px;align-items:stretch;
  background:rgba(22,17,11,.92);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-color:rgba(243,234,218,.14)}
.bxh--float .bxh__item.is-open .bxh__panel{transform:translate(-50%,0)}
.bxh--float .bxh__panel::before{top:-22px;height:22px}
.bxh--float .bxh__panel>ul{padding:6px;align-self:center}
.bxh--float .bxh__panel a:not(.bxf){border-radius:12px;padding:11px 14px;font-size:15.5px}
.bxh--float .bxh__panel a[aria-current]{box-shadow:none;color:var(--ochre)}
.bxh--float .bxh__panel--mega{grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(190px,auto)) 250px}
.bxf{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:rgba(243,234,218,.06);color:var(--bone);padding:0!important;white-space:normal!important}
.bxf:hover{background:rgba(243,234,218,.1)!important}
.bxf__img{position:relative;display:block;aspect-ratio:16/10;background:#2A2219;overflow:hidden}
.bxf__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.bxf:hover .bxf__img img{transform:scale(1.05)}
.bxf__date{position:absolute;left:10px;top:10px;display:flex;flex-direction:column;align-items:center;width:48px;padding:6px 0;border-radius:10px;background:var(--ochre);color:var(--ink)}
.bxf__date b{font-family:var(--display);font-weight:800;font-size:20px;line-height:1}
.bxf__date small{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;margin-top:2px}
.bxf__b{display:flex;flex-direction:column;gap:3px;padding:12px 14px 14px}
.bxf__b small{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ochre)}
.bxf__b strong{font-family:var(--display);font-weight:600;font-size:16px;line-height:1.25}
.bxf__b em{font-style:normal;font-family:var(--serif);font-size:13.5px;line-height:1.4;color:rgba(243,234,218,.7)}
/* the thin strip above */
.bxh__strip{display:flex;align-items:center;justify-content:center;gap:10px;width:max-content;max-width:calc(100% - 32px);margin:0 auto 10px;padding:7px 16px;border-radius:999px;
  background:rgba(245,187,24,.95);color:var(--ink);font-family:var(--ui);font-weight:600;font-size:13.5px;text-decoration:none;overflow:hidden;
  transition:max-height .3s,opacity .3s,margin .3s,padding .3s;max-height:40px}
.bxh__strip span:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bxh__strip-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--ink);animation:nosPulse 2s ease-out infinite}
.bxh--float.is-solid .bxh__strip{max-height:0;opacity:0;margin-bottom:0;padding-top:0;padding-bottom:0}
/* phones and tablets */
.bxh__mnext{display:flex;align-items:center;gap:14px;margin-top:24px;padding:14px;border-radius:18px;background:rgba(243,234,218,.06);border:1px solid rgba(243,234,218,.12);color:var(--bone);text-decoration:none}
.bxh__mnext>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.bxh__mnext small{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ochre)}
.bxh__mnext strong{font-family:var(--display);font-weight:600;font-size:17px;line-height:1.25}
.bxh__mnext em{font-style:normal;font-family:var(--serif);font-size:14px;color:rgba(243,234,218,.7)}
@media(max-width:1099px){
  html:has(.bxh--float){--bxh-h:84px}
  html:has(.bxh--float.has-strip){--bxh-h:120px}
  .bxh--float{padding-top:10px}
  .bxh--float .bxh__bar,.bxh--float.is-solid .bxh__bar{height:60px;padding:0 7px 0 18px;width:calc(100% - 24px)}
  .bxh--float .bxh__cta{min-height:44px;padding:0 18px}
  .bxh--float .bxh__toggle{min-height:44px}
  .bxh--float.is-drawer .bxh__bar{background:rgba(22,17,11,.95)}
  .bxh--float .bxh__drawer{top:0;padding-top:calc(var(--bxh-top,80px) + 6px);z-index:-1}
  .bxh__strip{font-size:12.5px}
}
@media(max-width:420px){.bxh--float .bxh__brand{font-size:16.5px}.bxh--float .bxh__bar{padding-left:14px}}
@media(prefers-reduced-motion:reduce){.bxh--float .bxh__bar,.bxh__strip{transition:none}}
.bxh--float .bxh__panel{align-items:start}
.bxh--float.is-solid .bxh__bar{background:rgba(22,17,11,.93)}
.bxh__mnext .ns-date small{color:var(--ink);font-size:10px;letter-spacing:.1em}

/* =====================================================================
   v7.26 — MINIMAL HEADER (logo · Donate · Menu, a big panel on every screen)
   ===================================================================== */
.bxh--min .bxh__nav{display:none}
.bxh--min .bxh__toggle{display:inline-flex;background:rgba(22,17,11,.35);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.bxh--min .bxh__bar{justify-content:space-between;background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.bxh--min.is-solid .bxh__bar{background:rgba(22,17,11,.93);border-color:rgba(243,234,218,.16);box-shadow:0 20px 44px -22px rgba(0,0,0,.75)}
.bxh--min .bxh__actions{gap:10px}
@media(min-width:1100px){
  html:has(.bxh--min){--bxh-h:96px}
  .bxh--min .bxh__bar{width:min(1220px,calc(100% - 48px))}
  .bxh--min .bxh__drawer{position:fixed;top:0;left:0;right:0;bottom:0;padding:calc(var(--bxh-top,90px) + 8px) 24px 24px;background:rgba(10,8,5,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow:auto;z-index:-1}
  .bxh--min .bxh__drawer-in{position:relative;box-sizing:border-box;width:min(1220px,100%);margin:0 auto;min-height:0;padding:clamp(32px,4vw,56px)!important;border-radius:32px;background:var(--ink);border:1px solid rgba(243,234,218,.12);box-shadow:0 40px 90px -40px rgba(0,0,0,.9);overflow:hidden;
    display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px 48px}
  .bxh--min .bxh__drawer-in::before{content:"";position:absolute;right:-120px;top:-120px;width:340px;height:340px;border-radius:50%;border:56px solid var(--ochre);opacity:.12;pointer-events:none}
  .bxh--min .bxh__mlist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 36px;grid-column:1;grid-row:1/3}
  .bxh--min .bxh__mitem{border:0}
  .bxh--min .bxh__mrow{justify-content:flex-start}
  .bxh--min .bxh__mlink{flex:none;font-size:clamp(28px,2.6vw,38px);padding:0 0 10px;min-height:0}
  .bxh--min .bxh__mlink:hover{color:var(--ochre)}
  .bxh--min .bxh__mmore{display:none}
  .bxh--min .bxh__msub,.bxh--min .bxh__msub[hidden]{display:grid!important;padding:6px 0 0;gap:0;border-top:1px solid rgba(243,234,218,.14)}
  .bxh--min .bxh__msubl{font-size:16px;min-height:38px;padding:7px 0;color:rgba(243,234,218,.78)}
  .bxh--min .bxh__msubl:hover{color:var(--ochre)}
  .bxh--min .bxh__mnext{grid-column:2;grid-row:1;margin:0;align-self:start;flex-direction:column;align-items:flex-start;padding:18px}
  .bxh--min .bxh__mfoot{grid-column:2;grid-row:2;margin:0;padding:0;align-self:end}
  .bxh--min .bxh__msocial{gap:6px 16px}
}
.bxh__mfeat{display:none}
@media(min-width:1100px){
  .bxh--min .bxh__mnext{display:none}
  .bxh--min .bxh__mfeat{display:block;grid-column:2;grid-row:1;align-self:start;position:relative;z-index:1}
  .bxh--min .bxh__mfeat .bxf{background:rgba(243,234,218,.06);border:1px solid rgba(243,234,218,.12)}
  .bxh--min .bxh__mfeat .bxf__b strong{font-size:18px}
  .bxh--min .bxh__mitem:not(:has(.bxh__msub)) .bxh__mrow{border-bottom:1px solid rgba(243,234,218,.14)}
}

/* v7.27 — the Batalo East logo in the header and footer */
.bxh__logo{width:auto;max-width:none}
.bxh--float .bxh__logo{height:38px;transition:height .3s}
.bxh--float.is-solid .bxh__logo{height:32px}
.ftr-logo{height:52px;width:auto;display:block}
@media(max-width:1099px){.bxh--float .bxh__logo,.bxh--float.is-solid .bxh__logo{height:32px}}
@media(max-width:420px){.bxh--float .bxh__logo,.bxh--float.is-solid .bxh__logo{height:28px}}
@media(max-width:350px){.bxh--float .bxh__logo,.bxh--float.is-solid .bxh__logo{height:24px}}
@media(min-width:1100px){.bxh--float .bxh__logo{height:44px}.bxh--float.is-solid .bxh__logo{height:36px}}

/* =====================================================================
   v7.28 — tidy "mega" drop-down (e.g. The Work › Festivals · Productions · More)
   Anchored to the whole capsule, even columns, photo card in its own column,
   solid background, long names wrap instead of being cut off.
   ===================================================================== */
.bxh--float .bxh__panel{background:#1A140D;-webkit-backdrop-filter:none;backdrop-filter:none}
.bxh--float .bxh__item:has(.bxh__panel--mega){position:static}
.bxh--float .bxh__panel--mega{left:0;right:0;width:auto;transform:translateY(8px);top:calc(100% + 12px);
  display:flex;align-items:stretch;gap:0;padding:28px;border-radius:26px;max-height:calc(100vh - 130px);overflow:auto}
.bxh--float .bxh__item.is-open .bxh__panel--mega{transform:none}
.bxh--float .bxh__panel--mega .bxh__col{flex:1 1 0;min-width:0;padding:0 24px;border-left:1px solid rgba(243,234,218,.1)}
.bxh--float .bxh__panel--mega .bxh__col:first-child{padding-left:4px;border-left:0}
.bxh--float .bxh__panel--mega .bxh__head{font-size:11px;letter-spacing:.16em;padding:0 10px 12px;margin:0 0 6px;border-bottom:1px solid rgba(245,187,24,.25)}
.bxh--float .bxh__panel--mega .bxh__col a:not(.bxh__head){white-space:normal;line-height:1.3;padding:9px 10px;font-size:15px}
.bxh--float .bxh__panel--mega .bxf{flex:0 0 270px;align-self:flex-start;margin-left:24px}
.bxh--float .bxh__panel--mega .bxf__img{aspect-ratio:4/3}
/* simple drop-downs (About…): links left, card right, never overlapping */
.bxh--float .bxh__panel:not(.bxh__panel--mega){grid-template-columns:minmax(220px,max-content) 240px;width:max-content;max-width:calc(100vw - 48px)}
.bxh--float .bxh__panel:not(.bxh__panel--mega) a:not(.bxf){white-space:nowrap}
@media(min-width:1100px) and (max-width:1300px){.bxh--float .bxh__panel--mega .bxf{display:none}}
.bxh--float .bxh__panel--mega .bxh__col .bxh__head,.bxh--float .bxh__panel--mega .bxh__col a.bxh__head{font-family:var(--mono)!important;font-size:11px!important;font-weight:700;letter-spacing:.16em;line-height:1.2;text-transform:uppercase;border-radius:0!important;padding:0 10px 12px!important;margin:0 0 8px;background:none!important;display:block}
.bxh--float .bxh__panel--mega .bxh__col a.bxh__head:hover{color:var(--bone)!important}
/* v7.29 — every drop-down uses the full-width layout */
.bxh--float .bxh__panel--mega .bxh__col--solo ul{columns:2;column-gap:24px}
.bxh--float .bxh__panel--mega .bxh__col--solo.is-many ul{columns:3}
.bxh--float .bxh__panel--mega .bxh__col--solo li{break-inside:avoid}
.bxh--float .bxh__panel--mega .bxh__col--solo{flex:1 1 auto;padding-left:4px}
.bxh--float .bxh__panel--mega .bxh__col--solo ul{columns:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bxh--float .bxh__panel--mega .bxh__col--solo.is-many ul{grid-template-columns:repeat(3,minmax(0,1fr))}
.bxh--float .bxh__panel--mega .bxh__col--solo li a{display:flex!important;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:16px 20px!important;border:1px solid rgba(243,234,218,.12);border-radius:14px!important;font-family:var(--display)!important;font-weight:600;font-size:18px!important;color:var(--bone)!important;background:rgba(243,234,218,.03)!important;transition:background .2s,border-color .2s}
.bxh--float .bxh__panel--mega .bxh__col--solo li a::after{content:"→";color:var(--ochre);font-family:var(--ui);transition:transform .2s}
.bxh--float .bxh__panel--mega .bxh__col--solo li a:hover,.bxh--float .bxh__panel--mega .bxh__col--solo li a[aria-current]{border-color:var(--ochre);background:rgba(245,187,24,.08)!important}
.bxh--float .bxh__panel--mega .bxh__col--solo li a:hover::after{transform:translateX(4px)}
.bxh--float .bxh__panel--mega:has(.bxh__col--solo) .bxf__img{aspect-ratio:16/9}
.bxh--float .bxh__panel--mega:has(.bxh__col--solo) .bxf__b em{display:none}

/* =====================================================================
   v7.30 — CREATIVE CENTER page, richer version
   ===================================================================== */
.cc-story,.cc-up,.cc-needs,.cc-partners{position:relative;padding-block:clamp(64px,8vw,112px)}
.cc-story__l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;position:relative}
.cc-story__l::before{content:"";position:absolute;left:0;right:0;top:calc((100% - 0px) * 0);height:0}
.cc-st{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:#FFFDF8;box-shadow:0 1px 0 rgba(22,17,11,.06),0 22px 44px -36px rgba(22,17,11,.5)}
.cc-st__img{position:relative;margin:0;aspect-ratio:3/2;background:#EADFCB;overflow:hidden}
.cc-st__img img{width:100%;height:100%;object-fit:cover;display:block}
.cc-st__y{position:absolute;left:16px;bottom:-1px;background:#FFFDF8;color:var(--ink);font-family:var(--display);font-weight:800;font-size:clamp(34px,3.4vw,46px);line-height:1;letter-spacing:-.04em;padding:12px 16px 4px;border-radius:14px 14px 0 0}
.cc-st:first-child .cc-st__y{color:var(--acc-light,#E0A400)}
.cc-st__b{padding:14px 24px 26px}
.cc-st__b h3{font-family:var(--display);font-weight:600;font-size:21px;letter-spacing:-.015em;margin:0 0 8px}
.cc-st__b p{font-family:var(--serif);font-size:16.5px;line-height:1.55;color:#4A4033;margin:0}
.cc-space__size{position:absolute;left:24px;top:-17px;background:var(--ink);color:var(--bone);font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;padding:7px 11px;border-radius:999px}
.cc-space figcaption{padding-top:30px}
.cc-book{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px 56px;margin-top:clamp(36px,4vw,56px);padding:clamp(26px,4vw,52px);border-radius:24px;background:var(--ink);color:var(--bone);scroll-margin-top:110px}
.cc-book .sx-kicker{color:var(--ochre)}
.cc-book__t{font-family:var(--display);font-weight:700;font-size:clamp(28px,3vw,40px);line-height:1.05;letter-spacing:-.025em;margin:0 0 20px}
.cc-book__t em{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--ochre)}
.cc-book__list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.cc-book__list li{display:flex;gap:12px;font-family:var(--serif);font-size:17px;line-height:1.45;color:rgba(243,234,218,.88)}
.cc-book__list svg{flex:none;width:20px;height:20px;color:var(--ochre);margin-top:2px}
.cc-book__note{margin:24px 0 0;padding-top:18px;border-top:1px solid rgba(243,234,218,.14);font-family:var(--serif);font-style:italic;font-size:16px;color:rgba(243,234,218,.7)}
.cc-book__form{background:#FFFDF8;color:var(--ink);border-radius:18px;padding:clamp(20px,2.6vw,32px)}
.cc-needs__g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px 64px;align-items:center}
.cc-needs__txt .px-btns{align-items:center}
.cc-needs__l{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.cc-needs__l li{display:flex;gap:18px;align-items:flex-start;padding:22px 24px;border-radius:18px;background:#FFFDF8;box-shadow:0 1px 0 rgba(22,17,11,.06),0 22px 44px -36px rgba(22,17,11,.5)}
.cc-needs__l strong{display:block;font-family:var(--display);font-weight:600;font-size:20px;margin:2px 0 4px}
.cc-needs__l p{margin:0;font-family:var(--serif);font-size:16.5px;line-height:1.5;color:#4A4033}
.cc-partners{padding-block:clamp(48px,6vw,80px)}
.cc-partners .sx-kicker{text-align:center;margin-bottom:22px}
.cc-partners__l{max-width:1000px;margin-inline:auto}
@media(max-width:960px){.cc-story__l{grid-template-columns:1fr}.cc-st{flex-direction:row}.cc-st__img{flex:none;width:42%;aspect-ratio:auto;min-height:190px}.cc-st__y{bottom:auto;top:0;left:0;border-radius:0 0 14px 0;padding:8px 12px}.cc-book,.cc-needs__g{grid-template-columns:1fr}}
@media(max-width:560px){.cc-st{flex-direction:column}.cc-st__img{width:auto;aspect-ratio:16/9;min-height:0}}
.cc-book__form{background:rgba(243,234,218,.05);border:1px solid rgba(243,234,218,.14);color:var(--bone)}
.cc-book__form label,.cc-book__form .be5-form p,.cc-book__form small{color:rgba(243,234,218,.75)}
.cc-book__form input,.cc-book__form select,.cc-book__form textarea{background:rgba(0,0,0,.35)!important;border-color:rgba(243,234,218,.2)!important;color:var(--bone)!important}

/* v7.31 — home "Coming up" card lists every upcoming event */
.hero-next--list{gap:8px;padding:16px 16px 12px;width:min(400px,100%)}
.hero-next__l{list-style:none;margin:0;padding:0;display:grid}
.hero-next__l li+li{border-top:1px solid rgba(243,234,218,.12)}
.hero-next--list .hero-next__row{display:flex;align-items:center;gap:12px;padding:9px 4px;color:var(--bone);text-decoration:none;border-radius:6px;transition:background .2s}
.hero-next--list a.hero-next__row:hover{background:rgba(243,234,218,.06)}
.hero-next--list a.hero-next__row:hover .hero-next__go{transform:translateX(3px)}
.hero-next--list .hero-next__row:not(.is-first) .hero-next__date{min-width:50px;padding:4px 6px;background:rgba(243,234,218,.06)}
.hero-next--list .hero-next__row:not(.is-first) .hero-next__date b{font-size:20px;color:var(--bone)}
.hero-next--list .hero-next__row:not(.is-first) .hero-next__txt strong{font-size:14.5px;font-weight:600}
.hero-next--list .hero-next__row.is-first .hero-next__date{background:var(--ochre)}
.hero-next--list .hero-next__row.is-first .hero-next__date b,.hero-next--list .hero-next__row.is-first .hero-next__date small{color:var(--ink)}
.hero-next__all{justify-self:end;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ochre);text-decoration:none;padding:4px 4px 0}
.hero-next__all:hover{color:var(--bone)}
/* v7.31 — Coming up sits between Now on stage and Our impact: sand, so it stands apart from the cream Impact section */
.nos + .upc{background:#EADFCB;--notch:#EADFCB}

/* v7.32 — home "Coming up": one event card at a time, the others stacked behind */
.hero-next--stack{isolation:isolate;width:min(380px,100%);padding:14px 16px 12px;gap:8px}
.hero-next--stack.has-more{margin-bottom:12px}
.hero-next--stack.has-more::before,.hero-next--stack.has-more::after{content:"";position:absolute;left:10px;right:10px;bottom:-7px;height:40px;border-radius:0 0 10px 10px;background:rgba(30,23,15,.88);border:1px solid rgba(243,234,218,.12);border-top:0;z-index:-1}
.hero-next--stack.has-more::after{left:20px;right:20px;bottom:-13px;background:rgba(30,23,15,.6);z-index:-2}
.hero-next--stack .hero-next__l{display:grid}
.hero-next--stack .hero-next__l > li{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .45s,transform .45s,visibility 0s .45s;border:0!important}
.hero-next--stack .hero-next__l > li.is-on{opacity:1;visibility:visible;transform:none;transition:opacity .45s,transform .45s}
.hero-next--stack .hero-next__row{padding:4px 2px}
.hero-next__foot{display:flex;align-items:center;gap:10px;padding-top:8px;border-top:1px solid rgba(243,234,218,.12)}
.hero-next__dots{display:flex;gap:5px}
.hero-next__dots i{width:6px;height:6px;border-radius:50%;background:rgba(243,234,218,.3);transition:background .3s,width .3s}
.hero-next__dots i.is-on{width:16px;border-radius:3px;background:var(--ochre)}
.hero-next__nx{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid rgba(243,234,218,.25);background:none;color:var(--bone);cursor:pointer;font-size:14px}
.hero-next__nx:hover{border-color:var(--ochre);color:var(--ochre)}
.hero-next--stack .hero-next__all{margin-left:auto;padding:0}
.hero-next--stack.has-more::before{top:calc(100% + 1px);bottom:auto;height:7px;left:10px;right:10px;background:rgba(40,31,21,.92);border-radius:0 0 8px 8px}
.hero-next--stack.has-more::after{top:calc(100% + 1px);bottom:auto;height:13px;left:22px;right:22px;background:rgba(40,31,21,.6);border-radius:0 0 8px 8px}
/* v7.33 — "Coming up" card pinned to the bottom-right corner of the home photo (computers) */
@media(min-width:1000px){
  .hero{position:relative}
  .hero .hero-next--stack{position:absolute;z-index:4;right:max(clamp(20px,5vw,64px),env(safe-area-inset-right));bottom:calc(52px + clamp(20px,3vh,32px));width:min(340px,30vw);margin:0}
}
@media(min-width:1000px){.hero .hero-next--stack{bottom:calc(52px + 22px)}}
/* v7.34 — "Coming up" docked into the bottom-right corner: flush to the edge, sitting on the scrolling words */
@media(min-width:1000px){
  .hero .hero-next--stack{right:0;bottom:var(--hero-foot-h,56px);width:min(380px,32vw);margin:0;border-radius:16px 0 0 0;border-right:0;border-bottom:0;padding:16px 22px 14px 20px;background:rgba(22,17,11,.78)}
  .hero .hero-next--stack.has-more::before,.hero .hero-next--stack.has-more::after{display:none}
  .hero .hero-next--stack .hero-next__foot{padding-right:max(0px,env(safe-area-inset-right))}
}
@media(min-width:1000px){.hero .hero-next--stack{right:calc(-1 * var(--dock-r,0px));bottom:calc(-1 * var(--dock-b,0px))}}
