/* Job 2: scoped additions; approved page composition and ecommerce remain intact. */
.kit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:42px}.kit-card{min-width:0}.kit-card>.eyebrow{font-size:.7rem;letter-spacing:.1em;margin-bottom:18px}.kit-image{display:block;aspect-ratio:1;background:#141412;overflow:hidden}.kit-image img{display:block;width:100%;height:100%;object-fit:contain;padding:20px;transition:transform .3s}.kit-image:hover img{transform:scale(1.025)}.kit-card h3{font-size:clamp(1.1rem,1.6vw,1.5rem);margin:22px 0 8px}.kit-detail{font-size:.8125rem;color:var(--muted);margin:0 0 22px}.kit-purchase{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--rule);padding-top:18px}.kit-purchase>span{color:var(--gold);white-space:nowrap}.kit-purchase .btn{font-size:.75rem;padding:12px 16px;min-height:44px;min-width:132px}.kit-purchase .btn:disabled{opacity:.55;cursor:default}.site-footer .footer-grid{grid-template-columns:minmax(190px,1.3fr) minmax(135px,.8fr) minmax(220px,1fr) minmax(160px,.85fr);gap:36px;padding-bottom:44px}.site-footer .footer-grid>div{grid-column:auto;min-width:0}.site-footer .footer-grid h2{font-size:.875rem;line-height:1.5;font-weight:500;letter-spacing:.08em;margin:0 0 20px;color:var(--gold)}.site-footer .footer-grid a{font-size:.875rem;line-height:1.7;overflow-wrap:anywhere;margin-bottom:10px}.site-footer .footer-logo{max-width:100%;margin-left:0;width:205px}.site-footer .policy-links{display:flex;flex-wrap:wrap;gap:14px 26px;border-top:1px solid var(--rule);padding:28px 0 0;font-size:.75rem;color:var(--muted)}.site-footer .policy-links a,.site-footer .policy-links button{font:inherit;color:inherit;line-height:1.8}.site-footer .footer-bottom{display:flex;justify-content:space-between;margin-top:26px;padding-top:22px;gap:12px;font-size:.75rem}.collective main h1{font-size:clamp(2.6rem,6.8vw,7rem);line-height:1.03}.collective main h2{font-size:clamp(2rem,4.7vw,4.8rem)}.collective-opening{padding-top:100px}.collective-opening h1{margin:28px 0}.collective-lede{max-width:590px;font-size:1.2rem;line-height:1.7;margin:30px 0}.collective-offer,.collective-story,.collective-how,.collective-apply,.collective-faq{border-top:1px solid var(--rule)}.collective-offer>p:last-child,.collective-apply>p{max-width:670px;line-height:1.8}.collective-story{display:grid;grid-template-columns:1fr 1fr;gap:70px}.collective-story p{line-height:1.8}.collective-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:36px}.collective-steps article{border-top:1px solid var(--rule);padding-top:24px}.collective-steps span{font-size:.75rem;letter-spacing:.1em;color:var(--gold)}.collective-steps h3{font-size:1.6rem;margin:24px 0 18px}.collective-steps p{font-size:.9375rem;line-height:1.8}.collective-faq{display:grid;grid-template-columns:1fr 1.2fr;gap:40px}.collective-faq>.text-link{grid-column:2}.collective-terms .policy-copy{max-width:780px;line-height:1.8}.collective-terms .policy-copy h2{font-size:1.6rem;margin:36px 0 14px}.collective-terms>.text-link{margin-top:30px}.collective-terms h1{margin:24px 0 32px}
@media(max-width:1050px){.site-footer .footer-grid{grid-template-columns:1fr 1fr;gap:36px 48px}.kit-grid{gap:20px}.kit-purchase{align-items:start;flex-direction:column}.kit-purchase .btn{width:100%}}
@media(max-width:700px){.kit-grid{grid-template-columns:1fr;gap:42px}.kit-image{aspect-ratio:1.15}.kit-purchase{flex-direction:row;align-items:center}.kit-purchase .btn{width:auto}.kit-card h3{font-size:1.4rem}.site-footer .footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px}.site-footer .footer-grid>.footer-brand{grid-column:1/-1}.site-footer .footer-grid>div:nth-child(3){grid-column:1/-1;grid-row:3}.site-footer .policy-links{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}.site-footer .policy-links button{text-align:left}.site-footer .footer-bottom{flex-direction:column}.collective-opening{padding-top:60px}.collective-story,.collective-steps,.collective-faq{grid-template-columns:1fr;gap:30px}.collective-faq>.text-link{grid-column:auto}.collective-opening h1{font-size:clamp(2.25rem,8.8vw,4rem)}.collective-lede{font-size:1rem}.collective-opening .btn{font-size:.8rem}.collective-offer h2{font-size:clamp(2rem,9vw,3.5rem)}}
@media(prefers-reduced-motion:reduce){.kit-image img{transition:none}.kit-image:hover img{transform:none}}
@media(max-width:700px){.site-footer .footer-grid>div{grid-column:auto!important}.site-footer .footer-grid>.footer-brand,.site-footer .footer-grid>div:nth-child(3){grid-column:1/-1!important}.complete-kit #kit-title{scroll-margin-top:160px}}

.collective-apply form{max-width:760px;margin-top:2rem}.collective-apply [hidden]{display:none!important}

/* Collective: campaign imagery and a shared sense of craft. */
.collective-opening{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(28px,5vw,80px)}
.collective-opening-copy{min-width:0}.collective .collective-opening h1{font-size:clamp(2.3rem,4.2vw,5rem)}
.collective-hero-image,.collective-salon-image,.collective-editorial-image{margin:0;overflow:hidden}
.collective-hero-image img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.collective-hero-image figcaption,.collective-salon-image figcaption{padding:18px 0;font-size:.65rem;letter-spacing:.16em;color:var(--gold);line-height:1.6}
.collective-story{grid-template-columns:1fr 1fr;align-items:center}
.collective-salon-image{grid-row:span 2}.collective-salon-image img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:58% center}
.collective-story>div{min-width:0}.collective-story{row-gap:24px}
.collective-editorial-image{position:relative}.collective-editorial-image img{display:block;width:100%;height:clamp(350px,48vw,680px);object-fit:cover;object-position:center 40%}
.collective-editorial-image figcaption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:end;padding:clamp(28px,6vw,90px);background:linear-gradient(transparent 30%,rgba(0,0,0,.75));font-size:clamp(1.8rem,4.5vw,4.8rem);line-height:1.1;letter-spacing:-.025em}
.collective-editorial-image em{color:var(--gold)}
@media(max-width:800px){.collective-opening{grid-template-columns:1fr;gap:36px}.collective .collective-opening h1{font-size:clamp(2.3rem,8.8vw,4rem)}.collective-hero-image img{aspect-ratio:3/2}.collective-story{grid-template-columns:1fr;gap:28px}.collective-salon-image{grid-row:auto}.collective-salon-image img{aspect-ratio:3/2}.collective-editorial-image img{object-position:35% center}}

/* Refined Collective composition; preserve the approved editorial banner. */
.menu-secondary section>a{display:block;width:fit-content;margin-top:14px}
.collective-opening{position:relative;isolation:isolate;min-height:650px;display:flex;align-items:center;padding-top:65px;padding-bottom:65px;overflow:hidden}
.collective-opening-copy{position:relative;z-index:2;width:52%}
.collective-hero-image{position:absolute;inset:0 0 0 35%;z-index:-1}
.collective-hero-image img{height:100%;width:100%;object-fit:cover;aspect-ratio:auto;mask-image:linear-gradient(to right,transparent,#000 30%);-webkit-mask-image:linear-gradient(to right,transparent,#000 30%)}
.collective-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#0a0a09,transparent 12%,transparent 85%,#0a0a09)}
.collective-hero-image figcaption{position:absolute;bottom:12px;right:5%;z-index:1}
.collective-story{grid-template-columns:1fr 1fr;gap:40px;padding-top:50px;padding-bottom:50px}
.collective-salon-image{grid-row:auto}.collective-salon-image img{aspect-ratio:4/3;max-height:440px}
.collective-story h2{margin-bottom:24px}.collective-story>div{align-self:center}
.collective-offer,.collective-how,.collective-apply,.collective-faq{padding-top:55px;padding-bottom:55px}
@media(max-width:800px){.collective-opening{display:block;min-height:0;padding-top:38px;padding-bottom:0}.collective-opening-copy{width:100%}.collective-hero-image{position:relative;inset:auto;margin:12px -6vw 0;z-index:0}.collective-hero-image img{height:auto;aspect-ratio:3/2;mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 80%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 80%,transparent)}.collective-hero-image figcaption{position:relative;bottom:auto;right:auto;text-align:center;padding:8px 0 22px}.collective-story{grid-template-columns:1fr;gap:20px;padding-top:32px;padding-bottom:32px}.collective-offer,.collective-how,.collective-apply,.collective-faq{padding-top:36px;padding-bottom:36px}}

/* Recurring approved Collective identity. */
.collective-mark{display:block;position:relative;width:250px;max-width:100%;aspect-ratio:2.4;overflow:hidden}
.collective-mark img{position:absolute;width:100%;height:auto;top:50%;transform:translateY(-50%);display:block;mix-blend-mode:screen}
.collective-opening .collective-mark{margin-bottom:20px}
.collective-identity{display:flex;align-items:center;justify-content:center;min-width:0}
.collective-identity .collective-mark{width:100%}
.collective-apply>.collective-mark{width:200px;margin-bottom:24px}
.collective-opening{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px;min-height:0;align-items:center;padding-top:48px;padding-bottom:40px}
.collective-opening-copy{width:100%;max-width:850px}
.collective-hero-image{position:relative;inset:auto;z-index:0;width:100%;min-width:0;margin:0}
.collective-hero-image img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 90%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 90%,transparent)}
.collective-hero-image figcaption{position:relative;bottom:auto;right:auto;text-align:right}
@media(max-width:800px){.collective-story{gap:24px}.collective-identity .collective-mark{width:300px}.collective-hero-image{margin:16px 0 0}.collective-hero-image figcaption{font-size:.55rem;text-align:center}.collective-opening .collective-mark{width:220px}}

@media(min-width:701px) and (max-width:1100px){.collective .collective-opening h1{font-size:clamp(2rem,3.8vw,3.4rem)}.collective-opening .collective-lede{font-size:1rem}.collective-opening .btn{font-size:.75rem}}
@media(max-width:700px){.collective-opening{grid-template-columns:1fr;gap:12px;padding-top:32px;padding-bottom:24px}.collective-hero-image{max-width:520px;margin:0 auto}}

/* Dissolve the group photograph into the page without changing the portraits. */
.collective-opening .collective-hero-image{overflow:visible}
.collective-opening .collective-hero-image img{
-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 7%,#000 93%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 12%,#000 72%,transparent 100%);
mask-image:linear-gradient(to right,transparent 0%,#000 7%,#000 93%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 12%,#000 72%,transparent 100%);
-webkit-mask-composite:source-in;mask-composite:intersect;
}
.collective-opening .collective-hero-image:after{display:none}
