:root{--ink:#102139;--muted:#4e6075;--blue:#174fdb;--pale:#edf5ff;--line:#d6e1ef;--paper:#fff;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{overflow-wrap:anywhere;margin:0;color:var(--ink);background:var(--paper);font:1rem/1.7 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
button,a,summary{touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #dc7800;outline-offset:5px}
.wrap{width:min(1160px,calc(100% - 64px));margin:auto}
.skip{position:fixed;left:1rem;top:-100px;background:#fff;padding:12px;z-index:10}
.skip:focus{top:10px}
header{background:#ffffffed;border-bottom:1px solid var(--line)}
.navigation{display:flex;justify-content:space-between;align-items:center;min-height:104px;gap:24px}
.brand{display:flex;gap:13px;align-items:center;font-size:1rem;font-weight:650;line-height:1.35}
.brand small{display:block;font-size:.875rem;letter-spacing:0;margin-top:4px;font-weight:500}
.credentials{display:block;font-size:.875rem;font-weight:400;color:var(--muted);margin-top:5px}
nav{display:flex;gap:28px;align-items:center;font-size:.9rem}
nav a:hover,.text-link:hover{color:var(--blue)}
.nav-cta{border-bottom:1px solid var(--ink);padding:7px 0}
.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:64px;align-items:center;padding-top:70px;padding-bottom:70px}
.eyebrow{font-size:.875rem;font-weight:650;letter-spacing:.14em;color:var(--blue);margin:0 0 22px}
h1,h2,h3,p{margin-top:0}
h1{font:clamp(2.8rem,4.6vw,4.5rem)/1.09 var(--serif);letter-spacing:-.045em;margin-bottom:28px}
h1 em{font-weight:normal;color:var(--blue)}
.intro{max-width:570px;font-size:1.125rem;line-height:1.75;color:var(--muted)}
.actions{display:flex;gap:22px;flex-wrap:wrap;align-items:center;margin:32px 0}
.button,button{display:inline-block;background:var(--blue);color:#fff;border:0;padding:15px 23px;border-radius:3px;font-weight:600;font-size:.94rem}
.button:hover,button:hover{background:#103dac}
.text-link{font-size:.92rem;text-decoration:underline;text-underline-offset:5px}
.hero-note{font-size:.875rem;color:var(--muted);margin:0}
.hero-panel{background:var(--ink);color:#fff;padding:38px 34px 30px;position:relative;border-top:5px solid var(--blue)}
.panel-label{font:600 .875rem/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:.12em;color:#b6cce4;margin-bottom:25px}
.panel-row{display:flex;gap:22px;padding:25px 0;border-top:1px solid #3c4d63}
.panel-row>span{color:#9fc3f7;font:1.4rem var(--serif);padding-top:5px}
.panel-row h3{font-size:1.28rem;margin-bottom:7px;font-weight:500}
.panel-row p{font-size:.96rem;line-height:1.6;color:#c6d2df;margin-bottom:0}
.panel-foot{font-size:.875rem;color:#c6d2df;border-top:1px solid #3c4d63;padding-top:22px}
.signal{background:var(--pale);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.signal-inner{display:flex;gap:80px;padding:40px 0;align-items:center}
.signal span{font-size:.875rem;color:var(--muted);min-width:175px}
.signal p{font:1.7rem/1.4 var(--serif);margin:0}
.section{padding-top:95px;padding-bottom:95px}
.section-top{max-width:735px;margin-bottom:46px}
h2{font:clamp(2.2rem,3.5vw,3.3rem)/1.13 var(--serif);letter-spacing:-.035em;margin-bottom:23px}
.section-top>p:last-child{color:var(--muted);font-size:1.1rem;max-width:650px}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}
.pillars article{border-top:2px solid var(--ink);padding-top:23px}
.number{display:block;color:var(--blue);font-size:.875rem;letter-spacing:.09em;margin-bottom:24px;font-weight:650}
h3{font-size:1.35rem;line-height:1.35;font-weight:600;margin-bottom:18px}
.pillars p{color:var(--muted)}
.result{padding-top:18px;border-top:1px solid var(--line);font-size:.94rem}
.result b{display:block;color:var(--ink);margin-bottom:6px}
.onsite{background:var(--pale);padding:76px 0}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px}
.large{font-size:1.3rem;line-height:1.6}
.clean-list{list-style:none;padding:0;margin:25px 0}
.clean-list li{padding:10px 0 10px 24px;position:relative;border-bottom:1px solid var(--line)}
.clean-list li:before{content:'✓';position:absolute;left:0;color:var(--blue);font-weight:bold}
.small{font-size:.875rem;color:var(--muted)}
.timeline{padding:0;list-style:none;max-width:950px}
.timeline li{display:grid;grid-template-columns:180px 1fr;gap:40px;padding:30px 0;border-top:1px solid var(--line)}
.time{font-size:.875rem;font-weight:650;letter-spacing:.07em;color:var(--blue);padding-top:5px}
.timeline h3{margin-bottom:9px}
.timeline p{color:var(--muted);margin-bottom:0}
.rhythm{background:var(--pale);padding:32px 36px;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:26px}
.rhythm strong{display:block;font:1.6rem var(--serif);margin-bottom:9px}
.rhythm span{font-size:.875rem;color:var(--muted)}
.profile{background:var(--ink);color:#fff;padding:84px 0}
.profile .eyebrow{color:#99c6ff}
.profile h2{font-size:3.8rem}
.profile-role{color:#b8cbe0}
.profile-portrait{display:block;width:100%;max-width:360px;height:auto;aspect-ratio:1;margin-top:28px;border-radius:4px}
.profile .two-col>div:last-child>p:not(.large){color:#c6d2df}
.location{padding-top:14px;border-top:1px solid #3c4d63;font-size:.875rem}
.pricing{border:1px solid var(--line);display:grid;grid-template-columns:1.2fr 1fr}
.price-main,.price-side{padding:40px}
.price-side{background:var(--pale);border-left:1px solid var(--line)}
.price{font:3.5rem/1.1 var(--serif);letter-spacing:-.04em;margin:25px 0 8px}
.price span{display:block;font:1rem/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:0;margin-top:8px}
.gross{font-size:.875rem;color:var(--muted)}
.price.secondary{font-size:2.4rem;margin-top:10px}
.price.secondary span{display:inline;font-size:.9rem;margin-left:9px}
.price-side>p:not(.price){font-size:.95rem;color:var(--muted)}
.total{border-top:1px solid #b4c6de;padding-top:20px;margin-top:25px}
.total b{font-size:.88rem;display:block}
.total span{font:1.8rem var(--serif);display:block;margin:10px 0}
.total small{font-size:.875rem;line-height:1.5;display:block;color:var(--muted)}
.pricing-note{max-width:870px;color:var(--muted);font-size:.875rem;margin:20px 0 0}
.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.25fr;gap:70px}
details{border-top:1px solid var(--line);padding:20px 0}
details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-size:1.05rem;font-weight:600;padding-right:10px}
details p{color:var(--muted);font-size:.98rem;margin:17px 0 0}
.contact{background:var(--pale);padding:85px 0}
.contact .wrap{max-width:850px}
.contact h2{font-size:clamp(2.7rem,4.5vw,4rem)}
.contact>.wrap>p:not(.eyebrow){font-size:1.1rem;max-width:640px;color:var(--muted)}
.contact-box{border-top:1px solid #b4c6de;margin-top:34px;padding-top:28px}
.contact-box h3{font-size:1.15rem}
.contact-box p{max-width:690px}
footer{display:flex;justify-content:space-between;gap:20px;font-size:.875rem;color:var(--muted);padding-top:32px;padding-bottom:32px}
footer a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:960px){.hero{gap:35px;grid-template-columns:1.2fr 1fr}
.hero-panel{padding:30px 24px}
.two-col{gap:45px}
.pillars{gap:22px}
.faq{gap:35px}
.price-main,.price-side{padding:28px}
nav{gap:18px}
.rhythm{gap:20px;padding:27px}
}
@media(max-width:720px){.wrap{width:calc(100% - 40px)}
.navigation{min-height:90px;flex-wrap:wrap;justify-content:center;padding:18px 0;gap:18px}
.brand{margin-right:auto}
nav{width:100%;justify-content:space-between;gap:12px;font-size:.875rem}
nav .nav-cta{padding:0;border:0;color:var(--blue)}
.hero{grid-template-columns:1fr;padding:52px 0;gap:38px}
h1{font-size:clamp(2.65rem,10vw,4.2rem)}
.intro{font-size:1.03rem}
.hero-panel{padding:28px}
.signal-inner{display:block;padding:30px 0}
.signal span{display:block;margin-bottom:13px}
.signal p{font-size:1.45rem}
.section{padding:58px 0}
.section-top{margin-bottom:32px}
.pillars{grid-template-columns:1fr;gap:27px}
.pillars article{padding-top:20px}
.number{margin-bottom:15px}
.pillars h3 br{display:none}
.two-col{grid-template-columns:1fr;gap:22px}
.onsite,.profile{padding:52px 0}
.large{font-size:1.15rem}
.timeline li{grid-template-columns:1fr;gap:12px;padding:24px 0}
.rhythm{grid-template-columns:1fr;gap:22px}
.rhythm>div+div{border-top:1px solid var(--line);padding-top:20px}
.profile h2{font-size:3.2rem}
.pricing{grid-template-columns:1fr}
.price-side{border-left:0;border-top:1px solid var(--line)}
.price{font-size:3.2rem}
.faq{grid-template-columns:1fr;gap:12px}
.contact{padding:55px 0}
.actions{gap:20px}
.button{width:100%;text-align:center}
.contact button{width:100%}
footer{flex-direction:column;gap:8px;font-size:.875rem}
.eyebrow{font-size:.875rem;letter-spacing:.11em}
.section-top>p:last-child{font-size:1rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}


.imprint{padding-top:54px;padding-bottom:54px}
.imprint h2{font-size:2rem}
.imprint address{font-style:normal;font-size:1rem;line-height:1.85}
.imprint address a{display:inline-block;margin-top:12px;color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.footer-links{display:flex;gap:24px;flex-wrap:wrap}


.value-note{margin:24px 0;padding:20px;border-left:3px solid var(--blue);background:var(--pale)}
.value-note>strong{display:block;font-size:1.05rem;line-height:1.45}
.value-note>p{font-size:.94rem;color:var(--muted);margin:10px 0 14px}


.booking-calendar{margin-top:24px;background:#fff;border:1px solid var(--line);border-radius:4px}
.booking-calendar iframe{display:block;width:100%;height:800px;border:0}
.contact-alternative{font-size:.94rem;color:var(--muted);overflow-wrap:anywhere}
.contact-alternative a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
@media(max-width:720px){.booking-calendar iframe{height:1000px}
nav{flex-wrap:wrap;justify-content:flex-start;column-gap:20px;row-gap:10px}
}


@media(min-width:721px){.pillars{row-gap:0}
.pillars article{display:grid;grid-template-rows:subgrid;grid-row:span 4}
}


/* Shared interaction and responsive refinements. */
[hidden]{display:none!important}

a,button,summary{-webkit-tap-highlight-color:transparent}

button:disabled{cursor:wait;opacity:.7}

h1,h2,h3{text-wrap:balance;overflow-wrap:break-word}

nav a{min-height:44px;display:flex;align-items:center}

nav .nav-cta{white-space:nowrap}

.hero-note{line-height:1.6}

.hero-panel .panel-row h3{font-family:var(--serif);line-height:1.35}

.hero-panel .panel-row>span{flex:0 0 30px}

.pillars article,.two-col>div,.price-main,.price-side{min-width:0}

summary{min-height:44px;line-height:1.5;padding-top:8px;padding-bottom:8px}

summary:hover{color:var(--blue)}

.faq details{padding:12px 0}

.faq details p{margin:12px 0 8px}

.value-note>p{margin-bottom:0}

.booking-consent{padding:28px;border:1px solid var(--line);background:#fff;border-radius:4px}

.booking-consent p{margin-bottom:18px}

.booking-consent .small{font-size:.875rem;line-height:1.6}

.booking-consent a,.legal a{text-decoration:underline;text-underline-offset:3px;color:var(--blue)}

.booking-options{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin:16px 0 26px}

.booking-options a,.text-button{min-height:44px;display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px}

.text-button{color:var(--muted);background:transparent;padding:8px 0;text-align:left;font-weight:400;font-size:.875rem;text-decoration:underline;text-underline-offset:4px}

.text-button:hover{background:transparent;color:var(--blue)}

.booking-status{font-size:.875rem;color:var(--muted);margin:12px 0 0}

.booking-status:empty{display:none}

.contact-alternative a{display:inline-block;min-height:44px;padding:8px 0}

.footer-links a{display:inline-flex;align-items:center;min-height:44px}

.imprint address a{margin-top:0;min-height:44px;overflow-wrap:anywhere}

.legal{max-width:800px;padding:64px 0 80px}

.legal h1{font-size:clamp(2.5rem,5vw,3.6rem)}

.legal h2{font:600 1.35rem/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;letter-spacing:0;margin:36px 0 14px;text-wrap:initial}

.legal address{font-style:normal;line-height:1.8;overflow-wrap:anywhere}

.legal .review-note{padding:20px;border-left:3px solid var(--blue);background:var(--pale);font-size:.94rem}

@media(min-width:721px) and (max-width:900px){
.navigation{flex-wrap:wrap;padding:22px 0;gap:12px}
.navigation nav{width:100%;justify-content:space-between}

.hero{grid-template-columns:1fr;gap:38px;padding:54px 0}
.hero>div{max-width:660px}
.hero-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 22px;padding:28px}
.panel-label,.panel-foot{grid-column:1/-1}
.panel-row{display:block}
.panel-row>span{display:block;margin-bottom:14px}
.panel-foot{margin-top:4px}
.panel-row p br{display:none}

.pillars{grid-template-columns:1fr;gap:30px}
.pillars article{display:block;grid-row:auto}
.pillars article>p{max-width:42rem}
.pillars h3 br{display:none}

.two-col{gap:32px}
.profile h2{font-size:3rem}
.pricing{grid-template-columns:1fr}
.price-side{border-left:0;border-top:1px solid var(--line)}

}

@media(max-width:720px){
.navigation{padding:18px 0 12px;gap:12px}
.brand{font-size:1.05rem}
.brand small{font-size:.875rem}
.credentials{font-size:.875rem}

nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;font-size:.875rem}
nav .nav-cta{white-space:normal;min-height:44px}

.hero{padding:38px 0 48px}
.hero .eyebrow{margin-bottom:18px;font-size:.875rem;letter-spacing:.075em}

h1{font-size:clamp(2.4rem,9.5vw,3.6rem);letter-spacing:-.035em}
.intro{font-size:1.0625rem;line-height:1.65}

.hero .actions{margin:24px 0 20px;gap:8px}
.hero .text-link{padding:10px 0;min-height:44px}
.hero-panel{padding:26px 24px}

.profile h2{font-size:clamp(2.7rem,10vw,3.2rem)}
.profile-role{max-width:23rem}

.onsite h2 br,.signal p br,.section-top h2 br,.faq h2 br,.contact h2 br{display:none}

h2{font-size:clamp(2rem,8vw,2.8rem)}
.contact h2{font-size:clamp(2.2rem,9vw,3rem)}

.price-main,.price-side{padding:26px 22px}
.price{font-size:3rem}
.value-note{padding:17px}
.value-note strong{font-size:1rem}

.booking-consent{padding:22px}
.booking-options{display:block}
.booking-options>a,.booking-options>button{margin:4px 0}
.contact .text-button{width:auto}

footer{gap:10px}
.footer-links{gap:4px 20px}
.legal{padding:44px 0 56px}

}

@media(max-width:360px){.wrap{width:calc(100% - 32px)}
.hero-panel{padding:22px 20px}
.hero .eyebrow{font-size:.875rem;letter-spacing:.04em}
.price-main,.price-side{padding:24px 18px}
}


@media(min-width:901px){.profile .two-col{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}
