/* Homepage polish — loaded only on the home page. */

/* Hero: copy sits on the same left edge as the rest of the page and clear of the model */
.luxury-hero{min-height:640px}
.luxury-hero .luxury-copy{width:100%}
.luxury-copy h1{font-size:clamp(38px,5vw,64px);line-height:1.1;max-width:560px;margin:18px 0 20px}
.luxury-copy p{max-width:470px;font-size:18px}
.luxury-shade{background:linear-gradient(90deg,rgba(32,27,23,.88),rgba(32,27,23,.6) 34%,rgba(32,27,23,.05) 66%)}
.luxury-copy .btn{min-height:52px;padding-inline:28px}
.luxury-footnote{margin-top:36px;opacity:.85}
.motion-toggle{min-height:34px;padding:4px 14px;font-size:12px;letter-spacing:.04em;border-radius:999px;border-color:#fff8ee80;background:#302b2380}
@media(max-width:760px){
 .luxury-hero{min-height:680px}
 .luxury-copy{padding-top:150px}
 .luxury-copy h1{font-size:clamp(34px,10vw,44px)}
 .luxury-shade{background:linear-gradient(0deg,rgba(32,27,23,.95) 0%,rgba(32,27,23,.78) 50%,rgba(32,27,23,.12) 100%)}
}

/* Category cards */
.ritual-card{transition:transform .25s ease}
.ritual-card:hover{transform:translateY(-4px)}
.ritual-card h3{font-size:22px}

/* Products: three across on desktop, tidy cards */
@media(min-width:1000px){.product-section .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}}
.product-section .product-card{display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.product-section .product-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #4a2a3a1a}
.product-section .prod-body{display:flex;flex-direction:column;flex:1;padding-top:18px}
.product-section .prod-body h3{min-height:0;margin:0 0 8px;font-size:21px;line-height:1.25}
.product-section .product-card-desc{min-height:0;margin:0 0 18px;font-size:15px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.product-section .product-purchase{margin-top:auto}

/* Offer and creator bands sit inside the page margins instead of touching the screen edges */
.campaign-banner,.creator-invite{width:calc(100% - 96px);max-width:1264px;margin-inline:auto;padding:36px 44px;box-sizing:border-box;border-radius:16px}
@media(max-width:760px){.campaign-banner,.creator-invite{width:calc(100% - 32px);padding:26px 22px}}
.campaign-banner h2,.creator-invite h2{font-size:clamp(28px,3.2vw,38px);margin:6px 0 10px}
.campaign-banner p,.creator-invite p{margin:0;max-width:560px}

/* Trust strip: four across */
@media(min-width:900px){.footer-service-inner{grid-template-columns:repeat(4,1fr);gap:28px}}

/* Section headings: slightly tighter, consistent */
.space h2{line-height:1.15}
.heading-split .section-note{margin:0;color:#6b5f66;font-size:16px;line-height:1.55}

/* hide-motion-toggle */
.motion-toggle,.motion-toggle[hidden]{display:none!important}

/* hero-mobile: show the whole photo on phones, text sits below it */
@media(max-width:760px){
.luxury-hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;background:#302b23}
.luxury-hero img.luxury-backdrop{position:relative;inset:auto;z-index:0;width:100%;height:auto;aspect-ratio:4/4.4;object-fit:cover;object-position:74% 22%}
.luxury-hero .luxury-shade{display:none}
.luxury-hero .luxury-copy{padding:26px 20px 34px}
.luxury-hero .luxury-copy h1{font-size:clamp(34px,10vw,44px)}
.luxury-hero .luxury-copy p{font-size:16px}
}

/* hero-full: whole photo, never cropped */
@media(min-width:1081px){
.luxury-hero{position:relative;display:flex;align-items:center;aspect-ratio:1680/941;min-height:0!important;height:auto;max-width:2200px;margin:0 auto}
.luxury-hero img.luxury-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.luxury-hero .luxury-copy{position:relative;z-index:2;padding-top:0!important;padding-bottom:0!important}
}
@media(min-width:761px) and (max-width:1080px){
.luxury-hero{display:flex;flex-direction:column;align-items:stretch;min-height:0!important;background:#302b23}
.luxury-hero img.luxury-backdrop{position:relative;inset:auto;z-index:0;width:100%;height:auto;aspect-ratio:1680/941;object-fit:cover;object-position:center}
.luxury-hero .luxury-shade{display:none}
.luxury-hero .luxury-copy{padding:30px 28px 40px!important}
}

/* hero-text: fluid, larger type */
.luxury-hero .luxury-copy .eyebrow{font-size:clamp(12px,.95vw,16px)!important;letter-spacing:.16em}
.luxury-hero .luxury-copy h1{font-size:clamp(36px,4.5vw,92px)!important;line-height:1.08!important}
.luxury-hero .luxury-copy p{font-size:clamp(16px,1.55vw,28px)!important;line-height:1.6!important;max-width:clamp(300px,40vw,780px)}
.luxury-hero .hero-action{gap:clamp(14px,1.6vw,30px);align-items:center}
.luxury-hero .hero-action .btn{font-size:clamp(16px,1.25vw,22px)!important;padding:clamp(13px,1.1vw,20px) clamp(24px,2.2vw,40px)!important}
.luxury-hero .hero-action .underlink{font-size:clamp(15px,1.2vw,21px)!important}
.luxury-hero .luxury-footnote{font-size:clamp(12px,.95vw,16px)!important}
@media(max-width:1080px){.luxury-hero .luxury-copy h1{font-size:clamp(34px,7vw,60px)!important}.luxury-hero .luxury-copy p{font-size:clamp(16px,2.6vw,21px)!important;max-width:640px}}
@media(max-width:760px){.luxury-hero .luxury-copy h1{font-size:clamp(36px,11vw,48px)!important}.luxury-hero .luxury-copy p{font-size:17px!important;max-width:none}.luxury-hero .hero-action .btn{font-size:17px!important}}
/* hero-nowrap */
@media(min-width:1081px){.luxury-hero .luxury-copy h1{white-space:nowrap}.luxury-hero .luxury-copy p{max-width:38vw}}
