:root{--ink:#0a1730;--navy:#07142b;--blue:#133c8d;--gold:#cba85f;--pale:#f8f5ee;--line:rgba(203,168,95,.38)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--pale);color:var(--ink);font:15px/1.65 'DM Sans',sans-serif}.grain{position:fixed;inset:0;pointer-events:none;z-index:5;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.nav{height:76px;position:absolute;z-index:4;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;color:white}.monogram{font:500 clamp(18px,2.2vw,24px) 'Cormorant Garamond',serif;letter-spacing:.08em;text-decoration:none;color:inherit}.monogram span{font-size:11px;color:var(--gold);vertical-align:middle}.nav-links{display:flex;gap:30px}.nav a{color:inherit;text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.16em}.nav-date{color:#e5c77f!important}.hero{min-height:100svh;position:relative;isolation:isolate;color:#fff;display:grid;place-items:center;text-align:center;overflow:hidden}.hero-slider{position:absolute;inset:0;z-index:-2;overflow:hidden}.hero-slide{position:absolute;inset:-4%;background-size:cover;background-position:center 50%;opacity:0;transform:scale(1);transition:opacity 1.2s ease-in-out,transform 3s cubic-bezier(.25,1,.5,1);pointer-events:none}.hero-slide.active{opacity:1;transform:scale(1.08)}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(3,10,25,.45),rgba(3,12,31,.03) 40%,rgba(3,10,25,.7)),linear-gradient(90deg,rgba(0,11,30,.28),transparent 60%)}.hero-content{padding:90px 20px 20px;animation:heroIn 1.4s .2s both}.eyebrow,.section-label{font-size:10px;text-transform:uppercase;letter-spacing:.24em;color:var(--gold);font-weight:600}.hero h1{margin:22px 0 14px;text-shadow:0 4px 30px rgba(2,7,18,.8)}.hero h1 span{display:block;font:400 clamp(85px,14vw,185px)/.85 'Great Vibes','Alex Brush','Pinyon Script',cursive;letter-spacing:.02em;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.5),0 0 45px rgba(203,168,95,.35)}.hero h1 em{font:italic clamp(38px,6vw,60px)/.9 'Cormorant Garamond',serif;color:#e5c77f;display:block;margin:6px 0}.hero-rule{display:flex;align-items:center;justify-content:center;gap:15px;margin:22px}.hero-rule i{height:1px;width:58px;background:var(--gold)}.hero-rule b{font:500 21px 'Cormorant Garamond',serif;color:#e5c77f}.date-line{font-size:11px;letter-spacing:.27em}.scroll-cue{display:inline-flex;gap:16px;align-items:center;margin-top:65px;color:white;text-decoration:none;font-size:10px;text-transform:uppercase;letter-spacing:.18em}.scroll-cue span{font-size:20px;animation:bob 1.8s infinite}.hero-caption{position:absolute;bottom:30px;right:5vw;font:italic 20px 'Cormorant Garamond',serif;color:#e5c77f}.section{padding:130px max(7vw,28px)}.section-label{text-align:center;margin-bottom:32px}.welcome{background:radial-gradient(circle at 5% 15%,#fff 0,transparent 30%),var(--pale)}.welcome-grid{max-width:1120px;margin:auto;display:grid;grid-template-columns:1fr .9fr;gap:10vw;align-items:center}.script{font:italic 29px 'Cormorant Garamond',serif;color:#a88642;margin:0 0 5px}.welcome h2,.center-heading,.gallery h2,.rsvp h2{font:500 clamp(44px,5vw,72px)/.98 'Cormorant Garamond',serif;letter-spacing:-.03em;margin:0 0 28px}.welcome-copy>p:not(.script){max-width:400px;color:#526075}.gold-flourish{font-size:30px;color:var(--gold);margin-top:35px}.portrait-frame{position:relative;padding:12px;border:1px solid var(--line)}.portrait-frame img{width:100%;display:block;aspect-ratio:3/4;object-fit:cover}.photo-note{position:absolute;bottom:28px;left:-28px;background:var(--navy);color:#fff;padding:13px 25px;font:italic 21px 'Cormorant Garamond',serif}.dark{background:var(--navy);color:#f8f5ee}.center{text-align:center}.center-heading{text-align:center}.events{max-width:1040px;margin:65px auto 0;border-top:1px solid var(--line)}.event-card{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid var(--line);padding:35px 12px;transition:opacity .3s ease,transform .4s ease,background .4s ease,padding-left .4s ease}.event-card:hover{background:rgba(203,168,95,.08);padding-left:27px}.event-card.hidden{display:none!important}.event-tabs{display:flex;justify-content:center;gap:12px;margin:25px 0 45px;flex-wrap:wrap}.event-tab{background:rgba(255,255,255,.05);border:1px solid var(--line);color:#d5d5d4;padding:10px 22px;border-radius:30px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;transition:.3s ease}.event-tab:hover,.event-tab.active{background:var(--gold);color:var(--navy);border-color:var(--gold);font-weight:600;box-shadow:0 4px 20px rgba(203,168,95,.4)}.event-badge{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--gold);font-weight:600;margin-bottom:6px}.event-time,.event-venue{margin:4px 0!important;color:#d5d5d4;font-size:14px}.event-actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}.btn-event{display:inline-flex;align-items:center;padding:9px 18px;border-radius:6px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;text-decoration:none;transition:.3s ease;cursor:pointer;border:1px solid var(--line)}.btn-event.primary{background:rgba(203,168,95,.12);color:#e5c77f}.btn-event.primary:hover{background:var(--gold);color:var(--navy);box-shadow:0 3px 15px rgba(203,168,95,.3)}.btn-event.secondary{background:rgba(255,255,255,.04);color:#f8f5ee}.btn-event.secondary:hover{background:rgba(255,255,255,.15);border-color:#fff}.event-date{display:flex;align-items:flex-start;gap:12px;color:var(--gold)}.event-date span{font:58px/.8 'Cormorant Garamond',serif}.event-date small{font-size:10px;letter-spacing:.12em;line-height:1.35}.event-info h3{font:500 31px 'Cormorant Garamond',serif;margin:3px 0 7px}.event-info p{margin:0;color:#d5d5d4}.event-info a{display:inline-block;color:#e5c77f;text-decoration:none;font-size:10px;text-transform:uppercase;letter-spacing:.17em;margin-top:14px}.event-info b{font-size:14px;margin-left:5px}.family-grid{max-width:1180px;margin:65px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:36px}.family-card{background:#fff;border:1px solid #e9e2d4;border-radius:10px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.03)}.family-card>img{width:100%;height:380px;aspect-ratio:4/3;object-fit:cover;object-position:center 20%;display:block;filter:saturate(.95);transition:transform .6s ease}.family-card:hover>img{transform:scale(1.02)}.family-copy{padding:38px}.family-copy h3{font:500 46px 'Cormorant Garamond',serif;margin:6px 0}.family-copy p{color:#566176;margin:0}.family-copy strong{font-weight:600;color:var(--ink)}details{border-top:1px solid #e9e2d4;margin-top:25px;padding-top:17px}summary{cursor:pointer;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#9e7b39;list-style:none}summary::-webkit-details-marker{display:none}summary span{float:right;font-size:18px}details[open] summary span{transform:rotate(45deg)}details>p{font-size:13px;margin-top:14px!important}.gallery{padding:130px 5vw;background:#edf0ed}.gallery-head{text-align:center;margin-bottom:50px}.gallery-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:16px;max-width:1400px;margin:auto;height:590px}.gallery figure{overflow:hidden;margin:0}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s ease}.gallery figure:hover img{transform:scale(1.06)}.gallery figure:nth-child(2) img{object-position:center}.gallery figure:nth-child(3) img{object-position:center}.rsvp{padding:110px 28px;text-align:center;background:linear-gradient(rgba(4,15,36,.89),rgba(4,15,36,.95)),url('assets/groom%20and%20bride4.jpg') center/cover fixed}.rsvp-card{max-width:650px;margin:auto}.rsvp h2{font-size:clamp(54px,7vw,90px);margin:12px 0}.rsvp h2 em{color:var(--gold);font-weight:400}.rsvp-card>p:not(.eyebrow){color:#d7d7d8}.contacts{display:flex;justify-content:center;gap:20px;margin-top:38px}.contacts a{width:245px;padding:18px;background:rgba(255,255,255,.06);border:1px solid var(--line);color:#f8f5ee;text-decoration:none;font-size:13px;transition:.3s}.contacts a:hover{background:rgba(203,168,95,.13)}.contacts small{display:block;color:var(--gold);font-size:9px;text-transform:uppercase;letter-spacing:.15em;margin-bottom:5px}footer{text-align:center;padding:45px;background:#050e20;color:#c9c8c8}footer p{font-size:11px;margin:12px 0;letter-spacing:.08em}.footer-date{color:var(--gold);letter-spacing:.18em!important;font-size:9px!important}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}@keyframes heroIn{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes slowZoom{from{transform:scale(1.08)}to{transform:scale(1)}}@keyframes bob{50%{transform:translateY(7px)}}.countdown-section{padding:80px 24px;background:linear-gradient(180deg,var(--navy),#040c1b);text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.countdown-container{max-width:850px;margin:auto}.countdown-timer{display:flex;justify-content:center;align-items:center;gap:15px;margin:32px 0 25px}.countdown-box{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:12px;padding:18px 24px;min-width:100px;box-shadow:0 8px 30px rgba(0,0,0,.3);backdrop-filter:blur(6px)}.count-num{display:block;font:500 clamp(36px,5vw,54px)/1 'Cormorant Garamond',serif;color:var(--gold)}.count-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:#c9c8c8;margin-top:6px}.countdown-sep{font:300 36px/1 'Cormorant Garamond',serif;color:var(--gold);opacity:.6}.countdown-sub{font-size:11px;letter-spacing:.22em;color:var(--gold);text-transform:uppercase;margin:0}@media(max-width:760px){.nav{height:64px;padding:0 22px}.nav-links{display:none}.nav-date{font-size:9px!important}.hero h1{font-size:86px}.hero h1 em{font-size:41px;margin:5px}.hero-caption{font-size:17px}.section{padding:85px 24px}.welcome-grid,.family-grid{grid-template-columns:1fr;gap:45px}.welcome-copy{order:2}.portrait-frame{max-width:460px}.events{margin-top:45px}.event-card{grid-template-columns:105px 1fr;padding:27px 0}.event-card:hover{padding-left:8px}.event-date span{font-size:46px}.event-info h3{font-size:29px}.family-card>img{height:auto;max-height:290px;aspect-ratio:4/3;object-fit:cover;object-position:center 20%}.family-copy{padding:24px 20px}.gallery{padding:85px 16px}.gallery-grid{height:550px;grid-template-columns:1fr 1fr;grid-template-rows:1.2fr .8fr}.gallery .tall{grid-row:span 2}.rsvp{background-attachment:scroll}.contacts{flex-direction:column;align-items:center}.contacts a{width:min(100%,300px)}.countdown-timer{gap:8px}.countdown-box{padding:12px 14px;min-width:70px}.countdown-sep{display:none}}
