
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500&family=Playfair+Display:wght@400;500&display=swap');

:root{
  --ink:#151923;
  --navy:#1a1e4a;
  --muted:#747986;
  --line:#e7e8eb;
  --paper:#f8f8f6;
  --white:#fff;
  --accent:#8fa9aa;
  --max:1280px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--white);
  font-family:Inter,Arial,sans-serif;
  font-weight:300;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input{font:inherit}

.site-header{
  position:relative;
  z-index:10;
  height:82px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:0 42px;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--line);
}
.brand{
  display:flex;
  justify-content:center;
  align-items:center;
}
.brand img{width:92px;height:auto}
.nav-left,.nav-right{display:flex;align-items:center;gap:30px}
.nav-right{justify-content:flex-end}
.nav-link{
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#31343c;
  transition:opacity .2s ease;
}
.nav-link:hover{opacity:.55}
.menu-icon,.search-icon{
  width:22px;height:18px;position:relative;display:inline-block;
}
.menu-icon:before,.menu-icon:after,.menu-icon span{
  content:"";position:absolute;left:0;width:20px;height:1px;background:var(--ink);
}
.menu-icon:before{top:3px}.menu-icon span{top:9px}.menu-icon:after{top:15px}
.search-icon{width:18px;height:18px;border:1px solid var(--ink);border-radius:50%}
.search-icon:after{
  content:"";position:absolute;width:7px;height:1px;background:var(--ink);
  right:-5px;bottom:-2px;transform:rotate(45deg);transform-origin:left center;
}

.hero{
  min-height:calc(100vh - 82px);
  display:grid;
  grid-template-columns:1.05fr .95fr;
  background:#dfe8e7;
}
.hero-copy{
  display:flex;
  align-items:center;
  padding:9vw;
}
.kicker{
  margin:0 0 22px;
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.hero h1{
  margin:0;
  max-width:600px;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(48px,6vw,92px);
  line-height:1.02;
  font-weight:400;
}
.hero p{
  max-width:470px;
  margin:28px 0 0;
  color:#555b64;
  font-size:16px;
}
.hero-image{
  min-height:650px;
  background:#cbd8d6;
  overflow:hidden;
}
.hero-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.intro{
  max-width:900px;
  margin:0 auto;
  padding:110px 28px 100px;
  text-align:center;
}
.intro h2{
  margin:0 0 24px;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(32px,4vw,52px);
  font-weight:400;
}
.intro p{margin:0;color:var(--muted);font-size:16px}

.cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2px;
  background:var(--white);
}
.card{
  position:relative;
  min-height:460px;
  overflow:hidden;
  background:#ddd;
}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.card:hover img{transform:scale(1.025)}
.card-overlay{
  position:absolute;inset:auto 0 0;padding:70px 35px 34px;
  color:#fff;
  background:linear-gradient(transparent,rgba(0,0,0,.58));
}
.card-overlay h3{
  margin:0 0 7px;
  font-family:"Playfair Display",Georgia,serif;
  font-size:30px;font-weight:400;
}
.card-overlay span{
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;
}

.section{
  max-width:var(--max);
  margin:auto;
  padding:110px 30px;
}
.section.center{text-align:center}
.section h2{
  margin:0 0 16px;
  font-family:"Playfair Display",Georgia,serif;
  font-size:42px;font-weight:400;
}
.section p{color:var(--muted)}

.contact-band{
  background:var(--paper);
  text-align:center;
  padding:95px 30px;
}
.contact-band h2{
  margin:0 0 18px;
  font-family:"Playfair Display",Georgia,serif;
  font-weight:400;font-size:42px;
}
.contact-band p{margin:6px 0;color:var(--muted)}
.contact-band a:hover{text-decoration:underline}

.site-footer{
  background:var(--navy);
  color:#fff;
  padding:65px 42px 28px;
}
.footer-grid{
  max-width:var(--max);margin:auto;
  display:grid;grid-template-columns:1.2fr 1fr 1fr;
  gap:55px;
}
.footer-brand img{width:82px;filter:brightness(0) invert(1);margin-bottom:22px}
.footer-title{
  margin:0 0 18px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;
}
.footer-copy,.footer-link{
  color:rgba(255,255,255,.72);font-size:13px;line-height:1.9;
}
.footer-link{display:block}
.footer-link:hover{color:#fff}
.footer-bottom{
  max-width:var(--max);margin:55px auto 0;padding-top:22px;
  border-top:1px solid rgba(255,255,255,.16);
  color:rgba(255,255,255,.5);font-size:11px;
  display:flex;justify-content:space-between;gap:20px;
}

.page-hero{
  background:var(--paper);
  padding:100px 25px 90px;
  text-align:center;
}
.page-hero .kicker{color:var(--muted)}
.page-hero h1{
  margin:0;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(44px,6vw,76px);
  font-weight:400;
}
.page-hero p{
  max-width:720px;margin:22px auto 0;color:var(--muted);font-size:16px;
}

.raffle{
  max-width:1120px;margin:0 auto;padding:80px 25px 100px;
}
.raffle-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;
}
.raffle-image{
  overflow:hidden;background:#e8e9e7;
}
.raffle-image img{width:100%;height:auto}
.raffle-copy .eyebrow{
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);
}
.raffle-copy h2{
  margin:12px 0 22px;font-family:"Playfair Display",Georgia,serif;
  font-size:44px;font-weight:400;line-height:1.1;
}
.raffle-copy p{color:#626771}
.dates{
  margin:28px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.date-row{display:flex;justify-content:space-between;gap:20px;padding:7px 0;font-size:13px}
.date-row strong{font-weight:500}
.status{
  margin-top:28px;padding:18px 20px;background:#f3f3f1;
  border-left:2px solid var(--navy);font-size:14px;
}
.video{
  max-width:1120px;margin:0 auto 100px;padding:0 25px;
}
.video-frame{background:#111;overflow:hidden}
.video-frame video{width:100%;display:block;aspect-ratio:16/9;object-fit:cover}
.video-caption{text-align:center;color:var(--muted);font-size:12px;margin-top:13px}

@media(max-width:900px){
  .site-header{height:70px;padding:0 20px}
  .nav-left .nav-link,.nav-right .nav-link{display:none}
  .nav-left{gap:15px}.nav-right{gap:15px}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-copy{padding:80px 28px}
  .hero-image{min-height:62vh;order:-1}
  .cards{grid-template-columns:1fr}
  .card{min-height:65vh}
  .footer-grid{grid-template-columns:1fr 1fr}
  .raffle-grid{grid-template-columns:1fr;gap:42px}
}
@media(max-width:560px){
  .site-header{grid-template-columns:1fr auto 1fr}
  .brand img{width:78px}
  .hero h1{font-size:50px}
  .intro,.section{padding-top:75px;padding-bottom:75px}
  .footer-grid{grid-template-columns:1fr;gap:35px}
  .footer-bottom{flex-direction:column}
  .raffle{padding-top:55px}
  .raffle-copy h2{font-size:36px}
}
