@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Great+Vibes&display=swap');



:root {

  /* Brand Colors from Mockup */

  --bg-beige: #f4ece2;

  --bg-brown: #894628;

  --text-dark: #333333;

  --text-light: #ffffff;

  --text-brown: #894628;

  --accent-red: #d32029;



  /* Typography */

  --font-primary: 'Outfit', sans-serif;

  --font-heading: 'Playfair Display', serif;

  --font-cursive: 'Great Vibes', cursive;

}



* {

  margin: 0;

  padding: 0;

  box-sizing: border-box;

}



body {

  font-family: var(--font-primary);

  background-color: var(--bg-beige);

  color: var(--text-dark);

  line-height: 1.5;

  width: 100%;

  margin: 0 auto;

  min-height: 100vh;

  overflow-x: hidden;

  position: relative;

}



img {

  max-width: 100%;

  display: block;

}



/* ==============================================================

   NAVIGATION SECTION

   ============================================================== */

.navbar {

  display: flex;

  justify-content: space-between;

  align-items: center;

  padding: 1.5rem 5%;

  background-color: var(--bg-beige);

  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);

  position: sticky;

  top: 0;

  z-index: 1000;

}



.logo-img {

  height: 78px;

  width: auto;

}



.nav-links {

  display: flex;

  gap: 2rem;

  list-style: none;

}



.nav-links a {

  font-weight: 600;

  position: relative;

  text-transform: uppercase;

  font-size: 0.95rem;

  letter-spacing: 1px;

  color: var(--text-brown);

  text-decoration: none;

}



.nav-links a::after {

  content: '';

  position: absolute;

  width: 0;

  height: 2px;

  bottom: -4px;

  left: 0;

  background-color: var(--accent-red);

  transition: all 0.3s ease;

}



.nav-links a:hover::after,

.nav-links a.active::after {

  width: 100%;

}



.hamburger {

  display: none;

  cursor: pointer;

  font-size: 1.5rem;

  color: var(--text-brown);

}



/* ==============================================================

   HERO / TRANSFORMATION SECTION

   ============================================================== */

.hero-transformation {

  background-color: var(--bg-brown);

  color: var(--text-light);

  padding: 2rem 1.5rem 3rem 1.5rem;

  position: relative;

}



.transformation-visuals {

  position: relative;

  height: 280px;

  margin-bottom: 2rem;

}



.img-hero-single {

  width: auto;

  max-width: 100%;

  height: 100%;

  max-height: 280px;

  display: block;

  margin: 0 auto;

  object-fit: contain;

  border-radius: 8px;

}



.hero-text h1 {

  font-size: 1.8rem;

  font-weight: 700;

  line-height: 1.2;

  margin-bottom: 0.5rem;

}



.hero-text .subtitle {

  font-size: 1.2rem;

  display: flex;

  align-items: center;

  flex-wrap: wrap;

  gap: 8px;

  margin-bottom: 0.5rem;

}



.hero-text .cursive-highlight {

  font-family: var(--font-cursive);

  font-size: 2.5rem;

  color: var(--bg-beige);

  line-height: 0.8;

  margin-top: 5px;

}



.img-small-frame {

  position: absolute;

  bottom: -40px;

  right: 15px;

  width: 130px;

  z-index: 10;

  border-radius: 4px;

}



/* ==============================================================

   MATERIALS SECTION

   ============================================================== */

.materials-section {

  background-color: var(--bg-beige);

  padding: 4rem 1.5rem 2rem 1.5rem;

  /* Extra top padding to clear the overlapping small frame */

}



.materials-section h2 {

  font-family: var(--font-heading);

  color: var(--text-brown);

  font-size: 1.8rem;

  font-weight: 600;

  margin-bottom: 1rem;

}



.materials-section p {

  font-size: 1.1rem;

  font-weight: 500;

  line-height: 1.6;

}



/* ==============================================================

   PORTRAIT STYLES SECTION

   ============================================================== */

.creative-portraits {

  background-color: #ffffff;

  padding: 2rem 0;

  text-align: center;

}



.creative-portraits h2 {

  font-family: var(--font-heading);

  color: var(--text-brown);

  font-size: 1.6rem;

  font-weight: 700;

  margin-bottom: 1.5rem;

  padding: 0 1rem;

}



/* Mobile Grid Container */

.styles-scroll-container {

  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 10px;

  padding: 0 1rem 1rem 1rem;

}



.style-card {

  text-align: center;

  background-color: var(--bg-beige);

  border-bottom: 3px solid var(--text-brown);

  text-decoration: none;

  display: block;

}



.style-card img {

  width: 100%;

  height: auto;

  aspect-ratio: 1 / 1;

  object-fit: cover;

}



.style-card h3 {

  padding: 0.6rem 0;

  font-size: 0.85rem;

  text-transform: uppercase;

  color: var(--text-brown);

  font-weight: 700;

  letter-spacing: 1px;

}



/* ==============================================================

   GENERAL FOOTER (For About, Services, Video)

   ============================================================== */

.footer {

  background-color: var(--bg-brown);

  color: var(--text-light);

  padding: 4rem 5% 1rem 5%;

}



.footer-content {

  display: flex;

  flex-wrap: wrap;

  gap: 2rem;

  justify-content: space-between;

  margin-bottom: 2rem;

}



.footer-col {

  flex: 1;

  min-width: 250px;

}



.footer-col h3 {

  font-family: var(--font-heading);

  font-size: 1.5rem;

  margin-bottom: 1.5rem;

  color: var(--bg-beige);

}



.footer-col p {

  margin-bottom: 0.8rem;

  color: #ddd;

}



.footer-col a {

  color: #ddd;

  text-decoration: none;

  transition: color 0.3s;

}



.footer-col a:hover {

  color: var(--bg-beige);

}



.footer-col i {

  margin-right: 10px;

  color: var(--bg-beige);

}



.footer-bottom {

  text-align: center;

  padding-top: 2rem;

  border-top: 1px solid rgba(255, 255, 255, 0.1);

  color: #aaa;

}



/* ==============================================================

   FOOTER / ORDER ACTION (For Homepage)

   ============================================================== */

.footer-action {

  background-color: #ffffff;

  padding: 1rem 1.5rem 1rem 1.5rem;

  display: flex;

  justify-content: flex-end;

}

.footer-action2 {
    background-color: #ffffff;
    padding: 1rem 1.5rem 1rem 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: end;
}

.order-btn-img {

  width: 140px;

  cursor: pointer;

  transition: transform 0.2s;

}



.order-btn-img:hover {

  transform: scale(1.05);

}



/* ==============================================================

   RESTORATION SECTION (Bonus)

   ============================================================== */

.restoration-section {

  background-color: var(--bg-brown);

  padding: 2rem 1.5rem;

  text-align: center;

  color: var(--text-light);

}



.restoration-section h2 {

  font-family: var(--font-heading);

  font-size: 1.8rem;

  margin-bottom: 1.5rem;

  color: var(--bg-beige);

}



.restoration-section img {

  width: 100%;

  border-radius: 8px;

  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);

  margin-bottom: 1.5rem;

}



/* ==============================================================

   DESKTOP RESPONSIVE

   ============================================================== */

@media (max-width: 768px) {

  .nav-links {

    display: none;

    flex-direction: column;

    position: absolute;

    top: 100%;

    left: 0;

    width: 100%;

    background-color: var(--bg-beige);

    padding: 2rem;

    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);

  }



  .nav-links.show {

    display: flex;

  }



  .hamburger {

    display: block;

  }



  .logo-img {

    height: 65px;

  }

}



@media (min-width: 769px) {



  /* Expand Hero for Desktop */

  .hero-transformation {

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 4rem 10%;

  }



  .transformation-visuals {

    flex: 1;

    height: 400px;

    margin-bottom: 0;

  }



  .img-hero-single {

    max-width: 100%;

    max-height: 400px;

  }



  .img-small-frame {

    width: 200px;

    bottom: -60px;

    right: 50px;

  }



  .hero-text {

    flex: 1;

    padding-left: 4rem;

    text-align: left;

  }



  .materials-section {

    padding: 6rem 10% 4rem 10%;

    text-align: center;

  }



  .creative-portraits {

    padding: 4rem 5%;

  }



  .styles-scroll-container {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));

    gap: 2rem;

    overflow-x: visible;

  }



  .style-card {

    flex: none;

  }



  .restoration-section {

    padding: 4rem 10%;

  }

}