:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;color:#2c3e50;background-color:#fff;--primary-gold: #c9a96e;--primary-dark: #2c3e50;--text-light: #7f8c8d;--text-body: #4a5568;--background-light: #fefefe;--background-accent: #f8f9fa;--border-light: rgba(0, 0, 0, .05);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#fff}h1,h2,h3,h4,h5,h6{font-family:Times New Roman,serif;font-weight:400;line-height:1.2;margin:0}p{margin:0;line-height:1.7}a{font-weight:500;color:var(--primary-gold);text-decoration:none;transition:color .3s ease}a:hover{color:#b8956b}button{border-radius:25px;border:2px solid var(--primary-gold);padding:.8em 2em;font-size:1rem;font-weight:500;font-family:inherit;background-color:transparent;color:var(--primary-gold);cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}button:hover{background-color:var(--primary-gold);color:#fff;transform:translateY(-2px);box-shadow:0 5px 15px #c9a96e4d}button:focus,button:focus-visible{outline:2px solid var(--primary-gold);outline-offset:2px}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.text-center{text-align:center}.text-gold{color:var(--primary-gold)}.text-dark{color:var(--primary-dark)}.text-light{color:var(--text-light)}@media(max-width:768px){.container{padding:0 1rem}}.photo-placeholder:has(img){background:none!important;border:2px solid var(--primary-gold)!important;color:transparent}.navigation{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.05);position:sticky;top:0;z-index:100;box-shadow:0 2px 20px #00000014}.nav-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.nav-logo{font-size:1.5rem;font-weight:600;color:#2c3e50;text-decoration:none;font-family:Georgia,serif;letter-spacing:.5px}.nav-logo:hover{color:#c9a96e;transition:color .3s ease}.nav-menu{display:flex;list-style:none;margin:0;padding:0;gap:2rem}.nav-item{margin:0}.nav-link{text-decoration:none;color:#2c3e50;font-weight:500;font-size:1rem;padding:.5rem 1rem;border-radius:25px;transition:all .3s ease;position:relative}.nav-link:hover{color:#c9a96e;background:#c9a96e1a}.nav-link.active{color:#c9a96e;background:#c9a96e26}@media(max-width:768px){.nav-container{padding:1rem;flex-direction:column;gap:1rem}.nav-menu{gap:1rem}.nav-link{font-size:.9rem;padding:.4rem .8rem}}.home{min-height:100vh}.hero{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:1200px;margin:0 auto;padding:4rem 2rem;align-items:center;min-height:80vh}.hero-content{display:flex;flex-direction:column;gap:2rem}.hero-title{font-size:3.5rem;font-weight:300;color:#2c3e50;margin:0;font-family:Georgia,serif;line-height:1.2}.hero-subtitle{font-size:1.5rem;color:#7f8c8d;margin:0;font-weight:300;font-family:Georgia,serif}.wedding-details{display:flex;gap:3rem;margin-top:2rem}.detail-item{text-align:center}.detail-item h3{font-size:1.2rem;color:#c9a96e;margin:0 0 .5rem;font-weight:600;text-transform:uppercase;letter-spacing:1px}.detail-item p{font-size:1.1rem;color:#2c3e50;margin:0;font-weight:500}.hero-image{display:flex;justify-content:center;align-items:center}.photo-placeholder{width:100%;max-width:500px;height:400px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:15px;display:flex;align-items:center;justify-content:center;color:#6c757d;font-style:italic;border:2px dashed #c9a96e;text-align:center;padding:2rem;box-shadow:0 10px 30px #0000001a}.hero-image .photo-placeholder{height:350px;max-width:450px}.hero-image .photo-placeholder img{object-fit:cover;object-position:center 30%;image-rendering:-webkit-optimize-contrast;image-rendering:auto;filter:contrast(1.02) saturate(1.05);will-change:transform}.love-story{background:#fefefe;padding:5rem 2rem;border-top:1px solid rgba(0,0,0,.05)}.content-container{max-width:1200px;margin:0 auto}.love-story h2{font-size:2.5rem;color:#2c3e50;text-align:center;margin-bottom:3rem;font-family:Georgia,serif;font-weight:300}.story-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.story-text{display:flex;flex-direction:column;gap:1.5rem}.story-text p{font-size:1.1rem;line-height:1.7;color:#4a5568;margin:0}.story-image .photo-placeholder{height:350px;max-width:100%}@media(max-width:768px){.hero{grid-template-columns:1fr;gap:2rem;padding:2rem 1rem;text-align:center}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.2rem}.wedding-details{justify-content:center;gap:2rem}.story-content{grid-template-columns:1fr;gap:2rem}.love-story{padding:3rem 1rem}.love-story h2{font-size:2rem}}.location{min-height:100vh;background:#fefefe}.content-container{max-width:1200px;margin:0 auto;padding:4rem 2rem}.location-details{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-bottom:4rem;align-items:start}.venue-info h2{font-size:2rem;color:#2c3e50;margin-bottom:2rem;font-family:Georgia,serif;font-weight:400}.venue-card{background:#fff;padding:2rem;border-radius:15px;box-shadow:0 10px 30px #0000001a;border:1px solid rgba(201,169,110,.2)}.venue-card h3{font-size:1.5rem;color:#c9a96e;margin:0 0 1rem;font-weight:600}.address{font-size:1.1rem;color:#2c3e50;margin:0 0 1.5rem;line-height:1.6;font-weight:500}.description{font-size:1rem;color:#4a5568;line-height:1.7;margin:0}.venue-image .photo-placeholder{width:100%;height:400px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:15px;display:flex;align-items:center;justify-content:center;color:#6c757d;font-style:italic;border:2px dashed #c9a96e;text-align:center;box-shadow:0 10px 30px #0000001a;overflow:hidden;position:relative}.photo-placeholder img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:13px;border:none}.photo-placeholder:has(img){background:none;border:2px solid #c9a96e;color:transparent}.photo-placeholder:has(img) span{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.additional-info{margin-bottom:4rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.info-card{background:#fff;padding:2rem;border-radius:15px;box-shadow:0 5px 20px #00000014;border:1px solid rgba(201,169,110,.1);text-align:center}.info-card h3{font-size:1.2rem;color:#c9a96e;margin:0 0 1rem;font-weight:600;text-transform:uppercase;letter-spacing:1px}.info-card p{font-size:1rem;color:#4a5568;line-height:1.6;margin:0}.map-section{text-align:center}.map-section h2{font-size:2rem;color:#2c3e50;margin-bottom:2rem;font-family:Georgia,serif;font-weight:400}.map-container{width:100%;height:400px;border-radius:15px;box-shadow:0 10px 30px #0000001a;overflow:hidden;border:2px solid rgba(201,169,110,.2)}.map-container iframe{width:100%;height:100%;border:none;border-radius:15px}.map-placeholder{width:100%;height:400px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6c757d;border:2px dashed #c9a96e;gap:1rem;box-shadow:0 10px 30px #0000001a}.map-placeholder span{font-size:1.2rem;font-weight:600}.map-placeholder p{margin:0;font-style:italic}@media(max-width:768px){.page-header{padding:2rem 1rem}.page-header h1{font-size:2rem}.content-container{padding:2rem 1rem}.location-details{grid-template-columns:1fr;gap:2rem}.info-grid{grid-template-columns:1fr}}.itinerary{min-height:100vh;background:#fefefe}.page-header{background:linear-gradient(135deg,#f8f9fa,#e9ecef);text-align:center;padding:4rem 2rem;border-bottom:1px solid rgba(0,0,0,.05)}.page-header h1{font-size:3rem;color:#2c3e50;margin:0 0 1rem;font-family:Georgia,serif;font-weight:300}.page-header p{font-size:1.3rem;color:#7f8c8d;margin:0;font-weight:300}.content-container{max-width:900px;margin:0 auto;padding:4rem 2rem}.timeline{position:relative;margin-bottom:4rem}.timeline:before{content:"";position:absolute;left:30px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,#c9a96e,#c9a96e4d)}.timeline-item{position:relative;margin-bottom:3rem;padding-left:4rem}.timeline-marker{position:absolute;left:21px;top:1rem;width:18px;height:18px;background:#c9a96e;border-radius:50%;border:3px solid white;box-shadow:0 0 0 3px #c9a96e4d}.event-card{background:#fff;border-radius:15px;padding:2rem;box-shadow:0 10px 30px #0000001a;border:1px solid rgba(201,169,110,.2);transition:transform .3s ease,box-shadow .3s ease}.event-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00000026}.event-header{border-bottom:1px solid rgba(0,0,0,.05);padding-bottom:1rem;margin-bottom:1.5rem}.event-header h3{font-size:1.5rem;color:#2c3e50;margin:0 0 .5rem;font-weight:600;font-family:Georgia,serif}.event-meta{display:flex;gap:2rem;flex-wrap:wrap}.event-date,.event-time{color:#c9a96e;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.event-body p{margin:0 0 1rem;line-height:1.6}.event-location{color:#2c3e50;font-weight:600;font-size:1.1rem}.event-description{color:#4a5568;font-size:1rem}.event-attire{color:#7f8c8d;font-style:italic;font-size:.9rem}.additional-notes{margin-top:4rem}.additional-notes h2{font-size:2rem;color:#2c3e50;text-align:center;margin-bottom:3rem;font-family:Georgia,serif;font-weight:400}.notes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.note-card{background:#fff;padding:2rem;border-radius:15px;box-shadow:0 5px 20px #00000014;border:1px solid rgba(201,169,110,.1)}.note-card h3{font-size:1.2rem;color:#c9a96e;margin:0 0 1rem;font-weight:600}.note-card p{font-size:1rem;color:#4a5568;line-height:1.6;margin:0}@media(max-width:768px){.page-header{padding:2rem 1rem}.page-header h1{font-size:2rem}.content-container{padding:2rem 1rem}.timeline:before{left:15px}.timeline-item{padding-left:2.5rem}.timeline-marker{left:6px;width:16px;height:16px}.event-meta{flex-direction:column;gap:.5rem}.notes-grid{grid-template-columns:1fr}}.app{min-height:100vh;background:#fff}.main-content{min-height:calc(100vh - 80px)}
