:root{--ink:#08090c;--paper:#f4f6f7;--blue:#73d7ff;--muted:#a9b0b7;--line:rgba(244,246,247,.26);--body:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--display:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--mono:ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",monospace;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font:300 1rem/1.72 var(--body)}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:4px}[hidden]{display:none!important}img{max-width:100%}h1,h2,h3,p{overflow-wrap:break-word}section{padding:90px 4.5vw;border-top:1px solid var(--line);scroll-margin-top:24px}.mono{font:500 .875rem/1.5 var(--mono);letter-spacing:.09em;text-transform:uppercase}.eyebrow{color:var(--blue);margin-bottom:18px}.skip-link{position:absolute;left:16px;top:0;transform:translateY(-150%);z-index:20;padding:12px;background:var(--blue);color:var(--ink)}.skip-link:focus{transform:translateY(0)}
.site-nav{position:absolute;inset:0 0 auto;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 4.5vw;background:linear-gradient(#08090ce6,transparent)}.logo{display:block;width:175px;height:auto;filter:invert(1)}.nav-links{display:flex;align-items:center;gap:22px}.nav-links a,.mobile-request,.menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font:600 .875rem/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase;text-decoration:none}.nav-cta,.mobile-request{background:var(--blue);color:var(--ink);padding:12px 16px}.nav-tools{display:none}.menu-toggle{border:1px solid var(--line);background:transparent;color:var(--paper);padding:10px 12px;gap:9px}.menu-glyph{font-size:1.3rem}
.hero{min-height:100svh;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:end;padding:180px 4.5vw 48px;background:#10161b}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,7,10,.95),rgba(4,7,10,.61) 43%,rgba(4,7,10,.11) 75%),linear-gradient(0deg,rgba(4,7,10,.92),transparent 65%),url("assets/djpipo-at-decks.jpg") 74% 20% / cover no-repeat}.hero::after{content:"π";position:absolute;right:1vw;top:18%;color:var(--blue);font:400 min(50vw,650px)/.8 Georgia,serif;opacity:.16;pointer-events:none}.hero-content{position:relative;z-index:1;max-width:850px}.hero h1{margin:0;font:500 clamp(4.5rem,12vw,11rem)/1.08 var(--display);letter-spacing:-.015em}.pi-mark{font:400 1em/1 Georgia,"Times New Roman",serif;color:var(--blue)}.hero-subheadline{margin:22px 0 0;color:var(--blue);font-size:clamp(1.15rem,2vw,1.5rem);font-weight:600;line-height:1.4}.hero-copy{max-width:600px;margin:16px 0 0;font-size:clamp(1rem,1.4vw,1.15rem)}.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 20px;font:600 .875rem/1.5 var(--mono);letter-spacing:.04em;text-transform:uppercase;text-align:center;text-decoration:none}.button-primary{background:var(--blue);color:var(--ink);border:1px solid var(--blue)}.button-primary:hover,.nav-cta:hover,.mobile-request:hover{background:var(--paper);color:var(--ink)}.button-secondary{border:1px solid #a9b0b7}.button-secondary:hover{background:var(--paper);color:var(--ink)}
.trust-line{list-style:none;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 26px;margin:0;padding:24px 4.5vw;border-top:1px solid var(--line);color:var(--blue);font:500 .875rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.04em}
.section-title{display:flex;justify-content:space-between;align-items:baseline;gap:25px;margin-bottom:32px}.section-title h2{margin:0;font:500 clamp(2.4rem,5.5vw,5.7rem)/1.12 var(--display);letter-spacing:-.01em;text-transform:uppercase;hyphens:auto}.section-title span{color:var(--blue)}.section-intro{max-width:850px;font-size:1rem;line-height:1.75;margin:24px 0}.section-subline{max-width:850px;color:var(--blue);font-size:clamp(1.25rem,2.5vw,1.8rem);line-height:1.4}.content-section{background:#10161d}.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin:36px 0}.content-grid h3{color:var(--blue);font:500 1.65rem/1.3 var(--display);letter-spacing:.01em;margin:0 0 12px}.content-grid p{margin:0}.wedding-flow{display:flex;flex-wrap:wrap;gap:12px 28px;list-style:none;padding:20px 0;margin:24px 0;border-block:1px solid var(--line);color:var(--blue);font:500 .875rem/1.5 var(--mono);text-transform:uppercase}
.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:1050px}.event{min-height:155px;position:relative;padding:24px 126px 24px 26px;border-left:4px solid var(--blue);background:#141b23;display:flex;flex-direction:column;justify-content:center;min-width:0}.event h3{margin:0;font:500 clamp(1.35rem,2.1vw,2rem)/1.2 var(--display);text-transform:uppercase;hyphens:auto}.event p{margin:10px 0 0;color:var(--muted);line-height:1.5}.event-icon{position:absolute;right:25px;top:50%;transform:translateY(-50%);width:72px;height:72px;color:var(--blue);pointer-events:none}
.music{padding-top:0;border-top:0}.music-header{min-height:410px;position:relative;display:flex;align-items:end;padding:48px 4.5vw;overflow:hidden;background:#10161b;isolation:isolate}.music-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%;z-index:-2}.music-header::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,8,12,.85),rgba(4,8,12,.3));z-index:-1}.music-header h2{margin:0;max-width:740px;font:500 clamp(2.6rem,6vw,6rem)/1.12 var(--display);text-transform:uppercase}.music-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.track{padding:24px 3vw;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px}.track:nth-child(odd){border-right:1px solid var(--line)}.track b{font:500 clamp(1.5rem,2.5vw,2.7rem)/1.25 var(--display);text-transform:uppercase}.track span{color:var(--blue)}
.gallery{background:#e8edf0;color:var(--ink);border:0}.gallery .section-title span{color:#26617a}.gallery-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:260px 260px;gap:10px}.gallery-item{margin:0;overflow:hidden;background:#cbd3d8}.gallery-item img{display:block;width:100%;height:100%;object-fit:cover}.gallery-item.large{grid-row:span 2}.gallery-item.large img{object-position:center 33%}
.about{display:grid;grid-template-columns:1fr 1fr;padding:0;background:var(--paper);color:var(--ink);border:0}.about-photo{position:relative;min-height:670px}.about-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}.about-copy{padding:80px 10%;display:flex;flex-direction:column;justify-content:center}.about-copy .mono{color:#28687f}.about-copy h2{margin:24px 0;font:500 clamp(2.6rem,4.6vw,5rem)/1.12 var(--display);text-transform:uppercase}.about-copy p{max-width:510px;margin:0;font-size:1.06rem;font-weight:300}.about-copy p+p{margin-top:22px}.history-photo{max-width:360px;margin:24px 0 26px}.history-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:2px;filter:grayscale(18%)}.history-photo figcaption{margin-top:8px;font:400 .72rem/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#5c6468}
.faq-list{max-width:1000px}.faq-item{border-bottom:1px solid var(--line)}.faq-item h3{margin:0}.faq-item button{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:24px 4px;border:0;background:transparent;color:var(--paper);font:600 1.1rem/1.5 var(--body);text-align:left;cursor:pointer}.faq-item button span{color:var(--blue);font-size:1.6rem;flex-shrink:0}.faq-answer{max-width:850px;padding:0 4px 24px}.faq-answer p{margin:0}.faq-cta{margin-top:30px}
.request{background:#151c23}.request-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw}.request-grid>*{min-width:0}.request h2{margin:14px 0 24px;font:500 clamp(2.6rem,5.4vw,5.7rem)/1.12 var(--display);text-transform:uppercase}.request h2 span{color:var(--blue)}.details{margin-top:38px;color:var(--muted);font:500 .875rem/1.9 var(--mono)}.details a{color:var(--paper)}.social-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.social-action{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:10px 12px;border:1px solid #53616d;text-decoration:none;font:600 .875rem/1.5 var(--mono)}.social-action:hover{background:var(--blue);color:var(--ink)}.social-action svg{width:18px;height:18px;fill:currentColor}
form{display:grid;gap:18px;padding:28px;background:#202a34}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}label{display:grid;gap:8px;min-width:0;font:500 .875rem/1.5 var(--mono);letter-spacing:.02em;text-transform:uppercase}input,select,textarea{min-width:0;max-width:100%;width:100%;padding:13px;border:1px solid #73818d;border-radius:0;color:var(--paper);background:#151c23;font:400 1rem/1.5 var(--body)}textarea{min-height:125px;resize:vertical}input::placeholder,textarea::placeholder{color:#b1bbc4}.send{min-height:48px;border:0;padding:17px 19px;background:var(--blue);color:var(--ink);cursor:pointer;font:700 .875rem/1.5 var(--mono);letter-spacing:.04em;text-transform:uppercase}.send:hover{background:var(--paper)}.form-note{margin:0;color:#c0c8d0;font-size:.875rem;line-height:1.6}
.site-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 24px;padding:24px 4.5vw;border-top:1px solid var(--line);color:var(--muted);font:500 .875rem/1.6 var(--mono)}.footer-links{display:flex;flex-wrap:wrap;gap:20px}.site-footer a{display:inline-flex;align-items:center;min-height:44px}.legal-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 6vw;border-bottom:1px solid var(--line)}.legal-header a{min-height:44px;display:inline-flex;align-items:center}.legal-header .logo{width:135px}.legal-main{max-width:860px;margin:auto;padding:55px 6vw 75px}.legal-main h1{font:500 clamp(2.25rem,6vw,4rem)/1.2 var(--display);text-transform:uppercase;color:var(--blue);hyphens:auto}.legal-main h2{font-size:1.3rem;margin-top:34px}.legal-main address{font-style:normal}.legal-main a{overflow-wrap:anywhere}.thanks-main{min-height:75svh;max-width:1050px;margin:auto;padding:70px 6vw;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.thanks-main h1{font:500 clamp(2.8rem,7vw,6rem)/1.12 var(--display);text-transform:uppercase;margin:28px 0 20px}.thanks-main h1 span{color:var(--blue)}.thanks-main p{max-width:620px}.thanks-main .button{margin-top:22px}
@media(max-width:1100px){.site-nav{position:relative;background:var(--ink);flex-wrap:wrap;padding:16px 5vw}.site-nav .logo{width:135px}.nav-tools{display:flex;align-items:center;gap:10px}.menu-toggle{display:none}.nav-links{width:100%;flex-wrap:wrap;gap:10px 20px}.nav-ready .menu-toggle{display:inline-flex}.nav-ready .nav-links{display:none}.nav-ready .nav-links.is-open{display:flex;flex-direction:column;align-items:stretch}.nav-ready .nav-links a{justify-content:flex-start;padding:12px 0}.nav-ready .nav-links .nav-cta{display:none}.hero{min-height:75svh;padding-top:80px}.content-grid{grid-template-columns:1fr;gap:28px}.request-grid{grid-template-columns:1fr;gap:35px}.about-copy{padding:65px 8%}}
@media(max-width:720px){section{padding:65px 6vw}.site-nav{gap:12px;padding:14px 6vw}.site-nav .logo{width:105px}.nav-tools{gap:8px}.nav-tools a,.menu-toggle{font-size:.8125rem;padding:10px}.hero{padding:180px 6vw 32px;min-height:calc(100svh - 77px)}.hero::before{background:linear-gradient(0deg,rgba(4,7,10,.97) 0%,rgba(4,7,10,.75) 38%,rgba(4,7,10,.1) 100%),url("assets/djpipo-at-decks.jpg") center 25% / cover}.hero::after{right:-8vw;top:20%;font-size:85vw}.hero h1{font-size:clamp(4rem,17vw,7rem)}.hero-ctas{flex-direction:column}.hero-ctas .button{width:100%}.trust-line{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:22px 6vw;font-size:.8125rem}.section-title{flex-direction:column;gap:18px}.section-title h2{font-size:clamp(2.25rem,8.5vw,3.75rem)}.event-grid{grid-template-columns:1fr}.event{padding:22px 102px 22px 22px;min-height:145px}.event-icon{right:18px;width:60px;height:60px}.music-header{min-height:330px;padding:30px 6vw}.music-list{grid-template-columns:1fr}.track{padding:22px 0}.track:nth-child(odd){border-right:0}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 210px 210px}.gallery-item.large{grid-column:span 2;grid-row:auto}.about{grid-template-columns:1fr}.about-photo{min-height:0;aspect-ratio:1/1}.about-copy{padding:60px 6vw}.field-row{grid-template-columns:1fr}form{padding:20px}.site-footer{padding:22px 6vw}.legal-header .logo{width:100px}.legal-header{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Compact homepage */
.compact-events .event{padding:24px 26px;min-height:135px}
.quick-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:38px 0 24px}
.quick-facts article{padding:24px;background:#141b23;border-top:3px solid var(--blue)}
.quick-facts h3{margin:0 0 10px;font:500 1.25rem/1.3 var(--display)}
.quick-facts p{margin:0;color:var(--muted);line-height:1.6}
.compact-region{margin-top:26px}
@media(max-width:720px){.quick-facts{grid-template-columns:1fr}.compact-events .event{padding:22px;min-height:0}}

/* SEO-Ergaenzungen: optisch bewusst unauffaellig */
.hero-subheadline-in-title { display:block; }
.plain-link { color:inherit; text-decoration:none; }
.plain-link:hover, .plain-link:focus-visible { text-decoration:underline; text-underline-offset:.18em; }
.wedding-page .hero { min-height: 58vh; }
.wedding-page .wedding-copy { max-width: 820px; }
.wedding-page .wedding-copy p { max-width: 760px; }
.wedding-page .wedding-points { margin-top: 2rem; }

/* About / Geschichte: ruhig, einspaltig und ohne grosses Seitenfoto */
.about.about-story{display:block;padding:0;background:var(--paper);color:var(--ink)}
.about-story .about-copy{max-width:1120px;margin:0 auto;padding:88px 6vw;display:block}
.about-story .about-copy .mono{color:#28687f}
.about-story .about-copy h2{max-width:760px;margin:22px 0 24px;font:500 clamp(2.8rem,5.4vw,5.6rem)/1.08 var(--display);text-transform:uppercase}
.about-story .about-lead{max-width:760px;font-size:1.08rem;line-height:1.8}
.about-story .history-block{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);gap:64px;align-items:start;margin-top:54px;padding-top:42px;border-top:1px solid #ccd2d5}
.about-story .history-copy h3{margin:0 0 22px;font:500 clamp(1.8rem,3vw,2.7rem)/1.2 var(--display)}
.about-story .history-copy p{max-width:680px;font-size:1.03rem;line-height:1.78}
.about-story .history-photo{max-width:none;margin:4px 0 0}
.about-story .history-photo img{aspect-ratio:4/3;filter:grayscale(12%)}

/* SEO-H1 bleibt semantisch eine H1, wirkt optisch aber wie eine Unterzeile. */
.hero .hero-subheadline-in-title{display:block;margin-top:14px;max-width:760px;color:var(--paper);font:500 clamp(1.25rem,2.4vw,2rem)/1.3 var(--display);letter-spacing:0}

@media(max-width:820px){
  .about-story .about-copy{padding:66px 6vw}
  .about-story .history-block{grid-template-columns:1fr;gap:30px;margin-top:42px;padding-top:34px}
  .about-story .history-photo{max-width:430px}
}
