/* ============================================================
   TRAIN UNIQUE — LOUISIANA · site.css
   Design system copied from the approved California build
   (f-same-floor.html). Gold and black only. Hard edges.
   ============================================================ */
@font-face{font-family:BC;font-weight:600;font-display:swap;src:url(fonts/f2.woff2) format('woff2')}
@font-face{font-family:BC;font-weight:700;font-display:swap;src:url(fonts/f5.woff2) format('woff2')}
@font-face{font-family:BC;font-weight:800;font-display:swap;src:url(fonts/f8.woff2) format('woff2')}
@font-face{font-family:PP;font-weight:400;font-display:swap;src:url(fonts/f11.woff2) format('woff2')}
@font-face{font-family:PP;font-weight:500;font-display:swap;src:url(fonts/f14.woff2) format('woff2')}
@font-face{font-family:PP;font-weight:700;font-display:swap;src:url(fonts/f20.woff2) format('woff2')}
:root{--gold:#FFC81E;--ink:#0D0D0D;--w:#fff;--g:clamp(20px,5vw,72px)}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--ink);color:var(--ink);font-family:PP,sans-serif;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
.d{font-family:BC,Impact,sans-serif;font-weight:800;text-transform:uppercase;line-height:.84}
.lbl{font-weight:700;font-size:clamp(12.5px,1.05vw,16px);letter-spacing:.26em;text-transform:uppercase;display:inline-block;padding-bottom:9px;border-bottom:3px solid currentColor}

/* ---- NAV ---- */
.nav{background:var(--ink);display:flex;justify-content:space-between;align-items:center;padding:14px var(--g);gap:16px;flex-wrap:wrap;position:sticky;top:0;z-index:60}
.nav img{width:clamp(120px,11vw,168px)}
.nav .links{display:flex;flex-wrap:wrap;align-items:center}
.nav a{font-family:BC,Impact,sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(16px,1.55vw,23px);letter-spacing:.09em;color:var(--w);text-decoration:none;margin-left:clamp(12px,1.8vw,28px);line-height:1}
.nav a:hover,.nav a[aria-current]{color:var(--gold)}

/* ---- OPENERS ---- */
.open{background:var(--gold);padding:clamp(34px,5vw,64px) var(--g) clamp(40px,6vw,74px)}
.open h1{font-size:clamp(50px,13vw,200px)}
.open h1 span{display:block}.open h1 span:nth-child(2){padding-left:.09em}.open h1 span:nth-child(3){padding-left:.18em}
.open p{margin-top:clamp(20px,3vw,36px);font-size:clamp(15.5px,1.45vw,21px);max-width:48ch}
.open .lbl{color:#4A4114}

/* ---- FULL-BLEED PHOTO HERO ---- */
.phero{position:relative;min-height:88svh;display:flex;align-items:flex-end;overflow:hidden}
.phero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.phero .veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.96) 6%,rgba(0,0,0,.74) 36%,rgba(0,0,0,.26) 72%,rgba(0,0,0,.55) 100%)}
.phero .in{position:relative;width:100%;padding:0 var(--g) clamp(38px,7vh,80px)}
.phero h1,.phero h2{font-family:BC,Impact,sans-serif;font-weight:800;text-transform:uppercase;line-height:.84;font-size:clamp(52px,13vw,200px);color:var(--w);margin:0 0 clamp(20px,2.6vw,34px)}
.phero h1 span,.phero h2 span{display:block;color:var(--gold)}
.phero .say{border-left:6px solid var(--gold);padding-left:clamp(16px,1.8vw,26px);max-width:56ch}
.phero .say p{font-size:clamp(16px,1.45vw,22px);color:#EDEDED;margin:0}
.phero .say .flatline{margin-top:14px;font-family:BC,Impact,sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(19px,2.2vw,32px);line-height:1.14;color:var(--gold)}
.phero .cap{position:absolute;left:0;top:clamp(20px,3vw,38px);background:var(--gold);padding:8px 16px 8px var(--g);font-family:BC,Impact,sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(13px,1.4vw,18px);letter-spacing:.05em;color:var(--ink)}

/* ---- FULL-BLEED SHOT ---- */
.shot{position:relative}
.shot img{width:100%;height:clamp(400px,80svh,880px);object-fit:cover}
.shot .cap{position:absolute;left:0;bottom:26px;background:var(--gold);padding:9px 18px 9px var(--g);font-family:BC,Impact,sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(14px,1.7vw,22px);letter-spacing:.04em;color:var(--ink)}

/* ---- SPLIT ---- */
.split{display:grid;grid-template-columns:1fr 1fr}
.split img{width:100%;height:100%;object-fit:cover;min-height:clamp(340px,52vw,720px)}
.split .txt{background:var(--ink);padding:clamp(40px,6vw,92px) var(--g);display:flex;flex-direction:column;justify-content:center}
.split .lbl{color:var(--gold)}
.split h2{font-size:clamp(30px,4.4vw,70px);margin:14px 0 22px;color:var(--w)}
.split h2 em{font-style:normal;color:var(--gold)}
.split p{max-width:46ch;color:#CFCFCF;font-size:16.5px}
.split p+p{margin-top:15px}
.bar{width:64px;height:5px;background:var(--gold);margin:30px 0 22px}
.flat{font-family:BC,Impact,sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(19px,2.3vw,32px);line-height:1.16;color:var(--w)}

/* ---- STEPS ---- */
.steps{display:grid;grid-template-columns:repeat(3,1fr)}
.stp{padding:clamp(34px,4.5vw,68px) clamp(18px,2.4vw,36px)}
.stp:nth-child(odd){background:var(--gold)}
.stp:nth-child(even){background:var(--ink);color:var(--w)}
.stp b{font-family:BC,Impact,sans-serif;font-weight:800;font-size:clamp(40px,5vw,78px);line-height:.85;display:block}
.stp h3{font-family:BC,Impact,sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(20px,2.3vw,32px);margin:12px 0 10px;line-height:1}
.stp p{font-size:15px;color:#2E2E2E}
.stp:nth-child(even) p{color:#CFCFCF}

/* ---- MOSAIC (2 landscape 2x2 + 4 portrait 1x2 = zero gaps) ---- */
.mos{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:18.75vw;grid-auto-flow:dense;gap:0}
.mos figure{overflow:hidden;margin:0;background:#111}
.mos img{width:100%;height:100%;object-fit:cover}
.mos .L{grid-column:span 2;grid-row:span 2}
.mos .P{grid-column:span 1;grid-row:span 2}

/* ---- DARK STATEMENT ---- */
.dk{background:var(--ink);color:var(--w);padding:clamp(56px,8vw,120px) var(--g)}
.dk .lbl{color:var(--gold)}
.dk h2{font-size:clamp(32px,6vw,96px);color:var(--w);margin-top:14px}
.dk h2 em{font-style:normal;color:var(--gold)}
.dk p{margin-top:24px;max-width:50ch;color:#CFCFCF;font-size:16.5px}
.dk p+p{margin-top:14px}

/* ---- FAMILIES / QUOTES ---- */
.fam{background:var(--ink);padding:clamp(52px,7vw,110px) var(--g)}
.fam h2{font-size:clamp(28px,4.4vw,68px);color:var(--w)}
.fam h2 em{font-style:normal;color:var(--gold)}
.qs{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,28px);margin-top:clamp(28px,3.5vw,48px)}
.q{border-top:5px solid var(--gold);padding-top:20px}
.q p{font-size:15.5px;color:#DADADA}
.q .who{margin-top:16px;font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}

/* ---- VERTICAL VIDEO ---- */
.vid{background:var(--ink);padding:clamp(46px,6.5vw,96px) var(--g);display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);column-gap:clamp(30px,5vw,100px);align-items:center}
.vid .lbl,.vid h2,.vid p.k{grid-column:1}
.vid video{grid-column:2;grid-row:1/span 3;justify-self:end}
.vid .lbl{color:var(--gold)}
.vid h2{font-family:BC,Impact,sans-serif;font-weight:800;text-transform:uppercase;line-height:.86;font-size:clamp(30px,5vw,88px);color:var(--w);margin:12px 0 10px}
.vid h2 em{font-style:normal;color:var(--gold)}
.vid p.k{color:#C4C4C4;max-width:60ch;font-size:clamp(15.5px,1.15vw,19px);margin-bottom:0}
.vid video{width:100%;max-width:420px;aspect-ratio:9/16;object-fit:cover;background:#000;display:block}

/* ---- WIDE (16:9) VIDEO ---- */
.vidw{background:var(--ink);padding:clamp(46px,6.5vw,96px) var(--g)}
.vidw .lbl{color:var(--gold)}
.vidw h2{font-family:BC,Impact,sans-serif;font-weight:800;text-transform:uppercase;line-height:.86;font-size:clamp(30px,5vw,88px);color:var(--w);margin:12px 0 10px}
.vidw h2 em{font-style:normal;color:var(--gold)}
.vidw p.k{color:#C4C4C4;max-width:66ch;font-size:clamp(15.5px,1.15vw,19px);margin-bottom:clamp(26px,3vw,44px)}
.vidw video{width:100%;max-width:1280px;aspect-ratio:16/9;object-fit:cover;background:#000;display:block;border-top:5px solid var(--gold)}

/* ---- STAT CELLS ---- */
.cells{display:grid;grid-template-columns:repeat(4,1fr)}
.cell{padding:clamp(26px,4vw,52px) clamp(16px,2vw,28px);min-height:clamp(150px,19vw,240px);display:flex;flex-direction:column;justify-content:flex-end}
.cell:nth-child(odd){background:var(--gold)}.cell:nth-child(even){background:var(--ink);color:var(--w)}
.cell b{font-family:BC,Impact,sans-serif;font-weight:800;font-size:clamp(44px,7vw,112px);line-height:.8;display:block}
.cell span{margin-top:10px;font-weight:700;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase}
.attrib{background:var(--ink);color:#9A9A9A;padding:22px var(--g) clamp(44px,6vw,82px);font-size:12.5px;max-width:76ch}

/* ---- DUO (podium pair) ---- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:0}
.duo figure{margin:0;background:#111;display:flex;flex-direction:column}
.duo img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/4}
.duo figcaption{background:var(--gold);color:var(--ink);font-family:BC,Impact,sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(14px,1.6vw,21px);letter-spacing:.04em;padding:10px 18px}
@media(max-width:640px){.duo{grid-template-columns:1fr}}

/* ---- TRIO ---- */
.trio{display:grid;grid-template-columns:repeat(3,1fr)}
.trio img{width:100%;aspect-ratio:1/1;object-fit:cover}

/* ---- BIO HEAD + PHOTO WALL ---- */
.who{background:var(--ink);color:var(--w)}
.head2{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:0}
.head2 img{width:100%;height:auto;align-self:start}
.head2 .txt{padding:clamp(40px,6vw,92px) var(--g);display:flex;flex-direction:column;justify-content:center}
.who .lbl{color:var(--gold)}
.head2 h2{font-size:clamp(30px,4.6vw,74px);margin:14px 0 22px}
.head2 h2 em{font-style:normal;color:var(--gold)}
.head2 p{max-width:46ch;font-size:16.5px;color:#CFCFCF}
.head2 p+p{margin-top:15px}
.pull{font-family:BC,Impact,sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(19px,2.3vw,32px);line-height:1.16}
.wall{column-count:4;column-gap:0;padding:0}
.gwall{column-gap:6px;padding:6px;background:var(--ink)}
.gwall figure{margin-bottom:6px}
.wall figure{break-inside:avoid;margin:0;line-height:0}
.wall img{width:100%;height:auto}

/* ---- PROGRAM GRID (hub + location pages) ---- */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.pcard{position:relative;display:block;text-decoration:none;overflow:hidden;background:#111;min-height:clamp(300px,30vw,460px)}
.pcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.pcard:hover img{transform:scale(1.04)}
.pcard .pveil{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.92) 8%,rgba(0,0,0,.45) 45%,rgba(0,0,0,.1) 80%)}
.pcard .pin{position:absolute;left:0;right:0;bottom:0;padding:22px clamp(18px,2.2vw,32px)}
.pcard h3{font-family:BC,Impact,sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(24px,2.6vw,40px);line-height:.9;color:var(--w)}
.pcard h3 em{font-style:normal;color:var(--gold)}
.pcard p{margin-top:8px;font-size:13.5px;color:#C9C9C9;max-width:36ch}
.pcard .go{margin-top:12px;display:inline-block;font-family:BC,Impact,sans-serif;font-weight:800;text-transform:uppercase;font-size:15px;letter-spacing:.06em;color:var(--gold);border-bottom:3px solid var(--gold)}

/* ---- LOCATION FACTS ---- */
.facts{display:grid;grid-template-columns:repeat(3,1fr)}
.fact{padding:clamp(30px,4vw,58px) clamp(18px,2.4vw,36px)}
.fact:nth-child(odd){background:var(--gold)}
.fact:nth-child(even){background:var(--ink);color:var(--w)}
.fact h3{font-family:BC,Impact,sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(19px,2vw,28px);margin-bottom:12px;line-height:1}
.fact p,.fact a{font-size:15.5px;line-height:1.75;color:inherit}
.fact:nth-child(even) p{color:#CFCFCF}
.fact a{font-weight:700;text-decoration:none;border-bottom:2px solid currentColor}
.fact .rows span{display:flex;justify-content:space-between;gap:14px;max-width:34ch;font-size:15px}
.fact .rows b{font-weight:700}

/* ---- END CTA + FOOT ---- */
.end{background:var(--gold);padding:clamp(54px,8vw,112px) var(--g)}
.end h2{font-size:clamp(36px,7.4vw,120px)}
.end p{margin-top:18px;max-width:46ch;font-size:16.5px}
.end a{display:inline-block;margin-top:26px;margin-right:clamp(20px,3vw,44px);font-family:BC,Impact,sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(19px,2.6vw,36px);color:var(--ink);text-decoration:none;border-bottom:5px solid var(--ink)}
.foot{background:var(--ink);color:#8A8A8A;padding:26px var(--g);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-weight:700;font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.foot a{color:var(--gold);text-decoration:none;border-bottom:2px solid rgba(255,200,30,.4)}
.foot a:hover{border-bottom-color:var(--gold)}
.foot span{max-width:100%}

/* ---- SCROLL REVEAL ---- */
.rise{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}
.rise.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rise{opacity:1;transform:none;transition:none}}

/* ---- PLACEHOLDER SLOT (internal, clearly marked) ---- */
.slot{background:#161616;border:2px dashed #4A4114;color:#C9B87A;padding:clamp(26px,4vw,46px) var(--g);margin:0}
.slot b{display:block;font-family:BC,Impact,sans-serif;font-weight:800;text-transform:uppercase;font-size:20px;color:var(--gold);margin-bottom:8px}
.slot ul{margin:10px 0 0 18px;font-size:14.5px}.slot li{margin-bottom:5px}

/* ---- RESPONSIVE ---- */
@media(max-width:1000px){.wall{column-count:2}.pgrid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){
 .vid{grid-template-columns:1fr}
 .vid video{grid-column:1;grid-row:auto;justify-self:start;margin-top:22px}
 .split{grid-template-columns:1fr}.split img{min-height:clamp(300px,70vw,460px)}
 .steps{grid-template-columns:1fr}
 .mos{grid-template-columns:1fr 1fr;grid-auto-rows:37.5vw}
 .qs{grid-template-columns:1fr}
 .head2{grid-template-columns:1fr}
 .facts{grid-template-columns:1fr}
 .cells{grid-template-columns:1fr 1fr}
 .trio{grid-template-columns:1fr}
}
@media(max-width:640px){.pgrid{grid-template-columns:1fr}}
@media(max-width:560px){.wall{column-count:1}}

/* ---- PRESS LIST ---- */
.plist{background:var(--ink);padding:clamp(40px,6vw,90px) var(--g)}
.prow{display:grid;grid-template-columns:clamp(64px,8vw,110px) 1fr;gap:clamp(16px,3vw,44px);padding:clamp(22px,3vw,34px) 0;border-bottom:1px solid #262626;max-width:1100px}
.prow:first-child{border-top:5px solid var(--gold)}
.pyr{font-family:BC,Impact,sans-serif;font-weight:800;font-size:clamp(19px,2.2vw,30px);color:var(--gold);line-height:1.15}
.prow h3{font-family:BC,Impact,sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(19px,2.4vw,32px);line-height:1.15;color:var(--w);letter-spacing:.01em}
.prow h3 a{color:inherit;text-decoration:none;border-bottom:3px solid var(--gold)}
.prow h3 a:hover{color:var(--gold)}
.pout{display:block;margin-top:9px;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#8A8A8A}
.prow p{margin-top:10px;font-size:14.5px;line-height:1.7;color:#B9B9B9;max-width:70ch}
