:root{--ink:#13251d;--forest:#183c2c;--cream:#f7f4ed;--gold:#c9a96b;--white:#fff;--line:rgba(19,37,29,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}.site-header{position:absolute;z-index:10;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:24px clamp(22px,5vw,72px);color:white;border-bottom:1px solid rgba(255,255,255,.2)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-family:"Playfair Display",serif;font-size:1.55rem;color:var(--gold)}.brand strong,.brand small{display:block;line-height:1}.brand strong{font-family:"Playfair Display",serif;font-size:1.3rem;font-weight:500}.brand small{text-transform:uppercase;letter-spacing:.18em;font-size:.61rem;margin-top:6px}nav{display:flex;align-items:center;gap:30px;font-size:.86rem;letter-spacing:.04em}nav a:not(.nav-cta){border-bottom:1px solid transparent}nav a:hover{border-color:var(--gold)}.nav-cta{border:1px solid rgba(255,255,255,.65);padding:10px 18px;border-radius:999px}.menu-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.6);color:white;border-radius:999px;padding:8px 14px}.hero{height:min(850px,100svh);min-height:680px;position:relative;display:flex;align-items:center;color:white;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,24,17,.78) 0%,rgba(6,24,17,.45) 43%,rgba(6,24,17,.06) 76%),linear-gradient(0deg,rgba(6,24,17,.35),transparent 40%)}.hero-content{position:relative;z-index:1;max-width:760px;padding:100px clamp(22px,8vw,120px) 20px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.76rem;font-weight:600;color:#e0c995;margin:0 0 20px}.eyebrow.dark{color:#8c6b32}h1,h2,h3{font-family:"Playfair Display",serif;font-weight:500;line-height:1.08;margin:0}h1{font-size:clamp(3.5rem,7vw,7.4rem);letter-spacing:-.035em}.hero-copy{font-size:clamp(1rem,1.5vw,1.2rem);max-width:650px;color:rgba(255,255,255,.9);margin:26px 0 34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:999px;font-size:.88rem;font-weight:600;letter-spacing:.03em}.button-light{background:white;color:var(--forest)}.button-gold{background:var(--gold);color:#14221b}.scroll-cue{position:absolute;z-index:1;bottom:28px;right:clamp(22px,5vw,72px);font-size:.76rem;text-transform:uppercase;letter-spacing:.14em}.scroll-cue span{margin-left:12px;color:var(--gold)}.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,9vw,130px);padding:clamp(80px,11vw,150px) clamp(22px,8vw,120px)}.intro h2,.contact h2{font-size:clamp(2.5rem,5vw,5rem);letter-spacing:-.03em;max-width:780px}.intro-copy{font-size:1.1rem;padding-top:36px;color:#496055}.intro-copy p:first-child{margin-top:0}.event-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 clamp(22px,5vw,72px)}.event-grid article{padding:clamp(38px,5vw,70px);min-height:300px}.event-grid article:nth-child(even){border-left:1px solid var(--line)}.event-grid article:nth-child(n+3){border-top:1px solid var(--line)}.event-grid span{font-size:.72rem;letter-spacing:.15em;color:#8c6b32}.event-grid h3{font-size:2.1rem;margin:48px 0 18px}.event-grid p{color:#5d6c65;max-width:440px}.contact{background:var(--forest);color:white;margin-top:clamp(80px,10vw,140px);padding:clamp(70px,9vw,120px) clamp(22px,8vw,120px);display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(50px,9vw,140px);align-items:center}.contact-heading>p:last-child{color:rgba(255,255,255,.72);max-width:620px;font-size:1.08rem}.contact-card{border-left:1px solid rgba(255,255,255,.22);padding-left:clamp(28px,5vw,72px)}.label{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:#e0c995;margin:22px 0 4px}.phone{font-family:"Playfair Display",serif;font-size:2rem}.contact address{font-style:normal;color:rgba(255,255,255,.82);margin-bottom:30px}.contact .button{margin-top:6px}footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;background:#0d241a;color:white;padding:34px clamp(22px,5vw,72px);font-size:.76rem;color:rgba(255,255,255,.58)}footer p:last-child{text-align:right}.footer-brand{color:white}.footer-brand .brand-mark{width:34px;height:34px;font-size:1.1rem}.footer-brand strong{font-size:1rem}.footer-brand small{font-size:.5rem}
@media(max-width:800px){.site-header{padding:18px 20px}.menu-toggle{display:block}nav{display:none;position:absolute;top:82px;left:20px;right:20px;background:var(--forest);padding:24px;border-radius:14px;flex-direction:column;align-items:stretch}nav.open{display:flex}.nav-cta{text-align:center}.hero{min-height:690px}.hero-content{padding-inline:22px}h1{font-size:clamp(3.1rem,15vw,5rem)}.scroll-cue{display:none}.intro,.contact{grid-template-columns:1fr}.intro{padding-top:80px}.intro-copy{padding-top:0}.event-grid{grid-template-columns:1fr}.event-grid article{min-height:0}.event-grid article+article{border-left:0;border-top:1px solid var(--line)}.event-grid h3{margin-top:32px}.contact-card{border-left:0;border-top:1px solid rgba(255,255,255,.22);padding:30px 0 0}footer{grid-template-columns:1fr;text-align:center}footer .brand{justify-content:center}footer p:last-child{text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.event-grid article{padding:0;overflow:hidden}.section-photo{display:block;width:100%;height:280px;object-fit:cover}.card-copy{padding:clamp(32px,4vw,56px)}.event-grid h3{margin-top:32px}.email{display:inline-block;color:rgba(255,255,255,.9);font-size:1rem;overflow-wrap:anywhere;margin-bottom:4px}
.social-links{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}.social-links a{border:1px solid rgba(255,255,255,.38);border-radius:999px;padding:9px 16px;font-size:.82rem;font-weight:600;letter-spacing:.04em}.social-links a:hover,.social-links a:focus-visible{border-color:var(--gold);color:#f1d79d}
.brand-logo{display:block;width:92px;height:92px;object-fit:contain}.footer-brand .brand-logo{width:78px;height:78px}.email{font-weight:600;text-decoration:underline;text-decoration-color:rgba(255,255,255,.45);text-underline-offset:4px}
@media(max-width:800px){.site-header .brand-logo{width:72px;height:72px}.footer-brand .brand-logo{width:82px;height:82px}}
@media(max-width:800px){.section-photo{height:240px}.card-copy{padding:30px 24px}}
