@font-face{font-family:Cormorant Garamond;src:url(/fonts/CormorantGaramond-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/fonts/CormorantGaramond-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/fonts/CormorantGaramond-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Nunito Sans;src:url(/fonts/NunitoSans-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Nunito Sans;src:url(/fonts/NunitoSans-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--color-bg: #FAF6F1;--color-bg-alt: #F0E6D8;--color-text: #3D3329;--color-text-light: #7A6E62;--color-accent: #C4A882;--color-accent-dark: #A08B6E;--color-border: #E0D5C7;--color-white: #FFFFFF;--color-error: #B85450;--color-success: #6B8F71;--font-heading: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body: "Nunito Sans", "Segoe UI", system-ui, sans-serif;--max-width: 900px;--section-spacing: 5rem;--content-padding: 1.5rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:1rem;line-height:1.7;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{color:var(--color-accent-dark);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-text)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:400;line-height:1.2;color:var(--color-text)}h1{font-size:clamp(2.5rem,6vw,4.5rem);letter-spacing:.02em}h2{font-size:clamp(1.8rem,4vw,2.8rem);letter-spacing:.01em;margin-bottom:1.5rem}h3{font-size:clamp(1.3rem,2.5vw,1.8rem)}p{margin-bottom:1rem}p:last-child{margin-bottom:0}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--content-padding)}.text-center{text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.divider{display:flex;align-items:center;justify-content:center;gap:1rem;margin:2rem 0;color:var(--color-accent);font-size:1.5rem}.divider:before,.divider:after{content:"";height:1px;width:60px;background-color:var(--color-border)}.btn{display:inline-block;padding:.75rem 2rem;font-family:var(--font-body);font-size:.95rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border:2px solid var(--color-accent);background:transparent;color:var(--color-accent-dark);cursor:pointer;transition:all .3s ease;text-align:center}.btn:hover,.btn--primary{background:var(--color-accent);color:var(--color-white)}.btn--primary:hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark)}input[type=text],input[type=password]{width:100%;padding:.75rem 1rem;font-family:var(--font-body);font-size:1rem;border:1px solid var(--color-border);background:var(--color-white);color:var(--color-text);outline:none;transition:border-color .2s ease}input[type=text]:focus,input[type=password]:focus{border-color:var(--color-accent)}@media(min-width:768px){:root{--content-padding: 2rem;--section-spacing: 6rem}}.hero{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;text-align:center;padding:2rem var(--content-padding);background:linear-gradient(135deg,var(--color-bg) 0%,var(--color-bg-alt) 50%,var(--color-bg) 100%);overflow:hidden}.hero:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 30% 50%,rgba(196,168,130,.08) 0%,transparent 50%);pointer-events:none}.hero__names{font-family:var(--font-heading);font-size:clamp(3rem,8vw,6rem);font-weight:400;letter-spacing:.04em;line-height:1.1;margin-bottom:.5rem}.hero__ampersand{display:block;font-size:.5em;color:var(--color-accent);margin:.2em 0}.hero__date{font-family:var(--font-body);font-size:clamp(1rem,2.5vw,1.4rem);font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--color-accent-dark);margin:1.5rem 0}.hero__text{max-width:550px;font-size:1.1rem;color:var(--color-text-light);margin-bottom:2rem}.hero__scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--color-accent);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;animation:float 2s ease-in-out infinite}.hero__scroll-hint svg{width:20px;height:20px}@keyframes float{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-8px)}}.section{padding:var(--section-spacing) 0}.section:nth-child(2n){background-color:var(--color-bg-alt)}.section__header{text-align:center;margin-bottom:3rem}.section__title{position:relative;display:inline-block}.section__title:after{content:"";display:block;width:50px;height:2px;background:var(--color-accent);margin:.8rem auto 0}.timeline{position:relative;max-width:600px;margin:0 auto}.timeline:before{content:"";position:absolute;top:0;left:24px;width:2px;height:100%;background:var(--color-border)}.timeline__item{position:relative;padding-left:60px;padding-bottom:2.5rem}.timeline__item:last-child{padding-bottom:0}.timeline__dot{position:absolute;left:17px;top:4px;width:16px;height:16px;border-radius:50%;background:var(--color-bg);border:2px solid var(--color-accent)}.timeline__time{font-family:var(--font-body);font-weight:600;font-size:.9rem;color:var(--color-accent-dark);letter-spacing:.05em}.timeline__title{font-family:var(--font-heading);font-size:1.4rem;margin:.25rem 0}.timeline__desc{color:var(--color-text-light);font-size:.95rem}.location-card{text-align:center;max-width:600px;margin:0 auto}.location-card__name{font-family:var(--font-heading);font-size:1.6rem;margin-bottom:.5rem}.location-card__address{color:var(--color-text-light);font-style:italic;margin-bottom:1rem}.hotels-list{list-style:none;max-width:600px;margin:1.5rem auto 0}.hotels-list li{padding:1rem 0;border-bottom:1px solid var(--color-border)}.hotels-list li:last-child{border-bottom:none}.hotel__name{font-weight:600}.hotel__info{color:var(--color-text-light);font-size:.9rem}.dresscode{text-align:center;max-width:600px;margin:0 auto}.dresscode__hint{display:inline-block;margin-top:1rem;padding:.75rem 1.5rem;background:var(--color-bg);border:1px solid var(--color-border);font-size:.9rem;color:var(--color-text-light);font-style:italic}.gifts{text-align:center;max-width:600px;margin:0 auto}.faq-list{max-width:650px;margin:0 auto}.faq-list details{border-bottom:1px solid var(--color-border)}.faq-list summary{cursor:pointer;padding:1.25rem 0;font-family:var(--font-heading);font-size:1.2rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font-size:1.5rem;color:var(--color-accent);flex-shrink:0;transition:transform .2s ease}.faq-list details[open] summary:after{content:"−"}.faq-list .faq__answer{padding:0 0 1.25rem;color:var(--color-text-light);line-height:1.7}.footer{padding:3rem 0;text-align:center;background:var(--color-bg-alt);border-top:1px solid var(--color-border)}.footer__names{font-family:var(--font-heading);font-size:1.8rem;margin-bottom:.25rem}.footer__date{color:var(--color-text-light);font-size:.9rem;margin-bottom:1rem}.footer__love{font-size:.8rem;color:var(--color-text-light);letter-spacing:.05em}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1rem var(--content-padding);display:flex;justify-content:center;align-items:center;transition:background-color .3s ease,box-shadow .3s ease}.nav__brand{display:none}.nav--scrolled{background-color:#faf6f1f2;backdrop-filter:blur(8px);box-shadow:0 1px 8px #0000000f}.nav__links{list-style:none;display:flex;gap:2.5rem;align-items:center}.nav__link{font-family:var(--font-body);font-size:.85rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text);text-decoration:none;transition:color .2s ease}.nav__link:hover,.nav__link--active{color:var(--color-accent-dark)}.nav__toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem}.nav__toggle svg{width:24px;height:24px;color:var(--color-text)}@media(max-width:767px){.nav{justify-content:space-between;padding:.75rem var(--content-padding)}.nav__brand{display:block;font-family:var(--font-heading);font-size:1.2rem;color:var(--color-text);text-decoration:none}.nav__toggle{display:block}.nav__links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:#faf6f1fa;backdrop-filter:blur(8px);box-shadow:0 4px 12px #00000014;padding:1rem 0}.nav__links--open{display:flex}.nav__link{padding:.75rem var(--content-padding);width:100%;text-align:center}}
