

:root{
  --font:"Montserrat", system-ui, sans-serif;   

  --red:#a6333a; --red-deep:#87282f; --red-soft:#cf6b68;
  --ink:#0f0f11;                                
  --fg-soft:#5f6063;
  --bg:#ffffff; --surface:#f2f1f0; --raise:#e4e3e1;
  --rule:rgba(15,15,17,.13);
  --measure:60ch;
  --r:10px;
  --s1:.8rem; --s2:1rem; --s3:1.1rem; --s4:1.3rem;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--font); font-size:var(--s3); line-height:1.75;
  font-weight:400; -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{max-width:100%; display:block}
a{color:inherit}

h1{margin:0; font-weight:800; font-size:clamp(2.5rem, 5.4vw, 4rem);
  line-height:1.14; letter-spacing:-.022em; text-wrap:balance}
h2{margin:0; font-weight:800; font-size:clamp(1.35rem, 2.3vw, 1.85rem);
  line-height:1.22; letter-spacing:.02em; text-transform:uppercase; text-wrap:balance}
h3{margin:0; font-size:var(--s4); font-weight:700; letter-spacing:-.005em; line-height:1.32}
p{margin:0 0 1.05rem; max-width:var(--measure); text-wrap:pretty}

p + p{margin-top:1rem}

h2.voice{text-transform:none; letter-spacing:-.012em}

.wrap{width:min(100% - 2.5rem, 72rem); margin-inline:auto}

[hidden]{display:none !important}

.nav .wrap,footer .wrap{width:min(100% - 3rem, 80rem)}
section{padding-block:clamp(3.5rem, 7vw, 5.5rem)}
.sub{background:var(--surface)}
.lede{font-size:var(--s4); font-weight:400; max-width:46ch; color:var(--fg-soft); line-height:1.6}
.inline{color:var(--red); font-weight:700; text-decoration:none; font-size:var(--s2);
  border-bottom:2px solid rgba(166,51,58,.28); padding-bottom:1px}
.inline:hover{border-bottom-color:var(--red)}

.eyebrow{font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--red); margin:0 0 .6rem; max-width:none}

.mark{width:44px; height:4px; background:var(--red); border-radius:2px}

.bar{
  position:sticky; top:0; z-index:50; background:var(--ink); color:#fff;
  font-size:.76rem; font-weight:600; padding:.62rem 0; letter-spacing:.03em;
}
.bar .wrap{display:flex; gap:.35rem 1.4rem; flex-wrap:wrap; align-items:center; justify-content:center}
.bar span{white-space:nowrap}

.bar .sep{display:none}
@media(min-width:38rem){ .bar .sep{display:inline; color:var(--red-soft)} }

.nav{padding-block:1.15rem; border-bottom:1px solid var(--rule)}
.nav .wrap{display:flex; align-items:center; flex-wrap:wrap; gap:.7rem 1.5rem}
.nav__logo{display:block; margin-right:auto}

.nav__logo img{height:58px; width:auto}

.nav__toggle{
  display:inline-flex; flex-direction:column; justify-content:center; gap:5px;
  width:42px; height:42px; padding:9px; background:none; border:0; cursor:pointer;
}
.nav__toggle span{display:block; width:100%; height:2px; background:var(--ink);
  border-radius:2px; transition:transform .2s ease, opacity .2s ease}
.nav__toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.nav__menu{display:none; flex-basis:100%; flex-direction:column;
  align-items:flex-start; gap:1.1rem; padding-top:.7rem}
.nav__menu.open{display:flex}

.nav__links{display:flex; flex-direction:column; gap:.95rem;
  font-size:.85rem; font-weight:600; text-transform:uppercase; letter-spacing:.12em}
.nav__links a{text-decoration:none; color:var(--fg-soft); padding:.1rem 0; border-bottom:2px solid transparent}
.nav__links a:hover{color:var(--ink); border-bottom-color:var(--red)}
.nav__links a[aria-current="page"]{color:var(--ink); border-bottom-color:var(--red)}

@media(min-width:58rem){
  .nav__toggle{display:none}
  .nav__menu{display:contents}
  .nav__links{flex-direction:row; flex-wrap:wrap; gap:.5rem 1.9rem; font-size:.82rem}
  
  .nav .wrap{justify-content:space-between}
  .nav__logo{margin-right:0}
  .nav{padding-block:1.85rem}
  .nav__logo img{height:70px}
}

.nav__item{position:relative; display:flex; flex-wrap:wrap; align-items:center; gap:.5rem}
.nav__dropdown{display:none; flex-direction:column; gap:.9rem; width:100%;
  padding:.5rem 0 .1rem .9rem; border-left:2px solid var(--rule)}
.nav__dropdown.open{display:flex}
.nav__dropdown a{text-decoration:none; color:var(--fg-soft); font-size:.82rem;
  text-transform:uppercase; letter-spacing:.1em; border-bottom:2px solid transparent; width:max-content}
.nav__dropdown a:hover{color:var(--ink); border-bottom-color:var(--red)}
@media(min-width:58rem){
  .nav__item{gap:.3rem}
  .nav__dropdown{position:absolute; top:100%; left:-1rem; width:max-content; min-width:12rem;
    background:var(--bg); border:1px solid var(--rule); border-radius:var(--r);
    box-shadow:0 14px 34px -18px rgba(15,15,17,.5); padding:.5rem 0; margin-top:.7rem; gap:0; z-index:60}
  
  .nav__dropdown::before{content:""; position:absolute; top:-.7rem; left:0; right:0; height:.7rem}
  .nav__item:hover .nav__dropdown,
  .nav__item:focus-within .nav__dropdown{display:flex}
  .nav__dropdown a{padding:.55rem 1.1rem; width:auto; border-bottom:0; letter-spacing:.08em}
  .nav__dropdown a:hover{background:var(--surface); color:var(--red); border-bottom:0}
}

.btn{
  display:inline-block; padding:.85rem 1.7rem; border-radius:var(--r);
  font-weight:700; font-size:.75rem; text-decoration:none; text-transform:uppercase;
  letter-spacing:.11em; border:2px solid transparent; transition:background .15s ease;
}
.btn--primary{background:var(--red); color:#fff}
.btn--primary:hover{background:var(--red-deep)}
.btn--ghost{border-color:rgba(15,15,17,.22); color:var(--ink)}
.btn--ghost:hover{background:rgba(15,15,17,.05); border-color:var(--ink)}
.btn--big{font-size:.82rem; padding:1rem 2rem}
.cta{display:flex; gap:.7rem; flex-wrap:wrap}

.photo{
  position:relative; overflow:hidden; border-radius:var(--r);
  background:var(--raise); aspect-ratio:var(--ar, 4/3);
}
.photo img{display:block; width:100%; height:100%; object-fit:cover}
.photo--hero{--ar:16/9}
.photo--portrait{--ar:3/4}

.card > .photo{border-radius:0}

.timeline__photo .photo, .slideshow__slide .photo{aspect-ratio:auto; height:100%}

.shot{
  display:flex; flex-direction:column; justify-content:flex-start; gap:.4rem;
  background:var(--raise); border:2px dashed var(--red); border-radius:var(--r);
  color:#45433f; padding:1.1rem; overflow:auto;
  font-size:.78rem; line-height:1.45; font-weight:500;
}
.shot b{font-size:.66rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--red-deep); font-weight:800; line-height:1.3}
.shot i{font-style:normal; opacity:.72}

.shot--hero{aspect-ratio:16/9}
@media(max-width:34rem){ .shot--hero{aspect-ratio:auto; min-height:52vw} }

.hero{
  position:relative; text-align:center; color:#fff;
  padding:clamp(4.5rem,12vw,8rem) 0;
  background:linear-gradient(rgba(15,15,17,.58),rgba(15,15,17,.68)),
             url("images/hero-temp.jpg") center/cover no-repeat;
}
.hero .mark{margin:0 auto 1.4rem}
.hero h1{max-width:15ch; margin-inline:auto; color:#fff}
.hero__sub{font-size:clamp(1.1rem,1.8vw,1.35rem); font-weight:400; color:rgba(255,255,255,.88);
  margin:1.2rem auto 1.9rem; max-width:42ch}
.hero .cta{justify-content:center}

.hero .btn--ghost{border-color:rgba(255,255,255,.4); color:#fff}
.hero .btn--ghost:hover{background:rgba(255,255,255,.12); border-color:#fff}

.hero.hero--video{
  overflow:hidden;
  background:#0f0f11 url("images/hero-poster.jpg") center/cover no-repeat;
}
.hero--video .hero__video{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; z-index:0;
}
.hero--video::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(rgba(15,15,17,.58),rgba(15,15,17,.68));
}
.hero--video .wrap{position:relative; z-index:2}

@media (prefers-reduced-motion:reduce){
  .hero--video .hero__video{display:none}
}

.head{padding-bottom:0; text-align:center}
.head .mark{margin:0 auto 1.4rem}
.head h1{max-width:18ch; margin-inline:auto}
.head .lede{margin:1.2rem auto 0}

.pagehead{
  position:relative; text-align:center; color:#fff;
  padding-block:clamp(3rem,6.5vw,4.6rem);
  background-color:var(--ink);
  background-image:linear-gradient(rgba(15,15,17,.62),rgba(15,15,17,.72)),
                   var(--pagehead-img, linear-gradient(var(--ink),var(--ink)));
  background-size:cover; background-position:center; background-repeat:no-repeat;
}
.pagehead .mark{margin:0 auto 1.1rem}

.pagehead h1{color:#fff; max-width:17ch; margin-inline:auto;
  font-size:clamp(2rem,3.9vw,2.9rem)}
.pagehead__sub{font-size:var(--s3); font-weight:400; color:rgba(255,255,255,.74);
  margin:.9rem auto 0; max-width:48ch; line-height:1.6}

.pagehead--red{background-color:var(--red); background-image:none;
  
  border-bottom:8px solid var(--ink)}

.pagehead--red .mark{background:var(--ink)}
.pagehead--red .eyebrow{color:var(--ink)}

.pagehead--red .inline{color:var(--ink); border-bottom-color:rgba(15,15,17,.4)}
.pagehead--red .inline:hover{border-bottom-color:var(--ink)}

.pagehead--red .pagehead__sub{color:rgba(255,255,255,.9)}

.cards{display:grid; gap:1.1rem; grid-template-columns:1fr; align-items:stretch}
@media(min-width:48rem){ .cards--2{grid-template-columns:1fr 1fr} }
@media(min-width:40rem){ .cards--3{grid-template-columns:1fr 1fr} }
@media(min-width:64rem){ .cards--3{grid-template-columns:repeat(3,1fr)} }

@media(min-width:40rem){ .cards--4{grid-template-columns:1fr 1fr} }
@media(min-width:52rem){ .cards--4{grid-template-columns:repeat(4,1fr)} }

.card{
  background:var(--bg); border:1px solid var(--rule); border-radius:var(--r);
  overflow:hidden; display:flex; flex-direction:column; height:100%;
  text-decoration:none; box-shadow:0 10px 26px -22px rgba(15,15,17,.55);
  transition:box-shadow .16s ease, border-color .16s ease, transform .16s ease;
}

.card__body{padding:1.5rem; display:flex; flex-direction:column; flex:1}
.card__body .mark{margin-bottom:.85rem; flex:none}

.card__body > .card__foot{margin-top:auto}
.card h3{margin-bottom:.4rem}

.cap{color:var(--fg-soft); max-width:none; font-size:var(--s2); margin:0}
.card__body > p:last-child{margin-bottom:0}
.card > .shot{border-radius:0; flex:none; aspect-ratio:4/3}

a.card:hover{box-shadow:0 18px 38px -20px rgba(15,15,17,.5);
  border-color:rgba(166,51,58,.45); transform:translateY(-2px)}
a.card:hover h3{color:var(--red)}
a.card .card__body::after{
  content:"\2192"; margin-top:auto; align-self:flex-start;
  color:var(--red); font-weight:800; font-size:1.25rem; line-height:1;
  padding-top:1.1rem; transition:transform .16s ease;
}
a.card:hover .card__body::after,
a.card:active .card__body::after{transform:translateX(5px)}

.card--feature{display:grid; grid-template-columns:1fr}
.card--feature .card__body{padding:clamp(1.6rem,3vw,2.4rem)}
.card--feature > .shot{aspect-ratio:auto; height:100%; min-height:290px}
@media(min-width:58rem){
  .card--feature{grid-template-columns:1.05fr .95fr}
  
  .card--flip{grid-template-columns:.95fr 1.05fr}
  .card--flip > *:first-child{order:2}
}

.facts{margin:0; max-width:none}
.facts > div{display:flex; gap:.35rem 2rem; flex-wrap:wrap; align-items:baseline;
  padding:1rem 0; border-bottom:1px solid var(--rule)}
.facts > div:last-child{border-bottom:0; padding-bottom:0}
.facts dt{font-weight:700; flex:0 0 9.5rem; margin:0; font-size:var(--s2)}
.facts dd{margin:0; color:var(--fg-soft); flex:1 1 18rem; min-width:0;
  font-size:var(--s2); text-wrap:pretty}

@media(min-width:46rem){
  .facts--row{display:flex}
  .facts--row > div{flex:1; flex-direction:column; align-items:flex-start; gap:.35rem;
    padding:.1rem 1.5rem; border-bottom:0; border-left:1px solid var(--rule)}
  .facts--row > div:first-child{padding-left:0; border-left:0}
  .facts--row dt{flex:none; margin:0}
  .facts--row dd{flex:none}
}

.card--media > .cardmedia{
  position:relative; display:flex; align-items:flex-end;
  min-height:8.5rem; padding:1.1rem 1.4rem;
  background-color:var(--ink);
  background-image:linear-gradient(rgba(15,15,17,.2),rgba(15,15,17,.8)),
                   var(--card-img, linear-gradient(var(--ink),var(--ink)));
  background-size:cover; background-position:center; background-repeat:no-repeat;
}
.card--media .cardmedia h3{color:#fff; margin:0; text-wrap:balance}

.card--media .card__body{padding-top:1.25rem}

.card--prose{max-width:52rem}

.card--center{margin-inline:auto}

.optlist{list-style:none; margin:1.3rem 0 0; padding:0; max-width:none;
  display:grid; grid-template-columns:1fr 1fr; gap:0 1.6rem}
@media(min-width:48rem){ .optlist{grid-template-columns:repeat(3,1fr)} }
.optlist li{padding:.55rem 0; border-bottom:1px solid var(--rule);
  font-size:var(--s2); color:var(--fg-soft)}

.steps{list-style:none; margin:0; padding:0; max-width:none; counter-reset:step}
.steps li{padding:.9rem 0; border-bottom:1px solid var(--rule);
  font-size:var(--s2); color:var(--fg-soft); line-height:1.6; text-wrap:pretty}

.steps li:last-child{border-bottom:0}
ol.steps li{counter-increment:step; display:flex; gap:.9rem}
ol.steps li::before{content:counter(step); color:var(--red); font-weight:800;
  flex:none; font-variant-numeric:tabular-nums}

.events{margin:0; max-width:none}
.events > div{display:flex; gap:.3rem 1.75rem; flex-wrap:wrap; align-items:baseline;
  padding:1rem 0; border-bottom:1px solid var(--rule)}
.events > div:last-child{border-bottom:0; padding-bottom:0}

.events dt{font-weight:700; flex:0 0 10rem; margin:0; color:var(--red);
  font-size:var(--s2); white-space:nowrap}
.events dd{margin:0; flex:1 1 16rem; min-width:0; font-size:var(--s2); text-wrap:pretty}
.events dd small{display:block; color:var(--fg-soft); font-size:var(--s1); margin-top:.15rem}
.events .pin dd strong{font-size:var(--s3)}

.band{background:var(--ink); color:#fff; text-align:center}
.band .mark{margin:0 auto 1.2rem}
.band h2{max-width:22ch; margin-inline:auto}
.band .lede{color:#b9babd; margin:1rem auto 0}
.band .cta{justify-content:center}
.band .btn--ghost{border-color:rgba(255,255,255,.35); color:#fff}
.band .btn--ghost:hover{background:rgba(255,255,255,.1); border-color:#fff}

.flow{display:grid; grid-template-columns:1fr 1fr; gap:1rem}
@media(min-width:58rem){ .flow{grid-template-columns:repeat(4,1fr)} }
.flow__step{
  background:var(--bg); border:1px solid var(--rule); border-radius:var(--r);
  padding:1.4rem 1.3rem; box-shadow:0 10px 26px -22px rgba(15,15,17,.55);
  display:flex; flex-direction:column; gap:.55rem;
}
.flow__num{font-size:2.5rem; font-weight:800; color:var(--red); line-height:.9;
  font-variant-numeric:tabular-nums}
.flow__step h3{margin:0; font-size:1.05rem}
.flow__step p{margin:0; color:var(--fg-soft); font-size:.9rem; line-height:1.5}

.showcase{
  min-height:clamp(300px,48vw,480px);
  display:grid; place-items:center; text-align:center; color:#fff;
  background:linear-gradient(rgba(15,15,17,.46),rgba(15,15,17,.58)),
             url("images/hero-temp.jpg") center/cover no-repeat;
}
.showcase .line{font-size:clamp(1.5rem,3.4vw,2.4rem); font-weight:800;
  max-width:20ch; margin:0 auto; padding:0 1.5rem; letter-spacing:-.012em;
  text-wrap:balance}

.video,.map{width:100%; border:0; display:block; border-radius:var(--r)}
.video{aspect-ratio:16/9}
.map{aspect-ratio:16/10}
.card > .video,.card > .map{border-radius:0}

.form{
  background:var(--bg); border:1px solid var(--rule); border-radius:var(--r);
  padding:clamp(1.5rem,4vw,2.2rem); max-width:40rem;
  box-shadow:0 10px 26px -22px rgba(15,15,17,.55);
}
.form .mark{margin-bottom:1.2rem}
.form label{display:block; font-weight:700; font-size:var(--s2); margin:1.1rem 0 .35rem}
.form label:first-of-type{margin-top:0}

.opt{font-weight:400; color:var(--fg-soft)}
.form input,.form textarea,.form select{
  width:100%; padding:.8rem .9rem; font:inherit; font-size:var(--s2);
  border:1px solid var(--rule); border-radius:var(--r);
  background:var(--bg); color:var(--ink);
}
.form textarea{resize:vertical; line-height:1.6}

.form select{
  appearance:none; -webkit-appearance:none; cursor:pointer;
  padding-right:2.4rem;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23a6333a' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 1rem center;
  background-size:.7rem;
}
.form input:focus,.form textarea:focus,.form select:focus{outline:2px solid var(--red); outline-offset:1px}
.form .btn{margin-top:1.5rem; cursor:pointer; font-family:inherit}
.next{font-size:var(--s1); color:var(--fg-soft); margin:1rem 0 0; max-width:none}

details{border-bottom:1px solid var(--rule); max-width:none}
details:last-child{border-bottom:0}
details summary{
  padding:1rem 0; font-weight:700; font-size:var(--s2); cursor:pointer;
  list-style:none; display:flex; justify-content:space-between; gap:1rem;
  text-wrap:pretty;
}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+"; color:var(--red); font-weight:800; flex:none}
details[open] summary::after{content:"\2013"}
details summary:hover{color:var(--red)}
details p{padding-bottom:1rem; margin:0; color:var(--fg-soft); font-size:var(--s2); max-width:none}

.card__body > details{border-bottom:0; border-top:1px solid var(--rule); margin-top:1.1rem}
.card__body > details > summary{padding-bottom:.85rem}
.card__body > details .facts{margin-top:0}

.evrow__body > details{border-bottom:0; border-top:1px solid var(--rule); margin-top:1.1rem}
.evrow__body > details > summary{padding-bottom:.85rem}
.evrow__body > details .facts{margin-top:0}

.announce{background:var(--red); color:#fff; padding-block:clamp(2.75rem,7vw,4rem)}
.announce__date{font-size:var(--s1); letter-spacing:.13em; text-transform:uppercase;
  font-weight:800; color:rgba(255,255,255,.82); margin:0 0 .5rem; max-width:none}
.announce h2{color:#fff; margin:0; max-width:20ch}
.announce__sub{color:rgba(255,255,255,.85); font-size:var(--s3); margin:.65rem 0 0; max-width:46ch}

.announce__btn{background:#fff; color:var(--red); border-color:#fff}
.announce__btn:hover{background:rgba(255,255,255,.86); color:var(--red-deep); border-color:transparent}

.evlist{display:grid; gap:1rem}
.evrow{display:flex; background:var(--bg); border:1px solid var(--rule);
  border-radius:var(--r); overflow:hidden}
.evrow__media{
  flex:0 0 13rem; min-height:9.5rem; display:flex; align-items:flex-end; padding:1rem 1.2rem;
  background-color:var(--ink);
  background-image:linear-gradient(rgba(15,15,17,.15),rgba(15,15,17,.75)),
                   var(--card-img, linear-gradient(var(--ink),var(--ink)));
  background-size:cover; background-position:center; background-repeat:no-repeat;
}
.evrow__stamp{color:#fff; font-weight:800; font-size:1.75rem; line-height:1}
.evrow__stamp b{display:block; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--red-soft); margin-bottom:.2rem}
.evrow__body{flex:1 1 auto; min-width:0; padding:1.35rem 1.5rem}
.evrow__body h3{margin:0 0 .45rem}
@media(max-width:38rem){
  .evrow{flex-direction:column}
  .evrow__media{flex:none; min-height:6.5rem}
  .evrow__body{padding:1.15rem 1.2rem}
}

.cal{border:1px solid var(--rule); border-radius:var(--r); background:var(--bg); overflow:hidden}
.cal__head{display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:.9rem 1.1rem; border-bottom:1px solid var(--rule)}
.cal__month{margin:0; max-width:none; font-weight:800; font-size:var(--s4)}
.cal__nav{
  flex:none; width:2.3rem; height:2.3rem; border-radius:999px; cursor:pointer;
  background:none; border:1px solid rgba(15,15,17,.22); color:var(--ink);
  font-family:inherit; font-size:1rem; line-height:1;
}
.cal__nav:hover:not([disabled]){background:var(--red); border-color:var(--red); color:#fff}
.cal__nav[disabled]{opacity:.28; cursor:default}
.cal table{width:100%; border-collapse:collapse; table-layout:fixed}
.cal th{
  padding:.55rem .2rem; border-bottom:1px solid var(--rule);
  font-size:.66rem; letter-spacing:.11em; text-transform:uppercase;
  color:var(--fg-soft); font-weight:800;
}
.cal td{border:1px solid var(--rule); vertical-align:top; height:5.4rem;
  padding:.35rem .4rem; font-size:var(--s1)}
.cal td.is-out{background:var(--surface)}
.cal td.is-out .cal__num{color:var(--fg-soft); opacity:.55}
.cal td.has-ev{background:rgba(166,51,58,.055)}
.cal__num{font-weight:700}
.cal__ev{display:block; margin-top:.22rem; padding:.14rem .32rem; border-radius:3px;
  background:var(--red); color:#fff; font-size:.66rem; font-weight:700; line-height:1.3;
  overflow-wrap:anywhere}
@media(max-width:38rem){
  .cal td{height:4.1rem; padding:.25rem .28rem}
  .cal__ev{font-size:.56rem; padding:.1rem .22rem}
}

.addcal{display:flex; flex-wrap:wrap; gap:.4rem 1.4rem; margin:.9rem 0 0; max-width:none}
.announce .addcal{margin-top:1rem}
.announce .addcal a{color:#fff; border-bottom-color:rgba(255,255,255,.45)}
.announce .addcal a:hover{border-bottom-color:#fff}

footer{background:var(--ink); color:#a9aaad; padding-block:4rem; font-size:var(--s2)}
footer a{color:#a9aaad} footer a:hover{color:#fff}

footer .wrap{display:flex; flex-wrap:wrap; gap:2.6rem 3rem; align-items:flex-start}
footer img{height:46px; width:auto; margin:0; flex:0 0 auto}
footer .cols{flex:1 1 620px; display:grid; gap:1.9rem 2rem;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
footer h4{margin:0 0 .6rem; font-size:.72rem; font-weight:700; color:#fff;
  text-transform:uppercase; letter-spacing:.12em}
footer ul{list-style:none; margin:0; padding:0}
footer li{padding:.2rem 0; font-size:.92rem}

.split{display:grid; grid-template-columns:1fr; gap:clamp(1.6rem,4vw,3rem); align-items:center}
@media(min-width:58rem){
  .split{grid-template-columns:1fr 1fr}
  .split--flip .split__media{order:2}
}
.split__media{border-radius:var(--r); overflow:hidden; display:flex; min-height:300px}
.split__media > .shot{flex:1; aspect-ratio:auto}
.split__media > img{width:100%; height:100%; object-fit:cover}

.band__statement{font-size:clamp(1.6rem,3.6vw,2.6rem); font-weight:800; line-height:1.25;
  letter-spacing:-.015em; max-width:22ch; margin:.2rem auto 0; text-transform:none; text-wrap:balance}

.pathway{display:grid; grid-template-columns:1fr; gap:.9rem; margin-top:1.8rem}

.pathway__arrow{color:var(--red); font-weight:800; font-size:1.9rem; line-height:1;
  width:1em; height:1em; display:grid; place-items:center; justify-self:start;
  transform:rotate(90deg)}
.pathway__step h3{color:var(--red); font-size:1.5rem; margin-bottom:.4rem; letter-spacing:-.01em}
.pathway__step p{color:var(--fg-soft); margin:0; font-size:var(--s2); max-width:34ch}
@media(min-width:52rem){
  .pathway{grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:1.6rem}
  .pathway__arrow{transform:none; justify-self:center}
}

.darkband{background:var(--ink); color:#fff}
.darkband .mark{background:var(--red-soft)}
.darkband .eyebrow{color:var(--red-soft)}
.darkband h2{color:#fff}
.darkband .pathway__step h3{color:var(--red-soft)}
.darkband .pathway__step p{color:rgba(255,255,255,.72)}
.darkband .pathway__arrow{color:var(--red-soft)}

.slideshow{position:relative; width:100%; aspect-ratio:4/3; min-height:300px}
.slideshow__slide{position:absolute; inset:0; opacity:0; transition:opacity 1s ease}
.slideshow__slide.is-active{opacity:1}
.slideshow__slide > .shot{height:100%; aspect-ratio:auto; border-radius:0}

.card--feature > .slideshow{aspect-ratio:auto; height:100%; min-height:290px}

.splithead{background:var(--ink); color:#fff}
.splithead .wrap{display:grid; grid-template-columns:1fr; gap:clamp(1.8rem,4vw,3.5rem); align-items:center}
@media(min-width:52rem){ .splithead .wrap{grid-template-columns:1.05fr .95fr} }
.splithead h1{color:#fff; max-width:16ch}
.splithead__sub{font-size:clamp(1.1rem,1.8vw,1.35rem); font-weight:400;
  color:rgba(255,255,255,.86); margin:1.1rem 0 0; max-width:40ch}
.splithead .cta{margin-top:2rem}
.splithead__media{border-radius:var(--r); overflow:hidden; min-height:280px; display:flex}
.splithead__media > .shot{flex:1; aspect-ratio:auto;
  background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.6); color:#fff}
.splithead__media > .shot b{color:#fff}
.splithead__media > img,
.splithead__media > video{width:100%; height:100%; object-fit:cover}

.splithead--center{padding-block:clamp(2.7rem,6vw,4.2rem)}
.splithead--center .wrap{grid-template-columns:1fr; text-align:center}
@media(min-width:52rem){ .splithead--center .wrap{grid-template-columns:1fr} }
.splithead--center h1{max-width:none; margin:-.25rem 0 0}
.splithead--center .mark{margin:0 auto .3rem}

.mission{text-align:center}
.mission .mark{margin:0 auto 1.4rem}

.values{display:grid; grid-template-columns:1fr; gap:1.8rem 3rem; margin-top:2rem}
@media(min-width:44rem){ .values{grid-template-columns:1fr 1fr; gap:2.4rem 3.5rem} }
.value .mark{margin-bottom:.85rem}
.value h3{font-size:1.2rem; margin-bottom:.35rem}
.value p{color:var(--fg-soft); margin:0; font-size:var(--s2); max-width:34ch}

.portrait{background:var(--ink); color:#fff}
.portrait .wrap{display:grid; grid-template-columns:1fr; gap:clamp(1.6rem,4vw,3.2rem); align-items:center}
@media(min-width:52rem){ .portrait .wrap{grid-template-columns:20rem 1fr} }
.portrait__photo{border-radius:var(--r); overflow:hidden; max-width:20rem; margin:0 auto; width:100%}
.portrait__photo > .shot{aspect-ratio:4/5; text-align:left}
.portrait .mark{margin-bottom:1rem}
.portrait__quote{font-size:var(--s4); font-weight:400; line-height:1.55;
  color:rgba(255,255,255,.92); font-style:italic; margin:0 0 1.1rem; max-width:38ch}
.portrait__name{font-weight:700; margin:0 0 .2rem}
.portrait .inline{color:var(--red-soft); border-bottom-color:rgba(207,107,104,.4)}

.scripture{text-align:center; max-width:42rem; margin-inline:auto}
.scripture p{font-style:italic; font-size:var(--s4); line-height:1.6; color:var(--ink);
  max-width:none; margin:0 0 .8rem}
.scripture cite{font-style:normal; font-weight:700; color:var(--red);
  font-size:var(--s2); letter-spacing:.03em}

.creed{margin-top:1.8rem; counter-reset:creed}
.creed__item{display:grid; grid-template-columns:2.6rem 1fr; gap:0 1.2rem;
  padding:1.5rem 0; border-top:1px solid var(--rule)}
.creed__item:first-child{border-top:0; padding-top:0}
.creed__num{counter-increment:creed; color:var(--red); font-weight:800;
  font-size:1.5rem; line-height:1.1; font-variant-numeric:tabular-nums}
.creed__num::before{content:counter(creed)}
.creed__item h3{margin-bottom:.4rem; font-size:1.15rem}
.creed__item p{color:var(--fg-soft); margin:0; max-width:none; font-size:var(--s2)}

.timeline{position:relative; margin-top:2rem; padding-left:2.2rem}
.timeline::before{content:""; position:absolute; left:5px; top:.6rem; bottom:.6rem;
  width:2px; background:var(--rule)}
.timeline__item{position:relative; padding-bottom:2.4rem}
.timeline__item:last-child{padding-bottom:0}
.timeline__item::before{content:""; position:absolute; left:-2.2rem; top:.35rem;
  width:12px; height:12px; border-radius:50%; background:var(--red);
  box-shadow:0 0 0 4px var(--bg)}
.timeline__year{color:var(--red); font-weight:800; font-size:var(--s2);
  letter-spacing:.02em; margin-bottom:.4rem}
.timeline__item p{color:var(--fg-soft); max-width:none; margin:0}
.timeline__item p + p{margin-top:.7rem}
.timeline__photo{margin-top:1.1rem; border-radius:var(--r); overflow:hidden; max-width:32rem}
.timeline__photo > .shot{aspect-ratio:16/10}

.mt{margin-top:1.2rem}
.mt2{margin-top:1.8rem}

.stack--center{text-align:center}
.stack--center .lede{margin-inline:auto}

.stack--center .form,
.stack--center .card{margin-inline:auto; max-width:40rem; text-align:left}

.page-visit .hero h1{max-width:24ch}
.page-visit .hero .cta{margin-top:2.4rem}

@media(prefers-reduced-motion:reduce){*{transition:none!important; animation:none!important}}

.srmlist{display:grid; gap:0}

.card > .srmlist{border-top:1px solid var(--rule)}

.srm{
  display:flex; text-decoration:none; color:inherit; min-width:0;
  border-bottom:1px solid var(--rule);
  transition:background .16s ease;
}
.srm:last-child{border-bottom:0}
.srm:hover{background:var(--surface)}
.srm:hover h3{color:var(--red)}

.cards > .srm{border:1px solid var(--rule); border-radius:var(--r); overflow:hidden}

.srm__media{position:relative; flex:0 0 13rem; align-self:flex-start; background:var(--ink)}

.srm__media img{width:100%; height:auto; aspect-ratio:16/9; object-fit:cover}

.srm__play{
  position:absolute; inset:0; margin:auto; width:2.6rem; height:2.6rem;
  border-radius:50%; background:rgba(15,15,17,.62); border:2px solid #fff;
  display:flex; align-items:center; justify-content:center;
}
.srm__play::after{
  content:""; margin-left:.18rem;
  border-style:solid; border-width:.42rem 0 .42rem .68rem;
  border-color:transparent transparent transparent #fff;
}
.srm:hover .srm__play{background:var(--red)}

.srm__body{flex:1 1 auto; min-width:0; padding:1.1rem 1.4rem}
.srm__body h3{margin:0 0 .3rem; font-size:var(--s3)}
.srm__date{
  margin:0 0 .3rem; color:var(--red); font-weight:800;
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
}

@media(max-width:38rem){
  .srm{flex-direction:column}
  .srm__media{flex:none; width:100%}
  .srm__body{padding:1.05rem 1.15rem}
}

.srm__out{
  position:relative; display:block; text-decoration:none;
  background:var(--ink); border-radius:var(--r); overflow:hidden;
}
.card > .srm__out{border-radius:0}
.srm__out img{width:100%; aspect-ratio:16/9; object-fit:cover; opacity:.55;
  transition:opacity .16s ease}
.srm__out:hover img{opacity:.4}
.srm__play--lg{width:4.2rem; height:4.2rem}
.srm__play--lg::after{border-width:.62rem 0 .62rem 1rem; margin-left:.24rem}
.srm__outlabel{
  position:absolute; left:0; right:0; bottom:0; padding:1rem 1.4rem;
  color:#fff; font-weight:700; font-size:var(--s2); text-align:center;
  background:linear-gradient(rgba(15,15,17,0), rgba(15,15,17,.85));
}

.srmseries__art{width:100%; aspect-ratio:16/9; object-fit:cover; flex:none}

.card__body > details .srmlist{border-top:0; margin-bottom:.4rem}
.card__body > details .srm{padding-left:0}

.srmseries__hero{width:100%; height:auto; aspect-ratio:16/9; object-fit:cover;
  border-radius:var(--r); display:block; max-width:46rem; margin-inline:auto}

.hp{position:absolute !important; left:-9999px !important}
.form__done{margin-top:1rem; padding:1rem 1.25rem; background:var(--surface);
  border-left:4px solid var(--ink); border-radius:var(--r); font-weight:600}
.form__err{margin-top:.75rem; color:var(--red-deep); font-weight:600}
