/* Renate · Modernisierung der Praxiswebseite, 15.10.2026 */
:root { --rn-green:#465b4f; --rn-brown:#49362f; --rn-taupe:#9d775c; --rn-copper:#cc8240; --rn-cream:#f5dcbf; --rn-paper:#fffaf4; }
body:has(.rn-site) { margin:0; background:var(--rn-paper); color:var(--rn-brown); font-family:Arial,Helvetica,sans-serif; font-size:17px; line-height:1.65; }
.rn-site { min-height:100vh; display:flex; flex-direction:column; }
.rn-site *, .rn-site *::before, .rn-site *::after { box-sizing:border-box; }
.rn-site h1,.rn-site h2,.rn-site h3 { color:inherit; font-family:Arial,Helvetica,sans-serif; font-weight:400; line-height:1.15; }
.rn-site h1 { font-size:clamp(2.4rem,4.2vw,4rem); letter-spacing:-.045em; }
.rn-site h2 { font-size:clamp(1.8rem,3vw,2.8rem); letter-spacing:-.035em; }
.rn-site h3 { font-size:1.45rem; }
.rn-site a { color:var(--rn-green); text-underline-offset:4px; }
.rn-site a:hover { color:var(--rn-brown); }
.rn-site a:focus-visible,.rn-site button:focus-visible { outline:3px solid var(--rn-copper); outline-offset:5px; }
.rn-skip { position:fixed; top:-100px; left:16px; padding:12px 20px; background:var(--rn-cream); z-index:1000; }
.rn-skip:focus { top:10px; }
.rn-header { position:relative; z-index:20; width:100%; display:flex; align-items:center; gap:24px; padding:23px max(24px,calc((100vw - 1200px)/2)); border-bottom:1px solid #49362f18; background:var(--rn-paper); }
.rn-logo { display:block; flex:0 0 244px; }
.rn-logo img { display:block; width:244px; height:auto; }
.rn-header .cms-sticky-nav-container { position:static!important; flex:1; min-width:0; min-height:0; height:auto!important; }
.rn-header .cms-top-bar { transform:none!important; position:static!important; width:100%!important; max-width:none!important; min-height:0; padding:0; background:transparent; border:0; box-shadow:none; color:var(--rn-brown); }
.rn-header .cms-top-bar ul { background:var(--rn-paper); }
.rn-header #responsive-menu { justify-content:flex-end; }
.rn-header .cms-brand { display:none; }
.rn-header .menu a { font-size:.9rem; padding:12px 14px; color:var(--rn-brown); }
.rn-header .menu .is-active>a { color:var(--rn-green); background:transparent; text-decoration:underline; text-decoration-color:var(--rn-copper); text-decoration-thickness:2px; text-underline-offset:9px; }
.rn-header .top-bar-right .menu { flex-wrap:wrap; }
.rn-header .top-bar-title { margin:0; }
.rn-content { flex:1; }
.rn-site .cms-main { max-width:1248px; margin:0 auto; padding:36px 24px 80px; background:transparent; border-radius:0; box-shadow:none; min-height:0; }
.rn-site .cms-main>.grid-x { row-gap:0; }
.rn-site .cms-content-box { margin-top:0; margin-bottom:0; }
.rn-site .rn-box-hero { margin-bottom:28px; }
.rn-hero { display:grid; grid-template-columns:1fr 1fr; min-height:540px; position:relative; background:var(--rn-green); color:var(--rn-paper); }
.rn-hero-copy { padding:60px 46px 56px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; position:relative; z-index:1; }
.rn-kicker { font-size:.75rem; font-weight:700; letter-spacing:.15em; line-height:1.6; text-transform:uppercase; margin:0 0 24px; display:flex; align-items:center; gap:11px; }
.rn-kicker::before { content:""; display:block; flex:0 0 9px; width:9px; height:9px; background:var(--rn-copper); }
.rn-hero h1 { margin:0 0 28px; max-width:520px; }
.rn-hero .rn-kicker { color:var(--rn-cream); }
.rn-hero-location { color:var(--rn-cream); font-size:.9rem; margin:0 0 26px; }
.rn-hero-photo { min-width:0; position:relative; overflow:hidden; }
.rn-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:28% center; position:absolute; inset:0; }
.rn-squares { position:absolute; width:148px; height:148px; right:0; bottom:0; display:grid; grid-template-columns:repeat(3,1fr); gap:6px; z-index:2; }
.rn-squares span { background:var(--rn-cream); }
.rn-squares span:nth-child(2),.rn-squares span:nth-child(6) { background:var(--rn-taupe); }
.rn-squares span:nth-child(3),.rn-squares span:nth-child(7) { background:var(--rn-copper); }
.rn-squares span:nth-child(1),.rn-squares span:nth-child(5) { background:transparent; }
.rn-site .rn-button { display:inline-flex; align-items:center; gap:28px; padding:14px 20px; border:1px solid var(--rn-cream); background:var(--rn-cream); color:var(--rn-brown); font-size:.94rem; font-weight:700; text-decoration:none; }
.rn-button::after { content:"↗"; font-size:1.25rem; font-weight:400; }
.rn-site .rn-button:hover { background:var(--rn-paper); color:var(--rn-brown); }
.rn-box-hours,.rn-box-contact { align-self:stretch; display:flex; }
.rn-info { width:100%; padding:36px 38px; background:var(--rn-cream); }
.rn-box-contact .rn-info { background:var(--rn-brown); color:var(--rn-paper); }
.rn-info .rn-kicker { margin-bottom:14px; }
.rn-info h2 { font-size:1.8rem; margin:0 0 22px; }
.rn-site .rn-hours { margin:0; border:0; background:transparent; color:inherit; font-size:.91rem; border-collapse:collapse; }
.rn-site .rn-hours tbody,.rn-site .rn-hours tr { background:transparent; border:0; }
.rn-site .rn-hours th,.rn-site .rn-hours td { padding:9px 0; border-bottom:1px solid #49362f25; text-align:left; font-weight:400; vertical-align:top; }
.rn-site .rn-hours th { padding-right:14px; }
.rn-hours td span { white-space:nowrap; }
.rn-note { font-size:.82rem; margin:17px 0 0; }
.rn-contact-list { margin:0; font-size:.94rem; }
.rn-contact-list>div { display:grid; grid-template-columns:80px 1fr; gap:10px; padding:8px 0; border-bottom:1px solid #f5dcbf30; }
.rn-contact-list dt { font-weight:400; color:var(--rn-cream); }
.rn-contact-list dd { margin:0; overflow-wrap:anywhere; }
.rn-site .rn-box-contact a { color:var(--rn-paper); }
.rn-box-heading { padding-top:84px; padding-bottom:30px; }
.rn-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; }
.rn-heading h2 { margin:0; }
.rn-heading .rn-kicker { color:var(--rn-green); margin-bottom:13px; }
.rn-heading-mark { display:grid; grid-template-columns:repeat(3,12px); gap:7px; padding:0 7px 7px 0; }
.rn-heading-mark i { width:12px; height:12px; background:var(--rn-copper); }
.rn-heading-mark i:nth-child(2),.rn-heading-mark i:nth-child(4) { background:var(--rn-cream); }
.rn-box-service { margin-bottom:20px!important; }
.rn-service { display:flex; align-items:center; gap:20px; min-height:98px; height:100%; padding:20px 23px; background:#fff; border:1px solid #9d775c40; }
.rn-service span { flex:0 0 13px; width:13px; height:13px; background:var(--rn-copper); }
.rn-service h3 { margin:0; font-size:1.02rem; line-height:1.4; overflow-wrap:anywhere; }
.rn-box-service:nth-of-type(even) .rn-service span { background:var(--rn-green); }
.rn-box-team { display:flex; margin-bottom:20px!important; }
.rn-person { width:100%; display:grid; grid-template-columns:42% 1fr; background:var(--rn-cream); }
.rn-person-photo { background:#fff; width:100%; height:100%; min-height:310px; object-fit:cover; object-position:center top; }
.rn-person-copy { padding:30px 27px; }
.rn-person-copy .rn-kicker { font-size:.65rem; letter-spacing:.08em; margin-bottom:10px; }
.rn-person h3 { margin:0 0 22px; font-size:1.7rem; }
.rn-person h4 { font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; font-weight:700; }
.rn-person ul { margin:0; padding:0; list-style:none; font-size:.8rem; line-height:1.6; }
.rn-person li { padding:9px 0; border-top:1px solid #49362f25; }
.rn-box-ending { margin-top:50px!important; }
.rn-ending { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:34px 38px; background:var(--rn-green); color:var(--rn-paper); }
.rn-ending p { font-size:1.7rem; letter-spacing:-.03em; margin:0; }
.rn-site .cms-footer { height:auto; min-height:80px; overflow:visible; position:relative; margin-top:auto; background:var(--rn-brown); color:var(--rn-cream); border:0; padding:0; }
.rn-site .cms-footer a { color:var(--rn-cream); }
.rn-site .cms-footer-compact { max-width:1248px; padding:28px 24px; font-size:.9rem; gap:20px; }
.rn-site .cms-footer-right a { margin-left:19px; }
.rn-legal { max-width:860px; padding:34px 0; overflow-wrap:anywhere; }
.rn-legal h1 { margin:0 0 40px; }
.rn-legal p,.rn-legal ul { margin-bottom:24px; }
.rn-legal h2 { font-size:1.5rem; margin:40px 0 20px; }
.rn-site .callout { border-radius:0; }
.rn-site .button { border-radius:0; }
@media(min-width:1100px) { .rn-box-service.large-3 { width:calc(25% - 1.875rem); } }
@media(max-width:1099px) { .rn-header { gap:15px; padding:20px 24px; } .rn-logo,.rn-logo img { width:210px; flex-basis:210px; } .rn-header .menu a { padding:12px 10px; font-size:.83rem; } .rn-hero { min-height:495px; } .rn-hero-copy { padding:42px 32px; } .rn-person { grid-template-columns:1fr; } .rn-person-photo { aspect-ratio:1.35; height:auto; min-height:0; } }
@media(max-width:639px) { body:has(.rn-site) { font-size:16px; } .rn-header { gap:18px; flex-wrap:wrap; padding:17px 20px; } .rn-logo,.rn-logo img { width:200px; flex-basis:200px; } .rn-header .cms-sticky-nav-container { flex:1; } .rn-header .cms-top-bar-title { display:flex; justify-content:flex-end; } .rn-header #responsive-menu { position:absolute; right:0; left:0; top:100%; padding:14px 20px; background:var(--rn-paper); border-bottom:2px solid var(--rn-copper); box-shadow:0 16px 24px #49362f18; } .rn-header .menu a { font-size:1rem; padding:14px 12px; } .rn-site .cms-main { padding:20px 20px 48px; } .rn-hero { grid-template-columns:1fr; } .rn-hero-copy { padding:36px 27px 40px; } .rn-hero h1 { font-size:2.45rem; margin-bottom:22px; } .rn-hero-photo { min-height:290px; } .rn-hero-photo img { object-position:25% 40%; } .rn-kicker { font-size:.68rem; margin-bottom:20px; } .rn-squares { width:105px; height:105px; gap:4px; } .rn-info { padding:29px 24px; } .rn-box-hours { margin-bottom:20px!important; } .rn-hours { font-size:.83rem!important; } .rn-hours th { padding-right:9px!important; } .rn-hours td span { display:block; } .rn-contact-list>div { grid-template-columns:64px 1fr; gap:6px; } .rn-box-heading { padding-top:52px; padding-bottom:24px; } .rn-heading h2 { font-size:1.85rem; } .rn-heading-mark { display:none; } .rn-service { padding:19px 16px; gap:12px; min-height:100px; } .rn-service h3 { font-size:.88rem; } .rn-service span { flex-basis:9px; width:9px; height:9px; } .rn-person { grid-template-columns:1fr; } .rn-person-photo { aspect-ratio:1.12; } .rn-person-copy { padding:27px; } .rn-person ul { font-size:.9rem; } .rn-ending { padding:28px 24px; flex-direction:column; align-items:flex-start; gap:22px; } .rn-ending p { font-size:1.55rem; } .rn-site .cms-footer-compact { flex-direction:column; align-items:flex-start; gap:12px; padding:25px 20px; } .rn-site .cms-footer-right a { margin-left:0; margin-right:18px; display:inline-block; } .rn-legal { padding:16px 0; } .rn-legal h1 { font-size:2.2rem; } }
@media(prefers-reduced-motion:no-preference) { html:has(.rn-site) { scroll-behavior:smooth; } .rn-site .rn-button { transition:background .2s; } }
@media print { .rn-header,.cms-footer,.cms-editor-toolbar,.cms-box-controls,.rn-button { display:none!important; } .rn-site .cms-main { padding:0; } .rn-hero { min-height:0; color:#000; } .rn-hero-copy { padding:20px; } .rn-hero-photo { display:none; } .rn-site .cms-content-box { break-inside:avoid; } }

.rn-site .cms-footer .grid-container { margin-left:auto; margin-right:auto; }
.rn-site .cms-footer-compact small { white-space:normal; overflow:visible; text-overflow:clip; font-size:.8rem; line-height:1.7; }
@media(max-width:639px) { .rn-site .cms-footer-right { margin-left:0; max-width:100%; text-align:left; } }

@media(max-width:639px) { .rn-header #responsive-menu .is-drilldown { max-width:none!important; width:100%; } }

@media(max-width:359px) { .rn-box-service { width:calc(100% - 1.875rem); } }

.rn-box-legal .rn-legal { padding:22px 0 0; }
.rn-box-legal .rn-legal h1 { margin-bottom:16px; }
.rn-box-legal .rn-legal h2 { margin-top:18px; }

.rn-header .menu-icon::after,.rn-header .menu-icon:hover::after { background:var(--rn-green); box-shadow:0 7px 0 var(--rn-green),0 14px 0 var(--rn-green); }
