.motor-collection, .meet-gallery {
  --gutter: clamp(1.1rem, 5vw, 7rem);
  background: #030405;
  color: #fafafa;
}
.motor-collection {
  padding: clamp(2rem, 4.2vw, 4.35rem) var(--gutter) clamp(3rem, 8vw, 9rem);
}
.motor-collection h2, .meet-gallery h2, .contact-invite h2 {
  font: 400 clamp(2.2rem, 4.5vw, 5rem)/1.04 var(--font-primary);
  letter-spacing: -.045em;
  color: #fafafa;
}
.motor-collection h2 { margin: 0 auto clamp(2rem, 5vw, 5rem); max-width: 100rem; }
.motor-grid {
  max-width: 100rem;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(2rem, 4vw, 5rem) clamp(1rem, 2vw, 2.5rem);
}
.motor-photo, .meet-photo { position: relative; overflow: hidden; border-radius: clamp(.85rem, 1.65vw, 2rem); background: #17191a; }
.motor-photo { aspect-ratio: 1.22; }
.motor-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #0009, transparent 38%); }
.motor-photo img, .meet-photo img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .65s cubic-bezier(.2,.65,.25,1); }
.motor-photo h3 { position: absolute; inset: 5% .75rem auto; z-index: 1; text-align: center; color: white; font: 600 clamp(1.6rem, 3vw, 3.5rem)/1.08 var(--font-display); letter-spacing: -.025em; }
.motor-info { padding: 1rem .3rem 0; max-width: 68ch; }
.motor-info span { color: #e1d5bf; font-variant-numeric: tabular-nums; }
.motor-info p, .meet-card p { margin: .4rem 0 0; line-height: 1.5; color: #cbc9c6; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .motor-card.is-pointed img, .meet-card:hover img { transform: scale(1.045) translateY(-.4%); }
}
.meet-gallery { padding: clamp(3rem,6vw,7rem) 0; }
.meet-gallery h2 { text-align: center; }
.meet-controls { display:flex; justify-content:flex-end; gap:.55rem; padding: 1.5rem var(--gutter) .85rem; }
.meet-controls button { width: 2.75rem; height: 2.75rem; border: 1px solid #565656; background: transparent; color: white; border-radius: 50%; font-size:1.25rem; cursor:pointer; }
.meet-controls button:disabled { opacity:.35; cursor:default; }
.meet-track { display:grid; grid-auto-flow:column; grid-auto-columns:clamp(16rem,23vw,31rem); gap:clamp(1rem,1.6vw,2rem); overflow-x:auto; scroll-snap-type:x proximity; scroll-padding-inline:var(--gutter); padding:.3rem var(--gutter) 1rem; scrollbar-width:none; }
.meet-card { min-width:0; scroll-snap-align:start; }
.meet-photo { aspect-ratio:4/3; }
.meet-card h3 { margin:1.1rem 0 .4rem; font:500 clamp(1.35rem,1.55vw,2rem)/1.15 var(--font-primary); letter-spacing:-.02em; }
.contact-invite { min-height:calc(100svh - var(--header-h)); padding:4rem 1.25rem; display:grid; place-content:center; justify-items:center; text-align:center; gap:clamp(2rem,5vw,5rem); background:#131313; }
.contact-invite h2 { font-size:clamp(2.5rem,6vw,6rem); }
.contact-invite a { border:1px solid #666; border-radius:.35rem; background:#050505; padding:.65rem 1.25rem; }
.contact-invite a:hover { background:#292929; }
.archive-page main { padding-top:var(--header-h); }
.event-detail .gallery-page-heading { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); padding:0; }
.event-detail .album-viewer:not(.is-grid) .album-media { width:100%; height:calc(100svh - var(--header-h) - var(--album-strip-h) - 1rem); aspect-ratio:auto; }
#footer.site-footer { background-color:#ece6d6; color-scheme:only light; }
#footer.site-footer :is(.footer-brand,.footer-wrap,.copyright) { mix-blend-mode:normal; filter:none; opacity:1; }
@media (max-width:650px) {
  .motor-grid { grid-template-columns:1fr; }
  .motor-photo { aspect-ratio:1.33; }
  .meet-track { grid-auto-columns:78vw; }
}
@media (prefers-reduced-motion:reduce) {
  .motor-photo img,.meet-photo img { transition:none; }
}
#footer.site-footer :is(.footer-brand, .footer-wrap, .copyright),
#footer.site-footer :is(.footer-wrap, .copyright) * {
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
  text-shadow: none !important;
}
@media (pointer:coarse) {
  html:has(.motor-collection) { scroll-snap-type:y proximity; }
  .motor-collection { scroll-snap-align:start; scroll-margin-top:var(--header-h); }
  body[data-page="home"] .site-footer { scroll-snap-align:start; }
}
.motor-info p { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

.motor-collection h2,.meet-gallery h2,.contact-invite h2 { font-size:clamp(1.85rem,3.3vw,3.6rem); }
.motor-grid { display:flex; flex-direction:column; --tile-gap:clamp(.8rem,2vw,2rem); gap:var(--tile-gap); }
.motor-row { display:flex; gap:var(--tile-gap); }
.motor-card { min-width:0; flex:1 1 0; transition:flex-grow .55s cubic-bezier(.22,.7,.25,1); }
.motor-photo { height:clamp(18rem,39vw,44rem); aspect-ratio:auto; }
.motor-photo h3 { font-size:clamp(1.4rem,2.2vw,2.5rem); }
.motor-photo::after { background:linear-gradient(180deg,rgb(0 0 0 / 83%),rgb(0 0 0 / 46%) 16%,transparent 43%,transparent 48%,#000d 100%); pointer-events:none; }
.motor-info { position:absolute; inset:auto 0 0; z-index:1; max-width:none; padding:clamp(1rem,2.1vw,2rem); display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.35rem 1rem; align-items:end; }
.motor-tags { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:.35rem; }
.motor-info .motor-tag { border-radius:2rem; padding:.12rem .65rem; background:#282828cf; color:white; font-size:.86rem; }
.motor-info p { color:white; margin:0; -webkit-line-clamp:2; }
.motor-info .motor-more { color:white; font-size:.92rem; background:#242424e6; border-radius:.4rem; padding:.35rem .65rem; white-space:nowrap; }
.motor-more span { color:inherit; }
.motor-card:focus { outline:none; }
.motor-card:focus-visible .motor-more { outline:2px solid white; outline-offset:3px; }
@media(min-width:651px) {
  .motor-row:has(:only-child) .motor-card:only-child { max-width:calc(50% - min(1vw,1rem)); }
}
@media(hover:hover) and (min-width:651px) {
  .motor-card.is-pointed { flex-grow:1.24; }
  .motor-info .motor-more { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; border-radius:999px; width:2.5rem; height:2.5rem; padding:0; gap:0; transition:width .35s; }
  .motor-more span { max-width:0; overflow:hidden; opacity:0; transition:max-width .35s,opacity .3s; }
  .motor-card.is-pointed .motor-more { width:6.4rem; gap:.4em; }
  .motor-card.is-pointed .motor-more span { max-width:9em; opacity:1; }
}
body[data-page="home"] main {
  --gallery-light:0%;
  --surface:color-mix(in srgb, #faf9f6 var(--gallery-light), #030405);
  --letter:color-mix(in srgb, #151515 var(--gallery-light), #fafafa);
}
body[data-page="home"] :is(.motor-collection,.meet-gallery,.contact-invite) {
  background-color:var(--surface); color:var(--letter);
  transition:none;
}
.motor-collection h2,.meet-gallery h2,.contact-invite h2 { color:inherit; }
.contact-invite a { color:white; }
.motor-tags:empty { display:none; }
.motor-info .motor-more { grid-column:2; grid-row:2; }
.meet-navigation:not([hidden]) { display:flex; align-items:center; justify-content:center; gap:.65rem; margin:1.25rem auto 0; }
.meet-navigation > button { background:transparent; border:1px solid currentColor; color:inherit; border-radius:50%; width:2rem; height:2rem; cursor:pointer; }
.meet-gallery h2,.meet-card h3,.meet-card p { color:inherit; }
.meet-track { --tile:calc((100vw - var(--gutter) - 2 * clamp(1rem,1.6vw,2rem)) / 2.5); display:flex; margin-top:clamp(1.5rem,4vw,4rem); }
.meet-card { flex:0 0 var(--tile); }
.meet-track::after { content:''; flex:0 0 max(0px,calc(100% - var(--tile) - clamp(1rem,1.6vw,2rem))); }
.meet-dots:not([hidden]) { width:fit-content; max-width:95%; margin:0; display:flex; flex-wrap:wrap; justify-content:center; background:#e7e7e7; border-radius:2rem; padding:.25rem .5rem; }
.meet-dots button { border:0; background:none; padding:.6rem .35rem; cursor:pointer; }
.meet-dots button span { display:block; width:.38rem; height:.38rem; border-radius:1rem; background:#919191; overflow:hidden; }
.meet-dots button[aria-current=true] span { width:1.9rem; background:#ababab; }
.meet-dots i { display:block; height:100%; background:#202020; transform:scaleX(0); transform-origin:left; }
.contact-invite { background:#080808; }
@media(max-width:650px) {
  .motor-row { flex-direction:column; }
  .motor-photo { height:auto; aspect-ratio:1.18; }
  .meet-track { --tile:78vw; }
}
@media(prefers-reduced-motion:reduce) {
  .motor-card,.motor-more,.meet-gallery { transition:none; }
  .meet-dots button[aria-current=true] i { transform:none; }
}
