:root{
  --rot:#8B1E1E;--rotd:#6E1717;--gold:#C9A24B;
  --bg:#F7F4EF;--card:#fff;--txt:#2B2B2B;--mut:#7A7268;--bd:#E3DACE;
  --shadow:0 1px 2px rgba(43,30,20,.04),0 8px 22px rgba(43,30,20,.06);
  --shadow-lg:0 14px 36px rgba(139,30,30,.15);
}

/* ===== Morphende Seitenübergänge (View Transitions, wie metzgerei.schares-timo.de) ===== */
@view-transition{ navigation:auto; }
/* Feste Chrome-Elemente bleiben verankert -> ruhig & sauber */
header.nav{ view-transition-name:nav; }
.nav .brand{ view-transition-name:brand; }
footer{ view-transition-name:foot; }
/* Hero morpht (kommt nur auf der Startseite vor) */
.hero{ view-transition-name:hero; }
/* Gematchte Elemente einheitlich weich bewegen = das Morph-Gefühl */
::view-transition-group(*){ animation-duration:.55s; animation-timing-function:cubic-bezier(.65,0,.32,1); }
/* Rest: sauberes Überblenden ohne Ruckeln */
::view-transition-old(root){ animation:vt-fade-out .3s ease both; }
::view-transition-new(root){ animation:vt-fade-in .45s ease both; }
::view-transition-image-pair(root){ isolation:auto; }
@keyframes vt-fade-out{ to{ opacity:0; } }
@keyframes vt-fade-in{ from{ opacity:0; } }
@media(prefers-reduced-motion:reduce){ @view-transition{ navigation:none; } }

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--txt);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{color:var(--rot);text-decoration:none;}
img{max-width:100%;}
.wrap{max-width:1060px;margin:0 auto;padding:0 20px;}

/* Navigation */
header.nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.88);backdrop-filter:saturate(1.5) blur(8px);border-bottom:1px solid var(--bd);}
.nav .wrap{display:flex;align-items:center;gap:20px;height:64px;}
.nav .brand{font-weight:800;color:var(--rot);font-size:20px;letter-spacing:-.3px;}
.nav a.link{color:var(--mut);font-weight:600;transition:color .15s;}
.nav a.link:hover{color:var(--rot);}
.nav .sp{flex:1;}

/* Buttons */
.btn{display:inline-block;background:var(--rot);color:#fff;padding:11px 19px;border-radius:10px;font-weight:700;border:none;cursor:pointer;font-size:15px;line-height:1.2;box-shadow:0 2px 6px rgba(139,30,30,.25);transition:transform .12s,background .15s,box-shadow .15s;}
.btn:hover{background:var(--rotd);box-shadow:0 7px 18px rgba(139,30,30,.32);}
.btn:active{transform:translateY(1px);}
.btn.sec{background:#fff;color:var(--rot);border:1.5px solid var(--rot);box-shadow:none;}
.btn.sec:hover{background:#faf1f1;}
.btn.lg{padding:15px 28px;font-size:17px;border-radius:12px;}

/* Hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(1200px 520px at 82% -12%,#F6E3E1,transparent),linear-gradient(160deg,#fff,#F3E7E4);padding:78px 0 66px;border-bottom:1px solid var(--bd);}
.hero h1{font-size:clamp(30px,5vw,46px);line-height:1.1;margin:14px 0 16px;color:#1f1f1f;letter-spacing:-1px;font-weight:800;}
.hero h1 b{color:var(--rot);}
.hero p.lead{font-size:19px;color:#4a4a4a;max-width:640px;}
.hero .cta{margin-top:28px;display:flex;gap:14px;flex-wrap:wrap;}

/* Sections */
section{padding:58px 0;}
section h2{font-size:clamp(24px,3.4vw,30px);color:var(--rot);margin:0 0 8px;letter-spacing:-.5px;}
.sub{color:var(--mut);margin:0 0 28px;font-size:17px;}

/* Grid + cards */
.grid{display:grid;gap:20px;}
.g3{grid-template-columns:repeat(3,1fr);}
.g2{grid-template-columns:repeat(2,1fr);}
.card{background:var(--card);border:1px solid var(--bd);border-radius:16px;padding:24px;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s;}
.card h3{margin:0 0 8px;color:var(--rot);font-size:19px;}
.card p{margin:0;color:#4a4a4a;}
.grid .card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.feat .ic{font-size:32px;display:block;margin-bottom:8px;}

/* Pricing */
.price{display:flex;flex-direction:column;}
.price.hi{border:2px solid var(--rot);box-shadow:var(--shadow-lg);}
.price .amt{font-size:32px;font-weight:800;color:var(--rot);margin:6px 0 14px;letter-spacing:-1px;}
.price ul{list-style:none;padding:0;margin:0 0 20px;}
.price li{padding:6px 0 6px 26px;position:relative;color:#3a3a3a;}
.price li:before{content:"✓";color:var(--gold);position:absolute;left:0;font-weight:800;}
.price .btn,.price form{margin-top:auto;}
.tag{display:inline-block;background:#F3E1DE;color:var(--rot);border-radius:20px;padding:5px 14px;font-size:13px;font-weight:700;letter-spacing:.2px;}

/* Footer */
footer{background:#1f1b1a;color:#c9bba9;padding:40px 0 34px;margin-top:40px;}
footer a{color:#e6c9c4;transition:color .15s;}
footer a:hover{color:#fff;}
footer .cols{display:flex;gap:48px;flex-wrap:wrap;line-height:1.9;}

/* Forms */
.form{max-width:440px;margin:36px auto;background:#fff;border:1px solid var(--bd);border-radius:16px;padding:28px;box-shadow:var(--shadow);}
.form h2{margin-top:0;}
label{display:block;font-size:14px;color:var(--mut);margin:14px 0 5px;font-weight:600;}
input[type=email],input[type=password],input[type=text]{width:100%;padding:12px;border:1px solid var(--bd);border-radius:10px;font-size:16px;background:#fff;transition:border-color .15s,box-shadow .15s;}
input:focus{outline:none;border-color:var(--rot);box-shadow:0 0 0 3px rgba(139,30,30,.13);}
.err{background:#fdecea;color:#a3261e;border:1px solid #f5c6c1;border-radius:10px;padding:11px 13px;margin:12px 0;}
.ok{background:#e8f6ec;color:#1d6b35;border:1px solid #bfe3cb;border-radius:10px;padding:11px 13px;margin:12px 0;}

/* Download rows */
.dl{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid var(--bd);border-radius:13px;background:#fff;margin-bottom:12px;box-shadow:var(--shadow);transition:box-shadow .15s,transform .15s;}
.dl:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);}
.dl .n{flex:1;font-weight:600;}
.note{background:#fbf6ec;border:1px solid #ece0c4;border-radius:12px;padding:14px 16px;color:#6b5b33;}
.faq dt{font-weight:700;margin-top:18px;color:#2b2b2b;}
.faq dd{margin:4px 0 0;color:#4a4a4a;}

@media(max-width:760px){
  .g3,.g2{grid-template-columns:1fr;}
  .hero{padding:54px 0 46px;}
  .nav a.link{display:none;}
  section{padding:44px 0;}
  footer .cols{gap:28px;}
}
