*{
  margin:0;padding:0;box-sizing:border-box;
  font-family:'Poppins',sans-serif;
}

body{background:#fff;color:#1f2937}

.container{
  width:90%;
  max-width:1200px;
  margin:auto;
}

/* ===== NAVBAR ===== */
.navbar{
  position:sticky;top:0;
  background:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.05);
  z-index:100;
}

.nav-flex{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:70px;
}

.logo{
  font-size:24px;
  font-weight:700;
}
.logo span{color:#2563eb}

nav{
  display:flex;
  gap:24px;
}
nav a{
  text-decoration:none;
  color:#1f2937;
  font-weight:500;
}
.btn-login{
  background:#2563eb;
  color:#fff !important;
  padding:8px 16px;
  border-radius:8px;
}

.btn-register{
  background:#be0606;
  color:#fff !important;
  padding:8px 16px;
  border-radius:8px;
}

/* MOBILE MENU */
.menu-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
}
.menu-toggle span{
  width:25px;height:3px;
  background:#1f2937;
}

/* ===== HERO ===== */
.hero{
  background:linear-gradient(135deg,#2563eb,#1e40af);
  color:#fff;
  padding:80px 0;
}
.hero-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
}
.hero h1{
  font-size:40px;
}
.hero h1 span{color:#fde047}
.hero p{margin:20px 0;opacity:.95}
.hero-buttons a{
  margin-right:12px;
}
.btn-primary{
  background:#fff;
  color:#2563eb;
  padding:12px 20px;
  border-radius:10px;
  text-decoration:none;
  font-weight:600;
}
.btn-outline{
  border:2px solid #fff;
  color:#fff;
  padding:10px 18px;
  border-radius:10px;
  text-decoration:none;
}
.hero-image img{
  width:100%;
  max-width:420px;
}

/* ===== SECTIONS ===== */
.section{
  padding:70px 0;
}
.gray{background:#f8fafc}
.section-title{
  text-align:center;
  font-size:32px;
}
.section-desc{
  text-align:center;
  max-width:700px;
  margin:12px auto 40px;
  color:#64748b;
}

/* CARDS */
.cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:24px;
}
.card,.service-card{
  background:#fff;
  padding:30px;
  border-radius:16px;
  text-align:center;
  box-shadow:0 10px 25px rgba(0,0,0,.05);
}
.card i,.service-card i{
  font-size:32px;
  color:#2563eb;
  margin-bottom:14px;
}

/* CONTACT */
.contact-box{
  text-align:center;
}
.contact-box p{
  margin:10px 0;
}

/* FOOTER */
.footer{
  background:#0f172a;
  color:#fff;
  text-align:center;
  padding:20px;
}

/* ===== RESPONSIVE ===== */
@media(max-width:900px){
  .hero-grid{
    grid-template-columns:1fr;
    text-align:center;
  }
  nav{
    position:fixed;
    top:70px;
    right:-100%;
    background:#fff;
    flex-direction:column;
    width:260px;
    height:100%;
    padding:30px;
    box-shadow:-5px 0 20px rgba(0,0,0,.1);
    transition:.3s;
  }
  nav.active{right:0}
  .menu-toggle{display:flex}
}

/* ================= NEWS SECTION ================= */

/* ===== NEWS AUTO SCROLL ===== */

.news-section{
  background:linear-gradient(135deg,#0f172a,#1e293b);
  color:#fff;
  overflow:hidden;
}

.news-marquee{
  width:100%;
  overflow:hidden;
  margin-top:40px;
}

.news-track{
  display:flex;
  gap:22px;
  width:max-content;
  animation: newsScroll 35s linear infinite;
}

/* pause on hover */
.news-marquee:hover .news-track{
  animation-play-state: paused;
}

/* card */
.news-card{
  min-width:320px;
  max-width:320px;
  background:#fff;
  color:#111;
  border-radius:20px;
  padding:20px;
  box-shadow:0 15px 40px rgba(0,0,0,.3);
}

/* date */
.news-date{
  font-size:12px;
  background:#7a1f1f;
  color:#fff;
  padding:4px 12px;
  border-radius:20px;
  display:inline-block;
  margin-bottom:8px;
}

.news-card h4{
  font-size:16px;
  margin:6px 0;
  color:#7a1f1f;
}

.news-card p{
  font-size:14px;
  line-height:1.6;
  color:#444;
}

/* animation */
@keyframes newsScroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

/* mobile speed adjust */
@media(max-width:768px){
  .news-track{
    animation-duration: 25s;
  }
}


/* ================= FRANCHISE FORM ================= */

.franchise-card{
  max-width:520px;
  margin:40px auto 0;
  background:#fff;
  padding:30px;
  border-radius:22px;
  box-shadow:0 25px 50px rgba(0,0,0,.15);
}

/* SUCCESS MESSAGE */
.franchise-success{
  background:#dcfce7;
  color:#166534;
  padding:14px;
  border-radius:12px;
  text-align:center;
  margin-bottom:18px;
  font-weight:600;
}

/* FORM */
.franchise-form{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.form-group{
  position:relative;
}

.form-group i{
  position:absolute;
  top:50%;
  left:14px;
  transform:translateY(-50%);
  color:#b45309;
  font-size:16px;
}

.form-group input,
.form-group textarea{
  width:100%;
  padding:14px 16px 14px 44px;
  border-radius:14px;
  border:1px solid #ddd;
  font-size:15px;
  outline:none;
  transition:.25s;
  background:#fff;
}

/* TEXTAREA */
.form-group.textarea textarea{
  min-height:90px;
  resize:none;
}

/* FOCUS EFFECT */
.form-group input:focus,
.form-group textarea:focus{
  border-color:#b45309;
  box-shadow:0 0 0 3px rgba(180,83,9,.18);
}

/* BUTTON */
.franchise-btn{
  margin-top:10px;
  padding:15px;
  border:none;
  border-radius:16px;
  background:linear-gradient(135deg,#7a1f1f,#b45309);
  color:#fff;
  font-size:16px;
  font-weight:600;
  cursor:pointer;
  transition:.3s;
}

.franchise-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 15px 30px rgba(0,0,0,.25);
}

/* MOBILE */
@media(max-width:480px){
  .franchise-card{
    padding:24px 18px;
  }
}

/* ================= CONTACT SECTION ================= */

.contact-section{
  background:linear-gradient(135deg,#fff7ed,#fef3c7);
}

.contact-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
  margin-top:40px;
}

.contact-card{
  background:rgba(255,255,255,.9);
  border-radius:22px;
  padding:30px 22px;
  text-align:center;
  box-shadow:0 25px 45px rgba(0,0,0,.12);
  transition:.35s;
}

.contact-card:hover{
  transform:translateY(-8px);
  box-shadow:0 35px 60px rgba(0,0,0,.18);
}

/* ICON */
.contact-icon{
  width:68px;
  height:68px;
  margin:0 auto 16px;
  border-radius:50%;
  background:linear-gradient(135deg,#7a1f1f,#b45309);
  display:flex;
  align-items:center;
  justify-content:center;
}

.contact-icon i{
  font-size:26px;
  color:#fff;
}

/* TEXT */
.contact-card h4{
  margin-bottom:6px;
  color:#7a1f1f;
}

.contact-card p{
  font-size:15px;
  color:#555;
  margin-bottom:10px;
}

.contact-text{
  font-size:14px;
  color:#777;
}

/* LINK */
.contact-card a{
  display:inline-block;
  margin-top:8px;
  padding:8px 18px;
  border-radius:20px;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  color:#7a1f1f;
  border:1px solid #7a1f1f;
  transition:.3s;
}

.contact-card a:hover{
  background:#7a1f1f;
  color:#fff;
}

/* MOBILE */
@media(max-width:768px){
  .contact-grid{
    grid-template-columns:1fr;
  }
}

/* ================= ABOUT SECTION ================= */

.about-section{
  background:#fff;
}

.about-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  margin-top:40px;
}

.about-card{
  background:#fff;
  border-radius:22px;
  padding:30px 22px;
  text-align:center;
  box-shadow:0 20px 45px rgba(0,0,0,.12);
  transition:.35s;
}

.about-card:hover{
  transform:translateY(-8px);
  box-shadow:0 30px 60px rgba(0,0,0,.18);
}

.about-icon{
  width:72px;
  height:72px;
  margin:0 auto 18px;
  border-radius:50%;
  background:linear-gradient(135deg,#7a1f1f,#b45309);
  display:flex;
  align-items:center;
  justify-content:center;
}

.about-icon i{
  font-size:28px;
  color:#fff;
}

.about-card h4{
  margin-bottom:8px;
  color:#7a1f1f;
}

.about-card p{
  font-size:15px;
  color:#555;
  line-height:1.6;
}

/* ================= VISION SECTION ================= */

.vision-section{
  background:linear-gradient(135deg,#fff7ed,#fef3c7);
}

.vision-box{
  max-width:900px;
  margin:auto;
}

.vision-content{
  background:rgba(255,255,255,.95);
  padding:40px 30px;
  border-radius:26px;
  box-shadow:0 30px 60px rgba(0,0,0,.15);
}

.vision-content p{
  font-size:16px;
  line-height:1.9;
  color:#444;
  margin-bottom:14px;
}

/* ================= MOBILE ================= */

@media(max-width:768px){
  .about-grid{
    grid-template-columns:1fr;
  }

  .vision-content{
    padding:28px 20px;
  }
}
