/* Blue Wine Jazz · offer pages. Shared brand rules remain in corporate-design.css. */
html { scroll-padding-top:100px; scroll-behavior:auto; }
body { overflow-x:clip; }
.offer-page .site-header { top:0; }
.offer-page .site-header .nav-link.action-button { margin-block:0; }
.offer-page .site-header:not(.header-on-light) { --action-bg:#071D32; --action-fg:#EFE9DC; --action-hover:#183C58; --action-line:rgba(7,29,50,.4); --action-soft:rgba(7,29,50,.055); --accent:#A34F3E; }
.offer-page .site-header.header-on-light { --action-bg:#EFE9DC; --action-fg:#071D32; --action-hover:#DCD2C0; --action-line:rgba(239,233,220,.5); --action-soft:rgba(239,233,220,.09); --accent:#D68D78; }
.offer-page { --offer-muted:#3D4A53; --offer-dim:#52606A; }
.offer-hero { padding:126px 0 66px; }
.breadcrumb { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:42px; color:var(--offer-dim); font-size:12px; line-height:1.6; }
.breadcrumb a { text-decoration:underline; text-underline-offset:4px; }
.offer-hero-grid { display:grid; grid-template-columns:1fr 1.12fr; align-items:center; gap:64px; }
.offer-hero h1 { max-width:19ch; margin:0 0 24px; font-size:clamp(36px,3.3vw,46px); font-weight:600; letter-spacing:-.035em; line-height:1.14; text-wrap:balance; }
.offer-hero .section-label { margin-bottom:16px; }
.offer-lead { max-width:48ch; color:var(--offer-muted); font-size:17px; line-height:1.7; }
.offer-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.offer-hero figure { margin:0; }
.offer-hero figure img { width:100%; aspect-ratio:3/2; object-fit:cover; }
.offer-hero figcaption { max-width:60ch; margin-top:14px; color:var(--offer-dim); font-size:12px; line-height:1.65; }
.offer-facts { display:flex; flex-wrap:wrap; gap:12px 34px; margin-top:36px; color:var(--offer-dim); font-size:13px; line-height:1.6; }
.offer-section { padding-block:94px; border:0; }
.offer-section h2 { max-width:20ch; margin-bottom:26px; font-size:clamp(31px,3.25vw,44px); line-height:1.14; font-weight:600; letter-spacing:-.035em; text-wrap:balance; }
.offer-section h3 { margin-bottom:16px; font-size:22px; line-height:1.3; font-weight:600; letter-spacing:-.025em; }
.offer-section p { max-width:64ch; line-height:1.75; }
.offer-section p+p { margin-top:20px; }
.offer-section .section-label { margin-bottom:16px; }
.offer-layout { display:grid; grid-template-columns:.34fr .66fr; gap:76px; align-items:start; }
.offer-layout>*,.offer-hero-grid>*,.offer-columns>* { min-width:0; }
.offer-copy>p { font-size:16px; color:var(--offer-muted); }
.offer-copy>h3:not(:first-child) { margin-top:34px; }
.offer-kicker { max-width:29ch!important; font-size:16px; color:var(--offer-dim); }
#anlass { padding-top:26px; }
.offer-blue { background:#071D32; color:#EFE9DC; --text:#EFE9DC; --text-muted:#D6D8D3; --text-dim:#BAC4C5; --offer-muted:#D6D8D3; --offer-dim:#BAC4C5; --border:rgba(239,233,220,.2); --accent:#D68D78; --action-bg:#EFE9DC; --action-fg:#071D32; --action-hover:#DCD2C0; --action-line:rgba(239,233,220,.5); --action-soft:rgba(239,233,220,.09); }
.offer-blue .section-label { color:var(--offer-dim); }
.offer-soft { background:#EFE9DC; }
.offer-blue:has(+.offer-blue) { padding-bottom:48px; }
.offer-blue+.offer-blue { padding-top:42px; }
.offer-section:not(.offer-blue):has(+.offer-section:not(.offer-blue)) { padding-bottom:56px; }
.offer-section:not(.offer-blue)+.offer-section:not(.offer-blue) { padding-top:42px; }
.offer-video { margin:0; }
.offer-video video { width:100%; aspect-ratio:16/9; background:#071D32; }
.offer-video figcaption { margin-top:16px; color:var(--offer-dim); font-size:13px; line-height:1.65; }
.offer-samples { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:42px; }
.offer-sample img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.offer-sample .sample-label { margin:16px 0 8px; font-size:10px; line-height:1.7; letter-spacing:.12em; text-transform:uppercase; color:var(--offer-dim); }
.offer-sample h3 { margin:0 0 12px; font-size:18px; line-height:1.35; }
.offer-sample p { font-size:14px; line-height:1.7; color:var(--offer-muted); }
.offer-sample a:first-child { display:block; }
.offer-text-link { display:inline-flex; align-items:center; min-height:44px; max-width:100%; font-weight:600; font-size:14px; line-height:1.6; text-decoration:underline; text-underline-offset:5px; }
.offer-text-link:hover { color:var(--accent); }
.offer-sample .offer-text-link { margin-top:8px; }
.offer-blue :focus-visible { outline-color:#EFE9DC; }
.offer-columns { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.offer-formation { display:flex; flex-direction:column; align-items:flex-start; }
.offer-formation img { width:100%; aspect-ratio:3/2; object-fit:cover; margin-bottom:28px; }
.offer-formation h3 { margin-bottom:12px; }
.offer-formation .instruments { margin:0 0 20px; color:var(--offer-dim); font-size:13px; line-height:1.7; }
.offer-formation p { color:var(--offer-muted); font-size:15px; }
.offer-formation .instruments+p { margin-top:0; }
.offer-formation .space { margin:24px 0 0; padding:0; border:0; color:var(--offer-dim); font-size:13px; }
.offer-guidance { max-width:62ch; margin-top:38px; padding:0; border:0; color:var(--offer-muted); }
.offer-guidance p { font-size:15px; }
.offer-timeline { margin:0; list-style:none; display:grid; gap:34px; }
.offer-timeline li { display:grid; grid-template-columns:132px 1fr; gap:24px; padding:0; border:0; }
.offer-timeline time { color:var(--offer-dim); font-size:14px; font-weight:600; line-height:1.7; font-variant-numeric:tabular-nums; white-space:nowrap; }
.offer-timeline h3 { margin:0 0 10px; font-size:20px; line-height:1.35; }
.offer-timeline p { color:var(--offer-muted); font-size:15px; }
.offer-note { margin-top:28px; max-width:65ch; color:var(--offer-dim)!important; font-size:13px!important; line-height:1.75; }
.offer-checklist { display:grid; gap:26px; margin:30px 0 0; padding:0; list-style:none; }
.offer-checklist li { padding:0; border:0; color:var(--offer-muted); font-size:15px; line-height:1.75; }
.offer-checklist strong { display:block; margin-bottom:8px; color:var(--text); font-size:17px; line-height:1.4; font-weight:600; letter-spacing:-.015em; }
.offer-quote { margin:0; padding:0; border:0; }
.offer-quote p { max-width:49ch; color:var(--text); font-size:22px; font-weight:400; line-height:1.65; letter-spacing:-.015em; }
.offer-quote footer { margin-top:26px; color:var(--offer-dim); font-size:13px; line-height:1.7; }
.offer-quote cite { display:block; color:var(--text); font-style:normal; font-weight:600; }
.offer-reference-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 28px; margin-top:20px; padding:0; list-style:none; font-size:17px; line-height:1.5; font-weight:600; letter-spacing:-.02em; }
.offer-reference-list li { min-width:0; }
.offer-price { margin:0 0 22px; color:var(--text)!important; font-size:34px!important; font-weight:600; line-height:1.1!important; letter-spacing:-.04em; }
.offer-price span { margin-right:6px; font-size:20px; letter-spacing:-.02em; }
.offer-copy>p strong { color:var(--text); font-weight:600; }
.offer-faq { display:grid; gap:8px; }
.offer-faq details { border:0; }
.offer-faq summary { position:relative; padding:19px 40px 19px 0; list-style:none; cursor:pointer; font-size:18px; font-weight:600; line-height:1.5; letter-spacing:-.015em; }
.offer-faq summary::-webkit-details-marker { display:none; }
.offer-faq summary::after { position:absolute; right:0; top:19px; content:'+'; color:var(--offer-dim); font-size:24px; font-weight:400; line-height:1; }
.offer-faq details[open] summary::after { content:'−'; }
.offer-faq details p { padding:0 32px 22px 0; color:var(--offer-muted); font-size:15px; }
.offer-faq summary:hover { color:var(--accent); }
.offer-contact .offer-copy>p { margin-bottom:28px; }
.offer-contact .contact-links { display:flex; flex-direction:column; align-items:flex-start; gap:6px; margin-top:26px; }
.offer-related { margin-top:38px; padding:0; border:0; }
.offer-related p { color:var(--offer-dim); font-size:14px; }
.offer-footer { padding:72px 0 0; border:0; }
.offer-footer .footer-inner { display:grid; grid-template-columns:.8fr 1.1fr 1.1fr; align-items:start; gap:76px; margin-bottom:58px; }
.offer-footer .footer-wordmark { width:132px; margin:0; }
.offer-footer .footer-brand-copy { max-width:25ch; margin-top:24px; color:#BAC4C5; font-size:13px; line-height:1.7; }
.offer-footer .footer-nav-title { margin:0 0 18px; color:#BAC4C5; font-size:11px; font-weight:600; letter-spacing:.14em; line-height:1.7; text-transform:uppercase; }
.offer-footer .footer-nav ul,.offer-footer .footer-contact-links { display:flex; flex-direction:column; align-items:flex-start; gap:5px; margin:0; padding:0; }
.offer-footer .footer-contact-links a { min-height:36px; font-size:16px; line-height:1.6; }
.offer-footer .footer-contact-links p { margin-top:16px; color:#BAC4C5; font-size:13px; line-height:1.7; }
.offer-footer .footer-nav a { min-height:36px; max-width:100%; font-size:14px; line-height:1.6; }
.offer-footer .footer-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px 28px; padding-block:24px; border:0; }
.offer-footer .footer-bottom p { color:#BAC4C5; font-size:11px; }
.offer-footer .footer-legal { display:flex; flex-wrap:wrap; gap:24px; }
.offer-footer .footer-legal a { font-size:11px; }
@media(min-width:1000px) and (max-width:1199px) {
 .offer-hero-grid { gap:40px; }
 .offer-layout { gap:48px; }
 .offer-footer .footer-inner { gap:44px; }
}
@media(max-width:999px) {
 .offer-hero { padding-top:120px; }
 .offer-hero-grid { grid-template-columns:1fr 1.05fr; gap:36px; }
 .offer-hero h1 { font-size:36px; }
 .offer-lead { font-size:16px; }
 .offer-layout { grid-template-columns:1fr; gap:36px; }
 .offer-section { padding-block:72px; }
 .offer-section h2 { max-width:25ch; margin-bottom:0; font-size:36px; }
 .offer-page .site-header .nav-menu { padding-top:145px; }
 .offer-footer .footer-inner { gap:36px; grid-template-columns:.7fr 1.15fr 1.15fr; }
 .offer-footer .footer-contact-links a { font-size:14px; }
}
@media(max-width:760px) {
 html { scroll-padding-top:80px; }
 .offer-hero { padding:128px 0 38px; }
 .breadcrumb { margin-bottom:30px; font-size:11px; }
 .offer-hero-grid { grid-template-columns:1fr; gap:32px; }
 .offer-hero h1 { max-width:22ch; margin-bottom:20px; font-size:31px; line-height:1.14; }
 .offer-hero .section-label { margin-bottom:12px; }
 .offer-lead { font-size:15px; line-height:1.7; }
 .offer-actions { margin-top:24px; }
 .offer-hero figcaption { font-size:12px; }
 .offer-facts { gap:10px 24px; margin-top:28px; font-size:12px; }
 #anlass { padding-top:22px; }
 .offer-section { padding-block:58px; }
 .offer-layout { gap:28px; }
 .offer-section h2 { margin:0; max-width:24ch; font-size:31px; line-height:1.14; }
 .offer-section .section-label { margin-bottom:12px; }
 .offer-section h3 { font-size:21px; }
 .offer-section p,.offer-copy>p { font-size:15px; line-height:1.7; }
 .offer-section p+p { margin-top:18px; }
 .offer-blue:has(+.offer-blue),.offer-section:not(.offer-blue):has(+.offer-section:not(.offer-blue)) { padding-bottom:34px; }
 .offer-blue+.offer-blue,.offer-section:not(.offer-blue)+.offer-section:not(.offer-blue) { padding-top:28px; }
 .offer-columns { grid-template-columns:1fr; gap:40px; }
 .offer-formation img { margin-bottom:23px; }
 .offer-formation .instruments { font-size:13px; margin-bottom:16px; }
 .offer-formation .space { margin-top:20px; font-size:13px; }
 .offer-guidance { margin-top:30px; }
 .offer-samples { grid-template-columns:1fr; gap:34px; margin-top:32px; }
 .offer-sample h3 { font-size:20px; }
 .offer-sample .sample-label { font-size:11px; }
 .offer-timeline { gap:30px; }
 .offer-timeline li { grid-template-columns:1fr; gap:8px; }
 .offer-timeline time { font-size:13px; }
 .offer-timeline h3 { font-size:19px; margin-bottom:9px; }
 .offer-quote p { font-size:18px; line-height:1.5; }
 .offer-reference-list { gap:12px 20px; font-size:15px; line-height:1.55; }
 .offer-price { font-size:30px!important; }
 .offer-faq { gap:4px; }
 .offer-faq summary { padding-block:17px; font-size:17px; }
 .offer-faq summary::after { top:17px; }
 .offer-footer { padding-top:52px; }
 .offer-footer .footer-inner { grid-template-columns:1fr 1fr; gap:38px 28px; margin-bottom:30px; }
 .offer-footer .footer-brand { display:flex; align-items:center; gap:30px; grid-column:1/-1; }
 .offer-footer .footer-wordmark { width:110px; flex-shrink:0; }
 .offer-footer .footer-brand-copy { max-width:20ch; margin:0; font-size:13px; }
 .offer-footer .footer-contact-links a,.offer-footer .footer-nav a { min-height:44px; font-size:14px; }
 .offer-footer .footer-nav ul { flex-direction:column; gap:2px; }
 .offer-footer .footer-contact-links { gap:2px; }
 .offer-footer .footer-nav-title { margin-bottom:12px; }
 .offer-footer .footer-bottom { align-items:center; padding-block:20px; gap:6px 20px; }
 .offer-footer .footer-legal a { display:inline-flex; align-items:center; min-height:44px; }
}
@media(max-width:520px) {
 .offer-footer .footer-inner { grid-template-columns:1fr; gap:28px; }
 .offer-footer .footer-brand { gap:28px; margin-bottom:6px; }
 .offer-footer .footer-contact-links p { margin-top:10px; }
 .offer-footer .footer-nav { grid-column:1; }
 .offer-footer .footer-nav ul { gap:0; }
 .offer-footer .footer-bottom { flex-direction:column; align-items:flex-start; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; } }
@media print { .site-header,.offer-actions { display:none!important; } .offer-hero { padding-top:0; } .offer-section { padding-block:30px; } }

.offer-page:has(.nav-menu.open){overflow:hidden}

@media(min-width:761px){.offer-formation h3{min-height:2.6em}.offer-formation .space{margin-top:auto;padding-top:24px}}
.offer-footer .footer-inner { padding-bottom:0; border:0; }

/* Review 3: facts with the enquiry actions, visible video affordances and customer voices. */
.offer-hero .offer-facts { gap:8px 24px; margin-top:24px; max-width:100%; font-size:13px; line-height:1.7; }
.offer-sample-media { display:block; position:relative; overflow:hidden; }
.offer-sample-play { position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:#EFE9DC; color:#071D32; box-shadow:0 2px 12px rgba(7,29,50,.14); }
.offer-sample-play svg { margin-left:3px; }
.offer-sample a:hover .offer-sample-play { background:#DCD2C0; }
.offer-sample a:focus-visible .offer-sample-play { outline:2px solid #071D32; outline-offset:4px; }
.offer-schedule-note { margin:46px 0 0 156px; max-width:58ch; }
.offer-schedule-note .schedule-note-label { color:var(--offer-dim); font-size:11px; line-height:1.7; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.offer-schedule-note p+p { margin-top:10px; color:var(--offer-muted); font-size:15px; line-height:1.75; }
.offer-quote-mark { display:block; height:28px; margin:0; color:#A34F3E; font-family:Georgia,serif; font-size:64px; line-height:1; }
.offer-reference-context { margin-top:48px; }
.offer-reference-context h3 { font-size:20px; }
.offer-reference-context p { color:var(--offer-muted); font-size:15px; }
.offer-footer .footer-brand-copy span { display:block; margin-top:10px; }
@media(max-width:760px) {
 .offer-hero .offer-facts { gap:8px 20px; margin-top:22px; font-size:12px; }
 .offer-schedule-note { margin:34px 0 0; }
 .offer-schedule-note .schedule-note-label { font-size:11px; }
 .offer-schedule-note p+p { font-size:15px; line-height:1.7; }
 .offer-quote-mark { height:28px; margin-bottom:0; font-size:58px; }
 .offer-reference-context { margin-top:36px; }
 .offer-sample-play { width:48px; height:48px; }
}

/* Documentary photographs; legacy selectors keep cached pages compatible. */
:is(.offer-case-photo,.offer-wedding-photo) { margin:32px 0 0; }
:is(.offer-case-photo,.offer-wedding-photo) img { display:block; width:100%; height:auto; }
:is(.offer-case-photo,.offer-wedding-photo) figcaption { margin-top:14px; color:var(--offer-dim); font-size:12px; line-height:1.7; }
:is(.offer-case-photo,.offer-wedding-photo) figcaption strong { display:block; color:var(--text); font-weight:600; }
:is(.offer-case-photo,.offer-wedding-photo) figcaption span { display:block; margin-top:6px; }
@media(min-width:761px) and (max-width:999px) { :is(.offer-case-photo,.offer-wedding-photo) { max-width:420px; } }
@media(max-width:760px) { :is(.offer-case-photo,.offer-wedding-photo) { margin-top:26px; } }

/* Actual wedding example: stages instead of invented clock times. */
.offer-case-intro { margin-bottom:34px; }
.offer-timeline .offer-stage { color:var(--offer-dim); font-size:14px; font-weight:600; line-height:1.7; }
@media(max-width:760px){.offer-case-intro{margin-bottom:28px}.offer-timeline .offer-stage{font-size:13px}}

/* Align the case study with its photograph; stack naturally below desktop. */
:is(.offer-case-layout,.offer-wedding-references) :is(.offer-case-photo,.offer-wedding-photo) { margin:0; }
:is(.offer-case-layout,.offer-wedding-references)>header h2 { margin-bottom:0; }
@media(min-width:1000px) {
 :is(.offer-case-layout,.offer-wedding-references) { row-gap:32px; }
 :is(.offer-case-layout,.offer-wedding-references)>header { grid-column:1; grid-row:1; }
 :is(.offer-case-layout,.offer-wedding-references)>:is(.offer-case-photo,.offer-wedding-photo) { grid-column:1; grid-row:2; }
 :is(.offer-case-layout,.offer-wedding-references)>.offer-copy { grid-column:2; grid-row:2; }
 :is(.offer-case-layout,.offer-wedding-references) .offer-wedding-quote { position:relative; }
 :is(.offer-case-layout,.offer-wedding-references) .offer-quote-mark { position:absolute; top:-28px; left:0; }
}

/* Keep reference names legible on especially narrow phones. */
@media(max-width:360px) { .offer-reference-list { grid-template-columns:1fr; gap:10px; } }

/* Review: formation advice belongs to the section, not to the last formation. */
.offer-section .offer-formation-advice { margin-top:22px; max-width:31ch; color:var(--offer-muted); font-size:15px; line-height:1.7; }
.offer-formation h3 { display:block; }
.offer-formation .formation-popular { display:inline-flex; align-items:center; align-self:flex-start; white-space:nowrap; margin:0; padding:4px 7px; border:1px solid rgba(7,29,50,.3); border-radius:0; background:none; color:#071D32; font-size:10px; line-height:1.3; font-weight:400; letter-spacing:.04em; }

/* The large film remains primary. Extra recordings are compact and optional. */
.offer-more-samples { margin-top:28px; }
.offer-more-samples>summary { display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; min-height:54px; padding:12px 34px 12px 0; position:relative; list-style:none; cursor:pointer; font-size:15px; font-weight:600; line-height:1.5; }
.offer-more-samples>summary::-webkit-details-marker { display:none; }
.offer-more-samples>summary span { font-weight:400; color:var(--offer-dim); font-size:13px; }
.offer-more-samples>summary::after { content:'+'; position:absolute; right:0; top:14px; font-size:23px; line-height:1; color:var(--offer-dim); font-weight:400; }
.offer-more-samples[open]>summary::after { content:'−'; }
.offer-more-samples .offer-samples { margin-top:20px; gap:28px; }
.offer-more-samples .offer-sample>a.offer-sample-compact { display:grid; grid-template-columns:104px minmax(0,1fr); align-items:start; gap:16px; }
.offer-more-samples .offer-sample-media { aspect-ratio:16/10; }
.offer-more-samples .offer-sample-media img { height:100%; aspect-ratio:auto; }
.offer-more-samples .offer-sample-play { width:32px; height:32px; box-shadow:none; }
.offer-more-samples .offer-sample-play svg { width:14px; height:14px; }
.offer-more-samples .sample-label { margin:0 0 6px; font-size:10px; }
.offer-more-samples h3 { margin:0 0 8px; font-size:16px; line-height:1.4; }
.offer-more-samples .sample-note { margin:0; font-size:13px; line-height:1.6; }
.offer-more-samples .sample-open { display:inline-flex; align-items:center; margin-top:8px; min-height:32px; text-decoration:underline; text-underline-offset:4px; color:var(--offer-dim); font-size:12px; font-weight:600; }
/* Reference names have their own rhythm; the next link sits separately. */
.offer-guidance#weitere-referenzen>p { max-width:none; color:var(--offer-dim); font-size:14px; line-height:1.65; }
.offer-reference-list { gap:22px 30px; margin-top:24px; }
.offer-reference-list li { display:flex; flex-direction:column; gap:4px; min-height:48px; }
.reference-name { font-size:17px; line-height:1.45; font-weight:600; }
.reference-place { color:var(--offer-dim); font-size:12px; line-height:1.5; font-weight:400; letter-spacing:0; }
.offer-references-more { margin-top:28px; }
/* Budget and playing time share a row, with restrained emphasis. */
.offer-budget { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:24px; margin:4px 0 28px; }
.offer-budget .offer-price { margin:0; white-space:nowrap; }
.offer-budget .offer-price span { font-size:16px; margin-right:5px; font-weight:400; }
.offer-budget .offer-price-context { margin:0; color:var(--text); font-size:15px; line-height:1.55; }
.offer-price-context span { display:block; margin-top:4px; color:var(--offer-dim); font-size:13px; }
@media(max-width:999px) {
 .offer-section .offer-formation-advice { max-width:55ch; margin-top:20px; }
}
@media(max-width:760px) {
 .offer-section .offer-formation-advice { font-size:15px; margin-top:18px; }
 .offer-more-samples .offer-samples { grid-template-columns:1fr; gap:24px; }
 .offer-more-samples .offer-sample>a.offer-sample-compact { grid-template-columns:104px minmax(0,1fr); gap:16px; }
 .offer-more-samples .sample-label { font-size:10px; }
 .offer-more-samples h3 { font-size:16px; }
 .offer-reference-list { gap:20px 22px; }
 .reference-name { font-size:15px; }
 .offer-references-more { margin-top:24px; }
 .offer-budget { gap:18px; margin-top:6px; margin-bottom:24px; }
 .offer-budget .offer-price-context { font-size:14px; }
}
@media(max-width:360px) {
 .offer-reference-list { gap:13px; }
 .offer-reference-list li { min-height:32px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:baseline; column-gap:12px; }
 .offer-more-samples .offer-sample>a.offer-sample-compact { grid-template-columns:88px minmax(0,1fr); gap:13px; }
 .offer-budget { gap:14px; }
 .offer-budget .offer-price { font-size:28px!important; }
}

/* Trio recommendation belongs to its photograph, outside the heading flow. */
.offer-formation-media { position:relative; width:100%; aspect-ratio:3/2; margin-bottom:28px; }
.offer-formation .offer-formation-media img { display:block; width:100%; height:100%; aspect-ratio:auto; margin:0; object-fit:cover; }
.offer-formation-media .formation-popular { position:absolute; top:12px; left:12px; padding:6px 9px; border:1px solid rgba(7,29,50,.16); background:#EFE9DC; color:#071D32; font-size:10px; line-height:1.3; letter-spacing:.045em; }
#kosten .offer-price-enquiry { margin-top:24px; }
@media(max-width:760px) {
 .offer-formation-media { margin-bottom:23px; }
 .offer-formation-media .formation-popular { top:11px; left:11px; }
 #kosten .offer-price-enquiry { margin-top:22px; }
}

/* Freigegebene Angebotsseiten: Ablauf, Besetzung und Kundenstimme. */
.offer-copy>.offer-case-brief { margin:0 0 42px; }
.offer-programme .offer-stage { white-space:nowrap; }
.offer-programme .offer-note { margin:30px 0 0 156px; }
.offer-section .offer-formation>img,.offer-section .offer-formation-media { margin-bottom:24px; }
.offer-section .offer-formation h3 { display:flex; align-items:center; flex-wrap:wrap; gap:12px; min-height:0; margin-bottom:.3rem; }
.offer-section .offer-formation h3 .formation-popular { align-self:center; }
.offer-section .offer-formation .formation-instruments { margin:0 0 .8rem; font-size:14px; color:var(--text-dim); font-style:italic; line-height:1.7; }
.offer-section .offer-formation .formation-instruments+p { margin-top:0; }
.offer-wedding-quote footer { margin-top:10px; }
@media(max-width:760px) { .offer-copy>.offer-case-brief { margin-bottom:36px; } }
@media(max-width:760px) { .offer-programme .offer-note { margin-left:0; } }
@media(max-width:760px) { .offer-section .offer-formation>img,.offer-section .offer-formation-media { margin-bottom:20px; } }

/* Experience and pricing: a complete story, then a full-width reference band. */
.offer-page .offer-section .section-label { font-size:11px; line-height:1.7; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.offer-proof { padding-block:76px; }
.offer-proof h2,.offer-pricing h2 { margin-bottom:0; font-size:clamp(29px,2.8vw,38px); line-height:1.18; }
.offer-proof .offer-case-brief { margin:0 0 32px; max-width:54ch; font-size:16px; line-height:1.8; }
.offer-proof .offer-quote-mark { color:var(--accent); }
.offer-proof .offer-quote p { font-size:20px; line-height:1.6; }
.offer-proof .offer-wedding-quote p { font-size:24px; line-height:1.5; }
.offer-proof .offer-quote footer { margin-top:14px; font-size:12px; }
.offer-proof .offer-quote cite { font-weight:400; color:var(--offer-dim); }
.offer-proof .offer-quote footer span { display:block; }
.offer-proof .offer-proof-places { margin:46px 0 0; }
.offer-proof-places-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.offer-proof .offer-proof-places-heading .section-label { display:flex; align-items:center; min-height:44px; margin:0; line-height:1.4; }
.offer-proof-places .offer-references-more { display:inline-flex; align-items:center; min-height:44px; margin:0; padding:0; color:var(--offer-dim); font-size:11px; line-height:1.4; font-weight:400; letter-spacing:.16em; text-transform:uppercase; text-decoration:none; }
.offer-proof-places .offer-references-more:hover { color:var(--text); text-decoration:underline; }
.offer-proof-places .offer-reference-list { display:flex; flex-wrap:wrap; align-items:start; justify-content:space-between; gap:24px 36px; margin:22px 0 0; }
.offer-proof-places .offer-reference-list li { display:flex; flex:0 0 auto; flex-direction:column; align-items:center; min-height:0; max-width:100%; gap:6px; text-align:center; }
.offer-proof-places .reference-name { color:var(--text); font-size:20px; font-weight:500; line-height:1.4; letter-spacing:-.025em; white-space:nowrap; }
.offer-proof-places .reference-place { color:var(--offer-dim); font-size:12px; line-height:1.5; font-weight:400; letter-spacing:0; }
.offer-pricing { padding-block:66px; }
.offer-pricing .offer-copy { max-width:62ch; }
.offer-pricing .offer-budget-line { margin:0; font-size:19px; line-height:1.55; color:var(--text); text-wrap:balance; }
.offer-budget-line strong { white-space:nowrap; font-weight:600; }
.offer-pricing .offer-budget-line+p { margin-top:18px; }
.offer-pricing .offer-copy>p:not(.offer-budget-line) { font-size:15px; line-height:1.7; }
.offer-pricing .offer-price-enquiry { margin-top:22px; }
@media(min-width:761px) {
 .offer-proof>.offer-layout { grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); column-gap:72px; row-gap:38px; }
 .offer-proof :is(.offer-case-layout,.offer-wedding-references) { grid-template-columns:clamp(240px,29vw,390px) minmax(0,1fr); grid-template-rows:auto 1fr; row-gap:28px; }
 .offer-proof :is(.offer-case-layout,.offer-wedding-references)>header { grid-column:2; grid-row:1; }
 .offer-proof :is(.offer-case-layout,.offer-wedding-references)>:is(.offer-case-photo,.offer-wedding-photo) { grid-column:1; grid-row:1/span 2; }
 .offer-proof :is(.offer-case-layout,.offer-wedding-references)>.offer-copy { grid-column:2; grid-row:2; }
 .offer-proof :is(.offer-case-layout,.offer-wedding-references) .offer-quote-mark { position:static; }
 .offer-proof :is(.offer-case-layout,.offer-wedding-references)+.offer-proof-places { margin-top:42px; }
}
@media(max-width:999px) {
 .offer-proof,.offer-pricing { padding-block:60px; }
 .offer-proof>.offer-layout { column-gap:40px; }
 .offer-proof-places .offer-reference-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); justify-items:stretch; gap:22px 28px; }
 .offer-proof-places .reference-name { font-size:18px; }
}
@media(max-width:760px) {
 .offer-proof,.offer-pricing { padding-block:48px; }
 .offer-proof>.offer-layout { display:block; }
 .offer-proof>.offer-layout>header { margin-bottom:26px; }
 .offer-proof h2,.offer-pricing h2 { font-size:28px; line-height:1.2; }
 .offer-proof :is(.offer-case-photo,.offer-wedding-photo) { width:100%; max-width:none; margin:0 0 28px; }
 .offer-proof :is(.offer-case-photo,.offer-wedding-photo) figcaption { margin-top:10px; font-size:12px; font-weight:400; }
 .offer-proof .offer-case-brief { margin:0 0 28px; font-size:15px; line-height:1.75; }
 .offer-proof .offer-proof-places { margin-top:34px; }
 .offer-proof-places .offer-reference-list { display:flex; justify-content:space-between; gap:22px 20px; margin-top:18px; }
 .offer-proof-places .reference-name { font-size:16px; }
 .offer-proof-places .reference-place { font-size:11px; }
 .offer-pricing .offer-layout { gap:24px; }
 .offer-pricing .offer-budget-line { font-size:18px; }
 .offer-pricing .offer-budget-line+p { margin-top:16px; }
 .offer-pricing .offer-price-enquiry { margin-top:18px; }
}

/* Full-width reference motion; the heading keeps the shared content margins. */
.offer-proof-places:not(.has-reference-band) .offer-reference-window { width:100%; max-width:var(--max-w); margin-inline:auto; padding-inline:var(--px); }
.has-reference-band .offer-proof-places-heading { gap:10px; }
.has-reference-band .offer-reference-window { overflow:hidden; margin:16px 0 0; padding-block:7px; mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent); -webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent); }
.has-reference-band .offer-reference-track { display:flex; width:max-content; animation:marquee var(--bwj-reference-duration,70s) linear infinite; }
.has-reference-band .offer-reference-list { display:flex; flex:none; flex-wrap:nowrap; justify-content:flex-start; gap:40px; width:max-content; margin:0; padding:0 40px 0 0; }
.has-reference-band .offer-reference-list li { display:flex; flex-direction:row; align-items:baseline; max-width:none; gap:6px; }
.has-reference-band .reference-name,.has-reference-band .reference-place { color:var(--text); font-size:24px; font-weight:500; line-height:1.35; letter-spacing:-.025em; white-space:nowrap; }
.has-reference-band .reference-place-repeated { display:none; }
@media(max-width:760px), (max-width:999px) and (max-height:500px) {
 .offer-proof .offer-quote p { font-size:16px; line-height:1.7; }
 .offer-proof .offer-wedding-quote p { font-size:18px; line-height:1.65; }
 .offer-proof .offer-quote-mark { height:24px; font-size:48px; }
 .has-reference-band .offer-reference-window { margin-top:12px; padding-block:6px; }
 .has-reference-band .offer-reference-list { gap:34px; padding-right:34px; }
 .has-reference-band .reference-name,.has-reference-band .reference-place { font-size:22px; font-weight:600; }
}

/* Short performance stories link to the full account before the customer voice. */
.offer-proof :is(.offer-case-layout,.offer-wedding-references) .offer-case-brief { margin-bottom:8px; }
.offer-case-link { margin-bottom:32px; }
@media(max-width:760px) { .offer-case-link { margin-bottom:28px; } }
