@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/archivo-semibold.woff) format('woff')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/archivo-bold.woff) format('woff')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/archivo-extrabold.woff) format('woff')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/dmsans-regular.woff) format('woff')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/dmsans-medium.woff) format('woff')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/dmsans-bold.woff) format('woff')}
:root{--bg:#FFFFFF;--surface:#F6F4EE;--card:#FFFFFF;--text:#1C252B;--muted:#4C5960;--brand:#2B3A44;--logo:#2B3A44;--btnBg:#2B3A44;--btnText:#FFFFFF;--softBg:#DCE2E4;--softText:#2B3A44;--warmBg:#F4E4C0;--warmText:#5C4210;--star:#C8932F;--boxBg:#2B3A44;--boxText:#FFFFFF;--boxBorder:#2B3A44;--border:#D2CEC2;--divider:#E6E2D6;--inputBg:#FFFFFF;--link:#2B3A44;--mapBg:#ECE9E1;--mapRoad:#FFFFFF;--mapCase:#D2CEC2;--mapLabel:#4C5960;--mapTram:#9AA7AE;--m-bg:#ECE9E1;--m-road:#FFFFFF;--m-casing:#D2CEC2;--m-label:#4C5960;--m-text:#1C252B;--m-muted:#4C5960;--m-tram:#9AA7AE;--m-park:#D6E5CC;--m-water:#B6D4E7;--m-waterText:#3F6E8C;--m-school:#DCCFB9;--m-schoolLine:#B5A68E;--m-schoolText:#5C4A30;--m-pin:#2B3A44;--m-link:#2B3A44;--dotOn:#2B3A44;--dotOff:#C9CFD2;color-scheme:light}
:root[data-theme=dark]{--bg:#12181C;--surface:#1A2227;--card:#222C32;--text:#ECEAE4;--muted:#A9B4B9;--brand:#D9A441;--logo:#F6F4EE;--btnBg:#D9A441;--btnText:#1C252B;--softBg:#2C3A43;--softText:#DCE2E4;--warmBg:#4A3A18;--warmText:#F4E4C0;--star:#D9A441;--boxBg:#2B3A44;--boxText:#F6F4EE;--boxBorder:#3A4A55;--border:#3A464D;--divider:#2E3940;--inputBg:#12181C;--link:#D9A441;--mapBg:#1A2227;--mapRoad:#33424B;--mapCase:#232D33;--mapLabel:#A9B4B9;--mapTram:#5E6E77;--m-bg:#1A2227;--m-road:#33424B;--m-casing:#232D33;--m-label:#A9B4B9;--m-text:#ECEAE4;--m-muted:#A9B4B9;--m-tram:#5E6E77;--m-park:#1E2A23;--m-water:#16303F;--m-waterText:#7FA9C4;--m-school:#3A3A33;--m-schoolLine:#5C5A4E;--m-schoolText:#E6DCC6;--m-pin:#D9A441;--m-link:#D9A441;--dotOn:#D9A441;--dotOff:#3A464D;color-scheme:dark}
@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg:#12181C;--surface:#1A2227;--card:#222C32;--text:#ECEAE4;--muted:#A9B4B9;--brand:#D9A441;--logo:#F6F4EE;--btnBg:#D9A441;--btnText:#1C252B;--softBg:#2C3A43;--softText:#DCE2E4;--warmBg:#4A3A18;--warmText:#F4E4C0;--star:#D9A441;--boxBg:#2B3A44;--boxText:#F6F4EE;--boxBorder:#3A4A55;--border:#3A464D;--divider:#2E3940;--inputBg:#12181C;--link:#D9A441;--mapBg:#1A2227;--mapRoad:#33424B;--mapCase:#232D33;--mapLabel:#A9B4B9;--mapTram:#5E6E77;--m-bg:#1A2227;--m-road:#33424B;--m-casing:#232D33;--m-label:#A9B4B9;--m-text:#ECEAE4;--m-muted:#A9B4B9;--m-tram:#5E6E77;--m-park:#1E2A23;--m-water:#16303F;--m-waterText:#7FA9C4;--m-school:#3A3A33;--m-schoolLine:#5C5A4E;--m-schoolText:#E6DCC6;--m-pin:#D9A441;--m-link:#D9A441;--dotOn:#D9A441;--dotOff:#3A464D;color-scheme:dark}}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',system-ui,sans-serif;font-size:17px;line-height:1.6;transition:background-color .25s,color .25s}
img{max-width:100%;height:auto}
h1,h2,h3{overflow-wrap:break-word}
@media (max-width: 640px){h1,h2,h3{hyphens:auto;-webkit-hyphens:auto}}
a:hover{opacity:.85}
[id]{scroll-margin-top:16px}
:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.skip{position:absolute;left:-9999px;top:8px;background:var(--btnBg);color:var(--btnText);padding:10px 16px;border-radius:8px;z-index:50}
.skip:focus{left:8px}
.wrap{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}
.h2{margin:0 0 12px;font-family:Archivo,sans-serif;font-size:40px;line-height:1.15}
.lead{margin:0 0 36px;color:var(--muted);max-width:680px}
.chip{display:inline-block;padding:8px 16px;border-radius:999px;background:var(--softBg);color:var(--text);font-weight:700;font-size:15px}
.li{display:flex;gap:14px;align-items:flex-start}
.li svg{flex:0 0 22px;margin-top:3px}
.card{background:var(--card);border-radius:20px;padding:28px}
.in{background:var(--inputBg);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:14px;font:inherit}
.lbl{display:flex;flex-direction:column;gap:6px;font-weight:500}
.row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 0}
.price{font-family:Archivo,sans-serif;font-size:28px;font-weight:700;white-space:nowrap}
.btn{background:var(--btnBg);color:var(--btnText);text-decoration:none;font-weight:700;padding:16px 30px;border-radius:999px;display:inline-block}
a{color:var(--link)}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
/* Kopfzeile */
.site-head .bar{max-width:1200px;margin:0 auto;padding:20px 24px;display:flex;gap:16px;align-items:center;justify-content:space-between;position:relative}
.brand{text-decoration:none;display:flex;align-items:center;gap:12px}
.brand .nm{font-family:Archivo,sans-serif;font-weight:800;font-size:21px;color:var(--text);line-height:1.05}
.brand .sub{margin-top:5px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.site-nav{display:flex;align-items:center;gap:8px 24px;font-size:15px;font-weight:500}
.nav-links{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center}
.nav-links a{color:var(--text);text-decoration:none;padding:10px 0}
.nav-cta{color:var(--btnText)!important;background:var(--btnBg);text-decoration:none;padding:10px 20px;border-radius:999px;font-weight:700;white-space:nowrap}
.icon-btn{width:44px;height:44px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex:0 0 44px}
.menu-btn{display:none}
.ico-sun{display:none}
:root[data-theme=dark] .ico-sun{display:block} :root[data-theme=dark] .ico-moon{display:none}
@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .ico-sun{display:block} :root:not([data-theme=light]) .ico-moon{display:none}}
/* Karussell */
.rev{display:none} .rev.on{display:flex}
.dot span{background:var(--dotOff)} .dot.on span{background:var(--dotOn)}
/* WhatsApp */
.wa{position:fixed;right:24px;bottom:24px;z-index:10;display:flex;align-items:center;gap:10px;background:#1E8E4E;color:#FFFFFF;text-decoration:none;font-weight:700;font-size:15px;padding:14px 20px;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.22)}
.map-svg{display:block;width:100%;height:auto;border-radius:20px;overflow:hidden}
@media (max-width: 1080px){
 .menu-btn{display:flex}
 .nav-links{display:none;position:absolute;left:0;right:0;top:100%;z-index:20;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);padding:8px 24px 16px;box-shadow:0 12px 24px rgba(0,0,0,.08)}
 .nav-links a{padding:12px 0;border-bottom:1px solid var(--divider);font-size:17px}
 .site-nav.open .nav-links{display:flex}
}
@media (max-width: 640px){
 body{font-size:16px}
 .site-head .bar{padding:14px 16px}
 .wrap{padding-left:16px;padding-right:16px}
 .brand .nm{font-size:19px}
 .site-nav{gap:8px}
 .brand{gap:10px}
 .nav-cta{padding:9px 14px;font-size:14px}
 .h2{font-size:32px}
 main h2, section h2{font-size:30px!important}
 section[style*="padding: 88px 24px"], section[style*="padding: 0 24px"], div[style*="padding: 88px 24px"]{padding-left:16px!important;padding-right:16px!important}
 section[style*="88px"], div[style*="padding-top: 88px"]{padding-top:56px!important;padding-bottom:56px!important}
 .carousel{padding:28px 20px 20px!important}
 .carousel .arrow{display:none!important}
 .carousel blockquote{font-size:18px!important}
 .card{padding:22px}
 .price{font-size:24px}
 form{padding:22px!important}
 .wa{right:16px;bottom:16px;padding:12px 16px}
 .wa span{display:none}
 .hide-m{display:none!important}
 section img[style*="object-fit: cover"]{height:min(440px,110vw)!important}
}
@media (max-width: 400px){
 .site-head .bar{padding:12px 12px;gap:8px}
 .site-nav{gap:6px}
 .icon-btn{width:40px;height:40px;flex-basis:40px}
 .nav-cta{padding:8px 12px}
 .brand .nm{font-size:17px}
 .brand .sub{font-size:9px}
}
