@charset "UTF-8";
/* ==========================================================================
   Eigenheim Homes Immobilien – Stylesheet
   Schriften liegen lokal, es werden keine externen Server kontaktiert.
   ========================================================================== */

/* --- Schriften. Dateien im Ordner assets/ ablegen. ---------------------- */
@font-face{font-family:"Cormorant";font-style:normal;font-weight:400;font-display:swap;src:url("cormorant-400.woff2") format("woff2")}
@font-face{font-family:"Cormorant";font-style:normal;font-weight:500;font-display:swap;src:url("cormorant-500.woff2") format("woff2")}
@font-face{font-family:"Cormorant";font-style:normal;font-weight:600;font-display:swap;src:url("cormorant-600.woff2") format("woff2")}
@font-face{font-family:"Cormorant";font-style:italic;font-weight:400;font-display:swap;src:url("cormorant-400i.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:300;font-display:swap;src:url("jost-300.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url("jost-400.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url("jost-500.woff2") format("woff2")}

:root{
  --blue:#07396f;
  --blue-dark:#052c56;
  --blue-deep:#021d38;
  --blue-soft:#eef3f8;
  --gold:#c6a15b;
  --gold-light:#dfc98e;
  --gold-dark:#8f6d2e;      /* dunkler als im Entwurf: erfüllt Kontrast AA auf Weiß */
  --ink:#122033;
  --muted:#5a6878;          /* dunkler als im Entwurf: erfüllt Kontrast AA */
  --line:#dce4ec;
  --white:#fff;
  --bg:#f8fafc;
  --shadow:0 16px 45px rgba(13,42,72,.10);
  --radius:16px;
  --serif:"Cormorant",Georgia,"Times New Roman",serif;
  --sans:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}
body{margin:0;font-family:var(--sans);font-weight:300;color:var(--ink);background:#fff;line-height:1.68;letter-spacing:.004em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

.container{width:min(1180px,calc(100% - 40px));margin:auto}
.skip{position:absolute;left:-9999px;top:0;background:var(--blue-deep);color:#fff;padding:12px 20px;z-index:200}
.skip:focus{left:12px;top:12px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* --- Kopfleisten -------------------------------------------------------- */
.topbar{background:var(--blue);color:#fff;font-size:12px}
.topbar-inner{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:4px 0}
.topbar-links{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.topbar-social{display:inline-flex;gap:13px;align-items:center;margin-left:2px;padding-left:14px;border-left:1px solid rgba(255,255,255,.28);white-space:nowrap}
.topbar-social a{font-weight:700;letter-spacing:.02em}
.topbar-claim{color:var(--gold-light);letter-spacing:.04em}
.topbar a{opacity:.95;border-bottom:1px solid transparent}
.topbar a:hover{opacity:1;border-bottom-color:var(--gold-light)}

.site-header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 22px rgba(0,0,0,.08);border-bottom:1px solid rgba(198,161,91,.18)}
.nav-wrap{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand img{width:auto;height:70px;display:block}
@media (max-width:900px){.brand img{height:54px}}
@media (max-width:420px){.brand img{height:46px}}
.main-nav{display:flex;align-items:center;gap:24px;font-size:12px;font-weight:700}
.main-nav>a{padding:36px 0;white-space:nowrap;position:relative}
.main-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:28px;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .2s}
.main-nav>a:not(.nav-cta):hover::after,.main-nav>a:not(.nav-cta):focus-visible::after{transform:scaleX(1)}
.nav-cta{background:var(--blue-deep);color:var(--gold-light)!important;padding:13px 18px!important;border:1px solid rgba(198,161,91,.7);border-radius:3px;box-shadow:0 5px 18px rgba(2,29,56,.16)}
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:3px;font-size:22px;line-height:1;color:var(--blue);padding:8px 12px;cursor:pointer}

/* --- Bühne -------------------------------------------------------------- */
.hero{position:relative;color:#fff;display:flex;align-items:center;overflow:hidden;
  background:linear-gradient(120deg,#021d38 0%,#07396f 55%,#0a4f91 100%)}
.hero-image{position:absolute;inset:0;background-image:url("../bilder/hero.svg");
  background-size:cover;background-position:center 42%}
.hero-overlay{position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(2,29,56,.95) 0%,rgba(4,48,88,.80) 45%,rgba(2,29,56,.30) 100%)}
.hero-content{position:relative;padding:clamp(52px,7vh,86px) 0 clamp(128px,16vh,182px)}
.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:500;color:var(--gold-light)}
.eyebrow.blue{color:var(--gold-dark)}
.premium-line{font-size:11px;letter-spacing:.18em;color:rgba(255,255,255,.82);margin-top:10px;font-weight:400}
.hero h1{font-family:var(--serif);color:#f8f4e8;font-size:clamp(30px,5.2vw,58px);line-height:1.08;margin:16px 0 20px;max-width:24ch;font-weight:500;text-wrap:balance}
.hero p{max-width:56ch;font-size:16px;color:rgba(255,255,255,.92)}
.hero-actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}

.btn{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:0 22px;
  border:1px solid transparent;border-radius:3px;font-family:var(--sans);font-size:12px;font-weight:700;
  letter-spacing:.03em;cursor:pointer;transition:transform .2s,background .2s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--blue-deep);color:var(--gold-light);border:1px solid var(--gold);box-shadow:0 8px 24px rgba(2,29,56,.16)}
.btn-light{background:#fff;color:var(--blue)}
.btn.full{width:100%}
.outline-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gold);
  color:var(--blue-deep);padding:12px 18px;font-size:11px;font-weight:700;border-radius:3px;letter-spacing:.03em}
.outline-btn:hover{background:var(--blue-soft)}

.facts{position:absolute;left:50%;bottom:0;transform:translateX(-50%);display:grid;
  grid-template-columns:repeat(4,1fr);background:rgba(4,52,99,.90);backdrop-filter:blur(8px);
  border-top:1px solid rgba(255,255,255,.2);width:min(1180px,calc(100% - 40px))}
.facts div{padding:16px 20px;border-right:1px solid rgba(255,255,255,.13)}
.facts div:last-child{border-right:0}
.facts b{display:block;font-family:var(--serif);font-size:26px;font-weight:600;color:var(--gold-light);line-height:1.1}
.facts span{display:block;font-size:11px;line-height:1.35;color:rgba(255,255,255,.88);margin-top:5px}

/* --- Abschnitte --------------------------------------------------------- */
.section{padding:80px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:32px;flex-wrap:wrap}
h2{font-family:var(--serif);font-size:clamp(32px,3.9vw,48px);line-height:1.12;margin:10px 0 0;color:var(--blue-deep);font-weight:500}
.center{text-align:center}
.center .eyebrow{color:var(--gold-dark)}
.center h2{margin-bottom:8px}

/* --- Objekte ------------------------------------------------------------ */
.property-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.property-card{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden;
  box-shadow:0 7px 24px rgba(10,42,74,.06);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
.property-card:hover,.property-card:focus-within{transform:translateY(-4px);box-shadow:var(--shadow)}
.property-image{height:185px;position:relative;background:var(--blue-soft)}
.property-image img{width:100%;height:100%;object-fit:cover}
.badge{position:absolute;left:12px;top:12px;background:var(--blue-deep);color:var(--gold-light);
  font-size:10px;font-weight:700;padding:6px 8px;letter-spacing:.06em}
.property-body{padding:15px;display:flex;flex-direction:column;flex:1}
.property-type{font-size:10px;color:var(--muted);font-weight:700;letter-spacing:.08em}
/* Objektnummer rechts neben der Objektart (Objektliste) */
.property-type{display:flex;justify-content:space-between;gap:10px}
.property-nr{font-weight:500;letter-spacing:.04em;color:var(--blue);white-space:nowrap}
.property-title{font-size:17px;font-weight:700;line-height:1.25;margin:6px 0}
.property-location{font-size:12px;color:var(--muted);margin-bottom:12px}
.property-meta{display:flex;justify-content:space-between;gap:8px;font-size:11px;
  border-top:1px solid var(--line);padding-top:11px;margin-top:auto;align-items:baseline}
.property-price{font-weight:700;color:var(--blue-deep);font-size:13px}

/* --- Bewertung ---------------------------------------------------------- */
.valuation{display:grid;grid-template-columns:1fr 1fr;background:var(--blue-soft);min-height:360px}
.valuation-photo{background:linear-gradient(150deg,#0a4f91,#021d38);background-size:cover;background-position:center;min-height:300px}
.valuation-content{padding:64px clamp(30px,6vw,84px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.valuation-content h2{margin-bottom:14px}
.valuation-content p{max-width:56ch;color:#4a5b6d}
.valuation-content ul{list-style:none;padding:0;margin:10px 0 24px}
.valuation-content li{margin:6px 0}
.valuation-content li::before{content:"\2713";color:var(--gold-dark);font-weight:700;margin-right:10px}
.valuation-content small{color:var(--muted);font-style:italic;margin-top:8px}

/* --- Verkäufer ---------------------------------------------------------- */
.seller-section{background:#f7f9fc}
.two-col{display:grid;grid-template-columns:1.35fr .65fr;gap:64px;align-items:center}
.lead{font-size:18px;color:var(--muted);max-width:64ch}
.process{display:grid;gap:16px;margin-top:28px;counter-reset:step}
.process>div{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start}
.process span{width:40px;height:40px;border:1px solid var(--gold);color:var(--gold-dark);
  display:grid;place-items:center;border-radius:50%;font-weight:700;font-size:11px}
.process b{display:block;margin-bottom:3px}
.process small{color:var(--muted)}
.lead-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:36px;box-shadow:var(--shadow)}
.card-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;
  background:#f6f0e2;color:var(--gold-dark);border:1px solid rgba(198,161,91,.45);font-size:26px}
.lead-card h3{font-family:var(--serif);font-size:32px;margin:18px 0 10px;font-weight:600;color:var(--blue-deep)}
.lead-card p{color:var(--muted);margin-bottom:24px}

/* --- Vertrauensband ----------------------------------------------------- */
.trust{background:var(--blue);color:#fff;padding:70px 0}
.trust h2{color:#fff}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.trust-item{background:rgba(255,255,255,.06);border:1px solid rgba(198,161,91,.32);padding:28px;border-radius:8px}
.trust-item h3{font-family:var(--serif);font-size:26px;margin:0 0 10px;color:var(--gold-light);font-weight:600}
.trust-item p{margin:0;font-size:14px;color:rgba(255,255,255,.88)}

/* --- Regionen ----------------------------------------------------------- */
.region-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin:32px 0}
.region-card{height:190px;color:#fff;display:flex;flex-direction:column;justify-content:end;padding:18px;
  position:relative;overflow:hidden;background:linear-gradient(160deg,#0a4f91,#021d38);
  background-size:cover;background-position:center;border-radius:5px}
.region-card::before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(0,0,0,.75))}
.region-card>*{position:relative}
.region-card span{font-family:var(--serif);font-size:24px;font-weight:600;line-height:1.1;hyphens:manual;overflow-wrap:normal}
.region-card small{font-size:10px;font-weight:700;margin-top:5px;color:var(--gold-light)}

/* --- Team --------------------------------------------------------------- */
.team-section{background:#f7f9fc}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.team-card{text-align:center;background:#fff;border:1px solid var(--line);padding-bottom:18px;border-radius:6px;overflow:hidden}
.portrait{height:200px;background:linear-gradient(135deg,#e6edf5,#c9d7e7);display:grid;place-items:center;
  color:var(--blue);font-family:var(--serif);font-size:54px;overflow:hidden}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 12%}
/* Einheitliches Hochformat-Porträt für alle Teamkarten: jedes Foto wird
   gleich groß als 4:5-Ausschnitt gezeigt, egal in welchem Format es kommt */
.team-card .portrait{height:250px;background:linear-gradient(180deg,#f4f7fb,#e3eaf2);padding-top:18px;align-items:end}
.team-card .portrait img{width:186px;height:232px;max-width:none;object-fit:cover;object-position:center 18%;
  border-radius:6px 6px 0 0;box-shadow:0 6px 18px rgba(13,42,72,.10);background:#fff}
.team-card b{display:block;margin-top:14px}
.team-card span{display:block;font-size:12px;color:var(--muted);padding:0 12px;margin-top:3px}
.team-links{margin-top:10px;font-size:13px}
.team-links{display:flex;flex-direction:column;align-items:center;gap:2px;padding:0 10px}
.team-links a{color:var(--gold-dark);border-bottom:1px solid transparent;font-size:13px;word-break:break-word}
.team-links a:hover{border-bottom-color:var(--gold)}
.team-links a:hover{border-bottom-color:var(--gold)}

/* --- Ratgeber ----------------------------------------------------------- */
.guide-section{background:#fff}
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.guide-grid article{border:1px solid var(--line);border-radius:8px;padding:26px;background:#fff}
.guide-grid span{font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--gold-dark)}
.guide-grid h3{font-family:var(--serif);font-size:25px;margin:10px 0;color:var(--blue-deep);font-weight:600}
.guide-grid p{color:var(--muted);font-size:14px}
.guide-grid a{font-size:12px;font-weight:700;color:var(--blue);border-bottom:1px solid var(--gold)}

/* --- Formular ----------------------------------------------------------- */
.valuation-form-section{background:var(--blue-soft);padding:80px 0}
.form-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
.form-wrap p{color:#4a5b6d}
.form-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px;box-shadow:var(--shadow)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-card label{display:block;font-size:12px;font-weight:500;color:var(--muted);margin-bottom:14px}
.form-card input,.form-card select,.form-card textarea{
  width:100%;margin-top:6px;padding:12px 13px;font-family:var(--sans);font-size:15px;font-weight:400;
  border:1px solid #ccd6e0;border-radius:4px;background:#fff;color:var(--ink)}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus{
  border-color:var(--gold);outline:none;box-shadow:0 0 0 2px rgba(198,161,91,.2)}
.form-card textarea{resize:vertical}
.check{display:flex!important;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.5;margin:6px 0 18px!important}
.check input{width:16px;height:16px;margin-top:3px;flex-shrink:0;accent-color:var(--gold-dark)}
.check a{border-bottom:1px solid var(--gold)}
.form-status{margin-top:14px;font-size:13px;min-height:20px;color:var(--blue-deep)}
.form-status.error{color:#9c3115}

/* --- Kontakt und Karte -------------------------------------------------- */
.contact-section{padding:80px 0;background:#fff}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}
.contact-list dt{font-size:11px;letter-spacing:.11em;font-weight:700;color:var(--gold-dark);margin-top:22px}
.contact-list dt:first-child{margin-top:0}
.contact-list dd{margin:5px 0 0;font-size:16px}
.contact-list dd a{border-bottom:1px solid var(--line)}
.contact-list dd a:hover{border-bottom-color:var(--gold)}
.map{position:relative;min-height:380px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--blue-soft)}
.map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;padding:34px;gap:16px}
.map-placeholder p{font-size:14px;color:#4a5b6d;max-width:44ch;margin:0}
.map iframe{width:100%;height:380px;border:0;display:block}

/* --- Schlussaufruf und Fuß ---------------------------------------------- */
.final-cta{background:var(--blue-deep);color:#fff;padding:56px 0}
.final-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.final-cta h2{color:#fff;margin:0 0 6px}
.final-cta p{margin:0;color:rgba(255,255,255,.85)}

.footer{background:#021d38;color:rgba(255,255,255,.75);padding:56px 0 0;font-size:14px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.1fr;gap:32px;padding-bottom:36px}
.footer h4{font-size:11px;letter-spacing:.12em;color:var(--gold-light);margin:0 0 14px;font-weight:700}
.footer a{display:block;margin-bottom:8px;color:rgba(255,255,255,.75);border-bottom:1px solid transparent;width:fit-content}
.footer a:hover{color:#fff;border-bottom-color:var(--gold)}
.footer-brand .brand img{height:72px}
.footer-brand p{margin:16px 0 0;max-width:34ch}
.footer-legal{font-size:12.5px;color:rgba(255,255,255,.6);line-height:1.7;margin-top:14px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding:20px 0;display:flex;
  justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:rgba(255,255,255,.6)}
.footer-bottom a{display:inline;margin:0}

/* --- Kleinere Bildschirme ----------------------------------------------- */
@media (max-width:1080px){
  .property-grid{grid-template-columns:repeat(2,1fr)}
  /* Sieben Kacheln: Kärnten als Heimmarkt doppelt breit, ergibt 2 x 4 */
  .region-grid{grid-template-columns:repeat(4,1fr)}
  .region-grid>.region-card:first-child{grid-column:span 2}
  .region-card span{font-size:27px}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .facts{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr 1fr}
}
@media (max-width:900px){
  .menu-toggle{display:block}
  .main-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;
    align-items:stretch;gap:0;background:#fff;padding:8px 20px 20px;
    box-shadow:0 18px 30px rgba(0,0,0,.12);border-bottom:1px solid var(--line)}
  .main-nav.open{display:flex}
  .main-nav>a{padding:14px 0;border-bottom:1px solid var(--line)}
  .main-nav>a:not(.nav-cta)::after{display:none}
  .nav-cta{margin-top:14px;text-align:center;justify-content:center;display:flex}
  .nav-wrap{position:relative}
  .valuation{grid-template-columns:1fr}
  .valuation-photo{min-height:240px}
  .two-col{grid-template-columns:1fr;gap:40px}
  .form-wrap{grid-template-columns:1fr;gap:32px}
  .contact-grid{grid-template-columns:1fr;gap:32px}
  .trust-grid{grid-template-columns:1fr}
  .guide-grid{grid-template-columns:1fr}
}
@media (max-width:900px){
  /* Kennzahlenband fliesst mit, statt über dem Text zu schweben */
  .hero{flex-direction:column;align-items:stretch}
  .hero-content{padding-bottom:clamp(30px,4vh,44px)}
  .facts{position:static;transform:none;width:min(1180px,calc(100% - 40px));margin:0 auto 44px;
    border:1px solid rgba(255,255,255,.22);border-radius:6px;overflow:hidden}
  .facts div{border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}
  .facts div:last-child{border-bottom:0}
}
@media (max-width:620px){
  .property-grid,.region-grid,.team-grid,.footer-grid{grid-template-columns:1fr}
  .region-grid>.region-card:first-child{grid-column:auto}
  .facts{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .section{padding:60px 0}

  /* Kopfleiste bleibt einzeilig: Adresstext weicht dem Briefsymbol */
  .topbar{font-size:12.5px}
  .topbar-inner{justify-content:center;text-align:center;min-height:34px}
  .topbar-links{gap:14px;flex-wrap:nowrap}
  .topbar-claim{display:none}
  .mailtext{display:none}
}

/* ==========================================================================
   Objektübersicht (objekte.html)
   ========================================================================== */
.page-head{background:linear-gradient(120deg,#021d38 0%,#07396f 70%,#0a4f91 100%);
  color:#fff;padding:44px 0 52px}
.breadcrumb{font-size:11.5px;letter-spacing:.05em;color:rgba(255,255,255,.7);margin-bottom:22px}
.breadcrumb a{border-bottom:1px solid rgba(198,161,91,.5)}
.breadcrumb a:hover{color:#fff}
.breadcrumb span[aria-hidden]{margin:0 7px;color:var(--gold)}
.page-head h1{font-family:var(--serif);font-size:clamp(32px,4.4vw,52px);line-height:1.08;
  margin:12px 0 16px;color:#f8f4e8;font-weight:500}
.page-lead{max-width:64ch;color:rgba(255,255,255,.86);font-size:15.5px;margin:0}

.list-section{padding-top:44px}
.filterbar{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:14px;align-items:end;
  background:var(--blue-soft);border:1px solid var(--line);border-radius:10px;padding:20px}
.filterbar label{display:block;font-size:11px;letter-spacing:.08em;font-weight:500;color:var(--muted)}
.filterbar select{width:100%;margin-top:6px;padding:11px 12px;font-family:var(--sans);
  font-size:14px;font-weight:300;border:1px solid #ccd6e0;border-radius:4px;background:#fff;color:var(--ink)}
.filterbar select:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 2px rgba(198,161,91,.2)}
.filterbar .outline-btn{height:43px;white-space:nowrap}
@media (max-width:1000px){.filterbar{grid-template-columns:1fr 1fr}
  .filterbar .outline-btn{grid-column:1 / -1}}
@media (max-width:560px){.filterbar{grid-template-columns:1fr}}

.result-count{margin:26px 0 18px;font-size:13px;letter-spacing:.06em;font-weight:500;color:var(--muted)}
.property-grid-wide{grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:1000px){.property-grid-wide{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.property-grid-wide{grid-template-columns:1fr}}
.property-empty{grid-column:1 / -1;color:var(--muted);padding:30px 0}

/* ==========================================================================
   Objekt-Detailseite (objekt.php)
   ========================================================================== */
.detail-head{padding-bottom:44px}
.detail-ort{margin:0;color:var(--gold-light);font-size:15px;letter-spacing:.03em}
.detail-section{padding-top:40px}
.detail-grid{display:grid;grid-template-columns:1.55fr .95fr;gap:48px;align-items:start}
@media (max-width:1000px){.detail-grid{grid-template-columns:1fr;gap:36px}}

.galerie{margin:0 0 40px}
.galerie>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px;
  border:1px solid var(--line);background:var(--blue-soft)}
.galerie-leiste{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:10px}
@media (max-width:620px){.galerie-leiste{grid-template-columns:repeat(4,1fr)}}
.galerie-mini{padding:0;border:1px solid var(--line);border-radius:5px;overflow:hidden;
  background:none;cursor:pointer;line-height:0;transition:border-color .18s,opacity .18s;opacity:.72}
.galerie-mini img{width:100%;height:64px;object-fit:cover}
.galerie-mini:hover,.galerie-mini.aktiv{border-color:var(--gold);opacity:1}
.galerie-hinweis{font-size:13px;color:var(--muted);margin-top:10px;font-style:italic}

.detail-block{margin-bottom:40px;padding-top:30px;border-top:1px solid var(--line)}
.detail-block:first-of-type{border-top:0;padding-top:0}
.detail-block h2{font-size:clamp(24px,2.6vw,32px);margin-bottom:16px}
.fliesstext{color:#3f4f60;font-size:15.5px;line-height:1.75}

.merkmale{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:9px 22px}
.merkmale li{position:relative;padding-left:22px;font-size:15px;white-space:nowrap}
.merkmale li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--gold-dark);font-weight:700}

.eckdaten{display:grid;grid-template-columns:auto 1fr;gap:0 26px;margin:0}
.eckdaten dt{font-size:12px;letter-spacing:.05em;color:var(--muted);padding:11px 0;
  border-top:1px solid var(--line)}
.eckdaten dd{margin:0;padding:11px 0;border-top:1px solid var(--line);font-weight:500}
@media (max-width:520px){
  .eckdaten{grid-template-columns:1fr}
  .eckdaten dt{padding-bottom:0}
  .eckdaten dd{border-top:0;padding-top:2px;padding-bottom:14px}
}

.energie{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.energie>div{border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:5px;
  padding:14px 20px;background:var(--blue-soft);min-width:150px}
.energie span{display:block;font-size:11px;letter-spacing:.1em;color:var(--muted)}
.energie b{display:block;font-family:var(--serif);font-size:27px;color:var(--blue-deep);line-height:1.2}
.energie small{display:block;font-size:12px;color:var(--muted)}
.klein{font-size:12.5px;color:var(--muted);line-height:1.6}
.klein a{border-bottom:1px solid var(--gold)}
.detail-links a{display:inline-block;margin-right:22px;font-weight:500;
  color:var(--blue);border-bottom:1px solid var(--gold)}

.detail-seite{position:sticky;top:112px;display:grid;gap:18px}
@media (max-width:1000px){.detail-seite{position:static}}
.preis-karte{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;
  box-shadow:var(--shadow)}
.preis-label{font-size:11px;letter-spacing:.12em;color:var(--gold-dark);margin:0 0 4px;font-weight:700}
.preis-wert{font-family:var(--serif);font-size:36px;font-weight:600;color:var(--blue-deep);
  margin:0 0 14px;line-height:1.1}
.preis-eck{list-style:none;padding:0;margin:18px 0 22px}
.preis-eck li{display:flex;justify-content:space-between;gap:14px;padding:9px 0;
  border-top:1px solid var(--line);font-size:14px}
.preis-eck span{color:var(--muted)}
.prov{margin-top:16px}

.berater-karte{background:var(--blue-soft);border:1px solid var(--line);border-radius:14px;
  padding:18px;display:flex;gap:16px;align-items:center}
.berater-karte img{width:82px;height:82px;border-radius:50%;object-fit:cover;
  object-position:center 20%;background:#dbe4ee;flex-shrink:0;
  border:2px solid rgba(198,161,91,.45)}
.berater-karte>div{min-width:0}
.berater-karte b{display:block;font-size:15px}
.berater-karte span{display:block;font-size:12.5px;color:var(--muted);margin:2px 0 6px}
.berater-karte a{display:block;font-size:13px;color:var(--blue);width:fit-content;
  border-bottom:1px solid var(--gold);margin-top:3px}

/* --- Werkzeugleiste auf der Objektseite ---------------------------------- */
.objekt-werkzeuge{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px}
.werkzeug{display:inline-flex;align-items:center;gap:7px;font-family:var(--sans);
  font-size:12px;font-weight:500;letter-spacing:.03em;color:#fff;cursor:pointer;
  background:rgba(255,255,255,.10);border:1px solid rgba(198,161,91,.55);
  border-radius:3px;padding:9px 15px;transition:background .18s,border-color .18s}
.werkzeug:hover,.werkzeug:focus-visible{background:rgba(198,161,91,.24);border-color:var(--gold)}
.werkzeug span{font-size:14px;line-height:1}
.werkzeug-hinweis{font-size:12px;color:var(--gold-light)}

/* --- Formularprüfung ----------------------------------------------------- */
.honigtopf{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.feld-fehler{border-color:#b4552a!important;background:#fdf6f2}
.feld-hinweis{display:block;margin-top:5px;font-size:12px;color:#9c3115;line-height:1.45}
.form-status.erfolg{color:#1c6b46;font-weight:500}
.form-card button[disabled]{opacity:.65;cursor:default}

/* --- Druckausgabe -------------------------------------------------------- */
@media print{
  .topbar,.site-header,.footer,.final-cta,.valuation-form-section,
  .objekt-werkzeuge,.galerie-leiste,.skip,.menu-toggle{display:none!important}

  body{background:#fff;color:#000;font-size:11pt}
  .page-head{background:none!important;color:#000;padding:0 0 12pt;
    border-bottom:1pt solid #999}
  .page-head h1,.detail-block h2,.preis-wert{color:#000}
  .detail-ort,.breadcrumb{color:#333}
  .eyebrow{color:#666}

  .detail-grid{display:block}
  .detail-seite{position:static}
  .preis-karte,.berater-karte{box-shadow:none;border:1pt solid #999;
    background:#fff;page-break-inside:avoid;margin-bottom:10pt}
  .detail-block{page-break-inside:avoid;border-top:1pt solid #ccc}
  .galerie>img{max-height:88mm;object-fit:contain;border:1pt solid #ccc}
  .energie>div{background:#fff;border:1pt solid #999}
  .merkmale li::before{color:#000}
  a{text-decoration:none;color:#000}

  /* Adresse der Seite mit ausdrucken, damit das Blatt auffindbar bleibt */
  .page-head .container::after{content:"eigenheim-homes.at";display:block;
    margin-top:8pt;font-size:9pt;color:#666}
  @page{margin:16mm}
}

/* --- Regionsseite (region.php) -------------------------------------------- */
.region-head{background-size:cover;background-position:center;padding:58px 0 62px}
.region-head .page-lead{font-size:17px;max-width:62ch}
.region-head .hero-actions{display:flex;gap:12px;flex-wrap:wrap}

.ortliste{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.ortliste li{background:var(--blue-soft);border:1px solid var(--line);border-radius:3px;
  padding:9px 16px;font-size:14px;color:var(--blue-deep)}

.faq{margin-top:26px;max-width:80ch}
.faq details{border-top:1px solid var(--line);padding:0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:20px 34px 20px 0;position:relative;
  font-family:var(--serif);font-size:21px;color:var(--blue-deep);font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:18px;font-family:var(--sans);
  font-size:24px;font-weight:300;color:var(--gold-dark);transition:transform .2s}
.faq details[open] summary::after{content:"\2013"}
.faq summary:hover{color:var(--blue)}
.faq details p{margin:0;padding:0 34px 22px 0;color:#41525f;font-size:15.5px;line-height:1.75}

/* --- Portalliste in der Datenschutzerklärung ------------------------------ */
.portalliste{margin:12px 0 4px!important;padding-left:0;list-style:none;
  display:flex;flex-wrap:wrap;gap:8px 10px}
.portalliste li{padding:6px 14px!important;background:var(--kalkstein,#eef3f8);
  border:1px solid var(--linie,#dce4ec);border-radius:3px;font-size:.92rem}
.portalliste li::before{display:none!important}

/* --- Fragenseite (faq.php) ------------------------------------------------ */
.faq-seite{padding-top:48px}
.faq-raster{display:grid;grid-template-columns:250px 1fr;gap:56px;align-items:start}
@media (max-width:900px){.faq-raster{grid-template-columns:1fr;gap:32px}}
.faq-inhalt{position:sticky;top:112px}
@media (max-width:900px){.faq-inhalt{position:static;border-left:2px solid var(--line);padding-left:20px}}
.faq-inhalt h2{font-family:var(--sans);font-size:11px;letter-spacing:.12em;color:var(--gold-dark);
  font-weight:700;margin:0 0 14px}
.faq-inhalt ul{list-style:none;padding:0;margin:0 0 28px}
.faq-inhalt li{margin-bottom:10px}
.faq-inhalt a{font-size:15px;color:var(--muted);border-bottom:1px solid transparent}
.faq-inhalt a:hover{color:var(--blue-deep);border-bottom-color:var(--gold)}
.faq-hilfe{background:var(--blue-soft);border:1px solid var(--line);border-radius:8px;padding:20px}
.faq-hilfe p{font-size:14px;color:var(--muted);margin:0 0 12px}
.faq-gruppe{margin-bottom:52px;scroll-margin-top:120px}
.faq-gruppe h2{font-size:clamp(26px,3vw,34px)}
.faq-intro{color:var(--muted);margin:10px 0 0;max-width:62ch}

/* --- Dreizeiliger Menüpunkt und Kopfsuche --------------------------------- */
.nav-dreizeilig{display:flex!important;flex-direction:column;align-items:center;
  line-height:1.22;padding:24px 0!important;text-align:center}
.nav-dreizeilig span{display:block;font-size:11px;letter-spacing:.04em}
.nav-dreizeilig span+span{opacity:.86}
.nav-dreizeilig:not(.nav-cta)::after{bottom:16px!important}

.kopfsuche{display:flex;align-items:stretch;border:1px solid var(--line);
  border-radius:3px;overflow:hidden;background:#fff;height:40px;flex-shrink:1;min-width:0}
.kopfsuche input{border:0;outline:0;padding:0 12px;font-family:var(--sans);font-size:13px;
  font-weight:300;color:var(--ink);width:186px;min-width:0;background:transparent}
.kopfsuche input::placeholder{color:var(--muted);opacity:.85}
.kopfsuche:focus-within{border-color:var(--gold);box-shadow:0 0 0 2px rgba(198,161,91,.18)}
.kopfsuche button{border:0;background:var(--blue-soft);color:var(--blue-deep);
  padding:0 13px;font-size:15px;cursor:pointer;transition:background .18s}
.kopfsuche button:hover{background:#e2ebf4}
@media (max-width:1180px){.kopfsuche input{width:140px}}
@media (max-width:1040px){.kopfsuche{display:none}}
@media (max-width:900px){
  .kopfsuche{display:flex;width:100%;margin:14px 0 4px;height:44px}
  .kopfsuche input{width:100%}
  .nav-dreizeilig{flex-direction:row!important;gap:6px;padding:13px 0!important;
    align-items:baseline;text-align:left}
  .nav-dreizeilig span+span::before{content:"\00B7\00A0";opacity:.6}
}

/* Suchfeld in der Filterleiste */
.filterbar{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr auto}
.filter-suche input{width:100%;margin-top:6px;padding:11px 12px;font-family:var(--sans);
  font-size:14px;font-weight:300;border:1px solid #ccd6e0;border-radius:4px;
  background:#fff;color:var(--ink)}
.filter-suche input:focus{border-color:var(--gold);outline:none;
  box-shadow:0 0 0 2px rgba(198,161,91,.2)}
@media (max-width:1000px){
  .filterbar{grid-template-columns:1fr 1fr}
  .filter-suche{grid-column:1 / -1}
}
@media (max-width:560px){.filterbar{grid-template-columns:1fr}}

/* --- Bildfläche der Wertermittlung ----------------------------------------
   Die blaue Lasur nimmt die Bühne und die Regionsköpfe auf, damit das Foto
   zum Rest gehört statt herauszufallen. Sie liegt als eigene Ebene darüber,
   das Foto selbst bleibt unverändert.
   Stärker oder schwächer: die Werte hinter rgba() anpassen, der letzte Wert
   ist die Deckkraft zwischen 0 und 1.
   -------------------------------------------------------------------------- */
.valuation-photo{background-size:cover;background-position:center;
  position:relative;overflow:hidden;isolation:isolate}
.valuation-photo.mit-foto::before{content:"";position:absolute;inset:0;
  background:linear-gradient(115deg,
    rgba(2,29,56,.62) 0%,
    rgba(7,57,111,.40) 48%,
    rgba(10,79,145,.22) 100%);
  mix-blend-mode:multiply}
/* Schmaler Goldstrich an der Kante zum Text, wie an den Preiskarten */
.valuation-photo.mit-foto::after{content:"";position:absolute;top:0;bottom:0;right:0;
  width:2px;background:var(--gold);opacity:.75}
@media (max-width:900px){
  .valuation-photo.mit-foto::after{top:auto;left:0;right:0;bottom:0;width:auto;height:2px}
}

/* --- Anleitungsseite für den Startbildschirm (app.php) -------------------- */
.app-raster{display:grid;grid-template-columns:320px 1fr;gap:56px;align-items:start}
@media (max-width:900px){.app-raster{grid-template-columns:1fr;gap:34px}}
.app-qr{background:var(--blue-soft);border:1px solid var(--line);border-radius:12px;
  padding:24px;text-align:center;position:sticky;top:112px}
@media (max-width:900px){.app-qr{position:static}}
.app-qr img{width:100%;height:auto;border-radius:6px;background:#fff}
.app-qr p{margin:14px 0 16px;font-size:13.5px;color:var(--muted)}
.app-schritte{counter-reset:app;list-style:none;padding:0;margin:0}
.app-schritte li{counter-increment:app;position:relative;padding:0 0 14px 44px;
  font-size:15.5px;line-height:1.65;color:#3f4f60}
.app-schritte li::before{content:counter(app);position:absolute;left:0;top:0;
  width:28px;height:28px;border:1px solid var(--gold);border-radius:50%;
  display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--gold-dark)}

/* --- Video und Grundriss auf der Objektseite ------------------------------ */

/* Sonderkacheln in der Bilderleiste */
.galerie-sonder{display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;height:64px;background:var(--blue-deep);color:var(--gold-light);opacity:1;
  border-color:var(--gold)}
.galerie-sonder:hover,.galerie-sonder.aktiv{background:var(--blue);border-color:var(--gold-light)}
.sonder-zeichen{font-size:17px;line-height:1}
.sonder-text{font-family:var(--sans);font-size:9.5px;letter-spacing:.06em;font-weight:500}

/* Abspielfenster anstelle des grossen Bildes */
.galerie-video{aspect-ratio:16/9;border-radius:10px;overflow:hidden;border:1px solid var(--line);
  background:#000}
.galerie-video iframe{width:100%;height:100%;border:0;display:block}

/* Abspielfenster im eigenen Abschnitt */
.video{position:relative;aspect-ratio:16/9;border:1px solid var(--line);border-radius:10px;
  overflow:hidden;background:var(--blue-soft);margin-bottom:18px}
.video-platzhalter{position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:16px;text-align:center;padding:28px}
.video-platzhalter p{font-size:14px;color:#4a5b6d;max-width:44ch;margin:0}
.video iframe{width:100%;height:100%;border:0;display:block}

.unterlagen{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.unterlagen .btn span{margin-right:8px;font-size:14px}

/* --- Videohinweis auf der Objektkachel ------------------------------------ */
.badge-video{left:auto;right:12px;background:rgba(2,29,56,.88);color:var(--gold-light);
  border:1px solid rgba(198,161,91,.65);display:inline-flex;align-items:center;gap:5px;
  backdrop-filter:blur(2px)}
.badge-video span{font-size:9px;line-height:1}
@media (max-width:420px){
  .badge,.badge-video{font-size:9px;padding:5px 7px}
  .badge-video{right:10px}
}

/* ==========================================================================
   Karriere (karriere.php)
   ========================================================================== */
.karriere-head{padding:44px 0 56px}
.karriere-head-inner{display:grid;grid-template-columns:1fr 300px;gap:56px;align-items:center}
.karriere-head h1{font-size:clamp(40px,6vw,68px)}
.karriere-head .hero-actions{margin-top:26px}
.karriere-wahl{margin:18px 0 0;display:inline-block;padding:10px 16px;border:1px solid rgba(198,161,91,.55);
  border-radius:6px;background:rgba(255,255,255,.06);font-size:14px;color:rgba(255,255,255,.9)}
.karriere-wahl b{color:var(--gold-light);font-weight:500}
.karriere-kopfplakat{display:block;border-radius:8px;overflow:hidden;box-shadow:0 24px 50px rgba(0,0,0,.35);
  transform:rotate(2deg);transition:transform .25s}
.karriere-kopfplakat:hover{transform:rotate(0) scale(1.02)}
.karriere-kopfplakat img{width:100%;height:auto}

.karriere-stelle{display:grid;grid-template-columns:1fr 360px;gap:56px;align-items:start}
.karriere-stelle h2{margin-bottom:6px}
.karriere-stelle h3{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--blue-deep);margin:30px 0 10px}
.karriere-umfang{color:var(--gold-dark);font-weight:500;letter-spacing:.02em;margin:0}
.karriere-kurz{position:sticky;top:120px}
.karriere-kurz h3{font-size:28px;line-height:1.15}
.haken-liste{list-style:none;padding:0;margin:0}
.haken-liste li{position:relative;padding-left:28px;margin:8px 0}
.haken-liste li::before{content:"";position:absolute;left:2px;top:.52em;width:12px;height:7px;
  border-left:2px solid var(--gold-dark);border-bottom:2px solid var(--gold-dark);transform:rotate(-45deg)}

.karriere-vorteile-section{background:var(--blue-soft)}
.karriere-vorteile{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.vorteil{border-radius:16px;padding:30px 28px;color:#fff;background:var(--blue)}
.vorteil h3{font-family:var(--sans);font-size:18px;font-weight:500;margin:14px 0 6px;line-height:1.3}
.vorteil p{margin:0;font-size:14.5px;color:rgba(255,255,255,.85)}
.vorteil-symbol{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.14)}
.vorteil-1{background:#0b3566}.vorteil-2{background:#1f66c1}.vorteil-3{background:#105a9c}
.vorteil-4{background:#1d6b8c}.vorteil-5{background:#4a6d96}
.vorteil-6{background:#8fbbe8;color:var(--blue-deep)}
.vorteil-6 p{color:#16365c}.vorteil-6 .vorteil-symbol{background:rgba(2,29,56,.1)}

.karriere-partner{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px}
.partner-karte{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;
  display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(13,42,72,.06);transition:box-shadow .2s,border-color .2s}
.partner-karte.gewaehlt{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-light),var(--shadow)}
.partner-plakat{display:block;aspect-ratio:1/1;overflow:hidden;background:var(--blue-soft)}
.partner-plakat img{width:100%;height:auto;transition:transform .3s}
.partner-plakat:hover img{transform:scale(1.03)}
.partner-text{padding:18px 20px 22px;display:flex;flex-direction:column;gap:4px;flex:1;font-size:14px}
.partner-text>a:not(.btn){color:var(--blue);word-break:break-word}
.partner-region{margin:0 0 8px;font-size:11px;letter-spacing:.14em;font-weight:500;color:var(--gold-dark);text-transform:uppercase}
.partner-person{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.partner-person b{font-weight:500;line-height:1.3;color:var(--blue-deep)}
.partner-foto{position:relative;width:52px;height:52px;flex-shrink:0;border-radius:50%;overflow:hidden;
  background:linear-gradient(135deg,#e6edf5,#c9d7e7);display:grid;place-items:center;
  font-family:var(--serif);font-size:20px;color:var(--blue)}
.partner-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 15%}
.partner-knopf{margin-top:auto;font-size:11px;min-height:42px;padding:0 10px}
.partner-text .partner-knopf{margin-top:14px}

.karriere-empfaenger{margin:-6px 0 14px;font-size:13px;color:var(--gold-dark);min-height:0}
.karriere-empfaenger:empty{display:none}
.optional{font-weight:300;color:var(--muted)}
.datei-feld input[type=file]{padding:10px;background:var(--blue-soft);cursor:pointer}

@media (max-width:1100px){
  .karriere-partner{grid-template-columns:repeat(2,1fr)}
  .karriere-vorteile{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .karriere-head-inner{grid-template-columns:1fr}
  .karriere-kopfplakat{max-width:260px;transform:none}
  .karriere-stelle{grid-template-columns:1fr;gap:30px}
  .karriere-kurz{position:static}
}
@media (max-width:620px){
  .karriere-partner,.karriere-vorteile{grid-template-columns:1fr}
}

/* ==========================================================================
   Kurzexposé für den Druck (inc/druck-expose.php)
   Am Bildschirm unsichtbar. Beim Drucken ersetzt es die ganze Webseite.
   ========================================================================== */
.druck-expose{display:none}

@media print{
  @page{size:A4;margin:10mm 12mm 15mm}
  html,body{background:#fff!important}
  body.mit-druckexpose>*:not(.druck-expose){display:none!important}
  body.mit-druckexpose .druck-expose{display:block!important}

  .druck-expose{font-family:var(--sans);font-weight:400;color:#14243a;font-size:8.8pt;line-height:1.45;
    -webkit-print-color-adjust:exact;print-color-adjust:exact}
  .druck-expose h1,.druck-expose h2,.druck-expose p{margin:0}
  .dx-seite{position:relative;padding-bottom:11mm}
  .dx-seite-1{height:272mm;overflow:hidden}
  .dx-seite-2{min-height:272mm}
  .dx-seite-2{break-before:page;page-break-before:always}

  .dx-kopf{display:flex;justify-content:space-between;align-items:center;
    padding-bottom:3mm;border-bottom:.6mm solid #1f5fbf;margin-bottom:4mm}
  .dx-logo{height:17mm;width:auto}
  .dx-kopf-rechts{text-align:right;display:flex;flex-direction:column;gap:.6mm}
  .dx-kopf-rechts b{font-weight:500;letter-spacing:.18em;font-size:9pt;color:#07396f}
  .dx-kopf-rechts span{font-size:8pt;color:#5a6878}
  .dx-kopf-klein .dx-logo{height:11mm}
  .dx-kopf-klein .dx-kopf-rechts b{letter-spacing:.02em;font-size:9.5pt}

  .dx-titel{background:#07396f;color:#fff;border-radius:2mm;padding:4mm 6mm 4.2mm;margin-bottom:3.5mm}
  .dx-eyebrow{font-size:7.2pt;letter-spacing:.16em;font-weight:500;color:#9cc3f0}
  .dx-titel h1{font-family:var(--sans);font-weight:500;font-size:17pt;line-height:1.15;margin:1mm 0 1.2mm;color:#fff}
  .dx-ort{font-size:9.5pt;color:rgba(255,255,255,.88)}

  .dx-hauptbild{display:block;width:100%;height:72mm;object-fit:cover;border-radius:2mm}
  .dx-hauptbild-gross{height:104mm}
  .dx-bilder{display:grid;gap:3mm;margin-top:3mm}
  .dx-bilder-1{grid-template-columns:1fr}.dx-bilder-2{grid-template-columns:1fr 1fr}
  .dx-bilder-3{grid-template-columns:1fr 1fr 1fr}
  .dx-bilder img{width:100%;height:27mm;object-fit:cover;border-radius:1.5mm;display:block}

  .dx-fakten{display:flex;margin:4mm 0 4.5mm;border:.3mm solid #b9cde6;border-radius:1.5mm;overflow:hidden}
  .dx-fakten>div{flex:1;padding:2.6mm 4mm;border-left:.3mm solid #d5e1ef;display:flex;flex-direction:column;justify-content:center}
  .dx-fakten span{font-size:6.8pt;letter-spacing:.12em;color:#5a6878}
  .dx-fakten b{font-size:11.5pt;font-weight:500;color:#07396f;line-height:1.25}
  .dx-fakten .dx-preis{flex:1.25;background:#07396f;border-left:0}
  .dx-preis span{color:#9cc3f0}.dx-preis b{color:#fff;font-size:14pt}
  .dx-preis small{color:rgba(255,255,255,.8);font-size:6.8pt}

  .druck-expose h2{font-family:var(--sans);font-size:8pt;letter-spacing:.14em;font-weight:500;color:#07396f;
    border-bottom:.45mm solid #1f5fbf;padding-bottom:1.2mm;margin:0 0 2mm}
  .dx-zweispaltig{display:grid;grid-template-columns:1fr 1fr;gap:7mm}
  .dx-zweispaltig h2:not(:first-child){margin-top:4mm}
  .dx-tabelle{width:100%;border-collapse:collapse}
  .dx-tabelle th,.dx-tabelle td{text-align:left;padding:1.25mm 0;border-bottom:.25mm solid #e1e8f0;vertical-align:top}
  .dx-tabelle th{font-weight:400;color:#5a6878;width:44%}
  .dx-tabelle td{font-weight:500}
  .dx-kosten td{text-align:right}
  .dx-punkte{list-style:none;margin:0;padding:0;columns:1}
  .dx-punkte li{position:relative;padding-left:4.5mm;margin:0 0 1.3mm}
  .dx-punkte li::before{content:"";position:absolute;left:.5mm;top:1.5mm;width:1.8mm;height:1.8mm;border-radius:50%;background:#1f5fbf}
  .dx-klein{font-size:7.2pt;color:#5a6878;margin-top:1.8mm!important}

  .dx-seite-2 h2{margin-top:2mm}
  .dx-text{columns:2;column-gap:7mm;text-align:left;margin-bottom:4mm;font-size:8.3pt;line-height:1.42}
  .dx-text p{margin:0 0 2.2mm;break-inside:avoid-column}

  .dx-kontakt{display:flex;justify-content:space-between;align-items:center;gap:6mm;
    background:#eef3f8;border-radius:2mm;padding:4.5mm 5mm;break-inside:avoid;margin-top:3mm}
  .dx-person{display:flex;align-items:center;gap:4.5mm}
  .dx-person img{width:19mm;height:24mm;object-fit:cover;object-position:center 18%;border-radius:1.5mm}
  .dx-person div{display:flex;flex-direction:column;gap:.5mm;font-size:9pt}
  .dx-person b{font-size:12pt;font-weight:500;color:#07396f}
  .dx-person .dx-eyebrow{color:#1f5fbf}
  .dx-qr{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.2mm;font-size:6.5pt;color:#5a6878}
  .dx-qr #druck-qr{width:19mm;height:19mm;background:#fff;padding:1.5mm;border-radius:1mm}
  .dx-qr svg{width:100%;height:100%;display:block}
  .dx-rechtlich{margin-top:3mm!important}

  .dx-unten{display:grid;grid-template-columns:62mm 1fr;gap:6mm;align-items:stretch;break-inside:avoid;margin-top:2mm}
  .dx-abschluss{margin:0}
  .dx-unten .dx-kontakt{margin-top:0}
  .dx-fuss{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:6mm;
    font-size:7pt;color:#5a6878;border-top:.3mm solid #b9cde6;padding-top:1.6mm}
  .dx-fuss b{color:#07396f;font-weight:500}
}
