/* =========================================================
   rae-brack.de – Farbwelt Navy & Gold + seitenspezifische Teile
   ========================================================= */
:root{
  --dark:#0e2747; --navy-2:#173b68; --blue:#1d5fae; --blue-d:#164c8c; --blue-l:#4a8fdc; --link:#1d5fae;
  --sky:#eaf2fc; --sky-2:#d5e5f8; --paper:#fbfaf7; --alt-bg:#ffffff; --ink:#18212f; --muted:#43506a; --heading:#0e2747;
  --line:#d6dfeb; --input-line:#b9c6d8; --focus-ring:rgba(29,95,174,.18);
  --accent:#e0bb67; --accent-ink:#1d1606; --accent-strong:#b98d27;
  --on-dark:#dfe8f5; --on-dark-2:#c3d3ea;
  --header-bg:rgba(251,250,247,.92); --callbar-bg:rgba(14,39,71,.97);
  --hero-bg:linear-gradient(160deg,#0e2747 0%,#12345f 60%,#1a4a84 100%); --hero-ink:#fff; --hero-h:#fff; --hero-lead:#d8e4f4; --hero-kicker:#e0bb67;
  --hero-ico-bg:rgba(255,255,255,.12); --hero-ico:#e0bb67; --blob-1:#2f7ad0; --blob-2:#7fb3ec;
  --map-bg:#e6edf6;
}
html[data-contrast="hoch"]{--hero-bg:#0e2747;--accent-strong:#000}

/* Startseite – Hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(1200px 600px at 85% -10%, #2a5f9e 0%, transparent 60%), linear-gradient(160deg,var(--dark) 0%, #12345f 55%, #1a4a84 100%);color:#fff}
.hero-bg span{position:absolute;border-radius:50%;filter:blur(60px);opacity:.45;animation:drift 18s ease-in-out infinite alternate}
.hero-bg .b1{width:420px;height:420px;background:#2f7ad0;left:-120px;top:40%}
.hero-bg .b2{width:300px;height:300px;background:#7fb3ec;right:8%;bottom:-120px;animation-delay:-6s;opacity:.25}
.hero-bg .b3{width:220px;height:220px;background:var(--accent);left:42%;top:-90px;opacity:.18;animation-delay:-11s}
.hero-in{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;padding:clamp(3rem,7vw,6rem) 0 clamp(3.5rem,7vw,6rem)}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;color:#cfe0f5;margin:0 0 1.2rem}
.eyebrow::before{content:"";width:34px;height:2px;background:var(--accent)}
.hero h1{color:#fff;font-size:clamp(2.1rem,4.6vw,3.6rem);margin-bottom:.6em}
.hero h1 .hl{background:linear-gradient(transparent 90%, var(--accent) 90%);background-size:0% 100%;background-repeat:no-repeat;animation:mark 1.4s .9s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes mark{to{background-size:100% 100%}}
.hero .lead{font-size:1.2rem;color:#e3ecf8;max-width:36em}
.cta{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.8rem 0 1.6rem}
.trust{list-style:none;padding:0;margin:2rem 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.4rem}
.trust li{display:flex;gap:.6rem;align-items:flex-start;color:#e8f0fa}
.trust .ico-svg{width:24px;height:24px;color:var(--accent);margin-top:.15rem}
.tree-card{position:relative;margin:0;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.18);border-radius:28px;padding:1.6rem;box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.tree-card figcaption{text-align:center;color:#cfe0f5;font-size:.95rem;margin-top:.6rem}
.tree .ln{fill:none;stroke:#9cc3f0;stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1s ease forwards}
.tree .node{transform-box:fill-box;transform-origin:center;transform:scale(0);animation:pop .55s cubic-bezier(.3,1.6,.5,1) forwards;--nf:#1d4c86;--ns:#cfe3fb;--pf:#e9f2fd}
.tree .node.gold{--nf:#2a5e9c;--ns:#e0bb67;--pf:#fff}
.tree .heart{fill:var(--accent)}
@keyframes pop{to{transform:scale(1)}}
.doc{position:absolute;right:-14px;top:-18px;background:#fff;color:var(--dark);border-radius:16px;padding:.7rem .9rem;display:flex;gap:.6rem;align-items:center;box-shadow:var(--shadow);animation:float 5s ease-in-out infinite;font-weight:700;font-size:.9rem}
.doc .ico-svg{width:30px;height:30px;color:var(--blue)}
.doc2{right:auto;left:-18px;top:36px;animation-delay:-2.5s}
@keyframes float{50%{transform:translateY(-10px) rotate(-1.5deg)}}
.hero .wave{height:70px}
@media (max-width:900px){.hero-in{grid-template-columns:1fr}.tree-card{max-width:520px;margin-inline:auto;width:100%}.trust{grid-template-columns:1fr}}
@media (max-width:600px){.tree-card{padding:2.6rem 1rem 1rem}.doc{right:10px;top:10px;padding:.5rem .7rem;font-size:.8rem}.doc2{left:10px;right:auto;top:10px}.doc .ico-svg{width:22px;height:22px}}

/* Kanzlei-Vorstellung */
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:3.5rem;align-items:start}
.quote{position:relative;margin:0;background:var(--sky);border-radius:var(--r);padding:2.4rem 2rem 2rem;font-family:var(--serif);font-size:1.5rem;line-height:1.35;color:var(--heading)}
.quote::before{content:"„";position:absolute;top:-.55em;left:.3em;font-size:5rem;color:var(--blue-l);line-height:1}
.quote footer{font-family:var(--sans);font-size:1rem;color:var(--muted);margin-top:1rem}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.4rem 0}
.fact{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem 1.1rem}
.fact b{display:block;font-family:var(--serif);font-size:1.9rem;color:var(--blue);line-height:1.1}
.about-text p{font-size:1.08rem}
@media (max-width:900px){.about{grid-template-columns:1fr;gap:2rem}}

/* Umschalter Vorsorge / Erbfall */
.switch-wrap{background:linear-gradient(180deg,var(--sky) 0%, var(--paper) 100%)}
.seg{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;background:#fff;border:2px solid var(--sky-2);border-radius:999px;padding:6px;margin-bottom:2rem;max-width:100%}
.seg button{position:relative;z-index:1;border:0;background:transparent;font:700 1.05rem var(--sans);padding:.9rem 1.6rem;border-radius:999px;cursor:pointer;color:var(--heading);min-height:56px;transition:color .3s}
.seg button[aria-selected="true"]{color:#fff}
.seg .thumb{position:absolute;top:6px;bottom:6px;left:6px;width:calc(50% - 6px);border-radius:999px;background:var(--blue);transition:transform .45s cubic-bezier(.3,1.3,.5,1)}
.seg[data-i="1"] .thumb{transform:translateX(100%)}
@media (max-width:560px){.seg button{padding:.8rem .8rem;font-size:.92rem}}
.panel{display:grid;grid-template-columns:1.2fr .8fr;gap:2.5rem;align-items:center;animation:fadeUp .5s ease}
.panel[hidden]{display:none}
.panel .checks{margin:0}
.panel-art{background:var(--dark);color:#fff;border-radius:28px;padding:2rem;position:relative;overflow:hidden}
.panel-art h3{color:#fff}
.panel-art p{color:#d7e3f3}
.panel-art .big-ico{width:84px;height:84px;color:var(--accent);margin-bottom:1rem}
@media (max-width:900px){.panel{grid-template-columns:1fr}}

/* Hausbesuch-Band */
.band{background:linear-gradient(120deg,var(--blue-d),var(--blue) 60%,#2f78c9);color:#fff;border-radius:32px;padding:clamp(2rem,5vw,3.4rem);display:grid;grid-template-columns:auto 1fr auto;gap:2rem;align-items:center;position:relative;overflow:hidden}
.band::before{content:"";position:absolute;width:380px;height:380px;border-radius:50%;border:60px solid rgba(255,255,255,.06);right:-120px;top:-160px}
.band h2{color:#fff;margin-bottom:.3em}
.band p{color:#e4eefa;margin:0;font-size:1.1rem}
.band .btn{position:relative}
.house{width:120px;height:120px}
.house .smoke{animation:smoke 3s ease-in-out infinite;transform-box:fill-box;transform-origin:bottom}
@keyframes smoke{0%{opacity:0;transform:translateY(6px) scale(.8)}40%{opacity:.9}100%{opacity:0;transform:translateY(-14px) scale(1.2)}}
.house .win{animation:glow 4s ease-in-out infinite}
.house .w2{animation-delay:-2s}
@keyframes glow{50%{fill:#ffe9a8}}
@media (max-width:860px){.band{grid-template-columns:1fr;text-align:center}.house{margin-inline:auto}}

/* Standort */
.ort-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1.8rem;align-items:start}
@media (max-width:900px){.ort-grid{grid-template-columns:1fr}}
.m-bg{fill:#e6edf6}.m-road{stroke:#fff;fill:none}.m-green{fill:#d3e4c9}.m-halo{fill:rgba(29,95,174,.12)}
.pin-body{fill:var(--blue)}.pin-dot{fill:#fff}
.ratgeber-teaser{background:var(--dark);color:var(--on-dark);border-radius:26px;padding:2rem}
.ratgeber-teaser .kicker{color:var(--accent)}
.ratgeber-teaser h3{color:#fff;font-size:1.4rem}
.ratgeber-teaser strong{color:#fff}
.tools-list{list-style:none;margin:1.2rem 0 0;padding:0;display:grid;gap:.7rem}
.tools-list a{display:flex;gap:.9rem;align-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:.9rem 1rem;color:#fff;text-decoration:none;transition:background .2s, transform .2s}
.tools-list a:hover{background:rgba(255,255,255,.14);transform:translateX(4px);color:#fff}
.tools-list .ico-svg{width:40px;height:40px;padding:8px;border-radius:12px;background:var(--accent);color:var(--accent-ink)}
.tools-list small{display:block;color:var(--on-dark-2)}
.anfahrt{background:#fff;border:1px solid var(--line);border-radius:26px;padding:1.8rem}
.anfahrt h3{display:flex;align-items:center;gap:.6rem;font-size:1.15rem;margin-top:1.2rem}
.anfahrt h3:first-child{margin-top:0}
.anfahrt h3 .ico-svg{color:var(--blue);width:26px;height:26px}
.anfahrt address{margin-bottom:1rem}

/* Kanzlei-Werte, Leistungs-Phasen */
.value{display:flex;gap:1.2rem;background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.6rem;box-shadow:var(--shadow-s)}
.value .ico{flex:none;margin:0}
.value p{color:var(--muted);margin:0}
.phase{background:#fff;border:1px solid var(--line);border-radius:24px;padding:2rem;box-shadow:var(--shadow-s)}
.phase p{color:var(--muted)}
.card-h{font-size:1.3rem}
.card-h a{color:inherit;text-decoration:none}
.card-h a::after{content:"";position:absolute;inset:0;z-index:1}
.card-link{text-decoration:none;color:inherit}
.help-box{margin-top:2rem}
.form-h{font-size:1.5rem}
.callbox-note{margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.18)}
.callbox-note h3{display:flex;align-items:center;gap:.6rem;font-size:1.15rem}
.callbox-note h3 .ico-svg{color:var(--accent);width:26px;height:26px}
.callbox-note p{color:var(--on-dark-2);margin:0}
