*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --paper:#f5f0ec; --paper-lt:#faf7f4; --taupe:#e4d9d3; --sage:#f3e2e6;
      --teal:#8f1433; --teal-soft:#c97a8d; --green:#b4183f; --green-2:#cc2a52;
      --coral:#d9a25a; --ink:#3b3335; --ink-soft:#6c6164; --line:rgba(180,24,63,.14); --white:#fff;
      --ease:cubic-bezier(.22,1,.36,1);
    }
    html { scroll-behavior: smooth; }
    body { font-family:'Mulish',sans-serif; color:var(--ink); background:var(--paper);
      background-image: radial-gradient(circle at 20% 30%, rgba(180,24,63,.018), transparent 40%), radial-gradient(circle at 80% 70%, rgba(217,162,90,.02), transparent 40%);
      overflow-x:hidden; line-height:1.7; -webkit-font-smoothing:antialiased; }
    .wrap { max-width:1360px; margin:0 auto; padding:0 clamp(24px,4.5vw,72px); }
    h1,h2,h3,h4,.ff { font-family:'Montserrat',sans-serif; }
    a { color:var(--green); }
    .eyebrow { font-family:'Montserrat',sans-serif; font-size:12px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--teal); display:inline-block; }
    .h-sec { font-family:'Montserrat',sans-serif; font-weight:600; letter-spacing:.02em; color:var(--teal); font-size:clamp(24px,3vw,38px); line-height:1.15; }
    .h-rule { width:0; height:2px; background:var(--teal); margin:14px 0 22px; opacity:.6; transition:width .7s var(--ease) .15s; }
    .reveal.visible .h-rule, .h-rule.visible { width:54px; }
    .center .h-rule { margin-left:auto; margin-right:auto; }
    .lead { font-size:16px; line-height:1.85; color:var(--ink); }
    .muted { color:var(--ink-soft); }

    /* ── ANIMATIONS ── */
    @keyframes fadeUp { from { opacity:0; transform:translateY(34px); } to { opacity:1; transform:translateY(0); } }
    @keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
    @keyframes kenburns { from { transform:scale(1.12); } to { transform:scale(1); } }
    @keyframes scrollLine { 0% { top:-100%; } 100% { top:100%; } }
    @keyframes floaty { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-7px); } }
    @keyframes spinSlow { to { transform:rotate(360deg); } }

    /* IMG */
    .img { background-size:cover; background-position:center; background-repeat:no-repeat; }
    .img.round { border-radius:50%; }
    .img.rxl { border-radius:12px; }

    /* DOODLE */
    .doodle-img { display:block; width:100%; max-width:1080px; height:auto; margin:0 auto; }

    /* NAV */
    .nav { position:fixed; top:0; left:0; right:0; z-index:100; height:78px; display:flex; align-items:center; transition:background .4s var(--ease), box-shadow .4s var(--ease); }
    .nav .wrap { display:flex; align-items:center; justify-content:space-between; width:100%; }
    .nav.scrolled { background:rgba(245,240,236,.97); box-shadow:0 1px 0 var(--line); }
    .logo-img { height:46px; width:auto; display:block; transition:filter .3s; }
    .nav:not(.scrolled) .logo-img { filter:brightness(0) invert(1); }
    .nav-cta { display:flex; align-items:center; gap:20px; }
    .nav-phone { font-family:'Montserrat',sans-serif; font-size:14px; font-weight:600; text-decoration:none; color:var(--green); }
    .nav:not(.scrolled) .nav-phone { color:#fff; }
    .nav-phone:hover { color:var(--coral); }
    .nav-btn { font-family:'Montserrat',sans-serif; background:var(--green); color:#fff; text-decoration:none; font-size:13px; font-weight:600; letter-spacing:.04em; padding:11px 22px; border-radius:100px; transition:background .2s, transform .2s; }
    .nav:not(.scrolled) .nav-btn { background:rgba(255,255,255,.16); backdrop-filter:blur(4px); }
    .nav-btn:hover { background:var(--green-2); transform:translateY(-1px); }
    .nav:not(.scrolled) .nav-btn:hover { background:rgba(255,255,255,.28); }

    /* HERO */
    .hero { position:relative; min-height:100svh; display:flex; align-items:center; overflow:hidden; }
    .hero-bg { position:absolute; inset:0; background-size:cover; background-position:center 42%; transform:scale(1.12); animation:kenburns 9s var(--ease) forwards; will-change:transform; }
    .hero-grad { position:absolute; inset:0; background:linear-gradient(102deg, rgba(64,10,24,.94) 0%, rgba(180,24,63,.74) 36%, rgba(180,24,63,.28) 64%, rgba(180,24,63,.08) 82%); }
    .hero-grad::after { content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(64,10,24,.5), transparent 30%); }
    .hero-inner { position:relative; z-index:3; width:100%; padding-top:70px; }
    .hero-inner > .wrap > * { opacity:0; animation:fadeUp .9s var(--ease) forwards; }
    .hero-eyebrow { color:#f6d9e0; letter-spacing:.2em; animation-delay:.15s; }
    .hero h1 { font-size:clamp(40px,6.4vw,82px); font-weight:700; line-height:1.0; letter-spacing:.02em; text-transform:uppercase; color:#fff; margin:18px 0 0; text-shadow:0 2px 30px rgba(0,0,0,.25); animation-delay:.3s; }
    .hero h1 .thin { font-weight:400; }
    .hero h1 .accent { color:#e8b56a; }
    .hero-sub { font-family:'Mulish',sans-serif; font-size:17px; line-height:1.7; color:rgba(255,255,255,.92); max-width:520px; margin:22px 0 32px; font-weight:400; text-shadow:0 1px 14px rgba(0,0,0,.3); animation-delay:.45s; }
    .hero-actions { display:flex; gap:14px; flex-wrap:wrap; align-items:center; animation-delay:.6s; }
    .hero-scroll { position:absolute; bottom:30px; left:50%; transform:translateX(-50%); z-index:3; display:flex; flex-direction:column; align-items:center; gap:9px; opacity:0; animation:fadeIn 1s var(--ease) 1.3s forwards; }
    .hero-scroll span { font-family:'Montserrat',sans-serif; font-size:9px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.6); }
    .hero-scroll .sl { width:1px; height:46px; background:rgba(255,255,255,.3); position:relative; overflow:hidden; }
    .hero-scroll .sl::after { content:''; position:absolute; top:-100%; left:0; width:100%; height:100%; background:#e8b56a; animation:scrollLine 1.9s var(--ease) infinite; }
    .btn { font-family:'Montserrat',sans-serif; display:inline-block; text-decoration:none; font-size:14px; font-weight:600; letter-spacing:.03em; padding:15px 30px; border-radius:100px; transition:background .2s, transform .2s, color .2s; }
    .btn-primary { background:#fff; color:var(--green); }
    .btn-primary:hover { background:var(--coral); color:#fff; transform:translateY(-2px); }
    .btn-outline { border:1.5px solid rgba(255,255,255,.75); color:#fff; }
    .btn-outline:hover { background:rgba(255,255,255,.14); border-color:#fff; }

    /* STATS (animiert) */
    .stats { background:var(--green); position:relative; }
    .stats .wrap { display:grid; grid-template-columns:repeat(4,1fr); gap:0; padding-top:40px; padding-bottom:40px; }
    .stat { padding:6px 30px; border-right:1px solid rgba(255,255,255,.14); display:flex; align-items:center; gap:16px; transition:background .3s; }
    .stat:first-child { padding-left:0; } .stat:last-child { border-right:none; }
    .stat:hover { background:rgba(255,255,255,.04); }
    .stat-num { font-family:'Montserrat',sans-serif; font-size:clamp(34px,3.4vw,46px); font-weight:600; color:#e8b56a; line-height:1; flex-shrink:0; letter-spacing:-.01em; }
    .stat-txt { font-family:'Montserrat',sans-serif; font-size:12px; font-weight:500; letter-spacing:.04em; color:rgba(255,255,255,.72); line-height:1.4; }

    /* AUF EINEN BLICK – GEO Faktenkarte */
    .facts { background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:22px 26px; margin-top:30px; }
    .facts-h { font-family:'Montserrat',sans-serif; font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--teal); margin-bottom:14px; display:block; }
    .facts dl { display:grid; grid-template-columns:1fr 1fr; gap:12px 26px; margin:0; }
    .facts .fct dt { font-family:'Montserrat',sans-serif; font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:2px; }
    .facts .fct dd { font-size:14px; font-weight:600; color:var(--green); }

    .sec { padding:92px 0; }
    .center { text-align:center; } .center .h-rule { margin-left:auto; margin-right:auto; }

    /* INTRO */
    .intro .wrap { display:grid; grid-template-columns:1.02fr .98fr; gap:70px; align-items:center; }
    .intro .lead { margin-bottom:14px; }
    .intro-visual { position:relative; }
    .circle-mask { position:relative; border-radius:50%; overflow:hidden; box-shadow:0 28px 64px rgba(180,24,63,.2); }
    .circle-mask .img { aspect-ratio:1/1; transition:transform 1s var(--ease); will-change:transform; }
    .circle-mask:hover .img { transform:scale(1.07); }
    .ring { position:absolute; inset:-22px; border-radius:50%; border:1.5px dashed rgba(143,20,51,.5); animation:spinSlow 40s linear infinite; pointer-events:none; }
    .ring-dot { position:absolute; top:-22px; left:50%; width:14px; height:14px; border-radius:50%; background:var(--coral); transform:translateX(-50%); }

    /* DEFINITION */
    .define { background:var(--paper-lt); }
    .define .wrap { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
    .define-answer { font-size:19px; line-height:1.6; color:var(--ink); font-weight:600; margin:0 0 18px; }
    .define-answer strong { color:var(--green); }
    .define p { font-size:15px; line-height:1.85; color:var(--ink-soft); margin-bottom:13px; }
    .define-img { position:relative; }

    /* PARALLAX-VOLLBILD-BAND */
    .fullband { position:relative; min-height:62vh; display:flex; align-items:center; justify-content:center; text-align:center; background-size:cover; background-position:center; background-attachment:fixed; }
    .fullband::after { content:''; position:absolute; inset:0; background:linear-gradient(rgba(64,10,24,.78), rgba(180,24,63,.7)); }
    .fullband-in { position:relative; z-index:2; max-width:820px; padding:0 24px; }
    .fullband .eyebrow { color:#f6d9e0; }
    .fullband h2 { font-family:'Montserrat',sans-serif; font-size:clamp(28px,4vw,52px); font-weight:600; letter-spacing:.01em; color:#fff; line-height:1.12; margin:16px 0 0; }
    .fullband h2 em { font-style:normal; color:#e8b56a; }

    /* LEISTUNGEN */
    .serv-head { max-width:660px; }
    .serv-row { display:grid; grid-template-columns:380px 1fr; gap:60px; align-items:center; margin-top:60px; }
    .serv-row.rev { grid-template-columns:1fr 380px; }
    .serv-row.rev .serv-media { order:2; }
    .serv-media { position:relative; border-radius:50%; overflow:hidden; box-shadow:0 22px 50px rgba(180,24,63,.16); transition:transform .5s var(--ease), box-shadow .5s var(--ease); }
    .serv-media .img { aspect-ratio:1/1; transition:transform 1s var(--ease); will-change:transform; }
    .serv-row:hover .serv-media { transform:translateY(-6px); box-shadow:0 32px 66px rgba(180,24,63,.24); }
    .serv-row:hover .serv-media .img { transform:scale(1.08); }
    .serv-info .tag { font-family:'Montserrat',sans-serif; font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--teal); transition:letter-spacing .35s var(--ease); }
    .serv-row:hover .serv-info .tag { letter-spacing:.28em; }
    .serv-info h3 { font-family:'Montserrat',sans-serif; font-size:24px; font-weight:600; letter-spacing:.03em; color:var(--green); margin:6px 0; }
    .serv-info p { font-size:14.5px; line-height:1.75; color:var(--ink-soft); margin:0 0 16px; }
    .serv-list { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:8px 22px; }
    .serv-list li { position:relative; padding-left:22px; font-size:14px; color:var(--ink); }
    .serv-list li::before { content:''; position:absolute; left:0; top:9px; width:9px; height:9px; border:2px solid var(--teal); border-radius:50%; transition:background .3s; }
    .serv-row:hover .serv-list li::before { background:var(--teal); }

    /* REFERENZEN */
    .ref { background:var(--paper-lt); }
    .ref-head { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:44px; }
    .ref-head p { font-size:14px; color:var(--ink-soft); max-width:340px; text-align:right; }
    .ref-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:18px; }
    .ref-card { position:relative; border-radius:14px; overflow:hidden; box-shadow:0 16px 42px rgba(180,24,63,.14); }
    .ref-card .img { position:absolute; inset:0; transition:transform 1.1s var(--ease); will-change:transform; }
    .ref-card:hover .img { transform:scale(1.08); }
    .ref-card::after { content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(64,10,24,.82) 0%, rgba(64,10,24,.1) 45%, transparent 70%); opacity:.85; transition:opacity .4s; }
    .ref-card:hover::after { opacity:1; }
    .r1 { grid-column:span 7; } .r2 { grid-column:span 5; }
    .r1, .r2 { height:clamp(360px, 33vw, 470px); }
    .r3, .r4, .r5 { grid-column:span 4; height:clamp(240px, 22vw, 310px); }
    .ref-cap { position:absolute; left:0; right:0; bottom:0; z-index:2; padding:22px 24px; font-family:'Montserrat',sans-serif; font-size:14px; font-weight:600; color:#fff; letter-spacing:.01em; transform:translateY(4px); transition:transform .4s var(--ease); }
    .ref-card:hover .ref-cap { transform:translateY(0); }
    .ref-cap::before { content:''; display:block; width:26px; height:2px; background:#e8b56a; margin-bottom:10px; }

    /* STAGGER-Utility */
    .stagger > * { opacity:0; transform:translateY(22px); transition:opacity .6s var(--ease), transform .6s var(--ease); }
    .stagger.visible > * { opacity:1; transform:translateY(0); }
    .stagger.visible > *:nth-child(1){transition-delay:.04s} .stagger.visible > *:nth-child(2){transition-delay:.1s}
    .stagger.visible > *:nth-child(3){transition-delay:.16s} .stagger.visible > *:nth-child(4){transition-delay:.22s}
    .stagger.visible > *:nth-child(5){transition-delay:.28s} .stagger.visible > *:nth-child(6){transition-delay:.34s}
    .stagger.visible > *:nth-child(7){transition-delay:.4s} .stagger.visible > *:nth-child(8){transition-delay:.46s}

    /* VERGLEICH (VS) */
    .compare .wrap { max-width:1040px; }
    .vs { margin-top:46px; display:flex; flex-direction:column; gap:12px; }
    .vs-head { display:grid; grid-template-columns:1fr 1.35fr 1.35fr; gap:14px; align-items:center; }
    .vs-pill { font-family:'Montserrat',sans-serif; font-weight:600; letter-spacing:.07em; text-transform:uppercase; font-size:13px; padding:13px 18px; border-radius:100px; text-align:center; }
    .vs-pill.mauer { background:var(--green); color:#fff; box-shadow:0 10px 26px rgba(180,24,63,.22); }
    .vs-pill.beton { background:var(--taupe); color:var(--ink-soft); }
    .vs-row { display:grid; grid-template-columns:1fr 1.35fr 1.35fr; gap:14px; align-items:stretch; }
    .vs-crit { display:flex; align-items:center; font-family:'Montserrat',sans-serif; font-weight:500; font-size:14px; color:var(--green); letter-spacing:.02em; padding:0 6px; }
    .vs-cell { display:flex; gap:11px; align-items:flex-start; padding:16px 18px; border-radius:12px; font-size:14px; line-height:1.45; transition:transform .35s var(--ease), box-shadow .35s var(--ease); }
    .vs-cell.mauer { background:rgba(180,24,63,.07); color:var(--ink); border:1px solid rgba(180,24,63,.13); }
    .vs-cell.beton { background:var(--paper-lt); color:var(--ink-soft); border:1px solid var(--line); }
    .vs-row:hover .vs-cell.mauer { transform:translateY(-4px); box-shadow:0 16px 32px rgba(180,24,63,.16); }
    .vs-row:hover .vs-cell.beton { transform:translateY(-2px); }
    .vs-ic { flex-shrink:0; width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:12px; margin-top:1px; }
    .vs-ic.yes { background:var(--teal); color:#fff; }
    .vs-ic.no { background:rgba(217,162,90,.2); color:var(--coral); }

    /* WARUM / TEAM */
    .why .wrap { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
    .person { display:flex; gap:22px; align-items:center; margin-bottom:24px; }
    .person.rev { flex-direction:row-reverse; text-align:right; }
    .pphoto { width:108px; height:108px; flex-shrink:0; border-radius:50%; background-size:cover; background-position:center; box-shadow:0 8px 24px rgba(180,24,63,.18); transition:transform .4s var(--ease); }
    .person:hover .pphoto { transform:scale(1.05); }
    .person h4 { font-family:'Montserrat',sans-serif; font-size:18px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--teal); margin-bottom:6px; }
    .person p { font-size:14px; line-height:1.7; color:var(--ink-soft); font-style:italic; }
    .why-point { display:flex; gap:18px; padding:20px 0; border-bottom:1px solid var(--line); position:relative; transition:padding-left .35s var(--ease); }
    .why-point:first-child { border-top:1px solid var(--line); }
    .why-point::before { content:''; position:absolute; left:0; bottom:-1px; width:0; height:2px; background:var(--teal); transition:width .45s var(--ease); }
    .why-point:hover { padding-left:10px; }
    .why-point:hover::before { width:100%; }
    .why-mark { flex-shrink:0; width:40px; height:40px; border-radius:50%; background:var(--paper); display:flex; align-items:center; justify-content:center; transition:background .3s, transform .3s; }
    .why-point:hover .why-mark { background:var(--sage); transform:scale(1.08); }
    .why-mark svg { width:19px; height:19px; stroke:var(--green); fill:none; stroke-width:1.7; }
    .why-point h4 { font-family:'Montserrat',sans-serif; font-size:16px; font-weight:600; letter-spacing:.03em; color:var(--green); margin-bottom:4px; }
    .why-point p { font-size:14px; line-height:1.65; color:var(--ink-soft); }

    /* EINSATZGEBIET */
    .area { background:var(--paper-lt); }
    .area-head { max-width:660px; margin-bottom:36px; }
    .area-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
    .ac { position:relative; overflow:hidden; background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:18px 18px 18px 22px; transition:transform .35s var(--ease), box-shadow .35s var(--ease); }
    .ac::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--teal); transition:width .35s var(--ease); }
    .ac:hover { transform:translateY(-5px); box-shadow:0 18px 36px rgba(180,24,63,.15); }
    .ac:hover::before { width:7px; }
    @keyframes pulseFocus { 0%,100% { box-shadow:0 0 0 0 rgba(180,24,63,.0); } 50% { box-shadow:0 0 0 7px rgba(180,24,63,.1); } }
    .ac.focus { background:var(--green); border-color:var(--green); animation:pulseFocus 3.2s ease-in-out infinite; }
    .ac.focus::before { background:#e8b56a; }
    .ac.focus .ac-n { color:#fff; } .ac.focus .ac-m { color:#eaa9b9; }
    .ac-n { font-family:'Montserrat',sans-serif; font-size:16px; font-weight:600; letter-spacing:.03em; color:var(--green); }
    .ac-m { font-size:11.5px; font-weight:600; color:var(--ink-soft); margin-top:2px; }
    .area-note { margin-top:22px; font-size:13px; color:var(--ink-soft); display:flex; align-items:center; gap:8px; }
    .area-note::before { content:''; width:20px; height:2px; background:var(--coral); flex-shrink:0; }

    /* FAQ */
    .faq .wrap { display:grid; grid-template-columns:.85fr 1.15fr; gap:60px; align-items:start; }
    .faq-intro p { font-size:14.5px; color:var(--ink-soft); margin:0 0 24px; }
    .faq-cta { font-family:'Montserrat',sans-serif; display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:600; color:var(--green); text-decoration:none; border-bottom:2px solid var(--line); padding-bottom:3px; }
    .faq-cta:hover { border-color:var(--coral); color:var(--coral); }
    .faq-item { border-bottom:1px solid var(--line); }
    .faq-item:first-child { border-top:1px solid var(--line); }
    .faq-q { width:100%; background:none; border:none; padding:20px 0; display:flex; align-items:center; justify-content:space-between; gap:18px; cursor:pointer; text-align:left; }
    .faq-qt { font-family:'Montserrat',sans-serif; font-size:16px; font-weight:500; letter-spacing:.02em; color:var(--green); line-height:1.35; }
    .faq-ic { width:28px; height:28px; border-radius:50%; background:var(--paper); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background .25s; }
    .faq-ic svg { width:12px; height:12px; stroke:var(--green); transition:transform .35s; }
    .faq-item.open .faq-ic { background:var(--teal); } .faq-item.open .faq-ic svg { stroke:#fff; transform:rotate(45deg); }
    .faq-a { max-height:0; overflow:hidden; transition:max-height .4s ease; }
    .faq-a-in { padding:0 0 20px; font-size:14.5px; line-height:1.8; color:var(--ink-soft); }
    .faq-a-in strong { color:var(--ink); }

    /* KONTAKT */
    .contact { background:var(--taupe); }
    .contact .wrap { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
    .contact .logo-img { height:58px; margin-bottom:22px; }
    .cdetails { display:flex; flex-direction:column; gap:14px; margin-bottom:26px; }
    .crow { display:flex; gap:13px; align-items:center; }
    .cicon { width:22px; flex-shrink:0; display:flex; }
    .cicon svg { width:18px; height:18px; stroke:var(--green); fill:none; stroke-width:1.8; }
    .cval { font-size:15px; color:var(--ink); text-decoration:none; font-weight:500; }
    .cval:hover { color:var(--green); }
    .cphone { font-family:'Montserrat',sans-serif; position:relative; display:inline-block; font-size:clamp(24px,3vw,34px); font-weight:600; color:var(--green); text-decoration:none; }
    .cphone::after { content:''; position:absolute; left:0; bottom:-3px; width:0; height:3px; background:var(--coral); transition:width .4s var(--ease); }
    .cphone:hover { color:var(--coral); } .cphone:hover::after { width:100%; }
    .cform { background:var(--paper-lt); border-radius:12px; padding:26px; }
    .cform h3 { font-family:'Montserrat',sans-serif; font-size:16px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--teal); margin-bottom:16px; }
    .cform .grid2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
    .cform input, .cform textarea { width:100%; font-family:'Mulish',sans-serif; font-size:14px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:7px; padding:11px 13px; margin-bottom:12px; }
    .cform textarea { min-height:110px; resize:vertical; }
    .cform input:focus, .cform textarea:focus { outline:none; border-color:var(--teal); }
    .cform button { font-family:'Montserrat',sans-serif; background:var(--green); color:#fff; border:none; font-size:14px; font-weight:600; letter-spacing:.04em; padding:13px 30px; border-radius:100px; cursor:pointer; transition:background .2s; }
    .cform button:hover { background:var(--green-2); }
    /* KARTE Vollbreite */
    .mapband { position:relative; line-height:0; }
    .mapband iframe { width:100%; height:480px; border:0; display:block; filter:grayscale(.25) contrast(1.05); }
    .map-card { position:absolute; top:50%; left:clamp(24px,6vw,90px); transform:translateY(-50%); z-index:2; display:flex; flex-direction:column; gap:6px; background:var(--paper); padding:26px 30px; border-radius:14px; box-shadow:0 22px 54px rgba(180,24,63,.26); text-decoration:none; line-height:1.4; transition:transform .35s var(--ease), box-shadow .35s var(--ease); }
    .map-card:hover { transform:translateY(-50%) translateY(-4px); box-shadow:0 28px 64px rgba(180,24,63,.32); }
    .map-eyebrow { font-family:'Montserrat',sans-serif; font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--teal); }
    .map-addr { font-family:'Montserrat',sans-serif; font-size:20px; font-weight:600; color:var(--green); }
    .map-btn { font-family:'Montserrat',sans-serif; font-size:13px; font-weight:600; color:var(--coral); margin-top:6px; }

    /* BOTTOM BAR */
    .botbar { background:var(--green); }
    .botbar .wrap { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding-top:16px; padding-bottom:16px; }
    .botbar a, .botbar span { font-family:'Montserrat',sans-serif; font-size:12.5px; color:rgba(255,255,255,.82); text-decoration:none; letter-spacing:.02em; }
    .botbar .bb-mid { color:#fff; font-weight:500; }
    .botbar a:hover { color:var(--coral); }
    .botbar .bb-nav { display:flex; gap:18px; }
    .botbar .bb-credit a { color:#fff; font-weight:600; }

    /* REVEAL */
    .reveal { opacity:0; transform:translateY(26px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
    .reveal.visible { opacity:1; transform:translateY(0); }
    .rd1 { transition-delay:.1s; } .rd2 { transition-delay:.2s; } .rd3 { transition-delay:.3s; }

    @media (max-width:1024px) {
      .wrap { padding:0 22px; }
      .stats .wrap { grid-template-columns:repeat(2,1fr); gap:22px 0; padding-top:32px; padding-bottom:32px; }
      .stat { border-right:none; padding:6px 20px; } .stat:nth-child(odd) { padding-left:0; }
      .facts dl { grid-template-columns:1fr 1fr; }
      .intro .wrap, .define .wrap, .why .wrap, .contact .wrap, .faq .wrap { grid-template-columns:1fr; gap:40px; }
      .intro-visual, .define-img { order:-1; max-width:480px; }
      .ring { inset:-16px; }
      .serv-row, .serv-row.rev { grid-template-columns:1fr; gap:30px; }
      .serv-row.rev .serv-media { order:-1; }
      .serv-media { max-width:380px; }
      .ref-head { flex-direction:column; align-items:flex-start; gap:10px; } .ref-head p { text-align:left; max-width:100%; }
      .ref-grid { grid-template-columns:1fr 1fr; }
      .r1,.r2,.r3,.r4,.r5 { grid-column:span 1; height:clamp(220px,32vw,300px); }
      .area-grid { grid-template-columns:repeat(2,1fr); }
      .fullband { background-attachment:scroll; min-height:50vh; }
      .sec { padding:74px 0; }
    }
    @media (max-width:640px) {
      .nav-phone { display:none; }
      .stats .wrap { grid-template-columns:1fr 1fr; }
      .facts dl { grid-template-columns:1fr; }
      .serv-list { grid-template-columns:1fr; }
      .ref-grid { grid-template-columns:1fr; }
      .cform .grid2 { grid-template-columns:1fr; }
      .botbar .wrap { flex-direction:column; align-items:flex-start; gap:8px; }
      .person.rev { flex-direction:row; text-align:left; }
      .mapband iframe { height:380px; }
      .map-card { position:static; transform:none; margin:-40px auto 0; max-width:88%; }
      .map-card:hover { transform:translateY(-4px); }
    }
    @media (prefers-reduced-motion:reduce) {
      *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
      .hero-bg { transform:none; animation:none; }
      .ring { animation:none; }
      .fullband { background-attachment:scroll; }
      .reveal { opacity:1; transform:none; }
      .hero-inner > .wrap > * { opacity:1; animation:none; }
    }

    /* ══ COOKIE-BANNER & CONSENT ══ */
    .cc-back { position:fixed; inset:0; background:rgba(180,24,63,.30); backdrop-filter:blur(3px);
      z-index:9998; opacity:0; pointer-events:none; transition:opacity .45s var(--ease); }
    .cc-back.show { opacity:1; pointer-events:auto; }
    .cc { position:fixed; left:50%; bottom:22px; transform:translate(-50%,150%);
      width:min(720px, calc(100vw - 28px)); background:var(--paper-lt); border:1px solid var(--line);
      border-radius:22px; box-shadow:0 26px 64px rgba(180,24,63,.24); padding:clamp(22px,3.2vw,34px);
      z-index:9999; transition:transform .65s var(--ease); max-height:calc(100vh - 44px); overflow-y:auto; }
    .cc.show { transform:translate(-50%,0); }
    .cc-eyebrow { font-family:'Montserrat',sans-serif; font-size:11px; font-weight:600; letter-spacing:.22em;
      text-transform:uppercase; color:var(--teal); display:block; margin-bottom:8px; }
    .cc h2 { font-family:'Montserrat',sans-serif; font-weight:600; color:var(--green);
      font-size:clamp(19px,2.2vw,23px); line-height:1.2; margin-bottom:10px; }
    .cc p { font-size:14.5px; line-height:1.7; color:var(--ink); }
    .cc p a { color:var(--green); font-weight:600; }
    .cc-opts { margin:18px 0 4px; border-top:1px solid var(--line); display:none; }
    .cc-opts.open { display:block; }
    .cc-opt { display:flex; gap:14px; align-items:flex-start; padding:15px 0; border-bottom:1px solid var(--line); }
    .cc-opt-txt h3 { font-family:'Montserrat',sans-serif; font-size:15px; font-weight:600; color:var(--green); margin-bottom:3px; }
    .cc-opt-txt p { font-size:13.5px; line-height:1.6; color:var(--ink-soft); }
    .cc-sw { position:relative; flex:0 0 auto; width:44px; height:25px; margin-top:2px; }
    .cc-sw input { position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
    .cc-sw span { position:absolute; inset:0; background:var(--taupe); border-radius:999px;
      transition:background .3s var(--ease); pointer-events:none; }
    .cc-sw span::after { content:''; position:absolute; top:3px; left:3px; width:19px; height:19px;
      background:var(--white); border-radius:50%; box-shadow:0 1px 4px rgba(0,0,0,.2);
      transition:transform .3s var(--ease); }
    .cc-sw input:checked + span { background:var(--teal); }
    .cc-sw input:checked + span::after { transform:translateX(19px); }
    .cc-sw input:disabled + span { background:var(--teal-soft); opacity:.65; cursor:not-allowed; }
    .cc-sw input:focus-visible + span { outline:2px solid var(--green); outline-offset:3px; }
    .cc-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; align-items:center; }
    .cc-btn { font-family:'Montserrat',sans-serif; font-size:14px; font-weight:600; letter-spacing:.02em;
      border:none; border-radius:999px; padding:13px 26px; cursor:pointer;
      transition:transform .3s var(--ease), background .3s var(--ease), box-shadow .3s var(--ease); }
    .cc-btn:hover { transform:translateY(-2px); }
    .cc-accept { background:var(--green); color:var(--white); box-shadow:0 8px 22px rgba(180,24,63,.24); }
    .cc-accept:hover { background:var(--green-2); }
    .cc-deny { background:transparent; color:var(--green); border:1.5px solid var(--line); }
    .cc-deny:hover { border-color:var(--teal); background:rgba(180,24,63,.04); }
    .cc-save { background:var(--teal); color:var(--white); display:none; }
    .cc-save.show { display:inline-block; }
    .cc-more { background:none; border:none; font-family:'Mulish',sans-serif; font-size:13.5px;
      color:var(--ink-soft); text-decoration:underline; cursor:pointer; padding:6px 2px; margin-left:auto; }
    .cc-more:hover { color:var(--green); }
    .cc-links { margin-top:14px; font-size:12.5px; color:var(--ink-soft); }
    .cc-links a { color:var(--ink-soft); text-decoration:underline; margin-right:14px; }
    .cc-links a:hover { color:var(--green); }
    @media (max-width:560px) {
      .cc { border-radius:18px; bottom:10px; }
      .cc-actions .cc-btn { flex:1 1 100%; text-align:center; }
      .cc-more { margin:6px auto 0; }
    }
    @media (prefers-reduced-motion: reduce) { .cc, .cc-back { transition:none; } }

    /* Consent-Platzhalter für die Karte (Zwei-Klick-Lösung) */
    .map-consent { position:absolute; inset:0; z-index:1; display:flex; flex-direction:column;
      align-items:center; justify-content:center; text-align:center; gap:10px; padding:28px; line-height:1.6;
      background:var(--sage); background-image:linear-gradient(135deg, rgba(180,24,63,.06), rgba(217,162,90,.05)); }
    .map-consent.hidden { display:none; }
    .map-consent .mc-ic { width:38px; height:38px; stroke:var(--teal); fill:none; stroke-width:1.6; }
    .map-consent h3 { font-family:'Montserrat',sans-serif; font-weight:600; color:var(--green); font-size:19px; }
    .map-consent p { font-size:14px; color:var(--ink-soft); max-width:420px; line-height:1.65; }
    .map-consent button { font-family:'Montserrat',sans-serif; font-size:14px; font-weight:600;
      background:var(--green); color:var(--white); border:none; border-radius:999px;
      padding:12px 26px; cursor:pointer; margin-top:6px; transition:transform .3s var(--ease), background .3s var(--ease); }
    .map-consent button:hover { transform:translateY(-2px); background:var(--green-2); }

    /* ══ RECHTLICHES (Impressum / Datenschutz) ══ */
    .lg-back { position:fixed; inset:0; background:rgba(180,24,63,.42); backdrop-filter:blur(3px);
      z-index:9996; opacity:0; pointer-events:none; transition:opacity .4s var(--ease); }
    .lg-back.show { opacity:1; pointer-events:auto; }
    .lg { position:fixed; left:50%; top:50%; transform:translate(-50%,-48%) scale(.98);
      width:min(780px, calc(100vw - 28px)); max-height:min(84vh, 760px); overflow-y:auto;
      background:var(--paper-lt); border:1px solid var(--line); border-radius:22px;
      box-shadow:0 30px 70px rgba(180,24,63,.28); padding:clamp(26px,3.6vw,42px);
      z-index:9997; opacity:0; pointer-events:none;
      transition:opacity .4s var(--ease), transform .5s var(--ease); }
    .lg.show { opacity:1; pointer-events:auto; transform:translate(-50%,-50%) scale(1); }
    .lg-eyebrow { font-family:'Montserrat',sans-serif; font-size:11px; font-weight:600; letter-spacing:.22em;
      text-transform:uppercase; color:var(--teal); display:block; margin-bottom:8px; }
    .lg h2 { font-family:'Montserrat',sans-serif; font-weight:600; color:var(--green);
      font-size:clamp(22px,2.6vw,30px); line-height:1.15; margin-bottom:6px; }
    .lg h3 { font-family:'Montserrat',sans-serif; font-weight:600; color:var(--green);
      font-size:15.5px; letter-spacing:.01em; margin:22px 0 5px; }
    .lg p, .lg li { font-size:14.5px; line-height:1.72; color:var(--ink); }
    .lg p + p { margin-top:8px; }
    .lg ul { margin:6px 0 0 18px; }
    .lg li { margin-bottom:3px; }
    .lg a { color:var(--green); font-weight:600; }
    .lg .lg-addr { font-family:'Montserrat',sans-serif; font-size:15px; line-height:1.65; color:var(--green); font-weight:500; }
    .lg-close { position:sticky; top:0; float:right; margin:-8px -8px 0 0; width:38px; height:38px;
      border:none; border-radius:50%; background:var(--taupe); color:var(--green); cursor:pointer;
      font-size:20px; line-height:1; display:flex; align-items:center; justify-content:center;
      transition:background .3s var(--ease), transform .3s var(--ease); }
    .lg-close:hover { background:var(--sage); transform:rotate(90deg); }
    .lg-foot { margin-top:26px; padding-top:16px; border-top:1px solid var(--line);
      font-size:12.5px; color:var(--ink-soft); }
    @media (max-width:560px) { .lg { border-radius:18px; max-height:88vh; } }
    @media (prefers-reduced-motion: reduce) { .lg, .lg-back, .lg-close { transition:none; } }
  
    /* ── Kreativ Maler Ergänzungen ── */
    .ring, .ring-dot { display:none !important; }
    /* Hero geteilt */
    .hx { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:min(86vh,820px); background:#2a1016; overflow:hidden; }
    .hx-text { display:flex; align-items:center; padding:110px 0 90px; background:linear-gradient(160deg,#3a0f1c 0%,#5c1328 60%,#7a1631 100%); position:relative; }
    .hx-text::after { content:''; position:absolute; right:-1px; top:0; bottom:0; width:70px; background:linear-gradient(90deg,rgba(122,22,49,0),rgba(122,22,49,.0)); }
    .hx-in { width:100%; max-width:800px; margin:0 auto; padding:0 clamp(28px,4.5vw,72px); }
    .hx-eyebrow { color:#f3c7d1; }
    .hx h1 { font-family:'Montserrat',sans-serif; font-size:clamp(42px,5vw,92px); font-weight:700; line-height:1.04; color:#fff; margin:16px 0 0; letter-spacing:-.01em; animation:fadeUp 1s var(--ease) .2s both; }
    .hx h1 .accent { color:#e8b56a; }
    .hx-sub { font-size:clamp(16px,1.15vw,20px); line-height:1.75; color:rgba(255,255,255,.88); margin:24px 0 34px; max-width:680px; animation:fadeUp 1s var(--ease) .35s both; }
    .hx .hero-actions { animation:fadeUp 1s var(--ease) .5s both; }
    .hx .hero-actions { flex-wrap:wrap; } .hx .hero-actions .btn { white-space:nowrap; }
    .hx-trust { display:flex; align-items:center; gap:12px; margin-top:30px; color:rgba(255,255,255,.8); font-size:14px; animation:fadeUp 1s var(--ease) .65s both; }
    .hx-trust strong { color:#fff; } .hx-stars { color:#e8b56a; letter-spacing:.14em; }
    .hx-media { background-size:cover; background-position:42% 50%; min-height:420px; animation:fadeIn 1.4s var(--ease) both; }
    /* Zahlen als schwebende Karten */
    .stats.sx { background:transparent; margin-top:-46px; z-index:5; }
    .stats.sx .wrap { gap:16px; padding-top:0; padding-bottom:10px; }
    .stats.sx .stat { background:#fff; border:1px solid var(--line); border-radius:14px; padding:22px 24px; box-shadow:0 18px 40px rgba(64,10,24,.10); }
    .stats.sx .stat-num { color:var(--green); } .stats.sx .stat-txt { color:var(--ink-soft); }
    /* Kurz gesagt */
    .tldr { margin:20px 0 18px; padding:16px 20px; border-left:3px solid var(--green); background:#fff; border-radius:0 10px 10px 0; font-size:15.5px; line-height:1.7; }
    /* Eckige Bilder mit versetztem Rahmen */
    .pic { position:relative; margin:0; }
    .pic .img { position:relative; z-index:1; border-radius:16px; background-size:cover; background-position:center; box-shadow:0 26px 60px rgba(64,10,24,.16); }
    .pic-tall .img { aspect-ratio:4/5; } .pic-wide .img { aspect-ratio:5/4; }
    .pic img.img { display:block; width:100%; height:auto; object-fit:cover; }
    .pic-team .img { aspect-ratio:800/992; object-position:center top; }
    .hx-media { position:relative; overflow:hidden; } .hx-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:42% 50%; animation:hxDriftI 18s ease-in-out 1.6s infinite alternate; }
    @keyframes hxDriftI { from { object-position:38% 50%; } to { object-position:48% 50%; } }
    .pic-team { max-width:420px; margin-bottom:34px; }
    .pic figcaption { position:relative; z-index:2; margin-top:14px; font-size:13px; color:var(--ink-soft); letter-spacing:.02em; }
    /* Leistungs-Karten */
    .sc-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:28px; margin-top:44px; }
    .sc { background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; display:flex; flex-direction:column; transition:transform .45s var(--ease), box-shadow .45s var(--ease); }
    .sc:hover { transform:translateY(-6px); box-shadow:0 26px 54px rgba(64,10,24,.13); }
    .sc-img { aspect-ratio:16/9; background-size:cover; background-position:center; }
    .sc-body { padding:26px 28px 28px; display:flex; flex-direction:column; flex:1; }
    .sc-body h3 { font-size:21px; color:var(--teal); margin:6px 0 10px; }
    .sc-body p { font-size:15px; line-height:1.7; color:var(--ink); }
    .sc-body .serv-list { margin-top:14px; }
    .sc-more { margin-top:auto; padding-top:18px; font-family:'Montserrat',sans-serif; font-size:13px; font-weight:600; color:var(--green); text-decoration:none; }
    /* Ablauf */
    .st-list { list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:40px; counter-reset:none; }
    .st { background:#fff; border-radius:14px; padding:26px 24px; border-top:3px solid var(--green); box-shadow:0 12px 30px rgba(64,10,24,.06); }
    .st-n { font-family:'Montserrat',sans-serif; font-weight:700; font-size:30px; color:rgba(180,24,63,.25); display:block; line-height:1; }
    .st h3 { font-size:17px; color:var(--teal); margin:12px 0 8px; } .st p { font-size:14.5px; line-height:1.65; color:var(--ink-soft); }
    /* Team-Namen */
    .tm { display:grid; gap:18px; }
    .tm-p h4 { font-family:'Montserrat',sans-serif; font-size:17px; color:var(--teal); }
    .tm-p span { display:block; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--green); margin:2px 0 6px; font-weight:600; }
    .tm-p p { font-size:14.5px; line-height:1.65; color:var(--ink-soft); }
    /* ── Bewegung ── */
    html, body { overflow-x:clip; } main, section, header.hx { overflow-x:clip; }
    @media (max-width:700px) { .reveal.fly-r { transform:translateX(60px) rotate(2deg) scale(.94); } .reveal.fly-l { transform:translateX(-60px) rotate(-2deg) scale(.94); } }
    @keyframes hxIn { from { clip-path:inset(0 0 0 100%); transform:scale(1.18); } to { clip-path:inset(0 0 0 0); transform:scale(1); } }
    @keyframes hxDrift { from { background-position:38% 50%; } to { background-position:48% 50%; } }
    .hx-media { animation:hxIn 1.5s cubic-bezier(.77,0,.18,1) .1s both; }
    @keyframes popIn { from { opacity:0; transform:translateY(40px) scale(.9); } to { opacity:1; transform:none; } }
    .stats.sx .stat { animation:popIn .9s var(--ease) both; }
    .stats.sx .stat:nth-child(1) { animation-delay:.9s; } .stats.sx .stat:nth-child(2) { animation-delay:1.02s; }
    .stats.sx .stat:nth-child(3) { animation-delay:1.14s; } .stats.sx .stat:nth-child(4) { animation-delay:1.26s; }
    .reveal.fly-r { opacity:0; transform:translateX(120px) rotate(3deg) scale(.92); transition:opacity 1s var(--ease), transform 1.2s var(--ease); }
    .reveal.fly-l { opacity:0; transform:translateX(-120px) rotate(-3deg) scale(.92); transition:opacity 1s var(--ease), transform 1.2s var(--ease); }
    .reveal.fly-up { opacity:0; transform:translateY(110px) scale(.94); transition:opacity .9s var(--ease), transform 1.1s var(--ease); }
    .reveal.fly-r.visible, .reveal.fly-l.visible, .reveal.fly-up.visible { opacity:1; transform:none; }
    .pic .img, .sc-img { transition:transform 1.8s var(--ease) .2s; }
    .reveal:not(.visible) .img, .reveal:not(.visible) .sc-img { transform:scale(1.25); }
    .pic:hover .img { transform:scale(1.04); }
    .sc-grid .sc:nth-child(2) { transition-delay:.15s; } .sc-grid .sc:nth-child(4) { transition-delay:.15s; }
    .ref-card.reveal { opacity:0; clip-path:inset(12% 12% 12% 12% round 14px); transform:translateY(70px); transition:opacity .9s var(--ease), clip-path 1.2s var(--ease), transform 1.1s var(--ease); }
    .ref-card.reveal.visible { opacity:1; clip-path:inset(0 0 0 0 round 14px); transform:none; }
    .ref-card.r2 { transition-delay:.12s; } .ref-card.r3 { transition-delay:.05s; } .ref-card.r4 { transition-delay:.17s; } .ref-card.r5 { transition-delay:.29s; }
    .st-list.stagger > * { transform:translateY(60px) rotate(-2deg); }
    .st-list.stagger.visible > * { transform:none; }
    .st { transition:transform .4s var(--ease), box-shadow .4s var(--ease); } .st:hover { transform:translateY(-6px) !important; box-shadow:0 22px 44px rgba(64,10,24,.12); }
    .rev-card.reveal { transform:translateY(60px) rotate(-1.5deg); } .rev-card.reveal.rd2 { transform:translateY(60px) rotate(1.5deg); }
    .rev-card.reveal.visible { transform:none; }
    .fullband h2 em { display:inline-block; }
    @media (prefers-reduced-motion:reduce) { .reveal.fly-r,.reveal.fly-l,.reveal.fly-up,.ref-card.reveal { opacity:1; transform:none; clip-path:none; } .hx-media,.stats.sx .stat { animation:none; } .reveal:not(.visible) .img,.reveal:not(.visible) .sc-img { transform:none; } }
    .km-hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
    .km-msg { margin-top:14px; padding:12px 16px; border-radius:10px; font-size:14.5px; line-height:1.5; }
    .km-msg.ok { background:#eaf6ee; color:#1d5e35; border:1px solid #b9dfc6; } .km-msg.err { background:#fbeaec; color:#8f1433; border:1px solid #f0c2cb; }
    .upd { margin-top:10px; font-size:12px; color:var(--ink-soft); }
    @media (max-width:1024px) { .st-list { grid-template-columns:repeat(2,1fr); } }
    @media (max-width:900px) {
      .hx { grid-template-columns:1fr; min-height:0; } .hx-media { order:-1; min-height:0; aspect-ratio:16/10; margin-top:70px; }
      .hx-text { padding:40px 0 80px; } .hx-in { margin:0; padding:0 22px; }
      .sc-grid { grid-template-columns:1fr; } .stats.sx .wrap { grid-template-columns:1fr 1fr; gap:12px; }
      .stats.sx .stat { padding:16px; }
    }
    @media (max-width:560px) { .st-list { grid-template-columns:1fr; } }
    .logo-img { height:40px; }
    .hero-grad { background:linear-gradient(102deg, rgba(28,12,16,.92) 0%, rgba(70,14,30,.72) 38%, rgba(70,14,30,.26) 66%, rgba(70,14,30,.06) 84%); }
    .fullband::after { background:linear-gradient(rgba(28,12,16,.74), rgba(110,16,40,.6)); }
    .reviews { background:var(--paper-lt); }
    @media (max-width:900px) { .nav { background:rgba(42,16,22,.92); } }
    .rev-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:34px; }
    .rev-card { background:#fff; border:1px solid var(--line); border-radius:14px; padding:28px 30px; }
    .rev-stars { color:var(--coral); letter-spacing:.18em; font-size:15px; }
    .rev-card p { font-size:15px; line-height:1.75; margin:12px 0 14px; color:var(--ink); font-style:italic; }
    .rev-name { font-family:'Montserrat',sans-serif; font-weight:600; font-size:13px; letter-spacing:.06em; color:var(--teal); }
    .rev-score { display:flex; align-items:center; gap:14px; margin-top:22px; color:var(--ink-soft); font-size:14px; }
    .rev-score strong { font-family:'Montserrat',sans-serif; font-size:30px; color:var(--green); }
    @media (max-width:760px) { .rev-grid { grid-template-columns:1fr; } }
    @media (max-width:560px) { .nav .logo-img { height:30px; } .nav-btn { white-space:nowrap; padding:10px 14px !important; font-size:12px !important; } }
    @media (max-width:640px) {
      .vs-head { grid-template-columns:1fr 1fr; gap:10px; } .vs-head > div:first-child { display:none; }
      .vs-row { grid-template-columns:1fr 1fr; gap:8px 10px; } .vs-crit { grid-column:1 / -1; padding:8px 2px 0; }
      .vs-cell { padding:12px 12px; font-size:13px; gap:8px; } .vs-pill { font-size:11px; padding:11px 8px; }
    }
