/* AlmilaSoft V4.19 Product Campaign — optional product-first art direction */
.product-campaign-active{
  --pc-line:color-mix(in srgb,var(--bp-text) 18%,transparent);
  --pc-space:clamp(5rem,10vw,10rem);
  --pc-display:clamp(3.4rem,8.5vw,8.8rem);
  background:var(--bp-bg);
}
.product-campaign-active *{border-radius:min(var(--radius-card,4px),6px)}
.product-campaign-active .bp-header,
.product-campaign-active .bp-demo-ribbon{box-shadow:none!important;backdrop-filter:none!important}
.product-campaign-active .bp-header{border-bottom:1px solid var(--pc-line);background:var(--bp-bg)}
.product-campaign-active .bp-btn,
.product-campaign-active .ast-btn{border-radius:2px!important;box-shadow:none!important;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:800}
.product-campaign-active .ast-section{padding:var(--pc-space) 0;border-bottom:1px solid var(--pc-line);overflow:clip}
.product-campaign-active .ast-container{width:min(100% - 40px,1380px);margin-inline:auto}
.product-campaign-active .ast-width-max{width:min(100% - 24px,1600px)}
.product-campaign-active .ast-kicker{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.product-campaign-active .ast-heading{letter-spacing:-.055em;line-height:.9;text-wrap:balance}
.product-campaign-active .ast-text{max-width:62ch;line-height:1.65}
.product-campaign-active .ast-media{background:color-mix(in srgb,var(--bp-primary) 8%,var(--bp-surface));overflow:hidden}
.product-campaign-active .ast-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.product-campaign-active .ast-media:hover img{transform:scale(1.018)}
.product-campaign-active .ast-media-caption{display:none}

/* Full-viewport product hero */
.product-campaign-active .ast-composition-campaign-hero{min-height:calc(100svh - 96px);display:grid;align-items:center;padding-block:clamp(2rem,5vw,5rem)}
.product-campaign-active .ast-composition-campaign-hero .ast-grid{display:grid;grid-template-columns:minmax(280px,4fr) minmax(0,8fr);gap:clamp(2rem,6vw,7rem);align-items:end}
.product-campaign-active .ast-role-campaign-hero-copy{display:flex;flex-direction:column;gap:clamp(1rem,2vw,1.8rem);padding-bottom:clamp(1rem,4vw,5rem);position:relative;z-index:2}
.product-campaign-active .ast-role-campaign-hero-copy h1{font-size:var(--pc-display);max-width:9ch;text-transform:uppercase}
.product-campaign-active .ast-role-campaign-hero-copy .ast-text{font-size:clamp(1rem,1.35vw,1.3rem);max-width:34rem}
.product-campaign-active .ast-actions{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.product-campaign-active .ast-role-campaign-product-stage{position:relative;min-width:0}
.product-campaign-active .ast-role-campaign-product-stage .ast-media{height:min(76svh,850px);min-height:520px;border:0}
.product-campaign-active .ast-role-campaign-product-stage .ast-media img{object-fit:contain;padding:clamp(1rem,4vw,4rem)}
.product-campaign-active .ast-layout-campaign-rail{position:absolute;right:0;bottom:0;display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));background:var(--bp-bg);border-top:1px solid var(--pc-line);border-left:1px solid var(--pc-line);max-width:430px}
.product-campaign-active .ast-layout-campaign-rail article{padding:1rem 1.2rem;border-right:1px solid var(--pc-line);border-bottom:1px solid var(--pc-line)}
.product-campaign-active .ast-layout-campaign-rail article span{font-size:.68rem;opacity:.55}.product-campaign-active .ast-layout-campaign-rail article p{margin:.35rem 0 0;font-size:.8rem;font-weight:750;text-transform:uppercase}

/* Compact technical annotation rail */
.product-campaign-active .ast-composition-campaign-annotations{padding-block:0}
.product-campaign-active .ast-composition-campaign-annotations .ast-proof-list{display:grid;grid-template-columns:repeat(4,1fr);border-inline:1px solid var(--pc-line)}
.product-campaign-active .ast-composition-campaign-annotations article{padding:1.35rem clamp(1rem,2.5vw,2.4rem);border-right:1px solid var(--pc-line);display:flex;gap:1rem;align-items:baseline}
.product-campaign-active .ast-composition-campaign-annotations article:last-child{border-right:0}
.product-campaign-active .ast-composition-campaign-annotations article span{font-size:.7rem;opacity:.5}.product-campaign-active .ast-composition-campaign-annotations article p{font-weight:800;text-transform:uppercase;letter-spacing:.035em}

/* Scroll-led product story */
.product-campaign-active .ast-composition-campaign-sticky-story .ast-story{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2rem,7vw,8rem);align-items:start}
.product-campaign-active .ast-composition-campaign-sticky-story figure{position:sticky;top:110px;height:calc(100svh - 150px);min-height:520px}
.product-campaign-active .ast-composition-campaign-sticky-story figure img{height:100%;width:100%;object-fit:cover}
.product-campaign-active .ast-composition-campaign-sticky-story .ast-story>div{padding-top:clamp(2rem,8vw,8rem)}
.product-campaign-active .ast-composition-campaign-sticky-story h2{font-size:clamp(3rem,6vw,6.8rem);text-transform:uppercase;max-width:8ch}
.product-campaign-active .ast-composition-campaign-sticky-story ol{list-style:none;padding:0;margin:3rem 0 0;border-top:1px solid var(--pc-line)}
.product-campaign-active .ast-composition-campaign-sticky-story li{padding:1.15rem 0;border-bottom:1px solid var(--pc-line);font-weight:700}

/* Color / variant lineup */
.product-campaign-active .ast-composition-campaign-color-lineup{background:var(--bp-surface)}
.product-campaign-active .ast-composition-campaign-color-lineup .ast-role-section-intro{max-width:900px;margin-bottom:clamp(2.5rem,5vw,5rem)}
.product-campaign-active .ast-composition-campaign-color-lineup .ast-heading{font-size:clamp(3rem,7vw,7.5rem);text-transform:uppercase;max-width:12ch}
.product-campaign-active .ast-composition-campaign-color-lineup .ast-collection{display:grid;grid-template-columns:repeat(12,1fr);border-top:1px solid var(--pc-line)}
.product-campaign-active .ast-composition-campaign-color-lineup .ast-collection-item{grid-column:span 4;padding:clamp(1rem,2vw,2rem);border-right:1px solid var(--pc-line);border-bottom:1px solid var(--pc-line)}
.product-campaign-active .ast-composition-campaign-color-lineup figure{aspect-ratio:4/5;background:var(--bp-bg);overflow:hidden}
.product-campaign-active .ast-composition-campaign-color-lineup figure img{width:100%;height:100%;object-fit:contain;padding:8%}
.product-campaign-active .ast-composition-campaign-color-lineup .ast-collection-item>div{padding-top:1.2rem}.product-campaign-active .ast-composition-campaign-color-lineup h3{font-size:1.2rem}.product-campaign-active .ast-composition-campaign-color-lineup p{opacity:.72}

/* Poster-like performance statement */
.product-campaign-active .ast-composition-campaign-performance{background:var(--bp-secondary);color:var(--bp-surface)}
.product-campaign-active .ast-composition-campaign-performance .ast-proof-list{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid color-mix(in srgb,var(--bp-surface) 28%,transparent)}
.product-campaign-active .ast-composition-campaign-performance article{min-height:240px;padding:clamp(1.5rem,4vw,4rem);border-right:1px solid color-mix(in srgb,var(--bp-surface) 28%,transparent);border-bottom:1px solid color-mix(in srgb,var(--bp-surface) 28%,transparent);display:flex;flex-direction:column;justify-content:space-between}
.product-campaign-active .ast-composition-campaign-performance article p{font-size:clamp(2.5rem,5vw,6rem);line-height:.92;letter-spacing:-.055em;text-transform:uppercase;font-weight:850;max-width:10ch}

/* Full-width lifestyle scene */
.product-campaign-active .ast-composition-campaign-lifestyle{padding:0;background:var(--bp-text);color:var(--bp-surface)}
.product-campaign-active .ast-composition-campaign-lifestyle .ast-container{width:100%;max-width:none}
.product-campaign-active .ast-composition-campaign-lifestyle .ast-story{display:grid;grid-template-columns:7fr 5fr;min-height:82svh}
.product-campaign-active .ast-composition-campaign-lifestyle figure{min-height:70svh}.product-campaign-active .ast-composition-campaign-lifestyle figure img{width:100%;height:100%;object-fit:cover}
.product-campaign-active .ast-composition-campaign-lifestyle .ast-story>div{padding:clamp(3rem,8vw,9rem);display:flex;flex-direction:column;justify-content:flex-end}
.product-campaign-active .ast-composition-campaign-lifestyle h2{font-size:clamp(3.4rem,7vw,8rem);line-height:.88;text-transform:uppercase;max-width:8ch}

/* Heritage/editorial section */
.product-campaign-active .ast-composition-campaign-heritage .ast-story{display:grid;grid-template-columns:5fr 7fr;gap:clamp(3rem,8vw,9rem);align-items:center}
.product-campaign-active .ast-composition-campaign-heritage figure{aspect-ratio:4/5}.product-campaign-active .ast-composition-campaign-heritage figure img{width:100%;height:100%;object-fit:cover}
.product-campaign-active .ast-composition-campaign-heritage h2{font-size:clamp(3rem,6vw,7rem);line-height:.9;text-transform:uppercase;max-width:9ch}

/* Product lineup without floating cards */
.product-campaign-active .ast-composition-campaign-lineup .ast-grid{display:grid;grid-template-columns:3fr 9fr;gap:clamp(2rem,5vw,6rem);align-items:start}
.product-campaign-active .ast-composition-campaign-lineup .ast-role-section-intro{position:sticky;top:120px}
.product-campaign-active .ast-composition-campaign-lineup .ast-role-section-intro h2{font-size:clamp(2.7rem,5vw,5.8rem);text-transform:uppercase}
.product-campaign-active .ast-composition-campaign-lineup .ast-product-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--pc-line)}
.product-campaign-active .ast-composition-campaign-lineup .ast-product-item{color:inherit;text-decoration:none;padding:clamp(1.2rem,3vw,3rem);border-right:1px solid var(--pc-line);border-bottom:1px solid var(--pc-line)}
.product-campaign-active .ast-composition-campaign-lineup .ast-product-item figure{aspect-ratio:4/5;background:var(--bp-surface);overflow:hidden}.product-campaign-active .ast-composition-campaign-lineup .ast-product-item img{width:100%;height:100%;object-fit:contain;padding:8%}

/* Final conversion area */
.product-campaign-active .ast-composition-campaign-final{background:var(--bp-primary);color:#fff;min-height:70svh;display:grid;align-items:center}
.product-campaign-active .ast-composition-campaign-final .ast-contact-card{display:grid;grid-template-columns:8fr 4fr;gap:4rem;align-items:end}
.product-campaign-active .ast-composition-campaign-final h2{font-size:clamp(4rem,9vw,10rem);line-height:.83;letter-spacing:-.065em;text-transform:uppercase;max-width:9ch}
.product-campaign-active .ast-composition-campaign-final dl{border-left:1px solid rgba(255,255,255,.35);padding-left:2rem}
.product-campaign-active .ast-composition-campaign-final .ast-btn-primary{background:#fff;color:var(--bp-primary)}

.product-campaign-motion-static .ast-media img{transition:none!important}
@media (prefers-reduced-motion:reduce){.product-campaign-active *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media (max-width:980px){
  .product-campaign-active .ast-composition-campaign-hero .ast-grid{grid-template-columns:1fr;align-items:start}
  .product-campaign-active .ast-role-campaign-hero-copy{padding:1rem 0 0;order:1}
  .product-campaign-active .ast-role-campaign-product-stage{order:0}
  .product-campaign-active .ast-role-campaign-product-stage .ast-media{height:min(62svh,650px);min-height:420px}
  .product-campaign-active .ast-role-campaign-hero-copy h1{font-size:clamp(3.5rem,12vw,7rem);max-width:10ch}
  .product-campaign-active .ast-composition-campaign-sticky-story .ast-story,
  .product-campaign-active .ast-composition-campaign-heritage .ast-story{grid-template-columns:1fr}
  .product-campaign-active .ast-composition-campaign-sticky-story figure{position:relative;top:auto;height:65svh;min-height:420px}
  .product-campaign-active .ast-composition-campaign-lifestyle .ast-story{grid-template-columns:1fr}.product-campaign-active .ast-composition-campaign-lifestyle .ast-story>div{min-height:48svh}
  .product-campaign-active .ast-composition-campaign-lineup .ast-grid{grid-template-columns:1fr}.product-campaign-active .ast-composition-campaign-lineup .ast-role-section-intro{position:relative;top:auto}
  .product-campaign-active .ast-composition-campaign-final .ast-contact-card{grid-template-columns:1fr}
}
@media (max-width:680px){
  .product-campaign-active .ast-container,.product-campaign-active .ast-width-max{width:min(100% - 28px,1600px)}
  .product-campaign-active .ast-section{padding-block:clamp(4rem,16vw,7rem)}
  .product-campaign-active .ast-composition-campaign-hero{padding-top:1.25rem;min-height:auto}
  .product-campaign-active .ast-role-campaign-product-stage .ast-media{height:52svh;min-height:350px}
  .product-campaign-active .ast-layout-campaign-rail{position:relative;max-width:none;grid-template-columns:repeat(2,1fr);border-left:0}
  .product-campaign-active .ast-composition-campaign-annotations .ast-proof-list{grid-template-columns:repeat(2,1fr)}
  .product-campaign-active .ast-composition-campaign-annotations article:nth-child(2){border-right:0}
  .product-campaign-active .ast-composition-campaign-color-lineup .ast-collection{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-14px;padding-right:14px}
  .product-campaign-active .ast-composition-campaign-color-lineup .ast-collection-item{min-width:82vw;scroll-snap-align:start;border-left:1px solid var(--pc-line)}
  .product-campaign-active .ast-composition-campaign-performance .ast-proof-list{grid-template-columns:1fr}.product-campaign-active .ast-composition-campaign-performance article{min-height:190px;border-right:0}
  .product-campaign-active .ast-composition-campaign-lineup .ast-product-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.product-campaign-active .ast-composition-campaign-lineup .ast-product-item{min-width:84vw;scroll-snap-align:start}
  .product-campaign-active .ast-composition-campaign-final h2{font-size:clamp(3.4rem,17vw,6.4rem)}
}
