/* ==========================================================================
   Jürgen Hohnen Verwaltungs GmbH – Stylesheet
   ---------------------------------------------------------------------------
   Farbsystem (bewusst reduziert):
   · Tannengrün        – Bereich Wohnen & Vermietung, Primäraktionen
   · Warmes Anthrazit  – Bereich Buch (wie das Cover)
   · Warme Neutraltöne – alle hellen Flächen (kein Mint, kein Gelb)
   · Bronze/Champagner – einziger Akzent für beide Bereiche
   Schriften: Jost (Überschriften, Wortmarke) · Hanken Grotesk (Text, UI)
   ========================================================================== */

@font-face { font-family: "Jost"; src: url("../fonts/jost-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Jost"; src: url("../fonts/jost-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Jost"; src: url("../fonts/jost-latin-600-normal.woff2") format("woff2"); font-weight: 600 700; font-display: swap; }
@font-face { font-family: "Hanken Grotesk"; src: url("../fonts/hanken-grotesk-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Hanken Grotesk"; src: url("../fonts/hanken-grotesk-latin-400-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Hanken Grotesk"; src: url("../fonts/hanken-grotesk-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Hanken Grotesk"; src: url("../fonts/hanken-grotesk-latin-600-normal.woff2") format("woff2"); font-weight: 600 800; font-display: swap; }

/* --- Design-Tokens ------------------------------------------------------------ */
:root {
  --g900: #0e1823;
  --g800: #152231;
  --g700: #1e3044;
  --g600: #2c4762;
  --c900: #17130f;
  --c800: #221c16;
  --c700: #2f271f;
  --bronze: #8a6740;
  --bronze-d: #745634;
  --bronze-2: #b48f5e;
  --champagne: #e9dcc5;
  --champagne-2: #f4ecdf;
  --n50: #f8f7f4;
  --n100: #f2f0eb;
  --n200: #e8e5de;
  --line: #e1ddd5;
  --line-2: #ebe8e2;
  --ink: #141b23;
  --ink-2: #3e4651;
  --muted: #69707a;
  --on-dark: #e6e0d4;
  --on-dark-2: #bdb6a8;
  --slate: #56677a;
  --glow: rgba(201,178,141,.14);

  --head: "Jost", "Futura", "Century Gothic", "Segoe UI", Arial, sans-serif;
  --sans: "Hanken Grotesk", "Segoe UI", Arial, sans-serif;
  --wrap: 1280px;
  --gutter: clamp(1rem, 3.2vw, 2.5rem);
  --top: 44px;
  --hdr: 72px;
  --stick: calc(var(--top) + var(--hdr));
  --r: 12px;
  --r-sm: 8px;
  --ease: cubic-bezier(.2, .7, .2, 1);
  --shadow: 0 1px 2px rgba(20,27,35,.05), 0 8px 22px -14px rgba(20,27,35,.22);
  --shadow-lg: 0 2px 6px rgba(20,27,35,.05), 0 28px 56px -26px rgba(20,27,35,.42);
}
html.is-scrolled { --hdr: 60px; }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--stick) + 1rem); }
body { margin: 0; background: #fff; color: var(--ink); font-family: var(--sans); font-size: 1.0625rem; line-height: 1.65; -webkit-font-smoothing: antialiased; }
img, video { max-width: 100%; height: auto; display: block; }
a { color: var(--g600); text-underline-offset: .2em; text-decoration-thickness: 1px; transition: color .2s; }
a:hover { color: var(--g800); }
:focus-visible { outline: 3px solid var(--bronze-2); outline-offset: 2px; border-radius: 4px; }
hr { border: 0; border-top: 1px solid var(--line); margin: 2.5rem 0; }
h1, h2, h3, h4 { font-family: var(--head); font-weight: 500; color: var(--ink); line-height: 1.12; margin: 0 0 .55em; letter-spacing: -.015em; overflow-wrap: break-word; hyphens: auto; }
h1 { font-size: clamp(2.2rem, 4.2vw, 3.5rem); }
h2 { font-size: clamp(1.75rem, 2.9vw, 2.5rem); }
h3 { font-size: clamp(1.15rem, 1.5vw, 1.3rem); letter-spacing: -.005em; }
h4 { font-size: 1.08rem; }
p { margin: 0 0 1.1em; }
ul, ol { padding-left: 1.2em; }
li { margin-bottom: .35em; }
strong, b { font-weight: 600; }
small { font-size: .85em; }

.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -999px; top: 0; background: var(--ink); color: #fff; padding: .6rem 1rem; z-index: 100; }
.skip:focus { left: 0; color: #fff; }
.todo { background: #fff1a8; color: #4d3d00; padding: 0 .25em; }
[hidden] { display: none !important; }
.muted { color: var(--muted); }
.lead { font-size: 1.16rem; line-height: 1.6; color: var(--ink-2); }
.actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.eyebrow, .kicker { display: block; font-family: var(--sans); font-weight: 700; font-size: .76rem; letter-spacing: .14em; text-transform: uppercase; color: var(--bronze); margin: 0 0 .9rem; }

/* --- Buttons ------------------------------------------------------------------ */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; font-family: var(--sans); font-weight: 600; font-size: .96rem; line-height: 1.2; padding: .92rem 1.45rem; border: 1px solid var(--g700); background: var(--g700); color: #fff; text-decoration: none; border-radius: 10px; cursor: pointer; white-space: nowrap; transition: background-color .2s, color .2s, border-color .2s, box-shadow .25s, transform .25s var(--ease); }
.btn:hover { background: var(--g800); border-color: var(--g800); color: #fff; transform: translateY(-1px); box-shadow: 0 10px 20px -12px rgba(14,24,35,.55); }
.btn:active { transform: translateY(0); box-shadow: none; }
.btn svg { width: 1.1em; height: 1.1em; flex: none; transition: transform .25s var(--ease); }
.btn:hover svg { transform: translateX(2px); }
.btn--ghost { background: transparent; color: var(--g700); border-color: rgba(30,48,68,.4); }
.btn--ghost:hover { background: var(--g700); border-color: var(--g700); color: #fff; }
.btn--light { background: #fff; border-color: #fff; color: var(--g800); }
.btn--light:hover { background: var(--n100); border-color: var(--n100); color: var(--g900); }
.btn--outline-light { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.4); color: #fff; }
.btn--outline-light:hover { background: #fff; border-color: #fff; color: var(--ink); }
.btn--accent { background: var(--bronze); border-color: var(--bronze); color: #fff; }
.btn--accent:hover { background: var(--bronze-d); border-color: var(--bronze-d); color: #fff; }
.btn--champagne { background: var(--champagne); border-color: var(--champagne); color: var(--c900); }
.btn--champagne:hover { background: var(--champagne-2); border-color: var(--champagne-2); color: var(--c900); }
.btn--small { padding: .64rem 1.05rem; font-size: .9rem; }
.btn--block { width: 100%; }
.link-arrow { display: inline-flex; align-items: center; gap: .4rem; font-weight: 600; color: var(--g700); text-decoration: none; background-image: linear-gradient(var(--bronze-2), var(--bronze-2)); background-size: 100% 1px; background-position: 0 100%; background-repeat: no-repeat; padding-bottom: .15rem; }
.link-arrow svg { width: 1em; height: 1em; transition: transform .25s var(--ease); }
.link-arrow:hover { color: var(--g800); }
.link-arrow:hover svg { transform: translateX(3px); }

/* --- Sticky Header: Bereichsleiste + Hauptnavigation ------------------------------------ */
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.92); -webkit-backdrop-filter: saturate(170%) blur(14px); backdrop-filter: saturate(170%) blur(14px); border-bottom: 1px solid rgba(20,27,35,.08); transition: box-shadow .3s, margin .3s var(--ease); }
.site-header::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: var(--top); background: linear-gradient(90deg, var(--g900), var(--g800)); }
.site-header--buch::before { background: linear-gradient(90deg, var(--c900), var(--c700)); }
html.is-scrolled .site-header { box-shadow: 0 14px 30px -24px rgba(14,24,35,.5); margin-bottom: 12px; }
.hdr { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "switch info info" "brand nav nav"; grid-template-rows: var(--top) var(--hdr); column-gap: 2rem; align-items: center; transition: grid-template-rows .3s var(--ease); }

.switch { grid-area: switch; justify-self: start; position: relative; display: inline-flex; padding: 3px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.13); border-radius: 10px; }
.switch__ind { position: absolute; top: 3px; bottom: 3px; left: var(--x, 3px); width: var(--w, 0); background: #fff; border-radius: 8px; box-shadow: 0 4px 12px -6px rgba(0,0,0,.45); opacity: 0; transition: left .4s var(--ease), width .4s var(--ease), opacity .2s; }
.switch.is-ready .switch__ind { opacity: 1; }
.switch__opt { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: .5rem; padding: .32rem .85rem; border-radius: 8px; font-size: .82rem; font-weight: 600; letter-spacing: .01em; color: rgba(255,255,255,.74); text-decoration: none; white-space: nowrap; transition: color .25s; }
.switch__opt::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--champagne); opacity: .35; transition: opacity .25s, background-color .25s; }
.switch__opt:hover { color: #fff; }
.switch__opt:hover::before { opacity: .7; }
.switch__opt[aria-current] { color: var(--g800); background: #fff; }
.switch__opt--buch[aria-current] { color: var(--c800); }
.switch__opt[aria-current]::before { opacity: 1; background: var(--g600); }
.switch__opt--buch[aria-current]::before { background: var(--bronze-2); }
.switch.is-ready .switch__opt[aria-current] { background: transparent; }
.switch__short { display: none; }

.hdr__info { grid-area: info; justify-self: end; display: flex; align-items: center; gap: 1.6rem; margin: 0; font-size: .8rem; color: rgba(255,255,255,.6); }
.hdr__info a { display: inline-flex; align-items: center; gap: .4rem; color: rgba(255,255,255,.82); text-decoration: none; }
.hdr__info a:hover { color: #fff; }
.hdr__info svg { width: 15px; height: 15px; color: var(--champagne); }

.wordmark { grid-area: brand; display: inline-flex; flex-direction: column; align-items: flex-start; text-decoration: none; color: var(--ink); line-height: 1; }
.wordmark:hover { color: var(--ink); }
.wordmark__name { font-family: var(--head); font-weight: 400; font-size: 1.2rem; letter-spacing: .17em; text-transform: uppercase; }
.wordmark__name b { font-weight: 600; }
.wordmark__sub { font-family: var(--sans); font-size: .6rem; font-weight: 700; letter-spacing: .25em; text-transform: uppercase; color: var(--bronze); margin-top: .42rem; padding-top: .38rem; border-top: 1px solid var(--line); }
.wordmark--light { color: #fff; }
.wordmark--light:hover { color: #fff; }
.wordmark--light .wordmark__sub { color: var(--champagne); border-top-color: rgba(255,255,255,.16); }

.mainnav { grid-area: nav; justify-self: end; display: flex; align-items: center; gap: 1.6rem; }
.mainnav ul { display: flex; gap: 1.5rem; list-style: none; margin: 0; padding: 0; }
.mainnav li { margin: 0; }
.mainnav ul a { position: relative; display: block; padding: .5rem 0; color: var(--ink-2); font-weight: 500; font-size: .95rem; text-decoration: none; white-space: nowrap; }
.mainnav ul a::after { content: ""; position: absolute; left: 0; right: 0; bottom: .2rem; height: 2px; border-radius: 2px; background: var(--g600); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--ease); }
.mainnav ul a:hover { color: var(--ink); }
.mainnav ul a:hover::after, .mainnav ul a[aria-current="page"]::after { transform: scaleX(1); }
.mainnav ul a[aria-current="page"] { color: var(--g800); }
.site-header--buch .mainnav ul a::after { background: var(--bronze-2); }
.site-header--buch .mainnav ul a[aria-current="page"] { color: var(--c800); }
.navtoggle { grid-area: toggle; display: none; justify-self: end; background: rgba(20,27,35,.04); border: 1px solid var(--line); border-radius: 10px; padding: .55rem .6rem; cursor: pointer; color: var(--ink); }
.navtoggle span { display: block; width: 20px; height: 2px; background: currentColor; margin: 4px 0; border-radius: 2px; transition: transform .25s, opacity .25s; }
.navtoggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.navtoggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.navtoggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* --- Brotkrumen ------------------------------------------------------------------- */
.crumbs { font-size: .84rem; color: var(--muted); padding: 1.1rem 0 0; }
.crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .35rem; }
.crumbs li { margin: 0; }
.crumbs li + li::before { content: "›"; margin-right: .45rem; opacity: .6; }
.crumbs a { color: inherit; text-decoration: none; }
.crumbs a:hover { text-decoration: underline; }

/* --- Glasflächen ---------------------------------------------------------------------- */
.glass { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); -webkit-backdrop-filter: blur(14px) saturate(140%); backdrop-filter: blur(14px) saturate(140%); border-radius: var(--r); color: #fff; }

/* --- Hero ---------------------------------------------------------------------------- */
@keyframes heroZoom { from { transform: scale(1.08); } to { transform: none; } }
@keyframes rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.hero { position: relative; color: #fff; background: var(--g900); overflow: hidden; }
.hero__img { position: absolute; inset: 0; overflow: hidden; }
.hero__img img { width: 100%; height: 100%; object-fit: cover; animation: heroZoom 2.4s var(--ease) both; }
.hero__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,14,22,.15) 0%, rgba(8,14,22,0) 28%, rgba(8,14,22,.82) 100%), linear-gradient(90deg, rgba(8,14,22,.6) 0%, rgba(8,14,22,0) 62%); }
.hero__inner { position: relative; min-height: clamp(600px, 82vh, 840px); display: flex; flex-direction: column; justify-content: flex-end; padding-top: 6rem; padding-bottom: 2.4rem; }
.hero__top { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 2rem 3rem; align-items: end; }
.hero__copy { max-width: 900px; }
.hero__label { display: inline-flex; align-items: center; gap: .6rem; font-weight: 700; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--champagne); margin: 0 0 1.1rem; animation: rise .9s var(--ease) .1s both; }
.hero__label::before { content: ""; width: 22px; height: 1px; background: var(--bronze-2); }
.hero h1 { color: #fff; font-size: clamp(2.5rem, 4.8vw, 4.1rem); line-height: 1.04; letter-spacing: -.02em; margin: 0 0 .45em; animation: rise 1s var(--ease) .2s both; }
.hero__copy p { font-size: 1.15rem; color: rgba(255,255,255,.9); max-width: 620px; margin: 0; animation: rise 1s var(--ease) .32s both; }
.hero__feature { display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; gap: .9rem; align-items: center; padding: .75rem .9rem .75rem .75rem; text-decoration: none; color: #fff; border-radius: 14px; animation: rise 1s var(--ease) .6s both; transition: background-color .3s, transform .35s var(--ease), border-color .3s; }
.hero__feature:hover { color: #fff; background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.35); transform: translateY(-3px); }
.hero__feature img { width: 92px; height: 72px; object-fit: cover; border-radius: 9px; }
.hero__feature span { display: block; font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--champagne); }
.hero__feature strong { display: block; font-family: var(--head); font-weight: 500; font-size: 1.12rem; margin: .2rem 0 .1rem; }
.hero__feature em { display: block; font-style: normal; font-size: .84rem; color: rgba(255,255,255,.8); }
.hero__feature > svg { width: 20px; height: 20px; color: var(--champagne); transition: transform .3s var(--ease); }
.hero__feature:hover > svg { transform: translateX(3px); }
.hero__caption { position: absolute; right: var(--gutter); bottom: .9rem; font-size: .72rem; color: rgba(255,255,255,.6); z-index: 1; }
.search { display: grid; grid-template-columns: 1.3fr 1fr 1fr auto; background: rgba(255,255,255,.92); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); border: 1px solid rgba(255,255,255,.7); border-radius: 14px; padding: .45rem; margin-top: 2.1rem; max-width: 1060px; box-shadow: var(--shadow-lg); color: var(--ink); animation: rise 1s var(--ease) .45s both; }
.search label { display: block; padding: .5rem 1rem .45rem; border-right: 1px solid rgba(20,27,35,.08); }
.search label:nth-child(3) { border-right: 0; }
.search span { display: block; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.search select { border: 0; background: transparent; font: inherit; font-weight: 500; font-size: 1.02rem; color: var(--ink); padding: .2rem 0; width: 100%; cursor: pointer; }
.search .btn { padding: 0 1.7rem; min-height: 58px; }
.hero__usp { list-style: none; margin: 1.3rem 0 0; padding: .75rem 1.2rem; display: inline-flex; flex-wrap: wrap; gap: .5rem 2rem; font-size: .92rem; color: rgba(255,255,255,.92); background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-radius: 12px; align-self: flex-start; animation: rise 1s var(--ease) .7s both; }
.hero__usp li { display: flex; align-items: center; gap: .5rem; margin: 0; }
.hero__usp svg { width: 19px; height: 19px; color: var(--champagne); }

/* --- Zwei Geschäftsbereiche ---------------------------------------------------------- */
.areas { display: grid; grid-template-columns: 1fr 1fr; }
.areas__panel { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 460px; padding: clamp(2rem, 4.5vw, 4rem); text-decoration: none; overflow: hidden; color: #fff; }
.areas__panel:hover { color: #fff; }
.areas__panel--wohnen { background: var(--g800); }
.areas__panel--wohnen img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--ease); }
.areas__panel--wohnen::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,24,35,.12) 0%, rgba(14,24,35,.9) 78%); }
.areas__panel--wohnen:hover img { transform: scale(1.04); }
.areas__panel > div { position: relative; z-index: 1; max-width: 520px; }
.areas__label { display: block; font-weight: 700; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: .7rem; color: var(--champagne); }
.areas__panel h2 { color: #fff; font-size: clamp(1.9rem, 3.2vw, 2.7rem); margin: 0 0 .7rem; }
.areas__panel p { margin: 0 0 1.4rem; font-size: 1.02rem; color: rgba(255,255,255,.86); }
.areas__cta { display: inline-flex; align-items: center; gap: .55rem; font-weight: 600; padding-bottom: .25rem; background-image: linear-gradient(var(--bronze-2), var(--bronze-2)); background-size: 100% 1px; background-position: 0 100%; background-repeat: no-repeat; }
.areas__cta svg { width: 1.1em; height: 1.1em; transition: transform .3s var(--ease); }
.areas__panel:hover .areas__cta svg { transform: translateX(4px); }
.areas__panel--buch { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 2rem; background: radial-gradient(680px 420px at 85% 15%, rgba(180,143,94,.32), transparent 62%), linear-gradient(150deg, #2a2219 0%, #1a1511 55%, #120f0c 100%); }
.areas__cover { width: clamp(130px, 12vw, 180px); position: relative; z-index: 1; border-radius: 3px; box-shadow: 0 30px 44px -18px rgba(0,0,0,.8); transition: transform .6s var(--ease); }
.areas__panel--buch:hover .areas__cover { transform: translateY(-5px) rotate(-1.5deg); }

/* --- Abschnitte ------------------------------------------------------------------------ */
.section { padding: clamp(4.5rem, 8vw, 7rem) 0; }
.section--grey, .section--ivory, .section--stone, .section--soft { background: linear-gradient(180deg, var(--n50) 0%, var(--n100) 100%); }
.section--sand { background: linear-gradient(180deg, #f7f2ea 0%, #f0e7da 100%); }
.section--tight { padding: 2.5rem 0; }
.section--dark { background: radial-gradient(900px 520px at 88% 8%, var(--glow), transparent 60%), linear-gradient(160deg, #1a2a3c 0%, #101c29 100%); color: var(--on-dark); }
.section--warm { background: radial-gradient(900px 520px at 85% 10%, rgba(180,143,94,.26), transparent 62%), linear-gradient(155deg, #2a2219 0%, #1a1511 60%, #120f0c 100%); color: var(--on-dark); }
.section--dark h2, .section--dark h3, .section--warm h2, .section--warm h3 { color: #fff; }
.section--dark .eyebrow, .section--warm .eyebrow { color: var(--champagne); }
.section--dark a:not(.btn), .section--warm a:not(.btn) { color: #fff; }
.sechead, .section__head { max-width: 780px; margin-bottom: 2.6rem; }
.sechead h2, .section__head h2 { margin: 0 0 .7rem; }
.sechead p, .section__head > p { margin: 0; color: var(--ink-2); font-size: 1.06rem; }
.section--dark .sechead p { color: var(--on-dark); }
.sechead--row, .section__head { max-width: none; display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem 3rem; flex-wrap: wrap; }
.sechead--row > div, .section__head > div { max-width: 760px; }
.section__head > p { max-width: 460px; }

.split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.split--rev { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.split--center { align-items: center; }
.split--toc { grid-template-columns: 260px minmax(0, 1fr); }

.prose { max-width: 760px; }
.prose > :first-child { margin-top: 0; }
.prose h2 { margin-top: 2.1em; font-size: clamp(1.5rem, 2.4vw, 1.9rem); }
.prose h3 { margin-top: 1.7em; }
.prose ul li::marker { color: var(--bronze-2); }
.prose blockquote { margin: 2rem 0; padding: .3rem 0 .3rem 1.4rem; border-left: 3px solid var(--bronze-2); font-family: var(--head); font-size: 1.28rem; line-height: 1.45; color: var(--ink); }
.prose table { width: 100%; border-collapse: collapse; margin: 1.5rem 0 2rem; font-size: .96rem; border: 1px solid var(--line); }
.prose th, .prose td { text-align: left; padding: .7rem .85rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.prose th { background: var(--n50); font-weight: 600; }

/* --- Karten & Panels ---------------------------------------------------------------------- */
.panel { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: clamp(1.4rem, 3vw, 2.4rem); box-shadow: var(--shadow); }
.factbox { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 1.5rem 1.7rem; box-shadow: var(--shadow); }
.factbox h3 { font-size: 1.12rem; margin: 0 0 .6rem; padding-bottom: .8rem; border-bottom: 1px solid var(--line); position: relative; }
.factbox h3::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 32px; height: 2px; background: var(--bronze-2); }
.factbox dl { margin: 0; display: grid; grid-template-columns: auto 1fr; }
.factbox dt, .factbox dd { margin: 0; padding: .68rem 0; border-bottom: 1px solid var(--line-2); }
.factbox dt { color: var(--muted); font-size: .94rem; padding-right: 1.2rem; }
.factbox dd { font-weight: 600; text-align: right; }
.factbox dl > :nth-last-child(-n+2) { border-bottom: 0; }
.factbox--dark { background: rgba(21,34,49,.92); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-color: rgba(255,255,255,.12); color: var(--on-dark); }
.factbox--dark h3 { color: #fff; border-color: rgba(255,255,255,.14); }
.factbox--dark dt { color: var(--on-dark-2); }
.factbox--dark dd { color: #fff; }
.factbox--dark dt, .factbox--dark dd { border-color: rgba(255,255,255,.1); }
.factbox--dark a { color: #fff; }
.figure { margin: 0; }
.figure img { width: 100%; border-radius: var(--r); }
.figure figcaption { font-size: .84rem; color: var(--muted); padding-top: .6rem; }
.frame { padding: 0; border: 0; }

/* Über uns */
.about { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.about__media { position: relative; padding: 0 2.5rem 2.5rem 0; }
.about__media > img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--r); }
.about__media .factbox { position: absolute; right: 0; bottom: 0; width: min(330px, 75%); box-shadow: var(--shadow-lg); }
.usp { list-style: none; padding: 0; margin: 1.8rem 0 2rem; display: grid; gap: 1.1rem; }
.usp li { display: grid; grid-template-columns: 44px 1fr; gap: .9rem; margin: 0; align-items: start; }
.usp svg { width: 44px; height: 44px; padding: 11px; color: var(--g700); background: var(--n100); border: 1px solid var(--line); border-radius: 12px; }
.usp strong { display: block; font-size: 1.02rem; }
.usp span { color: var(--ink-2); font-size: .96rem; }

/* Schnellauswahl */
.quick { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.8rem; }
.quick a { display: inline-flex; align-items: center; gap: .45rem; padding: .55rem .95rem; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink-2); text-decoration: none; font-weight: 500; font-size: .92rem; transition: border-color .2s, color .2s; }
.quick a:hover { border-color: var(--g700); color: var(--g700); }
.quick a.is-active { background: var(--g700); border-color: var(--g700); color: #fff; }
.quick small { opacity: .7; }

/* --- Objekt-Karten ---------------------------------------------------------------------- */
.ogrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.4rem; }
.ogrid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem; }
.ocard { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; box-shadow: var(--shadow); transition: box-shadow .35s var(--ease), transform .35s var(--ease), border-color .35s; }
.ocard:hover { box-shadow: var(--shadow-lg); transform: translateY(-3px); border-color: #d3cec4; }
.ocard__media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--n100); }
.ocard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.ocard:hover .ocard__media img { transform: scale(1.05); }
.ocard__body { padding: 1.1rem 1.2rem 1rem; flex: 1; }
.ocard__type { display: block; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin: 0 0 .45rem; }
.ocard__title { font-size: 1.22rem; line-height: 1.22; margin: 0 0 .85rem; }
.ocard__title a { color: var(--ink); text-decoration: none; }
.ocard__title a:hover { color: var(--g700); }
.facts { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .45rem .95rem; font-size: .87rem; color: var(--ink-2); }
.facts li { display: flex; align-items: center; gap: .35rem; margin: 0; }
.facts svg { width: 17px; height: 17px; color: var(--bronze-2); flex: none; }
.ocard__foot { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .85rem 1.2rem; border-top: 1px solid var(--line-2); background: var(--n50); }
.price { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 .35rem; line-height: 1.2; }
.price span { font-size: .8rem; color: var(--muted); }
.price strong { font-family: var(--head); font-weight: 600; font-size: 1.42rem; color: var(--ink); }
.ocard__go { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 10px; background: var(--g700); color: #fff; flex: none; transition: background-color .2s; }
.ocard__go:hover, .ocard:hover .ocard__go { background: var(--g800); color: #fff; }
.ocard__go svg { width: 18px; height: 18px; transition: transform .3s var(--ease); }
.ocard:hover .ocard__go svg { transform: translateX(2px); }
.badge, .status { display: inline-block; font-family: var(--sans); font-weight: 700; font-size: .72rem; letter-spacing: .02em; line-height: 1.3; padding: .34rem .62rem; border-radius: 6px; background: var(--g700); color: #fff; }
.ocard__media .badge, .orow__media .badge { position: absolute; left: .75rem; top: .75rem; max-width: calc(100% - 1.5rem); box-shadow: 0 4px 10px -4px rgba(0,0,0,.35); }
.badge--bau, .status--bau { background: var(--bronze); }
.badge--event, .status--event { background: var(--slate); }

/* Ergebnisliste */
.results { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 2rem; align-items: start; }
.filter { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 1.3rem 1.4rem .6rem; position: sticky; top: calc(var(--stick) + 1.4rem); box-shadow: var(--shadow); transition: top .3s var(--ease); }
.filter h2 { font-size: 1.12rem; margin: 0; padding-bottom: .8rem; border-bottom: 1px solid var(--line); }
.filter fieldset { border: 0; border-bottom: 1px solid var(--line-2); margin: 0; padding: 1rem 0 .85rem; }
.filter fieldset:last-child { border-bottom: 0; }
.filter legend { font-weight: 700; font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); padding: 0; margin-bottom: .55rem; float: left; width: 100%; }
.filter label { display: flex; gap: .6rem; align-items: center; font-size: .95rem; padding: .22rem 0; cursor: pointer; clear: both; }
.filter input { accent-color: var(--g700); width: 17px; height: 17px; margin: 0; }
.filter .muted { margin-left: auto; font-size: .85rem; }
.results__bar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.1rem; flex-wrap: wrap; }
.results__bar select { font: inherit; padding: .55rem .7rem; border: 1px solid var(--line); border-radius: var(--r-sm); background: #fff; }
.results__count { font-family: var(--head); font-weight: 500; font-size: 1.3rem; }
.noresult { padding: 2rem; background: #fff; border: 1px dashed var(--line); border-radius: var(--r); color: var(--muted); }
.orow { display: grid; grid-template-columns: 300px minmax(0, 1fr) 230px; background: #fff; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; margin-bottom: 1.2rem; box-shadow: var(--shadow); transition: box-shadow .35s var(--ease), transform .35s var(--ease); }
.orow:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); }
.orow__media { position: relative; display: block; min-height: 240px; background: var(--n100); overflow: hidden; }
.orow__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.orow:hover .orow__media img { transform: scale(1.05); }
.orow__main { padding: 1.3rem 1.5rem; }
.orow__title { font-size: 1.48rem; margin: 0 0 .3rem; }
.orow__title a { color: var(--ink); text-decoration: none; }
.orow__title a:hover { color: var(--g700); }
.orow__loc { display: flex; align-items: center; gap: .35rem; font-size: .92rem; color: var(--muted); margin: 0 0 .75rem; }
.orow__loc svg { width: 16px; height: 16px; color: var(--bronze-2); flex: none; }
.orow__teaser { font-size: .96rem; color: var(--ink-2); margin: 0 0 .9rem; }
.orow__side { display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; padding: 1.3rem; background: var(--n50); border-left: 1px solid var(--line-2); text-align: right; }
.orow__side .price { flex-direction: column; align-items: flex-end; }
.orow__side .price strong { font-size: 2rem; }

/* --- Projekte (Zeitleiste) ----------------------------------------------------------- */
.timeline { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.2rem; position: relative; }
.timeline::before { content: ""; position: absolute; left: 0; right: 0; top: .42rem; height: 1px; background: linear-gradient(90deg, var(--bronze-2), var(--line) 85%); }
.timeline__item { position: relative; margin: 0; display: flex; flex-direction: column; }
.timeline__item::before { content: ""; position: absolute; left: 0; top: 0; width: .85rem; height: .85rem; border-radius: 50%; background: #fff; border: 2px solid var(--bronze-2); box-shadow: 0 0 0 4px #fff; }
.timeline__when { display: block; min-height: 2.4em; padding-left: 1.45rem; font-size: .72rem; font-weight: 700; letter-spacing: .08em; line-height: 1.25; text-transform: uppercase; color: var(--bronze); margin-bottom: .6rem; }
.timeline__card { display: flex; flex-direction: column; flex: 1; background: #fff; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; text-decoration: none; color: var(--ink); box-shadow: var(--shadow); transition: box-shadow .35s var(--ease), transform .35s var(--ease); }
.timeline__card:hover { color: var(--ink); box-shadow: var(--shadow-lg); transform: translateY(-3px); }
.timeline__img { aspect-ratio: 4 / 3; overflow: hidden; background: var(--n100); }
.timeline__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.timeline__card:hover .timeline__img img { transform: scale(1.05); }
.timeline__body { display: flex; flex-direction: column; flex: 1; padding: .9rem 1rem 1rem; }
.timeline__body h3 { font-size: 1.06rem; line-height: 1.25; margin: 0 0 .7rem; }
.timeline__cta { margin-top: auto; display: inline-flex; align-items: center; gap: .35rem; font-weight: 600; font-size: .88rem; color: var(--g700); }
.timeline__cta svg { width: 1em; height: 1em; transition: transform .3s var(--ease); }
.timeline__card:hover .timeline__cta svg { transform: translateX(3px); }

/* --- Zielgruppen-Kacheln ------------------------------------------------------------------- */
.tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.2rem; }
.tile { position: relative; display: block; aspect-ratio: 3 / 4; border-radius: var(--r); overflow: hidden; color: #fff; text-decoration: none; background: var(--g800); }
.tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--ease); }
.tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,18,28,.95) 0%, rgba(10,18,28,.66) 42%, rgba(10,18,28,0) 72%); }
.tile:hover img { transform: scale(1.05); }
.tile:hover { color: #fff; }
.tile__text { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 1.4rem 1.3rem 1.3rem; }
.tile h3 { color: #fff; font-size: 1.4rem; margin: 0 0 .45rem; }
.tile p { font-size: .9rem; line-height: 1.5; color: rgba(255,255,255,.86); margin: 0 0 .9rem; }
.tile__more { display: inline-flex; align-items: center; gap: .4rem; font-weight: 600; font-size: .88rem; padding-bottom: .15rem; background-image: linear-gradient(var(--bronze-2), var(--bronze-2)); background-size: 100% 1px; background-position: 0 100%; background-repeat: no-repeat; }
.tile__more svg { width: 1em; height: 1em; transition: transform .3s var(--ease); }
.tile:hover .tile__more svg { transform: translateX(3px); }

/* --- Ratgeber auf der Startseite -------------------------------------------------------- */
.guide { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 1.4rem; }
.guide__main { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; text-decoration: none; color: var(--ink); box-shadow: var(--shadow); transition: box-shadow .35s var(--ease), transform .35s var(--ease); }
.guide__main:hover { color: var(--ink); box-shadow: var(--shadow-lg); transform: translateY(-3px); }
.guide__img { position: relative; aspect-ratio: 16 / 8.5; overflow: hidden; background: var(--n100); }
.guide__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--ease); }
.guide__main:hover .guide__img img { transform: scale(1.04); }
.guide__flag { position: absolute; left: 1rem; top: 1rem; background: rgba(255,255,255,.9); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: var(--bronze); font-weight: 700; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; padding: .38rem .7rem; border-radius: 6px; }
.guide__body { display: flex; flex-direction: column; flex: 1; padding: 1.5rem 1.7rem 1.7rem; }
.guide__body h3 { font-size: clamp(1.35rem, 2vw, 1.7rem); line-height: 1.2; margin: .2rem 0 .7rem; }
.guide__body p { color: var(--ink-2); margin: 0 0 1.2rem; }
.guide__main:hover h3 { color: var(--g700); }
.guide__side { display: grid; gap: .9rem; align-content: start; }
.guide__item { display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 1rem; align-items: center; padding: .75rem; background: #fff; border: 1px solid var(--line); border-radius: var(--r); text-decoration: none; color: var(--ink); transition: border-color .25s, box-shadow .35s var(--ease), transform .35s var(--ease); }
.guide__item:hover { color: var(--ink); border-color: #d3cec4; box-shadow: var(--shadow); transform: translateX(3px); }
.guide__item img { width: 116px; height: 86px; object-fit: cover; border-radius: var(--r-sm); }
.guide__item h3 { font-size: 1.02rem; line-height: 1.3; margin: .2rem 0 .3rem; }
.guide__item:hover h3 { color: var(--g700); }
.guide__time { font-size: .8rem; color: var(--muted); }

/* --- Ausstattung -------------------------------------------------------------------- */
.feature { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.feature--rev > :first-child { order: 2; }
.mosaic { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mosaic img { width: 100%; aspect-ratio: 4 / 4.6; object-fit: cover; border-radius: var(--r); }
.mosaic img:nth-child(2) { margin-top: 2.2rem; }
.mosaic img:nth-child(3) { margin-top: -2.2rem; }
.checks { list-style: none; padding: 0; margin: 1.6rem 0 2rem; display: grid; grid-template-columns: 1fr 1fr; gap: .8rem 1.6rem; }
.checks li { display: flex; gap: .65rem; align-items: flex-start; margin: 0; font-weight: 500; font-size: .97rem; }
.checks svg { width: 22px; height: 22px; color: var(--bronze-2); flex: none; margin-top: .05rem; }

/* --- Rundgang (Video) ---------------------------------------------------------------- */
.tour { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(2.5rem, 5vw, 5rem); align-items: center; }
.tour .facts { margin-top: 1.2rem; }
.tour__frame { position: relative; aspect-ratio: 16 / 9; border-radius: var(--r); overflow: hidden; background: #000; box-shadow: var(--shadow-lg); }
.tour__frame video { width: 100%; height: 100%; object-fit: cover; }
.tour__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; border: 0; cursor: pointer; color: #fff; font: inherit; background: linear-gradient(180deg, rgba(8,14,21,.05) 0%, rgba(8,14,21,.5) 100%); transition: background-color .3s; }
.tour__play:hover { background-color: rgba(8,14,21,.15); }
.tour__play svg { width: 82px; height: 82px; padding: 26px 24px 26px 30px; border-radius: 50%; fill: currentColor; stroke: none; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.5); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: transform .4s var(--ease), background-color .3s; }
.tour__play:hover svg { transform: scale(1.08); background-color: rgba(255,255,255,.26); }
.tour__play span { position: absolute; left: 1.2rem; bottom: 1.1rem; font-weight: 600; font-size: .9rem; padding: .45rem .8rem; border-radius: 8px; background: rgba(0,0,0,.32); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.tour__frame.is-playing .tour__play { display: none; }

/* --- Mietaufstellung ------------------------------------------------------------------ */
.receipt { background: #fff; color: var(--ink); border-radius: var(--r); box-shadow: var(--shadow-lg); overflow: hidden; width: 100%; max-width: 520px; justify-self: end; }
.receipt__head { padding: 1.3rem 1.6rem 1.1rem; border-bottom: 1px solid var(--line-2); }
.receipt__head .eyebrow { margin-bottom: .4rem; color: var(--bronze) !important; }
.receipt h3 { color: var(--ink) !important; font-size: 1.2rem; margin: 0 0 .2rem; }
.receipt__head p { margin: 0; font-size: .9rem; color: var(--muted); }
.receipt dl { margin: 0; padding: .4rem 1.6rem; display: grid; grid-template-columns: 1fr auto; }
.receipt dt, .receipt dd { margin: 0; padding: .72rem 0; border-bottom: 1px dashed var(--line); }
.receipt dd { text-align: right; font-variant-numeric: tabular-nums; font-weight: 500; }
.receipt dl > :nth-last-child(-n+2) { border-bottom: 0; }
.receipt__total { display: flex; justify-content: space-between; align-items: baseline; padding: 1.1rem 1.6rem; background: var(--n100); border-top: 1px solid var(--line); font-weight: 600; }
.receipt__total strong { font-family: var(--head); font-size: 1.7rem; color: var(--g800); }

/* --- Region & Standorte ---------------------------------------------------------------- */
.places-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; margin-top: clamp(3rem, 5vw, 4.5rem); }
.place { background: var(--n50); border: 1px solid var(--line); border-radius: var(--r); padding: 1.3rem 1.4rem; transition: box-shadow .35s var(--ease), background-color .3s; }
.place:hover { background: #fff; box-shadow: var(--shadow); }
.place h3 { display: flex; align-items: center; gap: .45rem; font-size: 1.2rem; margin: 0 0 .3rem; }
.place h3 svg { width: 18px; height: 18px; color: var(--bronze-2); }
.place p { font-size: .92rem; color: var(--muted); margin: 0 0 .9rem; }
.place ul { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line); }
.place li { display: flex; justify-content: space-between; align-items: center; gap: .6rem; padding: .55rem 0; border-bottom: 1px solid var(--line-2); margin: 0; }
.place li:last-child { border-bottom: 0; padding-bottom: 0; }
.place a { font-weight: 600; color: var(--ink); text-decoration: none; font-size: .95rem; }
.place a:hover { color: var(--g700); }
.place .badge { font-size: .64rem; padding: .22rem .5rem; flex: none; }

/* --- Ratgeber-Karten ------------------------------------------------------------------- */
.cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem; }
.card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; text-decoration: none; color: var(--ink); box-shadow: var(--shadow); transition: box-shadow .35s var(--ease), transform .35s var(--ease); }
.card:hover { box-shadow: var(--shadow-lg); transform: translateY(-3px); color: var(--ink); }
.card__img { aspect-ratio: 16 / 10; overflow: hidden; background: var(--n100); }
.card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--ease); }
.card:hover .card__img img { transform: scale(1.04); }
.card__body { display: flex; flex-direction: column; flex: 1; padding: 1.2rem 1.35rem 1.35rem; }
.card__meta { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bronze); margin-bottom: .5rem; }
.card h3 { font-size: 1.2rem; line-height: 1.25; margin: 0 0 .6rem; }
.card p { color: var(--ink-2); font-size: .95rem; margin: 0 0 1rem; }
.card__more { margin-top: auto; display: inline-flex; align-items: center; gap: .4rem; font-weight: 600; font-size: .92rem; color: var(--g700); }
.card__more svg { width: 1em; height: 1em; transition: transform .3s var(--ease); }
.card:hover .card__more svg, .guide__main:hover .card__more svg { transform: translateX(3px); }
.card:hover h3 { color: var(--g700); }

/* --- FAQ ---------------------------------------------------------------------------------- */
.faq { display: grid; gap: .6rem; }
.faq details { background: #fff; border: 1px solid var(--line); border-radius: 10px; transition: border-color .25s, box-shadow .25s; }
.faq details[open] { border-color: var(--bronze-2); box-shadow: var(--shadow); }
.faq summary { cursor: pointer; list-style: none; padding: 1.05rem 3.2rem 1.05rem 1.25rem; position: relative; font-weight: 600; font-size: 1.01rem; line-height: 1.45; transition: color .2s; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; position: absolute; right: 1.3rem; top: 1.32rem; width: 8px; height: 8px; border-right: 2px solid var(--bronze-2); border-bottom: 2px solid var(--bronze-2); transform: rotate(45deg); transition: transform .3s var(--ease), top .3s var(--ease); }
.faq details[open] summary::after { transform: rotate(-135deg); top: 1.58rem; }
.faq summary:hover { color: var(--g700); }
.faq .faq__a { padding: 0 1.25rem 1.2rem; color: var(--ink-2); }
.faq .faq__a p:last-child { margin-bottom: 0; }
.faq-group { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: clamp(1.3rem, 3vw, 2.2rem); margin-bottom: 1.6rem; box-shadow: var(--shadow); scroll-margin-top: calc(var(--stick) + 1rem); }
.faq-group > h2 { font-size: 1.5rem; padding-bottom: .8rem; border-bottom: 1px solid var(--line); margin-bottom: 1.2rem; }
.faq-group .faq details { background: var(--n50); }
.helpbox { background: radial-gradient(400px 220px at 90% 0%, var(--glow), transparent 60%), var(--g800); color: var(--on-dark); border-radius: var(--r); padding: 1.6rem 1.7rem; margin-top: 2rem; }
.helpbox h3 { color: #fff; margin: 0 0 .5rem; }
.helpbox p { margin: 0 0 1.1rem; font-size: .96rem; }
.helpbox a:not(.btn) { color: #fff; }

/* --- Formular ------------------------------------------------------------------------- */
.form fieldset { border: 0; padding: 0; margin: 0 0 1.9rem; min-width: 0; }
.form legend { font-family: var(--head); font-weight: 500; font-size: 1.22rem; padding: 0 0 .65rem; margin-bottom: 1.1rem; border-bottom: 1px solid var(--line); width: 100%; }
.form .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.2rem; margin-bottom: 1.1rem; }
.form .row--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.form .row--1 { grid-template-columns: 1fr; gap: 1.4rem; }
.field label, .field .label { display: block; font-size: .88rem; font-weight: 600; margin-bottom: .38rem; color: var(--ink); }
.field .hint { font-size: .82rem; color: var(--muted); font-weight: 400; }
.field input[type="text"], .field input[type="email"], .field input[type="tel"], .field input[type="date"], .field input[type="number"], .field input[type="month"], .field input[type="time"], .field select, .field textarea {
  width: 100%; font: inherit; font-size: 1rem; color: var(--ink); background: #fff; border: 1px solid #d3cec5; border-radius: 10px; padding: .72rem .85rem; min-height: 50px; transition: border-color .2s, box-shadow .2s;
}
.field textarea { min-height: 140px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--g600); outline: 0; box-shadow: 0 0 0 4px rgba(44,71,98,.12); }
.choices { display: grid; grid-template-columns: repeat(auto-fill, minmax(205px, 1fr)); gap: .55rem; }
.choices label { display: flex; align-items: center; gap: .6rem; padding: .7rem .85rem; border: 1px solid var(--line); border-radius: 10px; background: #fff; font-weight: 500; font-size: .95rem; cursor: pointer; margin: 0; transition: border-color .2s, background-color .2s; }
.choices label:hover { border-color: var(--g600); }
.choices label:has(input:checked) { border-color: var(--g700); background: var(--n50); box-shadow: inset 0 0 0 1px var(--g700); }
.choices input { accent-color: var(--g700); margin: 0; width: 18px; height: 18px; flex: none; }
.consent { display: flex; gap: .7rem; align-items: flex-start; font-size: .92rem; color: var(--ink-2); margin: 0 0 1.4rem; }
.consent input { margin-top: .25rem; accent-color: var(--g700); width: 18px; height: 18px; flex: none; }
.hp { position: absolute !important; left: -5000px !important; width: 1px; height: 1px; overflow: hidden; }
.form__foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; border-top: 1px solid var(--line); padding-top: 1.4rem; }
.form__foot p { margin: 0; font-size: .85rem; color: var(--muted); }
.form-alert { border: 1px solid #e0aea3; background: #fdf0ec; color: #7a2c1f; padding: .85rem 1rem; border-radius: 10px; margin-bottom: 1.4rem; display: none; }
.form-alert.is-visible { display: block; }

/* --- Seitentitel ------------------------------------------------------------------- */
.pagehead { position: relative; overflow: hidden; background: radial-gradient(900px 480px at 85% 0%, var(--glow), transparent 60%), linear-gradient(160deg, #1a2a3c 0%, #101c29 100%); color: var(--on-dark); padding: 0 0 clamp(3rem, 6vw, 4.6rem); }
.pagehead::before { content: ""; position: absolute; inset: 0; background: url("/assets/img/waldhufen/grundriss-og-960.webp") right -60px center / auto 150% no-repeat; filter: invert(1); opacity: .06; pointer-events: none; }
.pagehead .wrap { position: relative; }
.pagehead .crumbs { color: rgba(255,255,255,.6); }
.pagehead h1 { color: #fff; margin: 1.6rem 0 .6rem; max-width: 980px; }
.pagehead p { color: var(--on-dark); max-width: 780px; font-size: 1.1rem; margin: 0; }
.pagehead a { color: #fff; }
.pagehead .eyebrow { color: var(--champagne); margin-top: 1.6rem; }
.pagehead .eyebrow + h1 { margin-top: 0; }
.pagehead--article { padding-bottom: clamp(5rem, 9vw, 7rem); }
.article-meta { display: flex; flex-wrap: wrap; gap: .4rem 1.5rem; font-size: .9rem; color: rgba(255,255,255,.68) !important; margin-top: 1rem !important; }

/* --- Artikel ---------------------------------------------------------------------------- */
.article-hero { position: relative; z-index: 1; margin: calc(clamp(5rem, 9vw, 7rem) * -1 + 2rem) 0 0; }
.article-hero img { width: 100%; max-height: 520px; object-fit: cover; border-radius: var(--r); box-shadow: var(--shadow-lg); }
.article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(2rem, 5vw, 4.5rem); align-items: start; padding-top: 3.2rem; padding-bottom: 5rem; }
.article-aside { position: sticky; top: calc(var(--stick) + 1.5rem); display: grid; gap: 1.2rem; transition: top .3s var(--ease); }
.toc, .aside-box { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 1.2rem 1.35rem; font-size: .93rem; box-shadow: var(--shadow); }
.toc h2, .aside-box h2 { font-family: var(--sans); font-weight: 700; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin: 0 0 .5rem; }
.toc ul, .toc ol, .aside-box ul { list-style: none; padding: 0; margin: 0; }
.toc li, .aside-box li { margin: 0; border-bottom: 1px solid var(--line-2); }
.toc li:last-child, .aside-box li:last-child { border-bottom: 0; }
.toc a, .aside-box a { display: block; padding: .5rem 0; color: var(--ink-2); text-decoration: none; line-height: 1.4; transition: color .2s, padding .25s var(--ease); }
.toc a:hover, .aside-box a:hover { color: var(--g700); padding-left: .3rem; }
.aside-cta { background: radial-gradient(400px 220px at 90% 0%, var(--glow), transparent 60%), var(--g800); color: var(--on-dark); border-radius: var(--r); padding: 1.4rem; }
.aside-cta strong { display: block; color: #fff; font-family: var(--head); font-weight: 500; font-size: 1.18rem; margin-bottom: .4rem; }
.aside-cta p { font-size: .93rem; margin: 0 0 1rem; }
.infobox { background: var(--n50); border: 1px solid var(--line); border-radius: var(--r); padding: 1.4rem 1.6rem; margin: 2rem 0; }
.infobox p:last-child { margin: 0; }
.infobox strong:first-child { display: block; font-family: var(--head); font-weight: 500; font-size: 1.18rem; margin-bottom: .4rem; }

/* --- Abschluss-Aufrufe ------------------------------------------------------------------ */
.cta-band { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem 3rem; align-items: center; background: radial-gradient(500px 260px at 90% 0%, var(--glow), transparent 60%), var(--g800); color: var(--on-dark); border-radius: var(--r); padding: clamp(1.8rem, 4vw, 3rem); }
.cta-band h2 { color: #fff; margin: 0 0 .5rem; }
.cta-band p { margin: 0; max-width: 640px; }
.cta-band a:not(.btn) { color: #fff; }
.cta-band .btn { background: #fff; border-color: #fff; color: var(--g800); }
.cta-band .btn:hover { background: var(--n100); border-color: var(--n100); }
.closing { position: relative; overflow: hidden; padding: clamp(3.5rem, 7vw, 5.5rem) 0; color: var(--on-dark); background: radial-gradient(900px 480px at 12% 0%, var(--glow), transparent 60%), linear-gradient(160deg, #1a2a3c 0%, #101c29 100%); }
.closing::before { content: ""; position: absolute; inset: 0; background: url("/assets/img/endebruch/grundriss-og-960.webp") left -80px center / auto 160% no-repeat; filter: invert(1); opacity: .05; }
.closing .wrap { position: relative; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 2rem 4rem; align-items: center; }
.closing h2 { color: #fff; margin: 0 0 .6rem; }
.closing p { margin: 0; font-size: 1.06rem; }
.closing__actions { display: flex; flex-wrap: wrap; gap: .8rem; justify-content: flex-end; }

/* --- Objekt-Detail ---------------------------------------------------------------- */
.obj-head { padding: 1.3rem 0 1.6rem; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 1rem 3rem; }
.obj-head .status { margin-bottom: .8rem; }
.obj-head h1 { font-size: clamp(1.95rem, 3.4vw, 2.85rem); margin-bottom: .5rem; }
.obj-head__loc { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .8rem; color: var(--ink-2); margin: 0; }
.obj-head__loc svg { width: 17px; height: 17px; color: var(--bronze-2); }
.obj-head__price { text-align: right; background: var(--n50); border: 1px solid var(--line); border-radius: var(--r); padding: .8rem 1.2rem; }
.obj-head__price .muted { display: block; font-size: .82rem; }
.obj-head__price .amount { font-family: var(--head); font-weight: 600; font-size: 2rem; display: block; line-height: 1.15; color: var(--g800); }
.gallery { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: repeat(2, minmax(160px, 250px)); gap: 6px; border-radius: var(--r); overflow: hidden; }
.gallery a { position: relative; display: block; overflow: hidden; background: var(--n100); }
.gallery a:first-child { grid-row: span 2; }
.gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--ease); }
.gallery a:hover img { transform: scale(1.04); }
.gallery__more { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(14,24,35,.5); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); color: #fff; font-weight: 600; }
.gallery--plan img { object-fit: contain; background: #fff; }
.gallery-note { font-size: .85rem; color: var(--muted); margin-top: .65rem; }
.gallery-note button { color: var(--g700) !important; font-weight: 600 !important; }
.subnav { position: sticky; top: var(--stick); z-index: 30; background: rgba(255,255,255,.92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-top: 2rem; box-shadow: 0 10px 20px -18px rgba(14,24,35,.5); transition: top .3s var(--ease); }
.subnav ul { list-style: none; margin: 0; padding: 0; display: flex; overflow-x: auto; scrollbar-width: none; }
.subnav li { margin: 0; flex: none; }
.subnav a { display: block; padding: 1rem 1.1rem; color: var(--ink-2); text-decoration: none; font-weight: 600; font-size: .92rem; border-bottom: 2px solid transparent; margin-bottom: -1px; transition: color .2s, border-color .2s; }
.subnav a:hover { color: var(--g700); border-bottom-color: var(--bronze-2); }
.subnav li:last-child a { color: var(--g700); }
.objbody { background: linear-gradient(180deg, var(--n50) 0%, var(--n100) 100%); }
.obj-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 2rem; align-items: start; padding: 2rem 0 4rem; }
.obj-aside { align-self: stretch; }
.obj-section { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: clamp(1.4rem, 3vw, 2.3rem); margin-bottom: 1.5rem; box-shadow: var(--shadow); scroll-margin-top: calc(var(--stick) + 70px); }
.obj-section:last-child { margin-bottom: 0; }
.obj-section > h2 { font-size: clamp(1.5rem, 2.3vw, 1.85rem); padding-bottom: .85rem; border-bottom: 1px solid var(--line); margin-bottom: 1.4rem; position: relative; }
.obj-section > h2::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 40px; height: 2px; background: var(--bronze-2); }
.keyfacts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; margin: 1.6rem 0 2rem; background: var(--n50); }
.keyfacts div { padding: .95rem 1rem; border-right: 1px solid var(--line); }
.keyfacts div:last-child { border-right: 0; }
.keyfacts dt { font-size: .7rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--muted); }
.keyfacts dd { margin: .25rem 0 0; font-family: var(--head); font-weight: 500; font-size: 1.1rem; line-height: 1.25; }
.amenities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.3rem 2rem; margin: 0 0 2rem; }
.amenity { display: grid; grid-template-columns: 46px 1fr; gap: .9rem; align-items: start; }
.amenity svg { width: 46px; height: 46px; padding: 11px; color: var(--g700); background: var(--n100); border: 1px solid var(--line); border-radius: 12px; }
.amenity h3 { font-family: var(--sans); font-weight: 700; font-size: 1rem; margin: .1rem 0 .2rem; letter-spacing: 0; }
.amenity p { margin: 0; font-size: .95rem; color: var(--ink-2); }
.groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 2rem; }
.groups > div { background: var(--n50); border: 1px solid var(--line-2); border-radius: 10px; padding: 1.1rem 1.3rem; }
.groups h3 { font-family: var(--sans); font-weight: 700; font-size: .98rem; letter-spacing: 0; margin-bottom: .6rem; }
.groups ul { margin: 0; padding-left: 1.1rem; font-size: .96rem; }
.groups li::marker { color: var(--bronze-2); }
.units { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .95rem; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.units caption { text-align: left; font-size: .9rem; color: var(--muted); padding-bottom: .8rem; caption-side: top; }
.units th { text-align: left; font-weight: 700; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); background: var(--n50); padding: .8rem .85rem; border-bottom: 1px solid var(--line); white-space: nowrap; }
.units td { padding: .95rem .85rem; border-bottom: 1px solid var(--line-2); vertical-align: top; transition: background-color .2s; }
.units tbody tr:last-child td { border-bottom: 0; }
.units tbody tr:hover td { background: #fcfbf9; }
.units .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.units .total { font-weight: 700; color: var(--g800); }
.units .unit-name { font-weight: 700; }
.units .unit-pos { display: block; font-size: .86rem; color: var(--muted); }
.units details { margin-top: .4rem; font-size: .86rem; }
.units summary { cursor: pointer; color: var(--g700); font-weight: 600; }
.units details ul { list-style: none; padding: .5rem 0 0; margin: 0; max-width: 340px; }
.units details li { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px dashed var(--line); padding: .22rem 0; margin: 0; }
.tag-extra { display: inline-block; font-size: .72rem; font-weight: 700; color: var(--bronze); background: #f6efe4; border-radius: 5px; padding: .12rem .45rem; margin-top: .3rem; }
.notes { font-size: .88rem; color: var(--muted); margin-top: 1.1rem; }
.notes p { margin-bottom: .45rem; }
.pricebox, .buybox { background: #fff; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; box-shadow: var(--shadow-lg); position: sticky; top: calc(var(--stick) + 74px); transition: top .3s var(--ease); }
.pricebox__top { background: radial-gradient(360px 200px at 100% 0%, var(--glow), transparent 60%), var(--g800); color: #fff; padding: 1.5rem 1.6rem 1.35rem; }
.pricebox__top .status { background: rgba(255,255,255,.14); margin-bottom: .8rem; }
.pricebox__from { font-size: .85rem; color: var(--on-dark-2); }
.pricebox__amount { font-family: var(--head); font-weight: 600; font-size: 2.45rem; line-height: 1.1; }
.pricebox__per { font-size: .85rem; color: var(--on-dark-2); }
.pricebox dl, .buybox dl { margin: 0; padding: .5rem 1.6rem; display: grid; grid-template-columns: auto 1fr; font-size: .93rem; }
.pricebox dt, .pricebox dd, .buybox dt, .buybox dd { margin: 0; padding: .6rem 0; border-bottom: 1px solid var(--line-2); }
.pricebox dt, .buybox dt { color: var(--muted); padding-right: 1rem; }
.pricebox dd, .buybox dd { text-align: right; font-weight: 600; }
.pricebox__actions, .buybox__actions { padding: .6rem 1.6rem 1.5rem; display: grid; gap: .6rem; }
.pricebox__mail { font-size: .85rem; text-align: center; color: var(--muted); margin: .3rem 0 0; }
.video-frame { background: #000; border-radius: var(--r); overflow: hidden; }
.video-frame video { width: 100%; }
.lage-list { list-style: none; padding: 0; margin: 1.4rem 0; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.lage-list li { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 1rem; border-bottom: 1px solid var(--line-2); margin: 0; }
.lage-list li:nth-child(odd) { background: var(--n50); }
.lage-list li:last-child { border-bottom: 0; }
.lage-list span:first-child { font-weight: 600; }
.lage-list span:last-child { color: var(--ink-2); text-align: right; }
.plans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.plans a { display: block; border: 1px solid var(--line); border-radius: 10px; background: #fff; padding: .6rem; transition: border-color .2s, box-shadow .3s; }
.plans a:hover { border-color: var(--bronze-2); box-shadow: var(--shadow); }
.plans img { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; }
.plans figcaption { font-size: .88rem; padding-top: .5rem; color: var(--ink-2); }

/* Zielgruppen / Ortsteile auf Unterseiten */
.audience { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; }
.audience__item { position: relative; background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 1.6rem 1.7rem; box-shadow: var(--shadow); overflow: hidden; }
.audience__item::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--g700), var(--bronze-2)); }
.audience__item h3 { font-size: 1.32rem; margin: 0 0 .6rem; }
.audience__item p { margin: 0; color: var(--ink-2); }

/* ==========================================================================
   BEREICH BUCH
   ========================================================================== */
@keyframes bookIn { from { opacity: 0; transform: perspective(1600px) rotateY(28deg) rotateX(4deg) translateY(26px); } to { opacity: 1; transform: perspective(1600px) rotateY(14deg) rotateX(2deg); } }
.book3d { position: relative; width: min(340px, 80%); }
.book3d img { position: relative; z-index: 1; border-radius: 2px 4px 4px 2px; box-shadow: 0 46px 70px -30px rgba(0,0,0,.95), 0 0 0 1px rgba(255,255,255,.06); }
.book3d::after { content: ""; position: absolute; top: 1.2%; right: -10px; width: 11px; height: 97.6%; background: repeating-linear-gradient(90deg, #f4f1ea 0 1px, #d3cdc1 1px 2px); border-radius: 0 3px 3px 0; box-shadow: 4px 8px 16px rgba(0,0,0,.45); }
.book3d--tilt { transform: perspective(1600px) rotateY(14deg) rotateX(2deg); transform-style: preserve-3d; animation: bookIn 1.5s var(--ease) .15s both; transition: transform .7s var(--ease); }
.book3d--tilt:hover { transform: perspective(1600px) rotateY(5deg) rotateX(1deg); }

.bk-hero { position: relative; overflow: hidden; color: var(--on-dark); padding: 0 0 clamp(3.5rem, 7vw, 5.5rem); background: radial-gradient(860px 560px at 76% 45%, rgba(180,143,94,.32), transparent 62%), linear-gradient(150deg, #2a2219 0%, #1a1511 55%, #120f0c 100%); }
.bk-hero .crumbs { color: rgba(255,255,255,.55); }
.bk-hero__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.bk-hero__text > * { animation: rise 1s var(--ease) both; }
.bk-hero__text > :nth-child(2) { animation-delay: .1s; }
.bk-hero__text > :nth-child(3) { animation-delay: .2s; }
.bk-hero__text > :nth-child(4) { animation-delay: .32s; }
.bk-hero__text > :nth-child(5) { animation-delay: .45s; }
.bk-hero__text > :nth-child(6) { animation-delay: .58s; }
.bk-hero__text .eyebrow { margin-top: 3rem; color: var(--champagne); }
.bk-hero h1 { color: #fff; font-size: clamp(2.5rem, 4.8vw, 4.1rem); line-height: 1.04; letter-spacing: -.02em; margin: 0 0 1.1rem; max-width: 12em; }
.bk-hero__lead { font-size: clamp(1.06rem, 1.45vw, 1.22rem); line-height: 1.55; color: rgba(243,236,224,.86); max-width: 32em; margin: 0 0 2rem; }
.bk-hero__meta { list-style: none; padding: 1.4rem 0 0; margin: 2.2rem 0 0; display: flex; flex-wrap: wrap; row-gap: 1rem; border-top: 1px solid rgba(255,255,255,.12); max-width: 560px; }
.bk-hero__meta li { margin: 0; padding: 0 1.6rem; border-left: 1px solid rgba(255,255,255,.14); color: #fff; font-weight: 500; }
.bk-hero__meta li:first-child { padding-left: 0; border-left: 0; }
.bk-hero__meta span { display: block; font-size: .66rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--champagne); margin-bottom: .2rem; }
.bk-hero__book { position: relative; display: flex; justify-content: center; padding: 3.5rem 0 1rem; }

.bk-statement { font-family: var(--head); font-weight: 500; font-size: clamp(1.6rem, 2.6vw, 2.2rem); line-height: 1.15; letter-spacing: -.015em; margin: 0 0 1.3rem; color: var(--ink); }
.bk-statement em { font-style: normal; color: var(--bronze); }
.bk-questions { margin-top: 1.8rem; background: linear-gradient(180deg, #f8f3ec, #f2eadf); border: 1px solid #ebe1d1; border-radius: var(--r); padding: 1.4rem 1.6rem; }
.bk-questions__title { font-family: var(--head); font-weight: 500; font-size: 1.18rem; margin: 0 0 .5rem; color: var(--c800); }
.bk-questions ul { list-style: none; padding: 0; margin: 0; }
.bk-questions li { position: relative; padding: .8rem 0 .8rem 1.5rem; border-top: 1px solid #e7dccb; margin: 0; }
.bk-questions li::before { content: ""; position: absolute; left: 0; top: 1.36rem; width: .65rem; height: 2px; background: var(--bronze-2); }
.bk-questions__answer { margin: .9rem 0 0; font-weight: 600; color: var(--c800); }
.bk-levers__list { list-style: none; padding: 0; margin: 1.3rem 0 1.8rem; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.bk-levers__list li { position: relative; padding: 1.1rem 1.3rem 1.1rem 1.6rem; border-top: 1px solid var(--line-2); margin: 0; transition: background-color .3s; }
.bk-levers__list li:first-child { border-top: 0; }
.bk-levers__list li::before { content: ""; position: absolute; left: 0; top: 1.1rem; bottom: 1.1rem; width: 3px; border-radius: 0 3px 3px 0; background: var(--bronze-2); transform: scaleY(.35); transform-origin: top; transition: transform .4s var(--ease); }
.bk-levers__list li:hover { background: var(--n50); }
.bk-levers__list li:hover::before { transform: scaleY(1); }
.bk-levers__list h3 { font-size: 1.14rem; margin: 0 0 .25rem; }
.bk-levers__list p { margin: 0; color: var(--ink-2); font-size: .96rem; }
.bk-sub { font-family: var(--sans); font-size: .72rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--muted); margin: 0 0 .7rem; }
.chips { display: flex; flex-wrap: wrap; gap: .45rem; list-style: none; padding: 0; margin: 0; }
.chips li { margin: 0; padding: .45rem .8rem; background: var(--n50); border: 1px solid var(--line); border-radius: 8px; font-size: .88rem; font-weight: 500; color: var(--ink-2); }
.chips--strong li { background: #fff; color: var(--ink); font-weight: 600; }
.checklist { list-style: none; padding: 0; margin: 1rem 0 0; display: grid; gap: .65rem; }
.checklist li { display: flex; gap: .75rem; margin: 0; align-items: flex-start; }
.checklist svg { width: 22px; height: 22px; flex: none; padding: 4px; margin-top: .12rem; color: #fff; background: var(--c800); border-radius: 50%; stroke-width: 2.4; }
.bk-banner { margin: 0 0 1.4rem; }
.bk-banner img { width: 100%; border-radius: 10px; }
.bk-praxis { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 2rem; align-items: start; }
.bk-praxis__media { margin: 0; }
.bk-praxis__media img { width: 100%; aspect-ratio: 4 / 4.6; object-fit: cover; border-radius: 10px; }
.bk-praxis__media figcaption { font-size: .82rem; color: var(--muted); margin-top: .6rem; }
.bk-facts-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 1.2rem 0 1.4rem; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: var(--n50); }
.bk-facts-list div { padding: .8rem .95rem; border-left: 1px solid var(--line); }
.bk-facts-list div:first-child { border-left: 0; }
.bk-facts-list dt { font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.bk-facts-list dd { margin: .2rem 0 0; font-weight: 600; font-size: .9rem; line-height: 1.35; }
.bk-author { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem; align-items: center; }
.bk-quote { margin: 0; padding: 1.8rem 1.9rem; background: linear-gradient(180deg, #f8f3ec, #f2eadf); border: 1px solid #ebe1d1; border-radius: var(--r); }
.bk-quote::before { content: ""; display: block; width: 40px; height: 2px; background: var(--bronze-2); margin-bottom: 1.2rem; }
.bk-quote blockquote { margin: 0; font-family: var(--head); font-weight: 500; font-size: clamp(1.25rem, 2vw, 1.55rem); line-height: 1.32; letter-spacing: -.01em; color: var(--c800); }
.bk-quote figcaption { margin-top: 1.2rem; font-size: .88rem; color: var(--muted); }
.bk-quote figcaption strong { display: block; color: var(--ink); }
.bk-event { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1.5rem 2.2rem; align-items: center; background: linear-gradient(180deg, #f8f3ec, #f2eadf); border: 1px solid #ebe1d1; border-radius: var(--r); padding: 1.5rem 1.7rem; }
.bk-event__date { padding-right: 2.2rem; border-right: 1px solid #e3d6c1; }
.bk-event__date span { display: block; font-size: .7rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--bronze); }
.bk-event__date strong { display: block; font-family: var(--head); font-weight: 500; font-size: 1.6rem; line-height: 1.15; color: var(--c800); margin: .35rem 0; white-space: nowrap; }
.bk-event__body p { margin: 0 0 1rem; color: var(--ink-2); }

.buybox__top { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 1rem; align-items: center; padding: 1.4rem 1.5rem; color: var(--on-dark); background: radial-gradient(300px 200px at 100% 0%, rgba(180,143,94,.32), transparent 62%), linear-gradient(150deg, #2a2219, #17130f); }
.buybox__top img { width: 84px; border-radius: 2px; box-shadow: 0 14px 24px -12px rgba(0,0,0,.9); }
.buybox__top span { display: block; font-size: .66rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--champagne); }
.buybox__top strong { display: block; color: #fff; font-family: var(--head); font-weight: 500; font-size: 1.12rem; line-height: 1.2; margin: .25rem 0; }
.buybox__top em { font-style: normal; font-size: .85rem; color: var(--on-dark-2); }

.igrid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 1fr); gap: 1.2rem; }
.igrid .icard--featured { grid-row: span 2; }
.igrid--all { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.igrid--all .icard--featured { grid-row: auto; grid-column: span 2; }
.igrid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.2rem; }
.igrid--compact .icard { padding: 1.2rem 1.3rem; box-shadow: none; }
.igrid--compact .icard h3 { font-size: 1.06rem; }
.igrid--compact .icard p { font-size: .9rem; }
.icard { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 1.5rem 1.6rem; text-decoration: none; color: var(--ink); box-shadow: var(--shadow); transition: box-shadow .35s var(--ease), transform .35s var(--ease), border-color .35s; }
.icard:hover { color: var(--ink); box-shadow: var(--shadow-lg); transform: translateY(-3px); border-color: #ddcfb8; }
.icard__meta { font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--bronze); margin-bottom: .75rem; }
.icard h3 { font-size: 1.2rem; line-height: 1.26; margin: 0 0 .6rem; }
.icard p { color: var(--ink-2); font-size: .95rem; margin: 0 0 1.2rem; }
.icard__more { margin-top: auto; display: inline-flex; align-items: center; gap: .4rem; font-weight: 600; font-size: .92rem; color: var(--c800); }
.icard__more svg { width: 1em; height: 1em; transition: transform .3s var(--ease); }
.icard:hover .icard__more svg { transform: translateX(3px); }
.icard--featured { padding: 2rem 2.1rem; border-color: transparent; color: var(--on-dark); background: radial-gradient(520px 320px at 90% 0%, rgba(180,143,94,.3), transparent 62%), linear-gradient(150deg, #2a2219 0%, #17130f 100%); }
.icard--featured:hover { color: var(--on-dark); border-color: transparent; }
.icard--featured h3 { color: #fff; font-size: clamp(1.45rem, 2.3vw, 1.95rem); line-height: 1.18; }
.icard--featured p { color: #d6ccbd; font-size: 1rem; }
.icard--featured .icard__meta, .icard--featured .icard__more { color: var(--champagne); }

.closing--book { background: radial-gradient(900px 480px at 10% 0%, rgba(180,143,94,.26), transparent 62%), linear-gradient(155deg, #2a2219 0%, #17130f 100%); color: var(--on-dark); }
.closing--book::before { display: none; }
.closing--book .wrap { grid-template-columns: auto minmax(0, 1fr) auto; }
.closing__cover img { width: 104px; border-radius: 2px 4px 4px 2px; box-shadow: 0 24px 40px -18px rgba(0,0,0,.9); }

.bookband { position: relative; overflow: hidden; padding: clamp(4rem, 7vw, 6rem) 0; color: var(--on-dark); background: radial-gradient(860px 520px at 20% 30%, rgba(180,143,94,.28), transparent 62%), linear-gradient(150deg, #2a2219 0%, #1a1511 55%, #120f0c 100%); }
.bookband__grid { display: grid; grid-template-columns: 220px minmax(0, 1fr) 250px; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.bookband .book3d { width: 100%; }
.bookband .eyebrow { color: var(--champagne); }
.bookband h2 { color: #fff; margin: 0 0 1rem; font-size: clamp(2rem, 3.4vw, 2.9rem); }
.bookband__text > p { max-width: 38em; color: #d6ccbd; margin: 0 0 1.8rem; }
.bookband__facts { margin: 0; padding: 1.2rem 1.35rem; display: grid; gap: .9rem; }
.bookband__facts div + div { padding-top: .9rem; border-top: 1px solid rgba(255,255,255,.12); }
.bookband__facts dt { font-size: .68rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--champagne); }
.bookband__facts dd { margin: .2rem 0 0; color: #fff; font-weight: 500; }

.aside-book { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 1rem; align-items: center; border-radius: var(--r); padding: 1.3rem; color: #d6ccbd; background: radial-gradient(300px 200px at 100% 0%, rgba(180,143,94,.3), transparent 62%), linear-gradient(150deg, #2a2219, #17130f); }
.aside-book img { width: 76px; border-radius: 2px; box-shadow: 0 14px 24px -12px rgba(0,0,0,.9); }
.aside-book strong { display: block; color: #fff; font-family: var(--head); font-weight: 500; font-size: 1.05rem; line-height: 1.25; margin-bottom: .3rem; }
.aside-book p { font-size: .85rem; margin: 0; }
.aside-book .btn { grid-column: 1 / -1; }

/* Feinheiten im Buch-Bereich */
.area-buch .btn--ghost { color: var(--c800); border-color: rgba(34,28,22,.4); }
.area-buch .btn--ghost:hover { background: var(--c800); border-color: var(--c800); color: #fff; }
.area-buch :is(.prose, .faq__a, .infobox) a:not([class]) { color: var(--bronze); }
.area-buch .faq summary:hover, .area-buch .toc a:hover, .area-buch .aside-box a:hover { color: var(--c800); }
.area-buch .infobox { background: linear-gradient(180deg, #f8f3ec, #f2eadf); border-color: #ebe1d1; }
.area-buch .pagehead { background: radial-gradient(860px 480px at 85% 0%, rgba(180,143,94,.28), transparent 62%), linear-gradient(155deg, #2a2219 0%, #17130f 100%); }
.area-buch .pagehead::before { display: none; }
.area-buch .pagehead p { color: #d6ccbd; }
.area-buch .pagehead--article { padding-bottom: clamp(3rem, 6vw, 4.4rem); }
.area-buch .link-arrow { color: var(--c800); }
.area-buch .subnav a:hover { color: var(--c800); }
.area-buch .subnav li:last-child a { color: var(--c800); }
.area-buch .obj-section > h2::after { background: var(--bronze-2); }

/* --- Footer ------------------------------------------------------------------------ */
.site-footer { position: relative; color: #b9b9ad; font-size: .94rem; border-top: 1px solid rgba(255,255,255,.06); background: radial-gradient(900px 420px at 12% 0%, var(--glow), transparent 60%), linear-gradient(180deg, #0f1a26 0%, #0b141e 100%); }
.footer-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 3rem 5rem; padding: clamp(3.5rem, 6vw, 5rem) 0 3.2rem; }
.footer-brand p { margin: 1.4rem 0 1.2rem; max-width: 30em; line-height: 1.6; }
.footer-brand address { font-style: normal; line-height: 1.75; color: #d2d0c6; }
.footer-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 2.5rem; }
.footer-col h2 { font-family: var(--sans); font-size: .7rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: #fff; margin: 0 0 1.1rem; padding-bottom: .85rem; border-bottom: 1px solid rgba(255,255,255,.1); position: relative; }
.footer-col h2::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 28px; height: 1px; background: var(--champagne); }
.footer-col--buch h2 { color: var(--champagne); }
.footer-col--buch h2::after { background: var(--bronze-2); }
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col li { margin-bottom: .6rem; }
.site-footer a { color: #ebe8df; text-decoration: none; background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size .3s var(--ease), color .2s; }
.site-footer a:hover { color: #fff; background-size: 100% 1px; }
.site-footer .wordmark { background: none; }
.footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding: 1.4rem 0 1.8rem; border-top: 1px solid rgba(255,255,255,.08); font-size: .84rem; color: #8f9188; }
.footer-bottom ul { display: flex; gap: 1.4rem; list-style: none; margin: 0; padding: 0; }
.footer-bottom li { margin: 0; }

/* --- Lightbox ----------------------------------------------------------------------- */
.lightbox { border: 0; padding: 0; max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; background: rgba(10,12,15,.97); color: #fff; }
.lightbox::backdrop { background: rgba(0,0,0,.85); }
.lightbox__inner { display: grid; grid-template-rows: auto 1fr auto; height: 100%; }
.lightbox__bar { display: flex; justify-content: space-between; align-items: center; padding: .9rem 1.2rem; font-size: .92rem; color: #d2d0c6; }
.lightbox__stage { display: flex; align-items: center; justify-content: center; padding: 0 4.5rem; min-height: 0; }
.lightbox__stage img { max-height: 100%; max-width: 100%; object-fit: contain; }
.lightbox__cap { text-align: center; padding: .8rem 1rem 1.2rem; color: #d8d6cd; font-size: .95rem; }
.lightbox button { background: none; border: 1px solid rgba(255,255,255,.3); color: #fff; cursor: pointer; font: inherit; padding: .45rem .8rem; border-radius: 8px; }
.lightbox button:hover { border-color: #fff; }
.lightbox__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 64px; font-size: 1.6rem !important; }
.lightbox__prev { left: .8rem; }
.lightbox__next { right: .8rem; }

/* --- Dezentes Einblenden ------------------------------------------------------------- */
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.is-visible { opacity: 1; transform: none; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1240px) {
  .hdr { column-gap: 1.4rem; }
  .mainnav { gap: 1.1rem; }
  .mainnav ul { gap: 1.05rem; }
  .mainnav ul a { font-size: .92rem; }
}
@media (max-width: 1180px) {
  .ogrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tile { aspect-ratio: 4 / 3.4; }
  .orow { grid-template-columns: 250px minmax(0, 1fr) 200px; }
  .obj-layout { grid-template-columns: minmax(0, 1fr) 320px; }
  .bookband__grid { grid-template-columns: 200px minmax(0, 1fr); }
  .bookband__facts { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bookband__facts div + div { padding-top: 0; border-top: 0; padding-left: 1rem; border-left: 1px solid rgba(255,255,255,.12); }
  .igrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .igrid .icard--featured { grid-row: auto; grid-column: 1 / -1; }
  .hero__top { grid-template-columns: minmax(0, 1fr) 290px; }
  .wordmark__name { font-size: 1.08rem; letter-spacing: .14em; }
  .hdr__info span { display: none; }
}
@media (max-width: 1100px) {
  .mainnav ul { gap: .85rem; }
  .mainnav ul a { font-size: .88rem; }
  .mainnav .btn { padding: .58rem .85rem; font-size: .86rem; }
  .bk-praxis { grid-template-columns: 1fr; }
  .bk-author { grid-template-columns: 1fr; }
}
@media (max-width: 1020px) and (min-width: 941px) {
  .hdr { column-gap: 1.1rem; }
  .wordmark__name { font-size: 1rem; letter-spacing: .12em; }
  .mainnav { gap: .9rem; }
  .mainnav ul { gap: .75rem; }
  .mainnav ul a { font-size: .86rem; }
}
@media (max-width: 940px) {
  :root { --top: 0px; }
  .site-header::before, .hdr__info { display: none; }
  .hdr { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "brand switch toggle"; grid-template-rows: var(--hdr); column-gap: 1rem; }
  .switch { justify-self: end; background: rgba(20,27,35,.05); border-color: rgba(20,27,35,.09); }
  .switch__ind { box-shadow: 0 1px 2px rgba(14,24,35,.08), 0 6px 14px -8px rgba(14,24,35,.35); }
  .switch__opt { color: var(--muted); padding: .48rem .85rem; }
  .switch__opt:hover { color: var(--ink); }
  .switch__opt::before { background: var(--g600); opacity: .3; }
  .switch__opt--buch::before { background: var(--bronze-2); }
  .navtoggle { display: block; }
  .mainnav { grid-area: auto; position: absolute; left: 0; right: 0; top: 100%; margin: 0; background: rgba(255,255,255,.98); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); flex-direction: column; align-items: stretch; padding: .4rem var(--gutter) 1.4rem; gap: 1rem; display: none; box-shadow: 0 24px 40px -24px rgba(14,24,35,.4); max-height: calc(100vh - var(--hdr)); overflow-y: auto; }
  .mainnav.is-open { display: flex; }
  .mainnav ul { flex-direction: column; gap: 0; }
  .mainnav li { border-bottom: 1px solid var(--line-2); }
  .mainnav ul a { padding: .9rem 0; font-size: 1.02rem; }
  .mainnav ul a::after { display: none; }
  .mainnav .btn { align-self: flex-start; padding: .64rem 1.05rem; font-size: .9rem; }
}
@media (max-width: 1020px) {
  .split, .split--rev, .split--toc, .about, .feature, .closing .wrap, .bk-hero__grid, .tour, .areas, .results, .obj-layout, .article-layout { grid-template-columns: minmax(0, 1fr); }
  .feature--rev > :first-child { order: 0; }
  .closing__actions { justify-content: flex-start; }
  .closing--book .wrap { grid-template-columns: auto minmax(0, 1fr); }
  .closing--book .closing__actions { grid-column: 1 / -1; }
  .areas__panel { min-height: 380px; }
  .hero__top { grid-template-columns: minmax(0, 1fr); }
  .hero__feature { max-width: 420px; }
  .filter { position: static; }
  .filter form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 1.4rem; }
  .filter fieldset { border-bottom: 0; }
  .orow { grid-template-columns: 240px minmax(0, 1fr); }
  .orow__side { grid-column: 1 / -1; flex-direction: row; align-items: center; text-align: left; border-left: 0; border-top: 1px solid var(--line-2); }
  .orow__side .price { align-items: flex-start; }
  .obj-aside { order: -1; align-self: auto; }
  .pricebox, .buybox { position: static; }
  .keyfacts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .keyfacts div:nth-child(2) { border-right: 0; }
  .keyfacts div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guide { grid-template-columns: minmax(0, 1fr); }
  .guide__side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .timeline { grid-template-columns: minmax(0, 1fr); gap: 1rem; padding-left: 1.6rem; }
  .timeline::before { left: .42rem; right: auto; top: .4rem; bottom: .4rem; width: 1px; height: auto; background: linear-gradient(180deg, var(--bronze-2), var(--line)); }
  .timeline__item { padding-left: 0; }
  .timeline__item::before { left: -1.6rem; }
  .timeline__when { min-height: 0; padding-left: 0; margin-bottom: .5rem; }
  .timeline__card { flex-direction: row; }
  .timeline__img { aspect-ratio: auto; width: 160px; flex: none; }
  .places-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .article-aside { position: static; }
  .receipt { justify-self: start; }
  .search { grid-template-columns: 1fr 1fr; }
  .search label { border-bottom: 1px solid rgba(20,27,35,.08); }
  .search label:first-child { grid-column: 1 / -1; border-right: 0; }
  .search .btn { grid-column: 1 / -1; margin-top: .45rem; }
  .about__media { padding: 0; }
  .about__media .factbox { position: relative; right: auto; bottom: auto; width: auto; margin: -3rem 1rem 0; }
  .bk-hero__book { padding: 1rem 0 2rem; }
  .footer-top { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 720px) {
  :root, html.is-scrolled { --hdr: 62px; }
  html.is-scrolled .site-header { margin-bottom: 0; }
  body { font-size: 1rem; }
  .hdr { column-gap: .7rem; }
  .wordmark__name { font-size: .92rem; letter-spacing: .13em; }
  .wordmark__name b { display: block; margin-top: .12rem; }
  .site-header .wordmark__sub { display: none; }
  .switch__opt { padding: .55rem .75rem; font-size: .84rem; gap: .4rem; }
  .switch__long { display: none; }
  .switch__short { display: inline; }
  .navtoggle { padding: .5rem .55rem; }
  .hero__inner { min-height: 0; padding-top: 7rem; padding-bottom: 1.8rem; }
  .hero__img::after { background: linear-gradient(180deg, rgba(8,14,22,.15) 0%, rgba(8,14,22,.85) 62%); }
  .hero__usp { display: none; }
  .hero__feature { display: none; }
  .search { grid-template-columns: minmax(0, 1fr); }
  .search label { border-right: 0; grid-column: auto !important; }
  .ogrid, .ogrid--3, .cards, .tiles, .audience, .igrid, .igrid--all, .igrid--compact, .guide__side, .places-grid, .orow, .bookband__grid, .closing--book .wrap { grid-template-columns: minmax(0, 1fr); }
  .igrid--all .icard--featured { grid-column: auto; }
  .tile { aspect-ratio: 4 / 3.6; }
  .guide__item { grid-template-columns: 96px minmax(0, 1fr); }
  .guide__item img { width: 96px; height: 76px; }
  .timeline__card { flex-direction: column; }
  .timeline__img { width: auto; aspect-ratio: 16 / 9; }
  .orow__media { min-height: 0; aspect-ratio: 16 / 10; }
  .orow__side { flex-direction: column; align-items: stretch; }
  .gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 230px 120px; }
  .gallery a:first-child { grid-column: 1 / -1; grid-row: auto; }
  .gallery a:nth-child(n+4) { display: none; }
  .obj-head { grid-template-columns: minmax(0, 1fr); }
  .obj-head__price { text-align: left; }
  .obj-head h1 { font-size: 1.8rem; }
  .amenities, .groups, .plans, .checks { grid-template-columns: minmax(0, 1fr); }
  .form .row, .form .row--3 { grid-template-columns: minmax(0, 1fr); }
  .filter form { grid-template-columns: minmax(0, 1fr); }
  .cta-band { grid-template-columns: minmax(0, 1fr); }
  .mosaic img:nth-child(2), .mosaic img:nth-child(3) { margin-top: 0; }
  .lightbox__stage { padding: 0 .5rem; }
  .lightbox__nav { top: auto; bottom: 1rem; transform: none; }
  .tour__play svg { width: 64px; height: 64px; padding: 20px 18px 20px 23px; }
  .bk-hero__meta li { padding: 0 1rem; }
  .book3d { width: min(230px, 66%); }
  .bk-facts-list { grid-template-columns: minmax(0, 1fr); }
  .bk-facts-list div { border-left: 0; border-top: 1px solid var(--line); }
  .bk-facts-list div:first-child { border-top: 0; }
  .bk-event { grid-template-columns: minmax(0, 1fr); }
  .bk-event__date { padding: 0 0 1rem; border-right: 0; border-bottom: 1px solid #e3d6c1; }
  .bookband .book3d { width: 160px; }
  .bookband__facts { grid-template-columns: minmax(0, 1fr); }
  .bookband__facts div + div { padding-left: 0; border-left: 0; padding-top: .9rem; border-top: 1px solid rgba(255,255,255,.12); }
  .closing__cover { display: none; }
  .footer-cols { grid-template-columns: 1fr 1fr; }
  .footer-col--buch { grid-column: 1 / -1; }
  .units, .units tbody, .units tr, .units td { display: block; width: 100%; }
  .units { border: 0; }
  .units caption { display: block; width: 100%; }
  .units thead { display: none; }
  .units tr { border: 1px solid var(--line); border-radius: 10px; padding: .9rem 1rem; margin-bottom: .8rem; }
  .units td { border: 0 !important; padding: .25rem 0; display: flex; justify-content: space-between; gap: 1rem; text-align: right; background: none !important; }
  .units td::before { content: attr(data-label); color: var(--muted); font-size: .86rem; text-align: left; }
  .units td:first-child { display: block; text-align: left; }
  .units td:first-child::before, .units td:last-child::before { display: none; }
  .units td:last-child { padding-top: .7rem; }
  .units td:last-child .btn { width: 100%; }
}
@media (max-width: 380px) {
  .switch__opt::before { display: none; }
  .switch__opt { padding: .55rem .65rem; }
  .footer-cols { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-delay: 0s !important; }
  .reveal { opacity: 1 !important; transform: none !important; }
}
@media print {
  .site-header, .subnav, .site-footer, .form, .pricebox__actions, .buybox__actions, .navtoggle { display: none !important; }
  .pagehead { background: #fff; color: #000; }
  .pagehead h1 { color: #000; }
  .reveal { opacity: 1 !important; transform: none !important; }
}
@media (max-width: 1180px) { .wordmark__sub { letter-spacing: .19em; } }
@media (max-width: 1020px) and (min-width: 941px) { .wordmark__sub { letter-spacing: .12em; font-size: .56rem; } .mainnav .btn { padding: .55rem .8rem; } }
.faq { grid-template-columns: minmax(0, 1fr); }
.faq summary { overflow-wrap: anywhere; }
@media (max-width: 380px) { .faq-group { padding: 1.1rem 1rem; } }
.hero h1 { font-size: clamp(2.4rem, 4.3vw, 3.7rem); }
.timeline__item { padding-top: 1.55rem; }
.timeline__when { padding-left: 0; min-height: 2.5em; }
@media (max-width: 1020px) { .timeline__item { padding-top: 0; } .timeline__item::before { top: .1rem; } .timeline__when { min-height: 0; } }
@media (max-width: 720px) {
  .bk-hero__meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.2rem; }
  .bk-hero__meta li { padding: 0; border-left: 0; }
}
@media (max-width: 720px) {
  .btn { white-space: normal; text-align: center; }
  .form__foot .btn { width: 100%; }
}
@media (max-width: 720px) {
  .prose table { display: block; overflow-x: auto; font-size: .86rem; -webkit-overflow-scrolling: touch; }
  .prose th, .prose td { padding: .55rem .6rem; }
}

/* ==========================================================================
   Milchglas-Akzente (wie die Neubau-Karte im Hero) – gezielt eingesetzt
   ========================================================================== */
/* Auf einen Blick: komplett über dem Foto */
.about__media { padding: 0; }
.about__media .factbox--glass { position: absolute; right: 1.2rem; bottom: 1.2rem; width: min(330px, calc(100% - 2.4rem)); padding: 1.3rem 1.45rem; color: #fff; background: rgba(14,24,35,.34); border: 1px solid rgba(255,255,255,.24); -webkit-backdrop-filter: blur(16px) saturate(140%); backdrop-filter: blur(16px) saturate(140%); box-shadow: 0 24px 50px -24px rgba(0,0,0,.55); }
.factbox--glass h3 { color: #fff; border-color: rgba(255,255,255,.2); }
.factbox--glass dt { color: rgba(255,255,255,.75); }
.factbox--glass dd { color: #fff; }
.factbox--glass dt, .factbox--glass dd { border-color: rgba(255,255,255,.14); }
/* Zielgruppen-Kacheln: Text auf Glasfläche */
.tile::after { background: linear-gradient(0deg, rgba(10,18,28,.55) 0%, rgba(10,18,28,0) 55%); }
.tile__text { left: .75rem; right: .75rem; bottom: .75rem; padding: 1.1rem 1.15rem 1.05rem; border-radius: 10px; background: rgba(14,24,35,.3); border: 1px solid rgba(255,255,255,.22); -webkit-backdrop-filter: blur(14px) saturate(140%); backdrop-filter: blur(14px) saturate(140%); transition: background-color .3s; }
.tile:hover .tile__text { background: rgba(14,24,35,.4); }
/* Geschäftsbereich Wohnen: Inhalt auf Glas */
.areas__panel--wohnen::after { background: linear-gradient(180deg, rgba(14,24,35,0) 30%, rgba(14,24,35,.5) 100%); }
.areas__panel--wohnen > div { padding: 1.6rem 1.8rem; border-radius: 14px; background: rgba(14,24,35,.3); border: 1px solid rgba(255,255,255,.22); -webkit-backdrop-filter: blur(14px) saturate(140%); backdrop-filter: blur(14px) saturate(140%); }
/* Status-Etiketten auf Bildern */
.ocard__media .badge, .orow__media .badge { display: inline-flex; align-items: center; gap: .4rem; background: rgba(14,24,35,.42); border: 1px solid rgba(255,255,255,.28); -webkit-backdrop-filter: blur(10px) saturate(140%); backdrop-filter: blur(10px) saturate(140%); }
.ocard__media .badge::before, .orow__media .badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #e9dcc5; flex: none; }
.ocard__media .badge--bau::before, .orow__media .badge--bau::before { background: var(--champagne); }
.ocard__media .badge--event::before, .orow__media .badge--event::before { background: #a9c2e0; }
/* Regionsbild: Bildunterschrift auf Glas */
.figure--glass { position: relative; }
.figure--glass figcaption { position: absolute; left: 1rem; bottom: 1rem; padding: .55rem .9rem; color: #fff; font-weight: 500; border-radius: 10px; background: rgba(14,24,35,.3); border: 1px solid rgba(255,255,255,.24); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
/* Buch-Hero: Eckdaten als Glaskarte */
.bk-hero__meta.glass { padding: 1rem 1.3rem; border-top: 1px solid rgba(255,255,255,.2); display: inline-flex; max-width: none; }
@media (max-width: 1020px) { .about__media .factbox--glass { position: absolute; right: 1rem; bottom: 1rem; margin: 0; } }
@media (max-width: 720px) {
  .about__media .factbox--glass { position: relative; right: auto; bottom: auto; width: auto; margin: -4rem .8rem 0; background: rgba(14,24,35,.78); }
  .bk-hero__meta.glass { display: grid; }
  .areas__panel--wohnen > div { padding: 1.2rem 1.3rem; }
}

/* =========================================================================
   v6 – Rundgang unter dem Titelbereich, Wohnungsfinder, Anfrageleiste, Standortkarte
   ========================================================================= */

/* Rundgang direkt unter dem Titelbereich */
.section--tour { padding: clamp(3.8rem, 6.5vw, 5.8rem) 0; }

/* Wohnungsfinder */
.finder { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.1rem; padding: .85rem 1rem; margin: 0 0 1.2rem; background: linear-gradient(180deg, var(--n50), var(--n100)); border: 1px solid var(--line); border-radius: 10px; }
.finder__chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.chip { display: inline-flex; align-items: center; gap: .4rem; font: inherit; font-size: .88rem; font-weight: 600; line-height: 1.2; padding: .5rem .85rem; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink-2); cursor: pointer; transition: background-color .2s, border-color .2s, color .2s; }
.chip small { font-size: .74rem; font-weight: 600; color: var(--muted); }
.chip:hover { border-color: var(--g700); color: var(--g700); }
.chip.is-active { background: var(--g700); border-color: var(--g700); color: #fff; }
.chip.is-active small { color: rgba(255,255,255,.72); }
.finder__check { display: inline-flex; align-items: center; gap: .5rem; font-size: .9rem; font-weight: 500; color: var(--ink-2); cursor: pointer; margin: 0; }
.finder__check input { width: 18px; height: 18px; margin: 0; accent-color: var(--g700); }
.finder__sort { display: inline-flex; align-items: center; gap: .5rem; font-size: .86rem; color: var(--muted); margin: 0; }
.finder__sort select { font: inherit; font-size: .9rem; color: var(--ink); padding: .45rem 2rem .45rem .7rem; border: 1px solid var(--line); border-radius: 8px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236b726e' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right .7rem center; -webkit-appearance: none; appearance: none; width: auto; min-height: 0; }
.finder__count { margin-left: auto; font-size: .86rem; font-weight: 600; color: var(--g700); font-variant-numeric: tabular-nums; white-space: nowrap; }
.finder__empty { margin: 0; padding: 1.2rem; text-align: center; color: var(--muted); border: 1px dashed var(--line); border-radius: 10px; }
.units tr[hidden] { display: none !important; }
.unit-plan { display: inline-flex; align-items: center; gap: .35rem; margin: .45rem .45rem 0 0; padding: .28rem .6rem; font: inherit; font-size: .8rem; font-weight: 600; color: var(--g700); background: #fff; border: 1px solid var(--line); border-radius: 7px; cursor: pointer; vertical-align: middle; transition: border-color .2s, background-color .2s; }
.unit-plan svg { width: 15px; height: 15px; }
.unit-plan:hover { border-color: var(--g700); background: var(--n50); }
.units .tag-extra { margin-right: .45rem; vertical-align: middle; }

/* Feste Anfrageleiste (Handy & Tablet) */
.mbar { display: none; }
@media (max-width: 1020px) {
  .mbar { position: fixed; z-index: 45; left: .75rem; right: .75rem; bottom: calc(.75rem + env(safe-area-inset-bottom, 0px)); display: flex; align-items: center; justify-content: space-between; gap: 1rem; max-width: 640px; margin: 0 auto; padding: .55rem .55rem .55rem 1.1rem; color: #fff; background: rgba(14,24,35,.84); -webkit-backdrop-filter: blur(16px) saturate(140%); backdrop-filter: blur(16px) saturate(140%); border: 1px solid rgba(255,255,255,.14); border-radius: 14px; box-shadow: 0 22px 44px -18px rgba(0,0,0,.6); opacity: 0; visibility: hidden; transform: translateY(calc(100% + 1.5rem)); transition: transform .5s var(--ease), opacity .3s, visibility 0s .5s; }
  .mbar.is-shown { opacity: 1; visibility: visible; transform: none; transition: transform .5s var(--ease), opacity .3s, visibility 0s; }
  .mbar--buch { background: rgba(23,19,15,.86); }
  .mbar__price { min-width: 0; line-height: 1.25; }
  .mbar__price span { display: block; font-size: .72rem; letter-spacing: .05em; text-transform: uppercase; color: var(--on-dark-2); }
  .mbar__price strong { display: block; font-family: var(--head); font-weight: 600; font-size: 1.1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .mbar .btn { flex: none; padding: .8rem 1.2rem; background: var(--champagne); border-color: var(--champagne); color: var(--c900); }
  .mbar .btn:hover { background: #fff; border-color: #fff; color: var(--c900); }
  .has-mbar .site-footer { padding-bottom: 5.5rem; }
}

/* Standortkarte */
.locmap { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(1.2rem, 2.4vw, 2rem); align-items: start; margin-top: clamp(3rem, 5vw, 4.5rem); }
.locmap__map { position: relative; border-radius: var(--r); background: radial-gradient(70% 55% at 42% 48%, rgba(201,178,141,.16), transparent 70%), linear-gradient(160deg, var(--g800) 0%, var(--g900) 100%); box-shadow: var(--shadow-lg), inset 0 0 0 1px rgba(255,255,255,.05); color: var(--on-dark); isolation: isolate; }
.locmap__svg { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: inherit; }
.locmap__grid line { stroke: rgba(233,220,197,.07); stroke-width: 1; vector-effect: non-scaling-stroke; }
.locmap__rings circle { fill: none; stroke: rgba(233,220,197,.26); stroke-width: 1; stroke-dasharray: 3 6; vector-effect: non-scaling-stroke; }
.locmap__lake { fill: rgba(143,178,190,.28); stroke: rgba(170,200,210,.45); stroke-width: 1; vector-effect: non-scaling-stroke; }
.locmap__center { fill: var(--champagne); stroke: rgba(233,220,197,.35); stroke-width: 10; vector-effect: non-scaling-stroke; }
.locmap__lbl { position: absolute; z-index: 1; transform: translate(-50%, -50%); white-space: nowrap; pointer-events: none; font-size: .64rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: rgba(233,220,197,.5); }
.locmap__lbl--start { transform: translate(0, -50%); }
.locmap__lbl--end { transform: translate(-100%, -50%); }
.locmap__lbl--km { letter-spacing: .06em; text-transform: none; color: rgba(233,220,197,.42); font-variant-numeric: tabular-nums; }
.locmap__lbl--lake { color: rgba(176,206,214,.75); letter-spacing: .1em; }
.locmap__lbl--city { font-family: var(--head); font-size: .74rem; letter-spacing: .18em; color: var(--champagne); }
.locmap__dir { position: absolute; z-index: 1; display: inline-flex; align-items: center; gap: .35rem; font-size: .7rem; font-weight: 600; letter-spacing: .06em; color: rgba(233,220,197,.62); pointer-events: none; }
.locmap__dir svg { width: 14px; height: 14px; }
.locmap__dir--w { left: .9rem; top: 46%; }
.locmap__dir--w svg { transform: rotate(180deg); }
.locmap__dir--e { right: .9rem; top: 30%; }
.locmap__dir--s { left: 50%; bottom: .8rem; transform: translateX(-50%); }
.locmap__dir--s svg { transform: rotate(90deg); }
.locmap__north { position: absolute; z-index: 1; right: 1rem; top: .9rem; display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid rgba(233,220,197,.3); border-radius: 50%; font-family: var(--head); font-size: .72rem; font-weight: 600; color: var(--champagne); }
.locmap__north::before { content: ""; position: absolute; top: -6px; left: 50%; margin-left: -4px; border: 4px solid transparent; border-bottom: 6px solid var(--champagne); border-top: 0; }
.locmap__hint { position: absolute; z-index: 1; left: .9rem; top: .9rem; margin: 0; display: inline-flex; align-items: center; gap: .4rem; padding: .38rem .7rem; font-size: .76rem; color: rgba(255,255,255,.85); background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); border-radius: 8px; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.locmap__hint svg { width: 14px; height: 14px; color: var(--champagne); }

.locmap__pin { position: absolute; z-index: 2; width: 0; height: 0; }
.locmap__pin:hover, .locmap__pin.is-open, .locmap__pin.is-hl { z-index: 5; }
.locmap__pin button { position: absolute; left: -15px; top: -15px; width: 30px; height: 30px; padding: 0; border: 0; background: none; cursor: pointer; border-radius: 50%; }
.locmap__pin button::before { content: ""; position: absolute; inset: 7px; border-radius: 50%; background: var(--pin, var(--champagne)); box-shadow: 0 0 0 3px rgba(14,24,35,.85), 0 0 0 4px rgba(255,255,255,.18), 0 6px 14px rgba(0,0,0,.45); transition: transform .3s var(--ease); }
.locmap__pin button::after { content: ""; position: absolute; inset: 4px; border-radius: 50%; border: 1px solid var(--pin, var(--champagne)); opacity: 0; }
.locmap__pin--frei button::after { animation: pinPulse 2.8s var(--ease) infinite; }
.locmap__pin--bau { --pin: var(--bronze-2); }
.locmap__pin--event { --pin: #a9b8c8; }
.locmap__pin button:hover::before, .locmap__pin.is-open button::before, .locmap__pin.is-hl button::before { transform: scale(1.3); }
.locmap__pin button:focus-visible { outline: 2px solid var(--champagne); outline-offset: 2px; }
@keyframes pinPulse { 0% { transform: scale(.7); opacity: .9; } 80%, 100% { transform: scale(2.1); opacity: 0; } }

.locmap__card { position: absolute; left: 0; bottom: 20px; width: 236px; transform: translate(-50%, 8px); opacity: 0; visibility: hidden; transition: opacity .25s, transform .35s var(--ease), visibility 0s .35s; }
.locmap__pin.is-below .locmap__card { bottom: auto; top: 20px; transform: translate(-50%, -8px); }
.locmap__pin.is-left .locmap__card { transform: translate(calc(-100% + 22px), 8px); }
.locmap__pin.is-right .locmap__card { transform: translate(-22px, 8px); }
.locmap__pin.is-below.is-left .locmap__card { transform: translate(calc(-100% + 22px), -8px); }
.locmap__pin.is-below.is-right .locmap__card { transform: translate(-22px, -8px); }
.locmap__pin.is-open .locmap__card, .locmap__pin.is-hl .locmap__card { opacity: 1; visibility: visible; transition: opacity .25s, transform .35s var(--ease), visibility 0s; transform: translate(-50%, 0); }
.locmap__pin.is-left.is-open .locmap__card, .locmap__pin.is-left.is-hl .locmap__card { transform: translate(calc(-100% + 22px), 0); }
.locmap__pin.is-right.is-open .locmap__card, .locmap__pin.is-right.is-hl .locmap__card { transform: translate(-22px, 0); }
@media (hover: hover) {
  .locmap__pin:hover .locmap__card { opacity: 1; visibility: visible; transition: opacity .25s, transform .35s var(--ease), visibility 0s; transform: translate(-50%, 0); }
  .locmap__pin.is-left:hover .locmap__card { transform: translate(calc(-100% + 22px), 0); }
  .locmap__pin.is-right:hover .locmap__card { transform: translate(-22px, 0); }
}
.locmap__card a { display: block; overflow: hidden; color: #fff; text-decoration: none; background: rgba(14,24,35,.5); -webkit-backdrop-filter: blur(16px) saturate(140%); backdrop-filter: blur(16px) saturate(140%); border: 1px solid rgba(255,255,255,.2); border-radius: 12px; box-shadow: 0 24px 46px -18px rgba(0,0,0,.7); }
.locmap__img { display: block; aspect-ratio: 16 / 9; overflow: hidden; }
.locmap__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.locmap__card a:hover .locmap__img img { transform: scale(1.05); }
.locmap__txt { display: block; padding: .7rem .85rem .8rem; }
.locmap__meta { display: block; font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; color: var(--on-dark-2); }
.locmap__card strong { display: block; font-family: var(--head); font-weight: 500; font-size: 1.04rem; line-height: 1.25; margin: .15rem 0 .35rem; }
.locmap__price { display: inline-flex; align-items: center; gap: .35rem; font-size: .86rem; font-weight: 600; color: var(--champagne); }
.locmap__price svg { width: 15px; height: 15px; transition: transform .3s var(--ease); }
.locmap__card a:hover .locmap__price svg { transform: translateX(3px); }

.locmap__side { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: clamp(1.2rem, 2.2vw, 1.6rem); box-shadow: var(--shadow); }
.locmap__side h3 { font-size: 1.3rem; margin: .2rem 0 1rem; }
.locmap__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.locmap__list li { margin: 0; border-bottom: 1px solid var(--line-2); }
.locmap__list a { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; align-items: center; gap: .85rem; padding: .6rem .4rem; margin: 0 -.4rem; border-radius: 8px; color: var(--ink); text-decoration: none; transition: background-color .2s; }
.locmap__list a:hover, .locmap__list a:focus-visible { background: var(--n50); }
.locmap__thumb { display: block; width: 58px; height: 44px; border-radius: 6px; overflow: hidden; }
.locmap__thumb img { width: 100%; height: 100%; object-fit: cover; }
.locmap__ltxt { min-width: 0; }
.locmap__ltxt strong { display: block; font-size: .95rem; font-weight: 600; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.locmap__ltxt small { display: flex; align-items: center; gap: .4rem; font-size: .8rem; color: var(--muted); }
.locmap__list em { font-style: normal; font-size: .86rem; font-weight: 600; color: var(--g800); white-space: nowrap; font-variant-numeric: tabular-nums; }
.dot { display: inline-block; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--g600); }
.dot--bau { background: var(--bronze-2); }
.dot--event { background: var(--slate); }
.locmap__legend { display: flex; flex-wrap: wrap; gap: .4rem 1.1rem; margin: 1rem 0 0; font-size: .8rem; color: var(--muted); }
.locmap__legend span { display: inline-flex; align-items: center; gap: .4rem; }
.locmap__src { margin: .8rem 0 0; font-size: .74rem; line-height: 1.5; color: var(--muted); }
.locmap__src a { color: inherit; }

@media (max-width: 1020px) {
  .locmap { grid-template-columns: minmax(0, 1fr); }
  .locmap__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.4rem; }
}
@media (max-width: 720px) {
  .finder { gap: .7rem; }
  .finder__count { margin-left: 0; width: 100%; }
  .finder__sort { width: 100%; justify-content: space-between; }
  .finder__sort select { flex: 1; max-width: 220px; }
  .unit-plan { margin-top: .55rem; }
  .locmap__list { grid-template-columns: minmax(0, 1fr); }
  .locmap__lbl { font-size: .56rem; letter-spacing: .12em; }
  .locmap__lbl--km, .locmap__dir--e, .locmap__north { display: none; }
  .locmap__dir { font-size: .62rem; }
  .locmap__hint { font-size: .7rem; }
  .locmap__pin button { left: -17px; top: -17px; width: 34px; height: 34px; }
  .locmap__pin button::before { inset: 10px; }
  .locmap:has(.locmap__pin.is-open) .gmap { position: relative; z-index: 60; }
  .locmap .locmap__pin .locmap__card { position: fixed; z-index: 70; left: .75rem; right: .75rem; top: auto; bottom: calc(.75rem + env(safe-area-inset-bottom, 0px)); width: auto; max-width: 440px; margin: 0 auto; transform: translateY(16px) !important; }
  .locmap .locmap__pin.is-open .locmap__card { transform: none !important; }
  .locmap__card a { display: grid; grid-template-columns: 112px minmax(0, 1fr); background: rgba(14,24,35,.86); }
  .locmap__img { aspect-ratio: auto; height: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .locmap__pin--frei button::after { animation: none; }
  .mbar, .locmap__card { transition: none !important; }
}
/* Legende = Farben der Kartenmarkierungen */
.locmap__side .dot { width: 9px; height: 9px; background: var(--champagne); box-shadow: inset 0 0 0 1px rgba(20,27,35,.25), 0 0 0 2px var(--g800); margin: 0 3px; }
.locmap__side .dot--bau { background: var(--bronze-2); }
.locmap__side .dot--event { background: #a9b8c8; }
.locmap__hint { top: auto; left: auto; right: .9rem; bottom: .9rem; }
@media (max-width: 720px) {
  .locmap__hint { bottom: 20%; right: .7rem; }
  .locmap__long { display: none; }
}
@media (max-width: 420px) {
  .mbar { gap: .7rem; padding-left: .95rem; }
  .mbar__price strong { font-size: 1rem; }
  .mbar .btn { padding: .75rem .95rem; font-size: .9rem; }
}
/* Standortkarte: Tablet-Proportionen */
@media (max-width: 1020px) {
  .locmap { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
  .locmap__list { display: block; }
}
@media (max-width: 800px) {
  .locmap { grid-template-columns: minmax(0, 1fr); }
  .locmap__map { width: 100%; max-width: 600px; margin-inline: auto; }
  .locmap__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.4rem; }
}
@media (max-width: 720px) {
  .locmap__list { grid-template-columns: minmax(0, 1fr); }
}
.locmap__dir--e { top: 22%; }
.locmap__intro { display: flex; align-items: flex-start; gap: .45rem; margin: -.4rem 0 1rem; font-size: .88rem; color: var(--muted); }
.locmap__intro svg { width: 16px; height: 16px; flex: none; margin-top: .15rem; color: var(--bronze); }

/* =========================================================================
   v7 – Finale Überarbeitung: redaktionell statt Baukasten
   Linien statt Kästen · ruhige Typografie · Bilder tragen · weniger Deko
   ========================================================================= */
:root {
  --r: 6px;
  --r-sm: 4px;
  --rule: rgba(20,27,35,.88);
  --shadow: 0 1px 2px rgba(20,27,35,.04), 0 12px 32px -24px rgba(20,27,35,.3);
}

/* Typografie */
h1, h2 { font-weight: 400; letter-spacing: -.026em; }
h2 { font-size: clamp(1.95rem, 3.3vw, 2.8rem); line-height: 1.06; }
h3 { font-weight: 500; }
.hero h1 { font-weight: 500; }
.eyebrow, .kicker { font-weight: 500; font-size: .92rem; letter-spacing: 0; text-transform: none; color: var(--bronze-d); margin-bottom: .75rem; }
.section--dark .eyebrow, .section--warm .eyebrow, .bookband .eyebrow, .pagehead .eyebrow { color: var(--champagne); }
.price strong { font-weight: 500; }

/* Flächen ohne Verlaufsbänder */
.section--grey, .section--ivory, .section--stone, .section--soft { background: var(--n50); }
.pagehead::before, .closing::before { display: none; }

/* Knöpfe: ohne Pfeil-Deko, klare Kanten */
.btn { border-radius: var(--r); }
.btn > svg { display: none; }
.btn--ghost { color: var(--ink); border-color: rgba(20,27,35,.28); }
.btn--ghost:hover { background: var(--ink); border-color: var(--ink); color: #fff; }

/* Abschnittsköpfe: Linie, Überschrift links, Text rechts */
.shead { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 1.1rem clamp(2rem, 5vw, 5rem); align-items: end; padding-top: clamp(1.1rem, 2vw, 1.5rem); border-top: 1px solid var(--rule); margin-bottom: clamp(2.2rem, 4vw, 3.2rem); }
.shead h2 { margin: 0; font-size: clamp(2.1rem, 4vw, 3.3rem); line-height: 1.02; letter-spacing: -.032em; }
.shead__side { display: flex; flex-direction: column; align-items: flex-start; gap: .9rem; padding-bottom: .3rem; }
.shead__side p { margin: 0; color: var(--ink-2); font-size: 1.04rem; max-width: 50ch; }
.sechead, .section__head { border-top: 1px solid var(--rule); padding-top: clamp(1.1rem, 2vw, 1.5rem); }

/* Titelbereich: Vorteile als ruhige Textzeile */
.hero__usp svg { display: none; }
.hero__usp { gap: .35rem 0; padding: .7rem .3rem; }
.hero__usp li { padding: 0 1.15rem; }
.hero__usp li + li { border-left: 1px solid rgba(255,255,255,.22); }

/* Bereiche */
.areas__label { font-weight: 500; font-size: .95rem; letter-spacing: 0; text-transform: none; }

/* Über uns: Liste mit Haarlinien statt Icon-Kacheln */
.usp { gap: 0; margin: 1.8rem 0 2.2rem; border-top: 1px solid var(--line); }
.usp li { display: grid; grid-template-columns: minmax(0, 13.5rem) minmax(0, 1fr); gap: .2rem 1.5rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.usp li > div { display: contents; }
.usp svg { display: none; }
.usp strong { font-size: 1rem; }
.usp span { font-size: .96rem; }

/* Schnellauswahl als Reiter */
.quick { gap: 0 1.8rem; border-bottom: 1px solid var(--line); margin: 0 0 2.6rem; }
.quick a { position: relative; padding: .2rem 0 .9rem; border: 0; border-radius: 0; background: none; color: var(--muted); font-weight: 500; }
.quick a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--ink); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease); }
.quick a:hover, .quick a.is-active { color: var(--ink); background: none; }
.quick a:hover::after, .quick a.is-active::after { transform: none; }
.quick small { font-size: .78em; color: var(--muted); opacity: 1; }

/* Objektkarten: Bild + Text, kein Kasten */
.ogrid { gap: clamp(2.2rem, 3.6vw, 3.2rem) clamp(1.2rem, 2vw, 1.8rem); }
.ocard { position: relative; background: none; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
.ocard:hover { box-shadow: none; transform: none; }
.ocard__media { border-radius: var(--r); }
.ocard:hover .ocard__media img { transform: scale(1.05); }
.ocard__body { padding: 1.05rem 0 0; }
.ocard__type { font-size: .84rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--muted); margin-bottom: .3rem; }
.ocard__title { font-size: 1.3rem; font-weight: 500; margin-bottom: .55rem; }
.ocard__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.ocard:hover .ocard__title a { color: var(--g700); }
.ocard__foot { padding: .85rem 0 0; margin-top: .95rem; background: none; border-top: 1px solid var(--line); }
.facts { gap: .1rem 0; font-size: .9rem; }
.facts svg { display: none; }
.facts li + li::before { content: "·"; margin: 0 .5rem; color: var(--bronze-2); }
.ocard__media .badge, .orow__media .badge { border-radius: 4px; font-weight: 600; font-size: .74rem; letter-spacing: .01em; background: rgba(14,24,35,.4); }
.ocard__media .badge::before, .orow__media .badge::before { background: var(--champagne); }
.ocard__media .badge--bau::before, .orow__media .badge--bau::before { background: var(--bronze-2); }
.ocard__media .badge--event::before, .orow__media .badge--event::before { background: #a9b8c8; }

/* Projekte im Bau */
.timeline__card { background: none; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
.timeline__card:hover { box-shadow: none; transform: none; }
.timeline__img { border-radius: var(--r); }
.timeline__body { padding: .9rem 0 0; }
.timeline__when { text-transform: none; letter-spacing: 0; font-size: .84rem; font-weight: 600; color: var(--bronze-d); }
.timeline__card:hover h3 { color: var(--g700); }

/* Wer bei uns wohnt: Zeilen */
.rows { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.rows > li { margin: 0; border-bottom: 1px solid var(--line); }
.lrow { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) 210px; gap: 1rem clamp(2rem, 4vw, 3.5rem); align-items: center; padding: 1.5rem 0; color: var(--ink); text-decoration: none; }
.lrow:hover { color: var(--ink); }
.row__title { font-family: var(--head); font-weight: 400; font-size: clamp(1.6rem, 2.8vw, 2.35rem); line-height: 1.08; letter-spacing: -.026em; transition: transform .5s var(--ease), color .3s; }
.lrow:hover .row__title { transform: translateX(10px); color: var(--g700); }
.row__text { color: var(--ink-2); font-size: 1rem; line-height: 1.55; }
.row__more { display: flex; align-items: center; gap: .4rem; margin-top: .55rem; font-weight: 600; font-size: .9rem; color: var(--g700); }
.row__more svg { width: 1em; height: 1em; transition: transform .3s var(--ease); }
.lrow:hover .row__more svg { transform: translateX(4px); }
.row__img { display: block; width: 210px; aspect-ratio: 3 / 2; border-radius: var(--r); overflow: hidden; background: var(--n100); }
.row__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.lrow:hover .row__img img { transform: scale(1.07); }

/* Ratgeber & Karten: ohne Rahmen */
.guide { gap: clamp(1.6rem, 3vw, 3rem); }
.guide__main, .card { background: none; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
.guide__main:hover, .card:hover { box-shadow: none; transform: none; }
.guide__img, .card__img { border-radius: var(--r); }
.guide__body { padding: 1.3rem 0 0; }
.card__body { padding: 1.05rem 0 0; }
.cards { row-gap: clamp(2.2rem, 3.6vw, 3rem); }
.guide__side { gap: 0; border-top: 1px solid var(--rule); }
.guide__item { grid-template-columns: 120px minmax(0, 1fr); padding: 1.1rem 0; background: none; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; box-shadow: none; }
.guide__item:hover { box-shadow: none; transform: none; border-color: var(--line); }
.guide__item img { width: 120px; height: 86px; border-radius: var(--r-sm); }
.guide__flag { border-radius: 4px; color: var(--ink); font-size: .74rem; font-weight: 600; letter-spacing: .01em; text-transform: none; }
.card__meta, .icard__meta { font-size: .84rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--bronze-d); }
.icard--featured .icard__meta { color: var(--champagne); }
.icard { box-shadow: none; }
.icard:hover { transform: none; box-shadow: var(--shadow); }

/* Ausstattung: Liste mit Linien */
.checks { gap: 0 2rem; border-top: 1px solid var(--line); }
.checks li { padding: .75rem 0; border-bottom: 1px solid var(--line); font-weight: 500; }
.checks svg { display: none; }

/* Häufige Fragen: Linien und Plus statt Kästen */
.faq { gap: 0; border-top: 1px solid var(--rule); }
.faq details, .faq-group .faq details { background: none; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; box-shadow: none; }
.faq details[open] { box-shadow: none; }
.faq summary { padding: 1.25rem 3rem 1.25rem 0; font-weight: 500; font-size: 1.05rem; }
.faq summary::after { right: .2rem; top: 50%; width: 14px; height: 14px; margin-top: -7px; border: 0; transform: none; background: linear-gradient(currentColor, currentColor) center / 14px 1.5px no-repeat, linear-gradient(currentColor, currentColor) center / 1.5px 14px no-repeat; transition: transform .35s var(--ease); }
.faq details[open] summary::after { top: 50%; transform: rotate(45deg); }
.faq .faq__a { padding: 0 3rem 1.4rem 0; }
.faq-group { background: none; border: 0; border-radius: 0; box-shadow: none; padding: 0; margin-bottom: clamp(2.4rem, 4vw, 3.4rem); }
.faq-group > h2 { border-bottom: 0; padding-bottom: 0; margin-bottom: 1.1rem; }

/* Abschluss mit Foto */
.closing:not(.closing--book) { padding: clamp(4.5rem, 9vw, 7.5rem) 0; background: linear-gradient(100deg, rgba(10,18,28,.96) 0%, rgba(10,18,28,.86) 42%, rgba(10,18,28,.5) 100%), url("/assets/img/lieck/og-wohnen-1600.webp") center 40% / cover no-repeat; }
.closing h2 { font-size: clamp(2.1rem, 4vw, 3.3rem); }

/* Fußzeile */
.footer-col h2 { font-family: var(--head); font-size: 1rem; font-weight: 500; letter-spacing: 0; text-transform: none; border-bottom: 0; padding-bottom: 0; margin-bottom: 1rem; }
.footer-col h2::after { display: none; }

/* Objekt- und Buchseiten: Abschnitte mit Linien wie auf Buchungsportalen */
.objbody { background: #fff; }
.obj-layout { gap: clamp(2rem, 5vw, 4.5rem); }
.obj-section { background: none; border: 0; border-radius: 0; box-shadow: none; padding: clamp(2.2rem, 4vw, 3rem) 0; margin: 0; border-top: 1px solid var(--line); }
.obj-section:first-child { border-top: 0; padding-top: .6rem; }
.obj-section > h2 { border-bottom: 0; padding-bottom: 0; margin-bottom: 1.2rem; font-size: clamp(1.7rem, 2.6vw, 2.2rem); }
.obj-section > h2::after { display: none; }
.orow { box-shadow: none; }
.orow:hover { transform: none; box-shadow: var(--shadow); }

@media (max-width: 860px) {
  .shead { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .lrow { grid-template-columns: minmax(0, 1fr) 128px; }
  .row__title { grid-column: 1; }
  .row__text { grid-column: 1; grid-row: 2; }
  .row__img { grid-column: 2; grid-row: 1 / span 2; width: 128px; }
}
@media (max-width: 720px) {
  .usp li { grid-template-columns: minmax(0, 1fr); }
  .quick { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; gap: 0 1.4rem; }
  .quick::-webkit-scrollbar { display: none; }
  .quick a { flex: none; white-space: nowrap; }
  .hero__usp li { padding: .1rem .7rem; }
  .hero__usp li + li { border-left: 0; }
  .checks { grid-template-columns: minmax(0, 1fr); }
  .faq summary { padding-right: 2.4rem; }
  .faq .faq__a { padding-right: 0; }
}
@media (max-width: 520px) {
  .lrow { grid-template-columns: minmax(0, 1fr) 84px; gap: .5rem 1rem; padding: 1.2rem 0; }
  .row__img { width: 84px; aspect-ratio: 1; }
  .row__title { font-size: 1.45rem; }
  .lrow:hover .row__title { transform: none; }
}
/* Merkmale als Textzeile – Trennpunkt hängt am vorigen Eintrag */
.facts { display: block; line-height: 1.6; }
.facts li { display: inline; }
.facts li + li::before { content: none; }
.facts li:not(:last-child)::after { content: "·"; margin: 0 .45rem; color: var(--bronze-2); }
.hero__feature span { text-transform: none; letter-spacing: 0; font-weight: 500; }
/* Objektseiten: Ausstattung ohne Icon-Kacheln */
.amenities { gap: 0 2.4rem; border-top: 1px solid var(--line); }
.amenity { display: block; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.amenity svg { display: none; }
.amenity h3, .groups h3 { font-family: var(--head); font-weight: 500; font-size: 1.08rem; letter-spacing: -.005em; }
.groups > div { background: none; border: 0; border-top: 1px solid var(--rule); border-radius: 0; padding: 1rem 0 0; }
.keyfacts { background: none; border-radius: var(--r); }
.keyfacts dt { font-size: .82rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.timeline__when::first-letter { text-transform: uppercase; }
/* Buchseite: Listen mit Linien statt Häkchen-Kreisen */
.checklist { gap: 0; border-top: 1px solid var(--line); }
.checklist li { display: block; padding: .8rem 0 .8rem 1.4rem; border-bottom: 1px solid var(--line); position: relative; }
.checklist li::before { content: ""; position: absolute; left: 0; top: 1.45rem; width: .7rem; height: 1px; background: var(--bronze); }
.checklist svg { display: none; }
.bk-levers__list { border: 0; border-radius: 0; border-top: 1px solid var(--rule); }
.bk-levers__list li { padding-left: 1.4rem; border-top: 0; border-bottom: 1px solid var(--line); }
.bk-facts-list dt { font-size: .8rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.bk-facts-list { background: none; border-radius: var(--r); }

/* =========================================================================
   v8 – Standortkarte mit echten Geodaten (dunkler Abschnitt)
   ========================================================================= */
.section--map { color: var(--on-dark); background: radial-gradient(1100px 520px at 78% 0%, rgba(201,178,141,.12), transparent 62%), linear-gradient(180deg, #111e2c 0%, var(--g900) 100%); }
.section--map .shead { border-top-color: rgba(233,220,197,.32); }
.section--map .shead h2 { color: #fff; }
.section--map .shead__side p { color: var(--on-dark-2); }
.locmap--dark { margin-top: 0; grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); }

.gmap { position: relative; min-width: 0; }
.gmap__stage { position: relative; overflow: hidden; border-radius: var(--r); background: radial-gradient(80% 70% at 30% 40%, #0f1a27, #08111b); box-shadow: 0 40px 80px -40px rgba(0,0,0,.75), inset 0 0 0 1px rgba(233,220,197,.08); isolation: isolate; }
.gmap__svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.gmap__svg path, .gmap__svg circle { vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-linejoin: round; }
.m-de { fill: #172738; stroke: rgba(233,220,197,.55); stroke-width: 1; }
.m-nb { fill: #172738; fill-opacity: calc(1 - var(--nb, 0) * .55); stroke: rgba(233,220,197,.18); stroke-width: .8; }
.gmap__detail { transition: opacity .2s; }
.m-forest { fill: #1a2d39; }
.m-urban { fill: rgba(233,220,197,.075); }
.m-industrial { fill: rgba(233,220,197,.05); }
.m-water { fill: #2f5674; stroke: #4a7493; stroke-width: .6; }
.m-river { fill: none; stroke: #5682a3; stroke-width: 1.8; }
.m-rail { fill: none; stroke: rgba(233,220,197,.28); stroke-width: .8; stroke-dasharray: 3 4; }
.m-minor { fill: none; stroke: rgba(233,220,197,.17); stroke-width: .6; }
.m-mid { fill: none; stroke: rgba(233,220,197,.34); stroke-width: 1.05; }
.m-major { fill: none; stroke: rgba(233,220,197,.58); stroke-width: 1.6; }
.m-motorway { fill: none; stroke: var(--bronze-2); stroke-width: 2.6; }
.m-border { fill: none; stroke: rgba(233,220,197,.7); stroke-width: 1.3; stroke-dasharray: 7 5; }
.gmap__rings circle { fill: none; stroke: rgba(233,220,197,.16); stroke-width: 1; stroke-dasharray: 2 6; }

.gmap__overlay { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.gmap__overlay > * { pointer-events: auto; }
.gmap__lbl { position: absolute; z-index: 1; white-space: nowrap; pointer-events: none !important; transform: translate(calc(-50% + var(--dx, 0px)), calc(-50% + var(--dy, 0px))); font-size: .66rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: rgba(233,220,197,.62); text-shadow: 0 1px 8px rgba(8,15,23,.9); }
.gmap__lbl--country { font-family: var(--head); font-weight: 400; font-size: clamp(1.1rem, 2.2vw, 1.7rem); letter-spacing: .34em; color: rgba(233,220,197,.32); }
.gmap__lbl--country2 { font-size: .64rem; letter-spacing: .26em; color: rgba(233,220,197,.38); }
.gmap__lbl--city { transform: translate(0, -50%); padding-left: 12px; font-size: .74rem; letter-spacing: .02em; text-transform: none; font-weight: 500; color: rgba(233,220,197,.75); }
.gmap__lbl--city::before { content: ""; position: absolute; left: 0; top: 50%; width: 5px; height: 5px; margin-top: -2.5px; border-radius: 50%; background: rgba(233,220,197,.75); }
.gmap__lbl--town { font-family: var(--head); font-weight: 500; font-size: .86rem; letter-spacing: .2em; color: var(--champagne); }
.gmap__lbl--district { font-size: .6rem; letter-spacing: .18em; color: rgba(233,220,197,.58); }
.gmap__lbl--water { font-size: .64rem; letter-spacing: .1em; text-transform: none; font-weight: 500; color: #a7c3d8; }
.gmap__lbl--road { padding: .14rem .4rem; border-radius: 3px; background: var(--bronze); color: #fff; font-size: .62rem; letter-spacing: .04em; text-shadow: none; }
.gmap__hs { position: absolute; z-index: 3; display: flex; align-items: center; gap: .55rem; transform: translate(-7px, -50%); font-family: var(--head); font-weight: 500; font-size: .95rem; letter-spacing: .02em; color: #fff; white-space: nowrap; text-shadow: 0 2px 10px rgba(0,0,0,.6); }
.gmap__hs i { position: relative; width: 14px; height: 14px; flex: none; border-radius: 50%; background: var(--champagne); box-shadow: 0 0 0 3px rgba(14,24,35,.9), 0 0 24px 4px rgba(233,220,197,.45); }
.gmap__hs i::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 1px solid var(--champagne); animation: pinPulse 2.4s var(--ease) infinite; }

.gmap__ctrl { position: absolute; z-index: 6; left: .9rem; top: .9rem; display: inline-flex; padding: 4px; border-radius: 10px; background: rgba(14,24,35,.55); border: 1px solid rgba(233,220,197,.18); -webkit-backdrop-filter: blur(14px) saturate(140%); backdrop-filter: blur(14px) saturate(140%); }
.gmap__ctrl button { position: relative; z-index: 1; padding: .46rem .9rem; border: 0; background: none; border-radius: 7px; font: inherit; font-size: .82rem; font-weight: 600; color: var(--on-dark); cursor: pointer; transition: color .3s; }
.gmap__ctrl button.is-active { color: var(--c900); }
.gmap__ctrl button:focus-visible { outline: 2px solid var(--champagne); outline-offset: 1px; }
.gmap__ind { position: absolute; z-index: 0; top: 4px; bottom: 4px; left: 0; width: var(--w, 0); transform: translateX(var(--x, 0)); border-radius: 7px; background: var(--champagne); transition: transform .45s var(--ease), width .45s var(--ease); }
.gmap:not(.is-ready) .gmap__ind { display: none; }
.gmap:not(.is-ready) .gmap__ctrl button[aria-pressed="true"] { background: var(--champagne); color: var(--c900); }
.gmap__scale { position: absolute; z-index: 6; left: 1rem; bottom: .9rem; display: flex; align-items: center; gap: .55rem; font-size: .72rem; color: var(--on-dark-2); }
.gmap__scale span { display: block; width: 72px; height: 6px; border: 1px solid rgba(233,220,197,.6); border-top: 0; transition: width .2s; }
.gmap__scale em { font-style: normal; font-variant-numeric: tabular-nums; }
.gmap__attr { position: absolute; z-index: 6; right: .8rem; bottom: .7rem; margin: 0; font-size: .66rem; color: rgba(233,220,197,.55); }
.gmap__attr a { color: inherit; }

/* Liste auf dunklem Grund */
.locmap--dark .locmap__side { background: rgba(255,255,255,.035); border-color: rgba(233,220,197,.12); box-shadow: none; color: var(--on-dark); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.locmap--dark .locmap__side h3 { color: #fff; }
.locmap--dark .locmap__intro, .locmap--dark .locmap__legend, .locmap--dark .locmap__src { color: var(--on-dark-2); }
.locmap--dark .locmap__intro svg { color: var(--champagne); }
.locmap--dark .locmap__list { border-top-color: rgba(233,220,197,.14); }
.locmap--dark .locmap__list li { border-bottom-color: rgba(233,220,197,.1); }
.locmap--dark .locmap__list a { color: #fff; }
.locmap--dark .locmap__list a:hover, .locmap--dark .locmap__list a:focus-visible { background: rgba(233,220,197,.07); }
.locmap--dark .locmap__ltxt small { color: var(--on-dark-2); }
.locmap--dark .locmap__list em { color: var(--champagne); }
.locmap--dark .locmap__side .dot { box-shadow: 0 0 0 2px rgba(14,24,35,.9); }

@media (max-width: 1020px) {
  .locmap--dark { grid-template-columns: minmax(0, 1fr); }
  .locmap--dark .gmap__stage { aspect-ratio: 16 / 11 !important; }
  .locmap--dark .locmap__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.4rem; }
}
@media (max-width: 720px) {
  .locmap--dark .gmap__stage { aspect-ratio: 4 / 5 !important; }
  .locmap--dark .locmap__list { grid-template-columns: minmax(0, 1fr); }
  .gmap__ctrl button { padding: .42rem .7rem; font-size: .78rem; }
  .gmap__lbl--district { font-size: .54rem; }
  .gmap__lbl--city { font-size: .66rem; }
  .gmap__attr { font-size: .6rem; }
}
@media (prefers-reduced-motion: reduce) {
  .gmap__hs i::after { animation: none; }
}

/* =========================================================================
   v8 – Startseite: transparenter Kopf über Vollbild-Titel, Bild-Einblendungen
   ========================================================================= */
:root { --hdr0: 72px; }
.site-header { transition: background-color .4s, border-color .4s, box-shadow .3s, margin .3s; }
.site-header::before { transition: background-color .4s, opacity .4s; }
.page-home .hero { margin-top: calc(-1 * (var(--top) + var(--hdr0))); }
.page-home .hero__inner { min-height: 100vh; min-height: 100svh; padding-top: calc(var(--top) + var(--hdr0) + 3rem); padding-bottom: 2.6rem; }
.page-home .hero__img::after { background: linear-gradient(180deg, rgba(8,14,22,.62) 0%, rgba(8,14,22,0) 30%, rgba(8,14,22,0) 46%, rgba(8,14,22,.84) 100%), linear-gradient(90deg, rgba(8,14,22,.58) 0%, rgba(8,14,22,0) 62%); }
.page-home .hero h1 { font-size: clamp(2.5rem, 5vw, 4.6rem); letter-spacing: -.03em; line-height: 1.02; }

html:not(.is-scrolled) .page-home .site-header:not(:has(.mainnav.is-open)) { background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; border-bottom-color: rgba(255,255,255,.14); box-shadow: none; }
html:not(.is-scrolled) .page-home .site-header:not(:has(.mainnav.is-open))::before { background: transparent; box-shadow: inset 0 -1px 0 rgba(255,255,255,.1); }
html:not(.is-scrolled) .page-home .site-header:not(:has(.mainnav.is-open)) .wordmark { color: #fff; }
html:not(.is-scrolled) .page-home .site-header:not(:has(.mainnav.is-open)) .wordmark__sub { color: var(--champagne); border-top-color: rgba(255,255,255,.22); }
html:not(.is-scrolled) .page-home .site-header:not(:has(.mainnav.is-open)) .navtoggle { color: #fff; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.26); }
@media (min-width: 941px) {
  html:not(.is-scrolled) .page-home .site-header .mainnav ul a { color: rgba(255,255,255,.86); }
  html:not(.is-scrolled) .page-home .site-header .mainnav ul a:hover { color: #fff; }
  html:not(.is-scrolled) .page-home .site-header .mainnav ul a::after { background: var(--champagne); }
  html:not(.is-scrolled) .page-home .site-header .mainnav .btn { background: var(--champagne); border-color: var(--champagne); color: var(--c900); }
  html:not(.is-scrolled) .page-home .site-header .mainnav .btn:hover { background: #fff; border-color: #fff; }
}
@media (max-width: 940px) {
  html:not(.is-scrolled) .page-home .site-header:not(:has(.mainnav.is-open)) .switch { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); }
  html:not(.is-scrolled) .page-home .site-header:not(:has(.mainnav.is-open)) .switch__opt { color: rgba(255,255,255,.78); }
  html:not(.is-scrolled) .page-home .site-header:not(:has(.mainnav.is-open)) .switch__opt[aria-current] { color: var(--g800); }
  .page-home .hero__inner { padding-top: calc(var(--hdr0) + 2.4rem); }
}

/* Große Bilder laufen von unten ins Bild */
.ir { clip-path: inset(100% 0 0 0); }
.ir.is-in { clip-path: inset(0 0 0 0); transition: clip-path 1.25s cubic-bezier(.65, 0, .25, 1); }
.ir img, .ir video { transform: scale(1.12); }
.ir.is-in img, .ir.is-in video { transform: none; transition: transform 1.9s var(--ease); }

/* Größere Abschnittstitel */
.shead h2 { font-size: clamp(2.3rem, 4.6vw, 4.3rem); }
.areas__panel { min-height: clamp(460px, 64vh, 620px); }

/* Objektkarten: „Ansehen“ erscheint auf dem Bild */
.ocard__media::after { content: "Ansehen"; position: absolute; right: .75rem; bottom: .75rem; z-index: 2; padding: .42rem .75rem; border-radius: 6px; font-size: .78rem; font-weight: 600; color: #fff; background: rgba(14,24,35,.42); border: 1px solid rgba(255,255,255,.28); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); opacity: 0; transform: translateY(6px); transition: opacity .3s, transform .4s var(--ease); }
.ocard:hover .ocard__media::after { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .ir, .ir.is-in { clip-path: none !important; transition: none !important; }
  .ir img, .ir video { transform: none !important; }
}
/* Vergrößerte Bilder während der Einblendung nicht über den Rand ragen lassen */
.ir:not(img):not(picture) { overflow: hidden; }
@media (max-width: 720px) {
  .page-home .hero__img::after { background: linear-gradient(180deg, rgba(8,14,22,.6) 0%, rgba(8,14,22,.38) 34%, rgba(8,14,22,.55) 60%, rgba(8,14,22,.88) 100%); }
}

/* =========================================================================
   v9 – Handy: Wischkarten, Buch-Panel, Filter als Bottom-Sheet; kompaktes Formular
   ========================================================================= */

/* ---------- Kompaktes Anfrageformular ---------- */
.form--compact .fstep { margin: 0 0 1.1rem; }
.form--compact legend { display: flex; align-items: center; gap: .8rem; font-size: 1.02rem; padding: 0; margin-bottom: .8rem; border-bottom: 0; }
.form--compact legend::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.form--compact .row { gap: .7rem .8rem; margin-bottom: .7rem; }
.form--compact .field label, .form--compact .field .label { font-size: .8rem; font-weight: 600; margin-bottom: .28rem; color: var(--ink-2); }
.form--compact .field input[type="text"], .form--compact .field input[type="email"], .form--compact .field input[type="tel"], .form--compact .field input[type="date"], .form--compact .field input[type="number"], .form--compact .field input[type="month"], .form--compact .field select, .form--compact .field textarea { min-height: 44px; padding: .55rem .75rem; font-size: .96rem; border-radius: 8px; }
.form--compact .field textarea { min-height: 84px; }
.form--compact .field { margin-bottom: 0; }
.form--compact .fstep > .field, .form--compact .field--pills { margin-bottom: .75rem; }
.field--pills { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .8rem; }
.field--pills .label { margin: 0 !important; min-width: 10.5rem; }
.pills { display: flex; flex-wrap: wrap; gap: .35rem; }
.pills label { position: relative; margin: 0; cursor: pointer; }
.pills input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.pills span { display: inline-flex; align-items: center; padding: .4rem .8rem; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: .86rem; font-weight: 500; color: var(--ink-2); transition: background-color .2s, border-color .2s, color .2s; }
.pills label:hover span { border-color: var(--g600); color: var(--ink); }
.pills input:checked + span { background: var(--g800); border-color: var(--g800); color: #fff; }
.pills input:focus-visible + span { outline: 3px solid var(--bronze-2); outline-offset: 2px; }
.form__more { margin: .2rem 0 0; border-top: 1px solid var(--line); }
.form__more summary { display: flex; align-items: center; gap: .5rem; padding: .8rem 0; list-style: none; cursor: pointer; font-size: .9rem; font-weight: 600; color: var(--g700); }
.form__more summary::-webkit-details-marker { display: none; }
.form__more summary::before { content: ""; width: 12px; height: 12px; flex: none; background: linear-gradient(currentColor, currentColor) center / 12px 1.5px no-repeat, linear-gradient(currentColor, currentColor) center / 1.5px 12px no-repeat; transition: transform .3s var(--ease); }
.form__more[open] summary::before { transform: rotate(45deg); }
.form__more summary span { font-weight: 400; color: var(--muted); }
.form__more-body { padding: .2rem 0 .4rem; }
.form--compact .form__foot { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .9rem 1.6rem; padding-top: 1.1rem; }
.form--compact .consent { margin: 0; font-size: .84rem; }
.form__note { margin: .7rem 0 0; font-size: .78rem; color: var(--muted); }

/* ---------- Filter: Knopf + Bottom-Sheet bis 1020 px ---------- */
.fbtn, .filter__close, .filter__foot, .filter-backdrop { display: none; }
.results__sort { display: inline-flex; align-items: center; gap: .5rem; font-size: .9rem; color: var(--muted); }
@media (max-width: 1020px) {
  .results__bar { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .8rem; align-items: center; }
  .results__count { grid-column: 1 / -1; }
  .results__sort { justify-self: end; }
  .results__sort span { display: none; }
  .results__bar select { min-height: 44px; }
  .fbtn { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: .55rem 1rem; border: 1px solid var(--ink); border-radius: var(--r); background: #fff; font: inherit; font-size: .94rem; font-weight: 600; color: var(--ink); cursor: pointer; }
  .fbtn__n { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 .35rem; border-radius: 999px; background: var(--g800); color: #fff; font-size: .72rem; }
  .fbtn__n[hidden] { display: none; }
  .filter { position: fixed; z-index: 90; left: 0; right: 0; bottom: 0; top: auto; max-height: min(86vh, 640px); display: flex; flex-direction: column; padding: 0; border: 0; border-radius: 16px 16px 0 0; box-shadow: 0 -24px 60px -20px rgba(0,0,0,.45); transform: translateY(105%); visibility: hidden; transition: transform .45s var(--ease), visibility 0s .45s; }
  .filter.is-open { transform: none; visibility: visible; transition: transform .45s var(--ease), visibility 0s; }
  .filter__head { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.2rem .9rem; border-bottom: 1px solid var(--line); }
  .filter__head h2 { padding: 0; border: 0; font-size: 1.2rem; }
  .filter__close { display: grid; place-items: center; position: relative; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 50%; background: #fff; cursor: pointer; }
  .filter__close span { position: absolute; width: 16px; height: 1.5px; background: var(--ink); transform: rotate(45deg); }
  .filter__close span + span { transform: rotate(-45deg); }
  .filter form { display: block; overflow-y: auto; padding: .4rem 1.2rem 1rem; -webkit-overflow-scrolling: touch; }
  .filter fieldset { padding: .9rem 0 .8rem; border-bottom: 1px solid var(--line-2); }
  .filter fieldset:last-child { border-bottom: 0; }
  .filter legend { float: none; margin-bottom: .6rem; font-size: .8rem; letter-spacing: 0; text-transform: none; font-weight: 600; color: var(--ink-2); }
  .filter fieldset { display: flex; flex-wrap: wrap; gap: .45rem; }
  .filter fieldset legend { width: 100%; }
  .filter label { position: relative; display: inline-flex; padding: 0; clear: none; }
  .filter label input { position: absolute; opacity: 0; width: 1px; height: 1px; }
  .filter label { gap: .45rem; align-items: center; padding: .55rem .9rem; border: 1px solid var(--line); border-radius: 999px; font-size: .92rem; font-weight: 500; background: #fff; transition: background-color .2s, border-color .2s, color .2s; }
  .filter label:has(input:checked) { background: var(--g800); border-color: var(--g800); color: #fff; }
  .filter label:has(input:checked) .muted { color: rgba(255,255,255,.7); }
  .filter label:has(input:focus-visible) { outline: 3px solid var(--bronze-2); outline-offset: 2px; }
  .filter .muted { margin-left: 0; font-size: .8rem; }
  .filter__foot { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .7rem; padding: .9rem 1.2rem calc(.9rem + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--line); background: #fff; }
  .filter__foot .btn { min-height: 48px; }
  .filter-backdrop { display: block; position: fixed; inset: 0; z-index: 85; background: rgba(8,14,22,.5); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
  .filter-backdrop[hidden] { display: none; }
  html.is-locked, html.is-locked body { overflow: hidden; }
}

/* ---------- Startseite Handy: Objekte und Projekte zum Wischen ---------- */
@media (max-width: 720px) {
  .ogrid, .ogrid--3 { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 84%; gap: 1rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); margin: 0 calc(var(--gutter) * -1); padding: 0 var(--gutter) .6rem; scrollbar-width: none; }
  .ogrid::-webkit-scrollbar, .timeline::-webkit-scrollbar { display: none; }
  .ogrid > .ocard { scroll-snap-align: start; }
  .timeline { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 72%; gap: 1rem; padding: 0 var(--gutter) .6rem; margin: 0 calc(var(--gutter) * -1); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scrollbar-width: none; }
  .timeline::before, .timeline__item::before { display: none; }
  .timeline__item { scroll-snap-align: start; padding: 0 !important; }
  .timeline__when { min-height: 0; margin-bottom: .5rem; padding: 0; }
  .timeline__img { aspect-ratio: 4 / 3; }
  .swipe-hint { display: flex; align-items: center; gap: .7rem; margin: .9rem 0 0; font-size: .8rem; color: var(--muted); }
  .swipe-hint__bar { position: relative; flex: 1; height: 2px; background: var(--line); border-radius: 2px; overflow: hidden; }
  .swipe-hint__bar i { position: absolute; left: 0; top: 0; bottom: 0; width: var(--w, 20%); transform: translateX(var(--x, 0)); background: var(--ink); border-radius: 2px; transition: transform .15s linear; }
}
@media (min-width: 721px) { .swipe-hint { display: none; } }

/* ---------- Startseite Handy: Buch-Panel ohne leere Fläche ---------- */
@media (max-width: 720px) {
  .areas__panel { min-height: 0; }
  .areas__panel--wohnen { min-height: 440px; }
  .areas__panel--buch { grid-template-columns: minmax(0, 1fr) 104px; align-items: center; gap: 1.2rem; padding: 2.2rem 1.3rem; background: linear-gradient(180deg, rgba(23,19,15,.55) 0%, rgba(23,19,15,.92) 70%), url("/assets/img/buch/zollstock-900.webp") center top / cover no-repeat, var(--c900); }
  .areas__panel--buch h2 { font-size: 1.7rem; }
  .areas__panel--buch p { font-size: .95rem; margin-bottom: 1rem; }
  .areas__panel--buch .areas__cover { width: 104px; }
  .form--compact .row--pair { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .form--compact .form__foot { grid-template-columns: minmax(0, 1fr); }
  .form--compact .form__foot .btn { width: 100%; }
  .field--pills .label { min-width: 0; width: 100%; }
}
.filter__foot .btn { display: block; text-align: center; white-space: normal; }
@media (max-width: 720px) {
  .form--compact .row--3 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .form--compact .row--3 > :first-child:nth-last-child(3) { grid-column: 1 / -1; }
}

/* ===== Über uns ===== */
.au-hero { position: relative; color: #fff; background: var(--g900); overflow: hidden; min-height: clamp(520px, 72vh, 720px); display: flex; align-items: flex-end; }
.au-hero__img, .au-hero__img picture, .au-hero__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.au-hero__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,24,35,.45) 0%, rgba(14,24,35,.25) 35%, rgba(14,24,35,.92) 100%), linear-gradient(90deg, rgba(14,24,35,.7), transparent 70%); }
.au-hero__inner { position: relative; padding-bottom: clamp(3rem, 7vw, 5.5rem); width: 100%; }
.au-hero .crumbs { position: absolute; top: 0; color: rgba(255,255,255,.7); }
.au-hero .eyebrow { color: var(--champagne); margin-top: 5rem; }
.au-hero h1 { color: #fff; font-size: clamp(2.6rem, 5.4vw, 4.6rem); line-height: 1.02; letter-spacing: -.02em; margin: 0 0 .5em; animation: rise 1s var(--ease) .1s both; }
.au-hero h1 em { font-style: normal; color: var(--champagne); }
.au-hero p { max-width: 620px; font-size: 1.15rem; color: var(--on-dark); animation: rise 1s var(--ease) .25s both; }
.au-hero__cta { display: flex; gap: .7rem; flex-wrap: wrap; margin-top: 1.8rem; animation: rise 1s var(--ease) .4s both; }
.au-stats { background: var(--g800); color: var(--on-dark); border-top: 1px solid rgba(255,255,255,.08); }
.au-stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.au-stats__grid > div { padding: 1.8rem 1rem; text-align: center; border-left: 1px solid rgba(255,255,255,.08); }
.au-stats__grid > div:first-child { border-left: 0; }
.au-stats strong { display: block; font-family: var(--head); font-weight: 500; font-size: clamp(2rem, 3.4vw, 2.8rem); color: var(--champagne); line-height: 1; }
.au-stats span { display: block; margin-top: .45rem; font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; color: var(--on-dark-2); }
.au-story { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 5.5rem); align-items: center; }
.au-story__media { position: relative; padding: 0 12% 18% 0; }
.au-story__media figure { margin: 0; border-radius: var(--r); overflow: hidden; box-shadow: var(--shadow-lg); }
.au-story__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.au-story__a { aspect-ratio: 4/5; }
.au-story__b { position: absolute; right: 0; bottom: 0; width: 52%; aspect-ratio: 1; border: 6px solid #fff; }
.au-badge { position: absolute; left: -1rem; bottom: 8%; background: var(--bronze); color: #fff; border-radius: var(--r); padding: 1rem 1.3rem; box-shadow: var(--shadow-lg); }
.au-badge strong { display: block; font-family: var(--head); font-size: 1.4rem; line-height: 1.1; }
.au-badge span { font-size: .85rem; opacity: .9; }
.au-story__text p { color: var(--ink-2); font-size: 1.06rem; }
.au-quote { margin: 2rem 0 0; padding: 1.4rem 1.6rem; border-left: 3px solid var(--bronze-2); background: var(--champagne-2); border-radius: 0 var(--r) var(--r) 0; font-family: var(--head); font-size: 1.3rem; line-height: 1.4; color: var(--ink); }
.au-quote cite { display: block; margin-top: .7rem; font-family: var(--sans); font-style: normal; font-size: .85rem; letter-spacing: .1em; text-transform: uppercase; color: var(--bronze); }
.au-values { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; }
.au-value { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 1.8rem 1.5rem; box-shadow: var(--shadow); transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.au-value:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.au-value > svg { width: 44px; height: 44px; padding: 10px; border-radius: 50%; background: var(--champagne-2); color: var(--bronze); box-sizing: border-box; }
.au-value h3 { margin: 1rem 0 .4rem; font-size: 1.15rem; }
.au-value p { margin: 0; color: var(--ink-2); font-size: .97rem; }
.au-areas { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; }
.au-area { position: relative; display: block; border-radius: var(--r); overflow: hidden; aspect-ratio: 16/11; color: #fff; text-decoration: none; box-shadow: var(--shadow-lg); }
.au-area picture, .au-area img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.au-area:hover img { transform: scale(1.05); }
.au-area::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 30%, rgba(14,24,35,.9)); }
.au-area--buch::after { background: linear-gradient(180deg, transparent 30%, rgba(23,19,15,.92)); }
.au-area > div { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; padding: 1.8rem; }
.au-area .eyebrow { color: var(--champagne); margin-bottom: .5rem; }
.au-area h3 { color: #fff; font-size: clamp(1.3rem, 2.2vw, 1.7rem); margin: 0 0 .7rem; }
.au-area .link-arrow { color: #fff; }
.au-facts { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
@media (max-width: 980px) {
  .au-story, .au-areas, .au-facts { grid-template-columns: 1fr; }
  .au-values { grid-template-columns: 1fr 1fr; }
  .au-stats__grid { grid-template-columns: 1fr 1fr; }
  .au-stats__grid > div:nth-child(3) { border-left: 0; }
  .au-stats__grid > div:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.08); }
}
@media (max-width: 560px) { .au-values { grid-template-columns: 1fr; } .au-badge { left: .5rem; } }
