/* Öffentliche Orientierung zum ersten Besuch. Ausschließlich diese Unterseite. */
.page-neupatienten #main{background:#faf7f1}
.page-neupatienten #main>section{padding:88px 0}
.page-neupatienten #main>.np-hero{padding:142px 0 72px;background:#f1ebe2}
.page-neupatienten .np-hero-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);grid-template-rows:max-content minmax(0,1fr);grid-template-areas:"welcome preferences" "photo preferences";gap:32px 56px;align-items:start}
.page-neupatienten .np-welcome{grid-area:welcome}
.page-neupatienten .np-hero-layout>*,.page-neupatienten .np-split>*,.page-neupatienten .np-contact-close>*{min-width:0}
.page-neupatienten .np-hero .eyebrow{font-size:10px;letter-spacing:.24em;color:#785c35}
.page-neupatienten .np-hero h1{font-size:clamp(44px,5.1vw,68px);line-height:1.06;letter-spacing:-.018em;margin:24px 0;hyphens:none}
.page-neupatienten .np-hero h1 span{display:block;color:#785c35;font-style:italic}
.page-neupatienten .np-intro{font-size:15px;line-height:1.85;max-width:30em}
.page-neupatienten .np-actions{display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap;margin-top:30px}
.page-neupatienten .np-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:16px 22px;font-size:13px;letter-spacing:.055em;line-height:1.5;text-transform:none}
.page-neupatienten .np-actions .btn span{font-size:18px;line-height:1}
.page-neupatienten .np-phone{display:inline-flex;align-items:center;min-height:44px;color:#342d27;font-size:16px;text-decoration:underline;text-decoration-color:#b89b6a;text-underline-offset:6px}
.page-neupatienten .np-quick-links{display:flex;flex-wrap:wrap;gap:4px 24px;margin-top:24px;padding-top:12px;border-top:1px solid #cfc1ad}
.page-neupatienten .np-quick-links a{display:inline-flex;align-items:center;gap:14px;min-height:44px;padding:6px 0;font-size:12px;line-height:1.6;color:#5a524b}
.page-neupatienten .np-quick-links a span{color:#785c35}
.page-neupatienten .np-photo{grid-area:photo;position:relative;width:100%;max-width:420px;margin:0;padding-left:18px}
.page-neupatienten .np-photo::before{content:"";position:absolute;left:0;top:18px;bottom:44px;width:1px;background:#b89b6a}
.page-neupatienten .np-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:50% 0}
.page-neupatienten .np-photo figcaption{margin-top:12px;max-width:30em;font-size:11px;line-height:1.7;color:#5a524b}
.page-neupatienten .np-preferences{grid-area:preferences;min-width:0;padding:32px;background:radial-gradient(ellipse at top right,rgba(173,134,83,.13),transparent 60%),#29231e;color:#e2d9cc;border:1px solid #76634a;box-shadow:0 18px 45px rgba(51,38,24,.08)}
.page-neupatienten .np-preferences .eyebrow{color:#d3b883;font-size:9px;letter-spacing:.22em}
.page-neupatienten .np-preferences .eyebrow::before{width:30px}
.page-neupatienten .np-preferences h2{margin:18px 0 14px;color:#f6f0e6;font-size:clamp(31px,3.2vw,42px);line-height:1.1;letter-spacing:0}
.page-neupatienten .np-preferences h2 em{font-weight:inherit;color:#dcc395}
.page-neupatienten .np-preferences-hint{max-width:36em;color:#d1c7b9;font-size:12px;line-height:1.75}
.page-neupatienten .np-preferences-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}
.page-neupatienten .np-preference-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;min-height:76px;padding:14px 16px;border:1px solid #806e57;border-radius:0;background:rgba(255,247,229,.025);color:#f3ece1;font-family:var(--sans);font-size:13px;font-weight:400;line-height:1.55;text-align:left;cursor:pointer;transition:background-color .22s ease,border-color .22s ease,color .22s ease}
.page-neupatienten .np-preference-label{min-width:0}
.page-neupatienten .np-preference-mark{display:flex;align-items:center;justify-content:center;flex:0 0 21px;width:21px;height:21px;border:1px solid #9b835f;border-radius:50%;color:#d9be8b;font:400 15px/1 var(--sans);transition:background-color .22s ease,color .22s ease}
.page-neupatienten .np-preference-choice[aria-pressed="true"]{border-color:#d5b67b;background:#dec79e;color:#30271e}
.page-neupatienten .np-preference-choice[aria-pressed="true"] .np-preference-mark{border-color:#78613d;background:#78613d;color:#fff8e9;font-size:12px}
.page-neupatienten .np-preference-choice[aria-disabled="true"]{border-color:#665747;color:#c7bfb3;cursor:default}
.page-neupatienten .np-preferences-status{margin:12px 0 0;color:#d3c5ae;font-size:12px;line-height:1.6}
.page-neupatienten .np-preferences-results{margin-top:22px}
.page-neupatienten .is-interactive .np-preferences-results{margin-top:12px}
.page-neupatienten .np-preference-info{padding:20px 0 16px;border-top:1px solid #76634a}
.page-neupatienten .np-preference-info h3{margin:0 0 10px;color:#e8d2a9;font-size:27px;line-height:1.2}
.page-neupatienten .np-preference-info p{font-size:14px;line-height:1.8;color:#e2d9cc}
.page-neupatienten .np-preference-info a{display:inline-flex;align-items:center;gap:14px;min-height:44px;margin-top:7px;color:#f1dcb5;font-size:11px;line-height:1.7;text-decoration:underline;text-decoration-color:#ad9166;text-underline-offset:4px}
.page-neupatienten .np-preference-info a span{flex-shrink:0;font-size:16px}
.page-neupatienten .np-preferences [hidden]{display:none}
.page-neupatienten .np-preferences-privacy{margin-top:10px;color:#c5baaa;font-size:12px;line-height:1.75}
.page-neupatienten .np-preferences-contact{margin-top:20px;padding-top:20px;border-top:1px solid #76634a}
.page-neupatienten .np-preferences-contact .np-actions{margin-top:0;gap:6px 20px}
.page-neupatienten .np-preferences-contact .np-actions .btn{padding:13px 16px;font-size:12px;letter-spacing:.02em;gap:14px}
.page-neupatienten .np-preferences-contact .np-phone{font-size:12px;color:#eee5d8}
.page-neupatienten .np-preferences-contact>p{margin-top:10px;color:#c5baaa;font-size:10px;line-height:1.7}
.page-neupatienten .np-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:90px;align-items:start}
.page-neupatienten .np-section-intro h2{font-size:clamp(34px,3.5vw,47px);margin:24px 0}
.page-neupatienten .np-section-intro>p:not(.eyebrow){max-width:30em;font-size:15px;line-height:1.85}
.page-neupatienten .np-text-link{color:var(--text-dark);text-decoration:underline;text-decoration-color:#b89b6a;text-underline-offset:5px}
.page-neupatienten .np-section-intro>a.np-text-link{display:inline-flex;align-items:center;gap:24px;min-height:44px;margin-top:18px;font-size:13px}
.page-neupatienten .np-steps{list-style:none;margin:0;padding:0}
.page-neupatienten .np-steps li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:20px;padding:27px 0;border-top:1px solid #cfc1ad}
.page-neupatienten .np-steps li:last-child{padding-bottom:0}
.page-neupatienten .np-step-number{padding-top:2px;font:italic 25px/1.2 var(--serif);color:#785c35}
.page-neupatienten .np-steps h3,.page-neupatienten .np-preparation-list h3{font-size:27px;margin:0 0 12px;line-height:1.2}
.page-neupatienten .np-steps p,.page-neupatienten .np-preparation-list p{font-size:15px;line-height:1.8}
.page-neupatienten .np-preparation{background:#29231e;color:#ded5c9}
.page-neupatienten .np-preparation .eyebrow{color:#c9ac7a}
.page-neupatienten .np-preparation h2,.page-neupatienten .np-preparation h3{color:#f0ece4}
.page-neupatienten .np-preparation-list{list-style:none;margin:0;padding:0}
.page-neupatienten .np-preparation-list li{padding:25px 0;border-top:1px solid #776853}
.page-neupatienten .np-preparation-list li:last-child{padding-bottom:0}
.page-neupatienten .np-preparation .np-preparation-checklist{min-width:0;margin:0;padding:0;border:0}
.page-neupatienten .np-preparation .np-preparation-checklist legend{padding:0;color:#dec69d;font:500 12px/1.7 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.page-neupatienten .np-preparation .np-checklist-hint{margin:10px 0 24px;color:#d6cabb;font-size:14px;line-height:1.75}
.page-neupatienten .np-preparation .np-preparation-list li{padding:0;border-top:1px solid #776853}
.page-neupatienten .np-preparation .np-checklist-item{display:grid;grid-template-columns:24px minmax(0,1fr);gap:16px;align-items:start;min-height:44px;padding:22px 0;cursor:pointer}
.page-neupatienten .np-preparation .np-checklist-item input{width:22px;height:22px;margin:4px 0 0;accent-color:#d2b57f;color-scheme:dark;cursor:pointer}
.page-neupatienten .np-preparation .np-checklist-item input:focus-visible{outline:2px solid #f1d29a;outline-offset:5px}
.page-neupatienten .np-preparation .np-checklist-copy{display:block;min-width:0}
.page-neupatienten .np-preparation .np-checklist-title{display:block;margin-bottom:9px;color:#f0ece4;font:400 25px/1.2 var(--serif)}
.page-neupatienten .np-preparation .np-checklist-description{display:block;color:#ded5c9;font-size:14px;line-height:1.8}
.page-neupatienten .np-preparation .np-checklist-item input:checked+.np-checklist-copy .np-checklist-title{color:#e4c894}
.page-neupatienten .np-preparation .np-checklist-privacy{margin-top:2px;padding-top:18px;border-top:1px solid #776853;color:#c9bcaa;font-size:12px;line-height:1.75}
.page-neupatienten .np-faq{border-color:#cfc1ad}
.page-neupatienten .np-faq details{border-color:#cfc1ad}
.page-neupatienten .np-faq summary{font-size:25px;line-height:1.3;padding:24px 0;min-height:72px}
.page-neupatienten .np-faq .a{padding:0 34px 24px 0;font-size:15px}
.page-neupatienten .np-faq .a a{text-decoration:underline;text-decoration-color:#b89b6a;text-underline-offset:4px}
.page-neupatienten .np-contact-close{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:50px;align-items:center;margin-top:76px;padding-top:44px;border-top:1px solid #cfc1ad}
.page-neupatienten .np-contact-close h2{font-size:clamp(32px,3.3vw,42px)}
.page-neupatienten .np-contact-close p{max-width:36em;margin-top:18px;font-size:14px;line-height:1.8}
.page-neupatienten .np-contact-close .np-actions{justify-content:flex-end;margin-top:0}
.page-neupatienten #main a:focus-visible,.page-neupatienten #main summary:focus-visible{outline:2px solid #785c35;outline-offset:5px}
.page-neupatienten #main .np-preferences a:focus-visible,.page-neupatienten #main .np-preferences button:focus-visible{outline:2px solid #f1d29a;outline-offset:4px}
@media(hover:hover){
  .page-neupatienten .np-phone:hover,.page-neupatienten .np-text-link:hover,.page-neupatienten .np-quick-links a:hover{color:#785c35}
  .page-neupatienten .np-preference-choice[aria-pressed="false"]:not([aria-disabled="true"]):hover{border-color:#ceb080;background:rgba(213,182,123,.13)}
  .page-neupatienten .np-preference-choice[aria-pressed="true"]:hover{background:#e9d6b5}
  .page-neupatienten .np-preferences a:hover{color:#f7dfb5}
  .page-neupatienten .np-preferences .btn:hover{color:#29231e}
}
@media(max-width:1050px){
  .page-neupatienten .np-hero-layout{gap:28px 32px}
  .page-neupatienten .np-preferences{padding:26px}
  .page-neupatienten .np-preference-choice{padding:12px;gap:8px}
  .page-neupatienten .np-split{gap:50px}
}
@media(max-width:760px){
  .page-neupatienten #main>section{padding:64px 0}
  .page-neupatienten #main>.np-hero{padding:124px 0 56px}
  .page-neupatienten .np-hero-layout,.page-neupatienten .np-split{grid-template-columns:minmax(0,1fr);gap:38px}
  .page-neupatienten .np-hero-layout{grid-template-rows:auto;grid-template-areas:"welcome" "preferences" "photo";gap:28px}
  .page-neupatienten .np-hero h1{font-size:clamp(42px,8vw,60px);max-width:11em;margin:20px 0}
  .page-neupatienten .np-quick-links{margin-top:18px}
  .page-neupatienten .np-photo{max-width:420px;margin:4px 0 0 auto}
  .page-neupatienten .np-preferences{padding:26px}
  .page-neupatienten .np-preferences h2{font-size:36px;max-width:12em}
  .page-neupatienten .np-preference-choice{min-height:76px;font-size:13px;padding:13px}
  .page-neupatienten .np-section-intro h2{margin:20px 0}
  .page-neupatienten .np-steps li{padding:23px 0}
  .page-neupatienten .np-contact-close{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:48px;padding-top:36px}
  .page-neupatienten .np-contact-close .np-actions{justify-content:flex-start}
}
@media(max-width:390px){
  .page-neupatienten .np-hero .eyebrow{font-size:9px;letter-spacing:.14em;gap:12px}
  .page-neupatienten .np-hero .eyebrow::before{width:26px}
  .page-neupatienten .np-actions{gap:10px 18px}
  .page-neupatienten .np-actions .btn{width:100%;padding:16px 18px}
  .page-neupatienten .np-preferences{padding:20px 17px}
  .page-neupatienten .np-preferences h2{font-size:32px}
  .page-neupatienten .np-preferences-choices{gap:8px}
  .page-neupatienten .np-preference-choice{padding:11px 9px;font-size:13px;gap:6px}
  .page-neupatienten .np-preference-mark{flex-basis:18px;width:18px;height:18px}
  .page-neupatienten .np-steps li{grid-template-columns:30px minmax(0,1fr);gap:14px}
  .page-neupatienten .np-steps h3,.page-neupatienten .np-preparation-list h3,.page-neupatienten .np-faq summary{font-size:24px}
}
@media(max-width:340px){
  .page-neupatienten .np-preferences-choices{grid-template-columns:minmax(0,1fr)}
  .page-neupatienten .np-preference-choice{min-height:54px;font-size:13px}
}
@media(prefers-reduced-motion:no-preference){
  .page-neupatienten .is-interactive .np-preference-info:not([hidden]){animation:np-info-appear .24s ease-out both}
}
@media(prefers-reduced-motion:reduce){
  .page-neupatienten .np-preference-choice,.page-neupatienten .np-preference-mark{transition:none}
}
@keyframes np-info-appear{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
