/* Homepage legacy component styles, rethemed to the Carnelian palette. Overridden by home-v4.css. */
/* Sections */
    main{max-width:var(--max-width); margin:.35rem auto 3rem; padding:0 1rem}
    .section{background:var(--card-bg); border-left:5px solid var(--card-border); border-radius:18px; box-shadow:var(--card-shadow); padding:1.1rem 1rem; margin:1rem auto 1.4rem; scroll-margin-top:110px}
    .section h2{font-family:'Open Sans',Arial,sans-serif; font-size:2.18rem; text-align:center; margin-bottom:1.2rem; color:var(--heading-color)}

    .about-container{display:flex; flex-wrap:wrap; gap:46px; justify-content:center; align-items:flex-start}
    .about-text{flex:2; min-width:min(300px,100%); max-width:670px; font-size:1.16rem; line-height:1.73}
    .about-text p{margin-bottom:1.2rem}
    .about-image{flex:1; min-width:220px; max-width:360px; display:flex; justify-content:center}
    .about-image img{width:320px; max-width:100%; height:auto; border-radius:12px; object-fit:cover; box-shadow:0 7px 32px rgba(41,83,155,.13)}

    /* Contact modern */
    .contact-modern{max-width:1100px; margin:2rem auto; padding:0 1rem}
    .contact-grid2{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr)); gap:14px}
    .contact-card{display:grid; grid-template-columns:54px minmax(0,1fr) auto; align-items:center; gap:12px; background:var(--card-bg); border:1px solid rgba(0,0,0,.06); border-radius:16px; padding:14px; box-shadow:0 10px 26px rgba(0,0,0,.08)}
    .contact-icon-wrap{width:48px; height:48px; border-radius:14px; display:grid; place-items:center; background:conic-gradient(from 160deg, var(--accent), var(--accent-gold)); box-shadow:0 6px 18px rgba(0,0,0,.15); color:#fff}
    .contact-icon-wrap svg{width:26px; height:26px; color:#fff}
    .contact-text{line-height:1.2; min-width:0; overflow-wrap:anywhere}
    .contact-label-sm{font-size:.78rem; opacity:.75}
    .contact-link-lg a{font-weight:700; color:var(--heading-color)}
    .dark .contact-link-lg a{color:var(--nav-text)}
    .btn-ghost{border:1px solid rgba(0,0,0,.08); background:transparent; padding:8px 10px; border-radius:10px; cursor:pointer}
    .btn-ghost:hover{border-color:var(--accent)}
    .copy-badge{position:absolute; top:0; right:0; transform:translateY(-110%); background:var(--accent); color:#fff; font-size:.78rem; padding:3px 8px; border-radius:999px; opacity:0; pointer-events:none; transition:opacity .18s}
    .copy-badge.show{opacity:1}

    /* Quotes section */
    .quotes-section{margin-top:2rem}
    .quotes-layout{display:grid; gap:16px; align-items:center; max-width:var(--max-width); margin:0 auto; grid-template-columns:1fr}
    @media (min-width:821px){ .quotes-layout{grid-template-columns:minmax(220px,340px) minmax(400px,1fr)} }
    .quote-media{position:relative; width:100%; max-width:560px; margin:0 auto; display:block; border-radius:12px; overflow:hidden; background:rgba(255,255,255,.75); box-shadow:0 10px 26px rgba(0,0,0,.12); aspect-ratio:16/9; border:1px solid rgba(0,0,0,.05); backdrop-filter:saturate(140%) blur(3px); transition:transform .3s ease, box-shadow .4s ease}
    .dark .quote-media{background:rgba(17,24,39,.65); box-shadow:0 8px 20px rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.08)}
    .quote-media img{width:100%; height:100%; object-fit:contain; object-position:center; display:block; transition:transform .35s}
    .quote-media:hover{transform:translateY(-4px); box-shadow:0 16px 32px rgba(0,0,0,.2)}

    .quotes-carousel{position:relative; overflow:hidden; max-width:700px; margin:0 auto; min-height:180px}
    .quote-slide{opacity:0; visibility:hidden; position:absolute; inset:0; padding:1.2rem 2rem; font-size:1.15rem; line-height:1.6; font-style:italic; color:var(--heading-color); border-left:4px solid var(--accent-gold); background:rgba(255,255,255,.8); border-radius:12px; box-shadow:0 8px 24px rgba(34,48,74,.15); transition:opacity .5s ease, transform .5s ease; transform:translateX(20px)}
    .dark .quote-slide{background:rgba(17,24,39,.9)}
    .quote-slide.active{opacity:1; visibility:visible; transform:translateX(0); position:relative}
    .quote-logo{margin-top:0.6rem; display:flex; align-items:center}
    .quote-logo img{height:36px; width:auto; border-radius:4px}
    .carousel-controls{display:flex; justify-content:center; gap:1rem; margin-top:1rem}
    .carousel-controls button{background:var(--accent); color:#fff; border:0; border-radius:12px; width:48px; height:48px; font-size:1.5rem; font-weight:700; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 4px 10px rgba(0,0,0,.15); transition:background .3s, transform .25s, box-shadow .3s}
    .carousel-controls button:hover,.carousel-controls button:focus{background:var(--accent-gold); color:#000; transform:translateY(-2px); box-shadow:0 6px 14px rgba(0,0,0,.2)}

    
    /* Impact styles moved from inline <style> */
    #impact{--primary:var(--accent); --surface:var(--card-bg); --text:var(--text-main); --muted:#66728a; --line:#e6ecf7; --bg-grad-start:var(--background-top); --bg-grad-end:var(--background-bottom); --radius:18px; padding:clamp(22px,3.2vw,40px) 12px; background:linear-gradient(180deg,var(--bg-grad-start),var(--bg-grad-end))}
    :where(.dark,[data-theme="dark"]) #impact{--surface:var(--card-bg); --text:var(--heading-color); --muted:#9aa3b2; --line:#1f2937}
    #impact .wrap{max-width:1160px; margin:0 auto}
    #impact h2{text-align:center; font-family:'Open Sans',Arial,sans-serif; font-weight:800; font-size:clamp(28px,3.3vw,40px); color:var(--text); margin:0}
    #impact .underline{width:64px; height:4px; background:var(--primary); border-radius:6px; margin:10px auto 16px}
    #impact .lead{text-align:center; color:var(--muted); margin-bottom:16px; font-size:15px}
    #impact .grid{display:grid; grid-template-columns:repeat(12,1fr); gap:14px; list-style:none; padding-left:0; margin:0}
    #impact .card{position:relative; overflow:hidden; grid-column:span 3; background:var(--surface); border-radius:var(--radius); padding:clamp(12px,1.6vw,18px); box-shadow:0 10px 26px rgba(12,24,48,.08)}
    #impact .card::before{content:""; position:absolute; inset:0 0 auto 0; height:3px; background:linear-gradient(90deg, var(--primary), rgba(255,255,255,.6))}
    @media (max-width:980px){ #impact .card{grid-column:span 6} }
    @media (max-width:560px){ #impact .card{grid-column:span 12} }
    #impact .value{font-size:clamp(36px,6.5vw,56px); font-weight:900; color:var(--primary); letter-spacing:.2px; line-height:1.05; font-family:'Open Sans',Arial,sans-serif}
    #impact .label{margin-top:4px; font-weight:900; font-size:13.5px; letter-spacing:.7px; text-transform:uppercase; color:var(--text); font-family:'Open Sans',Arial,sans-serif}
    #impact .sub{margin-top:6px; color:var(--muted); font-size:14px}
    #impact .note{max-width:860px; margin:12px auto 0; text-align:center; color:var(--muted); font-size:12.5px}

    /* Selective recognition: visible academic validation without turning home into a full CV */
    .recognition-section{padding:clamp(30px,4vw,48px) !important}
    .recognition-heading{display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:24px; margin-bottom:22px}
    .recognition-heading h2{margin:4px 0 0; text-align:left; font-size:clamp(2rem,4vw,3rem); line-height:1.03}
    .recognition-heading p{max-width:620px; margin-top:10px; color:var(--muted); line-height:1.68}
    .recognition-heading a{font-size:.86rem; font-weight:800; white-space:nowrap}
    .recognition-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px}
    .recognition-card{position:relative; min-height:190px; padding:20px; overflow:hidden; border:1px solid color-mix(in srgb,var(--accent) 14%,transparent); border-radius:17px; background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 5%,var(--card-bg)),var(--card-bg)); box-shadow:0 10px 28px rgba(17,31,54,.08)}
    .recognition-card time{display:block; color:var(--accent); font-size:.74rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase}
    .recognition-card h3{margin:30px 0 7px; color:var(--heading-color); font-family:'Open Sans',Arial,sans-serif; font-size:1.23rem; line-height:1.13}
    .recognition-card p{color:var(--muted); font-size:.84rem; line-height:1.55}
    .recognition-card::after{content:""; position:absolute; top:20px; right:20px; width:30px; height:30px; border:1px solid color-mix(in srgb,var(--accent-gold) 55%,transparent); border-radius:50%; background:radial-gradient(circle,var(--accent-gold) 0 3px,transparent 4px)}
    .recognition-note{margin:16px 0 0; color:var(--muted); font-size:.78rem}
    @media (max-width:900px){.recognition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media (max-width:620px){.recognition-heading{grid-template-columns:1fr; align-items:start}.recognition-grid{grid-template-columns:1fr}.recognition-card{min-height:165px}.recognition-card h3{margin-top:22px}}

    /* Fieldwork & Solidarity — an editorial, filterable visual notebook */
    .field-notebook{position:relative; overflow:hidden; padding:clamp(26px,4.5vw,56px) !important; border-left:0; isolation:isolate}
    .field-notebook::before{content:""; position:absolute; width:360px; height:360px; right:-180px; top:-190px; border-radius:50%; background:radial-gradient(circle, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%); z-index:-1; pointer-events:none}
    .field-heading{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr); align-items:end; gap:24px; margin-bottom:28px}
    .field-kicker{display:inline-flex; align-items:center; gap:9px; margin-bottom:8px; color:var(--accent); font-size:.76rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase}
    .field-kicker::before{content:""; width:28px; height:2px; background:var(--accent-gold)}
    .field-heading h2{margin:0; max-width:760px; text-align:left; font-size:clamp(2.2rem,5vw,4rem); line-height:.98; letter-spacing:-.035em}
    .field-intro{color:var(--muted); font-size:1rem; line-height:1.75}
    .field-feature{display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr); min-height:460px; margin-bottom:22px; overflow:hidden; border-radius:24px; background:#3a1d1a; color:#f8fafc; box-shadow:0 24px 60px rgba(14,28,52,.22)}
    .field-feature-media{position:relative; min-height:420px}
    .field-feature-media img{width:100%; height:100%; object-fit:cover; display:block}
    .field-feature-media::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 58%,rgba(15,29,51,.38)); pointer-events:none}
    .field-feature-copy{display:flex; flex-direction:column; justify-content:flex-end; padding:clamp(28px,4vw,46px); background:linear-gradient(145deg,#3a1d1a,#3a1d1a)}
    .field-meta{color:#ffd9d5; font-size:.75rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase}
    .field-feature .field-meta{color:#ffd9d5}
    .field-feature-copy h3{margin:10px 0 14px; font-family:'Open Sans',Arial,sans-serif; font-size:clamp(1.8rem,3vw,2.65rem); line-height:1.05}
    .field-feature-copy p{color:#f1dedb; line-height:1.72}
    .field-principle{display:block; margin-top:22px; padding-top:18px; border-top:1px solid rgba(255,255,255,.14); color:#fff; font-size:.88rem}
    .field-controls{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px}
    .field-filter{border:1px solid color-mix(in srgb, var(--accent) 24%, transparent); border-radius:999px; background:transparent; color:var(--text-main); padding:8px 14px; font:inherit; font-size:.84rem; font-weight:650; cursor:pointer; transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
    .field-filter:hover,.field-filter:focus-visible{transform:translateY(-1px); border-color:var(--accent)}
    .field-filter[aria-pressed="true"]{background:var(--accent); border-color:var(--accent); color:#fff}
    .field-grid{display:grid; grid-template-columns:repeat(12,1fr); gap:16px}
    .field-card{grid-column:span 6; min-height:390px; overflow:hidden; border:1px solid color-mix(in srgb, var(--accent) 12%, transparent); border-radius:20px; background:var(--card-bg); box-shadow:0 12px 32px rgba(17,31,54,.10); transition:transform .35s ease,box-shadow .35s ease,opacity .25s ease}
    .field-card:nth-child(3n){grid-column:span 12}
    .field-card[hidden]{display:none}
    .field-card:hover{transform:translateY(-5px); box-shadow:0 20px 45px rgba(17,31,54,.16)}
    .field-card img{width:100%; aspect-ratio:5/3; object-fit:cover; display:block; transition:transform .55s cubic-bezier(.2,.7,.2,1)}
    .field-card:hover img{transform:scale(1.025)}
    .field-card-copy{padding:19px 20px 22px}
    .field-card h3{margin:5px 0 8px; color:var(--heading-color); font-family:'Open Sans',Arial,sans-serif; font-size:1.45rem; line-height:1.12}
    .field-card p{color:var(--muted); font-size:.94rem; line-height:1.65}
    .field-card.is-entering{animation:field-enter .35s ease both}
    @keyframes field-enter{from{opacity:0; transform:translateY(8px)}to{opacity:1; transform:none}}
    .field-ethic{display:flex; align-items:flex-start; gap:12px; margin-top:22px; padding:17px 19px; border-radius:16px; background:color-mix(in srgb, var(--accent) 7%, var(--card-bg)); color:var(--text-main); font-size:.9rem; line-height:1.65}
    .field-ethic strong{color:var(--accent)}
    @media (max-width:820px){
      body{padding-bottom:calc(88px + var(--sab))}
      .field-heading,.field-feature{grid-template-columns:1fr}
      .field-heading h2{text-align:center}
      .field-kicker{justify-content:center}
      .field-feature-media{min-height:300px}
      .field-feature-media::after{background:linear-gradient(0deg,rgba(15,29,51,.48),transparent 55%)}
      .field-card,.field-card:nth-child(3n){grid-column:span 12}
      .calendly-badge-widget{display:none !important}
    }
    @media (min-width:821px){
      .calendly-badge-widget{transform:scale(.84) !important; transform-origin:right bottom !important}
    }
    @media (prefers-reduced-motion:reduce){
      .field-card,.field-card img,.field-filter{transition:none}
      .field-card.is-entering{animation:none}
    }

    /* Newsroom: one organized home for the calendar and completed public work */
    .activity-section{padding:clamp(34px,5vw,64px) 0 !important; overflow:hidden}
    .activity-heading{display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.8fr); align-items:end; gap:28px; padding:0 clamp(24px,5vw,64px); margin-bottom:34px}
    .activity-heading h2{margin:5px 0 0; text-align:left; font-size:clamp(2.35rem,5vw,4.1rem); line-height:.95; letter-spacing:-.035em}
    .activity-heading p{max-width:590px; color:var(--muted); line-height:1.75}
    .news-rail{margin-top:30px}
    .news-rail-head{display:flex; align-items:end; justify-content:space-between; gap:20px; padding:0 clamp(24px,5vw,64px); margin-bottom:15px}
    .news-rail-title{display:flex; align-items:center; gap:12px}
    .news-index{display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--accent); color:#fff; font-size:.72rem; font-weight:850; letter-spacing:.08em}
    .news-rail h3{margin:0; color:var(--heading-color); font-family:'Open Sans',Arial,sans-serif; font-size:clamp(1.45rem,2.6vw,2rem)}
    .news-rail-subtitle{margin:3px 0 0; color:var(--muted); font-size:.82rem}
    .news-controls{display:flex; gap:8px}
    .news-control{display:grid; place-items:center; width:42px; height:42px; border:1px solid color-mix(in srgb,var(--accent) 25%,transparent); border-radius:50%; background:var(--card-bg); color:var(--accent); font:700 1.35rem/1 sans-serif; cursor:pointer; box-shadow:0 8px 22px rgba(17,31,54,.08); transition:transform .2s ease,background .2s ease,color .2s ease}
    .news-control:hover,.news-control:focus-visible{transform:translateY(-2px); background:var(--accent); color:#fff; outline:none}
    .news-track{display:grid; grid-auto-flow:column; grid-auto-columns:minmax(310px,36%); gap:17px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:inline mandatory; scrollbar-width:thin; scrollbar-color:var(--accent) transparent; padding:4px clamp(24px,5vw,64px) 24px; scroll-padding-inline:clamp(24px,5vw,64px)}
    .news-track::-webkit-scrollbar{height:7px}.news-track::-webkit-scrollbar-thumb{background:var(--accent); border-radius:999px}.news-track::-webkit-scrollbar-track{background:transparent}
    .activity-card{position:relative; display:flex; min-height:450px; flex-direction:column; overflow:hidden; scroll-snap-align:start; border:1px solid color-mix(in srgb,var(--accent) 14%,transparent); border-radius:22px; background:var(--card-bg); box-shadow:0 14px 34px rgba(17,31,54,.1); transition:transform .25s ease,box-shadow .25s ease}
    .activity-card:hover{transform:translateY(-4px); box-shadow:0 20px 46px rgba(17,31,54,.16)}
    .activity-card--calendar{min-height:450px; background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 8%,var(--card-bg)),var(--card-bg) 48%)}
    .activity-card--featured{border-color:color-mix(in srgb,var(--accent-gold) 62%,var(--accent)); box-shadow:0 18px 44px rgba(17,31,54,.17)}
    .activity-card--featured::before{content:"Latest update"; position:absolute; z-index:2; top:14px; left:14px; padding:6px 10px; border-radius:999px; color:#3a1d1a; background:#ffd9d5; font-size:.65rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; box-shadow:0 5px 18px rgba(0,0,0,.18)}
    .calendar-art{position:relative; min-height:145px; padding:22px; overflow:hidden; color:#fff; background:linear-gradient(125deg,#7a1212,#b31b1b)}
    .calendar-art::after{content:""; position:absolute; width:190px; height:190px; right:-48px; top:-75px; border:1px solid rgba(255,255,255,.24); border-radius:50%; box-shadow:0 0 0 34px rgba(255,255,255,.045),0 0 0 68px rgba(255,255,255,.035)}
    .calendar-month{display:block; color:#ffd9d5; font-size:.72rem; font-weight:850; letter-spacing:.16em; text-transform:uppercase}
    .calendar-day{display:block; margin-top:8px; font-family:'Open Sans',Arial,sans-serif; font-size:3.4rem; font-weight:700; line-height:.9}
    .calendar-place{position:absolute; left:22px; bottom:18px; font-size:.75rem; color:#fde6e3}
    .activity-media{margin:0; background:#3a1d1a}
    .activity-card img{display:block; width:100%; aspect-ratio:16/9; height:auto; object-fit:cover; object-position:center}
    .activity-card--packet img{padding:12px; object-fit:contain; background:radial-gradient(circle at 50% 38%,#5a2a24 0,#3a1d1a 58%,#3a1d1a 100%)}
    .activity-card--group img{padding:8px; object-fit:contain; background:linear-gradient(145deg,#3a1d1a,#3a1d1a)}
    .event-media img{object-position:center 48%}
    .activity-media figcaption{padding:9px 14px; color:#fde6e3; background:#3a1d1a; font-size:.72rem; font-weight:650; letter-spacing:.02em}
    .activity-card-copy{display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:19px 20px 22px}
    .activity-facts{display:flex; flex-wrap:wrap; gap:7px; margin-bottom:9px}
    .activity-role,.activity-date,.activity-status{display:inline-flex; align-items:center; min-height:26px; padding:5px 9px; border-radius:999px; font-size:.67rem; font-weight:850; letter-spacing:.075em; text-transform:uppercase}
    .activity-role{color:var(--accent); border:1px solid color-mix(in srgb,var(--accent) 28%,transparent); background:color-mix(in srgb,var(--accent) 6%,var(--card-bg))}
    .activity-date{color:var(--text-main); background:color-mix(in srgb,var(--accent-gold) 18%,var(--card-bg))}
    .activity-status{color:#fff; background:#237a57}
    .activity-status.is-complete{background:color-mix(in srgb,var(--muted) 78%,#26364d)}
    .activity-card h4{margin:6px 0 9px; font-family:'Open Sans',Arial,sans-serif; font-size:1.42rem; line-height:1.12; color:var(--heading-color)}
    .activity-card p{margin:0 0 10px; color:var(--muted); font-size:.9rem; line-height:1.62}
    .activity-card .takeaway{margin-top:auto; padding:12px 0 0 13px; border-left:3px solid var(--accent-gold); color:var(--text-main); font-size:.82rem}
    .activity-card a{margin-top:auto; color:var(--accent); font-size:.82rem; font-weight:800; text-decoration:none}
    .activity-card a:hover{text-decoration:underline}
    .activity-actions{display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-top:auto; padding-top:8px}
    .activity-actions a{margin-top:0}
    .activity-actions .activity-cta{display:inline-flex; align-items:center; min-height:38px; padding:8px 12px; border-radius:999px; color:#fff; background:var(--accent); box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 23%,transparent)}
    .activity-actions .activity-cta:hover{color:#fff; text-decoration:none; transform:translateY(-1px)}
    .news-hint{display:flex; align-items:center; gap:9px; padding:3px clamp(24px,5vw,64px) 0; color:var(--muted); font-size:.75rem}
    .news-hint::before{content:"↔"; color:var(--accent); font-weight:900}
    .activity-more{display:inline-flex; align-items:center; gap:8px; margin-top:22px; color:var(--accent); font-weight:800; text-decoration:none}
    .activity-more::after{content:"→"; transition:transform .2s ease}.activity-more:hover::after{transform:translateX(4px)}
    @media (max-width:900px){.activity-heading{grid-template-columns:1fr}.news-track{grid-auto-columns:minmax(290px,72%)}.activity-heading{align-items:start}}
    @media (max-width:620px){.activity-heading,.news-rail-head{padding-inline:18px}.news-track{grid-auto-columns:86%; padding-inline:18px; scroll-padding-inline:18px}.news-controls{display:none}.activity-card,.activity-card--calendar{min-height:440px}.news-hint{padding-inline:18px}}
    @media (prefers-reduced-motion:reduce){.activity-card,.activity-more::after,.news-control{transition:none}.news-track{scroll-behavior:auto}}

    /* Research paths: compact links with a real destination */
    .research-jump{max-width:1160px; margin:12px auto 10px; padding:0 14px; display:flex; flex-wrap:wrap; justify-content:center; gap:8px}
    .research-jump a{display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:8px 13px; color:var(--text-main); font-size:.82rem; font-weight:700; line-height:1.25; text-align:center; text-decoration:none; background:color-mix(in srgb,var(--card-bg) 90%,transparent); border:1px solid color-mix(in srgb,var(--accent) 18%,transparent); border-radius:999px; box-shadow:0 7px 20px rgba(17,31,54,.06); transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}
    .research-jump a::after{content:"↘"; color:var(--accent)}
    .research-jump a:hover,.research-jump a:focus-visible{transform:translateY(-2px); border-color:var(--accent); background:color-mix(in srgb,var(--accent) 7%,var(--card-bg)); box-shadow:0 10px 24px rgba(17,31,54,.11); outline:none}
    @media (min-width:821px){
      .research-jump{width:min(calc(100% - 32px),1100px); margin:20px auto 18px; padding:12px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; background:color-mix(in srgb,var(--card-bg) 82%,transparent); border:1px solid color-mix(in srgb,var(--accent) 14%,transparent); border-radius:20px; box-shadow:0 14px 36px rgba(17,31,54,.08)}
      .research-jump a{min-height:44px; padding:9px 10px; background:color-mix(in srgb,var(--card-bg) 96%,transparent)}
    }

    /* Thesis archive */
    .thesis-showcase{padding:clamp(30px,5vw,58px) !important; border-left:0}
    .archive-header{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr); gap:28px; align-items:end; margin-bottom:26px}
    .archive-kicker{display:block; margin-bottom:8px; color:var(--accent); font-size:.74rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase}
    .archive-header h2{margin:0; text-align:left; font-size:clamp(2.1rem,4.5vw,3.75rem); line-height:1; letter-spacing:-.03em}
    .archive-header p{color:var(--muted); line-height:1.75}
    .archive-grid{display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:16px}
    .archive-card{position:relative; overflow:hidden; min-height:430px; margin:0; border-radius:20px; background:#3a1d1a; box-shadow:0 18px 46px rgba(10,23,41,.2)}
    .archive-card img{width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.88) contrast(1.03); transition:transform .55s ease}
    .archive-card--lead img{object-position:center 42%}
    .archive-card:hover img{transform:scale(1.025)}
    .archive-card::after{content:""; position:absolute; inset:44% 0 0; background:linear-gradient(transparent,rgba(6,13,24,.94)); pointer-events:none}
    .archive-card figcaption{position:absolute; z-index:1; left:0; right:0; bottom:0; padding:22px; color:#fff}
    .archive-card figcaption strong{display:block; margin-bottom:5px; font-family:'Open Sans',Arial,sans-serif; font-size:1.25rem}
    .archive-card figcaption span{display:block; color:#f1dedb; font-size:.78rem; line-height:1.5}
    .archive-question{margin:20px 0 0; padding:17px 19px; color:var(--text-main); line-height:1.65; background:color-mix(in srgb,var(--accent) 7%,var(--card-bg)); border-left:3px solid var(--accent); border-radius:0 14px 14px 0}
    .archive-question strong{color:var(--accent)}

    .site-credits{max-width:1160px; margin:0 auto 34px; padding:0 14px}
    .site-credits details{padding:14px 17px; color:var(--muted); font-size:.78rem; line-height:1.65; background:color-mix(in srgb,var(--card-bg) 92%,transparent); border:1px solid color-mix(in srgb,var(--accent) 12%,transparent); border-radius:14px}
    .site-credits summary{color:var(--heading-color); font-weight:750; cursor:pointer}
    .site-credits p{margin:10px 0 0}

    @media (max-width:820px){
      .archive-header{grid-template-columns:1fr}
      .archive-header h2{text-align:center}
      .archive-header{text-align:center}
      .archive-grid{grid-template-columns:1fr}
      .archive-card{min-height:390px}
      .research-jump{margin-top:4px}
    }
  
    /* Conference feature: Migration in Contentious Political Times */
    .convening{margin:0 clamp(24px,5vw,64px) 10px; padding:clamp(20px,3.4vw,38px); border:1px solid color-mix(in srgb,var(--accent-gold) 55%,var(--accent)); border-radius:24px; background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 7%,var(--card-bg)),var(--card-bg) 55%); box-shadow:0 18px 44px rgba(17,31,54,.13); scroll-margin-top:110px}
    .convening-head h3{margin:2px 0 12px; font-family:'Open Sans',Arial,sans-serif; font-size:clamp(1.9rem,4vw,3rem); line-height:1.02; letter-spacing:-.025em; color:var(--heading-color)}
    .convening-lead{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:8px 0 24px}
    .convening-lead p{margin:0; color:var(--text-main); font-size:.95rem; line-height:1.75}
    .convening-gallery{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:clamp(150px,17vw,215px); gap:10px; margin-bottom:26px}
    .convening-gallery figure{position:relative; margin:0; overflow:hidden; border-radius:16px; background:#3a1d1a}
    .convening-gallery .cg-wide{grid-column:span 2}
    .convening-gallery .cg-tall{grid-row:span 2}
    .convening-gallery .cg-full{grid-column:1/-1}
    .convening-gallery{grid-auto-flow:dense}
    .convening-gallery .cg-full img{object-position:center 78%}
    .convening-gallery img{display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s ease}
    .convening-gallery figure:hover img{transform:scale(1.03)}
    .convening-gallery figcaption{position:absolute; left:0; right:0; bottom:0; padding:22px 12px 9px; color:#fff; font-size:.72rem; font-weight:600; line-height:1.35; background:linear-gradient(transparent,rgba(8,16,30,.82))}
    .convening-program{display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:14px; margin-bottom:22px}
    .convening-program section{padding:18px; border-radius:18px; background:var(--card-bg); border:1px solid color-mix(in srgb,var(--accent) 14%,transparent)}
    .cp-keynote{border-top:4px solid var(--accent-gold) !important}
    .cp-label{display:block; margin:0 0 6px; color:var(--accent); font-size:.66rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase}
    .cp-label:not(:first-child){margin-top:14px}
    .convening-program h4{margin:0 0 10px; font-family:'Open Sans',Arial,sans-serif; font-size:1.2rem; line-height:1.2; color:var(--heading-color)}
    .convening-program h5{margin:10px 0 4px; font-family:'Open Sans',Arial,sans-serif; font-size:1.02rem; line-height:1.25; color:var(--heading-color)}
    .convening-program p{margin:0; color:var(--muted); font-size:.85rem; line-height:1.62}
    .convening-program strong{color:var(--text-main)}
    .convening-actions{display:flex; flex-wrap:wrap; align-items:center; gap:16px}
    .convening-actions a{color:var(--accent); font-size:.85rem; font-weight:800; text-decoration:none}
    @media (max-width:900px){.convening-program{grid-template-columns:1fr}.convening-lead{grid-template-columns:1fr}}
    @media (max-width:620px){.convening{margin-inline:14px; padding:18px}.convening-gallery{grid-template-columns:1fr 1fr; grid-auto-rows:140px}.convening-gallery .cg-wide{grid-column:span 2}.convening-gallery .cg-tall{grid-row:span 2}
    .convening-gallery .cg-full{grid-column:1/-1}
    .convening-gallery{grid-auto-flow:dense}}
    @media (prefers-reduced-motion:reduce){.convening-gallery img{transition:none}}
    .convening-gallery--quad{grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:clamp(180px,24vw,320px)}
    @media (max-width:620px){.convening-gallery--quad{grid-template-columns:1fr; grid-auto-rows:220px}}
    .convening-note{margin:0 0 14px; color:var(--text-main); font-size:.95rem; line-height:1.7}
    .convening-note a{color:var(--accent); font-weight:800}
    #oha-2026{margin-bottom:28px}
    .activity-card--featured .calendar-art{padding-top:52px; min-height:175px}
