:root {
  --black: #0d0d0d;
  --dark-gray: #1a1a1a;
  --medium-gray: #2e2e2e;
  --light-gray: #dcdcdc;
  --green: #00c853;
  --green-hover: #00b04a;
  --text-light: #f5f5f5;
  --rgba(240,193,71,255): rgba(240,193,71,255);
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Inter', sans-serif;
  background-color: white;
  background-image: url('https://i.postimg.cc/SNPbQSWw/image-2.png');
  color: var(--text-light);
  line-height: 1.6;
}






header {
  background: rgba(240,193,71,255);
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px; /* space between text and logo */
  box-shadow: 0 2px 8px rgba(0,0,0,0.4);
}


footer {
  background: rgba(240,193,71,255);
  height: 70px; /* Same as header */
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 -2px 8px rgba(0,0,0,0.4);
  padding: 0; /* Remove extra padding to match header */
}



}

header h1, footer h2 {
  font-size: 32px;
  font-weight: bold;
  color: black;
  text-align: center;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.feature-text {
  font-family: 'Open Sans', sans-serif;
  font-size: 40px;
  font-weight: 600;
  color: rgba(240,193,71,255);
  margin-top: 10px;
  margin-left: 18px;
  line-height: 1.8
}

main {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
  padding: 40px;
  max-width: 1780px;
  margin: 0 auto;
}


.image-row {
  display: flex;
  flex-direction: row;
  gap: 30px;
  justify-content: flex-start;  /* ensures items stay left-aligned */
  align-items: flex-start;
  margin-bottom: 5rem;
}


.machine-image {
  width: 500px;         /* or try max-width: 100%; */
  height: auto;
  object-fit: contain;
  flex-shrink: 0;       /* prevents image from shrinking, but keeps them stable */
}

.form-container {
  position: relative;  /* ✅ Required for top to work */
  top: -20px;           /* ✅ Moves form downward visually */
  margin-right: 60px;
  margin-left: auto;
  width: 520px;
  flex: 0 0 520px;
  background-color: rgba(240,193,71,255);
  backdrop-filter: blur(6px);
  padding: 20px;
  border-radius: 15px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.6);
}


.form-container h2 {
  font-size: 30px;
  font-weight: bold;
  color: var(--rgba(240,193,71,255));
  background-color: var(--black);
  padding: 10px 0;
  border-radius: 15px 6px 0 0;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-align: center;
  margin: 0;
  width: 100%;
}





label {
  display: block;
  margin-top: 15px;
  font-weight: 600;
  font-size: 14px;
  color: black;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
  width: 100%;
  padding: 12px;
  border-radius: 6px;
  border: 1px solid #444;
  background-color: white;  /* ✅ White background */
  color: black;             /* ✅ Black text */
  font-size: 15px;
  transition: 0.2s ease;
}






button {
  margin-top: 25px;
  width: 100%;
  padding: 12px;
  font-size: 16px;
  font-weight: bold;
  color: var(--rgba(240,193,71,255));;
  background: black;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  box-shadow: 0 0 10px rgba(0, 200, 83, 0.4);
  transition: background-color 0.3s ease, transform 0.2s ease;
}

button:hover {
  background-color: black;
  transform: translateY(-2px);
}

button:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 255, 0, 0.5); /* Soft rgba(240,193,71,255) focus */
}

.footer-content {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: 100%;
}



.contact-info {
  display: flex;
  justify-content: center;
  gap: 40px;
  font-size: 15px;
  margin-top: 10px;
  color: black;
}

.contact-info span {
  display: flex;
  align-items: center;
  gap: 8px;
}

.icon {
  width: 18px;
  height: 18px;
  fill: black; /* ✅ Change icon color to black */
  transition: transform 0.2s ease;
}



.icon:hover {
  transform: scale(1.1);
}





.image-row img.left-shift {
  margin-left: 75px /* Move it up or down as needed */
  
}

.image-row img.image-two-left {
  width: 25%;
  margin-left: 110px;
  margin-top: -4px;
}



.quote-wrapper {
  margin-top: 10px; /* or whatever spacing you want */
  margin-left: 106px
}


:root {
  --black: #0d0d0d;
  --dark-gray: #1a1a1a;
  --medium-gray: #2e2e2e;
  --light-gray: #dcdcdc;
  --green: #00c853;
  --green-hover: #00b04a;
  --text-light: #f5f5f5;
  --rgba(240,193,71,255): rgba(240,193,71,255);
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Inter', sans-serif;
  background-color: white;
  background-image: url('https://i.postimg.cc/SNPbQSWw/image-2.png');
  color: var(--text-light);
  line-height: 1.6;
}




header {
  background: rgba(240,193,71,255);
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0px; /* space between text and logo */
  box-shadow: 0 2px 8px rgba(0,0,0,0.4);
}


footer {
  background: rgba(240,193,71,255);
  height: 70px; /* Same as header */
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 -2px 8px rgba(0,0,0,0.4);
  padding: 0; /* Remove extra padding to match header */
}



}

header h1, footer h2 {
  font-size: 32px;
  font-weight: bold;
  color: black;
  text-align: center;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.feature-text {
  font-family: 'Bree Serif', 'Georgia', serif;
  font-size: 40px;
  font-weight: 300;
  color: rgba(240,193,71,255);
  margin-top: 10px;
  margin-left: 3.875rem;
  line-height: 1.8;
  
}

main {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
  padding: 40px;
  max-width: 1780px;
  margin: 0 auto;
}



.image-row {
  display: flex;
  flex-direction: row;
  gap: 30px;
  justify-content: flex-start;  /* ensures items stay left-aligned */
  align-items: flex-start;
}


.machine-image {
  width: 500px;         /* or try max-width: 100%; */
  height: auto;
  object-fit: contain;
  flex-shrink: 0;       /* prevents image from shrinking, but keeps them stable */
}

.form-container {
  position: relative;
  top: 0;
  margin-top: -60px;
  margin-right: 60px;
  margin-left: auto;
  width: 520px;
  background-color: rgba(240,193,71,255);  /* ✅ Yellow background restored */
  backdrop-filter: blur(6px);
  padding: 20px;
  border-radius: 15px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.6);
}

.form-container h2 {
  font-size: 35px;
  font-family: 'Bree Serif', 'Georgia', serif;
  font-weight: 200;
  color: rgba(240,193,71,255);                /* ✅ Yellow text on black background */
  background-color: black;      /* ✅ Black banner restored */
  padding: 10px 0;
  border-radius: 15px 6px 0 0;
  text-transform: uppercase;
  letter-spacing: 3px;
  text-align: center;
  margin: 0;
  width: 100%;
}







label {
  display: block;
  margin-top: 15px;
  margin-bottom: 6px;
  font-weight: 600;
  font-size: 14px;
  color: black;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
  width: 100%;
  padding: 12px;
  margin-bottom: 6px;
  border-radius: 6px;
  border: 1px solid #444;
  background-color: white;  /* ✅ White background */
  color: black;             /* ✅ Black text */
  font-size: 15px;
  transition: 0.2s ease;
}








button {
  margin-top: 25px;
  width: 100%;
  padding: 12px;
  font-size: 16px;
 
  font-weight: 700;
  letter-spacing:2px;
  color: rgba(200,150,30,255);
  background: black;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  box-shadow: 0 0 10px rgba(240, 193, 71, 0.4);
  transition: background-color 0.3s ease, transform 0.2s ease;
}

button:hover {
  background-color: black;
  transform: translateY(-2px);
}

button:focus,
input[type="submit"]:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.8) !important;
}


.footer-content {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: 100%;
}



.contact-info {
  display: flex;
  justify-content: center;
  gap: 40px;
  font-size: 15px;
  margin-top: 10px;
  color: black;
}

.contact-info span {
  display: flex;
  align-items: center;
  gap: 8px;
}

.icon {
  width: 18px;
  height: 18px;
  fill: black; /* ✅ Change icon color to black */
  transition: transform 0.2s ease;
}



.icon:hover {
  transform: scale(1.1);
}



.image-left {
  margin-right: 10px; /* Adjust as needed (e.g., -50px or -10px) */
}

.image-two-left {
  width: 400px;
  margin-left: -120px;
  margin-top: -67px;
  transform: scaleY(1.02);
}




.left-shift { /* 3 door one */
  width: 400px;
  margin-left: 35px; /* Adjust this value as needed */
  margin-top: -5px;
}

.quote-wrapper {
  margin-top: 10px; /* or whatever spacing you want */
  margin-left: 106px
}




.mid-banner {
  height: 235px;
  background: rgba(240,193,71,255); /* dark gradient to match header */
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding-top: 10px;   /* reduced from default */
  padding-bottom: 10px; /* reduced from default */
  margin-top: -90px
}

.banner-quote {
  font-size: 50px;
  font-family: 'Bree Serif', Georgia, serif;
 
  font-style: bold;
  font-weight: 800;
  color: black;
  line-height: 1.4;
  max-width: 1800px;
}

.banner-quote span {
  display: block;
  margin-top: 10px;
}

.seamless-banner {
  background-color: white;
  background-image: url('https://i.postimg.cc/SNPbQSWw/image-2.png');
  background-repeat: repeat;
  height: 525px;

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

  padding: 0 20px; /* optional: adds small side padding */
}

.carousel-inner-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 100%;
  margin-top: -20px; /* ✅ This controls how far down the carousel sits */
}



.carousel-wrapper {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 100%;
  margin:10px auto 0 auto;  /* ✅ Move carousel down (adjust 30px as needed) */
  gap: 10px;
}





.carousel-container {
  overflow: hidden;
  flex: 1;              /* Automatically fills remaining space */
}


.carousel-track {
  display: flex;
  transition: transform 0.4s ease;
}

.carousel-item {
  min-width: 500px;
  height: 300px; /* shorter height for horizontal look */
  margin-right: 20px;
  background-color: #fff;
  border-radius: 10px;
  flex-shrink: 0;
}

.carousel-item img {
  border-radius: 20px;
}

.carousel-btn {
  background: black !important;
  border: 2px solid black;
  color: rgba(240,193,71,255);  /* Makes arrow/icon black */
  font-size: 20px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  cursor: pointer;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  box-shadow: none;
}

.carousel-btn .arrow {
  display: inline-block;
  transition: transform 0.2s ease;
}

.carousel-btn:hover .arrow {
  transform: scale(1.05);
}

.carousel-btn:hover {
  background-color: black; /* Keep background black on hover */
  border-color: black;     /* Keep border black on hover */
  transform: scale(1.2);
}

button:focus,
input[type="submit"]:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 255, 0, 0.5); /* Soft rgba(240,193,71,255) focus */
}






.carousel-title {
  font-size: 40px;
  font-family: 'Bree Serif', 'Georgia', serif;
  color: rgba(240,193,71,255);
  text-align: center;
  margin-bottom: 20px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1px;

  position: relative;
  top:  5px; /* ✅ Moves text up visually without affecting layout */
}



.form-row {
  display: flex;
  gap: 20px;
}

.form-group {
  flex: 1;
  display: flex;
  flex-direction: column;
}





.form-inner {
  position: relative;
  top: 0px; /* Moves the form contents upward without shifting layout */
}

.horizontal-contact {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 20px;
   /* ← Move everything right manually */
}



.footer-vertical-line {
  width: 2px;
  height: 30px;
  background-color: black;
}

.single-contact {
  font-family: 'Bree Serif', 'Georgia', serif;
  display: flex;
  align-items: center;
  gap: 4px;
  color: black;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 2px;
}

.single-contact .icon {
  width: 30px;
  height: 26px;
  fill: black;
  margin-top: 4px;
}

footer h2 {
  font-family: 'Cinzel', 'Times New Roman', serif;
  font-weight: 800;
  font-size: 25px;
  letter-spacing: 3px;
  color: black; /* Fixes text color */
  margin-top: 6px;
}

header h1 {
  font-size: 40px;
  color: black; /* Ensures header text stays black */
}

header img {
  height: 65px;
  position: static; /* removes absolute positioning */
}



.feature-text span,
.carousel-title span {
  background-color: black;
  padding: 0 6px;
}

.caesar-font {
  font-family: 'Cinzel', 'Times New Roman', serif;
  font-weight: 800;
  font-size: 32px;
  letter-spacing: 4px;
}

.selections-font {
  font-family: 'Bree Serif', 'Georgia', serif;
  font-size: 35px;
  font-weight: 200;
  letter-spacing: 3px;
}

.banner-quote {
  margin-top: -0.22rem; /* You can tweak this value */
}
 



Desktop container utility class:
.container {
  max-width: 1536px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

@media (min-width: 1600px) {
  /* give both images a common height and free width */
  .image-row img  {
    height: 460px !important;   /* same value you used before */
    width : auto   !important;
    object-fit: contain;
  }
  /* wipe the leftover 25 % width */
  .image-row img.image-two-left{
    width     : auto !important;
    max-width : none !important;
    margin-left: 2;/* optional – tidy the offset */
    margin-top: -0.535rem;
  }
  .form-container
  {
    margin-top: -3.125rem !important;
  }
  
  .feature-text
  {
    margin-left: 108px;
  }
  
  .quote-wrapper{
    /* Piece-wise margin-left:
       ─  −5 px   at 1600 px
       ─  55 px   at 1920 px
       ─ 375 px   at 2560 px and above                        */

    margin-left: calc(
        /* ➊ 1600 → 1920 : −5 → 55  (slope 0.1875 px per px) */
        clamp(
          -5px,
          calc(-5px + 0.1875 * (100vw - 1600px)),
          55px
        )
        +
        /* ➋ 1920 → 2560 :  0 → 320 (slope 0.5 px per px)  */
        clamp(
          0px,
          calc(0.5 * (100vw - 1920px)),
          320px
        )
    );
  }
}

@media (min-width: 2000px) {
  .form-container label{
    /* bigger just for tablets */
    font-size: 1.25rem;
  }
  
  .form-container{
      margin-top:-5rem !important;   /* now wins */
  }
  
.form-container input,
  .form-container textarea {
      font-size: 1rem;      /* ← actual input text */
  }

  /* placeholder text (modern browsers) */
  .form-container input::placeholder,
  .form-container textarea::placeholder {
      font-size: 1rem;      /* ← placeholder text */
  }  
  }
}

/* laptop */
@media (min-width: 1366px) and (max-width: 1599px) {
  
    /* restore the side-by-side layout that smaller break-points turned off */
  main{
    flex-direction:row;
    align-items:flex-start;
  }

  /* put the images back to their desktop sizes/positions */
  .image-row{
    flex-direction:row;
    justify-content:flex-start;
    align-items:flex-start;
    gap:1.875rem;
    margin-bottom:5rem;
    margin-top:-1rem;
    margin-left: 1.2rem;
  }
  .machine-image{
    width:31.25rem;
    max-width:none;
    height:auto;
  }
  
  /* same visual height, auto width keeps each aspect-ratio */
  .image-row img{
   height: 320px !important;   /* pick the number that feels right */
   width:  auto  !important;
   object-fit: contain;
  }

  /* kill any lingering per-image widths from smaller break-points */
  .image-row img.left-shift,
  .image-row img.image-two-left{
    width: auto !important;     /* removes 25 %, 400 px, etc. */
    max-width:none !important;  /* removes old 120 px/160 px ceilings */
    }

  /* undo any phone/tablet tweaks to the yellow form */
  .form-container{
    flex: 0 0 1!important;   /* ❶ new flex-basis (was 520px) */
    width: 7.5rem !important;      /* ❷ keep width in sync         */
    max-width: 37.5rem !important;  /* ❸ guard against other rules  */
    transform: scale(0.70) ;
    padding: 1rem !important;     /* optional: tighter inside space */
    top: -4.75rem !important;        /* optional: lift it back up a bit */
  }
  
  .form-container button{
  font-size: 1.2rem !important;   /* was 1 rem → tweak to suit */
  padding: 0.8rem !important;     /* grows the button vertically */
  }

  /* reset any font tweaks you made in small break-points */
  /* headline — centre it instead of pushing it left */
  .feature-text{
    font-size: 1.875rem;       /* keep your chosen size          */
    margin: 1.5rem 0 0 1.2rem; /* top -- right -- bottom -- LEFT */
                               /* 1.2 rem  =  the .image-row left offset */
    text-align: left !important;  /* left-align the words again   */
    max-width: none;              /* let it stretch naturally     */
  }

  .banner-quote{font-size:2.813rem;}

   
  .mid-banner{
  margin-top: -11rem !important;     /* a small negative value lifts it */
  }
  
  .carousel-inner-wrapper{
  margin-top: 0rem;   /* roughly –20 px; make the number  larger
                             (–1.5rem, –2rem…) to pull it higher,
                         or smaller to fine-tune */
  }
 
  footer{
  margin-top: -5rem; /* ≈ –20 px – tweak to –1rem, –       1.5rem, … */
  /* keep the rest of your footer styles unchanged */
   margin-bottom: px;
  }
  
  
  
  /* 1 Let the banner shrink to its real content height */
  .seamless-banner{
  height:450px;          /* instead of 525 px               */
  padding-bottom:2rem;  /* optional – tiny breathing room  */
  }

  /* 2 Kill any extra margin that the carousel may add */
  .carousel-wrapper{
  margin-bottom:0;      /* was 10 px, 20 px … remove it   */
  }

/* 3 Keep the footer glued to the bottom of the page
      but allow it to move up as the banner shrinks   */
  body{
  display:flex;
  flex-direction:column;
  min-height:100vh;     /* full viewport height            */
  }

  footer{
  margin-top:auto;      /* pushes footer down only as far
                           as the content above requires  */
  }
  
  html, body{
  overflow-x:hidden;   /* prevents any horizontal scroll bar */
  }
  
 


  /* vertical divider (already in your HTML) */
  .footer-vertical-line{
  width:2px;
  height:40px;                  /* tweak height to taste       */
  background:black;
  justify-self:center;          /* makes sure it’s dead centre */
  }

/* right-hand e-mail block sits flush left */
  .single-contact{
  justify-self:start;           /* sits tight to the divider  */
  display:flex;                 /* keep icon + text together  */
  align-items:center;
  gap:0.25rem;                  /* icon / text spacing        */
  }

  /* ---------- FOOTER 3-column grid ---------- */
  /* place AFTER the previous footer-grid snippet (or just replace it) */
  footer .horizontal-contact{
  display: grid;
  grid-template-columns: 1fr   /* “CONTACT US”  */
                         auto  /* vertical bar  */
                         1fr;  /* icon + email  */
  align-items: center;
  column-gap: 1rem;

  /* ---- NEW ---- */
  width: 100%;          /* stretch the grid the full banner width   */
  max-width: none;      /* remove the old 32 rem constraint         */
  padding: 0 1.25rem;   /* optional side-padding inside yellow bar  */
  margin: 0;            /* keep it flush – banner already centred   */
  }

/* keep these helpers (unchanged) */
  footer h2           { justify-self: end;  margin: 0; }
  
  .footer-vertical-line{
  width: 2px; height: 40px; background: black; justify-self: center;
  }

  .single-contact     { justify-self: start; display: flex; gap: .25rem; }
   
  .quote-wrapper{
    /* 100 px at 1366 → ~350 px at 1919, capped at 350 */
    margin-left: clamp(100px, calc((100vw - 1366px)*0.45 + 100px), 350px);
  }
  
  
  
  
}


  
    

/* xl large tablet */
@media (min-width: 1024px) and (max-width: 1365px) {
  main{
  flex-direction: column !important;   /* was row on        desktop */
  align-items: center !important;      /* centre           everything horizontally */
  }
    /* Image row stays left-aligned */
  .image-row{
  display:flex;
  justify-content:center;
  align-items:flex-end;   /* bottoms line-up */
  gap:4rem;
  margin: 0 auto;
  flex-wrap: nowrap;
  }

  .machine-image{
  width:45%!important;
  max-width:8.5rem!important;
  height:auto!important;
  object-fit:contain;
  }

   
  /* neutralise old negative margins / offsets */
  .image-row img.left-shift,
  .image-row img.image-two-left{
  margin:0!important;
  position:static!important;
 
  }

  /* ---- FINAL image override (put this last in the media-query) ---- */
  .image-row img{
  height: 12.5rem !important;   /* common visual height */
  width:  auto  !important;   /* let each image decide its width */
  max-width: none !important; /* remove the 120-px ceiling       */
  object-fit: contain;
  }
  
   
   
   
   
  .image-row img.left-shift{
  margin-left: 0 !important;   /* kill the 35-px shove */
    
  }
  
  .image-row{
  width: 100%;
  margin: -0.094;  /* keeps the row centred */
  margin-top: 0.4rem;
  }
  
  .image-row img{
  height: 28rem !important;    /* was 12.5 rem → pick what looks right */
  width:  auto  !important;    /* keep natural proportions             */
  }

   .banner-quote {
    font-size: 2.5rem;
    font-family: 'Bree Serif', Georgia, serif;
    font-weight: 900;
    font-weight: 600;
    color: black;
    line-height: 1.4;
    max-width: none;
  }
   
   .feature-text {
    padding-left: 0 !important;
    text-align: left;
    font-size: 4rem;
    margin-top: 1.5rem;
    line-height: 1.35
  }
  
  .feature-text span {
  margin: 0;
  padding: 0;
  letter-spacing: 
  }
  
  .feature-text{
  margin: 1.5rem auto 0 auto !important;   /* auto side-margins → centred */
  text-align: center !important;           /* text itself centred         */
  }
  
      
  .quote-wrapper{
  margin-left: 0 !important;   /* remove the 106-px shove */
  padding-left: 0 !important;  /* (optional) clear any left padding */
  text-align: center;          /* keep the span centred */
  }
   
   .seamless-banner {
    height: 30rem;
  }
   .carousel-title {
     margin-top:0px
  }
  
  .horizontal-contact {
    margin-left:0px
  }
  
  .form-container{
  width: 100% !important;          /* full phone width without overflow */
  max-width: none !important;
  
  /* space AROUND the form */
  margin: 0rem 0 0 0 !important;   /* 2 rem gap above, flush sides */
  
  margin-top: -0.625 !important;
  margin-bottom: 5rem !important;
  /* space INSIDE the yellow box */
  padding: 1.25rem !important;     /* ≈ 20 px on all four sides  */
  
  box-sizing: border-box;          /* padding counts inside the 100 % width */
  }  
  
  button[type="submit"],
  button{
    font-size: 1.5rem !important;  /* pick your size */
    padding: 1rem !important;
  }
  
  .form-container h2{
    font-size: 2.5rem !important;  /* larger just for this width */
    padding: 0.9rem 0 !important;
  }
  
  .form-container label{
    font-size: 1.25rem !important; /* bigger just for tablets */
    font-weight: 600;
    margin-top: 0.5rem !important;
  }
  
  .form-container input::placeholder,
  .form-container textarea::placeholder{
  font-size: 1.1rem !important;
  }
  
  /* ---------- FOOTER 3-column grid ---------- */
  /* place AFTER the previous footer-grid snippet (or just replace it) */
  footer .horizontal-contact{
  display: grid;
  grid-template-columns: 1fr   /* “CONTACT US”  */
                         auto  /* vertical bar  */
                         1fr;  /* icon + email  */
  align-items: center;
  column-gap: 1rem;

  /* ---- NEW ---- */
  width: 100%;          /* stretch the grid the full banner width   */
  max-width: none;      /* remove the old 32 rem constraint         */
  padding: 0 1.25rem;   /* optional side-padding inside yellow bar  */
  margin: 0;            /* keep it flush – banner already centred   */
  }

  /* keep these helpers (unchanged) */
  footer h2           { justify-self: end;  margin: 0; }
  .footer-vertical-line{
  width: 2px; height: 40px; background: black; justify-self: center;
  }
  .single-contact     { justify-self: start; display: flex; gap: .25rem; }
  
  
}





/* large tablet */
@media (min-width: 768px) and (max-width: 1023px) {
  
  main{
  flex-direction: column !important;   /* was row on        desktop */
  align-items: center !important;      /* centre           everything horizontally */
  }
    /* Image row stays left-aligned */
  .image-row{
  display:flex;
  justify-content:center;
  align-items:flex-end;   /* bottoms line-up */
  gap:4rem;
  margin: 0 auto;
  flex-wrap: nowrap;
  }

  .machine-image{
  width:45%!important;
  max-width:8.5rem!important;
  height:auto!important;
  object-fit:contain;
  }

   
  /* neutralise old negative margins / offsets */
  .image-row img.left-shift,
  .image-row img.image-two-left{
  margin:0!important;
  position:static!important;
 
  }

  /* ---- FINAL image override (put this last in the media-query) ---- */
  .image-row img{
  height: 12.5rem !important;   /* common visual height */
  width:  auto  !important;   /* let each image decide its width */
  max-width: none !important; /* remove the 120-px ceiling       */
  object-fit: contain;
  }
  
   
   
   
   
  .image-row img.left-shift{
  margin-left: 0 !important;   /* kill the 35-px shove */
    
  }
  
  .image-row{
  width: 100%;
  margin: -0.094;  /* keeps the row centred */
  margin-top: 0.4rem;
  }
  
  .image-row img{
  height: 28rem !important;    /* was 12.5 rem → pick what looks right */
  width:  auto  !important;    /* keep natural proportions             */
  }

   .banner-quote {
    font-size: 2.1rem;
    font-family: 'Bree Serif', Georgia, serif;
    font-weight: 900;
    font-weight: 600;
    color: black;
    line-height: 1.4;
    max-width: none;
  }
   
   .feature-text {
    padding-left: 0 !important;
    text-align: left;
    font-size: 4rem;
    margin-top: 1.5rem;
    line-height: 1.35
  }
  
  .feature-text span {
  margin: 0;
  padding: 0;
  letter-spacing: 
  }
  
  .feature-text{
  margin: 1.5rem auto 0 auto !important;   /* auto side-margins → centred */
  text-align: center !important;           /* text itself centred         */
  }
  
      
  .quote-wrapper{
  margin-left: 0 !important;   /* remove the 106-px shove */
  padding-left: 0 !important;  /* (optional) clear any left padding */
  text-align: center;          /* keep the span centred */
  }
   
   .seamless-banner {
    height: 30rem;
  }
   .carousel-title {
     margin-top:0px
  }
  
  .horizontal-contact {
    margin-left:0px
  }
  
  .form-container{
  width: 100% !important;          /* full phone width without overflow */
  max-width: none !important;
  
  /* space AROUND the form */
  margin: 0rem 0 0 0 !important;   /* 2 rem gap above, flush sides */
  
  margin-top: -0.625 !important;
  margin-bottom: 5rem !important;
  /* space INSIDE the yellow box */
  padding: 1.25rem !important;     /* ≈ 20 px on all four sides  */
  
  box-sizing: border-box;          /* padding counts inside the 100 % width */
  }  
  
  button[type="submit"],
  button{
    font-size: 1.5rem !important;  /* pick your size */
    padding: 1rem !important;
  }
  
  .form-container h2{
    font-size: 2.5rem !important;  /* larger just for this width */
    padding: 0.9rem 0 !important;
  }
  
  .form-container label{
    font-size: 1.25rem !important; /* bigger just for tablets */
    font-weight: 600;
    margin-top: 0.5rem !important;
  }
  
  .form-container input::placeholder,
  .form-container textarea::placeholder{
  font-size: 1.1rem !important;
  }


  
    
  }
   




/* mid tablet */
@media (min-width: 683px) and (max-width: 767px) {
  
  main{
  flex-direction: column !important;   /* was row on        desktop */
  align-items: center !important;      /* centre           everything horizontally */
  }
    /* Image row stays left-aligned */
  .image-row{
  display:flex;
  justify-content:center;
  align-items:flex-end;   /* bottoms line-up */
  gap:4rem;
  margin: 0 auto;
  flex-wrap: nowrap;
  }

  .machine-image{
  width:45%!important;
  max-width:8.5rem!important;
  height:auto!important;
  object-fit:contain;
  }

   
  /* neutralise old negative margins / offsets */
  .image-row img.left-shift,
  .image-row img.image-two-left{
  margin:0!important;
  position:static!important;
 
  }

  /* ---- FINAL image override (put this last in the media-query) ---- */
  .image-row img{
  height: 12.5rem !important;   /* common visual height */
  width:  auto  !important;   /* let each image decide its width */
  max-width: none !important; /* remove the 120-px ceiling       */
  object-fit: contain;
  }
  
   
   
   
   
  .image-row img.left-shift{
  margin-left: 0 !important;   /* kill the 35-px shove */
    
  }
  
  .image-row{
  width: 100%;
  margin: -0.094;  /* keeps the row centred */
  margin-top: 0.4rem;
  }
  
  .image-row img{
  height: 20rem !important;    /* was 12.5 rem → pick what looks right */
  width:  auto  !important;    /* keep natural proportions             */
  }

   .banner-quote {
    font-size: 1.93rem;
    font-family: 'Bree Serif', Georgia, serif;
    font-weight: 900;
    font-weight: 600;
    color: black;
    line-height: 1.4;
    max-width: none;
  }
   
   .feature-text {
    margin-left: -6.625rem!important;
    padding-left: 0 !important;
    text-align: left;
    font-size: 3rem;
    margin-top: 1.5rem;
    line-height: 1.35
  }
  
  .feature-text span {
  margin: 0;
  padding: 0;
  letter-spacing: 
  }

   
   .seamless-banner {
    height: 30rem;
  }
   .carousel-title {
     margin-top:0px
  }
  
  .horizontal-contact {
    margin-left:0px
  }
  
  .form-container{
  width: 100% !important;          /* full phone width without overflow */
  max-width: none !important;
  
  /* space AROUND the form */
  margin: 0rem 0 0 0 !important;   /* 2 rem gap above, flush sides */
  
  margin-top: -0.625 !important;
  margin-bottom: 5rem !important;
  /* space INSIDE the yellow box */
  padding: 1.25rem !important;     /* ≈ 20 px on all four sides  */
  
  box-sizing: border-box;          /* padding counts inside the 100 % width */
  }  
  
    
  }

 /* small tablet */
 @media (min-width: 477px) and (max-width: 682px) {
   .container{
    width: 100%;
  }
  
  main{
  flex-direction: column !important;   /* was row on        desktop */
  align-items: center !important;      /* centre           everything horizontally */
  }
  
  .feature-text {
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-align: left;
    font-size: 1.7rem;
    margin-top: 1.5rem;
    line-height: 1.35
  }
  
  .feature-text span {
  display: inline;
  margin: 0;
  padding: 0;
  }

  

  .quote-wrapper {
  margin-left: 0 !important;
  padding-left: 0 !important;
  }

  /* Image row stays left-aligned */
  .image-row{
  display:flex;
  justify-content:center;
  align-items:flex-end;   /* bottoms line-up */
  gap:1rem;
  margin: 0 auto;
  flex-wrap: nowrap;
  }

  .machine-image{
  width:45%!important;
  max-width:7.5rem!important;
  height:auto!important;
  object-fit:contain;
  }

   
  /* neutralise old negative margins / offsets */
  .image-row img.left-shift,
  .image-row img.image-two-left{
  margin:0!important;
  position:static!important;
 
  }

  /* ---- FINAL image override (put this last in the media-query) ---- */
  .image-row img{
  height: 12.5rem !important;   /* common visual height */
  width:  auto  !important;   /* let each image decide its width */
  max-width: none !important; /* remove the 120-px ceiling       */
  object-fit: contain;
  }
  
   
   
   
   
  .image-row img.left-shift{
  margin-left: 0 !important;   /* kill the 35-px shove */
    
  }
  .image-row{
  width: 100%;
  margin: -0.094;  /* keeps the row centred */
  margin-top: 0.4rem;
  }

    
  
   .horizontal-contact {
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
   }

   .footer-vertical-line {
    display: none;
   }
  
   .single-contact {
    margin-top: -1.5rem;
    display: flex;
    align-items: center;
    gap: 0;
    color: black;
    font-size:1.2rem;
   }

   .single-contact .icon {
    width: 2rem;
    fill: black;
    
   }

   footer h2 {
   font-size: 1.5rem;
   margin: 0;
   }
  
   .caesar-font,
   .selections-font {
   font-size: 1.5rem;
   }

   header h1 {
   display: flex;
   flex-direction: row;
   align-items: baseline;
   gap: 0.4rem; /* Try rem, not px */
   font-size: 1.4rem;
   margin: 0;
   }
  
   header img {
   width: 3rem;
   height: auto;

   }
  
   body {
   overflow-x: hidden;
   }
  
  .carousel-title {
  font-size: 2.3rem;
  margin-top: 0.5rem;       /* Pushes title down from top */
  margin-bottom: -0.5rem;  /* Adds space between title and   carousel */
  text-align: center;
  line-height: 1.2;
  }

  /* Carousel Styling */
  .carousel-wrapper {
  margin-top: 2rem; /* Adjust this only if you want to move the    carousel block itself */
  }
  
  /* ----------------- 320 – 474 px overrides ----------------- */

  /* make the form stretch edge-to-edge */


  .form-container{
  width: 100% !important;          /* full phone width without overflow */
  max-width: none !important;
  
  /* space AROUND the form */
  margin: 0rem 0 0 0 !important;   /* 2 rem gap above, flush sides */
  
  margin-top: -0.625 !important;
  margin-bottom: 5rem !important;
  /* space INSIDE the yellow box */
  padding: 1.25rem !important;     /* ≈ 20 px on all four sides  */
  
  box-sizing: border-box;          /* padding counts inside the 100 % width */
  }  
 
  /* stack the two inputs in each row (you added this earlier) */
  .form-row{
  flex-direction: column !important;
  gap: 0.75rem;
  }

  .form-group{
  width: 100% !important;       /* each input spans full width */
  }

   
  .form-container h2{
  font-size: 1.8rem !important;   /* pick any size you like */
  letter-spacing: 2px;             /* optional: tighten spacing */
  padding: 0.5rem 0;               /* keeps the black banner thinner */
  } 
  /* 320–474 px  ── tighten vertical spacing inside the form */

  /* 1️⃣  shrink the gap between each stacked form-group */
  .form-row{
  gap: 0.4rem !important;          /* was 0.75rem */
  }

  /* 2️⃣  reduce space above each label */
  .form-container label{
  margin-top: 0.25rem !important;  /* was ~0.94rem (15px) */
  }

  /* 3️⃣  reduce space below each input / textarea */
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  textarea{
  margin-bottom: 0.3rem !important;/* was 6px (~0.38rem) */
  } 
  
   .mid-banner{
     padding: 1.5rem 0!important;
     height: auto !important;
   }
  .banner-quote{
    font-size: 1.5rem;   /* ≈ 25 px */
    font-weight: 600;
  }
   .seamless-banner{
   height: 28.125rem;
  padding-bottom: 0 !important;  /* remove any bottom padding    */
  }
   
  }
  
/* phone */
 @media (min-width: 320px) and (max-width: 476px) {
   .container{
    width: 100%;
  }
  
  main{
  flex-direction: column !important;   /* was row on        desktop */
  align-items: center !important;      /* centre           everything horizontally */
  }
  
  .feature-text {
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-align: left;
    font-size: 1.7rem;
    margin-top: 1.5rem;
    line-height: 1.35
  }
  
  .feature-text span {
  display: inline;
  margin: 0;
  padding: 0;
  }

  

  .quote-wrapper {
  margin-left: 0 !important;
  padding-left: 0 !important;
  }

  /* Image row stays left-aligned */
  .image-row{
  display:flex;
  justify-content:center;
  align-items:flex-end;   /* bottoms line-up */
  gap:1rem;
  margin: 0 auto;
  flex-wrap: nowrap;
  }

  .machine-image{
  width:45%!important;
  max-width:7.5rem!important;
  height:auto!important;
  object-fit:contain;
  }

   
  /* neutralise old negative margins / offsets */
  .image-row img.left-shift,
  .image-row img.image-two-left{
  margin:0!important;
  position:static!important;
 
  }

  /* ---- FINAL image override (put this last in the media-query) ---- */
  .image-row img{
  height: 12.5rem !important;   /* common visual height */
  width:  auto  !important;   /* let each image decide its width */
  max-width: none !important; /* remove the 120-px ceiling       */
  object-fit: contain;
  }
  
   
   
   
   
  .image-row img.left-shift{
  margin-left: 0 !important;   /* kill the 35-px shove */
    
  }
  .image-row{
  width: 100%;
  margin: -0.094;  /* keeps the row centred */
  margin-top: 0.4rem;
  }

    
  
   .horizontal-contact {
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
   margin-top: 0rem;
   }
   
  .horizontal-contact > h2{
  position: relative;          /* keeps it in normal flow, lets you offset */
  top: 0.3rem;                 /* positive = push downward; tweak the value */
  /* optionals:
     left/right if you need sideways nudge
     margin-bottom: 0           (if you want to remove any extra gap below)
  */
   } 

   .footer-vertical-line {
    display: none;
   }
  
   .single-contact {
    margin-top: -1.5rem;
    display: flex;
    align-items: center;
    gap: 0;
    color: black;
    font-size:1.2rem;
   }

   .single-contact .icon {
    width: 2rem;
    fill: black;
    
   }

   footer h2 {
   font-size: 1.5rem;
   margin: 0;
   }
  
   .caesar-font,
   .selections-font {
   font-size: 1.5rem;
   }

   header h1 {
   display: flex;
   flex-direction: row;
   align-items: baseline;
   gap: 0.4rem; /* Try rem, not px */
   font-size: 1.4rem;
   margin: 0;
   }
  
   header img {
   width: 3rem;
   height: auto;

   }
  
   body {
   overflow-x: hidden;
   }
  
  .carousel-title {
  font-size: 2rem;
  margin-top: 0rem;       /* Pushes title down from top */
  margin-bottom: -0.5rem;  /* Adds space between title and   carousel */
  text-align: center;
  line-height: 1.2;
  }

  /* Carousel Styling */
  .carousel-wrapper {
  margin-top: 2rem; /* Adjust this only if you want to move the    carousel block itself */
  }
  
  /* ----------------- 320 – 474 px overrides ----------------- */

  /* make the form stretch edge-to-edge */


  .form-container{
  width: 120% !important;          /* full phone width without overflow */
  max-width: none !important;
  
  /* space AROUND the form */
  margin: 0rem 0 0 0 !important;   /* 2 rem gap above, flush sides */
  
  margin-top: -0.625 !important;
  margin-bottom: 5rem !important;
  /* space INSIDE the yellow box */
  padding: 1.25rem !important;     /* ≈ 20 px on all four sides  */
  
  box-sizing: border-box;          /* padding counts inside the 100 % width */
  }  
 
  /* stack the two inputs in each row (you added this earlier) */
  .form-row{
  flex-direction: column !important;
  gap: 0.75rem;
  }

  .form-group{
  width: 100% !important;       /* each input spans full width */
  }

   
  .form-container h2{
  font-size: 1.8rem !important;   /* pick any size you like */
  letter-spacing: 2px;             /* optional: tighten spacing */
  padding: 0.5rem 0;               /* keeps the black banner thinner */
  } 
  /* 320–474 px  ── tighten vertical spacing inside the form */

  /* 1️⃣  shrink the gap between each stacked form-group */
  .form-row{
  gap: 0.4rem !important;          /* was 0.75rem */
  }

  /* 2️⃣  reduce space above each label */
  .form-container label{
  margin-top: 0.25rem !important;  /* was ~0.94rem (15px) */
  }

  /* 3️⃣  reduce space below each input / textarea */
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  textarea{
  margin-bottom: 0.3rem !important;/* was 6px (~0.38rem) */
  } 
  
  .banner-quote{
    font-size: 1.50rem;   /* ≈ 25 px */
    font-weight: 600;
  }
   .seamless-banner{
   height: 19.125rem;
  padding-bottom: 0 !important;  /* remove any bottom padding    */
  }
  .carousel-title span{
  background:black;
  padding:0;          /* remove the horizontal padding */
  display:inline;     /* make the span hug the glyphs exactly */
  }
}

@media (max-width: 682px){

  /* let the track scale down instead of overflowing */
  .carousel-container{
    width:400px;          /* claim the full viewport width      */
    overflow:hidden;     /* hide anything that might poke out  */
  }

  /* make every slide the width of the viewport (minus a tiny gap) */
  .carousel-item{
    min-width: 60vw;     /* ≈ 90 % of the screen               */
    width:     60vw;     /*     – keeps the JS happy too       */
    height:    40vw;     /* keeps the aspect-ratio reasonable  */
    margin-right: 1vw;   /* space between slides               */
    background: none;
  }

  /* image itself should fully fill the shrunken slide */
  .carousel-item img{
    width:100%;
    height:100%;
    object-fit:block;  /* no cropping */
    border-radius: 12px; /* smaller radius looks nicer here */
  }
  .carousel-btn{
  width:28px;
  height:28px;
  font-size: 16px;
  
  }
 /* 1 ─ make the banner truly full-width */
  .seamless-banner{
  padding-left:0;          /* kill the 20 px you set earlier   */
  padding-right:0;
  }

/* 2 ─ give the inner wrapper the size of the viewport */
  .carousel-inner-wrapper{
  width:90vw;             /* full viewport width              */
  max-width:none;          /* remove the old 100 % / 1780 px   */

  /* centre a 100 vw box inside the page flow */
  margin-left:calc(-50vw + 50%);   /* pulls it half its width left */
  }

/* 3 ─ be sure the track container fills the wrapper */
  .carousel-wrapper,
  .carousel-container{
  width:100%;              /* stretch from left to right       */
  margin:0;                /* no side gaps                     */
  margin-left:0.375rem;
  }

/* 4 ─ (optional) tighten each slide so its border-radius
       doesn’t leave a visible gutter                         */
  .carousel-item{
  margin-right:1rem;       /* your gap between slides          */
  border-radius:0;         /* or keep it if you like           */
  }
  
  .carousel-title{
    margin-top: 1rem !important;
    margin-bottom: 1.5rem;
  }
  
  
  
  
}