@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/font-7.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/font-8.ttf) format('truetype');
}

:root{--paper:#f6f3eb;--ink:#283d33;--muted:#686e62;--red:#8f4038;--line:#d9d9cb;--serif:'Playfair Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}header{max-width:1380px;margin:auto;padding:30px 5.5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--serif);font-size:25px;line-height:1.3}.wordmark span{display:block;font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:2.6px;margin-top:7px}nav{display:flex;gap:33px;font-size:12px;align-items:center}.nav-book{border-bottom:1px solid var(--ink);padding-bottom:5px}.nav-book span{margin-left:23px}.hero{max-width:1260px;padding:64px 5.5% 70px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;line-height:1.7;margin:0 0 25px}.spark{color:var(--red);font-size:19px;vertical-align:middle;margin-right:9px}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);font-size:clamp(50px,5.45vw,78px);font-weight:400;line-height:1.1;letter-spacing:-2.6px;margin-bottom:29px}em{font-weight:400;color:var(--red)}.intro{font-size:14px;max-width:390px;line-height:1.9;margin-bottom:30px}.button{border:0;display:inline-flex;justify-content:space-between;align-items:center;gap:27px;padding:17px 24px;background:var(--ink);color:#fffdf4;font-size:12px;font-weight:500;transition:background .2s,transform .2s}.button:hover{background:#3b5547;transform:translateY(-2px)}.button span{font-size:19px;line-height:1}.hero-note{font-size:10px;color:var(--muted);margin:13px 0 0}.hero-art{position:relative;padding-right:20px}.photo-placeholder{position:relative;overflow:hidden;background:#ddd2c0}.portrait{aspect-ratio: .79;border-radius:220px 220px 4px 4px}.portrait svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.placeholder-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#4f5c4d;font-family:var(--serif);font-size:21px;line-height:1.6}.placeholder-label small{font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:2px;margin-top:21px;color:#535e50}.tiny-star{font-size:39px;margin-bottom:16px}.round-stamp{position:absolute;bottom:29px;left:-40px;width:132px;height:132px;border-radius:50%;background:var(--red);color:#fff7e9;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(-11deg);font-size:9px;line-height:1.35}.round-stamp span:first-child{font-family:var(--serif);font-style:italic;font-size:23px;text-align:center;margin:6px 0}.round-stamp span:last-child{font-size:19px}.vertical-note{position:absolute;right:-13px;top:30%;writing-mode:vertical-rl;font-size:8px;letter-spacing:2px}.facts{background:#e9ece2;padding:25px max(6%,calc((100vw - 1120px)/2));display:grid;grid-template-columns:repeat(4,1fr)}.facts div{text-align:center;border-right:1px solid #ccd2c3}.facts div:last-child{border:0}.facts strong{display:block;font-family:var(--serif);font-size:27px;font-weight:400}.facts span{font-size:10px;color:var(--muted)}.section{max-width:1120px;margin:auto;padding:90px 25px}.story{display:grid;grid-template-columns:1.1fr 1fr;gap:55px}.section h2{font-family:var(--serif);font-size:42px;line-height:1.25;font-weight:400;letter-spacing:-1.2px;margin-bottom:28px}.story-copy{padding-top:34px;font-size:14px}.handwritten{font-family:var(--serif);font-size:19px;font-style:italic;color:var(--red);margin-top:24px}.duo{padding-top:15px;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.landscape{aspect-ratio:1.04;background:#e0e2d6;border-radius:3px}.outline-frame{position:absolute;inset:28px;border:1px solid #b3baa8;border-radius:160px 160px 0 0}.duo-copy p:not(.eyebrow){font-size:14px}.duo-copy strong{font-weight:500}.signatures{display:flex;align-items:center;gap:18px;margin-top:32px;font-size:16px;font-weight:600;letter-spacing:-.6px}.signatures span:last-child{font-size:12px;letter-spacing:1.7px}.plus{font-weight:400;color:#979d8e}.booking{background:var(--ink);color:var(--paper);max-width:none;padding:75px max(7%,calc((100vw - 1070px)/2));display:grid;grid-template-columns:1fr 1fr;gap:90px}.booking h2 em{color:#dcc3a6}.booking-intro>p:not(.eyebrow){font-size:13px;max-width:300px;color:#d9dfd4}.booking strong{font-weight:500}.booking-panel{background:#f5f0e5;color:var(--ink);padding:12px 30px 25px;border-radius:3px}.date-row{display:flex;gap:25px;padding:24px 0;border-bottom:1px solid #d8d8c9;align-items:center}.date-number{font-family:var(--serif);font-size:47px;line-height:1}.date-number span{display:block;font-family:'DM Sans',sans-serif;font-size:7px;letter-spacing:1.4px;text-align:center;margin-top:9px}.date-row h3{font-family:var(--serif);font-weight:400;font-size:22px;margin:0}.date-row p{margin:0;font-size:11px;color:var(--muted)}.date-star{margin-left:auto;color:var(--red);font-size:30px}.package-line{display:flex;justify-content:space-between;align-items:center;padding:22px 0;font-size:10px;gap:10px}.package-line strong{font-family:var(--serif);font-size:26px;white-space:nowrap}.booking-panel .button{width:100%}.pending{background:#dce0d3;color:#4a5849;cursor:default}.pending:hover{background:#dce0d3;transform:none}.booking-note{font-size:9px;color:var(--muted);text-align:center;margin:13px 0 0}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;padding-top:75px;padding-bottom:75px}.faq>.eyebrow{padding-top:18px}details{border-bottom:1px solid var(--line)}summary{padding:18px 0;cursor:pointer;list-style:none;font-size:13px;display:flex;justify-content:space-between;gap:15px}summary::-webkit-details-marker{display:none}summary span{font-size:18px;color:var(--red)}details[open] summary span{transform:rotate(45deg)}details p{font-size:13px;color:var(--muted);padding-right:20px}.closing{text-align:center;padding:10px 20px 80px}.closing>span{font-size:33px;color:var(--red)}.closing p{font-family:var(--serif);font-size:40px;line-height:1.3;margin:17px 0 0}footer{border-top:1px solid var(--line);padding:28px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer .wordmark{font-size:20px}footer p,footer>div{font-size:9px;color:var(--muted);margin:0}footer>div{display:flex;gap:20px}a:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:5px}[hidden]{display:none!important}@media(min-width:1600px){.hero{padding-left:25px;padding-right:25px}}@media(max-width:800px){header{padding:22px 6%}.wordmark{font-size:21px}nav{gap:20px}nav>a:not(.nav-book){display:none}.hero{padding:42px 7% 50px;gap:30px}h1{font-size:48px;letter-spacing:-1.5px}.intro{font-size:12px}.hero .eyebrow{font-size:8px}.button{padding:15px 17px;font-size:11px;gap:15px}.placeholder-label{font-size:16px}.round-stamp{width:100px;height:100px;left:-23px;bottom:20px}.round-stamp span:first-child{font-size:18px}.vertical-note{display:none}.hero-art{padding:0}.section{padding:60px 6%}.story{gap:35px}.section h2{font-size:34px}.duo{gap:35px;padding-top:0}.booking{gap:35px}.booking-panel{padding-left:20px;padding-right:20px}.date-row{gap:16px}.facts{padding:23px 4%}.facts strong{font-size:23px}footer{flex-wrap:wrap}footer p{order:3;width:100%}}@media(max-width:560px){.hero{grid-template-columns:1fr;padding-top:35px;gap:35px}.hero-copy{max-width:380px}h1{font-size:57px}.intro{font-size:14px}.hero-art{width:85%;justify-self:end;margin-right:4%}.portrait{aspect-ratio:.9}.placeholder-label{font-size:20px}.hero .eyebrow{font-size:9px}.round-stamp{width:116px;height:116px;left:-35px}.round-stamp span:first-child{font-size:21px}.facts{grid-template-columns:1fr 1fr;gap:25px 0;padding:26px 4%}.facts div:nth-child(2){border:0}.facts strong{font-size:25px}.facts span{font-size:10px}.story,.duo,.booking,.faq{grid-template-columns:1fr}.section h2{font-size:37px}.story{gap:0}.story-copy{padding-top:0}.section{padding-top:55px;padding-bottom:55px}.duo{gap:32px;padding-top:0}.landscape{aspect-ratio:1.25}.booking{gap:20px;padding:50px 6%}.booking-intro>p:not(.eyebrow){max-width:none}.booking-panel{padding-left:25px;padding-right:25px}.faq{gap:0}.faq>.eyebrow{padding:0}.closing{padding-bottom:55px}.closing p{font-size:34px}footer>div{gap:13px}.wordmark span{font-size:7px}footer .wordmark{font-size:18px}.eyebrow{font-size:9px}.signatures{margin-top:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Persönliche Vorstellung mit den beiden Originalporträts. */
.team-portraits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.team-person{margin:0;min-width:0}.team-person.olli{margin-top:48px}
.team-person img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;object-position:center 35%;border-radius:120px 120px 3px 3px;background:#e0e2d6}
.team-person figcaption{padding:14px 0 0}.team-person figcaption strong{display:block;font:400 26px/1.25 var(--serif)}
.team-person figcaption>span{display:block;font-size:10px;letter-spacing:.8px;margin-top:3px}
.team-person figcaption small{display:block;font-size:9px;line-height:1.6;color:var(--muted);margin-top:10px;overflow-wrap:anywhere}
.team-person figcaption a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px) and (min-width:561px){.duo{gap:26px}.team-portraits{gap:12px}.team-person figcaption strong{font-size:23px}.team-person figcaption small{font-size:8px}}
@media(max-width:560px){.team-portraits{gap:18px;max-width:440px;width:100%;margin:auto}.team-person.olli{margin-top:35px}.team-person figcaption strong{font-size:25px}}

.access-note{margin:0 0 20px;padding:16px 17px;border-left:3px solid var(--red);background:#e9e6db}
.access-note h3{font:600 12px/1.5 'DM Sans',Arial,sans-serif;margin:0 0 7px}
.access-note p{font-size:12px;line-height:1.7;margin:0;color:var(--ink)}
.access-note p strong{font-weight:700}

.outfit-tip{grid-column:1/-1;display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;background:#eeece2;border:1px solid #deded0;border-radius:3px;padding:35px 38px;margin-top:-15px}
.outfit-heading .eyebrow{margin-bottom:15px}.outfit-heading h3{font:400 32px/1.2 var(--serif);letter-spacing:-.6px;margin:0 0 16px}
.outfit-heading>p:not(.eyebrow){font-size:13px;line-height:1.8;margin-bottom:19px;max-width:290px}
.outfit-palette{display:flex;gap:7px;flex-wrap:wrap}.outfit-palette span{width:23px;height:23px;border-radius:50%;border:1px solid #0000000a}
.outfit-copy p{font-size:13px;line-height:1.8;margin:0 0 15px}.outfit-copy strong{font-weight:600}.outfit-copy .outfit-last{font-size:12px;color:var(--muted);margin-bottom:0;font-style:italic}
@media(max-width:800px){.outfit-tip{padding:28px;gap:28px}}
@media(max-width:560px){.outfit-tip{grid-template-columns:1fr;margin-top:22px;padding:25px;gap:23px}.outfit-heading h3 br{display:none}.outfit-heading h3 em:before{content:' '}.outfit-heading>p:not(.eyebrow){max-width:none}.outfit-palette span{width:22px;height:22px}}

.package-details{margin:-5px 0 21px}.package-details p{font-size:12px;line-height:1.7;margin:0 0 9px}.package-details strong{font-weight:600}
footer>div{flex-wrap:wrap;align-items:center}.legal-links{display:flex;gap:18px;flex-wrap:wrap}.legal-links button{border:0;background:none;color:var(--ink);padding:2px 0;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.legal-links button:focus-visible,.legal-close:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.legal-dialog{width:min(760px,calc(100vw - 32px));max-height:85vh;max-height:85dvh;padding:0;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--ink);box-shadow:0 24px 100px #0004;overflow:auto}
.legal-dialog::backdrop{background:#15271fd4;backdrop-filter:blur(4px)}body:has(.legal-dialog[open]){overflow:hidden}
.legal-top{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:23px 32px;background:var(--paper);border-bottom:1px solid var(--line)}
.legal-top h2{font:400 32px/1.2 var(--serif);margin:0}.legal-close{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:50%;width:40px;height:40px;flex-shrink:0;font:28px/1 Arial;cursor:pointer}
.legal-body{padding:28px 32px 36px;font-size:13px;line-height:1.85}.legal-body h3{font-size:15px;line-height:1.5;margin:26px 0 10px}.legal-body p{margin:0 0 15px}.legal-body a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-body .legal-kicker{font-size:10px;letter-spacing:1px;color:var(--muted)}
@media(max-width:560px){.legal-top{padding:18px 20px}.legal-top h2{font-size:28px}.legal-body{padding:22px 20px 28px}.facts span{font-size:9px}.legal-links{gap:16px}}
