/* The first screen grows when content needs room; nothing is squeezed under the footer. */
html:root body#top.design-master.home-page .home-hero {
 min-height:calc(100svh - var(--master-header-h,90px) - var(--welcome-footer-height,45px))!important;
 height:auto!important;box-sizing:border-box!important;padding:clamp(24px,4vh,52px) 0 32px!important;
 display:flex!important;align-items:center!important;
}
html:root body#top.design-master.home-page .home-hero-inner {
 display:flex!important;flex-direction:column!important;justify-content:center!important;
 width:min(92%,1120px)!important;max-width:1120px!important;height:auto!important;min-height:0!important;
 gap:clamp(18px,2.6vh,30px)!important;padding:0!important;margin:0 auto!important;
}
html:root body#top.home-page .home-hero .home-wordmark {margin:0!important;}
html:root body#top.home-page .home-hero .home-wordmark-name {font-size:clamp(25px,3.1vw,44px)!important;line-height:1.15!important;}
html:root body#top.home-page .home-hero .home-wordmark-profession {font-size:clamp(30px,3.2vw,46px)!important;margin-top:8px!important;}
html:root body#top.home-page .home-hero .welcome-grid {width:min(100%,55svh,680px)!important;gap:clamp(8px,1vw,16px)!important;margin:0 auto 20px!important;}
html:root body#top.home-page .home-hero .home-primary-nav {width:100%!important;margin:0!important;padding:12px 0!important;row-gap:12px!important;}
html:root body#top.home-page .home-hero .home-viotti-quote {width:min(520px,90%)!important;margin:4px auto!important;padding:0 0 28px!important;}
html:root body#top.home-page .home-news-box {width:100%!important;max-width:900px!important;margin:12px auto!important;padding:10px 0!important;line-height:1.5!important;font-size:clamp(16px,1.55vw,21px)!important;}
html:root body#top.home-page .home-news-text p {margin:0 0 8px!important;}
html:root body#top.home-page .home-news-links {display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:10px!important;margin:12px 0 0!important;}
html:root body#top.home-page .home-news-links a {max-width:100%!important;white-space:normal!important;}
html:root body#top.home-page .welcome-next {display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:14px!important;align-self:flex-end!important;min-height:48px!important;width:max-content!important;max-width:100%!important;padding:8px 6px!important;margin:4px 0 0 auto!important;border:0!important;background:none!important;text-decoration:none!important;color:#e5edf2!important;}
html:root body#top.home-page .welcome-next img {display:block!important;width:82px!important;height:auto!important;max-height:none!important;margin:0!important;border:0!important;box-shadow:none!important;}
html:root body#top.home-page .welcome-next .welcome-arrow {width:28px;height:38px;background:currentColor;mask:url('../img/pfeil-vorlage.svg') center/contain no-repeat;-webkit-mask:url('../img/pfeil-vorlage.svg') center/contain no-repeat;transform:rotate(235deg);}
html:root body#top.home-page .welcome-next:hover {color:white!important;filter:brightness(1.15);}
html:root body#top.home-page .welcome-next:focus-visible {outline:2px solid currentColor!important;outline-offset:5px;}
html:root body#top.home-page #Willkommen {box-sizing:border-box;min-height:calc(100svh - var(--master-header-h,90px));padding:clamp(32px,6vh,80px) 0 calc(var(--welcome-footer-height,45px) + 36px);background:linear-gradient(115deg,#34566d,#122c40);color:#e5edf2;scroll-margin-top:var(--master-header-h,90px);}
html:root body#top.home-page .welcome-letter {width:min(90%,1000px);margin:auto;display:flex;flex-direction:column;gap:clamp(20px,3vh,36px);}
html:root body#top.home-page .welcome-letter h2 {margin:0!important;padding:0!important;line-height:1!important;}
html:root body#top.home-page .welcome-letter .welcome-heading {display:block!important;width:100%!important;max-width:1000px!important;height:auto!important;border:0!important;background:none!important;box-shadow:none!important;}
html:root body#top.home-page .welcome-letter p {font-family:Calibri,Carlito,Aptos,'Segoe UI',sans-serif!important;font-size:clamp(19px,1.8vw,27px)!important;line-height:1.5!important;font-weight:400!important;color:inherit!important;margin:0!important;max-width:none!important;}
html:root body#top.home-page .welcome-signature {display:block!important;width:min(100%,720px)!important;height:auto!important;border:0!important;background:none!important;box-shadow:none!important;}
html:root body#top.home-page .welcome-letter [data-reveal] {opacity:1;transform:none;}
@media(prefers-reduced-motion:no-preference){
 html:root body#top.home-page #Willkommen.welcome-pending [data-reveal]{opacity:0;transform:translateY(14px);}
 html:root body#top.home-page #Willkommen.welcome-entered [data-reveal]{animation:welcome-appear .75s ease both;animation-delay:var(--reveal-delay,0ms);}
 @keyframes welcome-appear{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
}
@media(max-width:700px){
 html:root body#top.home-page .home-hero .home-primary-nav a {font-size:18px!important;padding:3px 10px!important;}
 html:root body#top.home-page .home-hero .welcome-grid {width:min(100%,450px)!important;}
 html:root body#top.home-page .welcome-letter {width:90%;gap:24px;}
 html:root body#top.home-page .welcome-letter p {font-size:19px!important;}
 html:root body#top.home-page .welcome-next img {width:72px!important;}
}
html:root body#top.home-page.welcome-letter-page .home-section-switcher {opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
html:root body#top.home-page.welcome-letter-page #Willkommen {min-height:calc(100svh - var(--master-stack-h,140px));}
@media(prefers-reduced-motion:no-preference){html:root body#top.home-page:not(.welcome-letter-page) main{transition:opacity .4s ease,transform .45s ease!important}html:root body#top.home-page.welcome-leaving main{transform:translateY(-8vh)}}
html:root body#top.home-page .home-hero {padding-bottom:56px!important;}
html:root body#top.home-page .home-hero .home-viotti-quote {padding:0!important;}
html:root body#top.home-page .home-viotti-text,html:root body#top.home-page .home-viotti-end {display:block!important;font-size:0!important;line-height:0!important;}
html:root body#top.home-page .home-viotti-text .viotti-vector {position:static!important;display:block!important;width:100%!important;height:auto!important;}
html:root body#top.home-page .home-viotti-text .home-viotti-author {position:static!important;display:block!important;font-size:16px!important;line-height:1.3!important;text-align:right!important;margin:8px 0 0!important;}
html:root body#top.home-page.welcome-letter-page #Willkommen {padding-top:calc(32px + var(--home-switcher-h,48px))!important;}
html:root body#top.home-page.welcome-letter-page .home-section-switcher {background:rgba(16,40,60,.72)!important;}
html:root body#top.home-page.welcome-letter-page .home-section-switcher :is(a,.sticky-menu-button) {color:#e5edf2!important;}

/* A quieter, centred welcome; entering this section is a scroll, not a fade. */
html:root body#top.home-page #Willkommen[hidden] {display:none!important;}
html:root body#top.home-page #Willkommen {
 display:flex!important;align-items:center!important;justify-content:center!important;
 min-height:calc(100svh - var(--master-stack-h,145px) - var(--welcome-footer-height,40px))!important;
 padding:36px 0!important;box-sizing:border-box!important;
}
html:root body#top.home-page.welcome-letter-page #Willkommen {
 min-height:calc(100svh - var(--master-header-h,95px))!important;
 padding:calc(var(--home-switcher-h,50px) + 24px) 0 calc(var(--welcome-footer-height,40px) + 24px)!important;
}
html:root body#top.home-page .welcome-letter {width:min(88%,780px)!important;gap:22px!important;text-align:center!important;}
html:root body#top.home-page .welcome-letter p {font-size:clamp(17px,1.35vw,21px)!important;line-height:1.5!important;text-align:center!important;}
html:root body#top.home-page .welcome-letter .welcome-heading {max-width:760px!important;margin:0 auto!important;}
html:root body#top.home-page .welcome-signature {width:min(100%,560px)!important;margin:0 auto!important;}
html:root body#top.home-page .welcome-letter [data-reveal] {opacity:1!important;transform:none!important;animation:none!important;transition:none!important;}
@media(max-width:600px){html:root body#top.home-page .welcome-letter {width:88%!important;gap:22px!important;}html:root body#top.home-page .welcome-letter .welcome-heading {max-width:300px!important;}}
html:root body#top.home-page.home-welcome-visible .home-section-switcher {opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;}

/* Keep the approved size; align the greeting like a personal letter. */
html:root body#top.home-page .welcome-letter,
html:root body#top.home-page .welcome-letter p {text-align:left!important;}
html:root body#top.home-page .welcome-letter .welcome-heading,
html:root body#top.home-page .welcome-signature {margin-left:0!important;margin-right:0!important;}
html:root body#top.home-page .welcome-prose {display:flex;flex-direction:column;gap:22px;}
@media(prefers-reduced-motion:no-preference){
 #Willkommen.welcome-staged h2,#Willkommen.welcome-staged [data-language-key="welcome-signature"] {clip-path:inset(0 100% 0 0);}
 #Willkommen.welcome-staged .welcome-prose,#Willkommen.welcome-staged .welcome-next-stage {opacity:0;}
}

html:root body#top.home-page #Willkommen [data-language-key="welcome-signature"] {position:relative;clip-path:none;}
.welcome-pen {position:absolute;display:block;width:24px;height:58px;transform:translate(-5px,-43px) rotate(18deg);transform-origin:5px 43px;pointer-events:none;opacity:0;z-index:1;}
.welcome-pen svg {display:block;width:100%;height:100%;}
@media(prefers-reduced-motion:no-preference){#Willkommen.welcome-staged .welcome-signature {clip-path:inset(0 100% 0 0);}}
@media(prefers-reduced-motion:reduce){.welcome-pen {display:none;}}

html:root body#top.home-page .welcome-signature {display:block!important;overflow:visible;}
html:root body#top.home-page #Willkommen.welcome-staged .welcome-signature {clip-path:none;opacity:0;}
#Willkommen.welcome-staged .signature-rest {opacity:0;}

/* Quill extends down and right from its writing tip. */
.welcome-pen {width:86.4px;height:116.1px;transform:translate(-4.05px,-4.05px);transform-origin:4.05px 4.05px;}
#Willkommen.welcome-staged .signature-prefix {opacity:0;}
