:root{
  --night:#101B2B; --night-2:#1B2A40; --dawn-1:#4A3B5C;
  --sun:#F2A65A; --coral:#E8735A; --cream:#F6EFE2; --ink:#211A14; --paper:#FBF7EF;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{ font-family:'Space Grotesk', sans-serif; background:var(--paper); color:var(--ink); line-height:1.6; }
.serif{ font-family:'Fraunces', serif; font-style:italic; }
a{ color:inherit; text-decoration:none; }
.wrap{ max-width:1180px; margin:0 auto; padding:0 28px; }

.placeholder{
  width:100%; height:100%;
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,0.06) 0 12px, rgba(255,255,255,0.01) 12px 24px),
    linear-gradient(160deg, #6E6248, #3B3628);
}

header{ background:var(--paper); border-bottom:1px solid #E9DEC9; position:sticky; top:0; z-index:50; }
.nav{ display:flex; align-items:center; justify-content:space-between; padding:18px 0; }
.brand{ display:flex; align-items:center; gap:12px; }
.brand-mark{ width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg, var(--sun), var(--coral));
  display:flex; align-items:center; justify-content:center; color:var(--night); font-family:'Fraunces',serif; font-weight:600; font-size:14px; }
.brand-text p{ font-size:16px; font-weight:600; }
.brand-text span{ font-size:10.5px; color:#8A7B62; }
nav ul{ display:flex; gap:28px; list-style:none; font-size:13.5px; color:#4A4032; }
nav ul li a.current{ color:var(--coral); font-weight:600; }
.nav-cta{ background:var(--night); color:#fff; padding:9px 18px; border-radius:2px; font-size:13px; }

/* HERO SLIDESHOW */
.hero{ position:relative; height:100vh; min-height:640px; overflow:hidden; background:var(--night); }
.slides{ position:absolute; inset:0; }
.slide{ position:absolute; inset:0; opacity:0; transition:opacity 1.6s ease; }
.slide.active{ opacity:1; z-index:2; }

.veil{ position:absolute; inset:0; z-index:4;
  background:linear-gradient(180deg, rgba(16,27,43,0.35) 0%, rgba(16,27,43,0.15) 30%, rgba(16,27,43,0.78) 100%); }

.intro-veil{ position:absolute; inset:0; z-index:8; background:var(--night);
  animation: introFade 2.3s ease-out 0.35s forwards; }
@keyframes introFade{ 0%{ opacity:1; } 100%{ opacity:0; visibility:hidden; } }

.sun-glow{ position:absolute; left:50%; bottom:32%; width:240px; height:240px; border-radius:50%; z-index:7;
  background:radial-gradient(circle at 50% 50%, var(--sun), var(--coral) 65%, transparent 72%);
  transform:translate(-50%, 60%); opacity:0; filter:blur(2px);
  animation: sunRise 2.4s ease-out 0.35s forwards, sunFade 1.4s ease-in 2.6s forwards; }
@keyframes sunRise{ 0%{ transform:translate(-50%,80%); opacity:0; } 100%{ transform:translate(-50%,0%); opacity:0.9; } }
@keyframes sunFade{ to{ opacity:0; } }

.hero-copy{ position:relative; z-index:5; height:100%; display:flex; flex-direction:column; justify-content:center; }
.caption{ max-width:640px; opacity:0; transition:opacity 1s ease; position:absolute; }
.caption.active{ opacity:1; position:relative; }
.caption .eyebrow{ color:var(--sun); font-size:14px; margin-bottom:16px; display:block; }
.caption h1{ font-family:'Fraunces',serif; font-style:italic; font-weight:500; font-size:clamp(36px,5.4vw,64px); color:#fff; line-height:1.08; margin-bottom:20px; }
.caption p{ color:#E7DCC7; font-size:15.5px; max-width:44ch; }

.hero-actions{ display:flex; gap:14px; margin-top:30px; }
.btn-sun{ background:linear-gradient(135deg, var(--sun), var(--coral)); color:var(--night); font-weight:600; padding:14px 26px; border-radius:2px; font-size:14px; }
.btn-ghost{ border:1px solid rgba(255,255,255,0.4); color:#fff; padding:14px 26px; border-radius:2px; font-size:14px; }

.dots{ position:absolute; bottom:36px; left:50%; transform:translateX(-50%); z-index:9; display:flex; gap:10px; }
.dot{ width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.35); cursor:pointer; transition:background .3s; }
.dot.active{ background:var(--sun); }

@media (prefers-reduced-motion: reduce){
  .intro-veil, .sun-glow{ animation:none !important; opacity:0 !important; visibility:hidden !important; }
  .slide{ transition:none; }
}

/* Facts strip */
.facts{ background:var(--dawn-1); color:#fff; }
.facts .wrap{ display:grid; grid-template-columns:repeat(4,1fr); padding:28px; }
.facts .fact{ border-left:1px solid rgba(255,255,255,0.2); padding-left:20px; }
.facts .fact:first-child{ border:none; padding-left:0; }
.facts strong{ display:block; font-family:'Fraunces',serif; font-style:italic; font-size:28px; color:var(--sun); }
.facts span{ font-size:12.5px; color:#E7DAC5; }

footer{ background:var(--night); color:#C9BFAB; padding:56px 0 24px; }
.footer-grid{ display:grid; grid-template-columns:1.2fr 1fr 1fr 1fr; gap:36px; margin-bottom:40px; }
.footer-grid h5{ color:#fff; font-size:13px; margin-bottom:16px; }
.footer-grid p, .footer-grid li{ font-size:13.5px; list-style:none; margin-bottom:8px; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,0.12); padding-top:20px; font-size:12px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; }

@media (max-width:880px){
  nav ul, .nav-cta{ display:none; }
  .facts .wrap{ grid-template-columns:1fr 1fr; row-gap:20px; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
}
