/* EH Immobilien GmbH – Onepager · files/eh/eh.css · Contao 5 */
@font-face{font-family:"Inter Tight";font-weight:300;font-style:normal;font-display:swap;src:url("fonts/inter-tight-latin-300-normal.woff2") format("woff2")}
@font-face{font-family:"Inter Tight";font-weight:400;font-style:normal;font-display:swap;src:url("fonts/inter-tight-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Inter Tight";font-weight:500;font-style:normal;font-display:swap;src:url("fonts/inter-tight-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Inter Tight";font-weight:600;font-style:normal;font-display:swap;src:url("fonts/inter-tight-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Instrument Serif";font-weight:400;font-style:normal;font-display:swap;src:url("fonts/instrument-serif-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Instrument Serif";font-weight:400;font-style:italic;font-display:swap;src:url("fonts/instrument-serif-latin-400-italic.woff2") format("woff2")}
:root{
  --eh-green:#12352B; --eh-chalk:#F1EEE6; --eh-lime:#D6F26B; --eh-lime-dark:#7E9A1F;
  --eh-night:#0B1512; --eh-white:#FFFFFF; --eh-line:rgba(18,53,43,.22);
  --eh-gutter:clamp(16px,4vw,56px); --eh-max:1440px;
  --eh-pad-x:max(var(--eh-gutter), calc((100% - var(--eh-max)) / 2 + var(--eh-gutter)));
  --eh-sans:"Inter Tight",system-ui,-apple-system,"Segoe UI",sans-serif;
  --eh-serif:"Instrument Serif",Georgia,serif;
}
html,body{overflow-x:clip}
html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--eh-chalk);color:var(--eh-green);font-family:var(--eh-sans);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}
*,*::before,*::after{box-sizing:border-box}
#wrapper,#container,#main,#main>.inside,#header>.inside,#footer>.inside{margin:0;padding:0;width:auto;max-width:none;float:none}
h1,h2,h3,p{margin:0}
a{color:inherit}
:focus-visible{outline:2px solid var(--eh-lime-dark);outline-offset:3px}
.invisible{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rte>*+*{margin-top:.6em}
h1 em,h2 em,h3 em,.eh-big em{font-family:var(--eh-serif);font-style:italic;font-weight:400;letter-spacing:-.02em}
.eh-dot{color:var(--eh-lime-dark)}
#header{position:sticky;top:0;z-index:50;background:rgba(241,238,230,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.eh-header-bar{padding:16px var(--eh-pad-x);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px}
.eh-brand{display:flex;align-items:baseline;gap:12px;line-height:1;text-decoration:none;font-size:20px;font-weight:600;letter-spacing:-.03em}
.eh-brand img{width:30px;height:30px;display:block}
.eh-brand small{font-size:12px;font-weight:300;letter-spacing:.22em;text-transform:uppercase}
.eh-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 26px;font-size:15px}
.eh-nav a{text-decoration:none}
.eh-nav a:hover{text-decoration:underline;text-underline-offset:4px}
.eh-nav li:last-child a{display:inline-flex;align-items:center;min-height:44px;padding:11px 22px;border-radius:999px;background:var(--eh-green);color:var(--eh-chalk);text-decoration:none}
.mod_article.eh-section{padding:clamp(64px,9vw,140px) var(--eh-pad-x)}
.mod_article.eh-tight{padding-top:clamp(56px,7vw,110px);padding-bottom:clamp(56px,7vw,110px)}
.mod_article.eh-notop{padding-top:0}
.mod_article.eh-ruled{border-top:1px solid var(--eh-line)}
.eh-lime{background:var(--eh-lime);color:var(--eh-night)}
.eh-dark{background:var(--eh-night);color:var(--eh-chalk)}
.eh-dark h2 em{color:var(--eh-lime)}
.eh-eyebrow p{font-size:14px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:32px}
.eh-lead{margin-top:clamp(32px,4vw,56px)}
.eh-lead p{max-width:620px;font-size:clamp(18px,1.6vw,22px)}
.eh-section .eh-head h2,.eh-section>.content-text h2{font-size:clamp(40px,6vw,88px);font-weight:500;letter-spacing:-.05em;line-height:.95}
.eh-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:clamp(40px,5vw,64px)}
.eh-head .rte{display:contents}
.eh-head p{font-size:14px;letter-spacing:.14em;text-transform:uppercase}
.eh-hero h1{font-size:clamp(64px,13.5vw,228px);font-weight:500;letter-spacing:-.065em;line-height:.86}
.eh-hero h1 em{letter-spacing:-.03em}
.eh-hero-foot{margin-top:clamp(40px,6vw,80px)}
.eh-hero-foot .rte{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px}
.eh-hero-foot .rte>*+*{margin-top:0}
.eh-hero-foot p:first-child{max-width:560px;font-size:clamp(18px,1.6vw,22px)}
.eh-cta p:last-child a,.eh-form button.submit{display:inline-flex;align-items:center;gap:14px;min-height:44px;padding:20px 30px;border-radius:999px;border:0;background:var(--eh-lime);color:var(--eh-night);font:inherit;font-size:18px;font-weight:500;text-decoration:none;cursor:pointer;transition:transform .2s ease}
.eh-cta p:last-child a::after,.eh-form button.submit::after{content:"↗";font-size:20px;line-height:1}
.eh-cta p:last-child a:hover,.eh-form button.submit:hover{transform:translateY(-2px)}
.eh-form button.submit{background:var(--eh-green);color:var(--eh-chalk)}
.mod_article.eh-band{padding:0}
.eh-marquee{background:var(--eh-green);color:var(--eh-chalk);overflow:hidden;padding:22px 0}
.eh-track{display:flex;width:max-content;animation:eh-marquee 40s linear infinite;font-size:clamp(28px,4vw,56px);font-weight:500;letter-spacing:-.03em;white-space:nowrap}
.eh-track span{padding-right:48px}
.eh-track i{font-style:normal;color:var(--eh-lime)}
@keyframes eh-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.eh-track{animation:none}}
.eh-big p{font-size:clamp(48px,8.5vw,140px);font-weight:500;letter-spacing:-.06em;line-height:.92}
.eh-big s{text-decoration-thickness:.06em;opacity:.45}
#ankauf{counter-reset:eh-row}
.eh-row{counter-increment:eh-row;border-bottom:1px solid var(--eh-line)}
.eh-head+.eh-row{border-top:1px solid var(--eh-green)}
.eh-row .rte{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 40px;padding:32px 0}
.eh-row .rte>*+*{margin-top:0}
.eh-row h3{flex:1 1 360px;display:flex;align-items:baseline;font-size:clamp(36px,5.5vw,80px);font-weight:500;letter-spacing:-.05em;line-height:1}
.eh-row h3::before{content:counter(eh-row,decimal-leading-zero);flex:none;width:64px;font-size:15px;font-weight:400;letter-spacing:0}
.eh-row p{flex:1 1 280px;max-width:420px}
.eh-lime,.eh-dark{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:40px 32px;align-items:stretch}
.eh-lime>.eh-head,.eh-dark>.eh-head{grid-column:1/-1;margin-bottom:clamp(8px,2vw,24px)}
.eh-col{border-top:2px solid currentColor;padding-top:24px}
.eh-col h3{font-size:clamp(32px,3.4vw,48px);font-weight:500;letter-spacing:-.04em;margin-bottom:12px}
#ablauf{counter-reset:eh-step;gap:16px}
.eh-step{counter-increment:eh-step;border:1px solid rgba(241,238,230,.22);border-radius:4px;padding:32px;min-height:280px}
.eh-step .rte{height:100%;display:flex;flex-direction:column;justify-content:flex-start}
.eh-step h3{font-size:28px;font-weight:500;letter-spacing:-.03em;margin-bottom:10px}
.eh-step h3::before{content:counter(eh-step);display:block;margin-bottom:48px;font-family:var(--eh-serif);font-weight:400;font-size:96px;line-height:.8;color:var(--eh-lime)}
.eh-step p{color:rgba(241,238,230,.8);font-size:16px}
.eh-stagger .rte>*+*{margin-top:0}
.eh-stagger p{font-size:clamp(34px,10vw,150px);overflow-wrap:anywhere;font-weight:500;letter-spacing:-.06em;line-height:.98}
.eh-stagger p:nth-child(2){font-family:var(--eh-serif);font-style:italic;font-weight:400;letter-spacing:-.03em;padding-left:clamp(0px,6vw,160px)}
.eh-stagger p:nth-child(3){padding-left:clamp(0px,12vw,320px)}
@media (max-width:640px){.eh-stagger p:nth-child(3){padding-left:0}}
.eh-md{display:flex;flex-wrap:wrap;gap:24px 64px;align-items:baseline;justify-content:space-between}
.eh-md>*{flex:1 1 360px}
.eh-md .eh-head{margin:0}
.eh-md .eh-head h2{font-size:clamp(36px,5vw,72px);line-height:1}
.eh-md .eh-text p{max-width:500px;font-size:clamp(17px,1.5vw,20px);line-height:1.55}
.eh-xl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:48px 64px;align-items:start}
.eh-xl>.eh-head{grid-column:1/-1;margin-bottom:16px}
.eh-xl .eh-head h2{font-size:clamp(64px,14vw,240px);letter-spacing:-.07em;line-height:.85}
.eh-contact p{font-size:clamp(20px,2vw,28px);letter-spacing:-.02em;line-height:1.35}
.eh-contact p+p{margin-top:24px}
.eh-contact small{display:block;font-size:15px;letter-spacing:0;line-height:1.5;opacity:.8}
@media (max-width:900px){.eh-xl{grid-template-columns:1fr}}
.eh-form{background:var(--eh-white);border-radius:6px;padding:clamp(24px,3.5vw,48px)}
.eh-form .formbody{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:28px 32px}
.eh-form .widget{display:flex;flex-direction:column;gap:8px;margin:0;min-width:0}
.eh-form .eh-full,.eh-form .widget-textarea,.eh-form .widget-checkbox,.eh-form .widget-explanation,.eh-form .widget-altcha,.eh-form .widget-submit{grid-column:1/-1}
.eh-form label,.eh-form legend{font-size:14px}
.eh-form span.mandatory{margin-left:2px}
.eh-form input.text,.eh-form select,.eh-form textarea{width:100%;font:inherit;font-size:18px;padding:12px 0;border:0;border-bottom:1px solid var(--eh-green);border-radius:0;background:transparent;color:var(--eh-green);-webkit-appearance:none;appearance:none}
.eh-form select{padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--eh-green) 50%),linear-gradient(135deg,var(--eh-green) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 6px) 55%;background-size:6px 6px;background-repeat:no-repeat}
.eh-form textarea{min-height:110px;resize:vertical}
.eh-form input.text:focus,.eh-form select:focus,.eh-form textarea:focus{outline:none;border-bottom:2px solid var(--eh-green)}
.eh-form ::placeholder{color:rgba(18,53,43,.45)}
.eh-form fieldset{border:0;margin:0;padding:0;min-width:0}
.eh-form fieldset legend{padding:0;margin-bottom:10px}
.eh-form fieldset>span{display:flex;gap:12px;align-items:flex-start;line-height:1.5}
.eh-form input[type=checkbox]{width:20px;height:20px;margin:2px 0 0;accent-color:var(--eh-green);flex:none}
.eh-form .widget-explanation h3{font-size:clamp(28px,3vw,40px);font-weight:500;letter-spacing:-.04em}
.eh-form .widget-explanation p{font-size:13px;opacity:.75;margin-top:6px}
.eh-form p.error,.eh-form .error{color:#A3241A;font-size:14px}
.eh-form input.error,.eh-form select.error,.eh-form textarea.error{border-bottom-color:#A3241A}
.eh-form .widget-submit{flex-direction:row;justify-content:flex-end}
.eh-form .message,.eh-form .confirmation{font-size:20px}
.eh-legal{max-width:none}
.eh-legal .rte{max-width:760px}
.eh-legal h1{overflow-wrap:anywhere;hyphens:auto;font-size:clamp(36px,6vw,88px);font-weight:500;letter-spacing:-.05em;line-height:.95;margin-bottom:40px}
.eh-legal h2{font-size:20px;font-weight:500;margin-top:32px}
.eh-legal .rte>*+*{margin-top:1em}
.eh-footer-bar{margin:0 var(--eh-pad-x);padding:24px 0 40px;border-top:1px solid var(--eh-line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:14px}
.eh-footer-bar ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 24px}
@media (max-width:640px){
  .eh-nav ul{gap:4px 16px;font-size:14px}
  .eh-nav li:last-child a{padding:10px 16px}
  .eh-nav li:not(:last-child){display:none}
  .eh-header-bar{flex-wrap:nowrap}
  .eh-row h3::before{width:44px}
}
:root{--eh-ease:cubic-bezier(.16,1,.3,1)}
#header{transition:box-shadow .4s var(--eh-ease),background-color .4s var(--eh-ease)}
.eh-header-bar{transition:padding .4s var(--eh-ease)}
.eh-scrolled #header{box-shadow:0 1px 0 var(--eh-line)}
.eh-scrolled .eh-header-bar{padding-top:10px;padding-bottom:10px}
@media (prefers-reduced-motion:no-preference){
  .eh-js .eh-hero h1{clip-path:inset(0 0 100% 0);transform:translateY(.12em);transition:clip-path 1.2s var(--eh-ease) .15s,transform 1.2s var(--eh-ease) .15s}
  .eh-js .eh-hero .eh-eyebrow,.eh-js .eh-hero .eh-hero-foot{opacity:0;transform:translateY(16px);transition:opacity 1s var(--eh-ease),transform 1s var(--eh-ease)}
  .eh-js .eh-hero .eh-hero-foot{transition-delay:.55s}
  .eh-ready .eh-hero h1{clip-path:inset(0 0 -10% 0);transform:none}
  .eh-ready .eh-hero .eh-eyebrow,.eh-ready .eh-hero .eh-hero-foot{opacity:1;transform:none}
  .eh-js [data-eh-reveal]{opacity:0;transform:translateY(28px);transition:opacity 1s var(--eh-ease),transform 1s var(--eh-ease);transition-delay:var(--eh-delay,0s)}
  .eh-js [data-eh-reveal].is-in{opacity:1;transform:none}
  .eh-js .eh-stagger p{opacity:0;transform:translateX(-4vw);transition:opacity 1.1s var(--eh-ease),transform 1.1s var(--eh-ease)}
  .eh-js .eh-stagger p:nth-child(2){transition-delay:.12s}
  .eh-js .eh-stagger p:nth-child(3){transition-delay:.24s}
  .eh-js .eh-stagger.is-in p{opacity:1;transform:none}
  .eh-js .eh-big s{text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 55%/0% .06em no-repeat;transition:background-size 1s var(--eh-ease) .5s}
  .eh-js .eh-big.is-in s{background-size:100% .06em}
  .eh-row h3{transition:transform .5s var(--eh-ease)}
  .eh-row:hover h3{transform:translateX(12px)}
  .eh-step:hover{border-color:var(--eh-lime)}
  .eh-js .eh-step.is-in:hover{transform:translateY(-4px)}
}

/* ---------- Cookiebar (Contao Cookiebar) – Dialog im EH-Stil ---------- */
.contao-cookiebar.eh-cookiebar{--cc-r:10px;font-family:var(--eh-sans);color:var(--eh-green);padding:16px;z-index:9999}
.contao-cookiebar.eh-cookiebar{--ccb-backdrop:rgba(11,21,18,.55)}
.contao-cookiebar.eh-cookiebar.cc-blocked.cc-active:not(.cc-saved){-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.contao-cookiebar.eh-cookiebar .cc-inner{width:min(100%,880px);max-height:calc(100vh - 32px);overflow:auto;padding:0;border-radius:var(--cc-r);background:var(--eh-white);box-shadow:0 30px 80px rgba(11,21,18,.35);display:flex;flex-direction:column}
.eh-cookiebar .cc-head{padding:clamp(24px,4vw,44px) clamp(24px,4vw,44px) 8px;border-bottom:0}
.eh-cookiebar .cc-head h3{font-size:clamp(22px,2.4vw,28px);font-weight:500;letter-spacing:-.03em;margin:0 0 14px;color:var(--eh-green)}
.eh-cookiebar .cc-head p{font-size:16px;line-height:1.6;color:rgba(18,53,43,.85);margin:0}
.eh-cookiebar .cc-groups{margin:16px clamp(24px,4vw,44px) 0;border-top:1px solid var(--eh-line)}
.eh-cookiebar .cc-group{border:0;border-bottom:1px solid var(--eh-line);border-radius:0;padding:14px 0;margin:0}
.eh-cookiebar .cc-group>label{font-weight:500;font-size:16px}
.eh-cookiebar .cc-cookie{background:var(--eh-chalk);border-radius:6px;border:0}
.eh-cookiebar .cc-cookie label.cookie{font-weight:500}
.eh-cookiebar .cc-cookie p,.eh-cookiebar .cc-cookie-info{font-size:13px;color:rgba(18,53,43,.75)}
.eh-cookiebar input[type=checkbox]{accent-color:var(--eh-green)}
.eh-cookiebar .cc-footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:24px clamp(24px,4vw,44px);margin-top:20px;border-top:1px solid var(--eh-line)}
.eh-cookiebar .cc-footer .cc-btn{margin:0;width:100%;min-height:52px;padding:14px 18px;border-radius:999px;font:inherit;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .25s ease,color .25s ease,transform .25s ease;border:1px solid var(--eh-green);background:transparent;color:var(--eh-green)}
.eh-cookiebar .cc-footer .cc-btn.deny{order:1}
.eh-cookiebar .cc-footer .cc-btn.save{order:2}
.eh-cookiebar .cc-footer .cc-btn.success{order:3;background:var(--eh-green);color:var(--eh-chalk)}
.eh-cookiebar .cc-footer .cc-btn:hover{transform:translateY(-1px);background:var(--eh-green);color:var(--eh-chalk)}
.eh-cookiebar .cc-footer .cc-btn.success:hover{background:var(--eh-night)}
.eh-cookiebar .cc-info{padding:0 clamp(24px,4vw,44px) 20px;font-size:13px;color:rgba(18,53,43,.75);display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
.eh-cookiebar .cc-info p{margin:0;flex:1 1 100%}
.eh-cookiebar .cc-info a{color:var(--eh-green);text-underline-offset:3px}
@media (max-width:640px){.eh-cookiebar .cc-footer{grid-template-columns:1fr}.eh-cookiebar .cc-footer .cc-btn.success{order:-1}}
.eh-footer-bar button.eh-cc-open{all:unset;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
