*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#efeee7;color:#171713;font-family:Arial,Helvetica,sans-serif;line-height:1.4}a{color:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:#111;color:#fff;padding:1rem}.site-header{height:88px;padding:0 clamp(1rem,3vw,2.5rem);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #bbb9ae;position:relative;z-index:5}.brand{font-weight:900;font-size:2.3rem;letter-spacing:-.11em;text-decoration:none}.brand span{display:inline-block;transform:translateY(.08em)}nav ul{list-style:none;display:flex;gap:1.5rem;margin:0;padding:0}nav a{text-decoration:none;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.hero{min-height:calc(100svh - 88px);padding:2rem clamp(1rem,3vw,2.5rem);display:flex;flex-direction:column}.hero-meta{display:flex;justify-content:space-between;font-size:.68rem;letter-spacing:.14em}.hero-grid{margin:auto 0 8vh;display:grid;grid-template-columns:2.1fr .9fr;gap:5vw;align-items:end}.hero h1{font-size:clamp(4.6rem,13vw,12rem);line-height:.75;letter-spacing:-.08em;margin:0}.hero-grid p{font-size:clamp(1.2rem,2vw,1.6rem);max-width:27rem}.button{display:inline-flex;border:1px solid;padding:1rem 1.2rem;min-width:13rem;justify-content:space-between;text-decoration:none}.button:hover,.button:focus-visible{background:#171713;color:#efeee7}.ticker{padding-top:1rem;border-top:1px solid #bbb9ae;font-size:.7rem;letter-spacing:.13em;white-space:nowrap;overflow:hidden}.section{padding:clamp(5rem,10vw,10rem) clamp(1rem,3vw,2.5rem)}.section-head{display:grid;grid-template-columns:.65fr 1.4fr .7fr;gap:2rem;margin-bottom:5rem}.section-head>div{display:flex;gap:1rem}.section-head h2{font-size:clamp(3.4rem,7vw,7rem);line-height:.83;letter-spacing:-.065em;margin:0}.section-head p{margin:0;max-width:26ch}.num{border:1px solid;border-radius:99px;padding:.2rem .5rem;font-size:.65rem;height:max-content}.section-head small,.card small{font-size:.65rem;letter-spacing:.13em;text-transform:uppercase}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#c3c1b7;border:1px solid #c3c1b7}.card,.empty{background:#efeee7}.card a{text-decoration:none;display:block}.card-media{aspect-ratio:4/3;background:#d7d5ca;overflow:hidden}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.card-media span{height:100%;display:grid;place-items:center;font-size:6rem;font-weight:900;opacity:.16;letter-spacing:-.1em}.card-body{padding:1.2rem;min-height:13rem;position:relative}.card-body h3{font-size:1.8rem;line-height:1;letter-spacing:-.04em;margin:.8rem 2rem .6rem 0}.card-body p{color:#68675f}.card-body b{position:absolute;right:1.2rem;top:1.2rem}.card a:hover img{transform:scale(1.035)}.empty{padding:2rem;grid-column:1/-1}.dark{background:#171713;color:#efeee7}.agenda{border-top:1px solid #555}.agenda a{display:grid;grid-template-columns:7rem 1fr auto;gap:2rem;padding:1.5rem 0;border-bottom:1px solid #555;text-decoration:none;align-items:center}.agenda a strong{font-size:clamp(1.5rem,3vw,3rem);letter-spacing:-.04em}.agenda a:hover{padding-left:1rem}.agenda-empty{padding:2rem 0}.manifest{padding:10vw 3vw;display:grid;grid-template-columns:.4fr 1.6fr;gap:2rem}.manifest p{font-size:clamp(3rem,7vw,7rem);line-height:.9;letter-spacing:-.065em;margin:0}.manifest em{font-style:normal;background:linear-gradient(transparent 60%,#e8ff36 60%)}.site-footer{border-top:1px solid #bbb9ae;padding:2rem 3vw;display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.content-page,.article-wrap{padding:clamp(4rem,8vw,8rem) clamp(1rem,5vw,7rem);min-height:70vh}.archive-head{margin-bottom:4rem}.archive-head h1,.article h1{font-size:clamp(3.5rem,8vw,8rem);line-height:.85;letter-spacing:-.07em;margin:.6rem 0}.article{max-width:1100px;margin:auto}.article .lead{font-size:1.5rem;max-width:38em}.article figure{margin:4rem 0}.article figure img{width:100%;height:auto}.prose{max-width:760px;font-size:1.12rem}.prose p{margin:0 0 1.4em}.pagination{margin-top:3rem}@media(max-width:800px){.site-header{height:72px}.site-header nav ul{gap:.7rem}.hero{min-height:calc(100svh - 72px)}.hero-grid,.section-head,.manifest{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.hero-grid{margin:auto 0 3rem}.section-head{margin-bottom:3rem}.agenda a{grid-template-columns:3rem 1fr auto;gap:1rem}.site-footer{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* v1.1 — richer archive, single and footer system */
.archive-hero{padding:clamp(4rem,9vw,9rem) 0;border-bottom:1px solid #bbb9ae;margin-bottom:clamp(3rem,6vw,6rem)}
.archive-hero__meta,.article-meta{display:flex;justify-content:space-between;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:2rem}
.archive-hero__grid{display:grid;grid-template-columns:1.7fr .7fr;gap:4rem;align-items:end}
.archive-hero h1{font-size:clamp(4rem,10vw,10rem);line-height:.8;letter-spacing:-.075em;margin:0}
.archive-hero p{font-size:1.2rem;max-width:30rem;margin:0}
.archive-cards{margin-bottom:3rem}
.archive-list{border-top:1px solid #bbb9ae}
.archive-row{display:grid;grid-template-columns:6rem 1fr auto;gap:2rem;padding:1.7rem 0;border-bottom:1px solid #bbb9ae;text-decoration:none;align-items:start;transition:padding .2s}
.archive-row:hover,.archive-row:focus-visible{padding-left:1rem}.archive-row time,.archive-row small{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.archive-row h2{font-size:clamp(1.7rem,3.5vw,3.5rem);line-height:.95;letter-spacing:-.045em;margin:.35rem 0}.archive-row p{max-width:48rem;color:#68675f}
.article-head{padding-top:2rem}.article-head h1{max-width:12ch}.article-image{max-width:none;margin:4rem calc(50% - 50vw)}.article-image img{width:100%;max-height:75vh;object-fit:cover}
.factbar{display:grid;grid-template-columns:8rem 1fr auto;gap:2rem;padding:1.25rem 0;border-top:1px solid #bbb9ae;border-bottom:1px solid #bbb9ae;align-items:center}.factbar span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.factbar a{text-decoration:none}
.article-layout{display:grid;grid-template-columns:.45fr 1.2fr .25fr;gap:4rem;margin:5rem 0}.article-layout .prose{grid-column:2}.article-aside{font-size:.8rem;border-top:1px solid;padding-top:1rem}.article-aside span{font-weight:700;letter-spacing:.1em}.article-aside p{color:#68675f}
.prose h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1;letter-spacing:-.04em;margin:1.5em 0 .5em}.prose h3{font-size:1.5rem}.prose a{text-decoration-thickness:1px;text-underline-offset:3px}
.related{margin-top:8rem;border-top:1px solid #bbb9ae;padding-top:4rem}.related>header{display:flex;align-items:end;justify-content:space-between;margin-bottom:2rem}.related h2{font-size:clamp(2.5rem,5vw,5rem);letter-spacing:-.055em;margin:0}
.site-footer{display:block;padding:0;border-top:1px solid #bbb9ae}.footer-top{padding:clamp(4rem,7vw,7rem) 3vw;display:grid;grid-template-columns:1.7fr repeat(3,.6fr);gap:4rem}.footer-brand p{max-width:28rem;font-size:1.1rem;color:#68675f}.brand--footer{font-size:clamp(4rem,8vw,8rem);display:inline-block;margin-bottom:2rem}.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem}.footer-col small{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.7rem;color:#68675f}.footer-col a{text-decoration:none;border-bottom:1px solid transparent}.footer-col a:hover,.footer-col a:focus-visible{border-color:currentColor}.footer-col .menu-item{list-style:none}.footer-bottom{border-top:1px solid #bbb9ae;padding:1.25rem 3vw;display:flex;justify-content:space-between;gap:1rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.footer-bottom a{text-decoration:none}
@media(max-width:800px){.archive-hero__grid,.article-layout,.footer-top{grid-template-columns:1fr}.article-layout .prose{grid-column:1}.article-aside{max-width:28rem}.archive-row{grid-template-columns:3rem 1fr auto;gap:1rem}.factbar{grid-template-columns:1fr;gap:.5rem}.footer-top{gap:3rem}.footer-bottom{flex-direction:column}.article-image{margin:3rem -1rem}}

.footer-menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}
.footer-menu li{margin:0;padding:0}
.footer-menu a{text-decoration:none}

/* v1.4 — consistent titles/pages */
.standard-page{padding:clamp(4rem,8vw,8rem) clamp(1rem,5vw,7rem);min-height:70vh}
.page-entry{max-width:1200px;margin:auto}.page-head{padding:2rem 0 clamp(3rem,7vw,7rem)}
.page-kicker{display:flex;justify-content:space-between;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:2rem}
.page-head h1{font-size:clamp(4rem,10vw,9rem);line-height:.82;letter-spacing:-.07em;margin:0;max-width:12ch}
.page-head .lead{font-size:clamp(1.2rem,2vw,1.6rem);max-width:42rem;margin-top:2rem}
.page-image{margin:0 0 5rem}.page-image img{width:100%;height:auto;max-height:70vh;object-fit:cover}
.page-layout{display:grid;grid-template-columns:.4fr 1fr .2fr;gap:4rem}.page-layout .prose{grid-column:2}
.error-page{min-height:60vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.error-page h1{font-size:clamp(4rem,10vw,9rem);line-height:.82;letter-spacing:-.07em;max-width:10ch;margin:.5rem 0 2rem}.error-page p{font-size:1.2rem;margin-bottom:2rem}
@media(max-width:800px){.page-layout{grid-template-columns:1fr}.page-layout .prose{grid-column:1}}

.article-taxonomy{margin-top:1rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
.article-taxonomy a{text-decoration:none}
.legal-nav{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}
.legal-nav a{text-decoration:none;border-bottom:1px solid currentColor}
.legal-page .prose h2{margin-top:2.5em}

/* v2.1 — photographic editorial cards */
.card-media{margin:0;position:relative;aspect-ratio:16/10;background:#d7d5ca;overflow:hidden}
.card-media img,.card-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.card-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.card-meta time{font-size:.65rem;letter-spacing:.08em;color:#68675f}
.card.no-image .card-body{min-height:21rem;display:flex;flex-direction:column;justify-content:flex-end}
.card.no-image .card-body h3{font-size:clamp(2rem,3vw,3.25rem);max-width:12ch}
.card.has-image .card-body{min-height:14rem}
.image-credit{font-size:.68rem;line-height:1.35;color:#68675f;margin-top:.65rem}
.image-credit a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
.article-image{position:relative}
.article-image img{display:block;width:100%;height:auto;max-height:78vh;object-fit:cover}
@media(max-width:800px){
  .card-media{aspect-ratio:16/10}
  .card.no-image .card-body{min-height:17rem}
}

/* v2.2 — tighter editorial rhythm */
:root{
  --space-section:clamp(2.5rem,5vw,5rem);
  --space-block:clamp(1.25rem,2.5vw,2.5rem);
}
main{padding-top:0}
.hero,.archive-head,.page-head,.article-head{
  padding-top:clamp(2.25rem,5vw,4.75rem);
  padding-bottom:clamp(1.75rem,4vw,3.5rem);
}
section,.section{margin-top:var(--space-section);margin-bottom:var(--space-section)}
.hero + section,.archive-head + section,.page-head + .page-layout,.article-head + .article-layout{
  margin-top:0;
}
.page-layout,.article-layout{padding-top:var(--space-block);padding-bottom:var(--space-section)}
.prose > *{margin-top:0;margin-bottom:1.15em}
.prose h2,.prose h3{margin-top:1.75em;margin-bottom:.55em}
.prose p + p{margin-top:.85em}
.card-body{padding:clamp(1rem,2vw,1.5rem)}
.card-body h3{margin:.55rem 0 .65rem}
.card-body p{margin:0}
.site-footer{margin-top:clamp(3rem,6vw,6rem)}
.site-credit{
  margin-top:clamp(1.5rem,3vw,2.5rem);
  padding-top:1rem;
  border-top:1px solid currentColor;
  font-size:.72rem;
  letter-spacing:.04em;
}
.site-credit a{color:inherit;text-underline-offset:.2em}
@media(max-width:800px){
  .hero,.archive-head,.page-head,.article-head{padding-top:2rem;padding-bottom:1.5rem}
  section,.section{margin-top:2.5rem;margin-bottom:2.5rem}
  .page-layout,.article-layout{padding-top:1.25rem;padding-bottom:2.75rem}
}

/* v2.3 — compact hero grid */
.hero{
  margin:0;
  padding:clamp(1rem,2.5vw,2.25rem) 0 clamp(1.25rem,3vw,2.75rem);
}
.hero .wrap,.hero .container{
  padding-top:0;
  padding-bottom:0;
}
.hero-grid{
  margin:0;
  gap:clamp(.75rem,1.4vw,1.25rem);
  align-items:stretch;
}
.hero-grid > *{margin:0;min-width:0}
.hero-grid .card{margin:0;height:100%}
.hero-grid .card > a{height:100%}
.hero-grid .card-body{padding:clamp(.9rem,1.6vw,1.25rem)}
.hero-grid .card-media{margin:0}
.hero + section,.hero + .section{
  margin-top:0;
  padding-top:0;
}
.home main > section:first-of-type,
.home main > .section:first-of-type{
  margin-top:0;
}
@media(min-width:801px){
  .hero-grid{column-gap:1rem;row-gap:1rem}
}
@media(max-width:800px){
  .hero{padding-top:.75rem;padding-bottom:1.5rem}
  .hero-grid{gap:.75rem}
}

/* v2.4 — front page editorial redesign */
.front-page{overflow:hidden}
.front-hero,.front-section,.front-manifest{margin:0;padding-left:clamp(1rem,3vw,2.5rem);padding-right:clamp(1rem,3vw,2.5rem)}
.front-hero{padding-top:1rem;padding-bottom:1.25rem;min-height:auto}
.front-hero__meta{display:flex;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid #bbb9ae;font-size:.65rem;letter-spacing:.13em;text-transform:uppercase}
.front-hero__grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(18rem,.65fr);gap:clamp(2rem,5vw,6rem);align-items:end;padding:clamp(2rem,5vw,5rem) 0 clamp(2rem,4vw,4rem)}
.front-hero__title small{display:block;margin-bottom:1rem;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}
.front-hero h1{margin:0;font-size:clamp(4.7rem,11.5vw,10.5rem);line-height:.76;letter-spacing:-.075em}
.front-hero h1 em{font-style:normal;-webkit-text-stroke:1.5px #171713;color:transparent}
.front-hero__intro{padding-bottom:.4rem}
.front-hero__intro p{font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.35;margin:0 0 1.5rem;max-width:26rem}
.button--solid{background:#171713;color:#efeee7;border-color:#171713;gap:2rem}
.button--solid:hover,.button--solid:focus-visible{background:#e8ff36;color:#171713;border-color:#171713}
.front-hero__ticker{display:flex;gap:0;border-top:1px solid #bbb9ae;border-bottom:1px solid #bbb9ae;overflow:auto;scrollbar-width:none}
.front-hero__ticker::-webkit-scrollbar{display:none}
.front-hero__ticker span{flex:0 0 auto;padding:.75rem 1.25rem .75rem 0;margin-right:1.25rem;border-right:1px solid #bbb9ae;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}

.front-section{padding-top:clamp(3rem,6vw,6rem);padding-bottom:clamp(3rem,6vw,6rem)}
.front-section__head{display:grid;grid-template-columns:.55fr 1.35fr .65fr;gap:clamp(1.5rem,3vw,3rem);align-items:start;margin:0 0 clamp(2rem,4vw,3.5rem)}
.front-section__label{display:flex;align-items:flex-start;gap:.8rem}
.front-section__head h2{font-size:clamp(3rem,6.5vw,6.5rem);line-height:.82;letter-spacing:-.06em;margin:0}
.front-section__aside{max-width:24rem}
.front-section__aside p{margin:0 0 1rem;color:#68675f}
.dark .front-section__aside p{color:#aaa99f}
.text-link{display:inline-flex;gap:.6rem;text-decoration:none;border-bottom:1px solid;padding-bottom:.15rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}

.front-news__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #c3c1b7;background:#c3c1b7;gap:1px}
.front-news__item{min-width:0;background:#efeee7}
.front-news__item .card{height:100%}
.front-news__item .card>a{height:100%;display:flex;flex-direction:column}
.front-news__item .card-body{flex:1}
.front-news__item--1{grid-column:span 2;grid-row:span 2}
.front-news__item--1 .card-media{aspect-ratio:16/9}
.front-news__item--1 .card-body h3{font-size:clamp(2.3rem,4vw,4.4rem);max-width:12ch}
.front-news__item--1 .card-body{min-height:17rem}
.front-news__item--2,.front-news__item--3{grid-column:span 1}
.front-news__item--4,.front-news__item--5{grid-column:span 1}
.front-news__item:not(.front-news__item--1) .card-body h3{font-size:clamp(1.35rem,2vw,2rem)}
.front-news__item:not(.front-news__item--1) .card-body p{font-size:.9rem}
.front-news__item:not(.front-news__item--1) .card.no-image .card-body{min-height:18rem}

.front-agenda{padding-left:clamp(1rem,3vw,2.5rem);padding-right:clamp(1rem,3vw,2.5rem)}
.agenda--front a{grid-template-columns:clamp(5rem,9vw,8rem) 1fr 2rem;padding:1.15rem 0}
.agenda--front a strong{font-size:clamp(1.4rem,2.5vw,2.6rem);line-height:1}
.agenda-arrow{font-size:1.2rem}

.front-places__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.front-places__grid .card{border-top:1px solid #bbb9ae}
.front-places__grid .card-media{aspect-ratio:3/2}
.front-places__grid .card-body{padding-left:0;padding-right:0}
.front-places__grid .card-body b{right:0}

.front-manifest{padding-top:clamp(4rem,8vw,8rem);padding-bottom:clamp(4rem,8vw,8rem);display:grid;grid-template-columns:.45fr 1.55fr;gap:2rem;border-top:1px solid #bbb9ae}
.front-manifest small{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase}
.front-manifest p{font-size:clamp(3rem,6.8vw,7rem);line-height:.9;letter-spacing:-.06em;margin:0}
.front-manifest em{font-style:normal;background:linear-gradient(transparent 62%,#e8ff36 62%)}

@media(max-width:1000px){
 .front-news__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .front-news__item--1{grid-column:span 2;grid-row:auto}
 .front-places__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
 .front-hero{padding-top:.75rem}
 .front-hero__meta span:last-child{display:none}
 .front-hero__grid{grid-template-columns:1fr;gap:1.5rem;padding:2rem 0}
 .front-hero h1{font-size:clamp(4.1rem,20vw,7rem)}
 .front-hero__intro{max-width:32rem}
 .front-section{padding-top:3.5rem;padding-bottom:3.5rem}
 .front-section__head{grid-template-columns:1fr;margin-bottom:2rem;gap:1rem}
 .front-section__label{margin-bottom:.5rem}
 .front-section__head h2 br{display:none}
 .front-news__grid,.front-places__grid{grid-template-columns:1fr}
 .front-news__item--1{grid-column:auto}
 .front-news__item--1 .card-body h3{font-size:clamp(2rem,9vw,3.2rem)}
 .front-news__item .card.no-image .card-body{min-height:14rem}
 .front-places__grid{gap:0}
 .front-places__grid .card{border-bottom:1px solid #bbb9ae}
 .front-manifest{grid-template-columns:1fr;gap:1.5rem}
}
