/* =====================================================================
   LOUISIANA LIFE — V3 · Big Typography + Parallax
   Brand-locked: Gold #AE9142 · Navy #143865 · Gray #75787B · Cool Gray #C8C9C7
   Type: MADE Mirage only (system serif fallback until files added)
   ===================================================================== */
@font-face{ font-family:'MADE Mirage'; src:url('../fonts/MADEMirage-Thin.woff2') format('woff2'); font-weight:100; font-display:swap; }
@font-face{ font-family:'MADE Mirage'; src:url('../fonts/MADEMirage-Regular.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face{ font-family:'MADE Mirage'; src:url('../fonts/MADEMirage-Medium.woff2') format('woff2'); font-weight:500; font-display:swap; }
@font-face{ font-family:'MADE Mirage'; src:url('../fonts/MADEMirage-Bold.woff2') format('woff2'); font-weight:700; font-display:swap; }

:root{
  --gold:#AE9142; --navy:#143865; --gray:#75787B; --cool:#C8C9C7; --white:#FFFFFF;
  --paper:#FFFFFF;
  --serif:'MADE Mirage','Didot','Bodoni 72','Bodoni MT','Hoefler Text',Georgia,serif;
  --pad:clamp(20px,5vw,80px);
  --ease:cubic-bezier(.6,.01,.05,1);
}
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
body{ font-family:var(--serif); background:var(--paper); color:var(--navy); line-height:1.5; overflow-x:hidden; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
body.is-loading{ overflow:hidden; height:100vh; }
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
em{ font-style:italic; color:var(--gold); }
@media (hover:hover) and (pointer:fine){ body.cursor-on, body.cursor-on a, body.cursor-on button{ cursor:none; } }

/* ---------- cursor ---------- */
.cursor{ position:fixed; top:0; left:0; z-index:9000; pointer-events:none; transform:translate(-50%,-50%); }
.cursor span{ display:block; width:10px; height:10px; border-radius:50%; background:var(--gold); transition:transform .3s var(--ease); }
body.cursor-hover .cursor span{ transform:scale(2.6); }
@media (hover:none),(pointer:coarse){ .cursor{ display:none; } }

/* =====================================================================
   NAV
   ===================================================================== */
.nav{ position:fixed; top:0; left:0; width:100%; z-index:600; display:flex; align-items:center; justify-content:space-between; padding:clamp(18px,2.5vw,30px) var(--pad); }
.brand{ display:flex; align-items:center; gap:12px; }
.brand__mark{ width:36px; }
.brand__wordmark{ color:var(--navy); height:16px; width:auto; margin-top:2px; transition:color .4s var(--ease); }
/* nav adapts over dark sections (gold mark works on both) */
.nav.is-light .brand__wordmark{ color:var(--white); }
.nav.is-light .nav__cta{ color:var(--white); }
.nav.is-light .burger span{ background:var(--white); }
.nav__cta{ font-size:.9rem; letter-spacing:.02em; position:relative; transition:color .4s var(--ease); }
.nav__cta::after{ content:""; position:absolute; left:0; bottom:-5px; width:100%; height:1px; background:var(--gold); transform:scaleX(0); transform-origin:right; transition:transform .45s var(--ease); }
.nav__cta:hover::after{ transform:scaleX(1); transform-origin:left; }
.burger{ display:none; width:34px; height:28px; position:relative; }
.burger span{ position:absolute; left:4px; right:4px; height:1.5px; background:var(--navy); }
.burger span:nth-child(1){ top:10px; } .burger span:nth-child(2){ bottom:10px; }

/* =====================================================================
   HERO
   ===================================================================== */
.hero{ position:relative; min-height:100svh; padding:clamp(110px,16vh,180px) var(--pad) clamp(36px,6vh,70px); display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; }
.hero__ghost{ position:absolute; right:-2vw; top:38%; font-size:42vw; line-height:.7; font-weight:400; color:rgba(117,120,123,.07); z-index:0; pointer-events:none; white-space:nowrap; }
.hero__eyebrow{ position:relative; z-index:2; display:flex; justify-content:space-between; font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gray); border-bottom:1px solid rgba(20,56,101,.14); padding-bottom:18px; }
.hero__eyebrow span:last-child{ color:var(--gold); }
.hero__title{ position:relative; z-index:2; font-weight:400; line-height:.86; letter-spacing:-.03em; margin:auto 0; }
.hero__title .hl{ display:block; overflow:hidden; font-size:clamp(3.6rem,18vw,16rem); }
.hero__title .hl--indent{ padding-left:14vw; }
.hero__title .hl--gold{ color:var(--gold); font-style:italic; padding-left:6vw; }
.hero__title .hl__in{ display:block; }
.hero__foot{ position:relative; z-index:2; display:flex; justify-content:space-between; align-items:flex-end; gap:40px; }
.hero__foot p{ max-width:42ch; font-size:clamp(1rem,1.4vw,1.2rem); line-height:1.55; color:var(--gray); }
.hero__scroll{ font-size:.8rem; letter-spacing:.2em; text-transform:uppercase; color:var(--navy); white-space:nowrap; }

/* =====================================================================
   VELOCITY MARQUEE
   ===================================================================== */
.vmar{ background:var(--navy); color:var(--white); overflow:hidden; padding:clamp(20px,3vw,40px) 0; }
.vmar__row{ display:flex; align-items:center; gap:4vw; white-space:nowrap; width:max-content; will-change:transform; }
.vmar__row span{ font-size:clamp(2.4rem,7vw,6rem); font-weight:400; font-style:italic; letter-spacing:-.01em; }
.vmar__row i{ color:var(--gold); font-style:normal; font-size:clamp(1.4rem,3vw,2.6rem); }

/* =====================================================================
   STATEMENT
   ===================================================================== */
.say{ padding:clamp(110px,22vh,260px) var(--pad); }
.say__grid{ display:grid; grid-template-columns:1fr .42fr; gap:clamp(40px,6vw,96px); align-items:end; }
.say__label{ font-size:.82rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:1.6em; }
.say__text{ font-weight:400; line-height:1.16; letter-spacing:-.01em; font-size:clamp(1.9rem,5.2vw,4.6rem); max-width:20ch; }
.say__text .word{ display:inline-block; overflow:hidden; vertical-align:top; }
.say__text .word > span{ display:inline-block; }
.say__aside{ max-width:34ch; padding-bottom:.5em; }
.say__note{ color:var(--gray); font-size:clamp(1.02rem,1.3vw,1.22rem); line-height:1.65; margin-bottom:1.6em; }
.say__link{ display:inline-flex; align-items:center; gap:.5em; font-size:.96rem; font-weight:500; color:var(--navy); position:relative; }
.say__link i{ font-style:normal; color:var(--gold); transition:transform .4s var(--ease); }
.say__link::after{ content:""; position:absolute; left:0; bottom:-4px; width:100%; height:1px; background:currentColor; opacity:.25; transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease); }
.say__link:hover i{ transform:translateX(5px); }
.say__link:hover::after{ transform:scaleX(1); }

/* =====================================================================
   IMAGE-IN-TEXT
   ===================================================================== */
.bigword{ position:relative; background:var(--navy); padding:clamp(80px,16vh,180px) var(--pad); overflow:hidden; display:flex; flex-direction:column; align-items:center; gap:40px; }
.bigword__sky{ position:absolute; inset:0; background:url('../images/louisiana-river.jpg') center/cover no-repeat; opacity:.16; z-index:0; }
.bigword__text{
  position:relative; z-index:2; font-weight:400; letter-spacing:-.02em; line-height:.9;
  font-size:clamp(3.4rem,20vw,20rem); text-align:center; white-space:nowrap;
  background:url('../images/louisiana-river.jpg') center 30%/cover no-repeat;
  -webkit-background-clip:text; background-clip:text; color:transparent;
  -webkit-text-fill-color:transparent;
}
.bigword__cap{ position:relative; z-index:2; text-align:center; color:rgba(255,255,255,.82); font-size:clamp(1.05rem,1.6vw,1.4rem); line-height:1.6; max-width:46ch; }
/* fallback if background-clip:text unsupported */
@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  .bigword__text{ color:var(--gold); -webkit-text-fill-color:var(--gold); background:none; }
}

/* =====================================================================
   PRODUCTS — typographic list with hover reveal
   ===================================================================== */
.plist{ padding:clamp(100px,16vh,200px) var(--pad); }
.plist__head{ display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:clamp(40px,6vw,80px); flex-wrap:wrap; }
.plist__label{ font-size:.82rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }
.plist__title{ font-weight:400; line-height:1.0; font-size:clamp(2rem,5vw,4rem); letter-spacing:-.01em; }
.plist__items{ list-style:none; border-top:1px solid rgba(20,56,101,.16); }
.pitem{ position:relative; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:30px; padding:clamp(22px,3.4vw,46px) 6px; border-bottom:1px solid rgba(20,56,101,.16); transition:padding .5s var(--ease); }
.pitem__num{ font-size:.9rem; color:var(--gold); letter-spacing:.1em; align-self:start; padding-top:.9em; }
.pitem__name{ font-size:clamp(2.4rem,8vw,7rem); font-weight:400; line-height:.95; letter-spacing:-.02em; color:var(--navy); transition:color .4s var(--ease), transform .5s var(--ease); display:inline-block; }
.pitem__meta{ font-size:.8rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gray); }
.pitem:hover{ padding-left:24px; }
.pitem:hover .pitem__name{ color:var(--gold); font-style:italic; }
.pitem:hover .pitem__meta{ color:var(--navy); }

/* =====================================================================
   BIG STATS
   ===================================================================== */
.bstats{ padding:clamp(60px,10vh,130px) var(--pad) clamp(100px,16vh,200px); display:flex; flex-direction:column; gap:clamp(50px,8vh,120px); }
.bstat{ display:flex; flex-direction:column; }
.bstat--r{ align-items:flex-end; text-align:right; }
.bstat__num{ font-weight:400; line-height:.82; letter-spacing:-.03em; font-size:clamp(6rem,26vw,24rem); color:var(--gold); }
.bstat__label{ font-size:clamp(1.1rem,1.8vw,1.5rem); color:var(--navy); max-width:24ch; margin-top:.4em; line-height:1.4; }

/* =====================================================================
   CTA
   ===================================================================== */
.ctc{ background:var(--navy); color:var(--white); padding:clamp(100px,18vh,220px) var(--pad); }
.ctc__label{ font-size:.82rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:1.4em; }
.ctc__title{ font-weight:400; line-height:.9; letter-spacing:-.03em; margin-bottom:1em; }
.ctc__title .hl{ display:block; overflow:hidden; font-size:clamp(3rem,12vw,11rem); }
.ctc__title .hl--gold{ color:var(--gold); font-style:italic; }
.ctc__title .hl__in{ display:block; }
.ctc__actions{ display:flex; flex-wrap:wrap; gap:16px; }
.btn{ display:inline-flex; align-items:center; padding:1.1em 2.1em; border-radius:100px; font-size:.92rem; font-weight:500; background:var(--gold); color:var(--navy); transition:transform .4s var(--ease), background .4s; will-change:transform; }
.btn:hover{ background:var(--white); }
.btn--line{ background:transparent; color:var(--white); border:1px solid rgba(255,255,255,.3); }
.btn--line:hover{ background:var(--white); color:var(--navy); border-color:var(--white); }

/* =====================================================================
   FOOTER
   ===================================================================== */
.footer{ background:var(--navy); color:var(--white); padding:clamp(40px,6vh,70px) var(--pad) 36px; overflow:hidden; border-top:1px solid rgba(255,255,255,.14); }
.footer__big{ font-size:clamp(2.6rem,13vw,13rem); line-height:1; letter-spacing:-.02em; color:rgba(255,255,255,.06); white-space:nowrap; margin-bottom:.3em; }
.footer__rows{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; padding:40px 0; border-top:1px solid rgba(255,255,255,.14); }
.footer__col h4{ font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:1.2em; font-weight:500; }
.footer__col a{ display:block; color:rgba(255,255,255,.72); font-size:.98rem; margin-bottom:.65em; width:fit-content; transition:color .3s; }
.footer__col a:hover{ color:var(--gold); }
.footer__base{ display:flex; justify-content:space-between; gap:20px; padding-top:26px; border-top:1px solid rgba(255,255,255,.14); flex-wrap:wrap; }
.footer__base p{ font-size:.82rem; color:rgba(255,255,255,.5); }

/* =====================================================================
   VERSION SWITCHER
   ===================================================================== */
.vswitch{ position:fixed; right:clamp(16px,2vw,28px); bottom:clamp(16px,2vw,28px); z-index:750; display:flex; border:1px solid rgba(20,56,101,.18); background:var(--white); border-radius:100px; overflow:hidden; }
.vswitch a{ width:38px; height:38px; display:grid; place-items:center; font-size:.78rem; color:var(--gray); transition:background .3s,color .3s; }
.vswitch a.is-active{ background:var(--navy); color:var(--gold); }
.vswitch a:hover:not(.is-active){ background:var(--gold); color:var(--navy); }

/* =====================================================================
   ANIMATION DEFAULTS
   ===================================================================== */
[data-fade]{ opacity:0; transform:translateY(20px); }
.hl__in[data-line]{ transform:translateY(110%); }
html.no-js [data-fade]{ opacity:1; transform:none; }
html.no-js .hl__in[data-line]{ transform:none; }

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:900px){
  .nav__cta{ display:none; } .burger{ display:block; }
  .hero__title .hl--indent{ padding-left:8vw; } .hero__title .hl--gold{ padding-left:3vw; }
  .hero__foot{ flex-direction:column; align-items:flex-start; gap:20px; }
  .say__grid{ grid-template-columns:1fr; gap:44px; align-items:start; }
  .say__aside{ max-width:46ch; }
  .pitem{ grid-template-columns:auto 1fr; } .pitem__meta{ display:none; }
  .footer__rows{ grid-template-columns:1fr 1fr; }
}
@media (max-width:600px){
  .hero__scroll{ display:none; }
  .footer__base{ flex-direction:column; }
  .btn{ width:100%; justify-content:center; }
}
@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition-duration:.01ms !important; }
  [data-fade]{ opacity:1 !important; transform:none !important; }
  .hl__in[data-line]{ transform:none !important; }
}
