:root{--blue:#071e35;--blue2:#0d3454;--wine:#6c1526;--wine2:#6c1526;--ink:#26282b;--grey:#686a6c;--paper:#f7f5f1;--soft:#edeae4;--white:#fff;--line:rgba(7,30,53,.16);--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;line-height:1.65}body.nav-open{overflow:hidden}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;line-height:1.08}h1{font-size:clamp(3.2rem,7vw,7.4rem);letter-spacing:-.065em;font-weight:500;max-width:1100px}h1 em,h2 em{font-style:normal;color:var(--wine)}h2{font-size:clamp(2.25rem,4.5vw,4.8rem);letter-spacing:-.05em;font-weight:500}h3{font-size:1.45rem}.wrap{width:min(var(--max),calc(100% - 64px));margin:auto}.site-header{height:108px;padding:0 max(32px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;background:rgba(247,245,241,.94);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{line-height:.78;width:146px}.brand-top{display:block;color:var(--blue);font:700 26px/1 "Avenir Next","Helvetica Neue",Arial,sans-serif;letter-spacing:.12em}.brand-top b{color:var(--wine)}.brand-bottom{display:block;color:#646464;font:400 18px/1.1 "Avenir Next","Helvetica Neue",Arial,sans-serif;letter-spacing:.22em;margin-top:5px}.brand-bottom span{color:var(--wine);font-weight:700}.site-header nav{display:flex;align-items:center;gap:25px}.site-header nav a{font-size:13px;font-weight:600;position:relative;white-space:nowrap}.site-header nav a:after{content:"";position:absolute;left:0;bottom:-10px;width:0;height:2px;background:var(--wine);transition:.25s}.site-header nav a:hover:after,.site-header nav a.active:after{width:100%}.menu{display:none;background:none;border:0}.hero{min-height:790px;padding:115px 0 80px;position:relative}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:600;color:var(--wine)}.hero h1{margin:25px 0 32px}.hero .lead{max-width:700px;font-size:1.3rem;color:#555}.actions{display:flex;align-items:center;gap:36px;margin-top:42px}.button{display:inline-flex;justify-content:center;align-items:center;border:0;background:var(--wine);color:white;padding:17px 26px;font:600 14px "Avenir Next","Helvetica Neue",Arial,sans-serif;cursor:pointer;transition:.25s}.button:hover{background:var(--blue);transform:translateY(-2px)}.button.light{background:white;color:var(--blue)}.button.light:hover{background:var(--soft)}.text-link{font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:4px}.text-link span{color:var(--wine);margin-left:8px}.hero-note{position:absolute;right:0;bottom:90px;width:275px;border-left:3px solid var(--wine);padding-left:25px;display:grid;gap:12px}.hero-note b{font:500 1.35rem/1.45 "Avenir Next","Helvetica Neue",Arial,sans-serif;letter-spacing:.13em;color:var(--blue)}.hero-note span{font-size:.86rem;color:#666}.statement{background:var(--blue);color:white;padding:100px 0}.statement p{font:500 clamp(2.8rem,6vw,6.5rem)/1.1 "Avenir Next","Helvetica Neue",Arial,sans-serif;letter-spacing:-.05em;margin:0}.statement p span{color:#c4c9ce}.section{padding:120px 0}.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;margin-bottom:60px}.section-head h2{margin:14px 0 0}.section-head>p{font-size:1.05rem;color:#5e6062}.entry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#bbb}.entry{min-height:390px;padding:34px;display:flex;flex-direction:column;color:white;transition:.3s}.entry:hover{transform:translateY(-7px)}.entry .num{font-size:.8rem;letter-spacing:.2em;opacity:.65}.entry h3{font-size:2rem;margin-top:auto}.entry p{font-size:1rem;opacity:.84}.entry b{font-size:.85rem;margin-top:25px}.card-bordeaux{background:var(--wine)}.card-blue{background:var(--blue2)}.card-charcoal{background:#343638}.soft{background:var(--soft)}.split{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:start}.split h2{margin-top:16px}.prose{font-size:1.08rem}.prose p{margin-bottom:24px}.values{display:flex;flex-wrap:wrap;gap:10px;margin-top:35px}.values span{border:1px solid #aaa;padding:9px 14px;font-size:.82rem}.values.large span{font-size:1rem;padding:16px 20px;background:var(--paper)}.steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.steps li{display:grid;grid-template-columns:80px 220px 1fr;padding:24px 0;border-bottom:1px solid var(--line);counter-increment:step}.steps li:before{content:"0" counter(step);color:var(--wine);font-weight:600}.steps li b{font:600 1.1rem "Avenir Next","Helvetica Neue",Arial,sans-serif}.steps li span{color:#646668}.steps.compact li{grid-template-columns:80px 250px 1fr}.cta{background:var(--wine);color:white;padding:110px 0}.cta .kicker{color:#e6bbc4}.cta h2{margin:15px 0}.cta p{max-width:640px;font-size:1.1rem;margin-bottom:35px}.footer-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:40px;align-items:end}footer{background:#141719;color:#ddd;padding:60px 0 45px;font-size:.83rem}.footer-brand{font:500 1.05rem "Avenir Next","Helvetica Neue",Arial,sans-serif;letter-spacing:.14em}.footer-brand small{display:block;font:400 .8rem "Avenir Next","Helvetica Neue",Arial,sans-serif;letter-spacing:0;color:#999;margin-top:12px}.footer-grid>div:nth-child(2){display:grid;gap:7px}.footer-grid>span{color:#888}footer i{font-style:normal}.page-hero{padding:115px 0 105px;color:white;min-height:590px;display:flex;align-items:center}.page-hero .kicker{color:#ddd}.page-hero h1{margin:25px 0 30px}.page-hero h1 em{color:#f0bdc8}.page-hero p{max-width:760px;font-size:1.25rem;color:rgba(255,255,255,.78)}.page-hero.bordeaux{background:linear-gradient(125deg,#5f091b,var(--wine2))}.page-hero.blue{background:linear-gradient(125deg,#061a2e,#12486f)}.page-hero.charcoal{background:linear-gradient(125deg,#24272a,#53565a)}.page-hero.grey{background:linear-gradient(125deg,#53565a,#7d8082)}.tile-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.tile-grid article{min-height:260px;padding:38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.tile-grid article:nth-child(even){border-right:0}.tile-grid article:nth-last-child(-n+2){border-bottom:0}.tile-grid article span,.process-grid article b{color:var(--wine);font-size:.75rem;letter-spacing:.18em}.tile-grid h3{margin-top:55px}.tile-grid p,.process-grid p{color:#606264}.quote{font:500 1.65rem/1.35 "Avenir Next","Helvetica Neue",Arial,sans-serif;color:var(--wine);border-left:3px solid var(--wine);padding-left:24px;margin-top:40px}.boundary{padding:60px 0;background:#e1ded7}.boundary .wrap{display:grid;grid-template-columns:1fr 2fr;gap:60px}.boundary p{margin:0}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.process-grid article{padding:28px 0;border-top:3px solid var(--blue)}.process-grid h3{margin-top:44px}.feature{padding:110px 0;background:var(--blue);color:white}.feature .kicker{color:#b7c9d9}.feature p{color:#d7dde3}.feature .quote{color:#fff;border-color:var(--wine2)}.bordeaux-feature{background:var(--wine)}.bordeaux-feature .kicker{color:#e8c2ca}.bordeaux-feature .quote{border-color:white}.price{font:600 2.3rem "Avenir Next","Helvetica Neue",Arial,sans-serif;color:var(--wine);margin-top:40px}.price-small{font:600 1.5rem "Avenir Next","Helvetica Neue",Arial,sans-serif;color:white!important}.checklist{list-style:none;padding:0;margin:0}.checklist li{padding:13px 0 13px 28px;border-bottom:1px solid rgba(255,255,255,.2);position:relative}.checklist li:before{content:"+";position:absolute;left:0;color:#d67689}.about{align-items:center}.about img{width:100%;display:block;mix-blend-mode:multiply}.timeline-section{padding:120px 0;background:var(--blue);color:white}.timeline-section h2{margin:18px 0 65px}.timeline{border-top:1px solid rgba(255,255,255,.2)}.timeline article{display:grid;grid-template-columns:1fr 2fr;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.2)}.timeline b{color:#e4a5b2}.timeline span{color:#cbd2d9}.credentials{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#ccc}.credentials span{padding:22px;background:var(--paper)}.contact-section{padding:120px 0;background:var(--soft)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.contact-grid h2{margin:15px 0 30px}.trust{border-left:3px solid var(--wine);padding-left:20px;margin-top:45px;display:grid;gap:8px}.trust span{font-size:.86rem;color:#666}.contact-grid form{display:grid;gap:18px}.contact-grid label{font-size:.8rem;font-weight:600;letter-spacing:.04em}.contact-grid input,.contact-grid textarea{display:block;width:100%;border:1px solid #bbb;background:var(--paper);font:1rem "Avenir Next","Helvetica Neue",Arial,sans-serif;padding:14px;margin-top:7px;border-radius:0}.contact-grid input:focus,.contact-grid textarea:focus{outline:2px solid var(--wine);border-color:transparent}.contact-grid form small{color:#777}.button.done{background:#53645b}.legal{max-width:1000px}.legal details{border-top:1px solid var(--line);padding:22px 0}.legal details:last-child{border-bottom:1px solid var(--line)}.legal summary{font:600 1.1rem "Avenir Next","Helvetica Neue",Arial,sans-serif;cursor:pointer}.legal details p{max-width:820px;color:#5f6163;margin:20px 0 0}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1060px){.site-header nav{position:fixed;inset:108px 0 0;background:var(--paper);padding:50px 32px;display:none;flex-direction:column;align-items:flex-start;gap:22px}.site-header nav.open{display:flex}.site-header nav a{font:500 1.25rem 'Manrope'}.menu{display:grid;gap:7px;padding:10px}.menu i{display:block;width:28px;height:2px;background:var(--blue)}.entry-grid{grid-template-columns:1fr}.entry{min-height:300px}.process-grid{grid-template-columns:1fr 1fr}.hero-note{display:none}}
@media(max-width:720px){.wrap{width:min(100% - 38px,var(--max))}.site-header{height:86px;padding:0 19px}.site-header nav{inset:86px 0 0}.brand{transform:scale(.88);transform-origin:left}.hero{min-height:710px;padding:85px 0 65px}.hero h1{font-size:clamp(3rem,16vw,4.4rem)}.hero .lead{font-size:1.08rem}.actions{align-items:flex-start;flex-direction:column;gap:24px}.statement,.section,.timeline-section,.contact-section{padding:80px 0}.section-head,.split,.contact-grid{grid-template-columns:1fr;gap:35px}.section-head{margin-bottom:40px}.entry{padding:27px}.steps li,.steps.compact li{grid-template-columns:52px 1fr}.steps li span{grid-column:2}.page-hero{min-height:500px;padding:80px 0}.page-hero h1{font-size:clamp(3rem,15vw,4.3rem)}.page-hero p{font-size:1.08rem}.tile-grid,.credentials{grid-template-columns:1fr}.tile-grid article{border-right:0!important;border-bottom:1px solid var(--line)!important;min-height:220px}.tile-grid article:last-child{border-bottom:0!important}.process-grid{grid-template-columns:1fr}.boundary .wrap{grid-template-columns:1fr;gap:15px}.timeline article{grid-template-columns:1fr;gap:7px}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-grid>span{margin-top:15px}.about>div:first-child{order:2}.cta{padding:80px 0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Editorial photography */
.hero{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(280px,.58fr);gap:70px;align-items:start}
.hero-copy{position:relative;z-index:2}
.home-photo{margin:0;align-self:center;height:520px;overflow:hidden;box-shadow:24px 24px 0 var(--soft)}
.home-photo img{width:100%;height:100%;object-fit:cover;object-position:center 32%;display:block;filter:saturate(.9) contrast(1.03)}
.hero-note{bottom:38px;width:34%}
.page-hero{padding:80px 0;overflow:hidden}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:72px;align-items:center}
.page-hero h1{font-size:clamp(3rem,5.7vw,6.2rem)}
.page-hero figure{margin:0;height:430px;overflow:hidden;border:1px solid rgba(255,255,255,.28);box-shadow:24px 24px 0 rgba(0,0,0,.16)}
.page-hero figure img{width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block;filter:saturate(.86) contrast(1.04)}
.about-brand{padding:28px;background:var(--soft);border-left:4px solid var(--wine)}
@media(max-width:1060px){.hero{grid-template-columns:1.2fr .8fr;gap:36px}.home-photo{height:430px}.page-hero-grid{grid-template-columns:1.15fr .85fr;gap:38px}.page-hero figure{height:390px}}
@media(max-width:720px){.hero{min-height:auto;padding:72px 0;grid-template-columns:1fr;gap:42px}.home-photo{height:430px;box-shadow:14px 14px 0 var(--soft)}.page-hero{min-height:auto;padding:70px 0}.page-hero-grid{grid-template-columns:1fr;gap:40px}.page-hero figure{height:390px;box-shadow:14px 14px 0 rgba(0,0,0,.16)}}

/* Readability and round portrait system */
body{font-size:17px;line-height:1.72;color:#25282b}
.eyebrow,.kicker{font-size:.82rem;font-weight:700}
.site-header nav a{font-size:14px}
.hero .lead,.page-hero p{font-size:1.22rem;line-height:1.65}
.page-hero p{color:rgba(255,255,255,.94)}
.page-hero .kicker{color:rgba(255,255,255,.9)}
.section-head>p,.prose{font-size:1.08rem}
.tile-grid p,.process-grid p{font-size:1rem;color:#52565a}
.hero-note span,.trust span,.contact-grid form small{font-size:.92rem;line-height:1.55}
footer{font-size:.9rem}
.home-photo{width:min(100%,470px);height:auto;aspect-ratio:1;justify-self:end;border-radius:50%;background:#fff;border:8px solid rgba(255,255,255,.92);box-shadow:0 22px 55px rgba(7,30,53,.2)}
.home-photo img{object-fit:contain;object-position:center;filter:none}
.page-hero figure{width:min(100%,420px);height:auto;aspect-ratio:1;justify-self:end;border-radius:50%;background:#fff;border:8px solid rgba(255,255,255,.88);box-shadow:0 22px 55px rgba(0,0,0,.24)}
.page-hero figure img{object-fit:contain;object-position:center;filter:none}
.page-hero-grid>div{min-width:0}
@media(max-width:1060px){.home-photo{width:min(100%,390px);height:auto}.page-hero figure{width:min(100%,360px);height:auto}.page-hero h1{font-size:clamp(2.8rem,5.4vw,5.2rem)}}
@media(max-width:720px){body{font-size:17px;line-height:1.7}.eyebrow,.kicker{font-size:.8rem;line-height:1.5}.site-header nav a{font-size:1.16rem}.hero{gap:48px}.home-photo{width:min(82vw,390px);height:auto;justify-self:center;box-shadow:0 16px 38px rgba(7,30,53,.18)}.page-hero-grid{gap:46px}.page-hero figure{width:min(78vw,360px);height:auto;justify-self:center;box-shadow:0 16px 38px rgba(0,0,0,.22)}.hero .lead,.page-hero p{font-size:1.1rem;line-height:1.65}.section-head>p,.prose{font-size:1.05rem}.tile-grid p,.process-grid p{font-size:1rem}.hero-note span,.trust span,.contact-grid form small{font-size:.95rem}.footer-grid{font-size:.95rem}}

/* About-page logo alignment */
.about{align-items:start}
.about-brand{margin-top:3.6rem;border:4px solid var(--wine)}
@media(max-width:720px){.about-brand{margin-top:0}}

/* Tight portrait crop for rectangular source photography */
.page-hero figure.portrait-zoom img{object-fit:cover;transform:scale(1.48);transform-origin:center 17%}
.page-hero figure.portrait-source img{object-fit:cover;object-position:center 19%;transform:scale(1.22);transform-origin:center 22%}

/* Homepage portrait: larger and aligned with the main headline */
.home-photo{width:min(39vw,480px);align-self:start;margin-top:4.25rem}
@media(max-width:1060px){.home-photo{width:min(40vw,430px);margin-top:4.25rem}}
@media(max-width:720px){.home-photo{width:min(82vw,390px);margin-top:0;align-self:auto}}

/* Brand colour: original Bordeaux sampled from the Praxiswerkstatt logo */
.page-hero.bordeaux{background:var(--wine)}

/* Beruf & Bewerbung: CAN’T motif in the Praxiswerkstatt palette */
.application-reset .split{align-items:center}
.cant-mark{width:min(100%,520px);margin:42px 0 0;transform:translateX(-2px)}
.cant-mark img{display:block;width:100%;height:auto}
.application-reset .checklist li:before{color:#c58d98}
@media(max-width:720px){.application-reset .split{gap:52px}.cant-mark{width:min(100%,440px);margin-top:32px}}

/* Live contact form */
.form-trap{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-status{min-height:1.6em;margin:0;font-size:.95rem;font-weight:600}
.form-status.success{color:#2f6941}
.form-status.error{color:var(--wine)}
.button:disabled{cursor:wait;opacity:.72}
.contact-grid form small{color:#666;font-size:.92rem;line-height:1.55}
.legal a{text-decoration:underline;text-underline-offset:3px}
