:root {
            
            --bg-color: #EBE2CE; 
            --bg-alt: #E3D9C4; 
            --text-main: #222222; 
            --text-muted: #555555;
            --text-light: #888888;
            --gold: #B89742; 
            --border: #D8D4CC;
            
            
            --font-body: 'Lora', Georgia, serif;
            --font-title: 'Playfair Display', "Times New Roman", serif;
            --font-ui: 'Inter', "Helvetica Neue", sans-serif;
            
            
            --ease: cubic-bezier(0.25, 1, 0.5, 1);
            --transition-slow: all 1s var(--ease);
            --transition-fast: all 0.4s var(--ease);
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }
        
        body { 
            font-family: var(--font-body); 
            background-color: var(--bg-color); 
            color: var(--text-main); 
            line-height: 1.7; 
            font-size: 19px; 
            -webkit-font-smoothing: antialiased;
            overflow-x: hidden;
        }

        .prose-text { 
            max-width: 720px; 
            margin: 0 auto; 
            padding: 4rem 20px; 
        }
        
        .prose-text p { margin-bottom: 1.8rem; }
        
        .prose-text h2 { 
            font-family: var(--font-title); 
            font-size: 2rem; 
            margin: 3.5rem 0 1.5rem; 
            line-height: 1.3; 
            font-weight: 600;
        }
        
        .prose-text .dropcap::first-letter { 
            float: left; 
            font-size: 4.5rem; 
            line-height: 0.8; 
            padding-top: 4px; 
            padding-right: 12px; 
            font-family: var(--font-title); 
            color: var(--gold); 
        }
        
        .prose-text .info-box { 
            background: transparent; 
            border-top: 1px solid var(--text-main); 
            border-bottom: 1px solid var(--text-main); 
            padding: 2rem 0; 
            margin: 3rem 0; 
            font-family: var(--font-ui);
            font-size: 0.95rem;
            line-height: 1.6;
            color: var(--text-muted);
        }

        .prose-text .info-box strong {
            color: var(--text-main);
            font-family: var(--font-title);
            font-size: 1.1rem;
            display: block;
            margin-bottom: 0.5rem;
        }

        @media (max-width: 768px) { 
            body { font-size: 17px; }
            .prose-text { padding: 3rem 20px; }
        }

        .scrolly-section { position: relative; }
        
        .sticky-container { 
            position: sticky; 
            top: 0; 
            height: 100vh; 
            width: 100%; 
            display: flex; 
            align-items: center; 
            justify-content: center; 
            overflow: hidden; 
            background: var(--bg-color); 
            z-index: 1; 
        }
        
        .steps-container { 
            position: relative; 
            z-index: 2; 
            max-width: 720px; 
            margin: 0 auto; 
            padding: 0 20px; 
            pointer-events: none; 
        }
        
        .step { 
            height: 100vh; 
            display: flex; 
            align-items: center; 
        }
        
        
        .step-content { 
            background: var(--bg-color); 
            border: 1px solid var(--border);
            padding: 1.5rem 2rem; 
            max-width: 380px; 
            font-family: var(--font-ui); 
            font-size: 0.95rem; 
            line-height: 1.6; 
            pointer-events: auto; 
            opacity: 0; 
            transition: var(--transition-fast);
            transform: translateY(20px);
            box-shadow: 0 20px 40px rgba(0,0,0,0.03);
        }
        
        .step.is-active .step-content { 
            opacity: 1; 
            transform: translateY(0);
        }
        
        .step.empty { pointer-events: none; } 
        .step.empty .step-content { display: none; }

        #v1 { height: 400vh; }
        .v1-visual {
            text-align: center;
            width: 100%;
            height: 100vh; 
            padding: 12vh 20px 5vh; 
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: flex-start; 
        }
        
        
        .v1-headline-lux {
            font-family: 'Bodoni Moda', 'Playfair Display', "Times New Roman", serif;
            font-size: clamp(2rem, 4vw, 3.2rem); 
            font-weight: 500;
            line-height: 1.2;
            margin: 0 auto 0.5rem; 
            max-width: 900px;
            color: var(--text-main);
            letter-spacing: 2px; 
            text-transform: uppercase; 
            transition: var(--transition-slow);
        }

        .v1-subheadline-lux {
            font-family: 'Bodoni Moda', 'Playfair Display', "Times New Roman", serif;
            font-size: clamp(1.2rem, 2.5vw, 1.8rem);
            font-weight: 400;
            line-height: 1.4;
            margin: 0 auto 3rem; 
            max-width: 800px;
            color: var(--text-main);
            letter-spacing: 1px;
            transition: var(--transition-slow);
        }

        .v1-image-scene {
            position: relative;
            width: 100%;
            height: 400px; 
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .v1-image-wrapper {
            position: relative;
            width: 100%;
            max-width: 480px; 
            aspect-ratio: 1.25;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .asset-img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: contain;
            mix-blend-mode: multiply; 
        }
        
        .v1-headline {
            
            display: none;
        }
        
        .v1-subhead {
            font-family: var(--font-body);
            font-style: italic;
            color: var(--text-muted);
            margin-bottom: 4rem;
            font-size: 1.15rem;
            max-width: 600px;
            margin-left: auto;
            margin-right: auto;
            transition: var(--transition-slow);
        }

        .v1-image-scene {
            position: relative;
            width: 100%;
            height: 450px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-top: 1rem;
        }
        
        .v1-image-wrapper {
            position: relative;
            width: 100%;
            max-width: 550px;
            aspect-ratio: 1.25; 
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .asset-img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: contain;
            
            
        }

        .asset-box-closed {
            z-index: 2;
        }

        .asset-box-open {
            z-index: 1;
            
            opacity: 0;
        }

        
        .v1-scroll-cue {
            margin-top: 1rem;
            font-family: var(--font-ui);
            font-size: 0.75rem;
            letter-spacing: 2px;
            color: var(--text-light);
            text-transform: uppercase;
            opacity: 1;
            transition: opacity 1.5s var(--ease);
        }
        .v1-scroll-cue::after {
            content: '';
            display: block;
            width: 1px;
            height: 40px;
            background-color: var(--text-light);
            margin: 15px auto 0;
            animation: scrolldown 2s infinite cubic-bezier(0.25, 1, 0.5, 1);
            transform-origin: top;
        }

        
        .v1-memories-container {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 100%;
            max-width: 800px; 
            height: 100%;
            pointer-events: none;
            z-index: 3;
            transform: translate(-50%, -50%); 
        }
        
        .memory-item {
            position: absolute;
            top: 50%;
            left: 50%;
            
            transform: translate(-50%, -50%) 
                       translate(calc(var(--end-x) * var(--fly-progress)), calc(var(--end-y) * var(--fly-progress))) 
                       scale(calc(0.4 + 0.6 * var(--fly-progress))) 
                       rotate(calc(var(--end-rot) * var(--fly-progress)));
            opacity: var(--fly-opacity);
            will-change: transform, opacity;
        }

        
        .mem-img-wrap {
            padding: 5px;
            padding-bottom: 18px;
            background: #fff;
            box-shadow: 0 10px 25px rgba(0,0,0,0.15), 0 5px 10px rgba(0,0,0,0.05);
            border: 1px solid var(--border);
        }
        .mem-img-wrap img {
            width: 110px; 
            height: 110px;
            object-fit: cover;
            display: block;
            filter: sepia(0.1) contrast(0.95);
        }
        .mem-img-wrap.rect img {
            width: 130px;
            height: 90px;
        }

        
        .mem-msg {
            font-family: var(--font-title);
            font-style: italic;
            color: var(--text-main);
            font-size: 0.95rem;
            white-space: nowrap;
            background: rgba(253, 252, 248, 0.95);
            padding: 6px 14px;
            border-radius: 2px;
            border: 1px solid var(--border);
            box-shadow: 0 8px 20px rgba(0,0,0,0.08);
        }

        
        .mem-audio {
            width: 40px;
            height: 40px;
            background: var(--gold);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 8px 15px rgba(184, 151, 66, 0.3);
        }
        .mem-audio svg {
            width: 18px;
            height: 18px;
            fill: #fff;
        }

        
        
        .mi-1 { --end-x: -280px; --end-y: -120px; --end-rot: -12deg; } 
        .mi-3 { --end-x: -300px; --end-y: 20px;   --end-rot: -6deg; }  
        .mi-5 { --end-x: -250px; --end-y: 120px;  --end-rot: 4deg; }   
        
        
        .mi-2 { --end-x: 280px;  --end-y: -100px; --end-rot: 8deg; }   
        .mi-4 { --end-x: 300px;  --end-y: 40px;   --end-rot: 15deg; }  
        .mi-6 { --end-x: 250px;  --end-y: 230px;  --end-rot: -5deg; }  
        
        
        .mi-7 { --end-x: 0px;    --end-y: -180px; --end-rot: 0deg; }   

        
        @media (max-width: 768px) {
            .v1-image-scene { height: 280px; }
            .v1-headline { font-size: 1.8rem; margin-top: -10px; }
            
            
            .mem-img-wrap img { width: 60px; height: 60px; padding-bottom: 10px;}
            .mem-img-wrap.rect img { width: 80px; height: 50px; }
            .mem-msg { font-size: 0.75rem; padding: 4px 8px; }
            .mem-audio { width: 30px; height: 30px; }
            .mem-audio svg { width: 12px; height: 12px; }
            
            
            .mi-1 { --end-x: -120px; --end-y: -80px; }
            .mi-3 { --end-x: -140px; --end-y: 10px; }
            .mi-5 { --end-x: -110px; --end-y: 80px; }
            
            .mi-2 { --end-x: 120px;  --end-y: -60px; }
            .mi-4 { --end-x: 140px;  --end-y: 30px; }
            .mi-6 { --end-x: 105px;  --end-y: 118px; }
            
            .mi-7 { --end-x: 0px;    --end-y: -120px; }
        }

        
        
        
        

        
        
        
        

        #v2 { height: 300vh; background-color: var(--bg-alt); }
        .v2-visual { position: relative; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
        
        .v2-box {
            width: 300px;
            height: 200px;
            border: 1px solid var(--border);
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: var(--font-ui);
            font-size: 0.8rem;
            letter-spacing: 2px;
            color: var(--text-light);
            transition: var(--transition-slow);
            background-color: var(--bg-color);
        }
        
        .v2-question {
            position: absolute;
            font-family: var(--font-title);
            font-style: italic;
            font-size: 1.8rem;
            color: var(--gold);
            opacity: 0;
            transition: var(--transition-slow);
        }
        .v2-q1 { top: 25%; left: 20%; transform: translateY(20px); }
        .v2-q2 { bottom: 25%; right: 20%; transform: translateY(20px); }
        .v2-q3 { top: 40%; right: 30%; transform: translateY(20px); }
        
        .v2-message {
            position: absolute;
            text-align: center;
            opacity: 0;
            transform: scale(0.95);
            transition: transform 1.5s var(--ease), opacity 1.5s var(--ease);
        }
        .v2-message h3 { font-family: var(--font-title); font-size: 3rem; font-weight: 400; line-height: 1.2; }
        .v2-message p { font-family: var(--font-ui); font-size: 1rem; letter-spacing: 3px; color: var(--text-muted); margin-top: 1rem;}

        
        .sticky-container[data-state="1"] .v2-q1 { opacity: 1; transform: translateY(0); transition-delay: 0s; }
        .sticky-container[data-state="1"] .v2-q2 { opacity: 1; transform: translateY(0); transition-delay: 0.2s; }
        .sticky-container[data-state="1"] .v2-q3 { opacity: 1; transform: translateY(0); transition-delay: 0.4s; }
        
        .sticky-container[data-state="2"] .v2-box { opacity: 0; transform: scale(1.1); }
        .sticky-container[data-state="2"] .v2-question { opacity: 0; transform: translateY(-20px); }
        .sticky-container[data-state="2"] .v2-message { opacity: 1; transform: scale(1); transition-delay: 0.3s; }

        #v3 { height: 350vh; }
        .v3-visual {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            font-family: var(--font-ui);
            gap: 2rem;
        }
        
        .v3-node {
            display: flex;
            flex-direction: column;
            align-items: center;
            opacity: 0.1; 
            transform: translateY(20px);
            transition: var(--transition-slow);
        }
        
        .v3-gold-item { width: 60px; height: 90px; background-color: var(--gold); }
        
        .v3-arrow {
            height: 40px;
            width: 1px;
            background-color: var(--text-main);
            position: relative;
            opacity: 0.1;
            transition: var(--transition-slow);
        }
        .v3-arrow::after {
            content: ''; position: absolute; bottom: 0; left: -3px;
            border-width: 5px 3.5px 0; border-style: solid;
            border-color: var(--text-main) transparent transparent transparent;
        }
        
        .v3-qr-code {
            width: 80px; height: 80px;
            border: 1px solid var(--text-main);
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2px;
            padding: 4px;
        }
        .v3-qr-code div { background-color: var(--text-main); }
        .v3-qr-code div:nth-child(5) { opacity: 0; } 
        
        .v3-media-options { display: flex; gap: 1rem; }
        .v3-media-tag {
            border: 1px solid var(--border);
            padding: 0.5rem 1rem;
            font-size: 0.8rem;
            letter-spacing: 1px;
            background: var(--bg-color);
        }
        
        .v3-label { margin-top: 1rem; font-size: 0.85rem; letter-spacing: 1px; color: var(--text-muted); }

        
        
        .sticky-container[data-state="0"] .v3-node:nth-child(1) { opacity: 1; transform: translateY(0); }
        
        .sticky-container[data-state="1"] .v3-node:nth-child(1),
        .sticky-container[data-state="1"] .v3-arrow:nth-child(2),
        .sticky-container[data-state="1"] .v3-node:nth-child(3) { opacity: 1; transform: translateY(0); }
        
        .sticky-container[data-state="2"] .v3-node,
        .sticky-container[data-state="2"] .v3-arrow { opacity: 1; transform: translateY(0); }

        #v4 { height: 400vh; background-color: #ffffff; }
        .v4-visual { width: 100%; height: 100%; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; font-family: var(--font-ui); }
        
        .v4-scale-group { display: flex; align-items: flex-end; justify-content: center; gap: 3rem; transition: var(--transition-slow); }
        .v4-item { display: flex; flex-direction: column; align-items: center; gap: 1rem; transition: var(--transition-slow); }
        
        .v4-square { background-color: var(--gold); transition: transform 1.2s var(--ease); transform-origin: bottom center; }
        .v4-sq-1 { width: 10px; height: 10px; }
        .v4-sq-2 { width: 15px; height: 15px; }
        .v4-sq-3 { width: 20px; height: 20px; }
        .v4-sq-4 { width: 30px; height: 30px; }
        
        .v4-label { font-size: 0.8rem; letter-spacing: 1px; color: var(--text-muted); }
        
        .v4-process {
            display: flex;
            gap: 2rem;
            position: absolute;
            top: 60%;
            opacity: 0;
            transform: translateY(20px);
            transition: var(--transition-slow);
            font-size: 0.9rem;
            letter-spacing: 2px;
            color: var(--text-main);
        }
        .v4-process span:not(:last-child)::after { content: '↓'; display: block; text-align: center; margin-top: 5px; color: var(--gold); }
        @media (min-width: 768px) {
            .v4-process span:not(:last-child)::after { content: '→'; display: inline-block; margin-left: 1.5rem; margin-top: 0; }
        }

        .v4-final {
            position: absolute;
            text-align: center;
            opacity: 0;
            transform: scale(0.95);
            transition: var(--transition-slow);
        }
        .v4-final h2 { font-family: var(--font-title); font-size: 6rem; color: var(--gold); line-height: 1; font-weight: 400; }
        .v4-final p { font-family: var(--font-ui); font-size: 1rem; letter-spacing: 2px; }

        
        .sticky-container[data-state="1"] .v4-scale-group { transform: translateY(-80px); }
        .sticky-container[data-state="1"] .v4-item:not(:last-child) { opacity: 0.2; }
        .sticky-container[data-state="1"] .v4-sq-4 { transform: scaleX(10) scaleY(0.1); }
        
        .sticky-container[data-state="2"] .v4-scale-group { opacity: 0.1; transform: translateY(-120px); }
        .sticky-container[data-state="2"] .v4-process { opacity: 1; transform: translateY(0); }
        
        .sticky-container[data-state="3"] .v4-scale-group, .sticky-container[data-state="3"] .v4-process { opacity: 0; }
        .sticky-container[data-state="3"] .v4-final { opacity: 1; transform: scale(1); }

        #v5 { height: 500vh; background-color: var(--bg-alt); }
        .v5-visual { width: 100%; height: 100%; position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; }
        
        .v5-start-title {
            position: absolute;
            top: 20%;
            font-family: var(--font-ui);
            font-size: 1rem;
            letter-spacing: 3px;
            color: var(--text-muted);
            transition: var(--transition-slow);
            opacity: 1;
        }

        .v5-grid-container {
            width: 90%;
            max-width: 600px;
            display: grid;
            grid-template-columns: repeat(7, 1fr);
            gap: 4px;
            transition: transform 1.5s var(--ease), opacity 1.5s var(--ease);
        }
        
        .v5-dot {
            aspect-ratio: 1;
            background-color: var(--gold);
            opacity: 0.5;
            transition: all 1s var(--ease);
            
            transform: translate(var(--rx), var(--ry)) scale(0.5);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .v5-dot-label {
            font-family: var(--font-ui);
            font-size: 0.65rem;
            text-align: center;
            color: #fff;
            opacity: 0;
            transition: opacity 0.3s;
            pointer-events: none;
            padding: 2px;
            line-height: 1.1;
        }

        .v5-final-statement {
            position: absolute;
            width: 90%;
            max-width: 800px;
            text-align: center;
            opacity: 0;
            transform: translateY(20px);
            transition: var(--transition-slow);
            z-index: 10;
        }
        .v5-final-statement p { font-family: var(--font-ui); font-size: 1rem; letter-spacing: 2px; color: var(--text-muted); margin-bottom: 1rem; }
        .v5-final-statement h1 { font-family: var(--font-title); font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.2; font-weight: 400; }

        
        
        .sticky-container[data-state="1"] .v5-start-title { opacity: 0; transform: translateY(-20px); }
        .sticky-container[data-state="1"] .v5-dot { 
            transform: translate(0, 0) scale(1); 
            border-radius: 2px; 
            background-color: transparent; 
            border: 1px solid var(--border); 
            opacity: 1;
        }

        
        .sticky-container[data-state="2"] .v5-grid-container { transform: scale(0.95); }
        .sticky-container[data-state="2"] .v5-dot { transform: translate(0, 0) scale(1); background-color: var(--bg-color); border-radius: 2px; border: 1px solid var(--border); opacity: 0.3; }
        
        .sticky-container[data-state="2"] .v5-dot.is-highlighted {
            background-color: var(--gold);
            border-color: var(--gold);
            opacity: 1;
        }
        .sticky-container[data-state="2"] .v5-dot.is-highlighted .v5-dot-label { opacity: 1; }

        
        .sticky-container[data-state="3"] .v5-grid-container { opacity: 0.05; transform: scale(1.1); }
        .sticky-container[data-state="3"] .v5-final-statement { opacity: 1; transform: translateY(0); }

        
        :root {
            
            --bg-color: #F4EBDC;
            --bg-alt: #F4EBDC;
        }
        body, .sticky-container, #v2, #v4, #v5 { background-color: var(--bg-color) !important; }

        
        .v1-headline-lux,
        .v1-subheadline-lux {
            font-family: "Neue Haas Grotesk Display Pro", "Neue Haas Grotesk Text Pro", "Neue Haas Grotesk", "Helvetica Neue", Arial, sans-serif !important;
        }

        
        .sapo-box {
            margin: 0 0 3rem;
            padding: 1.7rem 1.85rem;
            background: rgba(255,255,255,.42);
            border: 1px solid rgba(106,87,63,.14);
            border-radius: 20px;
            box-shadow: 0 18px 50px rgba(57,42,27,.055);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            color: var(--text-main);
        }

        
        #v2, #v3 { display: none !important; }

        
        .uppercase-heading {
            text-transform: uppercase;
            font-family: var(--font-ui) !important;
            font-weight: 600 !important;
            letter-spacing: .055em;
            line-height: 1.22 !important;
        }

        .v1-brandline {
            margin-bottom: 1.85rem !important;
        }
        .v1-subheadline-lux {
            margin-top: 1.55rem !important;
            margin-bottom: 0 !important;
            font-family: var(--font-ui) !important;
            font-size: clamp(.82rem, 1vw, .96rem) !important;
            line-height: 1.2 !important;
            letter-spacing: .16em !important;
            text-transform: uppercase !important;
            color: #A45E47 !important;
            white-space: nowrap !important;
            max-width: none !important;
        }

        
        .luxury-info-box {
            background: linear-gradient(180deg, rgba(255,255,255,.68) 0%, rgba(255,250,245,.48) 100%) !important;
            border: 1px solid rgba(166,120,92,.16) !important;
            border-radius: 28px;
            padding: 2.15rem 2.3rem !important;
            box-shadow: 0 14px 38px rgba(84,53,35,.05);
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
            font-family: var(--font-body) !important;
            font-size: 1rem !important;
            line-height: 1.82 !important;
            color: var(--text-main) !important;
        }
        .luxury-info-box p { margin-bottom: 1.15rem; }
        .luxury-info-box p:last-child { margin-bottom: 0; }
        .luxury-info-kicker {
            margin-bottom: 1rem !important;
            font-size: .82rem !important;
            letter-spacing: .32em !important;
            color: #A45E47 !important;
        }
        .quote-box {
            position: relative;
            font-style: italic;
            padding: 2.35rem 2.55rem 2.2rem !important;
        }
        .quote-box::before {
            content: '“';
            position: absolute;
            left: 1.2rem;
            top: .65rem;
            font-family: var(--font-body);
            font-size: 4rem;
            line-height: 1;
            color: rgba(164,94,71,.18);
        }
        .quote-box p {
            position: relative;
            z-index: 1;
            margin: 0 !important;
        }

        
        #v4 { background-color: var(--bg-color) !important; }
        .v4-scale-group { gap: clamp(1.2rem, 4vw, 3.4rem); }
        .v4-coin {
            display:block;
            object-fit:contain;
            height:auto;
            filter: drop-shadow(0 12px 18px rgba(99,69,25,.13));
            transition: var(--transition-slow);
        }
        .v4-coin-1 { width: 62px; }
        .v4-coin-2 { width: 88px; }
        .v4-coin-3 { width: 122px; }
        .v4-coin-4 { width: 164px; }
        .v4-process { display:none !important; }

        .sticky-container[data-state="1"] .v4-scale-group,
        .sticky-container[data-state="2"] .v4-scale-group {
            transform: translateY(-90px) !important;
            opacity: 1 !important;
        }
        .sticky-container[data-state="1"] .v4-item:not(:last-child),
        .sticky-container[data-state="2"] .v4-item:not(:last-child) { opacity:1 !important; }
        .sticky-container[data-state="1"] .v4-coin-4,
        .sticky-container[data-state="2"] .v4-coin-4 { transform:none !important; }

        .v4-quote-step .step-content {
            max-width: 440px;
            background: rgba(255,255,255,.56);
            border: 1px solid rgba(106,87,63,.14);
            border-radius: 20px;
            box-shadow: 0 16px 44px rgba(57,42,27,.06);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            font-family: var(--font-body);
            font-size: 1rem;
            line-height: 1.7;
        }
        .v4-quote-step.step-left { justify-content:flex-start; }
        .v4-quote-step.step-right { justify-content:flex-end; }

        @media (max-width: 768px) {
            .v4-scale-group { gap: 1rem; }
            .v4-coin-1 { width: 42px; }
            .v4-coin-2 { width: 58px; }
            .v4-coin-3 { width: 78px; }
            .v4-coin-4 { width: 104px; }
            .v4-quote-step.step-left,
            .v4-quote-step.step-right { justify-content:center; }
            .sapo-box { padding: 1.35rem 1.25rem; border-radius:16px; }
        }


        
        
        #v1 { height: 420vh; }
        .v1-visual { padding-top: 10vh; }
        .v1-headline-lux {
            max-width: 980px;
            margin: 0 auto 0.75rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: .2rem;
            font-family: "Neue Haas Grotesk Display Pro", "Neue Haas Grotesk Text Pro", "Neue Haas Grotesk", "Helvetica Neue", Arial, sans-serif !important;
            text-transform: uppercase;
            line-height: .95;
            letter-spacing: -.03em;
        }
        .v1-brandline {
            display:block;
            font-size: clamp(.8rem, 1.4vw, 1.1rem);
            font-weight: 500;
            letter-spacing: .42em;
            margin-bottom: .4rem;
            opacity: .68;
        }
        .v1-mainline {
            display:flex;
            align-items:flex-end;
            justify-content:center;
            gap: .45rem;
            flex-wrap: wrap;
        }
        .v1-accent {
            display:inline-block;
            font-size: clamp(3.4rem, 12vw, 8.5rem);
            font-weight: 900;
            letter-spacing: -.07em;
            line-height: .82;
        }
        .v1-pre, .v1-post {
            display:inline-block;
            font-size: clamp(1.15rem, 2.2vw, 2rem);
            font-weight: 500;
            letter-spacing: .08em;
            line-height: 1.02;
            margin-bottom: .45rem;
        }
        .v1-subheadline-lux {
            font-family: "Neue Haas Grotesk Display Pro", "Neue Haas Grotesk Text Pro", "Neue Haas Grotesk", "Helvetica Neue", Arial, sans-serif !important;
            font-size: clamp(.98rem, 1.7vw, 1.24rem);
            font-weight: 400;
            text-transform: uppercase;
            letter-spacing: .22em;
            color: rgba(34,34,34,.72);
            max-width: 760px;
            margin: 0 auto 2.2rem;
        }
        .v1-image-scene { margin-top: .35rem; }

        
        .memory-item {
            --local-progress: 0;
            --local-opacity: 0;
            transform: translate(-50%, -50%) 
                       translate(calc(var(--end-x) * var(--local-progress)), calc(var(--end-y) * var(--local-progress)))
                       scale(calc(0.36 + 0.64 * var(--local-progress)))
                       rotate(calc(var(--end-rot) * var(--local-progress)));
            opacity: var(--local-opacity);
        }
        .float-wrap {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            will-change: transform;
            animation: memoryFloat var(--float-duration, 6.4s) ease-in-out infinite;
            animation-delay: var(--float-delay, 0s);
        }
        @keyframes memoryFloat {
            0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
            50% { transform: translate3d(0, -10px, 0) rotate(.85deg); }
        }

        
        .lead-dropcap::first-letter {
            float: left;
            font-size: 7rem;
            line-height: .72;
            padding-top: 6px;
            padding-right: 14px;
            font-family: "Neue Haas Grotesk Display Pro", "Neue Haas Grotesk", "Helvetica Neue", Arial, sans-serif;
            font-weight: 900;
            color: #1f1f1f;
        }

        
        .prose-text { padding: 3.2rem 20px; }
        #v2 + .prose-text, #v3 + .prose-text { padding-top: .65rem; }
        .prose-text h2.uppercase-heading { margin-top: 1rem; margin-bottom: 1.2rem; font-size: clamp(2rem, 4.2vw, 3.8rem); letter-spacing: .02em; }

        
        #v4, #v4 .sticky-container, #v4 .v4-visual { background: #4A0E17 !important; }
        #v4 .v4-label, #v4 .v4-final p { color: rgba(245, 232, 209, .86) !important; }
        #v4 .v4-final h2 { color: #f6d783 !important; text-shadow: 0 8px 28px rgba(240,190,96,.22); }
        #v4 .v4-coin {
            filter: drop-shadow(0 18px 30px rgba(0,0,0,.45)) drop-shadow(0 0 22px rgba(245, 203, 92, .42));
        }
        #v4 .step-content {
            background: rgba(244, 235, 220, .12) !important;
            color: #F6E8CF !important;
            border: 1px solid rgba(246, 232, 207, .18) !important;
            box-shadow: 0 24px 60px rgba(0,0,0,.24);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
        }

        
        .v5-start-title { display: none !important; }
        #v5, #v5 .sticky-container, #v5 .v5-visual { background: var(--bg-color) !important; }
        .v5-visual { padding: 0 24px; }
        .v5-grid-container {
            width: min(88vw, 760px);
            gap: 10px;
            transform-origin: center center;
        }
        .v5-dot {
            min-height: 76px;
            border-radius: 18px;
        }
        .v5-dot-label {
            font-size: .8rem;
            line-height: 1.2;
            padding: 6px;
            font-weight: 600;
        }
        .sticky-container[data-state="1"] .v5-dot,
        .sticky-container[data-state="2"] .v5-dot { border-radius: 18px !important; }
        .v5-final-statement {
            top: 50%;
            left: 50%;
            width: min(92vw, 1040px);
            max-width: none;
            transform: translate(-50%, 28px);
            padding: 0 10px;
        }
        .v5-final-statement p {
            margin-bottom: 1rem;
            font-size: .92rem;
            letter-spacing: .24em;
        }
        .v5-final-statement h1 {
            font-size: clamp(2.6rem, 6.8vw, 6.1rem);
            line-height: .94;
            letter-spacing: -.05em;
            max-width: 980px;
            margin: 0 auto;
        }
        .sticky-container[data-state="3"] .v5-final-statement { transform: translate(-50%, 0); }
        .sticky-container[data-state="3"] .v5-grid-container { opacity: .09; transform: scale(1.03); }

        @media (max-width: 768px) {
            .v1-visual { padding-top: 9vh; }
            .v1-brandline { letter-spacing: .28em; font-size: .75rem; }
            .v1-accent { font-size: clamp(2.5rem, 16vw, 5rem); }
            .v1-pre, .v1-post { font-size: .95rem; margin-bottom: .28rem; }
            .lead-dropcap::first-letter { font-size: 4.8rem; padding-right: 10px; }
            .v5-grid-container { gap: 8px; }
            .v5-dot { min-height: 54px; border-radius: 12px; }
            .v5-dot-label { font-size: .67rem; }
            .v5-final-statement h1 { font-size: clamp(2.2rem, 10vw, 3.6rem); }
        }


        
        
        body { font-size: 18px; line-height: 1.76; }
        .prose-text { max-width: 690px; padding: 2.5rem 20px; }
        .prose-text p { margin-bottom: 1.45rem; }
        .opening-copy { padding-top: 2.2rem; padding-bottom: 1.4rem; }
        .memory-copy, .qr-copy { padding-top: .7rem; padding-bottom: 2rem; }

        
        .prose-text h2.uppercase-heading {
            font-family: "Neue Haas Grotesk Display Pro", "Neue Haas Grotesk", "Helvetica Neue", Arial, sans-serif !important;
            font-size: clamp(1.65rem, 3vw, 2.15rem) !important;
            line-height: 1.18 !important;
            font-weight: 600 !important;
            letter-spacing: .075em !important;
            margin: 2.25rem 0 1.2rem !important;
        }

        
        .sapo-box {
            margin: 0 0 2.2rem !important;
            padding: 1.45rem 1.25rem !important;
            background: rgba(255,255,255,.22) !important;
            border: 0 !important;
            border-top: 1px solid rgba(78,62,44,.23) !important;
            border-bottom: 1px solid rgba(78,62,44,.23) !important;
            border-radius: 0 !important;
            box-shadow: none !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
            font-size: 1.02rem;
            line-height: 1.72;
        }

        
        #v1 { height: 400vh; }
        .v1-visual { padding-top: 7.5vh !important; }
        .v1-headline-lux {
            margin: 0 auto .45rem !important;
            gap: 0 !important;
            line-height: .88 !important;
        }
        .v1-brandline {
            margin-bottom: .8rem !important;
            font-size: clamp(.72rem, 1.2vw, .96rem) !important;
            letter-spacing: .48em !important;
            font-weight: 500 !important;
            opacity: .68;
        }
        .v1-accent {
            display:block;
            font-size: clamp(4.4rem, 12.8vw, 9.4rem) !important;
            line-height: .78 !important;
            font-weight: 900 !important;
            letter-spacing: -.075em !important;
            white-space: nowrap;
        }
        .v1-post {
            display:block;
            margin-top: .72rem !important;
            margin-bottom: 0 !important;
            font-size: clamp(.85rem, 1.55vw, 1.15rem) !important;
            letter-spacing: .30em !important;
            line-height: 1.1 !important;
            font-weight: 500 !important;
        }
        .v1-subheadline-lux {
            max-width: 720px !important;
            margin: 1rem auto 1.7rem !important;
            font-size: clamp(.72rem, 1.15vw, .92rem) !important;
            letter-spacing: .23em !important;
            color: rgba(34,34,34,.62) !important;
        }
        .v1-image-scene { height: 410px !important; margin-top: 0 !important; }
        .v1-image-wrapper { max-width: 520px !important; }

        
        .mi-1 { --end-x: -145px !important; --end-y: -62px !important; --end-rot: -5deg !important; }
        .mi-2 { --end-x: 145px !important;  --end-y: -52px !important; --end-rot: 4deg !important; }
        .mi-3 { --end-x: -155px !important; --end-y: 12px !important;  --end-rot: -3deg !important; }
        .mi-4 { --end-x: 155px !important;  --end-y: 20px !important;  --end-rot: 6deg !important; }
        .mi-5 { --end-x: -126px !important; --end-y: 62px !important;  --end-rot: 2deg !important; }
        .mi-6 { --end-x: 122px !important;  --end-y: 70px !important;  --end-rot: -2deg !important; }
        .mi-7 { --end-x: 0px !important;    --end-y: -94px !important; --end-rot: 0deg !important; }
        @keyframes memoryFloat {
            0%, 100% { transform: translate3d(0,0,0) rotate(0deg); }
            50% { transform: translate3d(0,-5px,0) rotate(.35deg); }
        }

        
        .lead-dropcap::first-letter {
            font-size: 6.5rem !important;
            line-height: .70 !important;
            padding-right: 12px !important;
            color: #201e1b !important;
        }

        
        .luxury-info-box {
            display: grid;
            grid-template-columns: 1fr 1fr;
            column-gap: 2rem;
            row-gap: 0;
            margin: 2.4rem 0 !important;
            padding: 1.7rem 0 .25rem !important;
            background: transparent !important;
            border: 0 !important;
            border-top: 1px solid rgba(78,62,44,.34) !important;
            border-bottom: 1px solid rgba(78,62,44,.34) !important;
            border-radius: 0 !important;
            box-shadow: none !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
        }
        .luxury-info-kicker {
            grid-column: 1 / -1;
            font-family: var(--font-ui);
            font-size: .72rem;
            letter-spacing: .28em;
            text-transform: uppercase;
            color: var(--text-light);
            padding-bottom: .95rem;
        }
        .luxury-info-box > p:first-of-type {
            grid-column: 1 / -1;
            font-size: 1rem;
            padding-bottom: 1.25rem;
            margin-bottom: 1.15rem !important;
            border-bottom: 1px solid rgba(78,62,44,.13);
        }
        .luxury-info-box > p:nth-of-type(2),
        .luxury-info-box > p:nth-of-type(3) {
            margin: 0 !important;
            padding: .2rem 0 1.45rem;
            font-size: .94rem;
            line-height: 1.72;
        }
        .luxury-info-box > p:nth-of-type(2) { padding-right: 1.4rem; border-right: 1px solid rgba(78,62,44,.13); }
        .luxury-info-box > p:nth-of-type(3) { padding-left: .15rem; }
        .quote-box {
            display:block !important;
            padding: 1.6rem 0 !important;
            font-size: 1.02rem !important;
        }

        
        #v4, #v4 .sticky-container, #v4 .v4-visual { background: #4A0E17 !important; }
        #v4 .v4-scale-group { gap: clamp(1.4rem, 4.3vw, 3.8rem) !important; }
        #v4 .v4-item:nth-child(1) { transform: translateY(18px); }
        #v4 .v4-item:nth-child(2) { transform: translateY(-8px); }
        #v4 .v4-item:nth-child(3) { transform: translateY(10px); }
        #v4 .v4-item:nth-child(4) { transform: translateY(-18px); }
        #v4 .v4-coin {
            filter: drop-shadow(0 18px 26px rgba(0,0,0,.42)) drop-shadow(0 0 8px rgba(239,196,91,.18)) !important;
        }
        #v4 .v4-label { color: rgba(248,235,213,.76) !important; letter-spacing: .16em; }
        #v4 .step-content {
            max-width: 460px !important;
            padding: .15rem 0 .15rem 1.25rem !important;
            background: transparent !important;
            border: 0 !important;
            border-left: 1px solid rgba(248,235,213,.42) !important;
            border-radius: 0 !important;
            box-shadow: none !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
            font-family: var(--font-body) !important;
            font-size: clamp(1.05rem, 1.7vw, 1.35rem) !important;
            line-height: 1.62 !important;
            color: #F7EBD8 !important;
        }
        #v4 .v4-final h2 { color: #E8C66A !important; text-shadow: none !important; }
        #v4 .v4-final p { color: rgba(248,235,213,.78) !important; }

        
        .v5-start-title { display:none !important; }
        .v5-grid-container {
            width: min(86vw, 730px) !important;
            grid-template-rows: repeat(5, 68px);
            gap: 10px 4px !important;
        }
        .v5-dot {
            width: 17px !important;
            height: 17px !important;
            min-height: 0 !important;
            aspect-ratio: auto !important;
            justify-self: center;
            align-self: center;
            border-radius: 50% !important;
            background: var(--gold) !important;
            opacity: .22;
        }
        .sticky-container[data-state="1"] .v5-dot {
            width: 17px !important;
            height: 17px !important;
            border-radius: 50% !important;
            background: transparent !important;
            border: 1px solid rgba(96,78,56,.20) !important;
            opacity: .72 !important;
        }
        .sticky-container[data-state="2"] .v5-dot {
            width: 13px !important;
            height: 13px !important;
            border-radius: 50% !important;
            background: transparent !important;
            border: 1px solid rgba(96,78,56,.12) !important;
            opacity: .22 !important;
        }
        .sticky-container[data-state="2"] .v5-dot.is-highlighted {
            width: 92px !important;
            height: 46px !important;
            border-radius: 999px !important;
            background: var(--gold) !important;
            border-color: var(--gold) !important;
            opacity: 1 !important;
        }
        .v5-dot-label {
            top: 50% !important;
            left: 50% !important;
            transform: translate(-50%,-50%) !important;
            width: 82px;
            color: #fff !important;
            font-size: .66rem !important;
            font-weight: 600;
            white-space: normal !important;
        }
        .v5-final-statement p {
            font-size: .72rem !important;
            letter-spacing: .28em !important;
            color: rgba(75,66,56,.68) !important;
        }
        .v5-final-statement h1 {
            max-width: 1050px !important;
            font-family: "Neue Haas Grotesk Display Pro", "Neue Haas Grotesk", "Helvetica Neue", Arial, sans-serif !important;
            font-size: clamp(3.1rem, 7vw, 6.7rem) !important;
            line-height: .90 !important;
            font-weight: 700 !important;
            letter-spacing: -.055em !important;
        }
        .sticky-container[data-state="3"] .v5-grid-container { opacity: .045 !important; transform: scale(1.08) !important; }

        @media (max-width: 768px) {
            body { font-size: 17px; }
            .prose-text { max-width: 100%; padding: 2rem 20px; }
            .v1-visual { padding-top: 6vh !important; }
            .v1-brandline { letter-spacing: .34em !important; }
            .v1-accent { font-size: clamp(3.2rem, 18vw, 5.2rem) !important; }
            .v1-post { letter-spacing: .22em !important; font-size: .75rem !important; }
            .v1-subheadline-lux { font-size: .65rem !important; letter-spacing: .16em !important; }
            .v1-image-scene { height: 300px !important; }
            .mi-1 { --end-x: -78px !important; --end-y: -46px !important; }
            .mi-2 { --end-x: 76px !important; --end-y: -38px !important; }
            .mi-3 { --end-x: -82px !important; --end-y: 8px !important; }
            .mi-4 { --end-x: 84px !important; --end-y: 12px !important; }
            .mi-5 { --end-x: -68px !important; --end-y: 44px !important; }
            .mi-6 { --end-x: 68px !important; --end-y: 48px !important; }
            .mi-7 { --end-x: 0 !important; --end-y: -64px !important; }
            .luxury-info-box { grid-template-columns: 1fr; }
            .luxury-info-box > p:nth-of-type(2) { padding-right:0; border-right:0; border-bottom:1px solid rgba(78,62,44,.13); margin-bottom:1rem !important; }
            .luxury-info-box > p:nth-of-type(3) { padding-left:0; }
            #v4 .v4-item:nth-child(n) { transform:none; }
            #v4 .step-content { max-width: 88vw !important; }
            .v5-grid-container { grid-template-rows: repeat(5, 54px); gap: 8px 0 !important; }
            .sticky-container[data-state="2"] .v5-dot.is-highlighted { width: 64px !important; height: 38px !important; }
            .v5-dot-label { width:58px; font-size:.55rem !important; }
            .v5-final-statement h1 { font-size: clamp(2.55rem, 12vw, 4rem) !important; }
        }


        

        
        #v1 { height: 420vh !important; }
        .v1-visual { padding-top: 9vh !important; }
        .v1-image-scene { height: 400px !important; margin-top: .35rem !important; }
        .v1-image-wrapper { max-width: 480px !important; }
        .mi-1 { --end-x: -280px !important; --end-y: -120px !important; --end-rot: -12deg !important; }
        .mi-3 { --end-x: -300px !important; --end-y: 20px !important; --end-rot: -6deg !important; }
        .mi-5 { --end-x: -250px !important; --end-y: 120px !important; --end-rot: 4deg !important; }
        .mi-2 { --end-x: 280px !important; --end-y: -100px !important; --end-rot: 8deg !important; }
        .mi-4 { --end-x: 300px !important; --end-y: 40px !important; --end-rot: 15deg !important; }
        .mi-6 { --end-x: 240px !important; --end-y: 140px !important; --end-rot: -5deg !important; }
        .mi-7 { --end-x: 0px !important; --end-y: -180px !important; --end-rot: 0deg !important; }
        @keyframes memoryFloat {
            0%, 100% { transform: translate3d(0,0,0) rotate(0deg); }
            50% { transform: translate3d(0,-10px,0) rotate(.85deg); }
        }

        
        .v1-headline-lux,
        .v1-headline-lux .v1-brandline,
        .v1-headline-lux .v1-accent,
        .v1-headline-lux .v1-post,
        .v1-subheadline-lux {
            font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif !important;
        }
        .v1-headline-lux {
            display:flex !important;
            flex-direction:column !important;
            align-items:center !important;
            gap:0 !important;
            line-height:1 !important;
            margin:0 auto .55rem !important;
            max-width:980px !important;
        }
        .v1-brandline {
            display:block !important;
            position:relative !important;
            z-index:2 !important;
            font-size:clamp(.76rem,1.15vw,.98rem) !important;
            font-weight:500 !important;
            line-height:1.35 !important;
            letter-spacing:.43em !important;
            margin:0 0 1.15rem !important;
            opacity:.72 !important;
        }
        .v1-accent {
            display:block !important;
            font-size:clamp(4.1rem,11vw,8.25rem) !important;
            line-height:.88 !important;
            font-weight:800 !important;
            letter-spacing:-.06em !important;
            white-space:nowrap !important;
            margin:0 !important;
        }
        .v1-post {
            display:block !important;
            font-size:clamp(.85rem,1.5vw,1.12rem) !important;
            font-weight:500 !important;
            line-height:1.2 !important;
            letter-spacing:.28em !important;
            margin:.65rem 0 0 !important;
        }
        .v1-subheadline-lux {
            font-size:clamp(.72rem,1.08vw,.9rem) !important;
            letter-spacing:.22em !important;
            margin:.85rem auto 1.7rem !important;
        }

        
        .luxury-info-box { color:#6B5742 !important; }
        .luxury-info-kicker { color:#8B6F50 !important; }
        .luxury-info-box p { color:#66523F !important; }
        .luxury-info-box > p:first-of-type { border-bottom:0 !important; }
        .luxury-info-box > p:nth-of-type(2) { border-right:0 !important; }

        
        .three-line-heading { max-width:760px !important; }
        .three-line-heading span { display:block; white-space:nowrap; }

        
        .info-box.quote-box { border-bottom:0 !important; }

        
        .v5-dot { position:relative !important; }
        .v5-dot-label {
            position:absolute !important;
            top:50% !important;
            left:50% !important;
            transform:translate(-50%,-50%) !important;
            margin:0 !important;
            text-align:center !important;
            line-height:1.12 !important;
        }

        
        .v5-final-statement h1 {
            font-size:clamp(2.35rem,5vw,4.65rem) !important;
            line-height:.98 !important;
            max-width:920px !important;
            margin:0 auto !important;
        }

        
        .prose-text h2.matching-heading {
            font-family:"Neue Haas Grotesk Display Pro","Neue Haas Grotesk","Helvetica Neue",Arial,sans-serif !important;
            font-size:clamp(1.65rem,3vw,2.15rem) !important;
            line-height:1.18 !important;
            font-weight:600 !important;
            letter-spacing:.075em !important;
            margin:2.25rem 0 1.2rem !important;
        }

        
        .end-credit {
            font-family:var(--font-ui) !important;
            font-size:.86rem !important;
            letter-spacing:.08em;
            color:var(--text-light);
            margin-top:3rem !important;
            margin-bottom:0 !important;
        }

        @media (max-width:768px) {
            
            .v1-image-scene { height:280px !important; }
            .v1-image-wrapper { max-width:480px !important; }
            .mi-1 { --end-x:-120px !important; --end-y:-80px !important; }
            .mi-3 { --end-x:-140px !important; --end-y:10px !important; }
            .mi-5 { --end-x:-110px !important; --end-y:80px !important; }
            .mi-2 { --end-x:120px !important; --end-y:-60px !important; }
            .mi-4 { --end-x:140px !important; --end-y:30px !important; }
            .mi-6 { --end-x:100px !important; --end-y:90px !important; }
            .mi-7 { --end-x:0px !important; --end-y:-120px !important; }

            .v1-brandline { font-size:.68rem !important; letter-spacing:.28em !important; margin-bottom:.8rem !important; }
            .v1-accent { font-size:clamp(3.2rem,17vw,5rem) !important; }
            .v1-post { font-size:.72rem !important; letter-spacing:.18em !important; margin-top:.45rem !important; }
            .three-line-heading span { white-space:normal; }
            .v5-final-statement h1 { font-size:clamp(2.1rem,9vw,3.45rem) !important; }
        }

    

        
        .v1-accent {
            font-size: clamp(3rem, 10.6vw, 7.3rem) !important;
            line-height: .88 !important;
        }
        .v1-brandline {
            margin-bottom: .55rem !important;
            position: relative;
            z-index: 2;
        }
        .v1-post { margin-top: .15rem !important; }
        .mi-5 .mem-msg::before, .mi-5 .mem-msg::after { content: none !important; }

        .memory-copy { padding-bottom: 1.4rem !important; }
        .qr-copy { padding-top: 1.4rem !important; }

        .matching-heading { text-transform: uppercase !important; }

        .v4-final { display: none !important; opacity: 0 !important; visibility: hidden !important; }
        .sticky-container[data-state="3"] .v4-scale-group { opacity: 1 !important; transform: none !important; }
        .sticky-container[data-state="3"] .v4-process { display: none !important; opacity: 0 !important; }
        .sticky-container[data-state="3"] .v4-final { display: none !important; opacity: 0 !important; }
        .v4-quote-step.step-right .step-content {
            max-width: 640px !important;
            line-height: 1.65 !important;
        }
        .v4-quote-step.step-right .step-content br { display:block; content:""; }

        .quote-box p { margin-bottom: 0 !important; }

        .v5-dot {
            background-color: transparent !important;
            background-image: url('assets/gold-coin.png');
            background-size: cover !important;
            background-position: center !important;
            background-repeat: no-repeat !important;
            border: none !important;
            width: 22px !important;
            height: 22px !important;
            aspect-ratio: 1 / 1 !important;
            box-shadow: 0 4px 10px rgba(0,0,0,.06);
            position: relative !important;
            overflow: visible !important;
            opacity: .72 !important;
        }
        .sticky-container[data-state="1"] .v5-dot { opacity: .82 !important; }
        .sticky-container[data-state="2"] .v5-dot.is-highlighted {
            width: 54px !important;
            height: 54px !important;
            background-image: url('assets/gold-coin.png') !important;
            background-size: cover !important;
            border-radius: 50% !important;
            border: none !important;
            box-shadow: 0 8px 18px rgba(0,0,0,.10);
        }
        .v5-dot-label {
            position: absolute !important;
            top: 100% !important;
            left: 50% !important;
            transform: translateX(-50%) !important;
            margin-top: 8px !important;
            width: max-content !important;
            max-width: 90px !important;
            color: #8E784B !important;
            background: transparent !important;
            font-size: .72rem !important;
            line-height: 1.15 !important;
            text-shadow: none !important;
            opacity: 0 !important;
            padding: 0 !important;
        }
        .sticky-container[data-state="2"] .v5-dot.is-highlighted .v5-dot-label { opacity: 1 !important; }
        .v5-final-statement h1 {
            font-size: clamp(2rem, 4.9vw, 4.2rem) !important;
            line-height: .98 !important;
            letter-spacing: -.03em !important;
        }

        @media (max-width: 768px) {
            .v1-accent { font-size: clamp(2.8rem, 15vw, 4.5rem) !important; }
            .v5-dot { width: 16px !important; height: 16px !important; }
            .sticky-container[data-state="2"] .v5-dot.is-highlighted { width: 42px !important; height: 42px !important; }
            .v5-dot-label { font-size: .58rem !important; max-width: 64px !important; }
        }

    

        
        .v1-headline-lux {
            gap: .12rem !important;
        }
        .v1-brandline {
            margin: 0 0 1.9rem !important;
            line-height: 1.25 !important;
        }
        .v1-accent {
            font-size: clamp(3.7rem, 9.2vw, 7.1rem) !important;
            line-height: .9 !important;
        }
        .v1-post {
            margin: .78rem 0 0 !important;
        }
        @media (max-width: 768px) {
            .v1-brandline {
                margin: 0 0 1.15rem !important;
            }
            .v1-accent {
                font-size: clamp(2.7rem, 13vw, 4.25rem) !important;
            }
        }

    

        
        .v1-visual {
            position: relative !important;
            isolation: isolate;
        }
        .hero-bubbles {
            position: absolute;
            inset: 0;
            overflow: hidden;
            pointer-events: none;
            z-index: 0;
        }
        .hero-bubble {
            position: absolute;
            display: block;
            border-radius: 50%;
            background: #4A0E17;
            pointer-events: none;
            transform: translateZ(0);
        }
        .bubble-a {
            width: 310px;
            height: 310px;
            left: 8%;
            top: 48%;
            opacity: .10;
            filter: blur(32px);
        }
        .bubble-b {
            width: 205px;
            height: 205px;
            right: 8%;
            top: 67%;
            opacity: .09;
            filter: blur(24px);
        }
        .bubble-c {
            width: 128px;
            height: 128px;
            right: 21%;
            top: 45%;
            opacity: .07;
            filter: blur(20px);
        }
        .v1-headline-lux,
        .v1-subheadline-lux,
        .v1-image-scene,
        .v1-scroll-cue {
            position: relative;
            z-index: 2;
        }

        
        .editorial-visual {
            width: min(960px, calc(100vw - 48px));
            margin: 2.9rem 0 3.8rem;
            margin-left: 50%;
            transform: translateX(-50%);
            position: relative;
        }
        .editorial-visual img {
            width: 100%;
            height: auto;
            display: block;
            border-radius: 2px;
            box-shadow: 0 18px 44px rgba(53, 35, 20, .08);
        }
        .editorial-visual::after {
            content: '';
            position: absolute;
            inset: 0;
            border: 1px solid rgba(108, 77, 46, .10);
            pointer-events: none;
        }
        .visual-01 {
            max-width: 960px;
            margin-top: 2.4rem;
            margin-bottom: 3rem;
        }
        .editorial-visual-standalone {
            max-width: 1000px;
            margin: 4.4rem auto 4.6rem;
            transform: none;
        }
        .visual-02 {
            width: min(1000px, calc(100vw - 48px));
        }
        .visual-03 {
            max-width: 1000px;
            margin-top: 3.5rem;
            margin-bottom: 3.5rem;
        }
        .prose-text-after-visual {
            padding-top: .35rem;
        }

        @media (max-width: 768px) {
            .bubble-a {
                width: 190px;
                height: 190px;
                left: -42px;
                top: 54%;
                opacity: .09;
                filter: blur(26px);
            }
            .bubble-b {
                width: 135px;
                height: 135px;
                right: -28px;
                top: 70%;
                opacity: .08;
                filter: blur(20px);
            }
            .bubble-c {
                width: 86px;
                height: 86px;
                right: 8%;
                top: 50%;
                opacity: .06;
                filter: blur(16px);
            }
            .editorial-visual,
            .visual-02 {
                width: calc(100vw - 24px);
            }
            .editorial-visual {
                margin-top: 2.2rem;
                margin-bottom: 2.8rem;
            }
            .editorial-visual-standalone {
                margin-top: 3.2rem;
                margin-bottom: 3.4rem;
            }
            .editorial-visual img {
                box-shadow: 0 12px 28px rgba(53, 35, 20, .07);
            }
        }

    

        
        :root {
            --bg-color: #F1E1E3 !important;
            --bg-alt: #E8D2D6 !important;
            --border: #D8C0C5 !important;
        }
        body { background-color: var(--bg-color) !important; }
        .sticky-container { background: var(--bg-color) !important; }

        #v1 .sticky-container,
        #v1 .v1-visual {
            background:
                radial-gradient(circle at 72% 18%, rgba(255,255,255,.34), transparent 28%),
                linear-gradient(135deg, #F4E6E8 0%, #EED9DD 55%, #E7CFD4 100%) !important;
        }
        .v1-visual {
            padding: 6vh 5vw 4vh !important;
            text-align: left !important;
            align-items: stretch !important;
        }
        .hero-layout {
            position: relative;
            z-index: 2;
            width: min(1180px, 92vw);
            min-height: 80vh;
            margin: 0 auto;
            display: grid;
            grid-template-columns: minmax(310px, .82fr) minmax(470px, 1.18fr);
            align-items: center;
            gap: clamp(34px, 5vw, 86px);
        }
        .hero-copy {
            align-self: center;
            position: relative;
            z-index: 4;
            padding-left: clamp(0px, 1vw, 12px);
        }
        .v1-headline-lux {
            align-items: flex-start !important;
            text-align: left !important;
            margin: 0 0 .9rem !important;
            max-width: 520px !important;
        }
        .v1-brandline {
            margin: 0 0 1.95rem !important;
            font-size: clamp(.74rem, .9vw, .92rem) !important;
            letter-spacing: .34em !important;
            color: rgba(42,31,34,.66) !important;
        }
        .v1-accent {
            font-size: clamp(3.6rem, 6.7vw, 6.65rem) !important;
            line-height: .88 !important;
            letter-spacing: -.055em !important;
            color: #251F20 !important;
        }
        .v1-post {
            margin: .78rem 0 0 !important;
            font-size: clamp(.82rem, 1.15vw, 1.02rem) !important;
            letter-spacing: .25em !important;
            color: rgba(42,31,34,.82) !important;
        }
        .v1-subheadline-lux {
            text-align: left !important;
            margin: 1.5rem 0 0 !important;
            max-width: 430px !important;
            font-size: clamp(.72rem, .85vw, .86rem) !important;
            line-height: 1.65 !important;
            letter-spacing: .17em !important;
            color: #7B6067 !important;
        }
        .hero-media {
            position: relative;
            z-index: 3;
            display: flex;
            align-items: center;
            justify-content: center;
            min-width: 0;
        }
        .v1-image-scene {
            width: 100% !important;
            height: min(68vh, 610px) !important;
            min-height: 460px;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            margin: 0 !important;
        }
        .v1-image-wrapper {
            max-width: 570px !important;
            width: min(100%, 570px) !important;
        }
        .asset-img { mix-blend-mode: normal !important; }
        .v1-scroll-cue {
            position: absolute !important;
            left: 50%;
            bottom: 20px;
            transform: translateX(-50%);
            z-index: 8 !important;
            color: rgba(74,14,23,.56) !important;
        }

        
        .hero-bubble {
            background: radial-gradient(circle at 34% 30%, rgba(155,65,84,.56) 0%, rgba(118,25,46,.34) 55%, rgba(74,14,23,.12) 78%, transparent 100%) !important;
            box-shadow: 0 22px 70px rgba(74,14,23,.08);
        }
        .bubble-a {
            width: 300px !important;
            height: 300px !important;
            left: 4% !important;
            top: 9% !important;
            opacity: .72 !important;
            filter: blur(14px) !important;
        }
        .bubble-b {
            width: 210px !important;
            height: 210px !important;
            right: 3% !important;
            top: 61% !important;
            opacity: .65 !important;
            filter: blur(12px) !important;
        }
        .bubble-c {
            width: 122px !important;
            height: 122px !important;
            left: 47% !important;
            top: 24% !important;
            opacity: .66 !important;
            filter: blur(9px) !important;
        }

        
        .editorial-visual,
        .editorial-visual-standalone {
            background: #E8D2D6 !important;
            padding: 12px !important;
            box-shadow: none !important;
        }
        .editorial-visual img {
            filter: saturate(.78) contrast(.95) brightness(.99) !important;
            box-shadow: none !important;
            border-radius: 0 !important;
        }
        .editorial-visual::before {
            content: '';
            position: absolute;
            inset: 12px;
            background: rgba(87, 22, 40, .055);
            mix-blend-mode: multiply;
            pointer-events: none;
            z-index: 2;
        }
        .editorial-visual::after {
            inset: 0 !important;
            border: 1px solid rgba(98,48,59,.16) !important;
        }
        .visual-01 { max-width: 930px !important; }
        .visual-02 { max-width: 980px !important; }
        .visual-03 { max-width: 900px !important; }

        @media (max-width: 900px) {
            .v1-visual { padding: 5vh 18px 3vh !important; }
            .hero-layout {
                width: min(94vw, 720px);
                min-height: 88vh;
                grid-template-columns: 1fr;
                gap: 8px;
                align-content: start;
            }
            .hero-copy { padding: 0 10px; }
            .v1-headline-lux { max-width: 600px !important; }
            .v1-accent { font-size: clamp(3.15rem, 15vw, 5.25rem) !important; }
            .v1-subheadline-lux { max-width: 520px !important; margin-top: 1rem !important; }
            .v1-image-scene { height: 43vh !important; min-height: 320px; }
            .v1-image-wrapper { max-width: 430px !important; }
            .bubble-a { width: 190px !important; height:190px !important; left:-38px !important; top:6% !important; opacity:.62 !important; filter:blur(12px) !important; }
            .bubble-b { width:140px !important; height:140px !important; right:-24px !important; top:65% !important; opacity:.58 !important; filter:blur(10px) !important; }
            .bubble-c { width:88px !important; height:88px !important; left:auto !important; right:8% !important; top:36% !important; opacity:.58 !important; filter:blur(8px) !important; }
            .editorial-visual,
            .editorial-visual-standalone { padding: 8px !important; }
            .editorial-visual::before { inset: 8px; }
        }

    

        
        :root {
            --bg-color: #F4E3D5 !important;
            --bg-alt: #EFD3C0 !important;
            --border: #D9BFAF !important;
            --gold: #B89742 !important;
            --burnt-orange: #A9472E;
            --coral: #D9633C;
            --burgundy: #4A0E17;
            --cream-on-dark: #F7E9D8;
        }

        body { background-color: var(--bg-color) !important; }
        .sticky-container { background: var(--bg-color) !important; }

        
        #v1 .sticky-container,
        #v1 .v1-visual {
            background:
                radial-gradient(circle at 72% 18%, rgba(255,255,255,.34), transparent 28%),
                linear-gradient(135deg, #F7E9DE 0%, #F3DDCF 55%, #EED2C1 100%) !important;
        }
        .v1-brandline { color: rgba(63,42,34,.64) !important; }
        .v1-accent { color: #25201D !important; }
        .v1-post { color: rgba(57,39,32,.84) !important; }
        .v1-subheadline-lux { color: #9A5A43 !important; }
        .v1-scroll-cue { color: rgba(116,54,38,.58) !important; }

        
        .hero-bubble {
            box-shadow: 0 22px 70px rgba(105,42,27,.07) !important;
        }
        .bubble-a {
            background: radial-gradient(circle at 34% 30%, rgba(217,99,60,.58) 0%, rgba(201,86,57,.34) 56%, rgba(179,74,48,.13) 79%, transparent 100%) !important;
            opacity: .78 !important;
            filter: blur(13px) !important;
        }
        .bubble-b {
            background: radial-gradient(circle at 36% 32%, rgba(232,133,91,.58) 0%, rgba(211,94,58,.32) 58%, rgba(177,71,46,.11) 80%, transparent 100%) !important;
            opacity: .72 !important;
            filter: blur(11px) !important;
        }
        .bubble-c {
            background: radial-gradient(circle at 38% 34%, rgba(112,28,38,.45) 0%, rgba(74,14,23,.24) 58%, rgba(74,14,23,.07) 80%, transparent 100%) !important;
            opacity: .56 !important;
            filter: blur(9px) !important;
        }

        
        .editorial-visual,
        .editorial-visual-standalone {
            background: #EFD3C0 !important;
            border-color: rgba(145,80,55,.12) !important;
        }
        .editorial-visual img {
            filter: saturate(.96) contrast(.98) brightness(1.005) !important;
        }
        .editorial-visual::before {
            background: rgba(189,83,51,.018) !important;
            mix-blend-mode: soft-light !important;
        }
        .editorial-visual::after {
            border-color: rgba(151,78,51,.18) !important;
        }

        
        .luxury-info-box {
            background: rgba(255,248,242,.42) !important;
            border-color: rgba(135,82,58,.13) !important;
        }
        .luxury-info-kicker { color: #8E5B43 !important; }
        .luxury-info-box p { color: #5F4A3D !important; }
        .info-box.quote-box { border-color: rgba(120,72,51,.21) !important; }

        
        #v4,
        #v4 .sticky-container,
        #v4 .v4-visual {
            background: #A9472E !important;
        }
        #v4 .v4-label,
        #v4 .v4-final p {
            color: rgba(247,233,216,.90) !important;
        }
        #v4 .v4-final h2 { color: #F1CF72 !important; text-shadow: none !important; }
        #v4 .v4-coin {
            filter: drop-shadow(0 14px 22px rgba(57,27,16,.33)) drop-shadow(0 0 7px rgba(255,218,117,.15)) !important;
        }
        #v4 .step-content {
            color: #F7E9D8 !important;
            border-color: rgba(247,233,216,.15) !important;
        }

        
        #v5,
        #v5 .sticky-container,
        #v5 .v5-visual {
            background: #F4E3D5 !important;
        }
        .v5-final-statement p { color: #A05C43 !important; }
        .v5-final-statement h1 { color: #2A211D !important; }
        .v5-dot-label { color: #A05C43 !important; }
        .end-credit { color: #9A5A43 !important; }

        
        .uppercase-heading::before,
        .matching-heading::before { background-color: #4A0E17 !important; }

        @media (max-width: 900px) {
            .bubble-a { opacity: .70 !important; }
            .bubble-b { opacity: .66 !important; }
            .bubble-c { opacity: .50 !important; }
        }

    

        
        .chapter-head {
            position: relative;
            max-width: 800px;
            margin: 3.7rem 0 2rem;
        }
        .chapter-kicker {
            display: flex;
            align-items: center;
            gap: .75rem;
            margin-bottom: 1rem;
            font-family: var(--font-ui);
            font-size: .72rem;
            line-height: 1;
            font-weight: 600;
            letter-spacing: .24em;
            text-transform: uppercase;
            color: #7B2633;
        }
        .chapter-num {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2.15rem;
            height: 2.15rem;
            border-radius: 50%;
            border: 1px solid rgba(123,38,51,.35);
            letter-spacing: .08em;
            color: #7B2633;
        }
        .chapter-kicker::after {
            content: '';
            width: 34px;
            height: 1px;
            margin-left: .15rem;
            background: #C79B54;
            opacity: .78;
        }
        .chapter-title {
            margin: 0 !important;
            max-width: 780px;
            font-family: var(--font-body) !important;
            font-size: clamp(2.3rem, 4.8vw, 3.8rem) !important;
            font-weight: 500 !important;
            line-height: 1.06 !important;
            letter-spacing: -.035em !important;
            text-transform: none !important;
            color: #29211D !important;
            text-wrap: balance;
        }
        .chapter-title-long {
            max-width: 840px;
        }
        .chapter-title-long > span {
            display: block;
            white-space: nowrap;
        }
        .chapter-head-3 {
            margin-top: 4.2rem;
        }
        .chapter-title > .line { display: block; }
        .keep-together { white-space: nowrap; }
        .chapter-title-custom-1 {
            max-width: 820px;
        }
        .chapter-title-custom-2 {
            max-width: 980px;
            font-size: clamp(2.2rem, 4.4vw, 3.55rem) !important;
        }
        .chapter-title-custom-3 {
            max-width: 820px;
        }

        @media (max-width: 768px) {
            .chapter-head { margin: 2.9rem 0 1.65rem; }
            .chapter-kicker { font-size: .62rem; letter-spacing: .18em; gap: .6rem; }
            .chapter-num { width: 1.9rem; height: 1.9rem; }
            .chapter-title {
                font-size: clamp(2rem, 9vw, 3rem) !important;
                line-height: 1.08 !important;
                letter-spacing: -.028em !important;
            }
            .chapter-title-long > span,
            .chapter-title > .line { display: inline; white-space: normal; }
            .chapter-title-long > span:not(:last-child)::after,
            .chapter-title > .line:not(:last-child)::after { content: ' '; }
            .keep-together,
            .v1-subheadline-lux { white-space: normal !important; }
        }

    

        
        .hero-title-unified {
            display: block !important;
            max-width: 650px !important;
            margin: 0 !important;
            text-align: left !important;
            text-transform: none !important;
            line-height: 1.07 !important;
            letter-spacing: -.035em !important;
        }
        .hero-title-base,
        .hero-title-focus {
            display: block;
            font-family: var(--font-ui) !important;
            font-size: clamp(2.15rem, 3.6vw, 3.7rem) !important;
            line-height: 1.07 !important;
            letter-spacing: -.035em !important;
        }
        .hero-title-base {
            font-weight: 500 !important;
            color: #2B2421 !important;
        }
        .hero-title-focus {
            margin-top: .28em;
            font-weight: 700 !important;
            color: var(--burnt-orange, #A9472E) !important;
        }

        #v4 .v4-product-group {
            width: min(92vw, 1040px);
            align-items: end !important;
            gap: clamp(1rem, 3.1vw, 2.8rem) !important;
        }
        #v4 .v4-product-group .v4-item {
            flex: 1 1 0;
            width: min(20vw, 210px);
            min-width: 0;
            transform: none !important;
        }
        #v4 .v4-product-group .v4-coin {
            width: 100% !important;
            height: clamp(125px, 17vw, 205px) !important;
            object-fit: contain !important;
            transform: none !important;
        }
        #v4 .v4-product-group .v4-label {
            margin-top: .4rem;
            font-size: .78rem !important;
        }

        .visual-02-pair {
            max-width: 1040px !important;
        }
        .visual-pair-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
            width: 100%;
        }
        .visual-pair-grid img {
            width: 100%;
            height: clamp(330px, 42vw, 560px) !important;
            object-fit: cover !important;
            display: block;
        }

        .v5-dot.event-product {
            background-image: var(--event-image) !important;
            background-size: contain !important;
            background-repeat: no-repeat !important;
            background-position: center !important;
            background-color: transparent !important;
            border: 0 !important;
        }
        .sticky-container[data-state="2"] .v5-dot.is-highlighted.event-product {
            width: 66px !important;
            height: 66px !important;
            border-radius: 50% !important;
            background-image: var(--event-image) !important;
            background-size: contain !important;
            background-color: transparent !important;
            border: 0 !important;
            box-shadow: 0 10px 22px rgba(91,59,34,.12);
        }
        .sticky-container[data-state="2"] .v5-dot.is-highlighted .v5-dot-label {
            width: max-content !important;
            max-width: 180px !important;
            white-space: normal !important;
            text-align: center !important;
            line-height: 1.2 !important;
        }

        @media (max-width: 768px) {
            .hero-title-unified { max-width: 92vw !important; }
            .hero-title-base,
            .hero-title-focus {
                font-size: clamp(1.8rem, 8.1vw, 2.65rem) !important;
                line-height: 1.08 !important;
            }
            #v4 .v4-product-group {
                width: min(92vw, 620px);
                display: grid !important;
                grid-template-columns: 1fr 1fr;
                gap: 1.1rem .8rem !important;
                align-items: end !important;
            }
            #v4 .v4-product-group .v4-item {
                width: 100% !important;
            }
            #v4 .v4-product-group .v4-coin {
                height: 120px !important;
            }
            .visual-pair-grid {
                grid-template-columns: 1fr;
                gap: 8px;
            }
            .visual-pair-grid img {
                height: auto !important;
                aspect-ratio: 4 / 3;
            }
            .sticky-container[data-state="2"] .v5-dot.is-highlighted.event-product {
                width: 52px !important;
                height: 52px !important;
            }
            .sticky-container[data-state="2"] .v5-dot.is-highlighted .v5-dot-label {
                max-width: 112px !important;
                font-size: .62rem !important;
            }
        }

    

        
        :root {
            --primary-wine: #4d0000;
            --primary-gold: #ae9b6f;
            --bg-color: #f4f0e8 !important;
            --bg-alt: #ece5d8 !important;
            --border: rgba(174,155,111,.34) !important;
            --gold: #ae9b6f !important;
            --text-main: #261f1c;
            --text-muted: #70665d;
            --text-light: #958a7f;
        }

        body,
        .sticky-container,
        #v5,
        #v5 .sticky-container,
        #v5 .v5-visual {
            background-color: var(--bg-color) !important;
        }

        
        #v1 .sticky-container,
        #v1 .v1-visual {
            background:
                radial-gradient(circle at 12% 22%, rgba(77,0,0,.10), transparent 24%),
                radial-gradient(circle at 88% 78%, rgba(174,155,111,.15), transparent 27%),
                linear-gradient(135deg, #f7f3ec 0%, #f2ede4 55%, #ebe2d4 100%) !important;
        }
        .hero-bubble { box-shadow: none !important; }
        .bubble-a {
            background: radial-gradient(circle at 35% 30%, rgba(77,0,0,.36) 0%, rgba(77,0,0,.18) 55%, rgba(77,0,0,.05) 78%, transparent 100%) !important;
            opacity: .72 !important;
            filter: blur(14px) !important;
        }
        .bubble-b {
            background: radial-gradient(circle at 38% 32%, rgba(174,155,111,.52) 0%, rgba(174,155,111,.26) 58%, rgba(174,155,111,.08) 80%, transparent 100%) !important;
            opacity: .70 !important;
            filter: blur(12px) !important;
        }
        .bubble-c {
            background: radial-gradient(circle at 38% 34%, rgba(77,0,0,.30) 0%, rgba(77,0,0,.14) 58%, rgba(77,0,0,.04) 80%, transparent 100%) !important;
            opacity: .56 !important;
            filter: blur(9px) !important;
        }

        
        .hero-layout {
            width: min(1240px, 92vw) !important;
            grid-template-columns: minmax(430px, .98fr) minmax(470px, 1.02fr) !important;
            gap: clamp(34px, 4.5vw, 76px) !important;
        }
        .hero-copy {
            padding-left: 0 !important;
        }
        .hero-title-unified {
            display: block !important;
            max-width: 650px !important;
            margin: 0 !important;
            text-align: left !important;
            text-transform: none !important;
            line-height: 1.02 !important;
            letter-spacing: -.034em !important;
        }
        .hero-title-line,
        .hero-title-focus {
            position: relative;
            display: block !important;
            font-family: var(--font-ui) !important;
            font-size: clamp(2.45rem, 3.05vw, 3.35rem) !important;
            line-height: 1.02 !important;
            letter-spacing: -.034em !important;
        }
        .hero-title-line {
            font-weight: 500 !important;
            color: #261f1c !important;
        }
        .hero-title-focus {
            width: fit-content;
            margin-top: .22em !important;
            padding-bottom: .14em;
            font-weight: 700 !important;
            color: var(--primary-wine) !important;
        }
        .hero-title-focus::after {
            content: '';
            position: absolute;
            left: 0;
            bottom: 0;
            width: 42%;
            height: 2px;
            background: var(--primary-gold);
            opacity: .9;
        }

        
        .chapter-kicker,
        .chapter-num,
        .luxury-info-kicker,
        .end-credit {
            color: var(--primary-wine) !important;
        }
        .chapter-num {
            border-color: rgba(77,0,0,.34) !important;
        }
        .chapter-kicker::after,
        .uppercase-heading::before,
        .matching-heading::before {
            background: var(--primary-gold) !important;
        }
        .chapter-title,
        .feature-heading {
            color: #261f1c !important;
        }
        .luxury-info-box,
        .info-box.quote-box {
            border-color: rgba(174,155,111,.34) !important;
        }
        .quote-box::before {
            color: rgba(77,0,0,.14) !important;
        }

        
        #v4,
        #v4 .sticky-container,
        #v4 .v4-visual {
            background: var(--primary-wine) !important;
        }
        #v4 .v4-label,
        #v4 .step-content,
        #v4 .v4-final p {
            color: #f2eadc !important;
        }
        #v4 .v4-final h2 {
            color: var(--primary-gold) !important;
        }
        #v4 .step-content {
            border-left-color: rgba(174,155,111,.72) !important;
        }

        
        .v5-dot {
            border-color: rgba(174,155,111,.22) !important;
        }
        .sticky-container[data-state="2"] .v5-dot.is-highlighted {
            border-color: var(--primary-gold) !important;
        }
        .v5-dot-label {
            color: var(--primary-wine) !important;
        }
        .v5-final-statement p {
            color: rgba(77,0,0,.62) !important;
        }
        .v5-final-statement h1 {
            color: var(--primary-wine) !important;
        }
        .v1-scroll-cue {
            color: rgba(77,0,0,.52) !important;
        }

        @media (max-width: 900px) {
            .hero-layout {
                grid-template-columns: 1fr !important;
                width: min(94vw, 760px) !important;
                gap: 1.2rem !important;
            }
            .hero-title-unified {
                max-width: 94vw !important;
            }
            .hero-title-line,
            .hero-title-focus {
                font-size: clamp(2rem, 7.6vw, 3rem) !important;
                line-height: 1.03 !important;
            }
            .hero-title-focus::after { width: 34%; }
        }

        @media (max-width: 600px) {
            .hero-title-line,
            .hero-title-focus {
                font-size: clamp(1.82rem, 8.6vw, 2.5rem) !important;
                letter-spacing: -.03em !important;
            }
            .hero-title-focus { margin-top: .18em !important; }
        }

    

        
        #v1 .sticky-container,
        #v1 .v1-visual {
            background:
                radial-gradient(circle at 12% 18%, rgba(77,0,0,.12), transparent 20%),
                radial-gradient(circle at 76% 73%, rgba(174,155,111,.12), transparent 24%),
                linear-gradient(180deg, #f3eee7 0%, #f2ede6 100%) !important;
        }
        .hero-layout {
            width: min(1240px, 92vw) !important;
            grid-template-columns: minmax(520px, 1.08fr) minmax(340px, .92fr) !important;
            gap: clamp(28px, 4.2vw, 72px) !important;
            min-height: 82vh !important;
        }
        .hero-copy {
            align-self: center !important;
            max-width: 760px !important;
        }
        .hero-title-unified {
            display: flex !important;
            flex-direction: column !important;
            align-items: flex-start !important;
            gap: .02em !important;
            max-width: 760px !important;
            margin: 0 !important;
            text-transform: uppercase !important;
        }
        .hero-title-line,
        .hero-title-focus {
            display: block !important;
            width: auto !important;
            font-family: "Neue Haas Grotesk Display Pro", "Neue Haas Grotesk Text Pro", "Neue Haas Grotesk", "Helvetica Neue", Arial, sans-serif !important;
            font-size: clamp(2.1rem, 3.15vw, 3.35rem) !important;
            line-height: .98 !important;
            letter-spacing: -.048em !important;
            white-space: nowrap !important;
            text-transform: uppercase !important;
        }
        .hero-title-line { font-weight: 700 !important; color: #261f1c !important; }
        .hero-title-focus {
            margin-top: .12em !important;
            font-weight: 700 !important;
            color: var(--primary-wine) !important;
        }
        .hero-title-focus::after {
            width: 38% !important;
            height: 2px !important;
            bottom: -.18em !important;
        }
        .hero-media {
            justify-content: flex-end !important;
            align-self: center !important;
        }
        .v1-image-scene {
            height: min(66vh, 560px) !important;
            min-height: 380px !important;
        }
        .v1-image-wrapper {
            width: min(100%, 470px) !important;
            max-width: 470px !important;
        }
        .hero-bubble {
            background: radial-gradient(circle at 34% 30%, rgba(77,0,0,.24) 0%, rgba(77,0,0,.18) 52%, rgba(77,0,0,.08) 72%, transparent 100%) !important;
            box-shadow: none !important;
        }
        .bubble-a {
            width: 240px !important;
            height: 240px !important;
            left: 2% !important;
            top: 8% !important;
            opacity: .85 !important;
            filter: blur(22px) !important;
        }
        .bubble-b {
            width: 190px !important;
            height: 190px !important;
            right: 2% !important;
            top: 69% !important;
            opacity: .46 !important;
            filter: blur(20px) !important;
        }
        .bubble-c {
            width: 132px !important;
            height: 132px !important;
            left: 45% !important;
            top: 23% !important;
            opacity: .28 !important;
            filter: blur(16px) !important;
        }

        
        #v4 .v4-product-group {
            width: min(1080px, 92vw) !important;
            display: grid !important;
            grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
            gap: 1.2rem 2.2rem !important;
            align-items: start !important;
        }
        #v4 .v4-product-group .v4-item {
            width: 100% !important;
            display: flex !important;
            flex-direction: column !important;
            align-items: center !important;
        }
        #v4 .v4-product-group .v4-item:nth-child(1) { transform: translateY(34px) !important; }
        #v4 .v4-product-group .v4-item:nth-child(2) { transform: translateY(-10px) !important; }
        #v4 .v4-product-group .v4-item:nth-child(3) { transform: translateY(30px) !important; }
        #v4 .v4-product-group .v4-item:nth-child(4) { transform: translateY(-8px) !important; }
        #v4 .v4-product-group .v4-coin {
            width: 100% !important;
            height: clamp(112px, 13vw, 150px) !important;
            object-fit: contain !important;
            filter: drop-shadow(0 10px 24px rgba(0,0,0,.12));
        }
        #v4 .v4-label {
            margin-top: .7rem !important;
            font-size: 1rem !important;
            letter-spacing: .08em !important;
        }
        #v4 .v4-process,
        #v4 .v4-final { display: none !important; }

        
        .sticky-container[data-state="2"] .v5-dot {
            overflow: visible !important;
        }
        .sticky-container[data-state="2"] .v5-dot.event-product {
            background-color: transparent !important;
            border: 0 !important;
            box-shadow: none !important;
            border-radius: 0 !important;
            opacity: 1 !important;
            background-repeat: no-repeat !important;
            background-position: center !important;
            background-size: contain !important;
        }
        .sticky-container[data-state="2"] .v5-dot.event-product.is-round-product {
            width: 78px !important;
            height: 78px !important;
        }
        .sticky-container[data-state="2"] .v5-dot.event-product.is-rect-product {
            width: 108px !important;
            height: 42px !important;
        }
        .sticky-container[data-state="2"] .v5-dot.event-product .v5-dot-label {
            opacity: 1 !important;
            position: absolute !important;
            left: 50% !important;
            top: calc(100% + 8px) !important;
            transform: translateX(-50%) !important;
            width: max-content !important;
            max-width: 180px !important;
            font-size: .9rem !important;
            line-height: 1.2 !important;
            color: var(--primary-wine) !important;
            text-align: center !important;
            white-space: nowrap !important;
        }
        .sticky-container[data-state="2"] .v5-dot.is-highlighted.event-product {
            box-shadow: none !important;
        }

        
        .final-editorial-grid {
            max-width: 1080px;
            margin: 3.4rem auto 2.8rem;
            display: grid;
            grid-template-columns: minmax(0, 1.2fr) minmax(260px, .72fr);
            gap: clamp(1.5rem, 4vw, 3.5rem);
            align-items: start;
        }
        .final-editorial-copy p:first-child { margin-top: 0 !important; }
        .final-editorial-copy p:last-child { margin-bottom: 0 !important; }
        .final-side-figure {
            width: 100% !important;
            max-width: 340px !important;
            margin: 0 0 0 auto !important;
            background: transparent !important;
            padding: 0 !important;
            border-radius: 0 !important;
            box-shadow: none !important;
        }
        .final-side-figure img {
            width: 100% !important;
            aspect-ratio: 4 / 5.35;
            object-fit: cover !important;
            border-radius: 18px;
            box-shadow: 0 18px 40px rgba(43,24,12,.10) !important;
        }

        @media (max-width: 980px) {
            .hero-layout {
                grid-template-columns: 1fr !important;
                min-height: auto !important;
                gap: 1.5rem !important;
                padding-top: 2.4rem !important;
                padding-bottom: 2rem !important;
            }
            .hero-copy,
            .hero-title-unified {
                max-width: 100% !important;
            }
            .hero-media { justify-content: center !important; }
            .hero-title-line,
            .hero-title-focus {
                font-size: clamp(.96rem, 4.4vw, 1.58rem) !important;
                letter-spacing: -.035em !important;
            }
            .hero-title-focus::after { width: 42% !important; }
            .v1-image-wrapper {
                width: min(84vw, 360px) !important;
                max-width: 360px !important;
            }
            #v4 .v4-product-group {
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 1.15rem .9rem !important;
                width: min(92vw, 620px) !important;
            }
            #v4 .v4-product-group .v4-item:nth-child(1) { transform: translateY(14px) !important; }
            #v4 .v4-product-group .v4-item:nth-child(2) { transform: translateY(-4px) !important; }
            #v4 .v4-product-group .v4-item:nth-child(3) { transform: translateY(16px) !important; }
            #v4 .v4-product-group .v4-item:nth-child(4) { transform: translateY(0) !important; }
            .sticky-container[data-state="2"] .v5-dot.event-product.is-rect-product {
                width: 84px !important;
                height: 34px !important;
            }
            .sticky-container[data-state="2"] .v5-dot.event-product.is-round-product {
                width: 64px !important;
                height: 64px !important;
            }
            .sticky-container[data-state="2"] .v5-dot.event-product .v5-dot-label {
                max-width: 130px !important;
                font-size: .72rem !important;
                white-space: normal !important;
            }
            .final-editorial-grid {
                grid-template-columns: 1fr !important;
                gap: 1.4rem !important;
            }
            .final-side-figure {
                max-width: 280px !important;
                margin: 0 auto !important;
                order: -1;
            }
        }

    

        
        .hero-layout {
            width: min(1320px, 92vw) !important;
            grid-template-columns: minmax(700px, 1.38fr) minmax(330px, .62fr) !important;
            gap: clamp(24px, 3.2vw, 58px) !important;
            align-items: center !important;
        }
        .hero-copy {
            width: 100% !important;
            max-width: 900px !important;
            padding-left: 0 !important;
        }
        .hero-title-unified {
            display: flex !important;
            flex-direction: column !important;
            align-items: flex-start !important;
            max-width: 900px !important;
            margin: 0 !important;
            text-align: left !important;
            text-transform: uppercase !important;
            gap: 0 !important;
        }
        .hero-title-context {
            display: flex !important;
            flex-direction: column !important;
            gap: .48rem !important;
            margin: 0 0 1.45rem !important;
            font-family: "Neue Haas Grotesk Display Pro", "Neue Haas Grotesk Text Pro", "Neue Haas Grotesk", "Helvetica Neue", Arial, sans-serif !important;
            font-size: clamp(.88rem, 1.05vw, 1.08rem) !important;
            line-height: 1.25 !important;
            font-weight: 500 !important;
            letter-spacing: .22em !important;
            color: rgba(38,31,28,.80) !important;
        }
        .hero-context-line {
            display: block !important;
            white-space: nowrap !important;
        }
        .hero-title-focus.hero-focus-large {
            display: flex !important;
            flex-direction: column !important;
            width: auto !important;
            margin: 0 !important;
            padding: 0 !important;
            font-family: "Neue Haas Grotesk Display Pro", "Neue Haas Grotesk Text Pro", "Neue Haas Grotesk", "Helvetica Neue", Arial, sans-serif !important;
            font-size: clamp(4rem, 4.35vw, 5.35rem) !important;
            line-height: .86 !important;
            font-weight: 900 !important;
            letter-spacing: -.065em !important;
            color: var(--primary-wine) !important;
            text-transform: uppercase !important;
        }
        .hero-title-focus.hero-focus-large::after { display: none !important; }
        .hero-focus-line {
            display: block !important;
            white-space: nowrap !important;
        }
        .hero-focus-line + .hero-focus-line {
            margin-top: .12em !important;
        }
        .hero-media {
            justify-content: center !important;
        }
        .v1-image-wrapper {
            width: min(100%, 430px) !important;
            max-width: 430px !important;
        }

        @media (max-width: 1180px) {
            .hero-layout {
                grid-template-columns: minmax(560px, 1.25fr) minmax(300px, .75fr) !important;
                width: min(94vw, 1080px) !important;
            }
            .hero-title-context {
                font-size: clamp(.72rem, 1.12vw, .9rem) !important;
                letter-spacing: .17em !important;
            }
            .hero-title-focus.hero-focus-large {
                font-size: clamp(3.25rem, 5.5vw, 4.45rem) !important;
            }
            .v1-image-wrapper {
                width: min(100%, 365px) !important;
                max-width: 365px !important;
            }
        }

        @media (max-width: 900px) {
            .hero-layout {
                grid-template-columns: 1fr !important;
                width: min(92vw, 720px) !important;
                gap: 1.5rem !important;
                padding-top: 2.5rem !important;
            }
            .hero-copy,
            .hero-title-unified {
                max-width: 100% !important;
            }
            .hero-title-context {
                gap: .32rem !important;
                margin-bottom: 1rem !important;
                font-size: clamp(.66rem, 2.3vw, .82rem) !important;
                line-height: 1.32 !important;
                letter-spacing: .14em !important;
            }
            .hero-context-line {
                white-space: normal !important;
            }
            .hero-title-focus.hero-focus-large {
                font-size: clamp(2.9rem, 10vw, 4.5rem) !important;
                line-height: .88 !important;
            }
            .hero-focus-line {
                white-space: normal !important;
            }
            .hero-media {
                justify-content: center !important;
            }
            .v1-image-wrapper {
                width: min(72vw, 350px) !important;
                max-width: 350px !important;
            }
        }

        @media (max-width: 560px) {
            .hero-title-context {
                font-size: .63rem !important;
                letter-spacing: .11em !important;
            }
            .hero-title-focus.hero-focus-large {
                font-size: clamp(2.45rem, 12.2vw, 3.55rem) !important;
                letter-spacing: -.055em !important;
            }
        }

    

        
        .hero-layout {
            width: min(1180px, 92vw) !important;
            grid-template-columns: minmax(430px, .86fr) minmax(500px, 1.14fr) !important;
            gap: clamp(34px, 5vw, 86px) !important;
            align-items: center !important;
        }
        .hero-copy {
            width: auto !important;
            max-width: 560px !important;
            padding-left: clamp(0px, 1vw, 12px) !important;
        }
        .hero-title-unified {
            display: flex !important;
            flex-direction: column !important;
            align-items: flex-start !important;
            max-width: 560px !important;
            margin: 0 !important;
            gap: 0 !important;
            text-align: left !important;
            text-transform: uppercase !important;
        }
        .hero-title-context {
            display: flex !important;
            flex-direction: column !important;
            gap: .45rem !important;
            margin: 0 0 1.35rem !important;
            font-family: 'Inter', Arial, sans-serif !important;
            font-size: clamp(.82rem, .92vw, 1rem) !important;
            line-height: 1.25 !important;
            font-weight: 500 !important;
            letter-spacing: .24em !important;
            color: rgba(38,31,28,.78) !important;
        }
        .hero-context-line {
            display: block !important;
            white-space: nowrap !important;
        }
        .hero-title-focus.hero-focus-large {
            display: flex !important;
            flex-direction: column !important;
            align-items: flex-start !important;
            width: auto !important;
            margin: 0 !important;
            padding: 0 !important;
            font-family: 'Inter', Arial, sans-serif !important;
            font-size: clamp(4.15rem, 6.15vw, 6.25rem) !important;
            line-height: .82 !important;
            font-weight: 700 !important;
            letter-spacing: -.065em !important;
            color: var(--primary-wine) !important;
        }
        .hero-title-focus.hero-focus-large::after { display: none !important; }
        .hero-focus-line {
            display: block !important;
            white-space: nowrap !important;
        }

        
        .hero-media {
            position: relative !important;
            z-index: 3 !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            min-width: 0 !important;
        }
        .v1-image-scene {
            width: 100% !important;
            height: min(68vh, 610px) !important;
            min-height: 460px !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            margin: 0 !important;
        }
        .v1-image-wrapper {
            width: min(100%, 570px) !important;
            max-width: 570px !important;
        }

        @media (max-width: 900px) {
            .hero-layout {
                grid-template-columns: 1fr !important;
                width: min(94vw, 760px) !important;
                gap: 1.2rem !important;
            }
            .hero-copy,
            .hero-title-unified { max-width: 94vw !important; }
            .hero-title-context {
                gap: .28rem !important;
                margin-bottom: .9rem !important;
                font-size: clamp(.64rem, 2.15vw, .78rem) !important;
                letter-spacing: .14em !important;
            }
            .hero-context-line { white-space: normal !important; }
            .hero-title-focus.hero-focus-large {
                font-size: clamp(3.15rem, 12.6vw, 5rem) !important;
                line-height: .84 !important;
                letter-spacing: -.06em !important;
            }
            .hero-focus-line { white-space: nowrap !important; }
            .hero-media { justify-content: center !important; }
            .v1-image-scene {
                height: 43vh !important;
                min-height: 320px !important;
            }
            .v1-image-wrapper {
                width: min(90vw, 430px) !important;
                max-width: 430px !important;
            }
        }

        @media (max-width: 560px) {
            .hero-title-context {
                font-size: .61rem !important;
                letter-spacing: .105em !important;
            }
            .hero-title-focus.hero-focus-large {
                font-size: clamp(2.7rem, 13.4vw, 4.05rem) !important;
                letter-spacing: -.055em !important;
            }
        }

    

        
        
        .hero-title-focus.hero-focus-large {
            font-size: clamp(3.3rem, 3.7vw, 4.45rem) !important;
            line-height: .87 !important;
            letter-spacing: -.05em !important;
        }
        .hero-focus-line + .hero-focus-line {
            margin-top: .10em !important;
        }

        
        .title-three-lines .line {
            display: block !important;
            white-space: nowrap !important;
        }

        
        #v4 .v4-product-group .v4-coin {
            filter:
                drop-shadow(0 16px 18px rgba(0,0,0,.28))
                drop-shadow(0 4px 5px rgba(35,0,0,.22))
                drop-shadow(0 0 9px rgba(174,155,111,.16)) !important;
        }

        
        .sticky-container[data-state="2"] .v5-dot.is-highlighted:not(.event-product) {
            width: 82px !important;
            height: 82px !important;
            border-radius: 50% !important;
            box-shadow: 0 12px 24px rgba(61,37,12,.15) !important;
        }
        .sticky-container[data-state="2"] .v5-dot.event-product.is-round-product {
            width: 106px !important;
            height: 106px !important;
        }
        .sticky-container[data-state="2"] .v5-dot.event-product.is-rect-product {
            width: 148px !important;
            height: 60px !important;
        }
        .sticky-container[data-state="2"] .v5-dot.event-product {
            filter: drop-shadow(0 12px 20px rgba(61,37,12,.14));
        }
        .sticky-container[data-state="2"] .v5-dot.event-product .v5-dot-label {
            top: calc(100% + 12px) !important;
            font-size: .96rem !important;
        }

        
        .final-centered-figure {
            width: min(620px, calc(100vw - 48px)) !important;
            max-width: 620px !important;
            margin: 3.6rem auto 3.8rem !important;
            transform: none !important;
            left: auto !important;
            position: relative !important;
            background: transparent !important;
        }
        .final-centered-figure img {
            width: 100% !important;
            height: auto !important;
            aspect-ratio: auto !important;
            object-fit: contain !important;
            border-radius: 0 !important;
            box-shadow: 0 18px 42px rgba(43,24,12,.09) !important;
        }

        @media (max-width: 980px) {
            .hero-title-focus.hero-focus-large {
                font-size: clamp(2.75rem, 10.8vw, 4.15rem) !important;
            }
            .title-three-lines .line {
                white-space: normal !important;
            }
            .sticky-container[data-state="2"] .v5-dot.is-highlighted:not(.event-product) {
                width: 68px !important;
                height: 68px !important;
            }
            .sticky-container[data-state="2"] .v5-dot.event-product.is-round-product {
                width: 82px !important;
                height: 82px !important;
            }
            .sticky-container[data-state="2"] .v5-dot.event-product.is-rect-product {
                width: 112px !important;
                height: 46px !important;
            }
            .sticky-container[data-state="2"] .v5-dot.event-product .v5-dot-label {
                font-size: .76rem !important;
            }
            .final-centered-figure {
                width: min(88vw, 480px) !important;
                margin: 2.8rem auto 3rem !important;
            }
        }

        @media (max-width: 560px) {
            .hero-title-focus.hero-focus-large {
                font-size: clamp(2.35rem, 11.6vw, 3.55rem) !important;
            }
        }

    

        
        
        .hero-copy {
            max-width: 700px !important;
        }
        .hero-title-unified {
            max-width: 700px !important;
        }
        .hero-title-context {
            gap: .58rem !important;
            margin: 0 0 1.55rem !important;
            font-size: clamp(1.12rem, 1.28vw, 1.34rem) !important;
            line-height: 1.22 !important;
            letter-spacing: .21em !important;
        }
        .hero-title-focus.hero-focus-large {
            font-size: clamp(4.7rem, 5.25vw, 6.2rem) !important;
            line-height: .93 !important;
            letter-spacing: -.05em !important;
        }
        .hero-focus-line + .hero-focus-line {
            margin-top: .18em !important;
        }

        
        .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="15"],
        .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="19"],
        .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="32"] {
            width: 182px !important;
            height: 74px !important;
            filter: drop-shadow(0 16px 26px rgba(61,37,12,.18)) drop-shadow(0 4px 8px rgba(61,37,12,.12)) !important;
        }
        .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="15"] {
            transform: translate(-8px, -6px) scale(1) !important;
        }
        .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="19"] {
            transform: translate(10px, -6px) scale(1) !important;
        }
        .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="32"] {
            transform: translate(0, 8px) scale(1) !important;
        }
        .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="15"] .v5-dot-label,
        .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="19"] .v5-dot-label,
        .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="32"] .v5-dot-label {
            top: calc(100% + 16px) !important;
            font-size: 1rem !important;
            max-width: 170px !important;
            line-height: 1.22 !important;
        }

        @media (max-width: 1100px) {
            .hero-copy, .hero-title-unified {
                max-width: 620px !important;
            }
            .hero-title-context {
                font-size: clamp(.92rem, 1.15vw, 1.08rem) !important;
                letter-spacing: .18em !important;
            }
            .hero-title-focus.hero-focus-large {
                font-size: clamp(4rem, 5vw, 5.2rem) !important;
            }
        }
        @media (max-width: 900px) {
            .hero-copy, .hero-title-unified { max-width: 100% !important; }
            .hero-title-context {
                gap: .28rem !important;
                margin-bottom: .92rem !important;
                font-size: clamp(.7rem, 2.3vw, .84rem) !important;
                letter-spacing: .12em !important;
            }
            .hero-title-focus.hero-focus-large {
                font-size: clamp(3.05rem, 12vw, 4.65rem) !important;
                line-height: .95 !important;
            }
            .hero-focus-line + .hero-focus-line {
                margin-top: .14em !important;
            }
            .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="15"],
            .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="19"],
            .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="32"] {
                width: 132px !important;
                height: 54px !important;
            }
            .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="15"] .v5-dot-label,
            .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="19"] .v5-dot-label,
            .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="32"] .v5-dot-label {
                font-size: .8rem !important;
                max-width: 126px !important;
            }
        }
        @media (max-width: 560px) {
            .hero-title-focus.hero-focus-large {
                font-size: clamp(2.7rem, 13.2vw, 4.05rem) !important;
            }
            .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="15"],
            .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="19"],
            .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="32"] {
                width: 108px !important;
                height: 44px !important;
            }
        }

    

        
        
        .hero-title-focus.hero-focus-large {
            font-size: clamp(3.75rem, 4.2vw, 5rem) !important;
            line-height: 0.92 !important;
            letter-spacing: -0.048em !important;
        }
        .hero-focus-line + .hero-focus-line {
            margin-top: 0.22em !important;
        }
        .hero-copy {
            max-width: 620px !important;
        }
        .hero-title-unified {
            max-width: 620px !important;
        }

        
        .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="15"] {
            width: 194px !important;
            height: 82px !important;
            transform: translate(-2px, 64px) scale(1) !important;
            z-index: 4 !important;
            filter: drop-shadow(0 18px 28px rgba(61,37,12,.18)) drop-shadow(0 6px 10px rgba(61,37,12,.10)) !important;
        }
        .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="15"] .v5-dot-label {
            top: calc(100% + 18px) !important;
            max-width: 190px !important;
        }
        .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="19"] {
            width: 214px !important;
            height: 88px !important;
            transform: translate(14px, -40px) scale(1) !important;
            z-index: 4 !important;
            filter: drop-shadow(0 18px 28px rgba(61,37,12,.18)) drop-shadow(0 6px 10px rgba(61,37,12,.10)) !important;
        }
        .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="19"] .v5-dot-label {
            top: calc(100% + 18px) !important;
            max-width: 210px !important;
        }
        .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="32"] {
            width: 232px !important;
            height: 96px !important;
            transform: translate(0, 18px) scale(1) !important;
            z-index: 4 !important;
            filter: drop-shadow(0 18px 28px rgba(61,37,12,.18)) drop-shadow(0 6px 10px rgba(61,37,12,.10)) !important;
        }
        .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="32"] .v5-dot-label {
            top: calc(100% + 18px) !important;
            max-width: 190px !important;
        }

        
        #v4 .v4-product-group .v4-item:nth-child(4) {
            transform: translateY(-2px) scale(1) !important;
            z-index: 3 !important;
        }
        #v4 .v4-product-group .v4-item:nth-child(4) .v4-coin {
            width: 200% !important;
            height: clamp(220px, 24vw, 300px) !important;
            filter: drop-shadow(0 16px 36px rgba(0,0,0,.16)) !important;
        }
        #v4 .v4-product-group .v4-item:nth-child(4) .v4-label {
            margin-top: 1.05rem !important;
        }

        @media (max-width: 1180px) {
            .hero-title-focus.hero-focus-large {
                font-size: clamp(3.3rem, 4.6vw, 4.4rem) !important;
            }
            .hero-copy, .hero-title-unified { max-width: 560px !important; }
            .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="15"] {
                width: 168px !important; height: 70px !important; transform: translate(0, 54px) !important;
            }
            .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="19"] {
                width: 188px !important; height: 76px !important; transform: translate(10px, -28px) !important;
            }
            .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="32"] {
                width: 196px !important; height: 82px !important; transform: translate(0, 14px) !important;
            }
            #v4 .v4-product-group .v4-item:nth-child(4) .v4-coin {
                width: 175% !important;
                height: clamp(180px, 22vw, 250px) !important;
            }
        }

        @media (max-width: 900px) {
            .hero-title-focus.hero-focus-large {
                font-size: clamp(2.9rem, 11.2vw, 3.9rem) !important;
                line-height: 0.95 !important;
            }
            .hero-focus-line + .hero-focus-line { margin-top: 0.14em !important; }
            .hero-copy, .hero-title-unified { max-width: 100% !important; }
            .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="15"] {
                width: 132px !important; height: 56px !important; transform: translate(0, 34px) !important;
            }
            .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="19"] {
                width: 150px !important; height: 62px !important; transform: translate(6px, -18px) !important;
            }
            .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="32"] {
                width: 156px !important; height: 64px !important; transform: translate(0, 10px) !important;
            }
            .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="15"] .v5-dot-label,
            .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="19"] .v5-dot-label,
            .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="32"] .v5-dot-label {
                top: calc(100% + 12px) !important;
                font-size: .84rem !important;
                white-space: normal !important;
                max-width: 150px !important;
            }
            #v4 .v4-product-group {
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                row-gap: 1.8rem !important;
            }
            #v4 .v4-product-group .v4-item:nth-child(4) .v4-coin {
                width: 150% !important;
                height: clamp(150px, 28vw, 210px) !important;
            }
        }


/* =========================================================
   MOBILE-FIRST OVERRIDES — BẢO TÍN MẠNH HẢI
   Dedicated mobile build; preserves desktop interaction logic.
   ========================================================= */
@media (max-width: 768px) {
    html {
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
        scroll-behavior: smooth;
        background: var(--bg-color);
    }
    body {
        font-size: 17px !important;
        line-height: 1.72 !important;
        overflow-x: hidden !important;
    }
    img { max-width: 100%; }

    /* ---------- HERO: mobile composition ---------- */
    #v1 {
        height: 350svh !important;
        min-height: 350vh !important;
    }
    #v1 .sticky-container {
        height: 100svh !important;
        min-height: 100svh !important;
        overflow: hidden !important;
    }
    #v1 .v1-visual {
        height: 100svh !important;
        min-height: 100svh !important;
        padding: max(16px, env(safe-area-inset-top)) 16px max(18px, env(safe-area-inset-bottom)) !important;
        display: flex !important;
        align-items: stretch !important;
        justify-content: center !important;
        overflow: hidden !important;
    }
    .hero-layout {
        width: 100% !important;
        max-width: 430px !important;
        height: 100% !important;
        min-height: 0 !important;
        margin: 0 auto !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
        gap: 4px !important;
        align-items: stretch !important;
    }
    .hero-copy {
        width: 100% !important;
        max-width: none !important;
        padding: 0 2px !important;
        margin: 1.2svh 0 0 !important;
        align-self: start !important;
        position: relative !important;
        z-index: 8 !important;
    }
    .hero-title-unified {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        align-items: flex-start !important;
        text-align: left !important;
    }
    .hero-title-context {
        width: 100% !important;
        gap: .28rem !important;
        margin: 0 0 .72rem !important;
        font-family: 'Inter', Arial, sans-serif !important;
        font-size: clamp(.61rem, 2.55vw, .72rem) !important;
        line-height: 1.28 !important;
        font-weight: 500 !important;
        letter-spacing: .12em !important;
        color: rgba(38,31,28,.76) !important;
    }
    .hero-context-line {
        display: block !important;
        white-space: nowrap !important;
    }
    .hero-title-focus.hero-focus-large {
        width: 100% !important;
        max-width: none !important;
        font-family: 'Inter', Arial, sans-serif !important;
        font-size: clamp(2.65rem, 12vw, 3.45rem) !important;
        line-height: .94 !important;
        font-weight: 700 !important;
        letter-spacing: -.052em !important;
        color: var(--primary-wine) !important;
    }
    .hero-focus-line {
        display: block !important;
        white-space: nowrap !important;
    }
    .hero-focus-line + .hero-focus-line {
        margin-top: .13em !important;
    }

    .hero-media {
        width: 100% !important;
        min-width: 0 !important;
        align-self: stretch !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: relative !important;
        z-index: 4 !important;
    }
    .v1-image-scene {
        width: 100% !important;
        height: 44svh !important;
        min-height: 335px !important;
        max-height: 410px !important;
        margin: -1.2svh 0 1svh !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: visible !important;
    }
    .v1-image-wrapper {
        width: min(86vw, 340px) !important;
        max-width: 340px !important;
        height: auto !important;
    }
    .asset-img {
        filter: drop-shadow(0 18px 28px rgba(67,30,13,.14)) !important;
    }
    .v1-scroll-cue {
        bottom: max(8px, env(safe-area-inset-bottom)) !important;
        font-size: .62rem !important;
        letter-spacing: .24em !important;
        color: rgba(77,0,0,.52) !important;
    }
    .v1-scroll-cue::after { height: 26px !important; }

    /* Memories stay inside the mobile viewport */
    .mem-img-wrap img {
        width: 54px !important;
        height: 54px !important;
        padding-bottom: 8px !important;
    }
    .mem-img-wrap.rect img {
        width: 72px !important;
        height: 46px !important;
    }
    .mem-msg {
        max-width: 162px !important;
        padding: 4px 7px !important;
        font-size: .66rem !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
    }
    .mem-audio { width: 30px !important; height: 30px !important; }
    .mem-audio svg { width: 12px !important; height: 12px !important; }
    .mi-1 { --end-x: -112px !important; --end-y: -78px !important; --end-rot: -8deg !important; }
    .mi-2 { --end-x: 106px !important;  --end-y: -72px !important; --end-rot: 7deg !important; }
    .mi-3 { --end-x: -122px !important; --end-y: 18px !important;  --end-rot: -5deg !important; }
    .mi-4 { --end-x: 120px !important;  --end-y: 18px !important;  --end-rot: 8deg !important; }
    .mi-5 { --end-x: -92px !important;  --end-y: 82px !important;  --end-rot: 3deg !important; }
    .mi-6 { --end-x: 74px !important;   --end-y: 108px !important; --end-rot: -3deg !important; }
    .mi-7 { --end-x: 0px !important;    --end-y: -112px !important; --end-rot: 0deg !important; }

    .bubble-a {
        width: 150px !important; height: 150px !important;
        left: -36px !important; top: 4% !important;
        opacity: .48 !important; filter: blur(24px) !important;
    }
    .bubble-b {
        width: 120px !important; height: 120px !important;
        right: -34px !important; top: 71% !important;
        opacity: .32 !important; filter: blur(22px) !important;
    }
    .bubble-c {
        width: 76px !important; height: 76px !important;
        left: 54% !important; top: 42% !important;
        opacity: .20 !important; filter: blur(18px) !important;
    }

    /* ---------- Editorial reading ---------- */
    .prose-text {
        width: 100% !important;
        max-width: 100% !important;
        padding: 2.15rem 18px !important;
        font-size: 1rem !important;
        line-height: 1.72 !important;
    }
    .prose-text p {
        margin-bottom: 1.35rem !important;
    }
    .opening-copy { padding-top: 1.6rem !important; }
    .sapo-box {
        margin: 0 0 1.9rem !important;
        padding: 1.25rem 1.15rem !important;
        border-radius: 16px !important;
        font-size: .96rem !important;
        line-height: 1.68 !important;
    }
    .lead-dropcap::first-letter {
        font-size: 3.55rem !important;
        line-height: .78 !important;
        margin-right: .08em !important;
    }

    /* Chapter system: large enough to feel editorial, never cropped */
    .chapter-head {
        margin: 1.1rem 0 1.8rem !important;
    }
    .chapter-kicker {
        margin-bottom: .8rem !important;
        font-size: .69rem !important;
        letter-spacing: .2em !important;
    }
    .chapter-num {
        width: 36px !important;
        height: 36px !important;
        font-size: .72rem !important;
    }
    .chapter-title,
    .chapter-title-custom-1,
    .chapter-title-custom-2,
    .chapter-title-custom-3 {
        max-width: 100% !important;
        font-size: clamp(2rem, 10.6vw, 2.8rem) !important;
        line-height: 1.02 !important;
        letter-spacing: -.035em !important;
    }
    .title-three-lines .line {
        display: block !important;
        white-space: normal !important;
    }
    .chapter-title-long > span {
        display: block !important;
        white-space: normal !important;
    }

    /* Product / article imagery */
    .editorial-visual,
    .editorial-visual-standalone,
    .visual-02,
    .visual-03,
    .final-centered-figure {
        width: calc(100vw - 24px) !important;
        max-width: 430px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 0 !important;
        background: transparent !important;
        border-radius: 0 !important;
    }
    .editorial-visual img,
    .editorial-visual-standalone img,
    .final-centered-figure img {
        width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
        border-radius: 12px !important;
        box-shadow: 0 14px 30px rgba(48,26,13,.09) !important;
    }
    .visual-pair-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
    .luxury-info-box,
    .quote-box {
        display: block !important;
        padding: 1.45rem 1.15rem !important;
        border-radius: 18px !important;
        font-size: .95rem !important;
        line-height: 1.72 !important;
    }
    .luxury-info-box > p:nth-of-type(2),
    .luxury-info-box > p:nth-of-type(3) {
        padding: 0 !important;
        border: 0 !important;
    }
    .luxury-info-box > p:nth-of-type(2) {
        padding-bottom: 1.1rem !important;
        margin-bottom: 1.1rem !important;
        border-bottom: 1px solid rgba(174,155,111,.25) !important;
    }

    /* ---------- 0,1 → 0,5 chỉ ---------- */
    #v4 {
        height: 380svh !important;
        min-height: 380vh !important;
    }
    #v4 .sticky-container { height: 100svh !important; }
    #v4 .v4-visual {
        padding: 4svh 12px max(16px, env(safe-area-inset-bottom)) !important;
        overflow: hidden !important;
    }
    #v4 .v4-product-group {
        width: min(94vw, 430px) !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        grid-template-rows: auto auto auto !important;
        gap: 1rem .7rem !important;
        align-items: center !important;
        margin: auto !important;
    }
    #v4 .v4-product-group .v4-item {
        min-width: 0 !important;
        transform: none !important;
    }
    #v4 .v4-product-group .v4-item:nth-child(1) { transform: translateY(7px) !important; }
    #v4 .v4-product-group .v4-item:nth-child(2) { transform: translateY(-7px) !important; }
    #v4 .v4-product-group .v4-item:nth-child(3) { transform: translateY(7px) !important; }
    #v4 .v4-product-group .v4-item:nth-child(4) {
        grid-column: 1 / -1 !important;
        width: 78% !important;
        justify-self: center !important;
        transform: translateY(-4px) !important;
    }
    #v4 .v4-product-group .v4-coin {
        width: 100% !important;
        height: 105px !important;
        max-width: 175px !important;
        object-fit: contain !important;
        filter: drop-shadow(0 12px 15px rgba(0,0,0,.24)) drop-shadow(0 3px 4px rgba(31,0,0,.18)) !important;
    }
    #v4 .v4-product-group .v4-item:nth-child(4) .v4-coin {
        width: 100% !important;
        height: 165px !important;
        max-width: 260px !important;
    }
    #v4 .v4-label {
        margin-top: .25rem !important;
        font-size: .82rem !important;
        letter-spacing: .11em !important;
    }
    #v4 .step-content {
        width: calc(100vw - 32px) !important;
        max-width: 390px !important;
        padding: 1.15rem 1rem !important;
        border-radius: 16px !important;
        font-size: 1.03rem !important;
        line-height: 1.52 !important;
    }
    #v4 .v4-quote-step.step-left,
    #v4 .v4-quote-step.step-right {
        justify-content: center !important;
        padding: 0 16px !important;
    }

    /* ---------- Occasion constellation ---------- */
    #v5 {
        height: 410svh !important;
        min-height: 410vh !important;
    }
    #v5 .sticky-container { height: 100svh !important; }
    #v5 .v5-visual {
        padding: 5svh 0 max(14px, env(safe-area-inset-bottom)) !important;
        overflow: hidden !important;
    }
    .v5-grid-container {
        width: min(94vw, 410px) !important;
        max-width: 410px !important;
        grid-template-columns: repeat(7, 1fr) !important;
        grid-template-rows: repeat(5, 92px) !important;
        gap: 2px 0 !important;
        margin: auto !important;
        overflow: visible !important;
    }
    .v5-dot {
        width: 12px !important;
        height: 12px !important;
        min-height: 0 !important;
        aspect-ratio: 1 !important;
        justify-self: center !important;
        align-self: center !important;
    }
    .sticky-container[data-state="2"] .v5-dot:not(.is-highlighted) {
        width: 10px !important;
        height: 10px !important;
        opacity: .11 !important;
        border-radius: 50% !important;
    }
    .sticky-container[data-state="2"] .v5-dot.is-highlighted:not(.event-product) {
        width: 74px !important;
        height: 74px !important;
    }
    .sticky-container[data-state="2"] .v5-dot.event-product.is-round-product {
        width: 78px !important;
        height: 78px !important;
    }
    .sticky-container[data-state="2"] .v5-dot.event-product.is-rect-product,
    .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="15"],
    .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="19"],
    .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="32"] {
        width: 118px !important;
        height: 50px !important;
        transform: none !important;
    }
    .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="15"] {
        transform: translateY(17px) !important;
    }
    .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="19"] {
        transform: translateY(-12px) !important;
    }
    .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="32"] {
        width: 132px !important;
        height: 56px !important;
        transform: translateY(5px) !important;
    }
    .sticky-container[data-state="2"] .v5-dot.event-product .v5-dot-label,
    .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="15"] .v5-dot-label,
    .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="19"] .v5-dot-label,
    .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="32"] .v5-dot-label,
    .sticky-container[data-state="2"] .v5-dot.is-highlighted:not(.event-product) .v5-dot-label {
        top: calc(100% + 8px) !important;
        width: 120px !important;
        max-width: 120px !important;
        font-size: .72rem !important;
        line-height: 1.15 !important;
        white-space: normal !important;
        color: var(--primary-wine) !important;
    }
    .v5-start-title {
        top: 4svh !important;
        font-size: .72rem !important;
        letter-spacing: .25em !important;
    }
    .v5-final-statement {
        width: calc(100vw - 36px) !important;
    }
    .v5-final-statement p {
        font-size: .68rem !important;
        letter-spacing: .18em !important;
    }
    .v5-final-statement h1 {
        font-size: clamp(2rem, 10.5vw, 2.8rem) !important;
        line-height: 1.04 !important;
    }

    /* Closing image: centered and readable on phone */
    .final-centered-figure {
        width: min(88vw, 390px) !important;
        margin: 2.6rem auto 2.8rem !important;
    }

    /* Hide decorative overflow that becomes noisy on phone */
    .editorial-visual::before,
    .editorial-visual::after { display: none !important; }
}

/* Extra-narrow phones */
@media (max-width: 380px) {
    .hero-title-context {
        font-size: .57rem !important;
        letter-spacing: .095em !important;
    }
    .hero-title-focus.hero-focus-large {
        font-size: clamp(2.4rem, 11.5vw, 2.9rem) !important;
    }
    .v1-image-scene {
        height: 42svh !important;
        min-height: 310px !important;
    }
    .v1-image-wrapper {
        width: min(84vw, 315px) !important;
        max-width: 315px !important;
    }
    .mi-1 { --end-x: -100px !important; --end-y: -72px !important; }
    .mi-2 { --end-x: 96px !important; --end-y: -66px !important; }
    .mi-3 { --end-x: -108px !important; --end-y: 14px !important; }
    .mi-4 { --end-x: 106px !important; --end-y: 16px !important; }
    .mi-5 { --end-x: -84px !important; --end-y: 74px !important; }
    .mi-6 { --end-x: 62px !important; --end-y: 98px !important; }
    .mem-msg { max-width: 150px !important; font-size: .62rem !important; }
    #v4 .v4-product-group .v4-coin { height: 96px !important; }
    #v4 .v4-product-group .v4-item:nth-child(4) .v4-coin { height: 150px !important; }
    .v5-grid-container { grid-template-rows: repeat(5, 86px) !important; }
}


/* ===== MOBILE REBUILD v2 — deterministic phone layout ===== */
@media (max-width: 900px) {
    /* 1. Hero: give Vietnamese diacritics more breathing room */
    .hero-title-focus.hero-focus-large {
        font-size: clamp(2.72rem, 11.4vw, 3.75rem) !important;
        line-height: .98 !important;
        letter-spacing: -.045em !important;
    }
    .hero-focus-line + .hero-focus-line {
        margin-top: .22em !important;
    }

    /* 2. Chapter titles: strict maximum of three visual lines */
    .chapter-title,
    .chapter-title-custom-1,
    .chapter-title-custom-2,
    .chapter-title-custom-3 {
        font-size: clamp(1.58rem, 6.8vw, 1.9rem) !important;
        line-height: 1.06 !important;
        letter-spacing: -.03em !important;
        max-width: 100% !important;
        text-wrap: balance !important;
    }
    .title-three-lines .line,
    .chapter-title-long > span {
        display: block !important;
        white-space: nowrap !important;
    }

    /* 3. Keep the R&D pair as ONE composed visual, never split into stacked cards */
    .visual-02.visual-02-pair {
        width: calc(100vw - 28px) !important;
        max-width: 430px !important;
        padding: 0 !important;
        overflow: hidden !important;
        border-radius: 16px !important;
        background: #f5efe8 !important;
        box-shadow: 0 16px 34px rgba(48,26,13,.08) !important;
    }
    .visual-02-pair .visual-pair-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0 !important;
        width: 100% !important;
        overflow: hidden !important;
        border-radius: 16px !important;
    }
    .visual-02-pair .visual-pair-grid img {
        width: 100% !important;
        height: clamp(180px, 55vw, 225px) !important;
        object-fit: cover !important;
        object-position: center !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        display: block !important;
    }

    /* 4. Denomination strip: simple 2 x 2 grid, images +30% */
    #v4 .v4-product-group {
        width: min(94vw, 430px) !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        grid-template-rows: repeat(2, minmax(0,1fr)) !important;
        column-gap: 1rem !important;
        row-gap: 1.9rem !important;
        align-items: center !important;
        justify-items: center !important;
        margin: auto !important;
    }
    #v4 .v4-product-group .v4-item,
    #v4 .v4-product-group .v4-item:nth-child(1),
    #v4 .v4-product-group .v4-item:nth-child(2),
    #v4 .v4-product-group .v4-item:nth-child(3),
    #v4 .v4-product-group .v4-item:nth-child(4) {
        grid-column: auto !important;
        width: 100% !important;
        transform: none !important;
        justify-self: stretch !important;
    }
    #v4 .v4-product-group .v4-coin,
    #v4 .v4-product-group .v4-item:nth-child(4) .v4-coin {
        width: 100% !important;
        max-width: 205px !important;
        height: 138px !important;
        object-fit: contain !important;
        filter: drop-shadow(0 15px 18px rgba(0,0,0,.24)) drop-shadow(0 4px 5px rgba(31,0,0,.17)) !important;
    }
    #v4 .v4-product-group .v4-item:nth-child(4) .v4-coin {
        height: 154px !important;
    }
    #v4 .v4-label {
        margin-top: .45rem !important;
        font-size: .88rem !important;
        letter-spacing: .10em !important;
    }

    /* 5. Occasion system: fixed mobile composition so no image/text can disappear */
    #v5 .v5-visual {
        padding: 4svh 12px max(16px, env(safe-area-inset-bottom)) !important;
        overflow: hidden !important;
    }
    .v5-grid-container {
        position: relative !important;
        display: block !important;
        width: min(94vw, 430px) !important;
        height: 650px !important;
        max-width: 430px !important;
        margin: auto !important;
        transform: none !important;
        overflow: visible !important;
    }
    .sticky-container[data-state="2"] .v5-grid-container {
        transform: none !important;
    }
    .sticky-container[data-state="2"] .v5-dot:not(.is-highlighted) {
        display: none !important;
    }
    .sticky-container[data-state="2"] .v5-dot.is-highlighted {
        position: absolute !important;
        margin: 0 !important;
        opacity: 1 !important;
        overflow: visible !important;
    }

    /* Sinh nhật */
    .sticky-container[data-state="2"] .v5-dot[data-event-index="3"] {
        left: 50% !important;
        top: 36px !important;
        transform: translateX(-50%) !important;
    }
    /* Đầy tháng */
    .sticky-container[data-state="2"] .v5-dot[data-event-index="8"] {
        left: 20% !important;
        top: 170px !important;
        transform: translateX(-50%) !important;
    }
    /* Mừng thọ và tri ơn — deliberately >1cm away from Đầy tháng */
    .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="15"] {
        left: 24% !important;
        top: 330px !important;
        transform: translateX(-50%) !important;
        width: 177px !important;
        height: 75px !important;
    }
    /* Đỗ đạt và thăng tiến */
    .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="19"] {
        left: 74% !important;
        top: 205px !important;
        transform: translateX(-50%) !important;
        width: 177px !important;
        height: 75px !important;
    }
    /* Đám cưới */
    .sticky-container[data-state="2"] .v5-dot[data-event-index="27"] {
        left: 78% !important;
        top: 385px !important;
        transform: translateX(-50%) !important;
    }
    /* Tỏ tình */
    .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="32"] {
        left: 50% !important;
        top: 515px !important;
        transform: translateX(-50%) !important;
        width: 198px !important;
        height: 84px !important;
    }

    .sticky-container[data-state="2"] .v5-dot.event-product.is-round-product {
        width: 102px !important;
        height: 102px !important;
    }
    .sticky-container[data-state="2"] .v5-dot.is-highlighted:not(.event-product) {
        width: 98px !important;
        height: 98px !important;
    }
    .sticky-container[data-state="2"] .v5-dot.event-product,
    .sticky-container[data-state="2"] .v5-dot.is-highlighted:not(.event-product) {
        filter: drop-shadow(0 15px 24px rgba(61,37,12,.16)) !important;
    }
    .sticky-container[data-state="2"] .v5-dot .v5-dot-label,
    .sticky-container[data-state="2"] .v5-dot.event-product .v5-dot-label,
    .sticky-container[data-state="2"] .v5-dot.is-highlighted:not(.event-product) .v5-dot-label {
        display: block !important;
        opacity: 1 !important;
        position: absolute !important;
        left: 50% !important;
        top: calc(100% + 12px) !important;
        transform: translateX(-50%) !important;
        width: 170px !important;
        max-width: 170px !important;
        color: var(--primary-wine) !important;
        font-size: .82rem !important;
        line-height: 1.18 !important;
        font-weight: 600 !important;
        text-align: center !important;
        white-space: normal !important;
        z-index: 10 !important;
    }
}

@media (max-width: 380px) {
    .chapter-title,
    .chapter-title-custom-1,
    .chapter-title-custom-2,
    .chapter-title-custom-3 {
        font-size: 1.48rem !important;
    }
    #v4 .v4-product-group .v4-coin,
    #v4 .v4-product-group .v4-item:nth-child(4) .v4-coin {
        height: 126px !important;
    }
    .v5-grid-container { height: 620px !important; }
    .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="15"] {
        left: 25% !important; top: 315px !important; width: 158px !important; height: 68px !important;
    }
    .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="19"] {
        left: 74% !important; top: 205px !important; width: 158px !important; height: 68px !important;
    }
    .sticky-container[data-state="2"] .v5-dot.event-product[data-event-index="32"] {
        top: 500px !important; width: 176px !important; height: 76px !important;
    }
}


/* ===== MOBILE v3 — center QR visual + restore calendar network ===== */
@media (max-width: 900px) {
    /* Center the visual immediately after the QR/history paragraph against the viewport, not the padded prose column. */
    .visual-01 {
        position: relative !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: min(calc(100vw - 24px), 430px) !important;
        max-width: 430px !important;
        margin: 2rem 0 2.2rem !important;
        padding: 0 !important;
        overflow: hidden !important;
    }
    .visual-01 img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 auto !important;
        object-fit: contain !important;
    }

    /* Restore the original 7 × 5 network during the calendar/network state. */
    #v5 .v5-grid-container {
        width: min(92vw, 390px) !important;
        max-width: 390px !important;
        height: auto !important;
        min-height: 0 !important;
        margin: auto !important;
    }
    #v5 .sticky-container[data-state="0"] .v5-grid-container,
    #v5 .sticky-container[data-state="1"] .v5-grid-container {
        position: relative !important;
        display: grid !important;
        grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
        grid-template-rows: repeat(5, 52px) !important;
        gap: 5px 2px !important;
        align-items: center !important;
        justify-items: center !important;
        transform: none !important;
        overflow: visible !important;
    }
    #v5 .sticky-container[data-state="0"] .v5-dot,
    #v5 .sticky-container[data-state="1"] .v5-dot {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        width: 15px !important;
        height: 15px !important;
        min-height: 0 !important;
        margin: 0 !important;
        justify-self: center !important;
        align-self: center !important;
        border-radius: 50% !important;
    }
    #v5 .sticky-container[data-state="1"] .v5-dot {
        transform: translate(0,0) scale(1) !important;
        opacity: .72 !important;
        background: transparent !important;
        border: 1px solid rgba(174,155,111,.36) !important;
    }
    #v5 .sticky-container[data-state="0"] .v5-dot-label,
    #v5 .sticky-container[data-state="1"] .v5-dot-label {
        opacity: 0 !important;
        display: none !important;
    }

    /* State 2 keeps the custom occasion composition from v2. */
    #v5 .sticky-container[data-state="2"] .v5-grid-container {
        position: relative !important;
        display: block !important;
        width: min(94vw, 430px) !important;
        max-width: 430px !important;
        height: 650px !important;
        margin: auto !important;
        transform: none !important;
    }
}

@media (max-width: 380px) {
    #v5 .sticky-container[data-state="0"] .v5-grid-container,
    #v5 .sticky-container[data-state="1"] .v5-grid-container {
        width: min(92vw, 350px) !important;
        grid-template-rows: repeat(5, 48px) !important;
        gap: 4px 1px !important;
    }
    #v5 .sticky-container[data-state="2"] .v5-grid-container {
        height: 620px !important;
    }
}


/* ===== FINAL CLIENT PATCH ===== */
.hero-title-focus.hero-focus-large,
.hero-title-focus.hero-focus-large .hero-focus-line {
    color: #4d0000 !important;
}


/* ===== FINAL COLOR + RESPONSIVE POLISH v2 ===== */
/* Display red: optical variant of brand wine */
.hero-title-focus.hero-focus-large,
.hero-title-focus.hero-focus-large .hero-focus-line {
    color: #680008 !important;
}

/* Desktop only: increase breathing room between QUÀ TẶNG / CÁ NHÂN HÓA / CẢM XÚC */
@media (min-width: 901px) {
    .hero-focus-line + .hero-focus-line {
        margin-top: .32em !important;
    }
}

/* Mobile only: enlarge 0,5 chỉ by another 30% */
@media (max-width: 900px) {
    #v4 .v4-product-group .v4-item:nth-child(4) {
        width: 94% !important;
    }
    #v4 .v4-product-group .v4-item:nth-child(4) .v4-coin {
        width: 100% !important;
        height: 215px !important;
        max-width: 338px !important;
    }
}
@media (max-width: 430px) {
    #v4 .v4-product-group .v4-item:nth-child(4) .v4-coin {
        height: 205px !important;
        max-width: 318px !important;
    }
}

/* V5 storytelling area: switch the full effect canvas to the red display color */
#v5,
#v5 .sticky-container,
#v5 .v5-visual {
    background: #680008 !important;
    background-color: #680008 !important;
}
#v5 .v5-start-title {
    color: #ae9b6f !important;
}
#v5 .v5-dot {
    background-color: transparent !important;
    border-color: rgba(174,155,111,.28) !important;
}
#v5 .sticky-container[data-state="1"] .v5-dot,
#v5 .sticky-container[data-state="2"] .v5-dot:not(.event-product) {
    background-color: transparent !important;
    border-color: rgba(174,155,111,.30) !important;
}
#v5 .sticky-container[data-state="2"] .v5-dot.is-highlighted:not(.event-product) {
    background-color: #ae9b6f !important;
    border-color: #ae9b6f !important;
}
#v5 .v5-dot-label,
#v5 .sticky-container[data-state="2"] .v5-dot.event-product .v5-dot-label {
    color: #F7EBDD !important;
}
#v5 .v5-final-statement p {
    color: #ae9b6f !important;
}
#v5 .v5-final-statement h1 {
    color: #F7EBDD !important;
}
