@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Source+Sans+3:wght@400;700&display=swap";:root{--background: #fff;--text: #263238;--heading: #18304b;--accent: #c8b588;--border: #e4e7ee;--highlight: #f4f8fa;--shadow: 0 2px 10px rgba(49, 151, 189, .07);--menu-width: 250px}body{font-family:"Source Sans 3",Arial,sans-serif;color:var(--text);background:var(--background);margin:0;padding:0;line-height:1.6;min-height:100vh}h1,h2,h3,h4{font-family:Playfair Display,serif;color:var(--heading);letter-spacing:.01em;margin:0 0 1.2rem;font-weight:700}ul{list-style:none;padding:0;margin:0}.wedding-container{position:relative;min-height:100vh}.content{max-width:1200px;margin:0 auto;padding:2rem .5rem;transition:transform .3s ease}.content.shifted{transform:translate(0)}.menu-toggle{position:fixed;top:20px;left:20px;z-index:1000;background:#fff;border:none;font-size:24px;cursor:pointer;padding:10px 15px;border-radius:5px;box-shadow:var(--shadow);color:var(--heading);outline:none;-webkit-tap-highlight-color:transparent}.menu-toggle:focus{outline:2px solid var(--accent);outline-offset:2px}.menu-toggle:active{background:var(--highlight)}.side-menu{position:fixed;top:0;left:0;width:var(--menu-width);height:100vh;background:#fff;padding:80px 20px 20px;box-shadow:2px 0 10px #3197bd1a;transform:translate(-100%);transition:transform .3s;z-index:100}.side-menu.open{transform:translate(0)}.side-menu a{display:block;padding:15px 0;color:var(--heading);text-decoration:none;font-size:1.17rem;border-bottom:1px solid var(--border);transition:color .16s}.side-menu a:hover{color:var(--accent)}.hero{text-align:center;background:linear-gradient(180deg,#18304b1a,#ffffff12),url(/assets/oss-D-OUGlYp.jpg) center/cover;color:#f7ecd0;text-shadow:0 2px 8px rgba(24,48,75,.68);margin:-2rem -2rem 2rem;padding:8rem 2rem;border-radius:22px;position:relative}.hero h1{font-size:4rem;margin:0;font-weight:300;letter-spacing:.08em;color:#f4ddc2}.date{font-size:1.55rem;margin-top:1.2rem}section{margin:3rem 0 2rem;padding:0;background:none;border-radius:0;box-shadow:none}.rsvp{text-align:center}.rsvp-link{display:inline-block;padding:1rem 2.2rem;background:var(--accent);color:#fff;text-decoration:none;border-radius:5px;font-weight:700;margin-top:1.2rem;font-size:1.12rem;transition:background .22s,transform .12s;box-shadow:0 2px 6px #3197bd17}.rsvp-link:hover{background:#217ca3;color:#fff;transform:scale(1.04) translateY(-2px)}.details{display:flex;flex-direction:column;gap:2rem;max-width:800px;margin:0 auto}.detail-card{background:var(--highlight);border-radius:14px;box-shadow:var(--shadow);padding:2.3rem 2rem 2.2rem;margin-bottom:2rem;border-left:7px solid var(--accent)}.detail-card h3{color:var(--accent);margin:0 0 .8rem;font-size:1.28rem}.info-grid{display:flex;flex-direction:column;gap:1.2rem;max-width:800px;margin:0 auto}.info-card{background:var(--highlight);border-radius:10px;box-shadow:var(--shadow);cursor:pointer;transition:box-shadow .21s,transform .13s;position:relative;padding:1.5rem 2rem}.info-card:hover{transform:translateY(-4px) scale(1.014);box-shadow:0 10px 32px #3197bd1c}.info-card.expanded{border-left:6px solid var(--accent);background:#fff}.info-card h3{color:var(--heading);margin:0 0 1rem;text-align:center;font-weight:700}.info-card-content{opacity:0;max-height:0;transform:translateY(-12px);pointer-events:none;transition:max-height .33s cubic-bezier(.7,0,.3,1),opacity .22s,transform .22s}.info-card.expanded .info-card-content{opacity:1;transform:translateY(0);max-height:2000px;pointer-events:auto;transition:max-height .6s cubic-bezier(.7,0,.3,1),opacity .35s,transform .29s}.info-card:after{content:"↓";position:absolute;right:1.5rem;top:1.4rem;font-size:1.13rem;color:var(--accent);transition:transform .22s}.info-card.expanded:after{transform:rotate(180deg)}.program-day{background:var(--highlight);border-radius:15px;padding:2.4rem 1.7rem 2rem;margin-bottom:2.5rem;box-shadow:var(--shadow);max-width:800px;margin-left:auto;margin-right:auto}.program-day h3{font-size:1.18rem;color:var(--heading);font-weight:700;margin-bottom:1.5rem}.program-item{display:flex;align-items:center;margin-bottom:1.1rem;padding:1.08rem 1.5rem;background:#fff;border-radius:9px;box-shadow:var(--shadow);border:none;position:relative;transition:box-shadow .13s,transform .1s,background .1s;font-size:1rem;cursor:pointer}.program-item:last-child{margin-bottom:0}.program-item.important{border-left:6px solid var(--accent);font-weight:700}.program-item:hover{background:var(--highlight);box-shadow:0 7px 20px #3197bd21;transform:scale(1.011)}.program-time{min-width:92px;font-weight:600;color:#7c8796;font-size:1.08rem;padding-right:2.1rem;letter-spacing:.01em}.program-description{flex:1;letter-spacing:.01em;display:flex;flex-direction:column}.program-detail-faint{margin-top:.4em;color:#b1b8be;font-size:.97em;font-style:italic;opacity:.75;transition:opacity .18s}.divider-handdrawn{width:170px;margin:2.2rem auto 2.6rem;display:flex;justify-content:center;pointer-events:none}.weather-card-container{background:var(--highlight);border-radius:10px;padding:2rem;box-shadow:var(--shadow);margin:0 auto 2rem;max-width:800px}.weather-card-container h3{text-align:center;margin:0 0 1.5rem;color:var(--heading)}.weather-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.weather-card{background:#fff;border-radius:10px;padding:1.5rem 1rem;box-shadow:var(--shadow);text-align:center}.weather-card h4{margin:0 0 1rem;font-size:1rem;color:var(--heading)}.weather-content{display:flex;flex-direction:column;align-items:center;gap:.8rem}.weather-emoji{font-size:2.5rem;line-height:1}.weather-info{display:flex;flex-direction:column;gap:.5rem}.weather-info p{margin:0;font-size:.95rem}.weather-info .temp{font-weight:600;color:var(--heading)}.weather-info .precip{color:#666;font-size:.9rem}.weather-loading,.weather-placeholder{grid-column:1 / -1;padding:2rem;text-align:center}.weather-loading p,.weather-placeholder p{margin:0;color:var(--heading)}@media (max-width: 700px){.weather-grid{grid-template-columns:1fr;gap:.75rem}.weather-card-container{padding:1.5rem 1rem;margin:0 0 1.5rem}.weather-card{padding:1rem;display:grid;grid-template-columns:auto 1fr;gap:1rem;text-align:left}.weather-card h4{grid-column:1 / -1;font-size:.95rem;margin:0 0 .5rem}.weather-emoji{font-size:2rem}.weather-info{gap:.3rem}.weather-info p{font-size:.9rem}}.info-card iframe{width:100%;height:auto;aspect-ratio:4 / 3;border:none;border-radius:8px;max-width:100%}@media (max-width: 768px){.info-card iframe{aspect-ratio:16 / 9}}.gallery{text-align:center}@media (max-width: 700px){.hero h1{font-size:2.1rem}.content{padding:1rem}.details,.info-grid,.program-day{padding:.5rem}.program-item{flex-direction:column;align-items:flex-start;padding:1rem .7rem}.program-time{margin-bottom:.5rem;padding-right:0}.info-card.expanded{max-height:90vh;overflow-y:auto}.info-card h3{font-size:1rem}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
