:root{--bg:#f8f6f3;--bg-alt:#f3efea;--text:#2f2a26;--text-light:#5f564f;--accent:#b9a06c;--accent-strong:#9b8455;--border:rgba(47,42,38,.08);--white:#fff;--shadow:0 30px 60px -40px rgba(47,42,38,.6);--radius-lg:24px;--radius-md:16px;--radius-sm:12px;--max-width:1100px;--max-width-narrow:760px;font-size:16px}*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;scroll-behavior:smooth;scroll-padding-top:90px}body{background:var(--bg);color:var(--text);line-height:1.7;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}ul{list-style:none}button{border:none;background:none;cursor:pointer;font:inherit}.container{width:min(var(--max-width),calc(100% - 2rem));margin:0 auto}.container--narrow{width:min(var(--max-width-narrow),calc(100% - 2rem));margin:0 auto}.nav{position:fixed;inset:0 0 auto 0;z-index:10;background:linear-gradient(180deg,rgba(248,246,243,.98)0%,rgba(248,246,243,.8)100%);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}.nav.is-scrolled{border-bottom-color:var(--border);box-shadow:0 10px 40px -30px rgba(47,42,38,.8)}.nav__container{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(var(--max-width),calc(100% - 2rem));margin:0 auto;padding:.8rem 0}.nav__logo{font-family:Cormorant,serif;font-weight:600;letter-spacing:.6rem;text-transform:uppercase;font-size:.85rem}.nav__links{display:flex;align-items:center;gap:1.2rem;font-size:.95rem}.nav__links a{position:relative;padding:.4rem 0;color:var(--text-light);transition:color .15s}.nav__links a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .15s}.nav__links a:hover,.nav__links a:focus-visible{color:var(--text)}.nav__links a:hover::after,.nav__links a:focus-visible::after{transform:scaleX(1);transform-origin:left}.nav__toggle{display:none;flex-direction:column;gap:.4rem;padding:.4rem}.nav__toggle span{width:1.6rem;height:1px;background:var(--text);transition:transform .15s,opacity .15s}.hero{position:relative;display:grid;place-items:center;min-height:100svh;text-align:center;background:radial-gradient(circle at top,rgba(185,160,108,.14),transparent 55%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");background-color:var(--bg)}.hero__overlay{position:absolute;inset:0;background:radial-gradient(circle at center,transparent 40%,rgba(248,246,243,.9) 100%)}.hero__content{position:relative;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:0 1rem}.hero__pretitle{text-transform:uppercase;letter-spacing:.8rem;font-size:.85rem;color:var(--text-light)}.hero__names{font-family:Cormorant,serif;font-weight:500;font-size:clamp(3rem,10vw,8rem);text-align:center;line-height:.9}.hero__date{margin-top:1rem;text-transform:uppercase;letter-spacing:.8rem;font-size:.9rem}.hero__cta{margin-top:2rem;display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 2.6rem;border-radius:999px;border:1px solid rgba(155,132,85,.4);color:var(--text);text-transform:uppercase;letter-spacing:.5rem;font-size:.8rem;transition:transform .15s,box-shadow .15s,border-color .15s}.hero__cta:hover,.hero__cta:focus-visible{transform:translateY(-4px);border-color:var(--accent-strong);box-shadow:0 20px 40px -30px var(--accent-strong)}.section{padding:clamp(4rem,8vw,7rem) 0}.section--alt{background:var(--bg-alt)}.section--intro{padding-top:clamp(3rem,6vw,5rem)}.section__header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.8rem;margin-bottom:clamp(2rem,6vw,4rem)}.section__title{font-family:Cormorant,serif;font-weight:500;font-size:clamp(2rem,6vw,4rem)}.section__subtitle{text-transform:uppercase;letter-spacing:.6rem;font-size:.8rem;color:var(--text-light)}.intro{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}.intro__quote{font-family:Cormorant,serif;font-style:italic;font-size:clamp(1.4rem,4vw,2.4rem);max-width:40rem}.intro__text{color:var(--text-light);max-width:32rem}.countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,4vw,2rem);margin-top:1rem}.countdown__item{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:clamp(1.6rem,4vw,2.8rem) 1rem;border-radius:var(--radius-lg);background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow)}.countdown__number{font-family:Cormorant,serif;font-size:clamp(3rem,12vw,6rem);line-height:.8}.countdown__label{text-transform:uppercase;letter-spacing:.5rem;font-size:.8rem;color:var(--text-light)}.countdown__done{margin-top:2rem;text-align:center;text-transform:uppercase;letter-spacing:.8rem;font-size:.9rem}.hidden{display:none}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,4vw,2rem)}.card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.8rem;padding:clamp(2rem,6vw,3.6rem) 1.8rem;border-radius:var(--radius-lg);background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow)}.card__icon{display:inline-flex;align-items:center;justify-content:center;width:3.2rem;height:3.2rem;border-radius:50%;border:1px solid rgba(155,132,85,.4);color:var(--accent-strong);font-size:1.4rem}.card__title{font-family:Cormorant,serif;font-size:clamp(1.8rem,5vw,2.8rem);font-weight:500}.card__time{text-transform:uppercase;letter-spacing:.4rem;font-size:.85rem;color:var(--text-light)}.card__place{font-weight:500}.card__address{color:var(--text-light)}.card__link{margin-top:1rem;display:inline-flex;align-items:center;gap:.5rem;text-transform:uppercase;letter-spacing:.4rem;font-size:.8rem;color:var(--accent-strong)}.dresscode{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,4vw,1.6rem);text-align:center}.dresscode__item{display:flex;flex-direction:column;gap:.6rem;padding:clamp(1.8rem,4vw,2.6rem) 1.6rem;border-radius:var(--radius-lg);background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow)}.dresscode__item h3{font-family:Cormorant,serif;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:500}.dresscode__item p{color:var(--text-light)}.list{display:flex;flex-direction:column;gap:1rem}.list__item{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:clamp(1.2rem,3vw,1.8rem) clamp(1.2rem,4vw,2.4rem);border-radius:var(--radius-md);background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow)}.list__item h3{font-family:Cormorant,serif;font-size:clamp(1.4rem,3vw,1.8rem);font-weight:500}.list__item p{color:var(--text-light)}.list__link{display:inline-flex;align-items:center;gap:.4rem;text-transform:uppercase;letter-spacing:.4rem;font-size:.8rem;color:var(--accent-strong)}.gift{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.6rem}.gift__box{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:clamp(1.8rem,5vw,2.8rem) clamp(1.2rem,6vw,4rem);border-radius:var(--radius-lg);background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow);width:min(var(--max-width-narrow),100%)}.gift__iban{font-weight:500;letter-spacing:.2rem;text-transform:uppercase;font-size:clamp(.9rem,2vw,1rem)}.gift__note{color:var(--text-light)}.form{display:flex;flex-direction:column;gap:2rem;padding:clamp(2rem,6vw,3.6rem);border-radius:var(--radius-lg);background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow)}.form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,1.6rem)}.form__field{display:flex;flex-direction:column;gap:.8rem}.form__field--full{grid-column:1/-1}.form__field label{text-transform:uppercase;letter-spacing:.4rem;font-size:.8rem;color:var(--text-light)}.form__field input,.form__field select,.form__field textarea{width:100%;padding:.9rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;font-size:1rem;color:var(--text)}.form__field input:focus-visible,.form__field select:focus-visible,.form__field textarea:focus-visible{outline:2px solid rgba(155,132,85,.4);outline-offset:2px}.form__submit{align-self:center;display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 2.8rem;border-radius:999px;border:1px solid rgba(155,132,85,.4);text-transform:uppercase;letter-spacing:.5rem;font-size:.8rem;transition:transform .15s,box-shadow .15s,border-color .15s}.form__submit:hover,.form__submit:focus-visible{transform:translateY(-4px);border-color:var(--accent-strong);box-shadow:0 20px 40px -30px var(--accent-strong)}.form__note{text-align:center;color:var(--text-light);font-size:.9rem}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,3vw,1.6rem)}.gallery__item{display:flex;flex-direction:column;gap:.8rem;text-align:center}.gallery__placeholder{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/5;background:radial-gradient(circle at top,rgba(185,160,108,.18),transparent 60%),var(--bg-alt);border:1px solid var(--border)}.gallery__placeholder::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,transparent 30%,rgba(248,246,243,.7) 100%)}.gallery__item figcaption{color:var(--text-light)}.footer{padding:clamp(2rem,5vw,3rem) 0;text-align:center;border-top:1px solid var(--border)}.footer__title{font-family:Cormorant,serif;text-transform:uppercase;letter-spacing:.8rem;font-size:.85rem;margin-bottom:.8rem}.footer__text{color:var(--text-light);margin-bottom:.6rem}.footer__copy{color:var(--text-light);font-size:.9rem}.scrolltop{position:fixed;right:1rem;bottom:1rem;display:inline-flex;align-items:center;justify-content:center;width:2.8rem;height:2.8rem;border-radius:50%;border:1px solid var(--border);background:var(--white);box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s,transform .15s;transform:translateY(10px)}.scrolltop.is-visible{opacity:1;visibility:visible;transform:translateY(0)}@media(max-width:960px){.nav__toggle{display:flex}.nav__links{position:absolute;inset:calc(100% + 1px) 0 auto 0;flex-direction:column;align-items:flex-start;gap:0;background:rgba(248,246,243,.98);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:.6rem 1rem 1rem;transform:translateY(-120%);opacity:0;pointer-events:none;transition:transform .2s,opacity .2s}.nav__links.is-open{transform:translateY(0);opacity:1;pointer-events:all}.nav__links li{width:100%}.nav__links a{display:block;padding:.8rem 0}.countdown{grid-template-columns:repeat(2,minmax(0,1fr))}.cards,.dresscode,.gallery{grid-template-columns:1fr}.form__grid{grid-template-columns:1fr}.list__item{flex-direction:column;align-items:flex-start}}@media(max-width:640px){.hero__pretitle,.hero__date,.section__subtitle,.card__link,.list__link,.hero__cta,.form__submit{letter-spacing:.4rem}.countdown{grid-template-columns:1fr}}
