
/* HEIMATVIBE CI — magazine layer. No functional selectors are removed. */
html{background:#F2EDE4}
body{background:var(--hf-cream);color:var(--hf-charcoal);font-family:var(--hf-font-body);font-size:16px;line-height:1.52;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body:before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--hf-gold) 0 36%,var(--hf-green) 36% 68%,var(--hf-sand) 68%)}
.hf-shell{max-width:1500px;background:var(--hf-paper);box-shadow:0 0 54px rgba(44,36,28,.055)}
.hf-container{max-width:var(--hf-container)}

/* Typography: deliberately generous line-height to prevent glyph collision/overlap */
h1,h2,h3,h4,.hf-object-title,.hf-card__title,.hf-place-hero h1,.hf-mag-hero-card h1,.hf-b2b-hero h1{font-family:var(--hf-font-display);font-optical-sizing:auto;font-kerning:normal;letter-spacing:-.018em;overflow-wrap:anywhere}
h1{line-height:1.04} h2{line-height:1.08} h3,h4{line-height:1.14}
p,li,span,a,button,label,input,select{font-kerning:normal}
.hf-kicker,.hf-mag-section-label{text-transform:uppercase;letter-spacing:.17em;font-weight:700;color:var(--hf-gold);line-height:1.3}
.hf-editorial-tag{font-family:var(--hf-font-hand);letter-spacing:.01em}

/* Header: navigation on the left; search + HEIMATVIBE logo form one calm brand cluster on the right. */
.hf-nav{height:88px;background:rgba(255,253,248,.97);border-bottom:1px solid var(--hf-line);backdrop-filter:blur(18px);box-shadow:0 7px 28px rgba(31,31,31,.035)}
.hf-nav__inner{gap:20px;min-width:0}
.hf-nav__links{order:1;gap:30px;white-space:nowrap;margin-left:0;margin-right:auto}
.hf-nav__icons{order:2;margin-left:0;flex:0 0 auto}
.hf-logo{order:3;width:235px;max-width:25vw;flex:0 1 235px;display:block;margin-left:4px}
.hf-logo img{width:100%;height:auto;max-height:56px;object-fit:contain;object-position:right center;display:block}
.hf-nav__links a{font-size:14px;font-weight:700;color:#252522;padding:31px 2px 25px;border-bottom:2px solid transparent;line-height:1}
.hf-nav__links a:hover,.hf-nav__links a.is-active{color:var(--hf-green-dark);border-color:var(--hf-gold)}
.hf-nav__makler{margin-left:5px;padding-left:30px;border-left:1px solid var(--hf-line)}
.hf-icon-btn{width:46px;height:46px;background:var(--hf-paper);border-color:var(--hf-line);font-size:20px}
.hf-icon-btn:hover{border-color:var(--hf-gold);color:var(--hf-gold)}

/* Home hero becomes the full-width editorial cover while retaining the old DOM */
.hf-hero{position:relative;min-height:570px;display:block;overflow:hidden;background:#d8c3a0}
.hf-hero>.hf-container{display:block!important;position:relative;min-height:570px;max-width:none;padding:0}
.hf-hero__visual{position:absolute;inset:0;min-height:570px;z-index:0}
.hf-hero__visual img{width:100%;height:100%;object-fit:cover;object-position:center 47%}
.hf-hero__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,250,241,.95) 0%,rgba(255,250,241,.80) 29%,rgba(255,250,241,.33) 50%,rgba(20,25,20,.05) 72%,rgba(20,25,20,.22) 100%),linear-gradient(0deg,rgba(22,26,22,.20),transparent 40%)}
.hf-hero__copy{position:relative;z-index:2;min-height:570px;width:min(720px,60vw);padding:78px 0 76px max(var(--hf-gutter),calc((100vw - min(1320px,100vw))/2 + var(--hf-gutter)))!important;justify-content:center}
.hf-hero__copy .hf-kicker{color:var(--hf-green-dark);font-size:11px}
.hf-hero h1{font-size:clamp(54px,5.8vw,83px);line-height:.99;max-width:700px;margin:14px 0 14px;color:#171716;letter-spacing:-.035em}
.hf-hero p{font-family:var(--hf-font-body);font-size:18px;line-height:1.48;color:#2f322f;max-width:570px;margin:0 0 26px}
.hf-rule{background:var(--hf-gold);width:62px;height:2px;margin:11px 0 18px}
.hf-hero .hf-btn{border-radius:2px}
.hf-hero__sticker{display:none}
.hf-hero__sticker img{width:100%;height:100%;object-fit:contain;display:block}

/* Search/search results stay functional, styled like editorial utility panel */
.hf-search-wrap{margin-top:-36px;z-index:8}
.hf-search-title{margin:0 6px 10px;display:flex;align-items:center}
.hf-search-title strong{font-family:var(--hf-font-display);font-size:24px;line-height:1.15}
.hf-search{border-radius:4px!important;border:1px solid var(--hf-line)!important;box-shadow:0 18px 45px rgba(31,31,31,.10)!important;background:rgba(255,253,248,.98)!important}
.hf-search label{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--hf-muted)}
.hf-search select{font-size:13px}

/* Buttons and chips */
.hf-btn{border-radius:2px;min-height:44px;font-weight:700;letter-spacing:.005em}
.hf-btn--primary,.hf-btn--gold{background:var(--hf-gold)!important;border-color:var(--hf-gold)!important;color:white!important}
.hf-btn--primary:hover,.hf-btn--gold:hover{background:#ad654e!important;border-color:#ad654e!important}
.hf-btn--rose{background:var(--hf-gold)!important;border-color:var(--hf-gold)!important}
.hf-chip{border-radius:999px;background:#F3EADF;color:#4c4944}
.hf-chip--rose{background:#F1DFD7;color:#8B4D3D}
.hf-link{color:#7f4639;font-weight:700}

/* Magazine rhythm */
.hf-section{padding:70px 0}
.hf-section--soft{background:#F5F0E7}
.hf-section-head{align-items:flex-end;margin-bottom:30px}
.hf-section-head h2{font-size:clamp(36px,4.1vw,56px);margin:6px 0 8px;line-height:1.05}
.hf-section-head p{max-width:760px;line-height:1.62;color:var(--hf-muted)}

/* Cards: flatter, more editorial, less app-like */
.hf-card,.hf-mag-card,.hf-price-card,.hf-addon-card,.hf-b2b-benefit,.hf-location-card{border-color:var(--hf-line)!important;border-radius:3px!important;background:var(--hf-paper);box-shadow:none!important}
.hf-card:hover,.hf-mag-card:hover,.hf-location-card:hover{box-shadow:0 16px 34px rgba(31,31,31,.08)!important;transform:translateY(-3px)}
.hf-card__image,.hf-mag-card__image{border-radius:0!important}
.hf-card__title{font-size:24px;line-height:1.12;margin-top:8px}
.hf-card__meta{line-height:1.45}
.hf-feature-card{border-radius:4px;min-height:470px}
.hf-feature-card__copy h3{font-size:46px;line-height:1.03;margin:9px 0 10px}
.hf-feature-card__copy p{line-height:1.5}
.hf-stack .hf-card__title{font-size:22px;line-height:1.12}

/* Discovery and magazine */
.hf-discovery-section{background:var(--hf-paper)}
.hf-discovery-card,.hf-discovery-mini{border-radius:3px!important}
.hf-discovery-copy h3,.hf-discovery-place-copy h3{font-family:var(--hf-font-display);line-height:1.02}
.hf-magazin-band{gap:0;border:1px solid var(--hf-line);background:var(--hf-paper)}
.hf-magazin-image,.hf-magazin-copy{border-radius:0!important;min-height:430px}
.hf-magazin-copy{background:var(--hf-green-dark);padding:48px}
.hf-magazin-copy h2{font-size:50px;line-height:1.04;margin:11px 0 18px}
.hf-magazin-copy p{line-height:1.62}
.hf-mag-card__body h3,.hf-mag-card h3{line-height:1.11}

/* Neubau must stay visibly present and functional */
.hf-neubau{background:linear-gradient(105deg,#F2E6D5,#FBF7F0);border:1px solid var(--hf-line);border-radius:4px;padding:34px 38px}
.hf-neubau h3{font-size:38px;line-height:1.08}
.hf-neubau p{line-height:1.55}

/* Place/editorial pages */
.hf-place-hero h1{font-size:clamp(48px,5vw,72px);line-height:1.00}
.hf-place-hero__lead{line-height:1.58}
.hf-place-hero__visual figure{border-radius:3px!important}
.hf-place-hero__word{font-family:var(--hf-font-display);line-height:1.1}
.hf-place-wellbeing__copy h2,.hf-place-homes__copy h2{line-height:1.08}

/* Magazine hero */
.hf-mag-hero-card{border-radius:4px!important;overflow:hidden}
.hf-mag-hero-card__copy h1{line-height:1.03}
.hf-mag-filter{font-family:var(--hf-font-body)}

/* Object pages */
.hf-object-title{font-size:clamp(46px,5vw,68px)!important;line-height:1.02!important}
.hf-object-lead,.hf-object-story p{line-height:1.65}
.hf-broker-box,.hf-openimmo-note{border-radius:4px!important}

/* B2B */
.hf-b2b-hero h1{font-size:clamp(48px,5.3vw,72px);line-height:1.01}
.hf-b2b-hero__copy p,.hf-b2b-benefit p,.hf-b2b-step p{line-height:1.58}
.hf-b2b-hero__visual,.hf-b2b-demo,.hf-lead-promise,.hf-b2b-cta{border-radius:4px!important}
.hf-price-card h3{letter-spacing:.04em}

/* Footer uses actual CI logo, not typeset approximation */
.hf-footer{background:#F4EFE6;border-top:1px solid var(--hf-line);padding:38px 0 42px}
.hf-footer__brand img{width:250px;max-width:100%;height:auto;display:block;margin-bottom:9px}

/* Prevent accidental text collisions in compact areas */
.hf-card__body,.hf-mag-card__body,.hf-b2b-benefit,.hf-b2b-step,.hf-price-card,.hf-addon-card{min-width:0}
.hf-card__body h3,.hf-mag-card__body h3,.hf-b2b-benefit h3,.hf-b2b-step h3,.hf-price-card h3{overflow-wrap:break-word;hyphens:auto}

@media(max-width:1120px){
  .hf-logo{width:205px;max-width:24vw;flex-basis:205px}
  .hf-nav__links{gap:18px}
  .hf-nav__makler{padding-left:20px}
  .hf-hero__copy{width:min(680px,68vw)}
}
@media(max-width:760px){
  :root{--hf-gutter:18px;--hf-nav-height:76px}
  body:before{height:3px}
  .hf-nav{height:76px}
  .hf-logo{width:205px;max-width:58vw;flex-basis:205px;margin-left:2px}
  .hf-nav__links{display:none}
  .hf-nav__icons{margin-left:auto}
  .hf-hero,.hf-hero>.hf-container,.hf-hero__visual{min-height:590px}
  .hf-hero__visual img{object-position:59% center}
  .hf-hero__visual:after{background:linear-gradient(90deg,rgba(255,250,241,.95) 0%,rgba(255,250,241,.78) 72%,rgba(255,250,241,.25) 100%),linear-gradient(0deg,rgba(20,24,20,.2),transparent 48%)}
  .hf-hero__copy{width:100%;min-height:590px;padding:60px var(--hf-gutter) 120px!important;justify-content:flex-start}
  .hf-hero h1{font-size:50px;line-height:1.00;max-width:520px}
  .hf-hero p{font-size:16px;max-width:470px}
  .hf-search-wrap{margin-top:-20px}
  .hf-section{padding:48px 0}
  .hf-section-head h2{font-size:39px}
  .hf-feature-card__copy h3{font-size:34px}
  .hf-magazin-copy{padding:30px}
  .hf-magazin-copy h2{font-size:38px}
  .hf-neubau{padding:26px}
  .hf-footer__brand img{width:220px}
}

/* QA typography hardening: inline legacy font shorthands may not reduce line-height below these values. */
h1,h2{line-height:1.06!important}
h3,h4{line-height:1.12!important}
.hf-object-title,.hf-mag-hero-card__copy h1,.hf-place-hero h1,.hf-b2b-hero h1,.hf-section-head h2,.hf-feature-card__copy h3,.hf-magazin-copy h2,.hf-discovery-mini__copy h3,.hf-detail-panel h3,.hf-life-card h4{line-height:1.08!important}

/* Approved compact CI mark in hero: logo only, no wording. */
.hf-hero__sticker{width:178px;height:auto;right:8%;bottom:54px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none}
.hf-hero__sticker img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 3px 10px rgba(255,255,255,.38)) drop-shadow(0 4px 12px rgba(31,31,31,.18))}
@media(max-width:1120px){.hf-hero__sticker{width:148px;right:4%}}
@media(max-width:760px){.hf-hero__sticker{width:112px;right:18px;bottom:30px;padding:0}}


/* HEIMATVIBE v1.2 — homepage/magazine usability refinements */
/* Stable typography: fixed metric-friendly fallbacks and no ultra-tight inherited line heights. */
:root{--hv-display-fallback:Georgia,"Times New Roman",serif;--hv-body-fallback:"Segoe UI",Arial,sans-serif}
body{font-family:Inter,var(--hv-body-fallback)}
h1,h2,h3,h4,.hf-object-title,.hf-card__title,.hf-place-hero h1,.hf-mag-hero-card h1,.hf-b2b-hero h1{font-family:"Playfair Display",var(--hv-display-fallback);text-wrap:balance}
.hf-card__title,.hf-mag-card__body h3,.hf-discovery-mini__copy h3{line-height:1.16!important}

/* Magazine CTA on homepage: intentionally editorial and instantly recognizable. */
.hv-hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:4px}
.hv-hero-actions__buttons{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.hv-magazin-badge{width:126px;height:126px;flex:0 0 126px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;text-decoration:none;color:#fff;background:var(--hf-gold);clip-path:polygon(50% 0%,57% 13%,68% 4%,72% 19%,85% 12%,84% 28%,100% 28%,89% 41%,100% 50%,87% 58%,98% 70%,82% 71%,83% 87%,70% 80%,66% 96%,56% 86%,48% 100%,41% 86%,29% 96%,27% 80%,13% 87%,16% 70%,0 69%,12% 57%,0 49%,13% 40%,1% 28%,17% 27%,16% 11%,30% 19%,34% 4%,44% 14%);filter:drop-shadow(0 10px 18px rgba(31,31,31,.14));transition:transform .18s ease,filter .18s ease;line-height:1.05}
.hv-magazin-badge span{font-size:9px;letter-spacing:.12em;font-weight:700}.hv-magazin-badge strong{font-family:var(--hf-font-body);font-size:17px;line-height:1.05;margin:3px 0 5px}.hv-magazin-badge small{font-size:9px;font-weight:700}.hv-magazin-badge:hover{transform:scale(1.055) rotate(-2deg);filter:drop-shadow(0 14px 24px rgba(31,31,31,.20))}

/* HV mark on the hero image: CI logo only, on a calm contrast plate. */
.hf-hero__sticker{width:174px!important;right:6.5%!important;bottom:58px!important;padding:18px 20px!important;background:rgba(255,253,248,.91)!important;border:1px solid rgba(198,122,91,.42)!important;border-radius:4px!important;box-shadow:0 16px 38px rgba(31,31,31,.18)!important;backdrop-filter:blur(7px)!important}
.hf-hero__sticker img{width:100%!important;height:auto!important;filter:none!important}

/* Result count belongs with the real-estate results, not on top of the hero image. */
.hv-property-head-meta{display:flex;flex-direction:column;gap:5px;align-items:flex-end}.hv-property-head-meta .hf-results{font-size:12px;color:var(--hf-muted)}

/* Magazine filters: hidden empty categories do not leave gaps. */
.hf-mag-filter[hidden]{display:none!important}.hf-mag-filterbar{display:flex;gap:10px;flex-wrap:wrap}

@media(max-width:1120px){
  .hv-magazin-badge{width:112px;height:112px;flex-basis:112px}.hv-magazin-badge strong{font-size:15px}
  .hf-hero__sticker{width:148px!important;right:3.5%!important}
}
@media(max-width:760px){
  .hv-hero-actions{gap:14px;align-items:flex-start}.hv-hero-actions__buttons{max-width:calc(100% - 106px)}
  .hv-magazin-badge{width:94px;height:94px;flex-basis:94px}.hv-magazin-badge span{font-size:7px}.hv-magazin-badge strong{font-size:13px}.hv-magazin-badge small{font-size:7px}
  .hf-hero__sticker{width:110px!important;right:16px!important;bottom:22px!important;padding:12px 14px!important}
  .hv-property-head-meta{align-items:flex-start}
}

@media(max-width:760px){.hf-search-title{display:block}.hf-search-title span{display:block;margin-top:4px;line-height:1.35}}

/* v1.3 final override: the brand mark lives in the header, never on top of photography. */
.hf-hero__sticker{display:none!important}


/* v1.4 Journal refinements */
.hf-editorial-tag{font-family:var(--hf-font-body);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;transform:none;color:var(--hf-gold)!important;display:inline-flex;align-items:center;gap:10px}
.hf-editorial-tag::after{content:"";display:block;width:46px;height:1px;background:currentColor;opacity:.65}
.hf-mag-section-label{font-family:var(--hf-font-body);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;transform:none;color:var(--hf-gold)!important}
.hf-mag-section-label:after{height:1px;transform:none;width:72px;opacity:.75}
.hf-nav__inner{gap:22px}
.hf-nav__links{margin-left:auto}
.hf-nav__icons{display:none!important}
.hf-mag-utility__icon{background:#f3ece7;border:1px solid var(--hf-line);color:var(--hf-wine);font-size:0}
.hf-mag-utility__icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hf-mag-utility__item{transition:.18s ease}
.hf-mag-utility__item:hover{transform:translateY(-2px);box-shadow:var(--hf-shadow-soft)}
.hf-besen-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}
.hf-besen-card{background:#fff;border:1px solid var(--hf-line);border-radius:var(--hf-radius-md);padding:16px;box-shadow:var(--hf-shadow-soft)}
.hf-besen-card .hf-chip{margin-bottom:10px}
.hf-besen-card h3{font:600 22px/1.05 var(--hf-font-display);margin:0 0 10px}
.hf-besen-card p{margin:0 0 8px;color:var(--hf-muted);font-size:14px;line-height:1.5}
.hf-besen-card b{color:var(--hf-charcoal)}
.hf-besen-note{margin-top:14px;color:var(--hf-muted);font-size:12px}
.hf-instagram-demo{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
.hf-phone{background:#0f1411;border-radius:34px;padding:14px;box-shadow:0 28px 70px rgba(0,0,0,.18);max-width:360px;margin:auto}
.hf-phone__screen{background:#fff;border-radius:24px;overflow:hidden}
.hf-phone__top{padding:16px 18px 12px;border-bottom:1px solid #ece8e0}
.hf-phone__meta{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.hf-phone__avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--hf-green-dark),var(--hf-gold));display:grid;place-items:center;color:#fff;font-size:14px;font-weight:700}
.hf-phone__name b{display:block;font-size:14px}.hf-phone__name span{display:block;font-size:12px;color:var(--hf-muted)}
.hf-phone__stats{display:flex;gap:12px;font-size:11px;color:var(--hf-muted)}
.hf-phone__stats b{display:block;color:var(--hf-charcoal);font-size:14px}
.hf-phone__story{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 16px}
.hf-story-chip{border:1px solid #ece8e0;border-radius:18px;padding:10px 12px;font-size:12px;line-height:1.35;background:#f9f6f1}
.hf-phone__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:0 3px 3px}
.hf-phone__grid figure{margin:0;aspect-ratio:1/1;position:relative;overflow:hidden}
.hf-phone__grid img{width:100%;height:100%;object-fit:cover;display:block}
.hf-phone__grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:8px 7px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.72));color:#fff;font-size:11px;line-height:1.2}
.hf-instagram-copy p{color:var(--hf-muted);line-height:1.6;max-width:640px}
.hf-instagram-list{display:grid;gap:10px;margin:18px 0 0;padding:0;list-style:none}
.hf-instagram-list li{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--hf-line);padding:14px 16px;border-radius:var(--hf-radius-md)}
.hf-instagram-list strong{display:block;margin-bottom:3px}
.hf-instagram-index{width:28px;height:28px;border-radius:50%;background:#f3ece7;color:var(--hf-wine);display:grid;place-items:center;font-weight:700;flex:0 0 28px}
@media(max-width:1080px){.hf-besen-grid{grid-template-columns:repeat(2,1fr)}.hf-instagram-demo{grid-template-columns:1fr}}
@media(max-width:640px){.hf-besen-grid{grid-template-columns:1fr}.hf-phone{max-width:100%}}
