:root{--cream:#F4ECD8;--ink:#1F2A33;--teal:#2B7A82;--coral:#E05A3F;--mustard:#E4A53B;--sand:#D9C9A3;--cactus:#4E8B5A;--paper:#FFFDF7;--muted:#5A6670;--body:#3A4650}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Work Sans',system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:var(--teal)}a:hover{color:#1F5B61}
h1,h2,h3{margin:0;font-family:'Bebas Neue',Impact,'Arial Narrow',sans-serif;font-weight:400;letter-spacing:.01em}
.wrap{max-width:1200px;margin:0 auto;padding-left:40px;padding-right:40px}
.script{font-family:'Caveat',cursive;font-weight:600;font-size:36px;line-height:1;color:var(--coral)}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;font:600 16px/1 'Work Sans',system-ui,sans-serif;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .15s}
.btn-coral{background:var(--coral);color:#fff;border-color:var(--coral)}.btn-coral:hover{background:#C84A31;color:#fff}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}.btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff}
.btn-ink{background:var(--ink);color:var(--cream);border-color:var(--ink)}.btn-ink:hover{background:#0F161C;color:var(--cream)}
.btn-lg{min-height:60px;padding:0 32px;font-size:18px}
.stripe{height:8px;background:repeating-linear-gradient(90deg,var(--coral) 0 25%,var(--mustard) 25% 50%,var(--teal) 50% 75%,var(--cactus) 75% 100%)}
.card{background:var(--paper);border:2px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--ink)}
.card-dark{background:var(--ink);border:2px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--coral);color:var(--cream)}
.input{width:100%;min-height:52px;padding:0 16px;border:2px solid var(--ink);border-radius:10px;background:var(--paper);font:400 16px 'Work Sans',system-ui,sans-serif;color:var(--ink)}
.input:focus{outline:3px solid var(--mustard);outline-offset:2px}
.icon{width:20px;height:20px;flex:none}

/* nav */
.nav{background:var(--ink)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:14px;padding-bottom:14px}
.nav img{height:56px;width:auto}
.nav-links{display:flex;align-items:center;gap:32px}
.nav-links a{color:var(--cream);text-decoration:none;font-size:15px;font-weight:500;letter-spacing:.02em}.nav-links a:hover{color:var(--mustard)}
.nav .btn{min-height:44px;padding:0 20px;font-size:15px}

/* hero */
.hero{position:relative;color:var(--cream);background:#1F2A33 url('https://static.wixstatic.com/media/e6322f_344b39940dab4667bdd1fec973b1f34a~mv2.webp') center 40%/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;background:rgba(20,32,40,.72)}
.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:center;padding-top:96px;padding-bottom:88px}
.hero-copy{display:flex;flex-direction:column;gap:20px}
.hero-copy .eyebrow{display:flex;align-items:center;gap:12px;color:var(--mustard)}
.hero-copy .eyebrow::before{content:"";width:28px;height:3px;background:var(--mustard)}
.hero h1{font-size:120px;line-height:.92;color:var(--cream)}
.hero p{margin:0;max-width:540px;font-size:19px;line-height:1.55;color:#E6DCC4}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}
.next{padding:28px 28px 26px;display:flex;flex-direction:column;gap:18px}
.next-top{display:flex;justify-content:space-between;align-items:center}
.next-top .eyebrow{color:var(--mustard)}
.next-top span:last-child{font-size:14px;color:var(--sand)}
.next-date{display:flex;align-items:baseline;gap:14px}
.next-date .day{font-family:'Bebas Neue',Impact,sans-serif;font-size:76px;line-height:.9}
.next-date .month{font-family:'Bebas Neue',Impact,sans-serif;font-size:30px;line-height:1;letter-spacing:.04em;color:var(--coral);display:block}
.next-date .wk{font-size:15px;font-weight:500;color:var(--sand);display:block;margin-top:4px}
.speaker{display:flex;align-items:center;gap:16px;padding:16px;background:rgba(244,236,216,.08);border-radius:12px}
.speaker img{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid var(--mustard);flex:none}
.speaker .eyebrow{color:var(--sand);font-size:12px;letter-spacing:.14em}
.speaker strong{display:block;font-size:20px;line-height:1.1;margin-top:4px}
.next-addr{font-size:15px;line-height:1.5;color:var(--sand)}

/* sections */
.section{padding:96px 0}
.section h2{font-size:64px;line-height:.95}
.two{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:center}
.two-even{grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:56px}
.stack{display:flex;flex-direction:column;gap:18px}
.stack p{margin:0;font-size:18px;line-height:1.6;color:var(--body)}
.verse{font-size:15px;font-weight:600;color:var(--teal)}
.collage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.collage img{width:100%;height:162px;object-fit:cover;border-radius:14px;border:2px solid var(--ink)}
.collage img:first-child{height:340px;grid-row:span 2}

.expect{background:var(--teal);color:var(--cream);padding:72px 0}
.expect .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px}
.expect .big{font-family:'Bebas Neue',Impact,sans-serif;font-size:54px;line-height:1;color:var(--mustard)}
.expect strong{display:block;font-size:18px;margin:10px 0}
.expect span:last-child{font-size:15px;line-height:1.5;color:#D4E6E7}

.sched-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:40px}
.sched-head .note{font-size:15px;font-weight:500;color:var(--muted)}
.grid-ev{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}
.ev{padding:22px 22px 20px;display:flex;flex-direction:column;gap:14px}
.ev.past{opacity:.55}
.ev-top{display:flex;justify-content:space-between;align-items:center}
.ev-top .d{font-family:'Bebas Neue',Impact,sans-serif;font-size:44px;line-height:1}
.badge{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:7px 10px;border-radius:999px;background:var(--teal);color:#fff}
.badge.next{background:var(--coral)}.badge.past{background:var(--sand);color:var(--ink)}
.ev hr{border:0;height:2px;background:var(--ink);opacity:.15;margin:0}
.ev .eyebrow{color:var(--teal)}
.ev strong{display:block;font-size:19px;line-height:1.2;margin-top:4px}
.ev .wk{font-size:14px;color:var(--muted)}
.fine{margin:40px 0 0;font-size:14px;line-height:1.5;color:var(--muted)}

.gallery-sec{background:var(--ink);color:var(--cream);padding:80px 0}
.gallery-sec .script{color:var(--mustard)}
.gallery-sec h2{color:var(--cream)}
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:240px;gap:14px;margin-top:32px}
.gallery div{border-radius:14px;overflow:hidden}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery .wide{grid-column:span 2}.gallery .tall{grid-column:span 2;grid-row:span 2}

.leaders{background:var(--mustard)}
.leaders .script,.leaders h2,.leaders p{color:var(--ink)}
.tips{padding:28px;display:flex;flex-direction:column;gap:18px}
.tips .eyebrow{color:var(--teal)}
.tips ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;font-size:16px;line-height:1.5}
.tips li{display:flex;gap:12px}
.tips li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--coral);margin-top:8px}

.notify-form{padding:28px;display:flex;flex-direction:column;gap:16px}
.notify-form .eyebrow{color:var(--teal)}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:14px;font-weight:600}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--body)}
.check input{width:20px;height:20px;margin:2px 0 0;flex:none}
.legal{font-size:13px;line-height:1.5;color:var(--muted);margin:0}
.thanks{display:none;font-size:15px;font-weight:600;color:var(--teal)}
.sent .thanks{display:block}

footer{background:var(--ink);color:var(--sand)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px;align-items:flex-start;padding-top:56px;padding-bottom:40px}
footer .col{display:flex;flex-direction:column;gap:10px;font-size:15px;line-height:1.5}
footer .col .eyebrow{color:var(--mustard)}
footer a{color:var(--sand)}footer a:hover{color:var(--mustard)}
footer img{height:64px;width:auto;align-self:flex-start;flex:none}
.copy{font-size:13px;color:#8C9AA3;padding-bottom:32px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
.copy a{color:#8C9AA3}

/* notify page */
.np{min-height:100vh;display:flex;flex-direction:column}
.np header{background:var(--ink);padding:22px 24px 18px;display:flex;flex-direction:column;align-items:center;gap:10px}
.np header img{height:72px;width:auto}
.np header .eyebrow{color:var(--mustard);font-size:11px}
.np main{width:100%;max-width:520px;margin:0 auto;padding:28px 22px 32px;display:flex;flex-direction:column;gap:22px}
.np h1{font-size:56px;line-height:.92}
.np .script{font-size:30px}
.np p{margin:0;font-size:16px;line-height:1.55;color:var(--body)}
.np .btn-lg{min-height:64px;font-size:19px}
.np .small{font-size:12px;color:var(--muted);text-align:center;margin-top:-10px}
.or{display:flex;align-items:center;gap:12px;color:#8C9AA3;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.or::before,.or::after{content:"";flex:1;height:2px;background:var(--sand)}
.np .card{padding:20px;box-shadow:5px 5px 0 var(--ink)}
.np .next-mini{background:var(--ink);color:var(--cream);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.np .next-mini .eyebrow{color:var(--mustard);font-size:11px}
.np .next-mini .d{font-family:'Bebas Neue',Impact,sans-serif;font-size:34px;line-height:1}
.np .next-mini span:last-child{font-size:14px;line-height:1.5;color:var(--sand)}
.np .home{font-size:14px;font-weight:500;text-align:center;text-decoration:none}
.np footer{margin-top:auto;background:transparent;color:#8C9AA3;font-size:12px;text-align:center;padding:16px 22px 22px}
.np footer a{color:#8C9AA3}

@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr;padding-top:64px;padding-bottom:64px}
  .hero h1{font-size:84px}
  .two,.two-even{grid-template-columns:1fr;gap:40px}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:180px}
  .gallery .tall{grid-row:span 1}
}
@media (max-width:640px){
  .wrap{padding-left:20px;padding-right:20px}
  .nav-links{display:none}
  .nav img{height:44px}
  .hero h1{font-size:64px}
  .section{padding:64px 0}
  .section h2{font-size:48px}
  .next-date .day{font-size:64px}
  .collage img:first-child{height:240px}
}