/* ILUVRE NextGen homepage feature. Loaded on the homepage only while NextGen is switched on. Uses the site tokens from iluvre.css. */
.ngh{background:var(--green-deep);color:#E9E5DB;padding-block:clamp(3rem,6vw,5.5rem)}
.ngh-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.ngh-eyebrow{font:500 .82rem/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#D9C08A;margin:0 0 1rem}
.ngh-eyebrow sup{font-size:.6em;letter-spacing:0}
.ngh h2{color:var(--white);font-size:clamp(2rem,1.3rem + 2.8vw,3.3rem);line-height:1.12;max-width:16ch;margin-bottom:.5rem;text-wrap:balance}
.ngh-tagline{font-family:var(--serif);font-style:italic;font-size:clamp(1.1rem,1rem + .5vw,1.35rem);color:#D9C08A;margin:0 0 1rem}
.ngh-intro{font-size:1.05rem;color:#E2DDD2;max-width:48ch;margin:0 0 1.6rem}
.ngh-facts{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.ngh-facts li{border:1px solid rgba(217,192,138,.45);border-radius:3px;padding:.45rem .8rem;font-size:.92rem;color:#F2EFE8;line-height:1.3}
.ngh-facts strong{font-weight:500;color:var(--white)}
.ngh-facts .ngh-price{background:#D9C08A;border-color:#D9C08A;color:var(--green-deep)}
.ngh-facts .ngh-price strong{color:var(--green-deep);font-family:var(--serif);font-size:1.2rem;font-weight:600}
.ngh-age{font-size:.9rem;color:#CFC9BC;margin:0 0 1.6rem}
.ngh-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem}
.ngh-btn-main{background:var(--ivory);color:var(--green-deep)}
.ngh-btn-main:hover{background:var(--white);color:var(--green-deep)}
.ngh-btn-line{background:transparent;color:var(--white);border-color:rgba(255,255,255,.55)}
.ngh-btn-line:hover{background:rgba(255,255,255,.08);color:var(--white)}
.ngh-link{color:#F2EFE8;font-weight:500;text-underline-offset:.25em;min-height:44px;display:inline-flex;align-items:center}
.ngh-link:hover{color:var(--white)}
.ngh-exp{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(217,192,138,.3);border:1px solid rgba(217,192,138,.3)}
.ngh-exp li{background:var(--green-deep);padding:1.4rem 1.3rem 1.3rem;min-width:0}
.ngh-num{display:block;font-family:var(--serif);font-size:1.5rem;color:#D9C08A;line-height:1;margin-bottom:.8rem}
.ngh-exp h3{color:var(--white);font-size:1.2rem;margin:0 0 .35rem}
.ngh-exp p{margin:0;font-size:.92rem;line-height:1.55;color:#D2CDC1}
.ngh-gift{background:var(--ivory-warm);padding-block:clamp(3rem,6vw,5rem);border-bottom:1px solid var(--line)}
/* Content order (all widths): heading, description, occasions, certificate, gift button, disclaimer. On wide screens the certificate sits beside the text. */
.ngh-gift-grid{display:grid;grid-template-columns:minmax(0,1fr)}
.ngh-gift-grid > .ngh-cert{margin:0 0 1.75rem}
@media (min-width:901px){.ngh-gift-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr auto auto auto auto 1fr;column-gap:clamp(2rem,5vw,4.5rem)}.ngh-gift-grid > *{grid-column:2}.ngh-gift-grid > .ngh-cert{grid-column:1;grid-row:1 / -1;align-self:center;margin:0}.ngh-gift-grid > h2{grid-row:2}.ngh-gift-grid > .ngh-gift-desc{grid-row:3}.ngh-gift-grid > .ngh-occasions{grid-row:4}.ngh-gift-grid > .ngh-gift-buy{grid-row:5}}
.ngh-cert{margin:0;min-width:0}
.ngh-cert img{display:block;width:100%;height:auto;border:1px solid var(--stone);box-shadow:0 18px 40px -22px rgba(38,61,53,.45);background:var(--white)}
.ngh-cert figcaption{font-size:.82rem;color:var(--muted);margin-top:.7rem}
.ngh-gift h2{font-size:clamp(1.7rem,1.2rem + 2vw,2.5rem);max-width:18ch;text-wrap:balance}
.ngh-gift-desc,.ngh-fine{max-width:52ch}
.ngh-occasions{list-style:none;margin:0 0 1.6rem;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}
.ngh-occasions li{font-size:.85rem;color:var(--green-deep);border:1px solid var(--stone);background:var(--white);border-radius:999px;padding:.3rem .8rem}
.ngh-btn-gift{background:var(--green);color:var(--white);text-transform:uppercase;letter-spacing:.06em;font-size:.9rem}
.ngh-btn-gift:hover{background:var(--green-deep);color:var(--white)}
.ngh-fine{font-size:.82rem;color:var(--muted);margin-top:1rem}
@media (max-width:900px){.ngh-grid{grid-template-columns:1fr}}
@media (max-width:520px){.ngh-exp{grid-template-columns:1fr}.ngh-actions .btn{width:100%}.ngh-btn-gift{width:100%}}
/* ---- Homepage update (owner-approved mockup): hero NextGen button, "Introducing ILUVRE NextGen", Complete Studio showcase ---- */
.hero .btn .ng-arrow,.hero .btn span[aria-hidden]{margin-left:.15rem}
.hero .hero-btn-ng{border-color:var(--gold);color:var(--green-deep);background:var(--white)}
.hero .hero-btn-ng:hover{background:#FBF6EA;border-color:#9C7C45;color:var(--green-deep)}
.ngi{padding-block:clamp(1rem,2.5vw,1.75rem) clamp(.75rem,1.5vw,1rem)}
.ngi-card{--ngi-pad:clamp(1.75rem,4vw,3.25rem);background:linear-gradient(135deg,#263D35 0%,#2B463D 55%,#22372F 100%);color:#E9E5DB;border-radius:16px;overflow:hidden;padding:var(--ngi-pad);box-shadow:0 30px 60px -40px rgba(23,40,34,.7)}
.ngi-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(1.75rem,4vw,3.5rem);align-items:center}
.ngi .ngh-eyebrow{margin-bottom:.8rem}
.ngi h2{color:var(--white);font-size:clamp(1.9rem,1.25rem + 2.4vw,3rem);line-height:1.12;max-width:18ch;margin-bottom:.9rem;text-wrap:balance}
.ngi-desc{font-size:1.02rem;color:#E2DDD2;max-width:54ch;margin:0 0 .9rem}
.ngi .ngh-tagline{margin-bottom:0}
.ngi-features{list-style:none;margin:1.6rem 0 1.9rem;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.ngi-features li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.55rem;font-size:.86rem;line-height:1.3;color:#F2EFE8;min-width:0;padding:.2rem .5rem}
.ngi-features li+li{border-left:1px solid rgba(217,192,138,.35)}
.ngi-ico{display:grid;place-items:center;width:2.6rem;height:2.6rem;color:#D9C08A;flex:none}
.ngi-ico svg{width:2.1rem;height:2.1rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ngi-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.4rem}
.ngi-actions .ngh-age{margin:0}
.btn.ngi-btn-gold{background:#D9C08A;border-color:#D9C08A;color:#1F332D}
.btn.ngi-btn-gold:hover{background:#E6D2A6;border-color:#E6D2A6;color:#1F332D}
.ngi-art{margin:0;min-width:0}
/* The photograph fills the right side of the panel and fades into the green on its left edge (desktop) or top edge (phone).
   It never sits over the text or buttons, and ignores pointer events so it can never intercept a click. */
.ngi-art img{display:block;width:100%;height:auto;pointer-events:none}
@media (min-width:1200px){
  .ngi-card{position:relative}
  .ngi-copy{position:relative;z-index:1}
  .ngi-art{position:absolute;top:0;right:0;bottom:0;width:52%;pointer-events:none}
  .ngi-art img{height:100%;object-fit:cover;object-position:62% 38%;-webkit-mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.5) 16%,#000 32%);mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.5) 16%,#000 32%)}
  .ngi-grid{grid-template-columns:minmax(0,1fr) minmax(0,.92fr)}
  .ngi-copy{min-height:24rem}
}
@media (max-width:1199px){
  .ngi-grid{grid-template-columns:minmax(0,1fr)}
  .ngi-art{margin:0 calc(-1 * var(--ngi-pad)) calc(-1 * var(--ngi-pad))}
  .ngi-art img{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 14%);mask-image:linear-gradient(to bottom,transparent 0,#000 14%)}
}
.ngs{padding-block:clamp(.75rem,1.5vw,1rem) clamp(1rem,2.5vw,1.75rem)}
.ngs-card{background:var(--ivory-warm);border:1px solid var(--line);border-radius:16px;padding:clamp(1.5rem,3.5vw,2.75rem)}
.ngs-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(1.75rem,4vw,3.5rem);align-items:center}
.ngs-eyebrow{font:500 .8rem/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#7D5F2C;margin:0 0 .9rem}
.ngs-eyebrow sup{font-size:.6em;letter-spacing:0}
.ngs h2{font-size:clamp(1.75rem,1.2rem + 2vw,2.6rem);line-height:1.15;max-width:20ch;margin-bottom:.9rem;text-wrap:balance}
.ngs-desc{font-size:1.02rem;max-width:52ch;margin:0 0 1.1rem}
.ngs-benefits{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;gap:.45rem}
.ngs-benefits li{position:relative;padding-left:1.8rem}
.ngs-benefits li::before{content:"";position:absolute;left:.2rem;top:.42em;width:.7rem;height:.38rem;border-left:2.5px solid var(--green);border-bottom:2.5px solid var(--green);transform:rotate(-45deg)}
.ngs-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.5rem;margin-bottom:.7rem}
.ngs-price{margin:0;font-size:1rem;color:var(--charcoal);font-weight:500}
.ngs-price strong{font-family:var(--serif);font-size:1.45rem;font-weight:600;color:var(--green-deep);margin-right:.2rem}
.ngs-age{font-size:.88rem;color:var(--muted);margin:0}
.ngs-link{text-underline-offset:.25em}
.ngs-art{margin:0;min-width:0}
.ngs-art img{display:block;width:100%;height:auto}
.ngs-art figcaption{font-size:.8rem;color:var(--muted);margin-top:.5rem}
.ngs + .ngh-gift{border-top:0}
@media (max-width:1100px){.ngi-features{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:1.1rem}.ngi-features li:nth-child(4){border-left:0}}
@media (max-width:900px){
  .ngi-grid,.ngs-grid{grid-template-columns:minmax(0,1fr)}
  .ngs-art{order:2}
}
@media (max-width:520px){.ngi-features{grid-template-columns:repeat(2,minmax(0,1fr))}.ngi-features li{border-left:0!important}.ngi-features li:last-child{grid-column:1 / -1}}
@media (min-width:600px) and (max-width:1199px){.ngi-art img{aspect-ratio:16 / 10;object-fit:cover;object-position:50% 45%}}
