.franchise-page{
  background:#f6f7f9;
  color:#171a1f;
}

.franchise-page header{
  background:#fff;
}

.franchise-page nav a[aria-current="page"]{
  color:#ef2f39;
  font-weight:800;
}

.franchise-hero{
  padding:90px 0 80px;
  background:
    radial-gradient(circle at 85% 15%,rgba(239,47,57,.10),transparent 35%),
    linear-gradient(135deg,#fff 0%,#f5f6f8 100%);
  border-bottom:1px solid #e5e7eb;
}

.franchise-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  gap:60px;
  align-items:center;
}

.franchise-kicker,
.franchise-section-head>span,
.franchise-form-copy>span{
  display:block;
  color:#ef2f39;
  font-size:13px;
  letter-spacing:.14em;
  font-weight:900;
  margin-bottom:16px;
}

.franchise-hero h1{
  margin:0;
  font-size:clamp(44px,6vw,78px);
  line-height:.98;
  letter-spacing:-.045em;
  color:#171a1f;
}

.franchise-hero h1 em{
  color:#ef2f39;
  font-style:normal;
}

.franchise-lead{
  max-width:690px;
  margin:26px 0 0;
  color:#5f6672;
  font-size:19px;
  line-height:1.65;
}

.franchise-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:32px;
}

.franchise-primary,
.franchise-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 23px;
  border-radius:12px;
  font-weight:800;
  text-decoration:none;
}

.franchise-primary{
  background:#ef2f39;
  color:#fff;
  box-shadow:0 14px 28px rgba(239,47,57,.22);
}

.franchise-secondary{
  background:#fff;
  color:#1c2026;
  border:1px solid #dde1e6;
}

.franchise-hero-card{
  background:#111925;
  color:#fff;
  padding:38px;
  border-radius:24px;
  box-shadow:0 30px 70px rgba(17,25,37,.18);
}

.franchise-hero-card span{
  color:#ff5961;
  font-size:12px;
  font-weight:900;
  letter-spacing:.13em;
}

.franchise-hero-card strong{
  display:block;
  font-size:30px;
  line-height:1.2;
  margin:18px 0;
}

.franchise-hero-card p{
  color:#bac1cb;
  line-height:1.65;
  margin:0;
}

.franchise-section{
  padding:85px 0;
  background:#fff;
}

.franchise-section-head{
  max-width:700px;
  margin-bottom:34px;
}

.franchise-section-head h2,
.franchise-form-copy h2{
  margin:0;
  font-size:clamp(32px,4vw,48px);
  letter-spacing:-.035em;
}

.franchise-steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.franchise-steps article{
  border:1px solid #e5e7eb;
  border-radius:20px;
  padding:30px;
  background:#fff;
}

.franchise-steps b{
  display:inline-flex;
  width:45px;
  height:45px;
  align-items:center;
  justify-content:center;
  background:#fff0f1;
  color:#ef2f39;
  border-radius:12px;
  font-size:14px;
}

.franchise-steps h3{
  margin:21px 0 10px;
  font-size:21px;
}

.franchise-steps p{
  margin:0;
  color:#686f79;
  line-height:1.65;
}

.franchise-form-section{
  padding:90px 0;
}

.franchise-form-grid{
  display:grid;
  grid-template-columns:minmax(280px,.7fr) minmax(500px,1.3fr);
  gap:60px;
  align-items:start;
}

.franchise-form-copy{
  position:sticky;
  top:30px;
}

.franchise-form-copy>p{
  color:#676e78;
  line-height:1.7;
  font-size:17px;
}

.franchise-private{
  margin-top:28px;
  padding:22px;
  border-radius:16px;
  background:#111925;
  color:#fff;
}

.franchise-private p{
  color:#bbc2cc;
  margin:7px 0 0;
  line-height:1.55;
}

.franchise-form{
  background:#fff;
  padding:32px;
  border:1px solid #e5e7eb;
  border-radius:22px;
  box-shadow:0 18px 45px rgba(20,30,45,.08);
}

.franchise-two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.franchise-form label{
  display:block;
  margin-bottom:18px;
  color:#343a43;
  font-size:14px;
  font-weight:700;
}

.franchise-form input,
.franchise-form select,
.franchise-form textarea{
  width:100%;
  box-sizing:border-box;
  margin-top:8px;
  border:1px solid #d8dde4;
  background:#fff;
  border-radius:11px;
  padding:13px 14px;
  font:inherit;
  color:#171a1f;
  outline:none;
  transition:.2s;
}

.franchise-form input:focus,
.franchise-form select:focus,
.franchise-form textarea:focus{
  border-color:#ef2f39;
  box-shadow:0 0 0 3px rgba(239,47,57,.10);
}

.franchise-consent{
  display:flex!important;
  gap:10px;
  align-items:flex-start;
  font-weight:500!important;
  line-height:1.5;
}

.franchise-consent input{
  width:18px!important;
  height:18px;
  margin:2px 0 0!important;
  flex:0 0 auto;
}

.franchise-consent a{
  color:#ef2f39;
  font-weight:700;
}

.franchise-submit{
  width:100%;
  min-height:54px;
  border:0;
  border-radius:12px;
  background:#ef2f39;
  color:#fff;
  font-size:16px;
  font-weight:900;
  cursor:pointer;
}

.franchise-submit:disabled{
  opacity:.65;
  cursor:wait;
}

#franchise-status{
  margin-top:14px;
  line-height:1.5;
  font-weight:700;
}

#franchise-status[data-state="success"]{
  color:#18844b;
}

#franchise-status[data-state="error"]{
  color:#c62828;
}

.franchise-hp{
  position:absolute!important;
  left:-99999px!important;
}

.franchise-footer{
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
  padding:36px 0;
}

.franchise-footer img{
  width:150px;
  height:auto;
}

.franchise-footer p{
  margin-right:auto;
  color:#6b7280;
}

.franchise-footer a{
  color:inherit;
  text-decoration:none;
}

@media(max-width:850px){
  .franchise-hero{
    padding:60px 0;
  }

  .franchise-hero-grid,
  .franchise-form-grid{
    grid-template-columns:1fr;
    gap:32px;
  }

  .franchise-steps{
    grid-template-columns:1fr;
  }

  .franchise-two{
    grid-template-columns:1fr;
    gap:0;
  }

  .franchise-form-copy{
    position:static;
  }

  .franchise-form{
    padding:22px;
  }
}
