
:root{--green:#0d2a22;--green2:#17382f;--cream:#f7f1e7;--paper:#fffaf3;--gold:#b58a4c;--gold2:#d7b77c;--ink:#1b211e;--muted:#6a736e;--line:#dbc8a7;--shadow:0 24px 70px rgba(34,33,27,.16)}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55} a{color:inherit;text-decoration:none} img,video{display:block;max-width:100%} button,input,textarea{font:inherit} :focus-visible{outline:3px solid #e8c98f;outline-offset:3px}
.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:14px;top:14px;z-index:100;background:#fff;padding:10px 14px;color:#111}
.nav{position:sticky;top:0;z-index:40;display:flex;justify-content:space-between;align-items:center;padding:15px 5vw;background:rgba(13,42,34,.94);backdrop-filter:blur(10px);color:white;border-bottom:1px solid rgba(255,255,255,.12)}
.nav-left{display:flex;align-items:center}.monogram{font-family:Georgia,serif;letter-spacing:.22em;font-size:22px;color:#efd7aa}.brand-sub{display:block;font-family:Arial,sans-serif;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#bdd0c8;margin-top:3px}.nav-links{display:flex;gap:21px;font-size:11px;text-transform:uppercase;letter-spacing:.14em}.nav-links a:hover{color:#efd7aa}.mobile-toggle{display:none;background:none;border:1px solid rgba(239,215,170,.5);color:#efd7aa;padding:8px 10px;border-radius:4px;cursor:pointer}
.hero{display:grid;grid-template-columns:1.06fr .94fr;min-height:calc(100vh - 66px);background:var(--green);color:#fff}.hero-photo{min-height:690px;position:relative;background:url('assets/hero.jpg') center center/cover no-repeat}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 62%,rgba(13,42,34,.84) 100%)}.hero-copy{display:flex;align-items:center;padding:7vw 7vw 7vw 5vw;position:relative}.hero-copy:before{content:'';position:absolute;right:-54px;top:150px;width:250px;height:250px;border:1px solid rgba(181,138,76,.35);border-radius:50%}.eyebrow,.kicker{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#e6c893;margin-bottom:16px}.kicker{color:var(--gold)}h1,h2,h3,h4{font-family:Georgia,'Times New Roman',serif;font-weight:400;margin:0}h1{font-size:clamp(56px,7vw,108px);line-height:.92;letter-spacing:-.04em}.hero h1 .accent{display:block;font-size:clamp(24px,2.8vw,42px);line-height:1.16;color:#e6c893;letter-spacing:.03em;font-style:italic;margin-top:16px}.script{font-family:Georgia,serif;font-style:italic;color:#e8c98f;font-size:clamp(28px,3vw,48px);margin:16px 0 8px}.hero-sub{font-size:18px;max-width:540px;color:#f2ede4;margin-top:18px}.hero-meta{display:flex;flex-wrap:wrap;gap:20px;margin-top:30px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#d8d8d2}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-block;padding:13px 20px;border:1px solid var(--gold2);text-transform:uppercase;letter-spacing:.14em;font-size:11px;transition:.2s;background:transparent;cursor:pointer}.btn.gold{background:var(--gold2);color:#10251f}.btn:hover{transform:translateY(-1px)}
.section{padding:86px 8vw}.section.narrow{max-width:1160px;margin:0 auto}.section-title{font-size:clamp(38px,5vw,72px);line-height:1.03;color:var(--green)}.lede{font-family:Georgia,serif;font-size:clamp(20px,2vw,29px);line-height:1.45;max-width:860px;margin-top:25px}.lede.small{font-size:22px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.story-photo{box-shadow:var(--shadow);overflow:hidden;background:#ddd}.story-photo img{width:100%;height:100%;object-fit:cover}.card,.panel{background:var(--paper);padding:44px;border:1px solid var(--line);box-shadow:0 12px 40px rgba(0,0,0,.05)}.quote{font-family:Georgia,serif;font-style:italic;font-size:28px;color:var(--green);line-height:1.35;margin:24px 0}
.timeline{background:var(--green);color:white}.timeline .section-title{color:white}.timeline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.14);margin-top:46px}.timeline-item{background:var(--green);padding:34px 30px;min-height:245px}.timeline-date{color:#e2c28b;letter-spacing:.16em;text-transform:uppercase;font-size:11px;margin-bottom:14px}.timeline-item h3{font-size:31px;margin-bottom:14px}.timeline-item p{color:#d9dfdc;margin:0}
.highlight-band{background:linear-gradient(180deg,#ede1ce,#f7f1e7);padding:86px 8vw;text-align:center;border-top:1px solid #e4d5bd;border-bottom:1px solid #e4d5bd}.highlight-band h2{font-size:clamp(42px,6vw,80px);color:var(--green)}.highlight-band p{max-width:760px;margin:20px auto 0;font-size:18px}
.gallery-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;grid-auto-rows:270px;gap:14px;margin-top:40px}.gallery-grid .large{grid-row:span 2}.gallery-grid figure{margin:0;overflow:hidden;background:#ddd;position:relative}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:.35s ease}.gallery-grid figure:hover img{transform:scale(1.02)}.media-strip{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px}.media-strip video{width:100%;max-height:560px;background:#111;object-fit:cover;box-shadow:var(--shadow)}
.info-grid,.registry-list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}.panel h3,.registry-card h3{font-size:29px;color:var(--green);margin-bottom:10px}.panel p{color:#4f5753}.tagline{font-size:14px;color:var(--muted)}.qr-box{display:grid;grid-template-columns:160px 1fr;gap:24px;align-items:center;background:#f0e4d1;border:1px solid var(--line);padding:26px;margin-top:24px}.qr-box img{width:160px;background:white;padding:8px}.callout{background:#f1e4cf;border:1px solid #ddbf87;padding:18px 20px;color:#5a4930;margin-top:18px}.callout strong{color:#3d3121}
.page-hero{padding:106px 8vw 78px;background:var(--green);color:white;text-align:center}.page-hero h1{font-size:clamp(54px,7vw,92px)}.page-hero p{max-width:760px;margin:22px auto 0;color:#dce5e1;font-size:18px}.story-long{max-width:900px;margin:0 auto}.story-long p{font-family:Georgia,serif;font-size:21px;line-height:1.8;margin:0 0 24px}.story-long .dropcap:first-letter{float:left;font-size:82px;line-height:.75;padding-right:10px;padding-top:10px;color:var(--gold)}
.registry-card{border:1px solid var(--line);background:var(--paper);padding:28px}.registry-card .tag{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--gold)}.registry-card h3{margin:10px 0}.notice{background:#f0e3cb;border:1px solid #d5b77f;padding:14px 18px;font-size:13px;color:#5c4827;margin-top:20px}
.details-list{display:grid;gap:14px;margin-top:18px}.detail-item{display:flex;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid #e6d8c0}.detail-item span:first-child{color:var(--muted)}.moments-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}.moments-grid .wide{grid-column:span 2}.moments-grid figure{margin:0;overflow:hidden;background:#ddd;min-height:280px}.moments-grid img{width:100%;height:100%;object-fit:cover}.faq{display:grid;gap:14px;margin-top:32px}.faq details{background:var(--paper);border:1px solid var(--line);padding:18px 20px}.faq summary{cursor:pointer;font-weight:700;color:var(--green)}
.form{display:grid;gap:12px;margin-top:22px}.form label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.form input,.form textarea,.form select{width:100%;padding:14px 15px;border:1px solid #d7cbb8;background:#fffdf9;color:#111}.form small{color:var(--muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.honeypot{position:absolute;left:-9999px}
.footer{padding:52px 8vw;background:#091b17;color:#ccd5d1;text-align:center}.footer .monogram{font-size:34px;margin-bottom:12px}.footer small{display:block;color:#86968f}.footer-links{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:18px;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.link-button{border:0;background:none;color:inherit;padding:0;text-transform:uppercase;letter-spacing:.12em;font-size:11px;cursor:pointer}.footer-links a:hover,.link-button:hover{color:#efd7aa}
.status-pill{display:inline-block;padding:7px 10px;border:1px solid #c9ae79;background:#fff8eb;color:#5a4930;font-size:10px;text-transform:uppercase;letter-spacing:.13em}.center{text-align:center}.hidden{display:none!important}
@media(max-width:1000px){.hero{grid-template-columns:1fr}.hero-photo{min-height:54vh}.hero-photo:after{background:linear-gradient(180deg,transparent 66%,var(--green) 100%)}.hero-copy{padding:48px 7vw 72px}.grid-2,.info-grid,.registry-list,.media-strip{grid-template-columns:1fr}.timeline-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.gallery-grid .large{grid-row:span 1;grid-column:span 2}.qr-box{grid-template-columns:1fr}.moments-grid{grid-template-columns:1fr 1fr}.moments-grid .wide{grid-column:span 2}}
@media(max-width:760px){.mobile-toggle{display:block}.nav{flex-wrap:wrap;row-gap:12px}.nav-links{display:none;width:100%;flex-direction:column;gap:12px;padding-top:10px}.nav-links.show{display:flex}.section{padding:68px 7vw}.card,.panel{padding:30px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:260px}.gallery-grid .large{grid-column:span 1}.moments-grid{grid-template-columns:1fr}.moments-grid .wide{grid-column:span 1}.form-row{grid-template-columns:1fr}.detail-item{flex-direction:column;gap:4px}.qr-box img{width:140px}}
