:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}body{font-family:Montserrat,Avenir,Helvetica,Arial,sans-serif;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);color:#1e293b;margin:0;min-height:100vh;padding:20px;box-sizing:border-box;display:flex;justify-content:center;align-items:flex-start}.wedding-root{width:100%;max-width:800px;background:#fff;border-radius:24px;box-shadow:0 8px 40px #0ea5e9cc;overflow:hidden}.wedding-header{text-align:center;padding:3rem 2rem 2rem;background:linear-gradient(135deg,#e0f2fe,#f0f9ff)}.wedding-header h1{font-size:3.5rem;font-family:Dancing Script,cursive,sans-serif;margin:0 0 .5em;color:#0891b2;letter-spacing:3px}.wedding-date{font-size:1.4rem;color:#0e7490;margin-bottom:0;font-weight:500}.wedding-photo{display:flex;justify-content:center;padding:2rem;background:#fff}.wedding-photo img{width:100%;max-width:500px;border-radius:20px;box-shadow:0 8px 30px #0ea5e9aa;transition:transform .3s ease}.wedding-photo img:hover{transform:scale(1.02)}.wedding-info{text-align:center;padding:2rem;background:#fff;border-bottom:1px solid #e0f2fe}.wedding-info h2{font-family:Dancing Script,cursive,sans-serif;color:#0891b2;font-size:2.5rem;margin-bottom:1rem}.wedding-info p{font-size:1.2rem;line-height:1.8;max-width:600px;margin:0 auto;color:#334155}.wedding-details{background:#e0f2fe;padding:2rem;margin:0}.wedding-details h3{margin:0 0 1.5rem;color:#0e7490;font-size:1.6rem;text-align:center;font-weight:600}.program-timeline{max-width:600px;margin:0 auto}.program-item{display:flex;align-items:flex-start;margin-bottom:1.5rem;padding:1rem;background:#fff;border-radius:12px;box-shadow:0 4px 15px #0ea5e9aa;transition:transform .2s ease;word-wrap:break-word;overflow-wrap:break-word}.program-item:hover{transform:translateY(-2px)}.program-item .time{background:#0891b2;color:#fff;padding:.5rem 1rem;border-radius:20px;font-weight:600;font-size:.9rem;min-width:80px;text-align:center;margin-right:1rem;flex-shrink:0}.program-item .event{flex:1}.program-item .event strong{color:#0e7490;font-size:1.1rem;display:block;margin-bottom:.3rem}.program-item .location{color:#0891b2;font-size:.9rem;font-style:italic}.wedding-locations{background:#fff;padding:2rem;border-bottom:1px solid #f0e6f7}.wedding-locations h3{margin:0 0 2rem;color:#0e7490;font-size:1.6rem;text-align:center;font-weight:600}.richard-section{background:#fff;padding:2rem;border-bottom:1px solid #e0f2fe}.richard-section h3{margin:0 0 1.5rem;color:#0e7490;font-size:1.6rem;text-align:center;font-weight:600}.richard-quote{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:20px;padding:1.5rem;box-shadow:0 8px 30px #0ea5e9aa;border:3px solid #0891b2;display:flex;align-items:center;gap:1.5rem;max-width:700px;margin:0 auto;position:relative;overflow:hidden}.richard-quote:before{content:"";position:absolute;inset:0;border-radius:20px;background:linear-gradient(135deg,#0891b2,#0ea5e9);opacity:.1;z-index:-1}.richard-quote:hover{transform:translateY(-2px);box-shadow:0 12px 40px #0ea5e9cc;border-color:#0ea5e9}.richard-photo{flex-shrink:0}.richard-photo img{width:140px;height:140px;border-radius:50%;object-fit:cover;border:3px solid #0891b2;box-shadow:0 4px 15px #0ea5e9aa}.richard-text{flex:1}.richard-message{font-size:1.1rem;line-height:1.6;color:#334155;margin:0 0 .5rem;font-style:italic}.richard-signature{font-size:.9rem;color:#0891b2;font-weight:600;margin:0;text-align:right}.richard-note{font-size:.8rem;color:#64748b;font-style:italic;margin:.3rem 0 0;text-align:right;opacity:.8}.location-card{background:#e0f2fe;border-radius:16px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 20px #0ea5e9aa;transition:transform .2s ease}.location-card:hover{transform:translateY(-3px)}.location-card:last-child{margin-bottom:0}.location-card h4{color:#0891b2;font-size:1.4rem;margin:0 0 1rem;font-weight:600}.location-address{margin:.5rem 0}.location-address a{color:#0e7490;text-decoration:none;font-weight:500;font-size:1.1rem;transition:color .2s ease}.location-address a:hover{color:#0891b2}.location-description{color:#475569;font-size:.95rem;margin:.5rem 0 1rem;font-style:italic}.location-card iframe{border-radius:12px;margin-top:1em;box-shadow:0 4px 15px #0ea5e9aa}.wedding-details ul{list-style:none;padding:0;max-width:500px;margin:0 auto}.wedding-details li{margin-bottom:1rem;font-size:1.2rem;padding:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #a259c61a;border-left:4px solid #a259c6;transition:transform .2s ease}.wedding-details li:hover{transform:translate(5px)}.wedding-details li:last-child{margin-bottom:0}.wedding-location{padding:2rem;text-align:center;background:#fff;border-bottom:1px solid #f0e6f7}.wedding-location h3{color:#7d5a7b;font-size:1.6rem;margin-bottom:1rem;font-weight:600}.wedding-location p{font-size:1.2rem;margin-bottom:1.5rem;color:#4a3a4a;max-width:600px;margin-left:auto;margin-right:auto}.wedding-location iframe{width:100%;max-width:600px;height:300px;border-radius:16px;box-shadow:0 4px 20px #0000001a;border:none}.wedding-footer{text-align:center;padding:2rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);color:#0e7490;font-size:1.1rem}.wedding-footer a{color:#0891b2;text-decoration:none;margin:0 .8em;font-weight:600;padding:.5rem 1rem;border-radius:8px;transition:all .3s ease}.wedding-footer a:hover{background:#0891b2;color:#fff;text-decoration:none}.wedding-love{margin-top:1.5rem;font-family:Dancing Script,cursive,sans-serif;font-size:1.4rem;color:#0891b2}@media (max-width: 1024px){body{padding:15px}.wedding-root{max-width:700px}.wedding-header h1{font-size:3rem}.wedding-info h2{font-size:2.2rem}.program-item{padding:.8rem}.program-item .time{font-size:.8rem;min-width:70px;padding:.4rem .8rem}.location-card{padding:1.2rem}.location-card h4{font-size:1.3rem}}@media (max-width: 768px){body{padding:0}.wedding-root{max-width:100%;border-radius:0;box-shadow:none}.wedding-header{padding:2rem 1rem 1.5rem}.wedding-header h1{font-size:2.5rem}.wedding-date{font-size:1.2rem}.wedding-photo{padding:1.5rem 1rem}.wedding-photo img{border-radius:16px}.wedding-info{padding:1.5rem 1rem}.wedding-info h2{font-size:2rem}.wedding-info p{font-size:1.1rem}.wedding-details{padding:1.5rem 1rem}.wedding-details h3{font-size:1.4rem}.program-item{flex-direction:column;text-align:center;padding:1rem;gap:.8rem}.program-item .time{margin-right:0;margin-bottom:0;align-self:center;min-width:60px;font-size:.8rem;padding:.4rem .8rem}.program-item .event{display:flex;flex-direction:column;gap:.3rem;width:100%}.program-item .event strong{font-size:1.1rem;margin-bottom:0;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.3}.program-item .location{font-size:.9rem;margin-top:0;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.wedding-locations{padding:1.5rem 1rem}.wedding-locations h3{font-size:1.4rem}.location-card{padding:1rem;margin-bottom:1.5rem}.location-card h4{font-size:1.2rem}.location-address a{font-size:1rem}.location-description{font-size:.9rem}.location-card iframe{height:180px}.richard-section{padding:1.5rem 1rem}.richard-section h3{font-size:1.4rem}.richard-quote{flex-direction:column;text-align:center;padding:1rem;gap:1rem}.richard-photo img{width:120px;height:120px}.richard-message{font-size:1rem}.richard-signature{font-size:.85rem;text-align:center}.richard-note{font-size:.75rem;text-align:center}.wedding-location{padding:1.5rem 1rem}.wedding-location h3{font-size:1.4rem}.wedding-location p{font-size:1.1rem}.wedding-location iframe{height:250px}.wedding-footer{padding:1.5rem 1rem}.wedding-love{font-size:1.2rem}}
