/* Focused polish pass v3: clearer service signal, improved spacing and layout fixes. */

/* HERO — lips must be instantly visible. */
.hero{
  min-height:680px;
  background:
    linear-gradient(90deg, rgba(248,244,239,.985) 0%, rgba(248,244,239,.96) 28%, rgba(248,244,239,.72) 46%, rgba(248,244,239,.26) 64%, rgba(248,244,239,.04) 78%),
    url("../assets/hero-lips-bg-v1.webp") 86% center/cover no-repeat;
}
.hero-glow{display:none}
.hero-layout{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);min-height:680px}
.hero-content{max-width:620px;padding:86px 0 96px}
.hero-lead{max-width:470px}
.hero-visual--background-only{height:680px}
.hero-visual--background-only .hero-signature{
  right:4%;
  top:auto;
  bottom:152px;
  max-width:220px;
  font-size:clamp(30px,2.8vw,42px);
  text-shadow:0 6px 18px rgba(79,57,40,.18);
}
.hero-visual--background-only .hero-signature span{margin-top:18px}
.hero-visual--background-only .hero-seal{right:4%;bottom:42px}
.hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:120px;
  background:linear-gradient(180deg, transparent, rgba(248,244,239,.72) 70%, #fffaf6 100%);
  pointer-events:none;
}

/* VISUALIZATION section — better structure and a cleaner compare frame. */
.preview-section{padding:100px 0 94px;background:#f3ece5}
.preview-layout{grid-template-columns:minmax(0,.84fr) minmax(0,1.28fr) minmax(160px,.38fr);gap:42px;align-items:center}
.preview-copy{max-width:400px;padding-right:4px}
.preview-copy h2{max-width:420px;margin-bottom:18px}
.preview-copy>p:not(.eyebrow){max-width:36ch}
.preview-copy .preview-cta{margin-top:30px;max-width:430px}
.compare-wrap{
  min-width:0;
  padding:20px 20px 18px;
  background:linear-gradient(180deg, rgba(255,255,255,.58), rgba(255,255,255,.34));
  border:1px solid rgba(156,122,91,.12);
  border-radius:32px;
  box-shadow:0 18px 44px rgba(76,55,39,.08);
}
.compare{border-radius:24px;min-height:430px;background:#cfb8a9}
.image-disclaimer{margin-top:14px;max-width:620px;font-size:12px;line-height:1.65}
.editorial-note{justify-self:end;align-self:center;max-width:190px;line-height:1.15}
.editorial-note span{margin-top:16px}

/* ABOUT — restore breathing room and stop cropping the owner photo. */
.about-section{
  width:min(1380px, calc(100% - 56px));
  max-width:1380px;
  margin:76px auto;
  min-height:620px;
  grid-template-columns:minmax(0,34%) minmax(0,39%) minmax(0,27%);
  border-radius:36px;
  overflow:hidden;
  background:#fbf7f3;
  border:1px solid rgba(156,122,91,.09);
  box-shadow:0 16px 48px rgba(60,42,28,.06);
}
.about-photo{min-height:620px;background:linear-gradient(180deg,#eee4dc,#ddd1c6)}
.about-photo img{object-position:center 10%}
.photo-note{left:42px;top:54px;font-size:clamp(32px,2.5vw,50px);line-height:1.04}
.about-photo::after{left:30px;bottom:28px}
.about-content{
  align-self:center;
  margin:34px 0;
  padding:48px clamp(28px,3vw,48px);
}
.about-content p:not(.eyebrow){font-size:13px;line-height:1.85}
.about-features{
  align-self:center;
  margin:44px 32px 44px 0;
  padding:18px 0 18px 28px;
  gap:18px;
}
.about-features>div{align-items:flex-start}
.about-features p{font-size:11px;line-height:1.65}

/* FINAL CTA — more balanced layout. */
.final-cta{
  position:relative;
  overflow:hidden;
  min-height:360px;
  background:linear-gradient(90deg, #e3cfbe 0%, #f5ede6 36%, #efe6dd 100%);
}
.final-cta-image{
  position:absolute;
  inset:0 auto 0 0;
  width:31%;
  background:url("../assets/final-cta-premium-v2.webp") center center/cover no-repeat;
  opacity:.82;
  mask-image:linear-gradient(to right, #000 66%, transparent 100%);
  -webkit-mask-image:linear-gradient(to right, #000 66%, transparent 100%);
}
.final-cta-inner{
  position:relative;
  min-height:360px;
  display:grid;
  grid-template-columns:minmax(0,.22fr) minmax(360px,.86fr) minmax(210px,.48fr);
  align-items:center;
  gap:40px;
  padding:64px 0;
}
.final-cta-copy{
  grid-column:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.final-cta-copy .eyebrow{margin-bottom:12px}
.final-cta-copy h2{margin-bottom:14px}
.final-cta-copy>p{max-width:500px;margin:0 auto 24px}
.final-cta-copy .btn{min-width:262px;justify-content:center}
.cta-signature{
  position:static;
  grid-column:3;
  justify-self:start;
  align-self:center;
  font-size:clamp(29px,2.5vw,43px);
  line-height:1.03;
  color:#b08b63;
}
.cta-signature span{display:block;margin-top:18px;width:84px;height:1px;background:currentColor;opacity:.8}

@media(max-width:1190px){
  .hero{background-position:87% center}
  .hero-layout{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)}
  .preview-layout{grid-template-columns:minmax(0,.88fr) minmax(0,1.18fr) minmax(140px,.34fr);gap:30px}
  .about-section{width:min(1380px, calc(100% - 36px));grid-template-columns:minmax(0,35%) minmax(0,39%) minmax(0,26%)}
  .final-cta-inner{grid-template-columns:minmax(0,.18fr) minmax(320px,.92fr) minmax(180px,.42fr);gap:28px}
}

@media(max-width:990px){
  .hero,.hero-layout,.hero-visual--background-only{min-height:590px;height:auto}
  .hero{background-position:82% center}
  .hero-content{padding:58px 0 72px}
  .hero-visual--background-only{height:590px}
  .hero-visual--background-only .hero-signature{bottom:118px;font-size:28px;max-width:190px}

  .preview-section{padding:72px 0}
  .preview-layout{grid-template-columns:1fr;gap:26px}
  .preview-copy{max-width:none;padding-right:0}
  .compare{min-height:380px}
  .editorial-note{display:none}

  .about-section{
    width:min(100%, calc(100% - 32px));
    grid-template-columns:1fr;
    margin:58px auto;
    min-height:0;
  }
  .about-photo{min-height:520px;height:520px}
  .about-photo img{object-position:center 8%}
  .photo-note{top:34px;left:28px;font-size:36px}
  .about-content{margin:0 34px 20px;padding:38px 0 0;background:transparent;border:0;box-shadow:none}
  .about-features{margin:0 34px 36px;padding:22px 0 0;border-left:0;border-top:1px solid rgba(156,122,91,.14);display:grid;grid-template-columns:1fr 1fr;gap:0 18px}

  .final-cta-image{width:34%;opacity:.52}
  .final-cta-inner{grid-template-columns:1fr;min-height:0;gap:14px;padding:58px 0}
  .final-cta-copy{grid-column:auto}
  .cta-signature{grid-column:auto;justify-self:center;text-align:center}
}

@media(max-width:700px){
  .hero{
    min-height:0;
    background:
      linear-gradient(180deg, rgba(248,244,239,.96) 0%, rgba(248,244,239,.82) 42%, rgba(248,244,239,.18) 100%),
      url("../assets/hero-lips-bg-v1.webp") 60% center/cover no-repeat;
  }
  .hero-layout{display:flex;flex-direction:column;min-height:0}
  .hero-content{max-width:none;padding:44px 0 18px}
  .hero-visual--background-only{height:320px}
  .hero-visual--background-only .hero-signature{right:3%;bottom:88px;font-size:23px;max-width:160px}
  .hero-visual--background-only .hero-signature span{font-size:7px}
  .hero-visual--background-only .hero-seal{right:3%;bottom:14px}

  .preview-section{padding:56px 0}
  .preview-copy .preview-cta{margin-top:24px;max-width:none}
  .compare-wrap{padding:12px;border-radius:22px}
  .compare{min-height:300px;border-radius:18px}
  .image-disclaimer{font-size:11px}

  .about-section{width:calc(100% - 20px);margin:44px auto;border-radius:26px}
  .about-photo{min-height:460px;height:460px}
  .about-photo img{object-position:center 6%}
  .photo-note{left:22px;top:24px;font-size:30px}
  .about-content{margin:0 18px 16px;padding:28px 0 0}
  .about-features{margin:0 18px 34px;grid-template-columns:1fr;padding-top:18px}

  .final-cta{min-height:0}
  .final-cta-image{width:100%;opacity:.17;mask-image:linear-gradient(180deg,#000 10%, transparent 90%);-webkit-mask-image:linear-gradient(180deg,#000 10%, transparent 90%)}
  .final-cta-inner{padding:54px 0}
  .final-cta-copy .btn{min-width:0;width:100%}
  .cta-signature{font-size:22px}
}

@media(max-width:390px){
  .hero-visual--background-only{height:300px}
  .compare{min-height:270px}
  .about-photo{min-height:400px;height:400px}
}
