:root{
  --cream:#f4f0e9;--paper:#fbfaf7;--ink:#29332e;--muted:#707770;
  --sage:#657467;--sage2:#849084;--rose:#c79d94;--line:#d8d3c9;--white:#fff;
  --serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.02}h2{font-size:clamp(3rem,6vw,6.5rem);letter-spacing:-.045em}em{font-style:italic;color:var(--rose)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:1rem;font-weight:600;color:var(--rose);margin:0 0 15px}.light{color:#ead0c9}.section{padding:clamp(80px,10vw,150px) clamp(22px,7vw,110px)}.header{height:88px;position:absolute;z-index:10;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,75px);color:#fff}.brand{text-decoration:none;display:flex;align-items:baseline;gap:15px}.brand-initials,.closing-logo{font:500 1.6rem var(--serif);letter-spacing:.04em}.brand i,.closing-logo i{color:#e3bbb3;font-style:italic}.brand-date{font-size:1rem;letter-spacing:.16em;opacity:.75}.header nav{display:flex;gap:30px;font-size:1rem}.header nav a{text-decoration:none;position:relative}.header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:#fff;transition:.25s}.header nav a:hover:after{right:0}
.hero{height:min(900px,100vh);min-height:690px;position:relative;overflow:hidden;color:#fff}.hero-photo,.hero-wash{position:absolute;inset:0}.hero-photo{background:url("https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=2200&q=90") center/cover}.hero-wash{background:linear-gradient(90deg,rgba(29,38,33,.62),rgba(29,38,33,.08) 80%),linear-gradient(0deg,rgba(20,28,24,.5),transparent 70%)}.hero-content{position:absolute;left:clamp(22px,10vw,150px);bottom:11%;z-index:2}.hero h1{font-size:clamp(5rem,13vw,12rem);letter-spacing:-.065em;margin:0}.hero h1 em{color:#f0d7d1}.hero-bottom{display:flex;align-items:center;gap:30px;margin-top:25px}.hero-bottom p{font-size:1rem;text-transform:uppercase;letter-spacing:.16em}.round-arrow{width:55px;height:55px;border:1px solid rgba(255,255,255,.65);border-radius:50%;display:grid;place-items:center;text-decoration:none;font-size:1.2rem}.hero-note{position:absolute;right:5%;top:47%;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.25em;font-size:1rem;opacity:.8}
.welcome{display:grid;grid-template-columns:1fr 2.1fr 1fr;gap:50px;align-items:start}.welcome-label{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.16em;font-size:1rem;white-space:nowrap}.welcome-label i{height:1px;width:34px;background:var(--rose);display:block}.welcome-main h2{margin:0}.welcome-copy{padding-top:55px;color:var(--muted);font-size:.92rem}.welcome-copy p+p{margin-top:18px}
.day{background:var(--cream)}.section-intro{display:grid;grid-template-columns:1fr 2fr;align-items:start;margin-bottom:80px}.section-intro h2{margin:0}.events{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:28px 40px}.event-card{min-height:460px;position:relative;background:var(--paper);display:grid;grid-template-rows:1fr auto;overflow:hidden}.event-card.offset{transform:translateY(70px)}.event-info{padding:34px}.event-number{font:italic 1.2rem var(--serif);color:var(--rose)}.event-info h3{font-size:clamp(2.3rem,4vw,4rem);margin:18px 0}.event-info>p:last-child{color:var(--muted);font-size:1rem}.event-image{min-height:250px;background-size:cover;background-position:center}.standesamt{background-image:url("https://www.mein-sprungbrett.de/wp-content/uploads/2023/12/stadt-eppingen-beitragsbild-768x468.jpg")}.villa{background-image:url("https://images.unsplash.com/photo-1545447859-096b1442cd4b?q=80&w=1472&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D")}.quote-card{background:var(--sage);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:50px}.quote-mark{font:italic 5rem var(--serif);line-height:.6;color:#dcb5ad}.quote-card p{font:italic 1.8rem var(--serif);max-width:420px}.quote-author{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;opacity:.7}
.gallery{background:var(--paper)}.gallery-head{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:50px;align-items:start;margin-bottom:65px}.gallery-head h2{margin:0}.gallery-head>p:last-child{color:var(--muted);padding-top:48px;font-size:.9rem}.upload-box{min-height:125px;border:1px solid var(--line);display:flex;align-items:center;gap:22px;padding:25px clamp(20px,4vw,45px);cursor:pointer;transition:.25s;background:#f7f4ee}.upload-box:hover,.upload-box.dragover{background:#efebe2;border-color:var(--sage)}.upload-box input{display:none}.upload-plus{width:48px;height:48px;border-radius:50%;background:var(--sage);color:#fff;display:grid;place-items:center;font-size:1.5rem}.upload-box strong,.upload-box small{display:block}.upload-box small{font-size:.72rem;color:var(--muted);margin-top:3px}.upload-arrow{margin-left:auto;font-size:1.3rem}.upload-status{min-height:25px;color:var(--sage);font-size:.78rem;margin:12px 0}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery-card{margin:0;aspect-ratio:1/1;overflow:hidden;background:#e8e3da}.gallery-card:nth-child(5n+2){aspect-ratio:1/1.25}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:.5s}.gallery-card:hover img{transform:scale(1.04)}
.closing{height:700px;position:relative;display:grid;place-items:center;color:#fff;overflow:hidden}.closing-photo{position:absolute;inset:0;background:url("https://images.unsplash.com/photo-1515934751635-c81c6bc9a2d8?q=80&w=1470&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D") center/cover}.closing-photo:after{content:"";position:absolute;inset:0;background:rgba(34,43,38,.52)}.closing-content{position:relative;text-align:center}.closing-content h2{font-size:clamp(3.5rem,7vw,7rem);margin:0 0 30px}.closing-logo{font-size:2rem}.closing-content>p:last-child{font-size:.65rem;letter-spacing:.2em}.footer{display:flex;justify-content:space-between;padding:22px clamp(22px,5vw,75px);font-size:1rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}/* =========================================================
   GALERIE LIGHTBOX
   ========================================================= */

.gallery-card {
    cursor: zoom-in;
}

/* Dunkler Hintergrund */
.lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;

    display: none;
    align-items: center;
    justify-content: center;

    padding: 30px;

    background: rgba(18, 22, 20, 0.95);
    backdrop-filter: blur(12px);

    opacity: 0;
    transition: opacity 0.25s ease;
}

/* Lightbox geöffnet */
.lightbox.open {
    display: flex;
    opacity: 1;
}

/* Bildbereich */
.lightbox-content {
    width: min(1200px, 90vw);
    height: min(88vh, 900px);

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* Großes Bild */
#lightbox-image {
    max-width: 100%;
    max-height: calc(100% - 60px);

    width: auto;
    height: auto;

    object-fit: contain;

    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.45);

    user-select: none;
}

/* Untere Leiste */
.lightbox-footer {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-top: 16px;

    color: rgba(255, 255, 255, 0.75);

    font-size: 0.75rem;
}

/* Download-Button */
.lightbox-download {
    display: inline-flex;
    align-items: center;

    padding: 9px 16px;

    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 999px;

    color: white;
    text-decoration: none;

    transition:
        background 0.2s ease,
        color 0.2s ease;
}

.lightbox-download:hover {
    background: white;
    color: #222;
}

/* Schließen */
.lightbox-close {
    position: absolute;
    top: 18px;
    right: 25px;

    border: none;
    background: transparent;

    color: white;

    font-size: 42px;
    font-weight: 300;

    cursor: pointer;
}

/* Navigation */
.lightbox-prev,
.lightbox-next {
    position: absolute;
    top: 50%;

    transform: translateY(-50%);

    width: 56px;
    height: 56px;

    border-radius: 50%;

    border: 1px solid rgba(255, 255, 255, 0.35);

    background: transparent;
    color: white;

    font-size: 28px;

    cursor: pointer;

    transition: background 0.2s ease;
}

.lightbox-prev {
    left: 25px;
}

.lightbox-next {
    right: 25px;
}

.lightbox-prev:hover,
.lightbox-next:hover {
    background: rgba(255, 255, 255, 0.12);
}
@media(max-width:800px){.header{height:72px}.brand-date{display:none}.header nav{gap:16px}.hero{min-height:650px}.hero-content{left:22px}.hero-note{display:none}.welcome,.section-intro,.gallery-head{grid-template-columns:1fr;gap:30px}.welcome-copy,.gallery-head>p:last-child{padding-top:0}.events{grid-template-columns:1fr}.event-card.offset{transform:none}.location{grid-template-columns:1fr}.location-photo{min-height:480px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.footer{gap:10px;flex-wrap:wrap}.section-intro{margin-bottom:50px}.lightbox {
        padding: 15px;
    }

    .lightbox-content {
        width: 100%;
        height: 82vh;
    }

    .lightbox-prev,
    .lightbox-next {
        top: auto;
        bottom: 20px;

        transform: none;

        width: 44px;
        height: 44px;

        font-size: 20px;
    }

    .lightbox-prev {
        left: 18px;
    }

    .lightbox-next {
        right: 18px;
    }

    .lightbox-footer {
        padding: 0 55px;
    }

    .lightbox-download {
        padding: 8px 12px;
        font-size: 0.7rem;
    }

    .lightbox-close {
        top: 10px;
        right: 18px;
    }}
@media(max-width:480px){.header nav a:nth-child(2){display:none}.hero h1{font-size:4.7rem}.hero-bottom{gap:15px}.hero-bottom p{font-size:.62rem}.facts{gap:18px}.gallery-grid{gap:6px}.upload-box{padding:20px 15px}.upload-arrow{display:none}.lightbox {
        padding: 15px;
    }

    .lightbox-content {
        width: 100%;
        height: 82vh;
    }

    .lightbox-prev,
    .lightbox-next {
        top: auto;
        bottom: 20px;

        transform: none;

        width: 44px;
        height: 44px;

        font-size: 20px;
    }

    .lightbox-prev {
        left: 18px;
    }

    .lightbox-next {
        right: 18px;
    }

    .lightbox-footer {
        padding: 0 55px;
    }

    .lightbox-download {
        padding: 8px 12px;
        font-size: 0.7rem;
    }

    .lightbox-close {
        top: 10px;
        right: 18px;
    }}
