/* =========================================================
   DOKA'S Immobilienservice – gemeinsame Basis für alle Varianten
   Schriften lokal (DSGVO: kein Google-Fonts-CDN)
   ========================================================= */

@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 900;font-display:swap;
  src:url(../fonts/playfair-display-latin-wght-normal.woff2) format("woff2-variations");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 900;font-display:swap;
  src:url(../fonts/playfair-display-latin-ext-wght-normal.woff2) format("woff2-variations");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400 900;font-display:swap;
  src:url(../fonts/playfair-display-latin-wght-italic.woff2) format("woff2-variations");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400 900;font-display:swap;
  src:url(../fonts/playfair-display-latin-ext-wght-italic.woff2) format("woff2-variations");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(../fonts/inter-latin-wght-normal.woff2) format("woff2-variations");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(../fonts/inter-latin-ext-wght-normal.woff2) format("woff2-variations");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;
  src:url(../fonts/manrope-latin-wght-normal.woff2) format("woff2-variations");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;
  src:url(../fonts/manrope-latin-ext-wght-normal.woff2) format("woff2-variations");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- Marken-Tokens (exakte Werte der alten Seite: #845A68 / #364242) ---------- */
:root{
  --plum:#845A68;          /* Primär Mauve/Aubergine */
  --plum-deep:#5A3B47;
  --plum-ink:#3A2530;
  --plum-soft:#EADBE0;
  --plum-mist:#F5EEF1;
  --slate:#364242;         /* Anthrazit/Schiefer */
  --slate-deep:#232B2B;
  --ink:#2B2326;
  --muted:#6E6266;
  --cream:#FAF6F1;
  --sand:#F1E8DE;
  --paper:#F7F4F5;
  --gold:#C9A45C;          /* Gold aus dem Logo */
  --gold-light:#E4CC93;
  --gold-deep:#A07B2E;
  --white:#fff;
  --wa:#25D366;

  --font-serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --font-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-alt:"Manrope","Inter",system-ui,sans-serif;

  --ease-out:cubic-bezier(.22,1,.36,1);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
img,svg,video,canvas{display:block;max-width:100%}
input,button,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
a{color:inherit;text-decoration:none}
ul[role="list"],ol[role="list"]{list-style:none}
h1,h2,h3,h4{text-wrap:balance}
p{text-wrap:pretty}

/* ---------- Barrierefreiheit ---------- */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:-100px;z-index:1000;background:var(--slate);color:#fff;padding:12px 18px;border-radius:10px;font-weight:600;transition:top .2s}
.skip-link:focus{top:16px}
/* Fokusrahmen: Varianten können --focus-ring setzen (hell: Pflaume, dunkel: Gold) */
:focus-visible{outline:2px solid var(--focus-ring,var(--plum));outline-offset:3px;border-radius:6px}
[hidden]{display:none!important}

/* Honeypot-Feld (Spam-Schutz ohne reCAPTCHA) */
.hp-field{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}

/* Split-Text-Hilfsklassen (werden von core.js erzeugt) */
.split-line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.split-word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.split-word>span,.split-line>span{display:inline-block;will-change:transform}
.split-char{display:inline-block}

/* Vor dem JS-Start: animierte Elemente nicht kurz aufblitzen lassen */
.js [data-reveal],.js [data-stagger]>*{opacity:0}
.js [data-split]{visibility:hidden}
.js.reduced [data-reveal],.js.reduced [data-stagger]>*{opacity:1}
.js.reduced [data-split]{visibility:visible}

/* ---------- Demo-Umschalter (nur für die Präsentation, vor Livegang entfernen) ---------- */
.demo-switch{position:fixed;left:16px;bottom:16px;z-index:900;display:flex;align-items:center;gap:4px;padding:5px;border-radius:999px;
  background:rgba(20,16,18,.9);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 18px 40px -16px rgba(0,0,0,.6);
  font:600 12px/1 var(--font-sans);color:#fff;letter-spacing:.02em}
.nav-open .demo-switch{display:none}
.demo-switch a{display:grid;place-items:center;min-width:34px;height:34px;padding:0 10px;border-radius:999px;color:rgba(255,255,255,.72);transition:background .25s,color .25s}
.demo-switch a:hover{color:#fff;background:rgba(255,255,255,.1)}
.demo-switch a[aria-current="page"]{background:var(--gold);color:#1d1418}
.demo-switch .lbl{padding:0 8px 0 10px;color:rgba(255,255,255,.5);font-weight:500;text-transform:uppercase;letter-spacing:.14em;font-size:10px}
@media (max-width:860px){
  .demo-switch{left:auto;right:10px;bottom:88px;padding:3px;gap:2px;opacity:.78;transition:opacity .25s}
  .demo-switch:hover,.demo-switch:focus-within{opacity:1}
  .demo-switch a{min-width:30px;height:30px;padding:0 8px;font-size:11px}
  .demo-switch .lbl{display:none}
}

/* ---------- Reduzierte Bewegung ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
