*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-paper: #F7F5EE;--text-primary: #061A2B;--accent-slate: #34495E;--accent-sage: #607A6C;--accent-moss: #8A9A8D;--accent-light: #8A9A8D;--font-serif: "EB Garamond", "Georgia", "Times New Roman", serif;--max-width: 1020px;--page-padding: 2rem}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-serif);font-weight:400;color:var(--text-primary);background-color:var(--bg-paper);background-image:url("data:image/svg+xml,%3Csvg width='200' height='200' viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.02'/%3E%3C/svg%3E");line-height:1.75;min-height:100vh;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400;color:var(--text-primary)}h1{font-size:2.8rem;letter-spacing:.06em}h2{font-size:1.5rem;letter-spacing:.04em;margin-bottom:1.25rem}h3{font-size:1.15rem;margin-bottom:.4rem}p{margin-bottom:1rem;font-size:1rem;line-height:1.85}a{color:var(--text-primary);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:opacity .2s}a:hover{opacity:.6}.password-gate{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);font-family:var(--font-serif);text-align:center;padding:2rem}.password-crest{width:140px;height:auto;margin-bottom:1rem}.password-title{font-family:var(--font-serif);font-size:2.2rem;font-weight:400;letter-spacing:.06em;color:var(--text);margin-bottom:.25rem}.password-date{font-family:var(--font-serif);font-size:1.1rem;font-style:italic;color:var(--text);margin-bottom:.5rem}.password-subtitle{font-size:.95rem;color:var(--accent-light);font-style:italic;margin-bottom:1.5rem}.password-form{display:flex;gap:.5rem;align-items:center}.password-input{font-family:var(--font-serif);font-size:1rem;padding:.5rem .75rem;border:1px solid var(--accent-light);background:transparent;color:var(--text);outline:none;width:180px;text-align:center}.password-input:focus{border-color:var(--accent-moss)}.password-submit{font-family:var(--font-serif);font-size:.9rem;padding:.5rem 1.25rem;border:1px solid var(--text);background:var(--text);color:var(--bg);cursor:pointer;letter-spacing:.05em;transition:opacity .2s}.password-submit:hover{opacity:.85}.password-error{color:#a05252;font-size:.85rem;font-style:italic;margin-top:.75rem}.site-wrapper{position:relative;min-height:100vh;display:flex;flex-direction:column}.site-wrapper:before,.site-wrapper:after{content:"";position:fixed;width:36px;height:100%;top:0;pointer-events:none;opacity:.12}.site-wrapper:before{left:0;background:repeating-linear-gradient(180deg,var(--accent-light) 0px,var(--accent-light) 1px,transparent 1px,transparent 24px)}.site-wrapper:after{right:0;background:repeating-linear-gradient(180deg,var(--accent-light) 0px,var(--accent-light) 1px,transparent 1px,transparent 24px)}.header{text-align:center;padding:2.5rem var(--page-padding) 0;max-width:var(--max-width);margin:0 auto}.crest-image{display:block;margin:0 auto 1rem;width:140px;height:auto}.header-names{font-family:var(--font-serif);font-size:2.8rem;letter-spacing:.06em;font-weight:400;margin:0;line-height:1.2}.header-date{font-family:var(--font-serif);font-size:1.1rem;font-style:italic;font-weight:400;margin-top:.4rem;letter-spacing:.03em}.nav{display:flex;align-items:center;justify-content:center;gap:0;padding:1.25rem 0 .5rem;max-width:700px;margin:0 auto}.nav-links{display:flex;align-items:center;gap:2.25rem}.nav-link{font-family:var(--font-serif);font-size:.9rem;letter-spacing:.04em;text-decoration:none;color:var(--text-primary);font-weight:400;position:relative;padding-bottom:3px;cursor:pointer;background:none;border:none;transition:opacity .2s}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0%;height:1px;background:var(--text-primary);transition:width .3s ease}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-link.active{font-weight:500}.carousel{max-width:var(--max-width);margin:0 auto;padding:0 var(--page-padding);flex:1}.carousel-card{border:none;padding:2.5rem;margin-top:1.25rem;min-height:420px;position:relative;overflow:hidden}.carousel-slide{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;animation:slideIn .35s ease}@keyframes slideIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.slide-content{padding-right:1rem}.carousel-slide>.slide-content:only-child{grid-column:1 / -1;padding-right:0}.slide-illustration{display:flex;align-items:center;justify-content:center;padding:1rem;min-height:280px}.slide-illustration svg:not(.illustration){width:100%;max-width:220px;height:auto;opacity:.4}.slide-illustration .illustration{width:auto;max-width:100px;opacity:.3}.carousel-dots{display:flex;justify-content:center;gap:.6rem;padding:1.25rem 0}.carousel-dot{width:7px;height:7px;border-radius:50%;border:1px solid var(--accent-light);background:transparent;cursor:pointer;padding:0;transition:background-color .3s}.carousel-dot.active{background:var(--accent-light)}.carousel-dot:hover{background:var(--accent-light);opacity:.7}.section-title{font-family:var(--font-serif);font-size:1.5rem;letter-spacing:.04em;font-weight:400;margin-bottom:1.25rem;color:var(--text-primary)}.detail-block{margin-bottom:1.75rem}.detail-block p{margin-bottom:.2rem}.detail-label{font-weight:500;font-size:.95rem;letter-spacing:.02em}.story-blurb{font-size:1rem;line-height:1.85;margin-bottom:1.5rem}.journey{display:flex;align-items:center;gap:0;padding:1rem 0}.journey-icon{width:68px;height:68px;object-fit:contain;opacity:.5;flex-shrink:0}.journey-icon-chicago{width:78px;height:78px}.journey-icon-ring{width:88px;height:88px;opacity:.55}.journey-arrow{flex:1;height:20px;max-width:56px;min-width:24px;margin:0 2px}.slide-photo{display:flex;align-items:center;justify-content:center;padding:.5rem}.story-photo{width:100%;max-width:420px;height:auto;object-fit:cover;filter:grayscale(.15);border:1px solid var(--accent-moss);padding:5px}.celebration-details{grid-column:1 / -1;padding-right:0}.schedule-day{margin-bottom:.25rem}.schedule-day-heading{font-family:var(--font-serif);font-weight:500;font-size:1.05rem;font-style:italic;letter-spacing:.03em;color:var(--accent-sage);margin-bottom:1rem}.celebration-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;margin-bottom:1.25rem}.celebration-row:last-child{margin-bottom:0}.celebration-info{padding-right:1rem}.detail-divider{border:none;border-top:1px solid var(--accent-moss);margin:1.5rem 0;opacity:.4}.venue-photo-wrap{position:relative}.venue-photo{width:100%;max-width:320px;height:auto;object-fit:cover;object-position:center;display:block}.accommodations-list{list-style:none;padding:0}.accommodations-list li{padding:1rem 0;border-bottom:1px solid var(--accent-light);font-size:1rem}.accommodations-list li:last-child{border-bottom:none}.hotel-name{font-family:var(--font-serif);font-size:1.15rem;font-weight:500;display:block;margin-bottom:.2rem}.hotel-detail{font-size:.9rem;opacity:.6}.hotel-link{font-family:var(--font-serif);font-size:.9rem;color:var(--accent-sage);text-decoration:underline;text-underline-offset:3px}.hotel-link:hover{color:var(--text-primary)}.hotel-link-pending{text-decoration:none;font-style:italic;opacity:.5}.registry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:1.25rem}.registry-card{border:1px solid var(--accent-light);padding:1.5rem 1.25rem;text-align:center;text-decoration:none;color:var(--text-primary);transition:background-color .2s,transform .2s;display:block}.registry-card:hover{background-color:#8a9a8d14;transform:translateY(-1px);opacity:1}.registry-card-name{font-family:var(--font-serif);font-size:1.1rem;letter-spacing:.03em}.illustration{display:block;margin:1.5rem auto;max-width:180px;opacity:.4}.penguin-icon{width:40px;min-width:40px;max-width:40px;height:auto;opacity:.4;flex-shrink:0}.rsvp-content{padding-right:1rem}.rsvp-full{grid-column:1 / -1;text-align:center}.rsvp-form{display:flex;flex-direction:column;gap:1.25rem;margin-top:.5rem}.rsvp-field{display:flex;flex-direction:column;gap:.3rem}.rsvp-label{font-family:var(--font-serif);font-size:.95rem;font-weight:500;letter-spacing:.02em}.rsvp-input{font-family:var(--font-serif);font-size:1rem;padding:.45rem 0;border:none;border-bottom:1px solid var(--accent-moss);background:transparent;color:var(--text-primary);outline:none;transition:border-color .2s}.rsvp-input:focus{border-bottom-color:var(--accent-sage)}.rsvp-input-narrow{max-width:80px}.rsvp-input::placeholder{color:var(--accent-moss);opacity:.6;font-style:italic}.rsvp-fieldset{border:none;padding:0;margin:0}.rsvp-radio-group{display:flex;gap:1.5rem;margin-top:.4rem}.rsvp-radio{font-family:var(--font-serif);font-size:.95rem;display:flex;align-items:center;gap:.4rem;cursor:pointer}.rsvp-radio input[type=radio]{accent-color:var(--accent-sage);width:14px;height:14px}.rsvp-submit-row{margin-top:.5rem}.rsvp-submit{font-family:var(--font-serif);font-size:.95rem;letter-spacing:.04em;padding:.6rem 2rem;border:1px solid var(--accent-moss);background:transparent;color:var(--text-primary);cursor:pointer;transition:background-color .2s,color .2s}.rsvp-submit:hover{background:var(--text-primary);color:var(--bg-paper)}.rsvp-aside{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:2rem 1rem}.rsvp-penguin{width:100px;height:auto;opacity:.35;color:var(--text-primary)}.rsvp-aside-note{font-family:var(--font-serif);font-size:.95rem;font-style:italic;text-align:center;line-height:1.6;opacity:.6}.footer{text-align:center;padding:1.5rem var(--page-padding) 1.25rem;font-family:var(--font-serif);font-size:.85rem;letter-spacing:.06em;opacity:.45;font-weight:400}@media(max-width:900px){:root{--page-padding: 1.25rem}.header-names{font-size:2rem}.crest-image{width:150px}.nav{gap:0}.nav-links{gap:1.25rem;flex-wrap:wrap;justify-content:center}.nav-link{font-size:.8rem}.carousel-card{padding:1.5rem}.carousel-slide{grid-template-columns:1fr;gap:1.5rem}.slide-illustration{order:-1;min-height:auto}.site-wrapper:before,.site-wrapper:after{width:20px}h1{font-size:2rem}h2{font-size:1.2rem}.journey{justify-content:center}.journey-icon{width:54px;height:54px}.journey-icon-chicago{width:44px;height:44px}.journey-icon-ring{width:50px;height:50px}.story-photo{max-width:75%}.celebration-row{grid-template-columns:1fr;gap:1rem}.password-title{font-size:1.6rem}}html,body{overflow-x:hidden}
