:root{--night: #070e0b;--forest: #0d2418;--canopy: #122e1f;--shade: #193829;--gold: #c9a44a;--wheat: #dfc375;--ivory: #f4ede0;--ivory-7: rgba(244, 237, 224, .7);--ivory-5: rgba(244, 237, 224, .5);--ivory-3: rgba(244, 237, 224, .3);--gold-3: rgba(201, 164, 74, .3);--gold-15: rgba(201, 164, 74, .15);--gold-08: rgba(201, 164, 74, .08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:var(--night)}body{background:var(--forest);color:var(--ivory);font-family:DM Sans,sans-serif;font-weight:300;line-height:1.7;overflow-x:hidden}nav{position:fixed;top:0;inset-inline:0;z-index:100;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem 1.25rem;padding:.875rem 2rem;background:#070e0beb;backdrop-filter:blur(16px);border-bottom:1px solid var(--gold-15)}nav a{text-decoration:none;font-size:.62rem;font-weight:400;letter-spacing:.28em;text-transform:uppercase;color:var(--ivory-5);transition:color .2s}nav a:hover,nav a:focus-visible,nav a[aria-current=page]{color:var(--gold);outline:none}.nav-home{font-family:Italiana,serif;font-size:.95rem;letter-spacing:.1em;text-transform:none;color:var(--ivory-5)}.nav-sep{color:var(--gold);opacity:.25;font-size:1rem;line-height:1}.page-hero{min-height:80svh;display:flex;align-items:center;justify-content:center;padding:8rem 2rem 5rem;text-align:center;background:radial-gradient(ellipse 70% 55% at 50% 45%,#23423066,#08120dbf),var(--forest);position:relative}.page-hero-content{max-width:720px;animation:heroIn 1.2s cubic-bezier(.22,1,.36,1) both}.page-hero-eyebrow{font-size:.6rem;letter-spacing:.38em;text-transform:uppercase;color:var(--gold);opacity:.8;margin-bottom:2.25rem}.page-hero-title{font-family:Italiana,serif;font-size:clamp(3rem,8vw,7rem);font-weight:400;letter-spacing:.1em;line-height:1;color:var(--ivory)}.page-hero-sub{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:300;font-size:clamp(1.1rem,2.5vw,1.5rem);color:var(--ivory-5);line-height:1.3}.page-hero-rule{width:90px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:2.25rem auto;transform-origin:center;animation:ruleExpand 1.5s cubic-bezier(.4,0,.2,1) .5s both}.page-section{padding:6rem 2rem}.page-section--alt{background:var(--canopy);border-top:1px solid var(--gold-15);border-bottom:1px solid var(--gold-15)}.page-section--shade{background:var(--shade);border-top:1px solid var(--gold-15)}.eyebrow{text-align:center;font-size:.58rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);opacity:.8;margin-bottom:.75rem}h2{font-family:Cormorant Garamond,serif;font-size:clamp(1.65rem,3.2vw,2.25rem);font-weight:300;font-style:italic;color:var(--ivory);text-align:center;margin-bottom:3.5rem}.ceremony-wrap{max-width:680px;margin:0 auto}.ceremony-card{background:var(--shade);border:1px solid var(--gold-15);padding:3rem 2.75rem;position:relative;transition:border-color .4s,box-shadow .4s}.ceremony-card:hover{border-color:var(--gold-3);box-shadow:0 16px 48px #00000059,0 0 30px #c9a44a0f}.ceremony-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.5}.ceremony-tag{display:block;font-size:.55rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:.75rem}.ceremony-name{font-family:Italiana,serif;font-size:clamp(1.8rem,4vw,2.75rem);letter-spacing:.06em;text-transform:uppercase;line-height:1;color:var(--ivory);margin-bottom:.5rem}.ceremony-date{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:300;font-size:1rem;color:var(--ivory-5);margin-bottom:2rem}.ceremony-dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.25rem;align-items:baseline;margin-bottom:1.25rem}.ceremony-dl dt{font-size:.53rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);opacity:.6}.ceremony-dl dd{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:300;font-size:.95rem;color:var(--ivory-5);line-height:1.6}.maps-link{display:block;margin-top:.5rem;font-family:DM Sans,sans-serif;font-style:normal;font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);text-decoration:none;opacity:.65;transition:opacity .2s}.maps-link:hover,.maps-link:focus-visible{opacity:1;outline:none}.ceremony-photo{display:flex;justify-content:center;margin-bottom:2.5rem}.ceremony-portrait-img{display:block;width:min(260px,62vw);aspect-ratio:3/4;object-fit:cover;border:1px solid rgba(201,164,74,.3);box-shadow:0 8px 48px #00000080,0 0 50px #c9a44a0f;outline:1px solid var(--gold-15);outline-offset:8px}.about-text{max-width:580px;margin:0 auto;text-align:center;font-family:Cormorant Garamond,serif;font-style:italic;font-weight:300;font-size:clamp(1rem,2vw,1.2rem);line-height:1.8;color:var(--ivory-7)}.verses-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0;max-width:860px;margin:0 auto}.verse{padding:0 2.5rem;border-left:1px solid var(--gold-08)}.verse:first-child{padding-left:0;border-left:none}.verse-mark{display:block;font-family:Cormorant Garamond,serif;font-size:3.5rem;line-height:1;color:var(--gold);opacity:.22;margin-bottom:-.5rem}.verse-text{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:300;font-size:1.05rem;line-height:1.75;color:var(--ivory-7);margin-bottom:1.25rem}.verse-ref{display:block;font-style:normal;font-size:.52rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);opacity:.6}.cal-add{position:relative;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--gold-08)}.cal-btn{display:flex;align-items:center;gap:.5rem;background:none;border:none;cursor:pointer;font-family:DM Sans,sans-serif;font-size:.54rem;font-weight:400;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);opacity:.65;padding:0;transition:opacity .2s}.cal-btn:hover,.cal-btn:focus-visible{opacity:1;outline:none}.cal-icon{width:12px;height:12px;flex-shrink:0}.cal-chevron{width:8px;height:5px;flex-shrink:0;transition:transform .2s}.cal-btn[aria-expanded=true] .cal-chevron{transform:rotate(180deg)}.cal-menu{position:absolute;top:calc(100% + .25rem);left:0;min-width:190px;background:#0a1c14;border:1px solid var(--gold-15);z-index:20;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s ease,visibility .18s,transform .18s cubic-bezier(.22,1,.36,1);pointer-events:none;box-shadow:0 8px 28px #00000073}.cal-menu.is-open{opacity:1;visibility:visible;transform:none;pointer-events:auto}.cal-menu a{display:block;padding:.65rem 1rem;font-size:.65rem;letter-spacing:.06em;color:var(--ivory-7);text-decoration:none;transition:background .15s,color .15s;border-bottom:1px solid var(--gold-08)}.cal-menu a:last-child{border-bottom:none}.cal-menu a:hover,.cal-menu a:focus-visible{background:var(--gold-08);color:var(--gold);outline:none}footer{background:var(--night);border-top:1px solid var(--gold-15);text-align:center;padding:3rem 1.5rem}.footer-ornament{font-size:.45rem;color:var(--gold);opacity:.35;margin-bottom:1.5rem;letter-spacing:0}.footer-name{font-family:Italiana,serif;font-size:1.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}.footer-sub{font-size:.53rem;letter-spacing:.35em;text-transform:uppercase;color:var(--ivory-3)}[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .9s ease var(--reveal-delay, 0s),transform .9s ease var(--reveal-delay, 0s)}[data-reveal].is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}.page-hero-content{animation:none}.page-hero-rule{animation:none;transform:scaleX(1);opacity:1}.letter{animation:none;opacity:1}.particle{display:none}.ceremony-card{transition:none}}.letter-word{display:inline-block;white-space:nowrap}.letter{display:inline-block;opacity:0;animation:letterIn .55s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(.3s + var(--i) * 45ms)}@keyframes letterIn{0%{opacity:0;transform:translateY(14px) skewY(2deg)}to{opacity:1;transform:none}}.hero-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden}.particle{position:absolute;left:var(--x);top:var(--top);width:var(--sz);height:var(--sz);border-radius:50%;background:var(--gold);box-shadow:0 0 6px var(--gold);opacity:0;animation:particleFloat var(--dur) ease-in-out var(--del) infinite}@keyframes particleFloat{0%{opacity:0;transform:translateY(0) scale(.6)}15%{opacity:.5}85%{opacity:.15}to{opacity:0;transform:translateY(-60px) scale(1.3)}}@media(max-width:680px){.verses-grid{grid-template-columns:1fr;gap:3rem 0}.verse{padding:3rem 0 0;border-left:none;border-top:1px solid var(--gold-08)}.verse:first-child{padding-top:0;border-top:none}.ceremony-card{padding:2.25rem 1.5rem}}@keyframes heroIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes ruleExpand{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}
