:root{
  --navy:#1e2937;
  --navy-2:#26374a;
  --red:#e63946;
  --red-dark:#c81e2c;
  --green:#22c55e;
  --teal-light:#bfe3e0;
  --bg-soft:#f4f6f8;
  --text:#26313d;
  --muted:#5b6773;
  --border:#e4e8ec;
  --radius:10px;
  --maxw:1180px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--text);
  background:#fff;
  font-size:18px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
img{max-width:100%;display:block;}
button{font-family:inherit;cursor:pointer;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

/* ---------- intro banner ---------- */
.intro-banner{
  position:relative;
  background:
    linear-gradient(165deg,rgba(30,80,80,.55) 0%,rgba(60,140,140,.35) 45%,rgba(180,220,215,.35) 100%),
    url("../assets/palm-photo.png") center 30%/cover no-repeat;
  padding:56px 20px 64px;
  overflow:hidden;
  text-align:center;
}
.intro-headline{
  position:relative;
  display:inline-block;
  background:#7cc7da;
  color:#152531;
  font-weight:800;
  font-size:clamp(23px,3.2vw,36px);
  line-height:1.35;
  padding:16px 28px;
  border-radius:4px;
  max-width:920px;
  margin:0 auto 24px;
}
.intro-text-box{
  position:relative;
  background:#fff;
  border-radius:6px;
  max-width:920px;
  margin:0 auto;
  padding:28px 36px;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}
.intro-text-box p{margin:0 0 16px;font-size:19px;color:#26313d;}
.intro-text-box p:last-child{margin-bottom:0;}
.intro-text-box strong{font-weight:800;}

.logo-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.logo-mark{
  width:38px;height:38px;border-radius:50%;
  background:var(--navy);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:19px;
}
.logo-text{font-weight:700;font-size:22px;letter-spacing:.2px;}

/* ---------- hero ---------- */
.hero{
  background:linear-gradient(160deg,#cdeae7 0%,#eaf6f4 45%,#ffffff 100%);
  padding-bottom:50px;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:40px;
  align-items:start;
  padding-top:10px;
}
.product-shot{
  position:relative;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:0 10px 30px rgba(20,60,60,.12);
}
.hero-banner-img{width:100%;display:block;}

.hero-copy h1{font-size:27px;line-height:1.4;margin:0 0 14px;}
.hero-copy .highlight{background:#ffe1a8;padding:1px 4px;}
.why-different{
  border:1px solid var(--border);border-radius:var(--radius);
  padding:22px 24px;margin-top:14px;background:#fff;
}
.why-different h3{
  display:inline-block;background:#cdeafd;color:#0a5c8a;
  padding:5px 12px;border-radius:6px;font-size:18px;margin:0 0 12px;
}
.why-different p{margin:0 0 12px;font-weight:600;font-size:18px;}
.why-different ul li{position:relative;padding-left:20px;margin:10px 0;color:var(--text);font-size:18px;}
.why-different ul li::before{content:"•";position:absolute;left:0;color:var(--navy);}

/* ---------- sticky order box ---------- */
.order-box{
  background:var(--navy);color:#fff;border-radius:14px;
  padding:28px 28px 32px;position:sticky;top:20px;
}
.order-box h4{margin:0 0 16px;font-size:22px;font-weight:700;line-height:1.35;}
.order-box .price-old{color:#9aa7b3;text-decoration:line-through;font-size:19px;}
.order-box .price-new{font-size:40px;font-weight:800;margin:2px 0 20px;}
.bonus-item{display:flex;gap:10px;align-items:flex-start;margin:16px 0;}
.bonus-item .tick{color:var(--red);font-size:20px;line-height:1.3;}
.bonus-item strong{display:block;font-size:17px;font-weight:700;}
.bonus-item span{font-size:17px;color:#cfd7de;}
.cta-btn{
  display:block;width:100%;text-align:center;
  background:#fff;color:var(--navy);font-weight:800;
  padding:17px;border-radius:8px;margin-top:22px;border:none;
  font-size:17px;letter-spacing:.5px;text-transform:uppercase;
  transition:transform .15s ease;
}
.cta-btn:hover{transform:translateY(-2px);}
.cta-btn.red{background:var(--red);color:#fff;}
.countdown{
  display:flex;gap:8px;justify-content:center;margin:16px 0 4px;
}
.countdown .box{
  background:#0f1720;border-radius:6px;padding:9px 12px;min-width:50px;
  text-align:center;font-weight:700;font-size:21px;
}
.countdown-label{text-align:center;font-size:14px;color:#9aa7b3;margin-top:4px;}

/* ---------- generic section ---------- */
.section{padding:60px 0;}
.section.alt{background:var(--bg-soft);}
.section h2{font-size:30px;margin:0 0 22px;text-align:center;}
.problem-section{background:linear-gradient(180deg,#ffffff 0%,#e8f4fa 100%);}
.problem-headline{
  font-size:28px;font-weight:800;line-height:1.55;text-align:center;
  color:#16222b;max-width:920px;margin:0 auto 46px;
  text-wrap:balance;
}
.problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.diagram-box{
  border-radius:16px;overflow:hidden;
  box-shadow:0 10px 30px rgba(20,60,60,.12);
}
.diagram-img{width:100%;display:block;}
.no-more-title{color:var(--red);font-weight:800;font-size:23px;margin:0;display:inline-block;}
.no-more-divider{border-bottom:2px solid #e0e4e8;margin:12px 0 22px;}
.problem-list li{
  position:relative;padding-left:22px;margin:18px 0;font-size:18px;font-weight:700;
  color:var(--red);text-transform:uppercase;
}
.problem-list li::before{content:"•";position:absolute;left:0;color:var(--red);}

.countdown-strip{text-align:center;margin:36px 0;}
.countdown-strip .countdown{justify-content:center;}
.countdown-strip .box{background:#1e2937;color:#fff;font-size:26px;min-width:58px;}

/* testimonials */
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.testimonial-card{text-align:center;}
.testimonial-photo{
  border-radius:12px;overflow:hidden;aspect-ratio:4/3;
  background:linear-gradient(145deg,#dfe9ea,#c9d8d9);
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;
}
.testimonial-photo img{width:100%;height:100%;object-fit:cover;}
.stars{color:#f6b83f;font-size:19px;margin-bottom:8px;letter-spacing:2px;}
.testimonial-card h5{margin:2px 0 6px;font-size:19px;}
.testimonial-card p{color:var(--muted);font-size:17px;font-style:italic;max-width:300px;margin:0 auto;}

/* feature bullets section */
.feature-block h2{text-align:left;font-size:28px;}
.feature-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:24px;}
.feature-columns ul li{position:relative;padding-left:20px;margin:10px 0;font-size:18px;}
.feature-columns ul li::before{content:"•";position:absolute;left:0;}
.check-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:20px;margin:24px 0 10px;}
.check-title .box-check{
  width:24px;height:24px;background:var(--green);color:#fff;border-radius:5px;
  display:flex;align-items:center;justify-content:center;font-size:16px;
}

/* icon row */
.icon-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:30px 0;}
.icon-card{text-align:center;padding:20px 10px;}
.icon-circle{
  width:58px;height:58px;border-radius:50%;background:#eef6f6;
  display:flex;align-items:center;justify-content:center;margin:0 auto 10px;font-size:26px;
}
.icon-card p{font-size:16px;color:var(--muted);margin:0;}
.gallery-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:20px;}
.size-img{
  width:100%;background:#fff;border:1px solid var(--border);border-radius:14px;
  padding:24px;object-fit:contain;aspect-ratio:3/4;
}

/* final cta section */
.final-cta{background:var(--navy);color:#fff;padding:60px 0;}
.final-cta-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;}
.final-cta h3{
  display:inline-block;background:#2f4256;color:#8fd6ff;padding:5px 14px;
  border-radius:6px;font-size:18px;margin-bottom:14px;
}
.final-cta .why-list li{position:relative;padding-left:20px;margin:12px 0;color:#dbe3ea;font-size:18px;}
.final-cta .why-list li::before{content:"•";position:absolute;left:0;color:#8fd6ff;}
.final-cta .order-box{background:#111a24;}

/* FAQ */
.faq-item{
  border:1px solid var(--border);border-radius:10px;margin-bottom:14px;
  background:#fff;
}
.faq-question{
  display:flex;align-items:center;gap:14px;padding:22px 24px;font-weight:600;font-size:19px;
  cursor:pointer;
}
.faq-question .plus{font-size:22px;color:var(--muted);width:18px;}
.faq-answer{
  max-height:0;overflow:hidden;transition:max-height .25s ease;
  padding:0 24px;color:var(--muted);font-size:18px;
}
.faq-item.open .faq-answer{max-height:260px;padding-bottom:22px;}
.faq-item.open .plus{transform:rotate(45deg);}

/* footer */
footer{background:#12181f;color:#9aa7b3;padding:36px 0;text-align:center;font-size:15px;}
footer a{color:#cfd7de;}

/* ---------- checkout page ---------- */
.checkout-wrap{
  background:var(--navy);
  padding-bottom:1px;
}
.checkout-hero{
  padding:30px 0 60px;text-align:center;color:#fff;position:relative;
}
.checkout-hero .divider{width:220px;height:3px;background:var(--red);margin:0 auto 8px;}
.checkout-body{
  background:#fff;border-radius:18px;max-width:var(--maxw);margin:-40px auto 60px;
  padding:40px;display:grid;grid-template-columns:1.3fr 1fr;gap:50px;
  box-shadow:0 20px 60px rgba(0,0,0,.15);
}
.form-section h3{font-size:19px;border-bottom:1px solid var(--border);padding-bottom:10px;margin:26px 0 16px;}
.form-section h3:first-child{margin-top:0;}
.field{margin-bottom:14px;}
.field input,.field select{
  width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:8px;
  font-size:17px;background:#fbfbfc;
}
.field input:focus,.field select:focus{outline:2px solid var(--navy);background:#fff;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.radio-option{
  display:flex;justify-content:space-between;align-items:center;
  border:1px solid var(--border);border-radius:8px;padding:16px 18px;margin-bottom:10px;
}
.radio-option .left{display:flex;align-items:center;gap:10px;font-size:17px;}
.radio-dot{width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:13px;}
.billing-toggle{display:flex;align-items:center;gap:10px;font-size:17px;color:var(--muted);margin:6px 0 20px;}
.toggle{width:38px;height:22px;border-radius:20px;background:#dfe4e8;position:relative;}
.toggle::after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;left:3px;}
.submit-btn{
  width:100%;padding:18px;border:none;border-radius:8px;
  background:#a9d3ef;color:#0d3352;font-weight:700;font-size:18px;margin-top:10px;
}
.order-summary h4{font-size:21px;margin:0 0 16px;border-bottom:1px solid var(--border);padding-bottom:14px;}
.summary-item{display:flex;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid #f0f2f4;}
.summary-thumb{
  width:56px;height:56px;border-radius:8px;background:#eef1f3;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;color:#b3bbc2;font-size:20px;overflow:hidden;
}
.summary-thumb img{width:100%;height:100%;object-fit:contain;padding:4px;}
.summary-item .info{flex:1;font-size:17px;}
.summary-item .price{font-size:16px;text-align:right;white-space:nowrap;}
.summary-item .price .old{display:block;color:var(--muted);text-decoration:line-through;font-size:14px;}
.summary-totals{padding-top:16px;font-size:17px;}
.summary-totals .row{display:flex;justify-content:space-between;margin:8px 0;}
.promo-link{color:#0a5c8a;font-size:16px;display:inline-block;margin:6px 0 12px;cursor:pointer;}
.promo-form{display:none;gap:8px;margin-bottom:14px;}
.promo-form.show{display:flex;}
.promo-form input{flex:1;padding:11px;border:1px solid var(--border);border-radius:6px;font-size:16px;}
.promo-form button{padding:0 16px;border:none;border-radius:6px;background:var(--navy);color:#fff;font-weight:600;font-size:16px;}
.summary-totals .total{font-weight:800;font-size:21px;border-top:1px solid var(--border);padding-top:14px;margin-top:6px;}

/* ---------- upsell page ---------- */
.upsell-header{text-align:center;padding:50px 0 10px;}
.upsell-header h1{font-size:30px;margin-bottom:10px;}
.upsell-header p{color:var(--muted);font-size:18px;}
.upsell-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding:30px 0 70px;}
.upsell-card{
  border:1px solid var(--border);border-radius:14px;padding:26px;text-align:center;
  display:flex;flex-direction:column;
}
.upsell-thumb{
  width:100%;aspect-ratio:1/1;background:#f4f6f8;border-radius:10px;margin-bottom:18px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.upsell-thumb img{width:100%;height:100%;object-fit:contain;padding:14px;}
.upsell-card h3{font-size:21px;margin:0 0 10px;}
.upsell-card p{font-size:17px;color:var(--muted);flex:1;margin:0 0 16px;}
.upsell-price{margin-bottom:14px;font-size:24px;font-weight:800;}
.upsell-price .old{color:var(--muted);text-decoration:line-through;font-weight:400;font-size:18px;margin-right:6px;}
.buy-btn{padding:15px;border-radius:8px;border:none;font-weight:700;font-size:17px;background:#111a24;color:#fff;}
.upsell-card.featured .buy-btn{background:#4aa9e8;}
.skip-row{text-align:center;padding-bottom:60px;}
.skip-row a{color:var(--muted);text-decoration:underline;font-size:17px;}

/* thank you */
.thankyou-wrap{
  background:var(--navy);min-height:60vh;position:relative;
}
.thankyou-card{
  background:var(--bg-soft);max-width:640px;margin:0 auto;
  padding:70px 40px;text-align:center;border-radius:0 0 18px 18px;
}
.thankyou-card .heart{font-size:48px;color:#a9d3ef;margin-bottom:18px;}
.thankyou-card h1{font-size:36px;margin:0 0 20px;}
.thankyou-card p{color:var(--muted);font-size:19px;margin:6px 0;}
.back-link{display:inline-block;margin-top:30px;padding:14px 28px;background:var(--navy);color:#fff;border-radius:8px;font-weight:600;font-size:17px;}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .hero-grid,.problem-grid,.final-cta-grid,.feature-columns,.checkout-body{grid-template-columns:1fr;}
  .order-box{position:static;}
  .testimonials-grid,.icon-row,.upsell-grid{grid-template-columns:1fr;}
  .checkout-body{padding:24px;margin-top:-20px;}
  .gallery-strip{grid-template-columns:1fr 1fr;}
}
