:root {
    --primary-green: #3e5c26;
    --dark-green: #2d441c;
    --cream-bg: #eaddca;
    --text-color: #333;
    --white: #ffffff;
	--coffee-dark:  #5c4033;
	--coffee-mid:   #7a5230;
	--coffee-light: #9c7a5a;
}

body {
  margin: 0;
 
}

html {
  scroll-behavior: smooth;
}

:root {
  --header-height: 93.67px; /* desktop */
}


@media (max-width: 768px) {
  :root {
    --header-height: 64px; /* mobile header height */
  }
}

.logo img {
  width: 130px;
  max-width: 100%;
  height: auto;
  display: inline-block;
  align-items:center;
}

.logotext img
{
	width:413px;
}

.logo-group {
  display: flex;
  align-items: center;
  gap: 0px;   /* spacing between the two logos */
}

@media (max-width: 768px) {

  .logo-group {
    flex: 1;                     /* allows space for menu button */
    max-width: calc(100% - 50px);
    gap: 0px;
  }

  .logo img {
    width: 90px;                 /* shrink logo */
  }

  .logotext img {
    width: 240px;                /* shrink text logo */
    max-width: 100%;
    height: auto;
  }
}


@media (max-width: 480px) {

  .logo-group {
    gap: 0px;
  }

  .logo img {
    width: 70px;
  }

  .logotext img {
    width: 200px;
  }
}





.header {
  position: sticky;
  top: 0;
  height: var(--header-height);
  z-index: 1000;
  background: #fff;
  display: flex !important;
   align-items: center;
}


section {
  scroll-margin-top: var(--header-height);
}



*{
	 font-family: 'Lora', serif;
}
.why-text{
	background-image: url("../images/paper.png");
    background-repeat: repeat;padding: 40px;
}


.section-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  font-family: "Georgia", serif;
  font-size: 20px;
  font-weight: 600;
  color: #3b2a1a;
  margin-bottom: 18px;
}

/* Base */
.section-title::before,
.section-title::after {
  content: "";
  flex: 1;
  height: 3px;
  background-color: #3b2a1a;
  opacity: 0.6;
}

/* LEFT line — taper ONLY at the far left end */
.section-title::before {
  clip-path: polygon(
    0 50%,     /* tip at FAR LEFT */
    15% 0,     /* start thickening */
    100% 0,    /* full thickness near title */
    100% 100%, /* full thickness near title */
    15% 100%   /* start thickening */
  );
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 100%);
}

/* RIGHT line — taper ONLY at the far right end */
.section-title::after {
  clip-path: polygon(
    100% 50%,  /* tip at FAR RIGHT */
    85% 0,     /* start thickening */
    0 0,       /* full thickness near title */
    0 100%,    /* full thickness near title */
    85% 100%   /* start thickening */
  );
  -webkit-mask-image: linear-gradient(to left, transparent 0%, black 100%);
}


/* Base */
.story .section-title::before,
.story .section-title::after {
  content: "";
  flex: 1;
  height: 3px;
  background-color: #fff;
  opacity: 0.6
}

/* LEFT line — taper ONLY at the far left end */
.story .section-title::before {
  clip-path: polygon(
    0 50%,     /* tip at FAR LEFT */
    15% 0,     /* start thickening */
    100% 0,    /* full thickness near title */
    100% 100%, /* full thickness near title */
    15% 100%   /* start thickening */
  );
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 100%);
}

/* RIGHT line — taper ONLY at the far right end */
.story .section-title::after {
  clip-path: polygon(
    100% 50%,  /* tip at FAR RIGHT */
    85% 0,     /* start thickening */
    0 0,       /* full thickness near title */
    0 100%,    /* full thickness near title */
    85% 100%   /* start thickening */
  );
  -webkit-mask-image: linear-gradient(to left, transparent 0%, black 100%);
}

.header {
  background-image: url("../images/paper.png");
  background-repeat: repeat;
  padding: 1px 40px;
  display: flex;
  justify-content: space-between;
}

.header a {
  margin-left: 20px;
  text-decoration: none;
  color: #3b2a1a;
  font-size:16px;
  font-weight:bold;
}

.header nav {
  display: flex;
  align-items: center;        /* center nav items vertically */
  gap: 25px;                  /* spacing between links */
}


nav {
 /* margin: 0 auto;           👈 centers the nav */
}

.header nav a {
  position: relative;       /* anchor becomes the reference */
  text-decoration: none;    /* remove default underline */
  padding-bottom: 4px;      /* space for underline */
}

/* Hidden underline initially */
.header nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;                /* underline sits exactly under text */
  width: 0;
  height: 2px;
  background-color: #3b2a1a;  /* brown color */
  transition: width 0.25s ease;
}

/* On hover → underline expands under ONLY THIS link */
.header nav a:hover::after {
  width: 100%;
}

.hero {
  background: url("../images/banner.jpg") center/cover no-repeat;
  height: 75vh;
  display: flex;
  align-items: center;
}

.hero-content {
  /* background: rgba(0,0,0,0.55); */
  color: #fff;
  padding: 40px;
  margin-left: 50px;
  max-width: 500px;
}

.btn {
  background: #4a7c2f;
  color: #fff;
  padding: 12px 24px;
  text-decoration: none;
  display: inline-block;
  margin-top: 15px;
}

.btn.small {
  padding: 8px 16px;
}

h1{
	font-size:28px !important;
}


.section {
  padding: 60px;
  text-align: left;

  background-image: url("../images/paper.png");
  background-repeat: repeat;
}

.spacer{
	background-image: url("../images/paper.png");
  background-repeat: repeat;
}
.products {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
  gap: 30px;
}

.card {
  background: #fff;
  padding: 15px;
  border-radius: 6px;
 box-shadow:
    0 12px 18px -10px rgba(0, 0, 0, 0.45),
    0 6px 10px -6px rgba(0, 0, 0, 0.25);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  background-image: url("../images/card_background.png");
  background-repeat: repeat;
}

.card img {
  width: 100%;
}

.why {
  background-image: url("../images/paper.png");
  background-repeat: repeat;
  display: flex;
  justify-content: center;
  padding: 10px;
  text-align: center;
  align-item:center;
}

.story {

  background: url("../images/2.jpg") center 20%/cover  no-repeat;
  display: flex;
  padding: 60px;
  gap: 40px;
  height: 440px;        /* ✅ FIXED HEIGHT */
  padding: 3px;        /* reduce padding so content fits */
  
}

.story img {
  width: 100%;
}

.testimonial {
  background: #3a2a1f;
  color: #fff;
  padding: 40px;
  display: flex;
  gap: 30px;
}

.testimonial img {
  width: 120px;
  border-radius: 50%;
}

footer {
 background: url("../images/footer1.jpg") center/100% 100% no-repeat;

  color: #fff;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 40px;
  padding-right: 40px;
}

.footer-grid {
  display: flex;
  justify-content: space-between;
}

.copy {
  text-align: center;
  margin-top: 20px;
}


.btn-secondary {
    background: var(--primary-green);
    color: white;
    padding: 8px 36px;
    /* display: block; */
    text-decoration: none;
    border-radius: 4px;
    font-size: 1.2rem;
	width:50%;

}

.hero-content p {
	font-size: 1.2rem;margin-bottom:2.0rem;
}
.hero-content a {
	margin-bottom:2.25rem;
}
.hero-content .center-content{
	margin-left:3.5rem;margin-top:1.75rem;
}

footer hr {
  border: none;
  height: 2px;
  margin: 0;
  margin-left: -40px;
  margin-right: -40px;
  color:#fff;
  background: repeating-linear-gradient(
    to right,
    #fff 0,
    #fff 5px,        /* shorter dash */
    transparent 5px,
    transparent 8px  /* smaller gap */
  );
}
footer a{
	display:flex;
	margin:10px;
}

.footer-links{
	display:flex;flex-direction: column;
}

.footer-links  hr {
  border: none;
  height: 2px;
  /* Gradient that fades at both ends */
  background: linear-gradient(to right, transparent, #bfa88a, transparent);
  margin: 1px 0;
}
 
.footer-links a {
  display: block;         
  text-decoration: none;
  color:#fff;
  /* The spacer line */
  border-bottom: 1px solid rgba(191, 168, 138, 0.3); 

}
 

/* taper line below each anchor */
.footer-links a:not(:last-child) {
	margin-bottom:-2px;
	padding-bottom:13px;
    border-bottom: 2px solid transparent;
    border-image: linear-gradient(
        to right,
        transparent,
        #ffffff,
        transparent
    ) 1;
}

footer h2 {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  text-align: left;
  width: 100%;
  margin: 0 0 10px 0;
}

/* BASE */
footer h2::before,
footer h2::after {
  content: "";
  height: 2px;
  min-width: 55px;     /* 🔥 ensures taper never disappears */
  flex-grow: 1;         /* allow stretching */
  border-radius: 2px;
}

/* LEFT TAPER */
footer h2::before {
  background: linear-gradient(to right, transparent, #bfa88a);
}

/* RIGHT TAPER */
footer h2::after {
  background: linear-gradient(to left, transparent, #bfa88a);
}



.social-icons {
   display: flex;
    justify-content: center;  /* center group */
    align-items: center;      /* vertical center */
    gap: 14px;                /* control spacing */
    width: 100%;
}

.social-icons img {
    width: 32px;
}


/* MENU BUTTON (hidden on desktop) */
.menu-toggle {
  display: none;
  font-size: 26px;
  background: none;
  border: none;
  cursor: pointer;
}
/* MOBILE */
@media (max-width: 768px) {
  .menu-toggle {
    display: block;
  }

  .nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;

    background: #fff;
    flex-direction: column;
    gap: 0;

    display: none;
    box-shadow: 0 6px 16px rgba(0,0,0,0.15);
  }

  .nav a {
    padding: 14px 18px;
    border-bottom: 1px solid #eee;
  }

  .nav.open {
    display: flex;
  }
   .header .nav {
    display: none !important;
  }
}

/* SECTION OFFSET */
section {
  scroll-margin-top: 90px;
}
/* Mobile Devices (Screens smaller than 768px) */
@media (max-width: 768px) {
    section {
        /* Adjust this to match the height of your mobile header */
        scroll-margin-top: 60px; 
    }
}
/* DARK OVERLAY */
.mobile-menu {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);   /* 👈 soft black */
  z-index: 2000;

  display: flex;
  justify-content: center;
  align-items: center;

  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;

}

/* SHOW POPUP */
.mobile-menu.open {
  opacity: 1;
  pointer-events: auto;
}

/* POPUP CARD */
.mobile-menu .mobile-nav {
  background: #fff;
  border-radius: 18px;               /* 👈 rounded corners */
  width: 85%;
  max-width: 320px;
  padding: 30px 20px;

  display: flex;
  flex-direction: column;
  gap: 18px;

  box-shadow: 0 15px 35px rgba(0,0,0,0.35);

  transform: scale(0.9);
  transition: transform 0.3s ease;
  background-image: url("../images/paper.png");
  background-repeat: repeat;padding: 40px;
}


/* POPUP ANIMATION */
.mobile-menu.open .mobile-nav {
  transform: scale(1);
}

/* MENU LINKS */
.mobile-nav a {
  font-size: 18px;
  text-decoration: none;
  color: #3a2a1f;
  text-align: center;
  padding: 0 12px 12px 12px;
  border-radius: 0px;
  transition: background 0.2s ease;
   border-bottom: 1px solid #3b2a1a; /* line */
}

.mobile-nav a:hover {
  background: #f3efe8;
}

.mobile-nav a:last-child {
  border-bottom: none; /* remove last line */
}
/* CLOSE BUTTON */
.close-menu {
  position: absolute;
  top: 22px;
  right: 22px;

  font-size: 26px;
  background: #fff;
  border-radius: 50%;
  border: none;
  width: 40px;
  height: 40px;
  cursor: pointer;

  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

/* DESKTOP: HIDE POPUP */
@media (min-width: 769px) {
  .mobile-menu {
    display: none;
  }
}

.container {
    display: flex;
    gap: 0px;
    margin: 40px 20% ; /* Using percentage for responsive side margins */
  }

.box {
    flex: 1;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: white;
    border-radius: 8px;
    
    /* Use 'background' for gradients, not 'background-color' */
    background: linear-gradient(
        to bottom, 
        rgba(111, 78, 55, 0.7) 0%,   /* Darker coffee top */
        rgba(111, 78, 55, 0.1) 100%  /* Light transparent bottom */
    ) !important;

    /* These must stay for the "glass" look */
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px); /* Support for Safari/iOS */
    border: 1px solid rgba(111, 78, 55, 0.3);
}

/* This applies to screens smaller than 768px (tablets and phones) */
@media (max-width: 768px) {

  .box {
    height: auto;         /* Optional: adjust height for mobile */
    width: 100%;           /* Ensures they take full width of container */

  }
}

/* This targets the image specifically */
.box img {
    width: 100%;      /* Forces image to stay inside the div width */
   height: 125%;     /*  Forces image to fill the div height */
    object-fit: contain; /* Ensures image isn't squished (crops to fit) */
    display: block;
}

footer p{font-size:13px !important;}
footer a{font-size:13px !important;}

.line-basic {
  border: none;
  height: 1px;
  background: #3b2a1a;
  margin: 2px 0;
}

.why > div {
	flex:1;
	text-align:center;
    position: relative;
    padding: 0 12px;   /* space around the separator */
}

/* Add vertical line except the last box */
.why > div:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 60%;
  transform: translateY(-50%);
  height: 60%;
  width: 1px;
  background: #3b2a1a;
  opacity: 0.4;
}

@media (max-width: 768px) {
  .why > div::after {
    display: none;
  }
}


.about-line-basic {
  border: none;
  height: 1px;
  width: 50%;              /* 👈 control length here */
  margin: 8px auto;        /* 👈 centers the line */
  background: #3b2a1a;
  opacity: 0.5;
}

@media (max-width: 768px) {
  .container {
    flex-direction: column;   /* 📌 stack vertically */
    gap: 20px;                /* spacing between stacked boxes */
    margin: 20px 10%;         /* reduce margin for mobile */
  }

  .box {
    width: 100%;              /* full width for each box */
    height: auto;             /* natural height */
  }
}

.why-icon {
  position: relative;
  display: inline-block;
  margin-bottom: 12px;
}

/* LEFT subtle bow (very gentle) */
.why-icon::before {
  content: "";
  position: absolute;
  right: 80%;               /* attach to left of icon */
  top: 50%;
  width: 130px;
  height: 8px;               /* 🔥 very small height = gentle curve */
  border-top: 2px solid #3b2a1a;
  border-radius: 100%;
  transform: translateY(-50%) rotate(-3.0deg);
  opacity: 0.5;
}

/* RIGHT subtle bow (mirror) */
.why-icon::after {
  content: "";
  position: absolute;
  left: 80%;                /* attach to right of icon */
  top: 50%;
  width: 130px;
  height: 8px;
  border-top: 2px solid #3b2a1a;
  border-radius: 100%;
  transform: translateY(-50%) rotate(3.0deg);
  opacity: 0.5;
}

@media (max-width: 768px) {
  .why {
    flex-direction: column;   /* 👈 stack vertically */
    align-items: center;
    gap: 50px;                /* spacing between items */
  }

  .why > div {
    width: 100%;
    max-width: 420px;         /* keeps it neat, not too wide */
    padding: 0 10px;
  }
}

#contact-us{
	font-weight:bold;
}

@media (max-width: 768px) {
  .hero {
    height: auto;
    padding: 60px 20px;
    text-align: center;
    background-position: center;
  }

  .hero-content {
    margin-left: 0;
    padding: 0px;
    max-width: 100%;
  }

  .hero-content h1 {
    font-size: 22px !important;
    line-height: 1.3;
  }

  .hero-content h3 {
    font-size: 14px;
	  text-align: center !important;   
  }

  .hero-content .center-content {
    margin-left: 0 !important;
    margin-top: 12px;
  }
  
	.hero-content .center-content {
		margin-left: 0 !important;
		margin-top: 12px;
		text-align: center !important;   /* ⭐ ADD THIS */
	  }
}


/* Force mobile menu on landscape phones */
@media (max-height: 500px) and (orientation: landscape) {

  /* show menu toggle button */
  .menu-toggle {
    display: block !important;
  }

  /* hide desktop nav completely */
  .header .nav {
    display: none !important;
  }

  /* adjust header layout */
  .header {
    padding: 4px 20px;
  }

  /* hero adjustments (optional) */
  .hero {
    height: auto;
    padding: 40px 20px;
    text-align: center;
  }

  .hero-content {
    margin-left: 0 !important;
    max-width: 100%;
  }
}

@media (max-height: 500px) and (orientation: landscape) {
  .mobile-menu {
    display: flex !important;
  }
}
.section-title {
    width: 100% !important;
    display: flex !important;
}

.section-title span {
  white-space: nowrap;
}

/* Footer right column: show ONLY right taper */
.footer-grid > div:last-child h2::before {
  display: none;
}

.footer-grid > div:last-child h2::after {
  display: block;
}

.testimonial-card {
  display: flex;
  align-items: center;
  gap: 24px;

  background: url("../images/parchment.jpg") center/cover no-repeat;
  padding:2px;
  border-radius: 12px;

  max-width: 475px;
  margin: 1px auto;

  box-shadow: 0 10px 25px rgba(0,0,0,0.25);
   position: relative;
    padding: 20px 30px 20px 160px; 
	font-weight:bold;
	max-height:160px;
}

/* LEFT IMAGE */
.testimonial-img img {
  width: 200px;
  height: auto;
  object-fit: cover;
  border-radius: 10px;
}

/* RIGHT CONTENT */
.testimonial-content {
  color: #3b2a1a;

}

.stars {
  color: #d4a017; /* gold */
  font-size: 25px;
  margin-top: 54px;
  text-align:right;
}

.quote {
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 8px 60px;
}

.author {
  font-weight: bold;
  font-size: 14px;
  margin: 0 0 8px 90px;
}

@media (max-width: 768px) {
  .testimonial-card {
    flex-direction: column;
    text-align: center;
  }

  .testimonial-img img {
    width: 120px;
    height: 120px;
  }
}



.star {
  width: 26px;
  height: 26px;
  fill: url(#goldGradient);
  filter: drop-shadow(0 0 2px rgba(0,0,0,0.4));
}
.testimonial-top-stars {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%); /* moves halfway ABOVE border */
  display: flex;
  gap: 6px;
  z-index: 10; /* ensure it stays above background */
}

.gold-star {
  width: 26px;
  height: 26px;
  fill: #f2c84b; /* gold */
  filter: drop-shadow(0 0 4px rgba(0,0,0,0.4));
}

.testimonial-img {
  position: absolute;
  top: -15px;     /* 👈 moves image upward */
  left: 20px;     /* adjust as needed */
   z-index: 5;
}



@media (max-width: 768px) {
  .testimonial-img {
    position: static;
    margin-top: -60px; /* pops slightly above */
  }
}


/* MOBILE FOOTER FIX */
@media (max-width: 768px) {
  .footer-grid {
    flex-direction: column;   /* stack vertically */
    gap: 30px;                /* spacing between the 3 blocks */
  }

  .footer-grid > div {
    width: 100%;              /* full width */
    text-align: center;       /* center content */
  }

  footer h2::before,
  footer h2::after {
    min-width: 20px !important; /* make tapers fit mobile */
  }
}
/* ======================================================
   COMPLETE MOBILE RESET (fixes desktop override issue)
   ====================================================== */
@media (max-width: 768px) {

  .testimonial-card,
  .testimonial-card * {
       /* 🔥 removes ALL desktop styling */
  }

  /* Rebuild clean mobile version */
  .testimonial-card {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 14px !important;

    width: 100% !important;
    padding: 12px 15px 20px !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;

    background: url("../images/parchment.jpg") center/cover no-repeat !important;
    position: relative !important;
  }

  /* ⭐ Stars (top center) */
    .testimonial-top-stars {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    z-index: 10 !important;
	left:60% !important;
  }

  .testimonial-top-stars svg {
    width: 24px !important;
    height: 24px !important;
    fill: #f2c84b !important;
    filter: drop-shadow(0 0 4px rgba(0,0,0,0.4)) !important;
  }

  /* 🧑 Person image on left */
  .testimonial-img {
    margin-top: -20px !important;
    flex-shrink: 0 !important;
  }

  .testimonial-img img {
    width: 90px !important;
    height: 90px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
  }

  /* Right side text */
  .testimonial-content {
    flex: 1 !important;
    color: #3b2a1a !important;
    text-align: left !important;
  }

  .quote {
    margin: 10px 0 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
  }

  .author {
    font-size: 13px !important;
    font-weight: bold !important;
    margin-bottom: 4px !important;
  }

  .stars {
    font-size: 18px !important;
    margin-top: 4px !important;
  }
}
@media (max-height: 500px) and (orientation: landscape) {
	
	 .footer-grid {
    flex-direction: column;
    gap: 30px;
  }

  .footer-grid > div {
    width: 100%;
    text-align: center;
  }

  footer h2 {
    justify-content: center;
  }

  footer h2::before,
  footer h2::after {
    min-width: 30px;
  }

.container {
    
   
    margin: 20px 10%;         /* reduce margin for mobile */
  }

  .box {
    width: 50%;              /* full width for each box */
    height: auto;             /* natural height */
  }
  
 
}