:root{
  --paper:#f3f0e8;
  --ink:#252823;
  --soft:#6d7068;
  --line:#d6d2c7;
  --sage:#dfe3d4;
  --wine:#78433f;
  --max:1180px;
  --display:Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.65}
a{color:inherit}

.topbar{max-width:var(--max);margin:auto;padding:28px 34px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}
.name{text-decoration:none;font-family:var(--display);font-size:20px}
.topbar nav{display:flex;gap:28px}
.topbar nav a{text-decoration:none;font-size:14px;letter-spacing:.025em;color:var(--soft)}
.topbar nav a:hover{color:var(--ink)}

.hero{max-width:var(--max);margin:0 auto;padding:72px 34px 100px;display:grid;grid-template-columns:1.02fr .78fr;gap:72px;align-items:center}
.hero h1,.content h2,.contact-block h3,.legal-page h1,.legal-page h2{font-family:var(--display);font-weight:400;letter-spacing:-.025em}
.hero h1{font-size:clamp(48px,6vw,78px);line-height:1.02;margin:0}
.portrait{margin:0;position:relative}
.portrait:before{content:"";position:absolute;inset:22px -22px -22px 22px;background:var(--sage);z-index:-1}
.portrait img{width:100%;display:block;aspect-ratio:3/4;object-fit:cover}

.intro{max-width:var(--max);margin:0 auto;padding:100px 34px 108px;border-top:1px solid var(--line)}
.intro-copy{max-width:760px;margin:0 auto;font-size:20px;line-height:1.72}
.intro-copy p{margin:0 0 30px}
.intro-copy p:last-child{margin-bottom:0}

.content{max-width:var(--max);margin:auto;padding:110px 34px;display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;border-top:1px solid var(--line)}
.content h2{font-size:44px;line-height:1.12;margin:0}
.body-copy{max-width:680px}
.body-copy p:first-child{margin-top:0}
.body-copy p{margin:0 0 27px}
.body-copy p:last-child{margin-bottom:0}

.muted-section{background:rgba(223,227,212,.33);max-width:none;padding-left:max(34px,calc((100vw - var(--max))/2 + 34px));padding-right:max(34px,calc((100vw - var(--max))/2 + 34px));grid-template-columns:minmax(240px,360px) minmax(0,680px)}

.notice-wrap{max-width:var(--max);margin:0 auto;padding:82px 34px 88px}
.notice{max-width:830px;margin-left:auto;border-left:2px solid var(--wine);padding:10px 0 10px 35px}
.notice-title{font-size:13px;text-transform:uppercase;letter-spacing:.16em;color:var(--wine);font-weight:700}
.notice p{margin:0 0 25px}
.notice p:last-child{margin-bottom:0}
.notice strong{font-weight:700}

.conditions{font-family:var(--display);font-size:27px;line-height:1.5;margin:42px 0 38px!important}

.contact-block{margin-top:58px;padding-top:48px;border-top:1px solid var(--line)}
.contact-block h3{margin:0 0 34px;font-size:44px;line-height:1.12}
.contact-block>p{margin-bottom:34px}
.contact-form{margin-top:32px}
.form-field{margin:0 0 26px}
.form-field label{display:block;margin:0 0 9px;font-size:18px;line-height:1.45}
.form-field label span{color:var(--soft);font-weight:400}
.form-field input,.form-field textarea{width:100%;border:1px solid #9e9f95;border-radius:2px;background:rgba(255,255,255,.42);color:var(--ink);font:inherit;line-height:1.45;padding:13px 14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.form-field textarea{resize:vertical;min-height:220px}
.form-field input:focus,.form-field textarea:focus{border-color:var(--wine);background:rgba(255,255,255,.68);box-shadow:0 0 0 3px rgba(120,67,63,.08)}
.field-help,.field-error{margin:6px 0 0!important;font-size:14px;color:var(--soft)}
.field-error{color:#93453f}
.privacy-note{margin:33px 0 30px!important;font-size:15px;line-height:1.65;color:#484a45}
.privacy-note a{text-underline-offset:3px}
.submit-button{appearance:none;border:0;border-radius:2px;background:var(--wine);color:#fff;padding:15px 25px;font:inherit;font-size:17px;cursor:pointer}
.submit-button:hover{filter:brightness(.96)}
.submit-button:disabled{cursor:wait;opacity:.65}
.form-status{margin:0 0 28px;padding:15px 18px;border-left:2px solid var(--wine);background:rgba(255,255,255,.34);font-size:16px}
.form-status.success{border-left-color:#66785e}
.form-status.error{border-left-color:#994941}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

footer{max-width:var(--max);margin:auto;border-top:1px solid var(--line);padding:62px 34px 72px;display:flex;justify-content:space-between;align-items:flex-end;color:var(--soft)}
footer p{margin:0}
.footer-name{font-family:var(--display);font-size:23px;color:var(--ink)}
.footer-subtitle{margin-top:5px!important;font-family:var(--display);font-size:17px;font-style:italic;color:#7a7d75}
.footer-legal{display:flex;gap:32px;font-family:var(--display);font-size:17px}
.footer-legal a{text-decoration:none}
.footer-legal a:hover{text-decoration:underline;text-underline-offset:4px}

.legal-header nav a:not(:last-child){display:none}
.legal-page{max-width:920px;margin:0 auto;padding:92px 34px 120px}
.legal-page h1{font-size:64px;line-height:1.05;margin:0 0 75px}
.legal-page h2{font-size:42px;line-height:1.12;margin:66px 0 30px}
.legal-page h2:first-of-type{margin-top:0}
.legal-page p,.legal-page li{font-size:18px;line-height:1.72}
.legal-page p{margin:0 0 24px}
.legal-page ul{padding-left:24px}
.legal-page a{text-underline-offset:3px}
.legal-contact{margin-top:65px}

@media(max-width:760px){
  body{font-size:17px}
  .topbar{padding:20px;gap:18px}
  .topbar nav{gap:18px}
  .topbar nav a{font-size:12px}
  .name{font-size:18px}
  .hero{padding:52px 20px 108px;grid-template-columns:1fr;gap:54px}
  .hero-copy{order:1}
  .portrait{order:0;width:84%;margin:auto}
  .hero h1{font-size:48px}
  .intro{padding:104px 28px 104px}
  .intro-copy{font-size:18px;line-height:1.72}
  .content,.muted-section{padding:92px 28px;grid-template-columns:1fr;gap:58px}
  .content h2{font-size:42px}
  .notice-wrap{padding:88px 28px 92px}
  .notice{padding-left:30px}
  .conditions{font-size:26px;margin:45px 0!important}
  .contact-block{margin-top:52px;padding-top:52px}
  .contact-block h3{font-size:42px;margin-bottom:40px}
  .form-field{margin-bottom:30px}
  .form-field label{font-size:18px}
  .form-field input,.form-field textarea{font-size:17px;padding:14px 13px}
  .form-field textarea{min-height:240px}
  .submit-button{font-size:18px;padding:16px 26px}
  footer{padding:68px 28px 82px;align-items:flex-start;gap:40px}
  .footer-name{font-size:25px}
  .footer-subtitle{font-size:18px}
  .footer-legal{font-size:18px;gap:30px}
  .legal-page{padding:92px 28px 110px}
  .legal-page h1{font-size:48px;margin-bottom:70px}
  .legal-page h2{font-size:36px;margin-top:62px}
}

@media(max-width:470px){
  .portrait{width:92%}
  .hero h1{font-size:41px}
  .content h2,.contact-block h3{font-size:38px}
  .topbar nav a{font-size:12px}
  footer{flex-direction:column}
  .footer-legal{gap:26px}
  .legal-page h1{font-size:46px}
  .legal-page h2{font-size:34px}
}

/* Mobile Anpassungen: Desktop-Gestaltung bleibt unverändert. */
@media(max-width:760px){
  .topbar{gap:12px;flex-wrap:wrap}
  .name,.topbar nav{flex-shrink:0}
  .topbar nav{margin-left:auto;gap:14px}
  .topbar nav a{white-space:nowrap}
  .hero{grid-template-columns:minmax(0,1fr)}
  .hero-copy{min-width:0}
  .hero h1{font-size:46px}
  .intro,.content,.muted-section,.notice-wrap{padding-left:30px;padding-right:30px}
  .content,.muted-section{grid-template-columns:minmax(0,1fr)}
  .intro-copy,.body-copy{min-width:0;max-width:100%;overflow-wrap:anywhere}
}
@media(max-width:470px){
  .hero h1{font-size:clamp(28px,9.55vw,39px)}
}

/* Desktop: gemeinsamer Textrand und kompaktere Einstiegsabschnitte. */
@media(min-width:761px){
  .intro{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;padding-top:64px;padding-bottom:64px}
  .intro-copy{grid-column:2;min-width:0;max-width:680px;margin:0}
  .intro-copy p{margin-bottom:15px}
  .intro-copy p:last-child{margin-bottom:0}
  #begleitung{padding-top:64px;padding-bottom:72px}
  #begleitung .body-copy p{margin-bottom:16px}
  #begleitung .body-copy p:last-child{margin-bottom:0}
}
