/* PCA Las Vegas — calm, cinematic, natural type */
:root{
  --void:#050505; --ink:#0a0a0b; --panel:#121214; --panel-2:#18181c;
  --line:rgba(255,255,255,.08); --line-hot:rgba(201,162,39,.25);
  --sand:#e8dfd0; --mist:#9a948a; --fog:#6b6660;
  --gold:#c9a227; --gold-bright:#e8c84a;
  --guards:#d5001c; --guards-deep:#9b000f; --guards-glow:rgba(213,0,28,.28);
  --glass:rgba(255,255,255,.03); --glass-2:rgba(255,255,255,.045);
  --radius:14px; --nav-h:68px;
  --font-display:"Syne",system-ui,sans-serif;
  --font-serif:"Instrument Serif",Georgia,serif;
  --font-body:"Manrope",system-ui,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--void); color:var(--sand);
  font-family:var(--font-body); font-weight:400; line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{max-width:100%; display:block; height:auto}
a{color:inherit; text-decoration:none}
button,input,textarea,select{font:inherit; color:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

.wrap{width:min(1080px,calc(100% - 3.5rem)); margin-inline:auto}
.wrap-narrow{width:min(700px,calc(100% - 3.5rem)); margin-inline:auto}

/* NAV */
.site-nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  height:var(--nav-h); display:flex; align-items:center;
  background:rgba(5,5,5,.72); backdrop-filter:blur(14px);
  border-bottom:1px solid transparent; transition:border-color .3s, background .3s;
}
.site-nav.scrolled{border-bottom-color:var(--line); background:rgba(5,5,5,.94)}
.nav-inner{display:flex; align-items:center; justify-content:space-between; gap:1rem; width:min(1080px,calc(100% - 2.5rem)); margin-inline:auto}
.brand{display:flex; align-items:center; gap:.7rem; z-index:2}
.brand-mark{
  width:36px; height:36px; border-radius:50%;
  background:var(--guards);
  display:grid; place-items:center; font-family:var(--font-display); font-weight:700; font-size:.75rem; color:#fff;
}
.brand-text{display:flex; flex-direction:column; line-height:1.15}
.brand-text strong{font-family:var(--font-display); font-weight:700; font-size:.78rem; letter-spacing:.02em}
.brand-text span{font-size:.65rem; color:var(--mist); letter-spacing:.04em; text-transform:uppercase}
.nav-links{display:flex; align-items:center; gap:.05rem}
.nav-links a{
  padding:.5rem .65rem; font-size:.78rem; letter-spacing:.02em; text-transform:uppercase;
  color:var(--mist); border-radius:999px; transition:color .2s, background .2s;
}
.nav-links a:hover,.nav-links a.active{color:var(--sand); background:var(--glass-2)}
.nav-cta{display:flex; align-items:center; gap:.5rem}
.nav-toggle{display:none; background:none; border:1px solid var(--line); color:var(--sand); border-radius:10px; padding:.5rem .65rem; cursor:pointer}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.8rem 1.25rem; border-radius:999px; border:1px solid transparent;
  font-family:var(--font-display); font-weight:700; font-size:.78rem; letter-spacing:.03em; text-transform:uppercase;
  cursor:pointer; transition:transform .25s var(--ease), box-shadow .25s, background .25s, border-color .25s, color .25s;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--guards); color:#fff; box-shadow:0 8px 22px var(--guards-glow)}
.btn-primary:hover{background:var(--guards-deep)}
.btn-ghost{background:transparent; border-color:rgba(255,255,255,.18); color:var(--sand)}
.btn-ghost:hover{border-color:var(--gold); color:var(--gold-bright)}
.btn-gold{background:var(--gold); color:#1a1408}
.btn-sm{padding:.55rem .9rem; font-size:.72rem}

@media (max-width:960px){
  .nav-toggle{display:inline-flex}
  .nav-links,.nav-cta .hide-m{display:none}
  .nav-links.open{
    display:flex; flex-direction:column; position:absolute; top:var(--nav-h); left:0; right:0;
    background:rgba(7,7,8,.97); padding:1rem; border-bottom:1px solid var(--line); gap:.25rem;
  }
  .nav-links.open a{width:100%; padding:.85rem 1rem}
}

/* TYPO — natural metrics, no stretch / skew / scaleX */
.eyebrow{
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; color:var(--gold);
  font-family:var(--font-display); font-weight:600; margin:0 0 .85rem;
}
.eyebrow::before{content:""; width:18px; height:1px; background:var(--gold)}
h1,h2,h3,.display{
  font-family:var(--font-display); font-weight:700; line-height:1.12; letter-spacing:0; margin:0;
}
.display-xl{font-size:clamp(2.4rem,5.8vw,4.4rem); letter-spacing:-.01em; font-weight:700}
.display-lg{font-size:clamp(2rem,4vw,3.2rem)}
.display-md{font-size:clamp(1.5rem,2.6vw,2.1rem)}
.serif{font-family:var(--font-serif); font-weight:400; letter-spacing:0; font-style:italic}
.gradient-text{color:#fff}
.lead{font-size:clamp(1rem,1.2vw,1.1rem); color:var(--mist); max-width:34rem; line-height:1.7}
.muted{color:var(--mist)}
.tiny{font-size:.72rem; letter-spacing:.03em; text-transform:uppercase; color:var(--fog)}

/* HERO — full-bleed canyon chase video */
.hero{
  position:relative; min-height:100svh; display:grid; align-items:end;
  padding:calc(var(--nav-h) + 3rem) 0 5rem; overflow:hidden;
}
.hero-bg{position:absolute; inset:0; z-index:0; background:#0a0a0c}
.hero-video{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center 40%;
}
.hero-scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(5,5,5,.82) 0%, rgba(5,5,5,.4) 48%, rgba(5,5,5,.15) 100%),
    linear-gradient(180deg, rgba(5,5,5,.25) 0%, transparent 35%, rgba(5,5,5,.88) 100%);
}
.hero-content{position:relative; z-index:2; max-width:36rem}
.hero-kicker{display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; margin-bottom:1rem}
.pill{
  display:inline-flex; align-items:center; gap:.35rem; padding:.35rem .65rem; border-radius:999px;
  border:1px solid var(--line); background:rgba(0,0,0,.35); color:var(--sand);
  font-size:.7rem; letter-spacing:.03em; text-transform:uppercase; font-family:var(--font-display); font-weight:600;
}
.hero h1{margin:.1rem 0 .85rem}
.hero h1 .line2{display:block; color:var(--guards)}
.hero h1 .tagline{
  display:block; margin-top:.35em; font-family:var(--font-serif); font-style:italic;
  font-size:clamp(1.1rem,2vw,1.4rem); font-weight:400; letter-spacing:0;
  color:var(--sand); line-height:1.3; opacity:.92;
}
.hero-actions{display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.5rem}
.hero-stats{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; margin-top:2.75rem;
  padding-top:1.35rem; border-top:1px solid rgba(255,255,255,.12); max-width:400px;
}
.stat strong{display:block; font-family:var(--font-display); font-size:clamp(1.45rem,2.4vw,1.85rem); color:#fff; letter-spacing:0; font-weight:700}
.stat span{font-size:.7rem; letter-spacing:.04em; text-transform:uppercase; color:var(--mist)}

/* SECTIONS — more air */
section{padding:5.5rem 0; position:relative}
.section-head{display:flex; flex-wrap:wrap; justify-content:space-between; gap:1.5rem; align-items:end; margin-bottom:2rem}
.section-head p{margin:0; max-width:24rem; color:var(--mist)}

.glass{
  background:var(--glass-2);
  border:1px solid var(--line); border-radius:var(--radius);
}
.card{padding:1.4rem; transition:border-color .3s}
.card:hover{border-color:rgba(201,162,39,.3)}

/* heritage — quiet single line */
.heritage{
  padding:1.35rem 0; border-block:1px solid var(--line);
}
.heritage-track{
  display:flex; gap:2rem; justify-content:center; flex-wrap:wrap;
}
.heritage-track span{
  flex:none; font-family:var(--font-display); font-size:.78rem; letter-spacing:.04em; text-transform:uppercase;
  color:var(--fog); white-space:nowrap;
}
.heritage-track span b{color:var(--gold); font-weight:700}

.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:1.15rem}
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:1.15rem}
.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem}
@media (max-width:900px){.grid-3,.grid-4{grid-template-columns:1fr 1fr}.hero-stats{max-width:none}}
@media (max-width:620px){.grid-3,.grid-4,.grid-2{grid-template-columns:1fr}}

.activity-card{min-height:160px; padding:1.5rem; display:flex; flex-direction:column; justify-content:flex-end}
.activity-icon{
  width:36px; height:36px; border-radius:9px; display:grid; place-items:center; margin-bottom:.85rem;
  background:rgba(213,0,28,.1); border:1px solid rgba(213,0,28,.2); color:var(--guards); font-size:.95rem;
}
.activity-card h3{font-size:1.05rem; margin-bottom:.3rem}
.activity-card p{margin:0; color:var(--mist); font-size:.9rem}

.event-list{display:flex; flex-direction:column; gap:.6rem}
.event{
  display:grid; grid-template-columns:72px 1fr auto; gap:1rem; align-items:center;
  padding:1rem 1.1rem; border-radius:12px; border:1px solid var(--line); background:var(--panel);
}
.event:hover{border-color:rgba(213,0,28,.25)}
.event-date{
  width:72px; text-align:center; padding:.45rem .25rem; border-radius:9px;
  background:rgba(213,0,28,.1); border:1px solid rgba(213,0,28,.18);
}
.event-date b{display:block; font-family:var(--font-display); font-size:1.25rem; line-height:1; color:#fff}
.event-date span{font-size:.62rem; letter-spacing:.04em; text-transform:uppercase; color:var(--gold)}
.event h3{margin:0 0 .15rem; font-size:1rem}
.event p{margin:0; color:var(--mist); font-size:.86rem}
.sample-tag{
  display:inline-block; margin-left:.3rem; padding:.1rem .35rem; border-radius:4px;
  font-size:.6rem; letter-spacing:.03em; text-transform:uppercase; color:var(--gold);
  border:1px solid var(--line-hot); vertical-align:middle;
}
.calendar-frame{
  border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); background:#111;
  min-height:620px;
}
.calendar-frame iframe{width:100%; height:620px; border:0; filter:invert(.92) hue-rotate(180deg) contrast(1.05); background:#111}

/* gallery — simpler 3-up */
.gallery{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1rem;
}
.gallery-item{
  position:relative; border-radius:12px; overflow:hidden; border:1px solid var(--line); min-height:240px;
  background:var(--panel); aspect-ratio:4/3;
}
.gallery-item.span-2{grid-column:span 1; grid-row:span 1; min-height:240px; aspect-ratio:4/3}
.gallery-item img{width:100%; height:100%; object-fit:cover; position:absolute; inset:0; transition:transform .5s var(--ease)}
.gallery-item:hover img{transform:scale(1.03)}
.gallery-cap{
  position:absolute; left:0; right:0; bottom:0; padding:1.1rem;
  background:linear-gradient(transparent, rgba(0,0,0,.82)); z-index:1;
}
.gallery-cap h3{font-size:.95rem; margin:0 0 .15rem}
.gallery-cap p{margin:0; font-size:.78rem; color:var(--mist)}
.gallery-cap a,.gallery-cap span{color:var(--gold-bright); font-size:.7rem; letter-spacing:.03em; text-transform:uppercase}
@media (max-width:900px){.gallery{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.gallery{grid-template-columns:1fr}}

.board-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1rem}
@media (max-width:900px){.board-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.board-grid{grid-template-columns:1fr}}
.board-card{padding:1.25rem}
.board-card .role{color:var(--gold); font-size:.7rem; letter-spacing:.04em; text-transform:uppercase; margin:0 0 .25rem; font-family:var(--font-display); font-weight:600}
.board-card h3{font-size:1.05rem; margin:0 0 .25rem}
.board-card .committee{color:var(--mist); font-size:.88rem; margin:0}
.board-card .contact{margin-top:.65rem; font-size:.85rem}
.board-card .contact a{color:var(--gold-bright); border-bottom:1px solid rgba(201,162,39,.28)}
.board-table{width:100%; border-collapse:collapse; font-size:.94rem}
.board-table th,.board-table td{padding:.85rem 1rem; text-align:left; border-bottom:1px solid var(--line); vertical-align:top}
.board-table th{font-size:.68rem; letter-spacing:.04em; text-transform:uppercase; color:var(--fog); font-weight:600}
.board-table tr:hover td{background:rgba(255,255,255,.02)}
.board-table .name{font-family:var(--font-display); font-weight:700}
.board-table a{color:var(--gold-bright)}

.friends-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1rem}
.friend-card{padding:1.75rem; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; text-align:center; min-height:180px}
.friend-card img{max-height:64px; width:auto; object-fit:contain; filter:brightness(0) invert(1); opacity:.9}
.friend-card:hover img{filter:none; opacity:1}
.friend-card.gaudin img{filter:none; background:#fff; padding:.5rem .75rem; border-radius:8px}
.empty-slot{
  border:1px dashed rgba(255,255,255,.14); border-radius:var(--radius); padding:2rem; text-align:center;
  color:var(--mist); display:grid; place-items:center; min-height:150px; background:rgba(255,255,255,.015);
}
.empty-slot strong{display:block; color:var(--sand); font-family:var(--font-display); margin-bottom:.25rem}

.form{display:grid; gap:1rem}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:1rem}
@media (max-width:640px){.form-row{grid-template-columns:1fr}}
label{display:grid; gap:.35rem; font-size:.75rem; letter-spacing:.03em; text-transform:uppercase; color:var(--mist)}
input,textarea,select{
  width:100%; padding:.85rem 1rem; border-radius:11px; border:1px solid var(--line);
  background:rgba(255,255,255,.03); outline:none; transition:border-color .2s, box-shadow .2s;
}
input:focus,textarea:focus,select:focus{border-color:rgba(201,162,39,.45); box-shadow:0 0 0 3px rgba(201,162,39,.08)}
textarea{min-height:140px; resize:vertical}
.form-note{font-size:.85rem; color:var(--fog)}
.form-success{
  display:none; padding:1rem 1.1rem; border-radius:11px; border:1px solid rgba(201,162,39,.3);
  background:rgba(201,162,39,.08); color:var(--gold-bright);
}
.form-success.show{display:block}

.faq details{
  border:1px solid var(--line); border-radius:11px; padding:1rem 1.1rem; background:var(--panel); margin-bottom:.55rem;
}
.faq summary{cursor:pointer; font-family:var(--font-display); font-weight:700; list-style:none; display:flex; justify-content:space-between; gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; color:var(--gold); font-size:1.1rem}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--mist); margin:.75rem 0 0}

.page-hero{padding:calc(var(--nav-h) + 3.25rem) 0 2.5rem; border-bottom:1px solid var(--line)}
.page-hero .wrap{position:relative}
.preview-banner{
  background:rgba(201,162,39,.07);
  border-bottom:1px solid var(--line); padding:.5rem 1rem; text-align:center;
  font-size:.7rem; letter-spacing:.03em; text-transform:uppercase; color:var(--gold-bright);
  position:relative; z-index:101;
}
.preview-banner strong{color:#fff}

.site-footer{border-top:1px solid var(--line); padding:3rem 0 1.75rem; margin-top:1rem; background:#050506}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2rem; margin-bottom:2rem}
@media (max-width:800px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:500px){.footer-grid{grid-template-columns:1fr}}
.footer-grid h4{font-family:var(--font-display); font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; color:var(--gold); margin:0 0 .8rem}
.footer-grid a{display:block; color:var(--mist); padding:.22rem 0; font-size:.9rem}
.footer-grid a:hover{color:var(--sand)}
.footer-bottom{display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; padding-top:1.25rem; border-top:1px solid var(--line); color:var(--fog); font-size:.8rem}

.blog-card{overflow:hidden; display:flex; flex-direction:column}
.blog-card .thumb{aspect-ratio:16/10; background:var(--panel-2); overflow:hidden}
.blog-card .thumb img{width:100%; height:100%; object-fit:cover}
.blog-card .body{padding:1.15rem 1.25rem 1.35rem; flex:1; display:flex; flex-direction:column}
.blog-card .body h3{font-size:1.1rem; margin:0 0 .4rem}
.blog-card .body p{color:var(--mist); margin:0 0 .85rem; flex:1; font-size:.9rem}

.cta-band{
  margin:1rem 0; padding:2.5rem; border-radius:16px;
  border:1px solid var(--line); background:var(--panel);
}
.cta-band h2{margin:0 0 .55rem}
.cta-band p{margin:0 0 1.25rem; color:var(--mist); max-width:32rem}

/* reveal — soft, content visible fast */
[data-reveal]{opacity:1; transform:none}
.js [data-reveal]{opacity:.35; transform:translateY(8px); transition:opacity .45s var(--ease), transform .45s var(--ease)}
.js [data-reveal].in{opacity:1; transform:none}

.engine-motif{display:none}
a.activity-card{color:inherit;text-decoration:none;cursor:pointer}
a.activity-card:hover,a.activity-card:focus-visible{border-color:rgba(201,162,39,.6);outline:none;transform:translateY(-2px)}
a.activity-card:focus-visible{box-shadow:0 0 0 2px var(--gold)}
article.event.is-target{outline:2px solid var(--gold);outline-offset:4px;border-radius:12px;box-shadow:0 0 0 4px rgba(201,162,39,.18)}
@media(min-width:900px){.grid-4-cards{grid-template-columns:repeat(4,1fr)}}
@media(min-width:600px) and (max-width:899px){.grid-4-cards{grid-template-columns:repeat(2,1fr)}}

/* t1151: lift hero text, bigger region eyebrow */
.hero{padding-bottom:clamp(7rem,16vh,11rem)}
.hero .eyebrow{font-size:clamp(.95rem,1.4vw,1.2rem); letter-spacing:.06em}
.hero .eyebrow::before{width:26px}
.hero .hero-kicker .pill{font-size:clamp(.85rem,1.1vw,1rem); padding:.5rem 1rem; letter-spacing:.06em}

/* t1156: equal cards + custom line icons */
.grid-4-cards{grid-template-columns:repeat(4,1fr)!important}
@media(max-width:1000px){.grid-4-cards{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:620px){.grid-4-cards{grid-template-columns:1fr!important}}
.grid-4-cards .activity-icon{width:64px;height:64px;border-radius:14px;background:rgba(201,162,39,.06);border:1px solid rgba(201,162,39,.22);margin-bottom:1rem}
.grid-4-cards .activity-icon svg{width:52px;height:52px;transition:filter .4s}
.grid-4-cards .activity-icon .ln{stroke-dasharray:200;stroke-dashoffset:0}
a.activity-card:hover .activity-icon svg,a.activity-card:focus-visible .activity-icon svg{filter:drop-shadow(0 0 5px rgba(232,200,74,.55))}
a.activity-card:hover .activity-icon .ln{animation:pca-draw 1.1s ease-out}
@keyframes pca-draw{from{stroke-dashoffset:200}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){a.activity-card:hover .activity-icon .ln{animation:none}}
.grid-4-cards .activity-card{justify-content:flex-start}
.road-latest{display:grid;gap:1rem}
.road-latest .gallery-item{grid-column:auto!important;grid-row:auto!important;aspect-ratio:4/5;min-height:0}
.road-latest .gallery-cap span{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gold-bright)}
.grid-4-cards .activity-card{justify-content:flex-start}

/* t1159: Chief review — contrast, spacing, declutter */
:root{--mist:#bdb7ad; --fog:#a39d93}
.hero-scrim{background:
  linear-gradient(90deg, rgba(5,5,5,.88) 0%, rgba(5,5,5,.55) 50%, rgba(5,5,5,.3) 100%),
  linear-gradient(180deg, rgba(5,5,5,.35) 0%, transparent 35%, rgba(5,5,5,.92) 100%)}
.nav-links a{font-size:.95rem}
.nav-cta .btn-sm{font-size:.85rem; padding:.55rem 1rem}
.footer-grid a{font-size:1rem}
.site-footer .muted{font-size:1rem}
.footer-bottom{font-size:.88rem}
.tiny{color:var(--mist)}
.board-table th{color:var(--mist)}
section{padding:4.5rem 0}
.gallery-cap p{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#d6d0c6}
.gallery-cap{background:linear-gradient(transparent, rgba(0,0,0,.9) 45%)}
.friend-card{background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.18)}
.friend-card strong{color:#fff}
.friend-card.gaudin img{max-height:72px}
.cta-band .btn-primary{filter:brightness(1.15); box-shadow:0 0 0 1px rgba(255,255,255,.12),0 8px 24px rgba(213,0,28,.35)}
.nav-cta .btn{white-space:nowrap}@media(max-width:620px){.nav-cta .btn-sm{font-size:.75rem;padding:.5rem .8rem}}
