/* 2026-08-24 v1.12
 * - Centered the complete desktop newsletter row.
 * 2026-08-24 v1.11
 * - Kept hero text stationary while touch-swiping the video.
 * 2026-08-24 v1.10
 * - Added touch drag feedback, adjacent-slide movement and bounce-back for the video hero.
 * 2026-08-24 v1.9
 * - Reduced desktop newsletter spacing and restored visible pale input borders.
 * 2026-08-22 v1.8
 * - Added an accessible video play fallback for blocked homepage autoplay.
 * 2026-08-22 v1.7
 * - Matched the iPhone browser surface to the dark hero and pale follow-up sections.
 * 2026-08-21 v1.6
 * - Scaled the complete mobile homepage CTA presentation to 75 percent.
 * 2026-08-21 v1.5
 * - Reduced the mobile homepage CTA hit area to 40px.
 * 2026-08-21 v1.4
 * - Made newsletter field and button borders fully pale.
 * 2026-08-21 v1.3
 * - Made overflowing hero selectors swipeable with item snapping.
 * 2026-08-21 v1.2
 * - Restored readable mobile line-height for the technology statement.
 * 2026-08-21 v1.1
 * - Added a 20px flex gap between story copy and call-to-action buttons.
 * 2026-08-21 v1.0
 * - Added the reusable Collection homepage layout and story styling.
 * - Added responsive hero controls and newsletter presentation.
 */

html.home-page-active,
body.home-page-active { background-color:#232120; }
html.home-page-active.home-surface-light,
body.home-page-active.home-surface-light { background-color:#f6f3ec; }

.home-content-wrapper {
    --home-ink:#25201d;
    --home-brown:#8a735e;
    --home-light:#f6f3ec;
    background:var(--home-light)!important;
    color:var(--home-ink)!important;
}
.content-wrapper.home-content-wrapper { margin:0; padding:0; max-width:none; }
.home-page { width:100%; overflow:hidden; background:var(--home-light); color:var(--home-ink); }
.home-hero { position:relative; width:100%; min-height:100svh; max-height:100dvh; overflow:hidden; isolation:isolate; background:#25201d; }
.home-hero-slides,.home-hero-slide,.home-hero-gradient { position:absolute; inset:0; }
.home-hero-slides { z-index:0; }
.home-hero-slide { opacity:0; transition:opacity .9s ease; }
.home-hero-slide.is-active { z-index:1; opacity:1; }
.home-hero-slide video { display:block; width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.78) contrast(1.05) brightness(.88); }
.home-video-fallback-play { position:absolute; z-index:3; top:50%; left:50%; display:grid; width:56px; height:56px; padding:0; place-items:center; border:1.5px solid rgba(246,243,236,.82); border-radius:50%; background:rgba(35,33,32,.45); color:#f6f3ec; font-size:16px; cursor:pointer; transform:translate(-50%,-50%); }
.home-video-fallback-play[hidden] { display:none; }
body:not(.is-touch-device) .home-video-fallback-play:hover { background:rgba(35,33,32,.72); }
.home-hero-gradient { z-index:1; pointer-events:none; background:radial-gradient(circle at 76% 18%,rgba(246,243,236,.16),transparent 38%),linear-gradient(90deg,rgba(6,4,4,.94),rgba(6,4,4,.76) 39%,rgba(6,4,4,.18) 70%),linear-gradient(0deg,rgba(6,4,4,.9),rgba(6,4,4,.08) 48%,rgba(6,4,4,.42)); }
.home-hero-copies { position:absolute; z-index:2; inset:0; pointer-events:none; }
.home-hero-copy { position:absolute; inset:0; display:flex; align-items:center; opacity:0; visibility:hidden; transform:translateY(18px); transition:opacity .55s ease,transform .55s ease,visibility 0s linear .55s; }
.home-hero-copy.is-active { opacity:1; visibility:visible; transform:none; transition-delay:.2s; }
.home-hero-copy-inner { box-sizing:border-box; width:min(1480px,calc(100vw - 80px)); margin:auto; padding:130px 0 190px; }
.home-kicker { margin:0 0 20px; color:#d0c2b6; font:700 11px/1.3 "avenir-lt-pro",sans-serif; letter-spacing:.16em; }
.home-hero-copy h1,.home-hero-copy h2 { max-width:1000px; margin:0; color:#f6f3ec!important; font-family:'Reem Kufi',sans-serif; font-size:clamp(48px,6.2vw,102px); font-weight:300; line-height:1.02; letter-spacing:.035em; }
.home-hero-intro { max-width:680px; margin:25px 0 0; color:#f6f3ec!important; font:400 18px/1.55 "avenir-lt-pro",sans-serif; }
.home-actions { display:flex; gap:12px; margin-top:30px; pointer-events:auto; }
.home-actions .button { display:flex; justify-content:space-between; gap:clamp(22px,3vw,42px); max-width:100%; color:#f6f3ec!important; border-color:rgba(246,243,236,.7)!important; }
.home-button-arrow { flex:0 0 auto; font:400 1.15em/1 "avenir-lt-pro",sans-serif; }
.home-hero-selector { position:absolute; z-index:4; right:40px; bottom:42px; left:40px; display:flex; gap:22px; width:min(1480px,calc(100vw - 80px)); margin:auto; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; scroll-snap-type:x proximity; touch-action:pan-x pan-y; -webkit-overflow-scrolling:touch; }
.home-hero-selector::-webkit-scrollbar { display:none; }
.home-hero-selector button { position:relative; flex:1 1 0; min-width:0; min-height:52px; padding:0 0 16px; border:0; border-bottom:1px solid rgba(246,243,236,.3); border-radius:0; background:none; color:rgba(246,243,236,.62); font:700 11px/1.3 "avenir-lt-pro",sans-serif; letter-spacing:.13em; text-align:left; text-transform:uppercase; scroll-snap-align:center; cursor:pointer; transition:color .25s ease; }
.home-hero-selector button:hover,.home-hero-selector button.is-active { color:#f6f3ec; }
.home-hero-progress { position:absolute; right:0; bottom:-1px; left:0; height:2px; overflow:hidden; }
.home-hero-progress::after { display:block; width:var(--home-video-progress,0%); height:100%; background:var(--home-brown); content:""; transition:width .2s linear; }
.home-hero[data-home-swipe-ready] { touch-action:pan-y; }
.home-hero.is-swipe-touching .home-hero-slide.is-active { z-index:2; transform:translate3d(var(--home-swipe-offset,0),0,0) scale(1.006); transition:transform .16s ease; }
.home-hero .home-hero-slide.is-swipe-target { z-index:1; opacity:1; visibility:visible; transform:translate3d(var(--home-swipe-target-offset,100%),0,0); transition:none; }
.home-hero.is-swipe-dragging .home-hero-slide.is-active { transition:none; }
.home-hero.is-swipe-settling .home-hero-slide.is-active,.home-hero.is-swipe-settling .home-hero-slide.is-swipe-target { transform:translate3d(var(--home-swipe-offset,0),0,0); transition:transform .26s cubic-bezier(.22,.61,.36,1); }
.home-hero.is-swipe-settling .home-hero-slide.is-swipe-target { transform:translate3d(var(--home-swipe-target-offset,100%),0,0); }
.home-products { position:relative; display:flex; flex-direction:column; box-sizing:border-box; height:100dvh; max-height:100dvh; padding:64px 0 88px; overflow:hidden; background:var(--home-light); }
.home-stories > * { position:relative; box-sizing:border-box; max-height:100dvh; }
.home-newsletter { box-sizing:border-box; padding:40px 80px; background:var(--home-brown)!important; color:var(--home-light); }
.home-newsletter .form-inner { display:flex; align-items:center; justify-content:center; gap:25px; width:min(1320px,100%); margin:auto; }
.home-newsletter label { min-width:auto; white-space:nowrap; }
.home-newsletter input,.home-newsletter button { color:var(--home-light)!important; border-color:var(--home-light)!important; }
.home-newsletter input { box-sizing:border-box; min-height:46px; padding:10px 14px; border:1.5px solid var(--home-light)!important; }
.home-newsletter input::placeholder { color:rgba(246,243,236,.7); }
.home-newsletter .success-text { display:none; }
.home-newsletter[class*="success"] .form-inner { display:none; }
.home-newsletter[class*="success"] .success-text { display:block; text-align:center; }
.home-newsletter:not(form[onSubmit]) { display:none; }
.home-technology-copy { width:66.6667%; margin-left:auto; padding:80px; }
.home-technology-copy blockquote,.home-technology-copy p { margin:0; }
.home-technology-copy p { font:400 clamp(31.5px,3.75vw,61.5px)/1.14 "avenir-lt-pro",sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.home-technology-attribution { display:flex; align-items:center; gap:22px; margin-top:42px; font:600 14px/1.2 "avenir-lt-pro",sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.home-technology-attribution::before { width:84px; height:1px; background:currentColor; content:""; }
.home-technology-copy cite { color:var(--home-brown); font-style:normal; }
.home-story-card { width:calc(100% - 160px); min-height:min(100dvh,900px); margin-right:auto; margin-left:auto; overflow:hidden; background:#25201d; }
.home-story-card:not(:last-child) { margin-bottom:clamp(10px,1vw,20px); }
.home-story-card::after { position:absolute; z-index:1; inset:0; background:linear-gradient(to bottom,rgba(0,0,0,.15),rgba(0,0,0,0) 22%,rgba(0,0,0,.7)); content:""; pointer-events:none; }
.home-story-card > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.home-story-card-overlay { position:absolute; z-index:2; inset:0; display:flex; align-items:center; justify-content:center; box-sizing:border-box; padding:clamp(40px,6.25vw,100px); color:#d0c2b6; text-align:center; }
.home-story-card-overlay > div { display:flex; align-items:center; flex-direction:column; gap:20px; max-width:780px; }
.home-story-card h2 { margin:0; color:inherit!important; font-family:'Reem Kufi',sans-serif; font-size:clamp(40px,5vw,80px); font-weight:300; line-height:1.1; }
.home-story-card p { margin:0; color:inherit!important; }
.home-story-card .button { color:inherit!important; border-color:currentColor!important; }
@media (max-width:720px) {
    .home-hero-gradient { background:linear-gradient(0deg,rgba(6,4,4,.94),rgba(6,4,4,.62) 58%,rgba(6,4,4,.28)),linear-gradient(90deg,rgba(6,4,4,.7),rgba(6,4,4,.12)); }
    .home-hero-copy { align-items:flex-end; }
    .home-hero-copy-inner { width:calc(100vw - 40px); padding:120px 0 160px; }
    .home-hero-copy h1,.home-hero-copy h2 { font-size:clamp(38px,11vw,56px); }
    .home-hero-intro { margin-top:20px; font-size:16px; line-height:1.45; }
    .home-actions { margin-top:24px; }
    .home-actions .button { width:auto; min-height:30px; gap:16.5px; font-size:11.25px; }
    .home-hero-selector { right:20px; bottom:24px; left:20px; gap:20px; width:calc(100vw - 40px); }
    .home-hero-selector button { flex:0 0 min(68vw,250px); }
    .home-products { padding:34px 0 56px; }
    .home-newsletter { max-height:none; padding:60px 20px; }
    .home-newsletter .form-inner { align-items:stretch; flex-direction:column; }
    .home-technology-copy { width:100%; max-height:none; padding:60px 20px; }
    .home-technology-copy p { font-size:clamp(24px,6.75vw,34.5px); line-height:1.14!important; letter-spacing:.06em; }
    .home-story-card { width:calc(100% - 24px); min-height:76dvh; max-height:none; }
}
@media (prefers-reduced-motion:reduce) { .home-hero-slide,.home-hero-copy,.home-hero.is-swipe-settling .home-hero-slide { transition:none; } }
