/* The 25 Years archive: /speakers/, /events/ and their pages (scripts/build-archive.mjs).
   Talk cards reuse the Subscribe library's .lb-card styles from library.css. */
#lc27.archive{background:var(--cream)}
#lc27 .ar-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#b9c8d3;margin-bottom:22px}
#lc27 .ar-crumbs a{color:var(--gold)}
#lc27 .ar-crumbs a:hover{text-decoration:underline}

/* heroes */
#lc27 .ar-hero{background:var(--navy);color:#fff;padding:150px 0 72px;position:relative;overflow:hidden}
#lc27 .ar-hero h1{font-size:clamp(2.6rem,6vw,5rem);letter-spacing:-.05em;line-height:1.02;margin:0;text-wrap:balance}
#lc27 .ar-lede{color:#d4dde3;font-size:1.1rem;margin-top:16px}
#lc27 .ar-bio{color:#e6ecf0;font-size:1.15rem;line-height:1.7;max-width:640px;margin-top:22px}
#lc27 .ar-hero-inner{display:grid;grid-template-columns:1fr minmax(220px,360px);gap:64px;align-items:center}
#lc27 .ar-hero-portrait img{width:100%;aspect-ratio:1;object-fit:cover;background:#1a2a3a;border-left:4px solid var(--gold)}
#lc27 .ar-hero-type{aspect-ratio:1;border-left:4px solid var(--gold);display:grid;place-items:center;background:#13263a}
#lc27 .ar-hero-type span{font-size:clamp(1.6rem,3vw,2.6rem);font-weight:700;letter-spacing:-.04em;color:var(--gold);text-align:center;padding:0 18px}
#lc27 .ar-hero-event{padding-top:220px;min-height:min(78vh,720px);display:flex;align-items:flex-end}
#lc27 .ar-hero-event .ar-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
#lc27 .ar-hero-event.has-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0b192866 0%,#0b192822 35%,#0b1928ee 100%);z-index:0}
#lc27 .ar-hero-event .ar-hero-copy{position:relative;z-index:1}
#lc27 .ar-hero-event .wrap{position:relative;z-index:1}
#lc27 .ar-theme{font-size:clamp(1.3rem,2.4vw,2rem);color:var(--gold);font-weight:600;letter-spacing:-.02em;margin-top:10px}
#lc27 .ar-format{font-size:.85rem;color:#b9c8d3;margin-top:6px}
#lc27 .ar-hero-index{padding-bottom:56px}
#lc27 .ar-next{margin-top:14px}#lc27 .ar-next a{color:var(--gold);font-weight:600;border-bottom:1px solid currentColor}

/* sections */
#lc27 .ar-section{padding:72px 0 8px}
#lc27 .ar-section h2,#lc27 .ar-talks h2{font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-.035em;margin:0 0 22px}
#lc27 .ar-timeline{list-style:none;margin:0;padding:0;border-top:1px solid #0b192822}
#lc27 .ar-timeline a{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid #0b192822;align-items:baseline;transition:background .2s}
#lc27 .ar-timeline a:hover{background:#0b19280a}
#lc27 .ar-year{font-size:2rem;font-weight:700;letter-spacing:-.04em;color:var(--navy)}
#lc27 .ar-ev{display:flex;flex-direction:column;gap:2px}
#lc27 .ar-ev strong{font-size:1.1rem}
#lc27 .ar-ev em{font-style:normal;color:#8a6a1f;font-weight:600}
#lc27 .ar-ev span{color:#56636d;font-size:.9rem}

/* talks: navy band like the Subscribe library */
#lc27 .ar-library{padding:64px 0;margin-top:72px}
#lc27 .ar-talks .lb-row-head{display:flex;align-items:baseline;gap:16px}
#lc27 .ar-talks .lb-row-head h2{color:#fff;margin:0}
#lc27 .ar-count{color:#b9c8d3;font-size:.9rem}
#lc27 .ar-talks .lb-arrows{margin-left:auto}
#lc27 .ar-track{flex-wrap:nowrap}
#lc27 .ar-panel{display:grid;grid-template-columns:1fr minmax(300px,42%);gap:48px;align-items:center;background:#07111cd9;margin-top:22px;padding:36px;position:relative}
#lc27 .ar-panel[hidden]{display:none}
#lc27 .ar-panel-title{font-size:clamp(1.5rem,2.6vw,2.2rem);letter-spacing:-.04em;line-height:1.1;margin:0 0 8px}
#lc27 .ar-panel-by{color:#b9c8d3;margin-bottom:6px}
#lc27 .ar-panel-topics{color:var(--gold);font-size:.85rem;margin-bottom:12px}
#lc27 .ar-panel-desc{color:#d4dde3;line-height:1.7;margin-bottom:18px;max-width:560px}
#lc27 .ar-panel-by:empty,#lc27 .ar-panel-topics:empty,#lc27 .ar-panel-desc:empty{display:none}
#lc27 .ar-panel-poster{width:100%;aspect-ratio:16/9;object-fit:cover;box-shadow:0 30px 60px -30px #000}
#lc27 .ar-panel-close{position:absolute;right:14px;top:10px;background:none;border:0;color:#b9c8d3;font:inherit;font-size:.8rem;cursor:pointer}
#lc27 .ar-doors-lead{color:#b9c8d3;font-size:.85rem;margin-bottom:10px}
#lc27 .ar-door-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#lc27 .ar-door{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid #ffffff33;color:#fff;transition:border-color .2s,background .2s}
#lc27 .ar-door:hover,#lc27 .ar-door:focus-visible{border-color:var(--gold);background:#ffffff0d}
#lc27 .ar-door strong{font-size:.95rem}
#lc27 .ar-door span{font-size:.8rem;color:#b9c8d3;line-height:1.5}
#lc27 .ar-door-main{background:var(--gold);border-color:var(--gold);color:var(--navy)}
#lc27 .ar-door-main span{color:#3a3020}
#lc27 .ar-door-main:hover{background:#ffca66}

/* people */
#lc27 .ar-people{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:28px 20px}
#lc27 .ar-people-lg{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
#lc27 .ar-people-sm{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:22px 16px}
#lc27 .ar-person{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:6px}
#lc27 a.ar-person:hover .ar-face img{filter:brightness(1.1)}
#lc27 a.ar-person:hover .ar-person-name{text-decoration:underline}
#lc27 .ar-face{display:block;position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:#13263a}
#lc27 .ar-face-sm{margin-bottom:2px}
#lc27 .ar-face img{width:100%;height:100%;object-fit:cover;transition:filter .2s,transform .3s}
#lc27 .ar-face-type{display:grid;place-items:center;color:var(--gold);font-weight:700;font-size:1.6rem;letter-spacing:-.03em}
#lc27 .ar-face-sm.ar-face-type{font-size:1.1rem}
#lc27 .ar-person-plain .ar-face-type{background:#d9dee2;color:#56636d}
#lc27 .ar-person-name{font-weight:600;font-size:.92rem;line-height:1.3}
#lc27 .ar-person-note{font-size:.78rem;color:#56636d}
#lc27 .ar-person-plain .ar-person-name{font-weight:500;color:#3a4650}

/* directory */
#lc27 .ar-search{margin-top:30px;max-width:560px}
#lc27 .ar-search label{display:block;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#b9c8d3;margin-bottom:8px}
#lc27 .ar-search input{width:100%;box-sizing:border-box;font:inherit;font-size:1.05rem;padding:14px 16px;border:1px solid #ffffff40;background:#ffffff10;color:#fff}
#lc27 .ar-search input::placeholder{color:#b9c8d3}
#lc27 .ar-search input:focus{outline:2px solid var(--gold);outline-offset:2px}
#lc27 .ar-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:28px}
#lc27 .ar-select{display:flex;flex-direction:column;gap:6px;min-width:220px}
#lc27 .ar-select span{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#5b6773}
#lc27 .ar-select select{appearance:none;-webkit-appearance:none;font:inherit;font-size:.95rem;font-weight:600;color:var(--navy);background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%230b1928' stroke-width='3'/%3E%3C/svg%3E") no-repeat right 14px center/14px;border:1.5px solid var(--navy);border-radius:0;padding:12px 44px 12px 16px;cursor:pointer}
#lc27 .ar-select select:hover{background-color:#0b19280a}
#lc27 .ar-select select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
#lc27 .ar-count{margin:0 0 12px auto;font-size:.9rem;color:#5b6773}
@media (max-width:600px){#lc27 .ar-select{flex:1 1 140px;min-width:0}#lc27 .ar-count{flex-basis:100%;margin:0}}
#lc27 .ar-chips{display:flex;flex-wrap:wrap;gap:8px}
#lc27 .ar-chip{font:inherit;font-size:.8rem;font-weight:600;padding:7px 12px;border:1px solid #0b192833;background:transparent;color:var(--navy);cursor:pointer}
#lc27 .ar-chip[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
#lc27 .ar-chip:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
#lc27 .ar-letter{margin-top:30px}
#lc27 .ar-letter h3{font-size:1.4rem;color:#8a6a1f;border-bottom:1px solid #0b192822;padding-bottom:6px;margin-bottom:18px}
#lc27 .ar-letter[hidden],#lc27 .ar-people li[hidden],#lc27 .ar-events li[hidden],#lc27 .ar-decade[hidden]{display:none}
#lc27 .ar-empty{color:#56636d;padding:24px 0}

/* events */
#lc27 .ar-decade{margin-top:40px}
#lc27 .ar-decade h2{font-size:2.4rem;letter-spacing:-.05em}
#lc27 .ar-events{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px}
#lc27 .ar-event{display:flex;flex-direction:column;gap:4px}
#lc27 .ar-event img,#lc27 .ar-event-year{width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--navy);margin-bottom:10px;transition:filter .2s}
#lc27 .ar-event-year{display:grid;place-items:center;background:transparent;border:1px solid #0b192826;color:transparent;-webkit-text-stroke:1.5px var(--navy);font-size:3.4rem;font-weight:700;letter-spacing:-.05em}
#lc27 .ar-event:hover .ar-event-year{-webkit-text-stroke-color:#8a6a1f;border-color:#8a6a1f}
#lc27 .ar-event:hover img{filter:brightness(1.08)}
#lc27 .ar-event-name{font-weight:700;font-size:1.05rem}
#lc27 .ar-event-theme{color:#8a6a1f;font-weight:600;font-size:.9rem}
#lc27 .ar-event-meta{color:#56636d;font-size:.85rem}
#lc27 .ar-gallery{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
#lc27 .ar-gallery li{position:relative}
#lc27 .ar-gallery img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
#lc27 .ar-gallery span{position:absolute;left:0;bottom:0;right:0;padding:24px 12px 10px;font-size:.8rem;color:#fff;background:linear-gradient(transparent,#0b1928cc)}
#lc27 .ar-walk{display:flex;justify-content:space-between;gap:24px;padding:72px 0 0}
#lc27 .ar-walk a{display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:1.05rem;max-width:45%}
#lc27 .ar-walk a span{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#8a6a1f}
#lc27 .ar-walk-next{text-align:right;margin-left:auto}
#lc27 .ar-walk a:hover{text-decoration:underline}

/* /history/ */
#lc27 .ar-hero-history .eyebrow{color:var(--gold)}
#lc27 .ar-hero-history h1{margin-top:8px}
#lc27 .ar-ways{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:40px;max-width:900px}
#lc27 .ar-way{display:flex;flex-direction:column;gap:6px;padding:26px 28px;border:1px solid #ffffff33;color:#fff;transition:border-color .2s,background .2s}
#lc27 .ar-way:hover,#lc27 .ar-way:focus-visible{border-color:var(--gold);background:#ffffff0d}
#lc27 .ar-way .eyebrow{color:#b9c8d3}
#lc27 .ar-way strong{font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.04em;line-height:1.05}
#lc27 .ar-way span:last-child{color:#d4dde3;font-size:.95rem}
#lc27 .ar-history-lead{color:#56636d;margin:-10px 0 24px}
#lc27 .ar-tl{list-style:none;margin:0;padding:0;border-left:3px solid var(--gold)}
#lc27 .ar-tl-item a{display:grid;grid-template-columns:110px 1fr auto;gap:24px;align-items:center;padding:18px 0 18px 28px;border-bottom:1px solid #0b192822;position:relative}
#lc27 .ar-tl-item a:before{content:"";position:absolute;left:-9px;top:50%;width:15px;height:15px;margin-top:-7px;border-radius:50%;background:var(--cream);border:3px solid var(--gold)}
#lc27 .ar-tl-item a:hover{background:#0b19280a}
#lc27 .ar-tl-year{font-size:2.2rem;font-weight:700;letter-spacing:-.05em}
#lc27 .ar-tl-copy{display:flex;flex-direction:column;gap:2px}
#lc27 .ar-tl-copy strong{font-size:1.1rem}
#lc27 .ar-tl-copy em{font-style:normal;color:#8a6a1f;font-weight:600}
#lc27 .ar-tl-copy span{color:#56636d;font-size:.88rem}
#lc27 .ar-tl-item img{width:220px;aspect-ratio:3/2;object-fit:cover}

/* quote, links */
#lc27 .ar-quote blockquote{margin:0;border-left:4px solid var(--gold);padding:6px 0 6px 28px;border-radius:0}
#lc27 .ar-quote p{font-size:clamp(1.4rem,2.6vw,2.1rem);letter-spacing:-.03em;line-height:1.3;font-weight:600}
#lc27 .ar-quote footer{margin-top:12px;color:#56636d}
#lc27 .ar-links{list-style:none;margin:0;padding:0}
#lc27 .ar-links li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #0b192822}
#lc27 .ar-links a{font-weight:600}#lc27 .ar-links span{color:#56636d;font-size:.85rem;white-space:nowrap}

/* invitation */
#lc27 .ar-invite{margin-top:88px;background:var(--navy);color:#fff;padding:80px 0}
#lc27 .ar-invite .eyebrow{color:var(--gold)}
#lc27 .ar-invite h2{font-size:clamp(2rem,4.4vw,3.6rem);letter-spacing:-.05em;line-height:1.05;max-width:900px;margin:10px 0 16px;text-wrap:balance}
#lc27 .ar-invite p{color:#d4dde3;max-width:620px}
#lc27 .ar-invite-actions{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:28px}
#lc27 .ar-invite .text-link{color:#fff}

@media (max-width:760px){
  #lc27 .ar-hero{padding:118px 0 48px}
  #lc27 .ar-hero-inner{grid-template-columns:1fr;gap:32px}
  #lc27 .ar-hero-portrait,#lc27 .ar-hero-type{max-width:220px;order:-1}
  #lc27 .ar-hero-event{padding-top:160px;min-height:70vh}
  #lc27 .ar-timeline a{grid-template-columns:72px 1fr;gap:14px}
  #lc27 .ar-year{font-size:1.4rem}
  #lc27 .ar-panel{grid-template-columns:1fr;padding:24px 20px}
  #lc27 .ar-panel-poster{order:-1}
  #lc27 .ar-door-grid{grid-template-columns:1fr}
  #lc27 .ar-people{grid-template-columns:repeat(2,minmax(0,1fr))}
  #lc27 .ar-people-sm{grid-template-columns:repeat(3,minmax(0,1fr))}
  #lc27 .ar-walk{flex-direction:column}#lc27 .ar-walk a{max-width:none}
  #lc27 .ar-track>li{flex-basis:70%}
  #lc27 .ar-ways{grid-template-columns:1fr}
  #lc27 .ar-tl-item a{grid-template-columns:64px 1fr;gap:14px;padding-left:20px}
  #lc27 .ar-tl-year{font-size:1.4rem}
  #lc27 .ar-tl-item img{grid-column:2;width:100%}
}
@media (prefers-reduced-motion:reduce){#lc27 .ar-face,#lc27 .ar-door,#lc27 .ar-event img{transition:none}}

/* Credits for speaker photos used under a free licence (seeds/archive/speaker-photos.json). */
#lc27 figure.ar-hero-portrait{margin:0}
#lc27 .ar-credit{margin-top:10px;font-size:.72rem;line-height:1.4;color:#ffffffa6;text-align:center}
#lc27 .ar-credit a{color:inherit;text-decoration:underline;text-underline-offset:3px}
#lc27 .ar-credits ul{list-style:none;margin:0;padding:0;columns:2 320px;column-gap:40px;font-size:.8rem;line-height:1.5;color:#56636d}
#lc27 .ar-credits li{break-inside:avoid;margin-bottom:6px}
#lc27 .ar-credits a{color:inherit}
#lc27 .ar-credit-link{font-size:.78rem;margin:8px auto 28px;color:#56636d}
#lc27 .ar-credit-link a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* Speaker cards match the home page portraits: square photo, the name in a dark bar
   across its foot with a brand-colour edge, the colours taking turns. */
#lc27 .ar-face-md .ar-person-name{position:absolute;left:0;right:0;bottom:0;background:#0b1928e8;color:#e0e9ef;font-size:.8rem;font-weight:600;line-height:1.3;padding:9px 12px;border-left:3px solid var(--edge,#1bb6f7)}
#lc27 .ar-face-md.ar-face-type>span[aria-hidden]{display:grid;place-items:center;position:absolute;inset:0 0 36px}
#lc27 .ar-people li:nth-child(4n+1){--edge:#1bb6f7}
#lc27 .ar-people li:nth-child(4n+2){--edge:#ff6a3a}
#lc27 .ar-people li:nth-child(4n+3){--edge:#9cd073}
#lc27 .ar-people li:nth-child(4n+4){--edge:#f5b846}
#lc27 a.ar-person:hover .ar-face-md .ar-person-name{text-decoration:none;color:#fff}

/* The regulars are a showcase: four across, two rows. The directory below is a list:
   eight across, plain photos, a thin blue line and a slight zoom on hover. */
#lc27 .ar-people-lg{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
#lc27 .ar-people-sm{grid-template-columns:repeat(8,minmax(0,1fr));gap:22px 14px}
#lc27 .ar-face-sm::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#1bb6f7;opacity:0;transition:opacity .2s}
#lc27 a.ar-person:hover .ar-face-sm::after{opacity:1}
#lc27 a.ar-person:hover .ar-face-sm img{transform:scale(1.04);filter:none}
@media (max-width:1100px){#lc27 .ar-people-sm{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (max-width:760px){#lc27 .ar-people-lg{grid-template-columns:repeat(2,minmax(0,1fr))}#lc27 .ar-people-sm{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){#lc27 .ar-face img{transition:none}#lc27 a.ar-person:hover .ar-face-sm img{transform:none}}

/* ---- /history/: a full-screen opening on a wall of every speaker's face ---- */
#lc27 .ar-hero-wall{position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center;padding:150px 0 90px}
/* A living mosaic: the wall stands still and, one at a time, a face quietly fades into
   another speaker (archive.js). Without the script it's the still wall. */
#lc27 .ar-hero-wall .ar-wall{position:absolute;inset:0;overflow:hidden;opacity:.6;background:url(/media/archive/history-wall.webp) center/cover}
#lc27 .ar-wall.is-live{background:none;display:grid;grid-template-columns:repeat(var(--cols),var(--tile));grid-auto-rows:var(--tile);justify-content:center;inset:-6%;transform-origin:70% 40%;animation:ar-wall-camera 40s ease-in-out -20s infinite alternate;will-change:transform}
@keyframes ar-wall-camera{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.14) translate3d(-3%,-2%,0)}}
#lc27 .ar-tile{position:relative;overflow:hidden}
#lc27 .ar-tile span{position:absolute;inset:0;background-image:var(--sheet);background-size:calc(var(--sc) * var(--tile)) calc(var(--sr) * var(--tile));transition:opacity 1.4s ease}
#lc27 .ar-tile span+span{opacity:0}
#lc27 .ar-tile.is-b span:first-child{opacity:0}
#lc27 .ar-tile.is-b span+span{opacity:1}
#lc27 .ar-hero-wall:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0b1928 0%,#0b1928e0 34%,#0b192870 62%,#0b192840 100%),linear-gradient(0deg,#0b1928 0%,#0b192800 28%)}
#lc27 .ar-hero-wall .wrap{position:relative;z-index:1}
#lc27 .ar-hero-wall h1{font-size:clamp(3.2rem,7.5vw,6.6rem);line-height:.95;letter-spacing:-.05em;max-width:9ch}
#lc27 .ar-stats{list-style:none;margin:28px 0 8px;padding:0;display:flex;gap:44px;flex-wrap:wrap}
#lc27 .ar-stats strong{display:block;font-size:clamp(2.4rem,4.5vw,3.6rem);line-height:1;letter-spacing:-.04em;color:var(--gold)}
#lc27 .ar-stats span{display:block;margin-top:6px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#c9d4dd}

/* ---- the timeline: decade markers, milestone years, images taking turns left and right ---- */
#lc27 .ar-tl-decade{position:relative;padding:44px 0 6px 28px}
#lc27 .ar-tl-decade span{font-size:clamp(3rem,7vw,5.5rem);font-weight:700;letter-spacing:-.06em;line-height:1;color:#0b192814}
#lc27 .ar-tl-flip a{grid-template-columns:110px auto 1fr}
#lc27 .ar-tl-flip img{order:2}
#lc27 .ar-tl-flip .ar-tl-copy{order:3}
#lc27 .ar-tl-milestone a{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);grid-template-areas:'year img' 'copy img';align-items:start;column-gap:36px;row-gap:10px;padding:40px 0 40px 28px}
#lc27 .ar-tl-milestone .ar-tl-year{grid-area:year}
#lc27 .ar-tl-milestone .ar-tl-copy{grid-area:copy}
#lc27 .ar-tl-milestone img{grid-area:img;align-self:center}
#lc27 .ar-tl-milestone a:before{width:21px;height:21px;left:-12px;top:52px;background:var(--gold)}
#lc27 .ar-tl-milestone .ar-tl-year{font-size:clamp(3.6rem,8vw,6rem);line-height:.9;color:var(--navy)}
#lc27 .ar-tl-mark{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#8a6a1f;font-weight:700}
#lc27 .ar-tl-milestone .ar-tl-copy strong{font-size:1.5rem}
#lc27 .ar-tl-milestone img{width:100%;aspect-ratio:3/2;box-shadow:0 24px 48px -28px #0b1928}

/* ---- /events/: decades as chapters, one event shown large ---- */
#lc27 .ar-decade-head{position:relative;font-size:clamp(2.6rem,5vw,3.6rem);margin:56px 0 22px;padding-top:24px}
#lc27 .ar-decade-ghost{position:absolute;left:-6px;top:-34px;font-size:clamp(6rem,15vw,11rem);line-height:1;letter-spacing:-.07em;color:#0b19280d;z-index:-1;pointer-events:none}
#lc27 .ar-decade{position:relative;z-index:0}
#lc27 .ar-event-featured{grid-column:span 2}
#lc27 .ar-event-featured .ar-event img,#lc27 .ar-event-featured .ar-event-year{aspect-ratio:16/9}
#lc27 .ar-event-featured .ar-event-name{font-size:1.5rem}
#lc27 .ar-event-featured .ar-event-theme{font-size:1.1rem}

@media (max-width:760px){
  #lc27 .ar-hero-wall{min-height:auto;padding:64px 0 48px}
  #lc27 .ar-stats{gap:26px}
  #lc27 .ar-tl-flip a{grid-template-columns:64px 1fr}
  #lc27 .ar-tl-flip img{order:0}
  #lc27 .ar-tl-milestone a{padding-left:20px;grid-template-columns:1fr;grid-template-areas:'year' 'copy' 'img'}
  #lc27 .ar-event-featured{grid-column:auto}
}
@media (prefers-reduced-motion:reduce){#lc27 .ar-tile span{transition:none}#lc27 .ar-wall.is-live{animation:none}}

/* Each wave lights the faces it changes in its colour: blue, orange, green and gold in turn. */
#lc27 .ar-tile:after{content:"";position:absolute;inset:0;background:var(--glint,#1bb6f7);mix-blend-mode:screen;opacity:0;pointer-events:none}
#lc27 .ar-tile.is-lit:after{animation:ar-glint 2.2s ease-out}
@keyframes ar-glint{0%{opacity:0}22%{opacity:.75}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){#lc27 .ar-tile.is-lit:after{animation:none}}

/* /history/ opening: no exits, just an invitation to scroll. */
#lc27 .ar-scroll{position:absolute;left:50%;bottom:28px;z-index:1;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;color:#c9d4dd;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none}
#lc27 .ar-scroll svg{animation:ar-nudge 2.2s ease-in-out infinite}
#lc27 .ar-scroll:hover{color:#fff}
@keyframes ar-nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
#lc27 #ar-regulars{scroll-margin-top:90px}
@media (prefers-reduced-motion:reduce){#lc27 .ar-scroll svg{animation:none}}

/* Each section's way on uses the site's standard button: the regulars lead to every speaker,
   the timeline to every event. */
#lc27 .ar-more{margin-top:30px}

/* /history/: the film, as a card in the opening beside the words. */
#lc27 .ar-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:56px;align-items:center}
#lc27 .ar-film-card{margin:0}
#lc27 .ar-film-frame{position:relative;aspect-ratio:16/9;overflow:hidden;background:#13263a}
#lc27 .ar-film-card{box-shadow:0 30px 60px -24px #000}
#lc27 .ar-film-frame img{width:100%;height:100%;object-fit:cover;filter:brightness(.75)}
#lc27 .ar-film-play{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;border:0;background:var(--gold);display:grid;place-items:center;cursor:pointer;transition:transform .2s;box-shadow:0 14px 30px -10px #000}
#lc27 .ar-film-play span{width:0;height:0;border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent var(--navy);margin-left:5px}
#lc27 button.ar-film-play:hover{transform:scale(1.06)}
#lc27 .ar-film-frame.is-soon .ar-film-play{opacity:.55;cursor:default}
/* The name bar, as on the home page portraits: dark, a brand-colour edge, attached to the image. */
#lc27 .ar-film-card figcaption{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#0b1928e8;border-left:3px solid var(--cyan,#1bb6f7);padding:13px 16px;font-size:.85rem;font-weight:600;color:#e0e9ef}
#lc27 .ar-film-length{font-size:.66rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#8ca1b2;white-space:nowrap}
@media (max-width:900px){#lc27 .ar-hero-grid{grid-template-columns:1fr;gap:32px}#lc27 .ar-film-card{max-width:520px}}

/* Scroll reveals (archive.js adds .ar-anim to <html> only when it can run them). */
.ar-anim #lc27 .ar-rv{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 80ms)}
.ar-anim #lc27 .ar-rv.is-in{opacity:1;transform:none}
.ar-anim #lc27 .ar-tl-decade.ar-rv{transform:translateX(-48px)}
.ar-anim #lc27 .ar-tl-item.ar-rv{transform:translateX(-36px)}
.ar-anim #lc27 .ar-tl-item.ar-tl-flip.ar-rv{transform:translateX(36px)}
.ar-anim #lc27 .ar-tl-milestone.ar-rv{transform:translateY(48px);transition-duration:1.1s}
.ar-anim #lc27 .ar-tl-decade.ar-rv.is-in,.ar-anim #lc27 .ar-tl-item.ar-rv.is-in{transform:none}

/* ---- Desktop timeline: the spine runs down the middle; each year sits on it, with the
   picture and the words taking turns on either side. Phones keep the line on the left. ---- */
@media (min-width:900px){
  #lc27 .ar-tl{border-left:0;position:relative}
  #lc27 .ar-tl:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;margin-left:-1.5px;background:var(--gold)}
  #lc27 .ar-tl-item a{grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);grid-template-areas:"copy year img";align-items:center;column-gap:36px;row-gap:0;padding:30px 0;border-bottom:0}
  #lc27 .ar-tl-flip a{grid-template-areas:"img year copy"}
  #lc27 .ar-tl-item a:before{display:none}
  #lc27 .ar-tl-item a:hover{background:transparent}
  #lc27 .ar-tl-year{grid-area:year;position:relative;z-index:1;justify-self:center;background:var(--cream);padding:6px 10px;line-height:1}
  #lc27 .ar-tl-copy{grid-area:copy;order:0}
  #lc27 .ar-tl-item img,#lc27 .ar-tl-flip img{grid-area:img;order:0;width:100%;max-width:340px;aspect-ratio:3/2}
  /* The words face the spine: right-aligned on the left side, left-aligned on the right. */
  #lc27 .ar-tl-item:not(.ar-tl-flip) .ar-tl-copy{text-align:right;align-items:flex-end}
  #lc27 .ar-tl-item:not(.ar-tl-flip) img{justify-self:start}
  #lc27 .ar-tl-flip .ar-tl-copy{text-align:left;align-items:flex-start}
  #lc27 .ar-tl-flip img{justify-self:end}
  #lc27 .ar-tl-item:not(.has-photo) a{grid-template-areas:"copy year ."}
  /* Milestones: a bigger year on the spine, a bigger picture. */
  #lc27 .ar-tl-milestone a{grid-template-columns:minmax(0,1fr) 220px minmax(0,1.15fr);padding:48px 0}
  #lc27 .ar-tl-milestone .ar-tl-year{font-size:clamp(3.4rem,6vw,5rem);padding:10px 14px}
  #lc27 .ar-tl-milestone img{max-width:none;width:100%}
  #lc27 .ar-tl-milestone .ar-tl-copy{text-align:right;align-items:flex-end}
  #lc27 .ar-tl-milestone.ar-tl-flip .ar-tl-copy{text-align:left;align-items:flex-start}
  /* Decade markers sit centred on the spine. */
  #lc27 .ar-tl-decade{text-align:center;padding:56px 0 10px}
  #lc27 .ar-tl-decade span{position:relative;z-index:1;background:var(--cream);padding:0 18px;color:#0b19281c}
}

/* Milestone years get a full-width navy band, like a chapter break; the gold line runs through it. */
#lc27 .ar-history{overflow-x:clip}
#lc27 .ar-tl-milestone{position:relative;margin:24px 0}
#lc27 .ar-tl-milestone:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;margin-left:-50vw;background:var(--navy);z-index:0}
#lc27 .ar-tl-milestone a{position:relative;z-index:1}
#lc27 .ar-tl-milestone .ar-tl-year{color:#fff}
#lc27 .ar-tl-milestone .ar-tl-copy strong{color:#fff}
#lc27 .ar-tl-milestone .ar-tl-copy em{color:var(--gold)}
#lc27 .ar-tl-milestone .ar-tl-copy span{color:#c9d4dd}
#lc27 .ar-tl-milestone .ar-tl-mark{color:var(--gold)}
#lc27 .ar-tl-milestone a:hover{background:transparent}
#lc27 .ar-tl-milestone img{box-shadow:none}
@media (min-width:900px){
  #lc27 .ar-tl-milestone .ar-tl-year{background:var(--navy)}
  #lc27 .ar-tl-milestone:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:3px;margin-left:-1.5px;background:var(--gold);z-index:0}
}
@media (max-width:899px){
  #lc27 .ar-tl-milestone:before{left:-60px;right:-60px;width:auto;margin-left:0}
  #lc27 .ar-tl-milestone:after{content:"";position:absolute;top:0;bottom:0;left:-3px;width:3px;background:var(--gold);z-index:2}
  #lc27 .ar-tl-milestone a:before{background:var(--gold);border-color:var(--gold)}
}

/* Timeline rows are links: on hover the picture lifts, the name is underlined in gold, the
   year turns gold, and "View the event" appears. */
#lc27 .ar-tl-item img{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
#lc27 .ar-tl-item a:hover img{transform:translateY(-6px);box-shadow:0 26px 40px -22px #0b1928b3}
#lc27 .ar-tl-year{transition:color .25s}
#lc27 .ar-tl-item a:hover .ar-tl-year{color:#8a6a1f}
#lc27 .ar-tl-copy strong{text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:5px;transition:text-decoration-color .25s}
#lc27 .ar-tl-item a:hover .ar-tl-copy strong{text-decoration-color:var(--gold)}
#lc27 .ar-tl-copy:after{content:"View the event \2192";margin-top:8px;font-size:.78rem;font-weight:600;letter-spacing:.02em;color:#8a6a1f;opacity:0;transform:translateY(4px);transition:opacity .25s,transform .25s}
#lc27 .ar-tl-item a:hover .ar-tl-copy:after,#lc27 .ar-tl-item a:focus-visible .ar-tl-copy:after{opacity:1;transform:none}
#lc27 .ar-tl-milestone a:hover .ar-tl-year{color:var(--gold)}
#lc27 .ar-tl-milestone .ar-tl-copy:after{color:var(--gold)}
#lc27 .ar-tl-milestone a:hover img{box-shadow:0 26px 44px -20px #000}
@media (hover:none){#lc27 .ar-tl-copy:after{display:none}}
@media (prefers-reduced-motion:reduce){#lc27 .ar-tl-item a:hover img{transform:none}}

/* Event cards on /events/ answer a hover the same way as the timeline rows. */
#lc27 .ar-event img,#lc27 .ar-event-year{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,filter .2s}
#lc27 .ar-event:hover img,#lc27 .ar-event:hover .ar-event-year{transform:translateY(-6px);box-shadow:0 26px 40px -22px #0b1928b3}
#lc27 .ar-event-name{text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:5px;transition:text-decoration-color .25s}
#lc27 .ar-event:hover .ar-event-name{text-decoration-color:var(--gold)}
#lc27 .ar-event:after{content:"View the event \2192";margin-top:6px;font-size:.78rem;font-weight:600;color:#8a6a1f;opacity:0;transform:translateY(4px);transition:opacity .25s,transform .25s}
#lc27 .ar-event:hover:after,#lc27 .ar-event:focus-visible:after{opacity:1;transform:none}
@media (hover:none){#lc27 .ar-event:after{display:none}}
@media (prefers-reduced-motion:reduce){#lc27 .ar-event:hover img,#lc27 .ar-event:hover .ar-event-year{transform:none}}

/* Event pages without photos from the day: a shorter opening, the lineup cover beside the title. */
#lc27 .ar-hero-event.has-cover{min-height:0;padding:150px 0 72px;align-items:center}
#lc27 .ar-event-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:56px;align-items:center}
#lc27 .ar-event-cover{margin:0}
#lc27 .ar-event-cover img{width:100%;aspect-ratio:3/2;object-fit:cover;box-shadow:0 30px 60px -24px #000}
@media (max-width:900px){#lc27 .ar-event-grid{grid-template-columns:1fr;gap:28px}#lc27 .ar-hero-event.has-cover{padding:118px 0 48px}}

/* Before / Next between events: clearly buttons, with arrows, that answer a hover. */
/* Before / After: the site's gold button, with the L chevron pointing the way. */
#lc27 .ar-walk a.btn{flex-direction:row;justify-content:flex-start;gap:20px;max-width:46%;min-width:280px;padding:18px 26px;font-size:1.05rem;font-weight:700;text-decoration:none}
#lc27 .ar-walk a.btn span{display:flex;flex-direction:column;gap:4px;font-size:inherit;letter-spacing:0;text-transform:none;color:inherit}
#lc27 .ar-walk a.btn small{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
#lc27 .ar-walk a.btn .lc-chevron{width:16px;height:16px;min-width:16px}
#lc27 .ar-walk-prev .lc-chevron svg{transform:rotate(45deg)}
#lc27 .ar-walk a.ar-walk-prev:hover .lc-chevron{translate:-3px 0}
#lc27 .ar-walk a.ar-walk-next{justify-content:flex-end;text-align:right}
#lc27 .ar-walk a.btn{background:transparent;color:var(--navy);border:1.5px solid var(--navy);min-height:0;padding:14px 22px;font-size:1rem}
#lc27 .ar-walk a.btn .lc-chevron{color:#8a6a1f}
#lc27 .ar-walk a.btn:hover{text-decoration:none;background:var(--navy);color:#fff}
#lc27 .ar-walk a.btn:hover .lc-chevron{color:var(--gold)}
@media (max-width:760px){#lc27 .ar-walk a.btn{min-width:0;max-width:none}}
/* Event headers without photos: the drifting chevrons from the home page behind the title. */
#lc27 .ar-hero:has(>.ar-atmosphere){isolation:isolate}
#lc27 .ar-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
#lc27 .ar-atmosphere i{position:absolute;display:block;box-sizing:border-box;border-style:solid;aspect-ratio:1;transform:rotate(-14deg);animation:home-depth-drift 18s ease-in-out infinite alternate}
#lc27 .ar-atmosphere i:nth-child(1){width:240px;left:40%;top:13%;border-width:24px 0 0 24px;border-color:rgba(27,182,247,.16);filter:blur(4px)}
#lc27 .ar-atmosphere i:nth-child(2){width:150px;right:4%;top:47%;border-width:0 18px 18px 0;border-color:rgba(156,208,115,.18);filter:blur(3px);animation-duration:15s;animation-delay:-8s;animation-direction:alternate-reverse}
#lc27 .ar-atmosphere i:nth-child(3){width:340px;left:30%;top:66%;border-width:38px 0 0 38px;border-color:rgba(245,184,70,.085);filter:blur(12px);animation-duration:23s;animation-delay:-11s}
#lc27 .ar-atmosphere i:nth-child(4){width:85px;left:6%;top:72%;border-width:0 10px 10px 0;border-color:rgba(255,106,58,.18);filter:blur(2px);animation-duration:17s;animation-delay:-5s;animation-direction:alternate-reverse}
#lc27 .ar-atmosphere i:nth-child(5){width:190px;right:24%;top:-8%;border-width:22px 22px 0 0;border-color:rgba(27,182,247,.18);filter:blur(7px);animation-duration:21s;animation-delay:-14s}
@keyframes home-depth-drift{from{transform:translate(-18px,20px) rotate(-16deg)}to{transform:translate(28px,-32px) rotate(4deg)}}
@media (prefers-reduced-motion:reduce){#lc27 .ar-atmosphere i{animation:none}}
@media (max-width:760px){#lc27 .ar-atmosphere i:nth-child(1){width:140px;left:74%;top:22%;border-width:16px 0 0 16px}#lc27 .ar-atmosphere i:nth-child(3){width:220px;left:35%;top:72%}#lc27 .ar-atmosphere i:nth-child(5){display:none}}

/* Filtered directory: one grid of matches, no letter headings. */
#lc27 .ar-directory.is-filtered .ar-letters{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:22px 14px}
#lc27 .ar-directory.is-filtered .ar-letter,#lc27 .ar-directory.is-filtered .ar-letter ul{display:contents}
#lc27 .ar-directory.is-filtered .ar-letter h3{display:none}
@media (max-width:1100px){#lc27 .ar-directory.is-filtered .ar-letters{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (max-width:760px){#lc27 .ar-directory.is-filtered .ar-letters{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Search sits in the filter row, styled like the dropdowns beside it. */
#lc27 .ar-filters .ar-search{margin:0;flex:1 1 280px;max-width:420px;display:flex;flex-direction:column;gap:6px}
#lc27 .ar-filters .ar-search label{margin:0;font-size:.7rem;font-weight:700;letter-spacing:.14em;color:#5b6773}
#lc27 .ar-filters .ar-search input{font-size:.95rem;font-weight:600;padding:12px 16px;border:1.5px solid var(--navy);border-radius:0;background:transparent;color:var(--navy)}
#lc27 .ar-filters .ar-search input::placeholder{color:#7b8792;font-weight:500}
@media (max-width:600px){#lc27 .ar-filters .ar-search{flex-basis:100%;max-width:none}}
/* A filtered directory keeps a screen's worth of height, so the filter row never has to move. */
#lc27 .ar-directory.is-filtered{min-height:100vh}
#lc27 .ar-film-frame video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
/* The film in the site video popup, and the 365 panel over its last frame. */
#lc27 .video-frame video{position:absolute;inset:0;width:100%;height:100%;background:#000}
#lc27 .video-end{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:24px;background:#0b1928;color:#fff;text-align:center}
#lc27 .video-end img{width:min(260px,50%);height:auto}
#lc27 .video-end img.video-end-badge{width:auto;height:min(150px,30%)}
#lc27 .video-end-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 20px;align-items:center}
#lc27 .video-end-actions .text-link{color:#fff;border-bottom-color:#ffffff80}
#lc27 .video-end-again{background:transparent;border:0;color:#b9c8d3;font:inherit;font-size:.8rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
#lc27 .video-end-again:hover{color:#fff}
@media (max-width:600px){#lc27 .video-end{gap:10px;padding:12px}#lc27 .video-end img{width:150px}#lc27 .video-end img.video-end-badge{width:auto;height:64px}#lc27 .video-end .btn{min-height:44px;padding:10px 16px;gap:16px}#lc27 .video-end-actions{gap:8px 16px}}
/* The 25-year badge beside the title, as one lockup; above it on phones. The page uses the version with
   a slight gradient and lift on the 25 (Robert's pick); 25yol-badge-flat.svg is the flat master. */
#lc27 .ar-title-lockup{display:flex;align-items:center;gap:28px}
#lc27 .ar-badge{flex:none;height:clamp(120px,10.4vw,146px);width:auto;filter:drop-shadow(0 12px 22px rgba(0,0,0,.5))}
#lc27 .ar-hero-wall .ar-title-lockup h1{font-size:clamp(2.6rem,5.4vw,4.75rem)}
#lc27 .ar-hero-history .ar-title-lockup h1{margin:0}
@media (max-width:700px){#lc27 .ar-hero-wall{padding-top:112px}#lc27 .ar-title-lockup{flex-direction:column;align-items:flex-start;gap:16px}#lc27 .ar-badge{height:100px}}
/* /history/ opening builds in on first load: badge, title, stats (counting up in archive.js), text, film. */
@keyframes ar-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes ar-badge-in{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}
#lc27 .ar-hero-history .ar-badge{animation:ar-badge-in .65s cubic-bezier(.2,.8,.2,1) both}
#lc27 .ar-hero-history .ar-title-lockup h1{animation:ar-rise .6s .15s cubic-bezier(.2,.8,.2,1) both}
#lc27 .ar-hero-history .ar-stats{animation:ar-rise .5s .35s cubic-bezier(.2,.8,.2,1) both}
#lc27 .ar-hero-history .ar-stats strong{font-variant-numeric:tabular-nums}
#lc27 .ar-hero-history .ar-bio{animation:ar-rise .6s .6s cubic-bezier(.2,.8,.2,1) both}
#lc27 .ar-hero-history .ar-film-card{animation:ar-rise .7s .5s cubic-bezier(.2,.8,.2,1) both}
#lc27 .ar-hero-history .ar-scroll{animation:ar-rise .6s 1s both}
@media (prefers-reduced-motion:reduce){#lc27 .ar-hero-history .ar-badge,#lc27 .ar-hero-history .ar-title-lockup h1,#lc27 .ar-hero-history .ar-stats,#lc27 .ar-hero-history .ar-bio,#lc27 .ar-hero-history .ar-film-card,#lc27 .ar-hero-history .ar-scroll{animation:none}}
/* Custom filter dropdowns: same square, navy-outlined look as the search box; the list matches. */
#lc27 .ar-dd{position:relative}
#lc27 .ar-dd-btn{display:block;width:100%;text-align:left;font:inherit;font-size:.95rem;font-weight:600;color:var(--navy);background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%230b1928' stroke-width='3'/%3E%3C/svg%3E") no-repeat right 14px center/14px;border:1.5px solid var(--navy);border-radius:0;padding:12px 44px 12px 16px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#lc27 .ar-dd-btn:hover{background-color:#0b19280a}
#lc27 .ar-dd-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
#lc27 .ar-dd.is-open .ar-dd-btn{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 15l6-6 6 6' fill='none' stroke='%230b1928' stroke-width='3'/%3E%3C/svg%3E")}
#lc27 .ar-dd-list{position:absolute;z-index:30;top:calc(100% + 6px);left:0;min-width:100%;max-height:320px;overflow-y:auto;margin:0;padding:6px 0;list-style:none;background:#fff;border:1.5px solid var(--navy);box-shadow:0 22px 44px -20px #0b192873;outline:none}
#lc27 .ar-dd-list li{position:relative;padding:10px 18px 10px 20px;font-size:.95rem;font-weight:600;color:var(--navy);cursor:pointer;white-space:nowrap}
#lc27 .ar-dd-list li.is-active{background:#0b19280d}
#lc27 .ar-dd-list li[aria-selected="true"]:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:4px;background:var(--gold)}
#lc27 .ar-dd-list.is-right{left:auto;right:0}
/* The filter row sticks while scrolling the list (wider screens; on phones it would cover too much).
   The full-width cream band is a pseudo-element, so open dropdown lists can hang below it. */
@media (min-width:700px){
  #lc27 .ar-directory .ar-filters{position:sticky;top:0;z-index:25;padding:16px 0;margin-top:-16px}
  #lc27 .ar-directory .ar-filters:before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:-100vmax;right:-100vmax;background:var(--cream);transition:box-shadow .2s}
  #lc27 .ar-directory .ar-filters.is-stuck:before{box-shadow:0 12px 20px -16px #0b192855}
}
#lc27 .ar-filters-mark{height:1px;margin-bottom:-1px}
/* Dropdown list scrollbar: a white track, so it reads as part of the list. */
#lc27 .ar-dd-list{scrollbar-color:#0b192866 #fff;scrollbar-width:thin}
#lc27 .ar-dd-list::-webkit-scrollbar{width:10px;background:#fff}
#lc27 .ar-dd-list::-webkit-scrollbar-track{background:#fff}
#lc27 .ar-dd-list::-webkit-scrollbar-thumb{background:#0b192866;border:3px solid #fff;border-radius:6px}
/* Event headers with a photo: the same height as the other archive headers. */
#lc27 .ar-hero-event.has-photo{min-height:0;padding:150px 0 72px}
@media (max-width:900px){#lc27 .ar-hero-event.has-photo{min-height:0;padding:118px 0 48px}}
/* "The day" photos open in a viewer, the same dark overlay as the site's videos. */
#lc27 .ar-gallery img{cursor:zoom-in}
#lc27 .ar-gallery img:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
#lc27 .ar-lightbox{width:fit-content;max-width:calc(100vw - 32px);max-height:none;padding:0;border:0;background:transparent;overflow:visible;color:#fff}
#lc27 .ar-lightbox::backdrop{background:#0b1928f2}
#lc27 .ar-lightbox figure{margin:0;position:relative}
/* The viewer takes each photo's own shape: no bars, whatever the aspect ratio. */
#lc27 .ar-lightbox img{display:block;width:auto;height:auto;max-width:min(1200px,calc(100vw - 32px));max-height:calc(100vh - 170px);user-select:none;transition:opacity .16s ease,transform .16s ease}
#lc27 .ar-lightbox img.is-leaving{opacity:0;transform:translateX(calc(var(--dir,1) * -24px))}
#lc27 .ar-lightbox img.is-entering{animation:ar-lb-in .32s cubic-bezier(.2,.8,.2,1) both}
@keyframes ar-lb-in{from{opacity:0;transform:translateX(calc(var(--dir,1) * 28px))}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){#lc27 .ar-lightbox img{transition:none}#lc27 .ar-lightbox img.is-entering{animation:none}}
#lc27 .ar-lightbox figcaption{display:flex;justify-content:space-between;gap:16px;margin-top:12px;font-size:.9rem;color:#c9d4dd}
#lc27 .ar-lightbox-count{font-size:.75rem;letter-spacing:.14em;color:#8ca1b2;white-space:nowrap}
#lc27 .ar-lightbox-nav{position:absolute;top:calc(50% - 22px);width:52px;height:52px;margin-top:-26px;border:1px solid #ffffff66;background:#0b1928b3;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
#lc27 .ar-lightbox-nav:hover{border-color:#fff;background:#0b1928}
#lc27 .ar-lightbox-nav:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
#lc27 .ar-lightbox-nav .lc-chevron{width:16px;height:16px}
#lc27 .ar-lightbox-prev{left:12px}#lc27 .ar-lightbox-next{right:12px}
#lc27 .ar-lightbox-prev .lc-chevron svg{transform:rotate(45deg)}
/* End panel: a headline over the two 365 doors, sized to fill the video frame. */
#lc27 .video-end{gap:clamp(10px,2.2vw,22px)}
#lc27 .video-end img.video-end-badge{height:min(118px,20%)}
#lc27 .video-end-eyebrow{margin:0;font-size:clamp(.62rem,1.1vw,.78rem);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
#lc27 .video-end-title{margin:-4px 0 4px;font-size:clamp(1.3rem,3.6vw,2.6rem);font-weight:700;line-height:1.05;letter-spacing:-.03em;color:#fff;text-wrap:balance}
#lc27 .video-end-actions .btn{font-size:clamp(.85rem,1.4vw,1rem);min-height:clamp(44px,5vw,60px);padding:14px 26px}
#lc27 .video-end-actions .text-link{font-size:clamp(.85rem,1.4vw,1rem)}
#lc27 .video-end-line{margin:-6px 0 6px;max-width:34ch;font-size:clamp(.85rem,1.5vw,1.05rem);line-height:1.4;color:#c9d4dd}
@media (max-width:600px){#lc27 .video-end img.video-end-badge{display:none}#lc27 .video-end-eyebrow{display:none}#lc27 .video-end-line{display:none}}
/* End panel in two columns: the badge large on the left, the offer on the right. One column on phones. */
#lc27 .video-end{flex-direction:row;gap:clamp(24px,5vw,64px);text-align:left;padding:clamp(16px,4vw,48px)}
#lc27 .video-end img.video-end-badge{height:min(62%,300px);width:auto;flex:none}
#lc27 .video-end-copy{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(8px,1.6vw,16px);max-width:min(520px,52%)}
#lc27 .video-end-copy .video-end-title{font-size:clamp(1.3rem,3.8vw,3rem);margin:0}
#lc27 .video-end-copy .video-end-line{margin:0;max-width:30ch}
#lc27 .video-end-copy .video-end-actions{justify-content:flex-start;margin-top:4px}
#lc27 .video-end-copy .video-end-again{padding:0}
@media (max-width:600px){#lc27 .video-end{flex-direction:column;text-align:center}#lc27 .video-end-copy{align-items:center;max-width:none}#lc27 .video-end-copy .video-end-actions{justify-content:center}#lc27 .video-end-copy .video-end-title{font-size:1.15rem}}
/* "Watch again" sits apart at the bottom centre of the frame, out of the offer's way. */
#lc27 .video-end-copy .video-end-again{position:absolute;left:50%;bottom:clamp(10px,2.4vw,24px);transform:translateX(-50%);white-space:nowrap}
@media (max-width:600px){#lc27 .video-end-copy .video-end-again{position:static;transform:none}}
/* /history/: the 365 offer band between the regulars and the timeline, styled like the film's end card. */
#lc27 .ar-offer{background:var(--navy);color:#fff;padding:clamp(56px,7vw,96px) 0;margin-top:clamp(56px,7vw,96px);position:relative;overflow:hidden;isolation:isolate}
#lc27 .ar-offer-inner{display:flex;align-items:center;justify-content:center;gap:clamp(28px,6vw,80px)}
#lc27 .ar-offer-badge{height:clamp(180px,20vw,280px);width:auto;flex:none;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45))}
#lc27 .ar-offer-copy{max-width:560px}
#lc27 .ar-offer .eyebrow{color:var(--gold);margin:0 0 12px}
#lc27 .ar-offer h2{margin:0;color:#fff;font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1;letter-spacing:-.04em}
#lc27 .ar-offer-line{margin:16px 0 28px;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.5;color:#c9d4dd;max-width:34ch}
#lc27 .ar-offer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}
#lc27 .ar-offer-actions .text-link{color:#fff;border-bottom-color:#ffffff80}
@media (max-width:760px){#lc27 .ar-offer-inner{flex-direction:column;align-items:flex-start;gap:24px}#lc27 .ar-offer-badge{height:120px}}
/* Names in the photo bars stay on one line; archive.js shrinks a long one to fit (ellipsis only as a last resort). */
#lc27 .ar-face-md .ar-person-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
