:root{--color-cream: #fbf9f1;--color-ivory: #f4f1e4;--color-chartreuse-deep: #6f7d2a;--color-chartreuse: #9bb13a;--color-chartreuse-soft: #c8d77a;--color-chartreuse-pale: #e7eec1;--color-lavender: #b8a4d4;--color-lavender-deep: #8a73b6;--color-lavender-pale: #ece5f4;--color-ink: #2c3415;--color-muted: #6b6f57;--color-border: rgba(111, 125, 42, .18);--font-display: "Italiana", "Cormorant Garamond", "Times New Roman", serif;--font-serif: "Cormorant Garamond", "Garamond", "Times New Roman", serif;--font-body: "Times New Roman", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--header-height: 68px;font-family:var(--font-body);line-height:1.6;font-weight:400;color:var(--color-ink);background-color:var(--color-cream);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y proximity}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-cream)}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:500;color:var(--color-ink);letter-spacing:.01em;margin:0}p{margin:0 0 1em}a{color:var(--color-chartreuse-deep);transition:color .2s ease}a:hover{color:var(--color-lavender-deep)}button{font-family:inherit;cursor:pointer}.dress-code{font-family:Times New Roman,serif;font-size:1.25rem;font-style:italic;color:#b42bb2e6;max-width:520px;margin:0 auto 1.5rem;line-height:1.5;text-align:center}.event-time{margin:0;font-family:Times New Roman,serif;font-size:1.25rem;font-style:italic;color:#2c3415e6;text-align:center}.event-section-title{font-family:var(--font-serif);font-weight:500;font-size:64px;font-style:italic;color:var(--color-ink);letter-spacing:.01em;margin:0;text-align:center;color:var(--color-chartreuse-deep)}.event-location{text-align:center;font-family:Times New Roman,serif;font-size:1.25rem;color:#2c3415e6;margin-bottom:1.5rem;margin-top:1.5rem}.event-location-title{font-family:Times New Roman,serif;font-size:1.25rem;color:#2c3415e6;margin-bottom:0}.page-hero{position:relative;min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;background-repeat:no-repeat;color:#fff;overflow:hidden;scroll-snap-align:start}.page-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,rgba(251,249,241,0) 70%,rgba(251,249,241,.4) 88%,var(--color-cream) 100%),linear-gradient(180deg,#2c341552,#2c341566 60%,#2c341533)}.page-hero-title{position:relative;z-index:2;font-family:var(--font-display);font-weight:400;font-size:clamp(3.5rem,10vw,7rem);letter-spacing:.06em;color:#fff;text-align:center;margin:0;padding:0 1.5rem;text-shadow:0 2px 16px rgba(0,0,0,.45)}.site{display:flex;flex-direction:column;min-height:100vh}.site-main{flex:1;width:100%}.site-footer{padding:2rem 1.5rem;text-align:center;font-size:.875rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-muted);background-color:var(--color-ivory);border-top:1px solid var(--color-border)}.site-footer p{margin:0}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--header-height);padding:0 1.25rem 0 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#fff;background:linear-gradient(180deg,#2c34156b,#2c341547);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 4px 24px #0000002e;transition:background .24s ease,border-bottom-color .24s ease,box-shadow .24s ease}.site-header:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,#fff0,#ffffff59,#fff0);pointer-events:none;transition:opacity .24s ease}.site-header.menu-open{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent;box-shadow:none}.site-header.menu-open:before{opacity:0}.site-logo{display:inline-flex;align-items:center;padding:.25rem .4rem;border-radius:4px;text-decoration:none;transition:opacity .2s ease}.site-logo img{display:block;height:calc(var(--header-height) - 24px);width:auto}.site-logo:hover{opacity:.85}.site-logo:focus-visible{outline:2px solid var(--color-lavender);outline-offset:3px}.menu-toggle{width:44px;height:44px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0;border:none;border-radius:8px;background-color:transparent;cursor:pointer;transition:background-color .2s ease}.menu-toggle:hover{background-color:#ffffff1a}.menu-toggle:focus-visible{outline:2px solid var(--color-lavender);outline-offset:3px}.menu-toggle.is-open{background-color:#ffffff14}.menu-bar{display:block;width:22px;height:1.5px;background-color:#fff;border-radius:1px;transform-origin:center;transition:transform .24s ease,opacity .2s ease}.menu-toggle.is-open .menu-bar:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.menu-toggle.is-open .menu-bar:nth-child(2){opacity:0}.menu-toggle.is-open .menu-bar:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}.menu-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:var(--header-height) 1.5rem 4rem;background:linear-gradient(180deg,#2c341594,#2c341580);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility 0s linear .28s}.menu-panel.is-open{opacity:1;visibility:visible;transition:opacity .28s ease,visibility 0s linear 0s}.menu-panel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.25rem;align-items:center;text-align:center}.menu-link{font-family:var(--font-serif);font-style:italic;font-weight:400;color:#fffffff0;font-size:clamp(1.75rem,5vw,2.75rem);letter-spacing:.03em;padding:.15rem .5rem;position:relative;display:inline-block;text-decoration:none;transition:color .2s ease}.menu-link:after{content:"";position:absolute;left:50%;bottom:0;width:0;height:1px;background-color:var(--color-lavender);transition:width .24s ease,left .24s ease}.menu-link:hover,.menu-link.active{color:var(--color-lavender)}.menu-link:hover:after,.menu-link.active:after{left:0;width:100%}.page{padding:calc(4rem + var(--header-height)) 1.5rem 4rem;scroll-snap-align:start}.page-inner{max-width:1100px;margin:0 auto}.page-inner.narrow{max-width:720px}.page-title{font-size:clamp(2.25rem,5vw,3.25rem);font-style:italic;font-weight:400;text-align:center;margin-bottom:1rem;color:var(--color-chartreuse-deep)}.page-title:after{content:"";display:block;width:60px;height:1px;background-color:var(--color-lavender);margin:1rem auto 0}.page-lead{text-align:center;font-size:1.1rem;color:var(--color-muted);max-width:640px;margin:0 auto 3rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-bottom:2.5rem}.info-card{background-color:#fff;border:1px solid var(--color-border);border-radius:4px;padding:2rem 1.75rem;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.info-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #2c341514;border-color:var(--color-chartreuse-soft)}.info-card h3{font-size:1.5rem;margin-bottom:.5rem;color:var(--color-chartreuse-deep)}.info-card .card-meta{font-size:.8rem;text-transform:uppercase;letter-spacing:.18em;color:var(--color-lavender-deep);margin-bottom:1rem}.info-card .card-detail{margin-top:1rem;font-size:.875rem;color:var(--color-muted);font-style:italic}.callout{background-color:var(--color-lavender-pale);border-left:3px solid var(--color-lavender);padding:1.5rem 1.75rem;border-radius:2px}.callout h3{font-size:1.35rem;margin-bottom:.5rem;color:var(--color-lavender-deep)}.callout p:last-child{margin-bottom:0}.timeline{display:grid;gap:1.5rem}.timeline-item{background-color:#fff;border:1px solid var(--color-border);border-left:3px solid var(--color-chartreuse);padding:1.5rem 1.75rem;border-radius:2px}.timeline-item h3{font-size:1.5rem;color:var(--color-chartreuse-deep);margin-bottom:.5rem}.timeline-item p{margin:0}.venue-block{text-align:center;background-color:var(--color-chartreuse-pale);padding:2.5rem 1.75rem;border-radius:4px;margin-bottom:3rem}.venue-block h3{font-size:1rem;text-transform:uppercase;letter-spacing:.3em;color:var(--color-chartreuse-deep);margin-bottom:.75rem}.venue-name{font-family:var(--font-display);font-style:italic;font-size:2rem;color:var(--color-ink);margin:0 0 .5rem}.venue-address{color:var(--color-muted);margin-bottom:1.25rem}.rsvp-form{display:flex;flex-direction:column;gap:1.25rem;background-color:#fff;border:1px solid var(--color-border);border-radius:4px;padding:2rem}.field{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);border:none;padding:0;margin:0}.field legend{margin-bottom:.4rem;padding:0}.field input[type=text],.field input[type=email],.field input[type=number],.field textarea{font-family:var(--font-body);font-size:1rem;letter-spacing:normal;text-transform:none;color:var(--color-ink);padding:.7rem .85rem;border:1px solid var(--color-border);border-radius:3px;background-color:var(--color-cream);transition:border-color .18s ease}.field input:focus,.field textarea:focus{outline:none;border-color:var(--color-chartreuse)}.radio{display:flex;align-items:center;gap:.6rem;font-size:.95rem;letter-spacing:normal;text-transform:none;color:var(--color-ink);font-weight:400}.btn-primary{align-self:flex-start;background-color:var(--color-chartreuse-deep);color:#fff;border:none;padding:.85rem 2rem;font-family:var(--font-body);font-size:.85rem;letter-spacing:.25em;text-transform:uppercase;border-radius:3px;transition:background-color .2s ease,transform .12s ease}.btn-primary:hover{background-color:var(--color-lavender-deep)}.btn-primary:active{transform:translateY(1px)}@media(max-width:600px){.header-names{gap:.4rem}.page{padding:calc(3rem + var(--header-height)) 1.25rem 3rem}}body,html{height:100%;width:100%;margin:0;font-family:Montserrat,system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif}.bgimg{background-image:url(/assets/engagement_walking-DQdXe3DM.jpg);background-position:85% 20%;background-size:cover;background-repeat:no-repeat;min-height:100vh;height:100%;position:relative;color:#fff;font-size:25px;width:100%}.topleft{position:absolute;top:0;left:16px}.bottomleft{position:absolute;bottom:0;left:16px}.middle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;width:100%;padding:0 20px;box-sizing:border-box}hr{margin:auto;width:40%;border:0;border-top:1px solid rgba(255,255,255,.2)}.bg-layout{width:100%;background-color:#2c34158c;display:block;min-height:100vh;height:100%}.h1{font-family:Italiana,Cormorant Garamond,Times New Roman,serif;color:#fbf9f1;font-size:clamp(2.5rem,8vw,4.5rem);margin:20px 0;font-weight:400;letter-spacing:.08em}.content p{font-family:Cormorant Garamond,Garamond,Times New Roman,serif;font-size:1.75rem;font-style:italic;color:#ffffffe6;max-width:520px;margin:0 auto 1.5rem;line-height:1.5}.services{margin-top:20px}.services span{text-transform:uppercase}.c-wrap{display:flex;justify-content:center;position:absolute;background:#dadada;bottom:0;width:100%;height:auto;top:220px}.content{width:100%}.password-gate{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin:1.5rem auto 0;width:100%;max-width:360px}.password-gate-field{width:100%}.password-gate input[type=password]{width:100%;height:44px;padding:0 1rem;font-family:inherit;font-size:1rem;letter-spacing:.04em;color:#fff;background-color:#ffffff14;border:1px solid rgba(255,255,255,.3);border-radius:40px;text-align:center;outline:none;transition:border-color .2s ease,background-color .2s ease}.password-gate input[type=password]::placeholder{color:#ffffff8c;letter-spacing:.05em}.password-gate input[type=password]:focus{border-color:#b8a4d4d9;background-color:#ffffff1f}.password-gate-submit{min-width:170px;padding:.7rem 2rem;font-family:inherit;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;background-color:#6f7d2ad9;border:1px solid transparent;border-radius:40px;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.password-gate-submit:hover:not(:disabled){background-color:#8a73b6e6}.password-gate-submit:active:not(:disabled){transform:translateY(1px)}.password-gate-submit:disabled{opacity:.6;cursor:not-allowed}.password-gate-error{color:#f4c8c8;font-size:.9rem;margin:0;text-align:center;letter-spacing:.02em}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
