@import url('../fonts/inter.css');

  :root{
    --navy:#142B45;
    --navy-dark:#0E1F33;
    --gold:#C6A15B;
    --gold-dark:#AD8747;
    --cream:#F7F5F1;
    --white:#FFFFFF;
    --gray:#616B78;
    --gray-light:#A9B2BE;
    --line:#E4DFD4;
    --radius:10px;
    --maxw:1180px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Inter',-apple-system,'Helvetica Neue',Arial,sans-serif;
    color:var(--navy);
    background:var(--white);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit;text-decoration:none;}
  img,svg{display:block;max-width:100%;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
  h1,h2,h3{margin:0 0 14px 0;line-height:1.2;font-weight:800;letter-spacing:-0.01em;}
  p{margin:0 0 16px 0;color:var(--gray);}
  .eyebrow{
    display:inline-block;
    font-size:12.5px;
    font-weight:700;
    letter-spacing:2.5px;
    text-transform:uppercase;
    color:var(--gold-dark);
    margin-bottom:12px;
  }
  section{padding:88px 0;}
  .btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:14px 26px;
    border-radius:6px;
    font-weight:700;
    font-size:15px;
    letter-spacing:0.2px;
    border:1.5px solid transparent;
    cursor:pointer;
    transition:all .18s ease;
  }
  .btn-gold{background:var(--gold);color:var(--navy-dark);}
  .btn-gold:hover{background:var(--gold-dark);}
  .btn-outline{border-color:rgba(255,255,255,0.35);color:#fff;}
  .btn-outline:hover{border-color:#fff;background:rgba(255,255,255,0.08);}
  .btn-outline-navy{border-color:var(--navy);color:var(--navy);}
  .btn-outline-navy:hover{background:var(--navy);color:#fff;}

  /* ---------- Header ---------- */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(255,255,255,0.92);
    backdrop-filter:saturate(180%) blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav{
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 28px;max-width:var(--maxw);margin:0 auto;
  }
  .logo-mark{display:flex;align-items:center;gap:12px;}
  .logo-mark svg{height:32px;width:auto;}
  .logo-word{line-height:1.15;}
  .logo-word .l1{font-weight:800;font-size:18px;letter-spacing:0.3px;color:var(--navy);}
  .logo-word .l2{font-weight:600;font-size:10.5px;letter-spacing:2.5px;color:var(--gold-dark);}
  nav.links{display:flex;gap:22px;align-items:center;}
  nav.links a{font-size:13.8px;font-weight:600;color:var(--navy);opacity:0.85;white-space:nowrap;}
  nav.links a:hover{opacity:1;color:var(--gold-dark);}
  /* Der Knopf rechts fuehrt zum selben Ziel - nebeneinander waere das doppelt.
     Sobald der Knopf verschwindet (ab 1000px abwaerts), wird der Eintrag
     wieder gebraucht. */
  nav.links a.nav-kontakt{display:none;}
  .nav-cta{display:flex;align-items:center;gap:18px;}
  .nav-phone{display:none;}  /* zu breit neben sechs Navigationspunkten – ersetzt durch .nav-call */
  .nav-call{display:inline-flex;align-items:center;justify-content:center;
    width:42px;height:42px;border-radius:6px;border:1.5px solid var(--navy);color:var(--navy);}
  .nav-call svg{width:19px;height:19px;stroke:currentColor;fill:none;}
  .nav-call:hover{background:var(--navy);color:#fff;}
  .menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;}
  .menu-toggle span{display:block;width:24px;height:2px;background:var(--navy);margin:5px 0;}

  /* ---------- Hero ---------- */
  .hero{
    background:linear-gradient(160deg,var(--navy) 0%,var(--navy-dark) 100%);
    color:#fff;padding:120px 0 100px 0;position:relative;overflow:hidden;
  }
  .hero::after{
    content:"";position:absolute;right:-120px;top:-120px;width:520px;height:520px;
    background:radial-gradient(circle,rgba(198,161,91,0.16) 0%,rgba(198,161,91,0) 70%);
  }
  .hero-inner{max-width:720px;position:relative;z-index:1;}
  .hero h1{font-size:44px;color:#fff;}
  .hero p.lead{font-size:18px;color:var(--gray-light);max-width:600px;}
  .hero-wohnen{max-width:600px;margin-top:30px;}
  .hero-wohnen .lbl{
    display:block;font-size:11.5px;font-weight:700;letter-spacing:2.4px;
    text-transform:uppercase;color:var(--gold);margin-bottom:7px;
  }
  .hero-wohnen p{margin:0;font-size:16px;color:var(--gray-light);}
  .hero-wohnen a{
    color:#fff;font-weight:600;text-decoration:none;
    border-bottom:1px solid var(--gold);padding-bottom:1px;
  }
  .hero-wohnen a:hover{color:var(--gold);}
  .hero-cta{display:flex;gap:16px;margin-top:32px;flex-wrap:wrap;}
  .hero-stats{
    display:flex;gap:48px;margin-top:64px;padding-top:32px;
    border-top:1px solid rgba(255,255,255,0.15);flex-wrap:wrap;
  }
  .hero-stats div b{display:block;font-size:26px;color:var(--gold);font-weight:800;}
  .hero-stats div span{font-size:13px;color:var(--gray-light);}

  /* ---------- Leistungen ---------- */
  .cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:44px;}
  .card{
    background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);
    padding:32px 26px;transition:transform .18s ease, box-shadow .18s ease;
  }
  .card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(20,43,69,0.08);}
  .card .icon{
    width:46px;height:46px;border-radius:9px;background:var(--navy);
    display:flex;align-items:center;justify-content:center;margin-bottom:18px;
  }
  .card .icon svg{width:22px;height:22px;stroke:var(--gold);}
  .card h3{font-size:17px;margin-bottom:8px;}
  .card p{font-size:14.5px;margin-bottom:0;}
  .section-head{max-width:640px;margin-bottom:8px;}
  .section-head p{font-size:16px;}

  /* ---------- Über mich ---------- */
  .about{background:var(--cream);}
  .about-grid{display:grid;grid-template-columns:340px 1fr;gap:64px;align-items:center;}
  .avatar{
    width:100%;aspect-ratio:1/1;border-radius:var(--radius);
    background:linear-gradient(150deg,var(--navy) 0%,var(--navy-dark) 100%);
    display:flex;align-items:center;justify-content:center;color:var(--gold);
    font-size:64px;font-weight:800;letter-spacing:2px;
    box-shadow:0 20px 40px rgba(20,43,69,0.18);
  }
  .about-text .badges{display:flex;gap:28px;margin-top:28px;flex-wrap:wrap;}
  .badge{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--navy);}
  .badge svg{width:20px;height:20px;stroke:var(--gold-dark);flex-shrink:0;}

  /* ---------- Region ---------- */
  .region-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
  .region-list{list-style:none;margin:24px 0 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;}
  .region-list li{font-size:14.5px;font-weight:600;color:var(--navy);display:flex;align-items:center;gap:8px;}
  .region-list li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0;}
  .map-box{
    border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);
    box-shadow:0 20px 40px rgba(20,43,69,0.08);
  }
  .map-box iframe{width:100%;height:340px;border:0;display:block;}

  /* ---------- Objekte ---------- */
  .objects{background:var(--cream);}
  .obj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px;}
  .obj-card{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  }
  .obj-media{
    height:170px;background:
      repeating-linear-gradient(135deg, #E4DFD4 0 2px, transparent 2px 14px), var(--navy);
    position:relative;display:flex;align-items:center;justify-content:center;
  }
  .obj-media span{
    position:relative;color:#fff;font-size:12.5px;font-weight:700;letter-spacing:1.5px;
    text-transform:uppercase;background:rgba(20,43,69,0.55);padding:8px 14px;border-radius:5px;
    border:1px solid rgba(255,255,255,0.25);
  }
  .obj-body{padding:22px;}
  .obj-body .tag{font-size:11.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-dark);}
  .obj-body h3{font-size:16.5px;margin:8px 0 6px 0;}
  .obj-body p{font-size:14px;margin-bottom:0;}

  /* ---------- Kontakt ---------- */
  .contact{
    background:linear-gradient(160deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff;
  }
  .contact .section-head p{color:var(--gray-light);}
  .contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;margin-top:16px;}
  .contact-info-item{display:flex;gap:16px;margin-bottom:26px;}
  .contact-info-item .ic{
    width:42px;height:42px;border-radius:8px;background:rgba(198,161,91,0.14);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .contact-info-item .ic svg{width:19px;height:19px;stroke:var(--gold);}
  .contact-info-item b{display:block;font-size:15px;margin-bottom:3px;}
  .contact-info-item span{font-size:14.5px;color:var(--gray-light);}
  .contact-actions{display:flex;flex-direction:column;gap:18px;}
  .contact-action{
    display:flex;align-items:center;gap:22px;padding:28px 30px;
    background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.12);
    border-radius:var(--radius);color:#fff;text-decoration:none;
    transition:border-color .18s ease, background .18s ease;
  }
  .contact-action:hover{border-color:var(--gold);background:rgba(255,255,255,0.07);}
  .contact-action .ic{
    flex:none;width:54px;height:54px;border-radius:50%;
    border:1px solid rgba(198,161,91,0.55);
    display:flex;align-items:center;justify-content:center;
  }
  .contact-action .ic svg{width:22px;height:22px;stroke:var(--gold);}
  .contact-action .txt{min-width:0;}
  .contact-action .lbl{
    display:block;font-size:12px;font-weight:700;letter-spacing:2px;
    text-transform:uppercase;color:var(--gray-light);margin-bottom:5px;
  }
  .contact-action .val{display:block;font-size:24px;font-weight:700;letter-spacing:-0.01em;overflow-wrap:anywhere;}

  /* ---------- Footer ---------- */
  footer{background:var(--navy-dark);color:var(--gray-light);padding:56px 0 28px 0;}
  .foot-grid{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:32px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,0.08);}
  .foot-grid .logo-mark .logo-word .l1{color:#fff;}
  footer .foot-links{display:flex;gap:38px;flex-wrap:wrap;}
  footer .foot-links a{font-size:13.5px;color:var(--gray-light);}
  footer .foot-links a:hover{color:#fff;}
  .foot-bottom{display:flex;justify-content:space-between;padding-top:24px;font-size:12.5px;flex-wrap:wrap;gap:10px;}
  .foot-bottom a{color:var(--gray-light);}

  /* ---------- Responsive ---------- */

  /* ---------- Objektarten ---------- */
  .asset-types{
    margin-top:52px;padding-top:38px;
    border-top:1px solid var(--line);
  }
  .asset-types-head{
    font-size:12.5px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
    color:var(--gold-dark);margin-bottom:20px;
  }
  .type-grid{
    list-style:none;margin:0;padding:0;
    display:grid;grid-template-columns:repeat(4,1fr);gap:12px;
  }
  .type-grid li{
    background:var(--cream);border:1px solid var(--line);
    border-radius:7px;padding:14px 16px;
    font-size:14.5px;font-weight:600;color:var(--navy);
    display:flex;align-items:center;gap:9px;
  }
  .type-grid li::before{
    content:"";flex:none;width:6px;height:6px;border-radius:50%;
    background:var(--gold);
  }

  /* ---------- Objekte: Off-Market ---------- */
  .offmarket{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px;
  }
  .offmarket-card{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:30px 26px;
  }
  .offmarket-card .icon{
    width:42px;height:42px;border-radius:9px;
    background:var(--navy);display:flex;align-items:center;justify-content:center;
    margin-bottom:18px;
  }
  .offmarket-card .icon svg{width:20px;height:20px;stroke:var(--gold);fill:none;}
  .offmarket-card h3{font-size:17px;}
  .offmarket-card p{margin:0;font-size:14.8px;}
  .offmarket-cta{
    margin-top:36px;padding:28px 32px;
    background:var(--navy);border-radius:var(--radius);
    display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  }
  .offmarket-cta p{margin:0;color:#fff;font-size:16.5px;font-weight:600;}

  /* ---------- Ankaufprofil (Platzhalter) ---------- */
  .placeholder-panel{
    margin-top:40px;display:flex;gap:26px;align-items:flex-start;
    background:var(--cream);border:1px solid var(--line);
    border-radius:var(--radius);padding:34px 32px;
  }
  .placeholder-panel .icon{
    flex:none;width:48px;height:48px;border-radius:10px;
    background:#fff;border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;
  }
  .placeholder-panel .icon svg{width:22px;height:22px;stroke:var(--gold-dark);fill:none;}
  .placeholder-panel h3{font-size:18px;}
  .placeholder-panel .btn{margin-top:8px;}

  /* ---------- Asset Management ---------- */
  .asset-mgmt{background:var(--cream);}
  .am-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px;
  }
  .am-item{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:30px 26px;position:relative;
  }
  .am-item::before{
    content:"";display:block;width:34px;height:2px;
    background:var(--gold);margin-bottom:18px;
  }
  .am-item h3{font-size:17px;}
  .am-item p{margin:0;font-size:14.8px;}

  /* ---------- Wohnimmobilien (nachgeordnet) ---------- */
  .living{padding:72px 0;}
  .living-grid{
    display:grid;grid-template-columns:1fr 340px;gap:56px;align-items:start;
  }
  .living-text h2{font-size:27px;}
  .living-text p{font-size:15.5px;max-width:60ch;}
  .living-list{
    border:1px solid var(--line);border-radius:var(--radius);
    padding:28px 28px 24px 28px;background:var(--cream);
  }
  .living-list h3{
    font-size:12.5px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
    color:var(--gold-dark);margin:0 0 16px 0;
  }
  .living-list ul{list-style:none;margin:0;padding:0;}
  .living-list li{
    font-size:14.5px;padding:9px 0 9px 18px;position:relative;
    border-top:1px solid var(--line);
  }
  .living-list li:first-child{border-top:none;}
  .living-list li::before{
    content:"";position:absolute;left:0;top:17px;
    width:7px;height:1.5px;background:var(--gold);
  }
  .textlink{
    display:inline-flex;align-items:center;gap:7px;margin-top:20px;
    font-size:14.5px;font-weight:600;color:var(--navy);text-decoration:none;
  }
  .textlink svg{width:17px;height:17px;stroke:var(--gold-dark);transition:transform .16s ease;}
  .textlink:hover{color:var(--gold-dark);}
  .textlink:hover svg{transform:translateX(3px);}
  .types-note{
    margin:22px 0 0 0;font-size:14.5px;color:var(--gray);
  }
  .types-note a{color:var(--navy);font-weight:600;text-decoration:none;
    border-bottom:1px solid var(--gold);padding-bottom:1px;}
  .types-note a:hover{color:var(--gold-dark);}

  /* ---------- Über uns: Wertekachel ---------- */
  .values-card{
    background:linear-gradient(160deg,var(--navy) 0%,var(--navy-dark) 100%);
    border-radius:var(--radius);padding:34px 30px;color:#fff;
  }
  .values-eyebrow{
    display:block;font-size:11.5px;font-weight:700;letter-spacing:2.5px;
    text-transform:uppercase;color:var(--gold);margin-bottom:22px;
  }
  .values-card ul{list-style:none;margin:0;padding:0;}
  .values-card li{
    padding:16px 0;border-top:1px solid rgba(255,255,255,0.14);
    font-size:14.2px;color:var(--gray-light);line-height:1.55;
  }
  .values-card li:first-child{border-top:none;padding-top:0;}
  .values-card li b{
    display:block;font-size:15.5px;color:#fff;margin-bottom:4px;font-weight:700;
  }

  /* ---------- Kopfzeile: gestaffelt verschlanken ----------
     Gemessen: Logo 208px + Links 443px + Kontaktblock 356px = 1063px reine
     Inhaltsbreite. Darunter muss stufenweise Platz geschaffen werden. */
  @media (max-width:1120px){
    nav.links{gap:16px;}
    nav.links a{font-size:13.2px;}
    .nav-cta{gap:12px;}
    .nav{padding:14px 20px;}
  }
  @media (max-width:1000px){
    .nav-cta .btn{display:none;}
    nav.links a.nav-kontakt{display:block;}
  }
  @media (max-width:930px){
    nav.links{
      display:none;position:absolute;top:100%;left:0;right:0;
      background:#fff;border-bottom:1px solid var(--line);
      flex-direction:column;gap:0;padding:8px 0;
    }
    nav.links.open{display:flex;}
    nav.links a{padding:14px 28px;width:100%;font-size:15px;}
    .menu-toggle{display:block;}
  }

  @media (max-width:560px){
    .hero p.lead{font-size:16.5px;}
    .hero-cta .btn{width:100%;justify-content:center;}
    .legal h1{font-size:29px;}
    .nav{padding:12px 16px;}
    .nav-cta{gap:0;}
    .logo-mark{gap:9px;}
    .logo-mark svg{height:29px;}
    .logo-word .l1{font-size:16px;}
    .logo-word .l2{font-size:9.5px;letter-spacing:2px;}
    .wrap{padding:0 20px;}
  }

  @media (max-width:980px){
    .living-grid{grid-template-columns:1fr;gap:34px;}
    .cards{grid-template-columns:repeat(2,1fr);}
    .type-grid{grid-template-columns:repeat(2,1fr);}
    .offmarket, .am-grid{grid-template-columns:1fr;}
    .placeholder-panel{flex-direction:column;gap:18px;}
    .about-grid, .region-grid, .contact-grid{grid-template-columns:1fr;}
    .contact-actions{order:-1;}
    .obj-grid{grid-template-columns:1fr 1fr;}
    .hero h1{font-size:34px;}
  }
  @media (max-width:720px){
    .cards{grid-template-columns:1fr;}
    .type-grid{grid-template-columns:1fr;}
    .offmarket-cta{flex-direction:column;align-items:flex-start;}
    .obj-grid{grid-template-columns:1fr;}
    .contact-action{padding:22px 20px;gap:16px;}
    .contact-action .ic{width:46px;height:46px;}
    .contact-action .val{font-size:19px;}
    .hero{padding:80px 0 64px 0;}
    section{padding:64px 0;}
    .hero-stats{gap:28px;}
    .foot-grid{flex-direction:column;}
  }

  /* ---------- Rechtstexte (Impressum / Datenschutz) ---------- */
  .legal{padding:64px 0 88px 0;}
  .legal .wrap{max-width:820px;}
  .legal h1{font-size:36px;margin-bottom:8px;}
  .legal .lead-sub{color:var(--gray);font-size:15px;margin-bottom:40px;}
  .legal h2{font-size:22px;margin-top:44px;padding-top:22px;border-top:1px solid var(--line);}
  .legal h2:first-of-type{border-top:none;padding-top:0;margin-top:32px;}
  .legal h3{font-size:16.5px;margin-top:26px;font-weight:700;}
  .legal p,.legal li{font-size:15.5px;color:var(--gray);}
  .legal ul{padding-left:20px;margin:0 0 16px 0;}
  .legal li{margin-bottom:7px;}
  .legal a{color:var(--gold-dark);text-decoration:underline;text-underline-offset:2px;}
  .legal a:hover{color:var(--navy);}
  .legal address{font-style:normal;color:var(--gray);line-height:1.7;margin-bottom:16px;}
  .legal .back{
    display:inline-flex;align-items:center;gap:7px;margin-bottom:28px;
    font-size:14px;font-weight:600;color:var(--gray);text-decoration:none;
  }
  .legal .back:hover{color:var(--navy);}
  .legal .back svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;}
  .todo{
    display:block;background:#FFF8E1;border-left:3px solid var(--gold);
    padding:12px 16px;margin:14px 0;border-radius:0 6px 6px 0;
    font-size:14px;color:#7A5C1E;
  }
  .todo b{color:#5E4614;}

  /* ---------- Handy: Kopfbereich ----------
     Steht bewusst am Ende: Die Blöcke für 720 und 980 px folgen weiter oben
     auf den 560er-Block und hatten diese beiden Regeln bisher überschrieben –
     „Investitionsimmobilien" lief auf dem Handy über den rechten Rand.
     Die Schriftgröße richtet sich nach dem längsten Wort (≈ 11,4 × Schriftgröße). */
  @media (max-width:560px){
    .hero{padding:64px 0 56px 0;}
    .hero h1{font-size:min(29px, calc((100vw - 40px) / 11.4));}
  }
  /* Sehr schmale Geräte: ohne Symbol passt die E-Mail-Adresse in eine Zeile */
  @media (max-width:380px){
    .contact-action .ic{display:none;}
  }
