/* Butzeria – Franchise-Titelseite und Anfrage (Ergänzung zu styles.css aus Mürvets Entwurf) */
.hero .hero-h{max-width:740px;margin:2.8rem 0 0;font-size:clamp(4.4rem,7.4vw,8.7rem);font-weight:400;letter-spacing:-.055em;line-height:.94}
.menu-toggle .ic-x{display:none}
.menu-toggle[aria-expanded="true"] .ic-x{display:block}
.menu-toggle[aria-expanded="true"] .ic-list{display:none}
.fr-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.fr-hero{position:relative;z-index:1;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(var(--header-height) + 2rem) 1.25rem 6.5rem;background:var(--ink);color:#fff}
.fr-eye{margin:0;font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--aqua)}
.fr-logo{width:clamp(170px,22vw,260px);height:auto;margin-top:1.6rem;animation:fr-in 1s cubic-bezier(.2,.8,.2,1) both}
.fr-claim{margin:2rem 0 0;font-size:clamp(2.2rem,5vw,4.6rem);font-weight:400;letter-spacing:-.05em;line-height:.98}
.fr-claim em{display:block;font-style:normal;color:var(--pink)}
.fr-status{display:inline-block;margin:1.6rem 0 0;padding:.5rem 1rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.fr-acts{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(.6rem,2vw,1.6rem);margin-top:2rem}
.fr-imgbtn{display:block;width:clamp(200px,24vw,300px);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.fr-imgbtn img{width:100%;height:auto;filter:drop-shadow(0 10px 22px rgba(0,0,0,.55))}
.fr-imgbtn:hover,.fr-imgbtn:focus-visible{transform:translateY(-4px) scale(1.02)}
@keyframes fr-in{0%{opacity:0;transform:translateY(-24px) scale(.85)}70%{opacity:1;transform:translateY(4px) scale(1.03)}100%{opacity:1;transform:none}}

.fr-form-section{position:relative;z-index:1;background:var(--ink);color:#fff;padding:clamp(5rem,12vh,8rem) clamp(1.25rem,5vw,5.8rem) clamp(6rem,14vh,9rem)}
.fr-form-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.fr-form-intro h2{margin:1.6rem 0 0;font-size:clamp(3rem,6vw,6.2rem);font-weight:400;letter-spacing:-.055em;line-height:.94}
.fr-form-intro h2 em{display:block;font-style:normal;color:var(--pink)}
.fr-lead{max-width:480px;margin:2rem 0 0;font-size:1.05rem;line-height:1.55;color:rgba(255,255,255,.78)}
.fr-form .row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.fr-form label{display:block;margin-top:1.2rem;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.fr-form input,.fr-form select,.fr-form textarea{width:100%;min-height:48px;margin-top:.2rem;padding:.8rem 0;border:0;border-bottom:1px solid rgba(255,255,255,.35);background:none;color:#fff;font-size:1rem}
.fr-form select{appearance:none;cursor:pointer}
.fr-form select option{background:#111;color:#fff}
.fr-form textarea{resize:vertical;min-height:6rem}
.fr-form :is(input,select,textarea):focus{outline:none;border-bottom-color:var(--aqua)}
.fr-form button{margin-top:2rem;display:inline-flex;align-items:center;gap:.7rem;min-height:52px;padding:0 1.5rem;border:0;border-radius:999px;background:var(--pink);color:#fff;font-size:1rem;cursor:pointer;transition:background .2s,transform .2s}
.fr-form button:hover{background:var(--aqua);color:var(--ink);transform:translateY(-2px)}
.fr-form button[disabled]{opacity:.6;pointer-events:none}
.fr-hint{margin:1rem 0 0;font-size:.8rem;line-height:1.5;color:rgba(255,255,255,.55)}
.fr-hint a{text-decoration:underline}
.fr-state{margin-top:1rem}
.fr-state:empty{display:none}
.fr-state b{display:block;color:var(--aqua);font-weight:500}
.fr-state.note b{color:var(--pink)}
.fr-state span{color:rgba(255,255,255,.7)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

@media (max-width:820px){
  .hero .hero-h{font-size:clamp(3.8rem,16.5vw,6.5rem)}
  .fr-form-in{grid-template-columns:1fr}
  .fr-form .row{grid-template-columns:1fr;gap:0}
  .fr-hero{padding-bottom:5.5rem}
}
