:root {
  --primary-color: #5a5c9f;
  --secondary-color: #3d447a;
  --accent-color: #F2D57F;
  --light-color: #EAF4ED;
  --dark-color: #1d1a30;
  --gradient-primary: linear-gradient(135deg, #72B88E 0%, #5a5c9f 100%);
  --hover-color: #2D6045;
  --background-color: #F7FBF8;
  --text-color: #1d1a30;
  --border-color: rgba(90,159,119,0.16);
  --divider-color: rgba(90,159,119,0.09);
  --shadow-color: rgba(26,48,37,0.07);
  --highlight-color: #C8A010;
  --main-font: 'Montserrat', sans-serif;
  --alt-font: 'Poppins', sans-serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--alt-font);font-size:clamp(14px,4vw,16px);color:var(--text-color);background-color:var(--background-color);min-height:100dvh;display:flex;flex-direction:column;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}

/* BG PATTERN */
.pattern-bg{
  background-color:var(--background-color);
  background-image:radial-gradient(circle,rgba(90,159,119,0.07) 1.5px,transparent 1.5px),radial-gradient(circle,rgba(90,159,119,0.07) 1.5px,transparent 1.5px);
  background-size:28px 28px;
  background-position:0 0,14px 14px;
}

/* ══ HEADER — split: left dark / right light ══ */
.site-header{position:relative;overflow:hidden;background:var(--dark-color);padding:0}
.header-inner{max-width:1100px;margin:0 auto;padding:.9rem 1.5rem;display:flex;align-items:center;position:relative;z-index:2}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.logo-icon{width:40px;height:40px;flex-shrink:0}
.logo-text{font-family:var(--main-font);font-weight:900;font-size:clamp(20px,4vw,28px);color:#fff;letter-spacing:.06em;text-transform:uppercase}
.logo-text em{font-style:normal;color:var(--accent-color)}
.header-bg-text{display:none;position:absolute;right:-2%;top:50%;transform:translateY(-50%);font-family:var(--main-font);font-weight:900;font-size:clamp(60px,10vw,120px);color:rgba(255,255,255,0.04);letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap;pointer-events:none;z-index:1}
@media(min-width:768px){.header-bg-text{display:block}}

main{flex:1}

/* ══ PRODUCT SECTION — centered card layout ══ */
.product-section{padding:2rem 0}
.container{width:100%;max-width:1100px;margin:0 auto;padding:0 1.5rem}

/* Centered product card */
.product-card{background:#fff;border:1px solid var(--border-color);box-shadow:0 4px 40px rgba(26,48,37,0.1);overflow:hidden}
@media(min-width:768px){.product-card{display:grid;grid-template-columns:380px 1fr}}

/* Image column with price overlay */
.card-image-col{position:relative;background:var(--light-color);min-height:280px;display:flex;align-items:center;justify-content:center;padding:1.5rem}
.product-image-wrap{width:100%;text-align:center}
.product-image-wrap picture,.product-image-wrap img{display:block;max-width:100%;height:auto;max-height:280px;object-fit:contain;margin:0 auto}
.price-overlay{position:absolute;bottom:0;left:0;right:0;background:var(--dark-color);padding:.65rem 1rem;display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}
.price-label{font-family:var(--alt-font);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.price-amount{font-family:var(--main-font);font-weight:900;font-size:clamp(22px,4vw,32px);color:var(--accent-color);letter-spacing:.02em}
.price-curr{font-family:var(--alt-font);font-size:11px;font-weight:600;color:rgba(255,255,255,.45)}

/* Content column */
.card-content-col{padding:1.75rem;display:flex;flex-direction:column;gap:1rem;border-left:1px solid var(--border-color)}
.product-eyebrow{font-family:var(--alt-font);font-size:10px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--secondary-color)}
.card-content-col h1{font-family:var(--main-font);font-weight:900;font-size:clamp(30px,6vw,52px);color:var(--dark-color);line-height:.95;letter-spacing:-.02em;text-transform:uppercase}
.card-content-col h1 em{font-style:normal;color:var(--primary-color)}
.divider{height:2px;background:var(--accent-color);width:40px}
.product-description{font-family:var(--alt-font);font-size:13.5px;line-height:1.8;color:rgba(26,48,37,.74)}

/* Guarantee strip inside card */
.guarantee-strip{background:var(--primary-color);padding:.8rem 1rem;display:flex;align-items:center;gap:.65rem;margin:0 -1.75rem;padding-left:1.75rem;padding-right:1.75rem}
.guarantee-icon{flex-shrink:0;width:18px;height:18px;color:#fff}
.guarantee-strip p{font-family:var(--main-font);font-weight:700;font-size:12px;color:#fff;text-transform:uppercase;letter-spacing:.05em}
.guarantee-strip span{display:block;font-family:var(--alt-font);font-weight:400;font-size:11px;color:rgba(255,255,255,.6);text-transform:none;margin-top:1px}

.btn-cart{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:52px;padding:.95rem 1.5rem;background:var(--accent-color);color:var(--dark-color);font-family:var(--main-font);font-weight:900;font-size:14px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border:none;transition:background .2s,transform .15s}
.btn-cart:hover{background:var(--highlight-color);transform:translateY(-1px)}
.btn-cart svg{width:17px;height:17px}

/* CTA banner */
.cta-banner{background:var(--dark-color);padding:.85rem 1rem;margin:0 -1.75rem;padding-left:1.75rem;padding-right:1.75rem;border-top:3px solid var(--accent-color)}
.cta-banner strong{display:block;font-family:var(--main-font);font-weight:900;font-size:clamp(13px,3.5vw,15px);color:var(--accent-color);line-height:1.3;text-transform:uppercase;letter-spacing:.04em}

/* ══ FEATURES ROW — horizontal pills ══ */
.features-section{background:var(--primary-color);padding:1.5rem 0;overflow:hidden}
.features-inner{max-width:1100px;margin:0 auto;padding:0 1.5rem}
.features-row{display:flex;flex-direction:column;gap:.65rem}
@media(min-width:768px){.features-row{flex-direction:row;align-items:stretch;gap:0;border:1px solid rgba(255,255,255,0.15)}}
.feature-pill{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.25rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);flex:1}
@media(min-width:768px){.feature-pill{border:none;border-right:1px solid rgba(255,255,255,.15)}.feature-pill:last-child{border-right:none}}
.feature-pill:hover{background:rgba(255,255,255,.12)}
.fp-icon{width:42px;height:42px;border-radius:50%;background:rgba(242,213,127,0.15);border:1px solid rgba(242,213,127,0.3);flex-shrink:0;display:flex;align-items:center;justify-content:center}
.fp-icon svg{width:20px;height:20px;color:var(--accent-color)}
.fp-text{display:flex;flex-direction:column;gap:.1rem}
.fp-title{font-family:var(--main-font);font-weight:700;font-size:11.5px;color:#fff;text-transform:uppercase;letter-spacing:.05em}
.fp-desc{font-family:var(--alt-font);font-size:11px;color:rgba(255,255,255,.55);line-height:1.4}

/* ══ RANDOM BAND — 3-col info boxes ══ */
.info-band{background:var(--light-color);padding:2rem 0;border-top:1px solid var(--border-color)}
.info-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--border-color);border:1px solid var(--border-color)}
@media(min-width:580px){.info-grid{grid-template-columns:repeat(3,1fr)}}
.info-box{background:#fff;padding:1.5rem 1.25rem;text-align:center}
.info-num{font-family:var(--main-font);font-weight:900;font-size:clamp(32px,6vw,52px);color:var(--primary-color);line-height:1;letter-spacing:-.02em}
.info-num sup{font-size:.45em;vertical-align:super}
.info-label{font-family:var(--alt-font);font-size:12px;color:rgba(26,48,37,.6);margin-top:.3rem;line-height:1.4}

/* ══ TESTIMONIALS — 3 columns desktop ══ */
.testimonials-section{background:var(--dark-color);padding:2.5rem 0}
.section-title{text-align:center;margin-bottom:1.5rem}
.section-title h2{font-family:var(--main-font);font-weight:900;font-size:clamp(18px,4vw,26px);color:#fff;letter-spacing:.06em;text-transform:uppercase}
.section-title-bar{width:40px;height:3px;background:var(--accent-color);margin:.5rem auto 0}
.testimonials-grid{display:grid;grid-template-columns:1fr;gap:.85rem}
@media(min-width:640px){.testimonials-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.testimonials-grid{grid-template-columns:repeat(3,1fr)}}
.testimonial-card{background:rgba(255,255,255,.06);border:1px solid rgba(90,159,119,0.2);border-top:2px solid var(--accent-color);padding:1.2rem;position:relative;overflow:hidden;transition:background .2s}
.testimonial-card:hover{background:rgba(255,255,255,.09)}
.testimonial-card::after{content:'"';position:absolute;bottom:-.5rem;right:.8rem;font-size:60px;font-family:Georgia,serif;color:rgba(242,213,127,0.1);line-height:1;pointer-events:none}
.t-header{display:flex;align-items:center;gap:.65rem;margin-bottom:.5rem}
.t-avatar{width:40px;height:40px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--main-font);font-weight:900;font-size:12px;color:#fff}
.t-name{font-family:var(--main-font);font-weight:700;font-size:13px;color:#fff;text-transform:uppercase;letter-spacing:.04em}
.t-loc{font-family:var(--alt-font);font-size:11px;color:rgba(242,213,127,.75)}
.t-stars{display:flex;gap:2px;margin-bottom:.45rem}
.t-stars svg{width:13px;height:13px;fill:var(--accent-color)}
.t-text{font-family:var(--alt-font);font-size:12.5px;color:rgba(255,255,255,.7);line-height:1.65;font-style:italic;position:relative;z-index:1}

/* FOOTER */
.site-footer{background:var(--dark-color);border-top:2px solid var(--accent-color)}
.footer-inner{max-width:1100px;margin:0 auto;padding:1rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:.8rem}
@media(min-width:768px){.footer-inner{flex-direction:row;justify-content:space-between}}
.footer-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none}
.footer-logo-icon{width:26px;height:26px}
.footer-logo-text{font-family:var(--main-font);font-weight:900;font-size:17px;color:#fff;letter-spacing:.06em;text-transform:uppercase}
.footer-logo-text em{font-style:normal;color:var(--accent-color)}
.footer-nav{display:flex;flex-direction:column;align-items:center;gap:.4rem}
@media(min-width:768px){.footer-nav{flex-direction:row;gap:1.4rem}}
.footer-nav a{font-family:var(--alt-font);font-size:11.5px;color:rgba(255,255,255,.42);text-decoration:none;transition:color .2s}
.footer-nav a:hover{color:var(--accent-color)}
.footer-copyright{border-top:1px solid rgba(255,255,255,.07);padding:.55rem 1.5rem;text-align:center;font-family:var(--alt-font);font-size:11px;color:rgba(255,255,255,.22);max-width:1100px;margin:0 auto;width:100%}