*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{height:100vh;background-color:#fafaf8;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;justify-content:center;align-items:center;text-align:center}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{text-decoration:none;color:inherit}ul,ol{list-style:none}button{background:none;border:none;cursor:pointer}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}main{width:100%;max-width:1200px;padding:2rem;margin:0 auto}:root{--sage-green: #8e8b63;--light-cream: #d6d4ad;--dusty-rose: #cb8587;--secondary-bg: #fce5db;--primary-text: var(--sage-green);--secondary-text: var(--dusty-rose);--light-text: var(--light-cream);--subtle-text: #deb0b1}.bg-secondary{background-color:var(--secondary-bg)}.bg-sage{background-color:var(--sage-green)}.bg-cream{background-color:var(--light-cream)}.bg-rose{background-color:var(--dusty-rose)}.text-primary{color:var(--primary-text);font-weight:600}.text-secondary{color:var(--secondary-text);font-weight:500}.text-light{color:var(--light-text);font-weight:400}.text-subtle{color:var(--subtle-text);font-weight:300}h1{color:var(--primary-text);font-size:4rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1rem}h2{color:var(--primary-text);font-size:2.5rem;font-weight:600;margin-bottom:.75rem}h3{color:var(--secondary-text);font-size:2rem;font-weight:500;margin-bottom:.5rem}h4{color:var(--secondary-text);font-size:1rem;font-weight:500;margin-bottom:.5rem}p{font-size:1.125rem;line-height:1.6;margin-bottom:1rem}.date-text{color:var(--secondary-text);font-size:1.25rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.announcement-text{color:var(--secondary-text);font-size:1.5rem;font-weight:500;font-style:italic}.text-on-dark{color:var(--light-text);text-shadow:0 2px 4px rgba(0,0,0,.3)}.text-on-dark-subtle{color:var(--subtle-text);text-shadow:0 1px 2px rgba(0,0,0,.4)}a{color:var(--secondary-text);transition:color .3s ease}a:hover{color:var(--primary-text)}.btn-primary{background-color:var(--sage-green);color:#fff;border:none;padding:.75rem 1.5rem;font-weight:500;transition:all .3s ease}.btn-primary:hover{background-color:var(--dusty-rose);transform:translateY(-2px)}.btn-secondary{background-color:transparent;color:var(--secondary-text);border:2px solid var(--secondary-text);padding:.75rem 1.5rem;border-radius:.5rem;font-weight:500;transition:all .3s ease}.btn-secondary:hover{background-color:var(--secondary-text);color:#fff}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(142,139,99,.1);transition:all .3s ease;padding:1rem 0}.navbar-scrolled{background:#fffffff2;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-bottom:1px solid rgba(142,139,99,.2);box-shadow:0 2px 20px #0000001a}.navbar-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.navbar-brand{flex-shrink:0}.brand-link{text-decoration:none;color:inherit}.brand-text{color:var(--sage-green);font-size:1.5rem;font-weight:700;margin:0;letter-spacing:.05em;text-shadow:0 1px 2px rgba(0,0,0,.1)}.desktop-menu{display:flex;align-items:center;gap:2rem}.nav-link{background:none;border:none;color:var(--sage-green);font-size:1rem;font-weight:500;cursor:pointer;padding:.5rem 0;position:relative;transition:all .3s ease;text-decoration:none}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--dusty-rose);transition:width .3s ease}.nav-link:hover,.nav-link.active{color:var(--dusty-rose)}.nav-link:hover:after,.nav-link.active:after{width:100%}.mobile-menu-button{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:.5rem;gap:4px}.mobile-menu-button span{width:25px;height:3px;background:var(--sage-green);transition:all .3s ease;border-radius:2px}.mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#fffffffa;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-bottom:1px solid rgba(142,139,99,.2);box-shadow:0 4px 20px #0000001a;flex-direction:column;padding:1rem 0;opacity:0;transition:all .3s ease}.mobile-menu.open{transform:translateY(0);opacity:1}.mobile-nav-link{background:none;border:none;color:var(--sage-green);font-size:1.1rem;font-weight:500;cursor:pointer;padding:1rem 2rem;text-align:left;transition:all .3s ease;border-bottom:1px solid rgba(142,139,99,.1);text-decoration:none}.mobile-nav-link:hover,.mobile-nav-link.active{background:#8e8b630d;color:var(--dusty-rose)}.mobile-rsvp-button{background:var(--sage-green);color:#fff;border:none;padding:1rem 2rem;margin:1rem 2rem;border-radius:2rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 10px #8e8b634d;text-transform:uppercase;letter-spacing:.05em}.mobile-rsvp-button:hover{background:var(--dusty-rose);transform:translateY(-2px);box-shadow:0 4px 15px #cb858766}@media (max-width: 768px){.desktop-menu{display:none}.mobile-menu-button,.mobile-menu{display:flex}.navbar-container{padding:0 1rem}.brand-text{font-size:1.25rem}}@media (max-width: 480px){.navbar{padding:.75rem 0}.navbar-container{padding:0 .75rem}.brand-text{font-size:1.1rem}.mobile-nav-link{padding:.75rem 1rem;font-size:1rem}.mobile-rsvp-button{margin:.75rem 1rem;padding:.75rem 1.5rem}}html{scroll-behavior:smooth}#rsvp{padding:3rem 1rem}.rsvp-button{background:var(--sage-green);color:#fff;border:none;padding:.75rem 1.5rem;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 10px #8e8b634d;text-transform:uppercase;letter-spacing:.05em}.rsvp-button:hover{background:var(--dusty-rose);transform:translateY(-2px);box-shadow:0 4px 15px #cb858766}#introduction{margin-top:185rem;background-size:cover;background-position:center;background-repeat:no-repeat;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative}@media screen and (width >= 768px){#introduction{margin-top:160rem}}#join-us{padding:0 1rem;margin-bottom:5rem;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}@media screen and (width >= 768px){#join-us{padding:1rem 10rem}}#wedding-details{padding:8rem 2rem;background-color:var(--secondary-bg);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}#wedding-details p{color:var(--primary-text)}#wedding-details h3{font-size:2rem}#wedding-details h4{font-size:1rem}#wedding-details #venue-details{margin-top:2rem}@media screen and (width >= 768px){#wedding-details{display:grid;grid-template-columns:1fr 1fr;gap:2rem}#wedding-details h3{font-size:3rem}#wedding-details h4{font-size:1.5rem}#wedding-details #venue-details{margin-top:0}}#our-story{margin-top:1rem}#our-story .our-story-container{width:100%;margin:2rem auto;display:grid;grid-template-columns:1fr 2fr 1fr;gap:2rem;align-items:center}@media (max-width: 768px){#our-story .our-story-container{grid-template-columns:1fr;gap:1.5rem;text-align:center}}#our-story .groom-section,#our-story .bride-section{text-align:center}#our-story .couple-image-section{display:flex;justify-content:center;align-items:center}#our-story .couple-image-section .couple-image{width:100%;max-width:500px;height:auto;box-shadow:0 8px 24px #18111126;border:12px solid #eddada;position:relative}@media (max-width: 768px){#our-story .couple-image-section .couple-image{max-width:300px}}.our-story-text{width:100%;padding:5rem 2rem;background-color:var(--secondary-bg);margin-top:2rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:left}@media (width >= 768px) and (width <= 1200px){.our-story-text{padding:2rem 10rem}}@media (width > 1200px){.our-story-text{padding:8rem 20rem}}.countdown-timer{text-align:center;margin:1rem 0}.countdown-title{color:var(--sage-green);font-size:1.75rem;font-weight:600;margin-bottom:2rem;letter-spacing:.02em;font-style:italic}.countdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1.5rem;max-width:600px;margin:0 auto}.countdown-item{background:#fff;padding:1.5rem 1rem;border-radius:.75rem;box-shadow:0 4px 16px #8e8b6326;border:1px solid rgba(142,139,99,.1);transition:all .3s ease;position:relative;overflow:hidden}.countdown-item:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--sage-green),var(--dusty-rose));opacity:.8}.countdown-item:hover{transform:translateY(-4px);box-shadow:0 8px 24px #8e8b6333}.countdown-number{font-size:2.5rem;font-weight:700;color:var(--sage-green);line-height:1;margin-bottom:.5rem;font-family:Georgia,serif;text-shadow:0 2px 4px rgba(142,139,99,.1)}.countdown-label{font-size:.9rem;font-weight:500;color:var(--dusty-rose);text-transform:uppercase;letter-spacing:.1em;margin:0}@media (max-width: 768px){.countdown-timer{padding:2rem 1rem;margin:1rem 0}.countdown-title{font-size:1.5rem;margin-bottom:1.5rem}.countdown-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.countdown-item{padding:1.25rem .75rem}.countdown-number{font-size:2rem}.countdown-label{font-size:.8rem}}@media (max-width: 480px){.countdown-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.countdown-item{padding:1rem .5rem}.countdown-number{font-size:1.75rem}.countdown-label{font-size:.75rem}}.countdown-number{transition:all .3s ease}.countdown-item:hover .countdown-number{color:var(--dusty-rose);transform:scale(1.05)}.countdown-timer.urgent .countdown-item{animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 4px 16px #cb858726}50%{box-shadow:0 4px 16px #cb85874d}to{box-shadow:0 4px 16px #cb858726}}#registry{padding:4.5rem 1.5rem 6rem;min-height:70vh;display:flex;align-items:center;justify-content:center;background-color:transparent}.registry-container{width:100%;max-width:1100px;margin:0 auto;margin-top:22rem}.registry-header{text-align:center;margin-bottom:1.5rem}.registry-header .divider{width:6rem;height:4px;margin:.75rem auto 0;background:linear-gradient(90deg,var(--sage-green),var(--dusty-rose));border-radius:2px;opacity:.9}.registry-card{display:grid;grid-template-columns:1fr;gap:1.5rem;background-color:#f6f4efe6;border-radius:14px;overflow:hidden;box-shadow:0 12px 40px #8e8b631f;border:1px solid rgba(203,133,135,.06)}.registry-info{padding:2rem}.registry-info h3{margin-top:0;margin-bottom:.75rem}.registry-info p{margin-bottom:1.25rem}.registry-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;justify-content:center;margin-bottom:1rem}.registry-button{display:inline-block;text-decoration:none;padding:.9rem 1.6rem;border-radius:10px;box-shadow:0 6px 20px #8e8b631f}.registry-secondary{padding:.75rem 1.25rem}.registry-quote{margin-top:.5rem}.registry-visual{min-height:260px;background-image:linear-gradient(#ffffff14,#ffffff14),url(/images/24.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}.registry-card:after{content:"";position:absolute;pointer-events:none}@media (min-width: 768px){.registry-container{margin-top:0}.registry-card{grid-template-columns:1fr 420px;align-items:stretch}.registry-info{padding:3rem}.registry-visual{min-height:auto}}@media (min-width: 1024px){.registry-container{padding:3rem}.registry-card{border-radius:18px}}
