:root{--font-base-size: 14px;--font-family-base: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-weight-normal: 400;--font-weight-medium: 500;--color-background: #ffffff;--color-foreground: #1f1f1f;--color-soft-background: #fff9f9;--color-primary: #6b93d6;--color-primary-hover: #5a7bc4;--color-muted: #ececf0;--color-muted-foreground: #717182;--color-accent-soft: rgba(175, 203, 255, .2);--color-accent-warm: rgba(244, 198, 198, .3);--color-border: rgba(0, 0, 0, .1);--color-footer-background: #3a3a3a;--color-footer-text: #e3e3e3;--color-input-background: #f3f3f5;--color-input-border: rgba(0, 0, 0, .15);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px}html{font-size:var(--font-base-size)}body{margin:0;font-family:var(--font-family-base);background:linear-gradient(to bottom,var(--color-soft-background),#ffffff);color:var(--color-foreground);line-height:1.5}h1,h2,h3,h4{font-weight:var(--font-weight-medium);line-height:1.4;margin:0 0 .75rem}p{margin:0 0 .75rem}label{font-weight:var(--font-weight-medium)}.section{padding:6rem 1.5rem}.section-white{background:#fff}.section-soft{background:var(--color-soft-background)}.container{max-width:64rem;margin:0 auto}.intro{margin-bottom:3rem}.intro-eyebrow{color:var(--color-primary);margin-bottom:1rem}.intro-text{max-width:48rem;margin:0 auto 1.5rem}.intro-hint{display:inline-block;padding:.75rem 1rem;background:var(--color-accent-soft);border-radius:var(--radius-md);color:var(--color-primary)}.content-grid{display:grid;gap:3rem;margin-bottom:4rem}@media(min-width:768px){.content-grid{grid-template-columns:1fr 1fr;align-items:start}}.story-box{padding:1.5rem;border-radius:var(--radius-md);margin-bottom:2rem}.story-box.accent-left{background:var(--color-soft-background);border-left:4px solid #f4c6c6}.story-box.accent-soft{background:var(--color-accent-soft)}.images img{width:100%;border-radius:var(--radius-md);margin-bottom:.75rem}.image-caption{font-size:.85rem;font-style:italic;text-align:center}.rsvp-box{background:var(--color-accent-warm);padding:2.5rem 1.5rem;border-radius:var(--radius-lg)}.rsvp-form{max-width:32rem;margin:2rem auto 0}.form-grid{display:grid;gap:1.75rem 2.5rem}@media(min-width:768px){.form-grid{grid-template-columns:1fr 1fr}}input,select,textarea{width:100%;padding:.6rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--color-input-border);background:var(--color-input-background)}.checkbox-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.checkbox-single{display:flex;gap:.5rem;align-items:center}.button-primary{width:100%;margin-top:1rem;padding:.9rem;border:none;border-radius:var(--radius-md);background:var(--color-primary);color:#fff;font-size:1rem;cursor:pointer}.button-primary:hover{background:var(--color-primary-hover)}.slideshow{position:relative;height:60vh;overflow:hidden}.slides,.slide{position:absolute;inset:0}.slide{background-size:cover;background-position:center center;opacity:0;transition:opacity 1s ease}.slide{background-position:center center}@media(min-width:768px){.slide{background-position:center 30%;background-size:contain;background-color:#fff9f9;background-repeat:no-repeat}.slideshow{height:50vh}}.slide.active{opacity:1}.slideshow:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#0000 60%,#00000040)}.slideshow-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;z-index:2;text-align:center;color:#fff;padding-bottom:3rem}.slideshow-text h1{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:.5rem}.slideshow-text .subtitle{font-size:1.4rem;opacity:.9}.slideshow-text .date,.slideshow-text .location{font-size:1rem;opacity:.8;margin-top:.25rem}.slideshow-indicators{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem;z-index:3}.slideshow-indicators button{width:10px;height:10px;border-radius:50%;border:none;background:#ffffff80;cursor:pointer;transition:transform .2s,background .2s}.slideshow-indicators button.active{background:#fff;transform:scale(1.2)}.slideshow-indicators button:hover{background:#fffc}.navigation{width:100%;position:relative;background:#fff;z-index:50;transition:all .3s ease}.navigation.sticky{position:fixed;top:0;left:0;background:#fffffff2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 4px 12px #00000014}.nav-container{max-width:72rem;margin:0 auto;padding:.5rem 1rem}.nav-items{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem}.nav-items button{padding:.5rem 1.25rem;border:none;background:transparent;border-radius:999px;cursor:pointer;font-size:.9rem;color:#3a3a3a;transition:all .25s ease}.nav-items button:hover{background:var(--color-soft-background);color:var(--color-primary)}.nav-items button.active{background:#f4c6c6;color:#3a3a3a;box-shadow:0 4px 10px #0000001a}.text-center{text-align:center}.rsvp-box{background:#fdeeee;border-radius:18px;padding:3rem 2rem;max-width:900px;margin:0 auto}.rsvp-title{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:1.6rem;font-weight:500;color:var(--color-primary);margin-bottom:1rem}.rsvp-deadline{text-align:center;font-size:1rem;margin-bottom:2.5rem}.rsvp-form{background:transparent;text-align:left}.rsvp-form label{display:block;font-weight:500;margin-bottom:.25rem;font-size:.9rem}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{width:100%;background:#f7f7f7;border:none;border-radius:10px;padding:.7rem .9rem;font-size:.95rem}.rsvp-form>div,.rsvp-form .form-grid>div{margin-bottom:1.25rem}.rsvp-form select{cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease}.rsvp-form select:hover{background-color:#fff}.rsvp-form select:focus{outline:none;background-color:#fff;box-shadow:0 0 0 2px #6b93d640}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 2rem;margin:1rem 0 1.5rem}.checkbox-grid label,.checkbox-single{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.checkbox-grid input,.checkbox-single input{width:16px;height:16px;accent-color:var(--color-primary)}.checkbox-grid label,.checkbox-single{padding:.4rem .5rem;border-radius:8px;transition:background-color .2s ease;cursor:pointer}.checkbox-grid label:hover,.checkbox-single:hover{background-color:#6b93d614}.checkbox-grid input,.checkbox-single input{cursor:pointer}.checkbox-grid input:focus-visible,.checkbox-single input:focus-visible{outline:none;box-shadow:0 0 0 2px #6b93d659;border-radius:4px}.rsvp-form textarea{resize:vertical}.button-primary{margin-top:1.5rem;background:#6b93d6;border-radius:10px;padding:.9rem;font-size:1rem;font-weight:500}.button-primary:hover{background:#5a7bc4}.section-title{font-size:2.2rem;margin-bottom:3rem;color:var(--color-primary)}.location-grid{display:grid;gap:3rem;margin-bottom:4rem}@media(min-width:768px){.location-grid{grid-template-columns:1fr 1fr;align-items:start}}.location-card{background:#fff9f9;padding:1.75rem;border-radius:var(--radius-lg);box-shadow:0 10px 25px #0000000f;margin-bottom:2rem;text-align:left}.location-card.soft{background:#afcbff33}.location-card h3{color:var(--color-primary);margin-bottom:1rem}.location-card .address{font-size:1.05rem}.location-card .description{margin-top:.75rem;font-size:.95rem}.time-box{background:#afcbff33;padding:.75rem 1rem;border-radius:var(--radius-md);color:var(--color-primary);margin:1rem 0;font-size:.95rem}.location-images img{width:100%;height:12rem;object-fit:cover;border-radius:var(--radius-md);box-shadow:0 8px 20px #00000014;margin-bottom:1.5rem}.location-highlight{background:#f4c6c64d;padding:2.5rem 2rem;border-radius:var(--radius-lg);margin-bottom:3rem}.location-highlight h3{color:var(--color-primary);margin-bottom:1.25rem}.location-highlight p{max-width:40rem;margin:0 auto .75rem}.location-highlight.accommodation{background:#fff;box-shadow:0 10px 25px #0000000f}.intro-note{color:var(--color-primary);font-style:italic;margin-bottom:4rem}.timeline-wrapper{position:relative;max-width:64rem;margin:0 auto 5rem}.timeline-line{position:absolute;top:0;bottom:0;left:50%;width:4px;transform:translate(-50%);background:linear-gradient(to bottom,#f4c6c6,#afcbff,#6b93d6);border-radius:4px}.timeline{display:flex;flex-direction:column;gap:5.5rem}.timeline-item{display:flex;align-items:center;position:relative;flex-direction:row}.timeline-item.left{justify-content:flex-start}.timeline-item.right{justify-content:flex-end}@media(min-width:768px){.timeline-item.left .timeline-content{margin-right:2.5rem}.timeline-item.right .timeline-content{margin-left:2.5rem}}.timeline-content{background:#fff;padding:2.25rem 2rem;border-radius:var(--radius-lg);box-shadow:0 12px 28px #00000014;width:calc(50% - 10rem);text-align:left;border-left:4px solid #f4c6c6}.timeline-content h3{color:var(--color-primary);margin-bottom:.75rem}.timeline-marker{width:3.5rem;height:3.5rem;background:linear-gradient(to bottom right,#f4c6c6,#afcbff);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:500;box-shadow:0 6px 16px #00000026;border:4px solid white;position:absolute;left:50%;transform:translate(-50%);z-index:2}@media(max-width:767px){.timeline-line{left:50%;transform:translate(-50%)}.timeline-item,.timeline-item.left,.timeline-item.right{flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;margin-left:0;margin-right:0}.timeline-marker{position:static;margin:0 0 1.25rem;transform:none}.timeline-content{position:static;width:calc(100% - 8rem);max-width:22rem;margin:0 auto;text-align:center}}.ablauf-highlight{background:#fff9f9;padding:2.5rem 2rem;border-radius:var(--radius-lg);max-width:48rem;margin:0 auto}.ablauf-highlight h3{color:var(--color-primary);margin-bottom:1rem}.info-grid{display:grid;gap:2rem;margin-bottom:4rem}@media(min-width:768px){.info-grid{grid-template-columns:1fr 1fr}}.info-card{background:#fff;padding:2rem;border-radius:var(--radius-lg);box-shadow:0 10px 25px #0000000f;border-left:4px solid #f4c6c6;display:flex;gap:1.25rem;text-align:left;transition:box-shadow .25s ease}.info-card:hover{box-shadow:0 14px 32px #0000001a}.info-icon{background:#fff9f9;width:3.75rem;height:3.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;line-height:1;gap:.1rem}.info-card h3{background:#fff9f9;color:var(--color-primary);margin-bottom:.5rem}.info-secondary-grid{display:grid;gap:2rem;margin-bottom:4rem}@media(min-width:768px){.info-secondary-grid{grid-template-columns:1fr 1fr}}.info-box{background:#afcbff33;padding:2rem;border-radius:var(--radius-lg)}.info-box h3{color:var(--color-primary);margin-bottom:1rem}.info-box .small{font-size:.9rem}.color-dots{display:flex;justify-content:center;gap:.5rem;margin:1rem 0;flex-wrap:wrap}.color-dots span{width:2.1rem;height:2.1rem;border-radius:50%;box-shadow:0 4px 12px #00000026}@media(min-width:768px){.color-dots{flex-wrap:nowrap;gap:.75rem}.color-dots span{width:2.75rem;height:2.75rem;box-shadow:0 6px 16px #00000026}}.contact-list p{font-size:.9rem;margin-bottom:.25rem}.info-highlight{background:#f4c6c64d;padding:2.5rem 2rem;border-radius:var(--radius-lg)}.info-highlight h3{color:var(--color-primary);margin-bottom:1.5rem}.info-facts{display:grid;gap:2rem;text-align:left}@media(min-width:768px){.info-facts{grid-template-columns:1fr 1fr}}.info-facts p{margin-bottom:.5rem}.gallery-grid{display:grid;gap:1.75rem;margin-bottom:4rem}@media(min-width:768px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}.gallery-card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 10px 25px #0000000f;transition:transform .25s ease,box-shadow .25s ease}.gallery-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px #0000001f}.image-wrapper{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:#f3f3f3;display:flex;align-items:center;justify-content:center}.image-wrapper:before{content:"";position:absolute;inset:0;background-image:var(--bg-image);background-size:cover;background-position:center;filter:blur(18px);transform:scale(1.15);opacity:.35}.image-wrapper img{position:relative;max-height:100%;max-width:90%;object-fit:contain;border-radius:8px}.gallery-caption{padding:.75rem 1rem;font-size:.85rem;font-style:italic;text-align:center;color:var(--color-foreground)}.gallery-highlight{background:#afcbff33;padding:2.5rem 2rem;border-radius:var(--radius-lg)}.gallery-reminder{margin-top:1.5rem;background:#f4c6c64d;padding:1rem;border-radius:var(--radius-md);color:var(--color-primary);font-style:italic}.faq-accordion{max-width:48rem;margin:3rem auto 4rem;text-align:left}.faq-item{background:#fff;border-radius:var(--radius-md);border:1px solid rgba(244,198,198,.3);box-shadow:0 6px 16px #0000000a;margin-bottom:1rem;overflow:hidden}.faq-question{width:100%;padding:1.25rem 1.5rem;background:none;border:none;text-align:left;font-size:1rem;font-weight:500;color:var(--color-primary);cursor:pointer;display:flex;justify-content:space-between;align-items:center}.faq-question:hover{color:#5a7bc4}.faq-question:after{content:"＋";font-size:1.25rem;transition:transform .25s ease}.faq-item.active .faq-question:after{transform:rotate(45deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease}.faq-answer p{padding:0 1.5rem 1.25rem;line-height:1.6;color:#3a3a3a}.faq-contact{background:#fff9f9;padding:2.5rem 2rem;border-radius:var(--radius-lg);max-width:48rem;margin:0 auto}.faq-contact h3{color:var(--color-primary);margin-bottom:.75rem}.faq-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:1.5rem}.footer{background:#3a3a3a;color:#fff;padding:4rem 1.5rem 3rem}.footer-container{max-width:64rem;margin:0 auto;text-align:center}.footer-intro h3{font-size:1.8rem;font-weight:500;margin-bottom:.75rem}.footer-intro p{color:#e3e3e3;margin-bottom:.5rem}.footer-contacts{display:grid;gap:1.5rem;margin:3rem 0}@media(min-width:768px){.footer-contacts{grid-template-columns:repeat(3,1fr)}}.footer-contacts h4{font-size:1.1rem;font-weight:500;margin-bottom:.25rem}.footer-contacts p{color:#e3e3e3;font-size:.95rem}.footer-bottom{border-top:1px solid rgba(227,227,227,.2);padding-top:2rem}.footer-bottom p{color:#e3e3e3;margin-bottom:.5rem}.footer-bottom .small{font-size:.85rem;opacity:.8}
