/* A few pencil figures and short arrivals, with native scrolling throughout. */
.doodle { width:180px; max-width:100%; color:#6b91b4; pointer-events:none; }
.doodle svg { display:block; width:100%; height:auto; overflow:visible; }
.doodle-sage { color:#87a17e; }
.doodle-lilac { color:#b390b5; }
.doodle-pencil { opacity:.75; }
.pencil-echo { stroke-width:2.5px; opacity:.45; }
.wave-arm { transform-box:view-box; transform-origin:103px 164px; }
.doodle.is-visible .wave-arm { animation:friendly-wave 1.15s ease-in-out 2; }
@keyframes friendly-wave { 0%,100% { transform:rotate(0deg); } 28% { transform:rotate(-15deg); } 65% { transform:rotate(9deg); } }
.page-intro.has-doodle { display:grid; grid-template-columns:minmax(0,1fr) 190px; column-gap:50px; align-items:center; }
.page-intro.has-doodle .breadcrumbs { grid-column:1 / -1; }
.page-intro.has-doodle h1 { font-size:clamp(44px,5.2vw,72px); }
.page-ueber-uns .page-intro h1 { width:min(100%,560px); max-width:none; container-type:inline-size; }
.about-title-line { display:block; width:max-content; white-space:nowrap; font-optical-sizing:none; font-size:calc(100cqi / 8.82731); line-height:1.08; letter-spacing:-.045em; }
.about-title-emphasis { font-size:calc(100cqi / 6.7116); color:#547762; }
.welcome-doodle { justify-self:end; width:185px; }
.page-home main > .intro-grid > div:first-child::after,.cta::before { content:none; }
.story-doodle { width:145px; margin:30px 0 0 25px; }
.cta .closing-doodle { position:absolute; right:max(36px,calc((100% - 1200px)/2 + 40px)); bottom:10px; width:180px; }
.cta .closing-doodle .doodle-pencil { opacity:.5; }
[data-reveal].reveal-pending,[data-wave].reveal-pending { opacity:0; transform:translateY(15px); }
[data-reveal].is-visible,[data-wave].is-visible { animation:soft-arrival .65s cubic-bezier(.2,.65,.3,1) both; }
@keyframes soft-arrival { from { opacity:0; transform:translateY(15px); } to { opacity:1; transform:none; } }
/* The first-screen copy and its image are never withheld by scroll effects. */
.offer-section::before { background-image:none; }
.offer-section.background-ready::before { background-image:url("images/offer-corner-v1.webp"); }
.scroll-story { align-items:start; }
.scroll-story .story-visual { min-width:0; }
.scroll-story .split-photo { aspect-ratio:4 / 4.5; margin:0; }
.story-copy { min-width:0; }
.story-copy .section-heading { margin-bottom:32px; }
.story-chapter + .story-chapter { margin-top:44px; }
.story-chapter h3 { font-size:27px; line-height:1.3; margin-bottom:16px; }
.story-chapter p { font-size:15px; line-height:1.9; }
.faq-review-note { margin-bottom:38px; max-width:760px; font-size:14px; line-height:1.8; color:var(--ink-soft); }
.faq-review-note strong { color:var(--ink); }
.faq-topics { display:flex; flex-wrap:wrap; gap:14px 30px; margin:0 0 56px; }
.faq-topics a { color:var(--green); font-size:15px; text-decoration:underline; text-underline-offset:5px; }
.faq-group { scroll-margin-top:130px; }
.faq-group + .faq-group { margin-top:76px; }
.faq-group > h2 { margin:0 0 28px; font-size:clamp(28px,3vw,38px); line-height:1.25; }
.home-faq .intro-grid > div:first-child { align-self:start; }
@media(min-width:1051px) and (min-height:700px) and (prefers-reduced-motion:no-preference) {
 .scroll-story .story-visual { position:sticky; top:126px; }
 .scroll-story .split-photo { height:min(58vh,570px); aspect-ratio:auto; }
 .scroll-story .story-copy { padding-block:10px 80px; }
 .scroll-story .story-chapter + .story-chapter { margin-top:64px; }
}
@media(min-width:760px) and (max-width:1050px) {
 .site-nav { gap:13px; }
 .site-nav a { font-size:11px; }
 .site-nav .button { padding:11px 14px; }
 .page-intro.has-doodle { grid-template-columns:minmax(0,1fr) 135px; column-gap:25px; }
}
@media(max-width:980px) {
 .nav-toggle { display:flex; flex-shrink:0; }
 .site-nav { position:absolute; top:100%; right:0; left:0; display:none; align-items:stretch; gap:0; padding:12px var(--gutter) 24px; border-bottom:1px solid var(--line); background:var(--white); box-shadow:0 14px 20px rgb(37 63 56 / 4%); }
 body.nav-open .site-nav,.site-nav.is-open { display:flex; flex-direction:column; }
 .site-nav a { display:block; padding:15px 2px; border-bottom:1px solid #e5ede7; font-size:16px; }
 .site-nav a::after { display:none; }
 .site-nav .button { display:inline-flex; align-self:flex-start; margin-top:20px; padding:12px 23px; font-size:13px; }
}
@media(max-width:759px) {
 .page-intro.has-doodle { display:block; }
 .welcome-doodle { width:112px; margin:22px 15px 0 auto; }
 .page-intro.has-doodle h1 { font-size:42px; }
 .story-doodle { width:100px; margin-top:24px; }
 .cta .closing-doodle { width:120px; bottom:16px; right:30px; }
 .offer-section.background-ready::before { background-image:url("images/offer-corner-v1-700.webp"); }
 .story-chapter + .story-chapter { margin-top:30px; }
 .story-chapter p { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
 [data-reveal],[data-wave],[data-reveal].reveal-pending,[data-wave].reveal-pending { opacity:1; transform:none; animation:none!important; }
 .wave-arm { animation:none!important; }
 .scroll-story .story-visual { position:static; }
}
@media(max-width:369px) {
 .brand-name { font-size:19px; }
 .brand-sub { font-size:6px; }
 .brand-symbol { width:23px; }
 .header-inner { gap:8px; }
}
@media print {
 .doodle { display:none; }
 [data-reveal],[data-wave],[data-reveal].reveal-pending,[data-wave].reveal-pending { opacity:1; transform:none; animation:none!important; }
 .scroll-story .story-visual { position:static; }
 .page-intro.has-doodle { display:block; }
}
