:root{--cream:#f0eadf;--paper:#f8f5ef;--ink:#17211b;--lime:#d8ef68;--peach:#e9a885;--line:rgba(23,33,27,.18);--serif:"Italiana",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:92px;padding:0 clamp(24px,5vw,80px);display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:20}.brand{display:flex;flex-direction:column;line-height:.82;letter-spacing:.18em}.brand span{font-size:10px;margin-left:2px}.brand strong{font-family:var(--serif);font-size:29px;letter-spacing:.05em}.site-header nav{display:flex;gap:32px;margin-left:auto;font-size:13px}.site-header nav a{transition:opacity .2s}.site-header nav a:hover{opacity:.55}.header-cta{font-size:12px;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--ink);padding:14px 20px}.menu-toggle{display:none;border:0;background:none;width:34px;padding:6px}.menu-toggle span:not(.sr-only){height:1px;background:var(--ink);display:block;margin:6px 0}
.hero{min-height:calc(100vh - 92px);display:grid;grid-template-columns:58% 42%;overflow:hidden}.hero-copy{padding:clamp(65px,9vw,130px) clamp(24px,7vw,110px) 36px;display:flex;flex-direction:column}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:600;margin:0 0 24px}.hero h1,.section h2{font:400 clamp(62px,8vw,126px)/.86 var(--serif);letter-spacing:-.04em;margin:0}.hero h1 em,.section h2 em{font-weight:400;color:var(--peach)}.intro{max-width:460px;font-size:18px;line-height:1.65;margin:34px 0}.hero-actions{display:flex;align-items:center;gap:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border:0;padding:17px 20px;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:600}.button-dark{background:var(--ink);color:#fff}.button-light{background:var(--lime);color:var(--ink)}.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid;padding-bottom:5px}.text-link span{margin-left:15px}.hero-meta{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.18em;margin-top:auto;padding-top:50px}.hero-art{background:var(--lime);position:relative;overflow:hidden;min-height:600px}.arch{position:absolute;border:clamp(38px,5vw,78px) solid var(--ink);border-bottom:0;border-radius:50% 50% 0 0}.arch-one{width:75%;height:90%;bottom:-30%;left:-18%;transform:rotate(-18deg)}.arch-two{width:88%;height:105%;top:-35%;right:-40%;transform:rotate(25deg)}.arch-three{width:42%;height:66%;bottom:-10%;right:5%;border-color:var(--peach);transform:rotate(18deg)}.hero-art p{position:absolute;top:50%;left:50%;z-index:2;transform:translate(-50%,-50%) rotate(-8deg);font:26px/1 var(--serif);text-align:center;background:var(--paper);padding:22px;border-radius:50%}
.ticker{background:var(--ink);color:var(--paper);height:82px;display:flex;align-items:center;justify-content:space-around;font:24px var(--serif);letter-spacing:.12em}.ticker i{color:var(--lime);font-style:normal}.section{padding:clamp(85px,11vw,160px) clamp(24px,7vw,110px)}.section h2{font-size:clamp(52px,6vw,86px)}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:80px}.section-heading .eyebrow{width:30%}.service-list{margin-left:30%}.service-list article{display:grid;grid-template-columns:50px 1fr auto;gap:25px;align-items:start;border-top:1px solid var(--ink);padding:30px 0}.service-list .number{font-size:11px}.service-list h3{font:38px var(--serif);margin:-8px 0 8px}.service-list p{margin:0;color:#526057;line-height:1.5}.service-list strong{font-size:13px;white-space:nowrap}.about{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,9vw,140px);align-items:center}.about-visual{aspect-ratio:4/5;background:var(--peach);position:relative;overflow:hidden}.sun{position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:var(--lime);top:12%;left:15%}.profile{position:absolute;width:45%;height:70%;background:var(--ink);border-radius:50% 50% 8% 8%;bottom:-10%;left:28%;transform:rotate(-8deg)}.about-visual span{position:absolute;bottom:20px;left:20px;color:#fff;font-size:10px;letter-spacing:.18em}.about-copy>p:not(.eyebrow){font-size:17px;line-height:1.75;color:#455047}.about-copy .text-link{display:inline-block;margin-top:20px}.hours{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:12vw}.hours h2 em{color:var(--lime)}.hours-note{color:#bac1bc;line-height:1.6;margin-top:36px}.hours>div>a{display:inline-block;margin-top:12px;border-bottom:1px solid}.hours dl{margin:0}.hours dl div{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.2);padding:17px 0}.hours dt,.hours dd{margin:0;font-size:14px}.hours dd{color:#c7cec9}.contact{background:var(--peach);display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact-copy>p:not(.eyebrow){font-size:17px;line-height:1.6;max-width:480px}.contact address{font-style:normal;line-height:1.6;margin-top:35px}.contact form{background:var(--ink);color:#fff;padding:clamp(28px,5vw,64px);align-self:start}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact label{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:25px}.contact input:not([type=checkbox]),.contact select,.contact textarea{display:block;width:100%;border:0;border-bottom:1px solid #798078;background:transparent;color:#fff;padding:12px 0;outline:none;border-radius:0}.contact select option{color:var(--ink)}.contact textarea{resize:vertical}.contact input:focus,.contact select:focus,.contact textarea:focus{border-color:var(--lime)}.privacy{display:flex!important;gap:12px;align-items:flex-start;line-height:1.5;color:#bcc2be;text-transform:none!important;letter-spacing:0!important}.privacy input{accent-color:var(--lime)}.form-status{font-size:13px;color:var(--lime);min-height:20px}.location{height:480px}.map-placeholder{height:100%;position:relative;display:flex;align-items:center;justify-content:center;background-color:#d9d4ca;background-image:linear-gradient(30deg,transparent 49%,rgba(23,33,27,.13) 50%,transparent 51%),linear-gradient(120deg,transparent 49%,rgba(23,33,27,.1) 50%,transparent 51%);background-size:120px 120px}.pin{position:absolute;width:50px;height:50px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--peach);display:grid;place-items:center;font:22px var(--serif);color:var(--ink)}.pin::first-letter{transform:rotate(45deg)}.map-consent{position:absolute;right:6vw;bottom:40px;background:var(--paper);padding:24px;max-width:390px}.map-consent p{font-size:12px;line-height:1.5}.location iframe{width:100%;height:100%;border:0}footer{background:var(--paper);padding:60px clamp(24px,7vw,110px) 30px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.footer-brand strong{font-size:42px}footer>p{font:24px var(--serif);text-align:right}footer>div{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;display:flex;gap:28px;font-size:11px}footer>div span{margin-right:auto}
@media(max-width:800px){.site-header{height:72px;padding:0 20px}.header-cta,.site-header nav{display:none}.menu-toggle{display:block;margin-left:auto}.site-header.menu-open nav{display:flex;position:absolute;top:72px;left:0;right:0;margin:0;background:var(--paper);flex-direction:column;padding:30px 24px;border-bottom:1px solid var(--line);font-size:18px}.hero{grid-template-columns:1fr}.hero-copy{min-height:650px}.hero-art{min-height:480px}.hero h1{font-size:clamp(58px,18vw,85px)}.hero-meta{margin-top:auto}.ticker{height:68px}.ticker span{font-size:18px}.section-heading{display:block;margin-bottom:50px}.section-heading .eyebrow{width:auto}.service-list{margin-left:0}.service-list article{grid-template-columns:35px 1fr}.service-list strong{grid-column:2}.service-list h3{font-size:31px}.about,.hours,.contact{grid-template-columns:1fr}.about-visual{max-height:620px}.field-row{grid-template-columns:1fr}.map-consent{left:20px;right:20px;bottom:20px}footer{grid-template-columns:1fr;gap:20px}footer>p{text-align:left}footer>div{grid-column:auto;flex-wrap:wrap}footer>div span{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Native Auswahlmenüs brauchen unter Windows explizite Kontrastfarben. */
.contact select option{background:#f8f5ef;color:#17211b}
.contact select option:checked{background:#d8ef68;color:#17211b}

